/*
Theme Name: Tutun la Găleată
Theme URI: https://tutun.skroll.ro
Author: Skroll
Description: Temă proprie standalone pentru magazinul Tutun la Găleată. Fără page builder, WooCommerce nativ, stil vintage-industrial. Frontend 100% dinamic din WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: tutun
*/

/* =========================================================================
   0. TOKENS
   ========================================================================= */
:root{
  --ink:      #14100c;   /* page background, espresso-black */
  --ink-2:    #1c150e;   /* elevated surface */
  --ink-3:    #251c12;   /* cards */
  --ink-4:    #322414;   /* hover surface */
  --paper:    #efe6d4;   /* primary text on dark */
  --paper-dim:#b6a889;   /* muted text */
  --gold:     #d4a24a;   /* primary accent — tobacco gold */
  --gold-2:   #ecc276;   /* lighter gold */
  --gold-deep:#a9752b;
  --ember:    #a8412a;   /* oxblood / ember (sale, alerts) */
  --ember-2:  #c85a3b;
  --ok:       #7c9a51;   /* in stock green */
  --line:     rgba(212,162,74,.20);
  --line-2:   rgba(212,162,74,.38);
  --shadow:   0 18px 44px -18px rgba(0,0,0,.7);
  --shadow-sm:0 8px 22px -12px rgba(0,0,0,.6);

  --font-display: "Oswald", "Arial Narrow", Impact, sans-serif;
  --font-body: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  --wrap: 1200px;
  --radius: 4px;
  --radius-lg: 10px;
}

/* =========================================================================
   1. RESET / BASE
   ========================================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* warm ambient glow + subtle grain */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(1100px 600px at 78% -8%, rgba(212,162,74,.12), transparent 60%),
    radial-gradient(900px 700px at -10% 110%, rgba(168,65,42,.10), transparent 55%);
}
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--gold-2); text-decoration:none; transition:color .18s ease; }
a:hover{ color:var(--gold); }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.05; letter-spacing:.01em; margin:0 0 .5em; text-transform:uppercase; }
p{ margin:0 0 1em; }
.wrap{ width:min(var(--wrap), 92vw); margin-inline:auto; }
.sr-only{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* =========================================================================
   2. BUTTONS
   ========================================================================= */
.btn,
a.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font-family:var(--font-display); text-transform:uppercase; letter-spacing:.08em; font-weight:600;
  font-size:.95rem; line-height:1;
  padding:.95em 1.6em; border-radius:var(--radius); border:1px solid transparent;
  background:linear-gradient(180deg,var(--gold-2),var(--gold)); color:#231607!important;
  cursor:pointer; transition:transform .12s ease, box-shadow .18s ease, background .18s ease, filter .18s ease;
  box-shadow:0 10px 24px -12px rgba(212,162,74,.6); text-decoration:none;
}
.btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  transform:translateY(-2px); filter:brightness(1.05);
  box-shadow:0 16px 30px -12px rgba(212,162,74,.75); color:#231607;
}
.btn-ghost,
.woocommerce a.button.alt.wc-forward,
a.btn-ghost{
  background:transparent; color:var(--gold-2)!important; border:1px solid var(--line-2);
  box-shadow:none;
}
.btn-ghost:hover{ background:rgba(212,162,74,.08); border-color:var(--gold); color:var(--gold)!important; }
.btn-block{ width:100%; }

/* =========================================================================
   3. ANNOUNCEMENT BAR
   ========================================================================= */
.topbar{
  background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-deep));
  color:#1a1207; text-align:center;
  font-family:var(--font-display); text-transform:uppercase; letter-spacing:.14em;
  font-size:.74rem; font-weight:600; padding:.5em 1em;
}
.topbar strong{ font-weight:700; }

/* =========================================================================
   4. HEADER
   ========================================================================= */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(20,16,12,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; gap:1.5rem; padding:.7rem 0; }
.brand{ display:flex; align-items:center; gap:.7rem; flex-shrink:0; }
.brand__mark{ width:42px; height:42px; }
.brand__name{ font-family:var(--font-display); text-transform:uppercase; font-weight:700; letter-spacing:.02em; line-height:.95; color:var(--paper); }
.brand__name b{ color:var(--gold); font-weight:700; }
.brand__name span{ display:block; font-size:.62rem; letter-spacing:.34em; color:var(--paper-dim); font-weight:400; }

