/*
Theme Name:  Haizum Petal
Theme URI:   https://haizum.com
Author:      Haizum Agency
Author URI:  https://haizum.com
Description: Feminine WhatsApp-first WooCommerce starter theme for boutiques, beauty brands, jewellery, skincare, handmade, gifts, baby products, women's fashion, and lifestyle stores. Soft luxury aesthetic with Instagram-inspired product presentation. Haizum Starter Plan ₹599/month.
Version:     1.0.0
Requires at least: 6.2
Tested up to:      6.6
WC requires at least: 8.0
WC tested up to:      9.0
Requires PHP:  8.0
License:       GNU General Public License v2 or later
License URI:   https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:   haizum-petal
Tags:          woocommerce, whatsapp, feminine, beauty, fashion, boutique, starter, lightweight
*/

/* ══════════════════════════════════════════════════════
   HAIZUM PETAL — FEMININE SOFT LUXURY DESIGN SYSTEM
   WhatsApp-First · Boutique · Beauty · Fashion
   ══════════════════════════════════════════════════════ */

:root {
  /* ── BRAND COLORS
     Change just these values to rebrand for any client.
     Default: Blush Rose palette */
  --rose:        #e8a0a8;   /* Primary accent — change this */
  --rose-dark:   #d0858e;   /* Darker for hover */
  --rose-light:  #fce8ea;   /* Very light tint */
  --rose-xlight: #fdf5f6;   /* Ultra-soft background wash */

  /* ── NEUTRALS — Warm Nude System */
  --warm-white: #fdfaf7;    /* Page background */
  --cream:      #f8f2eb;    /* Alt section background */
  --beige:      #f0e8dc;    /* Cards, borders */
  --sand:       #e0d5c8;    /* Stronger borders */
  --taupe:      #c4b5a5;    /* Dividers */
  --mink:       #9e8e80;    /* Muted text */
  --cocoa:      #5c4a3e;    /* Secondary text */
  --espresso:   #2d1f18;    /* Primary text */

  /* ── WHATSAPP — Fixed */
  --wa:         #25D366;
  --wa-dark:    #1fbc59;
  --wa-glow:    rgba(37,211,102,0.22);

  /* ── TYPOGRAPHY */
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Nunito', system-ui, sans-serif;

  /* ── SPACING */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;
  --s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;
  --s20:80px;--s24:96px;

  /* ── RADIUS */
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  22px;
  --r-xl:  32px;
  --r-pill:9999px;

  /* ── SHADOWS — feather-soft */
  --shadow-xs: 0 1px 4px rgba(92,74,62,0.06);
  --shadow-sm: 0 3px 10px rgba(92,74,62,0.08);
  --shadow-md: 0 6px 20px rgba(92,74,62,0.10);
  --shadow-lg: 0 12px 36px rgba(92,74,62,0.12);

  /* ── LAYOUT */
  --max-w:    1200px;
  --header-h: 66px;
  --bar-h:    36px;
}

