/*
Theme Name: Auraa by Arsh
Theme URI: https://auraabyarsh.com
Description: Custom Storefront child theme for Auraa by Arsh — men's ethnic & fusion occasion wear. Replicates the Claude Design prototype.
Author: Auraa by Arsh
Template: storefront
Version: 1.0.1
Text Domain: auraa
*/

/* ============================================================
   DESIGN TOKENS — lifted verbatim from the prototype
   ============================================================ */
:root{
  --au-bg:#F7F4EE;
  --au-ink:#23211E;
  --au-accent:#9C7A3C;
  --au-accent-light:#C9A45C;
  --au-muted:#5A564D;
  --au-muted-2:#8B8578;
  --au-line:#E4DFD4;
  --au-line-2:#C9C2B2;
  --au-line-3:#A79F8D;
  --au-card:#E7E1D4;
  --au-story:#EFEAE0;
  --au-hero:#3A342B;
  --au-foot-text:#B9B2A2;
  --au-foot-line:#4A463E;
  --au-foot-rule:#35322B;
  --au-foot-meta:#7A7568;
  --au-ok:#3E5641;
  --au-serif:'Cormorant Garamond',Georgia,serif;
  --au-sans:'Jost',system-ui,sans-serif;
  --au-radius-btn:0px;
  --au-radius-card:0px;
  --au-wrap:1280px;
  --au-gutter:32px;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
body,
body.woocommerce,
body.woocommerce-page{
  margin:0;
  background:var(--au-bg);
  color:var(--au-ink);
  font-family:var(--au-sans);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box;}
input,select,button,textarea{font-family:var(--au-sans);}
::selection{background:var(--au-ink);color:var(--au-bg);}
img{max-width:100%;height:auto;}

h1,h2,h3,h4,h5,h6{font-family:var(--au-serif);font-weight:500;color:var(--au-ink);}

.au-wrap{max-width:var(--au-wrap);margin:0 auto;padding-left:var(--au-gutter);padding-right:var(--au-gutter);}

/* Neutralise Storefront chrome we replace wholesale */
.storefront-breadcrumb,
.site-header-cart,
.storefront-handheld-footer-bar,
.site-info,
.woocommerce-breadcrumb{display:none !important;}
#page,.site-content,.col-full{max-width:none;padding:0;margin:0;width:auto;}

/* ============================================================
   HEADER
   ============================================================ */
.au-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,238,0.96);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--au-line);
}
.au-header__inner{
  max-width:var(--au-wrap);margin:0 auto;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:0 var(--au-gutter);height:64px;
}
.au-nav{display:flex;gap:28px;font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;}
.au-nav a{color:var(--au-muted);text-decoration:none;transition:color .2s ease;}
.au-nav a:hover,.au-nav a:focus-visible{color:var(--au-ink);}

.au-wordmark{text-decoration:none;text-align:center;color:var(--au-ink);display:block;}
.au-wordmark__name{font-family:var(--au-serif);font-size:26px;font-weight:500;letter-spacing:0.18em;line-height:1;}
.au-wordmark__sub{font-size:9px;letter-spacing:0.42em;text-transform:uppercase;color:var(--au-muted-2);margin-top:2px;}

.au-header__actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;}
.au-cart-link{
  display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--au-ink);
  font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;
}
.au-cart-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;border-radius:50%;
  background:var(--au-accent);color:var(--au-bg);font-size:11px;letter-spacing:0;
}

/* ============================================================
   HOMEPAGE — HERO
   ============================================================ */
