/* =========================================================================
   Hero
   ========================================================================= */
.hero{
  position:relative;min-height:82vh;display:flex;align-items:center;
  padding:60px var(--gutter);overflow:hidden;
  background:
    radial-gradient(circle at 78% 30%, var(--hero-glow-1), transparent 55%),
    radial-gradient(circle at 15% 80%, var(--hero-glow-2), transparent 50%),
    var(--ink);
}
.hero-frame{position:absolute;inset:22px;border:1px solid var(--line);pointer-events:none}
.hero-frame-mark{
  position:absolute;left:50%;transform:translateX(-50%);
  background:var(--ink);padding:0 10px;color:var(--gold);opacity:.6;
  display:flex;align-items:center;
}
.hero-frame-top{top:-7px}
.hero-frame-bottom{bottom:-7px}
.hero-inner{max-width:var(--wrap);margin:0 auto;width:100%;position:relative;z-index:2}
.hero-eyebrow{
  font-size:.72rem;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;
  margin-bottom:22px;opacity:0;animation:ff-rise .8s .1s forwards;
}
.hero h1{
  font-size:clamp(3rem,8vw,6.4rem);font-weight:600;line-height:.98;
  color:var(--cream);letter-spacing:.01em;max-width:14ch;
  opacity:0;animation:ff-rise .8s .25s forwards;
}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p{
  margin-top:26px;max-width:46ch;font-size:1.02rem;color:var(--cream-dim);
  font-weight:300;opacity:0;animation:ff-rise .8s .45s forwards;
}
.hero-cta{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:ff-rise .8s .6s forwards}
@keyframes ff-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* If motion is reduced the staggered fade must not leave content invisible. */
@media(prefers-reduced-motion:reduce){
  .hero-eyebrow,.hero h1,.hero p,.hero-cta{opacity:1;animation:none}
}

/* =========================================================================
   Filter chips
   ========================================================================= */
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 20px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);color:var(--cream-dim);border-radius:2px;transition:all .2s;
}
.chip:hover{border-color:var(--gold);color:var(--gold)}
.chip.active{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:600}
.chip-n{font-size:.66rem;opacity:.65}
.chip.active .chip-n{opacity:.8}

/* =========================================================================
   Product grid + card
   ========================================================================= */
ul.products{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
  list-style:none;margin:0;padding:0;
}
ul.products::before,ul.products::after{display:none}
ul.products li.product{margin:0;padding:0;width:auto;float:none;clear:none}

.card{
  background:linear-gradient(180deg,var(--panel),var(--ink-2));
  border:1px solid var(--line);
  overflow:hidden;transition:all .3s;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:var(--shadow)}
.card .card-link{display:flex;flex-direction:column;height:100%}
.card-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--img-bg)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-img img{transform:scale(1.04)}
.card-badge{
  position:absolute;top:12px;left:12px;
  background:var(--badge-bg);border:1px solid var(--line);
  color:var(--gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 11px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.card-badge-oos{top:auto;bottom:12px;color:var(--cream-dim)}
.card-body{padding:20px;flex:1;display:flex;flex-direction:column}
.card-cat{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);opacity:.8}
.card-title{font-size:1.5rem;font-weight:600;margin:6px 0 4px;color:var(--cream);line-height:1.1}
.card .tag{
  font-size:.82rem;color:var(--cream-dim);font-style:italic;
  font-family:var(--serif);flex:1;
}
.card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
}
.card-price{font-size:.9rem;color:var(--cream-dim)}
.card-price .amount,.card-price bdi{color:var(--gold);font-weight:600}
.card-price del{opacity:.5}
.card-price-none{font-style:italic;opacity:.7;font-size:.8rem}
.card-foot .arrow{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  opacity:0;transform:translateX(-6px);transition:all .25s;
}
.card:hover .card-foot .arrow{opacity:1;transform:translateX(0)}

.sec-more{text-align:center;margin-top:44px}

/* Touch devices have no hover, so the arrow would never appear. */
@media(hover:none){
  .card-foot .arrow{opacity:1;transform:none}
}

/* =========================================================================
   Values strip
   ========================================================================= */
.values{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.value .ic{color:var(--gold);margin-bottom:12px;display:flex;justify-content:center}
.value h3{font-size:1.2rem;font-weight:600;color:var(--cream);margin-bottom:6px}
.value p{font-size:.82rem;color:var(--cream-dim);font-weight:300}

/* =========================================================================
   Drawers. The mobile menu slides from the left; the cart will slide from the
   right, so the two can never be confused.
   ========================================================================= */
.scrim{
  position:fixed;inset:0;background:var(--scrim);
  opacity:0;pointer-events:none;transition:opacity .3s;z-index:90;
}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;height:100%;width:min(420px,92vw);
  background:var(--ink-2);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  z-index:95;display:flex;flex-direction:column;
}
.drawer-left{left:0;border-right:1px solid var(--line);transform:translateX(-100%)}
.drawer-left.open{transform:translateX(0)}
.drawer-head{
  padding:22px 24px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.drawer-head .brand .ff{font-family:var(--serif);font-weight:700;font-size:1.6rem;color:var(--gold)}
.drawer-head button{color:var(--cream-dim);padding:6px}
.drawer-head button:hover{color:var(--gold)}
.drawer-body{flex:1;overflow-y:auto;padding:12px 24px 28px}

.menu-label{
  font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
  margin:24px 0 10px;
}
.menu-link{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 0;border-bottom:1px solid var(--line);
  color:var(--cream);font-size:.95rem;letter-spacing:.06em;
}
.menu-link:hover{color:var(--gold)}
.menu-sub{font-size:.85rem;color:var(--cream-dim);text-transform:uppercase;letter-spacing:.12em}

/* =========================================================================
   Responsive
   ========================================================================= */
@media(max-width:1000px){
  ul.products{grid-template-columns:repeat(3,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:36px 24px}
}
@media(max-width:680px){
  ul.products{grid-template-columns:repeat(2,1fr);gap:16px}
  .card-body{padding:14px}
  .card-title{font-size:1.25rem}
  .hero{min-height:76vh;padding:48px var(--gutter-sm)}
  .hero-frame{inset:14px}
  .filters{gap:8px;margin-bottom:28px}
  .chip{padding:8px 14px;font-size:.68rem}
  .cart-btn-label{display:none}
}
@media(max-width:420px){
  ul.products{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* =========================================================================
   Single product
   ========================================================================= */
.back-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cream-dim);margin-bottom:30px;
}
.back-link:hover{color:var(--gold)}

.single-product div.product{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;
}
.single-product div.product .woocommerce-product-gallery{
  border:1px solid var(--line);overflow:hidden;
  position:sticky;top:110px;background:var(--img-bg);
}
.single-product div.product .woocommerce-product-gallery img{width:100%;height:auto;object-fit:cover}
.single-product div.product .woocommerce-product-gallery__wrapper{margin:0}
/* Woo's gallery trigger and thumbnails are not in this design. */
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery .flex-control-thumbs{display:none}

.pd-cat{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.single-product div.product .summary .product_title{
  font-size:clamp(2.4rem,5vw,3.6rem);font-weight:600;margin:10px 0 6px;line-height:1.02;color:var(--cream);
}
.pd-tag{
  font-family:var(--serif);font-style:italic;font-size:1.3rem;
  color:var(--gold-soft);margin-bottom:24px;
}
.pd-meta{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.pd-meta span{
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line);padding:6px 13px;color:var(--cream-dim);
}
.pd-body{color:var(--cream-dim);font-weight:300;margin-bottom:20px;max-width:52ch}
.pd-body p{margin-bottom:12px}
.pd-profile{
  background:var(--ink-2);border-left:2px solid var(--gold);
  padding:16px 20px;margin-bottom:30px;
}
.pd-profile .lbl{
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px;
}
.pd-profile p{
  font-family:var(--serif);font-style:italic;font-size:1.1rem;
  color:var(--cream);line-height:1.5;
}

/* ---- product details split (Feel, Occasions, Why, Sign-off) ---- */
.pd-extra{
  margin-top:32px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:20px;
}
.pd-extra .lbl{
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px;
}
.pd-extra .pd-section p{margin:0;line-height:1.5}
.pd-feel p, .pd-why p{
  font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--cream);
}
.pd-occasions p{
  font-family:var(--sans);font-size:.92rem;color:var(--cream-dim);font-weight:300;
}
.pd-signoff{
  text-align:center;padding-top:20px;margin-top:10px;border-top:1px solid var(--line);
}
.pd-signoff-rule{
  display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:12px;opacity:.7;
}
.pd-signoff-brand{
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);margin-bottom:6px;
}
.pd-signoff-tagline{
  font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--gold);margin:0;
}

