/*
Theme Name: LaptopLine
Description: قالب خطی، مینیمال و راست‌به‌چپ برای فروشگاه لپ‌تاپ با ووکامرس
Version: 1.8.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: laptopline
*/
:root{--bg:#fff;--ink:#16181d;--mute:#6b7079;--line:#e4e6ea;--soft:#f6f7f8;--acc:#0e6f7a;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#101215;--ink:#eceef1;--mute:#9097a2;--line:#262a31;--soft:#16191d;--acc:#4cc2cf;color-scheme:dark}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--ink);line-height:1.8;font-size:15px}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
svg{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.ico{width:22px;height:22px}

/* header */
.top{border-bottom:1px solid var(--line);font-size:13px;color:var(--mute)}
.top .wrap{display:flex;justify-content:space-between;padding-block:8px}
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
.site-header>.wrap{display:flex;align-items:center;gap:40px;height:72px}
.logo{font-weight:700;font-size:20px;display:flex;align-items:center;gap:10px}
.logo svg{width:28px;height:28px}
.main-nav{flex:1}.main-nav ul{display:flex;gap:28px;list-style:none}
.main-nav a{color:var(--mute);transition:color .2s}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .on{color:var(--ink)}
.tools{display:flex;gap:6px}
.tools a,.tools button{background:none;color:inherit;cursor:pointer;font:inherit;width:42px;height:42px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;position:relative}
.tools a:hover,.tools button:hover{border-color:var(--line)}
.tools b{position:absolute;top:2px;inset-inline-start:2px;background:var(--acc);color:var(--bg);font-size:10px;width:16px;height:16px;border-radius:4px;display:grid;place-items:center;font-weight:500}

/* hero */
.hero{border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:40px;min-height:560px}
.hero h1{font-size:clamp(32px,4.6vw,56px);font-weight:300;line-height:1.4;letter-spacing:-.5px}
.hero p{color:var(--mute);margin:20px 0 36px;max-width:420px}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border:1px solid var(--ink);border-radius:8px;transition:.2s;background:none;color:var(--ink);font:inherit;cursor:pointer}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.ghost{border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);background:none;color:var(--ink)}
.hero-art{position:relative;color:var(--ink)}
.hero-art svg{width:100%;height:auto;stroke-width:1}
.tag{position:absolute;border:1px solid var(--line);background:var(--bg);padding:6px 14px;border-radius:6px;font-size:12.5px;color:var(--mute);display:flex;gap:8px;align-items:center}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc)}
.t1{top:14%;inset-inline-end:2%}.t2{top:52%;inset-inline-start:0}.t3{bottom:8%;inset-inline-end:14%}

/* sections */
section{padding:88px 0;border-bottom:1px solid var(--line)}
.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}
.head h2{font-size:28px;font-weight:400}
.head a{color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:2px}
.head a:hover{color:var(--ink);border-color:var(--ink)}

/* categories */
.cats{display:grid;grid-template-columns:repeat(var(--n,5),1fr);border:1px solid var(--line)}
.cats a{padding:36px 20px;text-align:center;border-inline-start:1px solid var(--line);transition:background .2s}
.cats a:first-child{border-inline-start:0}
.cats a:hover{background:var(--soft)}
.cats svg{width:44px;height:44px;margin-bottom:14px;color:var(--acc)}
.cats span{display:block;font-size:12.5px;color:var(--mute)}

