/*
Theme Name: Velina Beauty
Template: hello-elementor
Author: Velina Beauty
Description: پوسته اختصاصی فروشگاه ولینا بیوتی، بر پایه سلام المنتور.
Version: 1.0.0
Text Domain: velina-beauty
*/

:root{
  --v-purple-1:#7c3aed; --v-purple-2:#5b1fb8; --v-purple-3:#3b0f6e; --v-purple-4:#1d0737;
  --v-teal-1:#14b8b8; --v-teal-2:#0b7d7d; --v-teal-3:#0f9f9f;
  --v-ink:#241238; --v-text:#54406e; --v-muted:#6b5583;
  --v-bg-1:#f4f0fb; --v-bg-2:#efe3ff; --v-bg-3:#dcfbfa; --v-bg-4:#f6f2fd;
  --v-card:rgba(255,255,255,.62); --v-card-b:rgba(255,255,255,.9);
}

html,body{margin:0;padding:0;}
body{
  font-family:'Vazirmatn', system-ui, sans-serif;
  background:
    radial-gradient(120% 90% at 90% -10%, var(--v-bg-2) 0%, rgba(239,227,255,0) 60%),
    radial-gradient(90% 70% at 5% 0%, var(--v-bg-3) 0%, rgba(220,251,250,0) 55%),
    linear-gradient(180deg,var(--v-bg-4) 0%,#f2eefb 45%,#f7f3ff 100%);
  color:var(--v-ink); -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,blockquote,figcaption,a,span,div,li,label,button,input,textarea,select{font-family:'Vazirmatn', system-ui, sans-serif;}
*{box-sizing:border-box;}
a{color:var(--v-purple-2); text-decoration:none;}
a:hover{color:var(--v-teal-2);}
img{max-width:100%; display:block;}
.v-wrap{max-width:1320px; margin:0 auto; padding:0 clamp(14px,3vw,40px);}
.v-container{position:relative; z-index:2;}

@keyframes vFloat{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(0,-28px,0) scale(1.06);}}
@keyframes vDrawerR{from{transform:translateX(100%);}to{transform:translateX(0);}}
@keyframes vDrawerL{from{transform:translateX(-100%);}to{transform:translateX(0);}}
@keyframes vFade{from{opacity:0;}to{opacity:1;}}
@keyframes vDrop{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}

/* blobs */
.v-blobs{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;}
.v-blob{position:absolute; border-radius:50%; filter:blur(30px);}
.v-blob-1{top:-160px; right:-120px; width:560px; height:560px; background:radial-gradient(circle at 35% 35%, rgba(139,92,246,.55), rgba(139,92,246,0) 70%); animation:vFloat 16s ease-in-out infinite;}
.v-blob-2{top:280px; left:-140px; width:520px; height:520px; background:radial-gradient(circle at 50% 50%, rgba(20,184,184,.42), rgba(20,184,184,0) 70%); filter:blur(34px); animation:vFloat 21s ease-in-out infinite reverse;}
.v-blob-3{top:1500px; right:8%; width:420px; height:420px; background:radial-gradient(circle at 50% 50%, rgba(196,132,252,.4), rgba(196,132,252,0) 70%); animation:vFloat 19s ease-in-out infinite;}

/* top bar */
.v-topbar{display:flex; align-items:center; justify-content:center; gap:10px; padding:9px 18px; font-size:13px; font-weight:500; color:#fdf6ff; background:linear-gradient(90deg,var(--v-purple-3),var(--v-purple-2) 45%,var(--v-teal-3)); letter-spacing:.2px; text-align:center; flex-wrap:wrap;}
.v-topbar .sep{opacity:.45;}

/* header */
.v-header{position:sticky; top:0; z-index:60; padding:12px clamp(14px,3vw,40px);
  background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(255,255,255,.6));
  backdrop-filter:blur(26px) saturate(190%); -webkit-backdrop-filter:blur(26px) saturate(190%);
  border-bottom:1px solid rgba(255,255,255,.8); box-shadow:0 14px 34px -24px rgba(59,15,110,.5);}
.v-header-row{max-width:1320px; margin:0 auto; display:flex; align-items:center; gap:clamp(10px,2vw,26px);}
.v-logo img{height:38px; width:auto;}
.v-nav{display:flex; align-items:center; gap:2px; flex-shrink:0; margin-inline-start:8px;}
.v-nav a{white-space:nowrap; padding:11px 14px; border-radius:14px; font-size:15px; font-weight:600; color:#2a1441;}
.v-nav a:hover{background:rgba(124,58,237,.1); color:#5b1fb8;}
.v-spacer{flex:1;}
.v-search{display:flex; align-items:center; gap:8px; min-width:0; max-width:320px; flex:1 1 150px; padding:9px 14px; border-radius:18px; background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 22px -18px rgba(59,15,110,.7);}
.v-search input{flex:1; border:0; background:transparent; outline:none; font-size:14px; color:#2a1441; min-width:0;}
.v-icon-btn{display:grid; place-items:center; width:44px; height:44px; border-radius:16px; border:1px solid rgba(255,255,255,.85); background:rgba(255,255,255,.55); font-size:16px; color:#5b1fb8; cursor:pointer;}
.v-icon-btn:hover{background:rgba(124,58,237,.14);}
.v-cart-btn{position:relative; display:flex; align-items:center; gap:9px; height:44px; padding:0 16px; border-radius:16px; border:0; cursor:pointer; font-size:14px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2) 60%,var(--v-teal-3)); box-shadow:0 14px 26px -14px rgba(91,31,184,.8);}
.v-cart-btn:hover{filter:brightness(1.08); color:#fff;}
.v-hamburger{display:none;}
@media(max-width:1023px){
  .v-nav,.v-search{display:none;}
  .v-hamburger{display:grid;}
}

/* hero */
.v-hero-section{padding:clamp(28px,5vw,70px) 0 0;}
.v-hero-grid{display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,44px); align-items:stretch;}
.v-hero-card{flex:1 1 420px; min-width:300px; display:flex; flex-direction:column; justify-content:center; gap:24px; padding:clamp(22px,3vw,44px);
  background:linear-gradient(150deg,rgba(255,255,255,.76),rgba(255,255,255,.42));
  backdrop-filter:blur(24px) saturate(180%); border:1px solid rgba(255,255,255,.85); border-radius:34px; box-shadow:0 40px 70px -46px rgba(59,15,110,.55);}
.v-badge-pill{display:inline-flex; align-items:center; gap:9px; align-self:flex-start; padding:7px 14px; border-radius:999px; background:rgba(20,184,184,.14); border:1px solid rgba(20,184,184,.3); font-size:12.5px; font-weight:700; color:#0b7d7d;}
.v-badge-dot{width:7px; height:7px; border-radius:50%; background:var(--v-teal-1);}
.v-hero-card h1{margin:0; font-size:clamp(32px,5.2vw,60px); line-height:1.14; font-weight:800; letter-spacing:-.02em; color:var(--v-purple-4);}
.v-hero-grad{background:linear-gradient(100deg,var(--v-purple-1),#c026d3 45%,var(--v-teal-3)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.v-hero-card p.lead{margin:0; max-width:46ch; font-size:clamp(15px,1.6vw,17.5px); line-height:2; color:var(--v-text);}
.v-hero-search{display:flex; align-items:center; gap:8px; padding:10px; border-radius:22px; background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.95); flex-wrap:wrap;}
.v-hero-search input{flex:1 1 200px; min-width:0; border:0; background:transparent; outline:none; font-size:15px; color:#2a1441; padding:12px 12px;}
.v-hero-search button{flex:0 0 auto; padding:14px 26px; border:0; border-radius:16px; cursor:pointer; font-size:15px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2));}
.v-hot{display:flex; flex-wrap:wrap; gap:8px;}
.v-hot span{padding:7px 13px; border-radius:999px; font-size:13px; font-weight:500; color:#5b1fb8; background:rgba(124,58,237,.1); border:1px solid rgba(124,58,237,.18);}
.v-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:14px; padding-top:8px; border-top:1px solid rgba(109,40,217,.14);}
.v-stats .val{font-size:clamp(20px,2.4vw,26px); font-weight:800; color:var(--v-purple-3);}
.v-stats .lbl{font-size:12.5px; color:var(--v-muted); font-weight:500;}
.v-hero-media{flex:1 1 360px; min-width:290px; position:relative; min-height:clamp(360px,46vw,560px); border-radius:34px; overflow:hidden; border:1px solid rgba(255,255,255,.85); box-shadow:0 50px 80px -50px rgba(59,15,110,.65); background:rgba(124,58,237,.1);}
.v-hero-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.v-hero-tag{position:absolute; inset-inline:16px; bottom:16px; padding:16px 18px; border-radius:24px;
  background:linear-gradient(150deg,rgba(255,255,255,.7),rgba(255,255,255,.4)); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.7); display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;}

/* benefits */
.v-benefits{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; padding:clamp(26px,4vw,54px) 0 0;}
.v-benefit{display:flex; align-items:center; gap:14px; padding:18px 20px; border-radius:24px;
  background:linear-gradient(150deg,rgba(255,255,255,.72),rgba(255,255,255,.4)); backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.85); box-shadow:0 22px 40px -32px rgba(59,15,110,.6);}
.v-benefit .ic{flex:0 0 auto; display:grid; place-items:center; width:46px; height:46px; border-radius:16px; font-size:19px; background:linear-gradient(140deg,rgba(124,58,237,.16),rgba(20,184,184,.16)); border:1px solid rgba(255,255,255,.8);}
.v-benefit .title{font-size:14.5px; font-weight:700; color:var(--v-ink);}
.v-benefit .note{font-size:12.5px; color:var(--v-muted); margin-top:2px;}

/* section heading */
.v-section{padding:clamp(40px,6vw,84px) 0 0;}
.v-section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:24px;}
.v-kicker{font-size:13px; font-weight:700; color:#0b7d7d; letter-spacing:.04em;}
.v-section-head h2{margin:6px 0 0; font-size:clamp(24px,3.4vw,38px); font-weight:800; color:var(--v-purple-4); letter-spacing:-.015em;}
.v-more-link{font-size:14px; font-weight:700; padding:11px 18px; border-radius:14px; background:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.9); box-shadow:0 14px 26px -22px rgba(59,15,110,.7);}

/* categories */
.v-cat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px;}
.v-cat-card{display:block; border-radius:26px; overflow:hidden; border:1px solid rgba(255,255,255,.85); background:rgba(255,255,255,.55); box-shadow:0 26px 46px -34px rgba(59,15,110,.6); transition:transform .3s ease, box-shadow .3s ease;}
.v-cat-card:hover{transform:translateY(-6px); box-shadow:0 40px 60px -34px rgba(59,15,110,.6);}
.v-cat-img{position:relative; aspect-ratio:4/3; background:rgba(124,58,237,.08); overflow:hidden;}
.v-cat-img img{width:100%; height:100%; object-fit:cover;}
.v-cat-body{padding:15px 17px; display:flex; align-items:center; justify-content:space-between; gap:8px;}
.v-cat-body .name{font-size:15px; font-weight:700; color:var(--v-ink);}
.v-cat-body .count{font-size:12px; color:var(--v-muted); margin-top:3px;}
.v-cat-body .arrow{font-size:14px; color:var(--v-teal-1);}

