/*
Theme Name: Blu Acua
Theme URI: https://bluacua.com
Author: Blu Acua
Description: Premium WooCommerce theme for bluAcua – Experience Uniqueness.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: blu-acua
Tags: woocommerce, e-commerce, custom-colors, custom-logo
*/

/* ── TOKENS ───────────────────────────────────────────────────── */
:root{
  --navy:#1B2D51; --navy-deep:#0D1830; --navy-mid:#243660;
  --blue:#0C49D7; --blue-dk:#0939AD; --blue-lt:#EBF0FD;
  --teal:#1ED8CA; --teal-dk:#14B8AB; --teal-lt:#E4FAF8;
  --white:#FFFFFF; --off:#F4F7FE; --light:#E8EFF9;
  --muted:#6B7A99; --hint:#9DAAC0; --border:#E0E8F4;
  --near-black:#0D1525;
  --success:#0BAD8F; --danger:#E03E3E; --warn:#F59E0B;

  --font-d:'Playfair Display',Georgia,serif;
  --font-b:'DM Sans',system-ui,sans-serif;

  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:16px;
  --r-xl:20px; --r-2xl:28px; --r-pill:100px;

  --sh-xs:0 1px 4px rgba(12,73,215,.05);
  --sh-sm:0 2px 10px rgba(12,73,215,.08);
  --sh-md:0 4px 24px rgba(12,73,215,.11);
  --sh-lg:0 8px 48px rgba(12,73,215,.15);
  --sh-xl:0 16px 64px rgba(12,73,215,.18);

  --dur:.22s; --ease:cubic-bezier(.4,0,.2,1);
  --max:1240px;
}

/* ── RESET ────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-b);color:var(--near-black);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--dur)}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}

/* ── TYPE ─────────────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{font-family:var(--font-d);color:var(--navy);line-height:1.2;font-weight:700}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3vw,2.4rem)}
h3{font-size:clamp(1.05rem,2vw,1.35rem)}

/* ── LAYOUT ───────────────────────────────────────────────────── */
.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.section-pad{padding:5.5rem 0}
.section-pad--sm{padding:3.5rem 0}

/* ── BUTTONS ──────────────────────────────────────────────────── */
.blu-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.78rem 1.75rem;border-radius:var(--r-sm);
  font-family:var(--font-b);font-weight:600;font-size:.85rem;
  letter-spacing:.05em;text-transform:uppercase;
  transition:all var(--dur) var(--ease);cursor:pointer;border:2px solid transparent;
  white-space:nowrap;
}
.blu-btn--primary{background:var(--blue);color:var(--white);border-color:var(--blue)}
.blu-btn--primary:hover{background:var(--blue-dk);border-color:var(--blue-dk);transform:translateY(-2px);box-shadow:0 6px 20px rgba(12,73,215,.3)}
.blu-btn--teal{background:var(--teal);color:var(--navy);border-color:var(--teal)}
.blu-btn--teal:hover{background:var(--teal-dk);border-color:var(--teal-dk);transform:translateY(-2px)}
.blu-btn--outline{background:transparent;color:var(--blue);border-color:var(--blue)}
.blu-btn--outline:hover{background:var(--blue);color:var(--white);transform:translateY(-2px)}
.blu-btn--ghost{background:rgba(255,255,255,.1);color:var(--white);border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.blu-btn--ghost:hover{background:var(--white);color:var(--navy)}
.blu-btn--sm{padding:.5rem 1.15rem;font-size:.75rem}
.blu-btn--lg{padding:.95rem 2.2rem;font-size:.92rem}
.blu-btn--full{width:100%}
.blu-btn--icon{
  width:40px;height:40px;padding:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;transition:all var(--dur);color:var(--navy);
}
.blu-btn--icon:hover{background:var(--light);color:var(--blue)}
.blu-link{color:var(--blue);font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem;transition:gap var(--dur)}
.blu-link:hover{gap:.55rem}

/* ── LOADER ───────────────────────────────────────────────────── */
#blu-loader{
  position:fixed;inset:0;background:var(--white);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;transition:opacity .4s,visibility .4s;
}
#blu-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.blu-loader__drop{
  width:40px;height:52px;
  background:linear-gradient(150deg,var(--teal),var(--blue));
  border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  animation:drp .9s ease-in-out infinite alternate;
}
@keyframes drp{from{transform:translateY(-12px) scale(1,1.06)}to{transform:translateY(8px) scale(1.06,.94)}}

/* ── ANNOUNCE BAR ─────────────────────────────────────────────── */
.blu-announce{
  background:var(--navy-deep);color:var(--white);
  text-align:center;padding:.45rem 1rem;
  font-size:.78rem;letter-spacing:.06em;font-weight:500;
}
.blu-announce a{color:var(--teal)}

/* ── HEADER ───────────────────────────────────────────────────── */
.blu-header{
  position:sticky;top:0;z-index:800;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border);
  transition:box-shadow var(--dur),background var(--dur);
  backdrop-filter:blur(12px);
}
.blu-header.scrolled{box-shadow:0 2px 24px rgba(12,73,215,.09)}
.blu-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  height:68px;gap:2rem;
}
.blu-header__logo img{height:44px;width:auto;object-fit:contain}
.blu-header__site-name{font-family:var(--font-d);font-size:1.5rem;font-weight:700;color:var(--navy)}
.blu-header__actions{display:flex;align-items:center;gap:.1rem}
.blu-cart-count{
  background:var(--blue);color:var(--white);
  font-size:.58rem;font-weight:700;min-width:16px;height:16px;
  border-radius:10px;padding:0 3px;
  display:flex;align-items:center;justify-content:center;
  position:absolute;top:-2px;right:-2px;border:2px solid var(--white);
}