/* products */
.grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.p{padding:24px;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}
.p:hover{background:var(--soft)}
.p .img{aspect-ratio:4/3;display:grid;place-items:center;color:var(--ink);position:relative}
.p .img svg{width:78%;height:auto}
.p small{color:var(--mute);font-size:12.5px}
.p h3{font-size:15px;font-weight:500;margin:2px 0 6px}
.specs{font-size:12.5px;color:var(--mute);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.specs i{font-style:normal;border:1px solid var(--line);border-radius:6px;padding:0 10px}
.buy{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line)}
.price{font-weight:500}.price s{display:block;font-size:12px;color:var(--mute);font-weight:300}
.add{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;background:none;color:var(--ink);cursor:pointer;transition:.2s}
.add:hover{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.badge{position:absolute;top:0;inset-inline-start:0;font-size:12px;border:1px solid var(--acc);color:var(--acc);border-radius:6px;padding:0 10px}

/* promo */
.promo{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.promo>div{padding:56px 48px}
.promo>div:first-child{border-inline-end:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.promo h2{font-size:30px;font-weight:300;line-height:1.5;margin-bottom:12px}
.promo p{color:var(--mute);margin-bottom:28px}
.promo .art{display:grid;place-items:center;background:var(--soft)}
.promo .art svg{width:70%}

/* features */
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.feat div{display:flex;gap:16px}
.feat svg{width:34px;height:34px;flex:none;color:var(--acc)}
.feat h4{font-weight:500;font-size:15px}
.feat p{color:var(--mute);font-size:13px}

/* newsletter + footer */
.news .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.news h2{font-size:26px;font-weight:300}
.news p{color:var(--mute)}
.nl{display:flex;border-bottom:1px solid var(--ink)}
.nl input{flex:1;border:0;background:none;color:var(--ink);font:inherit;padding:14px 0}
.nl button{border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;padding:0 8px}
.site-footer{padding:64px 0 28px;color:var(--mute);font-size:14px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.site-footer h5{color:var(--ink);font-weight:500;margin-bottom:14px;font-size:14px}
.site-footer li{list-style:none;margin-bottom:8px}
.site-footer li a:hover{color:var(--ink)}
.copy{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:13px}

@media(max-width:980px){
 .main-nav{display:none}
 .hero .wrap,.promo,.news .wrap{grid-template-columns:1fr}
 .hero .wrap{min-height:0;padding-block:48px}
 .cats{grid-template-columns:repeat(2,1fr)}.cats a{border-top:1px solid var(--line)}
 .grid{grid-template-columns:repeat(2,1fr)}.feat{grid-template-columns:1fr 1fr}
 .fg{grid-template-columns:1fr 1fr}.promo>div{padding:36px 24px}
}
@media(max-width:560px){.grid,.feat{grid-template-columns:1fr}.top .wrap span:last-child{display:none}section{padding:56px 0}.tag{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.crumb{border-bottom:1px solid var(--line);padding:16px 0;font-size:13px;color:var(--mute)}
.crumb a:hover{color:var(--ink)}.crumb i{font-style:normal;margin:0 8px;opacity:.5}
.ph{padding:48px 0 40px}.ph h1{font-size:34px;font-weight:300}.ph p{color:var(--mute)}
.shop{display:grid;grid-template-columns:260px 1fr;border-bottom:1px solid var(--line)}
.shop aside{border-inline-end:1px solid var(--line);padding:8px 24px 40px 24px}
.shop aside details{border-bottom:1px solid var(--line);padding:18px 0}
.shop summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between}
.shop summary::after{content:"+";color:var(--mute)}.shop details[open] summary::after{content:"−"}
.shop details label{display:flex;gap:10px;align-items:center;margin-top:10px;color:var(--mute);font-size:14px}
.shop details label span{margin-inline-start:auto;font-size:12px}
input[type=checkbox],input[type=radio]{accent-color:var(--acc)}
.range{display:flex;gap:12px;margin-top:14px}.range input{width:100%}
.shop .main{padding-inline-start:0}
.bar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);color:var(--mute);font-size:14px}
.sel,.f input,.f select{font:inherit;color:var(--ink);background:none}
.sel{border:1px solid var(--line);border-radius:8px;padding:6px 16px}
.shop .grid{grid-template-columns:repeat(3,1fr);border-top:0;border-inline-start:0}
.pager{display:flex;gap:8px;justify-content:center;padding:40px 0}
.pager a{width:40px;height:40px;border:1px solid transparent;border-radius:8px;display:grid;place-items:center;color:var(--mute)}
.pager a:hover,.pager a.on{border-color:var(--ink);color:var(--ink)}
.pd{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;padding:56px 0}
.gal .big{border:1px solid var(--line);aspect-ratio:1/.85;display:grid;place-items:center}.gal .big svg{width:80%}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.thumbs a{border:1px solid var(--line);aspect-ratio:1;display:grid;place-items:center;padding:8px}.thumbs a.on,.thumbs a:hover{border-color:var(--ink)}
.info small{color:var(--mute)}.info h1{font-size:32px;font-weight:300;line-height:1.5;margin:4px 0 10px}
.rate{display:flex;gap:6px;align-items:center;color:var(--mute);font-size:13px}.rate svg{width:16px;height:16px;color:var(--acc)}
.info .pr{font-size:26px;font-weight:500;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}
.info .pr s{font-size:14px;color:var(--mute);font-weight:300;margin-inline-start:10px}
.opt{margin-bottom:22px}.opt>b{display:block;font-weight:500;margin-bottom:10px;font-size:14px}
.chip{display:inline-block;margin-inline-end:8px;cursor:pointer}
.chip input{position:absolute;opacity:0}
.chip span{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:5px 18px;font-size:14px;color:var(--mute)}
.chip input:checked+span{border-color:var(--ink);color:var(--ink)}
.chip input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.qty{width:90px;border:1px solid var(--line);border-radius:8px;padding:12px 18px;font:inherit;color:var(--ink);background:none;text-align:center}
.buyrow{display:flex;gap:12px;margin-top:8px}.buyrow .btn{flex:1;justify-content:center;background:var(--ink);color:var(--bg)}.buyrow .btn:hover{background:none;color:var(--ink)}
.perks{margin-top:28px;display:grid;gap:10px;color:var(--mute);font-size:14px}.perks div{display:flex;gap:10px;align-items:center}.perks svg{width:20px;height:20px;color:var(--acc)}
.tabs{border-top:1px solid var(--line);padding:56px 0}.tabs h2{font-size:24px;font-weight:400;margin-bottom:24px}
table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:14px 0;border-bottom:1px solid var(--line);font-weight:400}th{color:var(--mute);width:35%}
.cartpg{display:grid;grid-template-columns:1fr 360px;gap:56px;padding:48px 0 88px}
.row{display:grid;grid-template-columns:90px 1fr auto auto 32px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.row .t{border:1px solid var(--line);padding:6px}.row h3{font-size:15px;font-weight:500}.row small{color:var(--mute)}
.x{border:0;background:none;color:var(--mute);cursor:pointer;width:32px;height:32px;border-radius:8px}.x:hover{color:var(--ink);background:var(--soft)}
.sum{border:1px solid var(--line);padding:28px;align-self:start}.sum h2{font-size:18px;font-weight:500;margin-bottom:18px}
.sum .l{display:flex;justify-content:space-between;padding:10px 0;color:var(--mute);border-bottom:1px solid var(--line)}
.sum .l.tot{color:var(--ink);font-weight:500;font-size:17px;border:0;padding-top:18px}
.sum .btn{width:100%;justify-content:center;margin-top:12px;background:var(--ink);color:var(--bg)}.sum .btn:hover{background:none;color:var(--ink)}
.cpn{display:flex;border-bottom:1px solid var(--ink);margin:16px 0}.cpn input{flex:1;border:0;background:none;color:var(--ink);font:inherit;padding:10px 0}.cpn button{border:0;background:none;color:var(--acc);font:inherit;cursor:pointer}
.co{display:grid;grid-template-columns:1fr 400px;gap:64px;padding:48px 0 88px}
.co h2{font-size:18px;font-weight:500;margin:0 0 8px}.co fieldset{border:0;margin-bottom:40px}
.f{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.f label{display:block;font-size:13px;color:var(--mute);margin-top:14px}.f .w{grid-column:1/-1}
.f input,.f select{width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 0}.f input:focus,.f select:focus{outline:0;border-color:var(--ink)}
.f select option{background:var(--bg)}
.pay{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:16px 20px;margin-top:-1px;cursor:pointer}
.pay:has(input:checked){border-color:var(--ink);position:relative}.pay small{color:var(--mute);margin-inline-start:auto}
.co .sum .row{grid-template-columns:56px 1fr auto;padding:14px 0;gap:14px}
@media(max-width:980px){.shop,.pd,.cartpg,.co{grid-template-columns:1fr;gap:32px}.shop aside{border:0;border-bottom:1px solid var(--line)}.shop .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shop .grid{grid-template-columns:1fr}.f{grid-template-columns:1fr}.buyrow{flex-wrap:wrap}}

/* ===== Theme additions: WordPress / WooCommerce ===== */
.tools b[hidden]{display:none}
.hero-art img{width:100%;height:auto;display:block}
.cats .cat-img{width:44px;height:44px;object-fit:contain;display:block;margin:0 auto 14px}
.p .img img{width:100%;height:100%;object-fit:contain}
.p .img{aspect-ratio:4/3;overflow:hidden}
.add{text-decoration:none}.add.loading{opacity:.4}.add.added{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.added_to_cart{display:none}
.price del{color:var(--mute);font-size:.6em;font-weight:300;margin-inline-end:8px}.price ins{text-decoration:none}
.p .price del{display:block;margin:0;font-size:12px}
.entry{padding-bottom:88px;max-width:860px}.entry.full{max-width:none}.entry p{margin-bottom:1em}
.posts{display:grid;gap:0;border-top:1px solid var(--line)}
.post-row{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.post-row h2{font-size:20px;font-weight:500}.post-row small{color:var(--mute)}
.post-row img{width:100%;height:auto}
section.related,section.upsells{padding:56px 0 0;border:0}
.related h2,.upsells h2{font-size:24px;font-weight:400;margin-bottom:24px}
.woocommerce-notices-wrapper:not(:empty){padding-top:24px}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.cart-empty{list-style:none;border:1px solid var(--line);border-inline-start:3px solid var(--acc);padding:14px 20px;margin-bottom:16px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.woocommerce-error{border-inline-start-color:#c0392b}
.woocommerce-message .button,.woocommerce-info .button{order:2;border-bottom:1px solid;padding-bottom:1px}
.return-to-shop .button,.woocommerce-Button,.woocommerce-form-login__submit,.woocommerce-button{display:inline-flex;padding:10px 26px;border:1px solid var(--ink);border-radius:8px;background:none;color:var(--ink);font:inherit;cursor:pointer}
.return-to-shop .button:hover,.woocommerce-Button:hover,.woocommerce-form-login__submit:hover{background:var(--ink);color:var(--bg)}
.woocommerce-result-count{margin:0}
.woocommerce-ordering select,.variations select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 16px}
.woocommerce-pagination ul,.pagination .nav-links{display:flex;gap:8px;justify-content:center;padding:40px 0;list-style:none}
a.page-numbers,span.page-numbers{width:40px;height:40px;border:1px solid transparent;border-radius:8px;display:grid;place-items:center;color:var(--mute)}
a.page-numbers:hover,span.page-numbers.current{border-color:var(--ink);color:var(--ink)}
.widget ul{list-style:none}.widget li{margin-top:10px;color:var(--mute);font-size:14px;display:flex;justify-content:space-between;gap:8px}
.widget li a:hover,.widget .current-cat>a,.widget .chosen a{color:var(--ink)}
.widget .count{font-size:12px}
.ui-slider{height:2px;background:var(--line);position:relative;margin:20px 8px 12px}
.ui-slider-range{position:absolute;height:100%;background:var(--acc)}
.ui-slider-handle{position:absolute;top:-6px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:1px solid var(--ink);outline:0;margin-inline-start:-7px}
.price_slider_amount{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;color:var(--mute)}
.price_slider_amount .button{border:1px solid var(--line);border-radius:8px;background:none;color:var(--ink);padding:2px 16px;font:inherit;cursor:pointer}
.product_title{font-size:32px;font-weight:300;line-height:1.5;margin:4px 0 10px}
.info .price{display:block;font-size:26px;font-weight:500;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}
.woocommerce-product-rating{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mute)}
.star-rating{position:relative;display:inline-block;height:1.15em;overflow:hidden;line-height:1.15;font-size:14px;letter-spacing:2px;white-space:nowrap;direction:ltr;vertical-align:middle}
.star-rating::before{content:"★★★★★";color:var(--line)}
.star-rating span{position:absolute;top:0;left:0;overflow:hidden;padding-top:2em;height:0}
.star-rating span::before{content:"★★★★★";position:absolute;top:0;left:0;color:var(--acc)}
.woocommerce-product-details__short-description{color:var(--mute);margin-bottom:20px}
form.cart,.woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:8px}
form.variations_form{display:block}
.variations{margin-bottom:12px}.variations th,.variations td{padding:10px 0;border:0;width:auto}
.reset_variations{font-size:12px;color:var(--mute)}
.single_add_to_cart_button,.checkout-button,#place_order{display:inline-flex;justify-content:center;align-items:center;padding:13px 28px;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--bg);font:inherit;cursor:pointer;transition:.2s}
.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover{background:none;color:var(--ink)}
.single_add_to_cart_button{flex:1}.checkout-button,#place_order{width:100%}
.single_add_to_cart_button.disabled{opacity:.4;cursor:not-allowed}
.product_meta{margin-top:24px;color:var(--mute);font-size:13px;display:grid;gap:4px}
.gal .big img{max-width:90%;height:auto;max-height:100%;object-fit:contain}
.thumbs img{width:100%;height:auto;display:block}
.woocommerce-product-attributes td p{margin:0}
.row .t img{width:100%;height:auto;display:block}
a.x{display:grid;place-items:center;font-size:22px;line-height:1}
.cart-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}
.cart-actions .cpn{flex:1;min-width:220px;margin:0}
.cart_totals h2{font-size:18px;font-weight:500;margin-bottom:12px}
.sum th,.sum td{padding:12px 0}.sum th{width:auto;color:var(--mute)}.sum td{text-align:end}
.sum .order-total th,.sum .order-total td{font-weight:500;color:var(--ink);border:0}
.sum ul{list-style:none}.wc-proceed-to-checkout{margin-top:16px}
#customer_details h3,.woocommerce-checkout h3{font-size:18px;font-weight:500;margin:0 0 8px}
#customer_details{margin-bottom:24px}.woocommerce-shipping-fields,.woocommerce-additional-fields{margin-top:32px}
.form-row{margin-top:14px;display:block}.form-row label{display:block;font-size:13px;color:var(--mute)}
.form-row .required{color:var(--acc);text-decoration:none;border:0}
.form-row input.input-text,.form-row textarea,.form-row select{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--ink);font:inherit;padding:10px 0}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:0;border-color:var(--ink)}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.form-row-wide{grid-column:1/-1}
.woocommerce-form__label-for-checkbox{display:flex!important;gap:10px;align-items:center;color:var(--ink)!important}
.select2-container{width:100%!important}
.select2-container--default .select2-selection--single{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;height:auto;padding:8px 0}
.select2-container--default .select2-selection__rendered{color:var(--ink)!important;padding:0!important;line-height:1.8!important}
.select2-container--default .select2-selection__arrow{height:100%!important}
.select2-dropdown{background:var(--bg);color:var(--ink);border:1px solid var(--line)}
.select2-search__field{background:var(--bg);color:var(--ink)}
.select2-container--default .select2-results__option--highlighted{background:var(--soft)!important;color:var(--ink)!important}
#payment{margin-top:16px}#payment ul.payment_methods{list-style:none}
#payment .wc_payment_method{border:1px solid var(--line);margin-top:-1px;padding:14px 18px}
#payment .payment_box{color:var(--mute);font-size:13px;margin-top:8px}
#payment .place-order{margin-top:16px}.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--mute)}
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:32px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 0;color:var(--mute)}
.woocommerce-MyAccount-navigation .is-active a{color:var(--ink);border-bottom:1px solid var(--ink)}
.woocommerce-form-login,.woocommerce-form-register{border:1px solid var(--line);padding:28px;max-width:480px}
@media(max-width:980px){.post-row{grid-template-columns:1fr}.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}}