/* products */
.v-tabs{display:flex; flex-wrap:wrap; gap:8px; padding:7px; border-radius:20px; background:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.9);}
.v-tabs button{padding:10px 16px; border:0; border-radius:14px; cursor:pointer; font-size:14px; font-weight:700; background:transparent; color:#4b3663;}
.v-tabs button.active{background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2)); color:#fff;}
.v-product-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; margin-top:20px;}
.v-product-card{position:relative; display:flex; flex-direction:column; border-radius:26px; overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.46)); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9); box-shadow:0 28px 50px -36px rgba(59,15,110,.6); transition:transform .3s ease;}
.v-product-card:hover{transform:translateY(-6px);}
.v-product-img{position:relative; aspect-ratio:1/1; background:rgba(124,58,237,.07); overflow:hidden;}
.v-product-img img{width:100%; height:100%; object-fit:cover;}
.v-badge{position:absolute; top:12px; inset-inline-start:12px; padding:6px 11px; border-radius:999px; font-size:11.5px; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--v-purple-1),#c026d3);}
.v-product-body{display:flex; flex-direction:column; gap:9px; padding:16px 17px 18px;}
.v-brand{font-size:11.5px; font-weight:700; color:#0b7d7d;}
.v-product-body h3{margin:0; font-size:15px; font-weight:700; line-height:1.6; color:var(--v-ink); min-height:48px;}
.v-price-row{display:flex; align-items:baseline; gap:8px; margin-top:2px; flex-wrap:wrap;}
.v-price{font-size:17px; font-weight:800; color:var(--v-purple-3);}
.v-price-old{font-size:12.5px; color:#9d8bb3; text-decoration:line-through;}
.v-product-body .button, .v-product-body a.added_to_cart{margin-top:6px; padding:12px 14px; border:0; border-radius:15px; cursor:pointer; font-size:14px; font-weight:700; color:#fff !important; background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2) 65%,var(--v-teal-3)); text-align:center; display:block;}
.v-product-body .button:hover{filter:brightness(1.1); color:#fff !important;}

/* deal banner */
.v-deal{position:relative; overflow:hidden; border-radius:34px; border:1px solid rgba(255,255,255,.5); box-shadow:0 50px 80px -50px rgba(59,15,110,.7); background:linear-gradient(120deg,#2b0a52 0%,var(--v-purple-2) 48%,#0b7d7d 100%);}
.v-deal-inner{position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:clamp(20px,4vw,50px); padding:clamp(26px,4vw,52px);}
.v-deal-text{flex:1 1 300px; min-width:270px; display:flex; flex-direction:column; gap:18px; color:#fff;}
.v-deal-text h2{margin:0; font-size:clamp(26px,3.8vw,42px); font-weight:800; line-height:1.25; color:#fff;}
.v-deal-text p{margin:0; max-width:44ch; font-size:15px; line-height:1.95; color:rgba(255,255,255,.78);}
.v-clock{display:flex; gap:10px; flex-wrap:wrap;}
.v-clock div{min-width:78px; padding:14px 10px; border-radius:20px; text-align:center; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28);}
.v-clock .v{font-size:clamp(22px,3vw,30px); font-weight:800; color:#fff; font-variant-numeric:tabular-nums;}
.v-clock .l{font-size:11.5px; color:rgba(255,255,255,.7); margin-top:3px;}
.v-deal-cta{align-self:flex-start; margin-top:4px; padding:15px 28px; border-radius:17px; font-size:15px; font-weight:800; color:#2b0a52 !important; background:#fff;}
.v-deal-media{flex:1 1 280px; min-width:250px; position:relative; aspect-ratio:1/1; max-height:400px; border-radius:28px; overflow:hidden; border:1px solid rgba(255,255,255,.35);}
.v-deal-media img{width:100%; height:100%; object-fit:cover;}

/* bestsellers rail */
.v-rail-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:22px;}
.v-rail-nav{display:flex; gap:9px;}
.v-rail-nav button{width:46px; height:46px; border-radius:16px; cursor:pointer; border:1px solid rgba(255,255,255,.9); background:rgba(255,255,255,.6); color:var(--v-purple-3); font-size:16px;}
.v-rail{display:flex; gap:16px; overflow-x:auto; scroll-behavior:smooth; padding:6px 2px 14px;}
.v-rail-card{flex:0 0 clamp(230px,26vw,290px); display:flex; flex-direction:column; border-radius:26px; overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.44)); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9); box-shadow:0 28px 50px -36px rgba(59,15,110,.6);}
.v-rail-card .v-product-img{aspect-ratio:1/1;}
.v-rank{position:absolute; top:12px; inset-inline-start:12px; padding:6px 11px; border-radius:999px; font-size:11.5px; font-weight:800; color:#0b7d7d; background:rgba(255,255,255,.85);}

/* brand strip */
.v-brand-panel{padding:clamp(22px,3vw,38px); border-radius:30px; background:linear-gradient(150deg,rgba(255,255,255,.7),rgba(255,255,255,.38)); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.85);}
.v-brand-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px;}
.v-brand-grid div{display:grid; place-items:center; padding:20px 12px; border-radius:20px; background:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.9); font-size:15px; font-weight:700; color:#4b3663;}

/* reviews */
.v-review-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;}
.v-review{display:flex; flex-direction:column; gap:16px; padding:26px; border-radius:28px; background:linear-gradient(160deg,rgba(255,255,255,.76),rgba(255,255,255,.42)); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.9);}
.v-review .stars{font-size:14px; color:#f59e0b; letter-spacing:2px;}
.v-review blockquote{margin:0; font-size:15px; line-height:2; color:#3d2b55;}
.v-review .who{display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid rgba(109,40,217,.13);}
.v-review .who img{width:42px; height:42px; border-radius:50%; object-fit:cover;}
.v-review .who .name{font-size:14px; font-weight:700; color:var(--v-ink);}
.v-review .who .meta{font-size:12px; color:var(--v-muted);}

/* blog */
.v-blog-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:18px;}
.v-blog-card{display:flex; flex-direction:column; border-radius:28px; overflow:hidden; border:1px solid rgba(255,255,255,.9); background:rgba(255,255,255,.6); box-shadow:0 28px 50px -38px rgba(59,15,110,.6);}
.v-blog-card:hover{transform:translateY(-5px);}
.v-blog-img{position:relative; aspect-ratio:16/10; background:rgba(124,58,237,.08); overflow:hidden;}
.v-blog-img img{width:100%; height:100%; object-fit:cover;}
.v-blog-body{padding:18px 20px 22px; display:flex; flex-direction:column; gap:10px;}
.v-blog-body .meta{display:flex; align-items:center; gap:8px; font-size:12px; color:var(--v-muted);}
.v-blog-body .tag{padding:5px 10px; border-radius:999px; background:rgba(20,184,184,.14); color:#0b7d7d; font-weight:700;}
.v-blog-body h3{margin:0; font-size:16.5px; font-weight:700; line-height:1.65; color:var(--v-ink);}

/* instagram */
.v-insta-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px;}
.v-insta-grid div{position:relative; aspect-ratio:1/1; border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,.85);}
.v-insta-grid img{width:100%; height:100%; object-fit:cover;}

/* newsletter */
.v-news{position:relative; overflow:hidden; padding:clamp(26px,4vw,54px); border-radius:34px; border:1px solid rgba(255,255,255,.55); background:linear-gradient(115deg,#1d0737 0%,var(--v-purple-2) 55%,#0f9f9f 100%);}
.v-news-inner{position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:26px; justify-content:space-between;}
.v-news h2{margin:0 0 12px; font-size:clamp(23px,3.2vw,34px); font-weight:800; color:#fff; line-height:1.35;}
.v-news p{margin:0; max-width:48ch; font-size:14.5px; line-height:1.95; color:rgba(255,255,255,.76);}
.v-news-form{display:flex; gap:8px; flex-wrap:wrap; padding:9px; border-radius:22px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);}
.v-news-form input{flex:1 1 170px; min-width:0; border:0; outline:none; background:transparent; padding:14px; font-size:14.5px; color:#fff;}
.v-news-form button{flex:0 0 auto; padding:14px 24px; border:0; border-radius:15px; cursor:pointer; font-size:14.5px; font-weight:800; color:#2b0a52; background:#fff;}
.v-news-msg{margin-top:12px; font-size:13.5px; font-weight:600; color:#c8fbf7;}

/* footer */
.v-footer{margin-top:clamp(44px,6vw,88px); padding:clamp(30px,4vw,58px) 0 26px; background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.8)); border-top:1px solid rgba(255,255,255,.9); backdrop-filter:blur(18px);}
.v-footer-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:30px;}
.v-footer-brand p{margin:0; font-size:13.5px; line-height:1.95; color:var(--v-muted); max-width:34ch;}
.v-footer-brand img{height:36px; margin-bottom:14px;}
.v-social{display:flex; gap:9px; margin-top:14px;}
.v-social a{display:grid; place-items:center; width:40px; height:40px; border-radius:14px; background:rgba(124,58,237,.1); border:1px solid rgba(255,255,255,.9); font-size:13px; font-weight:700;}
.v-footer-col .title{font-size:14px; font-weight:800; color:var(--v-ink); margin-bottom:11px;}
.v-footer-col a{display:block; font-size:13.5px; color:var(--v-muted); padding:4px 0;}
.v-footer-col a:hover{color:#5b1fb8;}
.v-trust{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
.v-trust span{padding:9px 13px; border-radius:14px; font-size:12.5px; font-weight:600; color:#4b3663; background:rgba(255,255,255,.75); border:1px solid rgba(255,255,255,.95);}
.v-footer-bottom{max-width:1320px; margin:26px auto 0; padding:18px clamp(14px,3vw,40px) 0; border-top:1px solid rgba(109,40,217,.14); display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; font-size:12.5px; color:var(--v-muted);}

/* mobile drawer & bottom nav */
.v-overlay{position:fixed; inset:0; z-index:90; display:none;}
.v-overlay.open{display:block;}
.v-overlay-bg{position:absolute; inset:0; background:rgba(29,7,55,.42); backdrop-filter:blur(6px);}
.v-drawer{position:absolute; top:0; bottom:0; right:0; width:min(360px,88vw); display:flex; flex-direction:column; animation:vDrawerR .32s cubic-bezier(.32,.72,0,1) both;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,242,253,.94)); border-left:1px solid rgba(255,255,255,.9); overflow-y:auto;}
.v-drawer-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid rgba(109,40,217,.13);}
.v-drawer nav{padding:16px 14px 20px; display:flex; flex-direction:column; gap:6px;}
.v-drawer nav a{padding:15px 16px; border-radius:18px; background:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.85); font-size:15.5px; font-weight:700; color:var(--v-ink);}
.v-bottom-nav{display:none;}
@media(max-width:1023px){
  .v-bottom-nav{display:grid; grid-template-columns:repeat(5,1fr); gap:4px; position:fixed; bottom:0; left:0; right:0; z-index:85; padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.96)); border-top:1px solid rgba(255,255,255,.95);}
  .v-bottom-nav a,.v-bottom-nav button{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:56px; border:0; border-radius:16px; background:transparent; cursor:pointer; font-family:inherit; font-size:11.5px; font-weight:600; color:#4b3663;}
  .v-bottom-spacer{height:80px;}
}

/* cart drawer */
.v-cart-drawer{position:absolute; inset-block:0; inset-inline-start:0; width:min(400px,92vw); display:flex; flex-direction:column; animation:vDrawerL .32s cubic-bezier(.32,.72,0,1) both;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,240,251,.94)); overflow-y:auto;}
.v-cart-drawer .widget_shopping_cart_content{padding:16px 20px; flex:1;}
.v-cart-drawer ul.woocommerce-mini-cart{list-style:none; margin:0; padding:0;}
.v-cart-drawer ul.woocommerce-mini-cart li{display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid rgba(109,40,217,.1);}
.v-cart-drawer ul.woocommerce-mini-cart li img{width:56px; height:56px; object-fit:cover; border-radius:14px;}
.v-cart-drawer .total{font-weight:800; color:var(--v-purple-3);}
.v-cart-drawer .buttons a{display:block; padding:14px; border-radius:16px; text-align:center; font-weight:700; margin-top:8px;}
.v-cart-drawer .buttons a.checkout{background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2)); color:#fff !important;}
.v-cart-drawer .buttons a.wc-forward:not(.checkout){background:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.95); color:var(--v-purple-3) !important;}

