/*
Theme Name:        Proglamtool
Theme URI:         https://www.proglamtool.com
Author:            Proglamtool
Author URI:        https://www.proglamtool.com
Description:       A feminine, macaron-toned WordPress theme for Proglamtool — wholesale supplier of hair salon tools, nail art tools, makeup brushes, and beauty tools from China.
Version:           3.19.1
Requires at least: 6.0
Tested up to:      6.5
Requires PHP:      7.4
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       proglamtool
Tags:              custom-menu, featured-images, full-width-template, translation-ready, business, e-commerce
*/

/* ============================================================
   PALETTE  · Apricot #F2E2CB · Hot-pink #EE5D8A · Blush #F5BEBE
   ============================================================ */
:root {
  --apricot:      #F2E2CB;
  --apricot-deep: #E8D0B0;
  --apricot-pale: #FBF5EE;
  --pink:         #EE5D8A;
  --pink-mid:     #F47DAA;
  --pink-dark:    #D94E78;
  --blush:        #F5BEBE;
  --blush-pale:   #FCF0F0;
  --cream:        #FFFAF6;
  --white:        #FFFFFF;
  --text:         #4A3540;
  --text-mid:     #7A6070;
  --text-light:   #A89098;
  --border:       #EDD8D0;
  --border-light: #F5EBE5;
  /* Font — Plus Jakarta Sans throughout (bold, substantial) */
  --sans:         'Jost','Helvetica Neue',sans-serif;
  --serif:        'Cormorant Garamond',Georgia,serif;
  --ease:         cubic-bezier(.4,0,.2,1);
  --nav-h:        72px; /* legacy alias */
  --radius:       12px;
  --radius-lg:    20px;
  --max-w:        1280px;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; overflow-x:hidden; } /* prevent horizontal scroll on mobile */
body {
  font-family:var(--sans);
  font-weight:400;
  color:var(--text);
  background:var(--cream);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip; /* clip not hidden — avoids new stacking context that traps position:fixed */
  max-width:100%;
}
/* html overflow-x intentionally not set — avoids breaking position:fixed on iOS */
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; transition:all .28s var(--ease); }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input,textarea,select { font-family:inherit; }

h1,h2,h3,h4,h5,h6 {
  font-family:var(--sans);
  font-weight:800;
  line-height:1.15;
  color:var(--text);
  letter-spacing:-.02em;
}
h1 { font-size:clamp(2.2rem,5vw,3.8rem); }
h2 { font-size:clamp(1.7rem,3.2vw,2.8rem); }
h3 { font-size:clamp(1.2rem,2vw,1.6rem); font-weight:700; }
h4 { font-size:1.1rem; font-weight:700; }
p  { margin-bottom:1rem; }
p:last-child { margin-bottom:0; }

.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:absolute; top:-100%; left:1rem; z-index:9999; padding:.6rem 1.2rem; background:var(--pink); color:var(--white); border-radius:0 0 var(--radius) var(--radius); font-weight:700; }
.skip-link:focus { top:0; }

/* ============================================================
   LAYOUT
   ============================================================ */
.container { width:100%; max-width:var(--max-w); margin:0 auto; padding:0 2rem; }
.section { padding:5rem 0; }
.section--apricot       { background:var(--apricot-pale); }
.section--blush         { background:var(--blush-pale); }
.section--pink          { background:var(--pink); }
.section--apricot-solid { background:var(--apricot); }
.section--white         { background:var(--white); }

.overline { font-family:var(--sans); font-size:.7rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--pink); display:block; margin-bottom:.85rem; }
.section-head { margin-bottom:3.5rem; }
.section-head h2 { margin-bottom:1rem; }
.section-head p { max-width:580px; color:var(--text-mid); font-size:1rem; font-weight:500; }
.section-head.center { text-align:center; }
.section-head.center p { margin:0 auto; }
.section-head.on-pink h2 { color:var(--white); }
.section-head.on-pink .overline { color:rgba(255,255,255,.85); }
.section-head.on-pink p { color:rgba(255,255,255,.8); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.82rem 2.1rem;
  font-family:var(--sans); font-size:.73rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  border:2px solid transparent;
  transition:all .28s var(--ease); cursor:pointer;
  border-radius:3px; white-space:nowrap;
}
.btn-pink   { background:var(--pink); color:var(--white); border-color:var(--pink); }
.btn-pink:hover { background:var(--pink-dark); border-color:var(--pink-dark); transform:translateY(-2px); box-shadow:0 8px 24px rgba(238,93,138,.35); color:var(--white); }
.btn-outline { background:transparent; color:var(--pink); border-color:var(--pink); }
.btn-outline:hover { background:var(--pink); color:var(--white); transform:translateY(-2px); }
.btn-outline-white { background:transparent; color:var(--white); border-color:rgba(255,255,255,.7); }
.btn-outline-white:hover { background:var(--white); color:var(--pink); }
.btn-sm { padding:.55rem 1.3rem; font-size:.68rem; }
.btn-ghost { font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--pink); display:inline-flex; align-items:center; gap:.6rem; padding:0; background:none; border:none; }
.btn-ghost::after { content:'→'; transition:transform .25s var(--ease); }
.btn-ghost:hover::after { transform:translateX(5px); }
.btn-group { display:flex; gap:1rem; flex-wrap:wrap; }

/* ============================================================
   HEADER — vertical: logo row top, nav row below
   ============================================================ */
:root {
  --hdr-logo-h: 68px;
  --hdr-nav-h:  44px;
  --hdr-total:  calc(var(--hdr-logo-h) + var(--hdr-nav-h));
}

/* Outer shell — auto height, two tiers */
#site-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(255,250,246,.97);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border-light);
  transition:box-shadow .3s var(--ease);
}
#site-header.scrolled { box-shadow:0 2px 24px rgba(238,93,138,.1); }

/* ── Tier 1: Logo row ── */

.hdr-logo-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:var(--hdr-logo-h); gap:1rem;
}
.site-logo { display:flex; align-items:center; gap:.65rem; flex-shrink:0; text-decoration:none; }
.site-logo img { height:42px; width:auto; object-fit:contain; }
.site-logo-text { font-family:var(--sans); font-size:1.35rem; font-weight:800; color:var(--text); letter-spacing:-.03em; line-height:1; }
.site-logo-text em { color:var(--pink); font-style:normal; }

/* Logo-row right: search + CTA + hamburger */
.hdr-logo-right { display:flex; align-items:center; gap:.75rem; }
.header-search-btn { width:34px; height:34px; display:flex; align-items:center; justify-content:center; color:var(--text-light); font-size:.9rem; cursor:pointer; transition:color .2s; background:none; border:none; }
.header-search-btn:hover { color:var(--pink); }
.menu-toggle { display:none; flex-direction:column; gap:5px; padding:8px; cursor:pointer; background:none; border:none; }
.menu-toggle span { display:block; width:23px; height:2px; background:var(--text); border-radius:2px; transition:all .3s var(--ease); }

/* Header background image strip (issue 6) */
.hdr-logo-row {
  height:var(--hdr-logo-h);
  background-image: url('https://img.alicdn.com/imgextra/i4/47584541/O1CN01jqdboE1jPpf0UZNEO_!!47584541.jpg');
  background-size: cover;
  background-position: center top;
  background-color: var(--cream);
}
.hdr-logo-inner { background:rgba(255,250,246,.88); }

/* ── Tier 2: Nav row ── */
.hdr-nav-row {
  height:var(--hdr-nav-h);
  background:var(--white);
}
.hdr-nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:var(--hdr-nav-h);
}

/* Primary nav — horizontal on desktop */
.primary-nav { display:flex; align-items:center; height:var(--hdr-nav-h); flex:1; }
.primary-nav > ul { display:flex; align-items:center; list-style:none; margin:0; padding:0; height:var(--hdr-nav-h); }
.primary-nav > ul > li { position:relative; height:var(--hdr-nav-h); display:flex; align-items:center; }
.primary-nav > ul > li > a {
  display:flex; align-items:center; height:var(--hdr-nav-h);
  padding:0 .9rem;
  font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--text-mid); white-space:nowrap;
  border-bottom:2px solid transparent;
  transition:color .2s, border-color .2s;
}
.primary-nav > ul > li > a:hover,
.primary-nav > ul > li.current-menu-item > a,
.primary-nav > ul > li.current-menu-ancestor > a { color:var(--pink); border-bottom-color:var(--pink); }

/* Dropdown — vertical list (issue 6) */
.primary-nav .sub-menu {
  position:absolute; top:100%; left:0;
  min-width:220px; list-style:none; margin:0; padding:.3rem 0;
  background:var(--white);
  border:1px solid var(--border); border-top:2px solid var(--pink);
  opacity:0; visibility:hidden; transform:translateY(4px);
  transition:all .18s var(--ease);
  box-shadow:0 8px 28px rgba(74,53,64,.12);
  z-index:1001;
}
.primary-nav > ul > li:hover > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.primary-nav .sub-menu li { display:block; width:100%; background:var(--white); }
.primary-nav .sub-menu li a {
  display:block; padding:.6rem 1.15rem;
  font-size:.77rem; font-weight:600; color:var(--text-mid);
  white-space:nowrap; transition:color .15s,background .15s,padding-left .15s;
  width:100%; background:var(--white);
}
.primary-nav .sub-menu li a:hover { color:var(--pink); background:var(--blush-pale) !important; padding-left:1.5rem; }

