/* =========================================================
   RAYA COLLECTION — front-end
   Palette: white + sage mint, built from #ACD1C0. No black.
========================================================= */

:root{
  --sage:        #ACD1C0;   /* brand mint — primary accent */
  --sage-light:  #E9F5EF;   /* light tint for backgrounds */
  --sage-mid:    #7FB89E;   /* mid tone for blobs/decoration */
  --sage-deep:   #4E8A72;   /* deep sage for CTAs/hover/links */
  --sage-deeper: #2E5A48;   /* darkest sage, headings emphasis, never as a large fill */
  --sage-line:   rgba(46,90,72,.14);
  --sage-glow:   rgba(78,138,114,.28);
  --white:       #FFFFFF;
  --text:        #33423C;   /* soft charcoal-sage body/heading text — not black */
  --text-soft:   #7C8C85;

  --radius-s: 6px;
  --radius-m: 16px;
  --radius-l: 30px;

  --maxw: 1240px;
  --gap: 24px;
  --pad-x: 24px;  /* shared left/right edge gap — every section uses this so edges line up */

  --ease: cubic-bezier(.22,.61,.36,1);
  --spring: cubic-bezier(.34,1.56,.64,1);

  --shadow-sm: 0 8px 20px -12px rgba(46,90,72,.22);
  --shadow-md: 0 20px 40px -18px rgba(46,90,72,.28);
  --shadow-glow: 0 14px 30px -10px var(--sage-glow);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html, body{max-width:100%;overflow-x:hidden;}
body{
  margin:0;
  font-family:'Vazirmatn', sans-serif;
  /* #ACD1C0 is the site's actual ground color — everything else floats on top of it */
  background:
    radial-gradient(1200px 680px at 88% -12%, rgba(255,255,255,.4) 0%, transparent 60%),
    radial-gradient(900px 620px at -10% 18%, rgba(255,255,255,.28) 0%, transparent 58%),
    var(--sage);
  color:var(--text);
  direction:rtl;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

::selection{background:var(--sage-deep);color:var(--white);}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:var(--sage-light);}
::-webkit-scrollbar-thumb{background:var(--sage);border-radius:99px;border:2px solid var(--sage-light);}
::-webkit-scrollbar-thumb:hover{background:var(--sage-deep);}

/* =================== KEYFRAMES =================== */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(22px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes fadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes floatY{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}
@keyframes breathe{
  0%,100%{box-shadow:0 0 0 0 var(--sage-glow);}
  50%{box-shadow:0 0 0 8px rgba(78,138,114,0);}
}
@keyframes popIn{
  0%{transform:scale(.6);opacity:0;}
  60%{transform:scale(1.12);opacity:1;}
  100%{transform:scale(1);}
}
@keyframes tagPulse{
  0%,100%{transform:scale(1) rotate(-45deg);}
  50%{transform:scale(1.05) rotate(-45deg);}
}

/* =================== SHARED TITLES =================== */
.section-title{
  text-align:center;
  font-size:1.5rem;
  font-weight:700;
  margin:0 0 32px;
  color:var(--text);
  animation:fadeInUp .6s var(--ease) both;
}
.section-title-line{
  display:flex;align-items:center;gap:16px;
  max-width:var(--maxw);margin:0 auto 32px;padding:0 var(--pad-x);
  font-size:1.4rem;font-weight:700;color:var(--text);
  animation:fadeInUp .6s var(--ease) both;
}
.section-title-line::before{
  content:"";flex:1;height:1px;
  background:linear-gradient(90deg, transparent, var(--sage-line) 40%, var(--sage-line));
}
.section-title-line.light{color:var(--sage-deeper);}
.section-title-line.light::before{background:linear-gradient(90deg, transparent, var(--sage-line) 40%, var(--sage-line));}

/* =================== BUTTONS =================== */
.btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 30px;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  overflow:hidden;
  isolation:isolate;
  transition:transform .3s var(--spring), background .3s, color .3s, box-shadow .35s var(--ease);
}
.btn:active{transform:translateY(0) scale(.96);}
.btn-sm{padding:10px 22px;font-size:.85rem;}

.btn-dark{
  background:linear-gradient(135deg, var(--sage-deep) 0%, var(--sage-deeper) 100%);
  color:var(--white);
  box-shadow:var(--shadow-sm);
}
.btn-dark::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.25) 45%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .6s var(--ease);
}
.btn-dark:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-md), var(--shadow-glow);}
.btn-dark:hover::before{transform:translateX(120%);}

.btn-outline{
  border:1.5px solid var(--sage-deep);color:var(--sage-deeper);
}
.btn-outline::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--sage-deep);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease);
}
.btn-outline:hover{color:var(--white);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.btn-outline:hover::before{transform:scaleX(1);}

.btn-deals{
  margin-top:22px;
  background:linear-gradient(135deg, #3FAE5C 0%, #2B8A46 100%);
  color:var(--white);
  box-shadow:0 8px 20px -12px rgba(43,138,70,.45);
}
.btn-deals::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.3) 45%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .6s var(--ease);
}
.btn-deals:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 30px -14px rgba(43,138,70,.55);}
.btn-deals:hover::before{transform:translateX(120%);}