/* Nav */
.blu-nav__list{display:flex;align-items:center}
.blu-nav__list a{
  padding:.5rem .9rem;border-radius:var(--r-sm);
  font-weight:500;font-size:.88rem;color:var(--navy);
  transition:all var(--dur);position:relative;
}
.blu-nav__list a::after{
  content:'';position:absolute;bottom:3px;left:.9rem;right:.9rem;
  height:2px;background:var(--teal);border-radius:2px;
  transform:scaleX(0);transition:transform var(--dur);transform-origin:left;
}
.blu-nav__list a:hover{color:var(--blue)}
.blu-nav__list a:hover::after,.blu-nav__list .current-menu-item>a::after{transform:scaleX(1)}
.blu-nav__list .current-menu-item>a{color:var(--blue)}
.blu-nav-toggle{display:none}

/* ── MOBILE NAV ───────────────────────────────────────────────── */
.blu-mobile-nav{
  position:fixed;top:0;right:-100%;width:min(310px,88vw);
  height:100vh;background:var(--white);z-index:850;
  padding:1.5rem;overflow-y:auto;
  transition:right .32s var(--ease);box-shadow:var(--sh-xl);
}
.blu-mobile-nav.is-open{right:0}
.blu-mobile-nav__close{position:absolute;top:1.15rem;right:1.15rem;color:var(--navy)}
.blu-mobile-nav__list{margin-top:3.5rem}
.blu-mobile-nav__list li{border-bottom:1px solid var(--border)}
.blu-mobile-nav__list a{display:block;padding:.85rem 0;font-weight:600;font-size:1rem;color:var(--navy)}
.blu-mobile-nav__list a:hover{color:var(--blue);padding-left:.5rem}
.blu-mobile-nav__cart{
  display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;
  padding:.75rem 1rem;background:var(--off);border-radius:var(--r-md);font-weight:600;color:var(--navy);
}
.blu-overlay-backdrop{
  display:none;position:fixed;inset:0;
  background:rgba(9,14,30,.6);z-index:820;backdrop-filter:blur(3px);
}
.blu-overlay-backdrop.is-active{display:block}

/* ── SEARCH OVERLAY ───────────────────────────────────────────── */
.blu-search-overlay{
  position:fixed;inset:0;background:rgba(9,14,30,.97);
  z-index:900;display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:all .25s;
}
.blu-search-overlay.is-open{opacity:1;visibility:visible}
.blu-search-overlay__close{position:absolute;top:2rem;right:2rem;color:var(--white)}
.blu-search-overlay .search-form{width:min(600px,90vw)}
.blu-search-overlay .search-field{
  width:100%;padding:1rem 0;font-size:1.35rem;
  border:none;border-bottom:2px solid rgba(255,255,255,.2);
  background:transparent;color:var(--white);outline:none;
  transition:border-color var(--dur);
}
.blu-search-overlay .search-field:focus{border-bottom-color:var(--teal)}
.blu-search-overlay .search-field::placeholder{color:rgba(255,255,255,.3)}
.blu-search-overlay .search-submit{display:none}

/* ── CART DRAWER ──────────────────────────────────────────────── */
.blu-cart-drawer{
  position:fixed;top:0;right:-430px;width:410px;height:100vh;
  background:var(--white);z-index:840;
  display:flex;flex-direction:column;
  transition:right .32s var(--ease);box-shadow:var(--sh-xl);
}
.blu-cart-drawer.is-open{right:0}
.blu-cart-drawer__header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);
  background:var(--off);
}
.blu-cart-drawer__header h2{font-size:.95rem;font-weight:700;font-family:var(--font-b);color:var(--navy)}
.blu-cart-drawer__body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}

/* ── PAGE HERO (inner) ────────────────────────────────────────── */
.blu-page-hero{
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy-mid) 100%);
  padding:2.75rem 0;color:var(--white);position:relative;overflow:hidden;
}
.blu-page-hero::after{
  content:'';position:absolute;right:-100px;top:-100px;
  width:350px;height:350px;border-radius:50%;
  border:1px solid rgba(30,216,202,.1);pointer-events:none;
}
.blu-page-hero h1{color:var(--white);font-size:clamp(1.4rem,3.5vw,2.1rem);margin-bottom:.4rem}
.blu-breadcrumb{
  font-size:.8rem;color:rgba(255,255,255,.5);
  display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem;
}
.blu-breadcrumb a{color:var(--teal)}
.blu-breadcrumb a:hover{opacity:.8}
.blu-breadcrumb__sep{opacity:.3}

/* ── SECTION LABELS ───────────────────────────────────────────── */
.blu-section-head{text-align:center;margin-bottom:3rem}
.blu-section-head--split{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem;
}
.blu-eyebrow{
  display:inline-block;font-size:.7rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--teal-dk);margin-bottom:.55rem;
}
.blu-section-head h2{margin-bottom:.65rem}
.blu-section-head p{color:var(--muted);max-width:500px;margin:0 auto;font-size:.92rem}