/* Search overlay */
.search-overlay { position:fixed; inset:0; background:rgba(255,250,246,.97); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:all .3s var(--ease); }
.search-overlay.open { opacity:1; visibility:visible; }
.search-overlay form { display:flex; width:560px; max-width:90vw; }
.search-overlay input[type=search] { flex:1; padding:1rem 1.25rem; font-size:1rem; font-weight:500; border:2px solid var(--pink); border-right:none; outline:none; background:var(--white); color:var(--text); border-radius:2px 0 0 2px; }
.search-overlay button[type=submit] { padding:1rem 1.4rem; background:var(--pink); color:var(--white); font-size:.9rem; border:none; cursor:pointer; border-radius:0 2px 2px 0; font-weight:700; }
.search-close { position:absolute; top:1.5rem; right:2rem; font-size:1.4rem; color:var(--text-mid); cursor:pointer; background:none; border:none; line-height:1; }

/* Hide search btn and Get Samples CTA from header — keep hamburger visible */
.header-search-btn,
.hdr-logo-right .btn:not(.menu-toggle),
.hdr-logo-right .btn-sm:not(.menu-toggle) { display:none !important; }

/* ── Mobile ≤900px ── */
@media(max-width:900px){
  :root { --hdr-logo-h:58px; --hdr-nav-h:0px; --hdr-total:58px; }

  /* ── Header: hide nav, show hamburger ── */
  .hdr-nav-row  { display:none; }
  .hdr-logo-row { border-bottom:1px solid var(--border-light); }
  .menu-toggle  { display:flex !important; }

  /* ── Menu open: un-hide nav row, then position it fullscreen ──
     CRITICAL: must un-hide .hdr-nav-row first (display:none parent
     blocks all children regardless of their own display property) */
  body.menu-open { overflow:hidden; } /* prevent background scroll */
  body.menu-open .hdr-nav-row {
    display:block;
    position:fixed;
    top:58px; left:0; right:0; bottom:0;
    width:100%;
    height:calc(100vh - 58px);
    background:var(--white);
    overflow-y:auto;
    overflow-x:hidden;
    z-index:2000;
    border-top:2px solid var(--pink);
    -webkit-overflow-scrolling:touch;
  }
  body.menu-open .hdr-nav-inner {
    display:block;
    height:auto;
    padding:1.5rem 1.5rem 4rem;
  }
  body.menu-open .primary-nav {
    display:block;
    height:auto;
    width:100%;
  }
  body.menu-open .primary-nav > ul {
    display:flex;
    flex-direction:column;
    width:100%;
    list-style:none;
    margin:0; padding:0;
    height:auto;
  }
  body.menu-open .primary-nav > ul > li {
    display:block;
    width:100%;
    height:auto;
    border-bottom:1px solid var(--border-light);
  }
  body.menu-open .primary-nav > ul > li > a {
    display:block;
    height:auto;
    line-height:1.5;
    padding:.9rem 0;
    font-size:1rem;
    border-bottom:none;
    color:var(--text);
  }
  /* Submenus: hidden by default on mobile, shown via .sub-open class */
  body.menu-open .primary-nav .sub-menu {
    display:none;
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    background:var(--apricot-pale);
    border:none;
    box-shadow:none;
    padding:.4rem 0 .4rem 1rem;
    width:100%;
    min-width:0;
  }
  body.menu-open .primary-nav li.sub-open > .sub-menu { display:block; }
  body.menu-open .primary-nav .sub-menu li { display:block; }
  body.menu-open .primary-nav .sub-menu li a {
    display:block;
    font-size:.88rem;
    padding:.55rem .5rem;
    background:transparent;
    color:var(--text-mid);
  }

  /* ── Layout: 4 problem sections + others collapse to 1 column ── */
  .hero-badges, .hero-scroll { display:none; }

  /* THE FOUR SECTIONS — explicit 1-column override */
  .intro-grid   { grid-template-columns:1fr !important; gap:2rem !important; }
  .factory-grid { grid-template-columns:1fr !important; gap:2rem !important; }
  .oem-inner    { grid-template-columns:1fr !important; gap:1.5rem !important; }
  .contact-grid { grid-template-columns:1fr !important; gap:3rem !important; }
  .contact-left { gap:1.5rem; }

  .features-grid { grid-template-columns:1fr; }
  .expo-grid     { grid-template-columns:1fr 1fr; }
  .form-row      { grid-template-columns:1fr !important; }
  .footer-top    { grid-template-columns:1fr 1fr; }
  .with-sidebar, .wc-page-wrap, .blog-layout { grid-template-columns:1fr; }
  .posts-grid    { grid-template-columns:1fr 1fr; }

  .oem-actions      { flex-direction:column; width:100%; }
  .oem-actions .btn { width:100%; justify-content:center; }
  .oem-bg-text      { display:none; }
  .oem-steps        { flex-wrap:wrap; }
  .oem-step         { min-width:30%; }

  .intro-img-wrap::before, .intro-img-wrap::after { display:none; }
  .intro-img-wrap  { overflow:hidden; }
  .intro-badge     { right:.5rem; bottom:-.5rem; }

  .cat-tabs { overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
  .cat-tab  { flex-shrink:0; }

  .wc-product-gallery { position:static; }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .related-blog-grid { grid-template-columns:1fr; }
  .wc-cat-sidebar  { position:static; }
  .blog-list-card  { grid-template-columns:1fr; }
  .blog-list-thumb img { height:200px; min-height:unset; }
  .blog-list-body  { padding:1.25rem; }
  .blog-sidebar    { position:static; }

  /* WC archive: products above, categories below */
  .wc-page-wrap  { display:flex; flex-direction:column; }
  .wc-main       { order:1; }
  .wc-cat-sidebar { order:2; margin-top:2rem; }
}


/* Body offset — use hdr-total (issue 5) */
body { padding-top:var(--hdr-total); }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position:relative;
  min-height:560px; height:88vh; max-height:800px;
  overflow:hidden; display:flex; align-items:center;
  background:var(--apricot);
  margin-top:calc(-1 * var(--hdr-total));
  padding-top:var(--hdr-total);
}
.hero-blob-1 { position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(245,190,190,.55) 0%,transparent 70%); right:-150px; top:-100px; pointer-events:none; }
.hero-blob-2 { position:absolute; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(238,93,138,.1) 0%,transparent 70%); left:-80px; bottom:-80px; pointer-events:none; }
.hero-slides { position:absolute; inset:0; z-index:0; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 1.2s var(--ease); background-size:cover; background-position:center right; }
.hero-slide.active { opacity:1; }
.hero-slide::after { content:''; position:absolute; inset:0; background:var(--hero-overlay, none); }
.hero-content { position:relative; z-index:2; max-width:620px; }
.hero-eyebrow { display:flex; align-items:center; gap:.9rem; margin-bottom:.9rem; }
.hero-eyebrow::before { content:''; display:block; width:32px; height:2px; background:var(--pink); }
.hero-eyebrow span { font-size:.7rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--pink); }
.hero h1 { color:var(--text); margin-bottom:.9rem; font-weight:800; line-height:1.1; }
.hero h1 strong { display:block; color:var(--pink); font-weight:800; }
.hero-desc { font-size:.97rem; color:var(--text-mid); margin-bottom:1.6rem; max-width:500px; line-height:1.75; font-weight:500; }
.hero-actions { display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.hero-badges { position:absolute; right:6%; bottom:8%; z-index:3; display:flex; flex-direction:column; gap:.75rem; }
.hero-badge { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:.85rem 1.2rem; display:flex; align-items:center; gap:.8rem; box-shadow:0 4px 20px rgba(238,93,138,.1); }
.hero-badge-icon { width:38px; height:38px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.hbi-pink { background:var(--blush-pale); }
.hbi-apricot { background:var(--apricot); }
.hero-badge-num { font-family:var(--sans); font-size:1.45rem; font-weight:800; color:var(--text); line-height:1; display:block; }
.hero-badge-label { font-size:.62rem; color:var(--text-light); text-transform:uppercase; letter-spacing:.1em; display:block; margin-top:.1rem; font-weight:600; }
.hero-dots { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); display:flex; gap:.5rem; z-index:3; }
.hero-dot { width:6px; height:6px; border-radius:50%; background:var(--blush); cursor:pointer; transition:all .3s var(--ease); border:none; }
.hero-dot.active { background:var(--pink); width:22px; border-radius:3px; }
.hero-scroll { position:absolute; bottom:1.5rem; right:2.5rem; z-index:3; display:flex; flex-direction:column; align-items:center; gap:.4rem; color:var(--text-light); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; }
.hero-scroll-line { width:1px; height:36px; background:linear-gradient(to bottom,var(--pink),transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100% { opacity:1;transform:scaleY(1) } 50% { opacity:.3;transform:scaleY(.5) } }

/* ============================================================
   PARTNER TICKER
   ============================================================ */
.partners-ticker { background:var(--white); border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); padding:1.2rem 0; overflow:hidden; position:relative; }
.partners-ticker::before,.partners-ticker::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.partners-ticker::before { left:0; background:linear-gradient(to right,var(--white),transparent); }
.partners-ticker::after  { right:0; background:linear-gradient(to left,var(--white),transparent); }
.ticker-track { display:flex; align-items:center; gap:2.5rem; animation:tickerScroll 28s linear infinite; white-space:nowrap; }
.ticker-track:hover { animation-play-state:paused; }
@keyframes tickerScroll { from { transform:translateX(0) } to { transform:translateX(-50%) } }
.ticker-item { font-family:var(--sans); font-size:.92rem; font-weight:600; color:var(--text-light); letter-spacing:.04em; flex-shrink:0; display:flex; align-items:center; gap:2.5rem; }
.ticker-sep { color:var(--pink); opacity:.5; }

/* ============================================================
   INTRO
   ============================================================ */
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.intro-text .overline { margin-bottom:1rem; }
.intro-text h2 { margin-bottom:1.5rem; }
.intro-text p { color:var(--text-mid); font-size:1rem; margin-bottom:1.4rem; font-weight:500; }
.intro-img-wrap { position:relative; }
.intro-img-main { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-lg); }
.intro-img-wrap::before { content:''; position:absolute; top:-20px; right:-20px; width:60%; height:60%; border:2px solid var(--blush); border-radius:var(--radius-lg); z-index:-1; }
.intro-img-wrap::after  { content:''; position:absolute; bottom:-14px; left:-14px; width:40%; height:40%; background:var(--apricot); border-radius:var(--radius); z-index:-1; }
.intro-badge { position:absolute; bottom:-1.5rem; right:1.5rem; background:var(--pink); color:var(--white); border-radius:var(--radius); padding:1.1rem 1.4rem; text-align:center; box-shadow:0 8px 24px rgba(238,93,138,.35); }
.intro-badge strong { display:block; font-family:var(--sans); font-size:2.1rem; font-weight:800; line-height:1; }
.intro-badge span { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; opacity:.9; font-weight:600; }