/* ── RESET ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-sans);font-size:14px;
  background:var(--warm-white);color:var(--cocoa);
  line-height:1.65;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;display:block}img{height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,select,textarea{font-family:inherit}
ul,ol{list-style:none}
h1,h2,h3{font-family:var(--font-serif);color:var(--espresso);line-height:1.12;font-weight:600}
h4,h5,h6{font-family:var(--font-sans);color:var(--espresso);font-weight:700;line-height:1.3}
h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-0.015em}
h2{font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:-0.01em}
h3{font-size:clamp(1.1rem,2vw,1.5rem)}
h4{font-size:0.95rem}
p{color:var(--mink);line-height:1.8}

/* ── LAYOUT ─────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--s5)}
@media(max-width:640px){.wrap{padding:0 var(--s4)}}
.sec    {padding:var(--s20) 0}
.sec-sm {padding:var(--s12) 0}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
@media(max-width:1024px){.grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:360px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ── SECTION HEAD ────────────────────────────────────── */
.sec-head{text-align:center;margin-bottom:var(--s10)}
.sec-tag{
  display:inline-block;font-family:var(--font-sans);
  font-size:0.68rem;font-weight:700;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--rose-dark);
  margin-bottom:var(--s3);
}
.sec-head h2{margin-bottom:var(--s3)}
.sec-head h2 em{font-style:italic;color:var(--rose-dark)}
.sec-head p{font-size:0.88rem;color:var(--mink);max-width:440px;margin:0 auto}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:var(--s2);font-family:var(--font-sans);font-size:0.82rem;
  font-weight:700;letter-spacing:0.04em;padding:12px 26px;
  border-radius:var(--r-pill);cursor:pointer;
  transition:all 220ms ease;white-space:nowrap;line-height:1;
  border:none;text-decoration:none;
}
.btn-rose{background:var(--rose);color:#fff;box-shadow:0 3px 12px rgba(232,160,168,0.3)}
.btn-rose:hover{background:var(--rose-dark);transform:translateY(-1px);box-shadow:0 5px 18px rgba(232,160,168,0.4)}
.btn-outline-rose{background:transparent;color:var(--rose-dark);border:1.5px solid var(--rose)}
.btn-outline-rose:hover{background:var(--rose);color:#fff}
.btn-dark{background:var(--espresso);color:#fff;box-shadow:0 3px 10px rgba(45,31,24,0.2)}
.btn-dark:hover{background:var(--cocoa);transform:translateY(-1px)}
.btn-soft{background:var(--rose-xlight);color:var(--rose-dark);border:1px solid var(--rose-light)}
.btn-soft:hover{background:var(--rose-light);border-color:var(--rose)}
.btn-wa{
  background:var(--wa);color:#fff;
  box-shadow:0 3px 12px var(--wa-glow);
  font-size:0.9rem;font-weight:700;padding:14px 28px;
}
.btn-wa:hover{background:var(--wa-dark);transform:translateY(-2px);box-shadow:0 6px 20px var(--wa-glow)}
.btn-wa svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}
.btn-wa-lg{font-size:1rem;padding:16px 36px;border-radius:var(--r-lg)}
.btn-block{width:100%}
.btn-sm{padding:9px 18px;font-size:0.76rem}
.btn-lg{padding:15px 34px;font-size:0.88rem}

/* ── BADGES ─────────────────────────────────────────── */
.tag-badge{
  display:inline-block;padding:3px 9px;border-radius:var(--r-pill);
  font-size:0.62rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;line-height:1.4;
}
.tag-sale  {background:var(--rose-dark);color:#fff}
.tag-new   {background:var(--espresso);color:#fff}
.tag-love  {background:var(--rose-light);color:var(--rose-dark);border:1px solid var(--rose)}

/* ── ANNOUNCE BAR ────────────────────────────────────── */
.announce-bar{
  background:var(--espresso);height:var(--bar-h);
  display:flex;align-items:center;justify-content:center;
  position:relative;z-index:201;
}
.announce-inner{
  max-width:var(--max-w);width:100%;padding:0 var(--s5);
  display:flex;align-items:center;justify-content:space-between;
}
.announce-msgs{
  flex:1;display:flex;align-items:center;justify-content:center;
  gap:var(--s8);font-size:0.72rem;letter-spacing:0.04em;
  color:rgba(255,255,255,0.75);overflow:hidden;
}
.announce-msgs span{display:flex;align-items:center;gap:var(--s2);white-space:nowrap}
.announce-msgs .hi{color:#f9c4c9;font-weight:700}
.announce-sep{color:rgba(255,255,255,0.2)}
.announce-wa{
  font-size:0.7rem;font-weight:700;color:var(--wa);
  display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;
  transition:color 150ms;
}
.announce-wa:hover{color:#4ade80}
@media(max-width:640px){
  .announce-msgs span:not(:first-child){display:none}
  .announce-sep{display:none}
  .announce-wa{display:none}
}

/* ── HEADER ─────────────────────────────────────────── */
.site-header{
  position:sticky;top:0;z-index:200;height:var(--header-h);
  background:rgba(253,250,247,0.94);
  backdrop-filter:blur(16px) saturate(180%);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--beige);
  transition:box-shadow 200ms;
}
.site-header.scrolled{box-shadow:0 2px 14px rgba(92,74,62,0.09)}
.header-row{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;height:100%;gap:var(--s4);
}
/* Logo — centred */
.site-logo{display:flex;align-items:center;justify-content:center}
.site-logo img{height:32px;width:auto}
.logo-text{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--espresso);letter-spacing:0.04em}
.logo-sub{font-family:var(--font-sans);font-size:0.58rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--rose-dark);display:block;text-align:center;margin-top:-2px}

/* Left nav */
.header-left{display:flex;align-items:center}
.nav-list{display:flex;align-items:center;gap:0}
.nav-list>li>a{
  display:block;padding:var(--s2) var(--s3);
  font-size:0.8rem;font-weight:600;color:var(--cocoa);
  border-radius:var(--r-sm);transition:all 150ms;letter-spacing:0.02em;
}
.nav-list>li>a:hover,.nav-list>li.current-menu-item>a{color:var(--rose-dark)}
.nav-list .sub-menu{
  position:absolute;top:calc(100%+8px);left:50%;
  transform:translateX(-50%) translateY(-4px);
  min-width:180px;background:var(--warm-white);
  border:1px solid var(--beige);border-radius:var(--r-md);
  padding:var(--s2);box-shadow:var(--shadow-md);
  opacity:0;visibility:hidden;
  transition:all 200ms ease;z-index:300;
}
.nav-list>li{position:relative}
.nav-list>li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-list .sub-menu li a{
  display:block;padding:var(--s2) var(--s4);font-size:0.82rem;
  color:var(--cocoa);border-radius:var(--r-sm);transition:all 150ms;
}
.nav-list .sub-menu li a:hover{background:var(--rose-xlight);color:var(--rose-dark)}

/* Right icons */
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--s1)}
.hdr-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--cocoa);transition:all 150ms;cursor:pointer;position:relative;
}
.hdr-btn:hover{background:var(--rose-xlight);color:var(--rose-dark)}
.hdr-btn svg{width:18px;height:18px;stroke-width:1.8}
.cart-bubble{
  position:absolute;top:1px;right:1px;
  width:15px;height:15px;border-radius:50%;
  background:var(--rose);color:#fff;
  font-size:8px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  line-height:1;border:1.5px solid var(--warm-white);
}

