@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap");

*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#f6f9ff;font-family:"Vazirmatn",Tahoma,Arial,sans-serif;color:#182348}
.page{width:100%;min-height:100vh;display:flex;justify-content:center;background:radial-gradient(circle at 50% 0%,#fff 0%,#f4f8ff 45%,#eaf1ff 100%);padding:18px 12px}
.app{position:relative;width:100%;max-width:430px;min-height:100vh;overflow:hidden;padding:18px 16px 92px;border-radius:28px;background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%);box-shadow:0 18px 45px rgba(68,88,155,.13)}
.topbar{position:relative;height:92px;display:flex;align-items:center;justify-content:center;direction:ltr}
.logo{
display:block;
width:210px;
max-width:58%;
height:auto;
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
object-fit:contain;
background:transparent;
filter:none;
z-index:5;
}
.icon-btn{position:absolute;z-index:2;width:48px;height:48px;border:0;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 18px rgba(100,119,185,.16);font-size:21px;display:grid;place-items:center}
.bell{left:0}.cart{right:0}
.badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,#8b62ff,#b18cff);color:white;font-size:13px;font-weight:800;display:grid;place-items:center}
.search-box{height:52px;border-radius:21px;background:white;box-shadow:0 10px 25px rgba(98,123,186,.14),inset 0 0 0 1px rgba(200,211,238,.75);display:flex;align-items:center;padding:0 18px;gap:12px;margin-bottom:14px}
.search-box input{flex:1;border:0;outline:0;background:transparent;text-align:right;font-size:14px;color:#6d7896}
.search-icon{font-size:33px;line-height:0;color:#6c7898;transform:rotate(-15deg)}
.hero{position:relative;height:210px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 75% 22%,rgba(255,255,255,.82) 0 12%,transparent 13%),radial-gradient(circle at 50% 80%,rgba(135,104,255,.28),transparent 45%),linear-gradient(135deg,#dff4ff 0%,#c9eaff 58%,#d6c8ff 100%);box-shadow:0 18px 38px rgba(55,136,219,.18);margin-bottom:14px;direction:rtl}
.hero:before{content:"";position:absolute;inset:-60px -70px auto auto;width:220px;height:220px;border-radius:50%;border:24px solid rgba(255,255,255,.52)}
.hero-copy{position:absolute;right:22px;top:34px;z-index:2;text-align:right}
.pill{display:inline-flex;padding:8px 14px;border-radius:18px;background:rgba(255,255,255,.65);color:#8865e9;font-size:12px;font-weight:800}
.hero h1{margin:18px 0 8px;font-size:24px;line-height:1.8;font-weight:900;letter-spacing:-.6px}
.hero h1 b{color:#8f66f4}.hero p{font-size:12px;color:#65708d;margin:0 0 14px}
.cta{border:0;border-radius:20px;padding:11px 22px;background:linear-gradient(135deg,#48b8ff,#2196ee);color:white;font-weight:800;font-size:14px;box-shadow:0 10px 20px rgba(34,152,238,.35)}
.hero-img{position:absolute;left:0;bottom:4px;width:205px;height:175px;object-fit:cover;object-position:center;mix-blend-mode:multiply;filter:drop-shadow(0 18px 18px rgba(82,102,160,.24));border-radius:22px}
.snow{position:absolute;color:white;text-shadow:0 2px 6px #7ec6ff;font-size:26px;opacity:.95}.s1{left:84px;top:42px}.s2{left:34px;top:112px;font-size:20px}
.dots{position:absolute;bottom:15px;left:50%;display:flex;gap:8px}.dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.76)}.dots span:first-child{background:#36aaf6}
.categories{height:105px;padding:12px 10px;border-radius:25px;background:white;box-shadow:0 14px 32px rgba(92,111,176,.14);display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}
.categories article{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px}.cat-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:29px;background:linear-gradient(145deg,#f3eaff,#e8f7ff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 9px 16px rgba(99,119,185,.13)}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:8px 4px 10px}.section-head h2{font-size:17px;margin:0;font-weight:900}.section-head a{font-size:12px;color:#865ff3;text-decoration:none;font-weight:800}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;direction:rtl;margin-bottom:14px}.product-card{position:relative;min-height:205px;padding:12px 9px 9px;border-radius:18px;background:white;box-shadow:0 12px 27px rgba(90,108,173,.13),inset 0 0 0 1px rgba(215,223,242,.65);text-align:center}
.product-card img{width:100%;height:92px;object-fit:cover;border-radius:16px;filter:drop-shadow(0 10px 8px rgba(90,107,160,.16))}
.heart{position:absolute;top:11px;right:10px;border:0;background:transparent;color:#8f68f5;font-size:23px}.new{position:absolute;top:10px;left:10px;border-radius:12px;padding:3px 8px;background:#9d7dff;color:#fff;font-size:10px;font-weight:800}
.product-card h3{font-size:13px;margin:8px 0 4px;font-weight:900;white-space:nowrap}.product-card strong{display:block;color:#299fda;font-size:13px;margin-bottom:8px}
.add{width:100%;height:34px;border:0;border-radius:15px;background:#e3f3ff;color:#328ed2;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.add span{width:26px;height:26px;border-radius:50%;background:#33a9f5;color:#fff;display:grid;place-items:center;font-size:22px;line-height:1}
.club{height:142px;border-radius:25px;background:radial-gradient(circle at 15% 25%,rgba(255,255,255,.9),transparent 22%),linear-gradient(135deg,#f4dfff,#e9e0ff 45%,#dff4ff);overflow:hidden;display:flex;align-items:center;padding:16px;box-shadow:0 15px 32px rgba(147,119,230,.17);direction:ltr}
.club img{width:116px;height:110px;object-fit:cover;border-radius:19px;mix-blend-mode:multiply}.club div{text-align:right;direction:rtl;flex:1}.club span{display:inline-block;padding:6px 12px;border-radius:14px;background:rgba(255,255,255,.55);color:#8a62e8;font-size:11px;font-weight:900}.club h2{margin:8px 0 6px;font-size:18px}.club p{margin:0 0 10px;color:#6b7390;font-size:11px}.club button{border:0;border-radius:18px;padding:9px 24px;background:linear-gradient(135deg,#4dbdff,#1f99f0);color:white;font-weight:900}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;width:min(calc(100% - 32px),398px);height:74px;border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 -10px 30px rgba(89,108,174,.16),inset 0 0 0 1px rgba(219,226,244,.8);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;z-index:5}.bottom-nav a{position:relative;text-decoration:none;color:#63708d;font-size:11px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:5px}.bottom-nav span{font-size:24px;line-height:1}.bottom-nav .active{color:#2d9ff0}.bottom-nav .active span{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#69c9ff,#488eff);color:white;display:grid;place-items:center;box-shadow:0 8px 18px rgba(58,141,238,.32)}.bag i{position:absolute;top:-7px;right:27px;background:#8b62ff;color:white;width:18px;height:18px;border-radius:50%;font-size:10px;font-style:normal;display:grid;place-items:center}
@media (max-width:520px){.page{padding:0;background:#f7faff}.app{max-width:none;width:100%;min-height:100vh;border-radius:0;box-shadow:none}.topbar{height:86px}.logo{
display:block;
width:210px;
max-width:58%;
height:auto;
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
object-fit:contain;
background:transparent;
filter:none;
z-index:5;
}.products{gap:10px}.product-card{min-height:196px;padding:10px 7px 8px}.product-card h3{font-size:12px}.product-card strong{font-size:12px}}
@media (max-width:360px){.products{grid-template-columns:1fr 1fr}.categories{grid-template-columns:repeat(5,1fr);gap:2px}.cat-icon{width:46px;height:46px;font-size:25px}.categories article{font-size:10px}}
@media (min-width:760px){.app{max-width:460px}}


/* Categories page */
.page-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:6px 4px 14px;
}
.page-title h1{
  margin:0;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.5px;
}
.page-title p{
  margin:6px 0 0;
  color:#7a839d;
  font-size:13px;
  font-weight:600;
}
.back-home{
  text-decoration:none;
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#319dea;
  background:#fff;
  box-shadow:0 10px 22px rgba(88,111,181,.13);
  font-size:23px;
}
.category-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-bottom:18px;
}
.category-item{
  position:relative;
  min-height:76px;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 13px 30px rgba(89,108,174,.13), inset 0 0 0 1px rgba(218,226,245,.76);
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  text-decoration:none;
  color:#182348;
  overflow:hidden;
}
.category-item:before{
  content:"";
  position:absolute;
  left:-28px;
  top:-28px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(78,188,255,.14),rgba(157,125,255,.16));
}
.category-emoji{
  position:relative;
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  border-radius:20px;
  font-size:30px;
  background:linear-gradient(145deg,#f4ecff,#e4f6ff);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 10px 18px rgba(99,119,185,.13);
}
.category-info{
  flex:1;
}
.category-info h2{
  margin:0 0 5px;
  font-size:16px;
  font-weight:900;
}
.category-info span{
  color:#78839d;
  font-size:12px;
  font-weight:600;
}
.category-arrow{
  width:34px;
  height:34px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#e5f4ff;
  color:#2e9eea;
  font-weight:900;
  font-size:20px;
}
.categories-hero{
  height:auto;
  min-height:112px;
  padding:18px;
  margin-bottom:16px;
  border-radius:26px;
  background:
    radial-gradient(circle at 18% 35%, rgba(255,255,255,.95), transparent 18%),
    linear-gradient(135deg,#e1f5ff 0%,#f0e4ff 55%,#dff4ff 100%);
  box-shadow:0 15px 35px rgba(79,136,219,.13);
}
.categories-hero h2{
  margin:0 0 8px;
  font-size:19px;
  font-weight:900;
}
.categories-hero p{
  margin:0;
  font-size:13px;
  line-height:2;
  color:#65708d;
  font-weight:600;
}
.bottom-nav a.active-cat{
  color:#2d9ff0;
}
.bottom-nav a.active-cat span{
  width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#69c9ff,#488eff);
  color:white;display:grid;place-items:center;box-shadow:0 8px 18px rgba(58,141,238,.32);
}
@media (min-width:700px){
  .category-list{grid-template-columns:1fr 1fr}
  .category-item{min-height:86px}
}
@media (max-width:360px){
  .category-emoji{width:48px;height:48px;flex-basis:48px;font-size:26px}
  .category-info h2{font-size:14px}
}


.profile-card{position:relative;min-height:250px;border-radius:28px;padding:24px 18px 18px;margin-bottom:16px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.95),transparent 20%),linear-gradient(135deg,#dff4ff 0%,#d9ecff 55%,#e9e0ff 100%);box-shadow:0 16px 36px rgba(79,136,219,.14)}
.profile-main{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.profile-user{text-align:center;flex:1}.profile-user h1{margin:0 0 8px;font-size:24px;font-weight:900;color:#182348}.profile-user a{text-decoration:none;color:#7a58ee;font-size:20px;font-weight:800;direction:ltr;display:inline-block}
.avatar-wrap{position:relative;flex:0 0 118px}.avatar{width:112px;height:112px;border-radius:50%;background:linear-gradient(145deg,#efe7ff,#dff3ff);border:6px solid rgba(255,255,255,.82);display:grid;place-items:center;font-size:62px;color:#8b68f5;box-shadow:0 14px 28px rgba(95,115,185,.16)}
.edit-avatar{position:absolute;right:2px;bottom:8px;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:white;color:#566281;box-shadow:0 8px 18px rgba(89,108,174,.16);font-size:21px}
.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stat-box{min-height:88px;border-radius:23px;background:rgba(255,255,255,.76);display:flex;align-items:center;justify-content:space-between;padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.stat-box div{text-align:center;flex:1}.stat-box span{color:#6e7893;font-size:13px;font-weight:700}.stat-box strong{display:block;margin:9px 0 3px;font-size:22px;font-weight:900;color:#182348}
.stat-icon{width:60px;height:60px;border-radius:22px;display:grid;place-items:center;font-size:31px;background:linear-gradient(145deg,#efe6ff,#e0f4ff)}
.profile-menu{display:grid;gap:8px;margin-bottom:16px}.profile-menu a{min-height:58px;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 10px 24px rgba(89,108,174,.10),inset 0 0 0 1px rgba(220,227,244,.72);display:flex;align-items:center;gap:13px;padding:10px 14px;color:#182348;text-decoration:none;font-size:16px;font-weight:800}
.profile-menu .menu-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;font-size:22px;background:linear-gradient(145deg,#f0e8ff,#e5f5ff);flex:0 0 42px}.profile-menu .arrow{margin-right:auto;color:#9c72f3;font-size:28px;line-height:1}.profile-menu .logout{color:#e05757}.profile-menu .logout .menu-icon{background:#ffe9e9}.profile-club{margin-top:18px}
.bottom-nav a.active-profile{color:#8b62ff}.bottom-nav a.active-profile span{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#b58cff,#7a58ee);color:white;display:grid;place-items:center;box-shadow:0 8px 18px rgba(122,88,238,.28)}
@media (max-width:380px){.profile-main{gap:8px}.avatar-wrap{flex-basis:96px}.avatar{width:92px;height:92px;font-size:50px}.profile-user h1{font-size:21px}.profile-user a{font-size:17px}.stat-box{padding:12px}.stat-icon{width:50px;height:50px;font-size:26px}.profile-menu a{font-size:14px}}


/* Auth pages */
.auth-app{
  min-height:100vh;
  padding-bottom:32px;
  background:
    radial-gradient(circle at 10% 10%,rgba(177,140,255,.35) 0 14px,transparent 15px),
    radial-gradient(circle at 84% 14%,rgba(177,140,255,.25) 0 11px,transparent 12px),
    linear-gradient(180deg,#fbfdff 0%,#f7faff 100%);
}
.auth-header{
  position:relative;
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.auth-header:before{
  content:"";
  position:absolute;
  left:-12%;
  right:-12%;
  bottom:0;
  height:128px;
  background:linear-gradient(135deg,#dff2ff,#edf6ff);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  opacity:.75;
}
.auth-logo{
  position:relative;
  z-index:2;
  width:220px;
  max-width:66%;
  height:auto;
  object-fit:contain;
}
.auth-title{
  text-align:center;
  margin:16px 0 24px;
}
.auth-title h1{
  margin:0 0 12px;
  font-size:30px;
  font-weight:900;
  color:#182348;
}
.auth-title p{
  margin:0;
  font-size:15px;
  color:#6b748d;
  font-weight:600;
}
.phone-card{
  height:72px;
  border-radius:22px;
  background:white;
  box-shadow:0 14px 34px rgba(89,108,174,.14), inset 0 0 0 1px rgba(220,227,244,.75);
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 16px;
  margin-bottom:24px;
}
.phone-icon{
  width:50px;height:50px;border-radius:16px;
  display:grid;place-items:center;
  font-size:26px;
  background:linear-gradient(145deg,#f0e8ff,#e7f5ff);
  color:#8b62ff;
}
.phone-card input{
  flex:1;border:0;outline:0;background:transparent;
  height:100%;font-size:15px;text-align:right;
  font-family:inherit;color:#182348;
}
.country{
  direction:ltr;
  color:#53607d;
  font-size:17px;
  font-weight:800;
  padding-left:12px;
  border-left:1px solid #e2e6f1;
}
.primary-btn{
  width:100%;
  height:66px;
  border:0;
  border-radius:20px;
  background:linear-gradient(135deg,#69c9ff,#399ff4);
  color:white;
  font-family:inherit;
  font-size:20px;
  font-weight:900;
  box-shadow:0 15px 28px rgba(51,157,238,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  cursor:pointer;
}
.auth-note{
  margin:22px 0 28px;
  text-align:center;
  font-size:14px;
  color:#6b748d;
  line-height:2;
}
.auth-note a{color:#7a58ee;text-decoration:none;font-weight:900}
.auth-sep{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:8px 0 24px;
}
.auth-sep:before,.auth-sep:after{
  content:"";
  height:1px;
  width:110px;
  background:#e6eaf4;
}
.auth-sep span{font-size:27px}
.auth-help{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.auth-help a{
  height:134px;
  border-radius:20px;
  background:white;
  box-shadow:0 12px 28px rgba(89,108,174,.11), inset 0 0 0 1px rgba(220,227,244,.8);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#182348;
  font-weight:900;
  gap:8px;
}
.auth-help b{font-size:34px;color:#8b62ff}
.auth-help small{color:#8490a9;font-size:13px}
.auth-bottom-cup{
  width:210px;
  max-width:62%;
  height:auto;
  display:block;
  margin:24px auto 0;
  border-radius:26px;
  mix-blend-mode:multiply;
}
.back-btn{
  position:absolute;
  top:28px;
  right:18px;
  width:52px;height:52px;
  border-radius:18px;
  background:white;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:#53607d;
  font-size:30px;
  box-shadow:0 10px 24px rgba(89,108,174,.13);
  z-index:4;
}
.otp-hero{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:22px;
}
.otp-cup{
  width:220px;
  height:170px;
  object-fit:cover;
  border-radius:28px;
  mix-blend-mode:multiply;
  margin:8px auto 18px;
}
.otp-title{text-align:center;margin-bottom:22px}
.otp-title h1{font-size:28px;font-weight:900;margin:0 0 18px}
.otp-title p{margin:0 0 10px;color:#7b859d;font-weight:700}
.otp-phone{
  direction:ltr;
  color:#7a58ee;
  font-size:22px;
  font-weight:900;
}
.otp-inputs{
  direction:ltr;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-bottom:24px;
}
.otp-inputs input{
  width:100%;
  height:64px;
  border:1px solid #e3e8f4;
  border-radius:17px;
  background:white;
  box-shadow:0 8px 20px rgba(89,108,174,.08);
  text-align:center;
  font-size:28px;
  outline:none;
}
.otp-inputs input:focus{
  border-color:#8b62ff;
  box-shadow:0 0 0 3px rgba(139,98,255,.12);
}
.resend{
  text-align:center;
  margin-bottom:24px;
  color:#818ba3;
  font-size:16px;
  font-weight:700;
}
.resend b{color:#7a58ee;margin-left:14px}
.keypad{
  direction:ltr;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:24px;
}
.keypad button{
  height:70px;
  border:0;
  border-radius:18px;
  background:white;
  box-shadow:0 8px 18px rgba(89,108,174,.10), inset 0 0 0 1px rgba(220,227,244,.65);
  font-size:28px;
  color:#182348;
  font-family:inherit;
}
.keypad small{
  display:block;
  font-size:12px;
  letter-spacing:2px;
  margin-top:4px;
}
@media (max-width:380px){
  .auth-title h1,.otp-title h1{font-size:25px}
  .phone-card{height:64px}
  .primary-btn{height:58px;font-size:18px}
  .auth-help a{height:115px}
  .otp-inputs{gap:7px}
  .otp-inputs input{height:56px;font-size:24px}
  .keypad button{height:62px}
}

/* Auth mobile fixed layout overrides */
.auth-page{
  min-height:100vh;
  overflow:hidden;
}
.auth-page .page{
  min-height:100vh;
  height:100vh;
  padding:0;
  align-items:center;
}
.auth-page .app{
  height:100vh;
  min-height:0;
  max-height:844px;
  max-width:430px;
  border-radius:28px;
  overflow:hidden;
}
.auth-page .auth-app{
  padding:12px 18px 16px;
  display:flex;
  flex-direction:column;
}
.auth-page .auth-header{
  min-height:185px;
  height:185px;
  flex:0 0 185px;
}
.auth-page .auth-header:before{
  height:95px;
}
.auth-page .auth-logo{
  width:185px;
  max-width:60%;
}
.auth-page .auth-title{
  margin:8px 0 16px;
  flex:0 0 auto;
}
.auth-page .auth-title h1{
  font-size:26px;
  margin-bottom:8px;
}
.auth-page .auth-title p{
  font-size:13px;
}
.auth-page .phone-card{
  height:62px;
  margin-bottom:16px;
  flex:0 0 62px;
}
.auth-page .primary-btn{
  height:58px;
  flex:0 0 58px;
  font-size:18px;
}
.auth-page .auth-note{
  margin:14px 0 14px;
  font-size:12px;
  line-height:1.8;
}
.auth-page .auth-sep{
  margin:0 0 14px;
}
.auth-page .auth-sep:before,
.auth-page .auth-sep:after{
  width:82px;
}
.auth-page .auth-help{
  gap:12px;
}
.auth-page .auth-help a{
  height:96px;
  gap:4px;
}
.auth-page .auth-help b{
  font-size:28px;
}
.auth-page .auth-help small{
  font-size:11px;
}
.auth-page .auth-bottom-cup{
  width:150px;
  max-width:48%;
  margin:10px auto 0;
}
.auth-page .otp-auth{
  padding:12px 18px 16px;
}
.auth-page .otp-auth .topbar{
  height:82px;
  flex:0 0 82px;
}
.auth-page .otp-auth .logo{
  width:145px;
  max-width:52%;
}
.auth-page .otp-cup{
  width:170px;
  height:126px;
  margin:2px auto 10px;
}
.auth-page .otp-title{
  margin-bottom:14px;
}
.auth-page .otp-title h1{
  font-size:24px;
  margin-bottom:12px;
}
.auth-page .otp-title p{
  font-size:13px;
  margin-bottom:6px;
}
.auth-page .otp-phone{
  font-size:19px;
}
.auth-page .otp-inputs{
  gap:8px;
  margin-bottom:14px;
}
.auth-page .otp-inputs input{
  height:54px;
  border-radius:15px;
  font-size:24px;
}
.auth-page .resend{
  margin-bottom:14px;
  font-size:14px;
}
.auth-page .otp-auth .primary-btn{
  height:54px;
  flex:0 0 54px;
}
.auth-page .keypad{
  gap:9px;
  margin-top:14px;
}
.auth-page .keypad button{
  height:55px;
  border-radius:15px;
  font-size:24px;
}
.auth-page .keypad small{
  font-size:10px;
  margin-top:0;
}
@media (max-height:760px){
  .auth-page .auth-header{height:150px;min-height:150px;flex-basis:150px}
  .auth-page .auth-logo{width:155px}
  .auth-page .auth-title h1{font-size:23px}
  .auth-page .auth-help a{height:82px}
  .auth-page .auth-bottom-cup{display:none}
  .auth-page .otp-cup{width:145px;height:102px}
  .auth-page .otp-title h1{font-size:22px}
  .auth-page .keypad button{height:48px}
}
@media (max-width:420px){
  .auth-page .app{
    width:100vw;
    border-radius:0;
  }
}

/* OTP graphic replacement - no numeric keypad */
.auth-page .otp-auth{
  justify-content:flex-start;
  gap:0;
}
.auth-page .otp-auth .topbar{
  height:78px;
  flex:0 0 78px;
  margin-bottom:0;
}
.auth-page .otp-auth .logo{
  width:138px;
  max-width:50%;
}
.auth-page .otp-cup{
  width:154px;
  height:112px;
  object-fit:cover;
  border-radius:26px;
  margin:0 auto 6px;
}
.otp-title-clean{
  margin:0 0 10px !important;
}
.otp-title-clean h1{
  font-size:22px !important;
  margin:0 0 8px !important;
}
.otp-title-clean p{
  font-size:13px !important;
  margin:0 !important;
  color:#7a839d;
  font-weight:700;
}
.otp-brand-graphic{
  position:relative;
  height:132px;
  margin:2px 0 14px;
  border-radius:28px;
  background:
    radial-gradient(circle at 24% 25%,rgba(255,255,255,.94),transparent 18%),
    radial-gradient(circle at 82% 76%,rgba(255,255,255,.72),transparent 18%),
    linear-gradient(135deg,#eef8ff 0%,#f5efff 58%,#e9f6ff 100%);
  box-shadow:0 14px 32px rgba(88,111,181,.12), inset 0 0 0 1px rgba(255,255,255,.85);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.otp-brand-graphic:before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  left:-88px;
  bottom:-150px;
  background:rgba(95,185,255,.16);
}
.otp-brand-graphic:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-86px;
  top:-118px;
  background:rgba(157,125,255,.15);
}
.otp-envelope{
  position:relative;
  z-index:2;
  width:120px;
  height:82px;
  border-radius:22px;
  background:linear-gradient(145deg,#e6efff,#dcd1ff);
  display:grid;
  place-items:center;
  box-shadow:0 16px 30px rgba(99,119,185,.18);
  transform:rotate(-3deg);
}
.otp-envelope .mail{
  font-size:44px;
  transform:translateY(-3px);
}
.otp-envelope .stars{
  position:absolute;
  bottom:14px;
  color:#8b62ff;
  font-size:19px;
  letter-spacing:3px;
  font-weight:900;
}
.fruit-row{
  position:absolute;
  z-index:3;
  bottom:8px;
  font-size:24px;
  letter-spacing:5px;
}
.ice-dot{
  position:absolute;
  z-index:2;
  filter:drop-shadow(0 6px 10px rgba(94,118,185,.15));
}
.dot-a{left:28px;top:20px;font-size:24px}
.dot-b{right:34px;bottom:28px;font-size:25px}
.dot-c{left:48px;bottom:22px;font-size:25px}
.auth-page .otp-inputs{
  margin:0 0 12px !important;
}
.auth-page .otp-inputs input{
  height:50px !important;
  font-size:23px !important;
}
.auth-page .resend{
  margin-bottom:12px !important;
}
.auth-page .otp-auth .primary-btn{
  height:54px !important;
  flex:0 0 54px;
}
@media (max-height:760px){
  .auth-page .otp-auth .topbar{height:66px;flex-basis:66px}
  .auth-page .otp-cup{width:130px;height:92px}
  .otp-title-clean h1{font-size:20px !important}
  .otp-brand-graphic{height:106px;margin-bottom:10px}
  .otp-envelope{width:96px;height:64px;border-radius:18px}
  .otp-envelope .mail{font-size:34px}
  .otp-envelope .stars{font-size:15px;bottom:10px}
  .fruit-row{font-size:20px}
  .auth-page .otp-inputs input{height:44px !important}
}


/* Cart page */
.icon-btn{text-decoration:none;color:#182348}
.cart-title-bar{
  min-height:60px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(89,108,174,.11), inset 0 0 0 1px rgba(220,227,244,.76);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  margin-bottom:12px;
}
.cart-title-bar h1{
  margin:0;
  font-size:21px;
  font-weight:900;
}
.back-mini{
  width:44px;height:44px;border-radius:17px;background:#fff;
  display:grid;place-items:center;text-decoration:none;color:#6c7898;
  box-shadow:0 8px 18px rgba(89,108,174,.11);
  font-size:29px;
}
.free-shipping{
  height:46px;
  border-radius:18px;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(135deg,#eef8ff,#efe7ff);
  color:#6f56d9;
  font-size:13px;
  font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);
}
.free-shipping b{color:#328ed2}
.cart-list{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
.cart-item{
  min-height:116px;
  border-radius:21px;
  background:white;
  box-shadow:0 12px 27px rgba(90,108,173,.12), inset 0 0 0 1px rgba(215,223,242,.65);
  padding:12px;
  display:grid;
  grid-template-columns:86px 1fr 132px;
  gap:12px;
  align-items:center;
}
.cart-thumb{
  width:82px;height:82px;border-radius:18px;object-fit:cover;
  background:#f2f6ff;
  box-shadow:0 8px 18px rgba(89,108,174,.10);
}
.cart-info h2{
  margin:0 0 6px;
  font-size:15px;
  font-weight:900;
}
.cart-info p{
  margin:0 0 8px;
  font-size:12px;
  line-height:1.7;
  color:#6f7891;
  font-weight:600;
}
.cart-info strong{
  color:#7157e9;
  font-size:14px;
  font-weight:900;
}
.cart-actions{
  display:grid;
  gap:12px;
  justify-items:start;
}
.trash{
  border:0;background:transparent;color:#8b62ff;font-size:22px;cursor:pointer;
}
.qty{
  width:126px;height:42px;border-radius:15px;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr 1fr;
  background:#f7f4ff;
  box-shadow:inset 0 0 0 1px rgba(225,229,243,.85);
}
.qty button,.qty span{
  border:0;background:transparent;display:grid;place-items:center;
  font-size:18px;font-weight:900;color:#7a58ee;font-family:inherit;
}
.qty span{color:#182348;background:white;font-size:15px}
.discount-box{
  min-height:70px;
  border-radius:22px;
  background:linear-gradient(135deg,#edf8ff,#f0e8ff);
  padding:12px;
  display:grid;
  grid-template-columns:1fr 116px;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.discount-input{
  height:46px;border-radius:16px;border:1px dashed #cbd5ee;background:rgba(255,255,255,.62);
  padding:0 14px;display:flex;align-items:center;gap:8px;color:#6d7896;font-size:13px;font-weight:700;
}
.discount-input b{font-size:24px;color:#8b62ff}
.discount-btn{
  height:46px;border:0;border-radius:16px;background:linear-gradient(135deg,#b98cff,#8d65f6);
  color:white;font-family:inherit;font-weight:900;font-size:14px;
}
.summary-card{
  border-radius:24px;
  background:white;
  box-shadow:0 12px 28px rgba(90,108,173,.12), inset 0 0 0 1px rgba(215,223,242,.65);
  padding:18px;
  margin-bottom:12px;
}
.summary-card h2{
  margin:0 0 14px;font-size:20px;font-weight:900;
}
.summary-row{
  display:flex;align-items:center;justify-content:space-between;
  color:#6d7896;font-size:14px;font-weight:700;
  margin:10px 0;
}
.summary-row strong{color:#182348}
.summary-row.discount{color:#26a85a}
.summary-row.discount strong{color:#26a85a}
.summary-total{
  border-top:1px dashed #d9e0ef;
  margin-top:12px;padding-top:14px;
  display:flex;align-items:center;justify-content:space-between;
  font-size:17px;font-weight:900;color:#182348;
}
.summary-total strong{color:#7458f0;font-size:21px}
.checkout-btn{
  width:100%;height:62px;border:0;border-radius:22px;
  background:linear-gradient(135deg,#55bdff,#289ef0);
  color:white;font-family:inherit;font-size:18px;font-weight:900;
  box-shadow:0 15px 30px rgba(45,159,240,.27);
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-bottom:90px;
}
.bottom-nav a.active-cart{
  color:#2d9ff0;
}
.bottom-nav a.active-cart span{
  width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#69c9ff,#488eff);
  color:white;display:grid;place-items:center;box-shadow:0 8px 18px rgba(58,141,238,.32);
}
@media (max-width:430px){
  .cart-item{grid-template-columns:78px 1fr 112px;gap:9px;padding:10px}
  .cart-thumb{width:74px;height:74px}
  .cart-info h2{font-size:14px}
  .cart-info p{font-size:11px}
  .qty{width:108px;height:38px}
}
@media (max-width:360px){
  .cart-item{grid-template-columns:68px 1fr;position:relative;padding-bottom:58px}
  .cart-thumb{width:66px;height:66px}
  .cart-actions{position:absolute;left:10px;bottom:10px;grid-template-columns:auto auto;align-items:center}
  .discount-box{grid-template-columns:1fr}
}


/* Orders page */
.orders-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:60px;
  margin-bottom:12px;
}
.orders-title h1{
  margin:0;
  font-size:25px;
  font-weight:900;
}
.orders-tabs{
  height:58px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:6px;
  border-radius:20px;
  background:white;
  box-shadow:0 10px 24px rgba(89,108,174,.10), inset 0 0 0 1px rgba(220,227,244,.78);
  margin-bottom:14px;
}
.orders-tabs button{
  border:0;
  border-radius:16px;
  background:transparent;
  font-family:inherit;
  color:#65708d;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.orders-tabs button.active{
  background:linear-gradient(135deg,#55bdff,#289ef0);
  color:white;
  box-shadow:0 10px 18px rgba(45,159,240,.25);
}
.orders-list{
  display:grid;
  gap:14px;
  padding-bottom:96px;
}
.order-card{
  position:relative;
  border-radius:24px;
  background:white;
  box-shadow:0 14px 31px rgba(90,108,173,.12), inset 0 0 0 1px rgba(215,223,242,.68);
  padding:16px 16px 14px;
  overflow:hidden;
}
.order-top{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
  align-items:start;
  margin-bottom:14px;
}
.order-meta{
  text-align:center;
  border-left:1px solid #eef2fa;
  min-height:48px;
}
.order-meta:first-child{border-left:0}
.order-meta span{
  display:block;
  color:#7b849b;
  font-size:11px;
  font-weight:800;
  margin-bottom:6px;
}
.order-meta strong{
  color:#2f9eea;
  font-size:14px;
  font-weight:900;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 13px;
  border-radius:17px;
  background:#f0e8ff;
  color:#8b62ff;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.status-pill.shipping{
  background:#edf6ff;
  color:#2f9eea;
}
.status-pill.done{
  background:#ddfbf4;
  color:#26a98a;
}
.order-body{
  display:grid;
  grid-template-columns:82px 1fr 96px;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.order-img{
  width:82px;
  height:82px;
  object-fit:cover;
  border-radius:18px;
  background:#f2f7ff;
  box-shadow:0 9px 20px rgba(89,108,174,.12);
}
.order-product h2{
  margin:0 0 8px;
  font-size:16px;
  font-weight:900;
}
.order-product p{
  margin:0;
  color:#7a849d;
  font-size:12px;
  line-height:1.8;
  font-weight:600;
}
.item-count{
  display:inline-flex;
  padding:5px 12px;
  border-radius:14px;
  background:#eaf5ff;
  color:#2f9eea;
  font-size:12px;
  font-weight:900;
  margin-bottom:7px;
}
.payment{
  text-align:right;
}
.payment span{
  color:#7a849d;
  font-size:11px;
  font-weight:800;
}
.payment strong{
  display:block;
  margin-top:8px;
  color:#2f9eea;
  font-size:15px;
  font-weight:900;
}
.order-progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
  margin:16px 0 8px;
}
.order-progress:before{
  content:"";
  position:absolute;
  top:18px;
  right:12%;
  left:12%;
  height:3px;
  background:#dbe6f5;
  border-radius:4px;
}
.order-progress[data-progress="2"]:after,
.order-progress[data-progress="3"]:after,
.order-progress[data-progress="4"]:after{
  content:"";
  position:absolute;
  top:18px;
  right:12%;
  height:3px;
  background:#2f9eea;
  border-radius:4px;
}
.order-progress[data-progress="2"]:after{width:25%}
.order-progress[data-progress="3"]:after{width:50%}
.order-progress[data-progress="4"]:after{width:76%; background:#45c8b4}
.step{
  position:relative;
  z-index:2;
  text-align:center;
  color:#8490a9;
  font-size:12px;
  font-weight:800;
}
.step i{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#eef3fb;
  color:#9ba6ba;
  display:grid;
  place-items:center;
  margin:0 auto 6px;
  font-style:normal;
  box-shadow:0 0 0 5px white;
}
.step.active{
  color:#2f9eea;
}
.step.active i{
  background:#e6f5ff;
  color:#2f9eea;
}
.step.done{
  color:#2f9eea;
}
.step.done i{
  background:#2f9eea;
  color:white;
}
.order-card.delivered .step.done i{
  background:#45c8b4;
}
.order-card.delivered .step.done{
  color:#23a98e;
}
.order-note{
  height:36px;
  border-radius:15px;
  background:#f3f8ff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#7a849d;
  font-size:12px;
  font-weight:700;
  margin-top:10px;
}
.order-note b{
  color:#2f9eea;
  font-size:18px;
}
.tab-panel{display:none}
.tab-panel.active{display:grid}
.bottom-nav a.active-orders{
  color:#2d9ff0;
}
.bottom-nav a.active-orders span{
  width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#69c9ff,#488eff);
  color:white;display:grid;place-items:center;box-shadow:0 8px 18px rgba(58,141,238,.32);
}
@media (max-width:430px){
  .order-card{padding:13px}
  .order-body{grid-template-columns:76px 1fr 82px;gap:9px}
  .order-img{width:74px;height:74px}
  .order-product h2{font-size:15px}
  .payment strong{font-size:13px}
}
@media (max-width:360px){
  .order-top{grid-template-columns:1fr 1fr}
  .order-body{grid-template-columns:66px 1fr}
  .payment{grid-column:1 / -1;display:flex;justify-content:space-between}
  .order-img{width:64px;height:64px}
}


/* Notification glass modal */
.notice-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.notice-overlay.show{
  display:flex;
}
.notice-backdrop{
  position:absolute;
  inset:0;
  background:rgba(224,237,255,.48);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.notice-card{
  position:relative;
  width:min(92vw,370px);
  max-height:78vh;
  overflow:auto;
  border-radius:30px;
  padding:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(239,247,255,.62));
  box-shadow:0 28px 80px rgba(57,86,155,.28), inset 0 0 0 1px rgba(255,255,255,.86);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  animation:noticePop .22s ease-out;
}
@keyframes noticePop{
  from{transform:translateY(18px) scale(.96);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}
.notice-close{
  position:absolute;
  top:12px;
  left:12px;
  width:38px;
  height:38px;
  border:0;
  border-radius:15px;
  background:rgba(255,255,255,.82);
  color:#6c7898;
  font-size:26px;
  line-height:1;
  box-shadow:0 10px 22px rgba(89,108,174,.14);
  cursor:pointer;
}
.notice-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:8px 0 18px;
}
.notice-bell{
  width:54px;
  height:54px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:linear-gradient(145deg,#e7f5ff,#f1e8ff);
  box-shadow:0 12px 25px rgba(89,108,174,.14);
}
.notice-head h2{
  margin:0 0 5px;
  font-size:20px;
  font-weight:900;
  color:#182348;
}
.notice-head p{
  margin:0;
  font-size:12px;
  color:#6d7896;
  font-weight:700;
}
.notice-message{
  display:flex;
  gap:12px;
  padding:14px;
  margin-bottom:10px;
  border-radius:22px;
  background:rgba(255,255,255,.70);
  box-shadow:inset 0 0 0 1px rgba(222,231,247,.78), 0 10px 22px rgba(89,108,174,.08);
}
.notice-message>span{
  width:46px;
  height:46px;
  border-radius:17px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  font-size:25px;
  background:linear-gradient(145deg,#eff8ff,#f4edff);
}
.notice-message.important{
  background:linear-gradient(135deg,rgba(255,246,250,.86),rgba(238,248,255,.82));
}
.notice-message h3{
  margin:0 0 6px;
  font-size:15px;
  font-weight:900;
  color:#182348;
}
.notice-message p{
  margin:0 0 7px;
  color:#63708d;
  font-size:12px;
  line-height:1.9;
  font-weight:700;
}
.notice-message small{
  color:#2f9eea;
  font-weight:900;
  font-size:11px;
}
body.notice-open{
  overflow:hidden;
}
@media (max-width:420px){
  .notice-card{
    width:calc(100vw - 28px);
    border-radius:26px;
    padding:18px;
  }
}


/* Profile edit flow */
.edit-page-title{
  display:flex;align-items:center;justify-content:space-between;
  min-height:58px;margin-bottom:12px;
}
.edit-page-title h1{margin:0;font-size:22px;font-weight:900;color:#182348}
.edit-card{
  border-radius:28px;background:#fff;
  box-shadow:0 14px 31px rgba(90,108,173,.12), inset 0 0 0 1px rgba(215,223,242,.68);
  padding:18px;margin-bottom:16px;
}
.edit-avatar-block{
  display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:10px 0 20px;
}
.edit-avatar-big{
  position:relative;width:118px;height:118px;border-radius:50%;
  background:linear-gradient(145deg,#efe7ff,#dff3ff);
  border:6px solid rgba(255,255,255,.86);
  display:grid;place-items:center;font-size:58px;color:#8b68f5;
  box-shadow:0 14px 28px rgba(95,115,185,.16);
}
.edit-avatar-big a{
  position:absolute;right:-2px;bottom:4px;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;background:#fff;text-decoration:none;color:#7b59ee;
  box-shadow:0 8px 18px rgba(89,108,174,.16);font-size:22px;
}
.edit-avatar-block span{color:#7b59ee;font-weight:900;font-size:14px}
.form-group{margin-bottom:15px}
.form-group label{
  display:block;margin:0 6px 8px;color:#73809b;font-size:13px;font-weight:900;
}
.form-control{
  height:58px;border-radius:18px;background:#f9fbff;border:1px solid #e3eaf7;
  display:flex;align-items:center;gap:10px;padding:0 14px;
}
.form-control input{
  flex:1;border:0;outline:0;background:transparent;font-family:inherit;
  font-size:15px;color:#182348;text-align:right;font-weight:800;
}
.form-control .icon{
  width:38px;height:38px;border-radius:14px;background:#eef4ff;
  display:grid;place-items:center;font-size:18px;color:#609deb;flex:0 0 38px;
}
.form-control .link{
  color:#7b59ee;text-decoration:none;font-size:12px;font-weight:900;
}
.edit-note{
  min-height:54px;border-radius:17px;background:#f1ecff;color:#776a9d;
  display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:12px;font-weight:700;margin:16px 0;
}
.edit-note b{font-size:19px;color:#8a62f4}
.save-profile-btn,.send-code-btn{
  width:100%;height:58px;border:0;border-radius:20px;
  background:linear-gradient(135deg,#55bdff,#289ef0);color:#fff;
  font-family:inherit;font-size:17px;font-weight:900;
  box-shadow:0 15px 30px rgba(45,159,240,.24);
}
.photo-options{display:grid;gap:12px;margin-top:18px}
.photo-option{
  min-height:76px;border-radius:22px;background:#f9fbff;border:1px solid #e3eaf7;
  display:flex;align-items:center;gap:13px;padding:12px;text-decoration:none;color:#182348;
}
.photo-option .photo-ico{
  width:50px;height:50px;border-radius:18px;display:grid;place-items:center;
  font-size:24px;color:#fff;background:linear-gradient(135deg,#b58cff,#7a58ee);
}
.photo-option:nth-child(2) .photo-ico{background:linear-gradient(135deg,#69c9ff,#289ef0)}
.photo-option div{flex:1}
.photo-option h2{margin:0 0 6px;font-size:16px;font-weight:900}
.photo-option p{margin:0;color:#73809b;font-size:12px;font-weight:700}
.photo-option .arr{color:#8b62f5;font-size:28px;font-weight:900}
.remove-photo-btn{
  width:100%;height:56px;border-radius:20px;border:1px solid #ffd6d6;
  background:#fff1f1;color:#e05757;font-family:inherit;font-weight:900;font-size:15px;margin-top:14px;
}
.phone-hero{
  text-align:center;padding:12px 0 20px;
}
.phone-hero .circle{
  width:110px;height:110px;border-radius:50%;background:#eaf5ff;
  display:grid;place-items:center;margin:0 auto 18px;font-size:46px;color:#4aaaf5;
}
.phone-hero h2{margin:0 0 10px;font-size:22px;font-weight:900;color:#182348}
.phone-hero p{margin:0;color:#73809b;font-size:13px;font-weight:700}
.otp-mini{
  direction:ltr;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0;
}
.otp-mini input{
  height:46px;border-radius:14px;border:1px solid #e3eaf7;background:#fff;
  text-align:center;font-size:22px;outline:0;
}
.otp-mini input:focus{border-color:#8b62ff;box-shadow:0 0 0 3px rgba(139,98,255,.12)}
@media(max-width:380px){
  .edit-card{padding:14px}
  .edit-avatar-big{width:102px;height:102px;font-size:50px}
  .photo-option h2{font-size:14px}
  .form-control{height:54px}
}

/* Final profile features */
.info-card{border-radius:28px;background:#fff;padding:18px;margin-bottom:96px;box-shadow:0 14px 31px rgba(90,108,173,.12),inset 0 0 0 1px rgba(215,223,242,.68)}.info-hero{text-align:center;padding:10px 6px 18px}.info-hero span{font-size:44px;display:block;margin-bottom:8px}.info-hero h2{margin:0 0 10px;font-size:22px;font-weight:900;color:#182348}.info-hero p{margin:0;color:#6d7896;font-size:13px;line-height:2;font-weight:700}.info-grid,.faq-list,.transaction-list{display:grid;gap:12px}.info-grid article,.address-item,.transaction-list article,.faq-list details{border-radius:20px;background:#f8fbff;border:1px solid #e3eaf7;padding:14px}.info-grid b{font-size:26px}.info-grid h3{margin:6px 0}.info-grid p,.address-item p,.faq-list p{margin:0;color:#6d7896;font-size:13px;line-height:1.9}.faq-list summary{font-weight:900;cursor:pointer}.transaction-list b{color:#2f9eea}.transaction-list small,.address-item small{color:#7a849d;font-weight:800}.address-item{margin-bottom:14px}.address-item b{display:block;margin-bottom:8px}.ltr-input{direction:ltr!important;text-align:left!important}.toast{position:fixed;left:50%;bottom:104px;transform:translateX(-50%) translateY(30px);min-width:280px;max-width:calc(100% - 36px);padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(61,88,160,.25);color:#182348;font-weight:900;text-align:center;z-index:10000;opacity:0;pointer-events:none;transition:.28s ease}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.heart.active{color:#f13575!important}.favorites-list{display:grid;gap:12px}.fav-empty{text-align:center;color:#7a849d;line-height:2;font-weight:800;padding:24px}.fav-card{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;border-radius:20px;background:#f8fbff;border:1px solid #e3eaf7;padding:10px}.fav-card img{width:76px;height:76px;object-fit:cover;border-radius:18px}.fav-card h3{margin:0 0 7px;font-size:15px}.fav-card strong{color:#2f9eea}.fav-card button{border:0;background:#fff1f1;color:#e05757;border-radius:14px;padding:8px 10px}


/* Dynamic cart/address improvements */
.cart-empty{
  text-align:center;
  padding:28px 14px;
  border-radius:22px;
  background:#fff;
  color:#6d7896;
  font-weight:800;
  line-height:2;
  box-shadow:0 12px 27px rgba(90,108,173,.10), inset 0 0 0 1px rgba(215,223,242,.65);
}
.cart-item .cart-actions{justify-items:center}
.trash{cursor:pointer}
.qty button{cursor:pointer}
.discount-btn{cursor:pointer}
.address-form{
  display:grid;
  gap:12px;
  margin-bottom:16px;
}
.address-form input,
.address-form textarea{
  width:100%;
  border:1px solid #e3eaf7;
  border-radius:18px;
  background:#f9fbff;
  padding:14px;
  font-family:inherit;
  font-size:14px;
  outline:none;
  color:#182348;
}
.address-form textarea{
  min-height:92px;
  resize:vertical;
}
.address-list{
  display:grid;
  gap:12px;
}
.address-item .address-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.small-btn{
  border:0;
  border-radius:13px;
  padding:8px 12px;
  font-family:inherit;
  font-weight:900;
  background:#eaf5ff;
  color:#2f9eea;
}
.small-btn.danger{
  background:#fff1f1;
  color:#e05757;
}
.cart-badge-pulse{
  animation:badgePulse .35s ease;
}
@keyframes badgePulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.35)}
  100%{transform:scale(1)}
}

/* Header/logo area must stay fixed visually */
.auth-page .otp-auth .topbar{
  height:82px !important;
  flex:0 0 82px !important;
  transform:none !important;
  position:relative;
  z-index:20;
}
.auth-page .otp-auth .logo{
  width:138px !important;
  max-width:50% !important;
  transform:translate(-50%,-50%) !important;
}
.auth-page.keyboard-open .otp-auth{
  transform:none !important;
}

/* Only the verification content moves upward when mobile keyboard opens */
.auth-page .otp-title-clean,
.auth-page .otp-brand-graphic,
.auth-page .otp-inputs,
.auth-page .resend,
.auth-page .otp-auth .primary-btn{
  transition:transform .22s ease, margin .22s ease, height .22s ease, opacity .22s ease;
  will-change:transform;
}

.auth-page.keyboard-open .otp-title-clean{
  transform:translateY(-34px);
}
.auth-page.keyboard-open .otp-brand-graphic{
  transform:translateY(-44px);
  height:92px !important;
  margin-bottom:8px !important;
}
.auth-page.keyboard-open .otp-inputs{
  transform:translateY(-58px);
  margin-bottom:8px !important;
}
.auth-page.keyboard-open .resend{
  transform:translateY(-62px);
  margin-bottom:8px !important;
}
.auth-page.keyboard-open .otp-auth .primary-btn{
  transform:translateY(-66px);
  height:50px !important;
}

/* Keep page from jumping; browser may resize viewport but we keep the visual top stable */
.auth-page{
  overflow:hidden;
}
.auth-page .app.auth-app{
  overflow:hidden;
}
.auth-page .otp-title-clean{
  margin-top:8px !important;
}
.auth-page .otp-brand-graphic{
  height:128px;
}

@media (max-height:760px){
  .auth-page.keyboard-open .otp-title-clean{transform:translateY(-44px)}
  .auth-page.keyboard-open .otp-brand-graphic{transform:translateY(-56px);height:86px !important}
  .auth-page.keyboard-open .otp-inputs{transform:translateY(-72px)}
  .auth-page.keyboard-open .resend{transform:translateY(-76px)}
  .auth-page.keyboard-open .otp-auth .primary-btn{transform:translateY(-82px)}
}
@media (max-height:680px){
  .auth-page.keyboard-open .otp-brand-graphic{
    opacity:.35;
    height:70px !important;
  }
  .auth-page.keyboard-open .otp-inputs{transform:translateY(-90px)}
  .auth-page.keyboard-open .resend{transform:translateY(-94px)}
  .auth-page.keyboard-open .otp-auth .primary-btn{transform:translateY(-100px)}
}

/* Keep the whole OTP app stable */
.auth-page .otp-auth{
  position:relative;
  overflow:hidden;
  padding:12px 18px 16px !important;
  transform:none !important;
}

/* Header/logo never moves */
.auth-page .otp-auth .topbar{
  position:relative !important;
  height:112px !important;
  flex:0 0 112px !important;
  margin:0 !important;
  transform:none !important;
  z-index:30;
}
.auth-page .otp-auth .logo{
  width:132px !important;
  max-width:48% !important;
  top:58% !important;
  transform:translate(-50%,-50%) !important;
  z-index:31;
}

/* The visual/content area below the fixed header */
.otp-content{
  position:relative;
  z-index:5;
  transition:transform .22s ease;
  transform:translateY(0);
  will-change:transform;
}

.auth-page .otp-title-clean{
  margin:0 0 12px !important;
  text-align:center;
}
.auth-page .otp-title-clean h1{
  font-size:24px !important;
  line-height:1.35 !important;
  margin:0 0 8px !important;
}
.auth-page .otp-title-clean p{
  font-size:13px !important;
  margin:0 !important;
}

/* Graphic remains under title; no overlap with logo */
.auth-page .otp-brand-graphic{
  height:122px !important;
  margin:0 0 14px !important;
}

/* OTP boxes */
.auth-page .otp-inputs{
  margin:0 0 12px !important;
  gap:8px !important;
}
.auth-page .otp-inputs input{
  height:54px !important;
  border-radius:16px !important;
}
.auth-page .resend{
  margin:0 0 14px !important;
}
.auth-page .otp-auth .primary-btn{
  height:56px !important;
}

/* Keyboard mode: logo/header stays; only this wrapper goes up */
.auth-page.keyboard-open .otp-content{
  transform:translateY(-76px);
}
.auth-page.keyboard-open .otp-brand-graphic{
  height:96px !important;
  margin-bottom:10px !important;
}
.auth-page.keyboard-open .otp-title-clean h1{
  font-size:21px !important;
}
.auth-page.keyboard-open .otp-inputs input{
  height:50px !important;
}
.auth-page.keyboard-open .otp-auth .primary-btn{
  height:52px !important;
}

@media (max-height:760px){
  .auth-page .otp-auth .topbar{
    height:98px !important;
    flex-basis:98px !important;
  }
  .auth-page .otp-auth .logo{
    width:118px !important;
  }
  .auth-page .otp-brand-graphic{
    height:100px !important;
  }
  .auth-page.keyboard-open .otp-content{
    transform:translateY(-88px);
  }
  .auth-page.keyboard-open .otp-brand-graphic{
    height:78px !important;
  }
}

@media (max-height:680px){
  .auth-page .otp-auth .topbar{
    height:86px !important;
    flex-basis:86px !important;
  }
  .auth-page .otp-auth .logo{
    width:105px !important;
  }
  .auth-page .otp-title-clean h1{
    font-size:21px !important;
  }
  .auth-page .otp-brand-graphic{
    height:82px !important;
  }
  .auth-page.keyboard-open .otp-content{
    transform:translateY(-96px);
  }
  .auth-page.keyboard-open .otp-brand-graphic{
    height:60px !important;
    opacity:.65;
  }
}
/* Normal OTP layout */
.auth-page .otp-auth{
  min-height:100vh;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding:12px 18px 28px !important;
}

.auth-page .otp-auth .topbar{
  height:104px !important;
  flex:0 0 104px !important;
  margin:0 !important;
}

.auth-page .otp-auth .logo{
  width:128px !important;
  max-width:46% !important;
  top:56% !important;
  transform:translate(-50%,-50%) !important;
}

.otp-content{
  transform:none !important;
  transition:none !important;
}

.auth-page .otp-title-clean{
  margin:4px 0 12px !important;
  text-align:center;
}

.auth-page .otp-title-clean h1{
  font-size:24px !important;
  line-height:1.35 !important;
  margin:0 0 8px !important;
}

.auth-page .otp-title-clean p{
  margin:0 !important;
  font-size:13px !important;
}

.auth-page .otp-brand-graphic{
  height:118px !important;
  margin:0 0 14px !important;
}

.auth-page .otp-inputs{
  margin:0 0 12px !important;
  gap:8px !important;
}

.auth-page .otp-inputs input{
  height:54px !important;
  border-radius:16px !important;
}

.auth-page .resend{
  margin:0 0 14px !important;
}

.auth-page .otp-auth .primary-btn{
  height:56px !important;
}

/* When keyboard is open: hide top decoration/logo area and keep only essential OTP controls */
.auth-page.keyboard-open .otp-auth{
  padding-top:12px !important;
}

.auth-page.keyboard-open .otp-auth .topbar{
  height:36px !important;
  flex-basis:36px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.auth-page.keyboard-open .otp-auth .logo{
  display:none !important;
}

.auth-page.keyboard-open .otp-brand-graphic{
  display:none !important;
}

.auth-page.keyboard-open .otp-title-clean{
  margin-top:2px !important;
  margin-bottom:12px !important;
}

.auth-page.keyboard-open .otp-title-clean h1{
  font-size:21px !important;
}

.auth-page.keyboard-open .otp-title-clean p{
  font-size:12px !important;
}

.auth-page.keyboard-open .otp-inputs input{
  height:50px !important;
}

.auth-page.keyboard-open .otp-auth .primary-btn{
  height:52px !important;
}

@media (max-height:720px){
  .auth-page .otp-auth .topbar{
    height:88px !important;
    flex-basis:88px !important;
  }
  .auth-page .otp-auth .logo{
    width:112px !important;
  }
  .auth-page .otp-brand-graphic{
    height:96px !important;
  }
}


/* OTP final compact safe layout */
.auth-bottom-cup,
.otp-cup,
.otp-hero{
  display:none !important;
}

.auth-page{
  overflow:auto !important;
  background:#f8fbff;
}

.auth-page .app.auth-app{
  overflow:visible !important;
}

.auth-page .otp-auth{
  min-height:100vh;
  height:auto !important;
  max-height:none !important;
  padding:12px 18px 26px !important;
  overflow:visible !important;
}

.auth-page .otp-auth .topbar{
  height:92px !important;
  flex:0 0 92px !important;
  margin:0 !important;
}

.auth-page .otp-auth .logo{
  width:118px !important;
  max-width:44% !important;
  top:54% !important;
  transform:translate(-50%,-50%) !important;
}

.auth-page .back-btn{
  width:46px !important;
  height:46px !important;
  border-radius:16px !important;
  top:20px !important;
  right:18px !important;
}

.auth-page .otp-title-clean{
  text-align:center;
  margin:2px 0 12px !important;
}

.auth-page .otp-title-clean h1{
  margin:0 0 8px !important;
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:900;
  color:#182348;
}

.auth-page .otp-title-clean p{
  margin:0 !important;
  font-size:12px !important;
  color:#7a839d;
  font-weight:700;
}

.auth-page .otp-brand-graphic{
  height:104px !important;
  margin:0 0 14px !important;
  border-radius:24px !important;
}

.auth-page .otp-envelope{
  width:94px !important;
  height:62px !important;
  border-radius:18px !important;
}

.auth-page .otp-envelope .mail{
  font-size:32px !important;
}

.auth-page .otp-envelope .stars{
  font-size:14px !important;
  bottom:9px !important;
}

.auth-page .fruit-row{
  font-size:19px !important;
  bottom:7px !important;
}

.auth-page .otp-inputs{
  direction:ltr;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px !important;
  margin:0 0 12px !important;
}

.auth-page .otp-inputs input{
  height:50px !important;
  border-radius:15px !important;
  font-size:23px !important;
}

.auth-page .resend{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  margin:0 0 14px !important;
  font-size:14px !important;
  color:#7a839d;
  font-weight:800;
}

.auth-page .resend b{
  color:#8b62ff;
  font-size:15px;
}

.auth-page .otp-auth .primary-btn{
  height:54px !important;
  font-size:18px !important;
  border-radius:19px !important;
}

/* وقتی کیبورد باز شد: فقط تزئینات حذف شود و صفحه بالا نپرد */
.auth-page.keyboard-open .otp-auth .topbar{
  height:44px !important;
  flex-basis:44px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.auth-page.keyboard-open .otp-auth .logo,
.auth-page.keyboard-open .back-btn,
.auth-page.keyboard-open .otp-brand-graphic{
  display:none !important;
}

.auth-page.keyboard-open .otp-title-clean{
  margin-top:8px !important;
  margin-bottom:12px !important;
}

.auth-page.keyboard-open .otp-title-clean h1{
  font-size:21px !important;
}

.auth-page.keyboard-open .otp-inputs{
  margin-top:18px !important;
}

.auth-page.keyboard-open .otp-inputs input{
  height:50px !important;
}

@media(max-height:720px){
  .auth-page .otp-auth .topbar{
    height:78px !important;
    flex-basis:78px !important;
  }
  .auth-page .otp-auth .logo{
    width:105px !important;
  }
  .auth-page .otp-brand-graphic{
    height:90px !important;
  }
}


/* Admin panel */
.admin-body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f7fbff,#eef7ff);color:#182348}
.admin-shell{max-width:1180px;margin:0 auto;padding:18px}
.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}
.admin-login-card{width:min(420px,100%);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(76,100,170,.18),inset 0 0 0 1px rgba(215,223,242,.75);padding:26px;text-align:center}
.admin-login-card img{width:150px;max-width:60%;margin-bottom:16px}.admin-login-card h1{margin:0 0 8px;font-size:24px;font-weight:900}.admin-login-card p{margin:0 0 20px;color:#6d7896;font-size:13px;line-height:2}
.admin-field{margin-bottom:12px;text-align:right}.admin-field label{display:block;margin:0 4px 7px;color:#6d7896;font-size:13px;font-weight:900}
.admin-field input,.admin-field select,.admin-field textarea{width:100%;border:1px solid #e3eaf7;border-radius:17px;background:#f9fbff;padding:13px 14px;font-family:inherit;font-size:14px;outline:none;color:#182348}
.admin-field textarea{min-height:86px;resize:vertical}
.admin-btn{border:0;border-radius:17px;min-height:46px;padding:0 18px;font-family:inherit;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#55bdff,#289ef0);color:white;box-shadow:0 12px 24px rgba(45,159,240,.22);text-decoration:none;display:inline-grid;place-items:center}
.admin-btn.secondary{background:linear-gradient(135deg,#b98cff,#7a58ee)}.admin-btn.light{background:#eef7ff;color:#2f9eea;box-shadow:none}.admin-btn.danger{background:#fff1f1;color:#e05757;box-shadow:none}
.admin-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:26px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(76,100,170,.12),inset 0 0 0 1px rgba(215,223,242,.75);margin-bottom:16px;position:sticky;top:10px;z-index:10}
.admin-brand{display:flex;align-items:center;gap:12px}.admin-brand img{width:92px;height:auto}.admin-brand div strong{display:block;font-size:17px}.admin-brand div span{color:#6d7896;font-size:12px;font-weight:700}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-tabs button{border:0;border-radius:16px;background:white;color:#56627e;padding:12px 16px;font-family:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(76,100,170,.08)}.admin-tabs button.active{background:linear-gradient(135deg,#55bdff,#289ef0);color:white}
.admin-panel{display:none}.admin-panel.active{display:block}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.admin-stat{border-radius:22px;background:white;padding:18px;box-shadow:0 10px 24px rgba(76,100,170,.10),inset 0 0 0 1px rgba(215,223,242,.65)}.admin-stat span{color:#6d7896;font-size:12px;font-weight:800}.admin-stat strong{display:block;margin-top:8px;font-size:22px;color:#182348}
.admin-card{border-radius:26px;background:white;padding:18px;box-shadow:0 14px 34px rgba(76,100,170,.11),inset 0 0 0 1px rgba(215,223,242,.68);margin-bottom:16px}.admin-card h2{margin:0 0 14px;font-size:20px;font-weight:900}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-form-grid .full{grid-column:1/-1}.admin-list{display:grid;gap:10px}
.admin-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border-radius:18px;background:#f9fbff;border:1px solid #e3eaf7;padding:10px}.admin-row img{width:62px;height:62px;border-radius:16px;object-fit:cover;background:#eef7ff}.admin-row h3{margin:0 0 6px;font-size:15px}.admin-row p{margin:0;color:#6d7896;font-size:12px;line-height:1.7}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.admin-help{background:#f3f0ff;color:#695d99;border-radius:18px;padding:14px;line-height:2;font-size:13px;font-weight:700}
@media(max-width:760px){.admin-grid{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}.admin-row{grid-template-columns:54px 1fr}.admin-row-actions{grid-column:1/-1}.admin-top{align-items:flex-start;flex-direction:column}}


/* Admin sticky header + dropdown menu + courier */
.admin-top{position:sticky!important;top:10px!important;z-index:100!important}
.admin-menu-wrap{position:sticky;top:112px;z-index:90;margin-bottom:16px}
.admin-menu-btn{width:100%;height:54px;border:0;border-radius:20px;background:linear-gradient(135deg,#55bdff,#289ef0);color:#fff;font-family:inherit;font-size:17px;font-weight:900;box-shadow:0 12px 24px rgba(45,159,240,.22)}
.admin-dropdown{display:none;grid-template-columns:1fr;gap:8px;margin-top:10px;padding:10px;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(76,100,170,.16),inset 0 0 0 1px rgba(215,223,242,.75)}
.admin-dropdown.show{display:grid}.admin-dropdown button{border:0;min-height:46px;border-radius:16px;background:#f5f9ff;color:#56627e;font-family:inherit;font-weight:900;font-size:15px}.admin-dropdown button.active{background:linear-gradient(135deg,#55bdff,#289ef0);color:#fff}
#courierMessage{min-height:130px;direction:rtl}
@media(max-width:760px){.admin-menu-wrap{top:158px}}


/* Admin accounting dashboard */
.accounting-grid .admin-stat strong{
  font-size:18px;
}
.admin-chart{
  display:flex;
  align-items:end;
  gap:12px;
  height:230px;
  padding:18px 10px 8px;
  border-radius:22px;
  background:linear-gradient(180deg,#f8fbff,#eef7ff);
  border:1px solid #e3eaf7;
  overflow-x:auto;
}
.chart-bar{
  min-width:58px;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  height:100%;
}
.chart-bar .bar{
  width:100%;
  max-width:52px;
  border-radius:16px 16px 8px 8px;
  background:linear-gradient(180deg,#55bdff,#7b58ee);
  box-shadow:0 12px 22px rgba(74,141,238,.22);
  min-height:16px;
}
.chart-bar b{
  font-size:11px;
  color:#182348;
  white-space:nowrap;
}
.chart-bar span{
  font-size:11px;
  color:#6d7896;
  font-weight:800;
}
.status-chart{
  display:grid;
  gap:12px;
}
.status-row{
  display:grid;
  grid-template-columns:95px 1fr 58px;
  gap:10px;
  align-items:center;
}
.status-row b{
  font-size:13px;
  color:#182348;
}
.status-track{
  height:18px;
  border-radius:99px;
  background:#eef4ff;
  overflow:hidden;
}
.status-fill{
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#55bdff,#8b62ff);
}
.status-row span{
  color:#6d7896;
  font-size:12px;
  font-weight:900;
}
.admin-order-tools{
  display:grid;
  grid-template-columns:1fr 180px;
  gap:10px;
  margin-bottom:12px;
}
.admin-order-tools input,
.admin-order-tools select{
  border:1px solid #e3eaf7;
  border-radius:17px;
  background:#f9fbff;
  padding:12px;
  font-family:inherit;
  outline:none;
}
.admin-orders-table{
  display:grid;
  gap:10px;
}
.admin-order-card{
  border-radius:20px;
  background:#f9fbff;
  border:1px solid #e3eaf7;
  padding:14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.admin-order-card h3{
  margin:0 0 8px;
  font-size:15px;
}
.admin-order-card p{
  margin:4px 0;
  color:#6d7896;
  font-size:12px;
  line-height:1.7;
}
.admin-order-price{
  text-align:left;
  color:#2f9eea;
  font-weight:900;
  white-space:nowrap;
}
.admin-status-pill{
  display:inline-grid;
  place-items:center;
  padding:7px 11px;
  border-radius:14px;
  background:#eef7ff;
  color:#2f9eea;
  font-size:12px;
  font-weight:900;
  margin-top:6px;
}
.admin-status-pill.done{
  background:#e7fbf5;
  color:#23a98e;
}
@media(max-width:760px){
  .admin-order-tools{
    grid-template-columns:1fr;
  }
  .admin-order-card{
    grid-template-columns:1fr;
  }
  .admin-order-price{
    text-align:right;
  }
}


/* Customer location / delivery map */
.location-box{
  border:1px dashed #b8d8f7;
  background:linear-gradient(135deg,#f2f9ff,#f6f0ff);
  border-radius:20px;
  padding:12px;
  display:grid;
  gap:10px;
}
.location-btn{
  height:50px !important;
  font-size:14px !important;
}
.location-box p{
  margin:0;
  color:#6d7896;
  font-size:12px;
  font-weight:800;
  line-height:1.8;
  text-align:center;
}
.map-link{
  display:inline-grid;
  place-items:center;
  min-height:38px;
  padding:0 12px;
  border-radius:14px;
  background:#eaf5ff;
  color:#2f9eea;
  text-decoration:none;
  font-weight:900;
  margin-top:10px;
}
.address-location-ok{
  color:#25a98a !important;
}


/* Courier selection workflow */
.courier-orders-list{
  display:grid;
  gap:10px;
}
.courier-order-card{
  border-radius:20px;
  background:#f9fbff;
  border:1px solid #e3eaf7;
  padding:14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.courier-order-card h3{
  margin:0 0 7px;
  font-size:15px;
}
.courier-order-card p{
  margin:3px 0;
  color:#6d7896;
  font-size:12px;
  line-height:1.7;
}
.courier-order-card.selected{
  border-color:#55bdff;
  background:linear-gradient(135deg,#f2f9ff,#f6f0ff);
}
.courier-badge{
  display:inline-grid;
  place-items:center;
  padding:6px 10px;
  border-radius:13px;
  background:#eaf5ff;
  color:#2f9eea;
  font-size:12px;
  font-weight:900;
  margin-top:6px;
}
#courierMessage{
  min-height:150px;
}
@media(max-width:760px){
  .courier-order-card{
    grid-template-columns:1fr;
  }
}


/* Payment success and extra admin modules */
.success-card{
  margin:26px 0 96px;
  border-radius:30px;
  background:white;
  padding:26px 18px;
  text-align:center;
  box-shadow:0 16px 38px rgba(79,136,219,.14), inset 0 0 0 1px rgba(215,223,242,.75);
}
.success-icon{
  width:92px;height:92px;border-radius:50%;
  margin:0 auto 18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#42d8a4,#23a98e);
  color:white;font-size:52px;font-weight:900;
  box-shadow:0 14px 30px rgba(35,169,142,.25);
}
.success-card h1{margin:0 0 12px;font-size:24px;font-weight:900;color:#182348}
.success-card p{margin:0 0 18px;color:#6d7896;font-weight:700;line-height:2}
.success-info{display:grid;gap:10px;margin:18px 0}
.success-info div{border-radius:18px;background:#f8fbff;border:1px solid #e3eaf7;padding:12px;display:flex;justify-content:space-between;gap:10px}
.success-info span{color:#6d7896;font-size:13px;font-weight:800}
.success-info strong{color:#2f9eea;font-size:14px}
.success-btn,.success-link{display:grid;place-items:center;text-decoration:none;border-radius:20px;font-weight:900}
.success-btn{height:58px;background:linear-gradient(135deg,#55bdff,#289ef0);color:white;box-shadow:0 15px 30px rgba(45,159,240,.25)}
.success-link{height:46px;color:#7a58ee;margin-top:8px}
.admin-site-preview{
  margin-top:14px;
  border-radius:24px;
  background:#f8fbff;
  border:1px dashed #b8d8f7;
  padding:14px;
}
.admin-site-preview-title{font-weight:900;color:#182348;margin-bottom:10px}
.admin-preview-category{
  width:100%;
  max-width:190px;
  border-radius:22px;
  background:white;
  padding:14px;
  box-shadow:0 10px 24px rgba(89,108,174,.10);
  text-align:center;
}
.admin-preview-category img{
  width:74px;height:74px;border-radius:22px;object-fit:cover;background:#eef7ff;
  display:block;margin:0 auto 10px;
}
.admin-preview-category strong{display:block;color:#182348}
.admin-preview-product{
  width:100%;
  max-width:230px;
  border-radius:24px;
  background:white;
  padding:12px;
  box-shadow:0 10px 24px rgba(89,108,174,.10);
}
.admin-preview-product img{
  width:100%;
  height:130px;
  border-radius:20px;
  object-fit:cover;
  background:#eef7ff;
}
.admin-preview-product h3{margin:10px 0 6px;font-size:16px}
.admin-preview-product p{margin:0;color:#6d7896;font-size:12px}
.admin-preview-product .price{margin-top:8px;color:#2f9eea;font-weight:900}
.log-row{border-radius:16px;background:#f8fbff;border:1px solid #e3eaf7;padding:12px}
.log-row b{display:block;margin-bottom:5px}.log-row small{color:#6d7896}

/* ===== ICE FINAL ADDITIONS: no theme replacement, only compatible additions ===== */
.ice-normal-notice{
  margin:10px 16px 0;
  border-radius:18px;
  padding:10px 14px;
  background:linear-gradient(135deg,#fff7d8,#eef8ff);
  color:#35405f;
  font-size:13px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(89,108,174,.10);
}



.ice-product-modal{display:none;position:fixed;inset:0;z-index:9990}.ice-product-modal.show{display:block}.ice-product-backdrop{position:absolute;inset:0;background:rgba(12,18,38,.42);backdrop-filter:blur(12px)}.ice-product-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100vw - 30px));max-height:90vh;overflow:auto;border-radius:34px;background:#fff;padding:18px;box-shadow:0 25px 70px rgba(25,45,100,.28);text-align:center}.ice-product-large-img{width:100%;height:240px;object-fit:contain;border-radius:28px;background:#f7fbff}.ice-product-dialog h2{margin:12px 0 8px;color:#182348;font-size:23px}.ice-product-dialog p{color:#6d7896;line-height:2;font-weight:700}.ice-product-dialog strong{display:block;margin:12px 0;color:#2f9eea;font-size:18px}.ice-product-public-link{display:block;text-decoration:none;color:#7a58ee;font-weight:900;margin-top:10px}.ice-product-page-card{margin:18px 16px 96px;background:#fff;border-radius:32px;padding:18px;text-align:center;box-shadow:0 16px 38px rgba(79,136,219,.14),inset 0 0 0 1px rgba(215,223,242,.75)}.ice-product-page-card img{width:100%;height:260px;object-fit:contain;background:#f7fbff;border-radius:28px}.ice-product-page-card h1{color:#182348}.ice-product-page-card p{color:#6d7896;line-height:2}.ice-product-page-card strong{display:block;color:#2f9eea;margin:12px 0;font-size:19px}.checkout-card textarea,#checkoutAddress{min-height:120px}.ice-chart-row{display:grid;grid-template-columns:82px 1fr 95px;align-items:center;gap:8px;margin:8px 0;color:#6d7896;font-size:12px}.ice-chart-row b{display:block;min-width:8px;height:12px;border-radius:12px;background:linear-gradient(135deg,#55bdff,#7a58ee)}.ice-chart-row strong{font-size:11px;color:#182348}.admin-row small{display:block;color:#6d7896;margin-top:4px;line-height:1.7}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-order-card{cursor:pointer}.admin-order-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(89,108,174,.13)}
@media(max-width:480px){.ice-product-dialog{border-radius:28px}.ice-product-large-img{height:210px}.ice-chart-row{grid-template-columns:72px 1fr}.ice-chart-row strong{grid-column:1/-1}}


/* ===== ICE 2026 HOME SELECTION + NO-FLICKER + ADMIN MODAL ===== */
html.ice-data-loading .categories,
html.ice-data-loading .products,
html.ice-data-loading .category-list{visibility:hidden}
.categories .ice-empty-selection{grid-column:1/-1;display:grid;place-items:center;color:#77819a;font-size:12px;font-weight:800}
.cat-icon{overflow:hidden}.cat-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.category-emoji{overflow:hidden}.category-emoji img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.product-card{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.product-card h3{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;min-height:2.9em;word-break:break-word;margin:8px 0 5px}
.product-card strong{min-height:21px}.product-card .add{margin-top:auto;width:100%}
.admin-selection-meter{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 15px;border-radius:18px;background:#fff7dc;color:#705f2d;border:1px solid #f2df9c;margin-bottom:4px}
.admin-selection-meter span{font-size:12px;font-weight:800}.admin-selection-meter.complete{background:#ecfff5;color:#24704b;border-color:#bfead4}
.admin-row.is-home-selected{border-color:#82c9f6;box-shadow:0 0 0 2px rgba(85,189,255,.12)}.admin-row.is-disabled{opacity:.62}
.ice-admin-modal{display:none;position:fixed;inset:0;z-index:10050;align-items:center;justify-content:center;padding:18px}.ice-admin-modal.show{display:flex}.ice-admin-modal-backdrop{position:absolute;inset:0;background:rgba(20,29,56,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ice-admin-modal-card{position:relative;z-index:1;width:min(700px,100%);max-height:90vh;overflow:auto;border-radius:30px;background:#fff;padding:22px;box-shadow:0 28px 80px rgba(31,56,114,.28);animation:iceModalIn .2s ease-out}.ice-admin-modal-card h2{margin:0 0 18px;color:#182348}.ice-admin-modal-close{position:absolute;left:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#fff0f3;color:#dc5578;font-size:25px;cursor:pointer}.ice-admin-modal-actions{display:flex;gap:10px;justify-content:flex-start}.ice-modal-open{overflow:hidden}@keyframes iceModalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:480px){.admin-selection-meter{align-items:flex-start;flex-direction:column}.ice-admin-modal-card{padding:18px;border-radius:25px}.ice-admin-modal-actions{flex-direction:column}.ice-admin-modal-actions .admin-btn{width:100%}}


/* ===== ICE 2026 ROLE ACCESS + 3D NOTICES (safe overrides only) ===== */
[hidden]{display:none!important}
.ice-normal-notice{
  position:relative;z-index:8;margin:4px 16px 14px!important;transform:translateY(-2px);
  min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px solid rgba(231,216,151,.55);box-shadow:0 10px 25px rgba(66,92,146,.10),inset 0 1px 0 rgba(255,255,255,.9)
}
.topbar{position:relative;z-index:5}






.ice-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ice-permission-option{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:16px;background:#f7faff;border:1px solid #e1e9f7;cursor:pointer;color:#34405f;font-size:13px;font-weight:800}
.ice-permission-option input{width:18px;height:18px;accent-color:#36a9ed}
.ice-permission-option:has(input:checked){background:#ecf8ff;border-color:#83cef6;box-shadow:0 0 0 2px rgba(54,169,237,.08)}
@media(max-width:520px){.ice-permission-grid{grid-template-columns:1fr}}


/* ===== ICE SAFE UI FIX: notification count, hydration, admin spacing, centered instant notice ===== */
.bell .badge:empty{visibility:hidden}

.ice-hydrate-profile{position:relative;overflow:hidden}
.ice-hydrate-profile:not(.is-ready) .profile-main,
.ice-hydrate-profile:not(.is-ready) .profile-stats{visibility:hidden}
.ice-hydrate-profile:not(.is-ready)::before{
  content:"";position:absolute;inset:18px;border-radius:28px;z-index:3;
  background:linear-gradient(100deg,#eef5ff 18%,#fff 34%,#eef5ff 50%);
  background-size:220% 100%;animation:iceHydrateShimmer 1.1s linear infinite
}
.ice-hydrate-profile:not(.is-ready)::after{
  content:"در حال دریافت اطلاعات پروفایل...";position:absolute;inset:0;z-index:4;
  display:grid;place-items:center;color:#71809d;font-size:13px;font-weight:900
}

.ice-orders-loading{display:grid;gap:12px;padding:6px 0 20px}
.ice-orders-loading span{display:block;height:112px;border-radius:26px;background:linear-gradient(100deg,#eef5ff 18%,#fff 34%,#eef5ff 50%);background-size:220% 100%;animation:iceHydrateShimmer 1.1s linear infinite;box-shadow:inset 0 0 0 1px rgba(218,226,245,.65)}
.ice-orders-hydrate.is-ready .ice-orders-loading{display:none}
@keyframes iceHydrateShimmer{to{background-position:-220% 0}}

/* پنل موبایل: هدر و منوی مدیریت دیگر روی هم قرار نمی‌گیرند. */
@media(max-width:760px){
  .admin-top{position:relative!important;top:auto!important;z-index:4!important;margin-bottom:12px!important}
  .admin-top>div:last-child{display:flex;width:100%;gap:10px;align-items:stretch}
  .admin-top>div:last-child .admin-btn{flex:1;min-width:0}
  .admin-menu-wrap{position:relative!important;top:auto!important;z-index:3!important;margin-top:0!important;margin-bottom:16px!important}
}






@media(max-width:520px){
  
}









@media(max-width:520px){
  
}










@media(max-width:520px){
  
  
  
}

/* ===== ICE INSTANT NOTICE REBUILT 2026 =====
   اعلان فوری مستقل؛ بدون وابستگی به استایل‌های قدیمی. اعلان ثابت سایت دست‌نخورده است. */
.ice-flash-notice-v3{
  --ice-flash-blue:#35adee;
  --ice-flash-purple:#8a63ef;
  position:fixed;
  z-index:100050;
  top:calc(env(safe-area-inset-top, 0px) + 14px);
  left:50%;
  width:min(430px,calc(100vw - 22px));
  min-height:82px;
  box-sizing:border-box;
  padding:15px 58px;
  direction:rtl;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.94);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,248,255,.98) 55%,rgba(247,241,255,.98));
  box-shadow:0 24px 55px rgba(31,72,126,.24),0 8px 22px rgba(119,86,221,.13),inset 0 1px 0 rgba(255,255,255,1);
  opacity:0;
  transform-origin:center top;
  transform:translate3d(-50%,-130%,0) perspective(900px) rotateX(-14deg) scale(.96);
  transition:transform .52s cubic-bezier(.2,.86,.25,1.08),opacity .28s ease;
  will-change:transform,opacity;
  pointer-events:auto;
}
.ice-flash-notice-v3::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--ice-flash-blue),var(--ice-flash-purple),#ec6fb2);
}
.ice-flash-notice-v3::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:150px;
  height:150px;
  top:-105px;
  right:-60px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(77,183,239,.22),transparent 68%);
  pointer-events:none;
}
.ice-flash-notice-v3.is-visible{
  opacity:1;
  transform:translate3d(-50%,0,0) perspective(900px) rotateX(0) scale(1);
}
.ice-flash-notice-v3.is-leaving{
  opacity:0;
  transform:translate3d(-50%,-125%,0) perspective(900px) rotateX(11deg) scale(.97);
}
.ice-flash-notice-v3__icon,.ice-flash-notice-v3__close{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  box-sizing:border-box;
}
.ice-flash-notice-v3__icon{
  right:13px;
  width:39px;
  height:39px;
  border-radius:14px;
  background:linear-gradient(145deg,#edfaff,#f1eaff);
  box-shadow:inset 0 0 0 1px rgba(119,142,215,.12),0 7px 16px rgba(68,111,178,.10);
  font-size:23px;
  line-height:1;
}
.ice-flash-notice-v3__close{
  left:13px;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.8);
  box-shadow:inset 0 0 0 1px rgba(211,220,239,.9);
  color:#77829b;
  font:900 23px/1 Arial,sans-serif;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.ice-flash-notice-v3__close:active{transform:translateY(-50%) scale(.92)}
.ice-flash-notice-v3__content{width:100%;min-width:0;text-align:center}
.ice-flash-notice-v3__content strong{
  display:block;
  margin:0 0 4px;
  color:#172546;
  font-size:15px;
  font-weight:950;
  line-height:1.7;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}
.ice-flash-notice-v3__content p{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:#68758f;
  font-size:13px;
  font-weight:750;
  line-height:1.75;
  text-align:center;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.ice-flash-notice-v3__progress{
  position:absolute;
  right:0;
  bottom:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--ice-flash-blue),var(--ice-flash-purple));
  transform-origin:right center;
  animation:iceFlashNoticeProgress var(--ice-flash-duration,6000ms) linear forwards;
}
@keyframes iceFlashNoticeProgress{to{transform:scaleX(0)}}
@media(max-width:520px){
  .ice-flash-notice-v3{top:calc(env(safe-area-inset-top, 0px) + 10px);width:calc(100vw - 16px);min-height:76px;padding:13px 52px;border-radius:21px}
  .ice-flash-notice-v3__icon{right:10px;width:36px;height:36px;border-radius:13px;font-size:21px}
  .ice-flash-notice-v3__close{left:10px;width:31px;height:31px;font-size:21px}
  .ice-flash-notice-v3__content strong{font-size:14px}
  .ice-flash-notice-v3__content p{font-size:12.5px;line-height:1.7}
}
@media(prefers-reduced-motion:reduce){
  .ice-flash-notice-v3{transition:opacity .18s ease;transform:translate3d(-50%,0,0)}
  .ice-flash-notice-v3__progress{animation:none}
}
/* ===== END ICE INSTANT NOTICE REBUILT 2026 ===== */



/* Iceberry checkout delivery method - single integrated layer */
.ice-delivery-method-card{margin:14px 16px;background:#fff;border-radius:28px;padding:16px;box-shadow:0 14px 34px rgba(79,136,219,.13),inset 0 0 0 1px rgba(215,223,242,.75)}
.ice-delivery-method-card h2{margin:0 0 12px;color:#182348;font-size:18px}
.ice-delivery-method-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ice-delivery-method-option{position:relative;display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #dfe8f7;border-radius:20px;background:#f9fbff;cursor:pointer;transition:.18s ease}
.ice-delivery-method-option input{position:absolute;opacity:0;pointer-events:none}
.ice-delivery-method-option.is-selected{border-color:#36a9ee;background:linear-gradient(145deg,#f2fbff,#eef6ff);box-shadow:0 8px 20px rgba(54,169,238,.16),inset 0 0 0 1px rgba(54,169,238,.08)}
.ice-delivery-method-option.is-selected::after{content:'✓';position:absolute;top:8px;left:8px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#2f9eea;color:#fff;font-weight:1000;font-size:13px}
.ice-delivery-method-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#fff;font-size:23px;box-shadow:0 7px 16px rgba(78,111,177,.12)}
.ice-delivery-method-option b{display:block;color:#182348;font-size:14px}.ice-delivery-method-option small{display:block;margin-top:4px;color:#74809c;line-height:1.7;font-size:11px;font-weight:700}
.ice-checkout-price-summary{margin-top:14px;padding-top:12px;border-top:1px solid #e8eef8}
#checkoutShippingRow.is-pickup strong del{color:#9aa5ba;text-decoration-thickness:2px;margin-left:7px}.ice-shipping-zero{color:#16a05d;font-weight:1000}
[data-delivery-address-field][hidden]{display:none!important}
@media(max-width:560px){.ice-delivery-method-options{grid-template-columns:1fr}.ice-delivery-method-card{margin-inline:12px}.ice-delivery-method-option{min-height:78px}}

/* ICE_PAYMENT_FLOW_20260811_START */
.ice-payment-result-card{width:min(92%,680px);margin:28px auto 110px;padding:28px 22px;border-radius:32px;text-align:center;background:#fff;box-shadow:0 20px 55px rgba(45,74,130,.14),inset 0 0 0 1px rgba(210,223,242,.78)}
.ice-payment-result-card h1{margin:12px 0 8px;color:#182348;font-size:clamp(24px,4vw,34px)}
.ice-payment-result-card>p{max-width:560px;margin:0 auto 18px;color:#6d7896;line-height:2;font-weight:700}
.ice-payment-result-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 13px;border-radius:999px;font-size:12px;font-weight:950}.ice-payment-result-badge.success{background:#eafbf2;color:#168a4b}.ice-payment-result-badge.failed{background:#fff0f2;color:#c93f52}
.ice-payment-result-info{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0!important}.ice-payment-result-info>div{min-width:0;padding:14px;border-radius:20px;background:#f7faff}.ice-payment-result-info span{display:block;color:#7a849f;font-size:12px;margin-bottom:6px}.ice-payment-result-info strong{display:block;color:#1f2c56;overflow-wrap:anywhere}
.ice-failed-icon{background:linear-gradient(135deg,#ff7589,#d94f64)!important;color:#fff!important}.ice-payment-fail-btn{background:linear-gradient(135deg,#ff7589,#d94f64)!important}.ice-payment-test-actions{display:grid;gap:10px;margin-top:16px}.ice-payment-mode-badge{display:inline-flex;padding:6px 11px;border-radius:999px;background:#fff6d9;color:#8a6816;font-size:12px;font-weight:900}.ice-payment-paid{display:block;margin-top:5px;color:#168a4b;font-weight:900;font-size:11px}
@media(max-width:640px){.ice-payment-result-card{width:calc(100% - 24px);margin-top:16px;padding:22px 14px;border-radius:26px}.ice-payment-result-info{grid-template-columns:1fr!important}.ice-payment-result-card .success-btn{width:100%;display:flex;justify-content:center;box-sizing:border-box}.ice-payment-test-actions .success-btn{width:100%}}
/* ICE_PAYMENT_FLOW_20260811_END */