/* =================== HEADER =================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--sage-line);
  transition:box-shadow .3s;
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px var(--pad-x);
}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{
  font-size:1.6rem;font-weight:800;letter-spacing:.5px;
  background:linear-gradient(100deg, var(--sage-deeper) 30%, var(--sage-deep) 50%, var(--sage-deeper) 70%);
  background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transition:background-position .6s var(--ease);
}
.brand:hover .brand-mark{background-position:100% 0;}
.brand-line{width:26px;height:3px;border-radius:3px;background:var(--sage);transition:width .3s var(--spring);}
.brand:hover .brand-line{width:38px;}

.main-nav{display:flex;gap:30px;}
.main-nav a{
  font-size:.95rem;font-weight:500;color:var(--text);
  position:relative;padding:4px 0;
  transition:color .2s;
}
.main-nav a::after{
  content:"";position:absolute;bottom:0;right:0;width:0;height:2px;border-radius:2px;
  background:var(--sage-deep);transition:width .3s var(--ease);
}
.main-nav a:hover{color:var(--sage-deep);}
.main-nav a:hover::after{width:100%;}

.nav-account{
  display:flex;align-items:center;gap:6px;
}
.nav-account svg{width:17px;height:17px;}

.header-actions{display:flex;align-items:center;gap:6px;}
.icon-btn{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text);position:relative;
  transition:background .25s, transform .3s var(--spring), color .25s;
}
.icon-btn:hover{background:var(--sage-light);color:var(--sage-deeper);transform:translateY(-2px) scale(1.08);}
.icon-btn:active{transform:scale(.92);}
.icon-btn svg{width:19px;height:19px;transition:transform .3s var(--spring);}
.icon-btn:hover svg{transform:scale(1.08);}
.cart-count{
  position:absolute;top:0;left:0;
  background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));
  color:var(--white);
  font-size:.65rem;font-weight:700;
  width:17px;height:17px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px var(--white);
}
.menu-toggle{display:none;flex-direction:column;gap:5px;width:26px;}
.menu-toggle span{height:2px;background:var(--sage-deeper);border-radius:2px;transition:transform .3s var(--ease), opacity .3s;}
.menu-toggle:hover span{background:var(--sage-deep);}

.search-bar{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad-x);
  max-height:0;overflow:hidden;
  transition:max-height .35s var(--ease), padding .35s;
  display:flex;gap:10px;
}
.search-bar.open{max-height:70px;padding:0 var(--pad-x) 16px;}
.search-bar input{
  flex:1;padding:12px 18px;border-radius:999px;border:1px solid var(--sage-line);
  background:var(--sage-light);font-family:inherit;font-size:.9rem;
  transition:box-shadow .25s, border-color .25s, background .25s;
}
.search-bar input:focus{outline:none;border-color:var(--sage-deep);background:var(--white);box-shadow:0 0 0 4px var(--sage-glow);}
.search-bar button{
  padding:0 22px;border-radius:999px;
  background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));color:var(--white);font-weight:600;
  transition:transform .25s var(--spring), box-shadow .25s;
}
.search-bar button:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow);}

/* =================== HERO =================== */
.hero{
  position:relative;
  max-width:var(--maxw);margin:32px auto 0;padding:0 var(--pad-x);
}
.hero-inner{
  position:relative;z-index:2;
  display:flex;align-items:center;gap:20px;
  background:linear-gradient(135deg, var(--sage-light) 0%, var(--white) 62%);
  border:1px solid var(--sage-line);
  border-radius:var(--radius-l);
  padding:76px 60px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.hero-visual{
  position:relative;
  flex:0 0 300px;
  align-self:stretch;
  min-height:340px;
  display:flex;align-items:flex-end;justify-content:center;
}
.hero-visual img{
  position:relative;z-index:2;
  width:88%;height:94%;
  object-fit:cover;object-position:top center;
  border-radius:8px 8px 0 0;
  display:block;
  -webkit-mask-image:linear-gradient(to bottom, #000 88%, transparent 100%);
          mask-image:linear-gradient(to bottom, #000 88%, transparent 100%);
}
.hero-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:1;}
.hero-blob-1{width:280px;height:280px;top:-6%;left:8%;background:var(--sage-mid);opacity:.55;}
.hero-blob-2{width:170px;height:170px;bottom:2%;left:-8%;background:var(--sage-light);opacity:.7;}
.hero-dot{position:absolute;border-radius:50%;background:var(--sage-deep);z-index:1;pointer-events:none;}
.hero-dot-1{width:9px;height:9px;top:16%;left:4%;}
.hero-dot-2{width:7px;height:7px;top:26%;left:64%;}
.hero-text{flex:1;min-width:280px;text-align:right;}
.hero-eyebrow{
  color:var(--sage-deep);font-size:.85rem;letter-spacing:.5px;margin:0 0 18px;font-weight:600;
  animation:fadeInUp .7s var(--ease) .05s both;
}
.hero-title{
  margin:0;color:var(--text);
  font-size:clamp(2.2rem, 5.6vw, 4.4rem);
  font-weight:800;line-height:1.05;letter-spacing:1px;
  animation:fadeInUp .8s var(--ease) .15s both;
}
.hero-title span{
  display:block;color:var(--sage-deep);
  font-size:.4em;font-weight:600;letter-spacing:6px;margin-top:12px;
}
.hero-sub{
  color:var(--text-soft);max-width:440px;margin:26px 0 34px;
  font-size:1.02rem;line-height:1.8;
  animation:fadeInUp .8s var(--ease) .28s both;
}
.hero-cta{
  display:flex;gap:14px;flex-wrap:wrap;
  animation:fadeInUp .8s var(--ease) .4s both;
}

/* =================== CATEGORIES =================== */
.categories{max-width:var(--maxw);margin:76px auto 0;padding:0 var(--pad-x);}
.cat-grid{
  display:flex;
  justify-content:center;
  gap:56px;
  direction:ltr;
  flex-wrap:wrap;
}
.category{
  width:170px;
  text-decoration:none;
  color:var(--text);
  display:block;
}
.image-box{
  width:170px;height:215px;
  overflow:hidden;
  border-radius:85px 85px 0 0;
  background:var(--sage-light);
  box-shadow:var(--shadow-sm);
  transition:box-shadow .35s var(--ease), transform .35s var(--spring);
}
.image-box img{
  width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform .45s var(--ease);
}
.category:hover .image-box{transform:translateY(-6px);box-shadow:var(--shadow-md), var(--shadow-glow);}
.category:hover .image-box img{transform:scale(1.06);}
.category-title{
  height:36px;
  display:flex;align-items:center;justify-content:center;
  direction:rtl;gap:8px;
}
.category-title span{
  display:block;height:1px;width:43px;
  background:var(--sage-line);
  transition:width .3s var(--spring), background .3s;
}
.category-title p{
  font-size:15px;font-weight:600;color:var(--sage-deeper);
  white-space:nowrap;
  transition:color .25s;
}
.category.active .category-title span,
.category:hover .category-title span{width:20px;background:var(--sage-deep);}
.category.active .image-box{box-shadow:var(--shadow-glow);}
.category.active .category-title p{color:var(--sage-deep);}
.image-box .p-fallback-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.image-box .p-fallback-icon svg{width:42%;height:42%;stroke:var(--sage-deeper);stroke-width:1.3;opacity:.8;}
.category.cat-back .image-box{background:var(--sage-light);}
.category.cat-back .p-fallback-icon svg{stroke:var(--sage-deep);width:32%;height:32%;}
.category.cat-back .category-title p{color:var(--sage-deep);}

/* =================== SIZE CHOICE POPUP (تاپ) =================== */
.size-modal-overlay{
  position:fixed;inset:0;background:rgba(46,90,72,.45);
  backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
  z-index:260;padding:20px;
}
.size-modal-overlay.open{opacity:1;pointer-events:auto;}
.size-modal{
  background:var(--white);
  border-radius:var(--radius-m);
  padding:34px 28px 28px;
  max-width:360px;width:100%;
  text-align:center;
  box-shadow:var(--shadow-md);
  position:relative;
  transform:translateY(12px) scale(.96);
  transition:transform .3s var(--spring);
}
.size-modal-overlay.open .size-modal{transform:translateY(0) scale(1);}
.size-modal h3{margin:0 0 22px;font-size:1.05rem;color:var(--text);}
.size-modal-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.size-modal-close{
  position:absolute;top:14px;left:14px;
  color:var(--text-soft);font-size:1rem;line-height:1;
  transition:color .2s, transform .3s var(--spring);
}
.size-modal-close:hover{color:var(--sage-deep);transform:rotate(90deg);}

/* =================== FEATURES (no boxes — clean divided row) =================== */
.features{
  max-width:var(--maxw);margin:60px auto 70px;padding:0 var(--pad-x);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.feature{
  position:relative;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;
  padding:8px 22px;
}
.feature:not(:last-child)::after{
  content:"";position:absolute;top:8px;bottom:8px;left:0;width:1px;
  background:var(--sage-line);
}
.feature-icon{
  flex:none;width:52px;height:52px;border-radius:50%;
  background:var(--sage-light);color:var(--sage-deep);
  display:flex;align-items:center;justify-content:center;
  transition:transform .4s var(--spring), background .3s, color .3s;
}
.feature:hover .feature-icon{transform:translateY(-4px) rotate(8deg) scale(1.08);background:var(--sage-deep);color:var(--white);}
.feature h3{margin:0 0 4px;font-size:.98rem;font-weight:700;color:var(--text);}
.feature p{margin:0;font-size:.8rem;color:var(--text-soft);}

/* =================== CAROUSEL SHARED =================== */
.car-viewport{overflow:hidden;flex:1;}
.car-track{display:flex;gap:var(--gap);transition:transform .55s var(--ease);}
.car-arrow{
  flex:none;width:42px;height:42px;border-radius:50%;
  background:var(--white);border:1px solid var(--sage-line);
  font-size:1.3rem;color:var(--sage-deeper);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);
  transition:background .3s,color .3s,transform .3s var(--spring), box-shadow .3s;
}
.car-arrow:hover{background:var(--sage-deep);color:var(--white);transform:scale(1.1);box-shadow:var(--shadow-glow);}
.car-arrow:active{transform:scale(.94);}
.car-dots{display:flex;justify-content:center;gap:8px;margin-top:22px;}
.car-dots span{
  width:7px;height:7px;border-radius:50%;background:var(--sage-line);
  cursor:pointer;display:block;
  transition:background .25s, width .3s var(--spring);
}
.car-dots span:hover{background:var(--sage-deep);}
.car-dots span.active{background:var(--sage-deep);width:20px;border-radius:5px;}

/* product card */
.p-card{
  flex:none;width:220px;
  background:var(--white);
  border:1px solid var(--sage-line);
  border-radius:var(--radius-m);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:box-shadow .35s, transform .35s var(--spring), border-color .3s;
  animation:fadeInUp .5s var(--ease) both;
}
.p-card:nth-child(1){animation-delay:.02s;}
.p-card:nth-child(2){animation-delay:.06s;}
.p-card:nth-child(3){animation-delay:.1s;}
.p-card:nth-child(4){animation-delay:.14s;}
.p-card:nth-child(5){animation-delay:.18s;}
.p-card:nth-child(6){animation-delay:.22s;}
.p-card:nth-child(n+7){animation-delay:.26s;}
.p-card:hover{box-shadow:var(--shadow-md), var(--shadow-glow);transform:translateY(-6px);border-color:var(--sage-deep);}
.p-thumb{
  position:relative;aspect-ratio:3/4;
  background:linear-gradient(160deg, var(--sage-light), #DCEFE6);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.p-thumb svg{width:56%;height:56%;stroke:var(--sage-deeper);stroke-width:1;opacity:.85;transition:transform .45s var(--spring);}
.p-card:hover .p-thumb svg{transform:scale(1.08) rotate(-2deg);}
.p-badge{
  position:absolute;top:10px;left:10px;
  background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));color:var(--white);
  font-size:.72rem;font-weight:700;
  padding:4px 9px;border-radius:999px;
  box-shadow:0 4px 10px -4px rgba(46,90,72,.4);
}
.p-add{
  position:absolute;bottom:10px;left:10px;
  width:32px;height:32px;border-radius:50%;
  background:var(--white);border:1px solid var(--sage-line);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:var(--sage-deeper);
  box-shadow:var(--shadow-sm);
  transition:background .25s,color .25s,transform .3s var(--spring), box-shadow .25s;
}
.p-add:hover{background:var(--sage-deep);color:var(--white);transform:scale(1.14) rotate(90deg);box-shadow:var(--shadow-glow);}
.p-add.added{background:var(--sage-deep);color:var(--white);animation:popIn .45s var(--spring);}
.p-info{padding:14px 14px 16px;}
.p-name{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text);}
.p-price-row{display:flex;align-items:baseline;gap:8px;}
.p-price{font-weight:700;font-size:.92rem;color:var(--sage-deeper);}
.p-price-old{font-size:.75rem;color:var(--text-soft);text-decoration:line-through;}

/* =================== DEALS (discounted products) =================== */
.deals{max-width:var(--maxw);margin:70px auto;padding:0 var(--pad-x);}
.deals-head{margin-bottom:8px;}
.deals-box{
  background: #40745F;
  border:1px solid var(--sage-line);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow-md);
  padding:32px;
}
.deals-title{
  text-align:center;
  margin:0 0 28px;
  font-family:'Vazirmatn', sans-serif;
  font-size:1.6rem;
  font-weight:800;
  letter-spacing:.3px;
  color:var(--white);
  animation:fadeInUp .6s var(--ease) both;
}
.deals-title span{
  position:relative;
  display:inline-block;
  padding:0 6px 10px;
}
.deals-title span::after{
  content:"";
  position:absolute;
  bottom:0;left:50%;
  transform:translateX(-50%);
  width:56px;height:3px;
  border-radius:999px;
  background:var(--white);
  opacity:.85;
}
.products-carousel{display:flex;align-items:center;gap:16px;}