.main-nav{ margin-left:auto; }
.main-nav ul{ list-style:none; display:flex; gap:.3rem; margin:0; padding:0; }
.main-nav a{
  display:block; color:var(--paper); font-family:var(--font-display); text-transform:uppercase;
  letter-spacing:.06em; font-size:.9rem; font-weight:500; padding:.55em .85em; border-radius:var(--radius);
  position:relative;
}
.main-nav a::after{ content:""; position:absolute; left:.85em; right:.85em; bottom:.28em; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.main-nav a:hover{ color:var(--gold-2); }
.main-nav a:hover::after{ transform:scaleX(1); }

.header-actions{ display:flex; align-items:center; gap:.4rem; }
.cart-link{ position:relative; display:inline-flex; align-items:center; gap:.5rem; color:var(--paper); padding:.5em .8em; border:1px solid var(--line-2); border-radius:var(--radius); font-family:var(--font-display); text-transform:uppercase; letter-spacing:.05em; font-size:.85rem; }
.cart-link:hover{ border-color:var(--gold); color:var(--gold-2); }
.cart-link .cart-count{ background:var(--ember); color:#fff; border-radius:999px; min-width:1.35em; height:1.35em; display:inline-flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:700; padding:0 .35em; }
.cart-link .cart-amt{ color:var(--gold-2); }
.nav-toggle{ display:none; background:none; border:1px solid var(--line-2); color:var(--paper); border-radius:var(--radius); width:44px; height:42px; cursor:pointer; align-items:center; justify-content:center; }
.nav-toggle svg{ width:22px; height:22px; }

/* =========================================================================
   5. HERO
   ========================================================================= */
.hero{ position:relative; padding:clamp(3rem,8vw,6.5rem) 0 clamp(2.5rem,6vw,5rem); overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center; }
.hero__eyebrow{ display:inline-flex; align-items:center; gap:.6em; color:var(--gold); font-family:var(--font-display); text-transform:uppercase; letter-spacing:.28em; font-size:.78rem; font-weight:600; margin-bottom:1rem; }
.hero__eyebrow::before{ content:""; width:34px; height:2px; background:var(--gold); }
.hero h1{ font-size:clamp(2.9rem,8vw,5.6rem); line-height:.9; margin:0 0 1.1rem; letter-spacing:.005em; }
.hero h1 em{ font-style:normal; color:var(--gold); display:block; -webkit-text-stroke:0; }
.hero__lead{ font-size:1.12rem; color:var(--paper-dim); max-width:44ch; margin-bottom:1.8rem; }
.hero__cta{ display:flex; gap:.8rem; flex-wrap:wrap; }
.hero__stats{ display:flex; gap:2rem; margin-top:2.4rem; }
.hero__stats div{ }
.hero__stats b{ display:block; font-family:var(--font-display); font-size:1.8rem; color:var(--gold-2); line-height:1; }
.hero__stats span{ font-size:.8rem; color:var(--paper-dim); text-transform:uppercase; letter-spacing:.1em; }

.hero__art{ position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
.hero__bucket{ width:100%; max-width:400px; filter:drop-shadow(0 30px 40px rgba(0,0,0,.55)); }
.hero__badge{ position:absolute; top:6%; right:2%; background:var(--ember); color:#fff; font-family:var(--font-display); text-transform:uppercase; text-align:center; width:120px; height:120px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(-12deg); box-shadow:var(--shadow); border:2px dashed rgba(255,255,255,.4); }
.hero__badge b{ font-size:1.5rem; line-height:1; }
.hero__badge span{ font-size:.62rem; letter-spacing:.1em; }

/* =========================================================================
   6. SECTIONS
   ========================================================================= */
.section{ padding:clamp(2.6rem,6vw,4.6rem) 0; }
.section--alt{ background:var(--ink-2); border-block:1px solid var(--line); }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:2rem; flex-wrap:wrap; }
.section-head .eyebrow{ color:var(--gold); font-family:var(--font-display); text-transform:uppercase; letter-spacing:.24em; font-size:.75rem; display:block; margin-bottom:.4rem; }
.section-head h2{ font-size:clamp(1.8rem,4vw,2.8rem); margin:0; }
.section-head p{ color:var(--paper-dim); margin:.4rem 0 0; max-width:52ch; }
.section-head a.more{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:.08em; font-size:.85rem; white-space:nowrap; }

/* =========================================================================
   7. CATEGORY GRID
   ========================================================================= */
.cat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; }
.cat-card{
  position:relative; display:flex; flex-direction:column; justify-content:flex-end;
  min-height:200px; padding:1.2rem; border-radius:var(--radius-lg); overflow:hidden;
  background:var(--ink-3); border:1px solid var(--line); isolation:isolate;
  transition:transform .2s ease, border-color .2s ease;
}
.cat-card:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.cat-card__img{ position:absolute; inset:0; z-index:-1; opacity:.55; object-fit:cover; width:100%; height:100%; transition:transform .4s ease, opacity .3s ease; }
.cat-card:hover .cat-card__img{ transform:scale(1.06); opacity:.7; }
.cat-card::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 20%,rgba(15,11,7,.55) 55%,rgba(15,11,7,.94)); }
.cat-card h3{ font-size:1.25rem; margin:0 0 .15rem; color:var(--paper); }
.cat-card span{ font-size:.8rem; color:var(--gold-2); text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-display); }

