﻿/*
Theme Name: Tobe Asikoko
Author: Opeyemi Oladejobi Akinkunmi | eZeroAndOne.io
Description: Contemporary Luxury Rooted in Heritage.
Version: 1.1.0
Text Domain: tobe-asikoko
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Brand Palette */
  --midnight:#0C2041;
  --burgundy:#490C21;
  --gold:#E8BF80;
  --off-white:#F2F2F2;
  --dark-black:#191617;
  /* Legacy aliases for compatibility */
  --black:#191617;
  --white:#F2F2F2;
  --cream:#f5f0e8;
  --charcoal:#0C2041;
  --mid-grey:#6b6b6b;
  --light-grey:#e0ddd8;
  /* Typography */
  --font-display:"Aeonik","Helvetica Neue",sans-serif;
  --font-body:"Aeonik","Helvetica Neue",sans-serif;
  --font-accent:"Bruno Ace",monospace;
  /* System */
  --transition:0.35s ease;
  --max-width:1280px;
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--off-white);color:var(--dark-black);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
ul{list-style:none}
.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:400;line-height:1.15}
h1{font-size:clamp(3rem,8vw,7rem)}
h2{font-size:clamp(2rem,5vw,4rem)}
h3{font-size:clamp(1.4rem,3vw,2.2rem)}
p{font-size:1rem;color:var(--charcoal);max-width:65ch}
.eyebrow{font-family:var(--font-body);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem}
.btn{display:inline-block;padding:.85rem 2.2rem;font-family:var(--font-body);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--black);background:transparent;color:var(--black);cursor:pointer;transition:all var(--transition)}
.btn:hover{background:var(--black);color:var(--white)}
.btn--filled{background:var(--black);color:var(--white);border-color:transparent}
.btn--filled:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}
.btn--gold{background:var(--gold);color:var(--black);border-color:var(--gold)}
.btn--gold:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:background var(--transition),padding var(--transition)}
.site-header.scrolled{background:rgba(10,10,10,.96);padding:1rem 0;backdrop-filter:blur(8px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.site-logo{font-family:var(--font-display);font-size:1.6rem;color:var(--white);letter-spacing:.05em}
.site-logo span{color:var(--gold)}
.nav-menu{display:flex;gap:2.5rem;align-items:center}
.nav-menu a{color:var(--white);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;position:relative}
.nav-menu a::after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--transition)}
.nav-menu a:hover::after{width:100%}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.5rem}
.nav-toggle span{display:block;width:24px;height:1px;background:var(--white);transition:all var(--transition)}
.hero{position:relative;height:calc(100vh - 48px);min-height:500px;display:flex;align-items:flex-end;overflow:hidden;background:var(--black)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center top;opacity:1;transition:opacity .6s ease}.hero-bg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0.62)}

.hero-content{position:relative;z-index:2;padding:0 0 5rem;width:100%;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.hero-content .container{display:flex;flex-direction:column;gap:1rem}
.hero h1{color:var(--white)}
.hero h1 em{color:var(--gold);font-style:italic}
.hero-sub{color:rgba(255,255,255,.75);font-size:1.05rem;max-width:55ch}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.hero-actions .btn{color:var(--white);border-color:var(--white)}.hero-actions .btn:hover{background:var(--white);color:var(--black)}.hero-actions .btn--filled{border-color:transparent}.hero-actions .btn--filled:hover{background:var(--gold);border-color:transparent}
.hero-scroll{position:absolute;bottom:2rem;right:3rem;color:var(--white);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:.75rem;opacity:.6}
.hero-scroll::before{content:"";display:block;width:1px;height:60px;background:var(--white)}
.marquee-bar{background:var(--gold);height:48px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;flex-shrink:0}
.marquee-track{display:inline-flex;animation:marquee 20s linear infinite}
.marquee-track span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--black);padding:0 2rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.section{padding:7rem 0}
.section--dark{background:var(--black);color:var(--white)}
.section--dark p{color:rgba(255,255,255,.7)}
.section--cream{background:var(--cream)}
.section-header{margin-bottom:4rem}
.about-strip{display:grid;grid-template-columns:1fr 1fr;gap:0;height:100vh;max-height:100vh}
.about-strip__image{position:relative;overflow:hidden;height:100%}
.about-strip__image img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .1s linear;will-change:transform}
.about-strip__image:hover img{transform:scale(1.04)}
.about-strip__text{background:var(--black);color:var(--white);padding:4rem;display:flex;flex-direction:column;justify-content:center;gap:1.25rem;overflow-y:visible}
.about-strip__text h2{color:var(--white)}
.about-strip__text p{color:rgba(255,255,255,.72)}
.collections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.collection-card{position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.collection-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.collection-card:hover img{transform:scale(1.06)}
.collection-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;opacity:0;transition:opacity var(--transition)}
.collection-card:hover .collection-card__overlay{opacity:1}
.collection-card__overlay h3{color:var(--white);font-size:1.5rem}
.collection-card__overlay p{color:rgba(255,255,255,.8);font-size:.85rem;margin-top:.5rem}
.countdown-section{background:var(--black);padding:5rem 0;text-align:center}
.countdown-section h2{color:var(--white);margin-bottom:.5rem}
.countdown-timer{display:flex;justify-content:center;gap:3rem;margin:3rem 0}
.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.countdown-number{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);color:var(--gold);line-height:1;min-width:2ch;text-align:center}
.countdown-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.countdown-divider{font-family:var(--font-display);font-size:4rem;color:var(--gold);opacity:.4;align-self:center;margin-top:-1rem}
.podcast-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.podcast-card{background:var(--charcoal);padding:2rem;display:flex;flex-direction:column;gap:1rem;border-left:3px solid var(--gold);transition:transform var(--transition)}
.podcast-card:hover{transform:translateY(-4px)}
.podcast-card h4{color:var(--white);font-family:var(--font-display);font-size:1.3rem}
.podcast-card p{color:rgba(255,255,255,.6);font-size:.9rem}
.podcast-card audio{width:100%;margin-top:.5rem}
.archive-tabs{display:flex;border-bottom:1px solid var(--light-grey);margin-bottom:3rem}
.archive-tab{padding:1rem 2rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition);background:none;border-top:none;border-left:none;border-right:none;color:var(--mid-grey)}
.archive-tab.active,.archive-tab:hover{color:var(--black);border-bottom-color:var(--gold)}
.archive-panel{display:none}
.archive-panel.active{display:block}
.gallery-masonry{columns:3;column-gap:1rem}
.gallery-masonry figure{break-inside:avoid;margin-bottom:1rem;overflow:hidden;position:relative}
.gallery-masonry img{width:100%;transition:transform .5s ease}
.gallery-masonry figure:hover img{transform:scale(1.04)}
.gallery-masonry figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:var(--white);padding:1.5rem 1rem .75rem;font-size:.8rem;opacity:0;transition:opacity var(--transition)}
.gallery-masonry figure:hover figcaption{opacity:1}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-card{display:flex;flex-direction:column;gap:1rem}
.blog-card__image{overflow:hidden;aspect-ratio:4/3}
.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.blog-card:hover .blog-card__image img{transform:scale(1.05)}
.blog-card__meta{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.blog-card h3{font-size:1.4rem;line-height:1.3}
.blog-card p{font-size:.9rem;color:var(--mid-grey)}
.instagram-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
.instagram-grid a{aspect-ratio:1;overflow:hidden;display:block;position:relative}
.instagram-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .5s ease}
.instagram-grid a:hover img{transform:scale(1.08);opacity:.7}
.press-logos{display:flex;align-items:center;justify-content:center;gap:4rem;flex-wrap:wrap;padding:3rem 0}
.press-text{font-family:var(--font-display);font-size:1.8rem;color:var(--mid-grey);transition:color var(--transition)}
.press-text:hover{color:var(--black)}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:2rem}
.contact-detail{display:flex;flex-direction:column;gap:.25rem}
.contact-detail strong{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.contact-detail a:hover{color:var(--gold)}
.booking-form{display:flex;flex-direction:column;gap:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-group label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mid-grey)}
.form-group input,.form-group select,.form-group textarea{padding:.9rem 1rem;border:1px solid var(--light-grey);background:var(--white);font-family:var(--font-body);font-size:.95rem;color:var(--black);transition:border-color var(--transition);outline:none;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-group textarea{resize:vertical;min-height:140px}
.site-footer{background:var(--black);color:var(--white);padding:5rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{display:flex;flex-direction:column;gap:1.5rem}
.footer-logo{font-family:var(--font-display);font-size:2rem;color:var(--white)}
.footer-logo span{color:var(--gold)}
.footer-brand p{color:rgba(255,255,255,.55);font-size:.9rem;max-width:30ch}
.footer-social{display:flex;gap:1rem}
.footer-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.85rem;transition:all var(--transition)}
.footer-social a:hover{border-color:var(--gold);color:var(--gold)}
.footer-col h5{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.footer-col ul{display:flex;flex-direction:column;gap:.75rem}
.footer-col ul a{color:rgba(255,255,255,.55);font-size:.9rem;transition:color var(--transition)}
.footer-col ul a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;font-size:.8rem;color:rgba(255,255,255,.35)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:1.2rem;padding:1rem 0 .25rem}
.woocommerce ul.products li.product .price{color:var(--gold);font-family:var(--font-display);font-size:1.1rem}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--black)!important;color:var(--white)!important;border-radius:0!important;font-family:var(--font-body)!important;font-size:.72rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;padding:.85rem 1.8rem!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--gold)!important;color:var(--black)!important}
.woocommerce div.product .product_title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem)}
.woocommerce div.product p.price{color:var(--gold);font-size:1.8rem;font-family:var(--font-display)}
.page-hero{height:55vh;min-height:400px;background:var(--black);display:flex;align-items:flex-end;position:relative;overflow:hidden}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.45}
.page-hero__content{position:relative;z-index:2;padding:152px 0 4rem;width:100%}
.page-hero h1{color:var(--white);font-size:clamp(1.8rem,4vw,3rem)}
.timeline{display:flex;flex-direction:column}
.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--light-grey)}
.timeline-year{font-family:var(--font-display);font-size:1.8rem;color:var(--gold);padding-top:.25rem}
.timeline-content h4{margin-bottom:.5rem}
.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--light-grey);border:1px solid var(--light-grey)}
.skill-item{background:var(--white);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:background var(--transition)}
.skill-item:hover{background:var(--cream)}
.skill-item h4{font-size:1rem}
.skill-item p{font-size:.85rem;color:var(--mid-grey)}