/* ===== v1.1: fonts, a11y, header, drawers, search, mini-cart ===== */
@font-face{font-family:Vazirmatn;src:url(assets/fonts/Vazirmatn-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
:root{--sx:1}:root[dir=rtl]{--sx:-1}
.top a:hover{color:var(--ink)}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}

/* header + nav */
.menu-btn{display:none;width:42px;height:42px;place-items:center;border:0;background:none;color:inherit;cursor:pointer;border-radius:8px;margin-inline-start:-8px}
.menu-btn:hover{background:var(--soft)}
.main-nav>ul>li>a{display:block;padding:24px 0}
.main-nav li{position:relative}
.main-nav .sub-menu{display:none;position:absolute;top:100%;inset-inline-start:-16px;min-width:210px;background:var(--bg);border:1px solid var(--line);padding:8px 18px;z-index:10;flex-direction:column;gap:0;list-style:none}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:flex}
.main-nav .sub-menu a{display:block;padding:9px 0}
.main-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:5px;height:5px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);margin-inline-start:8px;position:relative;top:-3px}
@media(max-width:980px){
 .menu-btn{display:grid}
 .site-header>.wrap{gap:10px}
 .logo{margin-inline-end:auto}
 .acc-link{display:none!important}
}

/* overlay + drawers */
.ovl{position:fixed;inset:0;background:rgba(10,12,16,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:998}
.ovl.on{opacity:1;visibility:visible}
body.lock{overflow:hidden}
.drawer{position:fixed;top:0;bottom:0;width:min(88vw,360px);background:var(--bg);color:var(--ink);z-index:999;display:flex;flex-direction:column;visibility:hidden;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility .32s;box-shadow:0 0 40px rgba(0,0,0,.18)}
.d-nav{inset-inline-start:0;transform:translateX(calc(var(--sx) * -100%))}
.d-cart{inset-inline-end:0;width:min(92vw,420px);transform:translateX(calc(var(--sx) * 100%))}
.drawer.open{transform:none;visibility:visible}
.admin-bar .drawer{top:32px}
@media(max-width:782px){.admin-bar .drawer{top:46px}}
.d-head{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:68px;border-bottom:1px solid var(--line);flex:none}
.d-head h3{font-size:17px;font-weight:500}
.d-close{width:40px;height:40px;border:0;background:none;color:inherit;font-size:28px;line-height:1;cursor:pointer;border-radius:8px}
.d-close:hover{background:var(--soft)}
.d-body{flex:1;overflow:auto;padding:20px}
.d-foot{flex:none;border-top:1px solid var(--line);padding:16px 20px;display:flex;justify-content:space-between;gap:12px;color:var(--mute);font-size:14px}
.d-foot a:hover{color:var(--ink)}
.mnav-menu{margin-top:20px}
.mnav-menu ul{list-style:none}
.mnav-menu li{position:relative;border-bottom:1px solid var(--line)}
.mnav-menu a{display:block;padding:14px 0;font-size:16px}
.mnav-menu .current-menu-item>a,.mnav-menu a:hover{color:var(--acc)}
.mnav-menu .sub-toggle{position:absolute;top:6px;inset-inline-end:0;width:40px;height:40px;border:0;background:none;color:inherit;cursor:pointer;display:grid;place-items:center}
.mnav-menu .sub-toggle svg{transition:transform .2s}
.mnav-menu .sub-open>.sub-toggle svg{transform:rotate(180deg)}
.mnav-menu .sub-menu{display:none;padding-inline-start:16px;border-top:1px solid var(--line)}
.mnav-menu .sub-open>.sub-menu{display:block}
.mnav-menu .sub-menu li:last-child{border-bottom:0}
.mnav-menu .sub-menu a{font-size:14.5px;color:var(--mute)}

/* search */
.search-panel{position:absolute;top:100%;inset-inline:0;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -24px rgba(0,0,0,.28);padding:20px 0 24px;max-height:calc(100vh - 120px);overflow:auto}
.search-panel[hidden]{display:none}
.sform{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--ink)}
.sform>.ico{color:var(--mute);flex:none}
.sform input[type=search]{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:17px;padding:14px 0;outline:0;-webkit-appearance:none;appearance:none}
.sform input[type=search]::-webkit-search-cancel-button{display:none}
.sform button{border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;padding:0 6px;display:grid;place-items:center}
.sform .sclose{font-size:26px;color:var(--mute)}
.search-panel.busy .sform{border-color:var(--acc)}
.ls:empty{display:none}
.ls{padding-top:8px}
.ls-i{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.ls-i:hover .ls-t b{color:var(--acc)}
.ls-img{border:1px solid var(--line);aspect-ratio:1;display:grid;place-items:center;padding:4px;overflow:hidden}
.ls-img img{width:100%;height:100%;object-fit:contain}.ls-img svg{width:100%}
.ls-t b{display:block;font-weight:500;font-size:14.5px}.ls-t small{color:var(--mute)}
.ls-p{font-weight:500;font-size:14px;text-align:end}.ls-p del{display:block;font-size:12px;color:var(--mute);font-weight:300}.ls-p ins{text-decoration:none}
.ls-all{display:block;text-align:center;padding:16px 0 0;color:var(--acc)}
.ls-none{padding:20px 0;color:var(--mute)}.ls-none a{color:var(--acc);border-bottom:1px solid}
.d-body .sform input[type=search]{font-size:15px;padding:10px 0}
.empty{padding:72px 24px 96px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;grid-column:1/-1}
.empty svg{width:180px;color:var(--mute);opacity:.6}.empty h2{font-size:22px;font-weight:400}.empty p{color:var(--mute)}
.empty .sform{width:min(420px,100%)}

/* mini cart */
.widget_shopping_cart_content{display:flex;flex-direction:column;flex:1;min-height:0}
.mc{list-style:none;flex:1;overflow:auto;padding:0 20px;transition:opacity .2s}
.mc-busy{opacity:.45;pointer-events:none}
.mc-item{display:grid;grid-template-columns:76px 1fr 28px;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.mc-thumb{border:1px solid var(--line);aspect-ratio:1;display:grid;place-items:center;padding:4px;overflow:hidden}
.mc-thumb img{width:100%;height:100%;object-fit:contain}.mc-thumb svg{width:100%}
.mc-name{display:block;font-weight:500;font-size:14.5px;line-height:1.7}
a.mc-name:hover{color:var(--acc)}
.mc-info dl{font-size:12.5px;color:var(--mute);display:flex;gap:6px;flex-wrap:wrap}.mc-info dl p{margin:0}
.mc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}
.mc-q{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px}
.mc-q span{min-width:28px;text-align:center;font-size:14px}
.mc-step{width:30px;height:30px;border:0;background:none;color:var(--ink);font-size:18px;cursor:pointer;border-radius:8px}
.mc-step:hover:not(:disabled){background:var(--soft)}.mc-step:disabled{opacity:.3;cursor:not-allowed}
.mc-price{font-weight:500;font-size:14px}.mc-price del{display:none}.mc-price ins{text-decoration:none}
.mc-x{width:28px;height:28px;display:grid;place-items:center;color:var(--mute);font-size:22px;line-height:1;border-radius:8px}
.mc-x:hover{color:var(--ink);background:var(--soft)}
.mc-foot{flex:none;border-top:1px solid var(--line);padding:20px;display:grid;gap:10px}
.mc-total{display:flex;justify-content:space-between;font-size:16px;margin-bottom:4px}
.mc-foot .btn{justify-content:center}
.btn.solid{background:var(--ink);color:var(--bg)}.btn.solid:hover{background:none;color:var(--ink)}
.mc-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px;text-align:center;color:var(--mute)}
.mc-empty svg{width:64px;height:64px;stroke-width:1}
.add.loading{opacity:.4;pointer-events:none}
.single_add_to_cart_button.loading{opacity:.5;pointer-events:none}

