.cart-link { position:relative; display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.5rem; border:1px solid #f5822059; border-radius:11px; padding:.55rem .7rem .55rem .8rem; color:#f8f4ed; background:#23241f; box-shadow:inset 0 1px #ffffff0d; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; transition:border-color .2s,background .2s,color .2s,transform .2s; }
.cart-link svg { flex:0 0 auto; width:18px; height:18px; color:#f58220; }
.cart-link:hover,.cart-link:focus-visible { border-color:#f58220; color:#16130f; background:#f58220; outline:none; transform:translateY(-1px); }
.cart-link:hover svg,.cart-link:focus-visible svg { color:#16130f; }
.header-cart { display:none; margin-left:auto; }
.cart-count { display:grid; place-items:center; min-width:1.45rem; height:1.45rem; border-radius:99px; padding:0 .3rem; color:#16130f; background:#f7a44f; box-shadow:0 0 0 2px #171814; font-size:.65rem; font-weight:900; }
.cart-link:hover .cart-count,.cart-link:focus-visible .cart-count { color:#fff; background:#171814; box-shadow:none; }
.product-buy-row { display:flex; align-items:center; gap:.55rem; margin-top:.8rem; }
.product-buy-row .button { flex:1; justify-content:center; }
.product-buy-row .product-open { width:auto; min-height:42px; }
.cart-drawer { width:min(94vw,480px); max-height:92vh; border:0; border-radius:22px; padding:0; color:#f5f2eb; background:#17191c; box-shadow:0 28px 100px #0009; }
.cart-drawer::backdrop { background:#08090bbd; backdrop-filter:blur(5px); }
.cart-drawer-inner { padding:clamp(1.15rem,4vw,2rem); }
.cart-drawer-head { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid #ffffff1f; padding-bottom:1rem; }
.cart-drawer-head h2 { margin:.2rem 0 0; font-size:1.65rem; }
.cart-close { width:40px; height:40px; border:1px solid #ffffff25; border-radius:10px; color:#fff; background:transparent; font-size:1.4rem; }
.cart-items { display:grid; gap:.75rem; max-height:48vh; overflow:auto; margin:1rem 0; }
.cart-item { display:grid; grid-template-columns:58px 1fr auto; gap:.75rem; align-items:center; border:1px solid #ffffff18; border-radius:13px; padding:.65rem; }
.cart-item img { width:58px; height:58px; border-radius:8px; object-fit:contain; background:#f2f1ed; }
.cart-item h3 { margin:0; font-size:.82rem; }
.cart-item p { margin:.25rem 0 0; color:#bdb9af; font-size:.7rem; }
.cart-quantity { display:flex; align-items:center; gap:.35rem; margin-top:.45rem; }
.cart-quantity button { width:26px; height:26px; border:1px solid #ffffff25; border-radius:6px; color:#fff; background:transparent; }
.cart-quantity span { min-width:1.3rem; text-align:center; font-size:.75rem; }
.cart-remove { display:grid; place-items:center; width:40px; height:40px; border:1px solid #ffffff25; border-radius:8px; color:#e9a885; background:transparent; cursor:pointer; }
.cart-remove:hover,.cart-remove:focus-visible { border-color:#e9a885; color:#fff; background:#9c3f31; }
.cart-remove svg { width:18px; height:18px; }
.cart-empty { padding:2rem 0; color:#bbb7ae; text-align:center; }
.cart-summary { border-top:1px solid #ffffff1f; padding-top:1rem; }
.cart-summary-row { display:flex; justify-content:space-between; gap:1rem; }
.cart-summary small { display:block; margin:.55rem 0 1rem; color:#aaa69d; line-height:1.5; }
.cart-summary .button { width:100%; justify-content:center; }
.checkout-page { min-height:100vh; color:#202124; background:#f4f3ef; }
.checkout-shell { width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:125px 0 70px; }
.checkout-head { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }
.checkout-head h1 { margin:.25rem 0 0; font-size:clamp(2.2rem,5vw,4.2rem); line-height:.96; letter-spacing:-.06em; }
.checkout-head p:last-child { max-width:450px; color:#676963; line-height:1.6; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:1.25rem; align-items:start; }
.checkout-card { border:1px solid #dddcd5; border-radius:20px; padding:clamp(1rem,3vw,1.6rem); background:#fff; box-shadow:0 14px 40px #24231f0a; }
.checkout-card h2 { margin:0 0 1rem; font-size:1.25rem; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.checkout-fields label { display:grid; gap:.38rem; color:#555752; font-size:.75rem; font-weight:750; }
.checkout-fields .wide { grid-column:1/-1; }
.checkout-fields input,.checkout-fields select,.checkout-fields textarea { width:100%; border:1px solid #cacac2; border-radius:10px; padding:.8rem; color:#202124; background:#fff; font:inherit; }
.checkout-fields textarea { min-height:88px; resize:vertical; }
.checkout-consent { display:flex!important; grid-template-columns:18px 1fr!important; align-items:start; gap:.6rem!important; margin-top:.2rem; line-height:1.5; }
.checkout-consent input { width:18px!important; margin-top:.15rem; }
.checkout-consent a,.legal-content a { color:#314fc4; }
.checkout-items { display:grid; gap:.75rem; }
.checkout-item { display:grid; grid-template-columns:50px 1fr auto; gap:.7rem; align-items:center; }
.checkout-item img { width:50px; height:50px; border-radius:8px; object-fit:contain; background:#f3f2ee; }
.checkout-item h3 { margin:0; font-size:.78rem; }
.checkout-item p { margin:.2rem 0 0; color:#74766f; font-size:.68rem; }
.checkout-totals { display:grid; gap:.65rem; border-top:1px solid #e4e3dc; margin-top:1rem; padding-top:1rem; }
.checkout-totals div { display:flex; justify-content:space-between; gap:1rem; }
.checkout-totals .grand { font-size:1.05rem; font-weight:850; }
.checkout-note { border-radius:11px; margin:1rem 0; padding:.8rem; color:#5c5320; background:#faf4cb; font-size:.72rem; line-height:1.5; }
.checkout-submit { width:100%; justify-content:center; }
.checkout-submit:disabled { opacity:.55; cursor:not-allowed; }
.checkout-message { min-height:1.3rem; margin:.8rem 0 0; color:#a83e28; font-size:.76rem; }
.order-success { border:1px solid #b5dfcb; border-radius:20px; padding:2rem; background:#effaf4; text-align:center; }
.order-success h2 { margin:.3rem 0; }
.legal-page { min-height:100vh; color:#242523; background:#f5f4ef; }
.legal-content { width:min(820px,calc(100% - 32px)); margin:0 auto; padding:125px 0 70px; }
.legal-content h1 { margin:.3rem 0 1rem; font-size:clamp(2.3rem,6vw,4.5rem); letter-spacing:-.055em; }
.legal-content h2 { margin:2rem 0 .5rem; font-size:1.2rem; }
.legal-content p,.legal-content li { color:#555750; line-height:1.75; }
.legal-updated { font-size:.72rem; }
.legal-links { display:flex; flex-wrap:wrap; gap:.75rem 1.2rem; }
@media(max-width:900px){.header-cart{display:inline-flex}}
@media(max-width:760px){.checkout-layout{grid-template-columns:1fr}.checkout-head{display:block}.checkout-fields{grid-template-columns:1fr}.checkout-fields .wide{grid-column:auto}.product-buy-row{align-items:stretch;flex-direction:column}.product-buy-row .product-open{width:100%}}