/* Mobile toggle */
.menu-toggle{
  display:none;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;width:38px;height:38px;
  border-radius:50%;transition:background 150ms;
}
.menu-toggle:hover{background:var(--rose-xlight)}
.menu-toggle span{
  display:block;width:16px;height:1.5px;
  background:var(--espresso);border-radius:2px;
  transition:all 200ms ease;
}
.menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media(max-width:1024px){
  .header-left .nav-list{display:none}
  .menu-toggle{display:flex}
}

/* Mobile menu (drops from header) */
.mobile-nav{
  position:fixed;top:calc(var(--bar-h)+var(--header-h));left:0;right:0;
  background:var(--warm-white);border-bottom:1px solid var(--beige);
  box-shadow:var(--shadow-md);z-index:199;padding:var(--s4);
  display:none;flex-direction:column;gap:2px;
}
.mobile-nav.open{display:flex}
.mobile-nav li a{
  display:block;padding:var(--s3) var(--s4);font-size:0.92rem;
  font-weight:600;color:var(--espresso);border-radius:var(--r-md);
  border-bottom:1px solid var(--beige);transition:all 150ms;
}
.mobile-nav li a:hover{color:var(--rose-dark);background:var(--rose-xlight)}
.mobile-nav .m-wa{
  margin-top:var(--s3);padding:var(--s3) var(--s4);
  background:var(--wa);color:#fff;border-radius:var(--r-md);
  font-weight:700;display:flex;align-items:center;justify-content:center;gap:var(--s2);
}

/* ── HERO ────────────────────────────────────────────── */
.hero{position:relative;overflow:hidden;background:var(--cream);min-height:420px;display:flex;align-items:center}
@media(max-width:640px){.hero{min-height:340px}}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(253,250,247,0.9) 0%,rgba(253,250,247,0.55) 50%,rgba(253,250,247,0.05) 100%);
}
.hero-content{position:relative;z-index:2;max-width:500px;padding:var(--s12) 0}
.hero-tag{
  font-size:0.68rem;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--rose-dark);
  display:block;margin-bottom:var(--s4);
}
.hero-title{color:var(--espresso);font-size:clamp(1.9rem,5vw,3.6rem);margin-bottom:var(--s4)}
.hero-title em{font-style:italic;color:var(--rose-dark)}
.hero-sub{font-size:0.9rem;color:var(--mink);line-height:1.75;margin-bottom:var(--s8);max-width:380px}
.hero-btns{display:flex;gap:var(--s4);flex-wrap:wrap}
@media(max-width:768px){
  .hero-scrim{background:linear-gradient(to bottom,rgba(253,250,247,0.88),rgba(253,250,247,0.5) 55%,rgba(253,250,247,0.1))}
}

/* ── CATEGORY TILES ──────────────────────────────────── */
.cat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
@media(max-width:1024px){.cat-row{grid-template-columns:repeat(2,1fr)}}

.cat-tile{
  position:relative;overflow:hidden;border-radius:var(--r-xl);
  cursor:pointer;aspect-ratio:3/4;background:var(--beige);
  box-shadow:var(--shadow-xs);
  transition:transform 280ms ease,box-shadow 280ms ease;
}
.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.cat-tile img{width:100%;height:100%;object-fit:cover;transition:transform 380ms ease}
.cat-tile:hover img{transform:scale(1.05)}
.cat-tile-body{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(45,31,24,0.7) 0%,rgba(45,31,24,0) 100%);
  padding:var(--s8) var(--s5) var(--s5);
}
.cat-tile-name{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:2px}
.cat-tile-count{font-size:0.72rem;color:rgba(255,255,255,0.75)}
.cat-tile-cta{
  display:inline-flex;align-items:center;gap:3px;
  font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);margin-top:var(--s2);
  opacity:0;transform:translateY(4px);transition:all 200ms ease;
}
.cat-tile:hover .cat-tile-cta{opacity:1;transform:translateY(0)}
.cat-tile-cta svg{width:11px;height:11px}

/* ── PRODUCT CARDS ───────────────────────────────────── */
.product-grid{display:grid;gap:var(--s5)}
.product-grid-4{grid-template-columns:repeat(4,1fr)}
.product-grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.product-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.product-grid-4,.product-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:400px){.product-grid-4,.product-grid-3{grid-template-columns:1fr}}