/* toast */
.toast{position:fixed;bottom:24px;inset-inline:0;margin-inline:auto;width:max-content;max-width:90vw;background:var(--ink);color:var(--bg);padding:12px 24px;border-radius:8px;z-index:1001;font-size:14px;opacity:0;transform:translateY(12px);transition:.25s}
.toast.on{opacity:1;transform:none}
.toast[hidden]{display:none}

/* cart page on small screens */
@media(max-width:980px){
 .cartpg .row{grid-template-columns:72px 1fr auto;grid-template-areas:"t i x" "t q s";gap:8px 16px;align-items:center}
 .cartpg .row>.t{grid-area:t}.cartpg .row>div:nth-child(2){grid-area:i}.cartpg .row>.q{grid-area:q}.cartpg .row>b{grid-area:s;text-align:end}.cartpg .row>.x{grid-area:x}
 .cartpg .qty{width:84px;padding:6px 10px}
 .cart-actions .cpn{min-width:100%}
}
@media(max-width:560px){.site-header>.wrap{padding:0 16px}.wrap{padding:0 16px}.hero h1{font-size:30px}.head h2{font-size:22px}.pd{padding:32px 0}.sum{padding:20px}}

/* ===== v1.2: reviews ===== */
.rv{margin-top:56px;padding-top:48px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start}
.rv-list h2,.woocommerce-Reviews-title{font-size:24px;font-weight:400;margin-bottom:20px}
.woocommerce-Reviews-title span{color:var(--mute);font-size:.7em}
.rv-sum{display:flex;gap:20px;align-items:center;border:1px solid var(--line);padding:18px 24px;margin-bottom:8px}
.rv-sum>b{font-size:42px;font-weight:300;line-height:1}
.rv-sum small{display:block;color:var(--mute);font-size:13px;margin-top:4px}
.rv-sum .star-rating,.comment-text .star-rating{font-size:16px}
.commentlist{list-style:none}
.commentlist>li{padding:24px 0;border-bottom:1px solid var(--line)}
.commentlist .children{list-style:none;margin-inline-start:32px}
.comment_container{display:grid;grid-template-columns:48px 1fr;gap:16px}
.comment_container img.avatar{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--soft);display:block}
.comment-text .star-rating{margin-bottom:8px;display:block;width:max-content}
.comment-text .meta{font-size:13px;color:var(--mute);margin-bottom:8px}
.comment-text .meta strong{color:var(--ink);font-weight:500;font-size:14.5px}
.woocommerce-review__verified{font-style:normal;color:var(--acc);margin-inline-start:8px;font-size:12px}
.woocommerce-review__dash{margin:0 6px}
.comment-text .description p{margin:0 0 .6em;color:var(--ink)}
.comment-text .description p:last-child{margin:0}
.comment-text .woocommerce-review__awaiting-approval{color:var(--mute);font-size:13px}
.woocommerce-noreviews,.woocommerce-verification-required{color:var(--mute);border:1px dashed var(--line);padding:28px;text-align:center}
.woocommerce-verification-required{grid-column:1/-1}
.rv .woocommerce-pagination ul{padding:24px 0 0}