.au-hero{position:relative;height:78vh;min-height:520px;overflow:hidden;background:var(--au-hero);}
.au-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:.85;}
.au-hero__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,12,.55) 0%,rgba(20,17,12,.08) 55%);}
.au-hero__inner{
  position:relative;height:100%;max-width:var(--au-wrap);margin:0 auto;
  padding:0 var(--au-gutter) 72px;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  color:var(--au-bg);
}
.au-eyebrow{font-size:11px;letter-spacing:0.42em;text-transform:uppercase;color:#D9CFBB;margin-bottom:16px;}
.au-hero__title{
  font-family:var(--au-serif);font-weight:500;
  font-size:clamp(44px,6vw,76px);line-height:1.05;
  margin:0 0 12px;max-width:640px;color:var(--au-bg);
}
.au-hero__sub{
  font-size:15px;font-weight:300;letter-spacing:0.04em;
  color:rgba(247,244,238,.85);margin:0 0 32px;max-width:420px;
}
.au-btn-light{
  display:inline-block;background:var(--au-bg);color:var(--au-ink);text-decoration:none;
  font-size:12.5px;letter-spacing:0.18em;text-transform:uppercase;
  padding:16px 36px;border-radius:var(--au-radius-btn);
  transition:background .25s ease,color .25s ease;
}
.au-btn-light:hover,.au-btn-light:focus-visible{background:var(--au-accent);color:var(--au-bg);}

/* ============================================================
   SECTION HEADS
   ============================================================ */
.au-section{max-width:var(--au-wrap);margin:0 auto;padding:88px var(--au-gutter) 24px;}
.au-section--featured{padding:64px var(--au-gutter) 24px;}
.au-section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;}
.au-section__title{font-family:var(--au-serif);font-weight:500;font-size:34px;margin:0;}
.au-viewall{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--au-accent);text-decoration:none;}

/* ============================================================
   CATEGORY TILES + PRODUCT GRIDS
   ============================================================ */
.au-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.au-tile{
  position:relative;display:block;aspect-ratio:3/4;overflow:hidden;
  text-decoration:none;background:var(--au-card);border-radius:var(--au-radius-card);
}
.au-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.au-tile:hover img{transform:scale(1.04);}
.au-tile__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,12,.5),transparent 45%);}
.au-tile__label{position:absolute;left:20px;bottom:18px;color:var(--au-bg);}
.au-tile__name{font-family:var(--au-serif);font-size:24px;font-weight:500;}
.au-tile__cta{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#D9CFBB;margin-top:4px;}
/* Tile with no photography yet */
.au-tile--pending{display:flex;align-items:center;justify-content:center;background:var(--au-card);}
.au-tile--pending .au-tile__label{color:var(--au-ink);}
.au-tile--pending .au-tile__cta{color:var(--au-muted-2);}
.au-tile__pending-text{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--au-muted-2);text-align:center;padding:0 16px;}

.au-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.au-grid--listing{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px 20px;}

/* Product card — WooCommerce loop item */
ul.products,
ul.products li.product{margin:0;padding:0;list-style:none;width:auto;float:none;}
.au-card{position:relative;}
.au-card__media{
  display:block;position:relative;aspect-ratio:3/4;overflow:hidden;
  background:var(--au-card);border-radius:var(--au-radius-card);
}
.au-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;}
.au-card__img-2{opacity:0;transition:opacity .4s ease;}
.au-card:hover .au-card__img-2{opacity:1;}
.au-card__title{
  font-family:var(--au-serif);font-weight:500;font-size:19px;
  margin:14px 0 4px;line-height:1.2;color:var(--au-ink);
}
.au-card a{text-decoration:none;color:var(--au-ink);}
.au-card__price,
.au-card .price{font-size:14px;color:var(--au-muted);letter-spacing:0.04em;font-family:var(--au-sans);font-weight:400;}
.au-card__cta{
  position:absolute;left:12px;right:12px;bottom:86px;
  padding:13px 0;background:rgba(247,244,238,.95);border:none;color:var(--au-ink);
  font-size:12px;letter-spacing:0.16em;text-transform:uppercase;cursor:pointer;
  opacity:0;transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease,background .2s ease,color .2s ease;
  border-radius:var(--au-radius-btn);text-align:center;display:block;
}
.au-card:hover .au-card__cta,
.au-card:focus-within .au-card__cta{opacity:1;transform:translateY(0);}
.au-card__cta:hover{background:var(--au-ink);color:var(--au-bg);}

/* ============================================================
   EDITORIAL SPOTLIGHT + BRAND STORY
   ============================================================ */
