/*
Theme Name: Orvena Store
Theme URI: https://example.com
Author: Your Store
Author URI: https://example.com
Description: An elegant, editorial WooCommerce store theme with a warm cream & gold aesthetic. Built to be beginner-friendly — add your logo, menus and products from the WordPress dashboard.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: orvena-store
Tags: e-commerce, custom-menu, featured-images, translation-ready, woocommerce

This theme, like WordPress, is licensed under the GPL.
Use it to make something great.
*/

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */
:root{
  --ink:#1F1F1F;
  --ink-soft:#2A2A2A;
  --ink-muted:#6B6B6B;
  --ink-subtle:#9A9A9A;

  --accent:#C8A96A;
  --accent-soft:#D4B984;
  --accent-deep:#B8964F;
  --accent-light:#E8D9B5;

  --cream:#F5F5F5;
  --line:#EAEAEA;
  --white:#FFFFFF;

  --font-display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  --radius-sm:0.75rem;
  --radius-md:1rem;
  --radius-lg:1.25rem;
  --radius-xl:1.75rem;
  --radius-full:9999px;

  --shadow-soft:0 1px 2px rgba(31,31,31,.04), 0 8px 24px -8px rgba(31,31,31,.08);
  --shadow-card:0 1px 3px rgba(31,31,31,.05), 0 12px 32px -12px rgba(31,31,31,.10);
  --shadow-lift:0 4px 12px rgba(31,31,31,.06), 0 24px 48px -16px rgba(31,31,31,.14);

  --container:1200px;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* =========================================================
   2. RESET & BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button,input,select,textarea{font-family:inherit;font-size:inherit;}
button{cursor:pointer;}
::selection{background:rgba(200,169,106,.25);color:var(--ink);}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.2;
  margin:0 0 .5em;
  color:var(--ink);
}
p{margin:0 0 1em;color:var(--ink-muted);}
.entry-content p{color:var(--ink-muted);}

:focus-visible{outline:2px solid rgba(200,169,106,.6);outline-offset:2px;}

/* =========================================================
   3. LAYOUT HELPERS
   ========================================================= */
.container-content{
  max-width:var(--container);
  margin:0 auto;
  padding:0 20px;
}
@media(min-width:640px){.container-content{padding:0 32px;}}
@media(min-width:1024px){.container-content{padding:0 48px;}}

.site-main{min-height:40vh;}
.eyebrow{
  display:inline-block;
  font-size:.6875rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--accent-deep);
}

/* =========================================================
   4. BUTTONS
   ========================================================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:var(--radius-full);
  padding:14px 28px;
  font-size:.875rem;
  font-weight:500;
  border:1px solid transparent;
  transition:all .3s var(--ease);
  white-space:nowrap;
}
.btn-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce #payment #place_order{
  background:var(--ink);
  color:var(--white) !important;
  border-radius:var(--radius-full);
  border:1px solid var(--ink);
  padding:14px 28px;
  font-weight:500;
  font-size:.875rem;
  transition:all .3s var(--ease);
}
.btn-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover{
  background:var(--ink-soft);
  border-color:var(--ink-soft);
  box-shadow:var(--shadow-lift);
  color:var(--white) !important;
}
.btn-accent,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{
  background:var(--accent) !important;
  border:1px solid var(--accent) !important;
  color:var(--white) !important;
}
.btn-accent:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:var(--accent-deep) !important;
  border-color:var(--accent-deep) !important;
}
.btn-secondary{
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
}
.btn-secondary:hover{border-color:rgba(31,31,31,.3);background:var(--cream);}
.btn:active,.woocommerce a.button:active{transform:scale(.98);}

/* =========================================================
   5. CARDS
   ========================================================= */
.card{
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:var(--shadow-soft);
  transition:all .3s var(--ease);
}
.card-hover:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lift);
  border-color:rgba(200,169,106,.3);
}
.link-underline{position:relative;}
.link-underline::after{
  content:'';position:absolute;left:0;bottom:-2px;height:1px;width:0;
  background:currentColor;transition:width .3s var(--ease);
}
.link-underline:hover::after{width:100%;}

/* =========================================================
   6. HEADER
   ========================================================= */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:999;
  background:rgba(255,255,255,0);
  border-bottom:1px solid transparent;
  transition:all .3s var(--ease);
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--line);
  box-shadow:var(--shadow-soft);
}
.site-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
@media(min-width:1024px){.site-header-inner{height:80px;}}