/* ---- size selector ---- */
.size-lbl{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cream-dim);margin-bottom:14px;
}
.sizes{display:flex;gap:12px;margin-bottom:30px}
.size-opt{
  flex:1;border:1px solid var(--line);padding:16px 10px;text-align:center;
  transition:all .2s;background:none;display:block;
}
.size-opt:hover:not(:disabled){border-color:var(--gold-soft)}
.size-opt.active{border-color:var(--gold);background:var(--gold-wash)}
.size-opt .sz{
  display:block;font-size:1.1rem;font-weight:600;color:var(--cream);font-family:var(--serif);
}
.size-opt .pr{display:block;font-size:.85rem;color:var(--gold);margin-top:4px}
.size-opt .pr .amount,.size-opt .pr bdi{color:var(--gold)}
.size-opt.oos,.size-opt:disabled{opacity:.4;pointer-events:none;text-decoration:line-through}

/* WooCommerce's real select. Present and functional, just not shown. */
.ff-variation-native{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

/* Woo's own variation price duplicates the size buttons. */
.woocommerce-variation-price{display:none}
.woocommerce-variation-availability{
  font-size:.78rem;letter-spacing:.08em;color:var(--cream-dim);margin-bottom:12px;
}

/* ---- quantity + add to cart ---- */
/* The form must stay a block: the size label belongs ABOVE the buttons, not
   beside them. Only the qty + add-to-cart row is a flex row. */
.single-product form.cart{display:block}
.single-product form.cart.variations_form{display:block}
.single-product .variations_form .single_variation_wrap{margin-top:0}
/* Simple products: Woo puts qty and the button directly in the form. */
.single-product form.cart:not(.variations_form){display:flex;gap:14px;align-items:stretch;flex-wrap:wrap}
.single-product .woocommerce-variation-add-to-cart{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap}
.quantity{display:flex;border:1px solid var(--line);align-items:stretch}
.quantity .qty-btn{
  width:42px;font-size:1.1rem;color:var(--gold);background:none;border:none;
  display:flex;align-items:center;justify-content:center;
}
.quantity .qty-btn:hover{background:var(--gold-wash)}
.quantity input.qty{
  width:48px;border:none;background:none;text-align:center;color:var(--cream);
  font-family:var(--sans);font-size:1rem;-moz-appearance:textfield;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.single-product button.single_add_to_cart_button{
  flex:1;justify-content:center;
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 34px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;transition:all .25s;border-radius:0;border:none;
  background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:var(--ink);
}
.single-product button.single_add_to_cart_button:hover{filter:brightness(1.08);transform:translateY(-2px)}
.single-product button.single_add_to_cart_button.disabled,
.single-product button.single_add_to_cart_button:disabled{opacity:.45;pointer-events:none;transform:none}
.cta-price{
  font-size:.78rem;letter-spacing:.06em;color:var(--cream-dim);
  align-self:center;white-space:nowrap;
}

/* =========================================================================
   Cart drawer
   ========================================================================= */
.drawer-right{right:0;border-left:1px solid var(--line);transform:translateX(100%)}
.drawer-right.open{transform:translateX(0)}
.drawer-head h2{font-size:1.5rem;color:var(--cream);font-family:var(--serif);font-weight:600}

.cart-line{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-line-img{flex:0 0 auto}
.cart-line-img img{width:64px;height:80px;object-fit:cover;border:1px solid var(--line)}
.cart-line .info{flex:1;min-width:0}
.cart-line h3{font-size:1.1rem;color:var(--cream);font-weight:600;line-height:1.2}
.cart-line h3 a:hover{color:var(--gold)}
.cart-line .cl-size{
  font-size:.72rem;letter-spacing:.1em;color:var(--gold-soft);text-transform:uppercase;
}
.cart-line .cl-size p{margin:0}
.cart-line .cl-ctrl{display:flex;align-items:center;gap:14px;margin-top:8px;flex-wrap:wrap}
.cart-line .cl-qty{font-size:.78rem;color:var(--cream-dim);letter-spacing:.08em}
.cart-line .rm{
  font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-dim);
}
.cart-line .rm:hover{color:var(--danger)}
.cart-line .cl-price{color:var(--gold);font-size:.95rem;align-self:center;white-space:nowrap}

.drawer-foot{padding:22px 24px;border-top:1px solid var(--line)}
.drawer-foot .row{
  display:flex;justify-content:space-between;margin-bottom:8px;
  color:var(--cream-dim);font-size:.9rem;
}
.drawer-foot .btn{width:100%;justify-content:center;margin-top:12px}

.empty-cart{text-align:center;padding:60px 20px;color:var(--cream-dim)}
.empty-cart .ic{color:var(--gold);opacity:.5;margin-bottom:16px;display:flex;justify-content:center}
.empty-cart p{margin-bottom:20px}

/* =========================================================================
   Single product, responsive
   ========================================================================= */
@media(max-width:1000px){
  .single-product div.product{grid-template-columns:1fr;gap:34px}
  .single-product div.product .woocommerce-product-gallery{position:static;max-width:440px}
}
@media(max-width:680px){
  .sizes{flex-direction:column}
  .single-product .woocommerce-variation-add-to-cart{width:100%}
  .single-product button.single_add_to_cart_button{flex:1;padding:15px 18px;white-space:nowrap}
  /* The mirrored price would squeeze the button onto two lines; give it its
     own row instead. */
  .cta-price{flex-basis:100%;text-align:right;margin-top:-4px}
}

/* ---- No-image placeholder (deliberate framed presentation for un-imaged products) ---- */
.card-img:has(img.woocommerce-placeholder),
.card-img:has(img[src*="woocommerce-placeholder"]){
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,var(--panel),var(--ink-2));
  position:relative;
}
.card-img:has(img.woocommerce-placeholder)::before,
.card-img:has(img[src*="woocommerce-placeholder"])::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid var(--line);
  pointer-events:none;
  z-index:1;
}
.card-img:has(img.woocommerce-placeholder)::after,
.card-img:has(img[src*="woocommerce-placeholder"])::after{
  content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24"><path d="M12 1.6 22.4 12 12 22.4 1.6 12Z" fill="none" stroke="%23c8a24c" stroke-width="1.4"/><path d="M12 6.4 17.6 12 12 17.6 6.4 12Z" fill="%23c8a24c"/></svg>');
  position:absolute;
  top:8.5px;
  left:50%;
  transform:translateX(-50%);
  background:var(--ink-2);
  padding:0 5px;
  z-index:2;
}
.card-img img.woocommerce-placeholder,
.card-img img[src*="woocommerce-placeholder"]{
  width:44px;
  height:44px;
  object-fit:contain;
  opacity:.15;
  filter:grayscale(1) invert(1);
  transition:transform .5s, opacity .3s;
}
.card:hover .card-img img.woocommerce-placeholder,
.card:hover .card-img img[src*="woocommerce-placeholder"]{
  transform:scale(1.08);
  opacity:.25;
}

