/*
Theme Name: Battery Store
Theme URI: https://shanabattery.ir
Author: me
Version: 1.0
Text Domain: shanabattery
*/
/* جلوگیری از لقی و اسکرول افقی در تمام رزولوشن‌ها */
html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    position: relative;
}

/* اصلاح بخش‌هایی که احتمال بیرون‌زدگی دارند */
.checkout-layout {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    direction:rtl;
    font-family:'Vazirmatn',sans-serif;
    background:#f8f9fa;
    color:#222;
}

.container{
    width:1200px;
    max-width:95%;
    margin:auto;
}


/* HEADER */

.site-header{
    background:#fff;
    position:sticky;
    top:0;
    z-index:999;
    border-bottom:1px solid #ececec;
    backdrop-filter:blur(10px);
}

.header-wrapper{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:90px;
}

.logo a{
    text-decoration:none;
    color:#111;
    font-size:34px;
    font-weight:800;
    letter-spacing:-1px;
}


/* MENU */

.main-nav ul{
    display:flex;
    align-items:center;
    gap:40px;
    list-style:none;
}

.main-nav a{
    text-decoration:none;
    color:#333;
    font-size:15px;
    font-weight:600;
    transition:.3s;
    position:relative;
}

.main-nav a:hover{
    color:#f7b500;
}

.main-nav a::after{
    content:"";
    position:absolute;
    bottom:-8px;
    right:0;
    width:0;
    height:2px;
    background:#f7b500;
    transition:.3s;
}

.main-nav a:hover::after{
    width:100%;
}

/* ACTIONS */

.header-actions{
    display:flex;
    align-items:center;
    gap:15px;
}

.header-actions a{
    width:45px;
    height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#f5f5f5;
    color:#111;
    text-decoration:none;
    font-size:18px;
    transition:.3s;
}

.header-actions a:hover{
    background:#f7b500;
    transform:translateY(-2px);
}

.cart-icon{
    position:relative;
}

.cart-count{
    position:absolute;
    top:-8px;
    left:-8px;
    width:22px;
    height:22px;
    background:#f7b500;
    color:#111;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
}


/* BUTTON */

.header-btn{
    background:#f7b500;
    color:#111;
    padding:12px 22px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.header-btn:hover{
    transform:translateY(-2px);
}
/*====================================
        FOOTER LOGOS STYLES
====================================*/

.site-footer{
    background:#111;
    color:#fff;
    margin-top:80px;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    padding:60px 0;
}

.footer-col h3,
.footer-col h4{
    margin-bottom:20px;
}

.footer-col ul{
    list-style:none;
}

.footer-col li{
    margin-bottom:12px;
}

.footer-col a{
    color:#ddd;
    text-decoration:none;
}

.footer-col a:hover{
    color:#f7b500;
}

.footer-col p{
    color:#bbb;
    line-height:1.9;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    text-align:center;
    padding:20px 0;
}

.footer-trust-logos {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.footer-trust-logos a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 8px;
    border-radius: 12px;
    width: 90px;
    height: 90px;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.footer-trust-logos a:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.1);
}

.footer-trust-logos img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    margin: 0;
}



.hero{
    position:relative;
    min-height:450px;
    margin:60px 0;
}

.hero-slide{
    position:absolute;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    opacity:0;
    visibility:hidden;
    transition:.8s;
}

.hero-slide.active{
    opacity:1;
    visibility:visible;
}

.hero-content{
    width:50%;
    max-width:500px;
}

.hero-image{
    width:50%;
    display:flex;
    justify-content:flex-start;
    margin-right:-150px;
}

.hero-content h1{
    font-size:58px;
    margin-bottom:20px;
    color:#111;
}

.hero-content p{
    font-size:18px;
    color:#666;
    line-height:1.9;
}

.hero-btn{
    display:inline-block;
    margin-top:25px;
    background:#f7b500;
    color:#111;
    text-decoration:none;
    padding:14px 28px;
    border-radius:12px;
    font-weight:700;
}

.hero-image img{
    width:100%;
    max-width:800px;
    transform:translateX(-50px);
}

.hero-image::before{
    content:'';
    position:absolute;
    width:350px;
    height:350px;
    background:#f7b500;
    border-radius:50%;
    opacity:.15;
    filter:blur(80px);
    z-index:-1;
}

/* FEATURES */