.au-spotlight{max-width:var(--au-wrap);margin:64px auto 0;padding:0 var(--au-gutter);}
.au-spotlight__inner{display:flex;flex-wrap:wrap;background:var(--au-ink);border-radius:var(--au-radius-card);overflow:hidden;}
.au-spotlight__media{flex:1 1 460px;min-height:440px;position:relative;}
.au-spotlight__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;}
.au-spotlight__body{
  flex:1 1 340px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:64px 56px;color:var(--au-bg);
}
.au-spotlight__eyebrow{font-size:11px;letter-spacing:0.42em;text-transform:uppercase;color:var(--au-accent-light);margin-bottom:18px;}
.au-spotlight__title{font-family:var(--au-serif);font-weight:500;font-size:clamp(30px,3.4vw,44px);line-height:1.1;margin:0 0 16px;color:var(--au-bg);}
.au-spotlight__text{font-size:14.5px;font-weight:300;line-height:1.7;color:var(--au-foot-text);margin:0 0 32px;max-width:400px;}
.au-btn-outline-light{
  display:inline-block;border:1px solid var(--au-bg);color:var(--au-bg);text-decoration:none;
  font-size:12px;letter-spacing:0.18em;text-transform:uppercase;padding:14px 32px;
  border-radius:var(--au-radius-btn);transition:background .25s ease,color .25s ease;
}
.au-btn-outline-light:hover{background:var(--au-bg);color:var(--au-ink);}

.au-story{background:var(--au-story);margin-top:88px;}
.au-story__inner{max-width:760px;margin:0 auto;padding:96px var(--au-gutter);text-align:center;}
.au-story__eyebrow{font-size:11px;letter-spacing:0.42em;text-transform:uppercase;color:var(--au-accent);margin-bottom:20px;}
.au-story__text{font-family:var(--au-serif);font-size:clamp(24px,3vw,32px);font-weight:400;line-height:1.5;margin:0;color:#33302A;}

/* ============================================================
   LISTING / ARCHIVE
   ============================================================ */
.au-listing{max-width:var(--au-wrap);margin:0 auto;padding:48px var(--au-gutter) 80px;}
.au-listing__head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:36px;}
.au-listing__eyebrow{font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--au-muted-2);margin-bottom:8px;}
.au-listing__title{font-family:var(--au-serif);font-weight:500;font-size:42px;margin:0;}
.au-listing__body{display:flex;gap:44px;align-items:flex-start;flex-wrap:wrap;}
.au-listing__main{flex:1;min-width:300px;}
.au-count{font-size:12.5px;color:var(--au-muted-2);margin-bottom:20px;}

.au-sort{display:flex;align-items:center;gap:10px;}
.au-sort label{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--au-muted-2);}
.au-sort select,
.au-select{
  appearance:none;background:transparent;border:1px solid var(--au-line-2);
  border-radius:var(--au-radius-btn);padding:10px 36px 10px 14px;
  font-size:13px;color:var(--au-ink);cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%2323211E' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;
}

/* Sidebar filters */
.au-filters{position:sticky;top:88px;flex:0 0 220px;min-width:200px;}
.au-filter-group{border-bottom:1px solid var(--au-line);padding-bottom:24px;margin-bottom:24px;}
.au-filter-group:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0;}
.au-filter-group h4{font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--au-ink);margin:0 0 16px;font-family:var(--au-sans);font-weight:500;}
.au-filter-list{display:flex;flex-direction:column;gap:11px;}
.au-check{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--au-muted);cursor:pointer;transition:color .2s ease;}
.au-check:hover{color:var(--au-ink);}
.au-check input{position:absolute;opacity:0;width:0;height:0;}
.au-check__box{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;border:1px solid var(--au-line-3);background:transparent;
  color:var(--au-bg);font-size:11px;line-height:1;border-radius:2px;flex:0 0 auto;
}
.au-check input:checked + .au-check__box{background:var(--au-ink);border-color:var(--au-ink);}
.au-check input:checked + .au-check__box::after{content:"✓";}
.au-check input:focus-visible + .au-check__box{outline:2px solid var(--au-accent);outline-offset:2px;}

.au-sizes{display:flex;gap:8px;flex-wrap:wrap;}
.au-size-btn{
  width:40px;height:40px;border:1px solid var(--au-line-2);background:transparent;color:var(--au-ink);
  font-size:13px;cursor:pointer;border-radius:var(--au-radius-btn);
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.au-size-btn:hover{border-color:var(--au-ink);}
.au-size-btn.is-active{background:var(--au-ink);border-color:var(--au-ink);color:var(--au-bg);}

.au-price-range{display:flex;align-items:center;gap:8px;}
.au-price-range input{
  width:0;flex:1;border:1px solid var(--au-line-2);background:transparent;
  padding:10px;font-size:13px;border-radius:var(--au-radius-btn);color:var(--au-ink);
}
.au-price-range span{color:var(--au-line-3);}
.au-filter-apply{
  margin-top:16px;width:100%;padding:11px 0;background:var(--au-ink);color:var(--au-bg);
  border:none;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;
  border-radius:var(--au-radius-btn);transition:background .2s ease;
}
.au-filter-apply:hover{background:var(--au-accent);}
.au-clear{
  display:inline-block;margin-top:20px;background:none;border:none;padding:0;
  font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--au-accent);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}