.site-branding{display:flex;align-items:center;gap:10px;}
.site-logo-mark{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:var(--ink);color:var(--white);
  font-family:var(--font-display);font-weight:600;font-size:1.05rem;
  flex-shrink:0;transition:transform .3s var(--ease);
}
.site-branding:hover .site-logo-mark{transform:scale(1.06);}
.site-branding img.custom-logo{max-height:40px;width:auto;}
.site-title{
  font-family:var(--font-display);font-weight:600;font-size:1.05rem;
  color:var(--ink);letter-spacing:-.01em;
}
.site-title .accent{color:var(--accent-deep);}

.main-navigation{display:none;}
@media(min-width:1024px){.main-navigation{display:flex;align-items:center;gap:2px;}}
.main-navigation ul{display:flex;align-items:center;gap:2px;}
.main-navigation li{position:relative;}
.main-navigation a{
  display:block;padding:10px 16px;border-radius:var(--radius-full);
  font-size:.875rem;font-weight:500;color:var(--ink-muted);
  transition:color .2s,background .2s;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a{color:var(--ink);background:transparent;}

/* dropdown */
.main-navigation ul ul{
  display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  margin-top:8px;min-width:220px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lift);padding:10px;flex-direction:column;
}
.main-navigation li:hover > ul,.main-navigation li:focus-within > ul{display:flex;}
.main-navigation ul ul a{padding:10px 12px;border-radius:.75rem;color:var(--ink-muted);}
.main-navigation ul ul a:hover{background:var(--cream);color:var(--ink);}

.header-actions{display:flex;align-items:center;gap:8px;}
.header-shop-btn{
  display:none;align-items:center;gap:8px;
  background:var(--ink);color:var(--white);
  border-radius:var(--radius-full);padding:11px 20px;
  font-size:.875rem;font-weight:500;transition:all .2s;
}
@media(min-width:640px){.header-shop-btn{display:inline-flex;}}
.header-shop-btn:hover{background:var(--ink-soft);box-shadow:var(--shadow-lift);}

.header-cart-link{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;color:var(--ink);transition:background .2s;
}
.header-cart-link:hover{background:var(--cream);}
.header-cart-count{
  position:absolute;top:0;right:0;min-width:16px;height:16px;
  background:var(--accent-deep);color:#fff;border-radius:50%;
  font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center;
  padding:0 3px;
}

.menu-toggle{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border:0;background:transparent;border-radius:50%;color:var(--ink);
}
.menu-toggle:hover{background:var(--cream);}
@media(min-width:1024px){.menu-toggle{display:none;}}

/* mobile drawer */
.mobile-drawer{
  position:fixed;inset:0;z-index:1000;visibility:hidden;
}
.mobile-drawer.is-open{visibility:visible;}
.mobile-drawer-overlay{
  position:absolute;inset:0;background:rgba(31,31,31,.35);backdrop-filter:blur(2px);
  opacity:0;transition:opacity .3s var(--ease);
}
.mobile-drawer.is-open .mobile-drawer-overlay{opacity:1;}
.mobile-drawer-panel{
  position:absolute;right:0;top:0;height:100%;width:85%;max-width:340px;
  background:var(--white);box-shadow:var(--shadow-lift);
  padding:24px;overflow-y:auto;
  transform:translateX(100%);transition:transform .35s var(--ease);
}
.mobile-drawer.is-open .mobile-drawer-panel{transform:translateX(0);}
.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.mobile-drawer-close{width:36px;height:36px;border:0;background:transparent;border-radius:50%;}
.mobile-drawer-close:hover{background:var(--cream);}
.mobile-drawer nav ul{display:flex;flex-direction:column;gap:2px;}
.mobile-drawer nav a{display:block;padding:12px 14px;border-radius:.75rem;font-weight:500;color:var(--ink-muted);}
.mobile-drawer nav a:hover{background:var(--cream);color:var(--ink);}
.mobile-drawer nav ul ul{padding-left:12px;}

body.drawer-open{overflow:hidden;}

/* =========================================================
   7. HERO
   ========================================================= */