/* ── HERO ─────────────────────────────────────────────────────── */
.blu-hero{
  position:relative;min-height:90vh;
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-mid) 100%) center/cover no-repeat;
  display:flex;align-items:center;overflow:hidden;
}
/* image bg when set */
.blu-hero[style*="background-image"]{background-blend-mode:luminosity}
/* overlay ONLY on front page — off by default */
.blu-hero::before{content:none;display:none}
body.home .blu-hero::before,
body.page-template-front-page .blu-hero::before,
body:not(.no-hero-overlay):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce):not(.single-product):not(.tax-product_cat):not(.post-type-archive-product):not(.search-results):not(.error404):not(.page):not(.single-post):not(.archive) .blu-hero::before{
  content:'';display:block;position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(9,14,30,.88) 0%,rgba(12,73,215,.22) 55%,rgba(30,216,202,.1) 100%);
  z-index:1;
}
/* decorative rings */
.blu-hero::after{
  content:'';position:absolute;right:-120px;top:50%;transform:translateY(-50%);
  width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(30,216,202,.1);z-index:1;pointer-events:none;
}
.blu-hero__ring2{
  position:absolute;right:80px;top:50%;transform:translateY(-50%);
  width:280px;height:280px;border-radius:50%;
  border:1px solid rgba(30,216,202,.06);z-index:1;pointer-events:none;
}
/* left accent bar */
.blu-hero__bar{
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(to bottom,var(--teal),var(--blue));z-index:2;
}
.blu-hero__content{position:relative;z-index:3;color:var(--white);max-width:640px;padding:2rem 0}
.blu-hero__eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(30,216,202,.12);color:var(--teal);
  border:1px solid rgba(30,216,202,.28);border-radius:var(--r-pill);
  padding:.3rem 1rem;font-size:.72rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.25rem;
}
.blu-hero__dot{width:5px;height:5px;border-radius:50%;background:var(--teal)}
.blu-hero__heading{
  font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.08;color:var(--white);
  margin-bottom:1.2rem;
}
.blu-hero__heading em{color:var(--teal);font-style:italic}
.blu-hero__sub{font-size:1.05rem;color:rgba(255,255,255,.72);margin-bottom:2.25rem;max-width:500px;line-height:1.8}
.blu-hero__cta{display:flex;gap:1rem;flex-wrap:wrap}
.blu-hero__stats{
  display:flex;gap:2.5rem;margin-top:3.5rem;
  padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap;
}
.blu-hero__stat-num{font-family:var(--font-d);font-size:1.9rem;font-weight:700;color:var(--teal);line-height:1}
.blu-hero__stat-lbl{font-size:.65rem;color:rgba(255,255,255,.45);margin-top:.2rem;text-transform:uppercase;letter-spacing:.08em}

/* ── USP STRIP ────────────────────────────────────────────────── */
.blu-usp{background:var(--navy);padding:1.5rem 0}
.blu-usp__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.blu-usp__item{display:flex;align-items:center;gap:.85rem;color:var(--white)}
.blu-usp__icon{
  width:40px;height:40px;flex-shrink:0;border-radius:var(--r-sm);
  background:rgba(30,216,202,.13);border:1px solid rgba(30,216,202,.25);
  display:flex;align-items:center;justify-content:center;color:var(--teal);
}
.blu-usp__title{font-size:.85rem;font-weight:700;color:var(--white);margin-bottom:.1rem}
.blu-usp__sub{font-size:.72rem;color:rgba(255,255,255,.45)}

/* ── PRODUCT GRID ─────────────────────────────────────────────── */
.blu-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.blu-pgrid--4{grid-template-columns:repeat(4,1fr)}
.blu-pgrid--3{grid-template-columns:repeat(3,1fr)}

/* ── PRODUCT CARD ─────────────────────────────────────────────── */
.blu-pcard{
  background:var(--white);border-radius:var(--r-xl);
  border:1px solid var(--border);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  position:relative;
}
.blu-pcard:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:rgba(12,73,215,.2)}

/* featured variant */
.blu-pcard--featured{border:2px solid var(--blue);box-shadow:var(--sh-md)}
.blu-pcard--featured .blu-pcard__featured-label{
  background:var(--blue);color:var(--white);
  text-align:center;font-size:.62rem;font-weight:700;letter-spacing:.1em;padding:5px;
}

/* image area */
.blu-pcard__img{
  position:relative;aspect-ratio:1;overflow:hidden;
  background:linear-gradient(145deg,var(--teal-lt),var(--blue-lt));
}
.blu-pcard__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--ease);
}
.blu-pcard:hover .blu-pcard__img img{transform:scale(1.08)}

/* hover actions */
.blu-pcard__actions{
  position:absolute;bottom:0;left:0;right:0;padding:.75rem;
  background:linear-gradient(to top,rgba(9,14,30,.82) 0%,transparent 100%);
  display:flex;gap:.5rem;align-items:center;
  transform:translateY(100%);transition:transform .3s var(--ease);
}
.blu-pcard:hover .blu-pcard__actions{transform:translateY(0)}
.blu-pcard__atc-hover{
  flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;
  background:var(--white);color:var(--navy);
  padding:.6rem;border-radius:var(--r-sm);
  font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  cursor:pointer;border:none;transition:all var(--dur);
}
.blu-pcard__atc-hover:hover{background:var(--blue);color:var(--white)}
.blu-pcard__wish{
  width:36px;height:36px;border-radius:50%;background:var(--white);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--hint);transition:all var(--dur);border:none;
}
.blu-pcard__wish:hover{color:var(--danger);background:#fff0f0}

/* badges */
.blu-pcard__badges{
  position:absolute;top:.85rem;left:.85rem;
  display:flex;flex-direction:column;gap:.3rem;z-index:2;
}
.blu-badge{
  display:inline-flex;align-items:center;
  padding:.22rem .65rem;border-radius:var(--r-pill);
  font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;
}
.blu-badge--sale{background:var(--blue);color:var(--white)}
.blu-badge--new{background:var(--teal);color:#08504a}
.blu-badge--hot{background:var(--navy);color:var(--white)}
.blu-badge--out{background:var(--hint);color:var(--white)}

/* card body */
.blu-pcard__body{padding:1.15rem 1.25rem .65rem;flex:1}
.blu-pcard__cat{
  font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--teal-dk);font-weight:700;margin-bottom:.35rem;
}
.blu-pcard__name{
  font-family:var(--font-d);font-size:1.02rem;font-weight:700;
  color:var(--navy);line-height:1.3;margin-bottom:.4rem;
}
.blu-pcard__name a{color:inherit}
.blu-pcard__name a:hover{color:var(--blue)}
.blu-pcard__rating{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}
.blu-stars{color:var(--teal);font-size:.72rem;letter-spacing:1.5px}
.blu-rating-ct{font-size:.7rem;color:var(--hint)}

/* card footer */
.blu-pcard__foot{
  padding:.65rem 1.25rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
}
.blu-pcard__price{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.blu-price-now{font-size:1.12rem;font-weight:700;color:var(--navy);font-family:var(--font-d)}
.blu-price-was{font-size:.8rem;color:var(--hint);text-decoration:line-through}
.blu-price-save{
  font-size:.62rem;font-weight:700;color:var(--success);
  background:rgba(11,173,143,.1);padding:.15rem .45rem;border-radius:var(--r-pill);
}
.blu-pcard__btn{
  background:var(--blue);color:var(--white);border:none;
  padding:.6rem 1rem;border-radius:var(--r-sm);
  font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  cursor:pointer;white-space:nowrap;transition:all var(--dur);flex-shrink:0;
}
.blu-pcard__btn:hover{background:var(--blue-dk);transform:translateY(-1px);box-shadow:var(--sh-sm)}

/* ── FEATURES BANNERS ─────────────────────────────────────────── */
.blu-features__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.blu-feat-item{
  border-radius:var(--r-xl);overflow:hidden;position:relative;
  aspect-ratio:4/3;display:flex;align-items:flex-end;
}
.blu-feat-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blu-feat-item:hover img{transform:scale(1.06)}
.blu-feat-item::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(9,14,30,.8) 0%,rgba(9,14,30,.1) 55%,transparent 100%);
}
.blu-feat-item__cap{position:relative;z-index:2;padding:1.5rem;color:var(--white)}
.blu-feat-item__cap h3{color:var(--white);margin-bottom:.2rem;font-size:1.1rem}
.blu-feat-item__cap p{font-size:.82rem;color:rgba(255,255,255,.7);margin:0}
.blu-feat-item__tag{
  position:absolute;top:.85rem;right:.85rem;z-index:3;
  background:rgba(30,216,202,.18);border:1px solid rgba(30,216,202,.35);
  color:var(--teal);font-size:.65rem;font-weight:700;letter-spacing:.08em;
  padding:.25rem .7rem;border-radius:var(--r-pill);text-transform:uppercase;
}

