/*
Theme Name: shanvimpex
Theme URI: https://shanvimpex.local
Author: shanvimpex
Description: WooCommerce-ready B2B + B2C jewelry theme for shanvimpex — mega menus, wholesale/retail pricing toggle, and a flexible category structure.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: shanvimpex
*/

/* ========================================================
   TOKENS
   ======================================================== */
:root{
  --blush:      #FBEEE9;
  --blush-soft: #F5DFD6;
  --ink:        #2E1C1A;
  --ink-soft:   #6B5049;
  --rose:       #C97B63;
  --rose-deep:  #A85C46;
  --gold:       #B08D57;
  --gold-pale:  #EFE1C6;
  --maroon:     #5A1F2E;
  --line:       #EFE1DC;
  --white:      #FFFFFF;
  --muted:      #93807A;
  --footer-bg:  #2E1C1A;
  --footer-ink: #D9C6BE;
  --danger:     #A5352E;
  --wholesale:  #3E6B52;
  --wholesale-pale:#E1EEE6;

  --font-display: 'Playfair Display', serif;
  --font-body:    'Mulish', sans-serif;

  --container: 1240px;
  --radius: 10px;
  --radius-pill: 999px;
}

/* ========================================================
   RESET / BASE
   ======================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}
body{
  margin:0;
  background:var(--white);
  color:var(--ink-soft);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); font-weight:600; color:var(--ink); line-height:1.25; }
p{ margin:0; }
button, input, textarea, select{ font-family:inherit; font-size:inherit; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--rose);
  outline-offset:3px;
}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px;
  position:relative;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-body);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--rose-deep);
}
.eyebrow::before, .eyebrow::after{ content:""; width:22px; height:1px; background:var(--gold); display:inline-block; }

/* ========================================================
   BUTTONS
   ======================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:14px 28px;
  font-family:var(--font-body);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  border-radius:var(--radius-pill);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  border:1.5px solid transparent;
}
.btn-primary{ background:var(--rose); color:var(--white); }
.btn-primary:hover{ background:var(--rose-deep); transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,123,99,.3); }
.btn-outline{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:var(--white); transform:translateY(-2px); }

/* ========================================================
   TOP UTILITY BAR
   ======================================================== */
.topbar{ background:var(--maroon); color:var(--gold-pale); }
.topbar-inner{
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:9px 0; font-size:12.5px; font-weight:600; letter-spacing:.03em; gap:16px; flex-wrap:wrap;
}

/* ========================================================
   PRICING MODE BAR (Retail / Wholesale toggle)
   ======================================================== */
.pricing-bar{
  background:var(--blush);
  border-bottom:1px solid var(--line);
  padding:8px 0;
}
.pricing-bar-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.pricing-toggle{
  display:inline-flex;
  align-items:center;
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:var(--radius-pill);
  padding:3px;
  gap:2px;
}
.pricing-toggle button{
  border:none;
  background:transparent;
  padding:7px 18px;
  font-family:var(--font-body);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  border-radius:var(--radius-pill);
  cursor:pointer;
  color:var(--ink-soft);
  transition:background .15s ease, color .15s ease;
}
.pricing-toggle button.is-active{ background:var(--rose); color:var(--white); }
.pricing-toggle button.mode-wholesale.is-active{ background:var(--wholesale); }
.pricing-note{
  font-size:12px;
  color:var(--ink-soft);
  font-weight:600;
}
.pricing-note strong{ color:var(--wholesale); }
body.pricing-mode-wholesale .pricing-bar{ background:var(--wholesale-pale); }

/* ========================================================
   HEADER
   ======================================================== */
.site-header{ background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:60; }
.header-main{ display:flex; align-items:center; justify-content:space-between; gap:26px; padding:18px 0; }
.site-logo{ display:flex; align-items:center; gap:10px; flex:none; }
.site-logo img{ height:46px; width:auto;  }
.site-logo .logo-text{ font-family:var(--font-display); font-size:26px; font-weight:700; color:var(--ink); }

/* search + category */
.header-search{
  flex:1; max-width:460px; display:flex; align-items:stretch;
  border:1.5px solid var(--line); border-radius:var(--radius-pill); overflow:hidden; background:var(--blush);
}
.header-search select{ border:none; background:transparent; padding:0 16px; font-size:13px; color:var(--ink-soft); border-right:1.5px solid var(--line); cursor:pointer; }
.header-search input[type="search"]{ flex:1; border:none; background:transparent; padding:0 16px; font-size:14px; color:var(--ink); }
.header-search input[type="search"]::placeholder{ color:var(--muted); }
.header-search button{ border:none; background:var(--rose); color:var(--white); width:46px; display:flex; align-items:center; justify-content:center; cursor:pointer; flex:none; transition:background .15s ease; }
.header-search button:hover{ background:var(--rose-deep); }

/* header icons */
.header-icons{ display:flex; align-items:center; gap:22px; flex:none; }
.header-icon{ display:flex; flex-direction:column; align-items:center; gap:4px; position:relative; color:var(--ink-soft); transition:color .15s ease; }
.header-icon:hover{ color:var(--rose); }
.header-icon .icon-label{ font-size:10.5px; font-weight:600; white-space:nowrap; }
.header-icon .icon-count{
  position:absolute; top:-6px; right:-10px; background:var(--rose); color:var(--white);
  font-size:10px; font-weight:700; width:17px; height:17px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}