.product-card{
  background:var(--warm-white);border:1px solid var(--beige);
  border-radius:var(--r-lg);overflow:hidden;position:relative;
  box-shadow:var(--shadow-xs);
  transition:transform 250ms ease,box-shadow 250ms ease,border-color 250ms;
}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--sand)}
.product-thumb{
  position:relative;aspect-ratio:3/4;overflow:hidden;
  background:var(--cream);
}
.product-thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 350ms ease;
}
.product-card:hover .product-thumb img{transform:scale(1.05)}
.product-badges{position:absolute;top:var(--s3);left:var(--s3);display:flex;flex-direction:column;gap:3px;z-index:2}

/* Wishlist icon */
.product-wish{
  position:absolute;top:var(--s3);right:var(--s3);z-index:3;
  width:32px;height:32px;border-radius:50%;background:rgba(253,250,247,0.88);
  border:1px solid var(--beige);display:flex;align-items:center;justify-content:center;
  color:var(--mink);transition:all 150ms;opacity:0;cursor:pointer;
}
.product-card:hover .product-wish{opacity:1}
.product-wish:hover{background:var(--rose-light);color:var(--rose-dark);border-color:var(--rose)}
.product-wish svg{width:14px;height:14px}

/* WhatsApp quick-buy — slides up from bottom */
.product-wa-quick{
  position:absolute;bottom:0;left:0;right:0;
  background:var(--wa);color:#fff;
  font-family:var(--font-sans);font-size:0.75rem;font-weight:700;
  padding:var(--s3);text-align:center;
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  transform:translateY(100%);transition:transform 220ms ease;
}
.product-wa-quick svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
.product-card:hover .product-wa-quick{transform:translateY(0)}

.product-body{padding:var(--s4) var(--s4) var(--s5)}
.product-cat{
  font-size:0.62rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--rose-dark);margin-bottom:3px;
}
.product-name{
  font-family:var(--font-serif);font-size:0.95rem;font-weight:600;
  color:var(--espresso);line-height:1.4;margin-bottom:var(--s2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.product-name a{color:inherit}
.product-name a:hover{color:var(--rose-dark)}
.product-stars{display:flex;align-items:center;gap:2px;margin-bottom:var(--s2);color:var(--rose)}
.product-stars svg{width:10px;height:10px;fill:currentColor}
.product-stars span{font-size:0.65rem;color:var(--taupe);margin-left:2px}
.product-price{font-family:var(--font-sans);font-size:1rem;font-weight:800;color:var(--espresso);line-height:1}
.product-price-old{font-size:0.8rem;color:var(--taupe);text-decoration:line-through;margin-left:4px}
.product-atc{
  margin-top:var(--s3);width:100%;padding:9px;
  background:var(--espresso);color:#fff;
  border-radius:var(--r-sm);font-family:var(--font-sans);
  font-size:0.75rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  cursor:pointer;transition:all 200ms;border:none;
}
.product-atc:hover{background:var(--rose-dark)}
.product-atc svg{width:13px;height:13px}

/* ── PROMO BANNER ────────────────────────────────────── */
.promo-split{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
@media(max-width:768px){.promo-split{grid-template-columns:1fr}}
.promo-img{overflow:hidden;background:var(--beige)}
.promo-img img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease}
.promo-split:hover .promo-img img{transform:scale(1.04)}
.promo-copy{
  background:var(--rose-xlight);padding:var(--s16);
  display:flex;flex-direction:column;justify-content:center;
}
@media(max-width:1024px){.promo-copy{padding:var(--s12) var(--s10)}}
@media(max-width:768px){.promo-copy{padding:var(--s10) var(--s6)}}
.promo-copy .sec-tag{margin-bottom:var(--s4)}
.promo-copy h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:var(--s4)}
.promo-copy p{font-size:0.88rem;line-height:1.8;margin-bottom:var(--s8);max-width:340px}

/* ── ABOUT ───────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s12);align-items:center}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:var(--s8)}}
.about-img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:var(--beige);box-shadow:var(--shadow-lg)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-text .sec-tag{margin-bottom:var(--s4)}
.about-text h2{margin-bottom:var(--s4)}
.about-text h2 em{font-style:italic;color:var(--rose-dark)}
.about-text p{font-size:0.88rem;line-height:1.85;margin-bottom:var(--s6)}
.about-stats{display:flex;gap:var(--s8);margin-bottom:var(--s8)}
.stat-val{font-family:var(--font-serif);font-size:1.7rem;font-weight:600;color:var(--rose-dark);line-height:1}
.stat-lbl{font-size:0.72rem;color:var(--mink);margin-top:2px;letter-spacing:0.04em}

/* ── TESTIMONIALS ────────────────────────────────────── */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
@media(max-width:1024px){.testi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.testi-grid{grid-template-columns:1fr}}
.testi-card{
  background:var(--warm-white);border:1px solid var(--beige);
  border-radius:var(--r-xl);padding:var(--s8);box-shadow:var(--shadow-xs);
  transition:transform 250ms,box-shadow 250ms;position:relative;overflow:hidden;
}
.testi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--rose-light),var(--rose),var(--rose-light));
  opacity:0;transition:opacity 200ms;
}
.testi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.testi-card:hover::before{opacity:1}
.testi-stars{display:flex;gap:2px;color:var(--rose);margin-bottom:var(--s5)}
.testi-stars svg{width:13px;height:13px;fill:currentColor}
.testi-text{
  font-family:var(--font-serif);font-size:1rem;font-style:italic;
  color:var(--cocoa);line-height:1.7;margin-bottom:var(--s5);
}
.testi-author{display:flex;align-items:center;gap:var(--s3)}
.testi-ava{
  width:38px;height:38px;border-radius:50%;overflow:hidden;
  background:var(--rose-light);border:2px solid var(--rose-light);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-serif);font-size:0.95rem;font-weight:600;
  color:var(--rose-dark);flex-shrink:0;
}
.testi-ava img{width:100%;height:100%;object-fit:cover}
.testi-name{font-size:0.83rem;font-weight:700;color:var(--espresso)}
.testi-meta{font-size:0.7rem;color:var(--taupe)}

