/*
Theme Name: OUDADEN PRO THEME
Theme URI: https://oudadenart.com
Description: Astra child theme for the cinematic OUDADEN ART experience. Ships the storefront mount point and design tokens, plus the admin-managed engraving motifs, the per-product visualizer calibration and the REST catalogue/order endpoints. Partner attribution stays with the separate Oudaden Partners plugin, which this theme reads but never modifies.
Author: Oudaden Art
Template: astra
Version: 1.1.0
Text Domain: oudaden-pro-theme
*/

/* Warm premium tokens — mirror the app's design system (globals.css). */
:root{
  --oa-ivory:#faf3e6; --oa-cream:#f1e7d6; --oa-sand:#e4d6bf;
  --oa-walnut:#5e3f26; --oa-walnut-deep:#372415;
  --oa-bronze:#a66a38; --oa-copper:#bd5f2d;
  --oa-ink:#241b14; --oa-ink-soft:#5c534b;
  --oa-blue:#2e6bff;
}

body{ background:var(--oa-ivory); color:var(--oa-ink); }

/* Full-bleed template: the experience owns the whole canvas. */
.oa-experience .site-header,
.oa-experience .site-footer,
.oa-experience .ast-above-header,
.oa-experience .ast-below-header{ display:none !important; }
.oa-experience .site-content{ padding:0 !important; }
.oa-experience #content{ margin:0 !important; }

#oudaden-root:empty::after{
  content:"Loading the workshop…";
  display:grid; place-items:center; min-height:100dvh;
  font-family:system-ui,sans-serif; color:var(--oa-bronze);
}

/* =========================================================================
   WOOCOMMERCE — the actual shop.

   The theme was loading Anton + Manrope but never applying them, so the
   storefront rendered as the stock Astra/Woo grid: system type and bright
   blue buttons. Everything below dresses the real catalogue in the OUDADEN
   identity. Selectors are scoped to .woocommerce so nothing leaks into the
   admin or into the Partners plugin's own screens.
   ========================================================================= */

:root{
  --oa-surface:#fffdf8;
  --oa-line:#e0d3bd;
  --oa-line-soft:#ece1cd;
  --oa-shadow:rgba(55,36,21,.09);
  --oa-shadow-lift:rgba(55,36,21,.16);
  --oa-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --oa-display:"Anton",Impact,"Arial Narrow",sans-serif;
  --oa-script:"Great Vibes",cursive;
}

/* Astra paints links, buttons, borders and block colours from its own global
   palette, which ships blue (--ast-global-color-0:#046bd2). Chasing that blue
   selector by selector is endless — remap the palette itself and every Astra
   and Gutenberg surface turns warm at once.

   Doubled :root beats the Customizer's own `:root` block on specificity, so
   this holds regardless of which stylesheet the Customizer prints last. */
:root:root{
  --ast-global-color-0:#8a4f22;  /* links, accents, primary buttons */
  --ast-global-color-1:#6d3d1a;  /* the darker hover pair          */
  --ast-global-color-2:#241b14;  /* headings                        */
  --ast-global-color-3:#5c534b;  /* body copy                       */
  --ast-global-color-4:#fffdf8;  /* card / surface                  */
  --ast-global-color-5:#f1e7d6;  /* tinted background               */
  --ast-global-color-6:#372415;  /* deep walnut                     */
  --ast-global-color-7:#e0d3bd;  /* borders — was a cool grey       */
  --ast-global-color-8:#241b14;
  --ast-border-color:#e0d3bd;
}

.woocommerce,
.woocommerce-page{ font-family:var(--oa-sans); color:var(--oa-ink); }

/* ---- shop header -------------------------------------------------------- */
.woocommerce-products-header{
  padding:8px 0 4px;
  border-bottom:2px solid var(--oa-walnut-deep);
  margin-bottom:26px;
}
.woocommerce-products-header__title,
.woocommerce .page-title,
body.woocommerce-page .entry-title{
  font-family:var(--oa-display);
  font-weight:400;
  font-size:clamp(34px,5.4vw,54px);
  line-height:1;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--oa-ink);
  margin:0 0 12px;
}
.woocommerce .woocommerce-result-count{
  font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--oa-ink-soft); margin:0;
}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  font-family:var(--oa-sans); font-size:14px; font-weight:600;
  color:var(--oa-ink);
  background:var(--oa-surface);
  border:1px solid var(--oa-line);
  border-radius:0; padding:9px 14px;
}