.single-product div.product .woocommerce-product-gallery:has(img.woocommerce-placeholder),
.single-product div.product .woocommerce-product-gallery:has(img[src*="woocommerce-placeholder"]){
  aspect-ratio:3/4;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,var(--panel),var(--ink-2));
  position:relative;
}
.single-product div.product .woocommerce-product-gallery:has(img.woocommerce-placeholder)::before,
.single-product div.product .woocommerce-product-gallery:has(img[src*="woocommerce-placeholder"])::before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid var(--line);
  pointer-events:none;
  z-index:1;
}
.single-product div.product .woocommerce-product-gallery:has(img.woocommerce-placeholder)::after,
.single-product div.product .woocommerce-product-gallery:has(img[src*="woocommerce-placeholder"])::after{
  content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24"><path d="M12 1.6 22.4 12 12 22.4 1.6 12Z" fill="none" stroke="%23c8a24c" stroke-width="1.4"/><path d="M12 6.4 17.6 12 12 17.6 6.4 12Z" fill="%23c8a24c"/></svg>');
  position:absolute;
  top:15px;
  left:50%;
  transform:translateX(-50%);
  background:var(--ink-2);
  padding:0 7px;
  z-index:2;
}
.single-product div.product .woocommerce-product-gallery img.woocommerce-placeholder,
.single-product div.product .woocommerce-product-gallery img[src*="woocommerce-placeholder"]{
  width:72px;
  height:72px;
  object-fit:contain;
  opacity:.18;
  filter:grayscale(1) invert(1);
}

/* A product with no purchasable variations shows nothing where the buy area
   would be. Say so rather than leaving a void. */
.ff-unbuyable{
  border:1px solid var(--line);padding:18px 20px;color:var(--cream-dim);
  font-size:.85rem;font-style:italic;
}

/* =========================================================================
   Cart page, collaterals & notices
   ========================================================================= */

/* ---- Notices ---- */
.woocommerce-notices-wrapper{width:100%;margin-bottom:24px}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:0;
  padding:16px 20px;
  margin:0 0 20px 0;
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  scroll-margin-top:100px;
}
.woocommerce-message{border-left:3px solid var(--gold)}
.woocommerce-error{border-left:3px solid var(--danger);list-style:none}
.woocommerce-info{border-left:3px solid var(--gold-soft)}

.woocommerce-error li{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
}
.woocommerce-error li::before{
  content:"!";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border:1px solid var(--danger);
  color:var(--danger);
  font-size:.75rem;
  font-weight:700;
  flex-shrink:0;
}

.coupon-error-notice{
  width:100%;
  flex-basis:100%;
  margin-top:10px;
  font-size:.82rem;
  color:var(--danger);
  font-family:var(--sans);
  display:flex;
  align-items:center;
  gap:8px;
  scroll-margin-top:100px;
}
.coupon-error-notice::before{
  content:"!";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border:1px solid var(--danger);
  color:var(--danger);
  font-size:.7rem;
  font-weight:700;
  flex-shrink:0;
}

.woocommerce-message a.restore-item,
.woocommerce-message a.button,
.woocommerce-info a.button{
  display:inline-flex;
  align-items:center;
  padding:7px 16px;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
  border:1px solid var(--gold);
  color:var(--gold);
  background:transparent;
  border-radius:0;
  text-decoration:none;
  transition:all .2s;
  margin-left:auto;
  cursor:pointer;
}
.woocommerce-message a.restore-item:hover,
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover{
  background:var(--gold);
  color:var(--ink);
}

/* ---- Empty cart ---- */
.woocommerce .cart-empty,
.woocommerce .wc-empty-cart-message{
  text-align:center;
  border:none;
  background:none;
  padding:40px 20px 10px;
  font-size:1.1rem;
  color:var(--cream-dim);
  display:block;
}
.woocommerce .cart-empty::before{
  content:"❖";
  display:block;
  font-size:1.6rem;
  color:var(--gold);
  opacity:.5;
  margin-bottom:14px;
}
.woocommerce .return-to-shop{
  text-align:center;
  margin:16px 0 60px;
}
.woocommerce .return-to-shop a.button,
.woocommerce-checkout a.button.wc-backward{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 34px;
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid var(--line);
  color:var(--cream);
  background:transparent;
  border-radius:0;
  text-decoration:none;
  transition:all .25s;
}
.woocommerce .return-to-shop a.button:hover,
.woocommerce-checkout a.button.wc-backward:hover{
  border-color:var(--gold);
  color:var(--gold);
}

/* ---- No products found (loop/no-products-found.php) ---- */
.woocommerce-no-products-found{
  text-align:center;
  padding:50px 20px 80px;
  max-width:560px;
  margin:0 auto;
}
.woocommerce-no-products-found::before{
  content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path d="M12 1.6 22.4 12 12 22.4 1.6 12Z" fill="none" stroke="%23c8a24c" stroke-width="1.4"/><path d="M12 6.4 17.6 12 12 17.6 6.4 12Z" fill="%23c8a24c"/></svg>');
  display:block;
  opacity:.5;
  margin:0 auto 16px;
}
.woocommerce-no-products-found .woocommerce-info{
  text-align:center;
  border:none;
  background:none;
  padding:0;
  margin:0;
  font-family:var(--sans);
  font-size:1.1rem;
  font-weight:400;
  color:var(--cream-dim);
  line-height:1.6;
}
.woocommerce-no-products-found .woocommerce-info::before{
  display:none;
}