/* main nav row */
.header-nav{ border-top:1px solid var(--line); background:var(--white); position:relative; z-index:1; }
.header-nav > .container > ul{ display:flex; align-items:center; justify-content:center; gap:36px; padding:14px 0; }
.header-nav > .container > ul > li{ position:relative; }
.header-nav a{ font-size:13.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); padding-bottom:4px; border-bottom:2px solid transparent; transition:border-color .15s ease, color .15s ease; }
.header-nav > .container > ul > li > a:hover{ border-color:var(--rose); color:var(--rose-deep); }

.nav-toggle{ display:none; background:var(--blush); border:1px solid var(--line); border-radius:8px; width:42px; height:42px; align-items:center; justify-content:center; cursor:pointer; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{ content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative; transition:.2s; }
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }

/* ---------- MEGA MENU ---------- */
.menu-item-has-children > .sub-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%);
  min-width:640px;
  max-width:90vw;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 20px 44px rgba(46,28,26,.14);
  padding:28px 32px;
  display:none;
  z-index:70;
}
.menu-item-has-children:hover > .sub-menu,
.menu-item-has-children.is-open > .sub-menu{ display:block; }

.sub-menu{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:26px 32px;
}
.sub-menu > li{ display:block; }
.sub-menu > li > a{
  display:block;
  font-family:var(--font-display);
  font-size:14px;
  font-weight:600;
  color:var(--maroon);
  text-transform:none;
  letter-spacing:0;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
  margin-bottom:12px;
}
.sub-menu > li > .sub-menu{
  position:static;
  display:block;
  box-shadow:none;
  border:none;
  padding:0;
  min-width:0;
  transform:none;
  grid-template-columns:none;
}
.sub-menu > li > .sub-menu > li{ margin-bottom:8px; }
.sub-menu > li > .sub-menu > li > a{
  font-family:var(--font-body);
  font-size:13.5px;
  font-weight:500;
  color:var(--ink-soft);
  text-transform:none;
  letter-spacing:0;
  border:none;
  padding:0;
  margin:0;
  transition:color .15s ease, padding-left .15s ease;
}
.sub-menu > li > .sub-menu > li > a:hover{ color:var(--rose-deep); padding-left:3px; }

@media (max-width:960px){
  .header-search{ display:none; }
  .header-nav{ display:none; }
  .header-nav.is-open{ display:block; }
  .header-nav > .container > ul{ flex-direction:column; align-items:flex-start; gap:4px; padding:18px 28px; }
  .header-nav > .container > ul > li{ width:100%; }
  .menu-item-has-children > .sub-menu{
    position:static; transform:none; width:100%; min-width:0; box-shadow:none; border:none;
    border-left:2px solid var(--line); margin:8px 0 12px 6px; padding:0 0 0 16px; display:none; grid-template-columns:1fr;
  }
  .menu-item-has-children.is-open > .sub-menu{ display:grid; }
  .sub-menu > li > a{ border:none; padding-bottom:4px; margin-bottom:8px; }
  .nav-toggle{ display:flex; }
  .header-icon .icon-label{ display:none; }
  .icon-compare, .icon-wishlist{ display:none; }
  .header-main{ gap:12px; padding:14px 0; }
  .header-icons{ gap:14px; margin-left:auto; }
  .site-logo img{ height:36px; }
  .site-logo .logo-text{ font-size:19px; }
}