/* Pagination */
.au-pagination{display:flex;justify-content:center;gap:8px;margin-top:56px;}
.au-pagination .page-numbers{
  width:42px;height:42px;border:1px solid var(--au-line-2);background:transparent;color:var(--au-ink);
  font-size:13.5px;cursor:pointer;border-radius:var(--au-radius-btn);
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  transition:border-color .2s ease;
}
.au-pagination .page-numbers:hover{border-color:var(--au-ink);}
.au-pagination .page-numbers.current{background:var(--au-ink);border-color:var(--au-ink);color:var(--au-bg);}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.au-product{max-width:var(--au-wrap);margin:0 auto;padding:48px var(--au-gutter) 80px;}
.au-product__layout{display:flex;gap:56px;flex-wrap:wrap;align-items:flex-start;}

.au-gallery{flex:1 1 560px;min-width:320px;}
.au-gallery__stage{
  position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--au-card);
  cursor:zoom-in;border-radius:var(--au-radius-card);
}
.au-gallery__stage.is-zoomed{cursor:zoom-out;}
.au-gallery__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;transform:scale(1);}
.au-gallery__stage.is-zoomed img{transform:scale(1.7);}
.au-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.au-thumb{
  flex:0 0 76px;height:96px;padding:0;border:1px solid var(--au-line-2);
  background:var(--au-card);cursor:pointer;overflow:hidden;
  border-radius:var(--au-radius-btn);opacity:.6;transition:opacity .2s ease,border-color .2s ease;
}
.au-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.au-thumb.is-active{opacity:1;border-color:var(--au-ink);}
.au-thumb:hover{opacity:1;}

.au-info{flex:1 1 360px;min-width:300px;max-width:460px;}
.au-breadcrumb{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--au-accent);text-decoration:none;}
.au-product__title{font-family:var(--au-serif);font-weight:500;font-size:38px;line-height:1.1;margin:14px 0 18px;}
.au-product__price,
.au-info .price{font-family:var(--au-serif);font-size:30px;font-weight:500;color:var(--au-ink);}
.au-info .price del{opacity:.5;font-size:.7em;}
.au-tax-note{font-size:12px;color:var(--au-muted-2);margin:6px 0 30px;}

.au-size-label{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--au-ink);margin-bottom:12px;}
.au-size-label span{color:var(--au-muted-2);letter-spacing:0.06em;text-transform:none;}
.au-swatches{display:flex;gap:10px;margin-bottom:30px;}
.au-swatch{
  flex:1;padding:12px 4px;border:1px solid var(--au-line-2);background:transparent;color:var(--au-ink);
  cursor:pointer;border-radius:var(--au-radius-btn);
  display:flex;flex-direction:column;align-items:center;gap:3px;
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.au-swatch:hover{border-color:var(--au-ink);}
.au-swatch.is-active{background:var(--au-ink);border-color:var(--au-ink);color:var(--au-bg);}
.au-swatch.is-oos{opacity:.35;cursor:not-allowed;text-decoration:line-through;}
.au-swatch__label{font-size:14px;letter-spacing:0.08em;}
.au-swatch__price{font-size:11px;opacity:.65;}

.au-info .single_add_to_cart_button,
.au-add-to-cart{
  width:100%;padding:17px 0;background:var(--au-ink);color:var(--au-bg);border:none;
  font-size:13px;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;
  border-radius:var(--au-radius-btn);transition:background .25s ease;
  font-weight:400;line-height:1.2;
}
.au-info .single_add_to_cart_button:hover,
.au-add-to-cart:hover{background:var(--au-accent);}
.au-info .single_add_to_cart_button.added{background:var(--au-ok);}

.au-whatsapp{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:15px 0;margin-top:12px;border:1px solid var(--au-ink);color:var(--au-ink);
  background:transparent;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;
  text-decoration:none;border-radius:var(--au-radius-btn);
  transition:background .25s ease,color .25s ease;
}
.au-whatsapp:hover{background:var(--au-ink);color:var(--au-bg);}
.au-whatsapp svg{flex:0 0 auto;}

/* Accordions */
.au-accordions{margin-top:40px;border-top:1px solid var(--au-line);}
.au-accordion{border-bottom:1px solid var(--au-line);}
.au-accordion__toggle{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  background:none;border:none;padding:18px 0;cursor:pointer;
  font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--au-ink);
}
.au-accordion__icon{font-family:var(--au-serif);font-size:22px;font-weight:400;line-height:.5;}
.au-accordion__body{display:none;padding:0 0 20px;font-size:14px;font-weight:300;line-height:1.75;color:var(--au-muted);white-space:pre-line;}
.au-accordion.is-open .au-accordion__body{display:block;}