/* ---- Cart layout (Desktop) ---- */
.woocommerce-cart .woocommerce{
  margin-bottom:40px;
}
@media(min-width:992px){
  .woocommerce-cart .woocommerce:has(.woocommerce-cart-form){
    display:grid;
    grid-template-columns:1fr 380px;
    gap:40px;
    align-items:start;
  }
  .woocommerce-cart .woocommerce-notices-wrapper{
    grid-column:1 / -1;
  }
  .woocommerce-cart .woocommerce-cart-form{
    grid-column:1;
  }
  .woocommerce-cart .cart-collaterals{
    grid-column:2;
    margin-top:0;
  }
}

/* ---- Cart items table ---- */
.woocommerce-cart table.shop_table.cart{
  width:100%;
  border-collapse:collapse;
  border:1px solid var(--line);
  background:var(--ink-2);
  margin:0;
}
.woocommerce-cart table.shop_table.cart thead{
  background:var(--panel);
}
.woocommerce-cart table.shop_table.cart th{
  padding:16px 18px;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  border-bottom:1px solid var(--line);
  text-align:left;
}
.woocommerce-cart table.shop_table.cart th.product-price,
.woocommerce-cart table.shop_table.cart th.product-subtotal{
  text-align:right;
}
.woocommerce-cart table.shop_table.cart th.product-quantity{
  text-align:center;
}
.woocommerce-cart table.shop_table.cart td{
  padding:18px;
  border-bottom:1px solid var(--line);
  color:var(--cream);
  vertical-align:middle;
}

/* Cart row items */
.woocommerce-cart table.shop_table.cart td.product-remove{
  width:32px;
  padding-right:0;
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid var(--line);
  color:var(--cream-dim);
  font-size:1.1rem;
  line-height:1;
  text-decoration:none;
  transition:all .2s;
  background:none;
  border-radius:0;
  cursor:pointer;
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover{
  color:var(--danger);
  border-color:var(--danger);
  background:rgba(217,138,106,.08);
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail{
  width:74px;
}
.woocommerce-cart table.shop_table.cart td.product-thumbnail a,
.woocommerce-cart table.shop_table.cart td.product-thumbnail img{
  display:block;
  width:64px;
  height:80px;
  object-fit:cover;
  border:1px solid var(--line);
  background:var(--img-bg);
}

.woocommerce-cart table.shop_table.cart td.product-name a{
  font-size:1.05rem;
  font-weight:600;
  color:var(--cream);
  line-height:1.25;
  transition:color .2s;
  text-decoration:none;
}
.woocommerce-cart table.shop_table.cart td.product-name a:hover{
  color:var(--gold);
}
.woocommerce-cart table.shop_table.cart td.product-name dl.variation{
  display:flex;
  align-items:center;
  gap:6px;
  margin:6px 0 0;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold-soft);
}
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dt{
  font-weight:500;
  color:var(--cream-dim);
  opacity:.8;
}
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd{
  margin:0;
}
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd p{
  margin:0;
  display:inline;
}

.woocommerce-cart table.shop_table.cart td.product-price,
.woocommerce-cart table.shop_table.cart td.product-subtotal{
  font-size:.95rem;
  color:var(--cream-dim);
  text-align:right;
  white-space:nowrap;
}
.woocommerce-cart table.shop_table.cart td.product-subtotal{
  color:var(--gold);
  font-weight:600;
}
.woocommerce-cart table.shop_table.cart td.product-price .amount,
.woocommerce-cart table.shop_table.cart td.product-price bdi,
.woocommerce-cart table.shop_table.cart td.product-subtotal .amount,
.woocommerce-cart table.shop_table.cart td.product-subtotal bdi{
  color:inherit;
}

.woocommerce-cart table.shop_table.cart td.product-quantity{
  text-align:center;
}
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity{
  display:inline-flex;
  border:1px solid var(--line);
  align-items:stretch;
  background:var(--ink);
}
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity .qty-btn{
  width:34px;
  height:38px;
  font-size:1.1rem;
  color:var(--gold);
  background:none;
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s;
}
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity .qty-btn:hover{
  background:var(--gold-wash);
}
.woocommerce-cart table.shop_table.cart td.product-quantity .quantity input.qty{
  width:44px;
  height:38px;
  border:none;
  background:none;
  text-align:center;
  color:var(--cream);
  font-family:var(--sans);
  font-size:.95rem;
}

/* Actions row: coupon & update cart */
.woocommerce-cart table.shop_table.cart td.actions{
  padding:20px;
  background:var(--panel);
  text-align:left;
}
.woocommerce-cart td.actions .coupon{
  display:inline-flex;
  align-items:center;
  gap:10px;
  float:left;
  flex-wrap:wrap;
}
.woocommerce-cart td.actions .coupon input#coupon_code{
  background:var(--ink);
  border:1px solid var(--line);
  color:var(--cream);
  font-family:var(--sans);
  font-size:.82rem;
  letter-spacing:.08em;
  padding:12px 16px;
  width:170px;
  border-radius:0;
  outline:none;
  transition:border-color .2s;
}
.woocommerce-cart td.actions .coupon input#coupon_code:focus{
  border-color:var(--gold);
}
.woocommerce-cart td.actions .coupon input#coupon_code::placeholder{
  color:var(--cream-dim);
  opacity:.6;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"],
.woocommerce-cart td.actions button[name="update_cart"]{
  border:1px solid var(--line);
  color:var(--cream);
  font-family:var(--sans);
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  padding:12px 22px;
  background:transparent;
  border-radius:0;
  cursor:pointer;
  transition:all .25s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover{
  border-color:var(--gold);
  color:var(--gold);
}
.woocommerce-cart td.actions button[name="update_cart"]{
  float:right;
}
.woocommerce-cart td.actions button[name="update_cart"]:hover:not(:disabled){
  border-color:var(--gold);
  color:var(--gold);
  background:var(--gold-wash);
}
.woocommerce-cart td.actions button[name="update_cart"]:disabled{
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}
.woocommerce-cart td.actions::after{
  content:"";
  display:table;
  clear:both;
}

/* ---- Cart collaterals & totals ---- */
.woocommerce-cart .cart-collaterals{
  width:100%;
}
.woocommerce-cart .cart_totals{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:28px 24px;
}
.woocommerce-cart .cart_totals h2{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:600;
  color:var(--cream);
  margin:0 0 20px 0;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.woocommerce-cart .cart_totals table.shop_table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:24px;
}
.woocommerce-cart .cart_totals table.shop_table tr{
  border-bottom:1px solid var(--line);
}
.woocommerce-cart .cart_totals table.shop_table th{
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream-dim);
  padding:14px 0;
  text-align:left;
}
.woocommerce-cart .cart_totals table.shop_table td{
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--cream);
  padding:14px 0;
  text-align:right;
}
.woocommerce-cart .cart_totals table.shop_table .amount,
.woocommerce-cart .cart_totals table.shop_table bdi{
  color:var(--gold);
}
.woocommerce-cart .cart_totals tr.cart-discount th,
.woocommerce-cart .cart_totals tr.cart-discount td{
  color:var(--gold-soft);
}
.woocommerce-cart .cart_totals tr.cart-discount a.woocommerce-remove-coupon{
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream-dim);
  margin-left:8px;
  text-decoration:underline;
}
.woocommerce-cart .cart_totals tr.cart-discount a.woocommerce-remove-coupon:hover{
  color:var(--danger);
}
.woocommerce-cart .cart_totals tr.shipping{
  font-size:.85rem;
  color:var(--cream-dim);
}
.woocommerce-cart .cart_totals tr.order-total{
  border-bottom:none;
  border-top:1px solid var(--line);
}
.woocommerce-cart .cart_totals tr.order-total th{
  font-size:1rem;
  font-weight:600;
  color:var(--cream);
  padding-top:18px;
}
.woocommerce-cart .cart_totals tr.order-total td{
  padding-top:18px;
}
.woocommerce-cart .cart_totals tr.order-total td strong{
  font-family:var(--serif);
  font-size:1.4rem;
  font-weight:700;
  color:var(--gold);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex;
  width:100%;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:16px 28px;
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  background:linear-gradient(135deg,var(--gold),var(--gold-soft));
  color:var(--ink);
  border:none;
  border-radius:0;
  text-decoration:none;
  cursor:pointer;
  transition:all .25s;
  box-sizing:border-box;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  filter:brightness(1.08);
  transform:translateY(-2px);
}