/* =========================================================================
   8. PRODUCT CARDS (WooCommerce loop)
   ========================================================================= */
ul.products{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1.4rem; }
.product-grid ul.products{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
ul.products li.product,
li.product{
  position:relative; background:var(--ink-3); border:1px solid var(--line); border-radius:var(--radius-lg);
  overflow:hidden; display:flex; flex-direction:column; text-align:left;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; margin:0!important;
}
li.product:hover{ transform:translateY(-5px); border-color:var(--line-2); box-shadow:var(--shadow); }
li.product a.woocommerce-LoopProduct-link,
li.product a.woocommerce-loop-product__link{ display:block; color:inherit; }
li.product .wp-post-image,
li.product img{ width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--ink-4); }
li.product .product-body{ padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
li.product .woocommerce-loop-product__title,
li.product h2.woocommerce-loop-product__title{ font-family:var(--font-display); text-transform:uppercase; font-size:1.08rem; letter-spacing:.01em; color:var(--paper); margin:0; padding:0; line-height:1.1; }
li.product .cat-tag{ font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); font-family:var(--font-display); }
li.product .price{ color:var(--gold-2); font-family:var(--font-display); font-size:1.25rem; display:flex; align-items:baseline; gap:.5rem; margin-top:auto; }
li.product .price del{ color:var(--paper-dim); font-size:.9rem; opacity:.8; font-family:var(--font-body); }
li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .price{ font-size:1.25rem; }
li.product .button,
li.product a.add_to_cart_button,
li.product a.added_to_cart{ margin-top:.4rem; width:100%; }

/* sale / stock badges */
.badge{ position:absolute; top:.7rem; left:.7rem; z-index:2; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; font-weight:600; padding:.3em .7em; border-radius:999px; }
.badge--sale, span.onsale{ background:var(--ember); color:#fff!important; margin:0!important; position:absolute; top:.7rem; left:.7rem; min-height:auto; min-width:auto; line-height:1.2; border-radius:999px; padding:.3em .7em; font-family:var(--font-display); }
.badge--out{ background:#3a2f22; color:var(--paper-dim); }

/* =========================================================================
   9. STRIP / TRUST
   ========================================================================= */
.trust{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; }
.trust__item{ display:flex; gap:.9rem; align-items:flex-start; padding:1.2rem; background:var(--ink-3); border:1px solid var(--line); border-radius:var(--radius-lg); }
.trust__item svg{ width:30px; height:30px; color:var(--gold); flex-shrink:0; }
.trust__item h4{ font-size:1rem; margin:0 0 .2rem; color:var(--paper); }
.trust__item p{ margin:0; font-size:.85rem; color:var(--paper-dim); }

/* =========================================================================
   10. STORY / BANNER
   ========================================================================= */
.story{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; }
.story__media{ border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line-2); aspect-ratio:4/3; }
.story__media img{ width:100%; height:100%; object-fit:cover; }
.story h2{ font-size:clamp(1.8rem,4vw,2.6rem); }
.story .gold{ color:var(--gold); }

/* =========================================================================
   11. FOOTER
   ========================================================================= */
.site-footer{ background:var(--ink-2); border-top:1px solid var(--line); margin-top:3rem; padding-top:3rem; }
.footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:2rem; padding-bottom:2.5rem; }
.site-footer h4{ font-size:.95rem; letter-spacing:.12em; color:var(--gold); margin-bottom:1rem; }
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li{ margin-bottom:.5rem; }
.site-footer a{ color:var(--paper-dim); font-size:.92rem; }
.site-footer a:hover{ color:var(--gold-2); }
.footer-about p{ color:var(--paper-dim); font-size:.92rem; max-width:34ch; }
.footer-legal{ border-top:1px solid var(--line); padding:1.2rem 0; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.8rem; color:var(--paper-dim); }
.age-note{ display:inline-flex; align-items:center; gap:.5em; color:var(--ember-2); font-weight:600; font-family:var(--font-display); letter-spacing:.05em; text-transform:uppercase; font-size:.78rem; }
.age-note .ring{ width:26px;height:26px;border:2px solid var(--ember-2);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem; }