/* ============================================================
   STATS BAND
   ============================================================ */
.stats-band { background:var(--pink); }
.stats-inner { display:flex; align-items:stretch; justify-content:space-around; }
.stat-box { flex:1; text-align:center; padding:2rem 1.5rem; border-right:1px solid rgba(255,255,255,.2); }
.stat-box:last-child { border-right:none; }
.stat-box-num   { display:block; font-family:var(--sans); font-size:2.6rem; font-weight:800; color:var(--white); line-height:1; }
.stat-box-label { display:block; font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.8); margin-top:.35rem; font-weight:600; }

/* ============================================================
   PRODUCT TABS
   ============================================================ */
.cat-tabs { display:flex; flex-wrap:wrap; border-bottom:2px solid var(--border); margin-bottom:3rem; }
.cat-tab { padding:.82rem 1.5rem; font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-light); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .25s var(--ease); background:none; border-top:none; border-left:none; border-right:none; display:flex; align-items:center; gap:.5rem; white-space:nowrap; }
.cat-tab:hover { color:var(--text); }
.cat-tab.active { color:var(--pink); border-bottom-color:var(--pink); }
.cat-panel { display:none; }
.cat-panel.active { display:block; }
.cat-panel-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid var(--border-light); }
.cat-panel-head h3 { font-size:1.45rem; }
.cat-panel-head span { font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--text-light); font-weight:600; }
.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.prod-card { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-light); transition:all .3s var(--ease); }
.prod-card:hover { border-color:var(--blush); box-shadow:0 12px 36px rgba(238,93,138,.12); transform:translateY(-4px); }
.prod-card-img-wrap { overflow:hidden; background:var(--apricot-pale); background-color:#00000008; }
.prod-card-img { width:100%; aspect-ratio:unset; object-fit:contain; transition:transform .5s var(--ease); }
.prod-card:hover .prod-card-img { transform:scale(1.06); }
.prod-card-body { padding:1.3rem 1.3rem 1.5rem; }
.prod-card h4 { font-size:1rem; color:var(--text); margin-bottom:.4rem; font-weight:700; }
.prod-card p { font-size:.82rem; color:var(--text-mid); line-height:1.65; margin-bottom:1rem; font-weight:500; }
.prod-card-link { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--pink); display:inline-flex; align-items:center; gap:.5rem; transition:gap .25s var(--ease); font-weight:700; }
.prod-card-link::after { content:'→'; }
.prod-card:hover .prod-card-link { gap:.85rem; }
.prod-card-badge { display:inline-block; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; background:var(--blush-pale); color:var(--pink); padding:.2rem .6rem; border-radius:2px; margin-bottom:.6rem; font-weight:700; }

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
.features-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:3.5rem; }
.feature-box { background:var(--white); border-radius:var(--radius-lg); padding:2.5rem; border:1px solid var(--border-light); position:relative; overflow:hidden; transition:all .3s var(--ease); }
.feature-box:hover { border-color:var(--blush); box-shadow:0 10px 36px rgba(238,93,138,.1); transform:translateY(-2px); }
.feature-box-accent { position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--pink),var(--blush)); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.feature-box:hover .feature-box-accent { transform:scaleX(1); }
.feature-num { font-family:var(--sans); font-size:3.5rem; font-weight:800; color:var(--blush); line-height:1; margin-bottom:.8rem; transition:color .3s; }
.feature-box:hover .feature-num { color:var(--pink-mid); }
.feature-box h3 { font-size:1.3rem; margin-bottom:.65rem; }
.feature-box p { font-size:.88rem; color:var(--text-mid); line-height:1.75; margin-bottom:1.4rem; font-weight:500; }

/* ============================================================
   FACTORY / ABOUT
   ============================================================ */
.factory-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.factory-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:.85rem; }
.factory-mosaic img { width:100%; object-fit:cover; border-radius:var(--radius); }
.factory-mosaic img:nth-child(1) { aspect-ratio:1; grid-row:1/3; grid-column:1; }
.factory-mosaic img:nth-child(2) { aspect-ratio:16/9; }
.factory-mosaic img:nth-child(3) { aspect-ratio:16/9; }
.factory-text .overline { margin-bottom:1rem; }
.factory-text h2 { margin-bottom:1.4rem; }
.factory-text p { color:var(--text-mid); font-size:1rem; margin-bottom:1.8rem; font-weight:500; }
.factory-certs { display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:2rem; }
.cert-badge { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; border:1px solid var(--blush); padding:.25rem .72rem; color:var(--pink); border-radius:2px; background:var(--blush-pale); font-weight:700; }

/* ============================================================
   CAPABILITIES
   ============================================================ */
.caps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:3.5rem; }
.cap-card { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-light); transition:all .3s var(--ease); }
.cap-card:hover { border-color:var(--blush); box-shadow:0 8px 28px rgba(238,93,138,.1); transform:translateY(-3px); }
.cap-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.cap-card-body { padding:1.3rem; }
.cap-card h4 { font-size:.92rem; margin-bottom:.4rem; }
.cap-card p { font-size:.8rem; color:var(--text-mid); line-height:1.65; margin-bottom:.9rem; font-weight:500; }

/* ============================================================
   EXHIBITION GALLERY
   ============================================================ */
.expo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3.5rem; }
.expo-item { position:relative; overflow:hidden; aspect-ratio:4/3; border-radius:var(--radius); }
.expo-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.expo-item:hover img { transform:scale(1.07); }
.expo-item-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(238,93,138,.6) 0%,transparent 55%); opacity:0; transition:opacity .3s; display:flex; align-items:flex-end; padding:1.2rem; }
.expo-item:hover .expo-item-overlay { opacity:1; }
.expo-item-overlay span { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--white); font-weight:700; }

/* ============================================================
   OEM / ODM
   ============================================================ */