/* mobile submenu expand caret */
.mobile-caret{ display:none; }
@media (max-width:960px){
  .menu-item-has-children{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
  .menu-item-has-children > a{ flex:1; padding:10px 0; }
  .mobile-caret{
    display:flex; align-items:center; justify-content:center; width:32px; height:32px; flex:none;
    background:none; border:none; cursor:pointer; color:var(--ink);
  }
}

/* ========================================================
   BREADCRUMB
   ======================================================== */
.breadcrumb-bar{ background:var(--blush); padding:14px 0; border-bottom:1px solid var(--line); }
.breadcrumb{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
.breadcrumb a{ color:var(--ink-soft); }
.breadcrumb a:hover{ color:var(--rose-deep); }

/* ========================================================
   HERO
   ======================================================== */
.hero{ background:var(--blush); padding:70px 0; position:relative; overflow:hidden; }
.hero .container{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.hero h1{ font-size:clamp(32px, 4.4vw, 52px); line-height:1.15; margin:18px 0 20px; }
.hero h1 em{ font-style:italic; color:var(--rose-deep); }
.hero .lede{ font-size:17px; color:var(--ink-soft); max-width:50ch; margin-bottom:28px; }
.hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-visual{ border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; background:var(--blush-soft); display:flex; align-items:center; justify-content:center; }
.hero-visual img{ width:100%; height:100%; object-fit: cover; }
@media (max-width:900px){ .hero .container{ grid-template-columns:1fr; } .hero-visual{ order:-1; } }

/* feature strip */
.feature-strip{ background:var(--white); border-bottom:1px solid var(--line); padding:34px 0; }
.feature-strip .container{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.feature-item{ display:flex; align-items:center; gap:14px; justify-content:center; text-align:left; }
.feature-item .f-icon{ flex:none; width:42px; height:42px; border-radius:50%; background:var(--blush); display:flex; align-items:center; justify-content:center; }
.feature-item span{ font-size:13.5px; font-weight:700; color:var(--ink); }
@media (max-width:760px){ .feature-strip .container{ grid-template-columns:repeat(2,1fr); } }

/* ========================================================
   SECTIONS
   ======================================================== */
.section{ padding:80px 0; }
.section-head{ text-align:center; max-width:620px; margin:0 auto 48px; }
.section-head h2{ font-size:clamp(26px,3.4vw,38px); margin-top:12px; }
.section-head p{ color:var(--ink-soft); margin-top:12px; font-size:16px; }

/* category tiles (dynamic from product categories) */
.category-tiles{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.category-tile{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:3/4; background:var(--blush-soft); }
.category-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.category-tile:hover img{ transform:scale(1.06); }
.category-tile .cat-label{
  position:absolute; left:0; right:0; bottom:0; padding:18px;
  background:linear-gradient(180deg, transparent, rgba(46,28,26,.7));
  color:var(--white); font-family:var(--font-display); font-size:16px; font-weight:600;
}
@media (max-width:900px){ .category-tiles{ grid-template-columns:repeat(2, 1fr); } }

/* ========================================================
   FIX WOOCOMMERCE PRODUCT GRID COLUMNS
   ======================================================== */

/* WooCommerce clearfix pseudo elements ko grid se remove karo */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
    content: none !important;
}

/* Product grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 26px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Product cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 18px 18px 22px !important;

    float: none !important;
    clear: none !important;

    box-sizing: border-box !important;
}

/* ========================================================
   WOOCOMMERCE — product grid
   ======================================================== */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important; grid-template-columns:repeat(4, 1fr) !important; --columns:4 !important;
  gap:24px !important; margin:0 !important; padding:0 !important; list-style:none !important; width:100% !important; clear:both !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float:none !important; clear:none !important; width:100% !important; max-width:100% !important; margin:0 !important;
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:14px 14px 20px;
  text-align:center; position:relative; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover{ box-shadow:0 16px 34px rgba(46,28,26,.1); transform:translateY(-3px); border-color:var(--gold-pale); }
.woocommerce ul.products li.product img{ border-radius:8px; margin-bottom:14px !important; aspect-ratio:1/1; object-fit:cover; width:100% !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--ink); margin:6px 0 4px; }
.woocommerce ul.products li.product .price{ font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--rose-deep); }
.woocommerce ul.products li.product .price del{ color:var(--muted); opacity:.7; font-weight:400; margin-right:6px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .star-rating{ margin:0 auto 6px; }
.woocommerce ul.products li.product .button{
  display:inline-block; margin-top:14px !important; background:var(--ink); color:var(--white) !important;
  border-radius:var(--radius-pill); padding:10px 22px !important; font-size:12.5px; font-weight:700; transition:background .15s ease;
}
.woocommerce ul.products li.product .button:hover{ background:var(--rose-deep); }
.woocommerce span.onsale{
  background:var(--rose) !important; color:var(--white) !important; font-weight:700; font-size:11px;
  min-height:auto !important; min-width:auto !important; padding:6px 12px !important; border-radius:var(--radius-pill) !important;
  top:14px !important; left:14px !important; line-height:1 !important;
}
.woocommerce ul.products li.product .out-of-stock-badge{
  position:absolute; top:14px; left:14px; background:var(--ink); color:var(--white); font-size:10px; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; padding:6px 12px; border-radius:var(--radius-pill); margin:0 !important;
}
.wholesale-price-tag{
  display:block; font-size:11.5px; font-weight:700; color:var(--wholesale); margin-top:4px;
}
.wholesale-min-note{
  display:block; font-size:11px; color:var(--muted); margin-top:2px;
}
@media (max-width:960px){ .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:repeat(2, 1fr) !important; --columns:2 !important; } }
@media (max-width:560px){ .woocommerce ul.products, .woocommerce-page ul.products{ gap:14px !important; } }

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
  background:var(--rose) !important; color:var(--white) !important; border-radius:var(--radius-pill) !important;
  font-family:var(--font-body) !important; font-weight:700 !important; padding:13px 28px !important; border:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{ background:var(--rose-deep) !important; }
.woocommerce .star-rating span::before{ color:var(--gold); }

/* wholesale banner on single product / shop */
.wholesale-banner{
  background:var(--wholesale-pale); border:1px solid var(--wholesale); border-radius:var(--radius);
  padding:14px 18px; font-size:13.5px; font-weight:600; color:var(--wholesale); margin-bottom:24px;
  display:flex; align-items:center; gap:10px;
}

/* ========================================================
   BLOG PREVIEW CARDS
   ======================================================== */
.blog-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
.blog-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:box-shadow .2s ease, transform .2s ease; }
.blog-card:hover{ box-shadow:0 16px 34px rgba(46,28,26,.1); transform:translateY(-3px); }
.blog-card img{ aspect-ratio:16/10; object-fit:cover; }
.blog-card-body{ padding:20px 20px 24px; }
.blog-card h3{ font-size:16.5px; line-height:1.4; margin-bottom:10px; }
.blog-card h3 a:hover{ color:var(--rose-deep); }
.blog-card .meta{ font-size:12px; color:var(--muted); margin-bottom:10px; display:flex; gap:12px; }
.blog-card p.excerpt{ font-size:14px; color:var(--ink-soft); }
@media (max-width:900px){ .blog-cards{ grid-template-columns:1fr; } }

/* ========================================================
   REVIEWS
   ======================================================== */
.review-cards{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.review-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px 20px; }
.review-card h4{ font-size:15px; margin-bottom:8px; }
.review-card p{ font-size:13.5px; color:var(--ink-soft); margin-bottom:12px; line-height:1.6; }
.review-card .stars{ color:var(--gold); font-size:13px; margin-bottom:6px; }
.review-card .author{ font-size:12.5px; font-weight:700; color:var(--rose-deep); }
@media (max-width:900px){ .review-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .review-cards{ grid-template-columns:1fr; } }

/* ========================================================
   ABOUT / GENERIC PAGE CONTENT
   ======================================================== */
.page-content-card{ max-width:860px; margin:0 auto; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:48px 52px; }
.page-content-card h1{ text-align:center; font-size:30px; margin-bottom:28px; }
.page-content-card .entry-content > *{ margin-bottom:18px; }
.page-content-card .entry-content p{ line-height:1.8; }
.page-content-card .entry-content a{ color:var(--rose-deep); text-decoration:underline; }
@media (max-width:700px){ .page-content-card{ padding:32px 24px; } }

/* ========================================================
   B2B PAGE
   ======================================================== */
.b2b-hero{ background:var(--maroon); color:var(--gold-pale); padding:60px 0; text-align:center; }
.b2b-hero h1{ color:var(--white); font-size:clamp(28px,4vw,42px); margin-bottom:16px; }
.b2b-hero p{ max-width:60ch; margin:0 auto; font-size:16.5px; opacity:.9; }
.b2b-perks{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-bottom:56px; }
.b2b-perk{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; text-align:center; }
.b2b-perk .perk-icon{ width:48px; height:48px; margin:0 auto 14px; border-radius:50%; background:var(--wholesale-pale); display:flex; align-items:center; justify-content:center; }
.b2b-perk h3{ font-size:17px; margin-bottom:8px; }
.b2b-perk p{ font-size:14px; color:var(--ink-soft); }
@media (max-width:860px){ .b2b-perks{ grid-template-columns:1fr; } }

/* ========================================================
   CONTACT PAGE
   ======================================================== */
.contact-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:48px; align-items:start; }
.contact-info .info-block{ display:flex; gap:16px; margin-bottom:26px; }
.contact-info .info-icon{ flex:none; width:44px; height:44px; border-radius:50%; background:var(--blush); display:flex; align-items:center; justify-content:center; }
.contact-info .info-block h4{ font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--rose-deep); margin-bottom:4px; }
.contact-info .info-block p, .contact-info .info-block a{ font-size:15px; color:var(--ink-soft); }