/* ---- BlockUI overlay ---- */
.blockUI.blockOverlay{
  background:var(--ink) !important;
  opacity:.6 !important;
  border:none !important;
  cursor:wait !important;
}

/* ---- Responsive Cart (Mobile ≤768px) ---- */
@media(max-width:768px){
  .woocommerce-cart table.shop_table.cart,
  .woocommerce-cart table.shop_table.cart thead,
  .woocommerce-cart table.shop_table.cart tbody,
  .woocommerce-cart table.shop_table.cart tr,
  .woocommerce-cart table.shop_table.cart th,
  .woocommerce-cart table.shop_table.cart td{
    display:block;
  }
  .woocommerce-cart table.shop_table.cart thead{
    display:none;
  }
  .woocommerce-cart table.shop_table.cart{
    background:none;
    border:none;
  }
  .woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item{
    display:grid;
    grid-template-columns:64px 1fr auto;
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:12px;
    padding:16px;
    background:var(--ink-2);
    border:1px solid var(--line);
    margin-bottom:12px;
    position:relative;
    align-items:center;
  }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail{
    grid-column:1;
    grid-row:1 / span 2;
    padding:0;
    border:none;
    width:64px;
  }
  .woocommerce-cart table.shop_table.cart td.product-name{
    grid-column:2;
    grid-row:1;
    padding:0;
    border:none;
  }
  .woocommerce-cart table.shop_table.cart td.product-remove{
    grid-column:3;
    grid-row:1;
    padding:0;
    border:none;
    text-align:right;
    align-self:start;
    width:auto;
  }
  .woocommerce-cart table.shop_table.cart td.product-price{
    display:none;
  }
  .woocommerce-cart table.shop_table.cart td.product-quantity{
    grid-column:2;
    grid-row:2;
    padding:0;
    border:none;
    text-align:left;
  }
  .woocommerce-cart table.shop_table.cart td.product-subtotal{
    grid-column:3;
    grid-row:2;
    padding:0;
    border:none;
    text-align:right;
    font-size:1rem;
  }
  .woocommerce-cart table.shop_table.cart td.actions{
    padding:16px;
    background:var(--ink-2);
    border:1px solid var(--line);
    margin-bottom:24px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .woocommerce-cart td.actions .coupon{
    display:flex;
    width:100%;
    float:none;
    gap:8px;
    flex-wrap:wrap;
  }
  .woocommerce-cart td.actions .coupon input#coupon_code{
    flex:1;
    width:auto;
    min-width:0;
  }
  .woocommerce-cart td.actions .coupon button[name="apply_coupon"]{
    white-space:nowrap;
    padding:12px 16px;
    font-size:.74rem;
  }
  .woocommerce-cart td.actions button[name="update_cart"]{
    float:none;
    width:100%;
    text-align:center;
    justify-content:center;
  }
  .woocommerce-cart .cart_totals{
    padding:20px 16px;
  }
  .woocommerce-cart .cart_totals table.shop_table tr{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 0;
  }
  .woocommerce-cart .cart_totals table.shop_table th{
    padding:0;
  }
  .woocommerce-cart .cart_totals table.shop_table td{
    padding:0;
  }
}

/* =========================================================================
   Checkout page
   ========================================================================= */

.woocommerce .clear{
  clear:both;
}

/* ---- Top notices and toggles ---- */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-NoticeGroup{
  width:100%;
  margin-bottom:24px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle{
  margin-bottom:20px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  padding:14px 20px;
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream);
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon,
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin{
  color:var(--gold);
  text-decoration:underline;
  font-weight:500;
  cursor:pointer;
  transition:color .2s;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover,
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin:hover{
  color:var(--gold-soft);
}

/* Coupon form (toggleable) */
.woocommerce-checkout form.checkout_coupon{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:24px;
  margin-bottom:32px;
}
.woocommerce-checkout form.checkout_coupon p{
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream-dim);
  margin-bottom:16px;
}
.woocommerce-checkout form.checkout_coupon .form-row-first{
  display:inline-block;
  margin-right:12px;
  margin-bottom:0;
  vertical-align:top;
}
.woocommerce-checkout form.checkout_coupon .form-row-last{
  display:inline-block;
  margin-bottom:0;
  vertical-align:top;
}
.woocommerce-checkout form.checkout_coupon input#coupon_code{
  background:var(--ink);
  border:1px solid var(--line);
  color:var(--cream);
  font-family:var(--sans);
  font-size:.82rem;
  letter-spacing:.08em;
  padding:12px 16px;
  width:220px;
  min-height:44px;
  border-radius:0;
  outline:none;
  box-sizing:border-box;
  transition:border-color .2s;
}
.woocommerce-checkout form.checkout_coupon input#coupon_code:focus{
  border-color:var(--gold);
}
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]{
  border:1px solid var(--line);
  color:var(--cream);
  font-family:var(--sans);
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  padding:12px 22px;
  min-height:44px;
  background:transparent;
  border-radius:0;
  cursor:pointer;
  transition:all .25s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover{
  border-color:var(--gold);
  color:var(--gold);
}

/* Login form (toggleable, for completeness) */
.woocommerce-checkout form.woocommerce-form-login{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:24px;
  margin-bottom:32px;
}
.woocommerce-checkout form.woocommerce-form-login p{
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream-dim);
  margin-bottom:16px;
}
.woocommerce-checkout form.woocommerce-form-login .button{
  border:1px solid var(--gold);
  color:var(--gold);
  font-family:var(--sans);
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  padding:12px 24px;
  background:transparent;
  border-radius:0;
  cursor:pointer;
  transition:all .25s;
}
.woocommerce-checkout form.woocommerce-form-login .button:hover{
  background:var(--gold);
  color:var(--ink);
}
.woocommerce-checkout form.woocommerce-form-login .lost_password a{
  color:var(--cream-dim);
  font-size:.8rem;
  text-decoration:underline;
}
.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover{
  color:var(--gold);
}

