/*
Theme Name: آوا
Theme URI: https://example.com/ava
Author: Claude
Author URI: https://claude.ai
Description: قالب فروشگاهی وردپرس آوا؛ مخصوص فروش قطعات و فایل‌های تعمیرات موبایل. سازگار با ووکامرس، راست‌به‌چپ و بهینه برای موبایل.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: gheteyar
Tags: e-commerce, custom-menu, featured-images, rtl-language-support, translation-ready
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --bg: #F7F8FA;
  --bg-raised: #FFFFFF;
  --bg-raised-2: #F0F2F5;
  --line: #E1E5EB;
  --line-soft: #ECEEF2;
  --text: #171A21;
  --text-muted: #5B6472;
  --text-faint: #8B93A1;
  --copper: #B15E1F;
  --copper-soft: #FBEEE1;
  --cyan: #0E8F84;
  --cyan-soft: #E6F5F3;
  --danger: #C13B31;
  --danger-soft: #FBEAE8;
  --on-accent: #FFFFFF;
  --radius-s: 3px;
  --radius-m: 6px;
  --sans: 'IBM Plex Sans Arabic', Tahoma, sans-serif;
  --mono: 'IBM Plex Mono', 'Courier New', monospace;
  --maxw: 1180px;
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  direction: rtl;
}
img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button, input, select, textarea{ font-family: inherit; font-size: 1rem; color: inherit; }
h1,h2,h3,h4{ margin:0; font-weight:700; letter-spacing:0; }
p{ margin:0 0 1em; color: var(--text-muted); max-width: 62ch; }
.container{ max-width: var(--maxw); margin-inline:auto; padding-inline: 20px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
::selection{ background: var(--copper); color: var(--on-accent); }

/* ==========================================================================
   Header / toolbar
   ========================================================================== */
.site-header{
  position: sticky; top:0; z-index: 40;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.header-top{
  display:flex; align-items:center; gap:24px;
  padding-block: 14px;
}
.site-branding{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.site-branding .custom-logo{ max-height:34px; width:auto; }
.site-title{ font-size:1.25rem; font-weight:800; color:var(--text); }
.site-title .accent{ color: var(--copper); }
.site-tagline{ display:none; }

.header-search{ flex:1; max-width:520px; }
.header-search form{
  display:flex; align-items:center;
  background: var(--bg-raised);
  border:1px solid var(--line);
  border-radius: var(--radius-m);
  padding-inline-start: 12px;
}
.header-search input[type="search"]{
  flex:1; background:transparent; border:0; outline:0;
  padding-block:10px; padding-inline:8px;
  color: var(--text); font-family: var(--mono); font-size:.92rem;
}
.header-search input::placeholder{ color: var(--text-faint); }
.header-search button{
  background: var(--copper); color: var(--on-accent); border:0;
  padding:10px 18px; border-radius: 0 var(--radius-m) var(--radius-m) 0;
  cursor:pointer; font-weight:700; font-size:.88rem;
}
[dir="rtl"] .header-search button{ border-radius: var(--radius-m) 0 0 var(--radius-m); }

.header-actions{ display:flex; align-items:center; gap:18px; flex-shrink:0; }
.header-cart{ display:flex; align-items:center; gap:8px; position:relative; }
.header-cart .count{
  background: var(--cyan); color: var(--on-accent); font-family: var(--mono);
  font-size:.72rem; font-weight:700; border-radius:50%;
  width:20px; height:20px; display:flex; align-items:center; justify-content:center;
}
.menu-toggle{
  display:none; background:none; border:1px solid var(--line); color: var(--text);
  border-radius: var(--radius-s); padding:8px 10px; cursor:pointer;
}

.header-nav{ border-top:1px solid var(--line-soft); }
.header-nav .container{ display:flex; }
.primary-menu{ display:flex; gap:2px; }
.primary-menu li a{
  display:block; padding: 11px 16px; color: var(--text-muted);
  font-size:.92rem; font-weight:600; border-bottom:2px solid transparent;
}
.primary-menu li a:hover, .primary-menu li.current-menu-item a{
  color: var(--text); border-bottom-color: var(--copper);
}

/* ==========================================================================
   Hero (front page)
   ========================================================================== */
.hero{
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(177,94,31,.05), transparent 60%),
    var(--bg);
  padding-block: 56px 44px;
}
.hero-grid{ max-width: 720px; }
.hero-kicker{
  font-family: var(--mono); font-size:.82rem; color: var(--cyan);
  margin-bottom:14px; display:block;
}
.hero h1{
  font-size: clamp(1.7rem, 3.4vw, 2.6rem);
  line-height:1.35; color: var(--text); margin-bottom:16px;
}
.hero p.lead{ font-size:1.05rem; margin-bottom:26px; max-width: 46ch; }
.hero-search{
  display:flex; background: var(--bg-raised); border:1px solid var(--line);
  border-radius: var(--radius-m); overflow:hidden;
}
.hero-search input{
  flex:1; background:transparent; border:0; outline:0; padding:16px 18px;
  color:var(--text); font-family: var(--mono); font-size:1rem;
}
.hero-search button{
  background: var(--copper); border:0; color: var(--on-accent); font-weight:800;
  padding:0 26px; cursor:pointer;
}
.hero-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.hero-tags a{
  font-size:.82rem; color: var(--text-muted); border:1px solid var(--line);
  border-radius: 20px; padding:5px 13px;
}
.hero-tags a:hover{ color:var(--text); border-color: var(--copper); }


/* ==========================================================================
   Section heading
   ========================================================================== */
.section{ padding-block: 44px; }
.section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:26px; gap:16px; border-bottom:1px solid var(--line); padding-bottom:14px;
}
.section-head h2{ font-size:1.35rem; color: var(--text); }
.section-head .desc{ margin:6px 0 0; font-size:.92rem; }
.section-head .more{ font-size:.86rem; color: var(--copper); font-weight:700; white-space:nowrap; }

