/*
Theme Name: ItyShop
Theme URI: https://ityshop.com
Author: ItyShop Team
Description: Premium WooCommerce theme — mobile-first, RTL-ready, Elementor compatible.
Version: 1.0.2
Requires at least: 5.8
Tested up to: 6.4
WC requires at least: 7.0
WC tested up to: 8.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ityshop
Tags: e-commerce, two-columns, left-sidebar, right-sidebar, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, rtl-language-support, translation-ready, woocommerce
*/

/* =============================================
   CSS CUSTOM PROPERTIES
============================================= */
:root {
  --its-primary:   #1a1a2e;
  --its-secondary: #16213e;
  --its-accent:    #e63946;
  --its-accent-h:  #c1121f;
  --its-gold:      #f4a261;
  --its-white:     #ffffff;
  --its-dark:      #0d0d0d;

  --its-gray-100: #f8f9fa;
  --its-gray-200: #e9ecef;
  --its-gray-300: #dee2e6;
  --its-gray-400: #ced4da;
  --its-gray-500: #adb5bd;
  --its-gray-600: #6c757d;
  --its-gray-700: #495057;
  --its-gray-800: #343a40;
  --its-gray-900: #212529;

  --its-font-body:    'Raleway', sans-serif;
  --its-font-display: 'Playfair Display', serif;

  --its-container:  1320px;
  --its-gutter:     30px;
  --its-radius:     6px;
  --its-radius-lg:  12px;

  --its-shadow-sm: 0 2px 10px rgba(0,0,0,.06);
  --its-shadow:    0 8px 30px rgba(0,0,0,.10);
  --its-shadow-lg: 0 20px 60px rgba(0,0,0,.15);
  --its-shadow-red:0 8px 25px rgba(230,57,70,.30);

  --its-transition: all .3s cubic-bezier(.4,0,.2,1);
  --its-fast:       all .15s ease;
  --its-slow:       all .5s cubic-bezier(.4,0,.2,1);

  --its-hdr:  80px;   /* main header height  */
  --its-nav:  52px;   /* navbar height       */
  --its-top:  40px;   /* topbar height       */
}

/* =============================================
   RESET & BASE
============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--its-font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--its-gray-800);
  background: #fff;
  overflow-x: hidden;   /* ← stops ALL horizontal scroll */
  -webkit-font-smoothing: antialiased;
}

/* every element caps at viewport width */
*, *::before, *::after { max-width: 100%; }
img  { display: block; height: auto; }
ul, ol { list-style: none; }
a  { color: var(--its-accent); text-decoration: none; transition: var(--its-fast); }
a:hover { color: var(--its-accent-h); }
h1,h2,h3,h4,h5,h6 {
  font-family: var(--its-font-display);
  font-weight: 700; line-height: 1.2;
  color: var(--its-primary);
  word-break: break-word;
}
h1 { font-size: clamp(1.8rem,4vw,3.5rem); }
h2 { font-size: clamp(1.5rem,3vw,2.8rem); }
h3 { font-size: clamp(1.2rem,2.5vw,2rem); }
h4 { font-size: 1.35rem; }
p  { margin-bottom: 1rem; }

.site-wrapper { display: flex; flex-direction: column; min-height: 100vh; }
.site-content { flex: 1; }

/* =============================================
   CONTAINER
============================================= */
.its-container {
  max-width: var(--its-container);
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--its-gutter);
}
@media (max-width: 480px) { .its-container { padding: 0 14px; } }

