/* STOREFRONT RESET — hide all parent theme chrome */
.site-header, #masthead, .storefront-primary-navigation,
.storefront-secondary-navigation, .storefront-site-branding,
.woocommerce-breadcrumb, .site-footer, .storefront-handheld-footer-bar,
.storefront-sticky-add-to-cart, #secondary, .widget-area,
.page-template-template-homepage .site-main > .storefront-product-section,
.storefront-product-section, .site-info, .footer-widgets,
header.woocommerce-products-header { display:none !important; }
.site { margin-top:0 !important; padding-top:0 !important; }
.site-content, .hentry, .site-main { padding:0 !important; margin:0 !important; max-width:100% !important; }
body.page-template-front-page .content-area,
body.home .content-area { max-width:100%; padding:0; margin:0; }

/* =============================================
   DRESS YOUR WRIST — Main Stylesheet
   ============================================= */

:root {
  --black:#0a0a0a; --dark:#111010; --dark2:#1a1917;
  --gold:#C8782A; --gold2:#e09040;
  --cream:#f5f0e8; --cream2:#ece6d9;
  --white:#ffffff; --text-dark:#1a1714; --text-muted:#8a7f72;
  --border-dark:rgba(200,120,42,0.2);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--black); color:var(--white); -webkit-font-smoothing:antialiased; overflow-x:hidden; cursor:none; }

/* CURSOR */
.dyw-cursor { position:fixed; width:10px; height:10px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .2s,height .2s; }
.dyw-cursor-ring { position:fixed; width:36px; height:36px; border:1px solid rgba(200,120,42,0.5); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); }

/* NAV */
.dyw-nav { position:fixed; top:0; left:0; right:0; z-index:500; padding:0 3rem; background:linear-gradient(to bottom,rgba(10,10,10,0.95),transparent); transition:background .3s; }
.dyw-nav.scrolled { background:rgba(10,10,10,0.97); border-bottom:1px solid var(--border-dark); }
.nav-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:100px; }
.nav-logo { text-decoration:none; display:flex; align-items:center; }
.nav-logo img, .nav-logo .custom-logo { height:100px !important; width:auto !important; max-width:300px; }
.nav-logo-name { font-family:var(--serif); font-size:1.15rem; letter-spacing:.2em; color:var(--white); text-transform:uppercase; }
.nav-links { display:flex; gap:2.5rem; }
.nav-links a { font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,0.7); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:var(--gold); }
.nav-right { display:flex; align-items:center; gap:1.5rem; }
.nav-icon { color:rgba(255,255,255,0.7); cursor:pointer; text-decoration:none; transition:color .2s; position:relative; }
.nav-icon:hover { color:var(--gold); }
.cart-count { position:absolute; top:-8px; right:-8px; background:var(--gold); color:var(--black); border-radius:50%; width:16px; height:16px; font-size:.6rem; display:flex; align-items:center; justify-content:center; font-weight:700; }
.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:5px; }
.nav-toggle span { display:block; width:22px; height:1px; background:rgba(255,255,255,0.7); transition:all .3s; }
.nav-mobile { display:none; padding:1rem 3rem 1.5rem; background:rgba(10,10,10,0.98); }
.nav-mobile a { display:block; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,0.7); text-decoration:none; padding:.6rem 0; border-bottom:1px solid rgba(255,255,255,0.06); }

