/* ============================================================
   cart.css
   Styles for the Johken Interior Shopping Cart page.
   Sections: Cart hero, layout, cart items, qty controls,
             order summary, enquiry form, captcha.
   ============================================================ */

.cart-hero{background:var(--charcoal);padding:60px 80px 48px;position:relative;overflow:hidden;}
.cart-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,32,22,.9),rgba(28,28,26,.5));}
.cart-hero-content{position:relative;z-index:1;}
.cart-hero-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.cart-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,48px);font-weight:300;color:var(--warm-white);line-height:1.1;}
.divider{width:48px;height:1px;background:var(--gold);margin-top:20px;}

/* LAYOUT */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:40px;padding:48px 80px 80px;align-items:start;max-width:1400px;margin:0 auto;}

/* CART ITEMS */
.cart-items-section{}
.cart-section-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:var(--charcoal);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);}

.cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--border);}
.cart-item-img{width:90px;height:90px;background:var(--sand-light);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-img .item-ph{font-size:32px;opacity:.2;}
.cart-item-info{}
.cart-item-cat{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.cart-item-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--charcoal);margin-bottom:6px;}
.cart-item-unit{font-size:12px;color:var(--muted);}
.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.cart-item-price{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--charcoal);}
.qty-control{display:flex;align-items:center;gap:0;border:1px solid var(--sand-light);}
.qty-btn{width:32px;height:32px;border:none;background:var(--cream);cursor:pointer;font-size:16px;color:var(--charcoal);display:flex;align-items:center;justify-content:center;transition:.2s;font-family:'Jost',sans-serif;}
.qty-btn:hover{background:var(--gold);color:var(--deep-brown);}
.qty-val{width:36px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;background:var(--warm-white);border-left:1px solid var(--sand-light);border-right:1px solid var(--sand-light);}
.remove-btn{background:none;border:none;cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:underline;transition:.2s;}
.remove-btn:hover{color:var(--danger,#C0392B);}

/* EMPTY CART */
.cart-empty{text-align:center;padding:80px 40px;}
.cart-empty-icon{font-size:64px;opacity:.15;margin-bottom:24px;}
.cart-empty h3{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--charcoal);margin-bottom:12px;}
.cart-empty p{font-size:14px;color:var(--muted);margin-bottom:32px;}
.continue-btn{display:inline-block;padding:13px 32px;border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:all .25s;}
.continue-btn:hover{background:var(--gold);color:var(--deep-brown);}

/* ORDER SUMMARY */
.order-summary{background:var(--cream);padding:32px;position:sticky;top:100px;}
.summary-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--charcoal);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.summary-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;color:var(--muted);}
.summary-line.total{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);font-size:15px;color:var(--charcoal);font-weight:500;}
.summary-line.total .summary-val{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold);}
.summary-items{font-size:11px;color:var(--muted);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.summary-note{font-size:11px;color:var(--muted);line-height:1.6;margin-bottom:20px;padding:12px;background:rgba(201,168,76,.06);border-left:2px solid var(--gold);}

/* ENQUIRY FORM */
.enquire-section{margin-top:40px;}
.enquire-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--charcoal);margin-bottom:6px;}
.enquire-sub{font-size:12px;color:var(--muted);margin-bottom:24px;}
.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.form-group label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.form-group input,.form-group textarea,.form-group select{background:var(--warm-white);border:1px solid var(--sand-light);padding:11px 14px;color:var(--charcoal);font-family:'Jost',sans-serif;font-size:13px;font-weight:300;outline:none;transition:border .2s;resize:none;width:100%;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold);}
.enquire-submit{width:100%;padding:14px;background:var(--charcoal);color:var(--cream);border:none;font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.25s;margin-top:8px;}
.enquire-submit:hover{background:var(--gold);color:var(--deep-brown);}
.clear-cart-btn{width:100%;padding:11px;background:transparent;border:1px solid var(--sand-light);color:var(--muted);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s;margin-top:10px;}
.clear-cart-btn:hover{border-color:var(--charcoal);color:var(--charcoal);}

/* CAPTCHA */
.captcha-wrap{margin-top:4px;margin-bottom:16px;}
.captcha-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block;}
.captcha-box{display:flex;align-items:center;gap:12px;background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.2);padding:12px 14px;}
.captcha-eq{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--charcoal);background:var(--sand-light);padding:5px 12px;user-select:none;white-space:nowrap;}
.captcha-sep{color:var(--muted);font-size:18px;}
.captcha-input{width:64px;padding:8px 8px;background:var(--warm-white);border:1px solid var(--sand-light);color:var(--charcoal);font-family:'Jost',sans-serif;font-size:16px;text-align:center;outline:none;transition:border .2s;}
.captcha-input:focus{border-color:var(--gold);}
.captcha-input.cap-error{border-color:#e07060;animation:capShake .35s ease;}
.captcha-input.cap-ok{border-color:#5A9A5A;}
.captcha-refresh{background:none;border:none;cursor:pointer;color:var(--gold);font-size:20px;padding:2px 6px;transition:transform .35s;flex-shrink:0;}
.captcha-refresh:hover{transform:rotate(180deg);}
.captcha-hint{font-size:11px;margin-top:7px;min-height:15px;}
.captcha-hint.ok{color:#5A9A5A;}.captcha-hint.error{color:#e07060;}
@keyframes capShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

/* TOAST */
.toast{position:fixed;top:96px;right:32px;z-index:9999;background:var(--charcoal);color:var(--cream);padding:14px 24px;font-size:13px;letter-spacing:.06em;border-left:3px solid var(--gold);transform:translateX(130%);transition:transform .35s ease;max-width:300px;}
.toast.show{transform:translateX(0);}

/* SUCCESS */
.order-success{display:none;text-align:center;padding:60px 40px;}
.order-success.show{display:block;}
.success-icon{font-size:64px;margin-bottom:20px;}
.order-success h2{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--charcoal);margin-bottom:12px;}
.order-success p{font-size:14px;color:var(--muted);margin-bottom:28px;line-height:1.7;}

footer{background:var(--deep-brown);padding:40px 80px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(201,168,76,.15);margin-top:80px;}
footer p{font-size:12px;color:var(--sand);}
.social-links{display:flex;gap:14px;}
.social-links a{width:34px;height:34px;border:1px solid rgba(201,168,76,.3);display:flex;align-items:center;justify-content:center;color:var(--sand);font-size:13px;text-decoration:none;transition:.2s;}
.social-links a:hover{border-color:var(--gold);color:var(--gold);}

@media(max-width:900px){
  nav{padding:0 20px;}
  .cart-hero{padding:48px 24px 36px;}
  .cart-layout{grid-template-columns:1fr;padding:32px 24px 60px;}
  .order-summary{position:static;}
  footer{flex-direction:column;gap:16px;text-align:center;padding:32px 24px;}
}
@media(max-width:540px){
  .cart-item{grid-template-columns:70px 1fr;grid-template-rows:auto auto;}
  .cart-item-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;}
}