/* ===== ANIMATIONS & PARALLAX ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
.anim-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.anim-up.in-view{opacity:1;transform:none}
.anim-fade{opacity:0;transition:opacity .8s ease}
.anim-fade.in-view{opacity:1}
.anim-left{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease}
.anim-left.in-view{opacity:1;transform:none}
.anim-right{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease}
.anim-right.in-view{opacity:1;transform:none}
.anim-scale{opacity:0;transform:scale(.95);transition:opacity .6s ease,transform .6s ease}
.anim-scale.in-view{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}
.hero .eyebrow{animation:fadeUp .8s ease .2s both;margin-bottom:.5rem}
.hero h1{animation:fadeUp .9s ease .35s both}
.hero .hero-sub{animation:fadeUp .8s ease .55s both}
.hero-actions{animation:fadeUp .8s ease .7s both}
.about-strip__image{animation:slideLeft .9s ease .1s both}
.about-strip__text{animation:slideRight .9s ease .3s both}
.hero-bg,.parallax-bg{will-change:transform}
.collection-card{transition:transform .4s ease,box-shadow .4s ease}
.collection-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.2)}
.blog-card{transition:transform .35s ease}
.blog-card:hover{transform:translateY(-4px)}
.podcast-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.press-text:hover{transform:translateY(-3px)}
@media(max-width:1024px){.about-strip{grid-template-columns:1fr;height:auto;max-height:none}.about-strip__image{height:60vw;max-height:500px}}
@media(max-width:768px){.about-strip__image{height:50vw}}
@media(max-width:480px){.about-strip__image{height:70vw}}

/* ===== EVENT CARDS ===== */
.event-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem}
.event-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:transform .35s ease,border-color .35s ease}
.event-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.event-card__img{aspect-ratio:16/9;overflow:hidden;background:rgba(255,255,255,.05)}
.event-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.event-card:hover .event-card__img img{transform:scale(1.05)}
.event-card__body{padding:1.5rem}
.event-card__status{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.5rem}
.event-card__body h4{color:#fff;font-family:var(--font-display);font-size:1.2rem;margin-bottom:.4rem}
.event-card__meta{color:rgba(255,255,255,.5);font-size:.8rem;max-width:none}
@media(max-width:1024px){.event-cards__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.event-cards__grid{grid-template-columns:1fr}}

/* ===== LOGO ===== */
.site-logo{display:flex;align-items:center}
.logo-img,.site-logo__img{height:65px!important;width:65px!important;object-fit:cover!important;display:block;filter:none;transition:opacity 0.3s ease;border-radius:50%!important;overflow:hidden!important;flex-shrink:0}
.site-header.scrolled .logo-img{opacity:.9}
.logo-img--light{filter:none;height:40px;width:auto;object-fit:contain;border-radius:0}
@media(max-width:768px){.logo-img{height:60px}}

/* ===== PRESS LOGOS ===== */
.press-logos{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;padding:3rem 0}
.press-logo-link{display:flex;align-items:center;justify-content:center;opacity:.55;filter:grayscale(1);transition:opacity .3s ease,filter .3s ease,transform .3s ease}
.press-logo-link:hover{opacity:1;filter:grayscale(0);transform:translateY(-3px)}
.press-logo-img{height:90px;width:auto;max-width:220px;object-fit:contain;display:block}
@media(max-width:768px){.press-logos{gap:2rem}.press-logo-img{height:60px;max-width:160px}}

/* ===== VIDEO GRID ===== */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.video-item{display:flex;flex-direction:column;gap:1rem}
.video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#0a0a0a}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-caption{font-size:.9rem;color:#6b6b6b;margin-top:.25rem}
@media(max-width:768px){.video-grid{grid-template-columns:1fr}}

/* ===== CARD EQUAL HEIGHT + EXCERPT CLAMP ===== */
.blog-grid{align-items:stretch}
.blog-card{height:100%;justify-content:flex-start}
.blog-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;overflow:hidden;flex-grow:0}
.blog-card .btn{margin-top:auto}
.podcast-grid{align-items:stretch}
.podcast-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;overflow:hidden}
.event-cards__grid{align-items:stretch}
.event-card{height:100%;display:flex;flex-direction:column}
.event-card__body{flex:1;display:flex;flex-direction:column}
.event-card__body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}
.event-card__body .btn{margin-top:auto}

/* Footer logo - full horizontal, no crop */
.footer-logo__img{display:block;height:auto!important;width:180px!important;max-width:100%;object-fit:contain!important;border-radius:0!important;overflow:visible!important;filter:none}

/* ===== RESPONSIVE ===== */

