/* Comparison components inherit the existing Ritual Memory design tokens. */
.offer-section{container-type:inline-size;margin-block:0 58px;scroll-margin-top:135px;min-width:0}
.offer-intro{max-width:78ch;color:var(--muted);margin-bottom:26px}
.offer-eyebrow{color:var(--green);font-size:.8rem;font-weight:650;margin-bottom:12px}
.offer-section h2{max-width:32ch;margin-bottom:16px}
.offer-table-view{display:none}
.offer-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.86rem;line-height:1.6}
.offer-table th,.offer-table td{text-align:left;vertical-align:top;padding:20px 18px;border-inline-start:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:break-word}
.offer-table th:first-child,.offer-table td:first-child{border-inline-start:0}
.offer-table thead th{position:sticky;top:96px;z-index:2;background:var(--surface);border-top:2px solid var(--green);padding-top:23px}
.offer-table thead th:first-child{width:17%;border-top-color:var(--line);background:var(--bg);color:var(--muted);font-weight:450}
.offer-table tbody th{color:var(--muted);font-weight:450;background:var(--bg)}
.offer-table tr:last-child td{font-size:.8rem;color:var(--muted)}
.offer-name{font-weight:650;font-size:1.05rem;display:block;line-height:1.35}
.offer-price{display:block;font-weight:650;font-size:clamp(1.15rem,1.8cqi,1.7rem);font-variant-numeric:tabular-nums;line-height:1.3;margin:14px 0 19px}
.offer-pick{min-height:46px;width:100%;padding:10px 12px;line-height:1.4;font-size:.85rem;white-space:normal}
.offer-pick[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--text)}
.offer-pick:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.offer-pick:disabled{opacity:.6}
.offer-mobile-view{display:grid;gap:18px}
.offer-card{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--green);padding:22px;min-width:0}
.offer-card h3{margin:0;font-size:1.1rem}
.offer-card .offer-price{font-size:1.65rem;margin-block:12px 18px}
.offer-section .offer-price-long{font-size:1.05rem;line-height:1.5}
.offer-card details{border-top:1px solid var(--line);margin-top:20px}
.offer-card summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;font-weight:600;list-style:none}
.offer-card summary::-webkit-details-marker{display:none}
.offer-card summary::after{content:'+';font-size:1.4rem;color:var(--green)}
.offer-card details[open] summary::after{content:'−'}
.offer-card dl{margin:0}.offer-card dl>div{padding:13px 0;border-top:1px solid var(--line)}
.offer-card .offer-card-preview{margin-bottom:18px}.offer-card-preview>div:first-child{border-top:0!important;padding-top:0}
.offer-card dt{font-size:.8rem;color:var(--muted);margin-bottom:5px}
.offer-card dd{font-size:.92rem;margin:0;line-height:1.6}
.offer-card-separate{color:var(--muted);font-size:.82rem;line-height:1.6;margin:18px 0 0}
.offer-card-separate strong{font-weight:600;color:var(--text)}
.offer-notes{margin:24px 0 0;padding:0 0 0 18px;max-width:100ch;font-size:.85rem;color:var(--muted);line-height:1.65}
.offer-notes li{padding-left:5px;margin-bottom:9px}
.offer-resources{font-size:.85rem;color:var(--muted);max-width:95ch;margin-top:22px}.offer-resources p{margin-bottom:12px}
.offer-dialog-summary{border-inline-start:3px solid var(--green);padding:12px 16px;background:var(--surface2);font-size:.9rem!important;color:var(--text)!important}
.offer-dialog-summary strong{display:block;margin-block:4px}
.offer-selected-note{font-size:.8rem!important;color:var(--muted)}
.offer-nojs{padding:18px;border:1px solid var(--line);font-size:.9rem}
.offer-nojs a{display:inline-flex;align-items:center;min-height:44px}
@container (min-width:620px){.offer-mobile-view{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Wide native table, compact layouts keep each offer together as a card. */
@container (min-width:1020px){.offer-table-view{display:block}.offer-mobile-view{display:none}}
@supports not (container-type:inline-size){@media(min-width:1100px){.offer-table-view{display:block}.offer-mobile-view{display:none}}}
@media print{.offer-table-view{display:block}.offer-mobile-view{display:none}.offer-table{font-size:8pt}.offer-table th,.offer-table td{padding:7px;color:#111!important;background:white!important;border-color:#999}.offer-pick,.offer-nojs{display:none}.offer-section{break-before:page}.offer-notes{color:#111}}