.hero{
  position:relative;overflow:hidden;background:var(--white);
  padding:130px 0 60px;
}
@media(min-width:1024px){.hero{padding:170px 0 80px;}}
.hero-grid{display:grid;gap:48px;align-items:center;}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;gap:64px;}}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line);background:var(--cream);
  border-radius:var(--radius-full);padding:6px 16px;
}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
.hero-badge span{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-muted);}
.hero h1{
  margin-top:20px;font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;
}
@media(min-width:640px){.hero h1{font-size:2.5rem;}}
@media(min-width:1024px){.hero h1{font-size:3.2rem;}}
.hero-lead{margin-top:20px;max-width:36em;font-size:1rem;line-height:1.7;color:var(--ink-muted);}
.hero-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;}
.hero-social-proof{margin-top:36px;display:flex;align-items:center;gap:16px;}
.hero-avatars{display:flex;}
.hero-avatars img{
  width:36px;height:36px;border-radius:50%;object-fit:cover;
  border:2px solid var(--white);margin-left:-10px;
}
.hero-avatars img:first-child{margin-left:0;}
.hero-rating{display:flex;align-items:center;gap:4px;}
.hero-rating strong{font-size:.875rem;margin-left:4px;}
.hero-social-proof small{display:block;font-size:.75rem;color:var(--ink-muted);}

.hero-media{position:relative;}
.hero-media-frame{
  position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-xl);
  background:var(--cream);box-shadow:var(--shadow-lift);
}
.hero-media-frame img{width:100%;height:100%;object-fit:cover;}
.hero-float-card{
  position:absolute;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);padding:14px 16px;display:none;
}
@media(min-width:640px){.hero-float-card{display:block;}}
.hero-float-card.bottom-left{bottom:-18px;left:-18px;}
.hero-float-card.top-right{top:-14px;right:-14px;padding:10px 16px;}
.hero-float-card-row{display:flex;align-items:center;gap:12px;}
.hero-float-icon{
  width:38px;height:38px;border-radius:50%;background:rgba(200,169,106,.15);
  color:var(--accent-deep);display:flex;align-items:center;justify-content:center;
}
.hero-float-card p{margin:0;}
.hero-float-title{font-size:.8125rem;font-weight:600;color:var(--ink);}
.hero-float-sub{font-size:.6875rem;color:var(--ink-muted);}

/* =========================================================
   8. GENERIC SECTIONS
   ========================================================= */
.section{padding:70px 0;}
@media(min-width:1024px){.section{padding:100px 0;}}
.section.bg-cream{background:var(--cream);}
.section.bg-ink{background:var(--ink);color:#fff;}
.section-head{
  display:flex;flex-direction:column;gap:16px;justify-content:space-between;margin-bottom:40px;
}
@media(min-width:640px){.section-head{flex-direction:row;align-items:flex-end;}}
.section-head h2{font-size:1.9rem;margin-top:10px;}
@media(min-width:640px){.section-head h2{font-size:2.2rem;}}
.section-head p{margin-top:12px;max-width:34em;}
.section.bg-ink .section-head{justify-content:center;text-align:center;flex-direction:column;align-items:center;}
.section.bg-ink .eyebrow{color:var(--accent);}
.section.bg-ink p{color:rgba(255,255,255,.7);}

/* category grid */
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:640px){.category-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1024px){.category-grid{grid-template-columns:repeat(4,1fr);}}
.category-card{
  display:flex;align-items:center;gap:14px;padding:20px;
}
.category-icon{
  flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);
  background:var(--cream);display:flex;align-items:center;justify-content:center;
  transition:all .3s var(--ease);
}
.category-card:hover .category-icon{background:rgba(200,169,106,.15);color:var(--accent-deep);}
.category-card h3{font-size:1rem;font-weight:500;margin:0;}
.category-card p{font-size:.75rem;margin:2px 0 0;}

/* product / bundle grid reused by woocommerce */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:640px){.product-grid{gap:24px;}}
@media(min-width:1024px){.product-grid{grid-template-columns:repeat(4,1fr);}}

/* feature grid ("why choose") */
.feature-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:56px;}
@media(min-width:640px){.feature-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.feature-grid{grid-template-columns:repeat(3,1fr);}}
.feature-card{
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);
  border-radius:var(--radius-lg);padding:28px;transition:background .2s;
}
.feature-card:hover{background:rgba(255,255,255,.08);}
.feature-icon{
  width:44px;height:44px;border-radius:.75rem;background:rgba(200,169,106,.15);
  color:var(--accent);display:flex;align-items:center;justify-content:center;
}
.feature-card h3{color:#fff;font-size:1.1rem;margin-top:16px;}
.feature-card p{color:rgba(255,255,255,.7);font-size:.9rem;margin-top:8px;}

/* testimonials */
.testimonial-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px;}
@media(min-width:640px){.testimonial-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.testimonial-grid{grid-template-columns:repeat(3,1fr);}}
.testimonial-card{padding:24px;}
.testimonial-card h3{font-size:1rem;margin-top:12px;}
.testimonial-card p{font-size:.9rem;}
.testimonial-foot{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;}
.testimonial-avatar{
  width:36px;height:36px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:600;color:var(--ink);
}
.testimonial-name{font-size:.875rem;font-weight:500;color:var(--ink);}
.testimonial-role{font-size:.75rem;color:var(--ink-muted);}
.stars{display:flex;gap:2px;color:var(--line);}
.stars .filled{color:var(--accent);}