/* ---- product grid ------------------------------------------------------- */
.woocommerce ul.products{ gap:26px 22px; }

.woocommerce ul.products li.product{
  background:var(--oa-surface);
  border:1px solid var(--oa-line-soft);
  border-radius:3px;
  padding:0 0 18px;
  overflow:hidden;
  box-shadow:0 1px 2px var(--oa-shadow);
  transition:box-shadow .28s ease, transform .28s ease, border-color .28s ease;
}
.woocommerce ul.products li.product:hover{
  border-color:var(--oa-sand);
  box-shadow:0 10px 26px var(--oa-shadow-lift);
  transform:translateY(-3px);
}
.woocommerce ul.products li.product a img{
  background:var(--oa-cream);
  margin:0 0 16px;
  border-radius:0;
  aspect-ratio:1/1;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.woocommerce ul.products li.product:hover a img{ transform:scale(1.035); }

/* category eyebrow above the name */
.woocommerce ul.products li.product .ast-woo-product-category{
  font-size:10.5px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--oa-bronze);
  padding:0 18px; margin:0 0 5px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--oa-sans);
  font-size:17px !important;
  font-weight:700;
  line-height:1.3;
  color:var(--oa-ink);
  padding:0 18px !important;
  margin:0 0 9px;
  text-wrap:balance;
}
.woocommerce ul.products li.product .price{
  font-family:var(--oa-sans);
  font-size:17px; font-weight:800;
  font-variant-numeric:tabular-nums;
  color:var(--oa-walnut);
  padding:0 18px; margin:0 0 14px;
  display:block;
}
.woocommerce ul.products li.product .price del{
  color:var(--oa-ink-soft); font-weight:600; opacity:.7; margin-right:7px;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none; color:var(--oa-copper);
}

/* sale flash — squared, not the default pink circle */
.woocommerce span.onsale{
  font-family:var(--oa-sans);
  font-size:10.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
  background:var(--oa-copper); color:#fff;
  border-radius:0; padding:6px 12px; min-height:0; min-width:0;
  line-height:1; top:12px; left:12px; right:auto; margin:0;
}

/* ---- buttons: kill the stock blue --------------------------------------- */
/* Astra renders TWO add-to-cart variants on shop cards — the plain
   `a.button` and its own `.ast-on-card-button`. Both need naming, or the
   grid keeps the stock blue while the rest of the page turns warm. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce #respond input#submit,
.wc-block-components-button{
  font-family:var(--oa-sans) !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  letter-spacing:.09em;
  text-transform:uppercase;
  background:var(--oa-walnut-deep) !important;
  color:var(--oa-ivory) !important;
  border:1px solid var(--oa-walnut-deep) !important;
  border-radius:2px !important;
  padding:13px 22px !important;
  line-height:1.15;
  transition:background .22s ease, border-color .22s ease, color .22s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product .ast-on-card-button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover{
  background:var(--oa-bronze) !important;
  border-color:var(--oa-bronze) !important;
  color:#fff !important;
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible{
  outline:2px solid var(--oa-copper) !important;
  outline-offset:2px;
}
/* the card button sits inside the padded body */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product .ast-on-card-button{
  margin:0 18px; display:inline-block;
}
.woocommerce ul.products li.product .added_to_cart{
  display:inline-block; margin:10px 18px 0;
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--oa-bronze);
}