.contact-form{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:36px; }
.form-row{ margin-bottom:20px; }
.form-row label{ display:block; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.form-row input, .form-row textarea, .form-row select{
  width:100%; border:1.5px solid var(--line); border-radius:8px; background:var(--blush); padding:12px 15px; color:var(--ink);
}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{ outline:none; border-color:var(--rose); }
.form-row textarea{ resize:vertical; min-height:110px; }
.form-success{ background:var(--gold-pale); border:1px solid var(--gold); border-radius:8px; padding:14px 18px; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:22px; }
.form-success.is-error{ background:#F6DCD3; border-color:var(--danger); }
.hp-field{ position:absolute; left:-9999px; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }

/* ========================================================
   FOOTER
   ======================================================== */
.site-footer{ background:var(--footer-bg); color:var(--footer-ink); padding:70px 0 0; }
.footer-newsletter{ text-align:center; max-width:520px; margin:0 auto 50px; }
.footer-newsletter h3{ color:var(--white); font-size:22px; margin-bottom:10px; }
.footer-newsletter p{ font-size:14px; margin-bottom:20px; opacity:.85; }
.newsletter-form{ display:flex; border-radius:var(--radius-pill); overflow:hidden; border:1px solid rgba(217,198,190,.3); }
.newsletter-form input{ flex:1; border:none; background:transparent; padding:13px 18px; color:var(--white); font-size:14px; }
.newsletter-form input::placeholder{ color:var(--footer-ink); }
.newsletter-form button{ border:none; background:var(--rose); color:var(--white); padding:0 26px; font-weight:700; font-size:13px; cursor:pointer; }

.footer-grid{ display:grid; grid-template-columns:1.1fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:44px; border-bottom:1px solid rgba(217,198,190,.15); }
.footer-col h4{ font-family:var(--font-display); font-size:15px; color:var(--white); margin-bottom:20px; }
.footer-col p{ font-size:14px; line-height:1.8; margin-bottom:10px; }
.footer-col ul{ display:grid; gap:10px; }
.footer-col a{ font-size:14px; transition:color .15s ease; }
.footer-col a:hover{ color:var(--gold); }

.footer-social{ display:flex; gap:10px; margin-top:16px; }
.footer-social a{ width:32px; height:32px; border-radius:50%; border:1px solid rgba(217,198,190,.3); display:flex; align-items:center; justify-content:center; transition:border-color .15s ease, background .15s ease; }
.footer-social a:hover{ background:var(--rose); border-color:var(--rose); }

.footer-bottom{ display:flex; align-items:center; justify-content:space-between; padding:22px 0; font-size:13px; color:var(--muted); flex-wrap:wrap; gap:12px; }

@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

/* ========================================================
   WHATSAPP FLOATING BUTTON
   ======================================================== */
.wa-float{ position:fixed; bottom:24px; right:24px; z-index:200; display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.wa-btn{ width:58px; height:58px; border-radius:50%; background:var(--white); border:none; box-shadow:0 8px 24px rgba(46,28,26,.22); display:flex; align-items:center; justify-content:center; cursor:pointer; position:relative; transition:transform .2s ease; }
.wa-btn:hover{ transform:scale(1.06); }
.wa-btn::before{ content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; opacity:.35; animation:waPulse 2.2s ease-out infinite; }
@keyframes waPulse{ 0%{ transform:scale(1); opacity:.35; } 100%{ transform:scale(1.6); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .wa-btn::before{ animation:none; } }

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

/* ========================================================
   CART SLIDER (mini-cart drawer)
   ======================================================== */
.cart-drawer{ position:fixed; inset:0; z-index:300; visibility:hidden; }
.cart-drawer.is-open{ visibility:visible; }

.cart-drawer-overlay{
  position:absolute; inset:0; background:rgba(46,28,26,.45);
  opacity:0; transition:opacity .3s ease;
}
.cart-drawer.is-open .cart-drawer-overlay{ opacity:1; }

.cart-drawer-panel{
  position:absolute; top:0; right:0; height:100%;
  width:400px; max-width:90vw;
  background:var(--white);
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 30px rgba(46,28,26,.15);
}
.cart-drawer.is-open .cart-drawer-panel{ transform:translateX(0); }

.cart-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px; border-bottom:1px solid var(--line); flex:none;
}
.cart-drawer-head h3{ font-size:19px; }
.cart-drawer-close{
  background:var(--blush); border:none; width:34px; height:34px; border-radius:50%;
  font-size:20px; line-height:1; color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s ease;
}
.cart-drawer-close:hover{ background:var(--blush-soft); }

.cart-drawer-body{ flex:1; overflow-y:auto; padding:20px 24px; }

.cart-drawer-body .woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.cart-drawer-body .woocommerce-mini-cart-item{
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 0; border-bottom:1px solid var(--line); position:relative;
}
.cart-drawer-body .woocommerce-mini-cart-item img{
  width:64px; height:64px; object-fit:cover; border-radius:8px; flex:none;
}
.cart-drawer-body .woocommerce-mini-cart-item a:not(.remove){
  font-family:var(--font-display); font-size:14px; font-weight:600; color:var(--ink); display:block; margin-bottom:4px;
}
.cart-drawer-body .woocommerce-mini-cart-item .quantity{ font-size:13px; color:var(--ink-soft); }
.cart-drawer-body .woocommerce-mini-cart-item .quantity .amount{ color:var(--rose-deep); font-weight:600; }
.cart-drawer-body .woocommerce-mini-cart-item a.remove{
  position:absolute; top:16px; right:0; width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:var(--blush);
  color:var(--ink) !important; font-size:14px; line-height:1;
}
.cart-drawer-body .woocommerce-mini-cart-item a.remove:hover{ background:var(--danger); color:var(--white) !important; }

.cart-drawer-body .woocommerce-mini-cart__empty-message{
  text-align:center; color:var(--muted); font-size:14.5px; padding:40px 0;
}

.cart-drawer-body .woocommerce-mini-cart__total{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0; margin-top:6px; border-top:1px solid var(--line);
  font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink);
}
.cart-drawer-body .woocommerce-mini-cart__total .amount{ color:var(--rose-deep); }

.cart-drawer-body .woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.cart-drawer-body .woocommerce-mini-cart__buttons a{
  display:block; text-align:center; padding:13px; border-radius:var(--radius-pill);
  font-size:13.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
}
.cart-drawer-body .woocommerce-mini-cart__buttons a.wc-forward{
  background:var(--white); color:var(--ink) !important; border:1.5px solid var(--ink);
}
.cart-drawer-body .woocommerce-mini-cart__buttons a.checkout{
  background:var(--rose); color:var(--white) !important;
}
.cart-drawer-body .woocommerce-mini-cart__buttons a:hover{ opacity:.85; }

@media (max-width:480px){
  .cart-drawer-panel{ width:100%; max-width:100%; }
}
/* ========================================================
   BIG BANNER — unique promotional section
   ======================================================== */
.big-banner{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
}

.big-banner-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-color:var(--maroon);
  animation:bannerKenBurns 18s ease-in-out infinite alternate;
  z-index:0;
}
@keyframes bannerKenBurns{
  0%{ transform:scale(1) translate(0,0); }
  100%{ transform:scale(1.12) translate(-1.5%, -1%); }
}

.big-banner-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(100deg, rgba(46,28,26,.85) 0%, rgba(46,28,26,.45) 45%, rgba(46,28,26,.2) 100%);
  z-index:1;
}