.features{
    padding:80px 0;
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.feature-card{
    background:#fff;
    padding:35px 25px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.feature-card:hover{
    transform:translateY(-8px);
}

.feature-icon{
    font-size:42px;
    margin-bottom:15px;
}

.feature-card h3{
    margin-bottom:10px;
    color:#111;
}

.feature-card p{
    color:#777;
    font-size:14px;
    line-height:1.8;
}


.home-category-products{
    padding:80px 0;
}

.section-more{
    text-align:center;
    margin-top:35px;
}

.section-more a{
    display:inline-block;
    padding:14px 28px;
    background:#111;
    color:#fff;
    text-decoration:none;
    border-radius:12px;
    font-weight:700;
    transition:.3s;
}

.section-more a:hover{
    background:#f7b500;
    color:#111;
}

.section-title{
    text-align:center;
    margin-bottom:50px;
}

.section-title h2{
    font-size:36px;
    margin-bottom:10px;
}

.section-title p{
    color:#777;
}


/* BRANDS */

.brands{
    padding:100px 0;
}

.brands-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.brand-card{
    background:#fff;
    border-radius:20px;
    padding:5px;
    text-align:center;
    font-weight:700;
    font-size:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.brand-card:hover{
    transform:translateY(-5px);
}
.brand-card-link {
    display: block;
    padding: 5px;
    text-decoration: none;
    color: inherit; /* رنگ متن‌ها را از والد به ارث می‌برد */
    height: 100%;
    box-sizing: border-box;
}

.brand-card-link h3 {
    color: #111;
    margin-top: 10px;
    font-size: 20px;
}

.brand-card-link p {
    color: #777;
    font-size: 14px;
    margin-top: 5px;
    font-weight: normal;
}

.battery-finder{
    margin-bottom:50px;
}

.finder-box{
    background:#111;
    color:#fff;
    padding:40px;
    border-radius:20px;
    text-align:center;
}

.finder-box h2{
    margin-bottom:20px;
    font-size:32px;
}

.finder-box select{
    width:300px;
    height:55px;
    border:none;
    border-radius:12px;
    padding:0 15px;
    font-size:16px;
}

.latest-posts{
    padding:100px 0;
    background:#fff;
}

.posts-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.post-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.post-card img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.post-card h3{
    padding:20px 20px 10px;
}

.post-card h3 a{
    text-decoration:none;
    color:#111;
}

.post-card p{
    padding:0 20px 20px;
    color:#777;
}


.shop-hero{
    background:#111;
    color:#fff;
    padding:80px 0;
    text-align:center;
    border-radius:20px;
    margin-bottom:40px;
}

.shop-hero h1{
    font-size:52px;
    margin-bottom:15px;
}

.shop-hero p{
    font-size:18px;
    opacity:.9;
}

.hero-features{
    margin-top:25px;
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}


/* SINGLE PRODUCT */

.single-product-page{
    padding:80px 0;
}

.product-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
}

.product-gallery{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.main-image{
    background:#fff;
    border:1px solid #eee;
    border-radius:20px;
    padding:20px;
}

.main-image img{
    width:100%;
    height:auto;
}

.gallery-images{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    opacity:.7;
    transition:.3s;
}

.gallery-images img{
    width:80px;
    height:80px;
    object-fit:cover;
    border-radius:12px;
    border:1px solid #eee;
    cursor:pointer;
    transition:.3s;
}

.gallery-images img:hover{
    transform:scale(1.05);
}

.gallery-images img.active{
    opacity:1;
    border:2px solid #f7b500;
}

.gallery-images img:hover{
    opacity:1;
}

.product-info{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.product-title{
    font-size:38px;
    margin-bottom:20px;
}

.product-price{
    font-size:32px;
    font-weight:700;
    color:#f7b500;
    margin-bottom:20px;
}

.product-stock{
    margin:18px 0;
    padding:10px 18px;
    border-radius:12px;
    display:inline-block;
    font-weight:700;
}

.in-stock{
    background:#e8f8ec;
    color:#16a34a;
}

.out-stock{
    background:#ffe6e6;
    color:#d32f2f;
}

.single_add_to_cart_button:disabled{
    background:#ddd !important;
    color:#777 !important;
    cursor:not-allowed;
}

.battery-return-box{
    margin:25px 0;
}

.battery-return-box h3{
    font-size:20px;
    margin-bottom:18px;
}

.battery-card{
    display:flex;
    align-items:center;
    padding:18px;
    border:2px solid #e5e5e5;
    border-radius:14px;
    margin-bottom:15px;
    cursor:pointer;
    transition:.3s;
    background:#fff;
}

.battery-card:hover{
    border-color:#ffb400;
}

.battery-card input{
    display:none;
}

.battery-card.active{
    border-color:#f9a825;
    background:#fff9eb;
}

.card-content{
    width:100%;
}

.card-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:8px;
}

.card-desc{
    font-size:14px;
    color:#666;
}

.extra-price{
    display:block;
    margin-top:8px;
    font-weight:bold;
    color:#d32f2f;
    font-size:16px;
}

.custom-quantity{
    display:flex;
    align-items:center;
    width:170px;
    height:52px;
    border:2px solid #ececec;
    border-radius:14px;
    overflow:hidden;
    margin:20px auto;
}

.qty-btn{
    flex:0 0 50px;
    width:50px;
    height:100%;
    border:none;
    background:#f7f7f7;
    font-size:26px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}

.qty-btn:hover{
    background:#ffc107;
    color:#111;
}

.qty-input{
    flex:1;
    width:70px;
    border:none;
    text-align:center;
    font-size:18px;
    font-weight:700;
    outline:none;
}

.cart{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.product-benefits{
    margin:25px 0;
    display:grid;
    gap:12px;
}

.benefit-item{
    background:#fff;
    border:1px solid #eee;
    border-radius:12px;
    padding:15px 18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.benefit-item strong{
    color:#111;
}

.benefit-item span{
    color:#777;
}


.product-features{
    margin-top:30px;
    display:grid;
    gap:12px;
}

.product-features div{
    background:#f8f9fa;
    padding:12px 15px;
    border-radius:10px;
}

.product-description{
    margin-top:60px;
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.product-description h2{
    margin-bottom:20px;
}


.product-specs-card{
    background:#fff;
    border:1px solid #ececec;
    border-radius:20px;
    overflow:hidden;
    margin:30px 0;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.specs-header{
    padding:20px 25px;
    border-bottom:1px solid #eee;
}

.specs-header h3{
    margin:0;
    font-size:18px;
    font-weight:700;
}

.spec-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 25px;
    border-bottom:1px solid #f3f3f3;
}

.spec-row:last-child{
    border-bottom:none;
}

.spec-row .label{
    color:#777;
    font-size:14px;
}

.spec-row .value{
    color:#111;
    font-weight:700;
}

.compatible-cars{
    margin-top:25px;
}

.compatible-cars h3{
    margin-bottom:15px;
    font-size:18px;
}

.cars-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.cars-list span{
    background:#f7f7f7;
    border-radius:50px;
    padding:10px 18px;
}

.related-products-section{
    margin:80px 0;
}

.section-title{
    font-size:32px;
    margin-bottom:30px;
    text-align:center;
}

.related-products-section ul.products{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.related-products-section li.product{
    background:#fff;
    border:1px solid #eee;
    border-radius:20px;
    padding:20px;
    text-align:center;
    transition:.3s;
}

.related-products-section li.product:hover{
    transform:translateY(-5px);
}

.related-products-section li.product img{
    width:100%;
    height:220px;
    object-fit:contain;
}

.related-products-section .woocommerce-loop-product__title{
    font-size:18px;
    margin:15px 0;
    color:#111;
}

.related-products-section .price{
    color:#f7b500;
    font-weight:700;
}

.related-products-section .button{
    margin-top:15px;
    background:#111 !important;
    color:#fff !important;
    border-radius:10px;
    padding:12px 18px;
}

.stock-badge{
    display:inline-block;
    margin:0 20px 18px;
    padding:8px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:700;
}

.stock-badge.in-stock{
    background:#e8f8ec;
    color:#16a34a;
}

.stock-badge.out-stock{
    background:#ffe7e7;
    color:#d32f2f;
}

.product-card.out-product{
    opacity:.75;
}

.product-card.out-product .product-btn{
    background:#ddd;
    color:#777;
}

/* SHOP PAGE */

.shop-page{
    padding:80px 0;
}

.shop-header{
    text-align:center;
    margin-bottom:50px;
}

.shop-header h1{
    font-size:48px;
    margin-bottom:10px;
}

.shop-header p{
    color:#777;
}

.products-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.product-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    transition:.3s;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(0,0,0,.1);
}

.product-card a{
    text-decoration:none;
    color:#111;
}

.product-image{
    height:250px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:#fafafa;
}

.product-image img{
    max-width:100%;
    max-height:200px;
    object-fit:contain;
}

.product-card h3{
    font-size:22px;
    padding:20px 20px 10px;
}

.product-card .price{
    color:#f7b500;
    font-size:24px;
    font-weight:700;
    padding:0 20px 20px;
}

.product-btn{
    background:#111;
    color:#fff;
    text-align:center;
    padding:12px;
    margin:0 20px 20px;
    border-radius:10px;
    transition:.3s;
}

.product-card:hover .product-btn{
    background:#f7b500;
    color:#111;
}


.shop-categories{
    display:flex;
    justify-content:center;
    gap:15px;
    margin-bottom:40px;
    flex-wrap:wrap;
}

.shop-categories a{
    background:#fff;
    padding:12px 20px;
    border-radius:30px;
    text-decoration:none;
    color:#111;
    transition:.3s;
}

.shop-categories a:hover{
    background:#f7b500;
}

.mobile-menu-btn,
.close-menu,
.mobile-overlay{
    display:none;
}

.shop-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    max-width:700px;
    margin:0 auto 20px;
    overflow:hidden;
    border-radius:18px;
}

.tab-item{
    background:#111;
    color:#fff;
    text-decoration:none;
    text-align:center;
    padding:18px;
    font-weight:700;
    transition:.3s;
}

.tab-item.active{
    background:#f7b500;
    color:#111;
}

.shop-filters{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:35px;
}

.filter-item{
    padding:12px 22px;
    border-radius:40px;
    text-decoration:none;
    background:#fff;
    border:2px solid #eee;
    color:#111;
    font-weight:700;
    transition:.3s;
}

.filter-item.active{
    background:#111;
    color:#fff;
    border-color:#111;
}

.filter-item:hover{
    background:#f7b500;
    border-color:#f7b500;
}

/* call-us paghe*/

.contact-box{
    background:#fff;
    padding:30px;
    border-radius:20px;
    margin-bottom:30px;
}

.branch-tabs{
    display:flex;
    gap:15px;
    margin-bottom:20px;
}

.branch-btn{
    flex:1;
    height:55px;
    border:none;
    background:#111;
    color:#fff;
    border-radius:12px;
    cursor:pointer;
    font-weight:700;
}

.branch-btn.active{
    background:#f7b500;
    color:#111;
}

.branch-content{
    display:none;
    background:#fff;
    padding:25px;
    border-radius:20px;
}

.branch-content.active{
    display:block;
}

/*====================================
            CART PAGE
====================================*/

.empty-cart{
    background:#fff;
    padding:70px 30px;
    text-align:center;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.05);
}

.empty-cart h2{
    margin-bottom:25px;
    font-size:28px;
}

.cart-layout{
    display:grid;
    grid-template-columns:2fr 380px;
    gap:30px;
    align-items:start;
}

.cart-products{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.cart-card{
    direction:rtl;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.cart-content{
    flex:1;
    padding:0 25px;
}

.cart-remove{
    order:-1;
    margin-left:20px;
}

.cart-image{
    width:140px;
    text-align:center;
}

.cart-image img{
    width:120px;
    height:120px;
    object-fit:contain;
}

.cart-content h3{
    font-size:22px;
    margin-bottom:12px;
}

.cart-content h3 a{
    text-decoration:none;
    color:#111;
}

.cart-content h3 a:hover{
    color:#f7b500;
}

.battery-status{
    display:inline-block;
    margin-bottom:15px;
    background:#fff8e5;
    color:#111;
    padding:8px 14px;
    border-radius:30px;
    font-size:14px;
    font-weight:700;
}

.cart-price{
    font-size:26px;
    color:#f7b500;
    font-weight:800;
    margin-bottom:20px;
}

.cart-qty input{
    width:90px;
    height:48px;
    border:2px solid #ececec;
    border-radius:12px;
    text-align:center;
    font-size:18px;
    font-weight:700;
    outline:none;
}

.cart-remove{
    display:flex;
    align-items:center;
}

.cart-remove a{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#ffe8e8;
    color:#d32f2f;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    transition:.3s;
}

.cart-remove a:hover{
    background:#d32f2f;
    color:#fff;
}

.button[name="update_cart"]{
    margin-top:25px;
    background:#111;
    color:#fff;
    border:none;
    padding:14px 26px;
    border-radius:12px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.button[name="update_cart"]:hover{
    background:#f7b500;
    color:#111;
}

.cart-summary{
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    position:sticky;
    top:120px;
}

.cart-summary h3{
    font-size:28px;
    margin-bottom:25px;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid #eee;
    font-size:18px;
}

.summary-row strong{
    color:#f7b500;
    font-size:22px;
}

.cart-summary .hero-btn{
    display:block;
    margin-top:30px;
    text-align:center;
    width:100%;
}

/* ===========================
   CHECKOUT PAGE & WOOCOMMERCE FIELDS FIX
=========================== */

.checkout-page{
    padding:60px 0;
}

.checkout-layout{
    display:grid;
    grid-template-columns:1.7fr 420px;
    gap:30px;
    align-items:start;
}

.checkout-form,
.checkout-summary{
    background:#fff;
    border-radius:22px;
    padding:35px;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
}

.checkout-summary{
    position:sticky;
    top:110px;
}

.checkout-form h3,
.checkout-summary h3{
    margin-bottom:25px;
    font-size:26px;
    font-weight:800;
}

/* اصلاح ساختار فیلدهای بومی ووکامرس */
.woocommerce-checkout .form-row {
    margin-bottom: 20px;
    width: 100% !important;
    clear: both;
    display: block;
}

/* تراز کردن فیلدهای دو ستونه (نام و نام خانوادگی) */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-first-rtl {
    width: 48% !important;
    float: right !important;
}

.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-last-rtl {
    width: 48% !important;
    float: left !important;
}

.woocommerce-checkout .form-row-wide {
    width: 100% !important;
    clear: both;
}

.woocommerce-checkout label {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
    color: #333;
    text-align: right;
}

/* اعمال استایل یکپارچه روی تمامی فیلدهای فرم ساز ووکامرس */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100% !important;
    height: 54px !important;
    border: 2px solid #ececec !important;
    border-radius: 14px !important;
    padding: 0 18px !important;
    font-size: 15px !important;
    background: #fff !important;
    font-family: inherit !important;
    transition: all 0.3s ease;
    box-sizing: border-box;
    text-align: right;
}

.woocommerce-checkout textarea {
    height: 120px !important;
    padding: 15px !important;
    resize: vertical;
}

/* استایل حالت فوکوس فیلدها */
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #f7b500 !important;
    outline: none !important;
    box-shadow: 0 0 6px rgba(247, 181, 0, 0.15) !important;
}

/* پدینگ برای فیلدهای اجباری دارای ستاره */
.woocommerce-checkout .required {
    color: #dc2626;
    text-decoration: none;
    margin-right: 4px;
}

.woocommerce-checkout::after{
    content:"";
    display:block;
    clear:both;
}

/* خلاصه سفارش و بخش پرداخت */
.summary-item{
    padding:18px 0;
    border-bottom:1px solid #eee;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    margin-top:18px;
    font-size:16px;
}

.summary-row.total{
    border-top:1px solid #eee;
    padding-top:20px;
    margin-top:20px;
    font-size:22px;
    font-weight:800;
}

.checkout-summary button{
    width:100%;
    height:56px;
    border:none;
    border-radius:14px;
    background:#f7b500;
    color:#111;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    margin-top:25px;
    transition:.3s;
}

.checkout-summary button:hover{
    transform:translateY(-2px);
    background:#e0a300;
}

/* استایل‌دهی به پیغام‌های خطا و نوتیفیکیشن‌های پیش‌فرض ووکامرس */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
    border:none !important;
    border-right:5px solid #f7b500 !important;
    border-radius:14px !important;
    background:#fff !important;
    padding:18px !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.04);
    list-style: none !important;
    margin-bottom: 25px !important;
    text-align: right;
    width: 100%;
}

.woocommerce-error li {
    color: #dc2626;
    font-weight: 600;
}
/*====================================
        FLOATING CONTACT BUTTON
====================================*/
.floating-contact-wrapper {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999999;
    font-family: 'Vazirmatn', sans-serif;
    direction: rtl;
}

.contact-trigger-btn {
    background: #f7b500;
    color: #111;
    border: none;
    padding: 15px 24px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(247, 181, 0, 0.4);
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.contact-trigger-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(247, 181, 0, 0.5);
}

.contact-icon-anim {
    display: inline-block;
    animation: phoneWobble 2s infinite ease-in-out;
}

.contact-dropdown-menu {
    position: absolute;
    bottom: 70px;
    right: 0;
    background: #fff;
    width: 220px;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.floating-contact-wrapper.active .contact-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.contact-item-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    color: #222;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    transition: background 0.2s ease;
}

.contact-item-link:hover {
    background: #f8f9fa;
    color: #f7b500;
}

@keyframes phoneWobble {
    0%, 100% { transform: rotate(0deg); }
    15% { transform: rotate(-15deg); }
    30% { transform: rotate(15deg); }
    45% { transform: rotate(-10deg); }
    60% { transform: rotate(10deg); }
    75% { transform: rotate(-5deg); }
    85% { transform: rotate(5deg); }
}

/*====================================
      إBLOGS PAGE
====================================*/

.blog-page{
    padding:70px 0;
    background:#f7f8fb;
}

.posts-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:30px;
}

.post-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.post-card:hover{
    transform:translateY(-8px);
}

.post-card a{
    text-decoration:none;
    color:inherit;
}

.post-image img{
    width:100%;
    height:240px;
    object-fit:cover;
    display:block;
}

.post-content{
    padding:22px;
}

.post-content h2{
    font-size:24px;
    margin-bottom:15px;
    line-height:1.7;
}

.post-content p{
    color:#666;
    line-height:2;
    margin-bottom:20px;
}

.read-more{
    display:inline-block;
    background:#f5a300;
    color:#111;
    padding:10px 20px;
    border-radius:10px;
    font-weight:700;
}

.pagination{
    margin-top:50px;
    text-align:center;
}

.pagination .page-numbers{
    display:inline-block;
    padding:10px 16px;
    margin:0 5px;
    border-radius:10px;
    background:#fff;
    color:#111;
    text-decoration:none;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
}

.pagination .current{
    background:#f5a300;
}
/*====================================
        CONTACT PAGE 
====================================*/
.contact-page-wrapper {
    padding: 60px 0;
    background: #f8f9fa;
}

/* کارت تماس اصلی */
.main-contact-card {
    background: #fff;
    padding: 35px;
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
    text-align: center;
    margin-bottom: 40px;
    border: 1px solid #eee;
}

.main-contact-card h2 {
    font-size: 28px;
    margin-bottom: 30px;
    color: #111;
}

.contact-methods-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.method-item {
    background: #fafafa;
    padding: 25px 20px;
    border-radius: 16px;
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.method-item:hover {
    transform: translateY(-5px);
    border-color: #f7b500;
}

.method-icon {
    font-size: 32px;
    display: block;
    margin-bottom: 12px;
}

.method-item strong {
    display: block;
    margin-bottom: 8px;
    color: #555;
    font-size: 15px;
}

.method-item a {
    color: #111;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    transition: color 0.2s;
}

.method-item a:hover {
    color: #f7b500;
}

/* بخش شعب */
.branches-section {
    background: #fff;
    padding: 40px;
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
    border: 1px solid #eee;
}

.branches-header {
    text-align: center;
    margin-bottom: 35px;
}

.branches-header h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.branches-header p {
    color: #777;
    font-size: 14px;
}

/* تب ها */
.branch-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 35px;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 15px;
    justify-content: center;
}

.branch-btn {
    background: #f5f5f5;
    color: #555;
    border: 2px solid transparent;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.branch-btn.active {
    background: #fff9eb;
    color: #111;
    border-color: #f7b500;
}

.branch-btn:hover:not(.active) {
    background: #eee;
}

/* محتوای تب */
.branch-content {
    display: none;
}

.branch-content.active {
    display: block;
    animation: fadeIn 0.4s ease;
}

/* لایوت دو ستونه اطلاعات شعبه */
.branch-detail-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: start;
}

.branch-info-side h4 {
    font-size: 22px;
    margin-bottom: 20px;
    color: #111;
    border-right: 4px solid #f7b500;
    padding-right: 12px;
}

.branch-meta-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.7;
}

.branch-meta-item .meta-icon {
    font-size: 20px;
}

.branch-meta-item a {
    color: #f7b500;
    text-decoration: none;
    font-weight: 700;
}

/* جدول ساعت کاری */
.working-hours-box {
    margin-top: 30px;
}

.working-hours-box h5 {
    font-size: 16px;
    margin-bottom: 12px;
    color: #333;
}

.hours-table {
    width: 100%;
    border-collapse: collapse;
    text-align: right;
    font-size: 14px;
}

.hours-table th, .hours-table td {
    padding: 12px 15px;
    border: 1px solid #eee;
}

.hours-table th {
    background: #fdfdfd;
    font-weight: 700;
    color: #111;
}

.hours-table tr:nth-child(even) {
    background: #fafafa;
}

.hours-table .holiday-row {
    background: #ffebeb !important;
    color: #d32f2f;
    font-weight: 600;
}

/* بخش مدیا (عکس و نقشه) */
.branch-media-side {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.branch-image-wrapper {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    height: 220px;
    border: 1px solid #eee;
}

.branch-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.branch-map-wrapper {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    border: 1px solid #eee;
}
/* THANK YOU PAGE */

.thankyou-page{
    padding:80px 0;
}

.thankyou-card{
    max-width:850px;
    margin:auto;
    background:#fff;
    border-radius:24px;
    padding:45px;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.success-icon{
    width:90px;
    height:90px;
    border-radius:50%;
    background:#e9f9ef;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:48px;
    margin:0 auto 25px;
}

.thankyou-card h1{
    text-align:center;
    margin-bottom:15px;
}

.thankyou-text{
    text-align:center;
    color:#666;
    margin-bottom:35px;
    line-height:2;
}

.order-info{
    border:1px solid #eee;
    border-radius:16px;
    overflow:hidden;
    margin-bottom:35px;
}

.info-row{
    display:flex;
    justify-content:space-between;
    padding:18px 22px;
    border-bottom:1px solid #eee;
}

.info-row:last-child{
    border-bottom:none;
}

.order-products-title{
    margin-bottom:20px;
}

.ordered-products{
    border:1px solid #eee;
    border-radius:16px;
    overflow:hidden;
}

.ordered-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px;
    border-bottom:1px solid #eee;
}

.ordered-item:last-child{
    border-bottom:none;
}

.thankyou-buttons{
    display:flex;
    gap:15px;
    margin-top:35px;
}

.thankyou-buttons a{
    flex:1;
    text-align:center;
}

.support-btn{
    background:#111;
    color:#fff;
}

.support-btn:hover{
    background:#333;
}
/* THANK YOU PAGE */

.thankyou-card{
    padding:25px;
}

.info-row,
.ordered-item{
    flex-direction:column;
    gap:8px;
    align-items:flex-start;
}

.thankyou-buttons{
    flex-direction:column;
}
/* َAbout Page*/
.about-page{
padding:70px 0;
background:#f7f8fb;
}

.about-hero{
text-align:center;
margin-bottom:60px;
}

.about-hero h1{
font-size:42px;
margin-bottom:15px;
}

.about-hero p{
font-size:18px;
color:#666;
}

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;
}

.about-content{
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.about-content h2{
margin-bottom:20px;
}

.about-content p{
line-height:2.2;
margin-bottom:20px;
color:#555;
}

.about-image img{
width:100%;
border-radius:20px;
display:block;
}

.about-stats{
padding:70px 0;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.stat-card{
background:#fff;
padding:35px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.stat-card h3{
color:#f5a300;
font-size:30px;
margin-bottom:10px;
}

.about-services{
padding:70px 0;
background:#f7f8fb;
}

.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.service-card{
background:#fff;
padding:35px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.service-card .icon{
font-size:42px;
margin-bottom:20px;
}

.about-agent{
padding:80px 0;
}

.agent-box{
background:#fff;
border-radius:20px;
padding:60px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.agent-box h2{
margin-bottom:20px;
}

.agent-box p{
max-width:700px;
margin:auto;
line-height:2;
color:#555;
margin-bottom:30px;
}




@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.tehran-shipping-notice{
    background:#fff8e5;
    border:2px solid #f7b500;
    color:#111;
    padding:18px 22px;
    border-radius:16px;
    margin-bottom:25px;
    font-size:15px;
    font-weight:600;
    line-height:2;
    box-shadow:0 8px 20px rgba(247,181,0,.12);
}

.tehran-shipping-notice strong{
    color:#111;
}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width:768px){

html,
body{
    width:100%;
    overflow-x:hidden;
}

.mobile-menu-btn{
    display:flex;
    align-items:center;
    gap:8px;
    width:auto;
    height:48px;
    padding:0 12px;
    border:none;
    background:#f7b500;
    border-radius:12px;
    cursor:pointer;
    flex-shrink:0;
}

.mobile-menu-btn span{
    width:22px;
    height:2px;
    background:#111;
    margin:auto;
}

.hamburger-icon{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
}

.hamburger-icon span{
    width:20px;
    height:2px;
    background:#111;
    display:block;
}

.menu-text{
    font-size:13px;
    font-weight:700;
    color:#111;
}

.mobile-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:998;
}

.mobile-overlay.active{
    opacity:1;
    visibility:visible;
}

.main-nav{
    position:fixed;
    top:0;
    right:-320px;
    width:280px;
    height:100vh;
    background:#fff;
    z-index:999;
    transition:.35s ease;
    padding:25px;
    display:block !important;
}

.main-nav.active{
    right:0;
}

.main-nav ul{
    display:flex;
    flex-direction:column;
    gap:20px;
    align-items:flex-start;
    margin-top:50px;
}

.main-nav li{
    width:100%;
}

.main-nav a{
    display:block;
    width:100%;
    padding:10px 0;
    font-size:16px;
}

.close-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:none;
    background:#f5f5f5;
    border-radius:10px;
    font-size:28px;
    cursor:pointer;
}

.container{
    width:92%;
    max-width:92%;
    margin:auto;
}

.header-wrapper{
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    height:70px;
}

.logo{
    text-align:center;
    justify-self:center;
}

.logo a{
    font-size:22px;
    font-weight:800;
}

.header-actions{
    display:flex;
    align-items:center;
    gap:10px;
    justify-self:start;
}

.mobile-menu-btn{
    flex-shrink:0;
}

.hero{
    min-height:360px;
    margin:15px 0 25px;
}

.hero-slide{
    position:absolute;
    inset:0;
    display:flex !important;
    flex-direction:column-reverse !important;
    justify-content:center;
    align-items:center;
    padding:0px;
}

.hero-content{
    width:100%;
    max-width:100%;
    text-align:center;
}

.hero-content h1{
    font-size:30px;
    line-height:1.6;
}

.hero-content p{
    font-size:15px;
}

.hero-btn{
    padding:12px 20px;
    font-size:14px;
}

.hero-image{
    width:100% !important;
    margin:0 !important;
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-image img{
    width:90vw !important;
    max-width:420px !important;
    height:auto;
    margin:auto;
    transform:none !important;
}

.hero-image::before{
    display:none;
}

.shop-page{
    padding:20px 0 !important;
}

.features-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.feature-card{
    padding:18px 12px;
}

.feature-icon{
    font-size:28px;
}

.feature-card h3{
    font-size:15px;
}

.feature-card p{
    font-size:13px;
}

.brands-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.brand-card{
    padding:20px;
    font-size:14px;
}

.posts-grid{
    grid-template-columns:1fr;
}

.products-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.product-card h3{
    font-size:16px;
}

.product-card .price{
    font-size:18px;
}

.product-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:25px;
}

.product-gallery,
.product-info,
.product-description,
.product-specs-card,
.compatible-cars{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

.main-image{
    width:100%;
    padding:0;
    overflow:hidden;
}

.main-image img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    display:block;
}

.gallery-images{
    justify-content:center;
    flex-wrap:wrap;
}

.gallery-images img{
    width:65px;
    height:65px;
}

.product-title{
    font-size:28px;
}

.product-price{
    font-size:24px;
}

.product-info{
    padding:20px;
}

.single_add_to_cart_button{
    width:100% !important;
}

.quantity input.qty{
    width:100% !important;
}

.cart{
    width:100%;
}

.product-description{
    padding:20px;
}

.product-description img{
    max-width:100%;
    height:auto;
}

.shop-tabs{
    width:100%;
}

.tab-item{
    font-size:14px;
    padding:14px 10px;
}

.shop-filters{
    gap:8px;
}

.filter-item{
    font-size:13px;
    padding:10px 14px;
}

.spec-row{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}

.cars-list{
    flex-wrap:wrap;
    gap:8px;
}

.cars-list span{
    font-size:13px;
    padding:8px 12px;
}

.related-products-section ul.products{
    grid-template-columns:repeat(2,1fr) !important;
}

.footer-grid{
    grid-template-columns:1fr;
    text-align:center;
    gap:30px;
}
.footer-trust-logos {
        justify-content: center;
        margin-top: 25px;
    }


img{
    max-width:100%;
    height:auto;
}

.cart-layout{
    grid-template-columns:1fr;
}

.cart-card{
    flex-direction:column;
    text-align:center;
}

.cart-image{
    width:160px;
}

.cart-image img{
    height:160px;
}

.cart-remove{
    width:100%;
    justify-content:center;
    margin-top:10px;
}

.cart-summary{
    position:static;
}

.button[name="update_cart"]{
    width:100%;
}

/* واکنش‌گرایی بخش تسویه‌حساب موبایل */
.checkout-layout{
    grid-template-columns:1fr;
}

.checkout-summary{
    order:-1;
    position:static;
}

.checkout-form,
.checkout-summary{
    padding:20px;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-first-rtl,
.woocommerce-checkout .form-row-last-rtl {
    width: 100% !important;
    float: none !important;
}

    .floating-contact-wrapper {
        bottom: 20px;
        right: 20px;
    }
    .contact-trigger-btn {
        padding: 12px 18px;
        font-size: 14px;
    }

/* ====================================
      Call us 
====================================*/
    .contact-methods-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .branches-section {
        padding: 20px;
    }
    
    .branch-tabs {
        flex-direction: column;
        gap: 10px;
    }
    
    .branch-btn {
        width: 100%;
        justify-content: center;
    }
    
    .branch-detail-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .hours-table th, .hours-table td {
        padding: 10px 8px;
        font-size: 13px;
    }
/* THANK YOU PAGE */

.thankyou-card{
    padding:25px;
}

.info-row,
.ordered-item{
    flex-direction:column;
    gap:8px;
    align-items:flex-start;
}

.thankyou-buttons{
    flex-direction:column;
}
/* َAbout Page*/
.about-grid,
.stats-grid,
.services-grid{

grid-template-columns:1fr;

}

.about-hero h1{

font-size:32px;

}

.agent-box{

padding:35px;

}
}