/*
Theme Name: Samad Elementor
Theme URI: https://samad.mk
Author: Samad
Description: Lightweight Elementor-compatible theme for samad.mk. Custom header/footer/WooCommerce, Elementor controls page content. Fast and responsive.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: samad-el
*/

/* ============================================================
   TOKENS
   ============================================================ */
:root {
  --red:       #b30e15;
  --red-dark:  #8f0b11;
  --red-light: #fdf2f2;
  --dark:      #1a1a1a;
  --gray-900:  #1f2937;
  --gray-700:  #374151;
  --gray-500:  #6b7280;
  --gray-300:  #d1d5db;
  --gray-100:  #f3f4f6;
  --gray-50:   #f9fafb;
  --white:     #ffffff;
  --border:    #e5e7eb;
  --ff-head:   'Big Shoulders Display','Arial Narrow',sans-serif;
  --ff-body:   'Inter',system-ui,sans-serif;
  --ff-mono:   'IBM Plex Mono',monospace;
  --wrap:      1240px;
  --gap:       24px;
  --r:         6px;
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--ff-body);font-size:16px;line-height:1.6;color:var(--gray-900);background:var(--white);}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

h1,h2,h3,h4{font-family:var(--ff-head);font-weight:800;line-height:1.08;text-transform:uppercase;letter-spacing:.01em;margin:0 0 .5em;}
h1{font-size:clamp(2rem,5vw,3.2rem);}
h2{font-size:clamp(1.5rem,3vw,2rem);}

a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:2px;}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  background:var(--white);
  border-bottom:3px solid var(--red);
  position:sticky;top:0;z-index:200;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}
.site-header__inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:20px;
  padding:12px 20px;
  max-width:var(--wrap);
  margin:0 auto;
}
.site-logo{font-family:var(--ff-head);font-size:1.8rem;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.site-logo img{max-height:48px;width:auto;}

/* Header search */
.header-search{width:100%;max-width:520px;justify-self:center;}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.header-cart{
  position:relative;display:flex;align-items:center;
  background:var(--gray-100);border-radius:var(--r);
  padding:8px 12px;gap:6px;font-size:.85rem;font-weight:600;color:var(--gray-700);
}
.header-cart svg{width:20px;height:20px;}
.cart-count{
  position:absolute;top:-6px;right:-6px;
  background:var(--red);color:var(--white);
  font-family:var(--ff-mono);font-size:.62rem;font-weight:700;
  border-radius:999px;padding:2px 6px;min-width:18px;text-align:center;
}
.nav-toggle{display:none;background:none;border:2px solid var(--gray-300);border-radius:var(--r);padding:6px 10px;color:var(--dark);font-size:1.3rem;line-height:1;}

/* Nav */
.site-nav{background:var(--dark);border-bottom:1px solid rgba(255,255,255,.08);}
.site-nav__inner{
  display:flex;align-items:center;
  max-width:var(--wrap);margin:0 auto;padding:0 20px;
  overflow-x:auto;scrollbar-width:none;
}
.site-nav__inner::-webkit-scrollbar{display:none;}
.site-nav a{
  display:block;color:rgba(255,255,255,.85);
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:12px 14px;white-space:nowrap;
  border-bottom:3px solid transparent;
  transition:color .15s,border-color .15s;
}
.site-nav a:hover,.site-nav a.current-menu-item{color:var(--white);border-bottom-color:var(--red);}

/* Mobile */
@media(max-width:860px){
  .site-header__inner{grid-template-columns:auto 1fr auto;gap:12px;}
  .header-search{display:none;}
  .nav-toggle{display:block;}
  .mobile-search{display:block;padding:10px 20px;background:var(--gray-50);border-bottom:1px solid var(--border);}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:300;box-shadow:0 8px 24px rgba(0,0,0,.2);}
  .site-nav.is-open{display:block;}
  .site-nav__inner{flex-direction:column;align-items:stretch;overflow-x:visible;padding:0;}
  .site-nav a{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06);border-left:3px solid transparent;}
  .site-nav a:hover{border-left-color:var(--red);border-bottom-color:rgba(255,255,255,.06);}
}
@media(min-width:861px){.mobile-search{display:none;}}

/* ============================================================
   ELEMENTOR PAGE CANVAS
   Gives Elementor full width — no sidebar interference
   ============================================================ */
.elementor-page-content{width:100%;}

/* When Elementor is editing — ensure our header/footer don't break */
.elementor-editor-active .site-header{position:relative;z-index:auto;}

/* ============================================================
   FAST SEARCH
   ============================================================ */