/* Hide default Woo variation UI — we drive it with custom swatches */
.au-info .variations{display:none;}
.au-info .woocommerce-variation-price{display:none;}
.au-info .woocommerce-variation-availability{font-size:12px;color:var(--au-muted-2);margin-bottom:12px;}
.au-info .reset_variations{display:none !important;}

/* ============================================================
   FOOTER
   ============================================================ */
.au-footer{background:var(--au-ink);color:var(--au-foot-text);margin-top:0;}
.au-footer__inner{
  max-width:var(--au-wrap);margin:0 auto;padding:72px var(--au-gutter) 40px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:48px;
}
.au-footer h4{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--au-bg);margin:0 0 16px;font-family:var(--au-sans);font-weight:500;}
.au-newsletter{min-width:260px;}
.au-newsletter__title{font-family:var(--au-serif);font-size:24px;color:var(--au-bg);margin-bottom:8px;}
.au-newsletter p{font-size:13px;font-weight:300;line-height:1.6;margin:0 0 18px;}
.au-newsletter__form{display:flex;gap:0;border-bottom:1px solid var(--au-foot-line);}
.au-newsletter__form input{flex:1;background:transparent;border:none;outline:none;padding:12px 0;font-size:13.5px;color:var(--au-bg);}
.au-newsletter__form input::placeholder{color:var(--au-foot-meta);}
.au-newsletter__form button{
  background:none;border:none;color:var(--au-accent-light);font-size:12px;
  letter-spacing:0.16em;text-transform:uppercase;cursor:pointer;padding:12px 0 12px 16px;
}
.au-footer__links{display:flex;flex-direction:column;gap:10px;font-size:13.5px;font-weight:300;}
.au-footer__links a,.au-footer a{color:var(--au-foot-text);text-decoration:none;transition:color .2s ease;}
.au-footer__links a:hover{color:var(--au-bg);}
.au-footer__wa{display:inline-flex;align-items:center;gap:8px;color:var(--au-bg) !important;text-decoration:none;font-size:13.5px;margin-bottom:14px;}
.au-footer__wa:hover{color:var(--au-accent-light) !important;}
.au-footer__social{display:flex;gap:16px;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;margin-top:6px;}
.au-footer__bar{border-top:1px solid var(--au-foot-rule);}
.au-footer__bar-inner{
  max-width:var(--au-wrap);margin:0 auto;padding:20px var(--au-gutter);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  font-size:11.5px;color:var(--au-foot-meta);
}
.au-footer__bar-inner .au-crafted{letter-spacing:0.18em;text-transform:uppercase;}

/* ============================================================
   WOOCOMMERCE PAGES (cart / checkout / account) — brand skin
   ============================================================ */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main,
.woocommerce-order-received .site-main,
.au-page{max-width:var(--au-wrap);margin:0 auto;padding:48px var(--au-gutter) 80px;}
.woocommerce .page-title,
.au-page h1{font-family:var(--au-serif);font-weight:500;font-size:42px;margin:0 0 32px;}
.woocommerce table.shop_table{border:1px solid var(--au-line);border-radius:0;font-size:14px;}
.woocommerce table.shop_table th{font-family:var(--au-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--au-muted);font-weight:500;}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--au-ink);color:var(--au-bg);border-radius:var(--au-radius-btn);
  font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;
  padding:15px 30px;transition:background .25s ease;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{background:var(--au-accent);color:var(--au-bg);}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  border:1px solid var(--au-line-2);border-radius:var(--au-radius-btn);
  background:transparent;padding:12px 14px;font-size:14px;color:var(--au-ink);height:auto;
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top-color:var(--au-accent);background:var(--au-story);font-size:14px;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--au-accent);}