/* =========================================================================
   12. AGE GATE
   ========================================================================= */
.agegate{ position:fixed; inset:0; z-index:200; background:rgba(10,7,4,.94); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.agegate[hidden]{ display:none; }
.agegate__card{ max-width:440px; text-align:center; background:var(--ink-2); border:1px solid var(--line-2); border-radius:var(--radius-lg); padding:2.4rem 2rem; box-shadow:var(--shadow); }
.agegate__mark{ width:64px; height:64px; margin:0 auto 1.2rem; }
.agegate h2{ font-size:2rem; }
.agegate p{ color:var(--paper-dim); }
.agegate__btns{ display:flex; gap:.8rem; margin-top:1.6rem; }
.agegate__btns .btn{ flex:1; }
.agegate__deny{ background:transparent; border:1px solid var(--line-2); color:var(--paper-dim)!important; box-shadow:none; }

/* =========================================================================
   13. WOOCOMMERCE PAGES (single, cart, checkout) — restyle only
   ========================================================================= */
.page-shell{ padding:clamp(2rem,5vw,3.5rem) 0 4rem; }
.breadcrumbs, .woocommerce-breadcrumb{ font-size:.8rem; color:var(--paper-dim); text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-display); margin-bottom:1.5rem; }
.woocommerce-breadcrumb a{ color:var(--gold-2); }

.page-title{ font-size:clamp(2rem,5vw,3.2rem); margin-bottom:.4rem; }

/* single product */
.single-product div.product{ display:grid; grid-template-columns:1fr 1fr; gap:2.6rem; }
.single-product div.product .woocommerce-product-gallery{ float:none; width:auto; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:var(--ink-3); }
.single-product .product_title{ font-size:clamp(2rem,4.5vw,3rem); margin:.2rem 0 .6rem; }
.single-product .woocommerce-product-details__short-description{ color:var(--paper-dim); }
.single-product .price{ font-family:var(--font-display); color:var(--gold-2); font-size:2rem!important; margin:.4rem 0 1rem; }
.single-product .price del{ color:var(--paper-dim); font-size:1.2rem; }
.single-product .price ins{ text-decoration:none; }
.single-product .quantity input.qty{ width:70px; background:var(--ink); border:1px solid var(--line-2); color:var(--paper); padding:.7em; border-radius:var(--radius); font-family:var(--font-display); }
.single-product form.cart{ display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; margin:1.4rem 0; }
.single-product .product_meta{ font-size:.85rem; color:var(--paper-dim); border-top:1px solid var(--line); padding-top:1rem; margin-top:1rem; }
.single-product .product_meta a{ color:var(--gold-2); }
.woocommerce-tabs{ grid-column:1/-1; margin-top:2rem; }
.woocommerce-tabs ul.tabs{ list-style:none; display:flex; gap:.5rem; padding:0; margin:0 0 1rem; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.woocommerce-tabs ul.tabs li{ }
.woocommerce-tabs ul.tabs a{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:.06em; font-size:.9rem; padding:.6em 1em; display:block; color:var(--paper-dim); border-bottom:2px solid transparent; }
.woocommerce-tabs ul.tabs li.active a{ color:var(--gold); border-color:var(--gold); }
.stock.in-stock{ color:var(--ok); font-family:var(--font-display); text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; }
.stock.out-of-stock{ color:var(--ember-2); }
.related.products{ grid-column:1/-1; margin-top:3rem; border-top:1px solid var(--line); padding-top:2rem; }
.related.products > h2{ font-size:1.8rem; margin-bottom:1.4rem; }

/* forms, inputs (cart/checkout) */
.woocommerce form .form-row,
.woocommerce-cart table.cart,
.woocommerce-checkout{ color:var(--paper); }
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.select2-container .select2-selection{
  background:var(--ink)!important; border:1px solid var(--line-2)!important; color:var(--paper)!important;
  border-radius:var(--radius)!important; padding:.75em .9em!important; font-family:var(--font-body); min-height:auto;
}
.woocommerce .select2-container .select2-selection__rendered{ color:var(--paper)!important; line-height:1.6; }
.woocommerce label{ color:var(--paper-dim); font-size:.85rem; }
.woocommerce table.shop_table{ border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--ink-3); border-collapse:separate; overflow:hidden; }
.woocommerce table.shop_table th{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:.06em; color:var(--gold); background:var(--ink-2); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th{ border-top:1px solid var(--line); padding:1rem; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3{ color:var(--gold); }
.woocommerce .order-total .amount, .woocommerce .cart-subtotal .amount{ color:var(--gold-2); font-family:var(--font-display); }
.cart-collaterals .cart_totals, #order_review{ background:var(--ink-3); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.4rem; }
.woocommerce-info, .woocommerce-message, .woocommerce-error{ background:var(--ink-3); border-top:3px solid var(--gold); color:var(--paper); border-radius:var(--radius); list-style:none; padding:1em 1.4em; }
.woocommerce-error{ border-top-color:var(--ember-2); }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--gold); }
#payment{ background:var(--ink-2)!important; border-radius:var(--radius-lg); border:1px solid var(--line); }
#payment ul.payment_methods{ border-bottom:1px solid var(--line)!important; }
#payment div.payment_box{ background:var(--ink-4)!important; color:var(--paper-dim); }
#payment div.payment_box::before{ border-bottom-color:var(--ink-4)!important; }