.big-banner-content{
  position:relative;
  z-index:3;
  max-width:640px;
  padding-top:40px;
  padding-bottom:40px;
}
.big-banner .eyebrow::before, .big-banner .eyebrow::after{ background:#E8C766; }
.banner-title{
  color:#fff;
  font-size:clamp(34px, 5vw, 56px);
  line-height:1.15;
  margin:18px 0 18px;
}
.shimmer-text{
  background:linear-gradient(90deg, #E8C766 0%, #fff 25%, #E8C766 50%, #fff 75%, #E8C766 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:shimmerMove 3.5s linear infinite;
  font-style:italic;
}
@keyframes shimmerMove{
  0%{ background-position:0% center; }
  100%{ background-position:200% center; }
}
.banner-sub{
  color:#F0E4DB;
  font-size:17px;
  max-width:48ch;
  margin-bottom:30px;
}

/* floating sparkles */
.banner-sparkle{
  position:absolute;
  color:#E8C766;
  font-size:20px;
  z-index:2;
  opacity:.7;
  animation:sparkleFloat 5s ease-in-out infinite;
  pointer-events:none;
}
.sparkle-1{ top:15%; left:8%; font-size:16px; animation-duration:4.5s; }
.sparkle-2{ top:70%; left:14%; font-size:24px; animation-duration:6s; animation-delay:1s; }
.sparkle-3{ top:22%; right:12%; font-size:28px; animation-duration:5.5s; animation-delay:.5s; }
.sparkle-4{ top:65%; right:20%; font-size:14px; animation-duration:4s; animation-delay:1.5s; }
@keyframes sparkleFloat{
  0%, 100%{ transform:translateY(0) scale(1); opacity:.6; }
  50%{ transform:translateY(-16px) scale(1.3); opacity:1; }
}

/* rotating badge */
.big-banner-badge{
  position:absolute;
  right:60px;
  top:50%;
  transform:translateY(-50%);
  width:130px;
  height:130px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
}
.big-banner-badge svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  animation:badgeSpin 14s linear infinite;
}
.badge-center{
  position:relative;
  width:74px;
  height:74px;
  border-radius:50%;
  background:var(--rose);
  border:2px solid #E8C766;
  color:#fff;
  font-family:var(--font-display);
  font-weight:700;
  font-size:15px;
  line-height:1.15;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
@keyframes badgeSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@media (max-width:900px){
  .big-banner-badge{ display:none; }
}
@media (max-width:600px){
  .big-banner{ min-height:420px; text-align:center; }
  .big-banner-content{ margin:0 auto; }
}

@media (prefers-reduced-motion: reduce){
  .big-banner-bg, .shimmer-text, .banner-sparkle, .big-banner-badge svg{ animation:none; }
}

/* ========================================================
   FEATURE CARD — small animated image section
   ======================================================== */
.feature-card-section{ padding:64px 0; }

.feature-card{
  display:grid;
  grid-template-columns:.85fr 1fr;
  gap:0;
  max-width:820px;
  margin:0 auto;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 12px 30px rgba(46,28,26,.06);
  transition:transform .1s ease-out;
  transform-style:preserve-3d;
}

.feature-card-img{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--blush-soft);
}
.feature-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* periodic shine sweep */
.shine-sweep{
  position:absolute;
  top:0;
  left:-60%;
  width:40%;
  height:100%;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform:skewX(-18deg);
  animation:shineSweep 4.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shineSweep{
  0%{ left:-60%; }
  35%{ left:130%; }
  100%{ left:130%; }
}

/* pulsing "New" badge */
.pulse-badge{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(46,28,26,.75);
  backdrop-filter:blur(4px);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:6px 12px 6px 8px;
  border-radius:var(--radius-pill);
}
.pulse-dot{
  width:7px; height:7px;
  border-radius:50%;
  background:#E8C766;
  position:relative;
  flex:none;
}
.pulse-dot::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:#E8C766;
  animation:pulseDotRing 1.8s ease-out infinite;
}
@keyframes pulseDotRing{
  0%{ transform:scale(1); opacity:.8; }
  100%{ transform:scale(3.2); opacity:0; }
}

.feature-card-text{
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.feature-card-text h3{
  font-size:26px;
  margin:14px 0 12px;
}
.feature-card-text p{
  color:var(--ink-soft);
  font-size:15px;
  margin-bottom:24px;
}

@media (max-width:700px){
  .feature-card{ grid-template-columns:1fr; }
  .feature-card-img{ aspect-ratio:16/10; }
  .feature-card-text{ padding:28px 24px; }
}

@media (prefers-reduced-motion: reduce){
  .shine-sweep, .pulse-dot::before{ animation:none; }
}

/* ================================================================
   ABOUT PAGE — shanvimpex
   Enqueue via: wp_enqueue_style( 'shanvi-about', get_template_directory_uri() . '/css/about-page.css' );
   ================================================================ */

/* ── variables ── */
:root {
	--ab-gold:        #B8923A;
	--ab-gold-light:  #F5E6C8;
	--ab-ink:         #1A1208;
	--ab-soft:        #6B5B45;
	--ab-blush:       #FAF6F0;
	--ab-white:       #ffffff;
	--ab-line:        rgba(184, 146, 58, .18);
	--ab-radius:      14px;
	--ab-pill:        999px;
}

/* ── page wrapper ── */
.ab-page {
	background: var(--ab-blush);
	padding: 56px 24px 64px;
}

.ab-inner {
	max-width: 860px;
	margin: 0 auto;
}

/* ================================================================
   HEADER
   ================================================================ */
.ab-header {
	text-align: center;
	margin-bottom: 44px;
}

.ab-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ab-gold);
	margin-bottom: 18px;
}