.oem-section { position:relative; overflow:hidden; }
.oem-bg-text { position:absolute; right:0; top:50%; transform:translateY(-50%); font-family:var(--sans); font-size:18vw; font-weight:800; color:rgba(238,93,138,.05); pointer-events:none; line-height:1; z-index:0; }
.oem-inner { display:grid; grid-template-columns:1fr auto; gap:5rem; align-items:center; position:relative; z-index:1; }
.oem-text .overline { margin-bottom:1rem; }
.oem-text h2 { margin-bottom:1rem; }
.oem-text p { color:var(--text-mid); font-size:1rem; max-width:560px; margin-bottom:1.8rem; font-weight:500; }
.oem-steps { display:flex; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--white); margin-top:1.5rem; }
.oem-step { flex:1; padding:1rem; border-right:1px solid var(--border-light); text-align:center; }
.oem-step:last-child { border-right:none; }
.oem-step-n { font-family:var(--sans); font-size:1.5rem; font-weight:800; color:var(--pink); display:block; line-height:1; }
.oem-step-label { font-size:.68rem; letter-spacing:.04em; color:var(--text-mid); display:block; margin-top:.3rem; font-weight:600; }
.oem-actions { display:flex; flex-direction:column; gap:1rem; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi-track-wrap { overflow:hidden; margin-top:3rem; max-width:100vw; }
.testi-row { display:flex; gap:1rem; animation:testiScroll 32s linear infinite; flex-shrink:0; }
.testi-row+.testi-row { margin-top:1rem; animation-delay:-16s; }
.testi-row:hover { animation-play-state:paused; }
@keyframes testiScroll { from { transform:translateX(0) } to { transform:translateX(-50%) } }
.testi-card { flex-shrink:0; width:310px; background:rgba(255,255,255,.15); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.25); border-radius:var(--radius); padding:1.6rem; position:relative; }
.testi-card::before { content:'"'; font-family:var(--sans); font-size:4rem; line-height:.75; color:rgba(255,255,255,.3); position:absolute; top:.8rem; right:1.2rem; font-weight:800; }
.testi-text { font-size:.86rem; color:rgba(255,255,255,.9); line-height:1.75; margin-bottom:1.1rem; font-weight:500; }
.testi-author { display:flex; align-items:center; gap:.75rem; }
.testi-avatar { width:36px; height:36px; border-radius:50%; flex-shrink:0; background:rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; color:var(--white); font-size:.84rem; font-weight:700; border:1px solid rgba(255,255,255,.4); }
.testi-name { font-size:.83rem; font-weight:700; color:var(--white); }
.testi-role { font-size:.72rem; color:rgba(255,255,255,.7); font-weight:500; }

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
/* Left column: heading block + contact details stacked */
.contact-left { display:flex; flex-direction:column; gap:2rem; }
.contact-head .overline { margin-bottom:.75rem; }
.contact-head h2 { margin-bottom:1rem; line-height:1.2; }
.contact-head-desc { color:var(--text-mid); font-size:.97rem; line-height:1.75; margin:0; }
.contact-details-block { display:flex; flex-direction:column; gap:0; }
.contact-detail { display:flex; gap:.9rem; align-items:flex-start; margin-bottom:1.5rem; }
.contact-icon { width:42px; height:42px; flex-shrink:0; background:var(--blush-pale); border:1px solid var(--blush); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--pink); font-size:.9rem; }
.contact-label { font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:var(--pink); margin-bottom:.22rem; font-weight:700; }
.contact-value { color:var(--text-mid); font-size:.9rem; font-weight:500; }
.contact-value a:hover { color:var(--pink); }
.contact-socials { display:flex; gap:.6rem; margin-top:2rem; }
.contact-social { width:36px; height:36px; border-radius:50%; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--text-light); font-size:.82rem; transition:all .25s; }
.contact-social:hover { border-color:var(--pink); color:var(--pink); background:var(--blush-pale); }
.contact-form-wrap { background:var(--white); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:2.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:.85rem; }
.form-group label { display:block; font-size:.67rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mid); margin-bottom:.2rem; font-weight:700; }
.form-group input,.form-group textarea,.form-group select { width:100%; background:var(--apricot-pale); border:1.5px solid var(--border); border-radius:var(--radius); padding:.8rem 1rem; color:var(--text); font-family:var(--sans); font-size:.9rem; font-weight:500; outline:none; transition:border-color .25s; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:var(--pink); background:var(--white); }
.form-group textarea { resize:vertical; min-height:110px; }
.form-group input::placeholder,.form-group textarea::placeholder { color:var(--text-light); }
.form-submit-wrap { margin-top:.25rem; }
.form-submit-wrap .btn { width:100%; justify-content:center; }
.form-response { font-size:.87rem; margin-bottom:.9rem; display:none; padding:.65rem 1rem; border-radius:var(--radius); font-weight:600; }
.form-response.success { background:var(--blush-pale); color:var(--pink-dark); }
.form-response.error   { background:#FEF2F2; color:#B91C1C; }

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero {
  background:var(--apricot);
  padding:calc(var(--hdr-total) + 2rem) 0 2rem;
  text-align:center; position:relative; overflow:hidden;
  background-image:url('https://img.alicdn.com/imgextra/i4/47584541/O1CN01jqdboE1jPpf0UZNEO_!!47584541.jpg');
  background-size:cover; background-position:center;
}
.page-hero::before { content:''; position:absolute; inset:0; background:rgba(242,226,203,.82); z-index:0; }
.page-hero > .container { position:relative; z-index:1; }
.page-hero h1 { font-size:clamp(1.7rem,4vw,3rem); position:relative; }
.page-hero .overline { position:relative; margin-bottom:.75rem; }
.page-hero p { color:var(--text-mid); max-width:560px; margin:.75rem auto 0; font-size:1rem; position:relative; font-weight:500; }

/* ============================================================
   BLOG / ARCHIVE
   ============================================================ */
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; padding:4rem 0; }
.post-card { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-light); transition:all .3s; }
.post-card:hover { border-color:var(--blush); box-shadow:0 8px 30px rgba(238,93,138,.1); transform:translateY(-3px); }
.post-card-thumb { overflow:hidden; }
.post-card-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .4s; }
.post-card:hover .post-card-thumb img { transform:scale(1.04); }
.post-card-body { padding:1.5rem; }
.post-card .overline { margin-bottom:.5rem; }
.post-card h3 { font-size:1.1rem; margin-bottom:.5rem; }
.post-card h3 a:hover { color:var(--pink); }
.post-card p { font-size:.87rem; color:var(--text-mid); margin-bottom:1.1rem; font-weight:500; }
.post-pagination { display:flex; justify-content:center; gap:.5rem; padding-bottom:4rem; }
.post-pagination .page-numbers { padding:.5rem .9rem; border:1px solid var(--border); border-radius:var(--radius); font-size:.8rem; color:var(--text-mid); transition:all .25s; font-weight:600; }
.post-pagination .page-numbers:hover,.post-pagination .page-numbers.current { background:var(--pink); color:var(--white); border-color:var(--pink); }

/* Single post */
.single-hero { background:var(--apricot); padding:calc(var(--hdr-total) + 4rem) 0 3rem; }
.single-hero .overline { margin-bottom:1rem; }
.single-hero h1 { max-width:760px; font-size:clamp(1.8rem,3.5vw,2.8rem); }
.single-hero .post-meta { color:var(--text-mid); margin-top:1rem; font-size:.9rem; font-weight:600; }
.post-content { padding:4rem 0; max-width:760px; }
.post-content p { font-size:1rem; color:var(--text-mid); line-height:1.85; margin-bottom:1.25rem; font-weight:500; }
.post-content h2,.post-content h3 { margin:2.5rem 0 1rem; }
.post-content img { margin:2rem 0; border-radius:var(--radius); }
.post-content a { color:var(--pink); text-decoration:underline; }
.post-content ul,.post-content ol { padding-left:1.5rem; margin-bottom:1.25rem; color:var(--text-mid); }
.post-content li { margin-bottom:.4rem; font-weight:500; }

/* Sidebar */
.with-sidebar { display:grid; grid-template-columns:1fr 300px; gap:3rem; align-items:start; padding:4rem 0; }
.sidebar-widget { background:var(--white); border-radius:var(--radius); padding:1.75rem; margin-bottom:1.5rem; border:1px solid var(--border-light); }
.sidebar-widget-title { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-mid); margin-bottom:1.25rem; padding-bottom:.75rem; border-bottom:1px solid var(--border-light); font-weight:700; }
.sidebar-widget ul li { margin-bottom:.6rem; }
.sidebar-widget ul li a { font-size:.87rem; color:var(--text-mid); transition:color .2s; font-weight:500; }
.sidebar-widget ul li a:hover { color:var(--pink); }

/* ============================================================
   WOOCOMMERCE — product archive & single (FIX 2 & 3)
   ============================================================ */
/* Archive page */
/* ============================================================
   WOOCOMMERCE — archive, category, single product
   ============================================================ */

/* Two-column layout: sidebar left, products right */
.wc-page-wrap {
    display:grid;
    grid-template-columns:220px 1fr;
    gap:2.5rem;
    padding:2rem 0 4rem;
    align-items:start;
}
.wc-cat-sidebar { position:sticky; top:calc(var(--hdr-total) + 1.5rem); }
.wc-sidebar-widget { background:var(--white); border-radius:var(--radius); padding:1.4rem; margin-bottom:1.25rem; border:1px solid var(--border-light); }
.wc-sidebar-title { font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-mid); margin-bottom:1rem; padding-bottom:.65rem; border-bottom:2px solid var(--blush); font-weight:700; }
.wc-cat-list { list-style:none; margin:0; padding:0; }
.wc-cat-list li { margin-bottom:.45rem; }
.wc-cat-list li a { font-size:.86rem; color:var(--text-mid); font-weight:500; transition:color .2s; display:flex; justify-content:space-between; align-items:center; padding:.2rem 0; }
.wc-cat-list li a:hover { color:var(--pink); }
.wc-cat-list li.current-cat > a { color:var(--pink); font-weight:700; }
.wc-cat-list .children { list-style:none; padding-left:1rem; margin-top:.3rem; }
.wc-cat-list .count { font-size:.72rem; color:var(--text-light); background:var(--blush-pale); padding:.1rem .45rem; border-radius:10px; }
.wc-cat-list li.cat-child a { padding-left:.9rem; font-size:.82rem; }
.cat-count { font-size:.72rem; color:var(--text-light); margin-left:.3rem; }

/* Toolbar: count + ordering */
.wc-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; gap:1rem; flex-wrap:wrap; }
.wc-toolbar .woocommerce-result-count { font-size:.82rem; color:var(--text-mid); font-weight:600; }
.wc-toolbar .woocommerce-ordering select { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius); padding:.45rem .9rem; font-size:.8rem; font-weight:600; color:var(--text); outline:none; cursor:pointer; font-family:var(--sans); }
.wc-toolbar .woocommerce-ordering select:focus { border-color:var(--pink); }

/* WC product grid */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; list-style:none; margin:0; padding:0; }
.woocommerce ul.products li.product { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-light); transition:all .3s; }
.woocommerce ul.products li.product:hover { border-color:var(--blush); box-shadow:0 8px 28px rgba(238,93,138,.1); transform:translateY(-3px); }
.woocommerce ul.products li.product a img { width:100%; height:auto; max-height:280px; aspect-ratio:unset; object-fit:contain; object-position:center; display:block; transition:transform .4s; background:var(--apricot-pale); }
.woocommerce ul.products li.product:hover a img { transform:scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.95rem; font-weight:700; padding:.9rem 1.1rem .25rem; color:var(--text); }
.woocommerce ul.products li.product .price { display:block; padding:0 1.1rem .4rem; font-size:.82rem; color:var(--pink); font-weight:700; }
.woocommerce ul.products li.product .button { display:block; margin:.5rem 1.1rem 1.1rem; padding:.6rem 1rem; background:var(--pink); color:var(--white); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:3px; text-align:center; transition:background .25s; border:none; cursor:pointer; }
.woocommerce ul.products li.product .button:hover { background:var(--pink-dark); }
.woocommerce .onsale { background:var(--pink); color:var(--white); font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.25rem .65rem; border-radius:2px; }

