/* Shopping cart: nav button, slide-out panel, and product button states.
   Uses the site's colour variables (--gold, --black, --gray, --border, ...). */

/* Keep the nav links on the right with the cart button just after them. */
#navbar .nav-links{margin-left:auto;}
.aes-cart-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:0.75rem;background:none;border:none;cursor:pointer;color:var(--charcoal,#2A2A2A);}
.aes-cart-btn:hover{color:var(--gold,#C9A84C);}
.aes-cart-btn svg{width:22px;height:22px;}
.aes-cart-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--gold,#C9A84C);color:var(--black,#111);font-family:'Jost',sans-serif;font-size:0.65rem;font-weight:600;line-height:18px;text-align:center;}
.aes-cart-count[hidden]{display:none;}
@media(max-width:960px){.aes-cart-btn{margin-left:auto;margin-right:0.5rem;}}

/* Product buttons wait for the portal before showing Add to Cart / Notify Me. */
.btn-buy.aes-pending{visibility:hidden;}
.btn-buy.aes-in-cart{background:var(--gold,#C9A84C);color:var(--black,#111);}

/* Panel */
.aes-cart-overlay{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.25s,visibility 0.25s;}
.aes-cart-overlay.open{opacity:1;visibility:visible;pointer-events:auto;}
.aes-cart-panel{position:fixed;top:0;right:0;bottom:0;z-index:601;width:min(420px,100%);background:var(--white,#fff);display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,0.15);transform:translateX(100%);transition:transform 0.3s;font-family:'Jost',sans-serif;color:var(--black,#111);}
.aes-cart-panel.open{transform:translateX(0);}
.aes-cart-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border,rgba(201,168,76,0.25));}
.aes-cart-head h2{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:700;}
.aes-cart-close{background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--gray,#6B6B6B);padding:0.25rem;}
.aes-cart-close:hover{color:var(--black,#111);}
.aes-cart-body{flex:1;overflow-y:auto;padding:1rem 1.5rem;}
.aes-cart-error{background:#FDF2F2;border:1px solid #E8B4B4;color:#8A2A2A;padding:0.75rem 1rem;border-radius:2px;font-size:0.85rem;line-height:1.5;margin-bottom:1rem;}
.aes-cart-error a{color:inherit;}
.aes-cart-empty{text-align:center;padding:3rem 0;color:var(--gray,#6B6B6B);font-size:0.95rem;}
.aes-cart-empty a{display:inline-block;margin-top:1rem;color:var(--gold,#C9A84C);font-weight:600;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;}
.aes-cart-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0.9rem 0;border-bottom:1px solid rgba(0,0,0,0.06);}
.aes-cart-item-name{font-size:0.95rem;line-height:1.4;}
.aes-cart-item-meta{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray,#6B6B6B);margin-top:0.2rem;}
.aes-cart-item-side{text-align:right;white-space:nowrap;}
.aes-cart-item-price{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:700;}
.aes-cart-remove{background:none;border:none;cursor:pointer;color:var(--gray,#6B6B6B);font-size:0.72rem;text-decoration:underline;padding:0;margin-top:0.25rem;font-family:inherit;}
.aes-cart-remove:hover{color:var(--black,#111);}
.aes-cart-foot{padding:1.25rem 1.5rem;border-top:1px solid var(--border,rgba(201,168,76,0.25));background:var(--off-white,#FAFAF8);}
.aes-cart-field{margin-bottom:1rem;}
.aes-cart-field label{display:block;font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray,#6B6B6B);margin-bottom:0.4rem;}
.aes-cart-field select{width:100%;padding:0.65rem 0.75rem;border:1px solid rgba(0,0,0,0.15);border-radius:2px;background:#fff;font-family:inherit;font-size:0.9rem;color:var(--black,#111);}
.aes-cart-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.35rem;}
.aes-cart-row strong{font-family:'Cormorant Garamond',serif;font-size:1.4rem;}
.aes-cart-note{font-size:0.78rem;line-height:1.5;color:var(--gray,#6B6B6B);margin-bottom:1rem;}
.aes-cart-checkout{width:100%;background:var(--gold,#C9A84C);color:var(--black,#111);border:none;padding:0.95rem 1rem;font-family:'Jost',sans-serif;font-size:0.82rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background 0.2s;}
.aes-cart-checkout:hover{background:var(--gold-light,#E8C97A);}
.aes-cart-checkout:disabled{opacity:0.6;cursor:default;}
body.aes-cart-locked{overflow:hidden;}


/* Between the mobile breakpoint (960px) and 1280px the nav was wider than the screen,
   clipping "Work With Me" and hiding the cart button. Tighten spacing there. */
@media(min-width:961px) and (max-width:1280px){
  #navbar .nav-links>li>a{padding:0 0.5rem;letter-spacing:0.05em;}
  #navbar .nav-links .nav-signup,#navbar .nav-links .nav-cta{padding:0.45rem 0.7rem!important;}
  #navbar .aes-cart-btn{margin-left:0.25rem;}
}
/* Just above the site's 960px breakpoint there's still not enough room: use the phone menu. */
@media(min-width:961px) and (max-width:1000px){
  #navbar .nav-links{display:none;}
  #navbar .hamburger{display:flex;}
  #navbar .aes-cart-btn{margin-left:auto;margin-right:0.5rem;}
}
