/*
Theme Name: پارس مدرن
Theme URI: https://www.parsmodern01.ir
Author: Pars Modern
Author URI: https://www.parsmodern01.ir
Description: پوسته اختصاصی فروشگاه لپ‌تاپ استوک پارس مدرن — طراحی‌شده با الهام از چیدمان klap.ir
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: pars-modern
*/

:root{
  --blue:#1B9AD6;
  --blue-dark:#0B4C73;
  --cyan:#29C6E0;
  --orange:#F5A623;
  --green:#2FB673;
  --bg:#F5F7FA;
  --card:#FFFFFF;
  --line:#E7EAEE;
  --text:#1F2937;
  --text-2:#6B7280;
  --footer-bg:#0A2E45;
  --footer-text:#B9C7D3;
  --shadow: 0 10px 30px rgba(11,76,115,.08);
  --r-card:14px;
  --r-btn:10px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:hidden;}
body{font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--text);line-height:1.7;}

/* prevents Persian/RTL text from scrambling the digit-group order of any phone number */
.pm-phone-ltr{direction:ltr;unicode-bidi:bidi-override;white-space:nowrap;}
.container{max-width:1440px;margin:0 auto;padding:0 40px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}

/* topbar */
.topbar{background:#fff;border-bottom:1px solid var(--line);font-size:12.5px;}
.topbar .container{display:flex;justify-content:flex-end;gap:22px;height:34px;align-items:center;color:#4B5563;}
.topbar a:hover{color:var(--blue);}

/* header */
header.site-header{background:#fff;border-bottom:1px solid var(--line);}
header.site-header .container{display:flex;align-items:center;justify-content:space-between;height:88px;gap:30px;}

.header-left{display:flex;align-items:center;gap:16px;}
.login-btn{height:38px;padding:0 16px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;color:var(--text);}
.login-btn:hover{border-color:var(--blue);color:var(--blue);}
.cart-btn{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;}
.cart-btn .badge{position:absolute;top:-6px;left:-6px;background:var(--orange);color:#fff;font-size:10px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

.pm-search{flex:1;max-width:560px;position:relative;}
.pm-search input{width:100%;height:46px;border-radius:10px;border:1px solid var(--line);background:var(--bg);padding:0 46px 0 18px;font-family:'Vazirmatn';font-size:14px;color:var(--text);}
.pm-search input::placeholder{color:#9AA4B2;}
.pm-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);}

.logo{display:flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;}
.logo .mark{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:15px;position:relative;}
.logo .mark::after{content:"";position:absolute;bottom:-4px;left:-4px;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#FFCE6B);}
.logo .word{font-size:19px;font-weight:800;color:var(--text);}
.logo .word span{color:var(--blue);}

nav.main-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:900;box-shadow:0 2px 10px rgba(11,76,115,0);transition:box-shadow .2s;}
nav.main-nav.is-stuck{box-shadow:0 4px 14px rgba(11,76,115,.12);}
nav.main-nav .container{display:flex;gap:26px;height:48px;align-items:center;}
nav.main-nav .container > ul{display:flex;gap:26px;align-items:center;height:100%;}
nav.main-nav .container > li,
nav.main-nav .container > ul > li{position:relative;height:100%;display:flex;align-items:center;}
nav.main-nav a{font-size:14px;font-weight:600;color:#374151;white-space:nowrap;}
nav.main-nav a:hover{color:var(--blue);}

/* dropdown: لپ تاپ > برند */
nav.main-nav .sub-menu{
  display:none;position:absolute;top:100%;right:0;z-index:50;
  background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow);padding:8px;min-width:160px;flex-direction:column;gap:2px;
}
nav.main-nav li.menu-item-has-children:hover .sub-menu{display:flex;}
nav.main-nav .sub-menu li{width:100%;}
nav.main-nav .sub-menu a{display:block;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:600;}
nav.main-nav .sub-menu a:hover{background:var(--bg);}

/* hero */
.hero-wrap{padding:34px 0;}
.hero-grid{display:grid;grid-template-columns:.7fr 1.6fr;gap:20px;}
.promo-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:18px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;overflow:hidden;}
.promo-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(11,76,115,.14);}
.promo-card h4{font-size:15px;font-weight:800;text-align:center;color:var(--blue-dark);padding-bottom:14px;border-bottom:2px solid var(--blue);margin-bottom:16px;}

/* هر محصولِ فروش‌ویژه (چه توی اسلایدرِ چندتایی، چه حالت تک‌محصولی).
   ارتفاع عکس رو عمداً ثابت می‌کنیم (نه max-width آزاد) چون وقتی چند
   اسلاید روی هم با position:absolute قرار می‌گیرن، ارتفاع باکس‌شون از
   روی یک عدد ثابت حدس زده می‌شه؛ اگه عکس هرکدوم قد متفاوتی داشته باشه
   همون چیزی می‌شه که دیدیم: محتوا از کادر می‌زنه بیرون. */
.promo-slide{display:block;text-decoration:none;color:inherit;}
.promo-slide img{display:block;margin:0 auto 12px;width:auto;max-width:100%;height:150px;object-fit:contain;border-radius:10px;}
.promo-slide .name{
  font-size:13.5px;font-weight:700;text-align:center;margin-bottom:8px;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.promo-slide .price{text-align:center;}
.promo-slide .old{font-size:12px;color:#9AA4B2;text-decoration:line-through;display:block;}
.promo-slide .now{font-size:16px;font-weight:800;color:var(--blue-dark);}

/* وقتی بیش از یک محصولِ فروش‌ویژه داریم: محصولات یکی‌یکی و به‌آرومی محو
   می‌شن و جاشون رو به بعدی می‌دن (عیناً همون تکنیکِ اسلایدر بنر بالا،
   با همون keyframe: pmHeroFade). ارتفاع ثابت + overflow:hidden یعنی
   حتی اگه محاسبه‌ی ارتفاع یه‌جا دقیق نبود، چیزی از کادر بیرون نمی‌زنه. */
.promo-slider{position:relative;min-height:280px;overflow:hidden;}
.promo-slider .promo-slide{
  position:absolute;inset:0;opacity:0;pointer-events:none;
  animation-name:pmPromoFade;animation-timing-function:ease-in-out;animation-iteration-count:infinite;
}
/* عیناً همون pmHeroFade، با این تفاوت که pointer-events رو هم عوض می‌کنه؛
   وگرنه اسلایدهای نامرئی (opacity:0) هنوز فیزیکاً همون‌جان و کلیک رو
   به‌جای اسلاید دیده‌شده می‌گیرن (دقیقاً همون باگی که دیدید: همیشه
   آخرین محصول باز می‌شد، صرف‌نظر از اینکه کدوم دیده می‌شد). */
@keyframes pmPromoFade{
  0%{opacity:0;pointer-events:none;}
  4%{opacity:1;pointer-events:auto;}
  29%{opacity:1;pointer-events:auto;}
  33%{opacity:0;pointer-events:none;}
  100%{opacity:0;pointer-events:none;}
}

.promo-more{display:block;text-align:center;font-size:12.5px;font-weight:700;color:var(--blue);margin-top:10px;}
.promo-more:hover{text-decoration:underline;}

.hero-banner{
  display:block;border-radius:var(--r-card);
  position:relative;overflow:hidden;height:100%;
}
.hero-banner:hover{opacity:.94;}

/* بنرهای متحرک پس‌زمینه کادر آبی */
.hero-slider{position:absolute;inset:0;z-index:0;}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;animation-name:pmHeroFade;animation-timing-function:ease-in-out;animation-iteration-count:infinite;
  animation-duration:var(--pm-slide-total, 12s);
}
@keyframes pmHeroFade{
  0%{opacity:0;}
  4%{opacity:1;}
  29%{opacity:1;}
  33%{opacity:0;}
  100%{opacity:0;}
}

.btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 26px;border-radius:var(--r-btn);font-weight:700;font-size:14px;cursor:pointer;border:none;transition:.2s;}
.btn-white{background:#fff;color:var(--blue-dark);}
.btn-white:hover{background:#EAF7FB;}
.id-card{
  position:relative;z-index:2;width:220px;background:#fff;border-radius:12px;padding:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.25);transform:rotate(-4deg);color:var(--text);
}
.id-card .tag{font-size:10px;color:var(--blue-dark);font-weight:800;letter-spacing:.4px;margin-bottom:6px;}
.id-card .row{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2);border-bottom:1px dotted var(--line);padding:4px 0;}
.id-card .row b{color:var(--text);font-weight:700;}
.id-card .qr{width:40px;height:40px;background:repeating-conic-gradient(var(--blue-dark) 0% 25%, #fff 0% 50%) 0/9px 9px;border-radius:4px;margin-top:8px;}
.id-card .qr-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.id-card .qr-row span{font-size:9.5px;color:var(--text-2);max-width:100px;}

/* badges */
.badges{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:22px;}
.badge-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;text-decoration:none;color:inherit;}
.badge-card .ic{width:38px;height:38px;border-radius:50%;background:#EAF7FB;color:var(--blue);display:flex;align-items:center;justify-content:center;}
.badge-card b{font-size:13px;}
.badge-card span{font-size:11px;color:var(--text-2);}
.badge-qc,.badge-lift{cursor:pointer;transition:transform .2s,box-shadow .2s;}
.badge-qc:hover,.badge-lift:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(11,76,115,.14);}
.badge-qc:focus-visible,.badge-lift:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

/* پاپ‌آپ کارت هویت QC */
.pm-qc-modal{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;padding:20px;}
.pm-qc-modal.active{display:flex;}
.pm-qc-modal-backdrop{position:absolute;inset:0;background:rgba(11,35,67,.65);}
.pm-qc-modal-box{position:relative;z-index:1;max-width:520px;width:100%;background:#fff;border-radius:14px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.pm-qc-modal-box img{display:block;width:100%;height:auto;border-radius:8px;}
.pm-qc-modal-close{position:absolute;top:-14px;left:-14px;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--text);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2);}

.cpu-select{margin-top:26px;text-align:center;}
.gen-row{display:flex;flex-wrap:nowrap;gap:8px;margin-top:14px;justify-content:center;overflow-x:auto;padding-bottom:4px;}
.gen-pill{flex:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;text-align:center;font-size:11px;font-weight:700;color:var(--text-2);text-decoration:none;transition:.2s;white-space:nowrap;}
.gen-pill:hover{border-color:var(--blue);color:var(--blue);}
.gen-pill b{display:block;font-size:14px;color:var(--blue-dark);}
.gen-pill:hover b{color:var(--blue);}
.gen-pill.accent{background:var(--blue-dark);color:#fff;cursor:default;}
.gen-pill.accent:hover{border-color:var(--line);color:#fff;}
.gen-pill.accent b{color:#fff;}
.gen-pill.accent:hover b{color:#fff;}

/* sections */
.section{padding:56px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;}
.section-head h2{font-size:22px;font-weight:800;}
.section-head h2 span{color:var(--blue);}
.section-head a{color:var(--blue);font-size:13px;font-weight:700;}

.brands{padding:24px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.brands-viewport{max-width:1440px;margin:0 auto;padding:0 40px;overflow:hidden;}
.brands-track{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:16px;
  transition:transform .6s ease, opacity .6s ease;
}
.brands-track.is-out{transform:translateX(-60px);opacity:0;}
.brands-track.is-jump{transition:none !important;transform:translateX(60px);opacity:0;}
.logo-slot{
  height:40px;display:flex;align-items:center;justify-content:center;
  flex:1 1 0;
}
.logo-slot img{max-width:100%;max-height:100%;object-fit:contain;}
.logo-slot .placeholder{font-size:11px;color:#9AA4B2;font-weight:700;text-align:center;}

@media (max-width:780px){
  .brands-viewport{padding:0 16px;}
}

/* two banners side by side */
.dual-banners{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.dual-banner-item{
  position:relative;display:flex;align-items:flex-end;aspect-ratio:3/1;border-radius:var(--r-card);
  overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;
  text-decoration:none;transition:transform .25s,box-shadow .25s;
}
.dual-banner-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.dual-banner-item.no-img{background-image:linear-gradient(135deg,var(--cyan) 0%,var(--blue-dark) 100%);}
.dual-banner-item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,35,67,0) 45%,rgba(11,35,67,.6) 100%);
}
.dual-banner-title{position:relative;z-index:2;color:#fff;font-weight:800;font-size:16px;padding:18px 22px;line-height:1.6;}

/* blog articles */
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.blog-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .25s,transform .25s;}
.blog-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--blue);}
.blog-thumb{height:140px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.blog-thumb img{width:100%;height:100%;object-fit:cover;}
.blog-thumb-placeholder{font-size:12px;font-weight:700;color:#9AA4B2;}
.blog-body{padding:14px 16px 18px;}
.blog-excerpt{font-size:12.5px;color:var(--text-2);margin-top:6px;line-height:1.8;}
.pm-pagination{display:flex;justify-content:center;gap:8px;margin-top:34px;flex-wrap:wrap;}
.pm-pagination .page-numbers{
  min-width:40px;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);
  background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;
  font-size:13.5px;font-weight:700;text-decoration:none;transition:background .2s,color .2s,border-color .2s;
}
.pm-pagination .page-numbers.current{background:var(--blue);border-color:var(--blue);color:#fff;}
.pm-pagination .page-numbers:hover:not(.current){border-color:var(--blue);color:var(--blue);}
.pm-pagination .page-numbers.dots{border:none;background:none;}
.blog-body h3{
  font-size:13.5px;font-weight:700;line-height:1.7;color:var(--text);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.product{background:var(--card);border-radius:var(--r-card);border:1px solid var(--line);overflow:hidden;transition:box-shadow .25s, transform .25s;position:relative;}
.product:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.product .tag{position:absolute;top:10px;right:10px;background:var(--blue-dark);color:#fff;font-size:10.5px;padding:3px 9px;border-radius:7px;z-index:2;}
.product .tag.qc{background:var(--green);}
.product-img{background:#fff;height:150px;display:flex;align-items:center;justify-content:center;padding:16px;}
.product-img img{max-width:100%;max-height:100%;object-fit:contain;}
.add-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;}
.product-body{padding:14px 14px 18px;}
.product-body .brand{font-size:11px;color:var(--text-2);margin-bottom:4px;}
.product-body h3{font-size:14px;font-weight:700;margin-bottom:10px;min-height:40px;}
.price{margin-bottom:12px;}
.price .old{font-size:12px;color:#9AA4B2;text-decoration:line-through;display:block;}
.price .now{font-size:16.5px;font-weight:800;color:var(--blue-dark);}
.price .now small{font-size:11px;font-weight:500;color:var(--text-2);}
.add-btn{width:100%;height:38px;border-radius:9px;background:var(--bg);border:1.5px solid var(--blue);color:var(--blue);font-weight:700;font-size:12.5px;cursor:pointer;}
.add-btn:hover{background:var(--blue);color:#fff;}

.cta-banner{
  background:linear-gradient(135deg,var(--cyan) 0%, var(--blue-dark) 100%);border-radius:var(--r-card);
  padding:40px 46px;display:flex;justify-content:space-between;align-items:center;color:#fff;
  flex-wrap:wrap;gap:20px;
}
.cta-banner h3{font-size:19px;font-weight:800;margin-bottom:6px;}
.cta-banner p{color:#EAF7FB;font-size:13px;}
.cta-banner .phone b{font-family:'Montserrat';font-size:19px;color:#FFD98A;direction:ltr;unicode-bidi:bidi-override;white-space:nowrap;}
.cta-banner .phone{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;flex:none;}

footer.site-footer{background:var(--footer-bg);color:var(--footer-text);padding-top:50px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08);}
.foot-grid h4{color:#fff;font-size:14px;margin-bottom:14px;}
.foot-grid li{margin-bottom:9px;font-size:13px;}
.foot-grid a:hover{color:var(--cyan);}
.foot-about p{font-size:13px;color:#8FA3B3;max-width:280px;margin-bottom:14px;}
.bottom-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:12px;color:#5F7686;flex-wrap:wrap;gap:8px;}

/* generic page/post content (for pages like 7-day test conditions, blog posts) */
.page-content{padding:56px 0;}
.page-content .entry{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:40px;max-width:900px;margin:0 auto;}
.page-content h1.entry-title{font-size:26px;font-weight:800;margin-bottom:20px;color:var(--blue-dark);}
.page-content .entry p{margin-bottom:14px;}

/* generation badge on product thumbnail */
ul.products li.product{position:relative;}
.pm-gen-badge{
  position:absolute !important;top:14px !important;right:14px !important;left:auto !important;z-index:3;background:var(--blue-dark);color:#fff;
  font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;
}

/* floating whatsapp button */
.pm-whatsapp{
  position:fixed;left:20px;bottom:20px;width:54px;height:54px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(37,211,102,.4);z-index:999;transition:transform .2s;
}
.pm-whatsapp:hover{transform:scale(1.08);}

/* mobile bottom nav */
.pm-bottom-nav{
  display:none;position:fixed;bottom:0;right:0;left:0;z-index:998;
  background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(11,35,67,.08);
  padding:8px 6px calc(8px + env(safe-area-inset-bottom));
}
.pm-bottom-nav a{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;
  color:var(--text-2);font-size:10.5px;font-weight:600;
}
.pm-bottom-nav a:active, .pm-bottom-nav a:hover{color:var(--blue);}
.pm-icon-wrap{position:relative;display:inline-flex;}
.pm-icon-wrap b{
  position:absolute;top:-6px;left:-9px;background:var(--orange);color:#fff;
  font-size:9px;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;
}

/* hamburger button */
.pm-hamburger{
  display:none;background:none;border:none;padding:6px;color:var(--text);cursor:pointer;
  align-items:center;justify-content:center;flex:none;
}

/* off-canvas mobile menu */
.pm-mobile-overlay{
  position:fixed;inset:0;background:rgba(11,35,67,.55);z-index:1000;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.pm-mobile-overlay.is-open{opacity:1;pointer-events:auto;}

.pm-mobile-menu{
  position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100%;
  background:#fff;z-index:1001;box-shadow:-14px 0 40px rgba(11,35,67,.2);
  transform:translateX(100%);
  transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column;
}
.pm-mobile-menu.is-open{transform:translateX(0);}
.pm-mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);flex:none;}
.pm-mobile-menu-header .logo .word{font-size:16px;}
.pm-mobile-menu-header .logo .mark{width:30px;height:30px;font-size:13px;}
.pm-mobile-close{background:none;border:none;color:var(--text-2);cursor:pointer;padding:4px;}
.pm-mobile-menu-list{list-style:none;padding:8px 0;}
.pm-mobile-menu-list li{border-bottom:1px solid var(--line);}
.pm-mobile-menu-list a{display:block;padding:15px 20px;font-size:14.5px;font-weight:600;color:var(--text);}
.pm-mobile-menu-list a:hover{color:var(--blue);background:var(--bg);}
.pm-mobile-menu-list li.menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center;}
.pm-mobile-menu-list li.menu-item-has-children > a{flex:1;}
.pm-submenu-toggle{flex:none;width:48px;height:48px;border:none;background:none;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.pm-mobile-menu-list li.menu-item-has-children.is-open > .pm-submenu-toggle{transform:rotate(180deg);color:var(--blue);}
.pm-mobile-menu-list .sub-menu{display:none;flex-basis:100%;width:100%;background:var(--bg);}
.pm-mobile-menu-list li.menu-item-has-children.is-open > .sub-menu{display:block;}
.pm-mobile-menu-list .sub-menu li{border-bottom:1px solid var(--line);}
.pm-mobile-menu-list .sub-menu a{padding:12px 20px 12px 20px;padding-right:36px;font-size:13.5px;font-weight:600;color:var(--text-2);}
.pm-mobile-menu-extra{padding:14px 20px;border-bottom:1px solid var(--line);}
.pm-mobile-menu-extra a{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--blue-dark);}
.pm-mobile-menu-footer{margin-top:auto;padding:18px 20px;background:var(--bg);flex:none;}
.pm-mobile-call-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  height:46px;border-radius:var(--r-btn);background:var(--blue);color:#fff;
  font-size:14px;font-weight:800;text-decoration:none;
}
.pm-mobile-call-btn:hover{background:var(--blue-dark);}

body.pm-noscroll{overflow:hidden;}

@media(max-width:1100px){
  .grid{grid-template-columns:repeat(2,1fr);}
  .badges{grid-template-columns:repeat(3,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .promo-card{order:2;}
  .hero-banner{height:auto;aspect-ratio:16/9;}
  .blog-grid{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:780px){
  .pm-bottom-nav{display:flex;}
  body{padding-bottom:64px;}
  .pm-whatsapp{bottom:78px;left:14px;width:48px;height:48px;}
  .container{padding:0 16px;}

  /* header: hamburger + logo on top row, search full width below */
  .topbar{display:none;}
  nav.main-nav{display:none;}
  .header-left{display:none;}
  .pm-hamburger{display:flex;}
  header.site-header .container{
    display:flex;flex-wrap:wrap;align-items:center;height:auto;padding:14px 16px;gap:10px;
  }
  .pm-hamburger{order:1;}
  header.site-header .logo{order:2;margin-right:auto;}
  .pm-search{order:3;flex-basis:100%;max-width:100%;}
  .logo .word{font-size:16px;}
  .logo .mark{width:30px;height:30px;font-size:13px;}

  /* hero */
  .hero-wrap{padding:18px 0;}
  .promo-card{padding:14px;}
  .btn{height:42px;padding:0 20px;font-size:13px;}
  .pm-qc-modal-box{max-width:340px;padding:16px;}

  /* trust badges + generation row */
  .badges{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;}
  .badge-card{padding:12px 8px;}
  .badge-card b{font-size:12px;}
  .badge-card span{font-size:10px;}
  .gen-row{gap:6px;}
  .gen-pill{padding:8px 6px;font-size:11px;}

  /* sections */
  .section{padding:34px 0;}
  .section-head{margin-bottom:18px;}
  .section-head h2{font-size:18px;}

  /* homepage product grid (non-WooCommerce, .grid) */
  .grid{gap:12px;grid-template-columns:repeat(2,1fr);}
  .product-img{height:130px;padding:12px;}
  .product-body{padding:10px 10px 14px;}
  .product-body h3{font-size:12.5px;min-height:auto;}

  /* two banners side by side */
  .dual-banners{grid-template-columns:1fr;gap:12px;}

  /* blog articles */
  .blog-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .blog-thumb{height:110px;}
  .blog-body{padding:10px 12px 14px;}
  .blog-body h3{font-size:12.5px;}

  /* cta banner */
  .cta-banner{padding:26px 22px;text-align:center;justify-content:center;}
  .cta-banner .phone{margin:0 auto;}

  /* footer */
  .foot-grid{grid-template-columns:1fr;gap:26px;text-align:center;}
  .foot-about{display:flex;flex-direction:column;align-items:center;}
  footer.site-footer{padding-top:34px;}
  .bottom-bar{flex-direction:column;text-align:center;}

  /* generic page content */
  .page-content{padding:26px 0;}
  .page-content .entry{padding:22px;}

  .pm-shop-hero{padding:26px 20px;}
  .pm-shop-hero h1{font-size:19px;}

  /* single product */
  .single-product .product{padding:20px;gap:20px;border-radius:14px;}
  .pm-gallery-thumb{width:48px;height:48px;}
  .single-product .product_title{font-size:18px;}
  .single-product .price{font-size:20px;}
  .pm-status-row{flex-direction:column;align-items:flex-start;gap:8px;}
  .pm-status-item{font-size:11.5px;}
  .pm-suitable-pill{font-size:10.5px;padding:4px 10px;}
  .pm-bottom-trust{grid-template-columns:repeat(2,1fr);margin:16px 0 24px;}
  .pm-key-specs{grid-template-columns:1fr;}
  .single-product .single_add_to_cart_button{width:100%;}
  .single-product form.cart{flex-direction:column;align-items:stretch;}
  .single-product .quantity{align-self:flex-start;}

  .single-product .product_meta{font-size:11.5px;padding:12px 14px;gap:10px;}
  .single-product .product_meta a{padding:3px 10px;}

  .single-product .woocommerce-tabs ul.tabs{padding:14px;gap:8px;}
  .single-product .woocommerce-tabs ul.tabs li a{padding:9px 14px;font-size:12px;}
  .single-product .woocommerce-tabs .panel{padding:20px;}
}

/* ===================== WooCommerce ===================== */
.woocommerce-page-container{padding-top:10px;}

/* shop / archive hero */
.pm-shop-hero{
  background:linear-gradient(135deg,var(--cyan) 0%, var(--blue-dark) 100%);
  border-radius:var(--r-card);padding:40px;color:#fff;text-align:center;margin-bottom:30px;
}
.pm-shop-hero h1{font-size:24px;font-weight:800;margin-bottom:8px;}
.pm-shop-hero p{color:#EAF7FB;font-size:13.5px;}

.woocommerce-breadcrumb{
  font-size:13px;color:var(--text-2);
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:12px 18px;margin:0 0 20px;
}
.woocommerce-breadcrumb a{color:var(--blue);}

.woocommerce-result-count{
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 16px;
  font-size:13px;color:var(--text-2);margin-bottom:20px;display:inline-block;
}

/* pill-button sort bar (replaces the default <select> ordering) */
.pm-sort-pills{
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;
}
.pm-sort-pill{
  display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;
  font-size:13px;font-weight:700;color:var(--text-2);background:#fff;border:1.5px solid var(--line);
  text-decoration:none;transition:.2s;white-space:nowrap;
}
.pm-sort-pill:hover{color:var(--blue);border-color:var(--blue);}
.pm-sort-pill.is-active{
  color:#fff;background:var(--blue);border-color:var(--blue);
  box-shadow:0 8px 18px rgba(27,154,214,.3);
}

@media(max-width:600px){
  .pm-sort-pills{gap:8px;padding:10px;}
  .pm-sort-pill{padding:7px 14px;font-size:12px;}
}

/* product grid (shop / archive / related) */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products{
  display:grid !important;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)) !important;gap:26px !important;
  list-style:none !important;padding:0 !important;margin:0 0 40px !important;clear:none !important;
  grid-auto-flow:row !important;grid-auto-rows:auto !important;align-items:start !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  overflow:hidden;position:relative;text-align:center;
  transition:box-shadow .3s, transform .3s, border-color .3s;
  padding:0 !important;margin:0 !important;float:none !important;width:auto !important;
  clear:none !important;grid-row:auto !important;grid-column:auto !important;height:auto !important;
}
ul.products li.product:hover{box-shadow:0 16px 34px rgba(11,76,115,.14);transform:translateY(-5px);border-color:var(--blue);}
ul.products li.product a{display:block;text-decoration:none;color:inherit;}
ul.products li.product a img{
  background:#fff;padding:30px;height:230px;width:100% !important;object-fit:contain;
  margin:0 !important;border-radius:0 !important;float:none !important;transition:transform .35s;
}
ul.products li.product:hover a img{transform:scale(1.06);}
ul.products li.product .pm-loop-brand{
  font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.3px;text-transform:uppercase;
  padding:16px 18px 0;margin:0;
}
ul.products li.product .woocommerce-loop-product__title{
  font-size:16px;font-weight:700;padding:6px 18px 8px;margin:0 !important;color:var(--text);line-height:1.6;
}
ul.products li.product .price{
  font-size:19px;font-weight:800;color:var(--blue-dark);display:block;padding:0 18px 18px;
}
ul.products li.product .price del{color:#9AA4B2;font-size:12px;text-decoration:line-through;opacity:1;font-weight:600;margin-inline-start:6px;}
ul.products li.product .price ins{text-decoration:none;}
ul.products li.product .button{
  display:flex !important;align-items:center;justify-content:center;gap:8px;
  margin:0 18px 22px !important;width:calc(100% - 36px) !important;height:46px;line-height:normal;padding:0;
  border-radius:10px;background:var(--blue);border:1.5px solid var(--blue);color:#fff;
  font-weight:700;font-size:14px;transition:.2s;box-shadow:0 8px 18px rgba(27,154,214,.22);
}
ul.products li.product .button::before{
  content:"";width:16px;height:16px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.4 12.4a2 2 0 0 0 2 1.6h8.4a2 2 0 0 0 2-1.6L22 7H6'/%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='18' cy='21' r='1'/%3E%3C/svg%3E");
}
ul.products li.product .button:hover{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-2px);box-shadow:0 12px 24px rgba(11,76,115,.28);}
ul.products li.product .onsale{
  position:absolute !important;top:14px !important;left:14px !important;right:auto !important;background:var(--green);color:#fff;
  font-size:11px;padding:4px 11px;border-radius:20px;z-index:2;min-height:0;min-width:0;
  line-height:1.6;font-weight:700;box-shadow:0 4px 10px rgba(47,182,115,.35);
}
.star-rating{color:var(--orange);margin:0 auto 6px;}

/* out-of-stock products — dim the image and flag it with a centered
   ribbon over the image (rather than a corner badge, which could
   collide with the discount-percentage badge on sale items) */
ul.products li.product.outofstock a img{opacity:.5;filter:grayscale(.5);}
ul.products li.product.outofstock::after{
  content:"ناموجود";position:absolute !important;top:115px !important;left:50% !important;right:auto !important;
  transform:translate(-50%,-50%);z-index:4;
  background:rgba(31,41,55,.88);color:#fff;font-size:13px;font-weight:800;
  padding:8px 22px;border-radius:8px;letter-spacing:.3px;white-space:nowrap;
}
ul.products li.product.outofstock .button{background:#C9D0D8;border-color:#C9D0D8;box-shadow:none;}
ul.products li.product.outofstock .button:hover{background:#B7C0CA;border-color:#B7C0CA;transform:none;}

/* single product */
.single-product .summary{text-align:right;float:none !important;width:100% !important;max-width:none !important;}
.single-product .product{
  display:grid;grid-template-columns:minmax(320px, 420px) 1fr;gap:36px;align-items:start;
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:28px;margin-bottom:36px;box-shadow:0 20px 50px rgba(11,76,115,.08);
}
/* below 900px there isn't room for a real two-column split without
   cramming both sides — stack gallery on top, full width, summary
   below it, rather than forcing two narrow squeezed columns */
@media(max-width:900px){
  .single-product .product{grid-template-columns:1fr;}
}

/* everything that WooCommerce prints after the summary (trust bar, tabs,
   upsells, related products) lands as extra siblings inside the same
   grid — without this they'd get trapped in a single narrow column */
.single-product .product > .pm-bottom-trust,
.single-product .product > .woocommerce-tabs,
.single-product .product > .upsells,
.single-product .product > .related.products{
  grid-column:1 / -1;
}

.single-product .woocommerce-product-gallery,
.single-product div.images{float:none !important;width:100% !important;max-width:none !important;}

/* discount badge is now printed inside .pm-gallery-main itself (see
   functions.php) — the same green pill used on the shop loop,
   positioned beside the share icon so it doesn't collide with the
   generation badge on the opposite corner */
.pm-gallery-main .onsale,
.pm-gallery-main span.onsale{
  position:absolute !important;top:14px !important;left:64px !important;right:auto !important;bottom:auto !important;
  z-index:5 !important;background:var(--green) !important;color:#fff !important;
  font-size:11px !important;font-weight:700 !important;line-height:1.6 !important;
  width:auto !important;height:auto !important;min-height:0 !important;min-width:0 !important;
  padding:4px 11px !important;margin:0 !important;border-radius:20px !important;
  box-shadow:0 4px 10px rgba(47,182,115,.35) !important;text-align:center !important;
}

.pm-gallery{}
.pm-gallery-main{
  position:relative;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,#F1F4F8,#E7ECF2);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:24px;
}
.pm-gallery-main img{width:100%;height:100%;object-fit:contain;display:block;}
.pm-gallery-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.pm-gallery-thumb{
  width:60px;height:60px;flex:none;padding:4px;border-radius:8px;border:2px solid var(--line);
  background:#F1F4F8;cursor:pointer;transition:border-color .2s;
}
.pm-gallery-thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.pm-gallery-thumb.is-active, .pm-gallery-thumb:hover{border-color:var(--blue);}

.pm-gen-badge--gallery{position:absolute !important;top:14px !important;right:14px !important;z-index:5;}

.pm-gallery-toolbar{position:absolute;top:14px;left:14px;z-index:5;display:flex;flex-direction:column;gap:8px;}
.pm-gallery-icon{
  width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;
  box-shadow:0 4px 10px rgba(11,35,67,.1);
}
.pm-gallery-icon:hover{color:var(--blue);border-color:var(--blue);}

.pm-status-row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:14px;
}
.pm-status-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text);}
.pm-status-item svg{color:var(--blue);flex:none;}
.pm-status-consult{color:var(--blue-dark);}
.pm-status-consult:hover{color:var(--blue);}

.pm-suitable-for{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;}
.pm-suitable-label{font-size:12.5px;font-weight:700;color:var(--text-2);}
.pm-suitable-pill{
  background:#EAF7FB;color:var(--blue-dark);font-size:11.5px;font-weight:700;
  padding:5px 12px;border-radius:20px;
}

.pm-key-specs{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  background:linear-gradient(135deg,#0B4C73 0%,#163d5c 100%);
  border-radius:14px;padding:18px;margin-bottom:18px;
}
.pm-key-spec-item{display:flex;align-items:center;gap:10px;}
.pm-key-spec-icon{
  width:38px;height:38px;flex:none;border-radius:10px;background:rgba(255,255,255,.12);
  color:#8FD4EE;display:flex;align-items:center;justify-content:center;
}
.pm-key-spec-item div:last-child{display:flex;flex-direction:column;gap:2px;overflow:hidden;}
.pm-key-spec-label{font-size:10.5px;color:#B9DCEA;}
.pm-key-spec-item b{font-size:13px;color:#fff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.single-product .product_title{
  font-size:23px;font-weight:800;margin-bottom:12px;color:var(--text);line-height:1.5;
  display:flex;align-items:center;gap:10px;
}
.single-product .product_title::after{
  content:"✓";width:22px;height:22px;flex:none;border-radius:50%;background:var(--blue);color:#fff;
  font-size:12px;display:inline-flex;align-items:center;justify-content:center;
}
.single-product .price{font-size:26px;font-weight:800;color:var(--blue-dark);margin-bottom:16px;display:block;}
.single-product .price del{color:#9AA4B2;font-size:15px;margin-left:10px;}
.single-product .woocommerce-product-details__short-description{font-size:13.5px;color:var(--text-2);margin-bottom:20px;line-height:1.9;}
.single-product form.cart{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.single-product .quantity input{
  width:64px;height:50px;text-align:center;border:1px solid var(--line);border-radius:12px;font-family:'Vazirmatn';font-size:15px;
}
.single-product .single_add_to_cart_button{
  background:var(--blue);color:#fff !important;border:none;border-radius:12px;
  height:50px;padding:0 36px;font-weight:700;font-size:14.5px;transition:.2s;
  box-shadow:0 10px 24px rgba(27,154,214,.3);
}
.single-product .single_add_to_cart_button:hover{background:var(--blue-dark);transform:translateY(-1px);}

.pm-trust-row{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:18px;}
.pm-trust-row div{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:13px;}
.pm-trust-row svg{color:var(--blue);flex:none;}

.pm-real-photos{
  display:inline-flex;align-items:center;gap:8px;color:var(--blue-dark);font-size:12.5px;font-weight:700;
  margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);
}
.pm-real-photos:hover{color:var(--blue);}
.pm-real-photos svg{flex:none;}

.pm-bottom-trust{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:22px;margin:0 0 40px;box-shadow:var(--shadow);
}
.pm-bottom-trust-item{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;}
.pm-bottom-trust-item svg{color:var(--blue);}
.pm-bottom-trust-item span{font-size:11.5px;font-weight:700;color:var(--text-2);}

.pm-tab-content{font-size:13.5px;color:var(--text-2);line-height:1.9;}
.pm-tab-content ul{padding-right:20px;margin-top:10px;}
.pm-tab-content li{margin-bottom:6px;}
.pm-tab-content a{color:var(--blue);font-weight:700;}

/* default WooCommerce meta (SKU / category / tags) — previously unstyled
   plain browser text sitting between the trust row and the bottom trust
   bar, which is what made that part of the page look like a leftover,
   cramped block. Turned into a small labeled-row card that matches the
   rest of the summary column. */
.single-product .product_meta{
  display:flex;flex-direction:column;gap:8px;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;margin:18px 0 0;font-size:12.5px;color:var(--text-2);
}
.single-product .product_meta > span{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.single-product .product_meta > span::before{font-weight:700;color:var(--text);}
.single-product .product_meta .sku_wrapper{}
.single-product .product_meta a{
  color:var(--blue-dark);font-weight:700;background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:3px 12px;text-decoration:none;transition:.2s;
}
.single-product .product_meta a:hover{color:var(--blue);border-color:var(--blue);}
.single-product .product_meta .sku{font-weight:700;color:var(--text);}

.single-product .woocommerce-tabs{
  margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:16px;
  overflow:hidden;box-shadow:var(--shadow);
}
.single-product .woocommerce-tabs ul.tabs{
  display:flex !important;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);
  margin:0 !important;padding:18px !important;list-style:none !important;background:var(--bg);
  overflow:visible !important;position:static !important;
}
/* WooCommerce's own default stylesheet draws each li as a bordered,
   rounded-top "paper tab" box (background #ececec etc). That box was
   still rendering underneath our pill-shaped link, showing up as a
   dull rectangle wrapped around our white pill. Stripped completely
   here so only our pill design shows. */
.single-product .woocommerce-tabs ul.tabs li,
.single-product .woocommerce-tabs ul.tabs li.active,
.single-product .woocommerce-tabs ul.tabs li:before,
.single-product .woocommerce-tabs ul.tabs li:after{
  margin:0 !important;padding:0 !important;background:none !important;background-color:transparent !important;
  border:none !important;border-radius:0 !important;box-shadow:none !important;
  float:none !important;list-style:none !important;position:static !important;
}
.single-product .woocommerce-tabs ul.tabs li a{
  display:flex !important;align-items:center;gap:8px;padding:11px 20px !important;font-size:13px;font-weight:700;
  color:var(--text-2);background:#fff !important;border:1.5px solid var(--line) !important;border-radius:999px !important;
  transition:.2s;box-shadow:0 2px 6px rgba(11,35,67,.04) !important;
}
.single-product .woocommerce-tabs ul.tabs li a::before{
  content:"";width:15px;height:15px;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.65;
}
.single-product .woocommerce-tabs ul.tabs li:hover a{color:var(--blue);border-color:var(--blue) !important;}
.single-product .woocommerce-tabs ul.tabs li.active a{
  color:#fff !important;background:var(--blue) !important;border-color:var(--blue) !important;
  box-shadow:0 10px 22px rgba(27,154,214,.35) !important;
}
.single-product .woocommerce-tabs ul.tabs li.active a::before{opacity:1;filter:brightness(0) invert(1);}
.single-product .woocommerce-tabs .panel{border:none;border-radius:0;padding:28px;box-shadow:none;background:transparent;}

/* per-tab icons */
li.description_tab a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cline x1='8' y1='13' x2='16' y2='13'/%3E%3Cline x1='8' y1='17' x2='16' y2='17'/%3E%3C/svg%3E");}
li.additional_information_tab a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");}
li.reviews_tab a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");}
li.pm_warranty_tab a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 4v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6l8-4z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");}
li.pm_buying_guide_tab a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M16.24 7.76l-2.12 6.36-6.36 2.12 2.12-6.36z'/%3E%3C/svg%3E");}
.single-product table.shop_attributes{width:100%;border-collapse:collapse;font-size:13.5px;}
.single-product table.shop_attributes th{background:var(--bg);font-weight:700;}
.single-product table.shop_attributes th, .single-product table.shop_attributes td{padding:12px 14px;border:1px solid var(--line);text-align:right;}
.single-product table.shop_attributes tr:nth-child(even) td, .single-product table.shop_attributes tr:nth-child(even) th{background:#FAFBFC;}

/* related products */
.related.products{margin-top:20px;}
.related.products > h2{font-size:20px;font-weight:800;color:var(--blue-dark);margin-bottom:20px;}

/* cart & checkout */
table.shop_table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:24px;background:var(--card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);}
table.shop_table th{background:var(--bg);font-weight:700;color:var(--blue-dark);}
table.shop_table th, table.shop_table td{padding:14px;border:1px solid var(--line);text-align:right;}
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-cart .quantity input{
  border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-family:'Vazirmatn';width:100%;
}
.woocommerce-checkout input:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus{
  outline:none;border-color:var(--blue);
}
.woocommerce button.button, .woocommerce-checkout #place_order,
.woocommerce a.button, .woocommerce .checkout-button, .wc-proceed-to-checkout a{
  display:inline-block;background:var(--blue);color:#fff !important;border:none;border-radius:12px;
  height:48px;line-height:48px;padding:0 28px;font-weight:700;font-size:14px;cursor:pointer;
  text-align:center;text-decoration:none;box-shadow:0 10px 24px rgba(27,154,214,.3);
}
.woocommerce button.button:hover, .woocommerce-checkout #place_order:hover,
.woocommerce a.button:hover, .woocommerce .checkout-button:hover{background:var(--blue-dark);color:#fff !important;}
.wc-proceed-to-checkout{padding:0 !important;}
.woocommerce-checkout-review-order-table{background:var(--card);border-radius:14px;}

/* cart totals — turn the plain sidebar list into a proper summary card */
.cart_totals{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:22px;box-shadow:var(--shadow);
}
.cart_totals > h2{font-size:16px;font-weight:800;color:var(--blue-dark);margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.cart_totals table.shop_table{box-shadow:none;margin-bottom:18px;background:transparent;}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td{border:none;border-bottom:1px dashed var(--line);padding:12px 4px;background:transparent;font-size:13.5px;}
.cart_totals table.shop_table tr:last-child th,
.cart_totals table.shop_table tr:last-child td{border-bottom:none;}
.cart_totals .order-total th, .cart_totals .order-total td{font-size:16px;font-weight:800;color:var(--blue-dark);padding-top:16px;}
.wc-proceed-to-checkout a.checkout-button{display:block;width:100%;text-align:center;}

.pm-cart-trust{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px;}
.pm-cart-trust-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2);}
.pm-cart-trust-item svg{flex:none;color:#22C55E;}

/* coupon row */
.woocommerce-cart .coupon{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  background:var(--bg);border:1px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:18px;
}
.woocommerce-cart .coupon input#coupon_code{
  flex:1;min-width:160px;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-family:'Vazirmatn';
}
.woocommerce-cart .coupon button{height:44px !important;line-height:44px !important;box-shadow:none !important;}

/* empty cart */
.pm-empty-cart{
  position:relative;overflow:hidden;text-align:center;padding:64px 20px;
  background:var(--card);border:1px solid var(--line);
  border-radius:22px;box-shadow:var(--shadow);margin-bottom:40px;
}
.pm-empty-cart::before,
.pm-empty-cart::after{
  content:"";position:absolute;border-radius:50%;
  background:radial-gradient(circle,rgba(27,154,214,.10) 0%,rgba(27,154,214,0) 70%);
  pointer-events:none;
}
.pm-empty-cart::before{width:280px;height:280px;top:-120px;right:-90px;}
.pm-empty-cart::after{width:220px;height:220px;bottom:-110px;left:-70px;}
.pm-empty-cart-icon{
  position:relative;z-index:1;width:96px;height:96px;margin:0 auto 22px;border-radius:26px;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 14px 30px rgba(11,76,115,.25);
}
.pm-empty-cart-title{position:relative;z-index:1;font-size:19px;font-weight:800;color:var(--blue-dark);margin-bottom:8px;}
.pm-empty-cart-text{position:relative;z-index:1;font-size:14px;color:var(--text-2);margin-bottom:26px;max-width:380px;margin-inline:auto;line-height:1.9;}
.pm-empty-cart-btn{
  position:relative;z-index:1;display:inline-block;background:var(--blue);color:#fff !important;border-radius:12px;
  height:48px;line-height:48px;padding:0 32px;font-weight:700;font-size:14px;text-decoration:none;
  box-shadow:0 10px 24px rgba(27,154,214,.3);transition:background .2s,transform .2s;
}
.pm-empty-cart-btn:hover{background:var(--blue-dark);transform:translateY(-2px);}

.pm-empty-cart-quicklinks{position:relative;z-index:1;margin-top:30px;padding-top:26px;border-top:1px dashed var(--line);}
.pm-empty-cart-quicklinks-label{display:block;font-size:12.5px;color:var(--text-2);margin-bottom:12px;}
.pm-empty-cart-quicklinks-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.pm-empty-cart-quicklinks-row a{
  display:inline-block;background:var(--bg);border:1px solid var(--line);color:var(--text);
  border-radius:20px;padding:8px 16px;font-size:12.5px;font-weight:700;text-decoration:none;transition:.2s;
}
.pm-empty-cart-quicklinks-row a:hover{background:var(--blue);border-color:var(--blue);color:#fff;}


/* ============ cart page — product rows as branded cards ============ */
.woocommerce-cart table.shop_table{background:transparent;box-shadow:none;border-radius:0;overflow:visible;}
.woocommerce-cart table.shop_table thead{display:none;}
.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table tbody{display:block;width:100%;}
.woocommerce-cart table.shop_table tr.cart_item{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;width:100%;
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:16px;margin-bottom:14px;box-shadow:var(--shadow);
  transition:box-shadow .2s,transform .2s;
}
.woocommerce-cart table.shop_table tr.cart_item:hover{box-shadow:0 14px 34px rgba(11,76,115,.12);transform:translateY(-2px);}
.woocommerce-cart table.shop_table td{display:block;border:none;background:transparent;padding:0;}

.woocommerce-cart table.shop_table td.product-remove{order:1;flex:none;}
.woocommerce-cart table.shop_table td.product-remove a.remove{
  display:flex !important;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:var(--bg);
  color:#DC2626 !important;font-size:18px;line-height:1;text-decoration:none !important;
  transition:.2s;
}
.woocommerce-cart table.shop_table td.product-remove a.remove:hover{background:#FEF2F2;transform:scale(1.08);}

.woocommerce-cart table.shop_table td.product-thumbnail{order:2;flex:none;}
.woocommerce-cart table.shop_table td.product-thumbnail img{
  width:76px;height:76px;object-fit:contain;background:var(--bg);border-radius:12px;padding:8px;
}

.woocommerce-cart table.shop_table td.product-name{
  order:3;flex:1 1 220px;min-width:160px;font-weight:700;font-size:14px;color:var(--text);line-height:1.7;
}
.woocommerce-cart table.shop_table td.product-name a{color:var(--text);}
.woocommerce-cart table.shop_table td.product-name a:hover{color:var(--blue);}
.woocommerce-cart table.shop_table td.product-name .variation{font-size:12px;color:var(--text-2);margin-top:2px;}

.woocommerce-cart table.shop_table td.product-price{
  order:4;flex:none;font-size:13px;color:var(--text-2);
}
.woocommerce-cart table.shop_table td.product-price::before{content:"قیمت واحد";display:block;font-size:10.5px;color:#9AA4B2;margin-bottom:3px;}

.woocommerce-cart table.shop_table td.product-quantity{order:5;flex:none;}

.woocommerce-cart table.shop_table td.product-subtotal{
  order:6;flex:none;min-width:96px;text-align:left;font-weight:800;color:var(--blue-dark);font-size:15px;
}

@media(max-width:780px){
  .woocommerce-cart table.shop_table tr.cart_item{position:relative;padding:14px;}
  .woocommerce-cart table.shop_table td.product-remove{position:absolute;top:14px;left:14px;order:0;}
  .woocommerce-cart table.shop_table td.product-thumbnail{flex:none;}
  .woocommerce-cart table.shop_table td.product-name{flex:1 1 100%;order:3;padding-inline-end:36px;}
  .woocommerce-cart table.shop_table td.product-price{order:4;}
  .woocommerce-cart table.shop_table td.product-quantity{order:5;margin-inline-start:auto;}
  .woocommerce-cart table.shop_table td.product-subtotal{order:6;}
}

/* quantity stepper — plus/minus buttons injected by pm-cart-stepper.js
   around every WooCommerce qty <input>, on the cart page and single
   product page alike */
.quantity.pm-stepper{
  display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:#fff;height:42px;
}
.quantity.pm-stepper .qty{
  width:44px;height:100%;border:none;border-inline:1px solid var(--line);border-radius:0;
  text-align:center;padding:0;font-family:'Vazirmatn';font-weight:700;font-size:13.5px;color:var(--text);
  -moz-appearance:textfield;
}
.quantity.pm-stepper .qty::-webkit-outer-spin-button,
.quantity.pm-stepper .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pm-qty-btn{
  width:34px;border:none;background:var(--bg);color:var(--blue-dark);font-size:16px;font-weight:800;
  cursor:pointer;transition:.2s;line-height:1;
}
.pm-qty-btn:hover{background:var(--blue);color:#fff;}

/* actions row (update cart / apply coupon submit) */
.woocommerce-cart table.shop_table td.actions{display:block;background:transparent;padding:0;margin-top:6px;text-align:left;}
@media(max-width:780px){
  .woocommerce-cart table.shop_table td.actions{display:flex;justify-content:flex-end;}
  .woocommerce-cart table.shop_table td.actions .button{width:100%;}
}

@media(max-width:780px){
  ul.products{gap:14px !important;}
  ul.products li.product a img{height:150px !important;padding:14px !important;}
  ul.products li.product .woocommerce-loop-product__title{font-size:13.5px;padding:12px 12px 4px;}
  ul.products li.product .price{font-size:15px;padding:0 12px 12px;}
  ul.products li.product .button{margin:0 12px 16px !important;width:calc(100% - 24px) !important;height:40px;line-height:40px;font-size:12.5px;}
}
@media(max-width:420px){
  ul.products li.product a img{height:190px !important;}
}

/* ============ shop sidebar / filters ============ */
.pm-shop-layout{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:start;}
.pm-shop-main{min-width:0;}

.pm-shop-sidebar .widget{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:20px;margin-bottom:20px;
}
.pm-shop-sidebar .widget-title{
  font-size:15px;font-weight:800;color:var(--text);margin:0 0 16px;
  padding-bottom:12px;border-bottom:1px solid var(--line);
}
.pm-shop-sidebar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.pm-shop-sidebar li{margin:0;}
.pm-shop-sidebar a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px;border-radius:8px;color:var(--text-2);font-size:13px;
  text-decoration:none;transition:.2s;
}
.pm-shop-sidebar a:hover{background:var(--bg);color:var(--blue);}
.pm-shop-sidebar .count{
  font-size:11px;color:var(--text-2);background:var(--bg);padding:2px 9px;
  border-radius:10px;flex:none;
}
.pm-shop-sidebar a:hover .count{background:#fff;}

/* product categories widget: highlight the current category */
.pm-shop-sidebar li.current-cat > a{background:var(--blue);color:#fff;}
.pm-shop-sidebar li.current-cat > a .count{background:rgba(255,255,255,.25);color:#fff;}

/* attribute / brand filter widget: highlight chosen filters */
.pm-shop-sidebar .woocommerce-widget-layered-nav-list__item--chosen a{background:var(--blue);color:#fff;}
.pm-shop-sidebar .woocommerce-widget-layered-nav-list__item--chosen a .count{background:rgba(255,255,255,.25);color:#fff;}

/* price filter widget (jQuery UI slider) */
.pm-shop-sidebar .price_slider{margin-bottom:16px;}
.pm-shop-sidebar .price_slider .ui-slider{
  position:relative;height:4px;background:var(--line);border-radius:4px;margin:10px 4px 0;
}
.pm-shop-sidebar .ui-slider-range{
  position:absolute;top:0;height:4px;background:var(--blue);border-radius:4px;
}
.pm-shop-sidebar .ui-slider-handle{
  position:absolute;top:50%;width:16px;height:16px;margin-top:-8px;margin-inline-start:-8px;
  background:#fff;border:2.5px solid var(--blue);border-radius:50%;cursor:pointer;
  box-shadow:0 2px 6px rgba(11,76,115,.2);outline:none;
}
.pm-shop-sidebar .price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pm-shop-sidebar .price_slider_amount .price_label{font-size:12px;color:var(--text-2);}
.pm-shop-sidebar .price_slider_amount .price_label span{color:var(--text);font-weight:700;}
.pm-shop-sidebar .price_slider_amount button{
  background:var(--blue);color:#fff;border:none;border-radius:8px;
  padding:8px 16px;font-size:12px;font-weight:700;font-family:'Vazirmatn';cursor:pointer;transition:.2s;
}
.pm-shop-sidebar .price_slider_amount button:hover{background:var(--blue-dark);}

@media(max-width:900px){
  .pm-shop-layout{grid-template-columns:1fr;}
  .pm-shop-sidebar{order:2;}
  .pm-shop-main{order:1;}
  .pm-shop-sidebar .widget{margin-bottom:14px;}
}

/* ============ WooCommerce block-based filters ============
   (Filter by Price / Attribute / Rating / Stock / Active Filters —
   the newer block editor versions, different markup from the classic
   widgets above. Matched with wildcard selectors since WooCommerce
   changes the exact class suffix between versions.) */
.pm-shop-sidebar [class*="wc-block"] h2,
.pm-shop-sidebar [class*="wc-block"] h3{
  font-size:15px;font-weight:800;color:var(--text);margin:0 0 14px;
}
.pm-shop-sidebar [class*="checkbox-list"]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.pm-shop-sidebar [class*="checkbox-list"] li{margin:0;}
.pm-shop-sidebar [class*="checkbox-list"] label{
  display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;
  font-size:13px;color:var(--text-2);cursor:pointer;transition:.2s;
}
.pm-shop-sidebar [class*="checkbox-list"] label:hover{background:var(--bg);color:var(--blue);}
.pm-shop-sidebar [class*="checkbox-list"] input[type="checkbox"]{
  width:16px;height:16px;accent-color:var(--blue);flex:none;margin:0;
}
.pm-shop-sidebar [class*="item-count"],
.pm-shop-sidebar [class*="checkbox-list"] [class*="count"]{
  font-size:11px;color:var(--text-2);background:var(--bg);padding:2px 8px;
  border-radius:10px;margin-inline-start:auto;
}
.pm-shop-sidebar [class*="rating-filter"] svg{fill:var(--orange);width:14px;height:14px;}

/* price filter — real markup confirmed from the live site:
   .wc-block-product-filter-price-slider__content wraps a dual-handle
   range slider (.range-bar + two overlapping <input type=range>,
   absolutely positioned by WooCommerce's own script-paired CSS) and
   two text boxes (__left / __right) as siblings.
   IMPORTANT: don't touch position/pointer-events/appearance on the
   range inputs — that's wired to WooCommerce's own JS and overriding
   it is what broke the drag handles. Only color + spacing here. */
.pm-shop-sidebar .wc-block-product-filter-price-slider__content{
  display:flex;flex-direction:column;gap:12px;
}
.pm-shop-sidebar .wc-block-product-filter-price-slider__range input[type="range"]{
  accent-color:var(--blue);
}
.pm-shop-sidebar .wc-block-product-filter-price-slider__left,
.pm-shop-sidebar .wc-block-product-filter-price-slider__right{width:100%;}
.pm-shop-sidebar .wc-block-product-filter-price-slider__content input[type="text"]{
  width:100%;box-sizing:border-box;direction:rtl;text-align:center;
  border:1px solid var(--line);border-radius:8px;padding:9px 10px;
  font-family:'Vazirmatn';font-size:12.5px;color:var(--text);
}
.pm-shop-sidebar .wc-block-product-filter-price-slider__content input[type="text"]:focus{
  outline:none;border-color:var(--blue);
}

/* active filter chips + clear-all button */
.pm-shop-sidebar [class*="active-filters"] ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.pm-shop-sidebar [class*="active-filters-list-item"]{
  display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);
  border-radius:20px;padding:5px 12px;font-size:12px;color:var(--text-2);
}
.pm-shop-sidebar [class*="active-filters"] button{
  background:var(--text) !important;color:#fff !important;border:none !important;border-radius:999px !important;
  font-size:13px;font-weight:700;padding:12px !important;width:100%;cursor:pointer;
}
.pm-shop-sidebar [class*="active-filters"] button:hover{background:var(--blue-dark) !important;}

/* generic notice text (e.g. "no rated products yet") */
.pm-shop-sidebar [class*="wc-block"] [class*="notice"]{
  background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:10px 12px;font-size:12px;color:var(--text-2);
}

/* shop main column — a white panel behind the hero/sort/product-grid
   area so it stands apart from the site's grey background */
.pm-shop-main{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:24px;box-shadow:0 20px 50px rgba(11,76,115,.06);
}
@media(max-width:780px){
  .pm-shop-main{padding:16px;border-radius:14px;}
}

/* ===== My Account (WooCommerce) ===== */
.woocommerce-account .woocommerce{
  display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;
}

/* welcome banner */
.pm-account-welcome{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--blue) 0%,var(--blue-dark) 100%);
  border-radius:18px;padding:24px 28px;margin-bottom:24px;color:#fff;
  box-shadow:0 20px 44px rgba(11,76,115,.22);
}
.pm-account-avatar{
  flex:none;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;
}
.pm-account-welcome-text{flex:1;min-width:180px;}
.pm-account-welcome-text h2{font-size:17px;font-weight:800;margin-bottom:4px;}
.pm-account-welcome-text p{font-size:13px;color:#EAF7FB;}
.pm-account-welcome-stat{
  flex:none;text-align:center;background:rgba(255,255,255,.14);border-radius:14px;
  padding:10px 20px;
}
.pm-account-welcome-stat b{display:block;font-size:20px;font-weight:800;}
.pm-account-welcome-stat span{font-size:11.5px;color:#EAF7FB;}

/* side navigation */
.woocommerce-MyAccount-navigation{
  flex:0 0 240px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--shadow);padding:12px;
}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;}
.woocommerce-MyAccount-navigation li{border-radius:12px;overflow:hidden;}
.woocommerce-MyAccount-navigation li a{
  display:flex;align-items:center;gap:12px;padding:13px 16px;font-size:13.5px;font-weight:700;
  color:var(--text-2);border-radius:12px;transition:background .2s,color .2s,transform .2s;
}
.woocommerce-MyAccount-navigation li a::before{
  content:"";flex:none;width:19px;height:19px;background-color:currentColor;
  -webkit-mask:var(--pm-icon) center/contain no-repeat;mask:var(--pm-icon) center/contain no-repeat;
  opacity:.85;
}
.woocommerce-MyAccount-navigation-link--dashboard a{--pm-icon:url('assets/img/account-icons/dashboard.svg');}
.woocommerce-MyAccount-navigation-link--orders a{--pm-icon:url('assets/img/account-icons/orders.svg');}
.woocommerce-MyAccount-navigation-link--downloads a{--pm-icon:url('assets/img/account-icons/downloads.svg');}
.woocommerce-MyAccount-navigation-link--edit-address a{--pm-icon:url('assets/img/account-icons/address.svg');}
.woocommerce-MyAccount-navigation-link--payment-methods a{--pm-icon:url('assets/img/account-icons/payment.svg');}
.woocommerce-MyAccount-navigation-link--edit-account a{--pm-icon:url('assets/img/account-icons/account.svg');}
.woocommerce-MyAccount-navigation-link--customer-logout a{--pm-icon:url('assets/img/account-icons/logout.svg');}
.woocommerce-MyAccount-navigation li a:hover{background:var(--bg);color:var(--blue-dark);transform:translateX(-2px);}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(27,154,214,.3);}
.woocommerce-MyAccount-navigation li.is-active a::before{opacity:1;}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#DC2626;}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:#FEF2F2;}

.woocommerce-MyAccount-content{
  flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--shadow);padding:30px;
}
.woocommerce-MyAccount-content > p:first-child{margin-bottom:16px;color:var(--text-2);font-size:14.5px;line-height:1.9;}
.woocommerce-MyAccount-content mark{background:none;color:var(--blue-dark);font-weight:700;}
.woocommerce-MyAccount-content a{color:var(--blue);font-weight:700;}

.woocommerce-orders-table{background:transparent;box-shadow:none;}
.woocommerce-orders-table th{background:var(--bg);}
.woocommerce-orders-table .button{height:auto !important;line-height:1.6 !important;padding:8px 16px !important;font-size:12.5px !important;box-shadow:none !important;}
.woocommerce-order-details, .woocommerce-customer-details{margin-top:22px;}
.woocommerce-order-details h2, .woocommerce-customer-details h2{font-size:16px;font-weight:800;color:var(--blue-dark);margin-bottom:10px;}
.woocommerce-table--order-details{width:100%;border-collapse:collapse;font-size:13.5px;}
.woocommerce-table--order-details th, .woocommerce-table--order-details td{padding:12px 14px;border:1px solid var(--line);text-align:right;}

/* addresses — کارت‌های سبک فلوئنت/ویندوز۱۱: لبه‌ی خیلی ظریف،
   آیکون تو یک دایره‌ی رنگی کم‌رنگ، سایه‌ی نرم فقط موقع هاور. */
.woocommerce-Addresses{display:block;}
.woocommerce-Addresses.u-columns,
.woocommerce-Addresses .u-column1,
.woocommerce-Addresses .u-column2,
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .col-2{
  float:none !important;width:auto !important;margin:0 !important;
}
.woocommerce-Address{
  position:relative;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;
  padding:22px 22px 22px 22px;padding-inline-start:66px;margin-top:0;min-height:150px;
  width:100% !important;display:block !important;margin-bottom:18px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.woocommerce-Address:hover{
  border-color:rgba(27,154,214,.35);
  box-shadow:0 16px 36px rgba(11,76,115,.12);
  transform:translateY(-2px);
}
.woocommerce-Address::before{
  content:"";position:absolute;top:22px;inset-inline-start:20px;width:34px;height:34px;
  border-radius:50%;background-color:rgba(27,154,214,.12);
}
.woocommerce-Address::after{
  content:"";position:absolute;top:31px;inset-inline-start:29px;width:18px;height:18px;
  background-color:var(--blue);-webkit-mask:url('assets/img/account-icons/address.svg') center/contain no-repeat;
  mask:url('assets/img/account-icons/address.svg') center/contain no-repeat;
}
.woocommerce-Address-title,
.woocommerce-Address header.title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:nowrap;gap:8px;}
.woocommerce-Address-title h3,
.woocommerce-Address header.title h3{font-size:15.5px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.woocommerce-Address-title .edit,
.woocommerce-Address header.title .edit,
.woocommerce-Address > a.edit{
  color:var(--blue-dark);font-weight:700;font-size:12.5px;background:var(--bg);border:1px solid rgba(15,23,42,.08);
  border-radius:20px;padding:6px 14px;float:none;position:static;display:inline-block;flex-shrink:0;
  transition:background .2s,color .2s;
}
.woocommerce-Address-title .edit:hover,
.woocommerce-Address header.title .edit:hover,
.woocommerce-Address > a.edit:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.woocommerce-Address address{font-style:normal;font-size:14px;line-height:2.05;color:var(--text-2);}


.woocommerce-account .woocommerce-form-row,
.woocommerce-account form p.form-row{margin-bottom:20px;}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account form label{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px;}
.woocommerce-account input[type=text],
.woocommerce-account input[type=email],
.woocommerce-account input[type=tel],
.woocommerce-account input[type=password],
.woocommerce-account select,
.woocommerce-account textarea{
  border:1px solid var(--line);border-radius:12px;padding:13px 16px;font-family:'Vazirmatn';width:100%;font-size:14px;
  background:var(--bg);transition:border-color .2s,box-shadow .2s,background .2s;
  box-shadow:0 1px 2px rgba(15,23,42,.03);height:50px;
}
.woocommerce-account textarea{height:auto;}
.woocommerce-account input:hover, .woocommerce-account select:hover{border-color:rgba(27,154,214,.4);}
.woocommerce-account input:focus, .woocommerce-account select:focus, .woocommerce-account textarea:focus{
  outline:none;border-color:var(--blue);background:var(--card);box-shadow:0 0 0 4px rgba(27,154,214,.14);
}
.woocommerce-EditAccountForm{max-width:640px;}
/* اسم/فامیل کنارِ هم، مثل بقیه‌ی فرم‌های مدرن */
.woocommerce-EditAccountForm > .woocommerce-form-row-first{
  display:inline-block;width:calc(50% - 8px);vertical-align:top;
}
.woocommerce-EditAccountForm > .woocommerce-form-row-last{
  display:inline-block;width:calc(50% - 8px);vertical-align:top;margin-inline-start:16px;
}
@media(max-width:560px){
  .woocommerce-EditAccountForm > .woocommerce-form-row-first,
  .woocommerce-EditAccountForm > .woocommerce-form-row-last{width:100%;margin-inline-start:0;}
}
/* بخشِ «تغییر رمز عبور» رو از بقیه‌ی فرم جدا و برجسته می‌کنیم، شبیه
   یک کارتِ امنیتی، نه یک fieldset خشکِ پیش‌فرضِ مرورگر. */
.woocommerce-account fieldset{
  border:1px solid var(--line);border-radius:16px;padding:24px;margin-top:28px;
  background:linear-gradient(180deg,#fff,var(--bg));box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.woocommerce-account fieldset legend{
  padding:2px 12px;font-weight:800;color:var(--blue-dark);font-size:13.5px;
  background:var(--card);border:1px solid var(--line);border-radius:20px;
}
.woocommerce-account .woocommerce-Button, .woocommerce-account button[type=submit]{
  display:inline-block;background:var(--blue);color:#fff !important;border:none;border-radius:12px;
  height:48px;padding:0 28px;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 10px 24px rgba(27,154,214,.3);
}
.woocommerce-account .woocommerce-Button:hover, .woocommerce-account button[type=submit]:hover{background:var(--blue-dark);}
.woocommerce-account .woocommerce-error, .woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info{
  border-top-color:var(--blue) !important;background:var(--bg);border-radius:10px;padding:14px 18px;font-size:13.5px;
  padding-inline-start:48px !important;position:relative;
}
.woocommerce-account .woocommerce-error::before, .woocommerce-account .woocommerce-message::before, .woocommerce-account .woocommerce-info::before{
  inset-inline-start:16px !important;top:50%;transform:translateY(-50%);
}
.woocommerce-account .woocommerce-form-login-toggle, .woocommerce-account .woocommerce-form-register-toggle{display:none;}

.woocommerce-MyAccount-content dl.woocommerce-order-downloads__wrapper{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}

@media(max-width:900px){
  .woocommerce-Addresses, .u-columns.woocommerce-Addresses{grid-template-columns:1fr;}
}
@media(max-width:780px){
  .woocommerce-account .woocommerce{flex-direction:column;}
  .woocommerce-MyAccount-navigation{flex:1 1 100%;width:100%;}
  .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;}
  .woocommerce-MyAccount-navigation li{flex:1 1 auto;}
  .woocommerce-MyAccount-navigation li a{justify-content:center;padding:10px 12px;}
  .woocommerce-MyAccount-navigation li a::before{display:none;}
  .woocommerce-MyAccount-content{padding:18px;}
  .pm-account-welcome{padding:18px 16px;}
  .pm-account-welcome-stat{width:100%;}
}

/* ------------------------------------------------------------------ *
 *  پاپ‌آپ ورود / ثبت‌نام با پیامک
 * ------------------------------------------------------------------ */
.pm-auth-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:16px;}
.pm-auth-modal.is-open{display:flex;}
.pm-auth-overlay{position:absolute;inset:0;background:rgba(10,20,30,.55);}
.pm-auth-box{position:relative;background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);padding:28px 24px 24px;width:100%;max-width:380px;max-height:90vh;overflow-y:auto;}
.pm-auth-close{position:absolute;top:14px;left:14px;background:none;border:none;color:var(--text-2);cursor:pointer;padding:4px;line-height:0;}
.pm-auth-tabs{display:flex;gap:6px;background:var(--bg);border-radius:var(--r-btn);padding:4px;margin-bottom:18px;}
.pm-auth-tab{flex:1;border:none;background:none;padding:9px 6px;border-radius:8px;font-family:inherit;font-size:13px;color:var(--text-2);cursor:pointer;}
.pm-auth-tab.is-active{background:var(--card);color:var(--blue-dark);font-weight:700;box-shadow:0 2px 6px rgba(11,76,115,.08);}
.pm-auth-panel{display:none;}
.pm-auth-panel.is-active{display:block;}
.pm-auth-label{display:block;font-size:13px;color:var(--text-2);margin:0 0 6px;}
.pm-auth-input{width:100%;border:1px solid var(--line);border-radius:var(--r-btn);padding:11px 14px;font-family:inherit;font-size:14px;margin-bottom:14px;background:var(--bg);color:var(--text);}
.pm-auth-input:focus{outline:none;border-color:var(--blue);background:var(--card);}
.pm-auth-submit{width:100%;border:none;border-radius:var(--r-btn);padding:12px;background:var(--blue);color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;}
.pm-auth-submit:disabled{opacity:.6;cursor:default;}
.pm-auth-message{min-height:18px;font-size:13px;color:var(--green);margin-bottom:10px;}
.pm-auth-message.is-error{color:#D0342C;}
.pm-auth-row{display:flex;justify-content:space-between;margin-top:12px;}
.pm-auth-link{background:none;border:none;color:var(--blue);font-family:inherit;font-size:12.5px;cursor:pointer;padding:0;text-decoration:underline;}
.pm-auth-link:disabled{color:var(--text-2);text-decoration:none;cursor:default;}
.pm-auth-forgot{display:block;text-align:center;margin-top:14px;}
.is-hidden{display:none !important;}

/* ============================================================ *
 *  صفحه سبد خرید و پرداخت — بلاک‌های Cart/Checkout ووکامرس (نه قالب کلاسیک)
 *  نکته‌ی مهم: سلکتورهای [class*="..."] وقتی روی خودِ ردیف محصول به‌کار
 *  می‌رن، چون اسم کلاس زیرعنصرهای داخلش (تصویر/نام/تعداد/قیمت) هم همون
 *  رشته رو داخل خودش داره، باعث می‌شه هرکدوم از اون زیرعنصرها هم به‌طور
 *  ناخواسته کارت/پدینگ/بوردر جدا بگیرن و چیده‌مان بهم بریزه (دقیقاً
 *  همون چیزی که باعث کوچیک‌شدن عکس و کشیده‌شدن ستون‌ها شد). برای همین
 *  اینجا فقط روی «فرزند مستقیمِ» لیست محصولات کارت می‌زنیم، نه هرچیزی
 *  که اسمش شبیه بود.
 * ============================================================ */

/* ردیف واقعیِ جدولِ سبد خرید (دیدیم تو Inspect): یک <table class="wc-block-cart-items">
   داریم که هر ردیفش <tr class="wc-block-cart-items-row"> با سه <td> هست:
   __image / __product / __total. چون بین table و tr یک <tbody> واسطه هست،
   سلکتور «فرزند مستقیم» قبلی اصلاً بهش نمی‌رسید؛ برای همین اینجا با
   فاصله (descendant) می‌نویسیم، نه با >.
   نکته‌ی مهم‌تر: قبلاً اینجا از CSS Grid استفاده کرده بودم که مدام با
   رفتار ریسپانسیو داخلیِ خودِ جدول ووکامرس تداخل پیدا می‌کرد (باعث
   هم‌پوشانی متن‌ها تو موبایل می‌شد). حالا دقیقاً همون روش flex که تو
   خلاصه‌سفارشِ چک‌اوت جواب داد رو اینجا هم پیاده می‌کنم — قابل‌اعتمادتره. */
.wc-block-cart-items{width:100%;border-collapse:separate;border-spacing:0;}
.wc-block-cart-items-row{
  display:flex !important;flex-wrap:wrap;
  align-items:center;gap:14px;overflow:hidden;
  background:var(--card) !important;border:1px solid var(--line);border-radius:16px;
  padding:16px !important;margin-bottom:14px;box-shadow:var(--shadow);
  transition:box-shadow .2s,transform .2s;
}
.wc-block-cart-items-row:hover{box-shadow:0 14px 34px rgba(11,76,115,.12);}
/* خودِ td ها دیگه لازم نیست رفتار جدول داشته باشن؛ فقط آیتم‌های flex‌ان */
.wc-block-cart-items-row > td{display:block !important;padding:0 !important;border:none !important;}
.wc-block-cart-items thead{display:none;} /* ردیف هدر جدول (screen-reader-text) مخفی بمونه */

/* متن کوتاهِ «معرفی محصول» که زیر اسم محصول میاد، نه تو سبد خرید لازمه
   نه تو خلاصه‌سفارشِ چک‌اوت؛ چون کلاسش تو هر دو صفحه یکیه، یک قانون
   هر دو رو پوشش می‌ده. */
.wc-block-components-product-metadata__description{display:none !important;}

/* فرم «اضافه کردن کوپن‌های تخفیف» — این بلاکِ جدید (چک‌اوت/سبد خرید)
   قبلاً هیچ استایلی نداشت و دکمه‌اش خام و پیش‌فرض مرورگر دیده می‌شد. */
.wc-block-components-totals-coupon__content{gap:10px;}
.wc-block-components-totals-coupon__input .wc-block-components-text-input{
  border:1px solid var(--line) !important;border-radius:10px !important;
}
.wc-block-components-totals-coupon__input input{
  font-family:'Vazirmatn' !important;
}
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon__button.wp-element-button{
  background:var(--blue-dark) !important;color:#fff !important;
  border:none !important;border-radius:10px !important;
  height:44px !important;padding:0 20px !important;font-weight:700 !important;
  box-shadow:none !important;
}
.wc-block-components-totals-coupon__button:hover{background:var(--blue) !important;}
.wc-block-components-totals-coupon__button:disabled{opacity:.5;}

.wc-block-cart-item__image{flex:0 0 72px;}
.wc-block-cart-item__product{flex:1 1 240px;min-width:0;}
.wc-block-cart-item__total{flex:0 0 auto;margin-inline-start:auto;}

@media (max-width:640px){
  .wc-block-cart-item__image{flex:0 0 56px;}
  .wc-block-cart-item__product{flex:1 1 calc(100% - 70px);}
  /* قیمتِ واحد که زیر اسم محصول میاد (۶۷.۰۰۰.۰۰۰ / ۶۳.۰۰۰.۰۰۰) رو
     روی موبایل مخفی می‌کنیم؛ چون با قیمتِ جمع‌کل (که پایین‌تر با
     نشان «ذخیره» میاد) قاطی و روی هم می‌افتاد. اطلاعاتِ مهم (جمع‌کل
     و مقدار ذخیره) همون پایین باقی می‌مونه، فقط تکراری‌اش حذف شد. */
  .wc-block-cart-item__product .wc-block-components-product-price{display:none !important;}
  /* قیمت/جمع رو دیگه کنارِ محصول نمی‌چپونیم (چون محتوای محصول از یک
     ردیف بلندتره و روش سوار می‌شد)؛ می‌فرستیمش یک ردیفِ جدید و تمام‌عرض
     با یک خط جداکننده‌ی نازک بالاش. قیمت و نشان «ذخیره» رو هم ستونی
     (نه کنار هم) نگه می‌داریم؛ حالت کنار-هم روی موبایل جا کم می‌آورد
     و باعث می‌شد نشانِ ذخیره از کادر بزنه بیرون. */
  .wc-block-cart-item__total{
    flex:1 1 100%;margin-inline-start:0;
    margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);
  }
}

.wc-block-cart-item__image img{
  width:72px;height:72px;object-fit:contain;border-radius:12px;background:var(--bg);
}

[class*="wc-block-cart-item"] [class*="product-name"]{font-weight:700;color:var(--text) !important;font-size:14px;}
[class*="wc-block-cart-item"] [class*="product-name"]:hover{color:var(--blue) !important;}

/* دکمه‌های + / − که خود بلاک ووکامرس داره، فقط رنگش رو با تم هماهنگ می‌کنیم */
.wc-block-components-quantity-selector{
  border:1px solid var(--line) !important;border-radius:10px !important;overflow:hidden;
}
.wc-block-components-quantity-selector__button{
  background:var(--bg) !important;color:var(--blue-dark) !important;box-shadow:none !important;
}
.wc-block-components-quantity-selector__button:hover{
  background:var(--blue) !important;color:#fff !important;
}
.wc-block-components-quantity-selector__input{
  font-family:'Vazirmatn' !important;font-weight:700 !important;color:var(--text) !important;
}

/* لینک/دکمه حذف محصول */
.wc-block-cart-item__remove-link{color:#DC2626 !important;font-weight:700;font-size:12.5px;}
.wc-block-cart-item__remove-link:hover{text-decoration:underline;}

/* بسته‌ی «قیمت + نشان تخفیف» — این کلاس (wc-block-cart-item__total-price-and-sale-badge-wrapper)
   هم توی سبد خرید هم توی خلاصه‌سفارشِ چک‌اوت عیناً تکرار می‌شه، پس یک
   قانون هر دو رو پوشش می‌ده: قیمت بالا، نشان «ذخیره» زیرش، هردو راست‌چین
   و بدون شکستن وسط عدد. */
.wc-block-cart-item__total-price-and-sale-badge-wrapper{
  display:flex !important;flex-direction:column;align-items:flex-end;gap:4px;
}
[class*="wc-block-cart-item__total"] .wc-block-components-product-price,
[class*="wc-block-cart-item__total"] .wc-block-components-formatted-money-amount{
  color:var(--blue-dark) !important;font-weight:800 !important;
}

/* صفحات سبد خرید و پرداخت با Pagelayer ساخته شدن، ولی «عرض محتوا»
   (Content Width) توی تنظیمات Row پیج‌لایر خالی مونده — برای همین تو
   Inspect کلاسش هنوز به‌شکل خام pagelayer-auto-layer-width-{{width_content}}
   دیده می‌شه و عرضش از بقیه‌ی سایت باریک‌تره. اینجا فقط مخصوص همین دو
   صفحه (با کلاس استاندارد ووکامرس روی body) عرض رو باز می‌کنیم؛ بهتره
   بعداً از خودِ ادیتور Pagelayer (Row → Style → Content Width) هم درستش
   کنید تا این override دیگه لازم نباشه. */
body.woocommerce-cart .pagelayer-row-holder,
body.woocommerce-checkout .pagelayer-row-holder{
  max-width:1440px !important;
  width:100% !important;
}

/* ------------------------------------------------------------------ *
 *  خلاصه‌سفارشِ چک‌اوت — این بخش کلاسِ دیگه‌ای داره (نه cart-item):
 *  wc-block-components-order-summary-item. همون چیزی که تو Inspect دیدیم.
 * ------------------------------------------------------------------ */
.wc-block-components-order-summary-item{
  display:flex !important;flex-wrap:wrap;align-items:flex-start;gap:12px;
  padding:14px 0;border-bottom:1px dashed var(--line);
}
.wc-block-components-order-summary-item:last-of-type{border-bottom:none;}
.wc-block-components-order-summary-item__image img{
  width:56px;height:56px;object-fit:contain;border-radius:10px;background:var(--bg);
}
.wc-block-components-order-summary-item__description{flex:1 1 auto;min-width:0;}
.wc-block-components-order-summary-item__total-price{
  margin-inline-start:auto;flex-shrink:0;text-align:left;
}
/* روی موبایل، به‌جای اینکه با margin-inline-start:auto به‌زور بره ته
   ردیف و از عرض صفحه بزنه بیرون، می‌فرستیمش به یک ردیفِ جدید و
   تمام‌عرض، زیرِ عکس و توضیحات. */
@media (max-width:640px){
  .wc-block-components-order-summary-item__total-price{
    margin-inline-start:0;flex:1 1 100%;text-align:right;
  }
}

/* جمع‌بندی سفارش (سبد خرید و پرداخت) — عمداً فقط رنگ/تایپوگرافی و
   یک خط جداکننده‌ی افقی، بدون پدینگِ همه‌جهته یا بک‌گراند/بوردر روی
   المان‌های wildcard؛ همون پدینگِ همه‌جهته بود که وقتی رو چند سطح
   تودرتو اعمال می‌شد، عرض ستون قیمت رو تا حد تک‌کاراکتر تو هر خط جمع
   می‌کرد (باگ صفحه‌ی پرداخت). کارت‌کردنِ کامل این باکس رو با یه دور
   inspect دقیق‌تر انجام می‌دیم که مطمئن باشیم فقط یک لایه رو می‌گیره. */
.wc-block-components-totals-item{
  border-bottom:1px dashed var(--line) !important;
  flex-wrap:nowrap !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value{color:var(--text-2);}

/* ستون قیمت توی خلاصه‌سفارش (چک‌اوت و سبد خرید) نباید حرف‌به‌حرف
   بشکنه؛ این اتفاق وقتی می‌افته که والدش عرض رو خیلی محدود می‌کنه
   ولی به خودِ متن گفته نشده جمع نشه. */
.wc-block-components-formatted-money-amount,
.wc-block-components-product-price,
[class*="wc-block-cart-item__total"] .wc-block-components-product-price{
  white-space:nowrap !important;
  flex-shrink:0;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:16px;font-weight:800;color:var(--blue-dark) !important;
}

/* دکمه «رفتن به تسویه‌حساب» و دکمه‌ی «ثبت سفارش» */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--blue) !important;color:#fff !important;border-radius:12px !important;
  font-weight:700 !important;box-shadow:0 10px 24px rgba(27,154,214,.3) !important;border:none !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{background:var(--blue-dark) !important;}

/* وضعیت سبد خالی — این بخش با بلوک‌های معمولی گوتنبرگ ساخته شده
   (تیتر / متن / عکس / دکمه) و مستقیم از داخل ویرایشگر صفحه قابل
   تغییره؛ اینجا فقط قاب دورش رو شبیه بقیه کارت‌های سایت می‌کنیم.
   این بلاک یه‌بار توی صفحه میاد (تودرتو نیست)، پس پدینگ کامل امنه. */
.wp-block-woocommerce-empty-cart-block{
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:50px 20px !important;box-shadow:var(--shadow);text-align:center;
}
.wp-block-woocommerce-empty-cart-block .wc-block-components-button,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link{
  background:var(--blue) !important;color:#fff !important;border-radius:12px !important;
  font-weight:700 !important;box-shadow:0 10px 24px rgba(27,154,214,.3) !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-components-button:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover{background:var(--blue-dark) !important;}

/* ============================================================
 * صفحه‌ی پرداخت (چک‌اوت) — استایلِ کارتِ آدرسِ ذخیره‌شده، رادیوباتنِ
 * روش‌های ارسال، و چک‌باکس‌ها؛ چون این‌ها قبلاً هیچ استایلی نداشتن و
 * با ظاهر خامِ خودِ بلاک ووکامرس نمایش داده می‌شدن.
 * ============================================================ */

/* کارتِ آدرسِ ذخیره‌شده (همون چیزی که به‌جای فرم کامل نشون داده می‌شه) */
.wc-block-components-address-card{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px;padding-inline-end:96px;margin-bottom:16px;
  transition:border-color .2s,box-shadow .2s;
}
.wc-block-components-address-card:hover{border-color:rgba(27,154,214,.35);box-shadow:0 10px 24px rgba(11,76,115,.08);}
.wc-block-components-address-card p{color:var(--text-2);line-height:1.95;font-size:14px;}
.wc-block-components-address-card__edit{
  position:absolute;top:14px;inset-inline-end:16px;
  color:var(--blue-dark) !important;font-weight:700;font-size:12.5px;
  background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:6px 14px;
  transition:background .2s,color .2s;
}
.wc-block-components-address-card__edit:hover{background:var(--blue) !important;color:#fff !important;border-color:var(--blue);}

/* رادیوباتن‌های سبک (روش‌های ارسال/پرداخت) — هر گزینه یک ردیفِ کارتی */
.wc-block-components-radio-control__option-layout,
.wc-block-components-radio-control__option{
  display:flex !important;align-items:center;gap:12px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;margin-bottom:10px;cursor:pointer;
  transition:border-color .2s,box-shadow .2s;
}
.wc-block-components-radio-control__option:hover{border-color:var(--blue);}
.wc-block-components-radio-control__option[aria-checked="true"],
.wc-block-components-radio-control__option.is-active{
  border-color:var(--blue) !important;box-shadow:0 0 0 3px rgba(27,154,214,.12);
}
.wc-block-components-radio-control__input{accent-color:var(--blue) !important;width:18px;height:18px;flex-shrink:0;}
.wc-block-components-radio-control__label{font-weight:600;color:var(--text);font-size:14px;}
.wc-block-components-radio-control__secondary-label{color:var(--blue-dark);font-weight:700;}
.wc-block-components-radio-control__description{color:var(--text-2);font-size:12.5px;}

/* چک‌باکس‌ها (از همین آدرس استفاده شود / یادداشت اضافه کنید) */
.wc-block-components-checkbox{display:flex;align-items:center;gap:8px;}
.wc-block-components-checkbox__input{accent-color:var(--blue) !important;width:18px;height:18px;}
.wc-block-components-checkbox__mark{color:var(--blue) !important;}
.wc-block-components-checkbox__label{color:var(--text-2);font-size:13.5px;}

/* عنوانِ بخش‌های چک‌اوت (اطلاعات تماس / آدرس / گزینه‌های ارسال و ...) */
.wc-block-components-checkout-step__title{
  font-size:15.5px;font-weight:800;color:var(--blue-dark);margin-bottom:14px;
}

/* دکمه‌ی چشمکِ نمایش/مخفی‌کردن رمز عبور — رو همه‌ی فیلدهای رمز سایت
   (مودالِ ورود، ثبت‌نام، فراموشی رمز، و فرمِ تغییر رمز تو جزئیات حساب) */
.pm-pass-wrap{position:relative;}
.pm-pass-wrap input[type="password"],
.pm-pass-wrap input[type="text"]{padding-inline-end:44px !important;}
.pm-pass-toggle{
  position:absolute;top:50%;transform:translateY(-50%);
  inset-inline-end:12px;background:none;border:none;padding:4px;
  color:var(--text-2);cursor:pointer;display:flex;align-items:center;
  transition:color .2s;
}
.pm-pass-toggle:hover{color:var(--blue);}
