/*
Theme Name: Nafis Flower
Theme URI: http://localhost/nafis-flower
Author: Antigravity AI
Author URI: #
Description: Premium artificial flowers e-commerce theme based on Liquid Glass design system.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: MIT
Text Domain: nafis-flower
*/

@font-face {
  font-family: 'Ravi';
  src: local('Ravi'), local('FontRavi'), local('Ravi-Regular');
  font-weight: 100 900;
  font-display: swap;
}

/* ===================================================================
   NAFIS FLOWER — Luxury Cream & Rose Pink Theme System
   =================================================================== */

:root{
  --bg-1:#FAF4EF;
  --bg-2:#F5EAE1;
  --bg-3:#ECE0D6;
  --surface: rgba(255, 255, 255, 0.72);
  --surface-strong: rgba(255, 255, 255, 0.92);
  --border: rgba(212, 163, 115, 0.22);
  --border-strong: rgba(232, 149, 165, 0.38);

  --rose-pink:#E895A5;
  --rose-deep:#D87085;
  --blush-pink:#F7CAD0;
  --gold-cream:#D4A373;
  --champagne:#E5B869;

  --grad-brand: linear-gradient(115deg, #E895A5 0%, #D4A373 55%, #F7CAD0 100%);
  --grad-text: linear-gradient(95deg, #A84B60 0%, #D87085 45%, #C27D38 100%);
  --grad-surface: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,248,243,.6));

  --text:#2D2327;
  --text-dim:#6B5B63;
  --text-mute:#96848D;

  --success:#10B981;
  --danger:#E11D48;
  --warning:#F59E0B;

  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;
  --radius-full:999px;

  --shadow-glow-pink: 0 10px 40px -10px rgba(232,149,165,.35);
  --shadow-glow-gold: 0 10px 40px -10px rgba(212,163,115,.35);
  --shadow-card: 0 18px 45px -15px rgba(107,91,99,.12);

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.2,.9,.25,1.1);
  --t:.35s;

  --container: 1480px;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
  background:
    radial-gradient(1100px 700px at 82% -10%, rgba(247,202,208,.35), transparent 60%),
    radial-gradient(900px 600px at -5% 10%, rgba(212,163,115,.25), transparent 55%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Ravi", "Vazirmatn", "Tahoma", sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input{ font-family:inherit; color:inherit; }
ul{ list-style:none; }
svg.ic{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

::selection{ background:var(--rose-pink); color:#fff; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--bg-1); }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--rose-pink),var(--gold-cream)); border-radius:99px; }

/* Utilities */
.container{ max-width:var(--container); margin-inline:auto; padding-inline:32px; }
.glass{
  background:var(--grad-surface);
  border:1px solid var(--border);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--shadow-card);
}
.gradient-text{
  background:var(--grad-text);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:700;
  color:var(--rose-deep); margin-bottom:14px;
}
.eyebrow::before{
  content:""; width:18px; height:2px; border-radius:2px;
  background:var(--grad-brand);
}
.section{ position:relative; padding-block:84px; }
.section-head{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-bottom:36px; flex-wrap:wrap;
}
.section-title{
  font-size:clamp(24px,2.4vw,34px); font-weight:900; color:var(--text);
}
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 30px; border-radius:var(--radius-full); font-weight:700; font-size:15px;
  transition:transform var(--t) var(--ease-spring), box-shadow var(--t) var(--ease);
  white-space:nowrap; overflow:hidden;
}
.btn .ic{ width:18px; height:18px; transition:transform var(--t) var(--ease); }
.btn-primary{
  background:var(--grad-brand); color:#fff; font-weight:800;
  box-shadow:0 14px 35px -12px rgba(232,149,165,.6);
}
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 45px -10px rgba(232,149,165,.8); }
.btn-ghost{
  background:var(--surface); color:var(--text); border:1.5px solid var(--border-strong);
}
.btn-ghost:hover{ border-color:var(--rose-pink); color:var(--rose-deep); background:#fff; transform:translateY(-2px); }
.btn-sm{ padding:9px 18px; font-size:13.5px; }

.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px; border-radius:var(--radius-full);
  font-size:12px; font-weight:800;
}
.chip-sale{ background:linear-gradient(120deg,#E895A5,#D87085); color:#fff; }
.chip-new{ background:linear-gradient(120deg, var(--gold-cream), var(--blush-pink)); color:var(--text); }

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ transition-delay:calc(var(--i,0) * 70ms); }

/* Background FX */
.bg-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.bg-grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(rgba(232,149,165,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,149,165,.05) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 35%, transparent 80%);
}
.bg-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.4; }
.bg-orb.o1{ width:520px; height:520px; top:-180px; inset-inline-end:-120px; background:radial-gradient(circle, rgba(247,202,208,.6), transparent 70%); }
#particles{ position:absolute; inset:0; }

.spotlight{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:0;
  transition:opacity .4s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(232,149,165,.12), transparent 75%);
}
.spotlight.active{ opacity:1; }

/* Header */
header.site-header{ position:sticky; top:0; z-index:300; width:100%; }
.header-bar{
  background:rgba(250,244,239,.82);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
}
.header-top{ display:flex; align-items:center; gap:28px; padding-block:16px; }
.brand{ display:flex; align-items:center; gap:12px; font-weight:800; flex-shrink:0; }
.brand-mark{
  width:44px; height:44px; border-radius:14px;
  background:var(--grad-brand); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-glow-pink); color:#fff;
}
.brand-mark svg{ width:26px; height:26px; stroke:#fff; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-text .name{ font-size:20px; letter-spacing:1px; color:var(--text); font-weight:900; }
.brand-text .sub{ font-size:9.5px; letter-spacing:2px; color:var(--rose-deep); font-weight:700; }

.header-search{ flex:1; max-width:560px; margin-inline:auto; position:relative; }
.header-search input{
  width:100%; background:#fff; border:1.5px solid var(--border-strong);
  border-radius:var(--radius-full); padding:13px 52px 13px 20px;
  font-size:14.5px; color:var(--text); box-shadow:0 4px 15px rgba(107,91,99,.05);
}
.header-search input:focus{ border-color:var(--rose-pink); box-shadow:0 0 0 4px rgba(232,149,165,.2); outline:none; }
.header-search button{
  position:absolute; inset-inline-end:6px; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--grad-brand); color:#fff;
}
.header-search button .ic{ width:17px; height:17px; stroke:#fff; }

.header-actions{ display:flex; align-items:center; gap:6px; flex-shrink:0; }
.theme-switch-btn{
  display:flex; align-items:center; gap:6px; padding:8px 14px; border-radius:var(--radius-full);
  background:rgba(212,163,115,.15); color:var(--text); font-size:12.5px; font-weight:700;
  border:1px solid var(--border-strong); transition:all var(--t) var(--ease);
}
.theme-switch-btn:hover{ background:var(--rose-pink); color:#fff; }

.action-btn{
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:var(--radius-full); font-size:14px; font-weight:600;
}
.action-btn:hover{ background:rgba(255,255,255,.8); }
.icon-btn{
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  position:relative; transition:all var(--t) var(--ease); background:#fff; border:1px solid var(--border);
}
.icon-btn:hover{ border-color:var(--rose-pink); color:var(--rose-deep); }
.badge{
  position:absolute; top:-2px; inset-inline-end:-2px; min-width:18px; height:18px; padding:0 4px;
  border-radius:99px; background:linear-gradient(120deg,var(--rose-pink),var(--rose-deep));
  font-size:10px; font-weight:800; display:flex; align-items:center; justify-content:center; color:#fff;
}

.header-nav{ border-top:1px solid var(--border); }
.header-nav .container{ display:flex; align-items:center; gap:6px; overflow-x:auto; }
.nav-link{
  position:relative; padding:14px 16px; font-size:14px; font-weight:700; color:var(--text-dim);
  white-space:nowrap; display:flex; align-items:center; gap:6px; transition:color var(--t) var(--ease);
}
.nav-link:hover{ color:var(--rose-deep); }

/* Hero Section */
.hero{ position:relative; padding-block:64px 70px; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:center; }
.hero-copy h1{
  font-size:clamp(34px,4.2vw,56px); font-weight:900; line-height:1.2; letter-spacing:-1px; margin-bottom:22px;
}
.hero-desc{ font-size:16.5px; color:var(--text-dim); max-width:480px; margin-bottom:34px; line-height:1.9; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

.hero-visual{ position:relative; height:480px; display:flex; align-items:center; justify-content:center; }
.hero-glow{
  position:absolute; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(247,202,208,.6), rgba(212,163,115,.3) 50%, transparent 75%);
  filter:blur(40px); animation:glowPulse 4.5s ease-in-out infinite;
}
.hero-product{
  position:relative; width:90%; max-width:500px; aspect-ratio:1/0.88; z-index:2;
  border-radius:32px; overflow:hidden; border:2px solid #fff;
  box-shadow:var(--shadow-card), var(--shadow-glow-pink); animation:floatY 6s ease-in-out infinite;
}
.hero-product img{ width:100%; height:100%; object-fit:cover; }

/* Feature Strip */
.feature-strip{
  margin-top:54px; border-radius:var(--radius-lg);
  display:grid; grid-template-columns:repeat(4,1fr); position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--border-strong);
}
.feature-item{
  display:flex; align-items:center; gap:14px; padding:24px 26px;
  border-inline-start:1px solid var(--border); transition:background var(--t) var(--ease);
}
.feature-item:first-child{ border-inline-start:none; }
.feature-icon{
  width:46px; height:46px; border-radius:14px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg, rgba(247,202,208,.4), rgba(212,163,115,.25));
  color:var(--rose-deep);
}
.feature-text .ft-title{ font-weight:800; font-size:14.5px; margin-bottom:3px; }
.feature-text .ft-sub{ font-size:12.5px; color:var(--text-mute); }

/* Categories Grid */
.cat-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.cat-card{
  border-radius:var(--radius); padding:22px 14px 18px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  background:#fff; border:1px solid var(--border);
  transition:transform var(--t) var(--ease-spring), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
.cat-card:hover{ transform:translateY(-8px); border-color:var(--rose-pink); box-shadow:var(--shadow-glow-pink); }
.cat-thumb{ width:100%; aspect-ratio:1/1; border-radius:18px; overflow:hidden; position:relative; }
.cat-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.cat-card:hover .cat-thumb img{ transform:scale(1.08); }
.cat-card .cat-name{ font-size:14px; font-weight:800; color:var(--text); }

/* Products Grid */
.products-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.product-card{
  border-radius:var(--radius); overflow:hidden; position:relative;
  background:#fff; border:1px solid var(--border);
  transition:transform var(--t) var(--ease-spring), box-shadow var(--t) var(--ease);
  display:flex; flex-direction:column;
}
.product-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-card), var(--shadow-glow-pink); }
.pc-media{ position:relative; aspect-ratio:1/1; overflow:hidden; }
.pc-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.product-card:hover .pc-media img{ transform:scale(1.08); }
.pc-badges{ position:absolute; top:12px; inset-inline-start:12px; z-index:2; }
.pc-wish{
  position:absolute; top:12px; inset-inline-end:12px; z-index:2;
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.85); backdrop-filter:blur(8px); border:1px solid var(--border);
  transition:all var(--t) var(--ease);
}
.pc-wish:hover{ color:var(--rose-deep); transform:scale(1.1); }
.pc-body{ padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.pc-cat{ font-size:11.5px; color:var(--rose-deep); font-weight:800; }
.pc-name{ font-size:15px; font-weight:800; line-height:1.4; }
.pc-price-row{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:8px; }
.pc-price .now{ font-size:17px; font-weight:900; color:var(--text); }
.pc-price .toman{ font-size:11px; color:var(--text-mute); margin-inline-start:3px; }
.pc-cart{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--grad-brand); color:#fff; box-shadow:0 8px 20px -6px rgba(232,149,165,.6);
  transition:transform var(--t) var(--ease-spring);
}
.pc-cart:hover{ transform:scale(1.1) rotate(-8deg); }

/* Banner */
.banner{
  border-radius:var(--radius-lg); position:relative; overflow:hidden; min-height:320px;
  display:flex; align-items:center; border:2px solid #fff; box-shadow:var(--shadow-card);
}
.banner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.banner-overlay{
  position:relative; z-index:2; padding:48px; max-width:580px;
  background:linear-gradient(270deg, rgba(250,244,239,.95) 45%, transparent 100%);
  height:100%; display:flex; flex-direction:column; justify-content:center; gap:16px;
}
.banner-overlay h3{ font-size:clamp(22px,3vw,34px); font-weight:900; color:var(--text); }

/* Toast stack */
.toast-stack{
  position:fixed; bottom:24px; inset-inline-start:24px; z-index:950;
  display:flex; flex-direction:column; gap:10px;
}
.toast{
  display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:var(--radius);
  background:#fff; border:1px solid var(--border-strong);
  box-shadow:var(--shadow-card); font-size:13.5px; font-weight:700; color:var(--text); min-width:220px;
  animation:toastIn .4s var(--ease-spring);
}
.toast .ic{ width:18px; height:18px; color:var(--rose-deep); flex-shrink:0; }
.toast.removing{ animation:toastOut .35s var(--ease) forwards; }

@keyframes toastIn{ from{ opacity:0; transform:translateY(20px) scale(.9); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(-30px) scale(.9); } }
@keyframes floatY{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@keyframes glowPulse{ 0%,100%{ opacity:.65; transform:scale(1); } 50%{ opacity:1; transform:scale(1.12); } }

/* Footer */
footer.site-footer{ border-top:1px solid var(--border); padding-top:64px; margin-top:40px; background:#fff; }
.footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:46px; }
.footer-about p{ color:var(--text-dim); font-size:13.5px; line-height:1.9; margin:18px 0 22px; max-width:300px; }
.footer-col h4{ font-size:15px; font-weight:800; margin-bottom:20px; color:var(--rose-deep); }
.footer-col ul{ display:flex; flex-direction:column; gap:12px; }
.footer-col a{ font-size:13.5px; color:var(--text-dim); transition:color var(--t) var(--ease); }
.footer-col a:hover{ color:var(--rose-pink); }
.trust-row{ display:flex; gap:14px; flex-wrap:wrap; padding-block:26px; border-top:1px solid var(--border); }
.trust-badge{
  display:flex; align-items:center; gap:9px; padding:10px 16px; border-radius:var(--radius-sm);
  background:var(--bg-1); border:1px solid var(--border); font-size:12.5px; font-weight:700; color:var(--text-dim);
}
.trust-badge .ic{ width:17px; height:17px; color:var(--rose-deep); }
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-block:22px; border-top:1px solid var(--border); font-size:12.5px; color:var(--text-mute);
}