/* =================== CONTACT INFO =================== */
.contact-info{
  position:relative;overflow:hidden;
  max-width:var(--maxw);margin:80px auto;padding:56px var(--pad-x);
  background:linear-gradient(160deg, var(--sage-light) 0%, var(--white) 100%);
  border:1px solid var(--sage-line);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow-md);
}
.contact-info::before{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle, var(--sage-glow), transparent 70%);
  top:-260px;left:-160px;pointer-events:none;
}
.contact-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.contact-item{
  display:flex;align-items:center;gap:14px;
  padding:20px;border-radius:var(--radius-m);
  border:1px solid var(--sage-line);
  background:var(--white);
  color:var(--text);
  transition:background .3s, border-color .3s, transform .35s var(--spring), box-shadow .35s;
}
.contact-item:hover{background:var(--sage-light);border-color:var(--sage-deep);transform:translateY(-4px);box-shadow:var(--shadow-glow);}
.contact-icon{
  flex:none;width:44px;height:44px;border-radius:50%;
  background:var(--sage-light);color:var(--sage-deep);
  display:flex;align-items:center;justify-content:center;
  transition:transform .4s var(--spring), background .3s, color .3s;
}
.contact-item:hover .contact-icon{transform:scale(1.14) rotate(-8deg);background:var(--sage-deep);color:var(--white);}
.contact-item b{display:block;font-size:.88rem;margin-bottom:4px;color:var(--text);}
.contact-item span{font-size:.8rem;color:var(--text-soft);}

/* =================== CLEARANCE (single product sale) =================== */
.clearance{max-width:var(--maxw);margin:0 auto 90px;padding:0 var(--pad-x);}
.clearance-card{
  position:relative;
  display:flex;align-items:stretch;flex-wrap:wrap;
  background:linear-gradient(160deg, var(--white), var(--sage-light));
  border:1px solid var(--sage-line);
  border-radius:var(--radius-l);overflow:hidden;
  box-shadow:var(--shadow-md);
}
/* diagonal corner ribbon — the signature detail of this section */
.clearance-ribbon{
  position:absolute;top:26px;left:-56px;z-index:3;
  width:190px;padding:9px 0;
  text-align:center;
  transform:rotate(-45deg);
  transform-origin:center;
  background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));
  color:var(--white);font-weight:700;font-size:.82rem;letter-spacing:.5px;
  box-shadow:0 8px 18px -6px rgba(46,90,72,.5);
  animation:tagPulse 2.6s ease-in-out infinite;
}
.clearance-visual{
  flex:1;min-width:260px;position:relative;
  height:420px;
  background:radial-gradient(circle at 30% 30%, var(--sage-light) 0%, var(--sage) 60%, var(--sage-mid) 100%);
  display:flex;align-items:center;justify-content:center;
  padding:50px;
  overflow:hidden;
}
.clearance-visual::before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.25) 0 2px, transparent 2px 22px);
  pointer-events:none;
}
.clearance-visual.has-photo::before{display:none;}
.clearance-visual.has-photo{padding:0;background:none;}
.clearance-visual .p-image{width:100%;height:100%;object-fit:cover;display:block;}
.clearance-icon{width:100%;max-width:220px;animation:floatY 4.5s ease-in-out infinite;}
.clearance-icon svg{width:100%;height:100%;stroke:var(--sage-deeper);stroke-width:.9;opacity:.92;}
.clearance-visual.has-photo .clearance-icon{width:100%;height:100%;max-width:none;animation:none;}
.clearance-body{
  flex:1;min-width:280px;color:var(--text);
  display:flex;flex-direction:column;justify-content:center;gap:16px;
  padding:48px 48px 48px 68px;
}
.clearance-label{margin:0;color:var(--sage-deep);font-weight:600;font-size:.9rem;}
.clearance-body h3{margin:0;font-size:1.6rem;color:var(--text);}
.clearance-price-row{display:flex;align-items:baseline;gap:12px;}
.clearance-price{font-size:1.3rem;font-weight:800;color:var(--sage-deeper);}
.clearance-old{font-size:.9rem;color:var(--text-soft);text-decoration:line-through;}
.clearance-body .countdown{margin:4px 0 6px;}

.countdown{display:flex;gap:10px;}
.cd-box{
  background:var(--sage-light);border-radius:8px;
  padding:10px 14px;min-width:52px;text-align:center;
  border:1px solid var(--sage-line);
  animation:breathe 2s ease-in-out infinite;
}
.cd-box span{display:block;font-size:1.25rem;font-weight:700;color:var(--sage-deeper);}
.cd-box small{font-size:.68rem;opacity:.8;color:var(--sage-deep);}

/* =================== FOOTER =================== */
.site-footer{
  margin-top:0;background:linear-gradient(180deg, var(--sage-light), var(--white));
  border-top:1px solid var(--sage-line);
  color:var(--text);
  padding:56px var(--pad-x) 26px;text-align:center;
}
.footer-top .brand-mark{
  background:linear-gradient(100deg, var(--sage-deep) 30%, var(--sage-mid) 50%, var(--sage-deep) 70%);
  background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-size:1.8rem;
}
.footer-top p{margin:10px 0 30px;color:var(--text-soft);font-size:.9rem;}
.footer-nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-bottom:26px;font-size:.88rem;}
.footer-nav a{color:var(--text);position:relative;transition:color .25s;}
.footer-nav a::after{content:"";position:absolute;bottom:-4px;right:0;width:0;height:1.5px;background:var(--sage-deep);transition:width .3s var(--ease);}
.footer-nav a:hover{color:var(--sage-deep);}
.footer-nav a:hover::after{width:100%;}
.footer-social{display:flex;justify-content:center;gap:14px;margin-bottom:30px;}
.footer-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--sage-line);
  display:flex;align-items:center;justify-content:center;color:var(--sage-deep);
  transition:background .3s,border-color .3s,color .3s,transform .35s var(--spring), box-shadow .3s;
}
.footer-social a svg{width:17px;height:17px;}
.footer-social a:hover{background:var(--sage-deep);color:var(--white);border-color:var(--sage-deep);transform:translateY(-4px) scale(1.1);box-shadow:var(--shadow-glow);}
.footer-copy{margin:0;font-size:.78rem;color:var(--text-soft);border-top:1px solid var(--sage-line);padding-top:20px;}