/* =========================================================================
   14. THANK YOU (custom template)
   ========================================================================= */
.ty{ max-width:760px; margin-inline:auto; text-align:center; padding:clamp(2rem,6vw,4rem) 0; }
.ty__mark{ width:88px; height:88px; margin:0 auto 1.4rem; }
.ty h1{ font-size:clamp(2.2rem,6vw,3.4rem); }
.ty__lead{ color:var(--paper-dim); font-size:1.1rem; max-width:52ch; margin-inline:auto 0; margin-inline:auto; }
.ty__order{ text-align:left; background:var(--ink-3); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.6rem; margin:2rem 0; }
.ty__meta{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1rem; margin-bottom:1.4rem; }
.ty__meta b{ display:block; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.06em; font-size:.72rem; color:var(--gold); margin-bottom:.2rem; }
.ty__meta span{ color:var(--paper); }
.ty__items{ width:100%; border-collapse:collapse; }
.ty__items td{ padding:.6rem 0; border-top:1px solid var(--line); }
.ty__items tr:last-child td{ font-family:var(--font-display); color:var(--gold-2); font-size:1.1rem; }
.ty__cod{ display:flex; gap:.8rem; align-items:center; background:rgba(212,162,74,.08); border:1px dashed var(--line-2); border-radius:var(--radius); padding:1rem 1.2rem; color:var(--paper); }

/* =========================================================================
   15. UTILITY / MISC
   ========================================================================= */
.pagination, .woocommerce-pagination ul{ display:flex; gap:.4rem; list-style:none; padding:0; margin:2rem 0 0; justify-content:center; }
.woocommerce-pagination a, .woocommerce-pagination span{ border:1px solid var(--line-2); padding:.5em .9em; border-radius:var(--radius); color:var(--paper); }
.woocommerce-pagination .current{ background:var(--gold); color:#231607; border-color:var(--gold); }
.woocommerce-result-count, .woocommerce-ordering{ color:var(--paper-dim); font-size:.85rem; }
.woocommerce .woocommerce-ordering select{ display:inline-block; width:auto; }
mark{ background:var(--gold); color:#231607; padding:0 .2em; }

/* toolbar spacing for logged-in admin */
body.admin-bar .site-header{ top:32px; }

/* =========================================================================
   16. RESPONSIVE
   ========================================================================= */
@media (max-width:960px){
  .hero__grid{ grid-template-columns:1fr; gap:2rem; }
  .hero__art{ order:-1; max-width:340px; margin-inline:auto; }
  .story{ grid-template-columns:1fr; }
  .single-product div.product{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .main-nav{ position:fixed; inset:0 0 0 auto; width:min(80vw,320px); background:var(--ink-2); border-left:1px solid var(--line-2); transform:translateX(100%); transition:transform .25s ease; padding:5rem 1.2rem; margin:0; z-index:70; }
  .main-nav.open{ transform:translateX(0); }
  .main-nav ul{ flex-direction:column; gap:.2rem; }
  .main-nav a{ font-size:1.1rem; padding:.7em .4em; border-bottom:1px solid var(--line); }
  .nav-toggle{ display:inline-flex; margin-left:auto; }
  .header-actions{ margin-left:0; }
  .cart-link span.lbl{ display:none; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero__stats{ flex-wrap:wrap; gap:1.2rem; }
}
body.nav-open{ overflow:hidden; }
.nav-scrim{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:65; opacity:0; visibility:hidden; transition:opacity .25s; }
.nav-scrim.show{ opacity:1; visibility:visible; }