.ab-eyebrow-line {
	display: block;
	width: 24px;
	height: 1.5px;
	background: var(--ab-gold);
	border-radius: 2px;
}

.ab-h1 {
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 700;
	color: var(--ab-ink);
	line-height: 1.22;
	letter-spacing: -.025em;
	margin-bottom: 14px;
	font-family: Georgia, 'Times New Roman', serif;
}

.ab-sub {
	font-size: 15px;
	color: var(--ab-soft);
	line-height: 1.72;
	max-width: 500px;
	margin: 0 auto;
}

/* ================================================================
   FEATURE CARDS
   ================================================================ */
.ab-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin-bottom: 36px;
}

.ab-card {
	background: var(--ab-white);
	border: 0.5px solid var(--ab-line);
	border-radius: var(--ab-radius);
	padding: 24px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: box-shadow .2s ease, transform .2s ease;
}

.ab-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(184, 146, 58, .1);
}

.ab-card-icon {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--ab-gold-light);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ab-gold);
	flex-shrink: 0;
}

.ab-card-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--ab-ink);
	letter-spacing: -.01em;
}

.ab-card-body {
	font-size: 13.5px;
	color: var(--ab-soft);
	line-height: 1.65;
}

/* ================================================================
   DIVIDER
   ================================================================ */
