/* Product page geometry. The original storefront uses a two-column product
   layout; keep the gallery and recommendation cards bounded at every width. */
.product-page {
    width: min(1290px, calc(100% - 40px));
    margin: 0 auto;
    padding: 18px 0 64px;
    color: #211a14;
}

.product-page > .product-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
    align-items: start;
    gap: 48px;
}

.product-gallery {
    min-width: 0;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    grid-template-areas: "thumbs main";
    gap: 16px;
    align-items: start;
}

.gallery-main {
    grid-area: main;
    position: relative;
    min-width: 0;
    height: min(620px, 60vw);
    min-height: 360px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #f8f7f5;
}

.gallery-main .main-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 0;
    max-width: 100%;
    object-fit: contain;
}

.gallery-zoom-btn {
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #211a14;
    background: rgba(255,255,255,.92);
    box-shadow: 0 2px 10px rgba(0,0,0,.14);
    cursor: pointer;
    z-index: 1;
}

.gallery-thumbs {
    grid-area: thumbs;
    width: 84px;
    max-height: 620px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    overflow-x: hidden;
}

.gallery-thumbs .thumb-image {
    display: block;
    width: 84px;
    height: 96px;
    flex: 0 0 96px;
    object-fit: contain;
    padding: 3px;
    border: 1px solid #e7e3df;
    background: #fff;
    cursor: pointer;
}

.gallery-thumbs .thumb-image.active {
    border-color: #64475a;
    box-shadow: inset 0 0 0 1px #64475a;
}

.gallery-mobile-slider { display: none; }
.product-gallery:not(:has(.gallery-thumbs)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "main"; }