/* ── GALLERY ─────────────────────────────────────────── */
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s2)}
@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
.gallery-cell{
  aspect-ratio:1;overflow:hidden;border-radius:var(--r-md);
  cursor:pointer;background:var(--beige);position:relative;
}
.gallery-cell img{width:100%;height:100%;object-fit:cover;transition:transform 320ms ease}
.gallery-cell:hover img{transform:scale(1.1)}
.gallery-cell-over{
  position:absolute;inset:0;
  background:rgba(232,160,168,0.3);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 200ms;
}
.gallery-cell:hover .gallery-cell-over{opacity:1}
.gallery-cell-over svg{color:#fff;width:20px;height:20px}
.gallery-note{text-align:center;margin-top:var(--s5);font-size:0.82rem;color:var(--mink)}
.gallery-note a{color:var(--espresso);font-weight:600;border-bottom:1px solid var(--sand)}
.gallery-note a:hover{color:var(--rose-dark);border-color:var(--rose)}

/* ── NEWSLETTER ──────────────────────────────────────── */
.nl-section{
  background:var(--rose-xlight);
  border-top:1px solid var(--rose-light);
  border-bottom:1px solid var(--rose-light);
  position:relative;overflow:hidden;
}
.nl-section::before,.nl-section::after{
  content:'';position:absolute;border-radius:50%;
  background:var(--rose-light);opacity:0.5;pointer-events:none;
}
.nl-section::before{width:280px;height:280px;top:-80px;left:-60px}
.nl-section::after{width:200px;height:200px;bottom:-60px;right:-40px}
.nl-inner{text-align:center;max-width:480px;margin:0 auto;position:relative}
.nl-inner h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:var(--s3)}
.nl-inner h2 em{font-style:italic;color:var(--rose-dark)}
.nl-inner p{font-size:0.85rem;color:var(--mink);margin-bottom:var(--s6)}
.nl-form{
  display:flex;border:1.5px solid var(--sand);
  border-radius:var(--r-pill);overflow:hidden;
  background:var(--warm-white);max-width:400px;
  margin:0 auto;box-shadow:var(--shadow-sm);
}
.nl-input{
  flex:1;background:transparent;border:none;outline:none;
  padding:12px 18px;font-size:0.83rem;color:var(--espresso);
}
.nl-input::placeholder{color:var(--taupe)}
.nl-btn{
  background:var(--rose);color:#fff;
  padding:10px 20px;font-family:var(--font-sans);
  font-size:0.75rem;font-weight:700;letter-spacing:0.06em;
  cursor:pointer;border:none;transition:background 150ms;
  border-radius:0 var(--r-pill) var(--r-pill) 0;white-space:nowrap;
}
.nl-btn:hover{background:var(--rose-dark)}
.nl-note{font-size:0.68rem;color:var(--taupe);margin-top:var(--s3)}
@media(max-width:480px){.nl-form{flex-direction:column;border-radius:var(--r-lg)}.nl-input{text-align:center}.nl-btn{border-radius:0 0 var(--r-lg) var(--r-lg);padding:12px}}