@media (max-width:1280px){
  .cat-grid{ grid-template-columns:repeat(4,1fr); }
  .products-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; text-align:center; }
  .hero-visual{ order:-1; height:340px; }
  .hero-desc{ margin-inline:auto; }
  .hero-actions{ justify-content:center; }
  .feature-strip{ grid-template-columns:repeat(2,1fr); }
  .products-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .container{ padding-inline:18px; }
  .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .products-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .feature-strip{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; text-align:center; }
}


/* --- GLOBAL MOBILE FIXES V2 (Ultra-Compact) --- */
@media (max-width:980px) {
  /* Hide unnecessary elements on mobile */
  .header-actions { display: none !important; }
  .header-nav { display: none !important; }
  .brand-text { display: none !important; }
  
  /* Compact 1-row header */
  .header-top { 
    display: flex !important; 
    flex-wrap: nowrap !important; 
    gap: 12px !important; 
    padding-block: 8px !important; 
    align-items: center !important; 
  }
  .brand { margin: 0 !important; gap: 0 !important; }
  .brand-mark { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
  
  /* Search bar inline */
  .header-search { margin: 0 !important; flex: 1 !important; max-width: none !important; }
  .header-search input { padding: 10px 42px 10px 16px !important; font-size: 13.5px !important; }
  .header-search button { width: 34px !important; height: 34px !important; right: 4px !important; inset-inline-end: 4px !important; }
  
  /* Sleeker bottom nav */
  .mobile-bottom-nav { padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) !important; }
  .mbn-item { padding: 4px 6px !important; gap: 2px !important; font-size: 9.5px !important; }
  .mbn-item .ic { width: 20px !important; height: 20px !important; }
  
  body { padding-bottom: 60px !important; }
}
@media (max-width:640px) {
  .address-grid { grid-template-columns: 1fr !important; }
}

/* Nav Menu Fix */
.header-nav .container ul { display: flex; align-items: center; gap: 6px; overflow-x: auto; list-style: none; margin: 0; padding: 0; }
.header-nav .container li { margin: 0; }
.header-nav .container a { position: relative; padding: 14px 16px; font-size: 14px; font-weight: 700; color: var(--text-dim); white-space: nowrap; display: flex; align-items: center; gap: 6px; transition: color var(--t) var(--ease); }
.header-nav .container a:hover { color: var(--rose-deep); }

/* WooCommerce Overrides to match theme */
.woocommerce table.shop_table { border: none; width: 100%; border-collapse: collapse; background: rgba(255,255,255,0.5); border-radius: 12px; }
.woocommerce table.shop_table th { padding: 15px; font-weight: 800; border-bottom: 1px solid var(--border); color: var(--rose-deep); text-align: right; }
.woocommerce table.shop_table td { padding: 15px; border-bottom: 1px solid var(--border); }
.woocommerce .woocommerce-cart-form__cart-item img { border-radius: 8px; width: 80px; height: auto; }
.woocommerce .quantity input.qty { width: 50px; padding: 5px; border-radius: 8px; border: 1px solid var(--border); text-align: center; font-weight: 800; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; margin-bottom: 20px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { width: 100%; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); font-family: inherit; font-size: 14.5px; background: #fff; transition: all 0.3s ease; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--rose-pink); box-shadow: 0 0 0 3px rgba(232,149,165,0.15); outline: none; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px; font-weight: 700; color: var(--text-dim); transition: all 0.3s ease; border-radius: 8px; margin-bottom: 5px; }
.woocommerce-MyAccount-navigation a:hover, .woocommerce-MyAccount-navigation a.is-active { background: rgba(255,255,255,0.8); color: var(--rose-deep); }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: rgba(255,255,255,0.5); border-radius: 12px; }
.woocommerce-NoticeGroup { margin-top: 80px; }
.woocommerce-message, .woocommerce-error, .woocommerce-info { border-top-color: var(--rose-pink); border-radius: 8px; background: rgba(255,255,255,0.9); box-shadow: 0 4px 15px rgba(0,0,0,0.05); font-weight: 600; padding: 15px 20px; }
.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before { color: var(--rose-pink); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--grad-brand); color: #fff; border-radius: 50px; padding: 12px 24px; font-weight: 800; transition: all 0.3s ease; border: none; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(212,163,115,0.25); color: #fff; }
.woocommerce-loop-product__title { font-size: 16px; font-weight: 800; margin-top: 10px; color: var(--text); }
.woocommerce ul.products li.product { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 15px; text-align: center; transition: all 0.3s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--shadow-card-hover); border-color: var(--border-strong); }
.woocommerce ul.products li.product img { border-radius: var(--radius-sm); margin-bottom: 15px; }

/* Styles from single-product2.html */

@font-face {
  font-family: 'Ravi';
  src: local('Ravi'), local('FontRavi'), local('Ravi-Regular');
  font-weight: 100 900;
  font-display: swap;
}

:root{
  --bg-1:#FAF4EF;
  --bg-2:#F5EAE1;
  --bg-3:#ECE0D6;
  --surface: rgba(255, 255, 255, 0.75);
  --surface-strong: rgba(255, 255, 255, 0.95);
  --border: rgba(212, 163, 115, 0.22);
  --border-strong: rgba(232, 149, 165, 0.38);

  --rose-pink:#E895A5;
  --rose-deep:#D87085;
  --blush-pink:#F7CAD0;
  --gold-cream:#D4A373;
  --champagne:#E5B869;

  --grad-brand: linear-gradient(115deg, #E895A5 0%, #D4A373 55%, #F7CAD0 100%);
  --grad-text: linear-gradient(95deg, #A84B60 0%, #D87085 45%, #C27D38 100%);
  --grad-surface: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,248,243,.65));

  --text:#2D2327;
  --text-dim:#6B5B63;
  --text-mute:#96848D;

  --success:#10B981;
  --danger:#E11D48;
  --warning:#F59E0B;

  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;
  --radius-full:999px;

  --shadow-glow-pink: 0 10px 40px -10px rgba(232,149,165,.25);
  --shadow-card: 0 18px 45px -15px rgba(107,91,99,.08);

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.2,.9,.25,1.1);
  --t:.35s;

  --container: 1480px;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
  background:
    radial-gradient(1100px 700px at 82% -10%, rgba(247,202,208,.3), transparent 60%),
    radial-gradient(900px 600px at -5% 10%, rgba(212,163,115,.2), transparent 55%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Ravi", "Vazirmatn", "Tahoma", sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}

a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input, select, textarea{ font-family:inherit; color:inherit; }
svg.ic{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--rose-pink),var(--gold-cream)); border-radius:99px; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:32px; }
.glass{
  background:var(--grad-surface);
  border:1px solid var(--border);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--shadow-card);
}
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 30px; border-radius:var(--radius-full); font-weight:700; font-size:15px;
  transition:transform var(--t) var(--ease-spring), box-shadow var(--t) var(--ease);
  white-space:nowrap; overflow:hidden;
}
.btn-primary{
  background:var(--grad-brand); color:#fff; font-weight:800;
  box-shadow:0 14px 35px -12px rgba(232,149,165,.6);
}
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 45px -10px rgba(232,149,165,.8); }
.btn-ghost{
  background:var(--surface); color:var(--text); border:1.5px solid var(--border-strong);
}
.btn-ghost:hover{ border-color:var(--rose-pink); color:var(--rose-deep); background:#fff; transform:translateY(-2px); }

/* Background FX */
.bg-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.bg-grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(rgba(232,149,165,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,149,165,.05) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 35%, transparent 80%);
}
.bg-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.35; }
.bg-orb.o1{ width:520px; height:520px; top:-180px; inset-inline-end:-120px; background:radial-gradient(circle, rgba(247,202,208,.6), transparent 70%); }
#particles{ position:absolute; inset:0; }
.spotlight{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:0;
  transition:opacity .4s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(232,149,165,.12), transparent 75%);
}
.spotlight.active{ opacity:1; }

/* Header */
header.site-header{ position:sticky; top:0; z-index:300; width:100%; }
.header-bar{
  background:rgba(250,244,239,.82);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
}
.header-top{ display:flex; align-items:center; gap:28px; padding-block:16px; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:12px; font-weight:800; }
.brand-mark{
  width:44px; height:44px; border-radius:14px;
  background:var(--grad-brand); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-glow-pink); color:#fff;
}
.brand-mark svg{ width:26px; height:26px; stroke:#fff; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-text .name{ font-size:20px; letter-spacing:1px; color:var(--text); font-weight:900; }
.brand-text .sub{ font-size:9.5px; letter-spacing:2px; color:var(--rose-deep); font-weight:700; }

.header-actions{ display:flex; align-items:center; gap:8px; }
.action-btn{
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:var(--radius-full); font-size:14px; font-weight:600;
}
.action-btn:hover{ background:rgba(255,255,255,.8); }

/* Main Grid */
.product-details-grid{
  display:grid; grid-template-columns:1fr 1.05fr; gap:40px;
  margin-bottom:60px; position:relative; z-index:2;
}

.gallery-box{ border-radius:var(--radius-lg); padding:24px; display:flex; flex-direction:column; gap:16px; }
.main-img-wrap{
  aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden; border:1px solid var(--border);
  position:relative; cursor:zoom-in; background:#fff;
}
.main-img-wrap img{ width:100%; height:100%; object-fit:cover; transition:transform 0.4s var(--ease); }
.main-img-wrap:hover img{ transform:scale(1.08); }

.thumbs-list{ display:flex; gap:12px; }
.thumb-item{
  width:72px; height:72px; border-radius:var(--radius-sm); overflow:hidden;
  border:2.5px solid transparent; cursor:pointer; transition:all var(--t) var(--ease);
}
.thumb-item.active{ border-color:var(--rose-pink); box-shadow:var(--shadow-glow-pink); }
.thumb-item img{ width:100%; height:100%; object-fit:cover; }

.info-col{ display:flex; flex-direction:column; gap:20px; }
.prod-meta{ display:flex; align-items:center; gap:10px; }
.prod-title{ font-size:clamp(22px,3vw,30px); font-weight:900; line-height:1.3; }
.prod-rating{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-dim); }
.stars{ color:var(--warning); display:flex; gap:2px; }

.price-box{
  border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; gap:6px;
  background:linear-gradient(135deg, rgba(232,149,165,.08), rgba(212,163,115,.06));
}
.price-box .old{ font-size:14px; text-decoration:line-through; color:var(--text-mute); }
.price-box .now{ font-size:24px; font-weight:900; color:var(--text); }
.price-box .toman{ font-size:13px; color:var(--text-mute); margin-inline-start:4px; }

.specs-short{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
  padding-block:16px; border-block:1px solid var(--border);
}
.spec-bullet{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-dim); font-weight:600; }
.spec-bullet::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--rose-pink); }

.variation-group{ display:flex; flex-direction:column; gap:8px; }
.var-pills{ display:flex; gap:8px; }
.var-pill{
  padding:8px 18px; border-radius:var(--radius-full); font-size:13px; font-weight:700;
  background:var(--surface); border:1.5px solid var(--border); transition:all var(--t) var(--ease);
}
.var-pill.active{ border-color:var(--rose-deep); color:var(--rose-deep); background:#fff; }

.qty-row{ display:flex; align-items:center; gap:16px; }
.qty-box{ display:flex; align-items:center; gap:6px; background:var(--surface); border:1.5px solid var(--border); border-radius:var(--radius-full); padding:6px 12px; }
.qty-btn{ width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; font-weight:700; box-shadow:0 2px 6px rgba(0,0,0,.05); }
.qty-num{ font-size:15px; font-weight:800; min-width:24px; text-align:center; }

.action-row{ display:flex; gap:12px; }

.tabs-section{ margin-bottom:60px; position:relative; z-index:2; }
.tab-headers{ display:flex; border-bottom:1px solid var(--border); gap:10px; margin-bottom:24px; }
.tab-btn{ padding:14px 20px; font-weight:800; font-size:14.5px; color:var(--text-dim); border-bottom:3px solid transparent; }
.tab-btn.active{ color:var(--rose-deep); border-bottom-color:var(--rose-deep); }
.tab-pane{ display:none; }
.tab-pane.active{ display:block; }

.specs-table{ width:100%; border-collapse:collapse; }
.specs-table td{ padding:14px 18px; border-bottom:1px solid var(--border); font-size:14px; }
.specs-table tr td:first-child{ font-weight:800; color:var(--text-dim); width:200px; }

.toast-stack{
  position:fixed; bottom:24px; inset-inline-start:24px; z-index:950;
  display:flex; flex-direction:column; gap:10px;
}
.toast{
  display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:var(--radius);
  background:#fff; border:1px solid var(--border-strong);
  box-shadow:var(--shadow-card); font-size:13.5px; font-weight:700; min-width:220px;
  animation:toastIn .4s var(--ease-spring);
}
.toast .ic{ width:18px; height:18px; color:var(--rose-deep); flex-shrink:0; }
.toast.removing{ animation:toastOut .35s var(--ease) forwards; }

@keyframes toastIn{ from{ opacity:0; transform:translateY(20px) scale(.9); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(-30px) scale(.9); } }

footer.site-footer{ border-top:1px solid var(--border); padding-top:64px; background:#fff; }
.footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:46px; }
.footer-about p{ color:var(--text-dim); font-size:13.5px; line-height:1.9; margin:18px 0 22px; max-width:300px; }
.footer-col h4{ font-size:15px; font-weight:800; margin-bottom:20px; color:var(--rose-deep); }
.footer-col ul{ display:flex; flex-direction:column; gap:12px; }
.footer-col a{ font-size:13.5px; color:var(--text-dim); transition:color var(--t) var(--ease); }
.footer-col a:hover{ color:var(--rose-pink); }
.trust-row{ display:flex; gap:14px; flex-wrap:wrap; padding-block:26px; border-top:1px solid var(--border); }
.trust-badge{
  display:flex; align-items:center; gap:9px; padding:10px 16px; border-radius:var(--radius-sm);
  background:var(--bg-1); border:1px solid var(--border); font-size:12.5px; font-weight:700; color:var(--text-dim);
}
.trust-badge .ic{ width:17px; height:17px; color:var(--rose-deep); }
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-block:22px; border-top:1px solid var(--border); font-size:12.5px; color:var(--text-mute);
}