/* WC notices */
.woocommerce-notices-wrapper { margin-bottom:1.5rem; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { padding:.9rem 1.2rem; border-radius:var(--radius); font-size:.9rem; font-weight:600; margin-bottom:1rem; list-style:none; }
.woocommerce-message { background:var(--blush-pale); color:var(--pink-dark); border-left:3px solid var(--pink); }
.woocommerce-info    { background:#EFF6FF; color:#1D4ED8; border-left:3px solid #3B82F6; }
.woocommerce-error   { background:#FEF2F2; color:#B91C1C; border-left:3px solid #EF4444; }

/* WC pagination */
.woocommerce-pagination { margin-top:2.5rem; display:flex; justify-content:center; }
.woocommerce-pagination ul { display:flex; gap:.5rem; list-style:none; margin:0; padding:0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span { padding:.5rem .9rem; border:1px solid var(--border); border-radius:var(--radius); font-size:.8rem; color:var(--text-mid); transition:all .25s; font-weight:600; display:block; }
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current { background:var(--pink); color:var(--white); border-color:var(--pink); }

/* Category SEO desc */
.wc-cat-desc { background:var(--apricot-pale); border-radius:var(--radius); padding:1.1rem 1.4rem; margin-bottom:1.5rem; border-left:3px solid var(--pink); font-size:.88rem; color:var(--text-mid); font-weight:500; }

/* Single product */
.wc-single-product { padding:3rem 0 5rem; }
.wc-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:start; }
.wc-product-gallery { position:sticky; top:calc(var(--hdr-total) + 2rem); }
/* Main image — scoped so it never matches thumbnails */
.wc-product-gallery > .wc-main-img-el { display:block; width:100%; max-height:480px; height:auto; object-fit:contain; object-position:center; background:var(--apricot-pale); border-radius:var(--radius-lg); }
/* Thumbnail strip */
.wc-gallery-thumbs { display:flex; flex-direction:row; flex-wrap:wrap; gap:.5rem; margin-top:.75rem; }
.wc-thumb { display:block; width:72px; height:72px; object-fit:contain; background:var(--apricot-pale); border-radius:var(--radius); border:2px solid var(--border-light); cursor:pointer; transition:border-color .2s, box-shadow .2s; flex-shrink:0; padding:3px; }
.wc-thumb:hover { border-color:var(--pink); box-shadow:0 0 0 1px var(--blush); }
.wc-thumb.active { border-color:var(--pink); box-shadow:0 0 0 1px var(--pink); }
.wc-product-info .product_title { font-size:clamp(1.5rem,3vw,2.2rem); margin-bottom:.75rem; }
.wc-product-info .price { font-size:1.2rem; font-weight:800; color:var(--pink); margin-bottom:1.2rem; display:block; }
.wc-product-info .woocommerce-product-details__short-description { color:var(--text-mid); font-size:.95rem; line-height:1.8; margin-bottom:1.4rem; font-weight:500; }
.wc-attrs-table { width:100%; border-collapse:collapse; margin-bottom:1.5rem; font-size:.88rem; }
.wc-attrs-table th { text-align:left; padding:.55rem .9rem .55rem 0; color:var(--text-mid); font-weight:700; width:38%; border-bottom:1px solid var(--border-light); }
.wc-attrs-table td { padding:.55rem 0; color:var(--text); font-weight:500; border-bottom:1px solid var(--border-light); }
.wc-product-info .cart { display:flex; gap:.9rem; flex-wrap:wrap; margin-bottom:1.4rem; align-items:center; }
.wc-product-info .qty { width:68px; padding:.7rem; border:1.5px solid var(--border); border-radius:var(--radius); font-size:.95rem; font-weight:700; text-align:center; outline:none; font-family:var(--sans); }
.wc-product-info .qty:focus { border-color:var(--pink); }
.wc-product-info .single_add_to_cart_button,
.wc-product-info button.single_add_to_cart_button { flex:1; padding:.82rem 1.4rem; background:var(--pink); color:var(--white); font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; border:2px solid var(--pink); border-radius:3px; cursor:pointer; transition:all .25s; }
.wc-product-info .single_add_to_cart_button:hover,
.wc-product-info button.single_add_to_cart_button:hover { background:var(--pink-dark); border-color:var(--pink-dark); }
.wc-product-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.btn-whatsapp { background:#25D366; color:var(--white); border-color:#25D366; }
.btn-whatsapp:hover { background:#1da851; border-color:#1da851; }
/* ── WooCommerce product tabs — pill button style with H2 ── */
.woocommerce-tabs .tabs { display:flex; gap:.6rem; border-bottom:none; margin-bottom:2rem; list-style:none; padding:0; flex-wrap:wrap; }
.woocommerce-tabs .tabs li { margin:0; }
.woocommerce-tabs .tabs li a {
    display:inline-block;
    text-decoration:none;
    cursor:pointer;
}
.woocommerce-tabs .tabs li a .wc-tab-heading {
    margin:0;
    padding:.55rem 1.4rem;
    font-family:var(--sans); font-size:.75rem; font-weight:700;
    letter-spacing:.1em; text-transform:uppercase;
    color:var(--text-mid);
    border:2px solid var(--border);
    border-radius:2rem;
    background:var(--white);
    transition:color .2s, background .2s, border-color .2s;
    line-height:1.5;
    white-space:nowrap;
}
.woocommerce-tabs .tabs li.active a .wc-tab-heading,
.woocommerce-tabs .tabs li a:hover .wc-tab-heading {
    color:var(--white);
    background:var(--pink);
    border-color:var(--pink);
}
/* Panel content */
.woocommerce-tabs .panel { font-size:.95rem; color:var(--text-mid); line-height:1.8; font-weight:500; }
/* Hide the duplicate H2 WooCommerce renders at the top of each panel */
.woocommerce-tabs .panel > h2:first-child { display:none; }
.related.products { margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid var(--border-light); }
.related.products > h2 { font-size:1.4rem; margin-bottom:1.5rem; }


/* ============================================================
   NEWS / BLOG SECTION (homepage + archive bottom)
   ============================================================ */
.news-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:2.5rem; }
.news-card { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-light); transition:all .3s; }
.news-card:hover { border-color:var(--blush); box-shadow:0 8px 24px rgba(238,93,138,.1); transform:translateY(-3px); }
.news-card-thumb { overflow:hidden; }
.news-card-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .4s; }
.news-card:hover .news-card-thumb img { transform:scale(1.05); }
.news-card-body { padding:1.1rem 1.2rem 1.3rem; }
.news-card-cat { font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); display:block; margin-bottom:.35rem; }
.news-card-title { font-size:.95rem; font-weight:700; color:var(--text); line-height:1.35; margin-bottom:.4rem; }
.news-card-title a:hover { color:var(--pink); }
.news-card-meta { font-size:.72rem; color:var(--text-light); font-weight:500; }

/* Related posts at bottom of wc pages */
.related-posts-section { margin-top:4rem; padding-top:3rem; border-top:1px solid var(--border-light); }
.related-posts-section h2 { font-size:1.5rem; margin-bottom:2rem; }
.related-posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }

@media(max-width:1100px){ .news-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .news-grid,.related-posts-grid { grid-template-columns:1fr; } }

/* ============================================================
   WC CATEGORY PAGE — SEO description + sidebar (issues 2 & 3)
   ============================================================ */
.wc-cat-description { background:var(--apricot-pale); border:1px solid var(--border-light); border-radius:var(--radius); padding:1.5rem 2rem; margin-bottom:2.5rem; }
.wc-cat-description h2 { font-size:1.1rem; margin-bottom:.6rem; }
.wc-cat-description p { font-size:.9rem; color:var(--text-mid); font-weight:500; margin-bottom:.4rem; }
.wc-cat-description p:last-child { margin-bottom:0; }


/* ============================================================
   NEWS / EXHIBITION SECTION (homepage + archive)
   ============================================================ */
.news-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:2.5rem; }
.news-card { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-light); transition:all .3s var(--ease); }
.news-card:hover { border-color:var(--blush); box-shadow:0 8px 28px rgba(238,93,138,.1); transform:translateY(-3px); }
.news-card-thumb { overflow:hidden; }
.news-card-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .4s; }
.news-card:hover .news-card-thumb img { transform:scale(1.05); }
.news-card-body { padding:1.2rem 1.3rem 1.5rem; }
.news-card .overline { font-size:.62rem; margin-bottom:.4rem; }
.news-card h4 { font-size:.95rem; font-weight:700; margin-bottom:.4rem; line-height:1.4; }
.news-card h4 a:hover { color:var(--pink); }
.news-card .news-meta { font-size:.72rem; color:var(--text-light); font-weight:600; margin-bottom:.5rem; }
.news-card p { font-size:.8rem; color:var(--text-mid); line-height:1.65; margin-bottom:.9rem; font-weight:500; }
.news-section-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:0; }
.news-section-head .view-all { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--pink); }
.news-section-head .view-all:hover { text-decoration:underline; }

/* Related posts on WC pages */
.related-blog-posts { margin-top:4rem; padding-top:3rem; border-top:1px solid var(--border-light); }
.related-blog-posts h3 { font-size:1.3rem; margin-bottom:1.5rem; }
.related-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }

/* WC category description SEO block */
.wc-cat-desc { background:var(--apricot-pale); border-radius:var(--radius-lg); padding:2rem 2.5rem; margin:2rem 0; border-left:3px solid var(--pink); }
.wc-cat-desc h2 { font-size:1.2rem; margin-bottom:.75rem; }
.wc-cat-desc p { font-size:.9rem; color:var(--text-mid); font-weight:500; line-height:1.8; margin-bottom:.5rem; }

/* WC archive with left sidebar */
.wc-layout { display:grid; grid-template-columns:220px 1fr; gap:2.5rem; padding:2rem 0 5rem; align-items:start; }
.wc-cat-sidebar { position:sticky; top:calc(var(--hdr-total) + 1.5rem); }
.wc-cat-sidebar .widget { background:var(--white); border-radius:var(--radius); padding:1.4rem; margin-bottom:1.25rem; border:1px solid var(--border-light); }
.wc-cat-sidebar .widget-title { font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-mid); margin-bottom:1rem; padding-bottom:.65rem; border-bottom:1px solid var(--border-light); font-weight:700; }
.wc-cat-sidebar ul { list-style:none; }
.wc-cat-sidebar ul li { margin-bottom:.5rem; }
.wc-cat-sidebar ul li a { font-size:.86rem; color:var(--text-mid); font-weight:500; transition:color .2s; display:flex; justify-content:space-between; align-items:center; }
.wc-cat-sidebar ul li a:hover { color:var(--pink); }
.wc-cat-sidebar ul li.current-cat > a { color:var(--pink); font-weight:700; }
.wc-cat-sidebar .count { font-size:.72rem; color:var(--text-light); background:var(--blush-pale); padding:.1rem .45rem; border-radius:10px; }