/* ---- Section headings on checkout ---- */
.woocommerce-checkout h3{
  font-family:var(--sans);
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--cream);
  margin:0 0 20px 0;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.woocommerce-checkout #ship-to-different-address{
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:16px;
  text-transform:none;
}
.woocommerce-checkout #ship-to-different-address label{
  font-family:var(--sans);
  font-size:1rem;
  font-weight:500;
  letter-spacing:normal;
  text-transform:none;
  color:var(--cream);
  cursor:pointer;
}

/* ---- Form controls & row layout ---- */
.woocommerce form .form-row{
  margin-bottom:20px;
  position:relative;
}
.woocommerce form .form-row label{
  display:block;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cream-dim);
  margin-bottom:8px;
}
.woocommerce form .form-row label abbr.required{
  color:var(--danger);
  text-decoration:none;
  border:none;
  margin-left:3px;
  font-weight:700;
}
.woocommerce form .form-row label .optional{
  color:var(--cream-dim);
  opacity:.5;
  font-size:.7rem;
  text-transform:none;
  letter-spacing:normal;
  font-weight:400;
}

/* Text inputs, selects, textareas */
.woocommerce form input.input-text,
.woocommerce form select,
.woocommerce form textarea{
  background:var(--ink-2);
  border:1px solid var(--line);
  color:var(--cream);
  font-family:var(--sans);
  font-size:.88rem;
  padding:12px 14px;
  width:100%;
  min-height:46px;
  border-radius:0;
  box-sizing:border-box;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.woocommerce form input.input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold);
}
.woocommerce form input.input-text::placeholder,
.woocommerce form textarea::placeholder{
  color:var(--cream-dim);
  opacity:.45;
}
.woocommerce form textarea{
  min-height:96px;
  line-height:1.5;
  resize:vertical;
}

/* Checkbox and Radio controls */
.woocommerce form input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  height:18px;
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:0;
  outline:none;
  cursor:pointer;
  position:relative;
  flex-shrink:0;
  margin:0;
  vertical-align:middle;
  transition:border-color .2s, background .2s;
}
.woocommerce form input[type="checkbox"]:hover{
  border-color:var(--gold);
}
.woocommerce form input[type="checkbox"]:checked{
  background:var(--gold);
  border-color:var(--gold);
}
.woocommerce form input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border:solid var(--ink);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.woocommerce form input[type="checkbox"]:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.woocommerce-form__label-for-checkbox{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream);
  font-weight:400;
  user-select:none;
}

/* Two-column form row pairs (first/last) */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last{
  width:calc(50% - 10px);
}
.woocommerce form .form-row-wide{
  width:100%;
}

/* Validation states */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea,
.woocommerce form .form-row.woocommerce-invalid .select2-container .select2-selection{
  border-color:var(--danger) !important;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text:focus,
.woocommerce form .form-row.woocommerce-invalid select:focus,
.woocommerce form .form-row.woocommerce-invalid textarea:focus,
.woocommerce form .form-row.woocommerce-invalid .select2-container--focus .select2-selection{
  box-shadow:0 0 0 1px var(--danger) !important;
}

/* ---- selectWoo / select2 (country & state pickers) ---- */
.select2-container{
  box-sizing:border-box;
  display:block;
  margin:0;
  position:relative;
  vertical-align:middle;
  width:100% !important;
}
.select2-container .select2-selection--single{
  box-sizing:border-box;
  cursor:pointer;
  display:flex;
  align-items:center;
  height:46px;
  user-select:none;
  -webkit-user-select:none;
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:0;
  padding:0 14px;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--cream);
  font-family:var(--sans);
  font-size:.88rem;
  line-height:46px;
  padding:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  width:100%;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
  color:var(--cream-dim);
  opacity:.5;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:46px;
  position:absolute;
  top:0;
  right:14px;
  width:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:var(--gold) transparent transparent transparent;
  border-style:solid;
  border-width:5px 4px 0 4px;
  height:0;
  width:0;
  display:block;
  transition:transform .2s;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{
  border-color:transparent transparent var(--gold) transparent;
  border-width:0 4px 5px 4px;
}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single{
  border-color:var(--gold);
  outline:none;
  box-shadow:0 0 0 1px var(--gold);
}

/* Dropdown panel */
.select2-dropdown{
  background:var(--ink-2);
  border:1px solid var(--gold);
  border-radius:0;
  box-sizing:border-box;
  display:block;
  position:absolute;
  left:-100000px;
  width:100%;
  z-index:1051;
  box-shadow:var(--shadow);
}
.select2-container--open .select2-dropdown{
  left:0;
}
.select2-search--dropdown{
  display:block;
  padding:10px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.select2-search--dropdown .select2-search__field{
  background:var(--ink);
  border:1px solid var(--line);
  border-radius:0;
  color:var(--cream);
  font-family:var(--sans);
  font-size:.85rem;
  padding:8px 12px;
  width:100%;
  box-sizing:border-box;
  outline:none;
}
.select2-search--dropdown .select2-search__field:focus{
  border-color:var(--gold);
}
.select2-results{
  display:block;
  max-height:240px;
  overflow-y:auto;
}
.select2-results__options{
  list-style:none;
  margin:0;
  padding:0;
}
.select2-results__option{
  padding:10px 14px;
  user-select:none;
  -webkit-user-select:none;
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream-dim);
  cursor:pointer;
  transition:background .15s, color .15s;
}
.select2-results__option--highlighted{
  background:var(--gold) !important;
  color:var(--ink) !important;
  font-weight:500;
}
.select2-results__option--selected{
  background:var(--gold-wash);
  color:var(--gold);
}
.select2-results__option[aria-disabled="true"]{
  opacity:.4;
  cursor:not-allowed;
}

/* ---- Checkout Desktop 2-column layout ---- */
@media(min-width:992px){
  .woocommerce-checkout form.woocommerce-checkout{
    display:grid;
    grid-template-columns:1fr 420px;
    column-gap:48px;
    row-gap:24px;
    align-items:start;
  }
  .woocommerce-checkout form.woocommerce-checkout .woocommerce-NoticeGroup{
    grid-column:1 / -1;
    grid-row:1;
    margin-bottom:16px;
  }
  .woocommerce-checkout form.woocommerce-checkout #customer_details{
    grid-column:1;
    grid-row:2 / span 2;
    width:100%;
    float:none;
  }
  .woocommerce-checkout form.woocommerce-checkout #order_review_heading{
    grid-column:2;
    grid-row:2;
    margin:0;
  }
  .woocommerce-checkout form.woocommerce-checkout #order_review{
    grid-column:2;
    grid-row:3;
    width:100%;
    float:none;
  }
}

/* Customer details spacing */
.woocommerce-checkout #customer_details .col-1{
  width:100%;
  float:none;
}
.woocommerce-checkout #customer_details .col-2{
  width:100%;
  float:none;
  margin-top:32px;
}
.woocommerce-checkout .shipping_address{
  margin-top:16px;
}
.woocommerce-checkout .woocommerce-additional-fields{
  margin-top:28px;
}