/* HERO */
.hero { height:100vh; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-bg { position:absolute; top:0; left:0; width:100%; height:100%; background-color:var(--black); background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; z-index:0; }
.hero-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.45); z-index:1; }
.hero-ring { position:absolute; top:50%; left:50%; width:600px; height:600px; border:1px solid rgba(200,120,42,0.08); border-radius:50%; transform:translate(-50%,-50%); z-index:2; }
.hero-ring2 { position:absolute; top:50%; left:50%; width:900px; height:900px; border:1px solid rgba(200,120,42,0.04); border-radius:50%; transform:translate(-50%,-50%); z-index:2; }
.hero-emblem { position:absolute; top:50%; left:50%; transform:translate(-50%,-54%); z-index:2; pointer-events:none; width:70vw; max-width:800px; min-height:400px; background:url('../images/emblem.png') center/contain no-repeat; opacity:.08; filter:invert(1); mix-blend-mode:multiply; }
.hero-content { position:relative; z-index:3; text-align:center; max-width:800px; padding:0 2rem; }
.hero-dots { position:absolute; bottom:5rem; left:50%; transform:translateX(-50%); z-index:4; display:flex; gap:.75rem; }
.hero-dot { width:8px; height:8px; border:1px solid rgba(255,255,255,0.4); border-radius:50%; cursor:pointer; transition:all .3s; background:transparent; }
.hero-dot.active { background:var(--gold); border-color:var(--gold); width:24px; border-radius:4px; }
.hero-overline { font-size:.7rem; letter-spacing:.5em; text-transform:uppercase; color:var(--gold); margin-bottom:2rem; display:flex; align-items:center; justify-content:center; gap:1rem; }
.hero-overline::before, .hero-overline::after { content:''; width:40px; height:1px; background:rgba(200,120,42,0.6); }
.hero-title { font-family:var(--serif); font-size:clamp(3.5rem,8vw,7rem); font-weight:300; line-height:1.05; margin-bottom:1rem; }
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:.875rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:3rem; font-weight:300; }
.hero-actions { display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap; }
.hero-scroll { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.75rem; z-index:4; }
.scroll-line { width:1px; height:50px; background:linear-gradient(to bottom,var(--gold),transparent); animation:scrollAnim 2s infinite; }
@keyframes scrollAnim{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.scroll-text { font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,0.3); }

/* BUTTONS */
.btn-gold { font-size:.75rem; letter-spacing:.25em; text-transform:uppercase; font-weight:500; color:var(--black); background:var(--gold); border:none; padding:.9rem 2.5rem; cursor:pointer; text-decoration:none; display:inline-block; transition:background .2s,transform .2s; }
.btn-gold:hover { background:var(--gold2); transform:translateY(-2px); }
.btn-outline-gold { font-size:.75rem; letter-spacing:.25em; text-transform:uppercase; font-weight:500; color:var(--gold); background:none; border:1px solid var(--gold); padding:.9rem 2.5rem; cursor:pointer; text-decoration:none; display:inline-block; transition:background .2s; }
.btn-outline-gold:hover { background:rgba(200,120,42,0.1); }

/* MARQUEE */
.marquee-wrap { background:var(--gold); overflow:hidden; padding:.75rem 0; }
.marquee-track { display:flex; white-space:nowrap; animation:marquee 20s linear infinite; }
.marquee-item { font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; font-weight:600; color:var(--black); padding:0 2rem; }
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
section { padding:6rem 3rem; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-header { text-align:center; margin-bottom:4rem; }
.section-overline { font-size:.65rem; letter-spacing:.5em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:1rem; }
.section-title-dark { font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:300; color:var(--white); line-height:1.15; }
.section-title-light { font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:300; color:var(--text-dark); line-height:1.15; }
.section-title-dark em, .section-title-light em { font-style:italic; color:var(--gold); }

/* CATEGORIES */
.categories-section { background:var(--dark); }
.categories-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.cat-card { position:relative; overflow:hidden; aspect-ratio:3/4; cursor:pointer; }
.cat-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--dark2),#2a2018); transition:transform .6s ease; }
.cat-card:hover .cat-placeholder { transform:scale(1.05); }
.cat-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,10,0.9) 0%,rgba(10,10,10,0.2) 60%,transparent 100%); }
.cat-content { position:absolute; bottom:0; left:0; right:0; padding:2rem; z-index:2; }
.cat-tag { font-size:.6rem; letter-spacing:.35em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:.5rem; }
.cat-name { font-family:var(--serif); font-size:1.75rem; font-weight:300; color:var(--white); display:block; margin-bottom:1rem; line-height:1.2; }
.cat-link { font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,0.5); text-decoration:none; display:flex; align-items:center; gap:.5rem; transition:color .2s; }
.cat-card:hover .cat-link { color:var(--gold); }