/* ── ABOUT SECTION ────────────────────────────────────────────── */
.blu-about__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.blu-about__img-wrap{position:relative}
.blu-about__img{border-radius:var(--r-2xl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-xl)}
.blu-about__img img{width:100%;height:100%;object-fit:cover}
/* decorative badge */
.blu-about__badge{
  position:absolute;bottom:-1.5rem;right:-1.5rem;
  width:110px;height:110px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--teal-dk));
  color:var(--navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:var(--sh-md);text-align:center;line-height:1.2;
}
.blu-about__badge-num{font-size:1.6rem;font-family:var(--font-d);font-weight:700}
.blu-about__badge-lbl{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.8}
/* decorative background rect */
.blu-about__img-wrap::before{
  content:'';position:absolute;
  inset:-16px -16px 16px 16px;
  border-radius:var(--r-2xl);
  border:2px solid var(--light);
  z-index:-1;
}
.blu-about__content h2{margin-bottom:.9rem}
.blu-about__content p{color:var(--muted);margin-bottom:1.5rem;line-height:1.85}
.blu-about__list{margin-bottom:2rem}
.blu-about__list li{
  display:flex;align-items:flex-start;gap:.7rem;
  padding:.5rem 0;font-size:.9rem;
  border-bottom:1px solid var(--light);
}
.blu-about__list li:last-child{border-bottom:none}
.blu-about__list-icon{
  width:22px;height:22px;border-radius:50%;
  background:var(--teal-lt);
  display:flex;align-items:center;justify-content:center;
  color:var(--teal-dk);flex-shrink:0;margin-top:2px;
}

/* ── SHOP / ARCHIVE ───────────────────────────────────────────── */
.blu-shop{padding:2.5rem 0 5.5rem}
.blu-shop__layout{display:grid;grid-template-columns:250px 1fr;gap:2.5rem;align-items:start}
.blu-sidebar{position:sticky;top:80px}
.blu-filter-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:1.25rem;margin-bottom:1rem;
}
.blu-filter-card__ttl{
  font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--hint);margin-bottom:.9rem;
  padding-bottom:.65rem;border-bottom:1px solid var(--border);
}
.blu-filter-opt{
  display:flex;align-items:center;gap:.6rem;
  padding:.38rem 0;cursor:pointer;font-size:.87rem;color:var(--near-black);
  user-select:none;
}
.blu-filter-opt input{accent-color:var(--blue);width:15px;height:15px}
.blu-filter-opt:hover{color:var(--blue)}
.blu-shop__toolbar{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border);
  flex-wrap:wrap;gap:.75rem;
}
.blu-shop__count{font-size:.83rem;color:var(--muted)}
.blu-shop__sort select{
  border:1px solid var(--border);border-radius:var(--r-sm);
  padding:.42rem .85rem;font-size:.83rem;outline:none;
  background:var(--white);color:var(--navy);cursor:pointer;
}

/* ── SINGLE PRODUCT ───────────────────────────────────────────── */
.blu-sprod{padding:2.5rem 0 5.5rem}
.blu-sprod__layout{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start}

/* gallery */
.blu-gallery__main{
  border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1;
  background:linear-gradient(145deg,var(--teal-lt),var(--blue-lt));
  border:1px solid var(--border);box-shadow:var(--sh-md);
  position:relative;
}
.blu-gallery__main img{width:100%;height:100%;object-fit:cover}
.blu-gallery__zoom-hint{
  position:absolute;bottom:.75rem;right:.75rem;
  background:rgba(255,255,255,.9);border-radius:var(--r-pill);
  padding:.3rem .7rem;font-size:.65rem;font-weight:600;color:var(--navy);
  display:flex;align-items:center;gap:.3rem;letter-spacing:.04em;
}
.blu-gallery__thumbs{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.blu-gallery__thumb{
  width:68px;height:68px;border-radius:var(--r-md);overflow:hidden;
  cursor:pointer;border:2px solid transparent;transition:border-color var(--dur);
  background:var(--off);
}
.blu-gallery__thumb.active{border-color:var(--blue)}
.blu-gallery__thumb img{width:100%;height:100%;object-fit:cover}

/* summary */
.blu-sprod__cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--teal-dk);margin-bottom:.4rem}
.blu-sprod__title{font-size:clamp(1.4rem,3vw,2rem);color:var(--navy);margin-bottom:.75rem}
.blu-sprod__meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.blu-sprod__rating{display:flex;align-items:center;gap:.4rem}
.blu-sprod__price{
  background:var(--off);border-radius:var(--r-lg);border:1px solid var(--border);
  padding:1.15rem 1.25rem;margin:1.25rem 0;
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
}
.blu-sprod__price-now{font-size:1.85rem;font-weight:700;color:var(--navy);font-family:var(--font-d);line-height:1}
.blu-sprod__price-was{font-size:.9rem;color:var(--hint);text-decoration:line-through}
.blu-sprod__price-save{
  background:rgba(11,173,143,.12);color:var(--success);
  font-size:.72rem;font-weight:700;padding:.25rem .65rem;border-radius:var(--r-pill);
}
.blu-sprod__stock{
  display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;
}
.blu-sprod__stock--in{color:var(--success)}
.blu-sprod__stock--out{color:var(--danger)}
.blu-sprod__excerpt{color:var(--muted);font-size:.9rem;line-height:1.8;margin-bottom:1.25rem}