/* ==========================================================================
   Category grid
   ========================================================================== */
.cat-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.cat-card{
  border:1px solid var(--line); border-radius: var(--radius-m);
  padding:20px; background: var(--bg-raised);
  transition: border-color .15s ease, transform .15s ease;
}
.cat-card:hover{ border-color: var(--copper); transform: translateY(-2px); }
.cat-card .n{ font-family: var(--mono); font-size:.78rem; color: var(--text-faint); }
.cat-card h3{ font-size:1.02rem; margin-block: 8px 4px; color: var(--text); }
.cat-card .count{ font-size:.82rem; color: var(--text-muted); }

/* ==========================================================================
   Products
   ========================================================================== */
ul.products{ display:grid !important; grid-template-columns: repeat(4, 1fr); gap:16px; margin:0 !important; padding:0 !important; }
ul.products li.product{
  list-style:none; background: var(--bg-raised); border:1px solid var(--line);
  border-radius: var(--radius-m); padding:14px; position:relative;
  transition: border-color .15s ease;
}
ul.products li.product:hover{ border-color: var(--cyan); }
ul.products li.product img{ border-radius: var(--radius-s); margin-bottom:12px; aspect-ratio:1/1; object-fit:cover; background: var(--bg-raised-2); }
ul.products li.product .woocommerce-loop-product__title{
  font-size:.95rem; color: var(--text); margin-bottom:6px; font-weight:700;
}
ul.products li.product .price{ font-family: var(--mono); color: var(--cyan); font-weight:700; font-size:.95rem; }
ul.products li.product .price del{ color: var(--text-faint); font-weight:400; margin-inline-end:6px; }
ul.products li.product .price ins{ text-decoration:none; }
ul.products li.product .button{
  display:block; margin-top:12px; text-align:center; background: transparent;
  border:1px solid var(--line); color: var(--text); padding:9px; border-radius: var(--radius-s);
  font-size:.85rem; font-weight:700;
}
ul.products li.product .button:hover{ background: var(--copper); border-color: var(--copper); color: var(--on-accent); }
ul.products li.product .onsale,
.single-product span.onsale{
  position:absolute; inset-inline-start:14px; inset-block-start:14px;
  background: var(--danger-soft); color: var(--danger); font-family: var(--mono);
  font-size:.72rem; font-weight:700; padding:3px 9px; border-radius: 20px; min-height:0; min-width:0;
  line-height:normal; z-index:2;
}
.single-product div.images{ position:relative; }
.star-rating{ display:none; }