/* ============================================================
   FOOTER
   ============================================================ */
#site-footer { background:var(--text); padding:5rem 0 0; }
.footer-top { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:3.5rem; padding-bottom:3.5rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-logo img { height:38px; width:auto; object-fit:contain; filter:brightness(0) invert(1); opacity:.85; }
.footer-brand-desc { font-size:.86rem; color:rgba(255,255,255,.45); line-height:1.75; max-width:270px; margin:1.25rem 0 1.6rem; font-weight:500; }
.footer-socials { display:flex; gap:.6rem; }
.footer-social-link { width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:.82rem; transition:all .25s; }
.footer-social-link:hover { border-color:var(--pink); color:var(--pink); background:rgba(238,93,138,.12); }
.footer-col h5 { color:var(--white); font-size:.68rem; font-family:var(--sans); font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin-bottom:1.3rem; }
.footer-menu li { margin-bottom:.58rem; }
.footer-menu a { font-size:.85rem; color:rgba(255,255,255,.42); transition:all .22s; font-weight:500; }
.footer-menu a:hover { color:var(--blush); padding-left:.4rem; }
.footer-bottom { padding:1.5rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.footer-copyright { font-size:.75rem; color:rgba(255,255,255,.28); margin:0; font-weight:500; }
.footer-copyright a { color:var(--pink); }
.footer-certs { display:flex; gap:.6rem; flex-wrap:wrap; }
.footer-cert { font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.28); border:1px solid rgba(255,255,255,.1); padding:.2rem .6rem; border-radius:2px; font-weight:600; }

/* Cookie bar */
.cookie-bar { position:fixed; bottom:0; left:0; right:0; z-index:9998; background:var(--white); border-top:1px solid var(--border); padding:1rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.84rem; color:var(--text-mid); box-shadow:0 -4px 20px rgba(0,0,0,.06); font-weight:500; }
.cookie-bar.hidden { display:none; }
.cookie-bar a { color:var(--pink); font-weight:700; }

/* Issue 2: Hide author info, comments, comment form, and search on all blog pages */
.post-author-box,
.post-meta-bar .post-author-avatar,
.post-meta-bar .post-meta-author,
#comments,
.comments-area,
.comment-respond,
.wp-block-comments,
.blog-widget .search-form,
.blog-widget form[role="search"] { display:none !important; }

/* ============================================================
   BLOG LAYOUT — archive + single with sidebar
   ============================================================ */
.blog-layout {
    display:grid;
    grid-template-columns:1fr 300px;
    gap:3rem;
    padding:3rem 0 5rem;
    align-items:start;
}
.blog-main { min-width:0; }

/* Blog list cards (archive) */
.blog-posts-list { display:flex; flex-direction:column; gap:2.5rem; }
.blog-list-card {
    display:grid; grid-template-columns:280px 1fr; gap:0;
    background:var(--white); border-radius:var(--radius);
    border:1px solid var(--border-light); overflow:hidden;
    transition:all .3s; align-items:stretch;
    min-height:200px;
}
.blog-list-card:hover { border-color:var(--blush); box-shadow:0 6px 24px rgba(238,93,138,.08); }
.blog-list-thumb { display:block; flex-shrink:0; }
.blog-list-thumb img { width:100%; height:100%; min-height:200px; object-fit:cover; display:block; transition:transform .4s; }
.blog-list-card:hover .blog-list-thumb img { transform:scale(1.04); }
.blog-list-body { padding:1.6rem 1.8rem; }
.blog-list-meta { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.75rem; font-size:.72rem; font-weight:600; color:var(--text-light); }
.blog-cat a { color:var(--pink); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.65rem; }
.blog-list-title { font-size:1.2rem; font-weight:800; margin-bottom:.65rem; line-height:1.35; }
.blog-list-title a:hover { color:var(--pink); }
.blog-list-excerpt { font-size:.9rem; color:var(--text-mid); line-height:1.75; margin-bottom:1.1rem; font-weight:500; }

/* Sidebar */
.blog-sidebar { position:sticky; top:calc(var(--hdr-total) + 1.5rem); }
.blog-widget { background:var(--white); border-radius:var(--radius); padding:1.5rem; margin-bottom:1.5rem; border:1px solid var(--border-light); }
.blog-widget-title { font-size:.7rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--text-mid); margin-bottom:1.1rem; padding-bottom:.65rem; border-bottom:2px solid var(--blush); }
.blog-cat-list { list-style:none; }
.blog-cat-list li { margin-bottom:.5rem; }
.blog-cat-list li a { display:flex; justify-content:space-between; font-size:.86rem; color:var(--text-mid); font-weight:500; transition:color .2s; padding:.2rem 0; border-bottom:1px solid var(--border-light); }
.blog-cat-list li a:hover { color:var(--pink); }
.blog-cat-list .children { padding-left:1rem; margin-top:.35rem; }
.blog-recent-list { list-style:none; display:flex; flex-direction:column; gap:.9rem; }
.blog-recent-item { display:flex; gap:.8rem; align-items:flex-start; }
.blog-recent-thumb { flex-shrink:0; width:70px; height:55px; overflow:hidden; border-radius:var(--radius); }
.blog-recent-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.blog-recent-thumb:hover img { transform:scale(1.08); }
.blog-recent-info { flex:1; min-width:0; }
.blog-recent-title { font-size:.82rem; font-weight:700; color:var(--text); display:block; line-height:1.4; margin-bottom:.2rem; transition:color .2s; }
.blog-recent-title:hover { color:var(--pink); }
.blog-recent-date { font-size:.72rem; color:var(--text-light); font-weight:500; }
.blog-tags a { display:inline-block; background:var(--apricot-pale); color:var(--text-mid); border:1px solid var(--border); border-radius:20px; padding:.25rem .75rem; font-size:.75rem; font-weight:600; margin:.25rem .2rem .25rem 0; transition:all .2s; }
.blog-tags a:hover { background:var(--pink); color:var(--white); border-color:var(--pink); }
/* Search form in sidebar */
.blog-widget .search-form { display:flex; gap:0; }
.blog-widget .search-form input[type=search] { flex:1; padding:.65rem .9rem; font-size:.85rem; border:1.5px solid var(--border); border-right:none; border-radius:var(--radius) 0 0 var(--radius); outline:none; background:var(--apricot-pale); font-family:var(--sans); font-weight:500; }
.blog-widget .search-form input[type=search]:focus { border-color:var(--pink); }
.blog-widget .search-form button { padding:.65rem 1rem; background:var(--pink); color:var(--white); border:none; border-radius:0 var(--radius) var(--radius) 0; cursor:pointer; font-size:.85rem; }