/* --- 1024px tablet --- */
@media(max-width:1024px){
  .collections-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .podcast-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .skills-grid{grid-template-columns:repeat(2,1fr)}
  .instagram-grid{grid-template-columns:repeat(4,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .timeline-item{grid-template-columns:100px 1fr}
}

/* --- 768px mobile --- */
@media(max-width:768px){
  /* Nav */
  .nav-menu{display:none}
  .nav-toggle{display:flex}
  .nav-menu.open{
    display:flex;flex-direction:column;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    background:rgba(12,32,65,.98);
    justify-content:center;align-items:center;
    gap:2rem;z-index:9999;padding:2rem;
    overflow-y:auto;overflow-x:hidden;
  }
  .nav-menu.open a{font-size:1.1rem;letter-spacing:.15em}
  .nav-menu.open .nav-cta{margin-left:0;margin-top:.5rem}

  /* Hero */
  .hero{height:auto;min-height:100svh}
  .hero-content{justify-content:flex-end;padding-top:100px;padding-bottom:3rem}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-scroll{display:none}
  .marquee-bar{height:44px}
  .marquee-track span{font-size:.6rem;padding:0 1.2rem}

  /* Sections */
  .section{padding:4rem 0}
  .section-header{margin-bottom:2.5rem}

  /* Grids */
  .collections-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .podcast-grid{grid-template-columns:1fr}
  .instagram-grid{grid-template-columns:repeat(3,1fr)}
  .skills-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .form-row{grid-template-columns:1fr}
  .gallery-masonry{columns:2}
  .countdown-timer{gap:1.5rem}
  .countdown-number{font-size:clamp(2rem,10vw,4rem)}

  /* About strip */
  .about-strip{grid-template-columns:1fr;height:auto;max-height:none}
  .about-strip__text{padding:3rem 2rem}

  /* Timeline */
  .timeline-item{grid-template-columns:1fr;gap:.5rem}
  .timeline-year{font-size:1.4rem;padding-top:0}

  /* Footer */
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
  .footer-col h5{margin-bottom:1rem}

  /* Page hero */
  .page-hero{height:45vh;min-height:300px}
  .page-hero__content{padding:5rem 0 2.5rem}

  /* Press */
  .press-logos{gap:1.5rem}

  /* Countdown */
  .countdown-section{padding:3rem 0}
  .countdown-timer{gap:1rem;flex-wrap:wrap;justify-content:center}

  /* Event cards */
  .event-cards__grid{grid-template-columns:1fr}

  /* Video */
  .video-grid{grid-template-columns:1fr}

  /* Typography */
  h1{font-size:clamp(2.2rem,8vw,4rem)}
  h2{font-size:clamp(1.8rem,6vw,3rem)}
  .container{padding:0 1.25rem}
}

/* --- 480px small mobile --- */
@media(max-width:480px){
  .gallery-masonry{columns:1}
  .instagram-grid{grid-template-columns:repeat(2,1fr)}
  .skills-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .collections-grid{grid-template-columns:1fr}
  .countdown-timer{gap:.75rem}
  .countdown-number{font-size:2.5rem}
  .hero{min-height:auto}
  .hero-content{padding-top:80px;padding-bottom:2.5rem}
  .marquee-bar{height:40px}
  .marquee-track span{font-size:.55rem;padding:0 1rem}
  .press-logo-img{height:40px;max-width:120px}
  .event-cards__grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .timeline-item{grid-template-columns:1fr}
}

/* ===== FOOTER MOBILE CENTRE + PRESS LOGOS FIX ===== */

/* Press logos - all on one row, tighter gap */
.press-logos{gap:2rem;padding:2rem 0}
.press-logo-img{height:70px;max-width:160px}

/* On mobile, force single row with scroll if needed */
@media(max-width:768px){
  .press-logos{
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    gap:1.5rem;
    padding:1.5rem 1rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none
  }
  .press-logos::-webkit-scrollbar{display:none}
  .press-logo-link{flex-shrink:0}
  .press-logo-img{height:50px;max-width:130px}

  /* Footer centre alignment */
  .footer-brand{align-items:center;text-align:center}
  .footer-brand p{text-align:center}
  .footer-social{justify-content:center}
  .footer-col{text-align:center}
  .footer-col ul{align-items:center}
  .footer-logo__img{margin:0 auto}
}

/* ===== BRAND IDENTITY OVERRIDES ===== */

/* Navigation - Midnight Blue */
.site-header{background:rgba(12,32,65,0.0)}
.site-header.scrolled{background:rgba(12,32,65,0.97);backdrop-filter:blur(10px)}
.site-logo{color:var(--off-white)}
.nav-menu a{color:var(--off-white)}
.nav-menu a::after{background:var(--gold)}

/* Hero - Midnight Blue overlay */
.hero{background:var(--midnight)}
.hero-bg::after{background:rgba(12,32,65,0.72)}
.hero h1 em{color:var(--gold)}
.hero .eyebrow{color:var(--gold)}

/* Marquee - Gold */
.marquee-bar{background:var(--midnight);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.marquee-track span{color:var(--gold)}

/* Buttons */
.btn{border-color:var(--midnight);color:var(--midnight)}
.btn:hover{background:var(--midnight);color:var(--off-white)}
.btn--filled{background:var(--midnight);color:var(--off-white);border-color:var(--midnight)}
.btn--filled:hover{background:var(--burgundy);border-color:var(--burgundy)}
.btn--gold{background:var(--gold);color:var(--dark-black);border-color:var(--gold)}
.btn--gold:hover{background:var(--burgundy);color:var(--off-white);border-color:var(--burgundy)}
.hero-actions .btn{color:var(--off-white);border-color:var(--gold)}
.hero-actions .btn:hover{background:var(--gold);color:var(--dark-black)}
.hero-actions .btn--filled{background:var(--gold);color:var(--dark-black);border-color:var(--gold)}
.hero-actions .btn--filled:hover{background:var(--burgundy);color:var(--off-white);border-color:var(--burgundy)}

/* Eyebrow labels */
.eyebrow{color:var(--gold)}

/* About strip */
.about-strip__text{background:var(--midnight)}

/* Section dark */
.section--dark{background:var(--midnight)}
.section--cream{background:var(--off-white)}

/* Countdown */
.countdown-section{background:var(--midnight)}
.countdown-number{color:var(--gold)}
.countdown-divider{color:var(--gold)}

/* Event cards */
.event-card{background:rgba(12,32,65,0.6);border-color:rgba(232,191,128,0.2)}
.event-card:hover{border-color:var(--gold)}
.event-card__status{color:var(--gold)}

/* Footer */
.site-footer{background:var(--midnight)}
.footer-logo span{color:var(--gold)}
.footer-col h5{color:var(--gold)}
.footer-social a:hover{border-color:var(--gold);color:var(--gold)}
.footer-bottom{color:rgba(242,242,242,0.35)}

/* Timeline */
.timeline-year{color:var(--gold)}

/* Contact detail */
.contact-detail strong{color:var(--gold)}

/* Blog meta */
.blog-card__meta{color:var(--burgundy)}

/* Press logos */
.press-logo-link:hover{filter:grayscale(0) sepia(0.3) hue-rotate(180deg)}

/* Archive tabs */
.archive-tab.active,.archive-tab:hover{color:var(--midnight);border-bottom-color:var(--gold)}

/* WooCommerce */
.woocommerce ul.products li.product .price{color:var(--burgundy)}
.woocommerce a.button,.woocommerce button.button{background:var(--midnight)!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--burgundy)!important}
.woocommerce div.product p.price{color:var(--burgundy)}

/* Page hero */
.page-hero{background:var(--midnight)}

/* Skills */
.skill-item:hover{background:rgba(12,32,65,0.05)}

/* Bruno Ace accent class */
.accent-font{font-family:var(--font-accent);letter-spacing:.15em}

/* Section headers */
.section-header h2{color:var(--midnight)}
.section--dark .section-header h2{color:var(--off-white)}
.countdown-section h2{color:var(--off-white)}

/* Headings */
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700}
h1{font-weight:700}
.hero h1{color:var(--off-white);font-weight:700;font-size:clamp(2rem,5vw,4.5rem)}

/* ===== BRAND IDENTITY SECTION (The Story page) ===== */
.about-brand-identity{background:var(--off-white);border-top:1px solid rgba(12,32,65,0.1)}
.brand-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.brand-identity__header h2{color:var(--midnight);margin-bottom:1.5rem}
.brand-identity__founding{font-size:1.1rem;color:var(--dark-black);line-height:1.8;max-width:50ch;font-style:italic;border-left:3px solid var(--gold);padding-left:1.5rem;margin-top:1rem}
.brand-identity__pillars{display:flex;flex-direction:column;gap:3rem;padding-top:.5rem}
.brand-pillar{display:flex;flex-direction:column;gap:.75rem}
.brand-pillar__label{margin-bottom:0}
.brand-pillar__text{font-size:1rem;color:var(--dark-black);line-height:1.8;max-width:55ch}
@media(max-width:1024px){.brand-identity-grid{grid-template-columns:1fr;gap:3rem}}
@media(max-width:768px){.brand-identity__founding{font-size:1rem}.brand-identity__pillars{gap:2rem}}

/* ===== MOBILE NAV TOGGLE - X CLOSE BUTTON ===== */
.nav-toggle{position:relative;z-index:1001}
.nav-toggle span{transform-origin:center;transition:transform .3s ease,opacity .3s ease}
.nav-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ===== NAV DROPDOWN SUBMENU ===== */
.nav-menu li{position:relative}
.nav-submenu{
  display:block;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%) translateY(4px);
  background:rgba(12,32,65,0.97);
  backdrop-filter:blur(10px);
  min-width:200px;
  padding:.5rem 0;
  border-top:2px solid var(--gold);
  z-index:1001;
  list-style:none;
  box-shadow:0 8px 32px rgba(0,0,0,0.3);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.nav-submenu li{display:block}
.nav-submenu a{
  display:block;
  padding:.65rem 1.5rem;
  font-size:.68rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(242,242,242,0.75);
  white-space:nowrap;
  transition:color var(--transition),background var(--transition);
}
.nav-submenu a:hover{color:var(--gold);background:rgba(255,255,255,0.05)}
.nav-submenu a::after{display:none}
/* Show on hover (desktop) - use visibility/opacity instead of display */
.nav-menu li:hover > .nav-submenu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
/* Invisible bridge between nav item and submenu to prevent gap closing it */
.nav-menu li::after{
  content:'';
  position:absolute;
  top:100%;
  left:0;
  right:0;
  height:8px;
  background:transparent;
}
/* Arrow indicator */
.nav-menu > li > a[href*="fashion-spayce"]::before{
  content:'';
  display:inline-block;
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:4px solid var(--gold);
  margin-left:6px;
  vertical-align:middle;
  transition:transform var(--transition);
}
.nav-menu > li:hover > a[href*="fashion-spayce"]::before{transform:rotate(180deg)}

/* Mobile submenu */
@media(max-width:768px){
  /* Remove the desktop bridge pseudo-element on mobile */
  .nav-menu li::after{display:none}

  .nav-submenu{
    position:static !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    background:rgba(255,255,255,0.06);
    border-top:1px solid rgba(232,191,128,0.3);
    border-left:2px solid var(--gold);
    margin:.5rem 0 .5rem 1.5rem;
    padding:.25rem 0;
    box-shadow:none;
    backdrop-filter:none;
    display:none;
    width:calc(100% - 1.5rem);
    max-width:100%;
    overflow:hidden;
    transition:none !important;
  }
  .nav-submenu.open{display:block}
  .nav-submenu li{display:block;width:100%}
  .nav-submenu a{
    font-size:.8rem;
    padding:.6rem 1.25rem;
    color:rgba(242,242,242,0.75);
    display:block;
    width:100%;
    text-align:left;
    letter-spacing:.12em;
    white-space:normal;
  }
  .nav-submenu a:hover{color:var(--gold)}
  .nav-menu > li > a[href*="fashion-spayce"]::before{display:none}
  /* Toggle arrow for mobile */
  .nav-menu > li > a[href*="fashion-spayce"]{display:flex;align-items:center;justify-content:center;gap:.5rem}
  .submenu-toggle{
    background:none;border:none;cursor:pointer;
    color:var(--gold);font-size:.8rem;padding:0 .25rem;
    line-height:1;transition:transform .3s ease;
    flex-shrink:0;
  }
  .submenu-toggle.open{transform:rotate(180deg)}

  /* Fix mobile nav overflow */
  .nav-menu.open{
    overflow-y:auto;
    overflow-x:hidden;
    padding:2rem 1.5rem;
    box-sizing:border-box;
  }
  .nav-menu.open > li{
    width:100%;
    text-align:center;
  }
  .nav-menu.open > li > a{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }
}

/* Prevent x-overflow globally — use clip instead of hidden on html
   so that position:fixed children (mobile nav) still work correctly */
html { overflow-x: clip; }
body { overflow-x: hidden; max-width: 100%; }
.nav-menu.open { overflow-x: hidden; overflow-y: auto; }
.nav-submenu { max-width: 100vw; }

/* Lock body scroll when mobile nav is open */
body.nav-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  /* preserve scroll position via top, set by JS */
}

/* ===== PRESS TEXT LOGO (for publications without image logos) ===== */
.press-text-logo{
  font-family:var(--font-display);
  font-size:1.4rem;
  font-weight:700;
  color:var(--mid-grey);
  letter-spacing:.05em;
  transition:color var(--transition);
  display:block;
  white-space:nowrap;
}
.press-logo-link:hover .press-text-logo{color:var(--midnight)}

/* ===== NEWSLETTER SECTION ===== */
.newsletter-section{background:var(--gold);padding:4rem 0}
.newsletter-inner{display:grid;grid-template-columns:1fr;gap:2rem;max-width:640px;margin:0 auto;text-align:center}
.newsletter-text h3{color:var(--dark-black);font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:.75rem}
.newsletter-text p{color:rgba(25,22,23,0.75);max-width:55ch;margin:0 auto}
.newsletter-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}
.newsletter-input{width:100%;padding:.85rem 1rem;background:rgba(255,255,255,0.5);border:1px solid rgba(25,22,23,0.2);color:var(--dark-black);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color var(--transition)}
.newsletter-input::placeholder{color:rgba(25,22,23,0.45)}
.newsletter-input:focus{border-color:var(--dark-black);background:rgba(255,255,255,0.75)}
.newsletter-btn{width:100%;background:var(--midnight);color:var(--off-white);border-color:var(--midnight);white-space:nowrap}
.newsletter-btn:hover{background:var(--dark-black);border-color:var(--dark-black)}
.newsletter-response{margin-top:.75rem;font-size:.9rem;line-height:1.6}
.newsletter-note{font-size:.7rem;color:rgba(25,22,23,0.45);margin-top:.5rem}
@media(max-width:768px){
  .newsletter-inner{gap:1.5rem}
  .newsletter-input,.newsletter-btn{width:100%}
}

/* Newsletter eyebrow on gold background */
.newsletter-section .eyebrow{color:var(--midnight)}

/* Hide submenu toggle on desktop */
@media(min-width:769px){.submenu-toggle{display:none}}