/* PRODUCTS */
.products-section { background:var(--cream); }
.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:3rem; }
.product-card { background:var(--white); cursor:pointer; transition:transform .3s,box-shadow .3s; position:relative; overflow:hidden; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(0,0,0,.12); }
.product-img { aspect-ratio:1; overflow:hidden; position:relative; background:var(--cream2); }
.product-badge { position:absolute; top:.75rem; left:.75rem; font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; font-weight:600; padding:.3rem .7rem; }
.badge-new { background:var(--gold); color:var(--black); }
.badge-best { background:var(--text-dark); color:var(--white); }
.product-info { padding:1.25rem; }
.product-brand { font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; color:var(--text-muted); display:block; margin-bottom:.3rem; }
.product-name { font-family:var(--serif); font-size:1.1rem; color:var(--text-dark); margin-bottom:.6rem; line-height:1.3; }
.product-price { display:flex; align-items:center; gap:.75rem; }
.price-cur { font-family:var(--serif); font-size:1.15rem; color:var(--gold); font-weight:600; }
.product-add { position:absolute; bottom:0; left:0; right:0; background:var(--gold); color:var(--black); font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; font-weight:600; padding:.75rem; text-align:center; transform:translateY(100%); transition:transform .3s; cursor:pointer; border:none; font-family:var(--sans); text-decoration:none; display:block; }
.product-card:hover .product-add { transform:translateY(0); }
/* WooCommerce price override */
.product-card .price { font-family:var(--serif); font-size:1.15rem; color:var(--gold) !important; font-weight:600; }
.product-card .price ins { text-decoration:none; }
.product-card .price del { color:var(--text-muted) !important; font-size:.85rem; }

/* HANDCRAFTED */
.handcraft-section { position:relative; min-height:520px; display:flex; align-items:flex-end; overflow:hidden; padding:0; background:url('../images/handcraft-bg.webp') center/cover no-repeat; }
.handcraft-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,10,0.97) 0%,rgba(10,10,10,0.6) 45%,rgba(10,10,10,0.1) 100%); }
.handcraft-content { position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:4rem 3rem; width:100%; }
.handcraft-title { font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); font-weight:300; color:var(--white); line-height:1.2; margin-bottom:1.25rem; }
.handcraft-title em { font-style:italic; color:var(--gold); }
.handcraft-text { font-family:var(--sans); font-size:.95rem; color:rgba(255,255,255,0.6); line-height:1.85; margin-bottom:2rem; font-weight:300; max-width:650px; }
.handcraft-stats { display:flex; gap:2.5rem; flex-wrap:wrap; }
.stat-num { font-family:var(--serif); font-size:2rem; color:var(--gold); display:block; }
.stat-label { font-family:var(--sans); font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,0.4); }

/* VALUES */
.values-section { background:var(--dark); padding:5rem 3rem; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin-top:3rem; }
.value-item { text-align:center; padding:2rem 1.5rem; border:1px solid var(--border-dark); transition:border-color .3s,background .3s; }
.value-item:hover { border-color:var(--gold); background:rgba(200,120,42,0.05); }
.value-icon { font-size:1.5rem; color:var(--gold); display:block; margin-bottom:1rem; }
.value-title { font-family:var(--serif); font-size:1.1rem; color:var(--white); margin-bottom:.5rem; }
.value-desc { font-size:.8rem; color:rgba(255,255,255,0.4); line-height:1.7; font-weight:300; }

/* QUOTE */
.text-band { background:linear-gradient(rgba(0,0,0,0.75),rgba(0,0,0,0.75)),url('../images/quote-bg.jpg') center/cover no-repeat; padding:5rem 3rem; text-align:center; }
.text-band blockquote { font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.5rem); font-weight:300; font-style:italic; color:var(--white); line-height:1.5; max-width:800px; margin:0 auto 2rem; }
.text-band blockquote span { color:var(--gold); }
.text-band cite { font-size:.65rem; letter-spacing:.4em; text-transform:uppercase; color:rgba(255,255,255,0.3); }

/* NEWSLETTER */
.newsletter-section { background:var(--gold); padding:4rem 3rem; text-align:center; }
.newsletter-title { font-family:var(--serif); font-size:2.5rem; font-weight:300; color:var(--black); margin-bottom:.75rem; }
.newsletter-sub { font-size:.8rem; color:rgba(0,0,0,0.6); margin-bottom:2rem; }
.newsletter-form { display:flex; gap:.5rem; max-width:500px; margin:0 auto; }
.newsletter-input { flex:1; font-family:var(--sans); font-size:.8rem; padding:.85rem 1.25rem; background:rgba(0,0,0,0.12); border:1px solid rgba(0,0,0,0.2); color:var(--black); outline:none; }
.newsletter-input::placeholder { color:rgba(0,0,0,0.4); }
.newsletter-btn { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--white); background:var(--black); border:none; padding:.85rem 1.75rem; cursor:pointer; font-family:var(--sans); }