/* CTA */
.cta-box{
  position:relative;overflow:hidden;background:var(--cream);
  border-radius:var(--radius-xl);padding:56px 24px;text-align:center;
}
@media(min-width:1024px){.cta-box{padding:88px 64px;}}
.cta-box h2{margin-top:12px;font-size:1.9rem;max-width:32em;margin-left:auto;margin-right:auto;}
@media(min-width:640px){.cta-box h2{font-size:2.2rem;}}
.cta-box p{max-width:28em;margin:16px auto 0;}
.cta-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.cta-badges{margin-top:28px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}
.cta-badges span{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-muted);}
.cta-badges svg{color:var(--accent-deep);}

/* =========================================================
   9. FOOTER
   ========================================================= */
.site-footer{margin-top:80px;border-top:1px solid var(--line);background:var(--cream);}
.footer-newsletter{border-bottom:1px solid var(--line);}
.footer-newsletter-inner{padding:48px 0;display:grid;gap:32px;align-items:center;}
@media(min-width:1024px){.footer-newsletter-inner{grid-template-columns:1fr 1fr;}}
.footer-newsletter h3{font-size:1.5rem;margin-top:10px;}
@media(min-width:640px){.footer-newsletter h3{font-size:1.75rem;}}
.footer-newsletter p{max-width:30em;margin-top:10px;}
.newsletter-form{display:flex;flex-direction:column;gap:10px;max-width:420px;}
@media(min-width:640px){.newsletter-form{flex-direction:row;}}
@media(min-width:1024px){.newsletter-form{margin-left:auto;}}
.newsletter-form input[type=email]{
  flex:1;border:1px solid var(--line);border-radius:.9rem;padding:13px 16px 13px 42px;
  background:var(--white);position:relative;width:100%;
}
.newsletter-field{position:relative;flex:1;}
.newsletter-field svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-subtle);}
.newsletter-msg{margin-top:14px;font-size:.875rem;color:var(--accent-deep);}

.footer-columns{padding:56px 0;display:grid;gap:40px;grid-template-columns:1fr;}
@media(min-width:640px){.footer-columns{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.footer-columns{grid-template-columns:2fr 1fr 1fr 1fr;}}
.footer-brand p{max-width:26em;margin-top:16px;font-size:.9rem;}
.footer-socials{display:flex;gap:10px;margin-top:20px;}
.footer-socials a{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  background:var(--white);display:flex;align-items:center;justify-content:center;
  color:var(--ink-muted);transition:all .2s;
}
.footer-socials a:hover{border-color:var(--accent);color:var(--accent-deep);}
.footer-col-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--ink);}
.footer-col ul{margin-top:16px;display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:.875rem;color:var(--ink-muted);}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{
  border-top:1px solid var(--line);padding:28px 0;
  display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:space-between;text-align:center;
}
@media(min-width:640px){.footer-bottom{flex-direction:row;text-align:left;}}
.footer-bottom p{margin:0;font-size:.75rem;color:var(--ink-subtle);}

/* =========================================================
   10. WOOCOMMERCE
   ========================================================= */
.woocommerce-page .site-main,
.woocommerce .site-main{padding-top:120px;padding-bottom:80px;}

/* badges/eyebrow above product title */
.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(2,1fr);gap:16px;margin:0 !important;padding:0 !important;}
@media(min-width:640px){.woocommerce ul.products{gap:24px;}}
@media(min-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr) !important;}}
.woocommerce ul.products li.product{
  width:100% !important;margin:0 !important;float:none !important;
  border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;
  box-shadow:var(--shadow-soft);transition:all .3s var(--ease);overflow:hidden;padding:0 !important;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:rgba(200,169,106,.3);}