/* ── WA CTA BANNER ───────────────────────────────────── */
.wa-banner{
  background:linear-gradient(135deg,#044a20 0%,#065a28 100%);
  border-top:1px solid rgba(37,211,102,0.15);
  border-bottom:1px solid rgba(37,211,102,0.15);
  position:relative;overflow:hidden;
}
.wa-banner-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--s10);padding:var(--s12) 0;
}
@media(max-width:768px){.wa-banner-row{flex-direction:column;text-align:center;gap:var(--s6)}}
.wa-icon{color:var(--wa);flex-shrink:0;animation:waPulse 2.5s ease infinite}
.wa-icon svg{width:60px;height:60px;fill:currentColor}
@keyframes waPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}50%{box-shadow:0 0 0 12px rgba(37,211,102,0.1)}}
.wa-banner-text h3{font-family:var(--font-serif);color:#fff;font-size:clamp(1.3rem,3vw,1.8rem);margin-bottom:var(--s3)}
.wa-banner-text p{color:rgba(255,255,255,0.7);font-size:0.88rem;line-height:1.65}
.wa-banner-btn{flex-shrink:0}

/* ── FOOTER ─────────────────────────────────────────── */
.site-footer{background:var(--espresso);color:rgba(255,255,255,0.7)}
.footer-top{padding:var(--s12) 0 var(--s8)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:var(--s10)}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--s8)}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:var(--s6)}}
.footer-brand .logo-text{color:#fff;display:block;margin-bottom:var(--s4);font-size:1.3rem}
.footer-brand p{font-size:0.82rem;line-height:1.75;margin-bottom:var(--s5);max-width:250px}
.footer-socials{display:flex;gap:var(--s2)}
.f-social{
  width:32px;height:32px;border-radius:var(--r-sm);
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.65);display:flex;align-items:center;justify-content:center;
  transition:all 150ms;
}
.f-social svg{width:13px;height:13px}
.f-social:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.footer-col h5{
  color:#fff;font-size:0.78rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;margin-bottom:var(--s4);
}
.f-links{display:flex;flex-direction:column;gap:var(--s2)}
.f-links a{font-size:0.82rem;color:rgba(255,255,255,0.6);transition:color 150ms}
.f-links a:hover{color:var(--rose)}
.f-contact{display:flex;flex-direction:column;gap:var(--s3)}
.f-contact-item{display:flex;gap:var(--s3);align-items:flex-start;font-size:0.82rem;color:rgba(255,255,255,0.6)}
.f-contact-item svg{width:13px;height:13px;flex-shrink:0;margin-top:2px;color:var(--rose)}
.f-contact-item a{color:rgba(255,255,255,0.6);transition:color 150ms}
.f-contact-item a:hover{color:var(--wa)}
.footer-bottom{
  padding:var(--s5) 0;border-top:1px solid rgba(255,255,255,0.07);
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:var(--s4);
}
.footer-bottom p{font-size:0.72rem;color:rgba(255,255,255,0.4);margin:0}
.footer-bottom-links{display:flex;gap:var(--s5)}
.footer-bottom-links a{font-size:0.72rem;color:rgba(255,255,255,0.4);transition:color 150ms}
.footer-bottom-links a:hover{color:rgba(255,255,255,0.75)}