/* add to cart row */
.blu-sprod__cart-row{display:flex;gap:.85rem;align-items:center;margin-bottom:1.25rem}
.blu-qty-wrap{
  display:flex;align-items:center;border:1.5px solid var(--border);
  border-radius:var(--r-sm);overflow:hidden;background:var(--white);
  flex-shrink:0;
}
.blu-qty-btn{
  width:40px;height:46px;font-size:1.1rem;font-weight:600;
  color:var(--blue);transition:background var(--dur);
}
.blu-qty-btn:hover{background:var(--light)}
.blu-qty-input{
  width:50px;height:46px;text-align:center;
  border:none;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);
  font-size:1rem;font-weight:700;outline:none;color:var(--navy);
}
.blu-sprod__atc{
  flex:1;background:var(--blue);color:var(--white);
  padding:.85rem;border-radius:var(--r-sm);
  font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;border:none;transition:all var(--dur);
  display:flex;align-items:center;justify-content:center;gap:.5rem;
}
.blu-sprod__atc:hover{background:var(--blue-dk);transform:translateY(-2px);box-shadow:0 6px 20px rgba(12,73,215,.25)}
.blu-sprod__wish{
  width:48px;height:48px;border:1.5px solid var(--border);border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--hint);transition:all var(--dur);background:var(--white);
  flex-shrink:0;
}
.blu-sprod__wish:hover{color:var(--danger);border-color:var(--danger);background:#fff0f0}

/* trust badges */
.blu-trust{display:flex;gap:1.25rem;flex-wrap:wrap;padding-top:1.25rem;border-top:1px solid var(--border)}
.blu-trust-item{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--muted);font-weight:500}
.blu-trust-item svg{color:var(--teal-dk)}

/* product tabs */
.blu-ptabs{margin-top:3rem}
.blu-ptabs__nav{display:flex;border-bottom:2px solid var(--border);margin-bottom:1.75rem;gap:.25rem}
.blu-ptabs__tab{
  padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;
  color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;
  margin-bottom:-2px;transition:all var(--dur);border-radius:var(--r-sm) var(--r-sm) 0 0;
}
.blu-ptabs__tab:hover{color:var(--navy)}
.blu-ptabs__tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.blu-ptabs__panel{display:none;font-size:.9rem;color:var(--muted);line-height:1.85}
.blu-ptabs__panel.active{display:block}

/* ── CART ─────────────────────────────────────────────────────── */
.blu-cart-page{padding:2.5rem 0 5.5rem}
.blu-cart-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}
.blu-cart-table{width:100%;border-collapse:collapse}
.blu-cart-table th{
  padding:.7rem 1rem;text-align:left;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.08em;color:var(--hint);
  border-bottom:2px solid var(--border);font-family:var(--font-b);font-weight:700;
}
.blu-cart-table td{padding:1.15rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}
.blu-cart-prod{display:flex;align-items:center;gap:1rem}
.blu-cart-prod__img{
  width:68px;height:68px;border-radius:var(--r-md);overflow:hidden;
  flex-shrink:0;border:1px solid var(--border);
  background:linear-gradient(145deg,var(--teal-lt),var(--blue-lt));
}
.blu-cart-prod__img img{width:100%;height:100%;object-fit:cover}
.blu-cart-prod__name{font-weight:600;color:var(--navy);font-size:.9rem}
.blu-order-summary{
  background:var(--off);border-radius:var(--r-xl);
  padding:1.75rem;border:1px solid var(--border);position:sticky;top:85px;
}
.blu-order-summary h2{
  font-size:.95rem;margin-bottom:1.25rem;padding-bottom:.9rem;
  border-bottom:1px solid var(--border);font-family:var(--font-b);font-weight:700;color:var(--navy);
}
.blu-order-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:.52rem 0;font-size:.88rem;color:var(--near-black);
}
.blu-order-row.total{
  font-weight:700;font-size:1.1rem;color:var(--navy);
  padding-top:.9rem;margin-top:.5rem;border-top:2px solid var(--border);
}
.blu-coupon{display:flex;gap:.5rem;margin:1.25rem 0}
.blu-coupon input{
  flex:1;padding:.62rem 1rem;border:1.5px solid var(--border);
  border-radius:var(--r-sm);outline:none;font-size:.85rem;
  background:var(--white);transition:border-color var(--dur);
}
.blu-coupon input:focus{border-color:var(--blue)}
.blu-cart-actions{
  display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;align-items:center;
}