/* generic content page */
.v-page-hero{padding:clamp(50px,7vw,90px) 0 clamp(30px,4vw,50px);}
.v-page-hero h1{margin:0; font-size:clamp(28px,4vw,44px); font-weight:800; color:var(--v-purple-4);}
.v-page-content{padding:0 0 clamp(60px,8vw,110px); max-width:900px;}
.v-page-content{background:linear-gradient(150deg,rgba(255,255,255,.72),rgba(255,255,255,.4)); backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.85); border-radius:30px; padding:clamp(24px,4vw,44px); margin-bottom:clamp(60px,8vw,110px); line-height:2; color:var(--v-text);}
.v-page-content h2{color:var(--v-purple-4);}
.v-faq-item{padding:18px 0; border-bottom:1px solid rgba(109,40,217,.13);}
.v-faq-item h3{margin:0 0 8px; color:var(--v-ink); font-size:16px;}

@media(max-width:1023px){ .v-cart-btn span:first-child{display:none;} }

/* ===== WooCommerce Cart & Checkout blocks ===== */
.woocommerce-cart .v-page-content,
.woocommerce-checkout .v-page-content{max-width:1320px;}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{font-family:'Vazirmatn', system-ui, sans-serif !important; color:var(--v-ink);}

.wc-block-components-sidebar-layout{display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start;}
.wc-block-components-main{flex:2 1 380px; min-width:280px;}
.wc-block-components-sidebar{flex:1 1 280px; min-width:260px;}