/* =====================================================
   NAV ACTIONS — search / account / cart icons
   ===================================================== */
.nav-actions{display:flex;align-items:center;gap:.25rem;margin-left:1.5rem}
.nav-action-btn{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;
  background:none;border:none;cursor:pointer;
  color:var(--white);font-size:1rem;
  transition:color var(--transition);
  text-decoration:none;
}
.nav-action-btn:hover{color:var(--gold)}
.cart-count{
  position:absolute;top:2px;right:2px;
  background:var(--gold);color:var(--dark-black);
  font-size:.55rem;font-weight:700;
  width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  line-height:1;pointer-events:none;
}

/* =====================================================
   SEARCH OVERLAY
   ===================================================== */
.search-overlay{
  position:fixed;inset:0;z-index:2000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.search-overlay:not([hidden]){opacity:1;pointer-events:all}
.search-overlay[hidden]{display:flex !important;opacity:0;pointer-events:none}
.search-overlay__backdrop{
  position:absolute;inset:0;
  background:rgba(10,10,10,.92);
  backdrop-filter:blur(6px);
}
.search-overlay__inner{
  position:relative;z-index:1;
  width:100%;max-width:680px;
  padding:2rem;
  text-align:center;
}
.search-overlay__close{
  position:absolute;top:-3rem;right:0;
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.6);font-size:1.4rem;
  transition:color var(--transition);
}
.search-overlay__close:hover{color:var(--gold)}
.search-overlay__form{
  display:flex;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:.75rem;
}
.search-overlay__input{
  flex:1;background:none;border:none;outline:none;
  font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2.2rem);
  color:var(--white);caret-color:var(--gold);
  padding:.5rem 0;
}
.search-overlay__input::placeholder{color:rgba(255,255,255,.3)}
.search-overlay__submit{
  background:none;border:none;cursor:pointer;
  color:var(--gold);font-size:1.4rem;padding:.5rem;
  transition:transform var(--transition);
}
.search-overlay__submit:hover{transform:translateX(4px)}
.search-overlay__hint{
  margin-top:1.25rem;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.3);
}
.search-overlay__hint kbd{
  font-family:var(--font-body);
  border:1px solid rgba(255,255,255,.2);
  border-radius:3px;padding:.1em .4em;font-size:.85em;
}

/* =====================================================
   LOGIN / REGISTER MODAL
   ===================================================== */
.login-modal{
  position:fixed;inset:0;z-index:2100;
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.login-modal:not([hidden]){opacity:1;pointer-events:all}
.login-modal[hidden]{display:flex !important;opacity:0;pointer-events:none}
.login-modal__backdrop{
  position:absolute;inset:0;
  background:rgba(10,10,10,.85);
  backdrop-filter:blur(4px);
}
.login-modal__box{
  position:relative;z-index:1;
  background:var(--off-white);
  width:100%;max-width:460px;
  padding:2.5rem 2.5rem 2rem;
  max-height:90vh;overflow-y:auto;
  transform:translateY(20px);
  transition:transform .3s ease;
}
.login-modal:not([hidden]) .login-modal__box{transform:translateY(0)}
.login-modal__close{
  position:absolute;top:1.25rem;right:1.25rem;
  background:none;border:none;cursor:pointer;
  color:var(--mid-grey);font-size:1.1rem;
  transition:color var(--transition);
}
.login-modal__close:hover{color:var(--dark-black)}
.login-modal__header{margin-bottom:1.5rem}
.login-modal__header .eyebrow{color:var(--gold)}
.login-modal__header h3{font-size:1.8rem;color:var(--dark-black)}

/* Tabs */
.login-tabs{display:flex;border-bottom:1px solid var(--light-grey);margin-bottom:1.75rem}
.login-tab{
  flex:1;padding:.75rem;
  background:none;border:none;border-bottom:2px solid transparent;
  margin-bottom:-1px;cursor:pointer;
  font-family:var(--font-body);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--mid-grey);transition:all var(--transition);
}
.login-tab.active,.login-tab:hover{color:var(--dark-black);border-bottom-color:var(--gold)}

/* Panels */
.login-panel{display:none}
.login-panel.active{display:block}