/* ---- Order review box ---- */
.woocommerce-checkout #order_review{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:28px 24px;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:20px;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout table.woocommerce-checkout-review-order-table th.product-total{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table th.product-name{
  text-align:left;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table th.product-total{
  text-align:right;
}

/* Line items in order review */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td{
  padding:14px 0;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name{
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--cream);
  line-height:1.4;
  text-align:left;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name strong.product-quantity{
  color:var(--gold);
  font-weight:500;
  font-size:.85rem;
  margin-left:4px;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name dl.variation{
  display:flex;
  align-items:center;
  gap:6px;
  margin:4px 0 0;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold-soft);
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name dl.variation dt{
  font-weight:500;
  color:var(--cream-dim);
  opacity:.8;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name dl.variation dd{
  margin:0;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name dl.variation dd p{
  margin:0;
  display:inline;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total{
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--cream);
  text-align:right;
  white-space:nowrap;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total .amount{
  color:var(--gold);
}

/* Order review totals (tfoot) */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr{
  border-bottom:1px solid var(--line);
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th{
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream-dim);
  padding:14px 0;
  text-align:left;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--cream);
  padding:14px 0;
  text-align:right;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot .amount,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot bdi{
  color:var(--gold);
}

/* Order discount row */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-discount th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-discount td{
  color:var(--gold-soft);
}

/* Order total figure: serif exception */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total{
  border-bottom:none;
  border-top:1px solid var(--line);
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th{
  font-size:1rem;
  font-weight:600;
  color:var(--cream);
  padding-top:18px;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td{
  padding-top:18px;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td strong{
  font-family:var(--serif);
  font-size:1.4rem;
  font-weight:700;
  color:var(--gold);
}

/* ---- Payment block & place order ---- */
.woocommerce-checkout #payment{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.woocommerce-checkout #payment ul.payment_methods{
  list-style:none;
  margin:0 0 20px 0;
  padding:0;
}
.woocommerce-checkout #payment ul.payment_methods li{
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream);
  margin-bottom:12px;
}
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-info,
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-notice{
  background:var(--panel);
  border:1px solid var(--line);
  border-left:3px solid var(--gold-soft);
  padding:14px 18px;
  font-family:var(--sans);
  font-size:.84rem;
  color:var(--cream-dim);
  line-height:1.5;
  margin-bottom:20px;
  display:block;
}

/* Terms and conditions */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  margin-bottom:20px;
  font-size:.82rem;
  color:var(--cream-dim);
  font-family:var(--sans);
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{
  color:var(--gold);
  text-decoration:underline;
}

/* Place order button */
.woocommerce-checkout #payment button#place_order{
  display:flex;
  width:100%;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:16px 28px;
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  background:linear-gradient(135deg,var(--gold),var(--gold-soft));
  color:var(--ink);
  border:none;
  border-radius:0;
  text-decoration:none;
  cursor:pointer;
  transition:all .25s;
  box-sizing:border-box;
  min-height:48px;
}
.woocommerce-checkout #payment button#place_order:hover{
  filter:brightness(1.08);
  transform:translateY(-2px);
}
.woocommerce-checkout #payment button#place_order:disabled,
.woocommerce-checkout #payment button#place_order[disabled]{
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  filter:none;
}

/* ---- Responsive Checkout (Mobile ≤768px) ---- */
@media(max-width:768px){
  .woocommerce-checkout form.woocommerce-checkout{
    display:block;
  }
  .woocommerce-checkout form.woocommerce-checkout #customer_details,
  .woocommerce-checkout form.woocommerce-checkout #order_review{
    width:100%;
    margin-bottom:32px;
  }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last{
    width:100%;
    float:none;
  }
  .woocommerce-checkout form.checkout_coupon input#coupon_code{
    width:100%;
    margin-bottom:10px;
  }
  .woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]{
    width:100%;
  }
  .woocommerce-checkout #order_review{
    padding:20px 16px;
  }
}

/* =========================================================================
   My Account pages
   ========================================================================= */

/* ---- My Account Page Spacing & Clean Header Layout ---- */
.woocommerce-account .section{
  padding:48px var(--gutter) 80px;
}
.woocommerce-account .sec-head--account{
  margin-bottom:32px;
}
.woocommerce-account .sec-head--account .rule{
  margin:0 auto;
}
@media (max-width:680px){
  .woocommerce-account .section{
    padding:36px var(--gutter-sm) 56px;
  }
  .woocommerce-account .sec-head--account{
    margin-bottom:24px;
  }
}

/* ---- Notices on My Account ---- */
.woocommerce-account .woocommerce-notices-wrapper{
  width:100%;
  margin-bottom:24px;
}
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  padding:16px 20px;
  font-family:var(--sans);
  font-size:.88rem;
  color:var(--cream);
  margin-bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.woocommerce-account .woocommerce-message a,
.woocommerce-account .woocommerce-info a{
  color:var(--gold);
  text-decoration:underline;
  transition:color .2s;
}
.woocommerce-account .woocommerce-message a:hover,
.woocommerce-account .woocommerce-info a:hover{
  color:var(--gold-soft);
}
.woocommerce-account .woocommerce-message a.button,
.woocommerce-account .woocommerce-info a.button,
.woocommerce-account .woocommerce-message a.woocommerce-Button,
.woocommerce-account .woocommerce-info a.woocommerce-Button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 18px;
  font-family:var(--sans);
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid var(--gold);
  color:var(--gold);
  background:transparent;
  border-radius:0;
  text-decoration:none;
  transition:all .25s;
}
.woocommerce-account .woocommerce-message a.button:hover,
.woocommerce-account .woocommerce-info a.button:hover,
.woocommerce-account .woocommerce-message a.woocommerce-Button:hover,
.woocommerce-account .woocommerce-info a.woocommerce-Button:hover{
  background:var(--gold);
  color:var(--ink);
}

/* ---- Logged-out Login & Register layout ---- */
.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:960px;
  margin:0 auto;
}
.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.lost_reset_password{
  max-width:480px;
  margin:0 auto 60px;
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:36px 32px;
  box-sizing:border-box;
}
.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-bottom:60px;
}
.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set .col-1,
.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set .col-2{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:36px 32px;
  box-sizing:border-box;
}
.woocommerce-account:not(.logged-in) .woocommerce h2{
  font-family:var(--sans);
  font-size:1.25rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cream);
  margin:0 0 24px;
  text-align:center;
}
.woocommerce-account form.login .woocommerce-form-login__rememberme{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--sans);
  font-size:.84rem;
  color:var(--cream-dim);
  cursor:pointer;
  margin:16px 0 20px;
  text-transform:none;
  letter-spacing:normal;
}
.woocommerce-account form.login .woocommerce-form-login__submit,
.woocommerce-account form.lost_reset_password button,
.woocommerce-account form.register .woocommerce-form-register__submit{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
  color:var(--ink);
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  border:none;
  border-radius:0;
  cursor:pointer;
  transition:all .25s;
  min-height:48px;
  box-sizing:border-box;
}
.woocommerce-account form.login .woocommerce-form-login__submit:hover,
.woocommerce-account form.lost_reset_password button:hover,
.woocommerce-account form.register .woocommerce-form-register__submit:hover{
  filter:brightness(1.08);
  transform:translateY(-2px);
}
.woocommerce-account .lost_password{
  text-align:center;
  margin:18px 0 0;
}
.woocommerce-account .lost_password a{
  color:var(--cream-dim);
  font-family:var(--sans);
  font-size:.82rem;
  text-decoration:underline;
  transition:color .2s;
}
.woocommerce-account .lost_password a:hover{
  color:var(--gold);
}