@media (max-width:980px){
  .product-details-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .container{ padding-inline:18px; }
  .action-row{ flex-direction:column; }
  .footer-grid{ grid-template-columns:1fr; text-align:center; }
}


/* --- GLOBAL MOBILE FIXES V2 (Ultra-Compact) --- */
@media (max-width:980px) {
  /* Hide unnecessary elements on mobile */
  .header-actions { display: none !important; }
  .header-nav { display: none !important; }
  .brand-text { display: none !important; }
  
  /* Compact 1-row header */
  .header-top { 
    display: flex !important; 
    flex-wrap: nowrap !important; 
    gap: 12px !important; 
    padding-block: 8px !important; 
    align-items: center !important; 
  }
  .brand { margin: 0 !important; gap: 0 !important; }
  .brand-mark { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
  
  /* Search bar inline */
  .header-search { margin: 0 !important; flex: 1 !important; max-width: none !important; }
  .header-search input { padding: 10px 42px 10px 16px !important; font-size: 13.5px !important; }
  .header-search button { width: 34px !important; height: 34px !important; right: 4px !important; inset-inline-end: 4px !important; }
  
  /* Sleeker bottom nav */
  .mobile-bottom-nav { padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) !important; }
  .mbn-item { padding: 4px 6px !important; gap: 2px !important; font-size: 9.5px !important; }
  .mbn-item .ic { width: 20px !important; height: 20px !important; }
  
  body { padding-bottom: 60px !important; }
}
@media (max-width:640px) {
  .address-grid { grid-template-columns: 1fr !important; }
}

/* Styles from cart2.html */

@font-face {
  font-family: 'Ravi';
  src: local('Ravi'), local('FontRavi'), local('Ravi-Regular');
  font-weight: 100 900;
  font-display: swap;
}

:root{
  --bg-1:#FAF4EF;
  --bg-2:#F5EAE1;
  --bg-3:#ECE0D6;
  --surface: rgba(255, 255, 255, 0.75);
  --surface-strong: rgba(255, 255, 255, 0.95);
  --border: rgba(212, 163, 115, 0.22);
  --border-strong: rgba(232, 149, 165, 0.38);

  --rose-pink:#E895A5;
  --rose-deep:#D87085;
  --blush-pink:#F7CAD0;
  --gold-cream:#D4A373;
  --champagne:#E5B869;

  --grad-brand: linear-gradient(115deg, #E895A5 0%, #D4A373 55%, #F7CAD0 100%);
  --grad-text: linear-gradient(95deg, #A84B60 0%, #D87085 45%, #C27D38 100%);
  --grad-surface: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,248,243,.65));

  --text:#2D2327;
  --text-dim:#6B5B63;
  --text-mute:#96848D;

  --success:#10B981;
  --danger:#E11D48;
  --warning:#F59E0B;

  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;
  --radius-full:999px;

  --shadow-glow-pink: 0 10px 40px -10px rgba(232,149,165,.25);
  --shadow-card: 0 18px 45px -15px rgba(107,91,99,.08);

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.2,.9,.25,1.1);
  --t:.35s;

  --container: 1480px;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
  background:
    radial-gradient(1100px 700px at 82% -10%, rgba(247,202,208,.3), transparent 60%),
    radial-gradient(900px 600px at -5% 10%, rgba(212,163,115,.2), transparent 55%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Ravi", "Vazirmatn", "Tahoma", sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}

a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input{ font-family:inherit; color:inherit; }
svg.ic{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--bg-1); }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--rose-pink),var(--gold-cream)); border-radius:99px; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:32px; }
.glass{
  background:var(--grad-surface);
  border:1px solid var(--border);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--shadow-card);
}
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 30px; border-radius:var(--radius-full); font-weight:700; font-size:15px;
  transition:transform var(--t) var(--ease-spring), box-shadow var(--t) var(--ease);
  white-space:nowrap; overflow:hidden;
}
.btn .ic{ width:18px; height:18px; transition:transform var(--t) var(--ease); }
.btn-primary{
  background:var(--grad-brand); color:#fff; font-weight:800;
  box-shadow:0 14px 35px -12px rgba(232,149,165,.6);
}
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 45px -10px rgba(232,149,165,.8); }
.btn-primary:hover .ic{ transform:translateX(4px); }
.btn-ghost{
  background:var(--surface); color:var(--text); border:1.5px solid var(--border-strong);
}
.btn-ghost:hover{ border-color:var(--rose-pink); color:var(--rose-deep); background:#fff; transform:translateY(-2px); }

/* Background FX */
.bg-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.bg-grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(rgba(232,149,165,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,149,165,.05) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 35%, transparent 80%);
}
.bg-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.35; }
.bg-orb.o1{ width:520px; height:520px; top:-180px; inset-inline-end:-120px; background:radial-gradient(circle, rgba(247,202,208,.6), transparent 70%); }
#particles{ position:absolute; inset:0; }
.spotlight{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:0;
  transition:opacity .4s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(232,149,165,.12), transparent 75%);
}
.spotlight.active{ opacity:1; }

/* Header */
header.site-header{ position:sticky; top:0; z-index:300; width:100%; }
.header-bar{
  background:rgba(250,244,239,.82);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
}
.header-top{ display:flex; align-items:center; gap:28px; padding-block:16px; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:12px; font-weight:800; }
.brand-mark{
  width:44px; height:44px; border-radius:14px;
  background:var(--grad-brand); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-glow-pink); color:#fff;
}
.brand-mark svg{ width:26px; height:26px; stroke:#fff; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-text .name{ font-size:20px; letter-spacing:1px; color:var(--text); font-weight:900; }
.brand-text .sub{ font-size:9.5px; letter-spacing:2px; color:var(--rose-deep); font-weight:700; }

.header-actions{ display:flex; align-items:center; gap:8px; }
.action-btn{
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:var(--radius-full); font-size:14px; font-weight:600;
}
.action-btn:hover{ background:rgba(255,255,255,.8); }

/* Breadcrumb */
.breadcrumb{
  display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-dim);
  padding-block:24px 12px; position:relative; z-index:2;
}
.breadcrumb a:hover{ color:var(--rose-deep); }
.breadcrumb .sep{ opacity:.4; }
.breadcrumb .current{ color:var(--text); font-weight:700; }

/* Main Cart Section */
.cart-layout{
  display:grid; grid-template-columns:1fr 380px; gap:32px;
  margin-bottom:80px; position:relative; z-index:2; align-items:start;
}

/* Cart Items Container */
.cart-container{
  border-radius:var(--radius-lg); padding:32px;
  display:flex; flex-direction:column; gap:20px;
}
.cart-title{ font-size:22px; font-weight:900; border-bottom:1px solid var(--border); padding-bottom:16px; }

/* Item Row */
.cart-item{
  display:flex; align-items:center; gap:20px; padding-block:20px;
  border-bottom:1px solid var(--border);
}
.cart-item:last-child{ border-bottom:none; }
.item-img{ width:92px; height:92px; border-radius:var(--radius-sm); overflow:hidden; flex-shrink:0; }
.item-img img{ width:100%; height:100%; object-fit:cover; }
.item-info{ flex:1; display:flex; flex-direction:column; gap:6px; }
.item-title{ font-size:16px; font-weight:800; }
.item-meta{ font-size:12.5px; color:var(--text-mute); }

.item-qty{ display:flex; align-items:center; gap:6px; background:var(--bg-1); border-radius:var(--radius-full); padding:4px 8px; border:1px solid var(--border); }
.qty-btn{ width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; font-weight:700; box-shadow:0 2px 6px rgba(0,0,0,.05); }
.qty-num{ font-size:14px; font-weight:800; min-width:24px; text-align:center; }

.item-price{ text-align:start; min-width:130px; }
.item-price .val{ font-size:17px; font-weight:900; color:var(--text); }
.item-price .toman{ font-size:11px; color:var(--text-mute); margin-inline-start:3px; }

.item-delete{ width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--text-mute); transition:all var(--t) var(--ease); }
.item-delete:hover{ background:rgba(225,29,72,.1); color:var(--danger); }

/* Sidebar Summary Card */
.summary-card{ border-radius:var(--radius-lg); padding:28px; display:flex; flex-direction:column; gap:20px; }
.summary-title{ font-size:18px; font-weight:800; border-bottom:1px solid var(--border); padding-bottom:12px; }

.promo-form{ display:flex; gap:8px; }
.promo-form input{
  flex:1; padding:11px 16px; border-radius:var(--radius-full); background:var(--bg-1);
  border:1.5px solid var(--border); font-size:13.5px; color:var(--text);
}
.promo-form input:focus{ border-color:var(--rose-pink); outline:none; }

.summary-row{ display:flex; justify-content:space-between; font-size:14px; font-weight:600; color:var(--text-dim); }
.summary-row.total{ font-size:18px; font-weight:900; color:var(--text); border-top:1px dashed var(--border-strong); padding-top:16px; }

.empty-state{
  display:none; flex-direction:column; align-items:center; justify-content:center;
  gap:24px; padding:80px 32px; text-align:center;
}
.empty-icon{
  width:96px; height:96px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(232,149,165,.12); color:var(--rose-deep);
}
.empty-icon svg{ width:48px; height:48px; }

/* Toast stack */
.toast-stack{
  position:fixed; bottom:24px; inset-inline-start:24px; z-index:950;
  display:flex; flex-direction:column; gap:10px;
}
.toast{
  display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:var(--radius);
  background:#fff; border:1px solid var(--border-strong);
  box-shadow:var(--shadow-card); font-size:13.5px; font-weight:700; min-width:220px;
  animation:toastIn .4s var(--ease-spring);
}
.toast .ic{ width:18px; height:18px; color:var(--rose-deep); flex-shrink:0; }
.toast.removing{ animation:toastOut .35s var(--ease) forwards; }

@keyframes toastIn{ from{ opacity:0; transform:translateY(20px) scale(.9); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(-30px) scale(.9); } }

/* Footer */
footer.site-footer{ border-top:1px solid var(--border); padding-top:64px; background:#fff; }
.footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:46px; }
.footer-about p{ color:var(--text-dim); font-size:13.5px; line-height:1.9; margin:18px 0 22px; max-width:300px; }
.footer-col h4{ font-size:15px; font-weight:800; margin-bottom:20px; color:var(--rose-deep); }
.footer-col ul{ display:flex; flex-direction:column; gap:12px; }
.footer-col a{ font-size:13.5px; color:var(--text-dim); transition:color var(--t) var(--ease); }
.footer-col a:hover{ color:var(--rose-pink); }
.trust-row{ display:flex; gap:14px; flex-wrap:wrap; padding-block:26px; border-top:1px solid var(--border); }
.trust-badge{
  display:flex; align-items:center; gap:9px; padding:10px 16px; border-radius:var(--radius-sm);
  background:var(--bg-1); border:1px solid var(--border); font-size:12.5px; font-weight:700; color:var(--text-dim);
}
.trust-badge .ic{ width:17px; height:17px; color:var(--rose-deep); }
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-block:22px; border-top:1px solid var(--border); font-size:12.5px; color:var(--text-mute);
}

.mobile-bottom-nav{
  display:none; position:fixed; bottom:0; inset-inline:0; z-index:400;
  background:rgba(250,244,239,.88); backdrop-filter:blur(20px); border-top:1px solid var(--border);
  padding:8px 6px calc(8px + env(safe-area-inset-bottom));
}
.mbn-list{ display:flex; justify-content:space-around; }
.mbn-item{
  display:flex; flex-direction:column; align-items:center; gap:4px; padding:6px 10px;
  font-size:10.5px; color:var(--text-mute); font-weight:600; flex:1; position:relative;
}
.mbn-item.active{ color:var(--rose-pink); }
.mbn-item .ic{ width:21px; height:21px; }

@media (max-width:980px){
  .cart-layout{ grid-template-columns:1fr; }
  body{ padding-bottom:72px; }
  .mobile-bottom-nav{ display:block; }
}
@media (max-width:640px){
  .container{ padding-inline:18px; }
  .cart-container{ padding:20px; }
  .cart-item{ flex-direction:column; align-items:flex-start; gap:12px; }
  .item-price{ min-width:auto; }
  .footer-grid{ grid-template-columns:1fr; text-align:center; }
}


/* --- GLOBAL MOBILE FIXES V2 (Ultra-Compact) --- */
@media (max-width:980px) {
  /* Hide unnecessary elements on mobile */
  .header-actions { display: none !important; }
  .header-nav { display: none !important; }
  .brand-text { display: none !important; }
  
  /* Compact 1-row header */
  .header-top { 
    display: flex !important; 
    flex-wrap: nowrap !important; 
    gap: 12px !important; 
    padding-block: 8px !important; 
    align-items: center !important; 
  }
  .brand { margin: 0 !important; gap: 0 !important; }
  .brand-mark { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
  
  /* Search bar inline */
  .header-search { margin: 0 !important; flex: 1 !important; max-width: none !important; }
  .header-search input { padding: 10px 42px 10px 16px !important; font-size: 13.5px !important; }
  .header-search button { width: 34px !important; height: 34px !important; right: 4px !important; inset-inline-end: 4px !important; }
  
  /* Sleeker bottom nav */
  .mobile-bottom-nav { padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) !important; }
  .mbn-item { padding: 4px 6px !important; gap: 2px !important; font-size: 9.5px !important; }
  .mbn-item .ic { width: 20px !important; height: 20px !important; }
  
  body { padding-bottom: 60px !important; }
}
@media (max-width:640px) {
  .address-grid { grid-template-columns: 1fr !important; }
}

/* Styles from checkout2.html */

@font-face {
  font-family: 'Ravi';
  src: local('Ravi'), local('FontRavi'), local('Ravi-Regular');
  font-weight: 100 900;
  font-display: swap;
}

