/* Focused repairs: retain ALPINT's established ink, paper, glacier and lime. */
.scenario-grid { border-color: var(--line); border-radius: 6px; overflow: hidden; }
.scenario { background: var(--paper); color: var(--ink); gap: 0; }
.scenario + .scenario { border-color: var(--line); }
.scenario > span { color: var(--slate); font-weight: 650; letter-spacing: .075em; line-height: 1.6; }
.scenario p { color: var(--slate); font-size: 15px; line-height: 1.85; max-width: none; }
.scenario h2, .scenario h3 { color: var(--ink); line-height: 1.2; }
.scenario h2 { font-size: 27px; letter-spacing: -.025em; }
.scenario .text-link { color: var(--ink); margin-top: auto; padding-top: 20px; }
.terrain .scenario-grid { border-color: #5a757d; }
.terrain .scenario { background: transparent; color: var(--paper); }
.terrain .scenario + .scenario { border-color: #5a757d; }
.terrain .scenario > span { color: var(--lime); }
.terrain .scenario h2, .terrain .scenario h3, .terrain .scenario .text-link { color: var(--paper); }
.terrain .scenario p { color: #d8e3e5; }

/* Links are sized to their copy, with a restrained chevron instead of a rule. */
.text-link { width: fit-content; max-width: 100%; border: 0; padding-bottom: 0; gap: 8px; min-height: 44px; font-weight: 650; text-underline-offset: 5px; }
.text-link .icon { width: 16px; height: 16px; stroke-width: 2; }
.text-link:hover { opacity: 1; text-decoration: underline; text-decoration-thickness: 1px; }
.text-link:focus-visible, .card-image-frame:focus-visible, .review-summary:focus-visible { outline: 3px solid #4f8390; outline-offset: 4px; border-radius: 3px; }
.button { transition: background-color .16s ease, border-color .16s ease; font-weight: 650; }
.button:hover, .button:active { transform: none; }
.button .action-icon, .card-details-link .icon { width: 17px; height: 17px; stroke-width: 2; }
.button.outline { color: var(--ink); background: var(--paper); border-color: #a3b2b6; }
.button.outline:hover { color: var(--ink); background: var(--mist); border-color: var(--slate); }
.card-photo-arrow .icon, .card-rail-navigation .icon, .gallery-pagination .icon { stroke-width: 2; }
.product-card .product-card-visual img, .product-card:hover .product-card-visual img,
.bundle-card .card-media img, .bundle-card:hover .card-media img { object-fit: contain; transform: none; filter: none; opacity: 1; }
.card-photo-slide[hidden] { display: none !important; }
.card-photo-label { color: var(--slate); font-size: 11px; }
.card-media { background: var(--mist); }
.card-media[data-hover-preview] { cursor: pointer; }

/* A filled count emblem; five precise stars are reserved for actual ratings. */
.brand-stars { color: var(--ink); background: var(--lime); border-radius: 4px; padding: 5px; gap: 3px; }
.brand-stars .icon { width: 15px; height: 15px; fill: currentColor; stroke: currentColor; stroke-width: 1.25; }
.hero .brand-stars { color: var(--ink); }
.review-summary { text-decoration: none; align-items: center; }
.review-summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.review-average { font-variant-numeric: tabular-nums; font-weight: 750; }
.rating-stars { display: inline-flex; align-items: center; gap: 3px; color: #80662d; flex: 0 0 auto; }
.rating-star { display: inline-grid; width: 18px; height: 18px; position: relative; }
.rating-star > .icon, .rating-star-fill, .rating-star-fill > .icon { grid-area: 1 / 1; width: 18px; height: 18px; }
.rating-star > .icon { color: #748489; fill: none; stroke: currentColor; stroke-width: 1.3; }
.rating-star-fill { position: absolute; inset: 0; overflow: hidden; }
.rating-star-fill > .icon { fill: #80662d; stroke: #80662d; stroke-width: 1.3; }
.rating-fill-0 { clip-path: inset(0 100% 0 0); }
.rating-fill-10 { clip-path: inset(0 90% 0 0); }
.rating-fill-20 { clip-path: inset(0 80% 0 0); }
.rating-fill-30 { clip-path: inset(0 70% 0 0); }
.rating-fill-40 { clip-path: inset(0 60% 0 0); }
.rating-fill-50 { clip-path: inset(0 50% 0 0); }
.rating-fill-60 { clip-path: inset(0 40% 0 0); }
.rating-fill-70 { clip-path: inset(0 30% 0 0); }
.rating-fill-80 { clip-path: inset(0 20% 0 0); }
.rating-fill-90 { clip-path: inset(0 10% 0 0); }
.rating-fill-100 { clip-path: inset(0); }
.review-rating { gap: 10px; align-items: center; flex-wrap: wrap; }
.review-card { padding: 24px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
.review-card p { color: var(--slate); margin-top: 14px; }
.review-card a { display: inline-flex; min-height: 44px; align-items: center; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; }
.product-review-records { display: grid; gap: 16px; margin-top: 20px; }
.review-emblem { color: var(--ink); background: var(--lime); }
.review-emblem .icon { fill: currentColor; stroke: currentColor; }

.store-location { color: var(--slate); font-size: 13px; line-height: 1.7; }
.store-location strong { color: var(--ink); }
.delivery-window { display: flex; align-items: flex-start; gap: 7px; font-size: 12px; line-height: 1.7; margin-top: 9px; color: var(--slate); }
.delivery-window .icon { width: 17px; height: 17px; margin-top: 2px; }
.shipping-notice { color: var(--slate); }
.store-shipping-highlight { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1.7; margin-bottom: 14px; color: var(--slate); }
.store-shipping-highlight .icon { width: 18px; height: 18px; }
@media (max-width: 760px) {
 .scenario { padding: 26px 22px; }
 .scenario p { font-size: 14px; line-height: 1.85; }
 .scenario .text-link { font-size: 13px; min-height: 44px; }
 .scenario > span { font-size: 11px; }
 .hero .review-summary > span:last-child { padding-left: 0; }
 .product-details .review-summary, .product-details .review-summary > span:last-child { font-size: 12px; }
 .product-details .review-summary > span:last-child { flex-basis: auto; padding-left: 0; }
 .review-summary { gap: 8px 10px; }
 .rating-stars { gap: 2px; }
 .store-location { margin-top: 12px; }
 .shipping-notice, .delivery-window { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .button { transition: none; } }