.ab-divider {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 36px 0;
}

.ab-divider-line {
	flex: 1;
	height: 1px;
	background: var(--ab-line);
	display: block;
}

.ab-divider-gem {
	width: 10px;
	height: 10px;
	background: var(--ab-gold);
	transform: rotate(45deg);
	flex-shrink: 0;
	display: block;
}

/* ================================================================
   STORY / MAIN CONTENT
   ================================================================ */
.ab-story {
	background: var(--ab-white);
	border: 0.5px solid var(--ab-line);
	border-radius: var(--ab-radius);
	padding: 30px 32px;
	margin-bottom: 28px;
}

.ab-story-label {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ab-gold);
	margin-bottom: 14px;
}

.ab-story p,
.ab-story .entry-content p {
	font-size: 15px;
	color: var(--ab-soft);
	line-height: 1.78;
	margin-bottom: 14px;
}

.ab-story p:last-child,
.ab-story .entry-content p:last-child {
	margin-bottom: 0;
}

/* ================================================================
   STATS ROW
   ================================================================ */
.ab-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: var(--ab-white);
	border: 0.5px solid var(--ab-line);
	border-radius: var(--ab-radius);
	overflow: hidden;
	margin-bottom: 28px;
}

.ab-stat {
	padding: 24px 16px;
	text-align: center;
	border-right: 0.5px solid var(--ab-line);
}

.ab-stat:last-child {
	border-right: none;
}

.ab-stat-num {
	display: block;
	font-size: 28px;
	font-weight: 700;
	color: var(--ab-ink);
	letter-spacing: -.025em;
	font-family: Georgia, 'Times New Roman', serif;
	margin-bottom: 5px;
}

.ab-stat-label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--ab-soft);
}

/* ================================================================
   CTA STRIP
   ================================================================ */
.ab-cta {
	background: var(--ab-ink);
	border-radius: var(--ab-radius);
	padding: 30px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.ab-cta-title {
	font-size: 17px;
	font-weight: 700;
	color: var(--ab-white);
	margin-bottom: 5px;
	font-family: Georgia, 'Times New Roman', serif;
}

.ab-cta-sub {
	font-size: 14px;
	color: rgba(255, 255, 255, .65);
	line-height: 1.5;
}

.ab-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ab-gold);
	color: var(--ab-white);
	text-decoration: none;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 13px 24px;
	border-radius: var(--ab-pill);
	white-space: nowrap;
	flex-shrink: 0;
	transition: background .2s ease, transform .15s ease;
}

.ab-btn:hover {
	background: #a07c2e;
	transform: translateY(-1px);
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 600px) {
	.ab-page        { padding: 36px 16px 48px; }
	.ab-story       { padding: 22px 20px; }
	.ab-cta         { padding: 24px 20px; flex-direction: column; align-items: flex-start; }
	.ab-stats       { grid-template-columns: repeat(3, 1fr); }
	.ab-stat        { padding: 18px 10px; }
	.ab-stat-num    { font-size: 22px; }
}