:root{
  --bg-1:#FAF4EF;
  --bg-2:#F5EAE1;
  --bg-3:#ECE0D6;
  --surface: rgba(255, 255, 255, 0.75);
  --surface-strong: rgba(255, 255, 255, 0.95);
  --border: rgba(212, 163, 115, 0.22);
  --border-strong: rgba(232, 149, 165, 0.38);

  --rose-pink:#E895A5;
  --rose-deep:#D87085;
  --blush-pink:#F7CAD0;
  --gold-cream:#D4A373;
  --champagne:#E5B869;

  --grad-brand: linear-gradient(115deg, #E895A5 0%, #D4A373 55%, #F7CAD0 100%);
  --grad-text: linear-gradient(95deg, #A84B60 0%, #D87085 45%, #C27D38 100%);
  --grad-surface: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,248,243,.65));

  --text:#2D2327;
  --text-dim:#6B5B63;
  --text-mute:#96848D;

  --success:#10B981;
  --danger:#E11D48;
  --warning:#F59E0B;

  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;
  --radius-full:999px;

  --shadow-glow-pink: 0 10px 40px -10px rgba(232,149,165,.25);
  --shadow-card: 0 18px 45px -15px rgba(107,91,99,.08);

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.2,.9,.25,1.1);
  --t:.35s;

  --container: 1480px;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
  background:
    radial-gradient(1100px 700px at 82% -10%, rgba(247,202,208,.3), transparent 60%),
    radial-gradient(900px 600px at -5% 10%, rgba(212,163,115,.2), transparent 55%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Ravi", "Vazirmatn", "Tahoma", sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}

a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input, select, textarea{ font-family:inherit; color:inherit; }
svg.ic{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--rose-pink),var(--gold-cream)); border-radius:99px; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:32px; }
.glass{
  background:var(--grad-surface);
  border:1px solid var(--border);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--shadow-card);
}
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 30px; border-radius:var(--radius-full); font-weight:700; font-size:15px;
  transition:transform var(--t) var(--ease-spring), box-shadow var(--t) var(--ease);
  white-space:nowrap; overflow:hidden;
}
.btn-primary{
  background:var(--grad-brand); color:#fff; font-weight:800;
  box-shadow:0 14px 35px -12px rgba(232,149,165,.6);
}
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 18px 45px -10px rgba(232,149,165,.8); }

/* Background FX */
.bg-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.bg-grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(rgba(232,149,165,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,149,165,.05) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 35%, transparent 80%);
}
.bg-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.35; }
.bg-orb.o1{ width:520px; height:520px; top:-180px; inset-inline-end:-120px; background:radial-gradient(circle, rgba(247,202,208,.6), transparent 70%); }
#particles{ position:absolute; inset:0; }
.spotlight{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:0;
  transition:opacity .4s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(232,149,165,.12), transparent 75%);
}
.spotlight.active{ opacity:1; }

/* Header */
header.site-header{ position:sticky; top:0; z-index:300; width:100%; }
.header-bar{
  background:rgba(250,244,239,.82);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
}
.header-top{ display:flex; align-items:center; gap:28px; padding-block:16px; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:12px; font-weight:800; }
.brand-mark{
  width:44px; height:44px; border-radius:14px;
  background:var(--grad-brand); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-glow-pink); color:#fff;
}
.brand-mark svg{ width:26px; height:26px; stroke:#fff; }
.brand-text{ display:flex; flex-direction:column; line-height:1.15; }
.brand-text .name{ font-size:20px; letter-spacing:1px; color:var(--text); font-weight:900; }
.brand-text .sub{ font-size:9.5px; letter-spacing:2px; color:var(--rose-deep); font-weight:700; }

.header-actions{ display:flex; align-items:center; gap:8px; }
.action-btn{
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:var(--radius-full); font-size:14px; font-weight:600;
}
.action-btn:hover{ background:rgba(255,255,255,.8); }

/* Stepper */
.stepper{
  display:flex; justify-content:center; gap:48px; margin-block:32px;
  position:relative; z-index:2;
}
.step{ display:flex; align-items:center; gap:10px; font-size:14.5px; font-weight:700; color:var(--text-mute); }
.step.active{ color:var(--rose-deep); }
.step-num{ width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; border:1.5px solid var(--border); font-size:13px; font-weight:800; }
.step.active .step-num{ background:var(--grad-brand); color:#fff; border-color:transparent; box-shadow:var(--shadow-glow-pink); }

/* Checkout Layout */
.checkout-layout{
  display:grid; grid-template-columns:1fr 380px; gap:32px;
  margin-bottom:80px; position:relative; z-index:2; align-items:start;
}

.checkout-box{
  border-radius:var(--radius-lg); padding:32px;
  display:flex; flex-direction:column; gap:24px;
}
.box-title{ font-size:20px; font-weight:900; border-bottom:1px solid var(--border); padding-bottom:12px; }

.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group{ display:flex; flex-direction:column; gap:6px; }
.form-group label{ font-size:13px; font-weight:700; color:var(--text-dim); }
.form-group input, .form-group select, .form-group textarea{
  padding:13px 16px; border-radius:var(--radius-sm); background:var(--bg-1);
  border:1.5px solid var(--border); font-size:14px; color:var(--text);
  transition:border-color var(--t) var(--ease);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  border-color:var(--rose-pink); outline:none;
}

.option-card{
  display:flex; align-items:center; gap:14px; padding:16px; border-radius:var(--radius-sm);
  background:var(--bg-1); border:1.5px solid var(--border); cursor:pointer;
  transition:all var(--t) var(--ease);
}
.option-card:hover{ border-color:var(--rose-pink); }
.option-card.active{ border-color:var(--rose-deep); background:#fff; }
.option-card input{ accent-color:var(--rose-deep); width:18px; height:18px; }
.option-info{ display:flex; flex-direction:column; gap:2px; }
.option-title{ font-weight:800; font-size:14.5px; }
.option-desc{ font-size:12px; color:var(--text-mute); }

.summary-card{ border-radius:var(--radius-lg); padding:28px; display:flex; flex-direction:column; gap:20px; }
.summary-title{ font-size:18px; font-weight:800; border-bottom:1px solid var(--border); padding-bottom:12px; }
.summary-row{ display:flex; justify-content:space-between; font-size:14px; font-weight:600; color:var(--text-dim); }
.summary-row.total{ font-size:18px; font-weight:900; color:var(--text); border-top:1px dashed var(--border-strong); padding-top:16px; }

/* Success Modal */
.modal-backdrop{
  position:fixed; inset:0; z-index:900; background:rgba(45,35,39,.65);
  backdrop-filter:blur(10px); display:none; align-items:center; justify-content:center;
  animation:fadeIn .3s var(--ease) forwards;
}
.success-modal{
  background:#fff; border-radius:var(--radius-lg); padding:40px;
  width:90%; max-width:500px; text-align:center; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; align-items:center; gap:20px;
  transform:scale(.9); animation:scaleUp .35s var(--ease-spring) forwards;
}
.success-icon{
  width:84px; height:84px; border-radius:50%; background:rgba(16,185,129,.12);
  color:var(--success); display:flex; align-items:center; justify-content:center;
}
.success-icon svg{ width:42px; height:42px; }
.track-code-box{
  background:var(--bg-1); border:1.5px dashed var(--border-strong);
  border-radius:var(--radius-sm); padding:12px 24px; font-size:18px; font-weight:900;
  letter-spacing:1px; color:var(--rose-deep);
}

@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes scaleUp{ to{ transform:scale(1); } }

/* Footer */
footer.site-footer{ border-top:1px solid var(--border); padding-top:64px; background:#fff; }
.footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:46px; }
.footer-about p{ color:var(--text-dim); font-size:13.5px; line-height:1.9; margin:18px 0 22px; max-width:300px; }
.footer-col h4{ font-size:15px; font-weight:800; margin-bottom:20px; color:var(--rose-deep); }
.footer-col ul{ display:flex; flex-direction:column; gap:12px; }
.footer-col a{ font-size:13.5px; color:var(--text-dim); transition:color var(--t) var(--ease); }
.footer-col a:hover{ color:var(--rose-pink); }
.trust-row{ display:flex; gap:14px; flex-wrap:wrap; padding-block:26px; border-top:1px solid var(--border); }
.trust-badge{
  display:flex; align-items:center; gap:9px; padding:10px 16px; border-radius:var(--radius-sm);
  background:var(--bg-1); border:1px solid var(--border); font-size:12.5px; font-weight:700; color:var(--text-dim);
}
.trust-badge .ic{ width:17px; height:17px; color:var(--rose-deep); }
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-block:22px; border-top:1px solid var(--border); font-size:12.5px; color:var(--text-mute);
}

@media (max-width:980px){
  .checkout-layout{ grid-template-columns:1fr; }
  .stepper{ gap:20px; }
}
@media (max-width:640px){
  .container{ padding-inline:18px; }
  .checkout-box{ padding:20px; }
  .form-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; text-align:center; }
}


/* --- GLOBAL MOBILE FIXES V2 (Ultra-Compact) --- */
@media (max-width:980px) {
  /* Hide unnecessary elements on mobile */
  .header-actions { display: none !important; }
  .header-nav { display: none !important; }
  .brand-text { display: none !important; }
  
  /* Compact 1-row header */
  .header-top { 
    display: flex !important; 
    flex-wrap: nowrap !important; 
    gap: 12px !important; 
    padding-block: 8px !important; 
    align-items: center !important; 
  }
  .brand { margin: 0 !important; gap: 0 !important; }
  .brand-mark { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
  
  /* Search bar inline */
  .header-search { margin: 0 !important; flex: 1 !important; max-width: none !important; }
  .header-search input { padding: 10px 42px 10px 16px !important; font-size: 13.5px !important; }
  .header-search button { width: 34px !important; height: 34px !important; right: 4px !important; inset-inline-end: 4px !important; }
  
  /* Sleeker bottom nav */
  .mobile-bottom-nav { padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) !important; }
  .mbn-item { padding: 4px 6px !important; gap: 2px !important; font-size: 9.5px !important; }
  .mbn-item .ic { width: 20px !important; height: 20px !important; }
  
  body { padding-bottom: 60px !important; }
}
@media (max-width:640px) {
  .address-grid { grid-template-columns: 1fr !important; }
}

/* Styles from dashboard2.html */

@font-face {
  font-family: 'Ravi';
  src: local('Ravi'), local('FontRavi'), local('Ravi-Regular');
  font-weight: 100 900;
  font-display: swap;
}

:root{
  --bg-1:#FAF4EF;
  --bg-2:#F5EAE1;
  --bg-3:#ECE0D6;
  --surface: rgba(255, 255, 255, 0.75);
  --surface-strong: rgba(255, 255, 255, 0.95);
  --border: rgba(212, 163, 115, 0.22);
  --border-strong: rgba(232, 149, 165, 0.38);

  --rose-pink:#E895A5;
  --rose-deep:#D87085;
  --blush-pink:#F7CAD0;
  --gold-cream:#D4A373;

  --grad-brand: linear-gradient(115deg, #E895A5 0%, #D4A373 55%, #F7CAD0 100%);
  --grad-surface: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,248,243,.65));

  --text:#2D2327;
  --text-dim:#6B5B63;
  --text-mute:#96848D;

  --success:#10B981;
  --danger:#E11D48;

  --radius-sm:12px;
  --radius:20px;
  --radius-lg:32px;
  --radius-full:999px;

  --shadow-glow-pink: 0 10px 40px -10px rgba(232,149,165,.25);
  --shadow-card: 0 18px 45px -15px rgba(107,91,99,.08);

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.2,.9,.25,1.1);
  --t:.35s;

  --container: 1480px;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
  background:
    radial-gradient(1100px 700px at 82% -10%, rgba(247,202,208,.3), transparent 60%),
    radial-gradient(900px 600px at -5% 10%, rgba(212,163,115,.2), transparent 55%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, var(--bg-3) 100%);
  background-attachment:fixed;
  color:var(--text);
  font-family:"Ravi", "Vazirmatn", "Tahoma", sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}

