/* Shared storefront alignment, including content inserted by AJAX. */
#cart-modal{padding:0;justify-content:flex-end}
#cart-modal .cart-panel{width:min(640px,100%);padding:28px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}
#cart-modal .cart-header{margin:0;padding:0 0 22px;align-items:center;gap:20px}
#cart-modal .cart-subtitle{margin:0 0 8px;font-size:12px;letter-spacing:.18em}
#cart-modal .cart-header h2{font-size:32px;line-height:1.2;margin:0}
#cart-modal .cart-body{display:grid;gap:24px}
#cart-modal .cart-item{display:grid;grid-template-columns:80px minmax(0,1fr) 36px;align-items:start;gap:16px;padding:22px 0}
#cart-modal .cart-item:first-child{padding-top:0}
#cart-modal .cart-item-thumb{width:80px;flex:none}
#cart-modal .cart-item-thumb img{width:80px;height:110px;object-fit:contain;background:#f7f4f0;border-radius:8px}
#cart-modal .cart-item-details{min-width:0;display:grid;gap:16px}
#cart-modal .cart-item-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;min-width:0}
#cart-modal .item-name{font-size:19px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
#cart-modal .item-bottle-type{font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}
#cart-modal .cart-item-info .promotion-label{margin:2px 0 0;font-size:12px;line-height:1.5;padding:5px 9px;max-width:100%;overflow-wrap:anywhere}
#cart-modal .cart-item-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0}
#cart-modal .item-price{font-size:19px;line-height:1.3;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.quantity-control,.order-item-qty.quantity-control{display:inline-grid;grid-template-columns:40px 48px 40px;align-items:center;justify-content:center;width:130px;min-width:130px;height:44px;padding:0;margin:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;flex:none}
.quantity-control>input,.order-item-qty.quantity-control>input{width:48px!important;min-width:0!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;line-height:42px;text-align:center;font-size:16px;border:0!important;box-shadow:none;appearance:textfield;-moz-appearance:textfield;border-radius:0}
.quantity-control>input::-webkit-inner-spin-button,.quantity-control>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity-control>.qty-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:42px;min-height:42px;padding:0;line-height:1;margin:0;border:0;border-radius:0}
:is(.close-cart,.close-modal,.modal-close,.remove-item,.order-item-remove){display:inline-grid;place-items:center;padding:0;line-height:1;flex:none}
:is(.close-cart,.close-modal,.modal-close){width:44px;height:44px;min-height:44px}
.close-cart[data-ui-icon]>span{display:none}
#cart-modal .remove-item{width:36px;height:36px;align-self:start;margin-top:-5px;font-size:25px}
#cart-modal .remove-item[data-ui-icon]{font-size:0}
#cart-modal .cart-summary{margin:0;padding:24px;border-radius:12px;display:grid;gap:16px}
#cart-modal .cart-summary h3{margin:0 0 2px;font-size:24px}
#cart-modal .summary-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,2fr);align-items:baseline;gap:12px;margin:0;font-size:15px;line-height:1.5}
#cart-modal .summary-row strong{text-align:right;overflow-wrap:anywhere;font-weight:600}
#cart-modal .summary-row.highlight{font-size:19px;padding-top:12px;border-top:1px solid #e5dfd9}
#cart-modal .min-order-note-static{margin:0;font-size:13px;line-height:1.7}
#cart-modal #min-order-message{margin:0;font-size:14px;line-height:1.5;color:var(--wine)}
#cart-modal .cart-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0}
#cart-modal .cart-actions button{min-height:52px;margin:0;padding:12px 18px;gap:10px;font-size:14px;line-height:1.4;border-radius:7px}
#cart-save-status:empty{display:none}
.inline-options{grid-template-columns:minmax(0,1fr) 150px;align-items:end}
.inline-options [data-inline-variants]{min-width:0}
.inline-options label{display:grid;align-content:start;gap:8px;margin:0}
.inline-options label>span{margin:0;line-height:1.5;min-height:21px}
.inline-options input,.inline-options select{min-height:50px;height:50px;margin:0;padding:10px 12px;line-height:1.5;min-width:0;width:100%}
#product-config-info{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;align-items:start}
#product-config-info img{width:90px;height:120px;object-fit:contain;background:var(--wash);border-radius:8px}
.product-config-info__details{min-width:0}
.product-config-info__details>p{margin-bottom:12px}
.product-config-info__total{display:block;font-weight:600;margin-bottom:10px}
.product-config-info__facts{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.product-config-info__facts li{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;overflow-wrap:anywhere}
#product-config-fields label{display:grid;gap:8px;margin:0 0 18px}
#product-config-form>label[for=product-config-quantity]{display:block;margin:0 0 8px}
.order-item-thumb{flex:none}
.order-item-thumb img{object-fit:contain;background:var(--wash)}
.order-item-content{display:grid;gap:10px;align-content:start}
.order-item-head{align-items:start;gap:12px}
.order-item-head>strong{font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.order-item-head-actions{align-items:center;gap:8px}
.order-item-remove{width:32px;height:32px}
.order-item-meta{margin:0;line-height:1.6;overflow-wrap:anywhere}
.order-item-price{font-weight:600;font-variant-numeric:tabular-nums}
.checkout-choice-cards button{min-height:92px;display:grid;align-content:center;gap:5px}
.checkout-choice-cards button small{margin:0}
@media(max-width:640px){#cart-modal .cart-panel{padding:20px 16px;gap:20px}#cart-modal .cart-item{grid-template-columns:60px minmax(0,1fr) 30px;gap:10px;padding:20px 0}#cart-modal .cart-item-thumb,#cart-modal .cart-item-thumb img{width:60px}#cart-modal .cart-item-thumb img{height:84px}#cart-modal .item-name{font-size:17px}#cart-modal .item-bottle-type{font-size:13px}#cart-modal .remove-item{width:30px;height:32px}#cart-modal .cart-summary{padding:20px 16px}#cart-modal .summary-row{font-size:14px}#cart-modal .summary-row.highlight{font-size:17px}#cart-modal .cart-actions{grid-template-columns:1fr}#cart-modal .cart-actions button{width:100%}.inline-options{grid-template-columns:1fr}#product-config-info{grid-template-columns:72px minmax(0,1fr);gap:14px}#product-config-info img{width:72px;height:100px}.order-item-head{flex-direction:column;gap:6px}.order-item-head-actions{width:100%;justify-content:space-between}}
/* Cards share a bottom action line even when product descriptions differ. */
.product-card{display:flex;flex-direction:column}
.product-card>.product-card__thumb{flex:none}
.product-card>.details{display:flex;flex-direction:column;flex:1;min-width:0}
.product-card .buttons{margin-top:auto;padding-top:16px}
.product-card .buttons>a,.product-card .buttons>button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;line-height:1.4;margin:0;gap:10px}
.product-card .promotion-label{align-self:flex-start}
.offer-card>div{display:flex;flex-direction:column;align-items:flex-start}
.offer-card>div>a{margin-top:auto}
.discovery-paths>a{display:flex;flex-direction:column}
.discovery-paths>a>span:last-child{margin-top:auto}
@media(min-width:641px){.order-item-head-actions .order-item-remove{margin-top:-4px}}
@media(max-width:480px){.page-categories .product-grid{grid-template-columns:minmax(0,1fr);gap:24px}.page-categories .product-card img{height:280px}.page-categories .product-card h3{font-size:23px}.page-categories .product-card__attributes{font-size:13px;line-height:1.65}.page-categories .product-card .buttons{flex-direction:row}.page-categories .product-card .buttons .details-link{flex:0 0 30%}.page-categories .product-card .buttons .add-to-cart{flex:1}}
.order-summary__totals{display:grid;gap:16px}
.order-summary__totals>p{display:grid;grid-template-columns:minmax(72px,1fr) minmax(0,1.8fr);align-items:baseline;gap:12px;margin:0;font-size:14px;line-height:1.5}
.order-summary__totals>p>strong{text-align:right;overflow-wrap:anywhere;font-weight:600}
.order-summary__totals>#order-grand-total{padding-top:16px;border-top:1px solid var(--line);font-size:18px;line-height:1.4}
.wheel-launch.wheel-launch--inline{position:static;display:flex;max-width:100%;width:max-content;margin:20px 0;box-shadow:none;justify-content:center;flex-wrap:wrap;z-index:auto}
@media(max-width:760px){
 .shop-admin #variants-form .shop-table-scroll{overflow:visible}
 .shop-admin #variants-form table,.shop-admin #variants-form tbody{display:block;width:100%}
 .shop-admin #variants-form thead{display:none}
 .shop-admin #variants-form .variant-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:10px}
 .shop-admin #variants-form .variant-row td{display:grid;gap:7px;align-content:start;border:0;padding:0;min-width:0}
 .shop-admin #variants-form .variant-row td:first-child{grid-column:1/-1;font-size:16px;font-weight:600;line-height:1.5}
 .shop-admin #variants-form .variant-price-note{display:block;font-size:12px;font-weight:400}
 .shop-admin #variants-form .variant-row td:nth-child(2)::before{content:'Ціна, грн';font-size:12px;color:var(--muted)}
 .shop-admin #variants-form .variant-row td:nth-child(3)::before{content:'Залишок';font-size:12px;color:var(--muted)}
 .shop-admin #variants-form .variant-row td:nth-child(4){grid-column:1/-1}
 .shop-admin #variants-form .variant-row td:nth-child(4)::before{content:'Фото комплектації';font-size:12px;color:var(--muted)}
 .shop-admin #variants-form .variant-row td:nth-child(5){grid-column:1/-1;display:flex;align-items:center;gap:12px}
 .shop-admin #variants-form .variant-row td:nth-child(5)::before{content:'Увімкнено';font-size:14px}
 .shop-admin #variants-form .variant-row input{min-width:0!important;max-width:100%;margin:0}
 .shop-admin #variants-form .variant-row input[type=checkbox]{width:20px;height:20px}
 .shop-admin #variants-form>button[type=submit]{width:100%}
}
/* Single-choice selects share an inset arrow; listboxes keep their native layout. */
select:not([multiple]):not([size]),select[size="1"]:not([multiple]){
 appearance:none;-webkit-appearance:none;
 background-image:url('/assets/icons/lucide/chevron-down.svg')!important;
 background-repeat:no-repeat!important;
 background-position:right 16px center!important;
 background-size:18px 18px!important;
 padding-right:48px!important;
}
@media(forced-colors:active){select:not([multiple]):not([size]),select[size="1"]:not([multiple]){appearance:auto;-webkit-appearance:auto;background-image:none!important;padding-right:14px!important}}

/* Keep desktop navigation on one line, including icon labels. */
@media(min-width:761px){
 .navbar{gap:clamp(12px,2vw,28px)}
 .navbar ul{flex-wrap:nowrap;flex-shrink:0;gap:clamp(12px,1.8vw,26px)}
 .navbar ul li,.navbar ul a,.nav-actions{white-space:nowrap}
 .nav-actions{flex-shrink:0}
}
@media(min-width:761px) and (max-width:1000px){
 .navbar>.brand .brand-logo{width:170px}
 .navbar ul a{font-size:14px}
 .nav-actions{gap:10px}
 .nav-consult{display:none}
}
.offer-card{grid-template-columns:minmax(0,1fr) 38%;align-items:stretch}
.offer-card>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.offer-card>div>p:last-child{margin-top:auto;padding-top:18px}
.offer-card img{object-fit:contain;align-self:center;height:100%;max-height:370px;background:#f4eee8}
.offer-card h3{overflow-wrap:break-word}
@media(max-width:480px){
 .offer-card{grid-template-columns:minmax(0,1fr) 32%}
 .offer-card>div{padding:20px 16px}
 .offer-card h3{font-size:22px}
}

/* Offers occupy a single swipeable row at every breakpoint. */
#offers{scroll-margin-top:110px}
#offers .section-heading{align-items:center;gap:20px}
.offer-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.offer-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--wine);font-size:22px;cursor:pointer}
.offer-controls button:disabled{opacity:.3;cursor:default}
.offer-controls span{min-width:58px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted)}
#offers-track{position:relative;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/2);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c6a8ad transparent;padding-bottom:12px}
#offers-track .offer-card{min-width:0;scroll-snap-align:start}
#offers-track:focus-visible,.offer-controls button:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
@media(max-width:760px){#offers-track{grid-auto-columns:100%;gap:16px}#offers .section-heading{align-items:flex-start}.offer-controls{gap:10px}}

.curated-bundles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.curated-bundle{display:flex;flex-direction:column;min-width:0}
.curated-bundle h2{margin-top:14px;font-size:32px}
.bundle-photo-line{display:flex;gap:6px;background:var(--wash);border-radius:10px;padding:12px;margin:12px 0 22px;overflow:hidden}
.bundle-photo-line img{min-width:0;flex:1;width:0;height:150px;object-fit:contain;border-radius:4px}
.bundle-contents{list-style:none;padding:0;margin:0 0 24px}
.bundle-contents li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.bundle-contents span{font-size:14px;color:var(--muted)}
.bundle-purchase{margin-top:auto}.bundle-purchase .button-primary{width:100%}
@media(max-width:760px){.curated-bundles{grid-template-columns:1fr}.curated-bundle h2{font-size:28px}.bundle-photo-line{padding:8px;gap:3px}.bundle-photo-line img{height:110px}}

/* Discount hierarchy shared by initial catalog and AJAX fragments. */
.product-card .price{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;line-height:1.25}
.product-card .price .original-price{font-size:14px;font-weight:400;color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;white-space:nowrap}
.product-card .price .price-discount-percent{font-size:12px;font-weight:600;line-height:1.4;color:var(--wine);background:var(--rose);border-radius:4px;padding:3px 6px;white-space:nowrap}
.product-card .price .discounted-price,.product-card .price .current-price{font-size:26px;font-weight:600;color:var(--ink);white-space:nowrap}
.product-card .price .discounted-price{flex-basis:100%;color:var(--wine)}
.product-card .price .discount-until{flex-basis:100%;font-size:12px}

.quantity-control>.qty-btn[data-ui-icon]{font-size:0;line-height:0;gap:0}
.quantity-control>.qty-btn[data-ui-icon]::before{display:block;flex:0 0 16px;width:16px;height:16px;margin:0}