/* FOOTER */
.dyw-footer { background:var(--black); padding:4rem 3rem 2rem; border-top:1px solid var(--border-dark); }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid var(--border-dark); }
.footer-name { font-family:var(--serif); font-size:1.25rem; letter-spacing:.2em; text-transform:uppercase; color:var(--white); display:block; margin-bottom:.2rem; }
.footer-sub { font-size:.6rem; letter-spacing:.35em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:1rem; }
.footer-desc { font-size:.8rem; color:rgba(255,255,255,0.35); line-height:1.8; max-width:260px; font-weight:300; }
.footer-col h4 { font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-bottom:1.25rem; font-weight:500; }
.footer-col a { display:block; font-size:.8rem; color:rgba(255,255,255,0.5); text-decoration:none; margin-bottom:.6rem; transition:color .2s; font-weight:300; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:2rem; flex-wrap:wrap; gap:1rem; }
.footer-copy { font-size:.7rem; color:rgba(255,255,255,0.2); }
.footer-social { display:flex; gap:1.25rem; }
.footer-social a { font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,0.3); text-decoration:none; transition:color .2s; }
.footer-social a:hover { color:var(--gold); }

/* WOOCOMMERCE OVERRIDES */
.woocommerce-page body, .woocommerce body { background:var(--black) !important; color:var(--white) !important; }
.woocommerce .products .product a img { border:none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--serif); color:var(--text-dark); }
.woocommerce ul.products li.product .price { color:var(--gold) !important; }
.woocommerce a.button, .woocommerce button.button { background:var(--gold) !important; color:var(--black) !important; font-family:var(--sans); font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; border-radius:0; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background:var(--gold2) !important; }
.woocommerce #respond input#submit { background:var(--gold); color:var(--black); }