.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-components-checkout-step,
.wc-block-components-panel{
  background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.46)) !important;
  backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,.9) !important;
  border-radius:22px !important;
  box-shadow:0 24px 44px -34px rgba(59,15,110,.5);
  padding:20px !important;
  margin-bottom:16px;
}

.wc-block-components-checkout-step__title{color:var(--v-purple-4) !important; font-weight:800 !important;}

.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
select.wc-block-components-address-form-select,
.wc-block-components-combobox input{
  border-radius:14px !important; border:1px solid rgba(124,58,237,.25) !important;
  background:rgba(255,255,255,.75) !important; font-family:'Vazirmatn', system-ui, sans-serif !important;
}
.wc-block-components-text-input input:focus{border-color:var(--v-purple-1) !important; box-shadow:0 0 0 3px rgba(124,58,237,.15) !important;}

.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option{
  border-radius:14px !important; border:1px solid rgba(255,255,255,.9) !important;
  background:rgba(255,255,255,.6) !important; margin-bottom:8px !important;
}
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control-accordion-option--checked{
  border-color:var(--v-purple-1) !important; background:rgba(124,58,237,.08) !important;
}

.wc-block-components-button,
.wc-block-components-button.wp-element-button{
  border-radius:15px !important; font-weight:700 !important; font-family:'Vazirmatn', system-ui, sans-serif !important;
}
.wc-block-components-button:not(.wc-block-components-quantity-selector__button):not(.is-link){
  background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2) 65%,var(--v-teal-3)) !important;
  color:#fff !important; border:0 !important;
}
.wc-block-components-button:hover{filter:brightness(1.08);}
.wc-block-components-button.is-link{color:var(--v-purple-2) !important; background:transparent !important;}

.wc-block-components-quantity-selector{border-radius:12px !important; border:1px solid rgba(124,58,237,.2) !important; background:rgba(255,255,255,.7) !important;}
.wc-block-components-quantity-selector__button{background:transparent !important; color:var(--v-purple-3) !important;}

.wc-block-components-totals-item__value,
.wc-block-components-formatted-money-amount{color:var(--v-purple-3) !important; font-weight:800 !important;}

.wc-block-components-product-name{color:var(--v-ink) !important; font-weight:700 !important;}

.wc-block-components-notice-banner{border-radius:16px !important;}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:linear-gradient(135deg,var(--v-purple-1),var(--v-purple-2) 60%,var(--v-teal-3)) !important;
  color:#fff !important; border:0 !important; border-radius:16px !important; font-weight:800 !important; padding:16px !important;
}