/* Google button */
.btn-google{
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  width:100%;padding:.85rem 1.5rem;
  border:1px solid var(--light-grey);background:var(--white);
  color:var(--dark-black);font-family:var(--font-body);
  font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;text-decoration:none;
  transition:border-color var(--transition),box-shadow var(--transition);
}
.btn-google:hover{border-color:#4285F4;box-shadow:0 0 0 2px rgba(66,133,244,.15)}
.btn-google__icon{width:18px;height:18px;flex-shrink:0}

/* Divider */
.login-divider{
  display:flex;align-items:center;gap:1rem;
  margin:1.25rem 0;color:var(--mid-grey);font-size:.75rem;
}
.login-divider::before,.login-divider::after{
  content:"";flex:1;height:1px;background:var(--light-grey);
}

/* Form elements inside modal */
.login-modal .form-group{margin-bottom:1.1rem}
.login-modal .form-group label{
  display:block;margin-bottom:.35rem;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mid-grey);
}
.login-modal .form-group input{
  width:100%;padding:.8rem 1rem;
  border:1px solid var(--light-grey);background:var(--white);
  font-family:var(--font-body);font-size:.95rem;color:var(--dark-black);
  outline:none;transition:border-color var(--transition);
}
.login-modal .form-group input:focus{border-color:var(--gold)}
.input-password{position:relative}
.input-password input{padding-right:3rem}
.toggle-password{
  position:absolute;right:.75rem;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;
  color:var(--mid-grey);font-size:.9rem;
  transition:color var(--transition);
}
.toggle-password:hover{color:var(--dark-black)}
.field-hint{font-size:.72rem;color:var(--mid-grey);margin-top:.3rem;display:block}
.login-form-footer{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.25rem;font-size:.78rem;
}
.remember-me{display:flex;align-items:center;gap:.4rem;cursor:pointer;color:var(--mid-grey)}
.remember-me input{accent-color:var(--gold)}
.forgot-link{color:var(--mid-grey);transition:color var(--transition)}
.forgot-link:hover{color:var(--gold)}
.login-submit{width:100%;justify-content:center;margin-top:.25rem}
.login-terms{font-size:.72rem;color:var(--mid-grey);margin-top:1rem;text-align:center}
.login-terms a{color:var(--gold)}
.login-msg{
  padding:.75rem 1rem;margin-bottom:1rem;
  font-size:.85rem;border-left:3px solid var(--gold);
  background:rgba(232,191,128,.08);
}
.login-msg.error{border-color:#e74c3c;background:rgba(231,76,60,.06);color:#c0392b}
.login-msg.success{border-color:#27ae60;background:rgba(39,174,96,.06);color:#1e8449}

/* =====================================================
   RESPONSIVE — nav actions on mobile
   ===================================================== */
@media(max-width:768px){
  .nav-actions{margin-left:auto;margin-right:.5rem;gap:.1rem}
  .nav-action-btn{width:34px;height:34px;font-size:.9rem}
  .login-modal__box{padding:2rem 1.5rem 1.5rem}
  .search-overlay__input{font-size:1.4rem}
}


/* =====================================================
   WELCOME POPOVER — first-visit email capture
   ===================================================== */

.welcome-popover {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(12, 32, 65, 0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: wp-fade-in 0.4s ease both;
}

.welcome-popover[hidden] {
  display: none !important;
}

@keyframes wp-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.welcome-popover__inner {
  position: relative;
  background: var(--gold, #E8BF80);
  color: var(--midnight, #0C2041);
  max-width: 480px;
  width: 100%;
  border-radius: 2px;
  padding: 3rem 2.5rem 2.5rem;
  box-shadow: 0 24px 64px rgba(12, 32, 65, 0.45);
  animation: wp-slide-up 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes wp-slide-up {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}

.welcome-popover__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--midnight, #0C2041);
  font-size: 1.1rem;
  padding: 0.4rem;
  line-height: 1;
  opacity: 0.6;
  transition: opacity 0.2s;
}

.welcome-popover__close:hover {
  opacity: 1;
}

.welcome-popover__body .eyebrow {
  display: block;
  font-family: var(--font-accent, 'Bruno Ace', sans-serif);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--midnight, #0C2041);
  opacity: 0.7;
  margin-bottom: 0.75rem;
}

.welcome-popover__body h3 {
  font-family: var(--font-display, 'Aeonik', Georgia, serif);
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 700;
  color: var(--midnight, #0C2041);
  margin: 0 0 1rem;
  line-height: 1.2;
}

.welcome-popover__body p {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--midnight, #0C2041);
  opacity: 0.85;
  margin-bottom: 1.5rem;
}

.wp-form-fields {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.wp-input {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1.5px solid rgba(12, 32, 65, 0.3);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--midnight, #0C2041);
  font-family: var(--font-body, 'Aeonik', Georgia, serif);
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  box-sizing: border-box;
}

.wp-input::placeholder {
  color: rgba(12, 32, 65, 0.45);
}

.wp-input:focus {
  border-color: var(--midnight, #0C2041);
  background: rgba(255, 255, 255, 0.8);
}

.wp-submit {
  width: 100%;
  background: var(--midnight, #0C2041) !important;
  color: var(--gold, #E8BF80) !important;
  border: none !important;
  padding: 0.9rem 1.5rem !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.wp-submit:hover {
  background: var(--burgundy, #490C21) !important;
  transform: translateY(-1px);
}

.wp-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.wp-msg {
  margin-top: 0.75rem;
  font-size: 0.88rem;
  line-height: 1.5;
  padding: 0.6rem 0.75rem;
  border-radius: 2px;
}

.wp-msg.success {
  background: rgba(12, 32, 65, 0.1);
  color: var(--midnight, #0C2041);
}

.wp-msg.error {
  background: rgba(73, 12, 33, 0.12);
  color: var(--burgundy, #490C21);
}

.wp-note {
  font-size: 0.78rem !important;
  opacity: 0.55 !important;
  margin-top: 0.75rem !important;
  margin-bottom: 0 !important;
  text-align: center;
}

.wp-dismiss {
  display: block;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--midnight, #0C2041);
  font-size: 0.8rem;
  opacity: 0.5;
  margin-top: 1.25rem;
  padding: 0;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s;
}

.wp-dismiss:hover {
  opacity: 0.8;
}

@media (max-width: 480px) {
  .welcome-popover__inner {
    padding: 2.5rem 1.5rem 2rem;
  }
  .welcome-popover__body h3 {
    font-size: 1.4rem;
  }
}

/* =====================================================
   SHOP PAGE — PRODUCT GRID & CARDS
   ===================================================== */

/* Force WooCommerce ul.products into a 3-column grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}

@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Reset WooCommerce default float-based widths */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

/* =====================================================
   PRODUCT CARD — ta-product-card
   ===================================================== */

.ta-product-card {
  display: flex;
  flex-direction: column;
  background: var(--off-white);
  border: 1px solid rgba(12,32,65,0.08);
  overflow: hidden;
  transition: box-shadow 0.35s ease, transform 0.35s ease;
  position: relative;
}

.ta-product-card:hover {
  box-shadow: 0 16px 48px rgba(12,32,65,0.14);
  transform: translateY(-4px);
}

/* Clickable link wraps image + body */
.ta-product-card__link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}

/* Image */
.ta-product-card__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--light-grey);
}

.ta-product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}

.ta-product-card:hover .ta-product-card__img {
  transform: scale(1.06);
}

/* Hover overlay */
.ta-product-card__hover-overlay {
  position: absolute;
  inset: 0;
  background: rgba(12,32,65,0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.ta-product-card:hover .ta-product-card__hover-overlay {
  opacity: 1;
}

.ta-product-card__view-label {
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--off-white);
  border: 1px solid rgba(242,242,242,0.6);
  padding: 0.65rem 1.5rem;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.ta-product-card:hover .ta-product-card__view-label {
  border-color: var(--gold);
  background: rgba(232,191,128,0.15);
}

/* Badge */
.ta-product-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-family: var(--font-body);
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  z-index: 2;
}

.ta-product-badge--sale {
  background: var(--burgundy);
  color: var(--off-white);
}

.ta-product-badge--new {
  background: var(--midnight);
  color: var(--gold);
}

/* Card body */
.ta-product-card__body {
  padding: 1.25rem 1.25rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex: 1;
}

.ta-product-card__cat {
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}

.ta-product-card__cat a {
  color: inherit;
  text-decoration: none;
}

.ta-product-card__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--midnight);
  line-height: 1.3;
  margin: 0;
}

.ta-product-card__price {
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--burgundy);
  margin-top: 0.15rem;
}

.ta-product-card__price del {
  color: var(--mid-grey);
  font-size: 0.85rem;
  margin-right: 0.4rem;
}

.ta-product-card__price ins {
  text-decoration: none;
  color: var(--burgundy);
}

/* Actions row — Add to Cart */
.ta-product-card__actions {
  padding: 0.75rem 1.25rem 1.25rem;
}

.ta-product-card__actions .button,
.ta-product-card__actions a.button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: var(--midnight) !important;
  color: var(--off-white) !important;
  border: 1px solid var(--midnight) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 1rem !important;
  cursor: pointer !important;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
  text-decoration: none !important;
}

.ta-product-card__actions .button:hover,
.ta-product-card__actions a.button:hover {
  background: var(--burgundy) !important;
  border-color: var(--burgundy) !important;
  color: var(--off-white) !important;
}

/* Variable product — "Select options" */
.ta-product-card__actions a.button.product_type_variable {
  background: transparent !important;
  color: var(--midnight) !important;
  border-color: var(--midnight) !important;
}

.ta-product-card__actions a.button.product_type_variable:hover {
  background: var(--midnight) !important;
  color: var(--off-white) !important;
}

/* =====================================================
   SHOP TOOLBAR — result count + ordering dropdown
   ===================================================== */

.ta-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(12,32,65,0.1);
  gap: 1rem;
  flex-wrap: wrap;
}

/* Result count */
.ta-shop-toolbar__count .woocommerce-result-count {
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mid-grey);
  margin: 0;
}

/* Ordering dropdown */
.ta-shop-toolbar__ordering .woocommerce-ordering {
  margin: 0;
}

.ta-shop-toolbar__ordering select.orderby {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230C2041' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  border: 1px solid rgba(12,32,65,0.25);
  color: var(--midnight);
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.65rem 2.5rem 0.65rem 1rem;
  cursor: pointer;
  outline: none;
  transition: border-color 0.25s ease;
  min-width: 200px;
}

.ta-shop-toolbar__ordering select.orderby:hover,
.ta-shop-toolbar__ordering select.orderby:focus {
  border-color: var(--gold);
}

@media (max-width: 600px) {
  .ta-shop-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .ta-shop-toolbar__ordering select.orderby {
    min-width: 100%;
  }
}

/* =====================================================
   WOOCOMMERCE PAGINATION
   ===================================================== */

.woocommerce nav.woocommerce-pagination {
  margin-top: 3rem;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
  display: block;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(12,32,65,0.2);
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: var(--midnight);
  text-decoration: none;
  transition: all 0.25s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--midnight);
  color: var(--off-white);
  border-color: var(--midnight);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--midnight);
  color: var(--gold);
  border-color: var(--midnight);
}

/* =====================================================
   PRODUCT ATTRIBUTES (variable product swatches hint)
   ===================================================== */

.product-attributes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.4rem;
}

.product-attr {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mid-grey);
  background: rgba(12,32,65,0.05);
  padding: 0.2rem 0.5rem;
}

/* =====================================================
   SINGLE PRODUCT PAGE
   ===================================================== */

/* Shorter hero on product pages */
.page-hero--product {
  height: 38vh;
  min-height: 280px;
}

.page-hero--product h1 {
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
}

/* Breadcrumb */
.ta-breadcrumb {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.ta-breadcrumb a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color var(--transition);
}

.ta-breadcrumb a:hover {
  color: var(--gold);
}

.ta-breadcrumb span[aria-hidden] {
  color: rgba(255,255,255,0.3);
}

/* Main wrapper */
.ta-single-product-main {
  padding: 4rem 0 6rem;
}

/* Two-column layout: gallery | summary */
.ta-single-product__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
  margin-bottom: 5rem;
}

@media (max-width: 900px) {
  .ta-single-product__top {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

/* ── Gallery ── */
.ta-single-product__gallery .woocommerce-product-gallery {
  position: sticky;
  top: 100px;
}

/* Main image */
.ta-single-product__gallery .woocommerce-product-gallery__image img,
.ta-single-product__gallery .woocommerce-product-gallery__image a img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Thumbnails strip */
.ta-single-product__gallery .flex-control-thumbs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
  list-style: none;
  padding: 0;
  flex-wrap: wrap;
}

.ta-single-product__gallery .flex-control-thumbs li {
  width: calc(25% - 0.375rem);
  flex-shrink: 0;
}

.ta-single-product__gallery .flex-control-thumbs img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.25s ease;
  border: 1px solid transparent;
}

.ta-single-product__gallery .flex-control-thumbs img:hover,
.ta-single-product__gallery .flex-control-thumbs .flex-active {
  opacity: 1;
  border-color: var(--gold);
}

/* Sale badge on gallery */
.ta-single-product__gallery .woocommerce-badge,
.ta-single-product__gallery span.onsale {
  background: var(--burgundy) !important;
  color: var(--off-white) !important;
  font-family: var(--font-body) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.35rem 0.75rem !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
}

/* ── Summary ── */
.ta-single-product__summary {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Product title */
.ta-single-product__summary .product_title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--midnight) !important;
  line-height: 1.15 !important;
  margin: 0 0 1rem !important;
}

/* Rating stars */
.ta-single-product__summary .woocommerce-product-rating {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ta-single-product__summary .star-rating {
  color: var(--gold) !important;
  font-size: 0.9rem !important;
}

.ta-single-product__summary .woocommerce-review-link {
  font-size: 0.75rem;
  color: var(--mid-grey);
  text-decoration: none;
}

/* Price */
.ta-single-product__summary .price {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  color: var(--burgundy) !important;
  margin-bottom: 1.5rem !important;
  display: block;
}

.ta-single-product__summary .price del {
  color: var(--mid-grey) !important;
  font-size: 1.2rem !important;
  margin-right: 0.5rem;
}

.ta-single-product__summary .price ins {
  text-decoration: none !important;
  color: var(--burgundy) !important;
}

/* Short description */
.ta-single-product__summary .woocommerce-product-details__short-description {
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--dark-black);
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(12,32,65,0.1);
}

.ta-single-product__summary .woocommerce-product-details__short-description p {
  max-width: none;
  color: inherit;
}

/* Variations (size/colour dropdowns) */
.ta-single-product__summary .variations {
  width: 100%;
  border: none;
  margin-bottom: 1.5rem;
}

.ta-single-product__summary .variations td,
.ta-single-product__summary .variations th {
  padding: 0;
  border: none;
  vertical-align: top;
}

.ta-single-product__summary .variations .label {
  padding-bottom: 0.4rem;
  padding-right: 0;
  width: 100%;
  display: block;
}

.ta-single-product__summary .variations .label label {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mid-grey);
  font-family: var(--font-body);
}

.ta-single-product__summary .variations .value {
  width: 100%;
  display: block;
  margin-bottom: 1rem;
}

.ta-single-product__summary .variations select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--off-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230C2041' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  border: 1px solid rgba(12,32,65,0.2);
  color: var(--midnight);
  font-family: var(--font-body);
  font-size: 0.85rem;
  padding: 0.8rem 2.5rem 0.8rem 1rem;
  cursor: pointer;
  outline: none;
  transition: border-color 0.25s ease;
}

.ta-single-product__summary .variations select:focus,
.ta-single-product__summary .variations select:hover {
  border-color: var(--gold);
}

/* Reset variations link */
.ta-single-product__summary .reset_variations {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mid-grey);
  text-decoration: none;
  display: inline-block;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  transition: color var(--transition);
}

.ta-single-product__summary .reset_variations:hover {
  color: var(--burgundy);
}