/* ABOUT */
.about-section { background:var(--dark); padding:6rem 3rem; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.about-title { font-family:var(--serif); font-size:clamp(2rem,3.5vw,2.8rem); font-weight:300; color:var(--white); line-height:1.2; }
.about-title em { font-style:italic; color:var(--gold); }
.about-right p { font-family:var(--sans); font-size:.9rem; color:rgba(255,255,255,0.55); line-height:1.9; margin-bottom:1.25rem; font-weight:300; }
.about-highlight { font-family:var(--serif); font-size:1.25rem; font-style:italic; color:var(--gold); margin-top:1.5rem !important; margin-bottom:2rem !important; }

/* =============================================
   WOOCOMMERCE — Shop, Product, Cart, Checkout
   ============================================= */

/* General page wrapper */
.woocommerce, .woocommerce-page { background:var(--black) !important; }
.woocommerce .content-area, .woocommerce-page .content-area { max-width:1200px; margin:0 auto; padding:120px 3rem 4rem; }
.site-main { background:var(--black); }
.dyw-main { background:var(--black); color:var(--white); }
.dyw-main h1 { font-family:var(--serif); font-size:2.5rem; font-weight:300; color:var(--white); margin-bottom:2rem; }
.dyw-main h2 { font-family:var(--serif); font-size:1.8rem; font-weight:300; color:var(--white); margin-bottom:1.5rem; }
.dyw-main p { font-family:var(--sans); font-size:.95rem; color:rgba(255,255,255,0.6); line-height:1.8; }
.dyw-main a { color:var(--gold); }

/* Page title */
.woocommerce-products-header__title, .page-title, .entry-title,
.woocommerce-loop-product__title { font-family:var(--serif) !important; color:var(--white) !important; }
header.woocommerce-products-header { display:block !important; padding:0 0 2rem; }
.woocommerce-products-header__title { font-size:2.5rem !important; font-weight:300 !important; }
.woocommerce-result-count { color:rgba(255,255,255,0.4) !important; font-size:.8rem; }
.woocommerce-ordering select { background:var(--dark2); color:var(--white); border:1px solid var(--border-dark); padding:.5rem 1rem; font-family:var(--sans); font-size:.8rem; }

/* ---- SHOP / ARCHIVE GRID ---- */
.woocommerce ul.products { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:1.5rem !important; margin:0 !important; padding:0 !important; list-style:none !important; }
.woocommerce ul.products li.product { margin:0 !important; padding:0 !important; width:100% !important; float:none !important; background:var(--dark2); border:1px solid var(--border-dark); transition:transform .3s, border-color .3s; overflow:hidden; }
.woocommerce ul.products li.product:hover { transform:translateY(-4px); border-color:var(--gold); }
.woocommerce ul.products li.product a { text-decoration:none !important; }
.woocommerce ul.products li.product a img { width:100% !important; height:auto; aspect-ratio:1; object-fit:cover; margin:0 !important; display:block; border:none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--serif) !important; font-size:1rem !important; font-weight:400; color:var(--white) !important; padding:.75rem 1rem .25rem !important; margin:0 !important; line-height:1.3; }
.woocommerce ul.products li.product .price { color:var(--gold) !important; font-family:var(--serif) !important; font-size:1rem !important; padding:0 1rem .75rem !important; display:block; }
.woocommerce ul.products li.product .price del { color:rgba(255,255,255,0.3) !important; font-size:.85rem; }
.woocommerce ul.products li.product .price ins { text-decoration:none; color:var(--gold) !important; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button { display:block !important; width:100%; text-align:center; background:var(--gold) !important; color:var(--black) !important; font-family:var(--sans) !important; font-size:.7rem !important; letter-spacing:.2em !important; text-transform:uppercase !important; font-weight:600 !important; padding:.75rem 1rem !important; border-radius:0 !important; border:none !important; margin:0 !important; transition:background .2s; }
.woocommerce ul.products li.product .button:hover { background:var(--gold2) !important; }
.woocommerce ul.products li.product .onsale { background:var(--gold) !important; color:var(--black) !important; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:0 !important; padding:.3rem .75rem; top:.75rem !important; left:.75rem !important; right:auto !important; min-height:auto !important; min-width:auto !important; line-height:1.5; }
.woocommerce .star-rating { color:var(--gold) !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { background:var(--dark2) !important; color:var(--white) !important; border-color:var(--border-dark) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--gold) !important; color:var(--black) !important; }

/* ---- SINGLE PRODUCT ---- */
.single-product .content-area { max-width:1200px; margin:0 auto; padding:120px 3rem 4rem; }
.single-product div.product { display:grid !important; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.single-product div.product .woocommerce-product-gallery { width:100% !important; float:none !important; }
.single-product div.product .woocommerce-product-gallery img { width:100%; height:auto; border:1px solid var(--border-dark); }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display:flex; gap:.5rem; margin-top:.75rem; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { flex:0 0 60px; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border:1px solid var(--border-dark); opacity:.6; cursor:pointer; transition:opacity .2s; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity:1; border-color:var(--gold); }
.single-product div.product .summary { width:100% !important; float:none !important; }
.single-product div.product .product_title { font-family:var(--serif) !important; font-size:2rem !important; font-weight:300; color:var(--white) !important; margin-bottom:.75rem; }
.single-product div.product .price { font-family:var(--serif) !important; font-size:1.5rem !important; color:var(--gold) !important; margin-bottom:1.5rem; display:block; }
.single-product div.product .price del { color:rgba(255,255,255,0.3) !important; }
.single-product div.product .price ins { text-decoration:none; }
.single-product div.product .woocommerce-product-details__short-description { color:rgba(255,255,255,0.6); font-size:.9rem; line-height:1.8; margin-bottom:1.5rem; }
.single-product div.product .onsale { background:var(--gold) !important; color:var(--black) !important; border-radius:0 !important; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.4rem 1rem; z-index:10; }
/* Variations */
.single-product .variations { width:100%; }
.single-product .variations td, .single-product .variations th { padding:.5rem 0; border:none !important; }
.single-product .variations td.label label { color:rgba(255,255,255,0.6); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; }
.single-product .variations td.value select { background:var(--dark2); color:var(--white); border:1px solid var(--border-dark); padding:.6rem 1rem; font-family:var(--sans); width:100%; }
/* Quantity + Add to cart */
.single-product div.product .quantity .qty { background:var(--dark2) !important; color:var(--white) !important; border:1px solid var(--border-dark) !important; padding:.6rem; width:60px; text-align:center; font-family:var(--sans); }
.single-product div.product .single_add_to_cart_button { background:var(--gold) !important; color:var(--black) !important; font-family:var(--sans) !important; font-size:.75rem !important; letter-spacing:.25em !important; text-transform:uppercase !important; font-weight:600 !important; padding:1rem 2.5rem !important; border-radius:0 !important; border:none !important; cursor:pointer; transition:background .2s; }
.single-product div.product .single_add_to_cart_button:hover { background:var(--gold2) !important; }
/* Tabs */
.single-product .woocommerce-tabs { grid-column:1/-1; margin-top:2rem; border-top:1px solid var(--border-dark); padding-top:2rem; }
.single-product .woocommerce-tabs ul.tabs { list-style:none !important; display:flex; gap:0; border-bottom:1px solid var(--border-dark) !important; padding:0; margin:0 0 2rem !important; background:none !important; }
.single-product .woocommerce-tabs ul.tabs li { background:none !important; border:none !important; margin:0 !important; padding:0 !important; border-radius:0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { color:rgba(255,255,255,0.4) !important; font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; padding:.75rem 1.5rem; display:block; text-decoration:none; border-bottom:2px solid transparent; transition:color .2s, border-color .2s; }
.single-product .woocommerce-tabs ul.tabs li.active a { color:var(--gold) !important; border-bottom-color:var(--gold); }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display:none !important; }
.single-product .woocommerce-tabs .panel { color:rgba(255,255,255,0.6); font-size:.9rem; line-height:1.8; }
.single-product .woocommerce-tabs .panel h2 { font-family:var(--serif) !important; font-size:1.4rem; color:var(--white) !important; margin-bottom:1rem; }
/* Related */
.single-product .related.products { grid-column:1/-1; margin-top:3rem; padding-top:2rem; border-top:1px solid var(--border-dark); }
.single-product .related.products h2 { font-family:var(--serif) !important; font-size:1.8rem; font-weight:300; color:var(--white) !important; margin-bottom:1.5rem; }
/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb { color:rgba(255,255,255,0.3) !important; font-size:.75rem; margin-bottom:1.5rem; }
.woocommerce .woocommerce-breadcrumb a { color:var(--gold) !important; text-decoration:none; }

/* ---- CART ---- */
.woocommerce-cart .content-area { max-width:1000px; margin:0 auto; padding:120px 3rem 4rem; }
.woocommerce table.shop_table { border:1px solid var(--border-dark) !important; border-collapse:collapse; width:100%; }
.woocommerce table.shop_table th { background:var(--dark2) !important; color:rgba(255,255,255,0.5) !important; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; padding:1rem !important; border-bottom:1px solid var(--border-dark) !important; }
.woocommerce table.shop_table td { background:var(--dark) !important; color:var(--white) !important; padding:1rem !important; border-bottom:1px solid var(--border-dark) !important; vertical-align:middle; }
.woocommerce table.shop_table td a { color:var(--white); text-decoration:none; font-family:var(--serif); }
.woocommerce table.shop_table td .amount { color:var(--gold) !important; font-family:var(--serif); }
.woocommerce table.shop_table td img { width:60px; height:60px; object-fit:cover; border:1px solid var(--border-dark); }
.woocommerce table.shop_table td .quantity .qty { background:var(--dark2); color:var(--white); border:1px solid var(--border-dark); padding:.4rem; width:50px; text-align:center; }
.woocommerce table.shop_table td .product-remove a { color:rgba(255,255,255,0.3) !important; font-size:1.2rem; }
.woocommerce .cart_totals h2 { font-family:var(--serif) !important; font-size:1.5rem; color:var(--white) !important; }
.woocommerce .cart_totals .shop_table td, .woocommerce .cart_totals .shop_table th { padding:.75rem 1rem !important; }
.woocommerce a.button.wc-forward, .woocommerce .checkout-button { background:var(--gold) !important; color:var(--black) !important; font-family:var(--sans) !important; font-size:.75rem !important; letter-spacing:.2em !important; text-transform:uppercase !important; font-weight:600 !important; border-radius:0 !important; padding:1rem 2rem !important; }
.woocommerce .coupon .input-text { background:var(--dark2) !important; color:var(--white) !important; border:1px solid var(--border-dark) !important; padding:.6rem 1rem; font-family:var(--sans); }
.woocommerce .coupon .button { background:var(--dark2) !important; color:var(--white) !important; border:1px solid var(--border-dark) !important; }
.woocommerce a.remove { color:rgba(255,255,255,0.3) !important; }
.woocommerce a.remove:hover { color:var(--gold) !important; background:none !important; }

/* ---- CHECKOUT ---- */
.woocommerce-checkout .content-area { max-width:1000px; margin:0 auto; padding:120px 3rem 4rem; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border:1px solid var(--border-dark) !important; background:var(--dark2) !important; padding:1.5rem !important; border-radius:0 !important; }
.woocommerce-checkout h3 { font-family:var(--serif) !important; font-size:1.5rem; color:var(--white) !important; margin-bottom:1rem; }
.woocommerce-checkout label { color:rgba(255,255,255,0.6) !important; font-size:.8rem; letter-spacing:.1em; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select, .select2-container--default .select2-selection--single { background:var(--dark2) !important; color:var(--white) !important; border:1px solid var(--border-dark) !important; padding:.7rem 1rem !important; border-radius:0 !important; font-family:var(--sans); }
.select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--white) !important; }
.select2-dropdown { background:var(--dark2) !important; border:1px solid var(--border-dark) !important; }
.select2-results__option { color:var(--white) !important; }
.select2-results__option--highlighted { background:var(--gold) !important; color:var(--black) !important; }
.woocommerce-checkout #order_review { background:var(--dark2); border:1px solid var(--border-dark); padding:1.5rem; }
.woocommerce-checkout #place_order { background:var(--gold) !important; color:var(--black) !important; font-family:var(--sans) !important; font-size:.8rem !important; letter-spacing:.25em !important; text-transform:uppercase !important; font-weight:600 !important; padding:1rem 2.5rem !important; border-radius:0 !important; width:100%; border:none !important; cursor:pointer; margin-top:1rem; }
.woocommerce-checkout #place_order:hover { background:var(--gold2) !important; }
.woocommerce-info, .woocommerce-message { background:var(--dark2) !important; border-top-color:var(--gold) !important; color:var(--white) !important; }
.woocommerce-info a, .woocommerce-message a { color:var(--gold) !important; }
.woocommerce-error { background:var(--dark2) !important; border-top-color:#e74c3c !important; color:var(--white) !important; }
.woocommerce-error a { color:var(--gold) !important; }

/* ---- MY ACCOUNT ---- */
.woocommerce-account .content-area { max-width:1000px; margin:0 auto; padding:120px 3rem 4rem; }
.woocommerce-MyAccount-navigation ul { list-style:none; padding:0; border:1px solid var(--border-dark); }
.woocommerce-MyAccount-navigation ul li { border-bottom:1px solid var(--border-dark); }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom:none; }
.woocommerce-MyAccount-navigation ul li a { display:block; padding:.75rem 1.25rem; color:rgba(255,255,255,0.6); text-decoration:none; font-size:.85rem; transition:color .2s, background .2s; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { color:var(--gold); background:rgba(200,120,42,0.08); }

/* ---- INNER PAGES (legal, about, etc.) ---- */
body:not(.home) .site-main, body.page .site-main { background:var(--black); color:rgba(255,255,255,0.7); padding-top:100px; }
body:not(.home) .entry-content, body.page .entry-content { max-width:800px; margin:0 auto; padding:2rem 3rem 4rem; font-family:var(--sans); font-size:.95rem; line-height:1.85; }
body:not(.home) .entry-content h1, body:not(.home) .entry-title { font-family:var(--serif) !important; color:var(--white) !important; font-weight:300; }
body:not(.home) .entry-content h2 { font-family:var(--serif); color:var(--gold); font-size:1.3rem; font-weight:400; margin-top:2.5rem; margin-bottom:.75rem; }
body:not(.home) .entry-content h3 { font-family:var(--serif); color:var(--white); font-size:1.1rem; margin-top:1.5rem; }
body:not(.home) .entry-content p { color:rgba(255,255,255,0.6); margin-bottom:1rem; }
body:not(.home) .entry-content a { color:var(--gold); }
body:not(.home) .entry-content strong { color:rgba(255,255,255,0.85); }

/* RESPONSIVE */
@media(max-width:1024px) {
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; }
  .woocommerce ul.products { grid-template-columns:repeat(3,1fr) !important; }
  .single-product div.product { grid-template-columns:1fr !important; }
}
@media(max-width:768px) {
  .dyw-nav { padding:0 1.5rem; }
  .nav-links { display:none; }
  .nav-toggle { display:flex; }
  .nav-mobile.open { display:block; }
  section { padding:4rem 1.5rem; }
  .categories-grid, .values-grid, .about-grid { grid-template-columns:1fr; }
  .newsletter-form { flex-direction:column; }
  .footer-top { grid-template-columns:1fr; }
  .hero-title { font-size:clamp(2.5rem,8vw,5rem); }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important; }
  .woocommerce-cart .content-area, .woocommerce-checkout .content-area,
  .single-product .content-area { padding:100px 1.5rem 3rem; }
  body:not(.home) .entry-content { padding:1.5rem; }
}