/* ---- single product ----------------------------------------------------- */
.woocommerce div.product .product_title{
  font-family:var(--oa-display);
  font-weight:400;
  font-size:clamp(30px,4.4vw,46px);
  line-height:1.03;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:var(--oa-ink);
  margin:0 0 14px;
  text-wrap:balance;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--oa-sans);
  font-size:27px; font-weight:800;
  font-variant-numeric:tabular-nums;
  color:var(--oa-walnut);
  margin:0 0 18px;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:17px; line-height:1.65; color:var(--oa-ink-soft); max-width:60ch;
}
.woocommerce div.product form.cart div.quantity input.qty,
.woocommerce .quantity input.qty{
  font-family:var(--oa-sans); font-weight:700;
  font-variant-numeric:tabular-nums;
  border:1px solid var(--oa-line); border-radius:2px;
  background:var(--oa-surface); color:var(--oa-ink);
  padding:12px 8px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
  border-bottom-color:var(--oa-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:0;
  margin:0 26px 0 0; padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-size:12.5px; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  color:var(--oa-ink-soft); padding:14px 0;
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--oa-ink); border-bottom-color:var(--oa-bronze);
}

/* ---- cart + checkout ---------------------------------------------------- */
.woocommerce table.shop_table{
  border:1px solid var(--oa-line);
  border-radius:3px;
  background:var(--oa-surface);
  border-collapse:separate;
}
.woocommerce table.shop_table th{
  font-family:var(--oa-sans);
  font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:var(--oa-ink-soft);
  border-bottom:1px solid var(--oa-walnut-deep);
}
.woocommerce table.shop_table td{ border-top:1px solid var(--oa-line-soft); }
.woocommerce table.shop_table td.product-name a{
  font-weight:700; color:var(--oa-ink); text-decoration:none;
}
.woocommerce table.shop_table .amount{
  font-weight:800; font-variant-numeric:tabular-nums; color:var(--oa-walnut);
}

.woocommerce-checkout h3,
.woocommerce-cart h2,
.woocommerce-checkout #order_review_heading{
  font-family:var(--oa-display); font-weight:400;
  font-size:22px; letter-spacing:.03em; text-transform:uppercase;
  color:var(--oa-ink);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  font-family:var(--oa-sans); font-size:16px;
  border:1px solid var(--oa-line) !important;
  border-radius:2px; background:var(--oa-surface); color:var(--oa-ink);
  padding:13px 14px; height:auto;
}
.woocommerce form .form-row label{
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--oa-ink-soft);
}

/* Cash on delivery is the only method — make that read as reassurance. */
.woocommerce-checkout #payment{
  background:var(--oa-cream);
  border:1px solid var(--oa-line);
  border-radius:3px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--oa-line);
}
.woocommerce-checkout #payment ul.payment_methods li label{
  font-family:var(--oa-sans); font-size:15px; font-weight:700;
  letter-spacing:0; text-transform:none; color:var(--oa-ink);
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--oa-surface); color:var(--oa-ink-soft); font-size:14.5px;
  border-radius:2px;
}
.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:var(--oa-surface);
}

/* ---- notices ------------------------------------------------------------ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  font-family:var(--oa-sans); font-size:15px;
  background:var(--oa-cream); color:var(--oa-ink);
  border-top:3px solid var(--oa-bronze); border-radius:2px;
}
.woocommerce-error{ border-top-color:var(--oa-copper); }
.woocommerce-message::before,
.woocommerce-info::before{ color:var(--oa-bronze); }

/* ---- pagination --------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul{ border:0; gap:7px; display:flex; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  font-family:var(--oa-sans); font-weight:700; font-size:14px;
  border:1px solid var(--oa-line); border-radius:2px;
  padding:10px 15px; color:var(--oa-ink-soft); background:var(--oa-surface);
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--oa-walnut-deep); border-color:var(--oa-walnut-deep);
  color:var(--oa-ivory);
}

/* ---- mobile ------------------------------------------------------------- */
@media (max-width:544px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:15.5px !important; padding:0 14px !important;
  }
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .ast-woo-product-category{ padding:0 14px; }
  .woocommerce ul.products li.product .button{ margin:0 14px; padding:12px 16px !important; }
}

@media (prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product a img{ transition:none; }
  .woocommerce ul.products li.product:hover{ transform:none; }
  .woocommerce ul.products li.product:hover a img{ transform:none; }
}