/* Quantity + Add to cart row */
.ta-single-product__summary .cart {
  display: flex;
  gap: 1rem;
  align-items: stretch;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.ta-single-product__summary .quantity {
  display: flex;
  align-items: center;
  border: 1px solid rgba(12,32,65,0.2);
  background: var(--off-white);
}

.ta-single-product__summary .quantity input.qty {
  width: 52px;
  text-align: center;
  border: none;
  background: transparent;
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--midnight);
  padding: 0.75rem 0.5rem;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
}

.ta-single-product__summary .quantity input.qty::-webkit-inner-spin-button,
.ta-single-product__summary .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

/* Add to cart button */
.ta-single-product__summary .single_add_to_cart_button,
.ta-single-product__summary button.single_add_to_cart_button {
  flex: 1;
  background: var(--midnight) !important;
  color: var(--off-white) !important;
  border: 1px solid var(--midnight) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  cursor: pointer !important;
  transition: background 0.3s ease, border-color 0.3s ease !important;
  min-width: 180px;
}

.ta-single-product__summary .single_add_to_cart_button:hover {
  background: var(--burgundy) !important;
  border-color: var(--burgundy) !important;
}

/* Product meta (SKU, categories, tags) */
.ta-single-product__summary .product_meta {
  font-size: 0.75rem;
  color: var(--mid-grey);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(12,32,65,0.08);
}

.ta-single-product__summary .product_meta span {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.ta-single-product__summary .product_meta .sku_wrapper,
.ta-single-product__summary .product_meta .posted_in,
.ta-single-product__summary .product_meta .tagged_as {
  letter-spacing: 0.08em;
}

.ta-single-product__summary .product_meta a {
  color: var(--midnight);
  text-decoration: none;
  transition: color var(--transition);
}

.ta-single-product__summary .product_meta a:hover {
  color: var(--gold);
}

/* ── Tabs (Description, Reviews, etc.) ── */
.ta-single-product__tabs .woocommerce-tabs {
  margin-top: 0;
}

.ta-single-product__tabs .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0 0 0 0;
  border-bottom: 1px solid rgba(12,32,65,0.12);
}

.ta-single-product__tabs .woocommerce-tabs ul.tabs::before {
  display: none;
}

.ta-single-product__tabs .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  border-radius: 0;
}

.ta-single-product__tabs .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 1rem 2rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mid-grey);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--transition), border-color var(--transition);
}

.ta-single-product__tabs .woocommerce-tabs ul.tabs li.active a,
.ta-single-product__tabs .woocommerce-tabs ul.tabs li a:hover {
  color: var(--midnight);
  border-bottom-color: var(--gold);
}

.ta-single-product__tabs .woocommerce-tabs .panel {
  padding: 3rem 0;
  border: none;
  background: none;
  margin: 0;
}

.ta-single-product__tabs .woocommerce-tabs .panel h2 {
  font-size: 1.4rem;
  color: var(--midnight);
  margin-bottom: 1.5rem;
}

.ta-single-product__tabs .woocommerce-tabs .panel p,
.ta-single-product__tabs .woocommerce-tabs .panel li {
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--dark-black);
  max-width: 70ch;
}

/* Reviews */
.ta-single-product__tabs #reviews #comments ol.commentlist {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.ta-single-product__tabs #reviews #comments ol.commentlist li {
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(12,32,65,0.08);
}

.ta-single-product__tabs #reviews #comments ol.commentlist li .star-rating {
  color: var(--gold);
}

/* Review form */
.ta-single-product__tabs #review_form .comment-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
}

.ta-single-product__tabs #review_form input,
.ta-single-product__tabs #review_form textarea {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(12,32,65,0.2);
  background: var(--off-white);
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--dark-black);
  outline: none;
  transition: border-color var(--transition);
  width: 100%;
}

.ta-single-product__tabs #review_form input:focus,
.ta-single-product__tabs #review_form textarea:focus {
  border-color: var(--gold);
}

.ta-single-product__tabs #review_form input[type="submit"] {
  background: var(--midnight);
  color: var(--off-white);
  border-color: var(--midnight);
  cursor: pointer;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  width: auto;
  padding: 0.85rem 2rem;
  transition: background var(--transition);
}

.ta-single-product__tabs #review_form input[type="submit"]:hover {
  background: var(--burgundy);
  border-color: var(--burgundy);
}

/* Related products */
.ta-single-product__tabs .related.products {
  margin-top: 5rem;
  padding-top: 4rem;
  border-top: 1px solid rgba(12,32,65,0.1);
}

.ta-single-product__tabs .related.products > h2 {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  color: var(--midnight);
  margin-bottom: 2.5rem;
}

/* Upsells */
.ta-single-product__tabs .upsells.products {
  margin-top: 4rem;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .ta-single-product-main {
    padding: 2.5rem 0 4rem;
  }

  .ta-single-product__top {
    gap: 2rem;
    margin-bottom: 3rem;
  }

  .ta-single-product__summary .cart {
    flex-direction: column;
  }

  .ta-single-product__summary .single_add_to_cart_button {
    width: 100% !important;
  }

  .ta-single-product__tabs .woocommerce-tabs ul.tabs li a {
    padding: 0.85rem 1rem;
    font-size: 0.65rem;
  }
}

/* =====================================================
   PRODUCT CARD v2  (.ta-card)
   ===================================================== */

/* Grid reset — ensure 3 cols */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 580px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

/* Card shell */
.ta-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(12,32,65,0.07);
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.ta-card:hover {
  box-shadow: 0 12px 40px rgba(12,32,65,0.12);
  transform: translateY(-3px);
}

/* Image */
.ta-card__img-link { display: block; text-decoration: none; }
.ta-card__img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--light-grey);
}
.ta-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}
.ta-card:hover .ta-card__img { transform: scale(1.05); }

/* Hover overlay */
.ta-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(12,32,65,0.42);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ta-card:hover .ta-card__overlay { opacity: 1; }
.ta-card__overlay-text {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.55);
  padding: 0.6rem 1.4rem;
}

/* Badges */
.ta-badge {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.28rem 0.7rem;
  z-index: 2;
  line-height: 1.4;
}
.ta-badge--sale     { background: var(--burgundy); color: #fff; }
.ta-badge--new      { background: var(--midnight); color: var(--gold); }
.ta-badge--featured { background: var(--gold);     color: var(--midnight); }
.ta-badge--soldout  { background: rgba(0,0,0,0.55); color: #fff; }

/* Body */
.ta-card__body {
  padding: 1rem 1.1rem 0.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  flex: 1;
}
.ta-card__title-link { text-decoration: none; }
.ta-card__name {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--midnight);
  line-height: 1.35;
  margin: 0;
  letter-spacing: 0.01em;
}
.ta-card__price {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--burgundy);
  margin-top: 0.1rem;
}
.ta-card__price del {
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--mid-grey);
  margin-right: 0.35rem;
  text-decoration: line-through;
}
.ta-card__price ins {
  text-decoration: none;
  color: var(--burgundy);
}
/* WooCommerce wraps price in .price */
.ta-card__price .price {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

/* Footer / CTA */
.ta-card__footer {
  padding: 0.6rem 1.1rem 1.1rem;
}
.ta-card-btn {
  display: block;
  width: 100%;
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.8rem 1rem;
  cursor: pointer;
  border: 1px solid var(--midnight);
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  border-radius: 0;
  line-height: 1;
}
.ta-card-btn--filled {
  background: var(--midnight);
  color: var(--off-white);
}
.ta-card-btn--filled:hover {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}
.ta-card-btn--outline {
  background: transparent;
  color: var(--midnight);
}
.ta-card-btn--outline:hover {
  background: var(--midnight);
  color: var(--off-white);
}

/* =====================================================
   SINGLE PRODUCT PAGE  (.tabe-product-page)
   ===================================================== */

.tabe-product-page {
  background: var(--off-white);
  min-height: 60vh;
}

/* Breadcrumb bar */
.tabe-product-page__breadcrumb-bar {
  background: var(--midnight);
  padding: 4.5rem 0 1rem; /* top padding clears fixed nav */
}
.tabe-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tabe-breadcrumb a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color var(--transition);
}
.tabe-breadcrumb a:hover { color: var(--gold); }
.tabe-breadcrumb__sep { color: rgba(255,255,255,0.25); }
.tabe-breadcrumb__current { color: rgba(255,255,255,0.85); }

/* Main */
.tabe-product-page__main {
  padding: 3rem 0 6rem;
}

/* ── Layout: gallery | right-column ── */
.tabe-product__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-bottom: 5rem;
}
@media (max-width: 960px) {
  .tabe-product__layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

/* Right column stacks summary + delivery */
.tabe-product__right {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

/* ── Gallery ── */
.tabe-product__gallery .woocommerce-product-gallery {
  position: sticky;
  top: 90px;
}
.tabe-product__gallery .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
/* Thumbnails */
.tabe-product__gallery .flex-control-thumbs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.6rem;
  list-style: none;
  padding: 0;
  flex-wrap: wrap;
}
.tabe-product__gallery .flex-control-thumbs li {
  width: calc(25% - 0.375rem);
}
.tabe-product__gallery .flex-control-thumbs img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.55;
  border: 1px solid transparent;
  transition: opacity 0.2s, border-color 0.2s;
}
.tabe-product__gallery .flex-control-thumbs img:hover,
.tabe-product__gallery .flex-control-thumbs .flex-active {
  opacity: 1;
  border-color: var(--gold);
}
/* Sale flash */
.tabe-product__gallery span.onsale {
  background: var(--burgundy) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.3rem 0.7rem !important;
  min-height: auto !important;
  min-width: auto !important;
}

/* ── Summary ── */
.tabe-product__cats {
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.6rem;
}
.tabe-product__cats a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition);
}
.tabe-product__cats a:hover { color: var(--midnight); }

/* Title */
.tabe-product__summary .product_title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.7rem, 3vw, 2.6rem) !important;
  font-weight: 700 !important;
  color: var(--midnight) !important;
  line-height: 1.15 !important;
  margin: 0 0 0.75rem !important;
}