/* ============================================================
   WOOCOMMERCE BLOCKS — Cart & Checkout (WC 8+ block templates)
   The block cart/checkout ignore the classic table styles above,
   and without a theme.json they fall back to dark defaults.
   ============================================================ */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main{
  background:var(--au-bg) !important;
  color:var(--au-ink) !important;
}
.wp-block-woocommerce-cart *,
.wp-block-woocommerce-checkout *{
  border-color:var(--au-line);
}
.wc-block-cart,
.wc-block-checkout{
  max-width:var(--au-wrap);
  margin:0 auto;
  padding:48px var(--au-gutter) 80px;
  font-family:var(--au-sans);
}

/* Headings */
.wc-block-cart h1,.wc-block-cart h2,.wc-block-cart h3,
.wc-block-checkout h1,.wc-block-checkout h2,.wc-block-checkout h3,
.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary__button-text{
  font-family:var(--au-serif) !important;
  font-weight:500 !important;
  color:var(--au-ink) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* Product names & prices */
.wc-block-components-product-name{
  font-family:var(--au-serif) !important;
  font-size:19px !important;
  font-weight:500 !important;
  color:var(--au-ink) !important;
  text-decoration:none !important;
}
.wc-block-components-product-price,
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount{
  color:var(--au-ink) !important;
  font-family:var(--au-sans) !important;
}
.wc-block-components-product-metadata,
.wc-block-components-totals-item__label{
  color:var(--au-muted) !important;
}

/* Table rows */
.wc-block-cart-items,
.wc-block-cart-items__row,
.wc-block-cart-items th,
.wc-block-cart-items td{
  background:transparent !important;
  border-color:var(--au-line) !important;
  color:var(--au-ink) !important;
}
.wc-block-cart-items__header{
  font-family:var(--au-sans) !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:var(--au-muted) !important;
}

/* Totals panel */
.wc-block-cart__totals,
.wc-block-components-totals-wrapper,
.wc-block-components-sidebar,
.wc-block-checkout__sidebar{
  background:var(--au-story) !important;
  border:1px solid var(--au-line) !important;
  border-radius:var(--au-radius-card) !important;
}

/* Buttons */
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--au-ink) !important;
  color:var(--au-bg) !important;
  border:none !important;
  border-radius:var(--au-radius-btn) !important;
  font-family:var(--au-sans) !important;
  font-size:13px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
  padding:17px 30px !important;
  text-decoration:none !important;
  transition:background .25s ease !important;
}
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:var(--au-accent) !important;
}
.wc-block-components-button__text{color:inherit !important;}

/* Form fields */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-combobox input{
  background:transparent !important;
  border:1px solid var(--au-line-2) !important;
  border-radius:var(--au-radius-btn) !important;
  color:var(--au-ink) !important;
  font-family:var(--au-sans) !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__heading,
.wc-block-components-checkbox__label{
  color:var(--au-muted) !important;
}

/* Notices & quantity */
.wc-block-components-notice-banner{
  background:var(--au-story) !important;
  border-color:var(--au-accent) !important;
  color:var(--au-ink) !important;
}
.wc-block-components-quantity-selector{
  border:1px solid var(--au-line-2) !important;
  border-radius:var(--au-radius-btn) !important;
}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button{
  background:transparent !important;
  color:var(--au-ink) !important;
}

/* Links */
.wc-block-cart a,.wc-block-checkout a{color:var(--au-accent) !important;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .au-product__layout{gap:32px;}
  .au-filters{position:static;flex:1 1 100%;}
  .au-spotlight__body{padding:44px 32px;}
}
@media (max-width:768px){
  :root{--au-gutter:20px;}
  .au-header__inner{grid-template-columns:auto 1fr auto;height:56px;}
  .au-nav{gap:16px;font-size:11px;}
  .au-hero{height:64vh;min-height:420px;}
  .au-hero__img{object-position:center 15%;}
  .au-section{padding:56px var(--au-gutter) 16px;}
  .au-section__title,.au-listing__title{font-size:28px;}
  .au-product__title{font-size:30px;}
  .au-story__inner{padding:64px var(--au-gutter);}
  .au-grid--listing{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
  .au-card__cta{display:none;}
}
@media (max-width:480px){
  .au-nav a:not(:first-child){display:none;}
  .au-tiles,.au-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
}

/* Accessibility */
.au-skip{position:absolute;left:-9999px;}
.au-skip:focus{left:16px;top:16px;z-index:100;background:var(--au-ink);color:var(--au-bg);padding:12px 20px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--au-accent);outline-offset:2px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