/* =================== CART DRAWER =================== */
.cart-overlay{
  position:fixed;inset:0;background:rgba(46,90,72,.35);
  backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .35s;z-index:199;
}
.cart-overlay.open{opacity:1;pointer-events:auto;}
.cart-drawer{
  position:fixed;top:0;left:0;height:100%;width:380px;max-width:88vw;
  background:var(--white);z-index:200;
  box-shadow:20px 0 50px -20px rgba(46,90,72,.35);
  transform:translateX(-100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;
}
.cart-drawer.open{transform:translateX(0);}
.cart-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 22px;border-bottom:1px solid var(--sage-line);
}
.cart-head h3{margin:0;font-size:1.1rem;color:var(--text);}
.cart-head button{font-size:1.1rem;color:var(--text);transition:transform .3s var(--spring), color .25s;}
.cart-head button:hover{color:var(--sage-deep);transform:rotate(90deg);}
.cart-items{flex:1;overflow-y:auto;padding:18px 22px;}
.cart-empty{color:var(--text-soft);text-align:center;margin-top:60px;font-size:.9rem;animation:fadeIn .4s;}
.cart-line{
  display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--sage-light);
  animation:fadeInUp .35s var(--ease) both;
}
.cart-line .p-thumb{width:56px;height:70px;flex:none;border-radius:8px;aspect-ratio:auto;}
.cart-line .p-thumb svg{width:60%;height:60%;}
.cart-line-info{flex:1;}
.cart-line-info b{display:block;font-size:.85rem;margin-bottom:4px;color:var(--text);}
.cart-line-info span{font-size:.8rem;color:var(--text-soft);}
.cart-line-remove{color:#b55;font-size:.78rem;transition:color .2s, transform .25s var(--spring);display:inline-block;}
.cart-line-remove:hover{color:#e04141;transform:scale(1.06);}
.cart-foot{padding:18px 22px;border-top:1px solid var(--sage-line);}
.cart-total-row{display:flex;justify-content:space-between;font-weight:700;margin-bottom:14px;color:var(--text);}
.cart-checkout{width:100%;}

/* =================== RESPONSIVE =================== */
@media(max-width:980px){
  .main-nav{display:none;}
  .menu-toggle{display:flex;}
  .features{grid-template-columns:repeat(2,1fr);row-gap:28px;}
  .feature:nth-child(2)::after{display:none;}
  .contact-grid{grid-template-columns:repeat(2,1fr);}
  .clearance-card{flex-direction:column;}
  .clearance-body{padding:44px 40px;}
  .clearance-visual{height:340px;}
  .hero-visual{flex-basis:220px;min-height:280px;}
}
@media(max-width:800px){
  .cat-grid{gap:34px;}
  .category{width:145px;}
  .image-box{width:145px;height:184px;border-radius:72px 72px 0 0;}
  .category-title span{width:30px;}
}

/* ---- Android / mobile phones ---- */
@media(max-width:650px){
  .cat-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:44px 26px;
  }
  .category{width:100%;justify-self:center;}
  .image-box{width:100%;max-width:150px;height:160px;margin:0 auto;}
}
@media(max-width:640px){
  .hero-inner{padding:44px 26px;flex-direction:column;text-align:center;}
  .hero-text{text-align:center;}
  .hero-sub{margin:20px auto 30px;}
  .hero-cta{justify-content:center;}
  .hero-visual{flex-basis:auto;width:100%;max-width:100%;min-height:280px;}
  .features{grid-template-columns:repeat(2,1fr);row-gap:26px;}
  .feature:not(:last-child)::after{display:none;}
  .feature:nth-child(2n)::before{content:"";position:absolute;top:8px;bottom:8px;right:0;width:1px;background:var(--sage-line);}
  .contact-grid{grid-template-columns:1fr;}
  .p-card{width:170px;}
  .clearance-body{padding:32px;}
  .clearance-visual{padding:32px;height:280px;}
}

/* ---- narrow Android widths (~360–420px) ---- */
@media(max-width:420px){
  :root{--pad-x:16px;}
  .header-inner{padding:14px var(--pad-x);}
  .brand-mark{font-size:1.35rem;}
  .header-actions{gap:0;}
  .icon-btn{width:36px;height:36px;}
  .icon-btn svg{width:17px;height:17px;}

  .hero{margin-top:20px;}
  .hero-inner{padding:36px 20px;border-radius:var(--radius-m);}
  .hero-title{letter-spacing:.5px;}

  .categories{margin-top:56px;}
  .cat-grid{
    grid-template-columns:repeat(2,1fr);
    gap:38px 20px;
  }
  .image-box{max-width:140px;height:150px;}

  .features{margin:44px auto 52px;}
  .feature{padding:6px 10px;}

  .deals{margin:52px auto;}
  .deals-box{padding:18px 14px;border-radius:20px;}
  .p-card{width:160px;}

  .contact-info{padding:40px var(--pad-x);margin:56px auto;}
  .contact-item{padding:16px;gap:12px;}

  .clearance{margin-bottom:56px;}
  .clearance-ribbon{top:20px;left:-60px;width:180px;font-size:.76rem;}
  .clearance-body{padding:28px 22px;}
  .clearance-visual{padding:26px;height:230px;}

  .cart-drawer{width:100%;max-width:100vw;}
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

/* keyboard focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--sage-deep);outline-offset:2px;
}

/* =========================================================
   MOBILE HEADER + COMPACT HERO OVERRIDES
   Android-first refinements
========================================================= */

/* Mahdis boutique stays on one line */
.hero-title{
  white-space:nowrap;
  font-size:clamp(2rem, 5vw, 4rem);
}

/* Slightly more compact hero on all screens */
.hero-inner{
  padding:52px 52px;
}
.hero-visual{
  flex-basis:260px;
  min-height:300px;
}
.hero-visual img{
  width:80%;
  height:88%;
  object-fit:contain;
  object-position:center bottom;
}
.hero-sub{
  margin:18px 0 22px;
}
.categories{
  margin-top:52px;
}

@media(max-width:980px){
  /* No hamburger menu on tablet/mobile */
  .menu-toggle{display:none !important;}

  /* Remove the left-side brand on mobile/tablet */
  .brand{display:none;}

  .header-inner{
    justify-content:center;
    gap:12px;
    padding:12px var(--pad-x);
  }

  /* Always-visible mobile navigation */
  .main-nav{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:22px;
    flex:1;
    white-space:nowrap;
  }
  .main-nav a{
    font-size:.86rem;
    font-weight:600;
  }
  /* On phones/tablets keep only Home, Discounts, Contact */
  .main-nav a:nth-child(2),
  .main-nav a:nth-child(4){display:none;}

  .header-actions{flex:none;}

  .hero{
    margin-top:18px;
  }
  .hero-inner{
    padding:34px 34px;
  }
  .hero-visual{
    flex-basis:190px;
    min-height:220px;
  }
  .hero-visual img{
    width:74%;
    height:84%;
  }
}

@media(max-width:640px){
  :root{--pad-x:14px;}

  .site-header{overflow:visible;}
  .header-inner{
    min-height:58px;
    padding:9px var(--pad-x);
    gap:6px;
  }
  .main-nav{
    gap:14px;
    min-width:0;
  }
  .main-nav a{
    font-size:.76rem;
    padding:8px 0;
  }
  .header-actions{gap:0;}
  .header-actions .icon-btn{
    width:32px;
    height:32px;
  }
  /* Keep mobile header from becoming too crowded */
  .header-actions .icon-btn[aria-label="حساب کاربری"]{display:none;}
  .header-actions .icon-btn svg{width:16px;height:16px;}

  .hero{
    margin-top:12px;
  }
  .hero-inner{
    min-height:0;
    padding:22px 18px 14px;
    gap:4px;
    flex-direction:row;
    text-align:right;
    border-radius:20px;
  }
  .hero-text{
    min-width:0;
    text-align:right;
    flex:1 1 58%;
  }
  .hero-title{
    white-space:nowrap;
    font-size:clamp(1.45rem, 7vw, 2rem);
    line-height:1.1;
    letter-spacing:0;
  }
  .hero-sub{
    margin:10px 0 12px;
    font-size:.78rem;
    line-height:1.65;
  }
  .hero-cta{
    justify-content:flex-start;
  }
  .hero-cta .btn{
    padding:9px 14px;
    font-size:.74rem;
  }
  .hero-visual{
    flex:0 0 38%;
    width:auto;
    min-height:150px;
    align-self:stretch;
  }
  .hero-visual img{
    width:88%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
  }
  .hero-blob-1{width:150px;height:150px;}
  .hero-blob-2{width:90px;height:90px;}

  .categories{
    margin-top:30px;
  }
  .section-title{
    font-size:1.18rem;
    margin-bottom:22px;
  }

  .cat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px 12px;
  }
  .category{min-width:0;}
  .image-box{
    width:100%;
    max-width:120px;
    height:138px;
    border-radius:60px 60px 0 0;
  }
  .category-title{gap:4px;}
  .category-title span{width:14px;}
  .category-title p{font-size:13px;}

  .contact-info{
    margin:48px var(--pad-x);
    padding:34px 14px;
    border-radius:20px;
  }
  .contact-grid{gap:12px;}
  .contact-item{
    min-width:0;
    padding:14px;
  }
  .contact-item > div{min-width:0;}
  .contact-item span{
    overflow-wrap:anywhere;
  }
}

@media(max-width:390px){
  .main-nav{gap:10px;}
  .main-nav a{font-size:.7rem;}
  .header-actions .icon-btn{width:30px;height:30px;}

  .hero-inner{padding:18px 14px 12px;}
  .hero-title{font-size:1.35rem;}
  .hero-sub{font-size:.72rem;}
  .hero-visual{flex-basis:36%;min-height:136px;}

  .cat-grid{gap:22px 9px;}
  .image-box{height:124px;}
}


/* =========================================================
   FINAL ANDROID / RESPONSIVE OVERRIDES
   - 6 product categories in one row
   - contact methods in one row
   - compact hero
   - no green hero circles/dots
========================================================= */

.hero-inner {
  padding: 42px 48px;
}

.hero-title {
  white-space: nowrap;
}

.hero-sub,
.hero-cta {
  display: none !important;
}

.hero-visual .hero-blob,
.hero-visual .hero-dot {
  display: none !important;
}

.hero-visual img {
  width: 76%;
  height: 82%;
  object-fit: contain;
  object-position: center bottom;
  -webkit-mask-image: none;
  mask-image: none;
  border-radius: 0;
}

/* Exactly six categories per row */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  direction: rtl;
}

.category {
  width: 100%;
  min-width: 0;
}

.image-box {
  width: 100%;
  max-width: none;
  height: clamp(150px, 18vw, 215px);
}

/* Exactly one row for contact methods */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.contact-item {
  min-width: 0;
  padding: 16px 10px;
  gap: 9px;
}

.contact-item > div {
  min-width: 0;
}

