.product-carousel { width: min(100%, 860px); margin: 10px auto 24px; display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: 3px 3px 12px; }
.product-card { display: flex; flex: 0 0 calc((100% - 28px) / 3); min-width: 260px; min-height: 365px; flex-direction: column; overflow: hidden; border: 1px solid var(--line, #e5e5e5); border-radius: 17px; background: #fff; box-shadow: 0 1px 2px rgba(20, 36, 48, .05); scroll-snap-align: start; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.product-card:hover { border-color: #cfcfcf; box-shadow: 0 8px 24px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.product-card-image-link { position: relative; display: block; overflow: hidden; background: #f2f3f4; }
.product-card-image { width: 100%; height: 164px; display: block; object-fit: cover; background: #f2f3f4; transition: transform .25s ease; }
.product-card-image-link:hover .product-card-image { transform: scale(1.025); }
.product-card-open-icon { position: absolute; right: 10px; bottom: 10px; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: rgba(20, 30, 37, .74); color: #fff; font-size: 17px; line-height: 1; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 15px 15px 16px; }
.product-card-option-index { color: #52616a; font-size: 12px; font-weight: 650; margin-bottom: 6px; }
.product-card h2 { margin: 0 0 9px; color: var(--ink, var(--text, #212121)); font-size: 16px; line-height: 1.38; }
.product-card a.product-card-title-link { color: #212121; text-decoration: underline; text-decoration-color: #b8b8b8; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.product-card a.product-card-title-link:hover { color: #000; text-decoration-color: #525252; }
.product-card-tour-code { display: block; margin-top: 5px; color: #687780; font-size: 11px; font-weight: 650; letter-spacing: .02em; }
.product-card-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 11px; margin: 0 0 10px; color: #63727b; font-size: 12px; line-height: 1.4; }
.product-card-facts > span + span::before { content: "•"; margin-right: 11px; color: #7b878e; }
.product-card-rating { color: #4d5b63; }
.product-card-rating::first-letter { color: #ee7b16; }
.product-card-departure { margin: 0 0 8px; color: #52616a; font-size: 12px; line-height: 1.45; }
.product-card-price { display: flex; align-items: baseline; gap: 7px; margin: 15px 0 0; color: var(--muted, #6b6b6b); font-size: 12px; }
.product-card-price strong { color: var(--ink, var(--text, #212121)); font-size: 19px; line-height: 1.2; }
.product-card-fit { display: grid; gap: 3px; margin: 12px 0 0; padding: 10px 11px; border: 1px solid #cfe1e7; border-radius: 12px; background: #f6fafb; color: #33434b; font-size: 12px; line-height: 1.4; }
.product-card-fit.needs-confirmation { border-color: #ead5ab; background: #fffaf0; }
.product-card-fit strong { color: var(--ink, var(--text, #212121)); font-size: 13px; }
.product-card-fit span { color: var(--muted, #6b6b6b); font-weight: 650; }
.product-card-fit p { margin: 4px 0 0; color: #52616a; }
.product-card a { color: inherit; text-decoration: none; }
.product-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 15px; }
.product-card-action { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid #d9d9d9; border-radius: 999px; background: #fff; color: #2f2f2f; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.product-card-action.primary { border-color: var(--ink, var(--text, #212121)); background: var(--ink, var(--text, #212121)); color: #fff; }
.product-card-action:hover { border-color: #8f8f8f; background: #f7f7f7; color: #171717; }
.product-card-action.primary:hover { border-color: var(--blue-dark, #171717); background: var(--blue-dark, #171717); color: #fff; }
@media (max-width: 640px) {
    .product-card { flex-basis: 78vw; }
}
.product-card-recommendation-label { align-self: flex-start; margin-bottom: 10px; padding: 4px 8px; border-radius: 6px; background: #edf3f6; color: #33434b; font-size: 12px; }
.product-card-recommendation-label.is-top-pick { background: #e6f3ec; color: #185938; font-weight: 700; }
.product-card-reasons { margin-top: 14px; color: #33434b; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.product-card-reasons ul { margin: 6px 0 0; padding-left: 18px; }
.product-card-reasons li + li { margin-top: 5px; }
.product-card-caveat { color: #52616a; font-size: 12px; line-height: 1.45; }