/* ── WooCommerce native cart_totals — styled to match theme ── */
.cart_totals h2{display:none} /* we use our own heading */
.cart_totals table{width:100%;border-collapse:collapse;margin-bottom:.75rem}
.cart_totals table th,.cart_totals table td{
  padding:.52rem 0;font-size:.88rem;border-bottom:1px solid var(--border);
  vertical-align:top;
}
.cart_totals table th{color:var(--muted);font-weight:500;width:45%}
.cart_totals table td{text-align:right;color:var(--near-black);font-weight:600}
.cart_totals table .order-total th,.cart_totals table .order-total td{
  font-size:1.08rem;font-weight:700;color:var(--navy);
  border-top:2px solid var(--border);border-bottom:none;padding-top:.9rem;
}
.cart_totals .woocommerce-shipping-calculator{margin-top:.5rem;font-size:.82rem}
.cart_totals .wc-proceed-to-checkout{margin-top:1.25rem}
.cart_totals .wc-proceed-to-checkout a.checkout-button{
  display:flex;align-items:center;justify-content:center;
  width:100%;padding:.8rem 1.75rem;
  background:var(--blue);color:var(--white);border-radius:var(--r-sm);
  font-weight:700;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;
  transition:all var(--dur);
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--blue-dk);transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(12,73,215,.25);
}

/* ── CHECKOUT ─────────────────────────────────────────────────── */
.blu-checkout-page{padding:2.5rem 0 5.5rem}
.blu-checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}
.blu-checkout-section{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:1.75rem;margin-bottom:1.25rem;
}
.blu-checkout-section h2{
  font-size:.95rem;font-weight:700;color:var(--navy);
  margin-bottom:1.5rem;padding-bottom:.75rem;
  border-bottom:1px solid var(--border);font-family:var(--font-b);
}
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=password],
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  padding:.72rem 1rem;border:1.5px solid var(--border);
  border-radius:var(--r-sm);font-size:.9rem;outline:none;
  background:var(--white);color:var(--near-black);
  transition:border-color var(--dur),box-shadow var(--dur);
  width:100%;position:relative;z-index:2;
  opacity:1!important;visibility:visible!important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(12,73,215,.1);
}
.woocommerce-checkout label{
  display:block;font-size:.75rem;font-weight:700;
  color:var(--hint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;
}

/* ── ACCOUNT ──────────────────────────────────────────────────── */
.blu-account{padding:2.5rem 0 5.5rem}
.blu-account__layout{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}
.blu-account__nav{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--r-xl);overflow:hidden;position:sticky;top:85px;
}
.blu-account__nav a{
  display:flex;align-items:center;gap:.6rem;
  padding:.85rem 1.25rem;font-weight:500;font-size:.88rem;color:var(--near-black);
  transition:all var(--dur);border-bottom:1px solid var(--border);
}
.blu-account__nav a:last-child{border-bottom:none}
.blu-account__nav a:hover{background:var(--light);color:var(--blue);padding-left:1.6rem}
.blu-account__nav a.is-active{background:var(--blue);color:var(--white)}

/* ── OVERLAY / INNER PAGE FIX ─────────────────────────────────── */
/* Belt-and-braces: kill overlay on ALL non-home contexts */
body.no-hero-overlay .blu-hero::before,
body.woocommerce-cart .blu-hero::before,
body.woocommerce-checkout .blu-hero::before,
body.woocommerce-account .blu-hero::before,
body.woocommerce .blu-hero::before,
body.single-product .blu-hero::before,
body.tax-product_cat .blu-hero::before,
body.tax-product_tag .blu-hero::before,
body.post-type-archive-product .blu-hero::before,
body.page .blu-hero::before,
body.single-post .blu-hero::before,
body.archive .blu-hero::before,
body.search-results .blu-hero::before,
body.error404 .blu-hero::before{
  content:none!important;display:none!important;background:none!important;
}
body.no-hero-overlay,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account{background:var(--white)}
body.woocommerce-cart .blu-main,
body.woocommerce-checkout .blu-main,
body.woocommerce-account .blu-main,
body.no-hero-overlay .blu-main{position:relative;z-index:1;background:var(--white)}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review{position:relative;z-index:2;background:var(--white)}
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart input,
.woocommerce-cart select{opacity:1!important;visibility:visible!important}

