.cart-icon-image,.cart-icon-fallback{width:21px;height:21px;flex:0 0 21px;object-fit:contain}
.cart-count{top:0;right:0;min-width:18px;width:auto;height:18px;padding:0 4px;border:2px solid #fff;background:var(--red);font-size:9px;font-weight:650;line-height:1;white-space:nowrap}
.cart-count.is-bumping{animation:cart-count-bump .42s cubic-bezier(.2,.8,.2,1)}
.product-link[data-cart-add]{justify-content:space-between;text-align:left;cursor:pointer;transition:color .18s,background .18s,border-color .18s,padding .18s}
.product-link[data-cart-add] .icon{transition:transform .22s,color .22s}
.product-link[data-cart-add]:hover{color:var(--red)}
.product-link[data-cart-add]:hover .icon{transform:rotate(90deg);color:var(--red)}
.product-link[data-cart-add]:active{padding-inline:7px}
.product-link[data-cart-add].is-added{color:#198b62;border-top-color:#d7eee4}
.product-link[data-cart-add].is-added .icon{color:#198b62;transform:scale(1.12)}

.cart-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(100%,560px);max-width:none;height:100%;max-height:none;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}
.cart-dialog::backdrop{background:rgb(18 18 18 / .48);backdrop-filter:blur(4px);animation:cart-backdrop-in .24s ease both}
.cart-sheet{height:100%;overflow:auto;overscroll-behavior:contain;background:#fafaf9;padding:32px clamp(22px,4vw,38px) 30px;box-shadow:-18px 0 55px rgb(0 0 0 / .12)}
.cart-dialog[open] .cart-sheet{animation:cart-panel-in .34s cubic-bezier(.2,.8,.2,1) both}
.cart-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid #e5e5e4}
.cart-kicker{display:block;color:var(--red);font-size:11px;font-weight:650;letter-spacing:1.55px}
.cart-header h2{display:flex;align-items:baseline;gap:10px;margin-top:9px;font-size:32px;line-height:1.15;letter-spacing:-.4px}
.cart-title-count{font-family:Onest,"Segoe UI",sans-serif;color:#8a8a8a;font-size:14px;font-weight:500;letter-spacing:0}
.cart-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e2e2e1;border-radius:50%;background:#fff;transition:transform .2s,border-color .2s,color .2s}
.cart-close:hover{transform:rotate(90deg);border-color:#bbb;color:var(--red)}
#cart-dialog .cart-close:focus{outline:none}
#cart-dialog .cart-close:focus-visible{background:#ededed;border-color:#aaa}
.cart-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.cart-view{padding-top:8px}
.cart-items{display:grid;gap:12px;padding:16px 0 8px}
.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px;background:#fff;border:1px solid #e8e8e7;border-radius:15px;animation:cart-item-in .26s ease both}
.cart-item-main{display:flex;align-items:flex-start;gap:13px;min-width:0}
.cart-product-visual{flex:0 0 72px;width:72px;min-width:0}
.cart-product-visual>.cart-product-duration{display:block;box-sizing:border-box;width:100%;margin-top:6px;text-align:center}
.cart-product-art{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;border-radius:11px;background:#efefee;overflow:hidden}
.cart-product-art img{width:auto;max-width:56px;height:auto;max-height:50px;object-fit:contain;transform:scale(.885)}
.cart-product-name{font-size:15px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.cart-product-copy{flex:1;min-width:0}
.cart-product-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px 13px}
.cart-product-heading .cart-product-name{min-width:0;max-width:100%}
.cart-product-duration{display:inline-block;flex:0 0 auto;max-width:100%;font-size:8.415px;font-weight:500;line-height:1.4;padding:4.59px 6.885px;border-radius:4.59px;background:#f0f0f0;color:#555;overflow-wrap:anywhere}
.cart-product-meta{margin-top:5px;color:#777;font-size:13px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-controls{display:flex;align-items:center;gap:0;width:max-content;margin-top:10px;border:1px solid #e7e7e6;border-radius:8px;background:#fff;overflow:hidden}
.cart-quantity-button{display:grid;place-items:center;width:32px;height:30px;padding:0;border:0;background:transparent;color:#4f4f4f;font-size:19px;line-height:1;transition:background .18s,color .18s}
.cart-quantity-button:hover:not(:disabled){background:#f1f1ef;color:var(--red)}
.cart-quantity-button:disabled{opacity:.35;cursor:not-allowed}
.cart-quantity-value{min-width:28px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.cart-item-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;min-width:92px}
.cart-money{color:#171717;letter-spacing:-.3px;white-space:nowrap}
.cart-item-price{font-size:14px;font-weight:650;text-align:right}
.cart-remove{display:flex;align-items:center;gap:5px;padding:5px 0;border:0;background:transparent;color:#8b8b8b;font-size:12px;transition:color .18s}
.cart-remove:hover{color:var(--red)}
.cart-remove svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cart-view-footer{margin-top:16px;padding:0}
.cart-description-notice{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding:15px 16px;border:1px solid #e9ddc2;border-radius:12px;background:#faf6ed;color:#65512b}
.cart-description-notice>svg{flex:0 0 20px;width:20px;height:20px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.cart-description-notice strong{display:block;font-size:13px;font-weight:650;line-height:1.5}
.cart-description-notice p{margin:5px 0 0;font-size:12px;line-height:1.6;color:#78694e}
.cart-summary{display:grid;gap:11px}
.cart-summary-line{display:flex;justify-content:space-between;gap:18px;color:#696969;font-size:14px}
.cart-summary-line strong{color:#171717;font-weight:650;text-align:right}
.cart-summary-total{padding-top:14px;border-top:1px solid #e4e4e3;color:#272727;font-size:17px;font-weight:650}
.cart-summary-total strong{font-size:21px}
.cart-total-hint{margin-top:12px;color:#7a7a7a;font-size:13px;line-height:1.5}
.cart-footer-actions{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:16px;margin-top:22px}
.cart-continue{padding:13px 0;color:#626262;font-size:14px;font-weight:550;text-align:center;transition:color .18s}
.cart-continue:hover,.cart-back:hover{color:var(--red)}
.cart-primary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 18px;border:0;border-radius:11px;background:#191919;color:#fff;font-size:15px;font-weight:620;text-align:left;transition:background .2s,transform .2s,box-shadow .2s}
.cart-primary:hover{transform:translateY(-1px);background:var(--red);box-shadow:0 8px 18px rgb(225 1 13 / .16)}
.cart-primary:active{transform:translateY(0)}
.cart-primary span{font-size:19px;font-weight:400;transition:transform .2s}
.cart-primary:hover span{transform:translateX(3px)}
.cart-empty{min-height:min(64vh,520px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 12px;text-align:center}
.cart-empty-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;background:#f0f0ef;color:#737373}
.cart-empty-mark svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cart-empty h3{margin-top:24px;font-size:23px;font-weight:650;letter-spacing:-.3px}
.cart-empty p{max-width:300px;margin-top:10px;color:#777;font-size:15px;line-height:1.6}
.cart-empty .cart-primary{width:min(100%,270px);margin-top:24px}
.cart-back{display:flex;align-items:center;gap:8px;margin:14px 0 26px;padding:5px 0;border:0;background:transparent;color:#666;font-size:14px;font-weight:550;transition:color .18s}
.cart-back span{font-size:19px}
.checkout-heading h3{margin-top:10px;font-size:25px;font-weight:650;letter-spacing:-.4px}
.checkout-heading p{margin-top:7px;color:#777;font-size:14px;line-height:1.55}
.payment-options{display:grid;gap:11px;margin:23px 0 20px;padding:0;border:0}
.payment-option{position:relative;display:flex;align-items:center;gap:14px;min-height:82px;padding:15px;border:1px solid #e3e3e2;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}
.payment-option:hover{border-color:#c7c7c6}
.payment-option:has(input:checked){border-color:#e3e3e2;background:#fff;box-shadow:none}
.payment-option:has(input:focus-visible){outline:2px solid var(--red);outline-offset:3px}
.payment-option input{position:absolute;opacity:0;pointer-events:none}
.payment-option.is-upcoming{min-height:82px;padding:15px;gap:14px;border:1px solid #e3e3e2;border-radius:14px;background:#f8f8f7;box-shadow:none;cursor:not-allowed}
.payment-option.is-upcoming:hover{border-color:#e3e3e2}
.payment-symbol{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:#f1f1f0;color:#242424}
.payment-symbol svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.payment-copy{display:grid;gap:5px;min-width:0}
.payment-copy strong{font-size:15px;font-weight:650}
.payment-copy small{color:#777;font-size:13px;line-height:1.4}
.payment-option.is-upcoming .payment-copy strong{color:#414141}
.payment-option.is-upcoming .payment-copy small{color:#858585;line-height:1.5}
.payment-soon{flex-shrink:0;margin-left:auto;padding:5px 9px;border:1px solid #e9e9e8;border-radius:999px;background:#f7f7f6;color:#808080;font-size:10px;font-weight:600;letter-spacing:.1px;white-space:nowrap}
.payment-selected{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;margin-left:auto;border:1px solid #d3d3d2;border-radius:50%;color:#fff;transition:background .18s,border-color .18s}
.payment-selected svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.payment-option:has(input:checked) .payment-selected{background:var(--red);border-color:var(--red)}
.checkout-summary{display:grid;gap:9px;padding:17px 0 0;border-top:1px solid #e4e4e3;border-bottom:0}
.checkout-summary-line{display:flex;justify-content:space-between;gap:14px;color:#666;font-size:14px}
.checkout-summary-line strong{color:#171717;font-weight:650;text-align:right}
.checkout-summary-line.checkout-grand-total{padding-top:7px;color:#222;font-size:16px;font-weight:650}
.checkout-summary-line.checkout-grand-total strong{font-size:20px}
.checkout-note{margin:15px 0;color:#777;font-size:13px;line-height:1.6}
.checkout-submit{width:100%;margin-top:18px}
.cart-toast{position:fixed;z-index:100;left:50%;bottom:28px;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:13px 18px;border:1px solid #ffffff28;border-radius:999px;background:#1c1c1c;color:#fff;box-shadow:0 10px 32px #0002;font-size:14px;font-weight:550;opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:opacity .22s,transform .22s}
.cart-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.cart-flight{position:fixed;z-index:101;left:0;top:0;width:54px;height:54px;padding:9px;border-radius:14px;background:#fff;object-fit:contain;box-shadow:0 8px 24px #0002;pointer-events:none;will-change:transform,opacity}

@keyframes cart-panel-in{from{opacity:.7;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
@keyframes cart-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes cart-item-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes cart-count-bump{50%{transform:scale(1.28)}}

@media(max-width:980px){.cart-dialog{width:min(100%,520px)}}
@media(max-width:760px){
  .cart-sheet{padding:22px 19px 26px}
  .cart-header{padding-bottom:18px}
  .cart-header h2{font-size:28px}
  .cart-item{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px}
  .cart-product-art{flex-basis:60px;width:60px;height:60px}
  .cart-product-visual{flex-basis:60px;width:60px}
  .cart-product-art img{max-width:46px;max-height:42px}
  .cart-product-name{font-size:14px}
  .cart-product-meta{font-size:12px}
  .cart-item-side{min-width:74px}
  .cart-item-price{font-size:13px}
  .cart-remove{font-size:11px}
  .cart-footer-actions{grid-template-columns:1fr;gap:6px}
  .cart-continue{order:2;padding:10px}
  .cart-primary{font-size:14px}
  .cart-empty{min-height:58vh}
  .payment-option{min-height:76px;padding:12px;gap:11px}
  .payment-symbol{flex-basis:41px;width:41px;height:41px}
  .payment-copy strong{font-size:14px}
  .payment-copy small{font-size:12px}
  .cart-toast{bottom:18px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .cart-dialog::backdrop,.cart-dialog[open] .cart-sheet,.cart-item,.cart-count.is-bumping{animation:none}
  .product-link[data-cart-add],.cart-close,.cart-primary,.cart-toast,.cart-primary span{transition:none}
}

/* Keep the brand centered and the navigation aligned to the right. */
.site-header .header-right{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.8vw,22px);width:100%;min-width:0}
.site-header .desktop-navigation{grid-column:auto;grid-row:auto;justify-self:auto;flex:0 1 auto;margin-left:auto;gap:clamp(14px,2.1vw,26px)}
.site-header .header-actions{grid-column:auto;grid-row:auto;justify-self:auto;display:flex;align-items:center;gap:0;margin-left:0;flex:0 0 auto}
.cart-empty-mark img{width:43px;height:43px;object-fit:contain}
.cart-dialog{height:100dvh}
.cart-sheet{height:100dvh}
@media(min-width:981px){.site-header .header-actions{display:flex}.site-header .menu-toggle{display:none}}
@media(max-width:980px){.site-header .header-right{gap:10px}.site-header .desktop-navigation{display:none}.site-header .header-actions{display:flex;gap:2px}.site-header .menu-toggle{display:block}}
@media(max-width:760px){.site-header .header-right{gap:5px}.site-header .header-actions{gap:2px}}

.cart-fab{position:fixed;z-index:95;right:26px;bottom:26px;display:grid;place-items:center;width:60px;height:60px;padding:0;border:1px solid #ffffff;border-radius:50%;background:#191919;color:#fff;box-shadow:0 12px 32px rgb(0 0 0 / .2);cursor:pointer;animation:cart-fab-in .38s cubic-bezier(.2,.8,.2,1);transition:transform .2s,background .2s,box-shadow .2s}
.cart-fab[hidden]{display:none}
.cart-fab:hover{transform:translateY(-3px);background:var(--red);box-shadow:0 15px 34px rgb(0 0 0 / .24)}
.cart-fab:active{transform:scale(.94)}
.cart-fab:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.cart-fab .cart-icon-image,.cart-fab .cart-icon-fallback{display:block;width:25px;height:25px;flex:0 0 25px;object-fit:contain;filter:brightness(0) invert(1)}
.cart-fab .cart-icon-fallback{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cart-fab .cart-count{top:-3px;right:-3px;display:grid;place-items:center;min-width:22px;width:auto;height:22px;padding:0 5px;border:2px solid #fafaf9;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}
.cart-fab .cart-count[hidden]{display:none}
body.cart-has-items .cart-toast{bottom:98px}
@keyframes cart-fab-in{from{opacity:0;transform:translateY(14px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.cart-fab{right:18px;bottom:18px;width:56px;height:56px}.cart-fab .cart-icon-image,.cart-fab .cart-icon-fallback{width:23px;height:23px;flex-basis:23px}.cart-fab .cart-count{min-width:21px;height:21px}.cart-toast{bottom:18px}body.cart-has-items .cart-toast{bottom:88px}}
@media(prefers-reduced-motion:reduce){.cart-fab{animation:none;transition:none}}

.checkout-feedback{margin:12px 0;color:#b0000d;font-size:13px;line-height:1.5}
.checkout-submit .checkout-submit-label{font-size:15px;font-weight:620;transition:none}
.checkout-submit:hover .checkout-submit-label{transform:none}
.checkout-submit:disabled,.checkout-submit:disabled:hover{background:#888;box-shadow:none;cursor:not-allowed;transform:none}
.checkout-submit[aria-busy="true"]:disabled{cursor:wait}
.checkout-submit[aria-busy="true"]>span:last-child{opacity:.55;animation:cart-count-bump .8s ease-in-out infinite}
.cart-order-success{display:flex;min-height:min(68vh,590px);align-items:center;justify-content:center;padding:30px 0}
.cart-order-success-card{width:min(100%,390px);padding:30px;border:1px solid #e7e7e5;border-radius:20px;background:#fff;box-shadow:0 20px 55px rgb(0 0 0 / .055);animation:cart-item-in .35s ease both}
.cart-order-success-card h3{margin-top:12px;font-size:28px;font-weight:680;letter-spacing:-.55px}
.cart-order-success-card>p:not(.cart-kicker){margin-top:13px;color:#737373;font-size:14px;line-height:1.65}
.order-success-number{color:#191919!important;font-size:18px!important;font-weight:650;font-variant-numeric:tabular-nums}
.order-success-total{display:flex;justify-content:space-between;gap:12px;margin:21px 0;padding:15px 0;border-top:1px solid #e8e8e6;border-bottom:1px solid #e8e8e6;color:#676767;font-size:14px}
.order-success-total strong{color:#181818;font-size:16px;font-weight:650;text-align:right}
.cart-order-success-card>.cart-primary{width:100%;margin-top:3px}
@media(max-width:760px){.checkout-submit .checkout-submit-label{font-size:14px}.cart-order-success{min-height:58vh}.cart-order-success-card{padding:25px 21px}}
@media(prefers-reduced-motion:reduce){.checkout-submit[aria-busy="true"]>span:last-child,.cart-order-success-card{animation:none}}
.cart-order-success-card .order-security-note{margin:13px 0 17px;color:#777;font-size:11px;line-height:1.65}
.cart-order-success-card>.cart-primary.cart-success-secondary{margin-top:0;border:1px solid #e6e6e5;background:#f6f6f5;color:#333;box-shadow:none;justify-content:center}
.cart-order-success-card>.cart-primary.cart-success-secondary:hover{border-color:#cfcfce;background:#f0f0ef;color:#171717;box-shadow:none}
@media(max-width:760px){.cart-order-success-card .order-security-note{font-size:10px}}
