/* Shared responsive affiliate cards: one semantic table, no duplicated offers. */
#compare>h2{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:800;color:#172e44;letter-spacing:-.035em;line-height:1.2}
.comparison-wrap{overflow:visible}
.offer-comparison{display:flex;flex-direction:column;min-width:0;max-width:100%;table-layout:auto;border-spacing:0;text-align:left;color:#292c30}
.offer-comparison thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.offer-comparison tbody{display:block;order:1;width:100%;min-width:0}
.offer-comparison caption{display:block;order:2;padding:8px 3px 0;margin:0;font-size:.69rem;line-height:1.65;background:transparent;color:#6e6657;text-align:left}
.offer-comparison tbody tr{display:grid;grid-template-columns:34px 145px minmax(0,1fr) 165px 180px;grid-template-rows:auto auto auto;gap:8px 20px;position:relative;padding:24px 22px;margin:0 0 14px;border:1px solid #e7dccd;border-radius:19px;background:#fff;box-shadow:none}
.offer-comparison tbody tr.lineup-first{border-color:#dca331}
.offer-comparison tbody td,.offer-comparison tbody th{display:block;width:auto!important;min-width:0;margin:0;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:inherit;line-height:1.5;font-size:.8rem;vertical-align:middle}
.offer-comparison tbody tr:hover td,.offer-comparison tbody tr:hover th{background:transparent}
.offer-comparison tbody td.rank-cell{grid-column:1;grid-row:1/3;position:static;display:flex;align-items:center;justify-content:center;padding:0}
.offer-comparison .rank-badge{min-width:0;height:auto;border:0;border-radius:0;background:none;color:#ac9f86;font-size:1.4rem;font-weight:800;line-height:1}
.offer-comparison .selection-label{display:none}
.offer-comparison tbody td.logo-cell{grid-column:2;grid-row:1/3;align-self:center}
.offer-comparison .operator-logo-link{display:block;border:1px solid #e6d8c6;border-radius:12px;overflow:hidden;background:#fff}
.offer-comparison .brand-logo{display:block;width:100%;height:88px;padding:14px;object-fit:contain;background:#fff;border-radius:0;margin:0}
.offer-comparison tbody th.operator-cell{grid-column:3;grid-row:1;text-align:left;padding:0;align-self:end}
.offer-comparison .brand-name{font:800 1.4rem/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.035em;margin:0;color:#172e44;text-decoration:none}
.offer-comparison .brand-name:hover{color:#bf6e07}
.offer-comparison tbody td.offer-cell{grid-column:3;grid-row:2;padding:0;margin:0;border:0!important;text-align:left;background:transparent!important}
.offer-comparison .offer-box{padding:13px 14px;border:1px solid #eeb447;border-radius:13px;background:linear-gradient(115deg,#fbe9bd,#fff7e2)}
.offer-comparison .offer-text{display:block;color:#2b2a27;font-size:1.42rem;font-weight:800;letter-spacing:-.035em;line-height:1.2}
.offer-comparison .unknown{display:block;color:#4f493b;font-size:.68rem;line-height:1.4;margin-top:6px;font-weight:450}
.offer-comparison tbody td.editorial-cell{grid-column:4;grid-row:1/3;align-self:center}
.offer-comparison .editorial-label{display:block;color:#665b43;font-size:.7rem;font-weight:650}
.offer-comparison .editorial-rule{display:block;height:5px;border-radius:9px;margin:10px 0;background:linear-gradient(90deg,#d49a21,#efcf7d)}
.offer-comparison .editorial-value{display:block;text-align:right;color:#172e44;font-size:1.22rem;font-weight:800;letter-spacing:-.025em;line-height:1.2;text-decoration:none}
.offer-comparison .editorial-value:hover{color:#ad6506;text-decoration:underline}
.offer-comparison tbody td.ctacell{grid-column:5;grid-row:1/3;align-self:center;border:0!important;margin:0;padding:0;text-align:center}
.offer-comparison .ctacell .button{display:flex;align-items:center;justify-content:center;min-height:49px;width:100%;margin:0;padding:12px 10px;border:0;border-radius:13px;background:#d83f22;color:#fff;box-shadow:none;font-size:.92rem;font-weight:800;line-height:1.25;text-decoration:none}
.offer-comparison .ctacell .button:hover{background:#d53a1c;color:white}
.offer-comparison .visit-mobile{display:none}
.offer-comparison .cta-terms{display:block;margin-top:9px;color:#746b5b;font-size:.56rem;line-height:1.4}
.offer-comparison tbody td.details-cell{grid-column:3/6;grid-row:3;padding-top:2px}
.offer-comparison .comparison-details>summary{width:fit-content;color:#756447;font-size:.72rem;line-height:1.5;cursor:pointer}
.offer-comparison .comparison-details>summary:hover{color:#ad6506}
.offer-comparison .comparison-details[open]>summary{margin-bottom:14px;font-weight:700}
.offer-comparison .comparison-details dl{margin:0;padding:17px 19px;border:1px solid #ece0cf;border-radius:10px;background:#fcfaf5;font-size:.77rem;line-height:1.65}
.offer-comparison .comparison-details dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid #e9dfd2}
.offer-comparison .comparison-details dl>div:first-child{padding-top:0}
.offer-comparison .comparison-details dl>div:last-child{border:0;padding-bottom:0}
.offer-comparison .comparison-details dt{font-weight:750;color:#4c4436}
.offer-comparison .comparison-details dd{margin:0;overflow-wrap:break-word;color:#565044}
.offer-comparison td:before{display:none!important}
@media(min-width:781px) and (max-width:1150px){
 .offer-comparison tbody tr{grid-template-columns:28px 115px minmax(0,1fr) 120px 145px;gap:8px 15px;padding:22px 18px}
 .offer-comparison .brand-logo{height:80px;padding:11px}
 .offer-comparison .brand-name{font-size:1.2rem}
 .offer-comparison .offer-text{font-size:1.2rem}
 .offer-comparison .editorial-value{font-size:1.03rem}
 .offer-comparison .ctacell .button{font-size:.83rem}
}
@media(max-width:780px){
 .offer-comparison tbody tr{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0;margin:0 0 16px;padding:17px 20px 19px;border-radius:22px}
 .offer-comparison tbody tr.lineup-first{border:2px solid #d99618;padding:16px 19px 18px}
 .offer-comparison tbody td.rank-cell{grid-column:1;grid-row:1;position:static;min-height:35px;justify-content:space-between;align-items:center;margin-bottom:8px}
 .offer-comparison .rank-badge{display:grid;place-items:center;width:36px;height:36px;border:1px solid #dd9b24;border-radius:50%;color:#ba7b0d;font-size:1rem}
 .offer-comparison .selection-label{display:block;color:#ac6f09;text-transform:uppercase;font-size:.55rem;line-height:1.3;font-weight:600;letter-spacing:1.15px}
 .offer-comparison tbody td.logo-cell{grid-column:1;grid-row:2;justify-self:center;width:min(230px,100%)!important;margin-bottom:13px}
 .offer-comparison .brand-logo{height:82px;padding:12px 20px}
 .offer-comparison tbody th.operator-cell{grid-column:1;grid-row:3;justify-self:center;text-align:center;margin:0 0 12px;padding:0}
 .offer-comparison .brand-name{font-size:1.5rem;line-height:1.12}
 .offer-comparison tbody td.editorial-cell{grid-column:1;grid-row:4;width:100%;margin-bottom:12px;text-align:center}
 .offer-comparison .editorial-label{text-transform:uppercase;letter-spacing:1.1px;font-size:.61rem;line-height:1.4}
 .offer-comparison .editorial-rule{height:5px;margin:7px 0}
 .offer-comparison .editorial-value{text-align:center;font-size:1.08rem;line-height:1.1}
 .offer-comparison tbody td.offer-cell{grid-column:1;grid-row:5;margin:0 0 10px;padding:0;text-align:center}
 .offer-comparison .offer-box{padding:12px 13px;border-radius:13px}
 .offer-comparison .offer-text{font-size:1.15rem;line-height:1.18}
 .offer-comparison .unknown{font-size:.65rem;line-height:1.4;margin-top:5px}
 .offer-comparison tbody td.ctacell{grid-column:1;grid-row:6;margin:0;padding:0}
 .offer-comparison .ctacell .button{min-height:56px;border-radius:17px;font-size:1.15rem;font-weight:800;padding:13px}
 .offer-comparison .visit-desktop{display:none}
 .offer-comparison .visit-mobile{display:inline}
 .offer-comparison .cta-terms{font-size:.55rem;margin-top:9px}
 .offer-comparison tbody td.details-cell{grid-column:1;grid-row:7;justify-self:center;width:100%;padding:0;margin-top:12px}
 .offer-comparison .comparison-details>summary{margin-inline:auto;font-size:.68rem}
 .offer-comparison .comparison-details dl{font-size:.74rem;margin-top:13px;padding:15px;text-align:left}
 .offer-comparison .comparison-details dl>div{display:block;padding:10px 0}
 .offer-comparison .comparison-details dt{margin-bottom:4px}
}
@media(max-width:360px){
 .offer-comparison tbody tr{padding-inline:17px}
 .offer-comparison tbody tr.lineup-first{padding-inline:16px}
 .offer-comparison .brand-logo{height:72px}
 .offer-comparison .offer-text{font-size:1.06rem}
}
@media(max-width:780px) and (max-height:700px){
 .offer-comparison tbody tr{padding-top:14px;padding-bottom:18px}
 .offer-comparison tbody tr.lineup-first{padding-top:13px;padding-bottom:17px}
 .offer-comparison tbody td.rank-cell{min-height:32px;margin-bottom:9px}
 .offer-comparison .rank-badge{width:32px;height:32px}
 .offer-comparison tbody td.logo-cell{margin-bottom:11px}
 .offer-comparison .brand-logo{height:64px;padding-block:9px}
 .offer-comparison tbody th.operator-cell{margin-bottom:12px}
 .offer-comparison .brand-name{font-size:1.35rem}
 .offer-comparison tbody td.editorial-cell{margin-bottom:12px}
 .offer-comparison .editorial-rule{margin-block:7px}
 .offer-comparison .editorial-value{font-size:1.03rem}
 .offer-comparison .offer-box{padding-block:10px}
 .offer-comparison .ctacell .button{min-height:50px}
}
@media print{
 .offer-comparison tbody tr{display:block;break-inside:avoid}
 .offer-comparison .ctacell,.offer-comparison .rank-cell{display:none!important}
 .offer-comparison .brand-logo{width:145px}
 .offer-comparison .comparison-details dl{display:block!important}
}

/* Editorial rating badge (comparison table) */
.rating-badge{display:flex;flex-direction:column;align-items:center;gap:2px;margin:2px 0 4px}
.rating-badge .rating-score{font-size:1.4rem;font-weight:800;color:#245c48;line-height:1;letter-spacing:-.02em}
.rating-badge .rating-out{font-size:.6rem;color:#6c6576;font-weight:650;margin-top:-3px}
.rating-badge .rating-bar{display:block;width:54px;height:4px;border-radius:3px;background:#e6e0e8;overflow:hidden;margin-top:2px}
.rating-badge .rating-bar>span{display:block;height:100%;background:linear-gradient(90deg,#c58b42,#245c48);border-radius:3px}
.rating-badge.rating-pending{font-size:.72rem;font-weight:700;color:#952e24}