/* =============================================
   BUTTONS
============================================= */
.its-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 26px; border-radius: var(--its-radius);
  font-weight: 600; font-size: 13.5px; letter-spacing: .5px; text-transform: uppercase;
  cursor: pointer; border: 2px solid transparent;
  transition: var(--its-transition); text-decoration: none;
  white-space: nowrap; line-height: 1; vertical-align: middle;
  font-family: var(--its-font-body);
}
.its-btn-primary  { background:var(--its-accent); color:#fff; border-color:var(--its-accent); }
.its-btn-primary:hover { background:var(--its-accent-h); border-color:var(--its-accent-h); color:#fff; transform:translateY(-2px); box-shadow:var(--its-shadow-red); }
.its-btn-outline  { background:transparent; color:var(--its-primary); border-color:var(--its-primary); }
.its-btn-outline:hover { background:var(--its-primary); color:#fff; }
.its-btn-light    { background:#fff; color:var(--its-primary); border-color:#fff; }
.its-btn-light:hover { background:var(--its-accent); border-color:var(--its-accent); color:#fff; }
.its-btn-dark     { background:var(--its-primary); color:#fff; border-color:var(--its-primary); }
.its-btn-dark:hover { background:var(--its-secondary); color:#fff; }
.its-btn-sm  { padding:8px 16px; font-size:12px; }
.its-btn-lg  { padding:15px 38px; font-size:14.5px; }
.its-btn-xl  { padding:18px 50px; font-size:15px; border-radius:var(--its-radius-lg); }
.its-full-width { width:100%; }

/* =============================================
   TOPBAR
============================================= */
.its-topbar {
  background: var(--its-primary);
  color: rgba(255,255,255,.85);
  height: var(--its-top);
  font-size: 12.5px; font-weight: 500;
  overflow: hidden;
}
.its-topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 100%; gap: 12px;
}
.its-topbar-left,
.its-topbar-right  { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.its-topbar a      { color: rgba(255,255,255,.8); }
.its-topbar a:hover{ color: var(--its-gold); }
.its-topbar-item   { display: flex; align-items: center; gap: 5px; }
.its-topbar-sep    { width:1px; height:14px; background:rgba(255,255,255,.2); }

/* =============================================
   HEADER
============================================= */
.its-header {
  position: sticky; top: 0; z-index: 1000;
  background: #fff;
  box-shadow: 0 2px 20px rgba(0,0,0,.08);
  transition: var(--its-transition);
}
.its-header.scrolled { box-shadow: 0 4px 30px rgba(0,0,0,.15); }

.its-header-inner {
  display: flex; align-items: center;
  height: var(--its-hdr);
  gap: 16px;
}

/* ── Logo ── */
.its-logo {
  flex-shrink: 0;          /* keep logo stable on desktop */
  display: flex; align-items: center;
  text-decoration: none; color: inherit;
  overflow: hidden; min-width: 0;
}
.its-logo-text {
  font-family: var(--its-font-display);
  font-size: 1.9rem; font-weight: 700;
  color: var(--its-primary);
  letter-spacing: -.5px; line-height: 1;
  white-space: nowrap;
}
.its-logo-text span { color: var(--its-accent); }
.its-logo img { max-height: 50px; width: auto; max-width: 180px; object-fit: contain; }

/* ── Search (desktop only) ── */
.its-header-search { flex: 1; min-width: 0; max-width: 500px; position: relative; }
.its-search-form {
  display: flex; align-items: center;
  background: var(--its-gray-100);
  border: 2px solid transparent;
  border-radius: 50px; overflow: hidden;
  transition: var(--its-transition); width: 100%;
}
.its-search-form:focus-within {
  border-color: var(--its-accent); background: #fff;
  box-shadow: 0 0 0 4px rgba(230,57,70,.1);
}
.its-search-select {
  padding: 0 12px; height: 46px;
  border: none; border-right: 1px solid var(--its-gray-300);
  background: transparent; font-size: 12.5px;
  color: var(--its-gray-700); cursor: pointer; outline: none;
  min-width: 110px; max-width: 130px; flex-shrink: 0;
}
.its-search-input {
  flex: 1; min-width: 0; height: 46px;
  padding: 0 12px; border: none;
  background: transparent; outline: none;
  font-size: 14px; color: var(--its-gray-800);
}
.its-search-btn {
  width: 46px; height: 46px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--its-accent); border: none; color: #fff;
  cursor: pointer; transition: var(--its-fast);
  border-radius: 0 50px 50px 0;
}
.its-search-btn:hover { background: var(--its-accent-h); }

/* ── Header Actions (icons) ── */
.its-header-actions {
  display: flex; align-items: center;
  gap: 6px;          /* comfortable spacing between icons */
  flex-shrink: 0;
}
.its-header-action {
  position: relative;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  width: 52px; height: 52px;
  border-radius: var(--its-radius);
  color: var(--its-gray-700);
  text-decoration: none; cursor: pointer;
  border: none; background: transparent;
  transition: var(--its-fast); flex-shrink: 0;
}
.its-header-action:hover { color: var(--its-accent); background: var(--its-gray-100); }
.its-header-action svg   { width: 22px; height: 22px; }
.its-action-label {
  font-size: 9px; font-weight: 700;
  letter-spacing: .4px; margin-top: 2px;
  text-transform: uppercase; line-height: 1;
}
.its-action-badge {
  position: absolute; top: 6px; right: 5px;
  min-width: 18px; height: 18px;
  background: var(--its-accent); color: #fff;
  font-size: 10px; font-weight: 700; border-radius: 50px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 3px; line-height: 1;
}
.its-cart-action    { position: relative; }
.its-wishlist-count { display: none; }

/* ── Mini Cart Dropdown ── */
.its-mini-cart {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 340px;
  max-width: calc(100vw - 24px);  /* never bleeds off screen */
  background: #fff;
  border-radius: var(--its-radius-lg);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  border: 1px solid var(--its-gray-200);
  z-index: 900;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: var(--its-transition);
  /* fix the collapsed look — no padding here, children handle it */
  overflow: hidden;
}
.its-cart-action:hover .its-mini-cart,
.its-mini-cart:hover   { opacity:1; visibility:visible; transform:translateY(0); }

/* mini-cart inner WC items */
.its-mini-cart .woocommerce-mini-cart {
  max-height: 300px; overflow-y: auto;
  padding: 14px 16px;
  list-style: none !important;
  margin: 0 !important;
}
.its-mini-cart .woocommerce-mini-cart__empty-message {
  padding: 28px 16px; text-align: center;
  color: var(--its-gray-500); font-size: 14px;
}
.its-mini-cart .woocommerce-mini-cart-item {
  display: flex !important; align-items: center !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--its-gray-100) !important;
  list-style: none !important;
}
.its-mini-cart .woocommerce-mini-cart-item img {
  width: 58px !important; height: 58px !important;
  object-fit: cover !important; border-radius: 6px !important;
  flex-shrink: 0 !important;
}
.its-mini-cart .woocommerce-mini-cart-item .quantity { font-size: 13px !important; }
.its-mini-cart .woocommerce-mini-cart__total {
  padding: 14px 16px 4px !important;
  border-top: 2px solid var(--its-gray-100) !important;
  display: flex !important; justify-content: space-between !important;
  font-weight: 700 !important; font-size: 15px !important;
}
.its-mini-cart .woocommerce-mini-cart__buttons {
  padding: 10px 16px 16px !important;
  display: flex !important; flex-direction: column !important; gap: 8px !important;
}
.its-mini-cart .woocommerce-mini-cart__buttons a {
  display: block !important; width: 100% !important;
  text-align: center !important; padding: 11px 16px !important;
  border-radius: var(--its-radius) !important;
  font-weight: 700 !important; font-size: 13px !important;
  text-transform: uppercase !important; letter-spacing: .4px !important;
  text-decoration: none !important; transition: var(--its-fast) !important;
}
/* View Cart */
.its-mini-cart .woocommerce-mini-cart__buttons .button:first-child {
  background: var(--its-gray-100) !important;
  color: var(--its-primary) !important;
  border: 2px solid var(--its-gray-300) !important;
}
.its-mini-cart .woocommerce-mini-cart__buttons .button:first-child:hover {
  background: var(--its-primary) !important; color: #fff !important;
}
/* Checkout */
.its-mini-cart .woocommerce-mini-cart__buttons .checkout {
  background: var(--its-accent) !important;
  color: #fff !important;
  border: 2px solid var(--its-accent) !important;
}
.its-mini-cart .woocommerce-mini-cart__buttons .checkout:hover {
  background: var(--its-accent-h) !important;
  border-color: var(--its-accent-h) !important;
}
/* RTL flip */
[dir="rtl"] .its-mini-cart { right: auto; left: 0; }

/* =============================================
   NAVIGATION
============================================= */
.its-nav-wrapper {
  background: var(--its-primary);
  position: relative; z-index: 900;
}
.its-nav-inner {
  display: flex; align-items: center;
  height: var(--its-nav);
}
.its-main-nav { display: flex; align-items: center; height: 100%; }
.its-nav-item {
  position: relative; height: 100%;
  display: flex; align-items: center;
}
.its-nav-link {
  display: flex; align-items: center; gap: 5px;
  padding: 0 16px; height: 100%;
  color: rgba(255,255,255,.9);
  font-size: 13px; font-weight: 600;
  letter-spacing: .4px; text-transform: uppercase;
  text-decoration: none; transition: var(--its-fast);
  white-space: nowrap;
}
.its-nav-link:hover,
.its-nav-item.current-menu-item > .its-nav-link { color: var(--its-gold); }

.its-nav-item.current-menu-item::after,
.its-nav-item:hover::after {
  content: ''; position: absolute; bottom: 0;
  left: 14px; right: 14px; height: 3px;
  background: var(--its-gold); border-radius: 3px 3px 0 0;
}

/* Dropdown */
.its-dropdown {
  position: absolute; top: 100%; left: 0;
  min-width: 220px; background: #fff;
  border-radius: 0 0 var(--its-radius-lg) var(--its-radius-lg);
  box-shadow: var(--its-shadow-lg);
  padding: 10px 0;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: var(--its-transition); z-index: 500;
  border-top: 3px solid var(--its-accent);
}
.its-nav-item:hover > .its-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.its-dropdown-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 20px; color: var(--its-gray-700);
  font-size: 13.5px; font-weight: 500; text-decoration: none;
  transition: var(--its-fast);
}
.its-dropdown-link:hover { color:var(--its-accent); background:var(--its-gray-100); padding-left:24px; }

/* Categories dropdown */
.its-categories-nav { position: relative; height: 100%; display: flex; align-items: center; flex-shrink: 0; }
.its-categories-btn {
  display: flex; align-items: center; gap: 8px;
  padding: 0 18px; height: 100%;
  background: var(--its-accent); color: #fff;
  font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px;
  border: none; cursor: pointer; transition: var(--its-fast);
  white-space: nowrap;
}
.its-categories-btn:hover { background: var(--its-accent-h); }
.its-categories-dropdown {
  position: absolute; top: 100%; left: 0; width: 240px;
  background: #fff; box-shadow: var(--its-shadow-lg);
  border-radius: 0 0 var(--its-radius-lg) var(--its-radius-lg);
  padding: 8px 0;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: var(--its-transition); z-index: 500;
  border-top: 3px solid var(--its-accent);
}
.its-categories-nav:hover .its-categories-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.its-cat-item {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 16px; color: var(--its-gray-700);
  font-size: 13.5px; font-weight: 500; text-decoration: none;
  transition: var(--its-fast); cursor: pointer;
}
.its-cat-item:hover { color:var(--its-accent); background:var(--its-gray-100); }

/* =============================================
   HERO SLIDER
============================================= */
.its-hero { position: relative; overflow: hidden; }
.its-slider { position: relative; }
.its-slide {
  min-height: 540px; display: flex; align-items: center;
  overflow: hidden; position: relative;
}
.its-slide-bg { position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 8s ease; }
.its-slide.active .its-slide-bg { transform:scale(1.05); }
.its-slide-overlay { position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,26,46,.85) 0%,rgba(26,26,46,.3) 60%,transparent 100%); }
.its-slide-content { position:relative;z-index:2;max-width:580px;padding:60px 0; }
.its-slide-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--its-accent); color: #fff;
  padding: 6px 14px; border-radius: 50px;
  font-size: 12px; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; margin-bottom: 16px;
}
.its-slide-title { color:#fff;font-size:clamp(2rem,4vw,3.8rem);line-height:1.1;margin-bottom:16px; }
.its-slide-title span { color:var(--its-gold);display:block; }
.its-slide-subtitle { color:rgba(255,255,255,.8);font-size:1rem;margin-bottom:30px;max-width:420px; }
.its-slide-actions { display:flex;gap:12px;flex-wrap:wrap; }
.its-slider-nav { position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5; }
.its-slider-dot { width:8px;height:8px;border-radius:50px;background:rgba(255,255,255,.5);cursor:pointer;transition:var(--its-fast);border:none; }
.its-slider-dot.active { width:24px;background:var(--its-gold); }
.its-slider-arrows { position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 12px;pointer-events:none;z-index:5; }
.its-slider-arrow { width:46px;height:46px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;pointer-events:all;transition:var(--its-fast); }
.its-slider-arrow:hover { background:var(--its-accent);border-color:var(--its-accent); }

/* =============================================
   FEATURES BAR
============================================= */
.its-features-bar { background:var(--its-gray-100);border-bottom:1px solid var(--its-gray-200);padding:20px 0; }
.its-features-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
.its-feature-item  { display:flex;align-items:center;gap:14px; }
.its-feature-icon  { width:48px;height:48px;background:#fff;border-radius:var(--its-radius);display:flex;align-items:center;justify-content:center;box-shadow:var(--its-shadow-sm);flex-shrink:0;color:var(--its-accent); }
.its-feature-title { font-size:13.5px;font-weight:700;color:var(--its-primary);margin-bottom:2px; }
.its-feature-desc  { font-size:12px;color:var(--its-gray-500); }

/* =============================================
   SECTION HELPERS
============================================= */
.its-section    { padding: 70px 0; }
.its-section-sm { padding: 40px 0; }
.its-section-lg { padding: 100px 0; }

.its-section-header { text-align:center;margin-bottom:48px; }
.its-section-tag {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(230,57,70,.08);color:var(--its-accent);
  padding:6px 16px;border-radius:50px;
  font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;
}
.its-section-title { font-size:clamp(1.6rem,3vw,2.8rem);color:var(--its-primary);margin-bottom:12px; }
.its-section-desc  { color:var(--its-gray-500);max-width:560px;margin:0 auto;font-size:15px; }
.its-section-header-inline { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap; }

/* =============================================
   CATEGORY CARDS
============================================= */
.its-cat-grid { display:grid;grid-template-columns:repeat(6,1fr);gap:14px; }
.its-cat-card {
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:22px 12px;background:#fff;border:2px solid var(--its-gray-200);
  border-radius:var(--its-radius-lg);cursor:pointer;transition:var(--its-transition);
  text-decoration:none;color:var(--its-gray-700);text-align:center;overflow:hidden;
}
.its-cat-card:hover { border-color:var(--its-accent);color:var(--its-accent);transform:translateY(-4px);box-shadow:var(--its-shadow); }
.its-cat-card-icon { width:56px;height:56px;background:var(--its-gray-100);border-radius:var(--its-radius);display:flex;align-items:center;justify-content:center;transition:var(--its-fast);overflow:hidden; }
.its-cat-card:hover .its-cat-card-icon { background:rgba(230,57,70,.08); }
.its-cat-card-icon img, .its-cat-card-icon svg { width:32px;height:32px; }
.its-cat-card-name  { font-size:13px;font-weight:700;line-height:1.3; }
.its-cat-card-count { font-size:11px;color:var(--its-gray-500);margin-top:-4px; }

/* =============================================
   PRODUCT GRID — custom cards (.its-product-card)
============================================= */
.its-products-grid   { display:grid;grid-template-columns:repeat(4,1fr);gap:22px; }
.its-products-grid-5 { grid-template-columns:repeat(5,1fr); }
.its-products-grid-3 { grid-template-columns:repeat(3,1fr); }
.its-products-grid-2 { grid-template-columns:repeat(2,1fr); }

.its-product-card {
  background:#fff;border-radius:var(--its-radius-lg);overflow:hidden;
  box-shadow:var(--its-shadow-sm);transition:var(--its-transition);
  position:relative;border:1px solid var(--its-gray-200);
  display:flex;flex-direction:column;
}
.its-product-card:hover { box-shadow:var(--its-shadow-lg);transform:translateY(-5px);border-color:transparent; }
.its-product-thumb { position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--its-gray-100);flex-shrink:0; }
.its-product-thumb img { width:100%;height:100%;object-fit:cover;transition:var(--its-slow); }
.its-product-card:hover .its-product-thumb img { transform:scale(1.07); }

.its-product-badges { position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:4px;z-index:2; }
.its-badge { display:inline-flex;align-items:center;padding:3px 9px;border-radius:50px;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;line-height:1; }
.its-badge-sale     { background:var(--its-accent);color:#fff; }
.its-badge-new      { background:#2ecc71;color:#fff; }
.its-badge-hot      { background:var(--its-gold);color:var(--its-dark); }
.its-badge-out      { background:var(--its-gray-600);color:#fff; }
.its-badge-featured { background:var(--its-primary);color:#fff; }

.its-product-actions { position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(8px);transition:var(--its-transition);z-index:2; }
.its-product-card:hover .its-product-actions { opacity:1;transform:translateX(0); }
.its-product-action-btn { width:34px;height:34px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--its-gray-700);box-shadow:var(--its-shadow);cursor:pointer;transition:var(--its-fast);border:none;text-decoration:none;font-size:15px; }
.its-product-action-btn:hover { background:var(--its-accent);color:#fff; }

.its-product-quick-add { position:absolute;bottom:0;left:0;right:0;background:var(--its-primary);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transform:translateY(100%);transition:var(--its-transition);text-decoration:none; }
.its-product-card:hover .its-product-quick-add { transform:translateY(0); }
.its-product-quick-add:hover { background:var(--its-accent);color:#fff; }

.its-product-info   { padding:14px;flex:1;display:flex;flex-direction:column; }
.its-product-cat    { font-size:10.5px;color:var(--its-gray-500);text-transform:uppercase;font-weight:600;letter-spacing:.4px;text-decoration:none;display:block;margin-bottom:6px; }
.its-product-cat:hover { color:var(--its-accent); }
.its-product-title  { font-size:14px;font-weight:700;color:var(--its-primary);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.its-product-title a { color:inherit;text-decoration:none; }
.its-product-title a:hover { color:var(--its-accent); }
.its-product-rating { display:flex;align-items:center;gap:6px;margin-bottom:8px; }
.its-stars { display:flex;gap:2px;color:var(--its-gold); }
.its-stars svg { width:12px;height:12px; }
.its-rating-count { font-size:11.5px;color:var(--its-gray-500); }
.its-product-price { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto; }
.its-price-current  { font-size:16px;font-weight:800;color:var(--its-accent);font-family:var(--its-font-display); }
.its-price-old      { font-size:12.5px;color:var(--its-gray-500);text-decoration:line-through; }
.its-price-discount { font-size:10.5px;font-weight:700;background:rgba(230,57,70,.1);color:var(--its-accent);padding:2px 5px;border-radius:4px; }

/* =============================================
   WOOCOMMERCE — PRODUCT LOOP (ul.products)
   These override WC's float-based layout entirely
============================================= */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  width: 100% !important;
}
/* Kill WC float, make each li a proper flex card */
ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border-radius: var(--its-radius-lg) !important;
  border: 1px solid var(--its-gray-200) !important;
  box-shadow: var(--its-shadow-sm) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: var(--its-transition) !important;
  position: relative !important;
}
ul.products li.product:hover {
  box-shadow: var(--its-shadow-lg) !important;
  transform: translateY(-4px) !important;
  border-color: transparent !important;
}
/* Image wrapper — aspect-ratio square */
ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  overflow: hidden !important;
  background: var(--its-gray-100) !important;
  flex-shrink: 0 !important;
}
ul.products li.product a img,
ul.products li.product img.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform .5s ease !important;
  /* remove any WC fixed heights */
  max-height: none !important;
}
ul.products li.product:hover img { transform: scale(1.06) !important; }
/* Title */
ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-family: var(--its-font-body) !important;
  font-weight: 700 !important;
  color: var(--its-primary) !important;
  padding: 14px 14px 4px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
/* Price */
ul.products li.product .price {
  padding: 4px 14px 10px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
ul.products li.product .price .woocommerce-Price-amount {
  font-size: 17px !important; font-weight: 800 !important;
  color: var(--its-accent) !important;
  font-family: var(--its-font-display) !important;
}
ul.products li.product .price del .woocommerce-Price-amount {
  font-size: 13px !important; color: var(--its-gray-500) !important;
  font-family: var(--its-font-body) !important;
}
ul.products li.product .price ins { text-decoration: none !important; }
/* Sale badge */
ul.products li.product .onsale {
  position: absolute !important; top: 10px !important; left: 10px !important;
  right: auto !important; margin: 0 !important;
  background: var(--its-accent) !important; color: #fff !important;
  font-size: 10.5px !important; font-weight: 700 !important;
  padding: 3px 10px !important; border-radius: 50px !important;
  min-height: unset !important; min-width: unset !important;
  line-height: 1.6 !important; z-index: 2 !important;
}
/* Add to cart */
ul.products li.product .button,
ul.products li.product a.button,
ul.products li.product button.button {
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: auto 14px 14px !important;
  padding: 10px 16px !important;
  background: var(--its-primary) !important; color: #fff !important;
  border: none !important; border-radius: var(--its-radius) !important;
  font-size: 12.5px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .4px !important;
  cursor: pointer !important; text-align: center !important;
  text-decoration: none !important; line-height: 1.5 !important;
  transition: var(--its-fast) !important;
}
ul.products li.product .button:hover,
ul.products li.product a.button:hover,
ul.products li.product button.button:hover {
  background: var(--its-accent) !important; color: #fff !important;
}

/* =============================================
   WOOCOMMERCE — SINGLE PRODUCT
============================================= */
.woocommerce-product-gallery { width: 100% !important; }
.woocommerce-product-gallery__image img { border-radius: var(--its-radius-lg); }
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 50px !important; align-items: start;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--its-font-display) !important;
  color: var(--its-accent) !important;
  font-size: 2rem !important; font-weight: 800 !important;
  margin-bottom: 16px !important;
}
.woocommerce div.product .single_add_to_cart_button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--its-accent) !important; color: #fff !important;
  border-radius: var(--its-radius) !important;
  font-weight: 700 !important; font-size: 14px !important;
  padding: 14px 30px !important; text-transform: uppercase !important;
  letter-spacing: .5px !important; border: none !important;
  cursor: pointer !important; transition: var(--its-fast) !important;
}
.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background: var(--its-accent-h) !important; color: #fff !important;
}
.woocommerce div.product form.cart { display:flex !important; align-items:center !important; gap:14px !important; flex-wrap:wrap !important; }
.woocommerce div.product form.cart .qty { width:70px !important; height:48px !important; border:2px solid var(--its-gray-300) !important; border-radius:var(--its-radius) !important; text-align:center !important; font-size:16px !important; font-weight:700 !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom:2px solid var(--its-gray-200) !important; padding:0 !important; margin-bottom:24px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:transparent !important; border:none !important; border-bottom:2px solid transparent !important; margin-bottom:-2px !important; border-radius:0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight:700 !important; text-transform:uppercase !important; font-size:13px !important; letter-spacing:.4px !important; color:var(--its-gray-500) !important; padding:12px 20px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color:var(--its-accent) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color:var(--its-accent) !important; }