.contact-item b,
.contact-item span {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 980px) {
  .hero {
    margin-top: 12px;
  }

  .hero-inner {
    padding: 26px 24px;
    min-height: 0;
  }

  .hero-visual {
    flex-basis: 210px;
    min-height: 220px;
  }

  .hero-visual img {
    width: 82%;
    height: 88%;
  }

  .cat-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
  }

  .category-title {
    gap: 3px;
  }

  .category-title span {
    width: 10px;
  }

  .category-title p {
    font-size: 10px;
    white-space: nowrap;
  }

  .contact-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
  }

  .contact-item {
    flex-direction: column;
    text-align: center;
    justify-content: center;
    padding: 12px 5px;
  }

  .contact-item .contact-icon {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 650px) {
  :root {
    --pad-x: 10px;
  }

  .header-inner {
    min-height: 54px;
    padding: 7px var(--pad-x);
  }

  .main-nav {
    gap: 9px;
  }

  .main-nav a {
    font-size: .69rem;
    padding: 7px 0;
  }

  .nav-account span {
    display: none;
  }

  .header-actions .icon-btn {
    width: 30px;
    height: 30px;
  }

  .hero {
    margin-top: 8px;
  }

  .hero-inner {
    padding: 15px 12px 10px;
    gap: 4px;
    flex-direction: row;
    border-radius: 16px;
  }

  .hero-text {
    flex: 1 1 62%;
    min-width: 0;
    text-align: right;
  }

  .hero-title {
    font-size: clamp(1.05rem, 5.8vw, 1.65rem);
    line-height: 1.15;
    letter-spacing: 0;
  }

  .hero-visual {
    flex: 0 0 36%;
    width: auto;
    min-height: 108px;
  }

  .hero-visual img {
    width: 92%;
    height: 100%;
  }

  .categories {
    margin-top: 18px;
  }

  .section-title {
    font-size: 1rem;
    margin-bottom: 14px;
  }

  .cat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 6px;
  }

  .image-box {
    height: clamp(78px, 22vw, 115px);
    border-radius: 45px 45px 0 0;
  }

  .category-title {
    gap: 1px;
    margin-top: 5px;
  }

  .category-title span {
    display: none;
  }

  .category-title p {
    font-size: clamp(10px, 3vw, 13px);
    white-space: nowrap;
    margin: 0;
  }

  .contact-info {
    margin: 36px var(--pad-x);
    padding: 26px 7px;
    border-radius: 16px;
  }

  .contact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .contact-item {
    padding: 8px 2px;
    gap: 5px;
    border-radius: 10px;
  }

  .contact-item .contact-icon {
    width: 38px;
    height: 38px;
  }

  .contact-item .contact-icon svg {
    width: 18px;
    height: 18px;
  }

  .contact-item b {
    font-size: .78rem;
    margin-bottom: 3px;
  }

  .contact-item span {
    font-size: .68rem;
    line-height: 1.35;
  }
}

@media (max-width: 390px) {
  .main-nav {
    gap: 6px;
  }

  .main-nav a {
    font-size: .62rem;
  }

  .hero-inner {
    padding: 12px 9px 8px;
  }

  .hero-title {
    font-size: 1rem;
  }

  .hero-visual {
    min-height: 94px;
  }

  .cat-grid {
    gap: 8px 4px;
  }

  .image-box {
    height: 88px;
  }

  .category-title p {
    font-size: 9px;
  }

  .contact-item b {
    font-size: .7rem;
  }

  .contact-item span {
    font-size: .6rem;
  }
}


/* =========================================================
   FINAL REQUESTED DESIGN OVERRIDES
   - Hero discount CTA is visible and styled
   - Mobile categories: 2 columns
   - Mobile contact methods: one item per line
   - Hero brand typography
   ========================================================= */

.hero-cta{
  display:flex !important;
  gap:14px;
  flex-wrap:wrap;
  animation:fadeInUp .8s var(--ease) .4s both;
}

.hero-title{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.22em;
  white-space:nowrap;
  line-height:.95;
  letter-spacing:-1.5px;
}

.hero-title .hero-brand-mahdis{
  display:inline-block;
  color:var(--sage-deeper);
  font-family:Georgia, "Times New Roman", serif;
  font-weight:800;
  font-style:italic;
  letter-spacing:-2px;
  text-shadow:0 5px 18px rgba(46,90,72,.10);
}

.hero-title .hero-brand-boutique{
  display:inline-block;
  color:var(--sage-deep);
  font-family:Georgia, "Times New Roman", serif;
  font-weight:500;
  font-style:italic;
  letter-spacing:-1px;
  position:relative;
}

.hero-title .hero-brand-boutique::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-8px;
  width:62%;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg, transparent, var(--sage), var(--sage-deep));
  opacity:.85;
}

.btn-deals{
  margin-top:22px;
  min-width:154px;
  padding:14px 28px;
  border:1px solid rgba(255,255,255,.45);
  background:linear-gradient(135deg, #4E8A72 0%, #2E5A48 55%, #3F7F63 100%);
  color:#fff;
  box-shadow:0 14px 30px -12px rgba(46,90,72,.48), inset 0 1px 0 rgba(255,255,255,.25);
}

.btn-deals::after{
  content:"✦";
  margin-right:9px;
  font-size:.8em;
  opacity:.9;
  transition:transform .35s var(--spring);
}

.btn-deals:hover{
  transform:translateY(-4px) scale(1.025);
  box-shadow:0 20px 36px -14px rgba(46,90,72,.55), 0 0 0 5px rgba(126,184,158,.13);
}

.btn-deals:hover::after{transform:rotate(90deg) scale(1.15);}

@media (max-width:640px){
  .hero-title{
    display:block;
    white-space:normal;
    font-size:clamp(1.5rem, 8.4vw, 2.25rem);
    line-height:1;
    letter-spacing:-1px;
  }

  .hero-title .hero-brand-mahdis,
  .hero-title .hero-brand-boutique{letter-spacing:-1px;}

  .hero-title .hero-brand-boutique::after{
    bottom:-5px;
    height:2px;
    width:58%;
  }

  .hero-cta{
    display:flex !important;
    justify-content:flex-start;
    width:100%;
    margin-top:12px;
  }

  .hero-cta .btn-deals{
    margin-top:0;
    min-width:0;
    width:auto;
    padding:10px 17px;
    font-size:.78rem;
  }

  .cat-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px 10px;
    width:100%;
  }

  .category{width:100%;min-width:0;}

  .image-box{
    width:100%;
    max-width:none;
    height:auto;
    aspect-ratio:3 / 4;
    min-height:0;
    border-radius:40px 40px 0 0;
  }

  .image-box img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .category-title{margin-top:7px;}
  .category-title p{font-size:clamp(13px, 3.6vw, 15px);}

  .contact-grid{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .contact-item{
    width:100%;
    min-height:64px;
    flex-direction:row;
    justify-content:flex-start;
    text-align:right;
    padding:12px 14px;
    gap:12px;
  }

  .contact-item .contact-icon{
    flex:0 0 40px;
    width:40px;
    height:40px;
  }

  .contact-item > div{flex:1;min-width:0;}
  .contact-item b{font-size:.82rem;}
  .contact-item span{font-size:.72rem;}
}

@media (max-width:390px){
  .hero-title{font-size:1.45rem;}
  .hero-cta .btn-deals{padding:9px 15px;font-size:.74rem;}
  .cat-grid{gap:18px 10px;}
  .image-box{aspect-ratio:3 / 4;border-radius:48px 48px 0 0;}
  .contact-item{min-height:60px;padding:10px 12px;}
}

/* =========================================================
   MAHDIS BOUTIQUE — EXTENDED PAGES
   Mobile nav drawer, products, product detail, about,
   contact, auth, account, checkout
========================================================= */

/* ---- Header: hamburger + account link ---- */
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;align-items:center;}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--sage-deeper);border-radius:2px;transition:transform .3s var(--ease), opacity .3s;}
.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.active span:nth-child(2){opacity:0;}
.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-overlay{position:fixed;inset:0;background:rgba(46,90,72,.35);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .35s;z-index:198;}
.nav-overlay.open{opacity:1;pointer-events:auto;}
.nav-drawer{
  position:fixed;top:0;right:0;height:100%;width:300px;max-width:86vw;
  background:var(--white);z-index:199;
  box-shadow:-20px 0 50px -20px rgba(46,90,72,.35);
  transform:translateX(100%);transition:transform .4s var(--ease);
  display:flex;flex-direction:column;padding:26px 22px;gap:6px;
}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer .brand-mark{font-size:1.4rem;margin-bottom:18px;display:block;
  background:linear-gradient(100deg, var(--sage-deeper) 30%, var(--sage-deep) 50%, var(--sage-deeper) 70%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;}
.nav-drawer a{padding:13px 6px;font-size:1.02rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--sage-line);transition:color .2s,padding-right .2s;}
.nav-drawer a:hover{color:var(--sage-deep);padding-right:12px;}

/* ---- Active nav link (multi-page) ---- */
.main-nav a.active, .nav-drawer a.active{color:var(--sage-deep);}
.main-nav a.active::after{width:100%;}

/* ---- Page hero banner (used on products/about/contact/etc) ---- */
.page-hero{
  max-width:var(--maxw);margin:32px auto 0;padding:0 var(--pad-x);
}
.page-hero-inner{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg, var(--sage-light) 0%, var(--white) 70%);
  border:1px solid var(--sage-line);border-radius:var(--radius-l);
  padding:52px 40px;text-align:center;box-shadow:var(--shadow-md);
}
.page-hero-inner::before{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle, var(--sage-glow), transparent 70%);
  top:-140px;left:-100px;pointer-events:none;
}
.page-hero h1{margin:0 0 10px;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;color:var(--text);animation:fadeInUp .7s var(--ease) both;}
.page-hero p{margin:0;color:var(--text-soft);font-size:1rem;animation:fadeInUp .7s var(--ease) .1s both;}
.breadcrumb{display:flex;justify-content:center;gap:8px;margin-top:14px;font-size:.82rem;color:var(--sage-deep);animation:fadeInUp .7s var(--ease) .15s both;}
.breadcrumb a{color:var(--sage-deep);}
.breadcrumb span{color:var(--text-soft);}

/* ---- reveal-on-scroll ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-1{transition-delay:.05s;} .reveal-2{transition-delay:.15s;} .reveal-3{transition-delay:.25s;} .reveal-4{transition-delay:.35s;}

/* =================== PRODUCTS PAGE =================== */
.products-page{max-width:var(--maxw);margin:44px auto 90px;padding:0 var(--pad-x);}
.products-main{flex:1;min-width:0;}
.products-main-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.products-main-head b{color:var(--sage-deeper);}
.sort-select{
  padding:10px 16px;border-radius:999px;border:1px solid var(--sage-line);
  background:var(--white);font-family:inherit;font-size:.85rem;color:var(--text);
}
.products-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px;
}
.products-grid .p-card{width:100%;position:relative;}
.products-empty{display:none;text-align:center;padding:60px 20px;color:var(--text-soft);}