/* Rating */
.tabe-product__summary .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.tabe-product__summary .star-rating { color: var(--gold) !important; }
.tabe-product__summary .woocommerce-review-link {
  font-size: 0.75rem;
  color: var(--mid-grey);
  text-decoration: none;
}

/* Price */
.tabe-product__summary p.price,
.tabe-product__summary span.price {
  font-family: var(--font-display) !important;
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  color: var(--burgundy) !important;
  display: block;
  margin-bottom: 1.25rem !important;
  line-height: 1.2;
}
.tabe-product__summary p.price del,
.tabe-product__summary span.price del {
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: var(--mid-grey) !important;
  margin-right: 0.4rem;
}
.tabe-product__summary p.price ins,
.tabe-product__summary span.price ins {
  text-decoration: none !important;
  color: var(--burgundy) !important;
}

/* Short description */
.tabe-product__summary .woocommerce-product-details__short-description {
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--dark-black);
  margin-bottom: 1.75rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid rgba(12,32,65,0.1);
}
.tabe-product__summary .woocommerce-product-details__short-description p {
  max-width: none;
  color: inherit;
}

/* Variations */
.tabe-product__summary table.variations {
  width: 100%;
  border: none;
  border-collapse: collapse;
  margin-bottom: 1.25rem;
}
.tabe-product__summary table.variations td,
.tabe-product__summary table.variations th {
  padding: 0 0 0.75rem;
  border: none;
  display: block;
  width: 100%;
}
.tabe-product__summary table.variations .label label {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mid-grey);
  font-weight: 600;
  display: block;
  margin-bottom: 0.4rem;
}
.tabe-product__summary table.variations select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background: var(--off-white)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230C2041' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right 1rem center;
  border: 1px solid rgba(12,32,65,0.2);
  color: var(--midnight);
  font-family: var(--font-body);
  font-size: 0.9rem;
  padding: 0.8rem 2.5rem 0.8rem 1rem;
  cursor: pointer;
  outline: none;
  transition: border-color 0.25s;
}
.tabe-product__summary table.variations select:focus,
.tabe-product__summary table.variations select:hover {
  border-color: var(--gold);
}
.tabe-product__summary .reset_variations {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mid-grey);
  text-decoration: none;
  display: inline-block;
  margin-bottom: 1rem;
  transition: color var(--transition);
}
.tabe-product__summary .reset_variations:hover { color: var(--burgundy); }

/* Quantity + Add to cart */
.tabe-product__summary form.cart {
  display: flex;
  gap: 0.75rem;
  align-items: stretch;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.tabe-product__summary .quantity {
  display: flex;
  align-items: center;
  border: 1px solid rgba(12,32,65,0.2);
  background: #fff;
  flex-shrink: 0;
}
.tabe-product__summary .quantity input.qty {
  width: 52px;
  text-align: center;
  border: none;
  background: transparent;
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--midnight);
  padding: 0.8rem 0.4rem;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
}
.tabe-product__summary .quantity input.qty::-webkit-inner-spin-button,
.tabe-product__summary .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

/* Add to cart button */
.tabe-product__summary .single_add_to_cart_button {
  flex: 1;
  background: var(--midnight) !important;
  color: var(--off-white) !important;
  border: 1px solid var(--midnight) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 1rem 1.75rem !important;
  cursor: pointer !important;
  transition: background 0.25s, border-color 0.25s !important;
  min-width: 160px;
}
.tabe-product__summary .single_add_to_cart_button:hover {
  background: var(--burgundy) !important;
  border-color: var(--burgundy) !important;
}

/* Product meta */
.tabe-product__summary .product_meta {
  font-size: 0.75rem;
  color: var(--mid-grey);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(12,32,65,0.08);
  letter-spacing: 0.06em;
}
.tabe-product__summary .product_meta a {
  color: var(--midnight);
  text-decoration: none;
  transition: color var(--transition);
}
.tabe-product__summary .product_meta a:hover { color: var(--gold); }

/* ── Delivery Sidebar ── */
.tabe-delivery {
  background: var(--midnight);
  color: var(--off-white);
  padding: 1.75rem;
}
.tabe-delivery__header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.tabe-delivery__icon {
  font-size: 1.1rem;
  color: var(--gold);
}
.tabe-delivery__title {
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--off-white);
  margin: 0;
}
.tabe-delivery__note {
  font-size: 0.82rem;
  line-height: 1.65;
  color: rgba(242,242,242,0.7);
  margin-bottom: 1.25rem;
  max-width: none;
}
.tabe-delivery__note strong { color: var(--gold); font-weight: 600; }

/* Region selector */
.tabe-delivery__label {
  display: block;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(242,242,242,0.5);
  margin-bottom: 0.4rem;
}
.tabe-delivery__select-wrap {
  position: relative;
  margin-bottom: 1rem;
}
.tabe-delivery__select-wrap::after {
  content: '';
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid var(--gold);
  pointer-events: none;
}
.tabe-delivery__select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(232,191,128,0.3);
  color: var(--off-white);
  font-family: var(--font-body);
  font-size: 0.82rem;
  padding: 0.7rem 2.5rem 0.7rem 0.85rem;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}
.tabe-delivery__select:focus { border-color: var(--gold); }
.tabe-delivery__select option { background: var(--midnight); color: var(--off-white); }

/* Delivery info rows */
.tabe-delivery__info { display: none; }
.tabe-delivery__info--active { display: block; }
.tabe-delivery__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  font-size: 0.8rem;
}
.tabe-delivery__row:last-child { border-bottom: none; }
.tabe-delivery__row-label { color: rgba(242,242,242,0.5); flex-shrink: 0; }
.tabe-delivery__row-value { color: var(--off-white); text-align: right; }

/* Perks list */
.tabe-delivery__perks {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.tabe-delivery__perks li {
  font-size: 0.78rem;
  color: rgba(242,242,242,0.65);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.tabe-delivery__perk-icon {
  color: var(--gold);
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* ── Tabs below ── */
.tabe-product__below { margin-top: 1rem; }

.tabe-product__below .woocommerce-tabs ul.tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid rgba(12,32,65,0.12);
}
.tabe-product__below .woocommerce-tabs ul.tabs::before { display: none; }
.tabe-product__below .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  border-radius: 0;
}
.tabe-product__below .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.9rem 1.75rem;
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mid-grey);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--transition), border-color var(--transition);
}
.tabe-product__below .woocommerce-tabs ul.tabs li.active a,
.tabe-product__below .woocommerce-tabs ul.tabs li a:hover {
  color: var(--midnight);
  border-bottom-color: var(--gold);
}
.tabe-product__below .woocommerce-tabs .panel {
  padding: 2.5rem 0;
  border: none;
  background: none;
  margin: 0;
}
.tabe-product__below .woocommerce-tabs .panel h2 {
  font-size: 1.3rem;
  color: var(--midnight);
  margin-bottom: 1.25rem;
}
.tabe-product__below .woocommerce-tabs .panel p,
.tabe-product__below .woocommerce-tabs .panel li {
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--dark-black);
  max-width: 70ch;
}

/* Related / upsells */
.tabe-product__below .related.products,
.tabe-product__below .upsells.products {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(12,32,65,0.1);
}
.tabe-product__below .related.products > h2,
.tabe-product__below .upsells.products > h2 {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  color: var(--midnight);
  margin-bottom: 2rem;
}

/* Review form */
.tabe-product__below #review_form input,
.tabe-product__below #review_form textarea {
  padding: 0.8rem 1rem;
  border: 1px solid rgba(12,32,65,0.18);
  background: #fff;
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--dark-black);
  outline: none;
  transition: border-color var(--transition);
  width: 100%;
}
.tabe-product__below #review_form input:focus,
.tabe-product__below #review_form textarea:focus { border-color: var(--gold); }
.tabe-product__below #review_form input[type="submit"] {
  background: var(--midnight);
  color: var(--off-white);
  border-color: var(--midnight);
  cursor: pointer;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  width: auto;
  padding: 0.8rem 2rem;
  transition: background var(--transition);
}
.tabe-product__below #review_form input[type="submit"]:hover {
  background: var(--burgundy);
  border-color: var(--burgundy);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .tabe-product-page__main { padding: 2rem 0 4rem; }
  .tabe-product__layout { margin-bottom: 3rem; }
  .tabe-product__summary form.cart { flex-direction: column; }
  .tabe-product__summary .single_add_to_cart_button { width: 100% !important; }
  .tabe-product__below .woocommerce-tabs ul.tabs li a {
    padding: 0.75rem 0.85rem;
    font-size: 0.62rem;
  }
}

/* =====================================================
   DELIVERY SIDEBAR v2 — Material Icons + WC Calculator
   ===================================================== */

/* Material Icons baseline fix */
.material-icons-round {
  font-family: 'Material Icons Round';
  font-style: normal;
  font-weight: normal;
  font-size: 1.1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  user-select: none;
}

.tabe-delivery {
  background: var(--midnight);
  color: var(--off-white);
  padding: 1.75rem;
}

/* Header */
.tabe-delivery__header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(232,191,128,0.2);
}
.tabe-delivery__header .material-icons-round {
  font-size: 1.3rem;
  color: var(--gold);
}
.tabe-delivery__title {
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--off-white);
  margin: 0;
}

/* Lead time notice */
.tabe-delivery__lead-time {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  background: rgba(232,191,128,0.1);
  border-left: 2px solid var(--gold);
  padding: 0.75rem 0.85rem;
  margin-bottom: 1.25rem;
}
.tabe-delivery__lead-time .material-icons-round {
  color: var(--gold);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.15rem;
}
.tabe-delivery__lead-time p {
  font-size: 0.8rem;
  line-height: 1.6;
  color: rgba(242,242,242,0.75);
  margin: 0;
  max-width: none;
}
.tabe-delivery__lead-time strong {
  color: var(--gold);
  font-weight: 600;
}