.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0;margin:0;transition:transform .5s var(--ease);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.03);}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-weight:500;font-size:1rem;color:var(--ink);
  padding:6px 16px 0;margin:0;line-height:1.4;
}
.woocommerce ul.products li.product .price{
  padding:6px 16px 16px;font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.1rem;
}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--ink);}
.woocommerce ul.products li.product .price del{color:var(--ink-subtle);opacity:1;font-size:.85rem;margin-right:6px;}
.woocommerce ul.products li.product .star-rating{margin:8px 16px 0;color:var(--accent);font-size:.85rem;}
.woocommerce span.onsale{
  position:absolute;top:12px;left:12px;min-height:0;min-width:0;
  background:var(--accent) !important;color:#fff;border-radius:var(--radius-full);
  padding:5px 12px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1;
}
.woocommerce ul.products li.product{position:relative;}
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button{
  margin:0 16px 16px;align-self:flex-start;
}

/* single product */
.woocommerce div.product .product_title{font-size:2rem;margin-bottom:8px;}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.6rem;
}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:20px;}
.woocommerce div.product .star-rating{color:var(--accent);}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border-radius:50%;}
.woocommerce div.product form.cart .quantity input.qty{
  border:1px solid var(--line);border-radius:.9rem;padding:12px;height:auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:var(--radius-full) !important;background:transparent !important;border:1px solid var(--line) !important;margin-right:8px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink) !important;border-color:var(--ink) !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 20px !important;font-weight:500;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line) !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none !important;}

/* cart / checkout */
.woocommerce table.shop_table{border-radius:var(--radius-lg);border:1px solid var(--line);overflow:hidden;border-collapse:separate;}
.woocommerce table.shop_table th{background:var(--cream);font-family:var(--font-display);}
.woocommerce-cart table.cart img{border-radius:.75rem;}
.woocommerce #payment,
.woocommerce-checkout-review-order{background:var(--cream);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--line);}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select{
  border:1px solid var(--line);border-radius:.9rem;padding:12px 14px;background:#fff;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(200,169,106,.2);}
.select2-container--default .select2-selection--single{border-radius:.9rem !important;border-color:var(--line) !important;height:46px !important;padding:8px 4px;}

/* messages */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
p.no-comments{
  border-top-color:var(--accent) !important;border-radius:.9rem;background:var(--cream);
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent-deep) !important;}

/* breadcrumb */
.woocommerce-breadcrumb{color:var(--ink-subtle);font-size:.8125rem;margin-bottom:24px;}
.woocommerce-breadcrumb a{color:var(--ink-muted);}
.woocommerce-breadcrumb a:hover{color:var(--ink);}

/* result count / ordering */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select{font-size:.875rem;color:var(--ink-muted);}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line);border-radius:.75rem;padding:8px 12px;}

/* pagination */
.woocommerce nav.woocommerce-pagination ul{border:0;}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 4px;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:50% !important;width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line) !important;color:var(--ink-muted);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important;
}

/* =========================================================
   11. GENERIC PAGE / BLOG / 404
   ========================================================= */
.page-header-band{padding:150px 0 50px;text-align:center;background:var(--cream);border-bottom:1px solid var(--line);}
.page-header-band h1{font-size:2.2rem;margin:0;}
.content-wrap{padding:70px 0;}
.entry-content h2{font-size:1.6rem;margin-top:1.6em;}
.entry-content h3{font-size:1.25rem;margin-top:1.4em;}
.entry-content ul{list-style:disc;padding-left:1.4em;margin-bottom:1em;}
.entry-content ul li{color:var(--ink-muted);margin-bottom:.4em;}
.entry-content a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;}
.entry-content img{border-radius:var(--radius-lg);}

.blog-grid{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr);}}
.blog-card{overflow:hidden;}
.blog-card img{aspect-ratio:16/10;object-fit:cover;}
.blog-card .inner{padding:20px;}
.blog-card time{font-size:.75rem;color:var(--ink-subtle);text-transform:uppercase;letter-spacing:.1em;}
.blog-card h2{font-size:1.15rem;margin-top:8px;}
.blog-card h2 a:hover{color:var(--accent-deep);}

.error-404{padding:170px 0 100px;text-align:center;}
.error-404 h1{font-size:6rem;color:var(--accent);margin:0;}
.error-404 p{max-width:30em;margin:16px auto 30px;}

.comment-form input,.comment-form textarea{
  width:100%;border:1px solid var(--line);border-radius:.9rem;padding:12px 14px;margin-top:6px;
}
.comment-form p{margin-bottom:16px;}
.comment-form label{font-size:.875rem;font-weight:500;}

.widget{margin-bottom:32px;}
.widget-title{font-size:1rem;font-family:var(--font-display);margin-bottom:14px;}

/* skip link */
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;z-index:9999;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* utility */
.screen-reader-text{position:absolute !important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px;}
.text-center{text-align:center;}