/* Single post styles */
.single-hero { background:var(--apricot); padding:calc(var(--hdr-total) + 2.5rem) 0 2rem; }
.breadcrumb-nav { font-size:.78rem; color:var(--text-light); font-weight:600; margin-bottom:1rem; }
.breadcrumb-nav a { color:var(--text-mid); transition:color .2s; }
.breadcrumb-nav a:hover { color:var(--pink); }
.post-meta-bar { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-top:1rem; font-size:.82rem; color:var(--text-light); font-weight:600; }
.post-author-avatar { width:28px; height:28px; border-radius:50%; object-fit:cover; vertical-align:middle; margin-right:.35rem; }
.post-meta-sep { color:var(--border); }
.single-featured-img { margin-bottom:0; }
.single-featured-img .container { padding-top:2rem; padding-bottom:0; }
.single-thumb { width:100%; max-height:500px; object-fit:cover; border-radius:var(--radius-lg); }
.single-article { font-size:1rem; line-height:1.85; color:var(--text-mid); font-weight:500; }
.single-article h1,.single-article h2,.single-article h3 { color:var(--text); font-weight:800; margin:2rem 0 .9rem; }
.single-article h2 { font-size:1.5rem; }
.single-article h3 { font-size:1.2rem; }
.single-article p { margin-bottom:1.25rem; }
.single-article a { color:var(--pink); }
.single-article img { max-width:100%; border-radius:var(--radius); margin:1.5rem 0; }
.single-article ul,.single-article ol { padding-left:1.5rem; margin-bottom:1.25rem; }
.single-article li { margin-bottom:.4rem; }
.single-article blockquote { border-left:3px solid var(--pink); padding:.75rem 1.25rem; margin:1.5rem 0; background:var(--apricot-pale); border-radius:0 var(--radius) var(--radius) 0; font-style:italic; }
.post-tags { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; margin:2rem 0; padding-top:1.5rem; border-top:1px solid var(--border-light); }
.post-tags-label { font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--text-mid); }
.post-tag { background:var(--apricot-pale); color:var(--text-mid); border:1px solid var(--border); border-radius:20px; padding:.25rem .75rem; font-size:.75rem; font-weight:600; transition:all .2s; }
.post-tag:hover { background:var(--pink); color:var(--white); border-color:var(--pink); }
.post-author-box { display:flex; gap:1.2rem; align-items:flex-start; background:var(--apricot-pale); border-radius:var(--radius); padding:1.5rem; margin-top:2rem; }
.post-author-box-img { width:72px; height:72px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.post-author-box-name { font-size:1rem; font-weight:800; color:var(--text); margin-bottom:.35rem; }
.post-author-box-bio { font-size:.86rem; color:var(--text-mid); font-weight:500; margin:0; }
.related-posts-section { margin-top:3rem; padding-top:2.5rem; border-top:2px solid var(--border-light); }
.related-posts-heading { font-size:1.3rem; font-weight:800; margin-bottom:1.5rem; }
.post-comments-wrap { margin-top:3rem; padding-top:2.5rem; border-top:2px solid var(--border-light); }


/* Issue 4: Hide category/tag counts everywhere */
.blog-cat-list .count,
.wc-cat-list .count,
.cat-count,
ul.blog-cat-list li a .count,
.widget_categories .count,
.wc-sidebar .count { display:none !important; }


/* Related products: 6 per row on single product page */
.related.products .products {
    grid-template-columns: repeat(6, 1fr) !important;
    gap:.75rem !important;
}
.related.products .products li.product a img {
    max-height: 160px; /* narrower cards in 6-col grid need smaller cap */
}
.related.products .products li.product .woocommerce-loop-product__title {
    font-size:.82rem;
}
@media(max-width:1100px){
  .related.products .products { grid-template-columns:repeat(4,1fr) !important; }
}
@media(max-width:768px){
  .related.products .products { grid-template-columns:repeat(3,1fr) !important; }
}
@media(max-width:480px){
  .related.products .products { grid-template-columns:repeat(2,1fr) !important; }
}


/* ── WooCommerce dynamic category sidebar ── */
.wc-dynamic-category-menu,
.wc-dynamic-category-menu .children {
    list-style: none;
    margin: 0;
    padding: 0;
}
.wc-dynamic-category-menu > li {
    border-bottom: 1px solid var(--border-light);
}
.wc-dynamic-category-menu > li:last-child { border-bottom: none; }
.wc-dynamic-category-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem .2rem;
    font-size: .88rem;
    color: var(--text-mid);
    font-weight: 500;
    transition: color .2s var(--ease);
    gap: .4rem;
}
.wc-dynamic-category-menu a:hover { color: var(--pink); }
.wc-dynamic-category-menu a span {
    color: var(--text-light);
    font-size: .78rem;
    flex-shrink: 0;
}
.wc-dynamic-category-menu li.current-category > a {
    color: var(--pink);
    font-weight: 700;
}
.wc-dynamic-category-menu li.current-category > a span { color: var(--pink-mid); }
.wc-dynamic-category-menu .children {
    padding: 0 0 .5rem .85rem;
}
.wc-dynamic-category-menu .children li { border-bottom: none; }
.wc-dynamic-category-menu .children a {
    font-size: .82rem;
    font-weight: 400;
    padding: .3rem .2rem;
}


/* ============================================================
   ABOUT US PAGE
   ============================================================ */

/* Hero */
.about-hero {
    padding: calc(var(--hdr-total) + 3rem) 0 4rem;
    background: var(--cream);
}
.about-hero-inner {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 5rem;
    align-items: center;
}
.about-hero-img img {
    width: 100%;
    border-radius: var(--radius-lg);
    object-fit: cover;
    aspect-ratio: 4/5;
    box-shadow: 0 20px 60px rgba(74,53,64,.15);
}
.about-hero-role {
    font-size: .88rem;
    color: var(--pink);
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: .03em;
}
.about-hero-desc {
    font-size: 1.05rem;
    color: var(--text-mid);
    margin-bottom: 2.5rem;
    line-height: 1.8;
}
.about-hero h1 { margin-bottom: .75rem; }
.about-stats {
    display: flex;
    gap: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-light);
}
.about-stat strong {
    display: block;
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--pink);
    line-height: 1;
    font-family: var(--sans);
}
.about-stat span {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--text-light);
    font-weight: 600;
    margin-top: .3rem;
    display: block;
}

/* Advantages */
.about-adv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}
.about-adv-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 2.25rem 2rem;
    border: 1px solid var(--border-light);
    transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.about-adv-card:hover {
    box-shadow: 0 10px 40px rgba(74,53,64,.1);
    transform: translateY(-4px);
}
.about-adv-icon {
    width: 52px; height: 52px;
    background: var(--apricot);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem;
    color: var(--pink);
    margin-bottom: 1.25rem;
}
.about-adv-card h3 { font-size: 1.15rem; margin-bottom: .6rem; }
.about-adv-card p  { font-size: .9rem; color: var(--text-mid); line-height: 1.75; margin: 0; }

/* Story */
.about-story { background: var(--apricot-pale); }
.about-story-inner {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 5rem;
    align-items: center;
}
.about-story-text h2 {
    font-style: italic;
    margin-bottom: 1.5rem;
}
.about-story-text p { color: var(--text-mid); line-height: 1.85; margin-bottom: 1rem; }
.about-story-img img {
    width: 100%;
    border-radius: var(--radius-lg);
    object-fit: cover;
}
.about-story-caption {
    font-size: .8rem;
    color: var(--text-light);
    text-align: center;
    margin-top: .75rem;
    font-style: italic;
}

/* Expertise */
.about-exp-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
}
.about-exp-card {
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 2rem 1.5rem;
    text-align: center;
    transition: all .3s var(--ease);
    position: relative;
    overflow: hidden;
}
.about-exp-card::after {
    content: '';
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--pink);
    transform: scaleX(0);
    transition: transform .3s var(--ease);
}
.about-exp-card:hover::after { transform: scaleX(1); }
.about-exp-card:hover { box-shadow: 0 8px 30px rgba(74,53,64,.08); }
.about-exp-icon {
    font-size: 1.6rem;
    color: var(--pink);
    margin-bottom: 1rem;
}
.about-exp-card h4 { font-size: 1rem; margin-bottom: .5rem; }
.about-exp-card p  { font-size: .85rem; color: var(--text-mid); margin: 0; line-height: 1.65; }

/* Process */
.about-process { background: var(--cream); }
.about-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin-top: 3rem;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.about-step {
    padding: 2rem 1.5rem;
    text-align: center;
    border-right: 1px solid var(--border-light);
    background: var(--white);
    transition: background .3s var(--ease);
    position: relative;
}
.about-step:last-child { border-right: none; }
.about-step:hover { background: var(--apricot-pale); }
.about-step-num {
    width: 42px; height: 42px;
    background: var(--pink);
    color: var(--white);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 auto 1rem;
    font-family: var(--sans);
}
.about-step h4 { font-size: .95rem; margin-bottom: .4rem; }
.about-step p  { font-size: .82rem; color: var(--text-mid); line-height: 1.6; margin: 0; }

/* CTA */
.about-cta {
    background: linear-gradient(135deg, var(--pink) 0%, #d44a7a 100%);
    padding: 5rem 0;
}
.about-cta-inner {
    text-align: center;
}
.about-cta-inner h2 { color: var(--white); margin-bottom: .75rem; }
.about-cta-inner p  { color: rgba(255,255,255,.8); font-size: 1.1rem; margin-bottom: 2.5rem; }
.about-cta-btns {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}
.about-cta .btn-pink {
    background: var(--white);
    color: var(--pink);
    border-color: var(--white);
}
.about-cta .btn-pink:hover {
    background: var(--cream);
    border-color: var(--cream);
}

/* Responsive */
@media (max-width: 1024px) {
    .about-hero-inner    { grid-template-columns: 320px 1fr; gap: 3rem; }
    .about-story-inner   { grid-template-columns: 1fr 340px; gap: 3rem; }
    .about-exp-grid      { grid-template-columns: repeat(2, 1fr); }
    .about-steps         { grid-template-columns: repeat(3, 1fr); }
    .about-step:nth-child(3) { border-right: none; }
    .about-step:nth-child(4) { border-right: 1px solid var(--border-light); border-top: 1px solid var(--border-light); }
    .about-step:nth-child(5) { border-top: 1px solid var(--border-light); }
}
@media (max-width: 768px) {
    .about-hero-inner  { grid-template-columns: 1fr; }
    .about-hero-img    { max-width: 320px; margin: 0 auto; }
    .about-story-inner { grid-template-columns: 1fr; }
    .about-adv-grid    { grid-template-columns: 1fr; }
    .about-exp-grid    { grid-template-columns: 1fr 1fr; }
    .about-steps       { grid-template-columns: 1fr 1fr; }
    .about-step        { border-right: 1px solid var(--border-light) !important; border-top: 1px solid var(--border-light); }
    .about-step:nth-child(odd):last-child { grid-column: span 2; border-right: none !important; }
    .about-stats       { gap: 1.5rem; }
}
@media (max-width: 480px) {
    .about-exp-grid { grid-template-columns: 1fr; }
    .about-steps    { grid-template-columns: 1fr; }
    .about-step     { border-right: none !important; }
    .about-cta-btns { flex-direction: column; align-items: center; }
}


/* About Us — hero contact links */
.about-hero-contact {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-light);
}
.about-contact-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: .88rem;
    color: var(--text-mid);
    transition: color .2s;
    font-weight: 500;
}
.about-contact-item i { color: var(--pink); width: 1.1rem; text-align: center; flex-shrink: 0; }
.about-contact-item:hover { color: var(--pink); }