/* Password input show/hide toggle */
.woocommerce form .password-input{
  position:relative;
  display:block;
}
.woocommerce form .password-input input{
  padding-right:48px;
}
.woocommerce form .show-password-input{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.6;
  transition:opacity .2s;
}
.woocommerce form .show-password-input:hover{
  opacity:1;
}
.woocommerce form .show-password-input::before{
  content:"";
  display:block;
  width:18px;
  height:18px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23c8a24c"/></svg>');
}
.woocommerce form .show-password-input.display-password::before{
  background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.5C15 4.9 8.5 3.8 3.9 7.2C2.7 8.1 1.7 9.3 0.9 10.6C1.1 11 1.4 11.4 1.7 11.8C5 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.8 18.3 9.5ZM10.1 7.2C10.6 6.7 11.4 6.7 11.9 7.2C12.4 7.7 12.4 8.5 11.9 9C11.4 9.5 10.6 9.5 10.1 9C9.6 8.5 9.6 7.7 10.1 7.2ZM10 14.9C6.9 14.9 4 13.3 2.3 10.7C3.5 9 5.1 7.8 7 7.2C6.3 8 6 8.9 6 9.9C6 12.1 7.7 14 10 14C12.2 14 14.1 12.3 14.1 10V9.9C14.1 8.9 13.7 7.9 13 7.2C14.9 7.8 16.5 9 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23c8a24c"/></svg>');
}

/* ---- Logged-in My Account Grid Layout ---- */
@media (min-width:769px){
  .woocommerce-account.logged-in .woocommerce{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:48px;
    align-items:start;
    margin-bottom:60px;
  }
  .woocommerce-account.logged-in .woocommerce .woocommerce-notices-wrapper{
    grid-column:1 / -1;
  }
  .woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-navigation{
    grid-column:1;
  }
  .woocommerce-account.logged-in .woocommerce .woocommerce-MyAccount-content{
    grid-column:2;
  }
}
@media (max-width:768px){
  .woocommerce-account.logged-in .woocommerce{
    display:block;
    margin-bottom:40px;
  }
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    margin-bottom:32px;
  }
  .woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set{
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* ---- My Account Navigation ---- */
.woocommerce-MyAccount-navigation{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:8px 0;
}
.woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
}
.woocommerce-MyAccount-navigation ul li{
  margin:0;
  padding:0;
  border-bottom:1px solid var(--line);
}
.woocommerce-MyAccount-navigation ul li:last-child{
  border-bottom:none;
}
.woocommerce-MyAccount-navigation ul li a{
  display:flex;
  align-items:center;
  padding:13px 20px;
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cream-dim);
  text-decoration:none;
  transition:all .2s;
  border-left:3px solid transparent;
}
.woocommerce-MyAccount-navigation ul li a:hover{
  color:var(--gold);
  background:rgba(200,162,76,.05);
  border-left-color:var(--line);
}
.woocommerce-MyAccount-navigation ul li.is-active a{
  color:var(--gold);
  background:rgba(200,162,76,.08);
  border-left-color:var(--gold);
  font-weight:600;
}

/* ---- My Account Content Typography ---- */
.woocommerce-MyAccount-content p{
  font-family:var(--sans);
  font-size:.95rem;
  line-height:1.7;
  color:var(--cream);
  margin-bottom:20px;
}
.woocommerce-MyAccount-content strong{
  color:var(--gold);
  font-weight:600;
}
.woocommerce-MyAccount-content a{
  color:var(--gold);
  text-decoration:underline;
  transition:color .2s;
}
.woocommerce-MyAccount-content a:hover{
  color:var(--gold-soft);
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{
  font-family:var(--sans);
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--cream);
  margin:0 0 20px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}

/* ---- Addresses Overview ---- */
.woocommerce-MyAccount-content .u-columns.woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:24px;
  margin-top:24px;
}
.woocommerce-Address{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:24px;
  box-sizing:border-box;
}
.woocommerce-Address-title.title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.woocommerce-Address-title.title h2,
.woocommerce-Address-title.title h3{
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:0;
  font-size:.95rem;
}
.woocommerce-Address-title.title a.edit{
  color:var(--gold);
  font-family:var(--sans);
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  border:1px solid var(--line);
  padding:6px 14px;
  transition:all .2s;
}
.woocommerce-Address-title.title a.edit:hover{
  border-color:var(--gold);
  background:rgba(200,162,76,.08);
}
.woocommerce-Address address{
  font-style:normal;
  font-family:var(--sans);
  font-size:.88rem;
  line-height:1.6;
  color:var(--cream-dim);
}

/* ---- Edit Address & Edit Account Forms ---- */
.woocommerce-MyAccount-content form{
  max-width:640px;
}
.woocommerce-MyAccount-content button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 34px;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
  color:var(--ink);
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  border:none;
  border-radius:0;
  cursor:pointer;
  transition:all .25s;
  min-height:48px;
  box-sizing:border-box;
}
.woocommerce-MyAccount-content button[type="submit"]:hover{
  filter:brightness(1.08);
  transform:translateY(-2px);
}
.woocommerce-EditAccountForm fieldset{
  border:1px solid var(--line);
  background:var(--ink-2);
  padding:24px;
  margin:28px 0;
  border-radius:0;
  box-sizing:border-box;
}
.woocommerce-EditAccountForm legend{
  font-family:var(--sans);
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  padding:0 10px;
}
#account_display_name_description em{
  font-family:var(--sans);
  font-size:.76rem;
  color:var(--cream-dim);
  opacity:.7;
  font-style:normal;
  display:block;
  margin-top:4px;
}

/* ---- Password strength meter ---- */
.woocommerce-password-strength{
  display:block;
  margin-top:10px;
  padding:10px 16px;
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  border:1px solid var(--line);
  background:var(--ink-2);
  color:var(--cream-dim);
  transition:all .2s ease;
}
.woocommerce-password-strength.short{
  border-color:var(--danger);
  color:var(--danger);
}
.woocommerce-password-strength.bad{
  border-color:var(--danger);
  color:var(--danger);
}
.woocommerce-password-strength.good{
  border-color:var(--gold);
  color:var(--gold);
}
.woocommerce-password-strength.strong{
  border-color:var(--gold-soft);
  color:var(--gold-soft);
}
.woocommerce-password-hint{
  display:block;
  margin-top:8px;
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:300;
  color:var(--cream-dim);
  line-height:1.5;
}