/* Single product */
.single-product .woocommerce{ display:grid; grid-template-columns: 1fr 1fr; gap:44px; }
.single-product div.product div.images{ border:1px solid var(--line); border-radius: var(--radius-m); overflow:hidden; background: var(--bg-raised); }
.single-product div.product .summary{ padding-top:4px; }
.single-product .product_title{ font-size:1.5rem; margin-bottom:10px; }
.single-product p.price{ font-family: var(--mono); font-size:1.3rem; color: var(--cyan); margin-bottom:18px; }
.single-product .woocommerce-product-details__short-description{ margin-bottom:20px; }
.single-product .cart .button, .single-product .single_add_to_cart_button{
  background: var(--copper); border:0; color: var(--on-accent); padding:13px 30px;
  border-radius: var(--radius-s); font-weight:800; cursor:pointer; font-size:.95rem;
}
.single-product .quantity input{
  background: var(--bg-raised); border:1px solid var(--line); color:var(--text);
  border-radius: var(--radius-s); padding:12px; width:64px; text-align:center; margin-inline-end:10px;
}
table.woocommerce-product-attributes{ margin-top:28px; border-top:1px solid var(--line); width:100%; border-collapse:collapse; }
table.woocommerce-product-attributes th, table.woocommerce-product-attributes td{
  padding:11px 4px; border-bottom:1px solid var(--line-soft); font-size:.88rem; text-align:start;
}
table.woocommerce-product-attributes th{ color: var(--text-muted); font-weight:600; width:32%; }