a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input, select, textarea{ font-family:inherit; color:inherit; }
svg.ic{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--rose-pink),var(--gold-cream)); border-radius:99px; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:32px; }
.glass{
  background:var(--grad-surface);
  border:1px solid var(--border);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--shadow-card);
}
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 24px; border-radius:var(--radius-full); font-weight:700; font-size:14.5px;
  transition:all var(--t) var(--ease);
}
.btn-primary{ background:var(--grad-brand); color:#fff; font-weight:800; box-shadow:var(--shadow-glow-pink); }
.btn-primary:hover{ transform:translateY(-2px); }
.btn-ghost{ border:1px solid var(--border-strong); color:var(--text); }
.btn-ghost:hover{ background:#fff; border-color:var(--rose-pink); }

/* Dashboard Grid */
.dashboard-layout{
  display:grid; grid-template-columns:280px 1fr; gap:32px;
  margin-block:40px 80px; position:relative; z-index:2; align-items:start;
}

/* Profile Menu Panel */
.menu-panel{ border-radius:var(--radius-lg); padding:24px; display:flex; flex-direction:column; gap:24px; }
.user-avatar-section{ display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; padding-bottom:16px; border-bottom:1px solid var(--border); }
.user-avatar{
  width:84px; height:84px; border-radius:50%; background:var(--grad-brand);
  display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:900; color:#fff;
}
.vip-badge{
  font-size:11px; font-weight:800; color:var(--rose-deep); border:1px solid var(--rose-pink);
  border-radius:var(--radius-full); padding:2px 10px; background:rgba(232,149,165,.08);
}

.menu-list{ display:flex; flex-direction:column; gap:8px; }
.menu-item{
  display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:var(--radius-sm);
  font-size:14.5px; font-weight:700; color:var(--text-dim); transition:all var(--t) var(--ease);
}
.menu-item:hover{ background:#fff; color:var(--text); }
.menu-item.active{ background:var(--surface-strong); color:var(--rose-deep); border-inline-start:4px solid var(--rose-pink); }

/* Content Panel */
.content-panel{ border-radius:var(--radius-lg); padding:32px; min-height:480px; }
.tab-pane{ display:none; animation:fadeIn .3s var(--ease) forwards; }
.tab-pane.active{ display:block; }

.section-title{ font-size:20px; font-weight:900; margin-bottom:20px; color:var(--rose-deep); border-bottom:1px solid var(--border); padding-bottom:12px; }

/* Table */
.orders-table{ width:100%; border-collapse:collapse; }
.orders-table th{ text-align:start; padding:12px 16px; font-weight:800; color:var(--text-dim); border-bottom:1.5px solid var(--border-strong); }
.orders-table td{ padding:16px; border-bottom:1px solid var(--border); font-size:14px; }
.status-badge{
  display:inline-block; padding:2px 8px; border-radius:var(--radius-full); font-size:11.5px; font-weight:800;
}
.status-badge.processing{ background:rgba(212,163,115,.12); color:var(--gold-cream); }
.status-badge.delivered{ background:rgba(16,185,129,.1); color:var(--success); }

/* Form Grid */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.form-group label{ font-size:13px; font-weight:700; color:var(--text-dim); }
.form-group input{
  padding:12px 16px; border-radius:var(--radius-sm); background:var(--bg-1);
  border:1.5px solid var(--border); font-size:14px; color:var(--text);
}
.form-group input:focus{ border-color:var(--rose-pink); outline:none; }

/* Address Card */
.address-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.address-card{ border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; gap:12px; background:#fff; border:1px solid var(--border); }
.address-text{ font-size:13.5px; line-height:1.7; color:var(--text-dim); }

@keyframes fadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }

@media (max-width:980px){
  .dashboard-layout{ grid-template-columns:1fr; }
}


/* --- GLOBAL MOBILE FIXES V2 (Ultra-Compact) --- */
@media (max-width:980px) {
  /* Hide unnecessary elements on mobile */
  .header-actions { display: none !important; }
  .header-nav { display: none !important; }
  .brand-text { display: none !important; }
  
  /* Compact 1-row header */
  .header-top { 
    display: flex !important; 
    flex-wrap: nowrap !important; 
    gap: 12px !important; 
    padding-block: 8px !important; 
    align-items: center !important; 
  }
  .brand { margin: 0 !important; gap: 0 !important; }
  .brand-mark { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
  
  /* Search bar inline */
  .header-search { margin: 0 !important; flex: 1 !important; max-width: none !important; }
  .header-search input { padding: 10px 42px 10px 16px !important; font-size: 13.5px !important; }
  .header-search button { width: 34px !important; height: 34px !important; right: 4px !important; inset-inline-end: 4px !important; }
  
  /* Sleeker bottom nav */
  .mobile-bottom-nav { padding: 6px 4px calc(6px + env(safe-area-inset-bottom)) !important; }
  .mbn-item { padding: 4px 6px !important; gap: 2px !important; font-size: 9.5px !important; }
  .mbn-item .ic { width: 20px !important; height: 20px !important; }
  
  body { padding-bottom: 60px !important; }
}
@media (max-width:640px) {
  .address-grid { grid-template-columns: 1fr !important; }
}


/* WooCommerce Native Price Fixes */
.price-box del, .pc-price del, .woocommerce-Price-amount del {
  color: #e53935 !important;
  font-size: 0.65em !important;
  text-decoration: line-through;
  opacity: 0.9;
  margin-inline-end: 8px;
}
.price-box ins, .pc-price ins, .woocommerce-Price-amount ins {
  text-decoration: none;
  font-weight: 900;
}
.woocommerce-Price-currencySymbol {
  font-size: 0.6em !important;
  font-weight: 500;
  color: var(--text-mute);
  margin-inline-start: 4px;
}
.gallery-col {
  max-width: 480px;
  margin: 0 auto;
}
.product-details-grid {
  grid-template-columns: 1fr 1.3fr !important;
}
@media (max-width: 980px) {
  .product-details-grid {
    grid-template-columns: 1fr !important;
  }
}
.info-col {
  padding: 10px;
}

/* --- Phase 6: Mobile Bottom Nav & Footer Enhancements --- */
.mobile-bottom-nav {
  display: none;
}

@media (max-width: 768px) {
  .mobile-bottom-nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 10px 15px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.9);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(20px);
    box-shadow: 0 -5px 20px rgba(0,0,0,0.05);
  }
  .mbn-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    color: var(--text-mute);
    transition: all 0.3s ease;
  }
  .mbn-item .ic {
    width: 22px;
    height: 22px;
    stroke: currentColor;
  }
  .mbn-item.active, .mbn-item:hover {
    color: var(--rose-deep);
  }
  .mbn-item.active .ic {
    stroke-width: 2.2;
  }
  
  /* Add padding to body to prevent overlap */
  body {
    padding-bottom: 70px !important;
  }
}

.btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--border);
  transition: all 0.3s ease;
}
.btn-icon:hover {
  transform: translateY(-3px);
  background: #fff;
  box-shadow: var(--shadow-card-hover);
  border-color: var(--rose-pink);
}
.contact-info li {
  margin-bottom: 10px;
  font-size: 13.5px;
  color: var(--text-dim);
}
.contact-info .ic {
  width: 18px;
  height: 18px;
  color: var(--rose-deep);
}

/* --- WooCommerce Tabs --- */
.woocommerce-tabs ul.tabs {
    display: flex;
    gap: 15px;
    border-bottom: 2px solid var(--border);
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}
.woocommerce-tabs ul.tabs li {
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
}
.woocommerce-tabs ul.tabs li a {
    display: inline-block;
    padding: 12px 20px;
    font-weight: 800;
    font-size: 15px;
    color: var(--text-dim);
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: all 0.3s ease;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover {
    color: var(--rose-deep);
    border-bottom-color: var(--rose-deep);
}
.woocommerce-Tabs-panel {
    font-size: 14.5px;
    line-height: 1.8;
}
.woocommerce-Tabs-panel h2 {
    display: none; /* Hide duplicate headers */
}

/* Reviews */
#reviews #comments ol.commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
}
#reviews #comments ol.commentlist li {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--border);
}
#reviews #comments ol.commentlist li img.avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: var(--shadow-card);
}
#reviews #comments ol.commentlist li .comment-text {
    flex: 1;
}
#reviews #comments ol.commentlist li .meta {
    font-size: 12px;
    color: var(--text-mute);
    margin-bottom: 8px;
}
#reviews #comments ol.commentlist li .meta strong {
    color: var(--text);
    font-size: 14px;
}
#reviews .star-rating {
    float: right;
    color: var(--warning, #fbbf24);
}
#review_form_wrapper {
    background: var(--surface);
    padding: 25px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
}
#review_form_wrapper input[type="text"], #review_form_wrapper input[type="email"], #review_form_wrapper textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 15px;
    font-family: inherit;
}
#review_form_wrapper input.submit {
    background: var(--grad-brand);
    color: #fff;
    padding: 12px 25px;
    border-radius: 50px;
    font-weight: 800;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
#review_form_wrapper input.submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(232,149,165,0.4);
}

/* Attributes Table */
.woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
}
.woocommerce-product-attributes th, .woocommerce-product-attributes td {
    padding: 15px;
    border-bottom: 1px solid var(--border);
}
.woocommerce-product-attributes th {
    font-weight: 800;
    color: var(--text-dim);
    width: 25%;
    text-align: right;
    background: rgba(255,255,255,0.5);
}

/* --- Checkout Page Specific Overrides --- */
.woocommerce-checkout #customer_details {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.woocommerce-checkout .form-row {
    margin-bottom: 20px;
}
.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dim);
}
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row textarea, 
.woocommerce-checkout .form-row select {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    font-family: inherit;
    font-size: 14.5px;
    background: rgba(255,255,255,0.8);
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02) inset;
}
.woocommerce-checkout .form-row input.input-text:focus, 
.woocommerce-checkout .form-row textarea:focus, 
.woocommerce-checkout .form-row select:focus {
    border-color: var(--rose-pink);
    box-shadow: 0 0 0 4px rgba(232,149,165,0.15);
    outline: none;
    background: #fff;
}
.select2-container--default .select2-selection--single {
    height: 50px !important;
    border: 1.5px solid var(--border) !important;
    border-radius: var(--radius) !important;
    background: rgba(255,255,255,0.8) !important;
    display: flex;
    align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px !important;
    padding-right: 16px !important;
    color: var(--text) !important;
    font-size: 14.5px;
    font-weight: 600;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    right: auto !important;
    left: 10px !important;
}

/* Order Review Table */
#order_review_heading {
    margin-top: 0;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--border);
}
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
.woocommerce-checkout-review-order-table th, 
.woocommerce-checkout-review-order-table td {
    padding: 15px 0;
    border-bottom: 1px solid var(--border);
}
.woocommerce-checkout-review-order-table thead th {
    font-size: 13px;
    color: var(--text-mute);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.woocommerce-checkout-review-order-table tbody td.product-name {
    font-weight: 800;
    font-size: 14.5px;
}
.woocommerce-checkout-review-order-table tbody td.product-total {
    text-align: left;
    font-weight: 800;
    color: var(--text-dim);
}
.woocommerce-checkout-review-order-table tfoot th {
    font-weight: 700;
    color: var(--text-dim);
}
.woocommerce-checkout-review-order-table tfoot td {
    text-align: left;
    font-weight: 800;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total th, 
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    font-size: 18px;
    color: var(--rose-deep);
    border-top: 2px dashed var(--border);
    border-bottom: none;
    padding-top: 20px;
}

/* Payment Section */
#payment {
    background: transparent !important;
    border-radius: var(--radius);
    padding: 0 !important;
}
#payment ul.payment_methods {
    padding: 0 !important;
    border-bottom: none !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#payment ul.payment_methods li {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 15px 20px;
    transition: all 0.3s ease;
}
#payment ul.payment_methods li:hover {
    border-color: var(--rose-pink);
    box-shadow: var(--shadow-card);
}
#payment ul.payment_methods li input[type="radio"] {
    display: none;
}
#payment ul.payment_methods li label {
    cursor: pointer;
    font-weight: 800;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 10px;
}
#payment ul.payment_methods li label::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--border);
    border-radius: 50%;
    transition: all 0.3s ease;
}
#payment ul.payment_methods li input[type="radio"]:checked + label::before {
    border-color: var(--rose-deep);
    background: var(--rose-deep);
    box-shadow: inset 0 0 0 4px #fff;
}
#payment div.payment_box {
    background: rgba(250,244,239,0.5) !important;
    border-radius: 8px;
    padding: 15px !important;
    margin-top: 15px !important;
    font-size: 13.5px;
    color: var(--text-dim) !important;
    box-shadow: none !important;
}
#payment div.payment_box::before {
    display: none !important;
}
.place-order {
    padding: 0 !important;
    margin-top: 25px !important;
}
button#place_order {
    width: 100%;
    background: var(--grad-brand);
    color: #fff;
    padding: 16px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 900;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    display: block;
}
button#place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(232,149,165,0.4);
}

/* Coupon form inside checkout */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background: rgba(255,255,255,0.5);
    border: 1px dashed var(--border);
    border-right: 4px solid var(--rose-deep);
    color: var(--text-dim);
    padding: 15px;
    border-radius: var(--radius);
    margin-bottom: 25px;
}
.woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--rose-deep);
    font-weight: 800;
    text-decoration: underline;
}
form.checkout_coupon {
    display: flex;
    gap: 10px;
    margin-bottom: 30px !important;
    padding: 20px !important;
    border-radius: var(--radius) !important;
    border: 1px solid var(--border) !important;
    background: rgba(255,255,255,0.7) !important;
}
form.checkout_coupon p {
    margin: 0 !important;
}
form.checkout_coupon input.input-text {
    width: 100% !important;
}
form.checkout_coupon button.button {
    background: var(--text) !important;
    color: #fff !important;
    border-radius: var(--radius) !important;
    padding: 0 25px !important;
    font-weight: 800 !important;
}

/* Fix WooCommerce floats for form-row */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.woocommerce-checkout .form-row {
    margin-bottom: 0;
    width: 100% !important;
    float: none !important;
}
.woocommerce-checkout .form-row-wide {
    grid-column: span 2;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    grid-column: span 1;
}

@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        grid-column: span 1;
    }
}

/* --- Force Pair-by-Pair Grid for Checkout Fields --- */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

/* Make ALL fields span 1 column by default (pair-by-pair) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
    grid-column: span 1 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* Exception: Address fields and Order Notes must span 2 columns */
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #order_comments_field {
    grid-column: span 2 !important;
}

/* On mobile screens, all fields span 1 column of a 1-column grid */
@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    
    .woocommerce-checkout #billing_address_1_field,
    .woocommerce-checkout #billing_address_2_field,
    .woocommerce-checkout #shipping_address_1_field,
    .woocommerce-checkout #shipping_address_2_field,
    .woocommerce-checkout #order_comments_field {
        grid-column: span 1 !important;
    }
}

/* --- Blog Styles --- */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}
.post-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    transition: all 0.4s ease;
}
.post-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(232,149,165,0.15);
}
.post-thumbnail {
    width: 100%;
    height: 220px;
    display: block;
    overflow: hidden;
}
.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.post-card:hover .post-thumbnail img {
    transform: scale(1.05);
}
.post-content-wrap {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.post-title {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 12px;
}
.post-title a {
    color: var(--text);
    transition: color 0.3s ease;
}
.post-title a:hover {
    color: var(--rose-deep);
}
.post-excerpt {
    font-size: 14.5px;
    color: var(--text-dim);
    margin-bottom: 20px;
    line-height: 1.8;
}
.pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
}
.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(255,255,255,0.7);
    border: 1px solid var(--border);
    color: var(--text-dim);
    font-weight: 700;
    transition: all 0.3s ease;
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
    background: var(--rose-deep);
    color: #fff;
    border-color: var(--rose-deep);
    box-shadow: 0 5px 15px rgba(232,149,165,0.4);
}

/* Single Post Content */
.single-content-wrapper h2, .single-content-wrapper h3, .single-content-wrapper h4 {
    margin-top: 40px;
    margin-bottom: 20px;
    color: var(--text);
    font-weight: 900;
}
.single-content-wrapper p {
    margin-bottom: 25px;
    font-size: 16px;
    color: var(--text-dim);
}
.single-content-wrapper img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    margin: 30px 0;
    box-shadow: var(--shadow-card);
}
.single-content-wrapper blockquote {
    background: rgba(247,202,208,0.2);
    border-right: 4px solid var(--rose-deep);
    padding: 20px 30px;
    margin: 30px 0;
    border-radius: 12px 0 0 12px;
    font-style: italic;
    color: var(--rose-deep);
    font-size: 18px;
    font-weight: 600;
}
.single-tags a {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(255,255,255,0.6);
    border: 1px solid var(--border);
    border-radius: 50px;
    font-size: 13px;
    color: var(--text-dim);
    margin: 0 3px;
    transition: all 0.3s ease;
}
.single-tags a:hover {
    background: var(--rose-pink);
    color: #fff;
    border-color: var(--rose-pink);
}