/* ── FOOTER ───────────────────────────────────────────────────── */
.blu-footer{
  background:var(--navy-deep);color:rgba(255,255,255,.72);
  padding:5rem 0 0;position:relative;overflow:hidden;
}
.blu-footer::before{
  content:'';position:absolute;top:-200px;right:-200px;
  width:500px;height:500px;border-radius:50%;
  border:1px solid rgba(30,216,202,.06);pointer-events:none;
}
.blu-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;padding-bottom:4rem}
.blu-footer__site-name{font-family:var(--font-d);font-size:1.75rem;font-weight:700;color:var(--white)}
.blu-footer__tagline{font-size:.86rem;line-height:1.8;margin-top:.8rem;color:rgba(255,255,255,.5);max-width:230px}
.blu-footer__heading{
  font-family:var(--font-b);font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;color:var(--teal);
  margin-bottom:1.2rem;padding-bottom:.6rem;
  border-bottom:1px solid rgba(30,216,202,.18);
}
.blu-footer__links li{margin-bottom:.5rem}
.blu-footer__links a{font-size:.86rem;color:rgba(255,255,255,.55);transition:all var(--dur)}
.blu-footer__links a:hover{color:var(--white);padding-left:4px}
.blu-footer__social{display:flex;gap:.6rem;margin-top:1.4rem}
.blu-footer__social a{
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.55);transition:all var(--dur);
}
.blu-footer__social a:hover{background:var(--teal);border-color:var(--teal);color:var(--navy);transform:translateY(-2px)}
.blu-footer__contact-list li{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.8rem;font-size:.84rem}
.blu-footer__contact-list a{color:rgba(255,255,255,.55)}
.blu-footer__contact-list a:hover{color:var(--teal)}
.blu-footer__bottom{
  border-top:1px solid rgba(255,255,255,.07);padding:1.4rem 0;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
.blu-footer__copy{font-size:.78rem;color:rgba(255,255,255,.3)}
.blu-footer__payment{display:flex;gap:.4rem}
.blu-footer__payment span{
  background:rgba(255,255,255,.07);color:rgba(255,255,255,.55);
  font-size:.65rem;font-weight:700;padding:.22rem .6rem;
  border-radius:var(--r-xs);letter-spacing:.05em;border:1px solid rgba(255,255,255,.1);
}

/* ── PLACEHOLDER ──────────────────────────────────────────────── */
.blu-placeholder{
  position:relative;width:100%;
  background:linear-gradient(145deg,var(--teal-lt),var(--blue-lt));
  border:2px dashed var(--border);border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden;
}
.blu-placeholder__label{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  font-size:.68rem;color:var(--blue);background:rgba(255,255,255,.9);
  padding:3px 10px;border-radius:var(--r-pill);white-space:nowrap;
  border:1px solid rgba(12,73,215,.18);font-weight:600;
}

/* ── WC NOTICES ───────────────────────────────────────────────── */
.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-error,.woocommerce-info{position:relative;z-index:10}
.woocommerce-message{background:rgba(11,173,143,.07);border-left:3px solid var(--success);padding:1rem 1.25rem;border-radius:var(--r-md);margin-bottom:1.5rem;color:var(--near-black)}
.woocommerce-error{background:rgba(224,62,62,.07);border-left:3px solid var(--danger);padding:1rem 1.25rem;border-radius:var(--r-md);margin-bottom:1.5rem}
.woocommerce-info{background:var(--blue-lt);border-left:3px solid var(--blue);padding:1rem 1.25rem;border-radius:var(--r-md);margin-bottom:1.5rem}

/* ── SCROLL REVEAL ────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(28px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal-right.visible{opacity:1;transform:none}

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media(max-width:1100px){
  .blu-pgrid--4{grid-template-columns:repeat(3,1fr)}
  .blu-shop__layout{grid-template-columns:1fr}
  .blu-sidebar{position:static}
}
@media(max-width:960px){
  .blu-cart-layout,.blu-checkout-layout{grid-template-columns:1fr}
  .blu-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .blu-sprod__layout{grid-template-columns:1fr;gap:2.5rem}
  .blu-account__layout{grid-template-columns:1fr}
  .blu-about__grid{grid-template-columns:1fr;gap:2.5rem}
  .blu-about__badge{bottom:1rem;right:1rem}
  .blu-usp__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .blu-nav{display:none}
  .blu-nav-toggle{display:flex!important}
  .blu-hero{min-height:72vh}
  .blu-features__grid{grid-template-columns:1fr}
  .blu-footer__grid{grid-template-columns:1fr}
  .blu-pgrid--4,.blu-pgrid--3{grid-template-columns:repeat(2,1fr)}
  .blu-pgrid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .section-pad{padding:3.5rem 0}
  .blu-cart-drawer{width:100%;right:-100%}
  .blu-hero__stats{gap:1.5rem}
}
@media(max-width:480px){
  .blu-hero__cta{flex-direction:column}
  .blu-hero__cta .blu-btn{width:100%}
  .blu-pgrid{gap:.75rem}
  .blu-usp__grid{grid-template-columns:1fr 1fr}
}

/* ════════════════════════════════════════════════════════════
   ADDITIONS v2.4
   ════════════════════════════════════════════════════════════ */

/* ── Hero: video background ──────────────────────────────── */
.blu-hero__video-wrap{
  position:absolute;inset:0;overflow:hidden;z-index:0;
}
.blu-hero__video{
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;
}
.blu-hero__vid-ctrl{
  position:absolute;bottom:1.5rem;right:1.5rem;z-index:4;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);
  color:var(--white);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background var(--dur);backdrop-filter:blur(4px);
}
.blu-hero__vid-ctrl:hover{background:rgba(255,255,255,.3)}
/* ensure content sits above video */
.blu-hero__content{z-index:3}
.blu-hero__bar,.blu-hero__ring2{z-index:2}
/* video hero still gets gradient overlay */
.blu-hero:has(.blu-hero__video-wrap)::before{
  content:'';display:block;position:absolute;inset:0;z-index:1;
  background:linear-gradient(115deg,rgba(9,14,30,.88) 0%,rgba(12,73,215,.22) 55%,rgba(30,216,202,.1) 100%);
}

/* ── Product card: no-image placeholder ──────────────────── */
.blu-pcard__no-img{
  width:100%;height:100%;min-height:220px;
  background:linear-gradient(145deg,var(--teal-lt),var(--blue-lt));
  display:flex;align-items:center;justify-content:center;
}

/* ── Shop toolbar improvements ───────────────────────────── */
.blu-shop__toolbar{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.75rem;padding:1rem 1.25rem;
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--r-lg);flex-wrap:wrap;gap:.75rem;
}
.blu-shop__toolbar-left,.blu-shop__toolbar-right{
  display:flex;align-items:center;gap:.75rem;
}
.blu-filter-toggle{
  display:flex;align-items:center;gap:.45rem;
  padding:.5rem 1rem;border:1.5px solid var(--border);
  border-radius:var(--r-sm);font-size:.82rem;font-weight:600;
  color:var(--navy);background:var(--white);cursor:pointer;
  transition:all var(--dur);
}
.blu-filter-toggle:hover,.blu-filter-toggle[aria-expanded="true"]{
  border-color:var(--blue);color:var(--blue);background:var(--blue-lt);
}
.blu-view-toggle{display:flex;gap:.25rem}
.blu-view-btn{
  width:34px;height:34px;border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--border);color:var(--muted);
  cursor:pointer;transition:all var(--dur);background:var(--white);
}
.blu-view-btn:hover,.blu-view-btn.active{
  border-color:var(--blue);color:var(--blue);background:var(--blue-lt);
}
.blu-sort-select{
  border:1.5px solid var(--border);border-radius:var(--r-sm);
  padding:.45rem .85rem;font-size:.83rem;outline:none;
  background:var(--white);color:var(--navy);cursor:pointer;
  transition:border-color var(--dur);
}
.blu-sort-select:focus{border-color:var(--blue)}
.blu-shop__count{font-size:.82rem;color:var(--muted)}