/* Cart / checkout basics */
.woocommerce-cart table.shop_table, .woocommerce-checkout table.shop_table{
  width:100%; border-collapse:collapse; background: var(--bg-raised); border:1px solid var(--line); border-radius: var(--radius-m); overflow:hidden;
}
.woocommerce-cart table.shop_table th, .woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th, .woocommerce-checkout table.shop_table td{
  padding:14px 10px; border-bottom:1px solid var(--line-soft); font-size:.9rem;
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background: var(--copper); border:0; color: var(--on-accent); padding:12px 24px;
  border-radius: var(--radius-s); font-weight:700; cursor:pointer;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{
  background: var(--bg-raised); border:1px solid var(--line); color: var(--text);
  border-radius: var(--radius-s); padding:11px;
}
.woocommerce-message, .woocommerce-info{
  background: var(--cyan-soft); border-inline-start:3px solid var(--cyan); color: var(--text);
  padding:14px 18px; border-radius: var(--radius-s); list-style:none;
}
.woocommerce-error{
  background: var(--danger-soft); border-inline-start:3px solid var(--danger); color: var(--text);
  padding:14px 18px; border-radius: var(--radius-s); list-style:none;
}

/* ==========================================================================
   Trust strip
   ========================================================================== */
.trust-strip{ border-block:1px solid var(--line); background: var(--bg-raised); }
.trust-strip .container{ display:grid; grid-template-columns: repeat(4,1fr); }
.trust-item{ padding:20px 14px; text-align:center; border-inline-start:1px solid var(--line); }
.trust-item:first-child{ border-inline-start:0; }
.trust-item .t{ font-weight:700; font-size:.92rem; color: var(--text); margin-bottom:3px; }
.trust-item .d{ font-size:.8rem; color: var(--text-muted); }

/* ==========================================================================
   Blog / single post
   ========================================================================== */
.entry-list article{ padding-block:26px; border-bottom:1px solid var(--line); }
.entry-list h2 a{ font-size:1.2rem; color:var(--text); }
.entry-meta{ font-family: var(--mono); font-size:.78rem; color: var(--text-faint); margin-bottom:8px; }
.entry-content{ max-width: 70ch; }
.entry-content p{ color: var(--text); }

/* ==========================================================================
   Sidebar / widgets
   ========================================================================== */
.widget{ background: var(--bg-raised); border:1px solid var(--line); border-radius: var(--radius-m); padding:18px; margin-bottom:16px; }
.widget h2, .widget .widget-title{ font-size:.98rem; margin-bottom:12px; color:var(--text); }
.widget ul li{ padding-block:7px; border-bottom:1px solid var(--line-soft); font-size:.9rem; color:var(--text-muted); }
.widget ul li:last-child{ border-bottom:0; }

/* ==========================================================================
   Product gallery (replaces default WooCommerce gallery CSS)
   ========================================================================== */
.woocommerce-product-gallery{ position:relative; }
.woocommerce-product-gallery__wrapper{ margin:0; padding:0; list-style:none; }
.woocommerce-product-gallery__image{ display:block; border-radius: var(--radius-m); overflow:hidden; }
.woocommerce-product-gallery .flex-viewport{ margin-bottom:10px; border-radius: var(--radius-m); overflow:hidden; }
.flex-control-thumbs{ display:flex; gap:8px; margin:0; padding:0; list-style:none; }
.flex-control-thumbs li{ width:64px; }
.flex-control-thumbs img{
  border-radius: var(--radius-s); cursor:pointer; opacity:.65;
  border:1px solid var(--line); transition: opacity .15s ease, border-color .15s ease;
}
.flex-control-thumbs img.flex-active{ opacity:1; border-color: var(--copper); }

/* ==========================================================================
   Account / login / register (WooCommerce My Account)
   ========================================================================== */
.woocommerce-account .container.section{ max-width: 900px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid var(--line); margin-bottom:24px; padding-bottom:2px; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:9px 14px; font-size:.9rem; color: var(--text-muted);
  border-bottom:2px solid transparent; font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color: var(--text); border-bottom-color: var(--copper); }
.woocommerce-account .col2-set,
.woocommerce-page .col2-set{ display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2{ width:100%; float:none; }
.woocommerce-form-login, .woocommerce-form-register{
  background: var(--bg-raised); border:1px solid var(--line); border-radius: var(--radius-m);
  padding:26px; margin:0;
}
.woocommerce-form-login h2, .woocommerce-form-register h2{ font-size:1.1rem; margin-bottom:16px; }
.woocommerce-form-row, .form-row{ margin-bottom:16px; }
.woocommerce-form-login .form-row label, .woocommerce-form-register .form-row label{
  display:block; font-size:.85rem; color: var(--text-muted); margin-bottom:6px;
}
.woocommerce-form-login__rememberme{ display:flex; align-items:center; gap:6px; font-size:.85rem; color: var(--text-muted); }
.woocommerce-LostPassword{ margin-top:14px; font-size:.85rem; }
.woocommerce-LostPassword a{ color: var(--copper); }
.woocommerce-MyAccount-content{
  background: var(--bg-raised); border:1px solid var(--line); border-radius: var(--radius-m); padding:26px;
}

/* Header account link */
.header-account{ display:flex; align-items:center; gap:6px; font-size:.86rem; font-weight:600; color: var(--text); }
.header-account:hover{ color: var(--copper); }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{ background: var(--bg-raised); border-top:1px solid var(--line); margin-top:60px; }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:30px; padding-block:44px; }
.footer-col h3{ font-size:.92rem; color: var(--text); margin-bottom:14px; }
.footer-col p{ font-size:.86rem; }
.footer-col ul li{ padding-block:6px; }
.footer-col ul li a{ font-size:.86rem; color: var(--text-muted); }
.footer-col ul li a:hover{ color: var(--copper); }
.footer-bottom{
  border-top:1px solid var(--line); padding-block:16px;
  display:flex; justify-content:space-between; font-size:.8rem; color: var(--text-faint);
}
.footer-bottom .container{ display:flex; justify-content:space-between; width:100%; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 980px){
  .woocommerce-account .col2-set,
  .woocommerce-page .col2-set{ grid-template-columns: 1fr; }
  .cat-grid{ grid-template-columns: repeat(2,1fr); }
  ul.products{ grid-template-columns: repeat(3,1fr) !important; }
  .single-product .woocommerce{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .trust-strip .container{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 680px){
  .header-search{ display:none; }
  .menu-toggle{ display:inline-flex; }
  .header-nav{ display:none; }
  .header-nav.is-open{ display:block; }
  .primary-menu{ flex-direction:column; }
  ul.products{ grid-template-columns: repeat(2,1fr) !important; }
  .cat-grid{ grid-template-columns: repeat(2,1fr); }
  .footer-grid{ grid-template-columns: 1fr; }
  .trust-strip .container{ grid-template-columns: 1fr 1fr; }
}