.pagination{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:36px;flex-wrap:wrap;
}
.page-btn{
  min-width:38px;height:38px;padding:0 10px;border-radius:12px;
  border:1px solid var(--sage-line);background:var(--white);
  color:var(--text);font-family:inherit;font-weight:600;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.page-btn:hover:not(.disabled):not(.active){background:var(--sage-light);border-color:var(--sage-deep);}
.page-btn.active{
  background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));
  border-color:transparent;color:#fff;
}
.page-btn.disabled{opacity:.4;cursor:default;pointer-events:none;}
.page-dots{color:var(--text-soft);padding:0 4px;user-select:none;}

@media(max-width:640px){
  .products-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .p-info{padding:10px 10px 12px;}
  .p-name{font-size:.8rem;}
  .p-price{font-size:.82rem;}
  .p-price-old{font-size:.68rem;}
}

/* =================== PRODUCT DETAIL PAGE =================== */
.pd-wrap{max-width:var(--maxw);margin:40px auto 90px;padding:0 var(--pad-x);display:flex;gap:48px;align-items:flex-start;}
.pd-gallery{flex:0 0 420px;}
.pd-main-image{
  position:relative;aspect-ratio:3/4;border-radius:var(--radius-m);overflow:hidden;
  background:linear-gradient(160deg, var(--sage-light), #DCEFE6);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);
}
.pd-main-image .p-image{width:100%;height:100%;object-fit:cover;}
.pd-main-image .p-fallback-icon svg{width:56%;height:56%;stroke:var(--sage-deeper);stroke-width:1;opacity:.85;}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.pd-thumb-btn{width:64px;height:80px;border-radius:10px;overflow:hidden;border:2px solid transparent;box-shadow:0 0 0 1px var(--sage-line);flex-shrink:0;transition:box-shadow .2s,border-color .2s;}
.pd-thumb-btn img{width:100%;height:100%;object-fit:cover;display:block;}
.pd-thumb-btn:hover{box-shadow:0 0 0 1px var(--sage-deep);}
.pd-thumb-btn.active{border-color:var(--sage-deep);box-shadow:0 0 0 1px var(--sage-deep);}
.pd-info{flex:1;min-width:0;}
.pd-cat{margin:0 0 6px;color:var(--sage-deep);font-weight:600;font-size:.85rem;}
.pd-name{margin:0 0 14px;font-size:1.7rem;font-weight:800;color:var(--text);}
.pd-price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.pd-price{font-size:1.4rem;font-weight:800;color:var(--sage-deeper);}
.pd-price-old{font-size:.95rem;color:var(--text-soft);text-decoration:line-through;}
.pd-badge{background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));color:#fff;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;}
.pd-desc{color:var(--text-soft);line-height:1.9;margin:0 0 24px;font-size:.95rem;}
.pd-block{margin-bottom:22px;}
.pd-block > b{display:block;margin-bottom:10px;font-size:.9rem;color:var(--sage-deeper);}
.pd-swatches{display:flex;gap:10px;align-items:center;}
.pd-swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 1.5px var(--sage-line);transition:transform .25s var(--spring), box-shadow .25s;}
.pd-swatch:hover{transform:scale(1.1);}
.pd-swatch.active{box-shadow:0 0 0 2px var(--sage-deep);}
.pd-color-name{display:inline-block;margin-top:8px;font-size:.8rem;color:var(--text-soft);}
.pd-sizes{display:flex;flex-wrap:wrap;gap:9px;}
.pd-size-btn{min-width:44px;padding:9px 12px;border-radius:8px;border:1px solid var(--sage-line);background:var(--sage-light);font-size:.85rem;color:var(--text);transition:background .2s,color .2s,transform .2s var(--spring);}
.pd-size-btn:hover{transform:translateY(-2px);}
.pd-size-btn.active{background:var(--sage-deep);color:#fff;border-color:var(--sage-deep);}
.pd-qty{display:inline-flex;align-items:center;gap:16px;background:var(--sage-light);border-radius:999px;padding:8px 20px;}
.pd-qty button{font-size:1.1rem;color:var(--sage-deeper);width:24px;}
.pd-add-btn{width:100%;padding:16px;font-size:1rem;}
.pd-add-btn.added{background:linear-gradient(135deg,#3FAE5C,#2B8A46);}
.pd-warn{color:#c65a4a;font-size:.82rem;margin:10px 0 0;min-height:1.2em;}
.pd-notfound{max-width:var(--maxw);margin:80px auto;text-align:center;padding:0 var(--pad-x);}

.pd-chart-block{margin-top:32px;padding-top:26px;border-top:1px solid var(--sage-line);}
.pd-chart-wrap{overflow-x:auto;border-radius:12px;box-shadow:var(--shadow-sm);}
.pd-chart{width:100%;border-collapse:collapse;background:var(--white);font-size:.85rem;}
.pd-chart th, .pd-chart td{padding:12px 10px;text-align:center;border-bottom:1px solid var(--sage-line);}
.pd-chart th{background:var(--sage-light);color:var(--sage-deeper);font-weight:700;}
.pd-chart tr:last-child td{border-bottom:none;}
.pd-chart tr:hover td{background:var(--sage-light);}
.pd-chart-note{margin:12px 2px 0;font-size:.75rem;color:var(--text-soft);}

.related-section{max-width:var(--maxw);margin:70px auto;padding:0 var(--pad-x);}

@media(max-width:860px){
  .pd-wrap{flex-direction:column;gap:26px;}
  .pd-gallery{flex-basis:auto;width:100%;}
  .pd-main-image{max-width:420px;margin:0 auto;}
  .pd-thumbs{max-width:420px;margin:12px auto 0;justify-content:center;}
}

/* =================== ABOUT PAGE =================== */
.about-story{max-width:var(--maxw);margin:70px auto;padding:0 var(--pad-x);display:flex;align-items:center;gap:50px;}
.about-story-text{flex:1;min-width:280px;}
.about-story-text h2{font-size:1.7rem;margin:0 0 18px;color:var(--text);}
.about-story-text p{color:var(--text-soft);line-height:2;margin:0 0 14px;font-size:.98rem;}
.about-story-visual{flex:0 0 340px;height:400px;border-radius:var(--radius-l);
  background:linear-gradient(160deg, var(--sage-light), var(--sage));
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow-md);}
.about-story-visual svg{width:46%;height:46%;stroke:var(--sage-deeper);stroke-width:.9;opacity:.85;animation:floatY 5s ease-in-out infinite;}
.about-story-visual::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.25);top:-60px;right:-60px;}

.about-stats{max-width:var(--maxw);margin:70px auto;padding:0 var(--pad-x);
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.about-stat{
  background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-m);
  padding:30px 20px;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .35s var(--spring), box-shadow .35s;
}
.about-stat:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.about-stat b{display:block;font-size:2rem;font-weight:800;color:var(--sage-deeper);margin-bottom:6px;}
.about-stat span{font-size:.85rem;color:var(--text-soft);}

.about-values{max-width:var(--maxw);margin:70px auto;padding:0 var(--pad-x);}
.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px;}
.value-card{
  background:linear-gradient(160deg, var(--white), var(--sage-light));
  border:1px solid var(--sage-line);border-radius:var(--radius-m);padding:32px 26px;
  text-align:center;box-shadow:var(--shadow-sm);transition:transform .35s var(--spring), box-shadow .35s;
}
.value-card:hover{transform:translateY(-8px) rotate(-.5deg);box-shadow:var(--shadow-md), var(--shadow-glow);}
.value-icon{width:58px;height:58px;border-radius:50%;background:var(--sage-deep);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.value-icon svg{width:26px;height:26px;}
.value-card h3{margin:0 0 10px;font-size:1.02rem;color:var(--text);}
.value-card p{margin:0;color:var(--text-soft);font-size:.85rem;line-height:1.8;}

.about-cta{max-width:var(--maxw);margin:70px auto 90px;padding:0 var(--pad-x);}
.about-cta-inner{
  background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));
  border-radius:var(--radius-l);padding:56px 40px;text-align:center;color:#fff;
  box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.about-cta-inner::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08);top:-100px;left:-80px;}
.about-cta-inner h2{margin:0 0 14px;font-size:1.5rem;}
.about-cta-inner p{margin:0 0 26px;opacity:.9;}
.about-cta-inner .btn{background:#fff;color:var(--sage-deeper);}
.about-cta-inner .btn:hover{transform:translateY(-3px) scale(1.02);}

@media(max-width:780px){
  .about-story{flex-direction:column;text-align:center;}
  .about-story-visual{width:100%;max-width:340px;}
  .about-stats{grid-template-columns:repeat(2,1fr);}
  .about-values-grid{grid-template-columns:1fr;}
}

/* =================== FAQ & SHIPPING ACCORDIONS =================== */
.faq-section, .shipping-section{max-width:var(--maxw);margin:70px auto;padding:0 var(--pad-x);}
.faq-list, .shipping-list{max-width:760px;margin:34px auto 0;display:flex;flex-direction:column;gap:12px;}

.faq-item, .shipping-item{
  background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-m);
  overflow:hidden;transition:border-color .25s, box-shadow .25s;
}
.faq-item:hover, .shipping-item:hover{border-color:var(--sage-deep);}
.faq-item[open], .shipping-item[open]{box-shadow:var(--shadow-sm);}