#review_form_wrapper{border:1px solid var(--line);padding:28px;position:sticky;top:100px}
#reply-title{display:block;font-size:18px;font-weight:500;margin-bottom:6px}
#review_form .comment-form>p,#review_form .comment-form-rating{margin-top:18px}
#review_form label{display:block;font-size:13px;color:var(--mute);margin-bottom:4px}
#review_form .required{color:var(--acc);border:0;text-decoration:none}
#review_form input[type=text],#review_form input[type=email]{width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;padding:10px 0;border-radius:0}
#review_form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:none;color:var(--ink);font:inherit;padding:12px 14px;resize:vertical;min-height:130px}
#review_form input:focus,#review_form textarea:focus,#review_form select:focus{outline:0;border-color:var(--ink)}
#review_form select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;padding:8px 16px}
#review_form .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start}
#review_form .comment-form-cookies-consent label{margin:0;font-size:13px}
#review_form .form-submit{margin-top:22px}
#review_form #submit{display:inline-flex;justify-content:center;width:100%;padding:13px 28px;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--bg);font:inherit;cursor:pointer;transition:.2s}
#review_form #submit:hover{background:none;color:var(--ink)}
.must-log-in{color:var(--mute)}.must-log-in a{color:var(--acc);border-bottom:1px solid}