.sq-wrap{position:relative;width:100%;font-family:var(--ff-body);}
.sq-form{display:flex;align-items:center;background:var(--white);border:2px solid var(--border);border-radius:var(--r);transition:border-color .15s;}
.sq-form:focus-within{border-color:var(--red);}
.sq-input{flex:1;border:none;outline:none;padding:10px 12px;font-size:.92rem;color:var(--gray-900);background:transparent;min-width:0;}
.sq-input::placeholder{color:var(--gray-500);}
.sq-btn-clear{background:none;border:none;padding:0 8px;color:var(--gray-500);font-size:1rem;cursor:pointer;line-height:1;display:none;align-items:center;}
.sq-btn-clear.is-on{display:flex;}
.sq-btn-clear:hover{color:var(--red);}
.sq-btn-submit{background:var(--red);border:none;color:var(--white);padding:0 14px;min-height:42px;cursor:pointer;display:flex;align-items:center;transition:background .15s;flex-shrink:0;border-radius:0 4px 4px 0;}
.sq-btn-submit:hover{background:var(--red-dark);}
.sq-btn-submit svg{width:17px;height:17px;}
.sq-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-top:3px solid var(--red);border-radius:0 0 var(--r) var(--r);box-shadow:0 10px 30px rgba(0,0,0,.14);z-index:9999;display:none;max-height:460px;overflow-y:auto;}
.sq-dropdown.is-on{display:block;}
.sq-status{padding:14px;text-align:center;font-size:.86rem;color:var(--gray-500);}
.sq-product{display:flex;align-items:center;gap:11px;padding:10px 14px;text-decoration:none;color:var(--gray-900);border-bottom:1px solid var(--gray-50);transition:background .1s;}
.sq-product:hover{background:var(--red-light);}
.sq-product__img{width:50px;height:50px;object-fit:cover;border-radius:var(--r);flex-shrink:0;background:var(--gray-100);}
.sq-product__body{flex:1;min-width:0;}
.sq-product__name{font-size:.86rem;font-weight:600;line-height:1.3;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sq-product__meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.sq-product__price{font-size:.8rem;font-weight:700;color:var(--red);font-family:var(--ff-mono);}
.sq-product__price del{color:var(--gray-500);font-weight:400;margin-right:3px;}
.sq-product__badge{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:3px;}
.sq-product__badge.in{background:#dcfce7;color:#166534;}
.sq-product__badge.out{background:#fee2e2;color:#991b1b;}
.sq-product__cat{font-size:.74rem;color:var(--gray-500);}
.sq-viewall{display:block;text-align:center;padding:11px;font-size:.84rem;font-weight:700;color:var(--red);border-top:1px solid var(--border);background:var(--gray-50);transition:background .1s;}
.sq-viewall:hover{background:var(--red-light);}

/* ============================================================
   WOOCOMMERCE
   ============================================================ */
.woocommerce-shop-wrap{padding:36px 0 64px;}
.woocommerce-breadcrumb{font-size:.8rem;color:var(--gray-500);margin-bottom:22px;}
.woocommerce-breadcrumb a{color:var(--gray-500);text-decoration:underline;}

ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:var(--gap)!important;margin:0!important;padding:0!important;}
@media(max-width:900px){ul.products{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:480px){ul.products{grid-template-columns:repeat(2,1fr)!important;gap:12px!important;}}

ul.products li.product{list-style:none;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:12px;position:relative;transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;}
ul.products li.product:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px);}
ul.products li.product img{border-radius:4px;margin-bottom:10px;aspect-ratio:1/1;object-fit:cover;width:100%;}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--ff-body)!important;font-weight:700!important;font-size:.85rem!important;text-transform:none!important;margin:0 0 6px!important;line-height:1.3!important;color:var(--gray-900);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
ul.products li.product .price{font-family:var(--ff-mono)!important;font-size:.82rem!important;font-weight:700!important;margin-top:auto;}
ul.products li.product .price del{color:var(--gray-500)!important;font-weight:400!important;font-size:.76rem!important;display:block;}
ul.products li.product .price ins{text-decoration:none!important;color:var(--red)!important;}
ul.products li.product .onsale{position:absolute!important;top:10px!important;left:10px!important;background:var(--red)!important;color:var(--white)!important;font-family:var(--ff-mono)!important;font-size:.62rem!important;font-weight:800!important;padding:3px 8px!important;border-radius:3px!important;text-transform:uppercase!important;z-index:2!important;}
ul.products li.product a.button,ul.products li.product button.button{display:block!important;text-align:center!important;margin-top:10px!important;background:var(--dark)!important;color:var(--white)!important;padding:10px!important;border-radius:4px!important;font-size:.78rem!important;font-weight:700!important;text-transform:uppercase!important;border:none!important;width:100%!important;transition:background .15s!important;cursor:pointer!important;}
ul.products li.product a.button:hover,ul.products li.product button.button:hover{background:var(--red)!important;}