/* ── WOOCOMMERCE ─────────────────────────────────────── */
/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
  border-radius:var(--r-md)!important;border:none!important;
  padding:var(--s3) var(--s5)!important;font-size:0.83rem!important;margin-bottom:var(--s4)!important;
}
.woocommerce-message{background:var(--rose-xlight)!important;border-left:3px solid var(--rose)!important;color:var(--rose-dark)!important}
.woocommerce-error{background:#fee2e2!important;border-left:3px solid #b91c1c!important;color:#b91c1c!important}
.woocommerce-info{background:#e0f2fe!important;border-left:3px solid #0284c7!important;color:#0284c7!important}

/* Hide checkout */
.woocommerce-cart .wc-proceed-to-checkout,.woocommerce-cart .checkout-button{display:none!important}

/* Product loop */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:var(--s5)!important;margin:0!important;padding:0!important;list-style:none!important}
@media(max-width:768px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:400px){.woocommerce ul.products{grid-template-columns:1fr!important}}
.woocommerce ul.products li.product{margin:0!important;padding:0!important}

/* WC Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--espresso)!important;color:#fff!important;
  border-radius:var(--r-sm)!important;border:none!important;
  font-weight:700!important;font-size:0.8rem!important;
  font-family:var(--font-sans)!important;transition:background 200ms!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--rose-dark)!important}

/* Product gallery */
.woocommerce-product-gallery{border-radius:var(--r-xl)!important;overflow:hidden!important;background:var(--cream)!important}

/* Cart table */
.woocommerce table.shop_table{border:1px solid var(--beige)!important;border-radius:var(--r-lg)!important;overflow:hidden!important}
.woocommerce table.shop_table th{background:var(--cream)!important;color:var(--mink)!important;font-size:0.7rem!important;text-transform:uppercase!important;letter-spacing:0.08em!important;border:none!important;padding:var(--s3) var(--s5)!important;font-weight:700!important}
.woocommerce table.shop_table td{border-color:var(--beige)!important;padding:var(--s4) var(--s5)!important;vertical-align:middle!important;color:var(--cocoa)!important}
.woocommerce table.shop_table td.product-name{font-weight:700!important;color:var(--espresso)!important}
.woocommerce .cart_totals{background:var(--cream)!important;border:1px solid var(--beige)!important;border-radius:var(--r-lg)!important;padding:var(--s6)!important}
.woocommerce .cart_totals h2{font-size:0.95rem!important;margin-bottom:var(--s4)!important}
.woocommerce .cart_totals table{border:none!important}
.woocommerce .cart_totals table td,.woocommerce .cart_totals table th{border:none!important;border-bottom:1px solid var(--beige)!important;padding:var(--s3) 0!important;font-size:0.85rem!important}
.woocommerce .cart_totals .order-total td,.woocommerce .cart_totals .order-total th{font-weight:800!important;font-size:1rem!important;color:var(--espresso)!important}
.woocommerce .quantity input.qty{background:var(--warm-white)!important;border:1px solid var(--sand)!important;border-radius:var(--r-sm)!important;color:var(--espresso)!important;font-weight:700!important;text-align:center!important;width:60px!important;padding:8px!important}
.woocommerce-breadcrumb{padding:var(--s3) 0!important;font-size:0.75rem!important;color:var(--taupe)!important;margin-bottom:var(--s4)!important}
.woocommerce-breadcrumb a{color:var(--mink)!important}
.woocommerce-breadcrumb a:hover{color:var(--rose-dark)!important}
.woocommerce span.onsale{background:var(--rose-dark)!important;border-radius:var(--r-pill)!important;font-size:0.65rem!important;font-weight:700!important;top:8px!important;left:8px!important;min-width:auto!important;padding:3px 9px!important;line-height:1.4!important;height:auto!important}
.star-rating{color:var(--rose)!important}
.woocommerce-pagination{margin-top:var(--s10)!important}
.woocommerce-pagination ul{display:flex!important;gap:var(--s2)!important;list-style:none!important;justify-content:center!important}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;border-radius:50%!important;background:var(--warm-white)!important;border:1px solid var(--sand)!important;color:var(--cocoa)!important;font-size:0.82rem!important;transition:all 150ms!important;text-decoration:none!important}
.woocommerce-pagination ul li a:hover{background:var(--rose)!important;border-color:var(--rose)!important;color:#fff!important}
.woocommerce-pagination ul li span.current{background:var(--rose)!important;border-color:var(--rose)!important;color:#fff!important;font-weight:700!important}

/* ── CART PAGE ────────────────────────────────────────── */
.cart-page{padding:var(--s10) 0 var(--s20)}
.cart-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--s8);align-items:start}
@media(max-width:1024px){.cart-layout{grid-template-columns:1fr}}
.cart-aside{
  background:var(--warm-white);border:1px solid var(--beige);
  border-radius:var(--r-xl);padding:var(--s6);box-shadow:var(--shadow-sm);
  position:sticky;top:calc(var(--bar-h)+var(--header-h)+var(--s4));
}
.cart-aside h3{font-family:var(--font-serif);font-size:1.1rem;margin-bottom:var(--s5)}
.cart-total-line{display:flex;justify-content:space-between;padding:var(--s3) 0;border-bottom:1px solid var(--beige);font-size:0.83rem}
.cart-total-line:last-of-type{border-bottom:none;font-weight:800;font-size:1rem;padding-top:var(--s4);color:var(--espresso)}
.cart-wa-btn{
  margin-top:var(--s5);width:100%;background:var(--wa);color:#fff;
  font-size:0.95rem;font-weight:700;padding:15px;border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;gap:var(--s3);
  cursor:pointer;border:none;font-family:var(--font-sans);
  transition:all 200ms;animation:waPulse 2.5s ease infinite;
}
.cart-wa-btn:hover{background:var(--wa-dark);transform:translateY(-2px)}
.cart-wa-btn svg{width:22px;height:22px;fill:currentColor}
.cart-wa-note{text-align:center;font-size:0.7rem;color:var(--taupe);margin-top:var(--s3)}
.cart-benefits{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--beige)}
.cart-benefit-item{display:flex;align-items:center;gap:var(--s2);font-size:0.72rem;color:var(--mink);margin-bottom:var(--s2)}
.cart-benefit-item svg{width:13px;height:13px;color:var(--rose);flex-shrink:0}

/* ── SINGLE PRODUCT ──────────────────────────────────── */
.single-wrap{padding:var(--s8) 0 var(--s20)}
.single-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--s10);align-items:start}
@media(max-width:768px){.single-layout{grid-template-columns:1fr}}
.gallery-sticky{position:sticky;top:calc(var(--bar-h)+var(--header-h)+var(--s4))}
.single-price{font-family:var(--font-sans);font-size:1.5rem;font-weight:800;color:var(--espresso);margin-bottom:var(--s5);display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.single-price del{font-size:1rem;color:var(--taupe);font-weight:400}
.single-price-save{font-size:0.7rem;background:var(--rose-light);color:var(--rose-dark);padding:3px 8px;border-radius:var(--r-pill);font-weight:700}
.single-desc{font-size:0.85rem;color:var(--mink);line-height:1.8;margin-bottom:var(--s6)}
.qty-wrap{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s5)}
.qty-label{font-size:0.78rem;font-weight:700;color:var(--cocoa)}
.qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--sand);border-radius:var(--r-sm);overflow:hidden}
.qty-btn{width:34px;height:34px;background:var(--cream);color:var(--cocoa);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 150ms;border:none;font-weight:700}
.qty-btn:hover{background:var(--beige);color:var(--espresso)}
.qty-num{width:42px;height:34px;text-align:center;border:none;border-left:1px solid var(--sand);border-right:1px solid var(--sand);font-weight:800;font-size:0.88rem;color:var(--espresso);font-family:var(--font-sans);outline:none}
.single-buttons{display:flex;flex-direction:column;gap:var(--s3)}
.single-atc{
  background:var(--espresso);color:#fff;font-family:var(--font-sans);
  font-size:0.85rem;font-weight:700;padding:14px;
  border-radius:var(--r-md);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  transition:all 200ms;width:100%;
}
.single-atc:hover{background:var(--rose-dark)}
.single-atc svg{width:17px;height:17px}
.single-wa{
  background:var(--wa);color:#fff;font-family:var(--font-sans);
  font-size:0.9rem;font-weight:700;padding:15px;
  border-radius:var(--r-md);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  transition:all 200ms;width:100%;
  box-shadow:0 4px 14px var(--wa-glow);
}
.single-wa:hover{background:var(--wa-dark);transform:translateY(-1px)}
.single-wa svg{width:19px;height:19px;fill:currentColor}
.single-meta{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--beige);display:flex;flex-direction:column;gap:var(--s2)}
.single-meta span{font-size:0.75rem;color:var(--mink)}
.single-meta strong{color:var(--espresso)}