.faq-item summary, .shipping-item summary{
  list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;font-size:.92rem;color:var(--text);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  transition:color .2s, background .2s;
}
.faq-item summary::-webkit-details-marker, .shipping-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after, .shipping-item summary::after{
  content:"";flex:0 0 auto;width:11px;height:11px;
  border-left:2px solid var(--sage-deep);border-bottom:2px solid var(--sage-deep);
  transform:rotate(45deg);transition:transform .3s var(--ease);margin-top:-4px;
}
.faq-item[open] summary::after, .shipping-item[open] summary::after{transform:rotate(-135deg);margin-top:4px;}
.faq-item summary:hover, .shipping-item summary:hover{color:var(--sage-deep);background:var(--sage-light);}

.faq-answer, .shipping-answer{
  padding:0 22px 20px;color:var(--text-soft);font-size:.86rem;line-height:1.9;
  animation:fadeIn .3s var(--ease);
}

.shipping-item summary span:first-child{flex:1;}
.shipping-price{
  flex:0 0 auto;font-weight:700;color:var(--sage-deeper);font-size:.86rem;
  background:var(--sage-light);padding:5px 12px;border-radius:999px;white-space:nowrap;
}

@media(max-width:640px){
  .faq-item summary, .shipping-item summary{padding:15px 16px;font-size:.85rem;}
  .faq-answer, .shipping-answer{padding:0 16px 16px;font-size:.82rem;}
  .shipping-item summary{flex-wrap:wrap;}
  .shipping-price{font-size:.78rem;padding:4px 10px;}
}

/* =================== CONTACT PAGE =================== */
.contact-page-wrap{max-width:var(--maxw);margin:60px auto 90px;padding:0 var(--pad-x);display:flex;gap:40px;align-items:flex-start;}
.contact-map-col{flex:1.3;min-width:300px;}
.contact-map-frame{
  border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--sage-line);
  height:420px;position:relative;
}
.contact-map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.15) saturate(1.15);}
.contact-address-card{
  margin-top:22px;background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-m);
  padding:22px 24px;display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow-sm);
}
.contact-address-card .contact-icon{flex:none;width:48px;height:48px;border-radius:50%;background:var(--sage-light);color:var(--sage-deep);display:flex;align-items:center;justify-content:center;}
.contact-address-card b{display:block;margin-bottom:6px;color:var(--text);}
.contact-address-card p{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.8;}

.contact-form-col{flex:1;min-width:280px;}
.contact-form-card{
  background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-l);
  padding:34px 28px;box-shadow:var(--shadow-md);
}
.contact-form-card h3{margin:0 0 6px;font-size:1.2rem;color:var(--text);}
.contact-form-card > p{margin:0 0 22px;color:var(--text-soft);font-size:.85rem;}
.form-field{margin-bottom:16px;}
.form-field label{display:block;margin-bottom:7px;font-size:.82rem;color:var(--sage-deeper);font-weight:600;}
.form-field input, .form-field textarea, .form-field select{
  width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--sage-line);
  background:var(--sage-light);font-family:inherit;font-size:.88rem;color:var(--text);
  transition:border-color .25s, box-shadow .25s, background .25s;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{
  outline:none;border-color:var(--sage-deep);background:var(--white);box-shadow:0 0 0 4px var(--sage-glow);
}
.form-field textarea{resize:vertical;min-height:110px;}
.contact-form-card .btn{width:100%;margin-top:6px;}
.form-success{
  display:none;text-align:center;padding:20px;color:var(--sage-deeper);font-weight:700;
  animation:popIn .5s var(--spring);
}
.form-success.show{display:block;}

.contact-features-row{max-width:var(--maxw);margin:0 auto 80px;padding:0 var(--pad-x);
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cf-card{
  background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-m);
  padding:26px 20px;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .35s var(--spring), box-shadow .35s;
}
.cf-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md),var(--shadow-glow);}
.cf-card .value-icon{margin-bottom:14px;}
.cf-card h4{margin:0 0 6px;font-size:.9rem;color:var(--text);}
.cf-card p{margin:0;font-size:.78rem;color:var(--text-soft);}

@media(max-width:900px){
  .contact-page-wrap{flex-direction:column;}
  .contact-features-row{grid-template-columns:repeat(2,1fr);}
}