@media (max-width: 992px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
    .single-title {
        font-size: 26px !important;
    }
    .single-header .glass {
        width: 100% !important;
        margin-top: 0 !important;
        top: 0 !important;
        box-shadow: none !important;
    }
}

/* --- Drawers --- */
.drawer-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.drawer-overlay.open {
    opacity: 1;
    visibility: visible;
}
.drawer {
    position: fixed;
    top: 0; bottom: 0;
    width: 340px;
    max-width: 85vw;
    background: rgba(255,255,255,0.95);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 0 40px rgba(0,0,0,0.1);
}
.drawer-right {
    right: 0;
    transform: translateX(100%);
    border-radius: 20px 0 0 20px;
}
.drawer-right.open {
    transform: translateX(0);
}
.drawer-left {
    left: 0;
    transform: translateX(-100%);
    border-radius: 0 20px 20px 0;
}
.drawer-left.open {
    transform: translateX(0);
}
.drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border);
}
.drawer-close {
    background: rgba(255,255,255,0.5);
    border: 1px solid var(--border);
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center; justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}
.drawer-close:hover {
    background: var(--danger);
    color: #fff;
    border-color: var(--danger);
}
.drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 25px;
}

/* Drawer Menu List */
ul.drawer-nav-list {
    list-style: none;
    padding: 0; margin: 0;
}
ul.drawer-nav-list li {
    margin-bottom: 15px;
}
ul.drawer-nav-list li a {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: var(--text-dim);
    padding: 10px 15px;
    border-radius: 12px;
    transition: all 0.3s ease;
}
ul.drawer-nav-list li a:hover,
ul.drawer-nav-list li.current-menu-item > a {
    background: var(--grad-brand);
    color: #fff;
    box-shadow: 0 4px 15px rgba(232,149,165,0.4);
    transform: translateX(-5px);
}

/* Mini Cart Styling overrides */
.woocommerce-mini-cart {
    list-style: none; padding: 0; margin: 0 0 20px 0;
}
.woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px dashed var(--border);
    position: relative;
}
.woocommerce-mini-cart-item img {
    width: 60px; height: 60px;
    border-radius: 8px;
    object-fit: cover;
}
.woocommerce-mini-cart-item a.remove {
    position: absolute;
    top: 0; left: 0;
    color: var(--danger) !important;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none !important;
}
.woocommerce-mini-cart__total {
    border-top: 2px solid var(--border);
    padding-top: 15px;
    font-size: 18px;
    font-weight: 900;
    color: var(--rose-deep);
    display: flex;
    justify-content: space-between;
}
.woocommerce-mini-cart__buttons {
    display: flex; flex-direction: column; gap: 10px; margin-top: 20px;
}
.woocommerce-mini-cart__buttons .button {
    text-align: center;
    padding: 12px;
    border-radius: 12px;
    font-weight: 800;
    display: block;
    width: 100%;
}
.woocommerce-mini-cart__buttons .button.checkout {
    background: var(--grad-brand);
    color: #fff;
}
.woocommerce-mini-cart__buttons .button:not(.checkout) {
    background: #fff;
    border: 1px solid var(--border);
    color: var(--text-dim);
}

/* --- WooCommerce Shop Catalog Overrides --- */
.woocommerce ul.products, .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    margin: 0 !important;
}
.woocommerce ul.products::before, .woocommerce-page ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::after {
    display: none !important;
}
.woocommerce ul.products li.product, 
.woocommerce ul.products li.product-card, 
.woocommerce-page ul.products li.product {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    clear: none !important;
}

/* Hide standard WC elements that we already customized */
.shop-toolbar p.woocommerce-result-count {
    margin: 0 !important;
    float: none !important;
}
.shop-toolbar form.woocommerce-ordering {
    margin: 0 !important;
    float: none !important;
}
.shop-toolbar select.orderby {
    background: rgba(255,255,255,0.8);
    border: 1px solid var(--border);
    padding: 10px 15px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    color: var(--text-dim);
    font-weight: 700;
    outline: none;
    cursor: pointer;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

/* Pagination Overrides */
.shop-pagination nav.woocommerce-pagination {
    margin-top: 40px !important;
}
.shop-pagination nav.woocommerce-pagination ul {
    border: none !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
}
.shop-pagination nav.woocommerce-pagination ul li {
    border: none !important;
}
.shop-pagination nav.woocommerce-pagination ul li a, 
.shop-pagination nav.woocommerce-pagination ul li span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 45px !important;
    height: 45px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.7) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-dim) !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
}
.shop-pagination nav.woocommerce-pagination ul li a:hover, 
.shop-pagination nav.woocommerce-pagination ul li span.current {
    background: var(--grad-brand) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 5px 15px rgba(232,149,165,0.4) !important;
    transform: translateY(-2px);
}

/* Product Card adjustments */
.product-card {
    padding: 0 !important; 
    border-radius: 16px !important;
}
.product-card:hover .product-img-wrap .p-img {
    transform: scale(1.08) !important;
}
.product-card:hover .product-overlay {
    opacity: 1 !important;
}
.product-price del {
    color: var(--text-mute);
    font-size: 13px;
    font-weight: 500;
}
.product-price ins {
    text-decoration: none;
    color: var(--rose-deep);
}

/* Responsive Grid - Always 2-Column on Mobile */
@media (max-width: 1200px) {
    .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
}
@media (max-width: 992px) {
    .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 15px !important; }
}
@media (max-width: 768px) {
    .woocommerce ul.products, .woocommerce-page ul.products,
    .products-grid, .shop-products-inner ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .shop-toolbar {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        padding: 15px !important;
    }
    /* Mobile Product Card Optimization */
    .woocommerce ul.products li.product-card,
    .woocommerce ul.products li.product {
        padding: 0 !important;
        border-radius: 16px !important;
        overflow: hidden;
    }
    .product-card .product-img-wrap .p-img {
        height: 160px !important;
        object-fit: cover !important;
    }
    .product-card .product-info {
        padding: 12px 10px !important;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .product-card .product-title {
        font-size: 13px !important;
        font-weight: 800 !important;
        margin-bottom: 6px !important;
        line-height: 1.4 !important;
        min-height: 36px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .product-card .product-price {
        font-size: 13.5px !important;
        font-weight: 900 !important;
        margin-bottom: 10px !important;
    }
    .product-card .product-action .btn {
        width: 100% !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
        justify-content: center !important;
        border-radius: 8px !important;
    }
    .product-card .sale-badge {
        font-size: 10px !important;
        padding: 2px 7px !important;
        top: 6px !important;
        right: 6px !important;
    }
}
@media (max-width: 480px) {
    .woocommerce ul.products, .woocommerce-page ul.products,
    .products-grid, .shop-products-inner ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .product-card .product-img-wrap .p-img {
        height: 140px !important;
    }
    .product-card .product-info {
        padding: 10px 8px !important;
    }
    .product-card .product-title {
        font-size: 12px !important;
        min-height: 32px;
    }
    .product-card .product-price {
        font-size: 12.5px !important;
    }
    .product-card .product-action .btn {
        padding: 6px 8px !important;
        font-size: 11px !important;
    }
}


/* Shop Layout with Sidebar */
.shop-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    align-items: start;
}
@media (max-width: 992px) {
    .shop-layout {
        grid-template-columns: 1fr;
    }
    .shop-sidebar {
        position: static !important;
        margin-bottom: 30px;
    }
}

/* Sidebar Widget Styling */
.shop-sidebar .widget {
    margin-bottom: 30px;
}
.shop-sidebar .widget:last-child {
    margin-bottom: 0;
}
.shop-sidebar .widget-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--text);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(232,149,165,0.2);
}
.shop-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.shop-sidebar ul li {
    padding: 10px 0;
    border-bottom: 1px dashed var(--border);
    font-size: 14px;
    color: var(--text-dim);
    transition: all 0.3s ease;
}
.shop-sidebar ul li:last-child {
    border-bottom: none;
}
.shop-sidebar ul li a {
    color: var(--text-dim);
    transition: all 0.3s ease;
    display: inline-block;
}
.shop-sidebar ul li a:hover {
    color: var(--rose-deep);
    transform: translateX(-5px); /* RTL nudge */
}


/* --- Luxury Sidebar Categories --- */
.custom-category-widget .widget-title {
    font-size: 20px;
    background: linear-gradient(90deg, var(--rose-deep), #ff9a9e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    border-bottom: 2px dashed rgba(232,149,165,0.4);
    display: inline-block;
    padding-bottom: 8px;
    margin-bottom: 25px;
}
.luxury-cat-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.luxury-cat-list li {
    padding: 0 !important;
    border: none !important;
}
.luxury-cat-list li a {
    display: flex !important;
    align-items: center;
    padding: 12px 18px;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    backdrop-filter: blur(5px);
}
.luxury-cat-list li a:hover {
    transform: translateY(-3px) translateX(-5px) !important;
    background: linear-gradient(135deg, #ffffff, var(--surface)) !important;
    box-shadow: 0 8px 25px rgba(232,149,165,0.2) !important;
    border-color: var(--rose-light) !important;
}
.luxury-cat-list .cat-icon {
    font-size: 18px;
    margin-left: 12px;
    transition: transform 0.3s ease;
}
.luxury-cat-list li a:hover .cat-icon {
    transform: scale(1.2) rotate(10deg);
}
.luxury-cat-list .cat-name {
    flex-grow: 1;
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    transition: color 0.3s ease;
}
.luxury-cat-list li a:hover .cat-name {
    color: var(--rose-deep);
}
.luxury-cat-list .cat-count {
    background: linear-gradient(135deg, var(--rose-light), var(--rose-deep));
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 20px;
    min-width: 30px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(232,149,165,0.4);
}


/* Reviews List */
#reviews #comments h2 {
    font-size: 18px;
}
ol.commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}
ol.commentlist li.review {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee !important;
    padding-bottom: 20px;
}
ol.commentlist li.review:last-child {
    border-bottom: none !important;
}
ol.commentlist li.review .comment_container {
    display: flex;
    gap: 15px;
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
    backdrop-filter: none;
}
ol.commentlist li.review img.avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid #eee;
    box-shadow: none;
    object-fit: cover;
}
ol.commentlist li.review .comment-text {
    flex-grow: 1;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
    margin: 0;
}
ol.commentlist li.review .meta {
    font-size: 13px;
    color: #777;
    margin-bottom: 8px;
}
ol.commentlist li.review .meta strong.woocommerce-review__author {
    font-size: 14px;
    font-weight: 700;
    color: #333;
}
ol.commentlist li.review .description {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* Star Rating inside Comments */
.star-rating {
    float: left; /* for RTL it goes to left */
    overflow: hidden;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
    font-size: 14px;
    width: 5.4em;
    font-family: 'star';
    color: #ffb74d; 
}

/* Review Form */
#review_form_wrapper {
    background: #fafafa;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #eee;
    box-shadow: none;
    margin-top: 20px;
}
#review_form_wrapper .comment-reply-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #333;
    display: block;
}
#review_form_wrapper p.comment-notes {
    font-size: 13px;
    color: #777;
    margin-bottom: 15px;
}
#review_form_wrapper .comment-form-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}
#review_form_wrapper textarea, 
#review_form_wrapper input[type="text"], 
#review_form_wrapper input[type="email"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    margin-bottom: 15px;
}
#review_form_wrapper textarea:focus, 
#review_form_wrapper input[type="text"]:focus, 
#review_form_wrapper input[type="email"]:focus {
    border-color: #999;
    box-shadow: none;
    outline: none;
}
#review_form_wrapper .form-submit input[type="submit"] {
    background: #333;
    color: #fff;
    border: none;
    padding: 10px 25px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: none;
}
#review_form_wrapper .form-submit input[type="submit"]:hover {
    background: #555;
    transform: none;
    box-shadow: none;
}
/* Reviews List */
#reviews #comments h2 {
    font-size: 22px;
}
ol.commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
}
ol.commentlist li.review {
    margin-bottom: 30px;
    border: none !important;
}
ol.commentlist li.review .comment_container {
    display: flex;
    gap: 20px;
    background: rgba(255,255,255,0.6);
    border: 1px solid rgba(255,255,255,0.9);
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
    backdrop-filter: blur(5px);
}
ol.commentlist li.review img.avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 4px 10px rgba(232,149,165,0.3);
    object-fit: cover;
}
ol.commentlist li.review .comment-text {
    flex-grow: 1;
    border: none;
    padding: 0;
    margin: 0;
}
ol.commentlist li.review .meta {
    font-size: 13px;
    color: var(--text-mute);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}
ol.commentlist li.review .meta strong.woocommerce-review__author {
    font-size: 16px;
    font-weight: 800;
    color: var(--text);
}
ol.commentlist li.review .description {
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--text-dim);
}

/* Star Rating inside Comments */
.star-rating {
    float: left; /* for RTL it goes to left */
    overflow: hidden;
    position: relative;
    height: 1.2em;
    line-height: 1.2;
    font-size: 14px;
    width: 5.4em;
    font-family: 'star';
    color: #ffb74d; /* Golden color */
}
.star-rating::before {
    content: '\73\73\73\73\73';
    color: rgba(0,0,0,0.1);
    float: right;
    left: 0;
    position: absolute;
}
.star-rating span {
    overflow: hidden;
    float: right;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}
.star-rating span::before {
    content: '\53\53\53\53\53';
    top: 0;
    position: absolute;
    right: 0;
}

/* Review Form */
#review_form_wrapper {
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(250,244,239,0.9));
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.03);
    margin-top: 20px;
}
#review_form_wrapper .comment-reply-title {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 20px;
    display: block;
}
#review_form_wrapper p.comment-notes {
    font-size: 13px;
    color: var(--text-mute);
    margin-bottom: 20px;
}
#review_form_wrapper .comment-form-rating {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}
#review_form_wrapper p.stars a {
    color: #ffb74d;
    font-size: 20px;
    transition: transform 0.2s ease;
}
#review_form_wrapper p.stars a:hover {
    transform: scale(1.2);
}
#review_form_wrapper textarea, 
#review_form_wrapper input[type="text"], 
#review_form_wrapper input[type="email"] {
    width: 100%;
    padding: 15px 20px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    font-family: inherit;
    font-size: 14px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}