.product-info { min-width: 0; }
.product-info .quantity-selector { display: inline-flex; align-items: center; border: 1px solid #d9d1cb; }
.product-info .qty-btn { width: 34px; height: 38px; border: 0; background: #f8f7f5; }
.product-info .qty-input { width: 52px; height: 38px; padding: 0 8px; text-align: center; border: 0; background: #fff; }
.product-info .product-price { display: flex; gap: 10px; align-items: baseline; }
.product-info .price-current { font-size: 24px; font-weight: 700; }
.product-delivery-payment .info-block h3 { font-size: 22px; margin-bottom: 10px; }
.product-delivery-payment .product-delivery-title { font-size: 16px; line-height: 1.25; }
.product-delivery-payment .delivery-country, .product-delivery-payment .product-delivery-city { margin: 10px 0; font-size: 13px; }
.product-delivery-payment .j-product-delivery-status { color: #81756d; font-size: 12px; line-height: 1.45; }
.product-delivery-payment .installment-payment { margin-top: 16px; font-size: 13px; line-height: 1.45; }
.product-delivery-payment .installment-payment small { color: #81756d; }
.fresh-roast-badge { display:flex; align-items:center; justify-content:center; gap:8px; }
.fresh-roast-badge-icon { width:25px; height:25px; object-fit:contain; }
.product-info h1 { margin: 0 0 14px; font-size: clamp(26px, 3vw, 40px); line-height: 1.12; }
.product-rating, .product-purchase-stats, .product-stock-info { margin-bottom: 14px; }
.product-options, .quantity-selector, .product-price, .product-actions,
.product-delivery-payment { margin-top: 22px; }
.option-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.option-btn { min-height: 38px; padding: 8px 12px; border: 1px solid #d9d1cb; background: #fff; cursor: pointer; }
.option-btn.active { color: #fff; border-color: #64475a; background: #64475a; }
.product-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.btn-add-to-cart, .btn-go-to-cart { min-height: 48px; padding: 12px 24px; border: 0; border-radius: 4px; color: #fff; background: #64475a; cursor: pointer; text-align: center; }
.btn-go-to-cart { background: #37251f; }

.product-tabs { margin-top: 56px; border-top: 1px solid #e7e3df; }
.tabs-nav { display: flex; gap: 6px; overflow-x: auto; border-bottom: 1px solid #e7e3df; }
.tab-btn { flex: 0 0 auto; padding: 16px 18px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #5a514b; cursor: pointer; }
.tab-btn.active { color: #37251f; border-bottom-color: #64475a; }
.tab-pane { display: none; padding: 24px 0; }
.tab-pane.active { display: block; }
.characteristics-table { width: 100%; max-width: 760px; border-collapse: collapse; }
.characteristics-table td { padding: 10px 12px; border-bottom: 1px solid #eee9e5; }
.characteristics-table td:first-child { width: 42%; color: #746a63; }

.product-recommendations { margin-top: 52px; }
.product-grind-method { width: 100%; margin-top: 12px; border: 1px solid #eee; border-radius: 22px; padding: 10px 16px; background: #fff; color: #47382f; font: inherit; }
.product-grind-method[hidden] { display: none !important; }
.product-recommendations h2 { margin-bottom: 20px; font-size: clamp(22px, 2.4vw, 30px); }
.other-products-header { margin: 0 0 20px; font-size: 24px; line-height: 1.2; font-weight: 700; color: #37251f; }
.other-products .product-list-v2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; min-width: 0; }
.product-page.product-card-from-10-2021 .other-products .product-list-v2 > .product-container { width: 100%; min-width: 0; max-width: 100%; margin: 0; }
.product-page.product-card-from-10-2021 .other-products .product-container .favorites { display: block !important; position: absolute; z-index: 2; top: 8px; right: 8px; width: 32px; height: 32px; padding: 6px; border: 0; background: transparent; cursor: pointer; }
.product-page.product-card-from-10-2021 .other-products .show-more { display: block; margin: 24px auto 0; border: 1px solid #64475a; border-radius: 20px; background: #fff; color: #64475a; padding: 10px 24px; cursor: pointer; }
.product-page.product-card-from-10-2021 .other-products .show-more[hidden] { display: none; }

/* Recommendation controls follow the captured product-page cards. */
.product-page.product-card-from-10-2021 .other-products .product-footer .details {
    display: block;
}
.product-page.product-card-from-10-2021 .other-products .product-footer .basket {
    background: #fff;
}
.product-page.product-card-from-10-2021 .other-products .show-more {
    width: 100%;
    border: 0;
    border-radius: 12px;
    background: #f4f0ef;
}
.product-page .mobile-slide { min-width: 0; }
.product-page .mobile-slide img { max-width: 100%; height: 100%; object-fit: contain; }
.other-brand-reviews { margin-top: 52px; max-width: 655px; }
.other-brand-reviews h2 { margin-bottom: 20px; font-size: 24px; }
.reviews-header-product { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.reviews-header-text { font-size:24px; line-height:1.2; font-weight:700; color:#37251f; }
.reviews-header-text sup { font-size:12px; margin-left:3px; vertical-align:super; }
.coffee-review-advantages { margin:20px 0 24px; }
.coffee-review-advantages__title { margin-bottom:10px; font-size:14px; font-weight:600; color:#37251f; }
.coffee-review-advantages__chips { display:flex; flex-wrap:wrap; gap:8px; }
.coffee-review-advantages__chip { border:1px solid #e4dfe4; border-radius:18px; padding:8px 12px; background:#fff; color:#5d514b; cursor:pointer; font:inherit; }
.coffee-review-advantages__chip.is-active { border-color:#64475a; background:#f7f1f8; }
.coffee-review-advantages__count { margin-left:5px; color:#8b7e87; }
.product-page .reviews-content { width: 100%; max-width: 655px; box-sizing: border-box; }
.product-page .review { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #eee8f0; }
.product-page .review-icon { flex:0 0 42px; }
.product-page .review-icon-wrapper { width:42px; height:42px; border-radius:50%; background:#f5eef4; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.product-page .review-icon-content { fill:#64475a; }
.product-page .review-icon img { width:42px; height:42px; object-fit:contain; }
.product-page .review-info { min-width:0; flex:1; }
.product-page .review-name { margin-bottom:5px; font-size:13px; line-height:1.3; }
.product-page .review-name a { color:#4f3f34; font-weight:600; text-decoration:none; }
.product-page .review-rating { display:flex; gap:1px; margin-bottom:8px; }
.product-page .review-rating .star { display:block; }
.product-page .review-text { font-size:13px; line-height:1.45; color:#5d514b; }
.product-page .review-footer, .product-page .review-date { display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; font-size:12px; color:#82766f; }
.product-page .review-date .green { color:#3b9b55; }
.product-page .reviews-content .review { align-items:flex-start; gap:12px; padding:0; margin:0 0 20px; border:0; }
.product-page .reviews-content .review-icon { flex:0 0 30px; width:30px; padding-top:3px; }
.product-page .reviews-content .review-icon-wrapper { width:30px; height:30px; background:#f2eeed; }
.product-page .reviews-content .review-icon-content { width:18px; height:14px; fill:#8b6f5d; }
.product-page .reviews-content .review-rating { margin:0 0 8px; }
.product-page .reviews-content .review-text { margin:0 0 10px; font-size:14px; line-height:1.45; color:#4c4039; }
.product-page .reviews-content .review-footer { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:0; }
.product-page .reviews-content .review-footer .review-date { margin-top:0; }
.other-brand-reviews-list .review { margin-bottom:20px; }
.other-brand-reviews-list .review-icon { flex-basis:64px; width:64px; }
.other-brand-reviews-list .review-icon-wrapper { width:64px; height:64px; border-radius:0; background:#f8f7f5; }
.other-brand-reviews-list .review-icon-wrapper img { width:100%; height:100%; object-fit:contain; }
.other-brand-reviews-list .review-name a { color:#4c4039; font-size:14px; line-height:1.35; text-decoration:none; }
.other-brand-reviews-list .review-text { margin-top:8px; }
.other-brand-reviews-list .review-date { gap:0 10px; margin-top:8px; }
.other-brand-reviews-list .review-date .green { color:#87a62b; }
.recommendations-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: start; min-width: 0; }
.recommendations-grid > * { min-width: 0; max-width: 100%; }
.recommendations-grid .product-card { overflow: hidden; }
.recommendations-grid .product-card img { display: block; width: 100%; height: 220px; object-fit: contain; background: #f8f7f5; }
.recommendations-grid .product-card h3 { margin: 10px 0 4px; font-size: 16px; line-height: 1.25; }
.recommendations-grid .product-card .price { margin: 0; font-weight: 700; }

.gallery-zoom-modal { position: fixed; inset: 0; z-index: 1000; align-items: center; justify-content: center; padding: 30px; background: rgba(20,15,12,.86); }
.zoom-modal-image { max-width: min(90vw, 900px); max-height: 86vh; object-fit: contain; }
.zoom-modal-close, .zoom-modal-prev, .zoom-modal-next { position: absolute; border: 0; color: #fff; background: rgba(0,0,0,.3); cursor: pointer; }
.zoom-modal-close { top: 18px; right: 24px; font-size: 28px; }
.zoom-modal-prev, .zoom-modal-next { top: 50%; padding: 12px 16px; transform: translateY(-50%); font-size: 28px; }
.zoom-modal-prev { left: 20px; }.zoom-modal-next { right: 20px; }.zoom-modal-counter { position: absolute; bottom: 18px; color: #fff; }

@media (max-width: 900px) {
    .product-page { width: min(100% - 32px, 680px); }
    .product-page > .product-container { display: block; }
    .product-info { margin-top: 28px; }
    .recommendations-grid, .other-products .product-list-v2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .product-page { width: calc(100% - 32px); padding-top: 12px; overflow: hidden; }
    .product-page > .product-container, .product-page .product-tabs,
    .product-page .product-recommendations { width: 100%; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
    .product-gallery { display: block; position: relative; }
    .gallery-main { display: grid; height: min(118vw, 500px); min-height: 0; }
    .product-gallery:has(.gallery-mobile-slider) .gallery-main { position: absolute; right: 0; bottom: 24px; width: 38px; height: 38px; background: transparent; overflow: visible; z-index: 2; }
    .product-gallery:has(.gallery-mobile-slider) .gallery-main .main-image { display: none; }
    .product-gallery:has(.gallery-mobile-slider) .gallery-zoom-btn { right: 8px; bottom: 8px; }
    .gallery-thumbs { display: none !important; }
    .gallery-mobile-slider { display: block !important; width: 100%; overflow: hidden; }
    .mobile-slider-track { display: flex; width: 100%; transition: transform .25s ease; }
    .mobile-slide { flex: 0 0 100%; width: 100%; height: min(118vw, 500px); display: grid; place-items: center; background: #f8f7f5; overflow: hidden; }
    .mobile-slide img { display: block; width: 100%; height: 100% !important; min-height: 0; object-fit: contain; }
    .mobile-slider-dots { display: flex; justify-content: center; gap: 7px; padding: 12px 0 0; }
    .slider-dot { width: 7px; height: 7px; border-radius: 50%; background: #d8d0ca; cursor: pointer; }
    .slider-dot.active { background: #64475a; }
    .product-info { margin-top: 22px; }
    .product-info h1 { font-size: 28px; }
    .tabs-nav { margin-right: -2px; }
    .tab-btn { padding: 13px 12px; font-size: 13px; }
    .product-tabs { margin-top: 36px; }
    .recommendations-grid, .other-products .product-list-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .recommendations-grid .product-card img { height: 170px; }
    .product-recommendations { margin-top: 34px; }
    .product-recommendations h2 { font-size: 22px; }
}

/* Live product pages use a wide editorial column with a dedicated purchase
   card. Keep the existing JS hooks and rating markup, but align the visual
   blocks to that composition. */
@media (min-width: 901px) {
    .product-page-breadcrumbs { display: none; }
    .product-page { width: min(1200px, calc(100% - 32px)); padding-top: 20px; }
    .product-page > .product-container { grid-template-columns: minmax(430px, 655px) minmax(360px, 420px); column-gap: clamp(30px, 8.7vw, 125px); display: grid; position: relative; }
    .product-editorial-heading { display: block; grid-column: 1; grid-row: 1; min-height: 108px; }
    .product-editorial-heading h1 { margin: 20px 0 14px; font-size: 32px; line-height: 1.12; font-weight: 700; }
    .product-editorial-heading .rating { display: inline-flex; align-items: center; gap: 8px; }
    .product-editorial-heading .rating-stars { display: inline-flex; gap: 1px; }
    .product-info > .product-rating { display: none; }
    .product-main-media { grid-column: 1; grid-row: 2; display: grid; grid-template-columns: 281px 335px; gap: 39px; align-items: start; }
    .product-gallery { display: block; width: 281px; }
    .gallery-main { width: 281px; height: 356px; min-height: 0; background: #fff; }
    .gallery-thumbs { display: none !important; }
    .product-short-description { width: 335px; height: 356px; overflow: hidden; padding-top: 50px; color: #3c3028; line-height: 1.35; }
    .product-editorial-description { grid-column: 1 / -1; margin-top: 0; }
    .product-editorial-description h2 { margin: 0 0 18px; font-size: 28px; line-height: 1.2; }
    .product-taste-scales { display: flex; gap: 14px; align-items: center; margin-bottom: 28px; }
    .taste-scale { display: flex; gap: 8px; align-items: center; padding-right: 14px; border-right: 1px solid #d8d0ca; color: #81766f; font-size: 12px; white-space: nowrap; }
    .taste-scale:last-child { border-right: 0; padding-right: 0; }
    .taste-dots { display: inline-flex; gap: 6px; }
    .taste-dots i { width: 8px; height: 8px; border-radius: 50%; background: #f2edf5; }
    .taste-dots i.active { background: #ffba00; }
    .product-aroma-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .aroma-group h3 { margin: 0 0 16px; font-size: 16px; }
    .aroma-items { display: flex; gap: 18px; }
    .aroma-items figure { margin: 0; text-align: center; }
    .aroma-items img { display: block; width: 82px; height: 82px; border-radius: 50%; object-fit: cover; }
    .aroma-items figcaption { margin-top: 6px; font-size: 12px; }
    .product-editorial-full-description { grid-column: 1 / -1; width: 100%; min-width: 0; margin-top: 20px; color: #3c3028; font-size: 14px; line-height: 1.5; }
    .product-editorial-full-description p { margin: 0 0 14px; }
    .product-brand-description { grid-column: 1 / -1; width: 100%; min-width: 0; margin-top: 28px; }
    .product-brand-description h2 { margin: 0 0 14px; font-size: 26px; }
    .product-brand-description p { margin: 0; font-size: 14px; line-height: 1.5; }
    .product-tabs { width: min(655px, calc(100% - 545px)); min-width: 430px; margin-top: 34px; border-top: 0; }
    .product-tabs .tabs-nav { display: none; }
    .product-tabs .tab-pane { display: none; padding: 0; }
    .product-tabs .tab-pane[data-tab="description"] { display: none !important; }
    .product-tabs .tab-pane[data-tab="reviews"] { display: block; }
    .product-tabs .inline-reviews-title { display: block; margin: 0 0 18px; font-size: 26px; line-height: 1.2; font-weight: 700; }
    .product-tabs .reviews-header { margin-bottom: 18px; }
    .product-short-description > p:first-child { margin-top: 0; }
    .short-attributes { margin-top: 22px; }
    .short-attributes div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #ddd; }
    .short-attributes dt { font-weight: 700; }
    .short-attributes dd { margin: 0; }
    .product-info { grid-column: 2; grid-row: 1 / span 3; min-height: 960px; padding: 24px 32px; background: #fff; border-radius: 14px; box-shadow: 0 2px 18px rgba(25,19,15,.08); display: flex; flex-direction: column; position: relative; }
    .product-rating .rating { display: inline-flex; align-items: center; gap: 8px; }
    .product-rating .rating-stars { display: inline-flex; gap: 1px; }
    .product-info .product-stock-info { display: none; }
    .product-info .coffee-descriptors, .product-info .product-attributes, .product-info .product-links { display: none; }
    .product-info .product-price { order: 1; margin-top: 0; }
    .product-info .product-options { order: 2; margin-top: 55px; }
    .product-info .product-options { display: flex; flex-direction: column; }
    .product-info .product-options .option-group--grind { order: 2; }
    .product-info .product-options .option-group--package { order: 1; }
    .product-info .quantity-selector { order: 3; display: none; }
    .product-info .product-actions { order: 4; margin-top: 34px; }
    .product-info .fresh-roast-caption { order: 4; margin: 20px 0 0; text-align: center; font-size: 13px; }
    .fresh-roast-caption span { margin-right: 8px; color: #6b4437; font-size: 25px; }
    .product-info .product-delivery-payment { order: 5; margin: 35px -32px 0; padding: 28px 32px 0; border-top: 1px solid #e7e3df; }
    .product-info .product-delivery-payment .info-block { border: 0; padding: 0; }
    .product-tabs { margin-top: 56px; }
    .product-info .option-btn { border-radius: 20px; min-height: 40px; padding: 8px 18px; }
    .product-info .option-buttons { gap: 0; border: 2px solid #eee; border-radius: 22px; padding: 2px; }
    .product-info .option-buttons .option-btn { border: 0; background: transparent; color: #37251f; flex: 1 1 auto; }
    .product-info .option-buttons .option-btn.active { background: #f4f3f2; color: #37251f; }
    .product-info .product-actions .btn-add-to-cart { background: #57c568; border-radius: 24px; width: 100%; }
    .cart-button-icon { margin-right: 10px; vertical-align: middle; }
}

@media (min-width: 901px) and (max-width: 1150px) {
    .product-main-media { grid-template-columns: minmax(210px, 281px) minmax(190px, 1fr); gap: 24px; }
    .product-gallery, .gallery-main { width: 100%; }
    .product-short-description { width: 100%; }
    .product-taste-scales { flex-wrap: wrap; }
}

@media (max-width: 900px) {
    .product-page-breadcrumbs { display: block; }
    .product-page { padding-top: 10px; }
    .product-page > .product-container { display: flex; flex-direction: column; gap: 0; }
    .product-editorial-heading { display: block; order: 1; }
    .product-editorial-heading h1 { font-size: 22px; line-height: 1.2; margin: 7px 0 8px; color: #47382f; }
    .product-editorial-heading .product-rating { margin-bottom: 8px; }
    .product-main-media { display: block; order: 3; width: 100%; }
    .product-gallery { width: 100%; }
    .gallery-main { width: 100%; height: 235px; min-height: 0; background: #fff; }
    .product-short-description { display: none; }
    .product-info { display: contents; }
    .product-info > h1, .product-info > .product-rating { display: none; }
    .product-info .product-rating { order: 2; width: 100%; margin: 0 0 8px; }
    .product-info .product-stock-info { order: 2; width: 100%; margin: 0 0 12px; }
    .product-info .coffee-descriptors, .product-info .product-attributes, .product-info .product-links { display: none; }
    .product-info .product-price { order: 4; width: 100%; margin-top: 18px; }
    .product-info .product-options { order: 5; width: 100%; }
    .product-info .quantity-selector { display: none; }
    .product-info .product-actions { order: 6; width: 100%; }
    .product-info .fresh-roast-caption { order: 6; width: 100%; margin: 14px 0; text-align: center; }
    .product-info .product-delivery-payment { order: 7; width: 100%; }
    .product-editorial-description { display: none; }
    .product-editorial-full-description { display: none; }
    .product-brand-description { display: none; }
    .inline-reviews-title { display: none; }
}

@media (max-width: 600px) {
    .product-page { width: calc(100% - 32px); padding-bottom: 30px; }
    .product-mobile-heading { font-size: 22px; }
    .product-info { margin-top: 18px; }
    .product-info .product-options { margin-top: 24px; }
    .product-info .product-actions .btn-add-to-cart { width: 100%; background: #a8cf00; border-radius: 24px; }
    /* The archived mobile page shows the primary pack shot immediately. Keep
       the first image visible even when a gallery has additional thumbnails. */
    .product-gallery:has(.gallery-mobile-slider) .gallery-mobile-slider { display: block !important; }
    .mobile-slide { height: 235px; }
    .product-page-breadcrumbs .breadcrumb-item.active { display: none; }
}

/* Product recommendation geometry follows the source storefront: bounded
   four-card desktop rows and a touch-scroll row on narrow viewports. */
@media (min-width: 1200px) {
    .product-page.product-card-from-10-2021 .other-products {
        width: 1100px;
        max-width: 100%;
        margin-right: auto;
    }
    .product-page.product-card-from-10-2021 .other-products .product-list-v2 {
        width: 100%;
        margin: 36px 0 -12px;
        grid-template-columns: repeat(4, 257px);
        gap: 24px;
    }
}

@media (min-width: 901px) and (max-width: 1199px) {
    .product-page.product-card-from-10-2021 .other-products {
        width: 819px;
        max-width: 100%;
        margin-right: auto;
    }
    .product-page.product-card-from-10-2021 .other-products .product-list-v2 {
        width: 100%;
        margin: 36px 0 -12px;
        grid-template-columns: repeat(3, 257px);
        gap: 24px;
    }
}

@media (max-width: 900px) {
    .product-page.product-card-from-10-2021 .other-products {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        overflow: hidden;
    }
    .product-page.product-card-from-10-2021 .other-products .other-products-header {
        padding: 0 16px;
    }
    .product-page.product-card-from-10-2021 .other-products .product-list-v2 {
        display: flex;
        gap: 36px;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0 16px 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .product-page.product-card-from-10-2021 .other-products .product-list-v2::-webkit-scrollbar {
        display: none;
    }
    .product-page.product-card-from-10-2021 .other-products .product-list-v2 > .product-container {
        flex: 0 0 calc((100vw - 140px) / 4);
        width: calc((100vw - 140px) / 4);
        min-width: 0;
    }
    .product-page.product-card-from-10-2021 .other-products .show-more {
        display: none;
    }
}

@media (max-width: 600px) {
    .product-page.product-card-from-10-2021 .other-products .product-list-v2 > .product-container {
        flex-basis: 80px;
        width: 80px;
    }
}

/* Purchase panel geometry and controls follow the archived product card.
   These rules are limited to the purchase panel and do not affect related
   product cards. */
@media (min-width: 901px) {
    .product-page.product-card-from-10-2021 .product-info {
        min-height: 981px;
        border-radius: 12px;
        box-shadow: 0 2px 16px rgba(0, 0, 0, .10);
    }
    .product-page.product-card-from-10-2021 .product-info .product-price {
        min-height: 56px;
    }
    .product-page.product-card-from-10-2021 .product-info .product-options {
        margin-top: 52px;
    }
    .product-page.product-card-from-10-2021 .product-info .option-group--grind {
        margin-top: 24px;
    }
    .product-page.product-card-from-10-2021 .product-info .option-group--package {
        margin-top: 0;
    }
    .product-page.product-card-from-10-2021 .product-info .option-buttons {
        height: 40px;
        padding: 2px;
        border: 2px solid #f2f2f2;
        border-radius: 22px;
    }
    .product-page.product-card-from-10-2021 .product-info .option-btn {
        min-height: 32px;
        padding: 6px 18px;
        border: 0;
        border-radius: 18px;
        background: transparent;
    }
    .product-page.product-card-from-10-2021 .product-info .option-btn.active {
        background: #f4f3f2;
        color: #37251f;
    }
    .product-page.product-card-from-10-2021 .product-info .option-btn:disabled,
    .product-page.product-card-from-10-2021 .product-info .option-btn.inactive-css {
        display: none;
    }
    .product-page.product-card-from-10-2021 .product-info .product-actions .btn-add-to-cart {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        height: 44px;
        background: #5ac36b;
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
    }
    .product-page.product-card-from-10-2021 .product-info .fresh-roast-caption {
        font-size: 11px;
        line-height: 15.4px;
    }
    .product-page.product-card-from-10-2021 .product-info .fresh-roast-caption span {
        margin: 0;
        color: inherit;
        font-size: inherit;
    }
    .product-page.product-card-from-10-2021 .product-info .product-delivery-payment .info-block h3 {
        margin: 0 0 12px;
        font-size: 16px;
        line-height: 1.25;
        font-weight: 700;
    }
    .product-page.product-card-from-10-2021 .product-info .product-delivery-payment .info-block + .info-block {
        margin: 28px -32px 0;
        padding: 30px 32px 0;
        border-top: 1px solid #e7e3df;
    }
}

@media (max-width: 900px) {
    .product-page.product-card-from-10-2021 .product-info .product-price,
    .product-page.product-card-from-10-2021 .product-info .product-options,
    .product-page.product-card-from-10-2021 .product-info .product-actions,
    .product-page.product-card-from-10-2021 .product-info .fresh-roast-caption,
    .product-page.product-card-from-10-2021 .product-info .product-delivery-payment {
        width: calc(100% + 32px);
        margin-left: -16px;
        margin-right: -16px;
    }
    .product-page.product-card-from-10-2021 .product-info .product-options {
        display: flex;
        flex-direction: column;
    }
    .product-page.product-card-from-10-2021 .product-info .product-options .option-group--grind {
        order: 2;
    }
    .product-page.product-card-from-10-2021 .product-info .product-options .option-group--package {
        order: 1;
    }
    .product-page.product-card-from-10-2021 .product-info .option-group--grind {
        margin-top: 24px;
    }
    .product-page.product-card-from-10-2021 .product-info .option-group--package {
        margin-top: 0;
    }
    .product-page.product-card-from-10-2021 .product-info .option-buttons {
        height: 40px;
        padding: 2px;
        border: 2px solid #f2f2f2;
        border-radius: 22px;
        gap: 0;
    }
    .product-page.product-card-from-10-2021 .product-info .option-btn {
        min-height: 32px;
        padding: 6px 12px;
        border: 0;
        border-radius: 18px;
        background: transparent;
    }
    .product-page.product-card-from-10-2021 .product-info .option-btn.active {
        background: #f4f3f2;
        color: #37251f;
    }
    .product-page.product-card-from-10-2021 .product-info .option-btn:disabled,
    .product-page.product-card-from-10-2021 .product-info .option-btn.inactive-css {
        display: none;
    }
    .product-page.product-card-from-10-2021 .product-info .product-actions {
        margin-top: 26px;
    }
    .product-page.product-card-from-10-2021 .product-info .product-actions .btn-add-to-cart {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        height: 44px;
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
    }
    .product-page.product-card-from-10-2021 .product-info .product-actions .cart-button-icon {
        margin-right: 10px;
    }
    .product-page.product-card-from-10-2021 .product-info .fresh-roast-caption {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .product-page.product-card-from-10-2021 .product-info .product-delivery-payment {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
        gap: 16px;
        margin-top: 0;
    }
    .product-page.product-card-from-10-2021 .product-info .product-delivery-payment .info-block {
        min-width: 0;
        padding: 0;
        border: 0;
    }
    .product-page.product-card-from-10-2021 .product-info .product-delivery-payment .info-block h3 {
        margin: 0 0 12px;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 700;
    }
}