/* =================== AUTH PAGES (login/register) =================== */
.auth-wrap{
  max-width:460px;margin:60px auto 90px;padding:0 var(--pad-x);
}
.auth-card{
  position:relative;overflow:hidden;
  background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-l);
  padding:40px 34px;box-shadow:var(--shadow-md);
  animation:fadeInUp .6s var(--ease) both;
}
.auth-card::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, var(--sage-glow), transparent 70%);top:-90px;left:-70px;pointer-events:none;}
.auth-brand{text-align:center;margin-bottom:24px;}
.auth-brand .brand-mark{font-size:1.7rem;
  background:linear-gradient(100deg, var(--sage-deeper) 30%, var(--sage-deep) 50%, var(--sage-deeper) 70%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;}
.auth-error{color:#c65a4a;font-size:.82rem;min-height:1.2em;text-align:center;}
.auth-form .btn{width:100%;margin-top:6px;}
.auth-switch{text-align:center;margin-top:18px;font-size:.82rem;color:var(--text-soft);}

/* ---- Phone + OTP step flow (replaces old login/register tabs) ---- */
.auth-step{display:none;flex-direction:column;animation:fadeIn .4s;}
.auth-step.active{display:flex;}
.auth-step-title{margin:0 0 6px;font-size:1.05rem;color:var(--text);text-align:center;}
.auth-step-sub{margin:0 0 20px;font-size:.84rem;color:var(--text-soft);text-align:center;line-height:1.8;}
.auth-step form{display:flex;flex-direction:column;gap:16px;}
.otp-demo-note{
  text-align:center;font-size:.78rem;font-weight:700;color:var(--sage-deep);
  background:var(--sage-light);border:1px dashed var(--sage-line);border-radius:12px;
  padding:8px 12px;margin:-8px 0 18px;
}
.otp-inputs{display:flex;justify-content:center;gap:12px;margin-bottom:4px;}
.otp-box{
  width:52px;height:58px;text-align:center;font-size:1.4rem;font-weight:800;
  border:1.5px solid var(--sage-line);border-radius:12px;background:var(--sage-light);color:var(--text);
  transition:border-color .25s,background .25s;
}
.otp-box:focus{border-color:var(--sage-deep);background:var(--white);}
.auth-step-links{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:.8rem;}
.auth-link{color:var(--sage-deep);font-weight:700;}
.auth-link:disabled{color:var(--text-soft);cursor:default;opacity:.7;}
#resendTimer{color:var(--text-soft);font-weight:600;}

@media(max-width:420px){
  .auth-card{padding:30px 20px;}
  .otp-box{width:46px;height:52px;font-size:1.2rem;}
  .otp-inputs{gap:8px;}
}

/* =================== ACCOUNT / DASHBOARD PAGE =================== */
.account-wrap{max-width:var(--maxw);margin:44px auto 90px;padding:0 var(--pad-x);display:flex;gap:34px;align-items:flex-start;}
.acc-sidebar{
  flex:0 0 260px;background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-m);
  padding:28px 22px;box-shadow:var(--shadow-sm);position:sticky;top:100px;
}
.acc-user-mini{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--sage-line);}
.acc-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg, var(--sage-deep), var(--sage-deeper));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex:none;}
.acc-user-mini b{display:block;color:var(--text);font-size:.95rem;}
.acc-user-mini span{font-size:.78rem;color:var(--text-soft);}
.acc-tab{display:flex;align-items:center;gap:10px;padding:12px 12px;border-radius:12px;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;transition:background .25s,color .25s;margin-bottom:4px;}
.acc-tab svg{width:18px;height:18px;}
.acc-tab:hover{background:var(--sage-light);}
.acc-tab.active{background:var(--sage-deep);color:#fff;}
.acc-tab.logout{color:#c65a4a;margin-top:14px;border-top:1px solid var(--sage-line);padding-top:16px;border-radius:0;}
.acc-tab.logout:hover{background:rgba(198,90,74,.08);}

.acc-content{flex:1;min-width:0;}
.acc-panel{display:none;animation:fadeInUp .4s var(--ease) both;}
.acc-panel.active{display:block;}
.acc-card{background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-m);padding:30px 28px;box-shadow:var(--shadow-sm);margin-bottom:22px;}
.acc-card h2{margin:0 0 22px;font-size:1.15rem;color:var(--text);}
.acc-empty{color:var(--text-soft);text-align:center;padding:30px 0;font-size:.9rem;}
.profile-msg{max-height:0;overflow:hidden;transition:max-height .3s;color:var(--sage-deep);font-size:.85rem;font-weight:600;}
.profile-msg.show{max-height:40px;margin-top:12px;}

.addr-card{background:var(--sage-light);border-radius:12px;padding:16px 18px;margin-bottom:12px;position:relative;}
.addr-card b{display:block;margin-bottom:4px;color:var(--sage-deeper);font-size:.88rem;}
.addr-card p{margin:0;color:var(--text-soft);font-size:.82rem;line-height:1.7;padding-left:60px;}
.addr-del{position:absolute;top:14px;left:16px;font-size:.76rem;color:#c65a4a;}
.addr-form{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.addr-form .form-field{flex:1;min-width:160px;margin-bottom:0;}
.addr-form .btn{flex:none;align-self:flex-end;}

.order-card{background:var(--sage-light);border-radius:14px;padding:18px 20px;margin-bottom:14px;}
.order-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.order-date{font-size:.8rem;color:var(--text-soft);}
.order-status{font-size:.74rem;font-weight:700;padding:4px 12px;border-radius:999px;}
.order-status.pending{background:#f1e4b8;color:#8a6d1e;}
.order-status.ok{background:#c9ead9;color:#1f7a4c;}
.order-status.bad{background:#f3cfcb;color:#a13c30;}
.order-items{border-top:1px dashed var(--sage-line);border-bottom:1px dashed var(--sage-line);padding:10px 0;margin-bottom:10px;}
.order-item-row{display:flex;justify-content:space-between;font-size:.83rem;color:var(--text);padding:4px 0;}
.order-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;}
.order-receipt-link{color:var(--sage-deep);font-weight:600;text-decoration:underline;}

@media(max-width:860px){
  .account-wrap{flex-direction:column;gap:18px;}
  .acc-sidebar{position:static;width:100%;flex-basis:auto;display:flex;overflow-x:auto;gap:6px;padding:14px;-webkit-overflow-scrolling:touch;}
  .acc-user-mini{display:none;}
  .acc-tab{white-space:nowrap;margin-bottom:0;}
  .acc-tab.logout{border-top:none;padding-top:12px;margin-top:0;}
}

/* ---- Android / narrow-phone tuning for the account panel ---- */
@media(max-width:640px){
  .account-wrap{margin:24px auto 60px;gap:14px;}
  .acc-sidebar{
    display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
    overflow-x:visible;padding:12px;
  }
  .acc-tab{
    flex-direction:column;justify-content:center;text-align:center;gap:6px;
    padding:14px 8px;font-size:.76rem;white-space:normal;border:1px solid transparent;
  }
  .acc-tab svg{width:20px;height:20px;}
  .acc-tab.logout{grid-column:1 / -1;flex-direction:row;}
  .acc-card{padding:20px 16px;border-radius:16px;}
  .acc-card h2{font-size:1rem;margin-bottom:16px;}
  .acc-card .btn,.profileForm .btn{width:100%;}
  #profileForm .btn{width:100%;}
  .addr-form{flex-direction:column;gap:12px;}
  .addr-form .form-field{min-width:100%;}
  .addr-form .btn{width:100%;align-self:stretch;}
  .addr-card p{padding-left:0;margin-top:6px;}
  .addr-del{position:static;display:inline-block;margin-top:8px;}
  .order-card-head{flex-wrap:wrap;gap:8px;}
  .order-card-foot{flex-wrap:wrap;gap:6px;}
}

@media(max-width:420px){
  .acc-tab{font-size:.7rem;padding:12px 6px;}
  .acc-tab svg{width:18px;height:18px;}
  .acc-card{padding:18px 14px;}
}

/* =================== CHECKOUT / RECEIPT UPLOAD PAGE =================== */
.checkout-wrap{max-width:900px;margin:44px auto 90px;padding:0 var(--pad-x);display:flex;gap:34px;align-items:flex-start;}
.co-summary{flex:1;min-width:280px;}
.co-form-col{flex:1;min-width:280px;}
.co-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--sage-line);}
.co-item:last-child{border-bottom:none;}
.co-item-thumb{width:60px;height:74px;flex:none;border-radius:10px;aspect-ratio:auto;}
.co-item-info{flex:1;display:flex;flex-direction:column;gap:3px;}
.co-item-info b{font-size:.88rem;color:var(--text);}
.co-item-info span{font-size:.76rem;color:var(--text-soft);}
.co-item-price{font-size:.85rem;font-weight:700;color:var(--sage-deeper);}
.co-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-top:6px;font-weight:800;font-size:1.05rem;color:var(--text);}

.co-user-box{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;}
.co-user-box div{background:var(--sage-light);border-radius:12px;padding:12px 18px;flex:1;min-width:140px;}
.co-user-box span{display:block;font-size:.72rem;color:var(--text-soft);margin-bottom:4px;}
.co-user-box b{font-size:.92rem;color:var(--text);}

.receipt-drop{
  border:2px dashed var(--sage-line);border-radius:16px;padding:30px 20px;text-align:center;
  cursor:pointer;transition:border-color .3s,background .3s;background:var(--sage-light);
}
.receipt-drop:hover{border-color:var(--sage-deep);background:var(--white);}
.receipt-drop svg{width:36px;height:36px;color:var(--sage-deep);margin-bottom:10px;}
.receipt-drop p{margin:0;font-size:.85rem;color:var(--text-soft);}
.receipt-preview{margin-top:14px;display:none;text-align:center;}
.receipt-preview.has-image{display:block;animation:popIn .4s var(--spring);}
.receipt-preview img{max-width:100%;max-height:220px;border-radius:12px;box-shadow:var(--shadow-sm);}

.co-success{max-width:520px;margin:60px auto;text-align:center;padding:50px 30px;background:var(--white);border:1px solid var(--sage-line);border-radius:var(--radius-l);box-shadow:var(--shadow-md);}
.co-success-icon{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#3FAE5C,#2B8A46);color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:popIn .5s var(--spring);}
.co-success h2{margin:0 0 12px;color:var(--text);}
.co-success p{margin:0 0 24px;color:var(--text-soft);font-size:.9rem;line-height:1.9;}

@media(max-width:780px){
  .checkout-wrap{flex-direction:column;}
}

/* =================== RESPONSIVE: android hamburger everywhere =================== */
@media(max-width:980px){
  .menu-toggle{display:flex;}
}

/* p-card link/button wrapper fix (products link to detail page) */
.p-thumb-wrap{position:relative;}
.p-thumb-link{display:block;}
.p-name-link{display:block;color:inherit;}

/* ---- Password field with show/hide toggle ---- */
.pw-field{position:relative;}
.pw-field input{padding-left:44px;}
.pw-toggle{
  position:absolute;top:50%;left:6px;transform:translateY(-50%);
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-soft);transition:color .2s,background .2s;
}
.pw-toggle svg{width:18px;height:18px;}
.pw-toggle:hover{background:var(--sage-light);color:var(--sage-deep);}
.pw-toggle.shown{color:var(--sage-deep);}

/* =========================================================
   FINAL HERO PHOTO PLACEMENT
   - new branded hero photo (already contains title/logo art)
   - discount button centered directly below the photo
   ========================================================= */

.hero-visual{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  flex:1.35 !important;
  width:auto !important;
  min-height:0 !important;
  align-self:center !important;
}

.hero-visual img{
  position:static !important;
  width:100% !important;
  height:auto !important;
  max-width:560px !important;
  object-fit:contain !important;
  object-position:center !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  border-radius:var(--radius-m) !important;
  box-shadow:var(--shadow-md);
}

.hero-deals-btn{
  margin-top:0 !important;
}

@media(max-width:980px){
  .hero-inner{flex-direction:column !important;text-align:center;}
  .hero-text{text-align:center !important;}
  .hero-visual{width:100% !important;max-width:100% !important;}
  .hero-visual img{max-width:460px !important;}
}

@media(max-width:640px){
  .hero-inner{
    flex-direction:column !important;
    text-align:center !important;
    padding:24px 18px 26px !important;
  }
  .hero-text{
    flex:none !important;
    text-align:center !important;
  }
  .hero-visual{
    flex:none !important;
    width:100% !important;
    min-height:0 !important;
    gap:14px !important;
  }
  .hero-visual img{
    max-width:100% !important;
    width:100% !important;
  }
  .hero-deals-btn{
    padding:10px 22px !important;
    font-size:.82rem !important;
  }
}

/* =========================================================
   HERO — IMAGE ONLY, FULL WIDTH (no title text beside it)
   ========================================================= */

.hero-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
}

.hero-visual{
  flex:none !important;
  width:100% !important;
  max-width:100% !important;
}

.hero-visual img{
  max-width:100% !important;
  width:100% !important;
}

@media(max-width:980px){
  .hero-visual img{max-width:100% !important;}
}

@media(max-width:640px){
  .hero-inner{padding:20px 16px 24px !important;}
  .hero-visual img{max-width:100% !important;}
}

/* =========================================================
   MOBILE HEADER — FINAL
   Keep the main navigation links visible on phones instead of
   collapsing them behind a hamburger / off-canvas drawer.
   ========================================================= */
@media(max-width:980px){
  .menu-toggle{display:none !important;}
  .nav-drawer{display:none !important;}
  .nav-overlay{display:none !important;}

  .header-inner{flex-wrap:wrap !important;row-gap:10px !important;}
  .main-nav{
    display:flex !important;
    order:5 !important;
    width:100% !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-top:10px !important;
    border-top:1px solid var(--sage-line);
  }
  .main-nav::-webkit-scrollbar{display:none;height:0;}
  .main-nav a{
    display:inline-flex !important;
    align-items:center;justify-content:center;
    font-size:.78rem !important;
    white-space:nowrap;
    flex:1 1 auto;
    padding:6px 4px !important;
  }
}

@media(max-width:480px){
  .main-nav{gap:2px !important;justify-content:space-between !important;}
  .main-nav a{font-size:.68rem !important;padding:6px 2px !important;}
}