#review_form_wrapper textarea:focus, 
#review_form_wrapper input[type="text"]:focus, 
#review_form_wrapper input[type="email"]:focus {
    border-color: var(--rose-deep);
    box-shadow: 0 0 0 4px rgba(232,149,165,0.1);
    outline: none;
}
#review_form_wrapper .form-submit input[type="submit"] {
    background: var(--grad-brand);
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(232,149,165,0.4);
    transition: all 0.3s ease;
}
#review_form_wrapper .form-submit input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(232,149,165,0.5);
}


/* --- High Editorial Single Product --- */
.editorial-single {
    padding-top: 100px;
    padding-bottom: 80px;
}
.editorial-grid {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: start;
}

/* Info Sticky Column */
.editorial-info {
    padding-top: 20px;
}
.editorial-sticky {
    position: sticky;
    top: 100px;
}

/* Typography & Details */
.editorial-breadcrumb {
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 30px;
}
.editorial-breadcrumb a {
    color: #333;
    transition: color 0.3s ease;
}
.editorial-breadcrumb a:hover {
    color: #000;
}
.editorial-breadcrumb .sep {
    margin: 0 8px;
    font-size: 10px;
}

.editorial-title {
    font-family: 'Cormorant', 'Ravi', serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.2;
    color: #111;
    margin-bottom: 20px;
}

.editorial-price {
    font-size: 24px;
    font-weight: 300;
    color: #333;
    margin-bottom: 30px;
}
.editorial-price ins { text-decoration: none; color: #000; }
.editorial-price del { color: #aaa; margin-left: 10px; }

.editorial-excerpt {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 40px;
}

/* Action Area */
.editorial-action {
    margin-bottom: 50px;
}
.qty-and-button {
    display: flex;
    gap: 15px;
}
.editorial-qty {
    width: 100px;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
}
.editorial-qty input {
    width: 100%;
    border: none;
    text-align: center;
    font-size: 16px;
    background: transparent;
    padding: 15px 0;
    outline: none;
    -moz-appearance: textfield;
}
.editorial-qty input::-webkit-outer-spin-button,
.editorial-qty input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.editorial-btn-black {
    flex-grow: 1;
    background: #000;
    color: #fff;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 18px 30px;
    border: 1px solid #000;
    transition: all 0.4s ease;
}
.editorial-btn-black:hover {
    background: #fff;
    color: #000;
}

/* Accordion */
.editorial-accordion {
    border-top: 1px solid #eee;
}
.accordion-item {
    border-bottom: 1px solid #eee;
}
.accordion-header {
    width: 100%;
    text-align: right;
    padding: 20px 0;
    background: transparent;
    border: none;
    font-size: 15px;
    font-weight: 600;
    color: #111;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.accordion-icon {
    width: 12px;
    height: 12px;
    position: relative;
}
.accordion-icon::before, .accordion-icon::after {
    content: '';
    position: absolute;
    background: #111;
    transition: transform 0.3s ease;
}
.accordion-icon::before { top: 5px; left: 0; width: 12px; height: 1px; }
.accordion-icon::after { top: 0; left: 5px; width: 1px; height: 12px; }

.accordion-item.active .accordion-icon::after {
    transform: rotate(90deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.accordion-item.active .accordion-content {
    max-height: 1500px; /* arbitrary large max-height for CSS transition */
}
.accordion-inner {
    padding-bottom: 20px;
    font-size: 14px;
    line-height: 1.8;
    color: #555;
}
.accordion-inner h2 {
    display: none; /* Hide standard woo tab titles */
}

/* Images Column */
.editorial-images {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.editorial-img-wrap img {
    width: 100%;
    height: auto;
    object-fit: cover;
    background: #f9f9f9;
}

.editorial-meta {
    margin-top: 40px;
    font-size: 12px;
    color: #999;
}
.editorial-meta a { color: #333; text-decoration: underline; }

.editorial-related {
    margin-top: 100px;
    border-top: 1px solid #eee;
    padding-top: 50px;
}

/* Reviews fix in accordion */
#reviews ol.commentlist { padding:0; margin:0; list-style:none; }
#reviews li.review { margin-bottom: 20px; border-bottom: 1px solid #f0f0f0; padding-bottom: 20px; }
#reviews img.avatar { float: right; margin-left: 15px; border-radius: 50%; width: 40px; }
#reviews .comment-text { overflow: hidden; }
#reviews .meta { font-size: 12px; color: #999; margin-bottom: 10px; }
#reviews .star-rating { color: #111; float: left; font-size: 12px; }

/* Responsive */
@media (max-width: 992px) {
    .editorial-grid {
        grid-template-columns: 1fr;
    }
    .editorial-sticky {
        position: static;
    }
    /* In mobile, we want images first usually */
    .editorial-info { order: 2; }
    .editorial-images { order: 1; margin-bottom: 30px; }
    .editorial-single .container { padding: 0 20px; }
    .editorial-title { font-size: 32px; }
}


/* ===================================================================
   Shop AJAX Filter & Loader Enhancements
   =================================================================== */

.shop-products-ajax-wrap {
    position: relative;
    min-height: 350px;
}

/* AJAX Loader Overlay */
.shop-ajax-loader {
    position: absolute;
    inset: 0;
    background: rgba(250, 244, 239, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.shop-products-ajax-wrap.is-loading .shop-ajax-loader {
    opacity: 1;
    pointer-events: auto;
}

.shop-products-ajax-wrap.is-loading .shop-products-inner {
    filter: blur(2px);
    opacity: 0.5;
    transition: all 0.3s ease;
}

.shop-products-inner {
    transition: all 0.3s ease;
}

.loader-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.95);
    padding: 24px 36px;
    border-radius: 20px;
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border);
}

.spinner-flower {
    font-size: 36px;
    animation: rotateFlower 1.4s infinite linear;
    display: inline-block;
}

@keyframes rotateFlower {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.15); }
    100% { transform: rotate(360deg) scale(1); }
}

.loader-text {
    font-size: 14px;
    font-weight: 800;
    color: var(--text);
    letter-spacing: 0.5px;
}

/* Sidebar Active Category State */
.luxury-cat-list li.active a {
    background: linear-gradient(135deg, var(--rose-deep), #e6683c) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 25px rgba(216, 112, 133, 0.35) !important;
    transform: translateX(-6px) !important;
}

.luxury-cat-list li.active a .cat-name {
    color: #ffffff !important;
    font-weight: 900 !important;
}

.luxury-cat-list li.active a .cat-count {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.luxury-cat-list li.active a .cat-icon {
    transform: scale(1.2) rotate(10deg);
}

/* Pointer for filter links */
.luxury-cat-list a.cat-filter-btn {
    cursor: pointer;
    user-select: none;
}


/* ===================================================================
   My Account Dashboard & ZeroOne SMS Authentication Styles
   =================================================================== */

/* Auth Card Styles */
.auth-card {
    transition: all 0.3s ease;
}

.auth-tabs button.active {
    background: #ffffff !important;
    color: var(--text) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
}

.auth-tabs button:hover {
    color: var(--rose-deep);
}

/* ZeroOne SMS Form Customization */
.zeroone-auth, .zeroone-registration, .zeroone-otp {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: inherit;
}

.zeroone-form-heading {
    display: none; /* We have our custom branded header */
}

.zeroone-otp label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--text);
}

.zeroone-otp input.zeroone-mobile,
.zeroone-otp input.zeroone-code,
.zeroone-registration input {
    width: 100%;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1.5px solid var(--border);
    font-size: 16px;
    font-family: inherit;
    color: var(--text);
    background: #ffffff;
    transition: all 0.3s ease;
    box-sizing: border-box;
    text-align: center;
    letter-spacing: 2px;
    direction: ltr;
}

.zeroone-otp input:focus,
.zeroone-registration input:focus {
    border-color: var(--rose-pink);
    box-shadow: 0 0 0 4px rgba(232, 149, 165, 0.2);
    outline: none;
}

.zeroone-actions {
    margin-top: 5px;
}

.zeroone-otp button.zeroone-send,
.zeroone-otp button.zeroone-verify {
    width: 100%;
    padding: 15px 20px;
    border-radius: 12px;
    background: linear-gradient(115deg, var(--rose-deep) 0%, #e6683c 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    font-family: inherit;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(216, 112, 133, 0.35);
    transition: all 0.3s ease;
}

.zeroone-otp button.zeroone-send:hover,
.zeroone-otp button.zeroone-verify:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(216, 112, 133, 0.45);
}

.zeroone-code-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 10px;
    animation: fadeIn 0.4s ease forwards;
}

.zeroone-code-wrap button.zeroone-resend {
    background: transparent;
    border: none;
    color: var(--rose-deep);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    text-align: center;
    margin-top: 5px;
    text-decoration: underline;
}

.zeroone-code-wrap button.zeroone-resend:disabled {
    color: var(--text-mute);
    cursor: not-allowed;
    text-decoration: none;
}

.zeroone-status {
    font-size: 13px;
    font-weight: 700;
    margin-top: 8px;
    text-align: center;
}

.zeroone-status.is-error {
    color: #e11d48;
}

.zeroone-status.is-success {
    color: #10b981;
}

/* My Account Dashboard Panels */
.woocommerce-MyAccount-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    margin-top: 40px;
    margin-bottom: 80px;
    align-items: start;
}

.woocommerce-MyAccount-navigation a.menu-item:hover {
    background: rgba(255, 255, 255, 0.85);
    color: var(--rose-deep);
    transform: translateX(-4px);
}

.woocommerce-MyAccount-content {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 24px;
    padding: 40px;
    box-shadow: var(--shadow-card);
    min-height: 450px;
}

.woocommerce-MyAccount-content p {
    font-size: 15px;
    line-height: 2;
    color: var(--text-dim);
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content p strong {
    color: var(--text);
}

.woocommerce-MyAccount-content a {
    color: var(--rose-deep);
    font-weight: 800;
    transition: color 0.2s ease;
}

.woocommerce-MyAccount-content a:hover {
    color: var(--rose-pink);
}

/* Dashboard Orders Table */
.woocommerce-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 20px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--border);
}

.woocommerce-orders-table th {
    background: rgba(250, 244, 239, 0.8);
    padding: 16px;
    font-size: 13.5px;
    font-weight: 800;
    color: var(--text);
    text-align: right;
    border-bottom: 1.5px solid var(--border);
}

.woocommerce-orders-table td {
    padding: 16px;
    font-size: 14px;
    color: var(--text-dim);
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

.woocommerce-orders-table tr:last-child td {
    border-bottom: none;
}

.woocommerce-orders-table .woocommerce-button {
    background: var(--rose-deep);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.woocommerce-orders-table .woocommerce-button:hover {
    background: #c25b70;
    transform: translateY(-2px);
}

/* Edit Address & Account Details Form */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields fieldset {
    border: none;
    padding: 0;
    margin-top: 30px;
}

.woocommerce-EditAccountForm legend {
    font-size: 18px;
    font-weight: 900;
    color: var(--text);
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
    width: 100%;
}

.woocommerce-EditAccountForm input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1.5px solid var(--border);
    background: #fff;
    font-family: inherit;
    font-size: 14px;
    margin-top: 6px;
    box-sizing: border-box;
}

.woocommerce-EditAccountForm button.woocommerce-Button,
.woocommerce-address-fields button.button {
    background: linear-gradient(115deg, var(--rose-deep), #e6683c);
    color: #fff;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    border: none;
    cursor: pointer;
    margin-top: 20px;
    box-shadow: 0 6px 20px rgba(216, 112, 133, 0.3);
    transition: all 0.3s ease;
}

.woocommerce-EditAccountForm button.woocommerce-Button:hover,
.woocommerce-address-fields button.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(216, 112, 133, 0.4);
}

/* WooCommerce Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    padding: 16px 24px;
    border-radius: 16px;
    margin-bottom: 25px;
    font-size: 14px;
    font-weight: 700;
    list-style: none;
    box-shadow: var(--shadow-card);
}

.woocommerce-message {
    background: #ecfdf5;
    color: #065f46;
    border-right: 4px solid #10b981;
}

.woocommerce-info {
    background: #eff6ff;
    color: #1e40af;
    border-right: 4px solid #3b82f6;
}

.woocommerce-error {
    background: #fef2f2;
    color: #991b1b;
    border-right: 4px solid #ef4444;
}

@media (max-width: 980px) {
    .woocommerce-MyAccount-layout {
        grid-template-columns: 1fr;
    }
    .woocommerce-MyAccount-content {
        padding: 25px 20px;
    }
}


/* ===================================================================
   My Account Mobile Responsiveness & App-like Experience
   =================================================================== */
@media (max-width: 768px) {
    .container {
        padding-inline: 15px !important;
    }
    
    /* Login / Auth Card Mobile */
    .auth-card {
        padding: 25px 18px !important;
        border-radius: 20px !important;
        margin-top: 10px !important;
    }
    .auth-card h1 {
        font-size: 20px !important;
    }
    .auth-card p {
        font-size: 13px !important;
    }
    .auth-tabs {
        flex-direction: column !important;
        gap: 6px !important;
        padding: 6px !important;
        border-radius: 12px !important;
    }
    .auth-tabs button {
        padding: 10px 12px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }
    .zeroone-otp input.zeroone-mobile,
    .zeroone-otp input.zeroone-code {
        padding: 12px 14px !important;
        font-size: 15px !important;
        border-radius: 10px !important;
    }
    .zeroone-otp button.zeroone-send,
    .zeroone-otp button.zeroone-verify {
        padding: 13px 18px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }

    /* Dashboard Layout Mobile */
    .woocommerce-MyAccount-layout {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        margin-top: 15px !important;
        margin-bottom: 40px !important;
    }
    
    /* Navigation Tiles Mobile (App-like Grid) */
    .woocommerce-MyAccount-navigation {
        padding: 20px 15px !important;
        border-radius: 20px !important;
    }
    .woocommerce-MyAccount-navigation .user-avatar-section {
        padding-bottom: 15px !important;
        margin-bottom: 15px !important;
    }
    .woocommerce-MyAccount-navigation .user-avatar {
        width: 65px !important;
        height: 65px !important;
        font-size: 26px !important;
    }
    .woocommerce-MyAccount-navigation .menu-list {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .woocommerce-MyAccount-navigation a.menu-item {
        padding: 10px 8px !important;
        font-size: 12.5px !important;
        border-radius: 10px !important;
        justify-content: center !important;
        text-align: center !important;
        flex-direction: column !important;
        gap: 6px !important;
    }
    .woocommerce-MyAccount-navigation a.menu-item i {
        font-size: 18px !important;
        width: auto !important;
    }
    
    /* Content Panel Mobile */
    .woocommerce-MyAccount-content {
        padding: 20px 15px !important;
        border-radius: 20px !important;
        font-size: 14px !important;
    }
    .woocommerce-MyAccount-content p {
        font-size: 14px !important;
        line-height: 1.8 !important;
    }
    
    /* Responsive Orders Table with Touch Scroll */
    .woocommerce-orders-table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
    }
    .woocommerce-orders-table th,
    .woocommerce-orders-table td {
        padding: 10px 12px !important;
        font-size: 12.5px !important;
    }
    
    /* Edit Account & Address Form Mobile */
    .woocommerce-EditAccountForm .form-row,
    .woocommerce-address-fields .form-row {
        width: 100% !important;
        float: none !important;
    }
    .woocommerce-EditAccountForm input.input-text,
    .woocommerce-address-fields input.input-text {
        padding: 10px 14px !important;
        font-size: 13.5px !important;
    }
    .woocommerce-EditAccountForm button.woocommerce-Button,
    .woocommerce-address-fields button.button {
        width: 100% !important;
        padding: 12px !important;
        font-size: 14px !important;
    }
}


/* Container Spacing for Header clearance & Mobile */
.shop-main-container { padding-top: 120px; padding-bottom: 60px; }
.auth-main-container { padding-top: 110px; padding-bottom: 80px; }
.account-main-container { padding-top: 110px; padding-bottom: 80px; }

@media (max-width: 768px) {
    .shop-main-container { padding-top: 85px !important; padding-bottom: 35px !important; }
    .auth-main-container { padding-top: 80px !important; padding-bottom: 35px !important; }
    .account-main-container { padding-top: 80px !important; padding-bottom: 35px !important; }
}


/* ===================================================================
   Luxury Rose-Cream Single Product Page Styling & Mobile Responsive
   =================================================================== */

.single-product-main {
    background: radial-gradient(circle at 80% 20%, rgba(232, 149, 165, 0.08), transparent 60%),
                radial-gradient(circle at 20% 80%, rgba(212, 163, 115, 0.08), transparent 60%);
}

.single-product-container {
    padding-top: 120px;
    padding-bottom: 80px;
    max-width: 1300px;
}

/* Breadcrumb */
.sp-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 16px;
    font-size: 13.5px;
    font-weight: 700;
    margin-bottom: 30px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    flex-wrap: wrap;
}