/* About Us — CTA two-column layout */
.about-cta-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    margin-top: 2.5rem;
    text-align: left;
}
.about-cta-contact h3 {
    color: var(--white);
    font-size: 1.2rem;
    margin-bottom: 1.25rem;
}
.about-cta-details {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-bottom: 2rem;
}
.about-cta-detail {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: rgba(255,255,255,.85);
    font-size: .9rem;
    transition: color .2s;
}
.about-cta-detail:hover { color: #fff; }
.about-cta-detail-icon {
    width: 32px; height: 32px;
    background: rgba(255,255,255,.15);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .85rem;
    flex-shrink: 0;
}
.about-cta-btns { display: flex; gap: .85rem; flex-wrap: wrap; }

/* CF7 form inside About CTA — override dark bg */
.about-cta-form .wpcf7-form,
.about-cta-form form {
    background: rgba(255,255,255,.08);
    border-radius: var(--radius);
    padding: 1.75rem;
}
.about-cta-form .wpcf7-form input,
.about-cta-form .wpcf7-form textarea,
.about-cta-form .wpcf7-form select {
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    color: var(--white) !important;
    border-radius: var(--radius) !important;
    padding: .75rem 1rem !important;
    width: 100%;
    font-family: var(--sans);
    font-size: .9rem;
}
.about-cta-form .wpcf7-form input::placeholder,
.about-cta-form .wpcf7-form textarea::placeholder { color: rgba(255,255,255,.5) !important; }
.about-cta-form .wpcf7-form input:focus,
.about-cta-form .wpcf7-form textarea:focus { border-color: rgba(255,255,255,.6) !important; outline: none; }
.about-cta-form .wpcf7-form textarea { min-height: 110px; resize: vertical; }
.about-cta-form .wpcf7-form label { color: rgba(255,255,255,.7); font-size: .8rem; letter-spacing: .05em; }
.about-cta-form .wpcf7-submit,
.about-cta-form input[type="submit"] {
    background: var(--white) !important;
    color: var(--pink) !important;
    border: none !important;
    border-radius: var(--radius) !important;
    padding: .85rem 2rem !important;
    font-weight: 700 !important;
    font-size: .82rem !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background .25s, transform .25s !important;
    width: 100%;
    margin-top: .5rem;
}
.about-cta-form .wpcf7-submit:hover,
.about-cta-form input[type="submit"]:hover {
    background: var(--cream) !important;
    transform: translateY(-2px) !important;
}

@media(max-width: 900px) {
    .about-cta-layout { grid-template-columns: 1fr; gap: 2rem; }
}
@media(max-width: 600px) {
    .about-cta-btns { flex-direction: column; }
    .about-cta-btns .btn { justify-content: center; }
}


/* ============================================================
   CONTACT FORM 7 — styled to match theme form design
   All CF7 output is mapped onto existing .form-group styles
   ============================================================ */
/* Wrap each CF7 field label+input pair in form-group style */
.wpcf7-form .wpcf7-form-control-wrap { display:block; }
.wpcf7 form .wpcf7-form-control-wrap input[type="text"],
.wpcf7 form .wpcf7-form-control-wrap input[type="email"],
.wpcf7 form .wpcf7-form-control-wrap input[type="tel"],
.wpcf7 form .wpcf7-form-control-wrap input[type="number"],
.wpcf7 form .wpcf7-form-control-wrap input[type="url"],
.wpcf7 form .wpcf7-form-control-wrap select,
.wpcf7 form .wpcf7-form-control-wrap textarea {
    width:100%;
    background:var(--apricot-pale);
    border:1.5px solid var(--border);
    border-radius:var(--radius);
    padding:.8rem 1rem;
    color:var(--text);
    font-family:var(--sans);
    font-size:.9rem;
    font-weight:500;
    outline:none;
    transition:border-color .25s, background .25s;
    box-sizing:border-box;
}
.wpcf7 form .wpcf7-form-control-wrap input:focus,
.wpcf7 form .wpcf7-form-control-wrap select:focus,
.wpcf7 form .wpcf7-form-control-wrap textarea:focus {
    border-color:var(--pink);
    background:var(--white);
}
.wpcf7 form .wpcf7-form-control-wrap input::placeholder,
.wpcf7 form .wpcf7-form-control-wrap textarea::placeholder {
    color:var(--text-light);
}
.wpcf7 form .wpcf7-form-control-wrap textarea {
    resize:vertical;
    min-height:110px;
}
/* CF7 submit button — full-width pink */
.wpcf7 form input[type="submit"],
.wpcf7 form .wpcf7-submit {
    width:100%;
    background:var(--pink);
    color:var(--white);
    border:none;
    border-radius:var(--radius);
    padding:.95rem 2rem;
    font-family:var(--sans);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .25s, transform .25s;
    display:block;
    margin-top:.5rem;
}
.wpcf7 form input[type="submit"]:hover,
.wpcf7 form .wpcf7-submit:hover {
    background:var(--pink-dark, #c94a77);
    transform:translateY(-1px);
}
.wpcf7 form input[type="submit"]:disabled,
.wpcf7 form .wpcf7-submit.wpcf7-spinner-active {
    opacity:.7;
    cursor:wait;
}
/* CF7 validation errors */
.wpcf7-not-valid-tip { color:#B91C1C; font-size:.78rem; margin-top:.3rem; display:block; }
.wpcf7-not-valid { border-color:#B91C1C !important; }
/* CF7 response messages */
.wpcf7-response-output {
    margin:1rem 0 0;
    padding:.65rem 1rem;
    border-radius:var(--radius);
    font-size:.87rem;
    font-weight:600;
    border:none !important;
}
.wpcf7 form.sent .wpcf7-response-output    { background:var(--blush-pale); color:var(--pink-dark, #c94a77); }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output  { background:#FEF2F2; color:#B91C1C; }
/* CF7 spinner */
.wpcf7-spinner { display:none !important; }


/* ============================================================
   CONTENT-VISIBILITY — skip rendering off-screen sections
   Reduces initial rendering work; browser renders on scroll
   ============================================================ */
.section--testimonials,
.about-advantages,
.about-story,
.about-expertise,
.about-process,
.related-blog-posts,
.expo-section,
.woocommerce-tabs {
    content-visibility: auto;
    contain-intrinsic-size: 0 500px;
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal   { opacity:0; transform:translateY(28px); transition:opacity .8s ease,transform .8s ease; }
.reveal.in{ opacity:1; transform:none; }
.reveal-l { opacity:0; transform:translateX(-28px); transition:opacity .75s ease,transform .75s ease; }
.reveal-l.in { opacity:1; transform:none; }
.reveal-r { opacity:0; transform:translateX(28px); transition:opacity .75s ease,transform .75s ease; }
.reveal-r.in { opacity:1; transform:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .caps-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; }
  .factory-grid { gap:3rem; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .related-blog-grid { grid-template-columns:repeat(2,1fr); }
}


/* Item 3: Hide price, cart, and WC shopping functions — inquiry only */
.woocommerce .price,
.woocommerce-page .price,
.woocommerce ul.products li.product .price { display:none !important; }
.woocommerce .cart,
.woocommerce-page .cart,
.woocommerce .single_add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.woocommerce .quantity,
.woocommerce .wc-toolbar,
.woocommerce-result-count,
.woocommerce-ordering,
.wc-toolbar { display:none !important; }

/* Item 6: Product category tabs — button pill style */
.cat-tabs {
  display:flex; flex-wrap:wrap; gap:.6rem;
  border-bottom:none; margin-bottom:2.5rem;
}
.cat-tab {
  padding:.6rem 1.4rem;
  background:var(--white);
  border:1.5px solid var(--border) !important;
  border-radius:30px !important;
  color:var(--text-mid) !important;
  font-size:.72rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  cursor:pointer; white-space:nowrap;
  transition:all .25s var(--ease);
  margin-bottom:0 !important;
}
.cat-tab:hover { border-color:var(--pink) !important; color:var(--pink) !important; }
.cat-tab.active { background:var(--pink) !important; border-color:var(--pink) !important; color:var(--white) !important; }

/* Item 8: Mobile — products above, categories below */
@media(max-width:768px){
  .wc-page-wrap { display:flex; flex-direction:column; }
  .wc-main { order:1; }
  .wc-cat-sidebar { order:2; margin-top:2rem; }
}

/* Item 9: Mobile single product — vertical layout */
@media(max-width:768px){
  .wc-product-grid { grid-template-columns:1fr !important; gap:1.5rem; }
  .wc-product-gallery { position:static !important; }
}


/* Item 3: WC Inquiry actions (replaces add-to-cart) */
.wc-inquiry-actions { margin-bottom:1.4rem; display:flex !important; flex-direction:row !important; gap:.75rem; width:100%; }
.wc-inquiry-actions .btn, .wc-inquiry-actions a.btn, .wc-inquiry-actions a { display:flex !important; flex:1 1 0; justify-content:center; gap:.6rem; box-sizing:border-box; white-space:nowrap; }
@media(max-width:480px){ .wc-inquiry-actions { flex-direction:column !important; } .wc-inquiry-actions a { flex:none; width:100% !important; } }

@media(max-width:600px){
  .section { padding:2.5rem 0; }
  .container { padding:0 1.25rem; }
  h1 { font-size:clamp(1.6rem,7vw,2.4rem); }
  h2 { font-size:clamp(1.3rem,6vw,1.9rem); }
  h3 { font-size:clamp(1.1rem,5vw,1.4rem); }
  .hero-content { padding:0; }
  .oem-steps { gap:.5rem; }
  .oem-step { min-width:calc(33% - .5rem); padding:.75rem .5rem; }
  .products-grid,.woocommerce ul.products { grid-template-columns:1fr 1fr; }
  .caps-grid { grid-template-columns:1fr 1fr; }
  .expo-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .stats-inner { flex-wrap:wrap; }
  .stat-box { width:50%; border-right:none; border-bottom:1px solid rgba(255,255,255,.15); }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .posts-grid { grid-template-columns:1fr; }
  .blog-layout { grid-template-columns:1fr; }
  .blog-list-card { grid-template-columns:1fr; }
  .blog-list-thumb img { height:200px; min-height:unset; }
  .blog-list-body { padding:1.25rem; }
  .blog-sidebar { position:static; }
  .intro-badge { right:.5rem; bottom:-.5rem; }
  .news-grid { grid-template-columns:1fr; }
}