/* ── SHOP PAGE ───────────────────────────────────────── */
.shop-wrap{padding:var(--s8) 0 var(--s20)}
.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:var(--s8);align-items:start}
@media(max-width:1024px){.shop-layout{grid-template-columns:1fr}}
.shop-sidebar{
  background:var(--warm-white);border:1px solid var(--beige);
  border-radius:var(--r-lg);padding:var(--s5);
  position:sticky;top:calc(var(--bar-h)+var(--header-h)+var(--s4));
}
@media(max-width:1024px){.shop-sidebar{display:none}}
.sb-group{margin-bottom:var(--s5);padding-bottom:var(--s5);border-bottom:1px solid var(--beige)}
.sb-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.sb-title{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--mink);margin-bottom:var(--s3)}
.sb-link{display:flex;align-items:center;justify-content:space-between;padding:6px var(--s3);border-radius:var(--r-sm);font-size:0.83rem;color:var(--cocoa);transition:all 150ms;margin-bottom:1px}
.sb-link:hover,.sb-link.active{background:var(--rose-xlight);color:var(--rose-dark)}
.sb-count{font-size:0.68rem;color:var(--taupe);background:var(--beige);padding:2px 6px;border-radius:var(--r-pill)}
.shop-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s5);flex-wrap:wrap;gap:var(--s3)}
.shop-count{font-size:0.8rem;color:var(--mink)}
.shop-sort{background:var(--warm-white);border:1.5px solid var(--sand);border-radius:var(--r-pill);padding:7px 14px;font-size:0.8rem;outline:none;cursor:pointer;color:var(--cocoa);font-family:var(--font-sans)}

/* ── FLOATING ELEMENTS ───────────────────────────────── */
.wa-float{position:fixed;bottom:var(--s6);right:var(--s6);z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:var(--s2)}
.wa-float-btn{width:52px;height:52px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px var(--wa-glow);cursor:pointer;border:none;animation:waPulse 2.5s ease infinite;transition:transform 200ms}
.wa-float-btn:hover{transform:scale(1.1)}
.wa-float-btn svg{width:26px;height:26px;fill:currentColor}
.wa-float-label{background:var(--espresso);color:#fff;font-size:0.7rem;font-weight:600;padding:4px 10px;border-radius:var(--r-sm);white-space:nowrap;opacity:0;transform:translateX(6px);transition:all 200ms;pointer-events:none}
.wa-float:hover .wa-float-label{opacity:1;transform:translateX(0)}
.btt{position:fixed;bottom:var(--s6);left:var(--s6);width:38px;height:38px;border-radius:50%;background:var(--warm-white);border:1.5px solid var(--sand);color:var(--cocoa);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;opacity:0;pointer-events:none;transition:all 200ms;box-shadow:var(--shadow-sm)}
.btt.show{opacity:1;pointer-events:all}
.btt:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.btt svg{width:16px;height:16px}

/* Toast — centered top */
.p-toast{position:fixed;top:var(--s6);left:50%;transform:translateX(-50%) translateY(-16px);background:var(--espresso);color:#fff;border-radius:var(--r-pill);padding:var(--s3) var(--s6);font-size:0.8rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:9999;opacity:0;white-space:nowrap;transition:all 200ms ease;pointer-events:none}
.p-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.p-toast.rose{background:var(--rose-dark)}

/* ── ANIMATIONS ──────────────────────────────────────── */
[data-show]{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
[data-show].in{opacity:1;transform:translateY(0)}
[data-delay="1"]{transition-delay:.1s}[data-delay="2"]{transition-delay:.2s}[data-delay="3"]{transition-delay:.3s}

/* ── UTILS ───────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bg-cream{background:var(--cream)}.bg-rose{background:var(--rose-xlight)}
.t-center{text-align:center}
.mt-4{margin-top:var(--s4)}.mt-6{margin-top:var(--s6)}.mt-8{margin-top:var(--s8)}
.mb-4{margin-bottom:var(--s4)}.mb-6{margin-bottom:var(--s6)}.mb-8{margin-bottom:var(--s8)}
