.product-selector { border-top: 1px solid var(--color-border); }
.product-selector__grid { display: grid; gap: 1.25rem; }
.product-selector__card { --product-accent: var(--color-lime-ink); background: var(--color-lime-soft); border: 1px solid var(--color-border); border-radius: var(--radius); padding: clamp(1.5rem, 4vw, 3rem); display: flex; flex-direction: column; }
.product-selector__card--dark { --product-accent: var(--color-accent); background: var(--color-dark); color: var(--color-paper); border-color: var(--color-dark); }
.product-selector__top { display: flex; gap: 1rem; justify-content: space-between; align-items: center; margin-bottom: 3.8rem; }
.product-selector__number { border: 1px solid currentColor; border-radius: 50%; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; flex-shrink: 0; font-size: .8rem; }
.product-selector__card h3 { font-size: clamp(1.8rem, 3vw, 2.7rem); margin-bottom: 1.1rem; }
.product-selector__card p { max-width: 28rem; margin-bottom: 2.5rem; }
.product-selector__link { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.2rem; border-top: 1px solid currentColor; margin-top: auto; text-decoration: none; font-weight: 600; }
.product-selector__link:hover { text-decoration: underline; }
.product-selector__card .eyebrow { color: var(--product-accent); }
@media (min-width: 45rem) { .product-selector__grid { grid-template-columns: repeat(2, 1fr); } }

.product-selector__guide { margin-bottom: 2rem; }
.product-selector__guide-title { font-weight: 600; margin-bottom: .8rem; }
.product-selector__choices { display: flex; gap: .6rem; flex-wrap: wrap; }
.product-selector__choice { min-height: 2.9rem; padding: .65rem 1rem; border: 1px solid var(--color-muted); border-radius: .35rem; background: transparent; color: var(--color-text); text-align: left; }
.product-selector__choice[aria-pressed="true"] { background: var(--color-dark); color: white; border-color: var(--color-dark); }
.product-selector__feedback { min-height: 3.4em; max-width: 45rem; padding-top: .8rem; color: var(--color-muted); }
.product-selector__card--selected { outline: 3px solid var(--product-accent); outline-offset: 4px; }

.product-selector__card .product-selector__audience { font-weight: 600; color: var(--product-accent); margin-bottom: 1rem; }

.product-selector__audience-label { display: block; margin-bottom: .35rem; }


.product-selector__description { margin-bottom: 2.5rem; }
.product-selector__description p { margin-bottom: 1rem; }
.product-selector__description p:last-child { margin-bottom: 0; }


.product-selector__action { margin-top: auto; }
.product-selector__card .product-selector__cta-intro { margin-bottom: .6rem; font-size: .9rem; }

.product-selector__card { position: relative; padding-top: 5.5rem; }
.product-selector__ribbon-wrap { position: absolute; top: 0; right: 0; width: 9rem; height: 9rem; overflow: hidden; border-top-right-radius: var(--radius); pointer-events: none; }
.product-selector__ribbon { position: absolute; top: 1.7rem; right: -2.7rem; width: 12rem; min-height: 2.75rem; display: grid; place-items: center; transform: rotate(45deg); background: var(--color-accent); color: #253141; font-weight: 700; letter-spacing: .06em; text-decoration: none; pointer-events: auto; }
.product-selector__ribbon:hover { background: var(--color-accent-hover); text-decoration: underline; }
.product-selector__ribbon:focus-visible { outline: 3px solid var(--color-text); outline-offset: -5px; }
.product-selector__card--dark .product-selector__ribbon:focus-visible { outline-color: #fff; }

.product-selector__card .product-selector__price { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 700; margin-bottom: 1rem; }

.product-selector__price-tax { font-weight: 300; opacity: .65; white-space: nowrap; }

.product-selector__price-amount { display: inline-block; position: relative; padding-bottom: .4rem; white-space: nowrap; }
.product-selector__price-underline { position: absolute; left: -1%; bottom: -.05rem; width: 102%; height: .65rem; overflow: visible; pointer-events: none; }
.product-selector__price-underline path { fill: none; stroke: var(--product-accent); stroke-width: 3.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }


.product-selector__path { border-left: 3px solid var(--product-accent); padding-left: 1rem; margin-bottom: 1.5rem; }
.product-selector__path p { margin-bottom: .5rem; }
.product-selector__path p:last-child { margin-bottom: 0; }
.product-selector__path-title { font-weight: 700; color: var(--product-accent); }

.product-selector__intro--split { display:grid; gap:2rem; margin-bottom:2.5rem; }
.product-selector__intro--split > * { min-width:0; }

@media(min-width:60rem) {
  .product-selector__intro--split { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,4vw,4rem); align-items:start; }
}

.product-selector__guide { text-align:center; }
.product-selector__choices { justify-content:center; }
.product-selector__feedback { margin-inline:auto; }
.product-selector__intro--split .section-heading { margin-bottom:0; }

/* One semantic offer link extends over its whole card; the ribbon stays usable. */
.product-selector__link::after { content:''; position:absolute; inset:0; z-index:1; border-radius:var(--radius); }
.product-selector__ribbon-wrap { z-index:2; }
.product-selector__card:has(.product-selector__link:focus-visible) { outline:3px solid var(--color-focus); outline-offset:5px; }
.product-selector__card--dark:has(.product-selector__link:focus-visible) { outline-color:var(--color-accent); }
.product-selector__card:hover .product-selector__link { text-decoration:underline; }

.product-selector__feedback-space { display:grid; max-width:45rem; margin-inline:auto; }
.product-selector__feedback-space > .product-selector__feedback { grid-area:1/1; width:100%; margin:0; padding-top:.75rem; min-height:0; }
.product-selector__feedback-sizer { visibility:hidden; pointer-events:none; user-select:none; }
.product-selector__ribbon { pointer-events:none; }
.product-selector__choice { min-height:44px; }
.product-selector__card:has(.product-selector__link:focus-visible) { box-shadow:0 12px 28px #1b563e26; }
@media (prefers-reduced-motion:no-preference) {
 .product-selector__card { transition:transform 180ms ease,box-shadow 180ms ease,outline-color 180ms ease; }
 .product-selector__card:has(.product-selector__link:focus-visible) { transform:translateY(-3px); }
 .product-selector__choice { transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; }
}
@media (hover:hover) and (pointer:fine) {
 .product-selector__card:hover { box-shadow:0 12px 28px #1b563e26; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .product-selector__card:hover { transform:translateY(-3px); }
}

/* The selected offer turns once; its normal hover/focus styles resume afterwards. */
.product-selector__card { backface-visibility: hidden; }

/* Stable viewport trigger around the animated home offer. */
.product-selector__slot { min-width:0; }
.product-selector__slot > .product-selector__card { height:100%; }