/* Stars */
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color:var(--its-gold) !important; }

/* Notices */
.woocommerce-message { background:#d4edda !important; border-left:4px solid #28a745 !important; border-top:none !important; border-radius:var(--its-radius-lg) !important; padding:14px 18px !important; }
.woocommerce-info    { background:#d1ecf1 !important; border-left:4px solid #17a2b8 !important; border-top:none !important; border-radius:var(--its-radius-lg) !important; padding:14px 18px !important; }
.woocommerce-error   { background:#f8d7da !important; border-left:4px solid var(--its-accent) !important; border-top:none !important; border-radius:var(--its-radius-lg) !important; padding:14px 18px !important; }

/* Cart/Checkout */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order {
  background:var(--its-accent) !important; color:#fff !important;
  border-radius:var(--its-radius) !important;
  font-size:15px !important; font-weight:700 !important;
  padding:16px 30px !important; width:100% !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border:2px solid var(--its-gray-300) !important;
  border-radius:var(--its-radius) !important;
  padding:12px 14px !important; font-size:14px !important;
  width:100% !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus { border-color:var(--its-accent) !important; outline:none !important; box-shadow:0 0 0 3px rgba(230,57,70,.1) !important; }

/* =============================================
   SHOP PAGE LAYOUT (archive + sidebar)
============================================= */
.its-shop-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 30px;
  align-items: start;
  width: 100%;
}
.its-shop-layout.no-sidebar { grid-template-columns: 1fr; }
.its-shop-content  { min-width: 0; width: 100%; }

/* Sidebar */
.its-sidebar { position:sticky;top:calc(var(--its-hdr) + var(--its-nav) + 16px); }
.its-widget  { background:#fff;border:1px solid var(--its-gray-200);border-radius:var(--its-radius-lg);padding:22px;margin-bottom:20px; }
.its-widget-title { font-size:14px;font-weight:700;color:var(--its-primary);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--its-gray-200);text-transform:uppercase;letter-spacing:.4px; }

/* Breadcrumb */
.its-breadcrumb { padding:12px 0;border-bottom:1px solid var(--its-gray-200);background:var(--its-gray-100); }
.its-breadcrumb-list { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.its-breadcrumb-item { display:flex;align-items:center;gap:6px;font-size:13px;color:var(--its-gray-500); }
.its-breadcrumb-item a { color:var(--its-gray-600); }
.its-breadcrumb-item a:hover { color:var(--its-accent); }
.its-breadcrumb-item.active { color:var(--its-gray-700);font-weight:600; }
.its-breadcrumb-sep { color:var(--its-gray-400);font-size:11px; }

/* =============================================
   PAGE HERO
============================================= */
.its-page-hero { background:var(--its-gray-100);padding:38px 0;border-bottom:1px solid var(--its-gray-200); }
.its-page-hero h1 { font-size:clamp(1.5rem,3vw,2.2rem);color:var(--its-primary);margin-bottom:8px; }

/* =============================================
   BANNERS
============================================= */
.its-banner-grid   { display:grid;gap:20px; }
.its-banner-grid-2 { grid-template-columns:1fr 1fr; }
.its-banner-grid-3 { grid-template-columns:repeat(3,1fr); }
.its-banner {
  position:relative;overflow:hidden;
  border-radius:var(--its-radius-lg);
  min-height:240px;display:flex;align-items:flex-end;
}
.its-banner-lg { min-height:380px; }
.its-banner-sm { min-height:165px; }
.its-banner:hover .its-banner-bg  { transform:scale(1.04); }
.its-banner-bg     { position:absolute;inset:0;background-size:cover;background-position:center;transition:var(--its-slow); }
.its-banner-overlay{ position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,26,46,.75) 0%,rgba(26,26,46,.1) 60%,transparent 100%); }
.its-banner-content{ position:relative;z-index:2;padding:22px; }
.its-banner-tag    { display:inline-block;background:var(--its-gold);color:var(--its-dark);padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:8px; }
.its-banner-title  { color:#fff;font-family:var(--its-font-display);font-size:clamp(1.2rem,2vw,1.9rem);margin-bottom:8px;line-height:1.2; }
.its-banner-desc   { color:rgba(255,255,255,.8);font-size:13px;margin-bottom:14px; }

/* =============================================
   TABS
============================================= */
.its-tabs { border-bottom:2px solid var(--its-gray-200);display:flex;flex-wrap:wrap;margin-bottom:28px; }
.its-tab-btn { padding:12px 20px;font-size:13px;font-weight:700;color:var(--its-gray-500);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:var(--its-fast);text-transform:uppercase;letter-spacing:.4px;font-family:var(--its-font-body); }
.its-tab-btn:hover { color:var(--its-primary); }
.its-tab-btn.active { color:var(--its-accent);border-bottom-color:var(--its-accent); }

/* =============================================
   NEWSLETTER
============================================= */
.its-newsletter { background:var(--its-primary);padding:70px 0;position:relative;overflow:hidden; }
.its-newsletter-inner { position:relative;z-index:1;display:flex;align-items:center;gap:60px; }
.its-newsletter-content { flex:1;min-width:0; }
.its-newsletter-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(244,162,97,.2);color:var(--its-gold);padding:6px 14px;border-radius:50px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px; }
.its-newsletter-title { color:#fff;font-family:var(--its-font-display);font-size:clamp(1.5rem,3vw,2.5rem);margin-bottom:10px; }
.its-newsletter-title span { color:var(--its-gold); }
.its-newsletter-desc { color:rgba(255,255,255,.7);font-size:15px; }
.its-newsletter-form { flex:1;min-width:0; }
.its-newsletter-input-group { display:flex;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50px;overflow:hidden;padding:5px 5px 5px 22px;margin-bottom:12px; }
.its-newsletter-input { flex:1;min-width:0;background:transparent;border:none;color:#fff;font-size:14px;outline:none;font-family:var(--its-font-body); }
.its-newsletter-input::placeholder { color:rgba(255,255,255,.5); }

/* =============================================
   FOOTER — hardcoded dark, immune to overrides
============================================= */
.its-footer          { background: #1a1a2e; }
.its-footer-top      { background: #1a1a2e; padding:70px 0 50px; color:rgba(255,255,255,.8); }
.its-footer-middle   { background: rgba(0,0,0,.25); padding:18px 0; border-top:1px solid rgba(255,255,255,.07); border-bottom:1px solid rgba(255,255,255,.07); }
.its-footer-bottom   { background: rgba(0,0,0,.35); padding:16px 0; }

.its-footer-grid { display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px; }
.its-footer-logo { font-family:var(--its-font-display);font-size:2rem;font-weight:700;color:#fff;margin-bottom:14px;display:inline-block;text-decoration:none; }
.its-footer-logo span { color:var(--its-gold); }
.its-footer-about { color:rgba(255,255,255,.6);font-size:14px;line-height:1.8;margin-bottom:22px; }
.its-footer-social { display:flex;gap:8px;flex-wrap:wrap; }
.its-social-btn { width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);text-decoration:none;transition:var(--its-fast); }
.its-social-btn:hover { background:var(--its-accent);color:#fff; }
.its-footer-widget-title { color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;padding-bottom:10px;position:relative; }
.its-footer-widget-title::after { content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--its-gold); }
.its-footer-links { display:flex;flex-direction:column;gap:8px; }
.its-footer-link { display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.6);font-size:13.5px;text-decoration:none;transition:var(--its-fast); }
.its-footer-link:hover { color:var(--its-gold);transform:translateX(4px); }
.its-footer-link svg { width:13px;height:13px;flex-shrink:0; }
.its-footer-contact-item { display:flex;gap:12px;margin-bottom:14px;color:rgba(255,255,255,.6);font-size:13.5px; }
.its-footer-contact-icon { width:34px;height:34px;background:rgba(255,255,255,.06);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--its-gold); }
.its-footer-contact-label { font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.4);margin-bottom:2px; }
.its-footer-contact-value { color:rgba(255,255,255,.8);font-weight:500; }

.its-footer-middle-inner { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.its-payment-methods { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.its-payment-label { font-size:12px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.4px; }
.its-payment-icons { display:flex;gap:7px;flex-wrap:wrap; }
.its-payment-icon  { background:rgba(255,255,255,.1);border-radius:5px;padding:4px 8px;font-size:10.5px;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.4px; }

.its-footer-bottom-inner { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.its-copyright { font-size:13px;color:rgba(255,255,255,.5); }
.its-copyright a { color:var(--its-gold); }
.its-footer-nav { display:flex;gap:16px;flex-wrap:wrap; }
.its-footer-nav a { font-size:12px;color:rgba(255,255,255,.5);text-decoration:none;transition:var(--its-fast); }
.its-footer-nav a:hover { color:var(--its-gold); }

/* =============================================
   BACK TO TOP
============================================= */
.its-back-to-top { position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:var(--its-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--its-shadow-red);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:var(--its-transition);z-index:500;border:none; }
.its-back-to-top.visible { opacity:1;visibility:visible;transform:translateY(0); }
.its-back-to-top:hover { background:var(--its-accent-h);transform:translateY(-3px); }

/* =============================================
   MOBILE MENU
============================================= */
.its-mobile-menu-overlay { position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;opacity:0;visibility:hidden;transition:var(--its-transition); }
.its-mobile-menu-overlay.active { opacity:1;visibility:visible; }

.its-mobile-menu {
  position: fixed; top: 0; left: 0;
  width: min(320px, 86vw);   /* never exceed screen */
  height: 100%; background: #fff;
  z-index: 2001;
  transform: translateX(-100%);
  transition: var(--its-transition);
  overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column;
}
.its-mobile-menu.active { transform:translateX(0); }

.its-mobile-menu-header { display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--its-gray-200);background:var(--its-primary);flex-shrink:0; }
.its-mobile-close { width:34px;height:34px;background:rgba(255,255,255,.1);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;border:none; }
.its-mobile-nav { flex:1;padding:12px;overflow-x:hidden; }
.its-mobile-nav-item > a { display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:var(--its-gray-700);font-size:14px;font-weight:600;text-decoration:none;border-radius:var(--its-radius);transition:var(--its-fast); }
.its-mobile-nav-item > a:hover { background:var(--its-gray-100);color:var(--its-accent); }
.its-mobile-submenu { padding-left:16px;display:none; }
.its-mobile-submenu.open { display:block; }
.its-mobile-submenu a { display:block;padding:9px 14px;color:var(--its-gray-600);font-size:13px;text-decoration:none;border-radius:var(--its-radius); }
.its-mobile-submenu a:hover { color:var(--its-accent);background:var(--its-gray-100); }

/* Hamburger */
.its-hamburger { display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;cursor:pointer;border:none;background:transparent;padding:6px;flex-shrink:0; }
.its-hamburger span { display:block;height:2px;background:var(--its-primary);border-radius:2px;transition:var(--its-fast); }
.its-hamburger span:nth-child(1) { width:22px; }
.its-hamburger span:nth-child(2) { width:28px; }
.its-hamburger span:nth-child(3) { width:18px; }
.its-hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px);width:28px; }
.its-hamburger.active span:nth-child(2) { opacity:0; }
.its-hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px);width:28px; }

/* =============================================
   UTILITIES
============================================= */
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.its-hidden { display:none !important; }
.its-text-center { text-align:center; }
.its-text-accent { color:var(--its-accent); }
.its-text-gold   { color:var(--its-gold); }
.its-text-muted  { color:var(--its-gray-600); }

/* =============================================
   ANIMATIONS
============================================= */
@keyframes fadeInUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes spin     { to{transform:rotate(360deg)} }
.its-animate { animation:fadeInUp .6s ease both; }

/* =============================================
   RTL — FULL SUPPORT
============================================= */
[dir="rtl"] body { direction:rtl;text-align:right; }
[dir="rtl"] .its-header-inner   { flex-direction:row-reverse; }
[dir="rtl"] .its-logo-text      { letter-spacing:0; }
[dir="rtl"] .its-search-form    { flex-direction:row-reverse; }
[dir="rtl"] .its-search-select  { border-right:none;border-left:1px solid var(--its-gray-300); }
[dir="rtl"] .its-search-btn     { border-radius:50px 0 0 50px; }
[dir="rtl"] .its-header-actions { flex-direction:row-reverse; }
[dir="rtl"] .its-action-badge   { right:auto;left:5px; }
[dir="rtl"] .its-topbar-inner   { flex-direction:row-reverse; }
[dir="rtl"] .its-topbar-left,
[dir="rtl"] .its-topbar-right   { flex-direction:row-reverse; }
[dir="rtl"] .its-nav-inner      { flex-direction:row-reverse; }
[dir="rtl"] .its-main-nav       { flex-direction:row-reverse; }
[dir="rtl"] .its-dropdown       { left:auto;right:0; }
[dir="rtl"] .its-categories-dropdown { left:auto;right:0; }
[dir="rtl"] .its-dropdown-link:hover { padding-left:20px;padding-right:24px; }
[dir="rtl"] .its-product-badges { left:auto;right:10px; }
[dir="rtl"] .its-product-actions{ right:auto;left:10px;transform:translateX(-8px); }
[dir="rtl"] .its-product-card:hover .its-product-actions { transform:translateX(0); }
[dir="rtl"] .its-footer-widget-title::after { left:auto;right:0; }
[dir="rtl"] .its-footer-link:hover { transform:translateX(-4px); }
[dir="rtl"] .its-footer-social  { flex-direction:row-reverse; }
[dir="rtl"] .its-footer-grid    { direction:rtl; }
[dir="rtl"] .its-footer-bottom-inner { flex-direction:row-reverse; }
[dir="rtl"] .its-footer-middle-inner { flex-direction:row-reverse; }
[dir="rtl"] .its-footer-contact-item { flex-direction:row; }
[dir="rtl"] .its-payment-methods { flex-direction:row-reverse; }
[dir="rtl"] .its-newsletter-inner { flex-direction:row-reverse; }
[dir="rtl"] .its-newsletter-input-group { flex-direction:row-reverse;padding:5px 22px 5px 5px; }
[dir="rtl"] .its-section-header-inline { flex-direction:row-reverse; }
[dir="rtl"] .its-mobile-menu    { left:auto;right:0;transform:translateX(100%); }
[dir="rtl"] .its-mobile-menu.active { transform:translateX(0); }
[dir="rtl"] .its-mobile-menu-header { flex-direction:row-reverse; }
[dir="rtl"] .its-mobile-nav-item > a { flex-direction:row-reverse; }
[dir="rtl"] .its-mobile-submenu { padding-left:0;padding-right:16px; }
[dir="rtl"] .its-back-to-top   { right:auto;left:28px; }
[dir="rtl"] .its-mini-cart     { right:auto;left:0; }
[dir="rtl"] .woocommerce div.product { direction:rtl; }
[dir="rtl"] .woocommerce div.product form.cart { flex-direction:row-reverse; }

/* =============================================
   RESPONSIVE — ≤1200px (small desktop / large tablet)
============================================= */
@media (max-width:1200px) {
  :root { --its-container:100%; }
  .its-products-grid    { grid-template-columns:repeat(3,1fr); }
  .its-cat-grid         { grid-template-columns:repeat(4,1fr); }
  .its-footer-grid      { grid-template-columns:1fr 1fr;gap:36px; }
  ul.products           { grid-template-columns:repeat(3,1fr) !important; }
  ul.products li.product{ float:none !important;width:auto !important; }
}

/* =============================================
   RESPONSIVE — ≤992px (tablet)
============================================= */
@media (max-width:992px) {
  :root { --its-hdr:68px; --its-gutter:22px; }
  .its-features-grid  { grid-template-columns:repeat(2,1fr); }
  .its-banner-grid-2  { grid-template-columns:1fr; }
  .its-newsletter-inner { flex-direction:column;gap:32px; }
  .its-shop-layout    { grid-template-columns:1fr; }
  .its-sidebar        { position:static; }
  .woocommerce div.product { grid-template-columns:1fr !important;gap:30px !important; }
  ul.products         { grid-template-columns:repeat(2,1fr) !important; }
  ul.products li.product { float:none !important;width:auto !important; }
}

/* =============================================
   RESPONSIVE — ≤768px (mobile)
============================================= */
@media (max-width:768px) {
  :root { --its-hdr:60px; --its-gutter:16px; }

  /* show hamburger, hide desktop nav & topbar */
  .its-hamburger     { display:flex; }
  .its-nav-wrapper   { display:none; }
  .its-topbar        { display:none; }
  .its-header-search { display:none; }
  .its-action-label  { display:none; }

  /* scale down logo so it never overflows */
  .its-logo-text     { font-size:1.25rem; letter-spacing:0; }
  .its-logo img      { max-height:34px; max-width:100px; }

  /* compact header row */
  .its-header-inner  { gap:6px; }
  .its-header-actions{ gap:2px; }
  .its-header-action { width:42px;height:42px; }

  /* mini cart off on mobile (user taps cart link directly) */
  .its-mini-cart     { display:none !important; }

  /* products: 2 columns */
  .its-products-grid   { grid-template-columns:repeat(2,1fr);gap:10px; }
  .its-products-grid-5 { grid-template-columns:repeat(2,1fr); }
  .its-products-grid-3 { grid-template-columns:repeat(2,1fr); }
  ul.products          { grid-template-columns:repeat(2,1fr) !important;gap:10px !important; }
  ul.products li.product { float:none !important;width:auto !important; }

  /* categories */
  .its-cat-grid { grid-template-columns:repeat(3,1fr);gap:8px; }
  .its-cat-card { padding:14px 8px;gap:8px; }

  .its-features-grid { grid-template-columns:1fr 1fr; }
  .its-banner-grid-3 { grid-template-columns:1fr; }

  .its-section    { padding:48px 0; }
  .its-section-sm { padding:28px 0; }
  .its-section-header { margin-bottom:28px; }
  .its-section-header-inline { flex-direction:column;align-items:flex-start;gap:10px; }

  .its-slide { min-height:380px; }

  .its-footer-grid        { grid-template-columns:1fr;gap:28px; }
  .its-footer-top         { padding:48px 0 36px; }
  .its-footer-bottom-inner{ flex-direction:column;text-align:center;gap:10px; }
  .its-footer-middle-inner{ flex-direction:column;gap:12px; }
  .its-footer-nav         { justify-content:center; }

  .its-newsletter { padding:48px 0; }
  .its-newsletter-inner { flex-direction:column;gap:28px; }
  .its-newsletter-input-group { flex-wrap:wrap;border-radius:var(--its-radius-lg);padding:12px;gap:10px; }
  .its-newsletter-input { min-width:100%;height:44px;padding:0 12px; }

  .its-back-to-top { bottom:16px;right:14px; }
}

/* =============================================
   RESPONSIVE — ≤480px (small mobile)
============================================= */
@media (max-width:480px) {
  :root { --its-gutter:12px; }

  .its-logo-text { font-size:1.1rem; }

  .its-cat-grid  { grid-template-columns:repeat(3,1fr);gap:6px; }
  .its-cat-card  { padding:12px 6px; }
  .its-cat-card-icon { width:40px;height:40px; }
  .its-cat-card-name { font-size:11px; }

  .its-products-grid { gap:8px; }
  ul.products        { gap:8px !important; }

  .its-product-info  { padding:10px; }
  .its-product-title { font-size:12.5px; }
  .its-price-current { font-size:14px; }

  ul.products li.product .woocommerce-loop-product__title { font-size:12.5px !important; padding:10px 10px 4px !important; }
  ul.products li.product .button,
  ul.products li.product a.button { font-size:11px !important;padding:8px 10px !important;width:calc(100% - 20px) !important;margin:auto 10px 10px !important; }

  .its-btn-lg { padding:13px 28px;font-size:13.5px; }
  .its-section { padding:36px 0; }
}

/* =============================================
   RTL + MOBILE OVERRIDES
============================================= */
@media (max-width:768px) {
  [dir="rtl"] .its-mobile-menu   { left:auto;right:0;transform:translateX(100%); }
  [dir="rtl"] .its-mobile-menu.active { transform:translateX(0); }
  [dir="rtl"] .its-section-header-inline { align-items:flex-end; }
  [dir="rtl"] .its-footer-bottom-inner { flex-direction:column; }
}