@media (max-width: 400px) {
	.ab-stats { grid-template-columns: 1fr; }
	.ab-stat  { border-right: none; border-bottom: 0.5px solid var(--ab-line); }
	.ab-stat:last-child { border-bottom: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ab-card,
	.ab-btn { transition: none; }
}

/* ================================================================
   GALLERY SECTION — Shanvimpex
   ================================================================ */

.gallery-section {
	padding: 72px 0 64px;
	overflow: hidden;
}

.gallery-section .section-head {
	text-align: center;
	margin-bottom: 40px;
}

.gallery-section .section-head h2 {
	font-size: clamp(22px, 3.5vw, 32px);
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 700;
	color: var(--ink, #2E1C1A);
	letter-spacing: -.02em;
	margin-top: 8px;
}

/* ── track wrapper ── */
.gallery-track-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 40px;
}

/* ── scrolling track ── */
.gallery-track {
	display: flex;
	gap: 16px;
	width: max-content;
	will-change: transform;
}

.track--left  { animation: galleryLeft  32s linear infinite; }
.track--right { animation: galleryRight 28s linear infinite; }

.gallery-track:hover { animation-play-state: paused; }

@keyframes galleryLeft {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@keyframes galleryRight {
	0%   { transform: translateX(-50%); }
	100% { transform: translateX(0); }
}

/* ── individual item ── */
.gallery-item {
	position: relative;
	width: 220px;
	height: 280px;
	border-radius: 14px;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--blush-soft, #F5EDE8);
	cursor: pointer;
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.gallery-item:hover img {
	transform: scale(1.07);
}

/* ── hover overlay ── */
.gallery-item-overlay {
	position: absolute;
	inset: 0;
	background: rgba(46, 28, 26, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.gallery-item:hover .gallery-item-overlay {
	opacity: 1;
}

.gallery-view-btn {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.75);
	padding: 9px 20px;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.gallery-view-btn:hover {
	background: #fff;
	color: var(--ink, #2E1C1A);
}

/* ── CTA ── */
.gallery-cta {
	text-align: center;
}

/* ── fade edges ── */
.gallery-track-wrap {
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 6%,
		black 94%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 6%,
		black 94%,
		transparent 100%
	);
}

/* ── reduced motion ── */
@media (prefers-reduced-motion: reduce) {
	.gallery-track { animation: none; }
}

/* ── mobile ── */
@media (max-width: 640px) {
	.gallery-item {
		width: 160px;
		height: 210px;
	}
	.gallery-track-wrap { gap: 12px; }
}

/* ========================================================
   TRENDING NOW — horizontal scroll product section
   ======================================================== */
.trending-section{ padding:80px 0; background:var(--blush); }

.trending-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:36px;
}
.trending-head h2{ font-size:clamp(26px,3.4vw,36px); margin-top:10px; }

.trending-arrows{ display:flex; gap:10px; }
.trend-arrow{
  width:42px; height:42px;
  border-radius:50%;
  border:1.5px solid var(--ink);
  background:var(--white);
  color:var(--ink);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s ease, color .15s ease, transform .15s ease;
}
.trend-arrow:hover{ background:var(--ink); color:var(--white); transform:translateY(-2px); }

.trending-scroll{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:8px;
  scrollbar-width:none;
}
.trending-scroll::-webkit-scrollbar{ display:none; }

.trend-card{
  flex:none;
  width:240px;
  scroll-snap-align:start;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  position:relative;
  transition:box-shadow .2s ease, transform .2s ease;
}
.trend-card:hover{ box-shadow:0 16px 34px rgba(46,28,26,.12); transform:translateY(-4px); }

.trend-rank{
  position:absolute;
  top:12px; left:12px;
  z-index:2;
  background:var(--ink);
  color:var(--gold-pale);
  font-family:var(--font-display);
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  padding:5px 10px;
  border-radius:var(--radius-pill);
}

.trend-img{ position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--blush-soft); }
.trend-img img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.trend-card:hover .trend-img img{ transform:scale(1.08); }

.trend-overlay{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:10px;
  background:linear-gradient(180deg, transparent, rgba(46,28,26,.55));
  display:flex;
  justify-content:center;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease;
}
.trend-card:hover .trend-overlay{ opacity:1; transform:translateY(0); }
.trend-overlay .button{
  background:var(--white) !important;
  color:var(--ink) !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  padding:9px 18px !important;
  border-radius:var(--radius-pill) !important;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.trend-overlay .button:hover{ background:var(--rose) !important; color:var(--white) !important; }
.trend-overlay .added_to_cart{
  display:block; margin-top:6px; text-align:center; font-size:11px; color:#fff;
}

.trend-info{ padding:14px 14px 18px; text-align:center; }
.trend-info h4{
  font-family:var(--font-body);
  font-size:13.5px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.trend-price{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:700;
  color:var(--rose-deep);
}
.trend-price del{ color:var(--muted); font-weight:400; margin-right:5px; }
.trend-price ins{ text-decoration:none; }

@media (max-width:600px){
  .trend-card{ width:190px; }
}

/* ========================================================
   SHOP NOW (buy now → checkout) button on single product
   ======================================================== */
.shanvi-buy-now{
  margin-left:12px;
}
@media (max-width:480px){
  .shanvi-buy-now{
    margin-left:0;
    margin-top:10px;
    display:block;
    width:100%;
    justify-content:center;
  }
}

.footer-bottom a {
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}

.footer-bottom a:hover {
	text-decoration: underline;
}