.samad-stock-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:3px;margin-bottom:4px;}
.samad-stock-badge.in-stock{background:#dcfce7;color:#166534;}
.samad-stock-badge.out-of-stock{background:#fee2e2;color:#991b1b;}

.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-color:var(--border)!important;border-radius:4px!important;}
.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--red)!important;color:var(--white)!important;border-color:var(--red)!important;}

/* Single product */
.woocommerce div.product .product_title{font-family:var(--ff-head)!important;font-size:clamp(1.4rem,3vw,2rem)!important;text-transform:uppercase!important;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--red)!important;font-size:1.4rem!important;font-family:var(--ff-mono)!important;}
.woocommerce .single_add_to_cart_button{background:var(--red)!important;border-color:var(--red)!important;border-radius:var(--r)!important;font-family:var(--ff-head)!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;font-size:1rem!important;padding:14px 32px!important;transition:background .15s!important;}
.woocommerce .single_add_to_cart_button:hover{background:var(--red-dark)!important;border-color:var(--red-dark)!important;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--dark);color:rgba(255,255,255,.6);padding:56px 0 24px;margin-top:56px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:24px;}}
.footer-brand__logo{font-family:var(--ff-head);font-size:1.6rem;font-weight:800;color:var(--red);text-transform:uppercase;margin-bottom:10px;display:block;}
.footer-brand p{font-size:.86rem;line-height:1.7;margin:0;}
.footer-col h4{color:var(--white);font-size:.88rem;margin-bottom:14px;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul a{font-size:.86rem;color:rgba(255,255,255,.6);transition:color .15s;}
.footer-col ul a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.78rem;}

/* ============================================================
   GENERAL PAGE
   ============================================================ */
.page-content{padding:40px 0 64px;}

/* ============================================================
   WOOCOMMERCE PRODUCT GRID FIX
   Override WooCommerce float-based layout completely
   ============================================================ */
ul.products.columns-1,
ul.products.columns-2,
ul.products.columns-3,
ul.products.columns-4,
ul.products.columns-5,
ul.products.columns-6 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

ul.products li.product {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  clear: none !important;
  list-style: none !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  padding: 12px !important;
  position: relative !important;
  transition: box-shadow .15s, transform .15s !important;
  display: flex !important;
  flex-direction: column !important;
}

ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
  transform: translateY(-2px) !important;
}

ul.products li.product a img,
ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  margin-bottom: 10px !important;
  float: none !important;
}

ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--ff-body) !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  text-transform: none !important;
  margin: 0 0 6px !important;
  line-height: 1.3 !important;
  color: var(--gray-900) !important;
  padding: 0 !important;
}

ul.products li.product .price {
  font-family: var(--ff-mono) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: var(--gray-900) !important;
  margin-top: auto !important;
  display: block !important;
}

ul.products li.product .price del {
  color: var(--gray-500) !important;
  font-weight: 400 !important;
  font-size: .78rem !important;
  display: block !important;
}

ul.products li.product .price ins {
  text-decoration: none !important;
  color: var(--red) !important;
}

ul.products li.product .onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: var(--red) !important;
  color: var(--white) !important;
  font-family: var(--ff-mono) !important;
  font-size: .65rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
  margin: 0 !important;
}

ul.products li.product a.button,
ul.products li.product button.button {
  display: block !important;
  text-align: center !important;
  margin-top: 10px !important;
  background: var(--dark) !important;
  color: var(--white) !important;
  padding: 10px !important;
  border-radius: 4px !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border: none !important;
  width: 100% !important;
  transition: background .15s !important;
  cursor: pointer !important;
  float: none !important;
}

ul.products li.product a.button:hover,
ul.products li.product button.button:hover {
  background: var(--red) !important;
  color: var(--white) !important;
}

/* Stock badge */
.samad-stock-badge {
  display: inline-block;
  font-size: .7rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 3px;
  margin-bottom: 4px;
}
.samad-stock-badge.in-stock { background: #dcfce7; color: #166534; }
.samad-stock-badge.out-of-stock { background: #fee2e2; color: #991b1b; }

/* Responsive grid */
@media (max-width: 900px) {
  ul.products.columns-1,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4,
  ul.products.columns-5,
  ul.products.columns-6 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  ul.products.columns-1,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4,
  ul.products.columns-5,
  ul.products.columns-6 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

/* Fix WooCommerce clearing floats that break grid */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: 100% !important;
}