.sp-breadcrumb a {
    color: var(--text-dim);
    text-decoration: none;
    transition: color 0.2s ease;
}

.sp-breadcrumb a:hover {
    color: var(--rose-deep);
}

.sp-breadcrumb .sep {
    color: var(--text-mute);
    display: flex;
    align-items: center;
}

.sp-breadcrumb .current {
    color: var(--text);
    font-weight: 800;
}

/* Product Layout Grid */
.sp-layout-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 35px;
    margin-bottom: 50px;
    align-items: start;
}

/* Gallery Column */
.sp-gallery-card {
    padding: 24px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-card);
    position: sticky;
    top: 110px;
}

.sp-main-img-wrap {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 380px;
    max-height: 480px;
    border: 1px solid var(--border);
}

.sp-main-image {
    width: 100%;
    height: 100%;
    max-height: 480px;
    object-fit: contain;
    transition: all 0.3s ease;
}

.sp-thumbs-strip {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
}

.sp-thumb {
    width: 76px;
    height: 76px;
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    background: #ffffff;
    flex-shrink: 0;
    transition: all 0.3s ease;
    padding: 3px;
    box-sizing: border-box;
}

.sp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.sp-thumb.active,
.sp-thumb:hover {
    border-color: var(--rose-deep);
    box-shadow: 0 4px 15px rgba(216, 112, 133, 0.35);
    transform: translateY(-2px);
}

/* Details Column */
.sp-details-card {
    padding: 35px 30px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sp-header-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sp-cat-tag {
    font-size: 12px;
    font-weight: 800;
    color: var(--rose-deep);
    background: rgba(232, 149, 165, 0.12);
    padding: 5px 14px;
    border-radius: 20px;
}

.sp-stock-badge {
    font-size: 12.5px;
    font-weight: 800;
    color: var(--success);
    display: flex;
    align-items: center;
    gap: 5px;
}

.sp-title {
    font-size: 26px;
    font-weight: 900;
    color: var(--text);
    line-height: 1.4;
    margin: 0;
}

.sp-price-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(250, 244, 239, 0.85);
    padding: 16px 22px;
    border-radius: 16px;
    border: 1px solid var(--border);
}

.sp-price-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--text-dim);
}

.sp-price-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rose-deep);
}

.sp-price-val del {
    font-size: 16px;
    color: var(--text-mute);
    margin-left: 8px;
}

.sp-price-val ins {
    text-decoration: none;
    color: var(--rose-deep);
}

/* Specs Box */
.sp-specs-box {
    background: rgba(255, 255, 255, 0.9);
    padding: 18px 22px;
    border-radius: 16px;
    border: 1px solid var(--border);
    font-size: 14.5px;
    color: var(--text-dim);
    line-height: 2;
}

.sp-specs-title {
    font-weight: 900;
    color: var(--text);
    margin-bottom: 8px;
    font-size: 15px;
}

/* Add to Cart Action Box */
.sp-cart-action-box {
    margin-top: 5px;
}

.sp-cart-form {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.sp-qty-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sp-qty-label {
    font-size: 13.5px;
    font-weight: 800;
    color: var(--text-dim);
}

.sp-qty-picker {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1.5px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}

.sp-qty-btn {
    width: 40px;
    height: 46px;
    border: none;
    background: transparent;
    font-size: 20px;
    font-weight: 900;
    cursor: pointer;
    color: var(--text-dim);
    transition: background 0.2s;
}

.sp-qty-btn:hover {
    background: var(--surface);
    color: var(--rose-deep);
}

.sp-qty-input {
    width: 46px !important;
    height: 46px !important;
    border: none !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    color: var(--text) !important;
    background: transparent !important;
    padding: 0 !important;
    -moz-appearance: textfield;
}

.sp-qty-input::-webkit-outer-spin-button,
.sp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.sp-add-btn {
    flex: 1;
    min-width: 220px;
    padding: 15px 28px !important;
    border-radius: 14px !important;
    font-size: 15.5px !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(115deg, var(--rose-deep) 0%, #e6683c 100%) !important;
    box-shadow: 0 8px 25px rgba(216, 112, 133, 0.4) !important;
    cursor: pointer;
    border: none;
    color: #fff;
    transition: all 0.3s ease;
}

.sp-add-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(216, 112, 133, 0.5) !important;
}

/* Trust Features Grid */
.sp-trust-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 10px;
    border-top: 1px solid var(--border);
    padding-top: 22px;
}

.sp-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-dim);
}

.sp-trust-item svg {
    width: 20px;
    height: 20px;
    color: var(--rose-deep);
    flex-shrink: 0;
}

/* Product Tabs Section */
.sp-tabs-section {
    border-radius: 28px;
    padding: 40px 35px;
    margin-bottom: 60px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-card);
}

.sp-tabs-nav {
    display: flex;
    gap: 12px;
    border-bottom: 1.5px solid var(--border);
    padding-bottom: 16px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.sp-tab-btn {
    background: transparent;
    border: none;
    font-size: 16px;
    font-weight: 800;
    color: var(--text-dim);
    padding: 10px 20px;
    border-radius: 12px;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.3s ease;
}

.sp-tab-btn.active {
    background: rgba(232, 149, 165, 0.15);
    color: var(--rose-deep);
}

.sp-tab-pane {
    display: none;
    font-size: 15.5px;
    line-height: 2.3;
    color: var(--text-dim);
}

.sp-tab-pane.active {
    display: block;
    animation: fadeIn 0.4s ease forwards;
}

/* Related Products Grid */
.sp-related-section {
    margin-top: 50px;
    margin-bottom: 60px;
}

/* Mobile Responsiveness for Single Product */
@media (max-width: 992px) {
    .sp-layout-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .sp-gallery-card {
        position: static;
    }
    .sp-main-img-wrap {
        min-height: 320px;
        max-height: 400px;
    }
}

@media (max-width: 768px) {
    .single-product-container {
        padding-top: 85px !important;
        padding-bottom: 40px !important;
        padding-inline: 15px !important;
    }
    .sp-breadcrumb {
        padding: 10px 15px !important;
        font-size: 12px !important;
        margin-bottom: 20px !important;
    }
    .sp-gallery-card {
        padding: 15px !important;
        border-radius: 20px !important;
    }
    .sp-main-img-wrap {
        min-height: 260px !important;
        max-height: 320px !important;
        border-radius: 16px !important;
    }
    .sp-thumbs-strip {
        gap: 8px !important;
    }
    .sp-thumb {
        width: 60px !important;
        height: 60px !important;
        border-radius: 10px !important;
    }
    .sp-details-card {
        padding: 22px 18px !important;
        border-radius: 20px !important;
        gap: 16px !important;
    }
    .sp-title {
        font-size: 20px !important;
    }
    .sp-price-val {
        font-size: 20px !important;
    }
    .sp-cart-form {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .sp-qty-row {
        justify-content: space-between;
    }
    .sp-add-btn {
        width: 100% !important;
        min-width: unset !important;
    }
    .sp-trust-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .sp-tabs-section {
        padding: 22px 18px !important;
        border-radius: 20px !important;
    }
}


/* Explicit overrides to guarantee Username & Password login form is always visible */
.zeroone-wc-forms #authPassPane,
.zeroone-wc-forms .nafis-custom-login-form,
.zeroone-wc-forms .nafis-custom-login-form .nafis-field-wrap,
.zeroone-wc-forms .nafis-custom-login-form .nafis-auth-options,
.zeroone-wc-forms .nafis-custom-login-form .nafis-auth-input,
.zeroone-wc-forms .nafis-custom-login-form label,
.zeroone-wc-forms .nafis-custom-login-form input,
.zeroone-wc-forms .nafis-custom-login-form button {
    display: block !important;
}

.zeroone-wc-forms .nafis-custom-login-form .nafis-auth-options {
    display: flex !important;
}

.zeroone-wc-forms .nafis-custom-login-form button.nafis-login-submit {
    display: flex !important;
}


/* ===================================================================
   Mobile Hamburger Menu (Right Drawer) & Mini Cart (Left Drawer)
   =================================================================== */

/* Header Top Controls for Desktop and Mobile */
.header-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid var(--border) !important;
    align-items: center;
    justify-content: center;
    color: var(--text);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.header-menu-toggle:hover {
    background: var(--rose-light) !important;
    color: var(--rose-deep);
}

@media (max-width: 980px) {
    .header-menu-toggle {
        display: flex !important;
    }
    .header-actions {
        display: flex !important;
        align-items: center;
        gap: 8px;
    }
    .header-user-action {
        display: none !important;
    }
    .header-cart-action {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, 0.8) !important;
        border: 1px solid var(--border) !important;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    }
    .header-top {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding-block: 10px !important;
    }
    .header-search {
        display: none !important;
    }
    .brand-text {
        display: flex !important;
    }
}

@media (max-width: 480px) {
    .brand-text .sub {
        display: none !important;
    }
    .brand-text .name {
        font-size: 13px !important;
    }
    .brand-mark {
        width: 36px !important;
        height: 36px !important;
    }
    .header-menu-toggle, .header-cart-action {
        width: 38px !important;
        height: 38px !important;
    }
}

/* Custom Drawer Menu Styles */
.drawer-custom-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.drawer-custom-menu li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
    color: var(--text-dim);
    text-decoration: none;
    transition: all 0.25s ease;
    background: transparent;
}

.drawer-custom-menu li a i {
    width: 22px;
    text-align: center;
    font-size: 16px;
    color: var(--rose-deep);
    transition: transform 0.25s ease;
}

.drawer-custom-menu li a:hover,
.drawer-custom-menu li a.active {
    background: rgba(232, 149, 165, 0.12);
    color: var(--rose-deep);
    transform: translateX(-4px);
}

.drawer-custom-menu li a:hover i {
    transform: scale(1.15);
}

.drawer-menu-divider {
    font-size: 11px;
    font-weight: 900;
    color: var(--text-mute);
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 14px 16px 6px;
    border-bottom: 1px dashed var(--border);
    margin-bottom: 6px;
}

/* Add-to-Cart Button Animations */
@keyframes btnPulseAdd {
    0% { transform: scale(1); }
    50% { transform: scale(0.95); }
    100% { transform: scale(1); }
}

@keyframes flowerFly {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1) rotate(0deg);
    }
    50% {
        opacity: 0.9;
        transform: translateY(-40px) scale(1.4) rotate(45deg);
    }
    100% {
        opacity: 0;
        transform: translateY(-80px) scale(0.6) rotate(90deg);
    }
}

.cart-particle-fly {
    position: fixed;
    z-index: 10000;
    pointer-events: none;
    font-size: 24px;
    animation: flowerFly 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.btn-anim-adding {
    animation: btnPulseAdd 0.4s ease infinite;
    opacity: 0.85;
}

.btn-anim-success {
    background: linear-gradient(115deg, #10b981, #059669) !important;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.45) !important;
    color: #ffffff !important;
    transform: scale(1.03) !important;
}

/* Mini Cart Drawer Enhancements */
#cartDrawer .widget_shopping_cart {
    font-size: 14px;
}

#cartDrawer .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-top: 1.5px solid var(--border);
    border-bottom: 1.5px solid var(--border);
    margin: 20px 0;
    font-weight: 800;
    font-size: 15px;
}

#cartDrawer .woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#cartDrawer .woocommerce-mini-cart__buttons a.button {
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}

#cartDrawer .woocommerce-mini-cart__buttons a.button:first-child {
    background: var(--surface);
    color: var(--text);
    border: 1.5px solid var(--border);
}

#cartDrawer .woocommerce-mini-cart__buttons a.button.checkout {
    background: linear-gradient(115deg, var(--rose-deep), #e6683c);
    color: #fff;
    border: none;
    box-shadow: 0 6px 20px rgba(216, 112, 133, 0.35);
}