/* star picker (WooCommerce JS replaces the select with p.stars) */
p.stars{margin:6px 0 0}
p.stars span{display:inline-flex;direction:ltr;gap:2px}
p.stars a{position:relative;display:block;width:30px;height:30px;font-size:0;line-height:0;text-decoration:none}
p.stars a::before{content:"★";position:absolute;inset:0;font-size:28px;line-height:30px;text-align:center;color:var(--line);transition:color .15s}
p.stars:hover a::before,p.stars.selected a::before{color:var(--acc)}
p.stars a:hover~a::before,p.stars.selected a.active~a::before{color:var(--line)}
p.stars.selected:hover a:hover~a::before{color:var(--line)}
p.stars a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
@media(max-width:980px){.rv{grid-template-columns:1fr;gap:32px}#review_form_wrapper{position:static;padding:20px}}

/* v1.3: custom CTA image */
.promo .art.has-img{padding:32px;min-width:0}
.promo .art.has-img img{display:block;max-width:100%;max-height:340px;width:auto;height:auto;object-fit:contain}
@media(max-width:980px){.promo .art.has-img{padding:24px}.promo .art.has-img img{max-height:260px}}

/* v1.4.1: soft footer background */
.site-footer{background:var(--soft);background:color-mix(in srgb,var(--acc) 6%,var(--bg))}
.site-footer .copy{border-color:color-mix(in srgb,var(--acc) 14%,var(--line))}

/* ---------- Request price (v1.5) ---------- */
.buy .q{display:flex;gap:10px;align-items:center;width:100%}
.rq{font:inherit;font-size:14px;cursor:pointer;height:40px;padding:0 20px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:8px;transition:.2s;white-space:nowrap}
.rq:hover{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.buy .rq{flex:1}
.wa{width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:#1fa855;transition:.2s}
.wa .ico{width:20px;height:20px}
.wa:hover{background:#25d366;border-color:#25d366;color:#fff}
.btn.rq{height:auto;padding:13px 32px;font-size:inherit}
.btn.solid.rq:hover{background:none;color:var(--ink);border-color:var(--ink)}
.wa-btn{border-color:#25d366;color:#1fa855;justify-content:center}
.wa-btn .ico{width:20px;height:20px}
.wa-btn:hover{background:#25d366;border-color:#25d366;color:#fff}
.rq-box{margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}
.rq-row{display:flex;gap:12px;flex-wrap:wrap}
.rq-tel{display:inline-block;margin-top:14px;color:var(--mute);font-size:14px}.rq-tel:hover{color:var(--ink)}
.qm{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgba(10,12,16,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s}
.qm[hidden]{display:none}
.qm.on{opacity:1}
.qm-box{position:relative;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;width:min(100%,460px);max-height:calc(100vh - 32px);overflow:auto;padding:36px 32px 32px;box-shadow:0 24px 60px rgba(0,0,0,.25);transform:translateY(14px) scale(.98);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.qm.on .qm-box{transform:none}
.qm-x{position:absolute;top:14px;inset-inline-end:14px;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--mute);font-size:22px;line-height:1;cursor:pointer;transition:.2s}
.qm-x:hover{color:var(--ink);border-color:var(--ink)}
.qm-head{padding-inline-end:44px;margin-bottom:6px}
.qm h3{font-size:22px;font-weight:500;line-height:1.5}
.qm-p{display:inline-block;margin-top:8px;padding:0 12px;border:1px solid var(--line);border-radius:6px;color:var(--mute);font-size:13px}
.qm-p:empty{display:none}
.qm label{display:block;font-size:13px;color:var(--mute);margin-top:18px}
.qm label input,.qm label textarea{display:block;width:100%;font:inherit;font-size:15px;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0 10px;resize:none;transition:border-color .2s}
.qm label input::placeholder,.qm label textarea::placeholder{color:var(--mute);opacity:.55}
.qm label input:focus,.qm label textarea:focus{outline:0;border-color:var(--acc)}
.qm .qm-hp{position:absolute!important;left:-9999px;width:1px!important;height:1px;opacity:0}
.qm-err{color:#c0392b;font-size:13px;margin-top:14px}
.qm form .btn{width:100%;justify-content:center}
.qm form .btn.solid{margin-top:24px}
.qm-or{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--mute);font-size:13px}
.qm-or::before,.qm-or::after{content:"";flex:1;border-top:1px solid var(--line)}
.qm-ok{text-align:center;padding:12px 0 0}
.qm-tick{width:56px;height:56px;margin:0 auto 12px;display:block;fill:none;stroke:var(--acc);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.qm-ok h4{font-size:19px;font-weight:500}.qm-ok p{color:var(--mute);margin:6px 0 22px}
@media(max-width:560px){.qm-box{padding:30px 22px 24px}.rq-row .btn{flex:1}}

/* ---------- Product card image: taller box, never cropped (v1.5.2) ---------- */
.p .img{aspect-ratio:1/1;overflow:hidden;margin-bottom:10px}
.p .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px}

/* ---------- Telegram (v1.5.3) ---------- */
.tg{width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:#229ed9;transition:.2s}
.tg .ico{width:20px;height:20px}
.tg:hover{background:#229ed9;border-color:#229ed9;color:#fff}
.tg-btn{border-color:#229ed9;color:#229ed9;justify-content:center}
.tg-btn .ico{width:20px;height:20px}
.tg-btn:hover{background:#229ed9;border-color:#229ed9;color:#fff}
.qm-chat{display:flex;gap:10px}
.qm form .qm-chat .btn{flex:1;width:auto;padding-inline:12px}

/* ---------- React-style polish (v1.7) ---------- */
.btn,.rq,.qm-x,.wa,.tg{transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.btn.solid:hover,.rq:hover{box-shadow:0 4px 14px rgba(0,0,0,.14)}
.p{transition:background .2s,box-shadow .2s}
.qm-box{box-shadow:0 20px 50px rgba(15,23,42,.22),0 2px 6px rgba(15,23,42,.08)}
.qm label input,.qm label textarea{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:6px;background:var(--bg)}
.qm label input:focus,.qm label textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(14,111,122,.15)}
.qm .qm-hp{border:0}
.qm-p{padding:2px 10px}

/* ---------- Live search polish (v1.8) ---------- */
@keyframes llspin{to{transform:rotate(360deg)}}
.busy .sform::after{content:"";flex:none;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--acc);border-radius:50%;animation:llspin .7s linear infinite}
#mnav.busy .sform{border-color:var(--acc)}
.ls-i{transition:background .15s;margin-inline:-8px;padding-inline:8px;border-radius:8px}
.ls-i:hover,.ls-i.on{background:var(--soft)}
.ls-i.on .ls-t b{color:var(--acc)}
.ls mark{background:rgba(14,111,122,.16);color:inherit;border-radius:3px;padding:0 1px}
.ls-p.q{font-weight:400;color:var(--mute);font-size:12.5px;white-space:nowrap}
.d-body .ls-i{grid-template-columns:52px 1fr;gap:12px}
.d-body .ls-p{grid-column:2;text-align:start}