/* ── Sidebar improvements ────────────────────────────────── */
.blu-sidebar{
  position:sticky;top:80px;
  transition:transform .3s var(--ease);
}
.blu-sidebar__inner{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--r-xl);overflow:hidden;
}
.blu-filter-card{padding:1.25rem;border-bottom:1px solid var(--border)}
.blu-filter-card:last-child{border-bottom:none}
.blu-filter-card__ttl{
  font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--hint);margin-bottom:.85rem;
}
.blu-filter-opt{
  display:flex;align-items:center;gap:.6rem;padding:.35rem 0;
  cursor:pointer;font-size:.87rem;color:var(--near-black);user-select:none;
  border-radius:var(--r-sm);transition:color var(--dur);
}
.blu-filter-opt input{accent-color:var(--blue);width:15px;height:15px;flex-shrink:0}
.blu-filter-opt:hover{color:var(--blue)}
.blu-filter-count{
  margin-left:auto;font-size:.72rem;color:var(--hint);
  background:var(--light);padding:.1rem .45rem;border-radius:var(--r-pill);
}

/* Mobile filter drawer */
@media(max-width:768px){
  .blu-shop__layout{display:block}
  .blu-sidebar{
    position:fixed;top:0;left:-100%;width:min(280px,85vw);height:100vh;
    background:var(--white);z-index:850;overflow-y:auto;padding:1.5rem;
    box-shadow:var(--sh-xl);transition:left .32s var(--ease);
  }
  .blu-sidebar.is-open{left:0}
  .blu-sidebar__inner{border:none;border-radius:0}
}

/* ── List view product card ───────────────────────────────── */
.blu-pgrid--list{grid-template-columns:1fr!important;gap:1rem}
.blu-pgrid--list .blu-pcard{
  flex-direction:row;border-radius:var(--r-lg);
}
.blu-pgrid--list .blu-pcard__img{
  width:200px;min-width:200px;aspect-ratio:auto;height:auto;border-radius:var(--r-lg) 0 0 var(--r-lg);
}
.blu-pgrid--list .blu-pcard__img img{height:100%}
.blu-pgrid--list .blu-pcard__body{padding:1.25rem 1.25rem .5rem}
.blu-pgrid--list .blu-pcard__foot{padding:.5rem 1.25rem 1.25rem;flex-wrap:wrap;gap:1rem}
.blu-pgrid--list .blu-pcard__actions{flex-direction:row;transform:translateY(0);opacity:0;transition:opacity var(--dur)}
.blu-pgrid--list .blu-pcard:hover .blu-pcard__actions{opacity:1}
.blu-pgrid--list .blu-pcard__featured-label{writing-mode:vertical-rl;padding:.5rem .3rem;font-size:.6rem}
@media(max-width:600px){
  .blu-pgrid--list .blu-pcard{flex-direction:column}
  .blu-pgrid--list .blu-pcard__img{width:100%;min-width:0;border-radius:var(--r-lg) var(--r-lg) 0 0}
}

/* ── Loading spinner ─────────────────────────────────────── */
.blu-shop__loading{
  display:none;align-items:center;justify-content:center;
  padding:3rem;
}
.blu-no-products{
  color:var(--muted);padding:3rem;text-align:center;
  grid-column:1/-1;
}
.blu-no-products a{color:var(--blue);text-decoration:underline}

/* ── Cart: improved layout & image ──────────────────────────── */
.blu-cart-prod__img{
  width:72px;height:72px;border-radius:var(--r-md);overflow:hidden;
  flex-shrink:0;border:1px solid var(--border);display:block;
  background:linear-gradient(145deg,var(--teal-lt),var(--blue-lt));
}
.blu-cart-prod__img img{width:100%;height:100%;object-fit:cover;display:block}
.blu-cart-table td:first-child{padding-right:0}
.blu-cart-actions{
  display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;align-items:center;
}
/* fade row on AJAX update */
.blu-cart-table tr{transition:opacity .25s}

/* ── WooCommerce cart_totals polish ──────────────────────── */
.cart_totals{margin-top:.5rem}
.cart_totals h2{display:none}
.cart_totals table{width:100%;border-collapse:collapse;margin-bottom:.75rem}
.cart_totals table th,.cart_totals table td{
  padding:.52rem 0;font-size:.88rem;border-bottom:1px solid var(--border);vertical-align:top;
}
.cart_totals table th{color:var(--muted);font-weight:500;width:45%}
.cart_totals table td{text-align:right;color:var(--near-black);font-weight:600}
.cart_totals .order-total th,.cart_totals .order-total td{
  font-size:1.08rem;font-weight:700;color:var(--navy);
  border-top:2px solid var(--border);border-bottom:none;padding-top:.9rem;
}
.cart_totals .wc-proceed-to-checkout{margin-top:1.25rem}
.cart_totals .wc-proceed-to-checkout a.checkout-button,
.cart_totals .checkout-button{
  display:flex;align-items:center;justify-content:center;width:100%;
  padding:.8rem 1.75rem;background:var(--blue);color:var(--white);
  border-radius:var(--r-sm);font-weight:700;font-size:.85rem;
  letter-spacing:.05em;text-transform:uppercase;transition:all var(--dur);
}
.cart_totals .checkout-button:hover{background:var(--blue-dk);transform:translateY(-2px);box-shadow:0 6px 20px rgba(12,73,215,.25)}

/* ── Pagination ──────────────────────────────────────────── */
.blu-pagination{margin-top:3rem}
.blu-pagination .page-numbers{
  display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;
}
.blu-pagination .page-numbers a,
.blu-pagination .page-numbers span{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border:1.5px solid var(--border);border-radius:var(--r-sm);
  font-size:.85rem;font-weight:600;color:var(--navy);transition:all var(--dur);
}
.blu-pagination .page-numbers a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-lt)}
.blu-pagination .page-numbers .current{background:var(--blue);color:var(--white);border-color:var(--blue)}