/* Calculator section */
.tabe-delivery__calculator {
  margin-bottom: 1.25rem;
}
.tabe-delivery__calc-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(242,242,242,0.55);
  margin-bottom: 0.75rem;
}
.tabe-delivery__calc-label .material-icons-round {
  font-size: 0.95rem;
  color: var(--gold);
}
.tabe-delivery__calc-hint {
  font-size: 0.8rem;
  color: rgba(242,242,242,0.55);
  line-height: 1.6;
  margin: 0 0 0.75rem;
  max-width: none;
}
.tabe-delivery__base-location {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: rgba(242,242,242,0.6);
  margin: 0;
  max-width: none;
}
.tabe-delivery__base-location .material-icons-round {
  font-size: 0.9rem;
  color: var(--gold);
}
.tabe-delivery__base-location strong {
  color: var(--off-white);
}

/* WooCommerce shipping calculator — styled for dark panel */
.tabe-delivery .shipping-calculator-form,
.tabe-delivery .woocommerce-shipping-calculator {
  margin: 0;
}
.tabe-delivery .shipping-calculator-form p,
.tabe-delivery .woocommerce-shipping-calculator p {
  margin-bottom: 0.6rem;
  max-width: none;
}
.tabe-delivery .shipping-calculator-form select,
.tabe-delivery .shipping-calculator-form input[type="text"],
.tabe-delivery .shipping-calculator-form input[type="number"] {
  width: 100%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(232,191,128,0.25);
  color: var(--off-white);
  font-family: var(--font-body);
  font-size: 0.82rem;
  padding: 0.65rem 0.85rem;
  outline: none;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}
.tabe-delivery .shipping-calculator-form select:focus,
.tabe-delivery .shipping-calculator-form input:focus {
  border-color: var(--gold);
}
.tabe-delivery .shipping-calculator-form select option {
  background: var(--midnight);
  color: var(--off-white);
}
.tabe-delivery .shipping-calculator-form .button,
.tabe-delivery .shipping-calculator-form button[type="submit"] {
  width: 100% !important;
  background: var(--gold) !important;
  color: var(--midnight) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1rem !important;
  cursor: pointer !important;
  margin-top: 0.5rem !important;
  transition: background 0.25s, color 0.25s !important;
}
.tabe-delivery .shipping-calculator-form .button:hover,
.tabe-delivery .shipping-calculator-form button[type="submit"]:hover {
  background: var(--off-white) !important;
  color: var(--midnight) !important;
}

/* Shipping rates result table */
.tabe-delivery .woocommerce-shipping-destination,
.tabe-delivery .woocommerce-shipping-totals {
  font-size: 0.8rem;
  color: rgba(242,242,242,0.7);
  margin-top: 0.75rem;
  max-width: none;
}
.tabe-delivery .woocommerce-shipping-totals td,
.tabe-delivery .woocommerce-shipping-totals th {
  color: var(--off-white);
  font-size: 0.8rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.tabe-delivery .woocommerce-shipping-totals .amount {
  color: var(--gold);
  font-weight: 700;
}

/* Perks list */
.tabe-delivery__perks {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.tabe-delivery__perks li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.78rem;
  color: rgba(242,242,242,0.65);
}
.tabe-delivery__perk-icon {
  font-size: 0.95rem !important;
  color: var(--gold);
  flex-shrink: 0;
}

/* =====================================================
   CART — Proceed to Checkout CTA
   ===================================================== */

.wc-proceed-to-checkout {
  padding: 0 !important;
  margin-top: 1rem;
}

.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: var(--gold) !important;
  color: var(--midnight) !important;
  border: 2px solid var(--gold) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 1.1rem 2rem !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
  position: relative;
}

.wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
  background: var(--midnight) !important;
  color: var(--gold) !important;
  border-color: var(--midnight) !important;
}

/* =====================================================
   HEADER — solid on pages without a hero
   ===================================================== */

/* Pages without a full-bleed hero get a solid header immediately,
   no scrolling required. The .no-hero class is added server-side. */
body.no-hero .site-header {
  background: rgba(12,32,65,0.97) !important;
  backdrop-filter: blur(10px);
}

/* Also ensure nav text is always visible on these pages */
body.no-hero .nav-menu a,
body.no-hero .nav-action-btn {
  color: var(--off-white);
}

/* Single product page — breadcrumb bar is midnight,
   header sits above it so keep it solid too */
body.single-product .site-header {
  background: rgba(12,32,65,0.97) !important;
  backdrop-filter: blur(10px);
}
body.single-product .nav-menu a,
body.single-product .nav-action-btn {
  color: var(--off-white);
}

/* =====================================================
   CART BLOCK — Proceed to Checkout (block-based cart)
   ===================================================== */

.wc-block-cart__submit-container {
  padding: 0 !important;
}

.wc-block-cart__submit-button.wc-block-cart__submit-button,
a.wc-block-cart__submit-button {
  display: block !important;
  width: 100% !important;
  background-color: var(--gold) !important;
  color: var(--midnight) !important;
  border: 2px solid var(--gold) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 1.1rem 2rem !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
  /* Override WooCommerce block CSS custom properties */
  --wp-components-color-accent: var(--gold);
  --wp-components-color-accent-darker-10: var(--burgundy);
  --wp-components-color-accent-darker-20: var(--burgundy);
}

.wc-block-cart__submit-button.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button.wc-block-cart__submit-button:focus,
a.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:focus {
  background-color: var(--midnight) !important;
  color: var(--gold) !important;
  border-color: var(--midnight) !important;
}

.wc-block-cart__submit-button .wc-block-components-button__text {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

/* =====================================================
   FOOTER — nav arrow links + contact icons
   ===================================================== */

/* Arrow icon on nav/policy links */
.footer-col ul li a {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  position: relative;
  overflow: hidden;
}

.footer-link-arrow {
  font-size: 0.9rem !important;
  color: var(--gold);
  flex-shrink: 0;
  transition: transform 0.25s ease;
  display: inline-flex;
  align-items: center;
}

.footer-col ul li a:hover .footer-link-arrow {
  transform: translateX(4px);
}

/* Contact list — no arrow, icon-led layout */
.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem !important;
}

.footer-contact-list li {
  display: flex;
  align-items: flex-start;
}

.footer-contact-link {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.9rem;
  text-decoration: none;
  transition: color var(--transition) !important;
  line-height: 1.4;
}

.footer-contact-link:hover {
  color: var(--off-white) !important;
}

.footer-contact-icon {
  font-size: 1rem !important;
  color: var(--gold) !important;
  flex-shrink: 0;
  line-height: 1;
}

/* WhatsApp icon sizing (Font Awesome) */
.footer-contact-icon--wa {
  font-size: 1.05rem !important;
}

/* Location row (not a link) */
.footer-contact-location {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  color: rgba(255,255,255,0.55);
  font-size: 0.9rem;
}

.footer-contact-location .material-icons-round {
  font-size: 1rem !important;
  color: var(--gold);
  flex-shrink: 0;
}

/* Mobile: keep contact list left-aligned even when footer centres */
@media (max-width: 768px) {
  .footer-contact-list {
    align-items: center;
  }
  .footer-contact-location {
    justify-content: center;
  }
}

/* =====================================================
   CONTACT FORM — feedback message + loading state
   ===================================================== */

.booking-msg {
  padding: 1rem 1.25rem;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  border-left: 3px solid var(--gold);
}

.booking-msg--success {
  background: rgba(12,32,65,0.05);
  border-color: var(--midnight);
  color: var(--midnight);
}

.booking-msg--error {
  background: rgba(73,12,33,0.06);
  border-color: var(--burgundy);
  color: var(--burgundy);
}

.booking-submit {
  position: relative;
  transition: opacity 0.2s ease;
}

.booking-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* =====================================================
   MOBILE NAV DRAWER — lives outside <header> on <body>
   Guaranteed fixed positioning, no parent interference
   ===================================================== */

/* Hide desktop nav on mobile */
@media (max-width: 768px) {
  .nav-menu--desktop { display: none !important; }
}

/* Full-screen overlay — same style as old nav-menu.open */
.mobile-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: rgba(10,10,10,0.98);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-nav.is-open {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.mobile-nav__inner {
  width: 100%;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  position: relative;
}

/* Close button — top right, thin X matching hamburger style */
.mobile-nav__close {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  z-index: 100000;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hide the Font Awesome icon — use CSS lines instead */
.mobile-nav__close i { display: none; }

.mobile-nav__close::before,
.mobile-nav__close::after {
  content: '';
  position: absolute;
  width: 28px;
  height: 1px;
  background: rgba(255,255,255,0.75);
  transition: background 0.25s ease;
}
.mobile-nav__close::before { transform: rotate(45deg); }
.mobile-nav__close::after  { transform: rotate(-45deg); }
.mobile-nav__close:hover::before,
.mobile-nav__close:hover::after { background: var(--gold); }

/* Menu list — centred, large, uppercase */
.mobile-nav__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 100%;
}

.mobile-nav__menu > li {
  text-align: center;
}

.mobile-nav__menu > li > a {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--off-white);
  text-decoration: none;
  position: relative;
  transition: color 0.25s;
}

/* Gold underline on hover — same as old desktop nav */
.mobile-nav__menu > li > a::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 0.3s ease;
}
.mobile-nav__menu > li > a:hover { color: var(--gold); }
.mobile-nav__menu > li > a:hover::after { width: 100%; }

/* Submenu toggle button */
.mobile-nav__sub-toggle {
  background: none;
  border: none;
  color: var(--gold);
  cursor: pointer;
  padding: 0 0.4rem;
  font-size: 0.7rem;
  transition: transform 0.25s;
  vertical-align: middle;
}
.mobile-nav__sub-toggle.open { transform: rotate(180deg); }

/* Submenu */
.mobile-nav__submenu {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
  display: none;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
  border-left: 2px solid var(--gold);
  padding-left: 1rem;
}
.mobile-nav__submenu.open { display: flex; }
.mobile-nav__submenu li a {
  font-size: 0.82rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(242,242,242,0.7);
  text-decoration: none;
  transition: color 0.2s;
}
.mobile-nav__submenu li a:hover { color: var(--gold); }

/* CTA button inside mobile nav */
.mobile-nav__menu .btn {
  margin-top: 0.5rem;
  color: var(--dark-black) !important;
}

/* Body lock when drawer open — overflow on html is most reliable */
body.mobile-nav-open {
  overflow: hidden;
}
