/*
Theme Name: Alalmiya Alhura - E-Commza Style
Author: Hossam Hamdy
Version: 8.0
*/

/* Keep phone numbers in correct direction regardless of context */
a[href^="tel:"], a[href^="tel:"] span { unicode-bidi: plaintext; }

/* ========================
   Fonts
======================== */
@font-face { font-family:"tajawal"; src:url("../webFonts/design_fonts/Tajawal-Black.woff2") format("woff2"); font-weight:900; font-style:normal; }
@font-face { font-family:"tajawal"; src:url("../webFonts/design_fonts/Tajawal-ExtraBold.woff2") format("woff2"); font-weight:800; font-style:normal; }
@font-face { font-family:"tajawal"; src:url("../webFonts/design_fonts/Tajawal-Bold.woff2") format("woff2"); font-weight:700; font-style:normal; }
@font-face { font-family:"tajawal"; src:url("../webFonts/design_fonts/Tajawal-Medium.woff2") format("woff2"); font-weight:500; font-style:normal; }
@font-face { font-family:"tajawal"; src:url("../webFonts/design_fonts/Tajawal-Regular.woff2") format("woff2"); font-weight:400; font-style:normal; }

/* ========================
   Design Tokens
======================== */
:root {
  --ec-red: #2563EB;
  --ec-red-dark: #1D4ED8;
  --ec-black: #111111;
  --ec-navy: #1A1A2E;
  --ec-text: #222222;
  --ec-muted: #777777;
  --ec-line: #E8E8E8;
  --ec-soft: #F7F7F7;
  --ec-white: #FFFFFF;
  --ec-radius: 4px;
  --ec-radius-lg: 8px;
  --ec-shadow: 0 4px 20px rgba(0,0,0,.08);
  --ec-shadow-hover: 0 12px 40px rgba(0,0,0,.14);
  --ec-transition: .25s cubic-bezier(.4,0,.2,1);
}

/* ========================
   Reset & Base
======================== */
*,
*::before,
*::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  direction: rtl;
  font-family: "Cairo","tajawal",Arial,sans-serif;
  color: var(--ec-text);
  background: var(--ec-white);
  margin: 0;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none !important; }
img,
svg,
video { max-width: 100%; display: block; }
ul,
ol { margin: 0; padding: 0; list-style: none; }
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd { margin: 0; }
input,
textarea,
select,
button { font: inherit; color: inherit; background: none; border: 0; outline: 0; appearance: none; }
button,
[type="button"],
[type="submit"] { cursor: pointer; }
[disabled] { cursor: not-allowed; opacity: .5; }
* { scrollbar-width: thin; scrollbar-color: var(--ec-black) #f0f0f0; }
*::-webkit-scrollbar { width: 6px; }
*::-webkit-scrollbar-track { background: #f0f0f0; }
*::-webkit-scrollbar-thumb { background: var(--ec-black); border-radius: 99px; }

.ecommza-main { overflow-x: clip; }

/* ========================
   Preloader
======================== */
.site-preloader {
  position: fixed; inset: 0; z-index: 99999;
  background: var(--ec-white);
  display: flex; align-items: center; justify-content: center;
  transition: opacity .5s ease, visibility .5s ease;
}
.site-preloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader-inner { text-align: center; }
.preloader-logo span { font-size: 28px; font-weight: 900; color: var(--ec-black); }
.preloader-logo em { color: var(--ec-red); font-style: normal; }
.preloader-bar { width: 120px; height: 3px; background: var(--ec-line); border-radius: 99px; margin: 16px auto 0; overflow: hidden; }
.preloader-bar span { display: block; height: 100%; background: var(--ec-red); border-radius: 99px; animation: preloaderAnim 1.2s ease infinite; }
@keyframes preloaderAnim { 0% {width:0;margin-right:0} 50% {width:80%;margin-right:0} 100% {width:0;margin-right:100%} }

/* ========================
   Topbar
======================== */
.ecommza-topbar {
  background: var(--ec-black);
  color: rgba(255,255,255,.85);
  font-size: 13px;
  padding: 8px 0;
}
.ecommza-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ecommza-topbar__left,
.ecommza-topbar__right { display: flex; align-items: center; gap: 16px; }
.ecommza-topbar a { color: rgba(255,255,255,.85); transition: color var(--ec-transition); }
.ecommza-topbar a:hover { color: #fff; }
.ecommza-topbar i { margin-left: 6px; font-size: 12px; }

/* ========================
   Header / Navbar
======================== */
.ecommza-header { position: sticky; top: 0; z-index: 1000; }
.ecommza-nav {
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--ec-line);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: box-shadow var(--ec-transition);
}
.ecommza-nav.is-scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.08); }
.ecommza-nav__inner {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 80px; gap: 20px;
}
.ecommza-logo { flex: 0 0 auto; }
.ecommza-logo span { font-size: 26px; font-weight: 900; color: var(--ec-black); letter-spacing: -1px; }
.ecommza-logo em { color: var(--ec-red); font-style: normal; }
.ecommza-logo img { max-height: 56px; width: auto; }

/* Menu */
.ecommza-menu-wrap { flex: 1; display: flex; justify-content: center; }
.ecommza-menu { display: flex; align-items: center; gap: 4px; }
.ecommza-menu > li { position: relative; }
.ecommza-menu > li > a {
  display: flex; align-items: center; gap: 5px;
  padding: 10px 14px;
  font-size: 15px; font-weight: 700;
  color: var(--ec-text);
  transition: color var(--ec-transition);
  white-space: nowrap;
}
.ecommza-menu > li > a:hover,
.ecommza-menu > li.current-menu-item > a,
.ecommza-menu > li.current-menu-ancestor > a { color: var(--ec-red); }
.ecommza-menu > li > a .fa-chevron-down { font-size: 11px; transition: transform var(--ec-transition); }
.ecommza-menu > li:hover > a .fa-chevron-down { transform: rotate(180deg); }

/* Dropdown */
.ecommza-menu .sub-menu {
  position: absolute; top: calc(100% + 8px); right: 0;
  min-width: 220px;
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow-hover);
  padding: 8px 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(8px);
  transition: opacity var(--ec-transition), transform var(--ec-transition), visibility var(--ec-transition);
  z-index: 100;
}
.ecommza-menu > li:hover > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.ecommza-menu .sub-menu li a {
  display: block; padding: 10px 18px;
  font-size: 14px; font-weight: 600;
  color: var(--ec-text);
  transition: color var(--ec-transition), background var(--ec-transition);
}
.ecommza-menu .sub-menu li a:hover { color: var(--ec-red); background: var(--ec-soft); }

/* Nav Actions */
.ecommza-nav__actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.ecommza-action-btn {
  position: relative;
  display: grid; place-items: center;
  width: 42px; height: 42px;
  border-radius: 50%;
  color: var(--ec-text);
  font-size: 17px;
  transition: color var(--ec-transition), background var(--ec-transition), transform var(--ec-transition);
}
.ecommza-action-btn:hover { color: var(--ec-red); background: var(--ec-soft); transform: translateY(-1px); }
.ecommza-cart-count {
  position: absolute; top: 2px; left: 2px;
  min-width: 18px; height: 18px;
  background: var(--ec-red); color: #fff;
  border-radius: 99px; border: 2px solid #fff;
  font-size: 10px; font-weight: 900;
  display: grid; place-items: center;
  line-height: 1;
}
.ecommza-lang-static {
  font-size: 13px; font-weight: 800;
  color: var(--ec-text);
  padding: 6px 10px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  transition: color var(--ec-transition), border-color var(--ec-transition);
}
.ecommza-lang-static:hover { color: var(--ec-red); border-color: var(--ec-red); }
.ecommza-lang-switcher { position: relative; }
.ecommza-lang-btn {
  display: flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 800;
  padding: 6px 10px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  transition: color var(--ec-transition), border-color var(--ec-transition);
}
.ecommza-lang-btn:hover { color: var(--ec-red); border-color: var(--ec-red); }
.ecommza-lang-dropdown {
  position: absolute; top: calc(100% + 6px); left: 0;
  min-width: 140px;
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
  padding: 6px 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(6px);
  transition: opacity var(--ec-transition), transform var(--ec-transition), visibility var(--ec-transition);
  z-index: 200;
}
.ecommza-lang-switcher:hover .ecommza-lang-dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.ecommza-lang-dropdown li a { display: block; padding: 8px 14px; font-size: 13px; font-weight: 600; transition: color var(--ec-transition), background var(--ec-transition); }
.ecommza-lang-dropdown li a:hover { color: var(--ec-red); background: var(--ec-soft); }

/* Mobile Toggle */
.ecommza-mobile-toggle {
  display: none;
  flex-direction: column; justify-content: center; align-items: center;
  width: 42px; height: 42px; gap: 5px;
  border-radius: var(--ec-radius);
  border: 1px solid var(--ec-line);
}
.ecommza-mobile-toggle span {
  display: block; width: 20px; height: 2px;
  background: var(--ec-black); border-radius: 99px;
  transition: transform var(--ec-transition), opacity var(--ec-transition);
}
.ecommza-mobile-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ecommza-mobile-toggle.is-open span:nth-child(2) { opacity: 0; }
.ecommza-mobile-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile Menu */
.mobile-menu-overlay {
  position: fixed; inset: 0; z-index: 1998;
  background: rgba(0,0,0,.5);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--ec-transition), visibility var(--ec-transition);
}
.mobile-menu-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.mobile-menu {
  position: fixed; top: 0; right: -320px; bottom: 0;
  width: 300px; z-index: 1999;
  background: var(--ec-white);
  box-shadow: -4px 0 30px rgba(0,0,0,.12);
  transition: right var(--ec-transition);
  overflow-y: auto;
}
.mobile-menu.is-open { right: 0; }
.mobile-menu__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid var(--ec-line);
}
.mobile-menu__close {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 50%;
  font-size: 18px;
  transition: color var(--ec-transition), background var(--ec-transition);
}
.mobile-menu__close:hover { color: var(--ec-red); background: var(--ec-soft); }
.mobile-menu__body { padding: 12px 0; }
.mobile-nav-list > li > a {
  display: block; padding: 12px 20px;
  font-size: 15px; font-weight: 700;
  border-bottom: 1px solid var(--ec-line);
  transition: color var(--ec-transition), background var(--ec-transition);
}
.mobile-nav-list > li > a:hover { color: var(--ec-red); background: var(--ec-soft); }
.mobile-nav-list .sub-menu { padding: 0 0 0 16px; }
.mobile-nav-list .sub-menu li a { display: block; padding: 10px 20px; font-size: 14px; font-weight: 600; color: var(--ec-muted); transition: color var(--ec-transition); }
.mobile-nav-list .sub-menu li a:hover { color: var(--ec-red); }

/* ========================
   Search Overlay
======================== */
.search-overlay {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(8px);
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 80px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--ec-transition), visibility var(--ec-transition);
}
.search-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.search-overlay__inner {
  width: 100%; max-width: 680px;
  padding: 0 20px;
}
.search-overlay__close {
  position: absolute; top: 24px; left: 24px;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  color: #fff; font-size: 20px;
  transition: background var(--ec-transition), transform var(--ec-transition);
}
.search-overlay__close:hover { background: rgba(255,255,255,.25); transform: rotate(90deg); }
.search-overlay__box {
  position: relative;
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  overflow: hidden;
  display: flex; align-items: center;
}
.search-overlay__icon { padding: 0 16px; color: var(--ec-muted); font-size: 18px; flex: 0 0 auto; }
.search-overlay__input {
  flex: 1; height: 60px;
  font-size: 18px; font-weight: 600;
  color: var(--ec-text);
  background: transparent;
  border: 0; outline: 0;
}
.search-overlay__input::placeholder { color: var(--ec-muted); }
.search-overlay__results {
  margin-top: 12px;
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  overflow: hidden;
  max-height: 400px; overflow-y: auto;
}
.search-result-item {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--ec-line);
  transition: background var(--ec-transition);
  cursor: pointer;
}
.search-result-item:last-child { border-bottom: 0; }
.search-result-item:hover { background: var(--ec-soft); }
.search-result-item img { width: 48px; height: 48px; border-radius: var(--ec-radius); object-fit: cover; flex: 0 0 48px; }
.search-result-item__info b { display: block; font-size: 14px; font-weight: 700; color: var(--ec-text); }
.search-result-item__info small { font-size: 12px; color: var(--ec-muted); }
.search-overlay__popular { margin-top: 16px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.search-overlay__popular span { color: rgba(255,255,255,.7); font-size: 13px; font-weight: 700; }
.search-popular-tag {
  padding: 6px 14px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 99px;
  color: #fff; font-size: 13px; font-weight: 700;
  transition: background var(--ec-transition), border-color var(--ec-transition);
}
.search-popular-tag:hover { background: rgba(255,255,255,.25); border-color: rgba(255,255,255,.4); }


/* ========================
   Hero Slider
======================== */
.ecommza-hero-slider {
  position: relative;
  overflow: hidden;
  background: #f6f8fb;
}
.hero-swiper {
  width: 100%;
  overflow: hidden;
}
.hero-slide {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 42%, rgba(255,255,255,.28) 100%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(15,23,42,.04));
  pointer-events: none;
}
.hero-slide__container {
  position: relative;
  z-index: 1;
}
.hero-slide__inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  align-items: center;
  gap: 56px;
  padding: 86px 0 104px;
}
.hero-slide__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  max-width: 560px;
}
.hero-slide__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 8px 13px;
  border: 1px solid rgba(37,99,235,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: var(--ec-red);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.hero-slide__label i { font-size: 12px; }
.hero-slide__title {
  max-width: 620px;
  margin: 0;
  font-size: clamp(42px,5vw,74px);
  font-weight: 950;
  line-height: .98;
  color: var(--ec-black);
}
.hero-slide__sub {
  max-width: 500px;
  margin: 0;
  font-size: 17px;
  color: #475569;
  line-height: 1.9;
}
.hero-slide__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
}
.hero-slide__price strong {
  font-size: 34px;
  font-weight: 950;
  color: var(--ec-red);
}
.hero-slide__price del {
  font-size: 18px;
  color: #94a3b8;
  font-weight: 700;
}
.hero-slide__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 30px;
  background: var(--ec-black);
  color: #fff;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(15,23,42,.18);
  transition: background var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition);
}
.hero-slide__btn:hover {
  background: var(--ec-red);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(37,99,235,.24);
  color: #fff;
}
.hero-slide__image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 520px;
}
.hero-slide__image img {
  width: min(100%, 620px);
  max-height: 610px;
  object-fit: contain;
  filter: drop-shadow(0 28px 46px rgba(15,23,42,.18));
  transition: transform .7s ease, filter .7s ease;
}
.hero-slide:hover .hero-slide__image img {
  transform: scale(1.025) translateY(-6px);
  filter: drop-shadow(0 34px 56px rgba(15,23,42,.22));
}
.hero-pagination {
  position: absolute;
  bottom: 34px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: auto !important;
  padding: 9px 12px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 38px rgba(15,23,42,.12);
  z-index: 10;
  backdrop-filter: blur(14px);
}
.hero-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  background: rgba(15,23,42,.28);
  opacity: 1;
  border-radius: 99px;
  transition: width .25s ease, background .25s ease, transform .25s ease;
}
.hero-pagination .swiper-pagination-bullet-active {
  width: 32px;
  background: var(--ec-red);
}
.hero-pagination .swiper-pagination-bullet:hover {
  transform: scale(1.15);
}
.hero-prev,
.hero-next {
  display: none !important;
}

/* ========================
   Banners
======================== */
.ecommza-banners { padding: 24px 0; }
.ecommza-banners__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.ecommza-banner-card {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 380px; border-radius: var(--ec-radius-lg);
  overflow: hidden; position: relative;
  transition: transform var(--ec-transition), box-shadow var(--ec-transition);
}
.ecommza-banner-card:hover { transform: translateY(-3px); box-shadow: var(--ec-shadow-hover); }
.ecommza-banner-card__content {
  display: flex; flex-direction: column; justify-content: center; gap: 8px;
  padding: 28px;
}
.ecommza-banner-card__content span { font-size: 13px; font-weight: 700; color: var(--ec-muted); }
.ecommza-banner-card__content h3 { font-size: 22px; font-weight: 900; color: var(--ec-black); line-height: 1.3; }
.ecommza-banner-card__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 800;
  color: var(--ec-black);
  text-decoration: underline !important;
  text-underline-offset: 4px;
  transition: color var(--ec-transition);
}
.ecommza-banner-card:hover .ecommza-banner-card__link { color: var(--ec-red); }
.ecommza-banner-card__image { overflow: hidden; }
.ecommza-banner-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ecommza-banner-card:hover .ecommza-banner-card__image img { transform: scale(1.06); }

/* ========================
   Section Common
======================== */
.ecommza-section { padding: clamp(1.5rem, 1.25rem + 1vw, 2.5rem) 0; }
.ecommza-section-head { margin-bottom: 36px; }
.ecommza-section-head.text-center { text-align: center; }
.ecommza-section-head h2 { font-size: clamp(26px,3.5vw,40px); font-weight: 900; color: var(--ec-black); }
.ecommza-section-head span { display: block; font-size: 13px; font-weight: 800; color: var(--ec-red); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.ecommza-view-all {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 800;
  color: var(--ec-muted);
  margin-top: 8px;
  transition: color var(--ec-transition);
}
.ecommza-view-all:hover { color: var(--ec-red); }
.ecommza-section-footer { margin-top: 40px; }
.ecommza-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 50px; padding: 12px 28px;
  background: var(--ec-black); color: #fff;
  border-radius: var(--ec-radius);
  font-size: 15px; font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition);
}
.ecommza-btn:hover { background: var(--ec-red); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(37,99,235,.22); color: #fff; }
.ecommza-btn--outline { background: transparent; color: var(--ec-black); border: 2px solid var(--ec-black); }
.ecommza-btn--outline:hover { background: var(--ec-black); color: #fff; }

/* ========================
   Categories
======================== */
.ecommza-categories { background: var(--ec-soft); }
.ecommza-categories__grid { display: grid; grid-template-columns: repeat(8,1fr); gap: 20px; }
.ecommza-cat-item { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.ecommza-cat-item__img {
  width: 100px; height: 100px; border-radius: 50%;
  overflow: hidden; background: var(--ec-white);
  border: 2px solid var(--ec-line);
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition), transform var(--ec-transition);
}
.ecommza-cat-item:hover .ecommza-cat-item__img { border-color: var(--ec-black); box-shadow: 0 8px 24px rgba(0,0,0,.12); transform: translateY(-4px); }
.ecommza-cat-item__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ecommza-cat-item__img.is-logo {
  padding: 16px;
  background: #fff;
}
.ecommza-cat-item__img.is-logo img {
  object-fit: contain;
}
.ecommza-cat-item:hover .ecommza-cat-item__img img { transform: scale(1.08); }
.ecommza-cat-item:hover .ecommza-cat-item__img.is-logo img { transform: scale(1.03); }
.ecommza-cat-item__name { font-size: 14px; font-weight: 800; color: var(--ec-black); line-height: 1.4; }
.ecommza-cat-item__count { font-size: 12px; color: var(--ec-muted); font-weight: 600; }

/* ========================
   Product Grid & Cards
======================== */
.ecommza-products-grid { display: flex; flex-wrap: wrap; }
.schooly-product-card {
  position: relative;
  background: transparent;
  border: 0; border-radius: 0; box-shadow: none;
  overflow: visible;
  transition: transform var(--ec-transition);
}
.schooly-product-card:hover {
  transform: translateY(-8px);
}
.schooly-product-card__image {
  position: relative;
  aspect-ratio: 3/4;
  border-radius: var(--ec-radius-lg);
  overflow: hidden;
  background: var(--ec-soft);
  display: block;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  transition: box-shadow var(--ec-transition);
}
.schooly-product-card:hover .schooly-product-card__image {
  box-shadow: 0 12px 32px rgba(0,0,0,.15);
}
.schooly-product-card__image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.schooly-product-card:hover .schooly-product-card__image img { transform: scale(1.08); }
.schooly-badge {
  position: absolute; top: 12px; right: 12px;
  background: var(--ec-red); color: #fff;
  border-radius: var(--ec-radius); padding: 4px 10px;
  font-size: 11px; font-weight: 800; z-index: 2;
}
.schooly-badge--danger { background: #555; }
.schooly-badge--new { background: #2f62ce; }
.product-action_list {
  position: absolute; top: 12px; left: 12px;
  display: flex; flex-direction: column; gap: 8px;
  z-index: 3;
  transform: translateX(10px);
  opacity: 0;
  transition: transform var(--ec-transition), opacity var(--ec-transition);
}
.schooly-product-card:hover .product-action_list { transform: translateX(0); opacity: 1; }
.box-icon {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--ec-white);
  color: var(--ec-black);
  font-size: 15px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  transition: background var(--ec-transition), color var(--ec-transition), transform var(--ec-transition);
  position: relative;
  overflow: hidden;
}
.box-icon::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--ec-red);
  border-radius: 50%;
  transform: scale(0);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  z-index: -1;
}
.box-icon:hover::before { transform: scale(1); }
.box-icon:hover { color: #fff; transform: scale(1.1) rotate(5deg); box-shadow: 0 8px 20px rgba(37,99,235,.3); }
.box-icon:active { transform: scale(0.95); }

/* Wishlist Button Special Animation */
.wishlist-btn.is-wishlisted i {
  animation: heartBeat .6s ease;
}
.wishlist-btn.is-wishlisted {
  background: var(--ec-red);
  color: #fff;
}
.wishlist-btn.is-wishlisted i::before {
  content: "\f004";
  font-weight: 900;
}

@keyframes heartBeat {
  0%,
100% { transform: scale(1); }
  10%,
30% { transform: scale(0.9); }
  20%,
40%,
60%,
80% { transform: scale(1.1); }
  50%,
70% { transform: scale(1.15); }
}

/* Compare Button Active State */
.compare-btn.is-comparing {
  background: var(--ec-red);
  color: #fff;
}
.compare-btn.is-comparing::after {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  background: #2f62ce;
  border-radius: 50%;
  border: 2px solid #fff;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%,
100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(1.2); }
}
.schooly-product-card__body { padding: 14px 0 0; }
.schooly-product-card h3 { font-size: 15px; font-weight: 700; line-height: 1.5; color: var(--ec-text); margin-bottom: 6px; }
.schooly-product-card h3 a:hover { color: var(--ec-red); }
.schooly-product-card__price { font-size: 15px; font-weight: 900; color: var(--ec-black); margin-bottom: 10px; }
.schooly-product-card__price del { color: var(--ec-muted); font-weight: 500; font-size: 13px; margin-right: 6px; }
.schooly-product-card__price ins { text-decoration: none; color: var(--ec-red); }
.schooly-product-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 800;
  color: var(--ec-muted);
  text-decoration: underline !important;
  text-underline-offset: 4px;
  transition: color var(--ec-transition);
}
.schooly-product-link:hover { color: var(--ec-black); }

/* ========================
   Promo Tiles
======================== */
.ecommza-promo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ecommza-promo-tile {
  position: relative;
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 260px; border-radius: var(--ec-radius-lg);
  background: var(--ec-soft);
  overflow: hidden; box-shadow: var(--ec-shadow);
  transition: transform var(--ec-transition), box-shadow var(--ec-transition);
}
.ecommza-promo-tile:hover { transform: translateY(-5px); box-shadow: var(--ec-shadow-hover); }

/* Overlay & shine — must be absolute so they don't occupy grid cells */
.ecommza-promo-tile__overlay,
.ecommza-promo-tile__shine {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
}
.ecommza-promo-tile__overlay { background: linear-gradient(135deg, rgba(0,0,0,.05) 0%, transparent 55%); }
.ecommza-promo-tile__shine { background: linear-gradient(to bottom right, rgba(255,255,255,.16) 0%, transparent 50%); z-index: 2; }

.ecommza-promo-tile__image { overflow: hidden; }
.ecommza-promo-tile__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ecommza-promo-tile:hover .ecommza-promo-tile__image img { transform: scale(1.08); }

.ecommza-promo-tile__content {
  position: relative; z-index: 3;
  display: flex; flex-direction: column; justify-content: center; gap: 10px;
  padding: 28px 22px;
}
.ecommza-promo-tile__content small {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 800; color: var(--ec-red);
  text-transform: uppercase; letter-spacing: .5px;
}
.ecommza-promo-tile__content strong { font-size: 17px; font-weight: 900; color: var(--ec-black); line-height: 1.35; }
.ecommza-promo-tile__stock {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; color: var(--ec-muted);
}
.ecommza-promo-tile__stock i { font-size: 7px; color: #2f62ce; }
.ecommza-promo-tile__prices { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ecommza-promo-tile__prices ins { font-size: 18px; font-weight: 900; color: var(--ec-red); text-decoration: none; }
.ecommza-promo-tile__prices del { font-size: 13px; color: var(--ec-muted); }
.ecommza-promo-tile__content b {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 800; color: var(--ec-red);
  margin-top: 2px;
}

/* ========================
   Blog Cards
======================== */
.ecommza-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ecommza-blog-card {
  border-radius: var(--ec-radius-lg); overflow: hidden;
  background: var(--ec-white); border: 1px solid var(--ec-line);
  display: flex; flex-direction: column;
  transition: transform var(--ec-transition), box-shadow var(--ec-transition);
}
.ecommza-blog-card:hover { transform: translateY(-4px); box-shadow: var(--ec-shadow-hover); }

/* Image */
.ecommza-blog-card__img {
  display: block; position: relative;
  aspect-ratio: 16/10; overflow: hidden; flex: 0 0 auto;
}
.ecommza-blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ecommza-blog-card:hover .ecommza-blog-card__img img { transform: scale(1.06); }
.ecommza-blog-card__shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.35) 0%, transparent 50%);
  pointer-events: none;
}
.ecommza-blog-card__category-badge {
  position: absolute; top: 12px; inset-inline-start: 12px;
  padding: 4px 10px; border-radius: 99px;
  background: var(--ec-red); color: #fff;
  font-size: 11px; font-weight: 800;
  pointer-events: none;
}

/* Body */
.ecommza-blog-card__body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.ecommza-blog-card__meta {
  display: flex; flex-wrap: wrap; gap: 10px;
  font-size: 12px; color: var(--ec-muted); font-weight: 600;
  margin-bottom: 10px;
}
.ecommza-blog-card__meta span { display: inline-flex; align-items: center; gap: 5px; }
.ecommza-blog-card__title { font-size: 17px; font-weight: 800; line-height: 1.5; margin-bottom: 8px; }
.ecommza-blog-card__title a { color: var(--ec-text); transition: color var(--ec-transition); }
.ecommza-blog-card__title a:hover { color: var(--ec-red); }
.ecommza-blog-card__excerpt { font-size: 14px; color: var(--ec-muted); line-height: 1.8; margin-bottom: 0; flex: 1; }

/* Footer row */
.ecommza-blog-card__footer {
  display: flex; align-items: center; justify-content: flex-end;
  padding-top: 14px; margin-top: 14px;
  border-top: 1px solid var(--ec-line);
}
.ecommza-blog-card__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 800; color: var(--ec-black);
  transition: color var(--ec-transition), gap var(--ec-transition);
}
.ecommza-blog-card__link:hover { color: var(--ec-red); gap: 10px; }

/* Backwards compat for h2/h3 in cards */
.ecommza-blog-card h2,
.ecommza-blog-card h3 { font-size: 17px; font-weight: 800; line-height: 1.5; margin-bottom: 8px; }
.ecommza-blog-card h2 a,
.ecommza-blog-card h3 a { color: var(--ec-text); transition: color var(--ec-transition); }
.ecommza-blog-card h2 a:hover,
.ecommza-blog-card h3 a:hover { color: var(--ec-red); }
.ecommza-blog-card > .ecommza-blog-card__body > p { font-size: 14px; color: var(--ec-muted); line-height: 1.8; flex: 1; }

/* ========================
   Blog Page (two-column)
======================== */
.blog-page { padding: 40px 0 64px; }
.blog-page__head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 32px;
}
.blog-page__head h1 { font-size: clamp(26px,3vw,36px); font-weight: 900; color: var(--ec-black); margin-top: 6px; }
.blog-page__count {
  display: inline-flex; align-items: center; justify-content: center;
  height: 34px; padding: 0 14px;
  border-radius: 99px; border: 1px solid var(--ec-line);
  font-size: 13px; font-weight: 700; color: var(--ec-muted);
  white-space: nowrap;
}
.blog-page__grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 40px; align-items: start;
}
.blog-page__main { min-width: 0; }
.blog-page__cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; align-items: start; }
.blog-page__sidebar { position: sticky; top: 100px; display: grid; gap: 20px; }

/* Featured first card spans both columns */
.blog-page__cards .ecommza-blog-card--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
}
.blog-page__cards .ecommza-blog-card--featured .ecommza-blog-card__img { aspect-ratio: unset; min-height: 260px; }
.blog-page__cards .ecommza-blog-card--featured .ecommza-blog-card__title { font-size: 20px; }

/* ── Blog sidebar widgets ── */
.blog-sidebar-widget {
  padding: 22px; border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  background: var(--ec-white); box-shadow: var(--ec-shadow);
}
.blog-sidebar-widget__head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 18px; padding-bottom: 14px;
  border-bottom: 1px solid var(--ec-line);
}
.blog-sidebar-widget__head i { color: var(--ec-red); font-size: 16px; }
.blog-sidebar-widget__head h2 { font-size: 15px; font-weight: 900; color: var(--ec-black); }

/* Popular posts list */
.blog-popular-list { display: grid; gap: 0; list-style: none; counter-reset: pop; }
.blog-popular-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ec-line);
}
.blog-popular-item:last-child { border-bottom: 0; padding-bottom: 0; }
.blog-popular-item__num {
  flex: 0 0 28px; width: 28px; height: 28px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: var(--ec-soft); color: var(--ec-muted);
  font-size: 11px; font-weight: 900;
}
.blog-popular-item:first-child .blog-popular-item__num { background: var(--ec-red); color: #fff; }
.blog-popular-item__link {
  display: flex; flex-direction: column; gap: 4px;
  font-size: 13.5px; font-weight: 700; color: var(--ec-text);
  line-height: 1.5; transition: color var(--ec-transition);
}
.blog-popular-item__link:hover { color: var(--ec-red); }
.blog-popular-item__link small {
  display: flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 600; color: var(--ec-muted);
}

/* Categories list */
.blog-categories-list { display: grid; gap: 6px; list-style: none; }
.blog-categories-list li a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 12px; border-radius: var(--ec-radius);
  border: 1px solid transparent;
  font-size: 14px; font-weight: 600; color: var(--ec-text);
  transition: background var(--ec-transition), border-color var(--ec-transition), color var(--ec-transition);
}
.blog-categories-list li a:hover { background: var(--ec-soft); border-color: var(--ec-line); color: var(--ec-red); }
.blog-cat-count {
  min-width: 26px; height: 22px; padding: 0 6px;
  display: grid; place-items: center;
  border-radius: 99px; background: var(--ec-soft);
  font-size: 11px; font-weight: 800; color: var(--ec-muted);
}

/* Newsletter CTA widget */
.blog-sidebar-cta {
  padding: 24px; border-radius: var(--ec-radius-lg);
  background: var(--ec-navy); color: #fff;
  text-align: center;
}
.blog-sidebar-cta__icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(37,99,235,.25); color: var(--ec-red);
  display: grid; place-items: center;
  font-size: 20px; margin: 0 auto 14px;
}
.blog-sidebar-cta h3 { font-size: 16px; font-weight: 900; color: #fff; margin-bottom: 8px; }
.blog-sidebar-cta p { font-size: 13px; color: rgba(255,255,255,.65); line-height: 1.7; margin-bottom: 16px; }
.blog-sidebar-cta__form { display: flex; flex-direction: column; gap: 8px; }
.blog-sidebar-cta__form input {
  width: 100%; height: 44px; padding: 0 14px;
  border-radius: 8px; border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.1); color: #fff;
  font-size: 13px; outline: 0;
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition);
}
.blog-sidebar-cta__form input::placeholder { color: rgba(255,255,255,.45); }
.blog-sidebar-cta__form input:focus { border-color: var(--ec-red); box-shadow: 0 0 0 3px rgba(37,99,235,.2); }
.blog-sidebar-cta__form button {
  width: 100%; height: 44px;
  border-radius: 8px; background: var(--ec-red); color: #fff;
  font-size: 14px; font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition);
}
.blog-sidebar-cta__form button:hover { background: var(--ec-red-dark); transform: translateY(-1px); }

/* Blog page responsive */
@media (max-width: 1099px) {
  .blog-page__grid { grid-template-columns: minmax(0,1fr) 260px; gap: 28px; }
}
@media (max-width: 767px) {
  .blog-page__grid { grid-template-columns: 1fr; }
  .blog-page__sidebar { position: static; }
  .blog-page__cards { grid-template-columns: 1fr; }
  .blog-page__cards .ecommza-blog-card--featured { grid-template-columns: 1fr; }
  .blog-page__cards .ecommza-blog-card--featured .ecommza-blog-card__img { min-height: auto; }
  .ecommza-blog-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 479px) {
  .ecommza-blog-grid { grid-template-columns: 1fr; }
}

/* ========================
   Trust Bar
======================== */
.ecommza-trust-bar { padding: 48px 0; border-top: 1px solid var(--ec-line); border-bottom: 1px solid var(--ec-line); }
.ecommza-trust-bar__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.ecommza-trust-item { display: flex; align-items: center; gap: 16px; }
.ecommza-trust-item__icon { flex: 0 0 52px; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--ec-soft); font-size: 22px; color: var(--ec-black); transition: background var(--ec-transition), color var(--ec-transition), transform var(--ec-transition); }
.ecommza-trust-item:hover .ecommza-trust-item__icon { background: var(--ec-black); color: #fff; transform: scale(1.1); }
.ecommza-trust-item__text strong { display: block; font-size: 15px; font-weight: 900; color: var(--ec-black); margin-bottom: 4px; }
.ecommza-trust-item__text span { font-size: 13px; color: var(--ec-muted); line-height: 1.6; }

/* ========================
   Schooly Footer (sf)
======================== */

/* ── Accent stripe ── */
.sf {
  background: var(--ec-navy);
  position: relative;
}
.sf::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--ec-red);
}

/* ── Trust bar ── */
.sf__trust {
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sf__trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.sf__trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  border-inline-start: 1px solid rgba(255,255,255,.08);
  transition: background var(--ec-transition);
}
.sf__trust-item:first-child { border-inline-start: 0; }
.sf__trust-item:hover { background: rgba(37,99,235,.08); }
.sf__trust-icon {
  flex: 0 0 44px;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(37,99,235,.18);
  color: var(--ec-red);
  font-size: 18px;
  transition: background var(--ec-transition), transform var(--ec-transition);
}
.sf__trust-item:hover .sf__trust-icon { background: rgba(37,99,235,.32); transform: scale(1.1); }
.sf__trust-item > div { min-width: 0; }
.sf__trust-item strong { display: block; font-size: 13.5px; font-weight: 800; color: #fff; line-height: 1.3; }
.sf__trust-item > div > span { font-size: 12px; color: rgba(255,255,255,.5); }

/* ── Main body ── */
.sf__body { padding: 60px 0 44px; }
.sf__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 2fr;
  gap: 48px;
}

/* ── Brand column ── */
.sf__logo { display: inline-flex; margin-bottom: 18px; }
.sf__logo img { height: 42px; width: auto; filter: brightness(0) invert(1); opacity: .88; transition: opacity var(--ec-transition); }
.sf__logo:hover img { opacity: 1; }
.sf__logo-text { font-size: 26px; font-weight: 900; color: #fff; letter-spacing: -.5px; }
.sf__tagline { font-size: 13.5px; color: rgba(255,255,255,.55); line-height: 1.8; margin-bottom: 24px; max-width: 280px; }
.sf__contact { display: grid; gap: 13px; margin-bottom: 28px; }
.sf__contact li { display: flex; align-items: flex-start; gap: 12px; font-size: 13.5px; color: rgba(255,255,255,.7); }
.sf__contact-icon {
  flex: 0 0 30px; width: 30px; height: 30px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: rgba(255,255,255,.07);
  color: var(--ec-red);
  font-size: 13px;
}
.sf__contact a { color: rgba(255,255,255,.7); transition: color var(--ec-transition); }
.sf__contact a:hover { color: var(--ec-red); }

/* Social links */
.sf__socials { display: flex; flex-wrap: wrap; gap: 9px; }
.sf__social-link {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.55);
  font-size: 15px;
  transition: background var(--ec-transition), color var(--ec-transition), border-color var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition);
}
.sf__social-link:hover {
  background: var(--ec-red);
  border-color: var(--ec-red);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(37,99,235,.4);
}

/* ── Nav columns ── */
.sf__heading {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #fff;
  margin-bottom: 22px;
  padding-bottom: 12px;
  position: relative;
}
.sf__heading::after {
  content: '';
  position: absolute;
  bottom: 0; inset-inline-start: 0;
  width: 28px; height: 2px;
  border-radius: 2px;
  background: var(--ec-red);
}
.sf__nav { display: grid; gap: 11px; }
.sf__nav li a {
  font-size: 14px;
  color: rgba(255,255,255,.55);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color var(--ec-transition), gap var(--ec-transition);
}
.sf__nav li a::before {
  content: '›';
  font-size: 18px;
  line-height: 1;
  color: var(--ec-red);
  opacity: 0;
  transition: opacity var(--ec-transition), transform var(--ec-transition);
  transform: translateX(4px);
}
html[dir="rtl"] .sf__nav li a::before { transform: translateX(-4px); }
.sf__nav li a:hover { color: #fff; gap: 10px; }
.sf__nav li a:hover::before { opacity: 1; transform: translateX(0); }

/* ── Newsletter column ── */
.sf__newsletter-desc {
  font-size: 13.5px;
  color: rgba(255,255,255,.55);
  line-height: 1.8;
  margin-bottom: 18px;
}
.sf__newsletter-field {
  display: flex;
  align-items: stretch;
  height: 52px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 10px;
  overflow: hidden;
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition);
}
.sf__newsletter-field:focus-within {
  border-color: var(--ec-red);
  box-shadow: 0 0 0 3px rgba(37,99,235,.2);
}
.sf__newsletter-icon {
  display: grid; place-items: center;
  padding-inline: 14px 6px;
  color: rgba(255,255,255,.4);
  font-size: 14px;
  flex: 0 0 auto;
  background: rgba(255,255,255,.04);
}
.sf__newsletter-field input {
  flex: 1;
  padding-inline: 6px 10px;
  background: rgba(255,255,255,.04);
  border: 0; outline: 0;
  font-size: 14px;
  color: #fff;
  min-width: 0;
}
.sf__newsletter-field input::placeholder { color: rgba(255,255,255,.4); }
.sf__newsletter-field button {
  flex: 0 0 52px;
  width: 52px;
  display: grid; place-items: center;
  background: var(--ec-red);
  color: #fff;
  font-size: 17px;
  border: 0;
  transition: background var(--ec-transition), box-shadow var(--ec-transition);
}
.sf__newsletter-field button:hover {
  background: var(--ec-red-dark);
  box-shadow: inset 0 0 0 99px rgba(0,0,0,.1);
}
.sf__newsletter-note {
  font-size: 11.5px;
  color: rgba(255,255,255,.4);
  margin-top: 10px;
  line-height: 1.6;
}
.sf__newsletter-note a { color: rgba(255,255,255,.65); text-decoration: underline !important; }

/* App badges */
.sf__app-badges { display: flex; gap: 10px; margin-top: 24px; }
.sf__app-badge {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  cursor: pointer; flex: 1;
  transition: background var(--ec-transition), border-color var(--ec-transition);
}
.sf__app-badge:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.22); }
.sf__app-badge > i { font-size: 22px; color: #fff; flex: 0 0 auto; }
.sf__app-badge > span { display: flex; flex-direction: column; }
.sf__app-badge em { font-size: 10px; color: rgba(255,255,255,.5); font-style: normal; line-height: 1; margin-bottom: 2px; }
.sf__app-badge > span > span { font-size: 13px; font-weight: 700; color: #fff; }

/* ── Payment strip ── */
.sf__payments {
  background: rgba(0,0,0,.2);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 16px 0;
}
.sf__payments-inner {
  display: flex; align-items: center;
  justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
}
.sf__payments-label {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 700;
  color: rgba(255,255,255,.7);
}
.sf__payments-label i { color: #4ADE80; font-size: 14px; }
.sf__payments-list { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sf__payment-badge {
  display: inline-flex; align-items: center; justify-content: center;
  height: 36px; min-width: 54px; padding: 0 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  font-size: 22px; color: #fff;
  transition: background var(--ec-transition), border-color var(--ec-transition), transform var(--ec-transition);
}
.sf__payment-badge:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); transform: translateY(-2px); }
.sf__payment-badge img { height: 20px; width: auto; filter: brightness(0) invert(1); opacity: .85; }

/* ── Copyright bar ── */
.sf__bottom { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.08); }
.sf__bottom-inner {
  display: flex; align-items: center;
  justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.sf__copy { font-size: 13px; color: rgba(255,255,255,.45); }
.sf__copy a { color: rgba(255,255,255,.65); font-weight: 700; transition: color var(--ec-transition); }
.sf__copy a:hover { color: var(--ec-red); }
.sf__legal { display: flex; align-items: center; flex-wrap: wrap; }
.sf__legal a {
  font-size: 12.5px; color: rgba(255,255,255,.45);
  padding: 0 10px;
  border-inline-start: 1px solid rgba(255,255,255,.12);
  transition: color var(--ec-transition);
}
.sf__legal a:first-child { border-inline-start: 0; }
.sf__legal a:hover { color: #fff; }

/* ── Responsive ── */
@media (max-width: 1199px) {
  .sf__grid { grid-template-columns: 1fr 1fr 1fr; }
  .sf__col--newsletter { grid-column: 1 / -1; }
  .sf__trust-grid { grid-template-columns: repeat(2, 1fr); }
  .sf__trust-item { border-bottom: 1px solid rgba(255,255,255,.08); }
}
@media (max-width: 767px) {
  .sf__body { padding: 40px 0 32px; }
  .sf__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .sf__col--brand { grid-column: 1 / -1; }
  .sf__col--newsletter { grid-column: 1 / -1; }
  .sf__trust-grid { grid-template-columns: repeat(2, 1fr); }
  .sf__trust-item { padding: 16px 18px; }
  .sf__payments-inner { flex-direction: column; align-items: flex-start; }
  .sf__bottom-inner { flex-direction: column; align-items: flex-start; }
  .sf__app-badges { flex-direction: column; }
}
@media (max-width: 479px) {
  .sf__grid { grid-template-columns: 1fr; }
  .sf__trust-grid { grid-template-columns: 1fr; }
}

/* ========================
   Scroll To Top
======================== */
.scroll-top-btn {
  position: fixed; bottom: 28px; left: 28px; z-index: 999;
  width: 48px; height: 48px;
  display: grid; place-items: center;
  background: var(--ec-white);
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(0,0,0,.12);
  color: var(--ec-black); font-size: 16px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--ec-transition), visibility var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition);
}
.scroll-top-btn.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
.scroll-top-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.18); }
.scroll-top-btn svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.scroll-top-track { stroke: var(--ec-line); fill: none; }
.scroll-top-progress { stroke: var(--ec-red); fill: none; stroke-linecap: round; transition: stroke-dashoffset .1s linear; }
.scroll-top-btn i { position: relative; z-index: 1; }

/* ========================
   WooCommerce - Shop Page
======================== */
.schooly-shop-page { padding: 60px 0; }
.schooly-section-head--inline { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.schooly-breadcrumb { font-size: 13px; color: var(--ec-muted); }
.schooly-breadcrumb a { color: var(--ec-muted); transition: color var(--ec-transition); }
.schooly-breadcrumb a:hover { color: var(--ec-red); }
.woocommerce ul.products { display: flex; flex-wrap: wrap; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; margin: 0 !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 3/4; object-fit: cover; border-radius: var(--ec-radius-lg); }
.woocommerce-ordering select {
  min-height: 44px; padding: 0 14px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px; font-weight: 600;
  background: var(--ec-white);
  cursor: pointer;
  transition: border-color var(--ec-transition);
}
.woocommerce-ordering select:focus { border-color: var(--ec-black); }
.woocommerce-result-count { font-size: 14px; color: var(--ec-muted); font-weight: 600; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 10px 22px;
  background: var(--ec-black); color: #fff !important;
  border-radius: var(--ec-radius);
  font-size: 14px; font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--ec-red); transform: translateY(-1px); }
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  border-top-color: var(--ec-red);
  border-radius: var(--ec-radius-lg);
  background: var(--ec-white);
}


/* Variation Swatches */
.variable-items-wrapper .variable-item { border-radius: var(--ec-radius) !important; box-shadow: 0 0 0 1px var(--ec-line) !important; transition: box-shadow var(--ec-transition), transform var(--ec-transition) !important; }
.variable-items-wrapper .variable-item:hover { transform: scale(1.05) !important; }
.variable-items-wrapper .variable-item.selected { box-shadow: 0 0 0 2px var(--ec-black) !important; }

/* ========================
   WooCommerce - Cart & Checkout
======================== */
.woocommerce table.shop_table { border-radius: var(--ec-radius-lg); overflow: hidden; background: var(--ec-white); border: 1px solid var(--ec-line); }
.woocommerce table.shop_table th { background: var(--ec-soft); font-weight: 800; }
.woocommerce .cart_totals,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  padding: 28px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  min-height: 48px; padding: 10px 14px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px;
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--ec-black);
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}

/* ========================
   FAQ Page
======================== */
.ecommza-faq-page { padding: 60px 0; }
.ecommza-faq-hero { text-align: center; padding: 60px 0 40px; background: var(--ec-soft); }
.ecommza-faq-hero h1 { font-size: clamp(32px,4vw,52px); font-weight: 900; color: var(--ec-black); margin-bottom: 12px; }
.ecommza-faq-hero p { font-size: 16px; color: var(--ec-muted); }
.ecommza-faq-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 40px; align-items: start; }
.ecommza-faq-main {}
.ecommza-faq-group { margin-bottom: 40px; }
.ecommza-faq-group__title { font-size: 20px; font-weight: 900; color: var(--ec-black); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--ec-line); }
.ecommza-faq-item { border-bottom: 1px solid var(--ec-line); }
.ecommza-faq-item__question {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; cursor: pointer;
  font-size: 15px; font-weight: 700; color: var(--ec-text);
  transition: color var(--ec-transition);
  gap: 16px;
}
.ecommza-faq-item__question:hover { color: var(--ec-red); }
.ecommza-faq-item__icon {
  flex: 0 0 28px; width: 28px; height: 28px;
  display: grid; place-items: center;
  border-radius: 50%;
  border: 1px solid var(--ec-line);
  font-size: 13px;
  transition: transform var(--ec-transition), background var(--ec-transition), border-color var(--ec-transition), color var(--ec-transition);
}
.ecommza-faq-item.is-open .ecommza-faq-item__icon { transform: rotate(45deg); background: var(--ec-black); border-color: var(--ec-black); color: #fff; }

/* Smooth slide animation — no display:none so CSS can transition */
.ecommza-faq-item__answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding-bottom: 0;
  font-size: 14px; color: var(--ec-muted); line-height: 1.9;
  transition: max-height .38s cubic-bezier(.4,0,.2,1), opacity .3s ease, padding-bottom .38s ease;
}
.ecommza-faq-item__answer p { margin: 0 0 10px; }
.ecommza-faq-item__answer p:last-child { margin-bottom: 0; }
.ecommza-faq-item.is-open .ecommza-faq-item__answer {
  max-height: 800px;
  opacity: 1;
  padding-bottom: 18px;
}
.ecommza-faq-item.is-open .ecommza-faq-item__question { color: var(--ec-red); }
.ecommza-faq-sidebar { position: sticky; top: 100px; }
.ecommza-faq-sidebar__title { font-size: 16px; font-weight: 900; margin-bottom: 14px; }
.ecommza-faq-search { position: relative; margin-bottom: 20px; }
.ecommza-faq-search input {
  width: 100%; height: 46px; padding: 0 14px 0 42px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px;
  transition: border-color var(--ec-transition);
}
.ecommza-faq-search input:focus { border-color: var(--ec-black); }
.ecommza-faq-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--ec-muted); font-size: 14px; }
.ecommza-faq-cats { display: grid; gap: 6px; }
.ecommza-faq-cat-btn {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px; font-weight: 700;
  color: var(--ec-text);
  transition: background var(--ec-transition), border-color var(--ec-transition), color var(--ec-transition);
}
.ecommza-faq-cat-btn:hover,
.ecommza-faq-cat-btn.is-active { background: var(--ec-black); color: #fff; border-color: var(--ec-black); }

/* ========================
   Contact Page
======================== */
.ecommza-contact-page { padding: 60px 0; }
.ecommza-contact-hero { text-align: center; padding: 60px 0 40px; background: var(--ec-soft); }
.ecommza-contact-hero h1 { font-size: clamp(32px,4vw,52px); font-weight: 900; color: var(--ec-black); margin-bottom: 12px; }
.ecommza-contact-hero p { font-size: 16px; color: var(--ec-muted); }
.ecommza-contact-map { width: 100%; height: 380px; border-radius: var(--ec-radius-lg); overflow: hidden; margin-bottom: 40px; }
.ecommza-contact-map iframe { width: 100%; height: 100%; border: 0; }
.ecommza-contact-form-wrap {
  max-width: 860px; margin: 0 auto;
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  padding: 40px;
  box-shadow: var(--ec-shadow);
}
.ecommza-contact-form-wrap h2 { font-size: 22px; font-weight: 900; margin-bottom: 28px; }
.ecommza-contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.ecommza-contact-form .form-field { display: flex; flex-direction: column; gap: 6px; }
.ecommza-contact-form .form-field.full { grid-column: 1/-1; }
.ecommza-contact-form label { font-size: 14px; font-weight: 700; color: var(--ec-text); }
.ecommza-contact-form label span { color: var(--ec-red); }
.ecommza-contact-form input,
.ecommza-contact-form textarea,
.ecommza-contact-form select {
  width: 100%; min-height: 48px; padding: 10px 14px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px; font-family: inherit;
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition);
}
.ecommza-contact-form input:focus,
.ecommza-contact-form textarea:focus { border-color: var(--ec-black); box-shadow: 0 0 0 3px rgba(0,0,0,.06); outline: 0; }
.ecommza-contact-form textarea { min-height: 140px; resize: vertical; }
.ecommza-contact-form .submit-btn {
  width: 100%; min-height: 52px;
  background: var(--ec-black); color: #fff;
  border-radius: var(--ec-radius);
  font-size: 16px; font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition);
}
.ecommza-contact-form .submit-btn:hover { background: var(--ec-red); transform: translateY(-1px); }

/* ========================
   Breadcrumb
======================== */
.ecommza-breadcrumb-bar { padding: 14px 0; background: var(--ec-soft); border-bottom: 1px solid var(--ec-line); }
.ecommza-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ec-muted); flex-wrap: wrap; }
.ecommza-breadcrumb a { color: var(--ec-muted); transition: color var(--ec-transition); }
.ecommza-breadcrumb a:hover { color: var(--ec-red); }
.ecommza-breadcrumb .sep { color: var(--ec-line); }
.ecommza-breadcrumb .current { color: var(--ec-text); font-weight: 700; }

/* ========================
   Pagination
======================== */
.woocommerce-pagination,
.wp-pagenavi {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; margin-top: 48px; flex-wrap: wrap;
}
.woocommerce-pagination ul { display: flex; gap: 8px; list-style: none; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.wp-pagenavi a,
.wp-pagenavi span.current {
  display: grid; place-items: center;
  min-width: 42px; height: 42px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px; font-weight: 700;
  color: var(--ec-text);
  transition: background var(--ec-transition), color var(--ec-transition), border-color var(--ec-transition), transform var(--ec-transition);
}
.woocommerce-pagination ul li a:hover,
.wp-pagenavi a:hover { background: var(--ec-soft); border-color: var(--ec-black); transform: translateY(-1px); }
.woocommerce-pagination ul li span.current,
.wp-pagenavi span.current { background: var(--ec-black); color: #fff; border-color: var(--ec-black); }

/* ========================
   Empty State
======================== */
.schooly-empty-state {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 16px; padding: 60px 24px; text-align: center;
  background: var(--ec-soft); border-radius: var(--ec-radius-lg);
  border: 1px dashed var(--ec-line);
}
.schooly-empty-state i { font-size: 48px; color: var(--ec-line); }
.schooly-empty-state h2 { font-size: 20px; font-weight: 900; color: var(--ec-black); }
.schooly-empty-state p { font-size: 14px; color: var(--ec-muted); }

/* ========================
   Responsive
======================== */
@media (max-width: 1199px) {
  .ecommza-categories__grid { grid-template-columns: repeat(4,1fr); }
  .ecommza-products-grid, .woocommerce ul.products { flex-wrap: wrap; }
  .ecommza-promo-grid { grid-template-columns: repeat(2,1fr); }
  .ecommza-trust-bar__grid { grid-template-columns: repeat(2,1fr); }
  .ecommza-faq-layout { grid-template-columns: 1fr; }
  .ecommza-faq-sidebar { position: static; }
}
@media (max-width: 991px) {
  .ecommza-menu-wrap { display: none; }
  .ecommza-mobile-toggle { display: flex; }
  .ecommza-banners__grid { grid-template-columns: 1fr; }
  .ecommza-blog-grid { grid-template-columns: repeat(2,1fr); }
  .hero-slide__inner { grid-template-columns: 1fr; text-align: center; }
  .hero-slide__image { display: none; }
  .hero-slide__btn { align-self: center; }
  .hero-slide { min-height: 560px; }

  .ecommza-contact-form .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .ecommza-section { padding: 1.25rem 0; }
  .ecommza-categories__grid { grid-template-columns: repeat(4,1fr); gap: 12px; }
  .ecommza-cat-item__img { width: 72px; height: 72px; }
  .ecommza-products-grid,
.woocommerce ul.products { flex-wrap: wrap; }
  .ecommza-promo-grid { grid-template-columns: 1fr; }
  .ecommza-blog-grid { grid-template-columns: 1fr; }
  .ecommza-trust-bar__grid { grid-template-columns: 1fr; }
  .ecommza-footer__bottom { flex-direction: column; align-items: flex-start; }

  .ecommza-promo-tile { grid-template-columns: 1fr; }
  .ecommza-promo-tile__image { min-height: 180px; }
  .ecommza-contact-form-wrap { padding: 24px; }
}
@media (max-width: 575px) {
  .ecommza-categories__grid { grid-template-columns: repeat(3,1fr); }
  .ecommza-topbar { display: none; }
  .hero-slide { min-height: 420px; }
  .hero-slide__title { font-size: 30px; }
  .ecommza-banner-card { grid-template-columns: 1fr; }
  .ecommza-banner-card__image { min-height: 260px; }
}

/* ========================
   RTL Tweaks
======================== */
html[dir="rtl"] :where(input[type="email"],input[type="tel"],input[type="url"]) { direction: ltr; text-align: left; }
html[dir="rtl"] input::placeholder { direction: rtl; text-align: right; }
html[dir="rtl"] .ecommza-menu .sub-menu { right: auto; left: 0; }
html[dir="rtl"] .mobile-menu { right: auto; left: -320px; }
html[dir="rtl"] .mobile-menu.is-open { left: 0; }


html[dir="rtl"] .product-action_list { left: auto; right: 12px; transform: translateX(10px); }
html[dir="rtl"] .schooly-product-card:hover .product-action_list { transform: translateX(0); }
html[dir="rtl"] .schooly-badge { right: auto; left: 12px; }
html[dir="rtl"] .ecommza-cart-count { left: auto; right: 2px; }
html[dir="rtl"] .ecommza-lang-dropdown { left: auto; right: 0; }
html[dir="rtl"] .scroll-top-btn { left: auto; right: 28px; }
html[dir="rtl"] .search-overlay__close { left: auto; right: 24px; }
html[dir="rtl"] .ecommza-faq-search i { left: auto; right: 14px; }
html[dir="rtl"] .ecommza-faq-search input { padding: 0 42px 0 14px; }

/* ========================
   Accessibility
======================== */
:focus-visible { outline: 2px solid var(--ec-red); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *,
*::before,
*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* ========================
   Category Hero
======================== */
.ecommza-cat-hero {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.ecommza-cat-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.28) 100%);
}
.ecommza-cat-hero__container { position: relative; z-index: 1; }
.ecommza-cat-hero__content {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 48px 0;
}
.ecommza-cat-hero__logo {
  width: 80px;
  height: 80px;
  border-radius: var(--ec-radius-lg);
  object-fit: cover;
  border: 3px solid rgba(255,255,255,.3);
  flex: 0 0 80px;
}
.ecommza-cat-hero__content h1 {
  font-size: clamp(24px,3.5vw,42px);
  font-weight: 900;
  color: #fff;
  margin-bottom: 8px;
}
.ecommza-cat-hero__content p {
  color: rgba(255,255,255,.82);
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
}

/* ========================
   Archive Toolbar
======================== */
.ecommza-archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--ec-line);
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.ecommza-archive-toolbar__left {
  font-size: 14px;
  color: var(--ec-muted);
  font-weight: 600;
}
.ecommza-archive-toolbar__right select {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 600;
  background: var(--ec-white);
  cursor: pointer;
  transition: border-color var(--ec-transition);
}
.ecommza-archive-toolbar__right select:focus { border-color: var(--ec-black); }
.ecommza-pagination { margin-top: 48px; }

/* ========================
   Page Content
======================== */
/* Page titles live in the unified breadcrumb only */
.ecommza-page-title {
  display: none !important;
}
.ecommza-page-thumbnail {
  border-radius: var(--ec-radius-lg);
  overflow: hidden;
  margin-bottom: 32px;
  max-height: 480px;
}
.ecommza-page-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.ecommza-page-body {
  font-size: 16px;
  line-height: 2;
  color: var(--ec-text);
/*   max-width: 860px; */
}
.ecommza-page-body h2,
.ecommza-page-body h3 { font-weight: 900; color: var(--ec-black); margin: 28px 0 12px; }
.ecommza-page-body p { margin-bottom: 16px; }
.ecommza-page-body a { color: var(--ec-red); text-decoration: underline !important; }
.ecommza-page-body ul,
.ecommza-page-body ol { padding-right: 24px; margin-bottom: 16px; }
.ecommza-page-body li { margin-bottom: 8px; }
.ecommza-archive-desc { color: var(--ec-muted); font-size: 15px; margin-top: 8px; }

/* ========================
   Search Page
======================== */
.ecommza-search-form { margin-bottom: 36px; }
.ecommza-search-form__inner {
  display: flex;
  max-width: 600px;
  border: 2px solid var(--ec-line);
  border-radius: var(--ec-radius);
  overflow: hidden;
  transition: border-color var(--ec-transition);
}
.ecommza-search-form__inner:focus-within { border-color: var(--ec-black); }
.ecommza-search-form__inner input {
  flex: 1;
  height: 52px;
  padding: 0 16px;
  font-size: 16px;
  background: transparent;
  border: 0;
  outline: 0;
}
.ecommza-search-form__inner button {
  width: 56px;
  height: 52px;
  display: grid;
  place-items: center;
  background: var(--ec-black);
  color: #fff;
  font-size: 18px;
  transition: background var(--ec-transition);
}
.ecommza-search-form__inner button:hover { background: var(--ec-red); }
.ecommza-search-results { display: grid; gap: 16px; }
.ecommza-search-item {
  display: flex;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition), transform var(--ec-transition);
}
.ecommza-search-item:hover { border-color: #ccc; box-shadow: var(--ec-shadow); transform: translateX(-3px); }
.ecommza-search-item__img { flex: 0 0 80px; width: 80px; height: 80px; border-radius: var(--ec-radius); overflow: hidden; background: var(--ec-soft); }
.ecommza-search-item__img img { width: 100%; height: 100%; object-fit: cover; }
.ecommza-search-item__type { font-size: 11px; font-weight: 800; color: var(--ec-muted); text-transform: uppercase; letter-spacing: .5px; display: block; margin-bottom: 4px; }
.ecommza-search-item__body h2 { font-size: 16px; font-weight: 800; margin-bottom: 6px; }
.ecommza-search-item__body h2 a:hover { color: var(--ec-red); }
.ecommza-search-item__body p { font-size: 14px; color: var(--ec-muted); line-height: 1.7; margin: 0; }

/* ========================
   WooCommerce Shop Page Overrides
======================== */
.woocommerce .woocommerce-products-header { display: none; }
.woocommerce-page .woocommerce-result-count { font-size: 14px; color: var(--ec-muted); font-weight: 600; }
.woocommerce-page .woocommerce-ordering { margin: 0; }
.woocommerce-page .woocommerce-ordering select {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 600;
  background: var(--ec-white);
}
.woocommerce-page .woocommerce-ordering select:focus { border-color: var(--ec-black); }


/* ========================
   WooCommerce Cart & Checkout
======================== */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  padding: 48px 0;
}
.woocommerce table.shop_table {
  border-radius: var(--ec-radius-lg);
  overflow: hidden;
  border: 1px solid var(--ec-line);
  background: var(--ec-white);
}
.woocommerce table.shop_table th {
  background: var(--ec-soft);
  font-weight: 800;
  font-size: 14px;
  padding: 14px 16px;
}
.woocommerce table.shop_table td { padding: 14px 16px; }
.woocommerce table.shop_table tr:hover td { background: var(--ec-soft); }
.woocommerce .cart_totals,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  padding: 28px;
}
.woocommerce .cart_totals h2,
.woocommerce form.checkout h3 {
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ec-line);
}
.woocommerce .proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  background: var(--ec-black);
  color: #fff !important;
  border-radius: var(--ec-radius);
  font-size: 16px;
  font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition);
}
.woocommerce .proceed-to-checkout a.checkout-button:hover {
  background: var(--ec-red);
  transform: translateY(-1px);
}

/* ========================
   WooCommerce My Account
======================== */
.woocommerce-MyAccount-navigation {
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  overflow: hidden;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ec-text);
  border-bottom: 1px solid var(--ec-line);
  transition: color var(--ec-transition), background var(--ec-transition);
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--ec-red);
  background: var(--ec-soft);
}
.woocommerce-MyAccount-content {
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius-lg);
  padding: 28px;
}

/* ========================
   Responsive additions
======================== */
@media (max-width: 991px) {
  .ecommza-cat-hero__content { flex-direction: column; align-items: flex-start; }
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 767px) {
  .ecommza-archive-toolbar { flex-direction: column; align-items: flex-start; }


  .ecommza-search-item { flex-direction: column; }
  .ecommza-search-item__img { width: 100%; height: 180px; flex: none; }
}

/* ============================================================
   ADVANCED SEARCH OVERLAY
============================================================ */
.search-overlay {
  position: fixed; inset: 0; z-index: 2000;
  display: flex; align-items: flex-start; justify-content: center;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}
.search-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.search-overlay__backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(6px);
}
.search-overlay__panel {
  position: relative; z-index: 1;
  width: 100%; max-width: 860px;
  margin: 0 auto;
  background: var(--ec-white);
  border-radius: 0 0 20px 20px;
  padding: 28px 32px 32px;
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
  transform: translateY(-20px);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  max-height: 90vh;
  overflow-y: auto;
}
.search-overlay.is-open .search-overlay__panel { transform: translateY(0); }
.search-overlay__close {
  position: absolute; top: 16px; left: 16px;
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 50%;
  font-size: 18px; color: var(--ec-muted);
  transition: color var(--ec-transition), background var(--ec-transition), transform var(--ec-transition);
}
.search-overlay__close:hover { color: var(--ec-red); background: #DBEAFE; transform: rotate(90deg); }

/* Search Box */
.search-overlay__box {
  display: flex; align-items: center;
  border: 2px solid var(--ec-line);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
  margin-bottom: 20px;
}
.search-overlay__box:focus-within {
  border-color: var(--ec-black);
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);
}
.search-cat-select {
  position: relative;
  flex: 0 0 auto;
  border-left: 2px solid var(--ec-line);
  display: flex; align-items: center;
}
.search-cat-select select {
  height: 58px; padding: 0 36px 0 16px;
  font-size: 14px; font-weight: 700;
  color: var(--ec-text);
  background: var(--ec-soft);
  border: 0; outline: 0; cursor: pointer;
  appearance: none;
  min-width: 140px;
}
.search-cat-select .fa-chevron-down {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  font-size: 11px; color: var(--ec-muted); pointer-events: none;
}
.search-input-wrap {
  flex: 1; display: flex; align-items: center; gap: 12px;
  padding: 0 16px;
}
.search-input-wrap .fa-magnifying-glass { color: var(--ec-muted); font-size: 18px; flex: 0 0 auto; }
.search-overlay__input {
  flex: 1; height: 58px;
  font-size: 17px; font-weight: 600;
  color: var(--ec-text);
  background: transparent; border: 0; outline: 0;
}
.search-overlay__input::placeholder { color: #bbb; }
.search-clear-btn {
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border-radius: 50%;
  font-size: 14px; color: var(--ec-muted);
  transition: color var(--ec-transition), background var(--ec-transition);
}
.search-clear-btn:hover { color: var(--ec-red); background: #DBEAFE; }

/* Popular Tags */
.search-overlay__popular {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin-bottom: 24px;
}
.search-overlay__popular > span {
  font-size: 13px; font-weight: 800; color: var(--ec-muted);
  white-space: nowrap;
}
.search-popular-tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px;
  background: var(--ec-soft);
  border: 1px solid var(--ec-line);
  border-radius: 99px;
  font-size: 13px; font-weight: 700; color: var(--ec-text);
  transition: background var(--ec-transition), border-color var(--ec-transition), color var(--ec-transition), transform var(--ec-transition);
}
.search-popular-tag i { color: var(--ec-red); font-size: 11px; }
.search-popular-tag:hover {
  background: var(--ec-black); color: #fff; border-color: var(--ec-black);
  transform: translateY(-1px);
}
.search-popular-tag:hover i { color: #fff; }

/* Results */
.search-overlay__results { margin-bottom: 8px; }
.search-result-item {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  transition: background var(--ec-transition);
  cursor: pointer; text-decoration: none !important;
}
.search-result-item:hover { background: var(--ec-soft); }
.search-result-item img {
  width: 52px; height: 52px; flex: 0 0 52px;
  border-radius: 8px; object-fit: cover;
  border: 1px solid var(--ec-line);
}
.search-result-item__info { flex: 1; }
.search-result-item__info b { display: block; font-size: 14px; font-weight: 700; color: var(--ec-text); margin-bottom: 3px; }
.search-result-item__info small { font-size: 12px; color: var(--ec-muted); }
.search-result-item__price { font-size: 14px; font-weight: 900; color: var(--ec-red); white-space: nowrap; }
.search-result-item__type {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 8px;
  background: var(--ec-soft); color: var(--ec-muted); font-size: 13px;
  flex: 0 0 28px;
}
.search-no-results {
  text-align: center; padding: 32px 20px;
  color: var(--ec-muted); font-size: 15px; font-weight: 700;
}
.search-no-results i { font-size: 36px; display: block; margin-bottom: 12px; color: var(--ec-line); }

/* Categories Grid */
.search-overlay__cats-title {
  font-size: 13px; font-weight: 800; color: var(--ec-muted);
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: 12px;
}
.search-cats-grid {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.search-cat-chip {
  display: inline-flex; align-items: center;
  padding: 7px 14px;
  background: var(--ec-soft);
  border: 1px solid var(--ec-line);
  border-radius: 8px;
  font-size: 13px; font-weight: 700; color: var(--ec-text);
  transition: background var(--ec-transition), border-color var(--ec-transition), color var(--ec-transition), transform var(--ec-transition);
}
.search-cat-chip:hover {
  background: var(--ec-black); color: #fff; border-color: var(--ec-black);
  transform: translateY(-1px);
}

/* ============================================================
   QUICK VIEW MODAL
============================================================ */
.quickview-overlay {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(4px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}
.quickview-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.quickview-modal {
  position: fixed; top: 50%; left: 50%; z-index: 3001;
  transform: translate(-50%, -50%) scale(.94);
  width: min(900px, 95vw);
  max-height: 90vh;
  background: var(--ec-white);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.25);
  overflow: hidden;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease, transform .3s cubic-bezier(.4,0,.2,1);
}
.quickview-modal.is-open {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.quickview-close {
  position: absolute; top: 14px; left: 14px; z-index: 10;
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(0,0,0,.06);
  font-size: 18px; color: var(--ec-text);
  transition: background var(--ec-transition), color var(--ec-transition), transform var(--ec-transition);
}
.quickview-close:hover { background: var(--ec-red); color: #fff; transform: rotate(90deg); }
.quickview-modal__body { overflow-y: auto; max-height: 90vh; }
/* Quick View Product Layout */
.quickview-product {
  display: grid; grid-template-columns: 1fr 1fr;
}
.quickview-product__gallery {
  background: var(--ec-soft);
  padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
}
.quickview-main-img {
  position: relative;
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
  background: var(--ec-white);
}
.quickview-main-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition:
    opacity .32s cubic-bezier(.22,.61,.36,1),
    transform .42s cubic-bezier(.22,.61,.36,1),
    filter .32s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform, filter;
}
.quickview-main-img img.is-switching {
  opacity: .16 !important;
  transform: scale(.975) !important;
  filter: blur(5px) saturate(.92) !important;
}
.quickview-main-img.is-thumb-switching::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(circle at center, rgba(255,255,255,.28), rgba(255,255,255,0) 62%);
  opacity: .85;
  transition: opacity .28s ease;
}
.quickview-main-img:hover img:not(.is-switching) { transform: scale(1.05); }
.quickview-badge {
  position: absolute; top: 12px; right: 12px;
  background: var(--ec-red); color: #fff;
  border-radius: 6px; padding: 4px 10px;
  font-size: 12px; font-weight: 800;
}
.quickview-thumbs {
  display: flex; gap: 8px; flex-wrap: wrap;
}
.quickview-thumb {
  width: 64px; height: 64px;
  border-radius: 8px; overflow: hidden;
  border: 2px solid transparent;
  opacity: .72;
  transition:
    border-color .24s ease,
    opacity .24s ease,
    transform .24s cubic-bezier(.22,.61,.36,1),
    box-shadow .24s ease;
  cursor: pointer;
}
.quickview-thumb img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .34s cubic-bezier(.22,.61,.36,1);
}
.quickview-thumb.is-active,
.quickview-thumb:hover {
  border-color: var(--ec-black);
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(15,23,42,.14);
}
.quickview-thumb.is-active img,
.quickview-thumb:hover img {
  transform: scale(1.04);
}

.quickview-product__info {
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 14px;
  overflow-y: auto; max-height: 90vh;
}
.quickview-cat {
  font-size: 12px; font-weight: 800; color: var(--ec-muted);
  text-transform: uppercase; letter-spacing: .5px;
}
.quickview-title {
  font-size: 22px; font-weight: 900; color: var(--ec-black);
  line-height: 1.3;
}
.quickview-rating {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--ec-muted);
}
.quickview-rating .star-rating { font-size: 14px; }
.quickview-price {
  font-size: 26px; font-weight: 900; color: var(--ec-red);
}
.quickview-price del { font-size: 16px; color: var(--ec-muted); font-weight: 500; margin-right: 8px; }
.quickview-price ins { text-decoration: none; }
.quickview-stock {
  display: inline-flex; align-items: center; gap: 7px;
  align-self: flex-start;
  font-size: 13px; font-weight: 800;
  padding: 6px 14px; border-radius: 99px;
}
.quickview-stock.in-stock { background: #e7eefc; color: #2f62ce; }
.quickview-stock.out-stock { background: #fde8e8; color: #dc2626; }
.quickview-desc {
  font-size: 14px; color: var(--ec-muted); line-height: 1.8;
  padding-top: 8px; border-top: 1px solid var(--ec-line);
}
.quickview-view-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px;
  border-radius: 12px;
  background: #0a1f3f; color: #fff;
  font-size: 15px; font-weight: 800;
  text-decoration: none !important;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.quickview-view-btn:hover {
  background: #163b78; color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(10,31,63,.22);
}
.quickview-view-btn i { transition: transform .25s ease; }
.quickview-view-btn:hover i { transform: translateX(-4px); }

@media (max-width: 767px) {
  .quickview-product { grid-template-columns: 1fr; }
  .quickview-product__gallery { padding: 16px; }
  .quickview-product__info { padding: 20px; }
  .quickview-modal { width: 95vw; }
}

/* ============================================================
   TOOLTIP on hover icons
============================================================ */
.box-icon.hover-tooltip {
  position: relative;
}
.box-icon.hover-tooltip::before {
  content: attr(aria-label);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%; transform: translateY(-50%);
  background: var(--ec-black); color: #fff;
  font-size: 12px; font-weight: 700;
  padding: 5px 10px; border-radius: 6px;
  white-space: nowrap;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
  transform: translateY(-50%) translateX(4px);
  z-index: 10;
}
.box-icon.hover-tooltip::after {
  content: '';
  position: absolute;
  left: calc(100% + 6px);
  top: 50%; transform: translateY(-50%);
  border: 5px solid transparent;
  border-right-color: var(--ec-black);
  opacity: 0; visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
  z-index: 10;
}
.box-icon.hover-tooltip:hover::before,
.box-icon.hover-tooltip:hover::after {
  opacity: 1; visibility: visible;
  transform: translateY(-50%) translateX(0);
}
html[dir="rtl"] .box-icon.hover-tooltip::before {
  left: auto; right: calc(100% + 10px);
  transform: translateY(-50%) translateX(-4px);
}
html[dir="rtl"] .box-icon.hover-tooltip::after {
  left: auto; right: calc(100% + 6px);
  border-right-color: transparent;
  border-left-color: var(--ec-black);
}
html[dir="rtl"] .box-icon.hover-tooltip:hover::before {
  transform: translateY(-50%) translateX(0);
}

/* ============================================================
   DASHBOARD IMPROVEMENTS
============================================================ */
/* Quick action links in admin */
.schooly-admin-quick-links {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin: 18px 0;
}
.schooly-admin-quick-link {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 16px 10px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  color: #1E293B;
  font-size: 12px; font-weight: 800;
  text-align: center;
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.schooly-admin-quick-link i {
  font-size: 22px;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
  color: #2563EB;
  transition: background .2s ease, color .2s ease;
}
.schooly-admin-quick-link:hover {
  transform: translateY(-4px);
  border-color: #BFDBFE;
  box-shadow: 0 12px 28px rgba(37,99,235,.14);
  color: #1E293B;
}
.schooly-admin-quick-link:hover i {
  background: linear-gradient(135deg, #2563EB, #1D4ED8);
  color: #fff;
}

/* Status badges in orders list */
.schooly-status-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border-radius: 99px;
  font-size: 11px; font-weight: 800;
}
.schooly-status-badge--processing { background: #DBEAFE; color: #1D4ED8; }
.schooly-status-badge--completed { background: #e7eefc; color: #1a3671; }
.schooly-status-badge--pending { background: #FEF3C7; color: #92400E; }
.schooly-status-badge--cancelled { background: #DBEAFE; color: #991B1B; }
.schooly-status-badge--refunded { background: #F3F4F6; color: #374151; }

/* ============================================================
   RESPONSIVE SEARCH & QUICKVIEW
============================================================ */
@media (max-width: 767px) {
  .search-overlay__panel { padding: 20px 16px 24px; border-radius: 0 0 16px 16px; }
  .search-cat-select { display: none; }
  .search-overlay__box { border-radius: 10px; }
  .compare-bar__items { display: none; }
  .compare-bar__inner { justify-content: center; }
}

/* ============================================================
   TOAST NOTIFICATIONS (backup CSS in stylesheet)
============================================================ */
#ec-toast-container {
  position: fixed; bottom: 90px; right: 24px; z-index: 9999;
  display: flex; flex-direction: column; gap: 10px;
  pointer-events: none;
}
html[dir="rtl"] #ec-toast-container { right: auto; left: 24px; }
.ec-toast {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 18px;
  background: var(--ec-white);
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(0,0,0,.14);
  border-right: 4px solid #2f62ce;
  font-size: 14px; font-weight: 700; color: var(--ec-text);
  min-width: 240px; max-width: 340px;
  pointer-events: auto;
  opacity: 0; transform: translateX(20px);
  transition: opacity .35s ease, transform .35s ease;
}
html[dir="rtl"] .ec-toast {
  border-right: none; border-left: 4px solid #2f62ce;
  transform: translateX(-20px);
}
.ec-toast.is-visible { opacity: 1; transform: translateX(0); }

/* ============================================================
   PRODUCT CARD - Wishlist heart animation
============================================================ */
.box-icon .fa-heart {
  transition: color var(--ec-transition), transform var(--ec-transition);
}
.box-icon:hover .fa-heart { color: var(--ec-red); transform: scale(1.2); }
.box-icon.is-wishlisted .fa-heart { color: var(--ec-red); }
.box-icon.is-wishlisted { background: #DBEAFE; }

/* ============================================================
   HEADER - Search button pulse on mobile
============================================================ */
@media (max-width: 767px) {
  #searchToggle { animation: none; }
}

/* ============================================================
   WOOCOMMERCE - Improved breadcrumb
============================================================ */
.woocommerce-breadcrumb {
  font-size: 13px; color: var(--ec-muted);
  margin-bottom: 0;
}
.woocommerce-breadcrumb a { color: var(--ec-muted); transition: color var(--ec-transition); }
.woocommerce-breadcrumb a:hover { color: var(--ec-red); }

/* ============================================================
   ADMIN DASHBOARD - Quick links responsive
============================================================ */
@media (max-width: 1280px) {
  .schooly-admin-quick-links { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 782px) {
  .schooly-admin-quick-links { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   SEARCH - RTL fixes
============================================================ */
html[dir="rtl"] .search-cat-select {
  border-left: none;
  border-right: 2px solid var(--ec-line);
}
html[dir="rtl"] .search-cat-select .fa-chevron-down {
  left: auto; right: 12px;
}
html[dir="rtl"] .search-cat-select select {
  padding: 0 16px 0 36px;
}

/* ============================================================
   COMPARE BAR - RTL
============================================================ */
html[dir="rtl"] .compare-bar-item__remove { margin-right: auto; margin-left: 0; }

/* ============================================================
   MISC IMPROVEMENTS
============================================================ */
/* Smooth image loading */
img { transition: opacity .3s ease; }
img[loading="lazy"] { opacity: 1; }
img[loading="lazy"].loaded { opacity: 1; }

/* Focus styles */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--ec-red);
  outline-offset: 3px;
}

/* Selection color */
::selection { background: var(--ec-red); color: #fff; }

/* Print styles */
@media print {
  .ecommza-header, .ecommza-footer, .cart-sidebar, .search-overlay,
  .quickview-modal, .compare-bar, .scroll-top-btn { display: none !important; }
}

/* ============================================================
   WOOCOMMERCE INNER PAGES - Full Theme Integration
   Cart,
Checkout,
My Account,
Single Product
============================================================ */

/* ── Page wrapper ── */
.woocommerce-page .ecommza-main,
.woocommerce-cart .ecommza-main,
.woocommerce-checkout .ecommza-main,
.woocommerce-account .ecommza-main {
  background: var(--ec-soft);
}

/* ── Page title bar ── */
.wc-page-header {
  background: var(--ec-white);
  border-bottom: 1px solid var(--ec-line);
  padding: 28px 0;
  margin-bottom: 0;
}
.wc-page-header h1 {
  font-size: clamp(22px,3vw,32px);
  font-weight: 900;
  color: var(--ec-black);
  margin: 0;
}

/* ── WooCommerce notices ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 12px !important;
  border: 1px solid var(--ec-line) !important;
  border-top: 0 !important;
  border-right: 4px solid var(--ec-red) !important;
  background: var(--ec-white) !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
  margin-bottom: 20px !important;
}
.woocommerce-message { border-right-color: #2f62ce !important; }
.woocommerce-info { border-right-color: #3B82F6 !important; }
.woocommerce-error { border-right-color: var(--ec-red) !important; }
.woocommerce-message a.button,
.woocommerce-info a.button {
  float: left;
  margin-left: 0;
  margin-right: 12px;
}

/* ── Cart Page ── */
.woocommerce-cart-form {
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.woocommerce table.shop_table {
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce table.shop_table thead tr th {
  background: var(--ec-soft) !important;
  color: var(--ec-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--ec-line) !important;
}
.woocommerce table.shop_table tbody tr td {
  padding: 16px !important;
  border-bottom: 1px solid var(--ec-line) !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0 !important; }
.woocommerce table.shop_table tbody tr:hover td { background: #FAFBFF !important; }
.woocommerce table.shop_table .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  border: 1px solid var(--ec-line) !important;
}
.woocommerce table.shop_table .product-name a {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--ec-black) !important;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--ec-red) !important; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
  font-weight: 900 !important;
  color: var(--ec-black) !important;
}
.woocommerce table.shop_table .product-remove a {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #DBEAFE !important;
  color: var(--ec-red) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  transition: background var(--ec-transition), transform var(--ec-transition) !important;
}
.woocommerce table.shop_table .product-remove a:hover {
  background: var(--ec-red) !important;
  color: #fff !important;
  transform: scale(1.1) !important;
}
.woocommerce table.shop_table input.qty {
  width: 60px !important;
  height: 40px !important;
  text-align: center !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.woocommerce .cart_totals {
  background: var(--ec-white) !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.04) !important;
}
.woocommerce .cart_totals h2 {
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--ec-line) !important;
}
.woocommerce .cart_totals table {
  border: 0 !important;
  width: 100% !important;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ec-line) !important;
  font-size: 14px !important;
}
.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {
  font-size: 18px !important;
  font-weight: 900 !important;
  border-bottom: 0 !important;
  padding-top: 16px !important;
}
.woocommerce .cart_totals table .order-total td { color: var(--ec-red) !important; }
.woocommerce .proceed-to-checkout {
  margin-top: 16px !important;
}
.woocommerce .proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 52px !important;
  background: var(--ec-black) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  border: 0 !important;
  transition: background var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition) !important;
}
.woocommerce .proceed-to-checkout a.checkout-button:hover {
  background: var(--ec-red) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(37,99,235,.25) !important;
}
.woocommerce .coupon {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}
.woocommerce .coupon input.input-text {
  flex: 1 !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}
.woocommerce .coupon .button {
  min-height: 44px !important;
  padding: 0 18px !important;
  background: var(--ec-soft) !important;
  color: var(--ec-black) !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.woocommerce .coupon .button:hover {
  background: var(--ec-black) !important;
  color: #fff !important;
  border-color: var(--ec-black) !important;
}

/* ── Checkout Page ── */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  background: var(--ec-white);
  border: 1px solid var(--ec-line);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.woocommerce-checkout h3:not(.sf__heading) {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: var(--ec-black) !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--ec-line) !important;
}
.woocommerce form .form-row label {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--ec-text) !important;
  margin-bottom: 6px !important;
}
.woocommerce form .form-row .required { color: var(--ec-red) !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  min-height: 46px !important;
  padding: 10px 14px !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  transition: border-color var(--ec-transition), box-shadow var(--ec-transition) !important;
  background: var(--ec-white) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--ec-black) !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,.06) !important;
  outline: 0 !important;
}
.woocommerce-checkout #payment {
  background: var(--ec-soft) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  border: 1px solid var(--ec-line) !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--ec-line) !important;
  padding-bottom: 16px !important;
  margin-bottom: 16px !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.woocommerce-checkout #payment #place_order {
  width: 100% !important;
  min-height: 54px !important;
  background: var(--ec-black) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  border: 0 !important;
  transition: background var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition) !important;
}
.woocommerce-checkout #payment #place_order:hover {
  background: var(--ec-red) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(37,99,235,.25) !important;
}

/* ── My Account Page ── */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 24px;
  align-items: start;
  padding: 40px 0;
}
.woocommerce-MyAccount-navigation {
  background: var(--ec-white) !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.04) !important;
  position: sticky !important;
  top: 100px !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 8px !important;
  margin: 0 !important;
}
.woocommerce-MyAccount-navigation ul li {
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 2px !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ec-text) !important;
  border-radius: 10px !important;
  transition: background var(--ec-transition), color var(--ec-transition) !important;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
  background: var(--ec-soft) !important;
  color: var(--ec-red) !important;
}
.woocommerce-MyAccount-content {
  background: var(--ec-white) !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.04) !important;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--ec-line) !important;
}
.woocommerce-orders-table {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid var(--ec-line) !important;
}
.woocommerce-orders-table thead th {
  background: var(--ec-soft) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  color: var(--ec-muted) !important;
  padding: 12px 14px !important;
}
.woocommerce-orders-table tbody td {
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--ec-line) !important;
  font-size: 14px !important;
}
.woocommerce-orders-table tbody tr:hover td { background: #FAFBFF !important; }
.woocommerce-orders-table .woocommerce-button {
  padding: 6px 14px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  background: var(--ec-black) !important;
  color: #fff !important;
  border: 0 !important;
}
.woocommerce-orders-table .woocommerce-button:hover { background: var(--ec-red) !important; }

/* ── Order status badges in account ── */
.woocommerce-order-status {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  border-radius: 99px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
mark.order-status.status-processing { background: #DBEAFE !important; color: #1D4ED8 !important; }
mark.order-status.status-completed { background: #e7eefc !important; color: #1a3671 !important; }
mark.order-status.status-pending { background: #FEF3C7 !important; color: #92400E !important; }
mark.order-status.status-cancelled { background: #DBEAFE !important; color: #991B1B !important; }
mark.order-status.status-on-hold { background: #F3F4F6 !important; color: #374151 !important; }
mark.order-status.status-refunded { background: #F3F4F6 !important; color: #374151 !important; }


/* ── Shop Page ── */
.woocommerce-shop .woocommerce-products-header { display: none; }
.woocommerce .woocommerce-result-count {
  font-size: 14px !important;
  color: var(--ec-muted) !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
.woocommerce .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
}
.woocommerce .woocommerce-ordering select {
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: var(--ec-white) !important;
  cursor: pointer !important;
  transition: border-color var(--ec-transition) !important;
}
.woocommerce .woocommerce-ordering select:focus { border-color: var(--ec-black) !important; }

/* ── Responsive ── */
@media (max-width: 991px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { position: static !important; }
}


/* Two-column layout: Cart RIGHT | Related LEFT
   HTML order: cart first,
related second
   In RTL: first column = right side {
  display: grid;
  grid-template-columns: 1fr 240px;
  height: 100%;
  overflow: hidden;
}


/* LTR: cart left {
  grid-template-columns: 1fr 240px;
}


/* Related card - portrait style like screenshot */
.cs-related-card {
  display: flex;
  flex-direction: column;
  background: var(--ec-white);
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none !important;
  transition: transform .25s cubic-bezier(.32,1.25,.32,1), box-shadow .25s ease;
  flex: 0 0 auto;
}
.cs-related-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,.1);
}
.cs-related-card__img {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1.1;
  overflow: hidden;
  background: var(--ec-soft);
}
.cs-related-card__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.32,1.25,.32,1);
}
.cs-related-card:hover .cs-related-card__img img { transform: scale(1.06); }
.cs-related-card__badge {
  position: absolute; top: 6px; right: 6px;
  background: var(--ec-red); color: #fff;
  font-size: 9px; font-weight: 800;
  padding: 2px 6px; border-radius: 3px; z-index: 2;
}
.cs-related-card__info {
  padding: 8px 4px 4px;
  display: flex; flex-direction: column; gap: 2px;
}
.cs-related-card__cat {
  font-size: 9px; font-weight: 800;
  color: var(--ec-muted);
  text-transform: uppercase; letter-spacing: .3px;
}
.cs-related-card__name {
  font-size: 12px; font-weight: 700;
  color: var(--ec-text); line-height: 1.35;
  transition: color .2s ease;
}
.cs-related-card:hover .cs-related-card__name { color: var(--ec-red); }
.cs-related-card__price {
  font-size: 12px; font-weight: 900;
  color: var(--ec-black); margin-top: 2px;
  display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
}
.cs-related-card__price del { color: var(--ec-muted); font-weight: 500; font-size: 10px; }
.cs-related-card__price ins { text-decoration: none; color: var(--ec-red); }


/* RTL: title right {
  flex-direction: row;
}


/* ── Responsive ── */
@media (max-width: 794px) {
  .cart-sidebar {
    width: 100%;
    max-width: 100%;
    left: -100%;
  }
  html[dir="rtl"] .cart-sidebar {
    right: -100%;
    left: auto;
  }
  .cart-sidebar__layout {
    grid-template-columns: 1fr;
  }
  html[dir="rtl"] .cart-sidebar__layout {
    grid-template-columns: 1fr;
  }
  .cart-sidebar__col--related {
    display: none;   /* hide on mobile */
  }
  html[dir="rtl"] .cart-sidebar__col--related {
    order: unset;
  }
  html[dir="rtl"] .cart-sidebar__col--cart {
    order: unset;
  }
}

/* ============================================================
   CART SIDEBAR - Stagger animation for items
============================================================ */
@keyframes cartItemIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* Related cards stagger */
@keyframes relatedCardIn {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}


/* Cart header slide down */
@keyframes cartHeaderIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* Cart footer slide up */
@keyframes cartFooterIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* Col head fade in */
@keyframes colHeadIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}


@keyframes cartItemOut {
  to { opacity: 0; transform: translateX(-20px); max-height: 0; padding: 0; margin: 0; overflow: hidden; }
}

/* ── Qty change pulse ── */
@keyframes qtyPulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.3); color: var(--ec-red); }
  100% { transform: scale(1); }
}


/* ── Cart count badge bounce ── */
@keyframes countBounce {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.5); }
  70%  { transform: scale(.9); }
  100% { transform: scale(1); }
}
.ecommza-cart-count.is-updated {
  animation: countBounce .4s cubic-bezier(.32,1.25,.32,1);
}

/* ── Mobile responsive ── */
@media (max-width: 794px) {
  .cart-sidebar {
    width: 100%;
    max-width: 100%;
    left: -100%;
    transition: left .4s cubic-bezier(.32,1.25,.32,1), box-shadow .4s ease;
  }
  html[dir="rtl"] .cart-sidebar {
    right: -100%;
    left: auto;
    transition: right .4s cubic-bezier(.32,1.25,.32,1), box-shadow .4s ease;
  }
  html[dir="rtl"] .cart-sidebar.is-open { right: 0; }
  .cart-sidebar__layout { grid-template-columns: 1fr; }
  html[dir="rtl"] .cart-sidebar__layout { grid-template-columns: 1fr; }
  .cart-sidebar__col--related { display: none; }
}

/* ============================================================
   AJAX ADD TO CART - Button States
============================================================ */
.ajax-add-to-cart {
  cursor: pointer;
  border: 0;
  transition: background var(--ec-transition), color var(--ec-transition),
              transform .25s cubic-bezier(.32,1.25,.32,1), box-shadow var(--ec-transition) !important;
}
.ajax-add-to-cart.is-loading {
  opacity: .7;
  cursor: wait;
  pointer-events: none;
}
.ajax-add-to-cart:active {
  transform: scale(.92) !important;
}

/* Success flash */
@keyframes addedFlash {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.25); }
  70%  { transform: scale(.95); }
  100% { transform: scale(1); }
}
.ajax-add-to-cart.is-added {
  animation: addedFlash .4s cubic-bezier(.32,1.25,.32,1);
}


/* ── Mobile: hide related on small screens ── */
@media (max-width: 640px) {
  .cart-sidebar__col--related { display: none; }
  .cart-sidebar__layout { grid-template-columns: 1fr !important; }
}


/* Subtotal row - price left {
  flex-direction: row;
}


/* Mobile */
@media (max-width: 640px) {
  .cart-sidebar__col--related { display: none !important; }
  .cart-sidebar__layout { grid-template-columns: 1fr !important; }
  .cart-sidebar { width: 100%; max-width: 100%; }
}

/* ============================================================
   CART SIDEBAR - Column order matching screenshot
   RTL layout: Related(right) | Cart(middle) | X is inside cart header
   grid: related first in DOM = right in RTL,
cart second = left in RTL
   We need: Cart on RIGHT,
Related on LEFT in RTL
   Screenshot shows: X | Cart | Related  (left to right in RTL = right to left visually)
   So in RTL grid: col1=Cart(right),
col2=Related(left)
   HTML has: col--cart first,
col--related second
   In RTL grid-template-columns: 1fr 240px means col1 is RIGHT,
col2 is LEFT
   This matches: Cart RIGHT { order: 1; }


/* ── Qty loading spinner ── */
@keyframes qtySpinAnim {
  to { transform: rotate(360deg); }
}


.cs-related-card {
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  transform: none !important;
  padding-bottom: 2px;
}


.cs-related-card__img {
  width: 198px;
  height: 105px;
  aspect-ratio: auto;
  background: #f4f4f4;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}

.cs-related-card__img img {
  object-fit: cover;
  transform: none !important;
}

.cs-related-card__info {
  padding: 20px 0 0;
  gap: 6px;
  align-items: flex-end;
  text-align: right;
}

.cs-related-card__cat,
.cs-related-card__badge {
  display: none;
}

.cs-related-card__name {
  max-width: 205px;
  color: #000;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.cs-related-card__price {
  justify-content: flex-end;
  color: #000;
  font-size: 15px;
  font-weight: 700;
  gap: 7px;
  direction: rtl;
}

.cs-related-card__price del {
  color: #999;
  font-size: 15px;
  order: 2;
}

.cs-related-card__price ins {
  color: #000;
  order: 1;
}


/* ========================
   Wishlist Page
======================== */
.wishlist-page {
  padding: 60px 0;
}
.wishlist-header {
  text-align: center;
  margin-bottom: 48px;
}
.wishlist-header h1 {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 12px;
}
.wishlist-header p {
  font-size: 16px;
  color: var(--ec-muted);
}
.wishlist-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.wishlist-empty {
  text-align: center;
  padding: 80px 20px;
}
.wishlist-empty > i {
  font-size: 80px;
  color: var(--ec-line);
  margin-bottom: 24px;
  display: block;
}
.wishlist-empty h2 {
  font-size: 28px;
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 12px;
}
.wishlist-empty p {
  font-size: 16px;
  color: var(--ec-muted);
  margin-bottom: 24px;
}

/* ========================
   Compare Page
======================== */
.compare-page {
  padding: 60px 0;
  background: var(--ec-soft);
}
.compare-header {
  text-align: center;
  margin-bottom: 48px;
}
.compare-header h1 {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 12px;
}
.compare-header p {
  font-size: 16px;
  color: var(--ec-muted);
}
.compare-table-wrap {
  overflow-x: auto;
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow-hover);
  background: var(--ec-white);
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--ec-white);
  min-width: 800px;
}
.compare-table th,
.compare-table td {
  padding: 20px;
  text-align: center;
  border: 1px solid var(--ec-line);
  vertical-align: middle;
}
.compare-table th.compare-table__label {
  background: linear-gradient(135deg, var(--ec-black) 0%, var(--ec-navy) 100%);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .5px;
  text-align: right;
  width: 180px;
  position: sticky;
  right: 0;
  z-index: 10;
}
.compare-table td {
  font-size: 15px;
  color: var(--ec-text);
  background: var(--ec-white);
}
.compare-table__product {
  padding: 24px !important;
  background: var(--ec-soft) !important;
}
.compare-product-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.compare-product-card img {
  width: 100%;
  max-width: 180px;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
  transition: transform var(--ec-transition);
}
.compare-product-card img:hover {
  transform: scale(1.05);
}
.compare-product-card h3 {
  font-size: 16px;
  font-weight: 800;
  color: var(--ec-black);
  text-align: center;
  line-height: 1.4;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.compare-product-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.compare-btn-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  background: var(--ec-red);
  color: #fff;
  border-radius: var(--ec-radius);
  font-size: 13px;
  font-weight: 800;
  transition: all var(--ec-transition);
}
.compare-btn-view:hover {
  background: var(--ec-red-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37,99,235,.3);
  color: #fff;
}
.compare-table__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  background: transparent;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 13px;
  font-weight: 700;
  color: var(--ec-muted);
  transition: all var(--ec-transition);
}
.compare-table__remove:hover {
  background: #FEE2E2;
  border-color: #DC2626;
  color: #DC2626;
}
.compare-table__price {
  font-size: 20px;
  font-weight: 900;
  color: var(--ec-red);
}
.compare-discount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  background: #FEE2E2;
  color: #DC2626;
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 800;
}
.compare-stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 700;
}
.compare-stock--in {
  background: #e7eefc;
  color: #1a3671;
}
.compare-stock--out {
  background: #FEE2E2;
  color: #991B1B;
}
.compare-rating {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.rating-stars {
  color: #FFA500;
  font-size: 16px;
}
.rating-stars i {
  margin: 0 1px;
}
.rating-count {
  font-size: 12px;
  color: var(--ec-muted);
}
.compare-no-rating {
  font-size: 13px;
  color: var(--ec-muted);
  font-style: italic;
}
.compare-table__desc {
  text-align: right !important;
  line-height: 1.6;
  max-width: 300px;
}
.compare-empty {
  text-align: center;
  padding: 80px 20px;
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
}
.compare-empty i {
  font-size: 80px;
  color: var(--ec-line);
  margin-bottom: 24px;
}
.compare-empty h2 {
  font-size: 28px;
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 12px;
}
.compare-empty p {
  font-size: 16px;
  color: var(--ec-muted);
  margin-bottom: 24px;
}

/* ========================
   Responsive Design
======================== */
@media (max-width: 1200px) {
  .ecommza-products-grid { flex-wrap: wrap; }
  .wishlist-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 992px) {
  .ecommza-menu-wrap { display: none; }
  .ecommza-mobile-toggle { display: flex; }
  .ecommza-products-grid { flex-wrap: wrap; }
  .wishlist-grid { grid-template-columns: repeat(2, 1fr); }
  .ecommza-categories__grid { grid-template-columns: repeat(4, 1fr); }
  .hero-slide__inner { grid-template-columns: 1fr; }
  .hero-slide { min-height: 600px; }
  .compare-bar__items { max-width: 300px; }
}

@media (max-width: 768px) {
  .ecommza-products-grid { flex-wrap: wrap; }
  .wishlist-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .ecommza-categories__grid { grid-template-columns: repeat(3, 1fr); }
  .ecommza-banners__grid { grid-template-columns: 1fr; }

  .compare-bar__inner { flex-wrap: wrap; }
  .compare-bar__items { order: 3; width: 100%; }
}

@media (max-width: 576px) {
  .ecommza-products-grid { flex-wrap: wrap; }
  .wishlist-grid { grid-template-columns: 1fr; }
  .ecommza-categories__grid { grid-template-columns: repeat(2, 1fr); }
}


/* Shop Page Enhancements */
.wc-page-header {
  background: linear-gradient(135deg, var(--ec-black) 0%, var(--ec-navy) 100%);
  color: #fff;
  padding: 60px 0;
  margin-bottom: 48px;
}
.wc-page-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.wc-page-header__content h1 {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 900;
  margin-bottom: 12px;
  color: #fff;
}
.wc-page-header__desc {
  font-size: 16px;
  color: rgba(255,255,255,.85);
  line-height: 1.6;
  max-width: 600px;
}
.wc-page-header__stats {
  display: flex;
  gap: 24px;
}
.wc-stat-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--ec-radius-lg);
  backdrop-filter: blur(10px);
}
.wc-stat-item i {
  font-size: 28px;
  color: var(--ec-red);
}
.wc-stat-content strong {
  display: block;
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}
.wc-stat-content span {
  font-size: 13px;
  color: rgba(255,255,255,.7);
}

/* Shop Layout */
.shop-layout {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
}

/* Shop Sidebar */
.shop-sidebar {
  position: sticky;
  top: 100px;
}
.shop-sidebar__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.shop-widget {
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  padding: 24px;
  box-shadow: var(--ec-shadow);
  transition: box-shadow var(--ec-transition);
}
.shop-widget:hover {
  box-shadow: var(--ec-shadow-hover);
}
.shop-widget__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 16px;
}
.shop-widget__title i {
  color: var(--ec-red);
  font-size: 18px;
}

/* Search Form */
.shop-search-form {
  position: relative;
  display: flex;
  align-items: center;
  border: 2px solid var(--ec-line);
  border-radius: var(--ec-radius);
  overflow: hidden;
  transition: border-color var(--ec-transition);
}
.shop-search-form:focus-within {
  border-color: var(--ec-red);
}
.shop-search-form input[type="search"] {
  flex: 1;
  height: 44px;
  padding: 0 16px;
  border: 0;
  font-size: 14px;
  color: var(--ec-text);
}
.shop-search-form button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: var(--ec-red);
  color: #fff;
  border: 0;
  font-size: 14px;
  transition: background var(--ec-transition);
}
.shop-search-form button:hover {
  background: var(--ec-red-dark);
}

/* Categories List */
.shop-categories-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.shop-categories-list li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 600;
  color: var(--ec-text);
  transition: all var(--ec-transition);
}
.shop-categories-list .cat-logo {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  padding: 5px;
  border: 1px solid var(--ec-line);
  border-radius: 10px;
  background: #fff;
  object-fit: contain;
}
.shop-categories-list .cat-name {
  flex: 1;
  min-width: 0;
}
.shop-categories-list li a:hover,
.shop-categories-list li.is-active a {
  background: var(--ec-soft);
  color: var(--ec-red);
}
.shop-categories-list .cat-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  background: var(--ec-line);
  border-radius: 99px;
  font-size: 11px;
  font-weight: 800;
  color: var(--ec-muted);
}
.shop-categories-list li.is-active .cat-count {
  background: var(--ec-red);
  color: #fff;
}

/* Highlight Widget */
.shop-widget--highlight {
  background: linear-gradient(135deg, var(--ec-red) 0%, var(--ec-red-dark) 100%);
  color: #fff;
}
.shop-widget--highlight .shop-widget__title {
  color: #fff;
}
.shop-widget--highlight .shop-widget__title i {
  color: #FFA500;
}
.shop-widget--highlight p {
  font-size: 14px;
  color: rgba(255,255,255,.9);
  margin-bottom: 16px;
  line-height: 1.6;
}
.shop-widget__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: var(--ec-radius);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  transition: all var(--ec-transition);
}
.shop-widget__btn:hover {
  background: rgba(255,255,255,.3);
  border-color: rgba(255,255,255,.5);
  transform: translateX(-4px);
  color: #fff;
}

/* Shop Toolbar */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
  margin-bottom: 32px;
}
.shop-toolbar__left,
.shop-toolbar__right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.woocommerce-result-count {
  font-size: 14px;
  color: var(--ec-muted);
  font-weight: 600;
}
.woocommerce-ordering select {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 600;
  color: var(--ec-text);
  background: var(--ec-white);
  cursor: pointer;
  transition: border-color var(--ec-transition);
}
.woocommerce-ordering select:hover,
.woocommerce-ordering select:focus {
  border-color: var(--ec-red);
}

/* View Toggle */
.shop-view-toggle {
  display: flex;
  gap: 4px;
  background: var(--ec-soft);
  padding: 4px;
  border-radius: var(--ec-radius);
}
.view-toggle-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--ec-radius);
  font-size: 16px;
  color: var(--ec-muted);
  transition: all var(--ec-transition);
}
.view-toggle-btn:hover {
  color: var(--ec-red);
}
.view-toggle-btn.is-active {
  background: var(--ec-red);
  color: #fff;
}

/* Shop Products Wrapper */
.shop-products-wrapper {
  /* Products grid styles already defined */
}

/* List View */
.shop-products-wrapper.view-list .ecommza-products-grid {
  grid-template-columns: 1fr;
  gap: 20px;
}
.shop-products-wrapper.view-list .schooly-product-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  align-items: center;
}
.shop-products-wrapper.view-list .schooly-product-card__image {
  aspect-ratio: 1/1;
}
.shop-products-wrapper.view-list .schooly-product-card__body {
  padding: 0;
}
.shop-products-wrapper.view-list .product-action_list {
  position: static;
  flex-direction: row;
  opacity: 1;
  transform: none;
  margin-top: 16px;
}

/* Responsive */
@media (max-width: 1200px) {
  .shop-layout {
    align-items: start;
  }
  .wc-page-header__stats {
    flex-direction: column;
    gap: 12px;
  }
}

/* ============================================================
   WooCommerce loops use the SCHOOLY product card,
not defaults
============================================================ */
.woocommerce ul.products.row,
.woocommerce-page ul.products.row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.woocommerce ul.products li.product > .schooly-product-card,
.woocommerce-page ul.products li.product > .schooly-product-card {
  width: 100% !important;
  height: 100% !important;
}

.woocommerce ul.products li.product .schooly-product-card__image img,
.woocommerce-page ul.products li.product .schooly-product-card__image img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

.woocommerce ul.products li.product .schooly-product-card__body h3,
.woocommerce-page ul.products li.product .schooly-product-card__body h3 {
  padding: 0 !important;
}


.woocommerce ul.products li.product > .button,
.woocommerce-page ul.products li.product > .button,
.woocommerce ul.products li.product > .woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > .woocommerce-LoopProduct-link {
  display: none !important;
}

/* ============================================================
   Shop toolbar controls and tooltips final state
============================================================ */
.shop-toolbar__right .woocommerce-ordering,
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
  position: relative !important;
  margin: 0 !important;
}

.shop-toolbar__right .woocommerce-ordering::after,
.woocommerce .woocommerce-ordering::after,
.woocommerce-page .woocommerce-ordering::after {
  content: "\f107" !important;
  position: absolute !important;
  left: 16px !important;
  right: auto !important;
  top: 50% !important;
  z-index: 2 !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  color: #07111f !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

.shop-toolbar__right .woocommerce-ordering select,
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  min-width: 210px !important;
  min-height: 44px !important;
  padding: 10px 44px 10px 16px !important;
  border: 1px solid #07111f !important;
  border-radius: 12px !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #07111f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
}

html[dir="rtl"] .shop-toolbar__right .woocommerce-ordering::after,
html[dir="rtl"] .woocommerce .woocommerce-ordering::after,
html[dir="rtl"] .woocommerce-page .woocommerce-ordering::after {
  left: 16px !important;
  right: auto !important;
}

html[dir="rtl"] .shop-toolbar__right .woocommerce-ordering select,
html[dir="rtl"] .woocommerce .woocommerce-ordering select,
html[dir="rtl"] .woocommerce-page .woocommerce-ordering select {
  padding-right: 16px !important;
  padding-left: 44px !important;
}

.shop-products-wrapper.view-grid ul.products.row > li.product,
.shop-products-wrapper:not(.view-list) ul.products.row > li.product {
  flex: 0 0 auto !important;
}

.shop-products-wrapper.view-list ul.products.row,
.shop-products-wrapper.view-list .woocommerce ul.products.row {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.shop-products-wrapper.view-list ul.products.row > li.product {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.shop-products-wrapper.view-list ul.products.row > li.product > .schooly-product-card {
  display: grid !important;
  grid-template-columns: minmax(170px, 240px) minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.shop-products-wrapper.view-list .schooly-product-card__image {
  aspect-ratio: 1 / 1 !important;
}

.shop-products-wrapper.view-list .schooly-product-card__body {
  padding: 0 !important;
}

.shop-products-wrapper.view-list .product-action_list {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.schooly-has-tooltip,
.box-icon.hover-tooltip {
  position: relative !important;
  overflow: visible !important;
}

.schooly-has-tooltip::after,
.box-icon.hover-tooltip::after {
  content: attr(data-tooltip) !important;
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 9px) !important;
  top: auto !important;
  z-index: 40 !important;
  width: max-content !important;
  max-width: 170px !important;
  padding: 6px 9px !important;
  display: block !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(4px) !important;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
}

.schooly-has-tooltip:hover::after,
.schooly-has-tooltip:focus-visible::after,
.box-icon.hover-tooltip:hover::after,
.box-icon.hover-tooltip:focus-visible::after {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

.box-icon.hover-tooltip:not([data-tooltip])::after,
.schooly-has-tooltip:not([data-tooltip])::after {
  display: none !important;
}

.product-action_list .box-icon.hover-tooltip::after,
.schooly-loop-actions .box-icon.hover-tooltip::after,
.product-action_list .schooly-wishlist-button--loop::after,
.schooly-loop-actions .schooly-wishlist-button--loop::after {
  left: calc(100% + 9px) !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) translateX(4px) !important;
}

.product-action_list .box-icon.hover-tooltip:hover::after,
.schooly-loop-actions .box-icon.hover-tooltip:hover::after,
.product-action_list .box-icon.hover-tooltip:focus-visible::after,
.schooly-loop-actions .box-icon.hover-tooltip:focus-visible::after,
.product-action_list .schooly-wishlist-button--loop:hover::after,
.schooly-loop-actions .schooly-wishlist-button--loop:hover::after,
.product-action_list .schooly-wishlist-button--loop:focus-visible::after,
.schooly-loop-actions .schooly-wishlist-button--loop:focus-visible::after {
  transform: translateY(-50%) translateX(0) !important;
}

html[dir="rtl"] .product-action_list .box-icon.hover-tooltip::after,
html[dir="rtl"] .schooly-loop-actions .box-icon.hover-tooltip::after,
html[dir="rtl"] .product-action_list .schooly-wishlist-button--loop::after,
html[dir="rtl"] .schooly-loop-actions .schooly-wishlist-button--loop::after {
  left: auto !important;
  right: calc(100% + 9px) !important;
  transform: translateY(-50%) translateX(-4px) !important;
}

html[dir="rtl"] .product-action_list .box-icon.hover-tooltip:hover::after,
html[dir="rtl"] .schooly-loop-actions .box-icon.hover-tooltip:hover::after,
html[dir="rtl"] .product-action_list .box-icon.hover-tooltip:focus-visible::after,
html[dir="rtl"] .schooly-loop-actions .box-icon.hover-tooltip:focus-visible::after,
html[dir="rtl"] .product-action_list .schooly-wishlist-button--loop:hover::after,
html[dir="rtl"] .schooly-loop-actions .schooly-wishlist-button--loop:hover::after,
html[dir="rtl"] .product-action_list .schooly-wishlist-button--loop:focus-visible::after,
html[dir="rtl"] .schooly-loop-actions .schooly-wishlist-button--loop:focus-visible::after {
  transform: translateY(-50%) translateX(0) !important;
}

@media (max-width: 768px) {
  .shop-toolbar {
    align-items: stretch !important;
  }

  .shop-toolbar__right {
    flex-wrap: wrap !important;
  }

  .shop-toolbar__right .woocommerce-ordering,
.shop-toolbar__right .woocommerce-ordering select {
    width: 100% !important;
  }

  .shop-products-wrapper.view-list ul.products.row > li.product > .schooly-product-card {
    display: flex !important;
    gap: 0 !important;
  }
}

@media (max-width: 992px) {
  .shop-layout {
    align-items: stretch;
  }
  .shop-sidebar {
    position: static;
    order: 2;
  }
  .shop-sidebar__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  .wc-page-header__inner {
    flex-direction: column;
    text-align: center;
  }
  .wc-page-header__stats {
    flex-direction: row;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .shop-sidebar__inner {
    flex-direction: column;
  }
  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .shop-toolbar__left,
.shop-toolbar__right {
    justify-content: space-between;
  }
  .wc-page-header {
    padding: 40px 0;
  }
  .shop-products-wrapper.view-list .schooly-product-card {
    grid-template-columns: 1fr;
  }
}

/* Pagination */
.woocommerce-pagination {
  margin-top: 60px;
  text-align: center;
}
.woocommerce-pagination ul {
  display: inline-flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-pagination ul li {
  margin: 0;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 14px;
  font-weight: 700;
  color: var(--ec-text);
  transition: all var(--ec-transition);
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
  background: var(--ec-red);
  border-color: var(--ec-red);
  color: #fff;
}

/* Cart Page */
.woocommerce-cart-form {
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
  overflow: hidden;
}
.woocommerce-cart-form table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-cart-form th {
  background: var(--ec-soft);
  padding: 16px;
  font-size: 14px;
  font-weight: 800;
  text-align: right;
  border-bottom: 2px solid var(--ec-line);
}
.woocommerce-cart-form td {
  padding: 20px 16px;
  border-bottom: 1px solid var(--ec-line);
}
.cart_item .product-thumbnail img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--ec-radius);
}
.cart_item .product-name a {
  font-size: 16px;
  font-weight: 700;
  color: var(--ec-text);
  transition: color var(--ec-transition);
}
.cart_item .product-name a:hover {
  color: var(--ec-red);
}
.cart_item .product-price,
.cart_item .product-subtotal {
  font-size: 16px;
  font-weight: 900;
  color: var(--ec-black);
}

.cart_totals {
  background: var(--ec-soft);
  border-radius: var(--ec-radius-lg);
  padding: 32px;
  max-width: 500px;
  margin-right: auto;
}
.cart_totals h2 {
  font-size: 24px;
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 24px;
}
.cart_totals table {
  width: 100%;
  margin-bottom: 24px;
}
.cart_totals th,
.cart_totals td {
  padding: 12px 0;
  font-size: 16px;
  border-bottom: 1px solid var(--ec-line);
}
.cart_totals th {
  font-weight: 700;
  color: var(--ec-text);
  text-align: right;
}
.cart_totals td {
  font-weight: 900;
  color: var(--ec-black);
  text-align: left;
}
.cart_totals .order-total th,
.cart_totals .order-total td {
  font-size: 20px;
  color: var(--ec-red);
  border-bottom: 0;
  padding-top: 20px;
}
.wc-proceed-to-checkout .checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  padding: 14px 32px;
  background: var(--ec-black);
  color: #fff;
  border-radius: var(--ec-radius);
  font-size: 16px;
  font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition);
}
.wc-proceed-to-checkout .checkout-button:hover {
  background: var(--ec-red);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(37,99,235,.3);
  color: #fff;
}

/* Checkout Page */
body.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
  font-size: 20px;
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 20px;
}
.woocommerce-checkout .form-row {
  margin-bottom: 20px;
}
.woocommerce-checkout label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ec-text);
  margin-bottom: 8px;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 15px;
  color: var(--ec-text);
  transition: border-color var(--ec-transition);
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--ec-red);
  outline: none;
}
#order_review_heading {
  font-size: 24px;
  font-weight: 900;
  color: var(--ec-black);
  margin-bottom: 24px;
}
#order_review {
  background: var(--ec-soft);
  border-radius: var(--ec-radius-lg);
  padding: 32px;
}
.woocommerce-checkout-review-order-table {
  width: 100%;
  margin-bottom: 24px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--ec-line);
}
#place_order {
  width: 100%;
  min-height: 56px;
  padding: 14px 32px;
  background: var(--ec-black);
  color: #fff;
  border-radius: var(--ec-radius);
  font-size: 16px;
  font-weight: 800;
  transition: background var(--ec-transition), transform var(--ec-transition), box-shadow var(--ec-transition);
}
#place_order:hover {
  background: var(--ec-red);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(37,99,235,.3);
  color: #fff;
}

/* My Account Page */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--ec-soft);
  border-radius: var(--ec-radius-lg);
  padding: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin-bottom: 8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ec-text);
  border-radius: var(--ec-radius);
  transition: background var(--ec-transition), color var(--ec-transition);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--ec-red);
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--ec-white);
  border-radius: var(--ec-radius-lg);
  padding: 32px;
  box-shadow: var(--ec-shadow);
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  padding: 20px 0;
  font-size: 14px;
  color: var(--ec-muted);
}
.woocommerce-breadcrumb a {
  color: var(--ec-text);
  font-weight: 600;
  transition: color var(--ec-transition);
}
.woocommerce-breadcrumb a:hover {
  color: var(--ec-red);
}

/* Messages & Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 16px 20px;
  border-radius: var(--ec-radius);
  margin-bottom: 20px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 12px;
}
.woocommerce-message {
  background: #e7eefc;
  color: #1a3671;
  border-right: 4px solid #2f62ce;
}
.woocommerce-info {
  background: #DBEAFE;
  color: #1E40AF;
  border-right: 4px solid #2563EB;
}
.woocommerce-error {
  background: #FEE2E2;
  color: #991B1B;
  border-right: 4px solid #DC2626;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 18px;
}
.woocommerce-message::before {
  content: "\f058";
  color: #2f62ce;
}
.woocommerce-info::before {
  content: "\f05a";
  color: #2563EB;
}
.woocommerce-error::before {
  content: "\f06a";
  color: #DC2626;
}


@keyframes spin {
  to { transform: rotate(360deg); }
}


.product-action-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  background: var(--ec-white);
  border: 2px solid var(--ec-line);
  border-radius: var(--ec-radius);
  font-size: 15px;
  font-weight: 700;
  color: var(--ec-text);
  transition: all var(--ec-transition);
}
.product-action-btn:hover {
  border-color: var(--ec-red);
  color: var(--ec-red);
  background: #DBEAFE;
}
.product-action-btn i {
  font-size: 18px;
}


/* Guest My Account login/register layout */
body.woocommerce-account:not(.logged-in) .schooly-shop-page {
  background: #f6f8fb;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  padding: 24px 0 56px !important;
  width: 100% !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login::before,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login::after {
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .col-2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login h2 {
  margin: 0 0 16px !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  color: var(--ec-black) !important;
  text-align: right !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register {
  height: calc(100% - 50px) !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 16px 45px rgba(15, 23, 42, .07) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .form-row {
  margin: 0 0 16px !important;
  padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .form-row label {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  color: var(--ec-black) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .form-row input.input-text {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #d7dde8 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ec-black) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .form-row input.input-text:focus {
  border-color: var(--ec-red) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
  outline: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .password-input {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .show-password-input {
  top: 50% !important;
  left: 12px !important;
  right: auto !important;
  width: 34px !important;
  height: 34px !important;
  margin-top: -17px !important;
  border-radius: 9px !important;
  display: grid !important;
  place-items: center !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .show-password-input::after {
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce button.button {
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 12px !important;
  background: var(--ec-black) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce button.button:hover {
  background: var(--ec-red) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword {
  margin: 14px 0 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a {
  color: var(--ec-red) !important;
  font-weight: 800 !important;
}

body.woocommerce-account .woocommerce:has(#customer_login) {
  display: block !important;
  padding: 24px 0 56px !important;
  width: 100% !important;
}

body.woocommerce-account .woocommerce:has(#customer_login) #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

body.woocommerce-account .woocommerce:has(#customer_login) #customer_login .col-1,
body.woocommerce-account .woocommerce:has(#customer_login) #customer_login .col-2,
body.woocommerce-account .woocommerce:has(#customer_login) #customer_login .u-column1,
body.woocommerce-account .woocommerce:has(#customer_login) #customer_login .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.woocommerce-account .woocommerce:has(#customer_login) #customer_login::before,
body.woocommerce-account .woocommerce:has(#customer_login) #customer_login::after {
  display: none !important;
}

body.woocommerce-account .wc-page-header {
  padding: 34px 0 !important;
  margin-bottom: 0 !important;
}

body.woocommerce-account .wc-page-header__content h1 {
  font-size: clamp(28px, 3vw, 38px) !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.woocommerce-account .woocommerce:has(#customer_login) #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login {
    grid-template-columns: 1fr !important;
    max-width: 560px !important;
  }
}

@media (max-width: 992px) {
  .hero-slide {
    min-height: 560px !important;
  }

  .hero-slide::before {
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.7)) !important;
  }

  .hero-slide__inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 58px 0 86px !important;
    text-align: center !important;
  }

  .hero-slide__content {
    align-items: center !important;
    margin: 0 auto !important;
  }

  .hero-slide__sub {
    max-width: 620px !important;
  }

  .hero-slide__image {
    display: flex !important;
    min-height: 260px !important;
  }

  .hero-slide__image img {
    max-height: 300px !important;
  }
}

@media (max-width: 640px) {
  .hero-slide {
    min-height: 520px !important;
  }

  .hero-slide__inner {
    padding: 46px 0 78px !important;
  }

  .hero-slide__title {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .hero-slide__sub {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .hero-slide__image {
    min-height: 190px !important;
  }

  .hero-slide__image img {
    max-height: 210px !important;
  }

  .hero-pagination {
    bottom: 22px !important;
  }
}

/* Final hero slider polish */
.ecommza-hero-slider {
  isolation: isolate;
  border-bottom: 1px solid rgba(15, 23, 42, .06);
}

.hero-slide {
  background-image:
    radial-gradient(circle at 16% 18%, rgba(37, 99, 235, .14), transparent 28%),
    radial-gradient(circle at 86% 14%, rgba(15, 23, 42, .10), transparent 24%) !important;
}

.hero-slide__content {
  position: relative;
}

.hero-slide__label,
.hero-slide__title,
.hero-slide__sub,
.hero-slide__price,
.hero-slide__btn,
.hero-slide__image {
  overflow: hidden;
}

.hero-slide__content::before {
  content: "";
  width: 76px;
  height: 4px;
  border-radius: 99px;
  background: var(--ec-red);
  order: -1;
}

.hero-slide__image {
  position: relative;
}

.hero-slide__image::before {
  content: "";
  position: absolute;
  inset: 8% 2% 4% 12%;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.22));
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 30px 90px rgba(15,23,42,.14);
  transform: rotate(-2deg);
}

.hero-slide__image img {
  position: relative;
  z-index: 1;
}

.hero-swiper.swiper-fade .swiper-slide {
  pointer-events: none;
}

.hero-swiper.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

@media (max-width: 992px) {
  .hero-slide__content::before {
    margin: 0 auto;
  }

  .hero-slide__image::before {
    inset: 4% 14%;
    border-radius: 24px;
  }
}

/* Premium GSAP/Swiper hero composition */
.ecommza-hero-slider {
  background:
    linear-gradient(180deg, #fff 0%, #f6f8fb 100%);
}

.hero-swiper {
  min-height: 680px;
}

.hero-slide {
  min-height: 680px !important;
}

.hero-slide::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(246,248,251,0), rgba(246,248,251,.92));
  pointer-events: none;
}

.hero-slide__inner {
  grid-template-columns: minmax(440px, .86fr) minmax(520px, 1.14fr) !important;
  gap: clamp(44px, 5vw, 86px) !important;
  min-height: 680px;
  padding: 72px 0 104px !important;
}

.hero-slide__content {
  gap: 20px !important;
  max-width: 650px !important;
}

.hero-slide__label {
  padding: 9px 15px !important;
  background: rgba(255,255,255,.82) !important;
  color: #1D4ED8 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  box-shadow: 0 14px 34px rgba(37,99,235,.10) !important;
}

.hero-slide__title {
  max-width: 680px !important;
  font-size: clamp(42px, 4.7vw, 68px) !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: #07111f !important;
  text-wrap: balance;
  padding: .04em 0 .12em !important;
  overflow: visible !important;
}

.hero-slide__sub {
  max-width: 560px !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1.9 !important;
  color: #43536a !important;
  font-weight: 650 !important;
}

.hero-slide__price strong {
  font-size: clamp(28px, 2.6vw, 40px) !important;
}

.hero-slide__btn {
  min-height: 56px !important;
  padding: 0 32px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.hero-slide__btn i {
  transition: transform .22s ease;
}

.hero-slide__btn:hover i {
  transform: translateX(-3px);
}

.hero-slide__image {
  min-height: 560px !important;
  perspective: 1200px;
}

.hero-slide__image::before {
  inset: 7% 0 3% 10% !important;
  border-radius: 36px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.22)),
    linear-gradient(135deg, rgba(37,99,235,.18), rgba(15,23,42,.06)) !important;
}

.hero-slide__image img {
  width: min(100%, 670px) !important;
  max-height: 640px !important;
  transition: none !important;
}

.hero-slide:hover .hero-slide__image img {
  transform: none !important;
}

.hero-slide__label,
.hero-slide__title,
.hero-slide__sub,
.hero-slide__price,
.hero-slide__btn,
.hero-slide__image {
  opacity: 1;
  visibility: visible;
}

.hero-swiper .hero-slide__label,
.hero-swiper .hero-slide__title,
.hero-swiper .hero-slide__sub,
.hero-swiper .hero-slide__price,
.hero-swiper .hero-slide__btn,
.hero-swiper .hero-slide__image {
  opacity: 1 !important;
  visibility: visible !important;
  will-change: transform, opacity;
}

.hero-pagination {
  bottom: 30px !important;
}

.hero-pagination .swiper-pagination-bullet {
  position: relative;
  overflow: hidden;
}

.hero-pagination .swiper-pagination-bullet-active {
  width: 42px !important;
}

.hero-pagination .swiper-pagination-bullet-active::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255,255,255,.55), rgba(255,255,255,0));
}

@media (max-width: 1200px) {
  .hero-slide__inner {
    grid-template-columns: minmax(360px, .9fr) minmax(430px, 1.1fr) !important;
  }
}

@media (max-width: 992px) {
  .hero-swiper,
.hero-slide {
    min-height: 620px !important;
  }

  .hero-slide__inner {
    grid-template-columns: 1fr !important;
    min-height: 620px !important;
    padding: 58px 0 92px !important;
  }

  .hero-slide__title {
    max-width: 760px !important;
    font-size: clamp(34px, 6.4vw, 52px) !important;
    line-height: 1.18 !important;
  }

  .hero-slide__sub {
    max-width: 680px !important;
  }
}

@media (max-width: 640px) {
  .hero-swiper,
.hero-slide {
    min-height: 570px !important;
  }

  .hero-slide__inner {
    min-height: 570px !important;
    padding: 42px 0 82px !important;
    gap: 22px !important;
  }

  .hero-slide__content {
    gap: 14px !important;
  }

  .hero-slide__label {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }

  .hero-slide__title {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }

  .hero-slide__sub {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }

  .hero-slide__btn {
    width: 100%;
    max-width: 280px;
    min-height: 50px !important;
  }

  .hero-slide__image {
    min-height: 210px !important;
  }

  .hero-slide__image img {
    max-height: 230px !important;
  }
}

/* Stable final hero slider state */
.hero-swiper,
.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
  opacity: 1 !important;
  visibility: visible !important;
}

.hero-slide__title {
  overflow: visible !important;
  clip-path: none !important;
}

.hero-slide__label,
.hero-slide__sub,
.hero-slide__price,
.hero-slide__btn {
  overflow: visible !important;
}

.hero-slide__image {
  overflow: visible !important;
  transform-style: preserve-3d;
}

.hero-slide__image img {
  transition: transform .45s ease, filter .45s ease !important;
  will-change: transform;
}

.hero-swiper .swiper-slide-active .hero-slide__image:hover img {
  transform: translateY(-8px) scale(1.035) !important;
  filter: drop-shadow(0 38px 60px rgba(15,23,42,.22)) !important;
}

.hero-slide__label,
.hero-slide__title,
.hero-slide__sub,
.hero-slide__price,
.hero-slide__btn,
.hero-slide__image,
.hero-slide__image img {
  backface-visibility: hidden;
}

.hero-slide__image img {
  transform-origin: center center;
}

/* Final hero pagination */
.hero-swiper .hero-pagination {
  position: absolute !important;
  right: 50% !important;
  left: auto !important;
  bottom: 28px !important;
  transform: translateX(50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 42px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 16px 42px rgba(15,23,42,.12) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  z-index: 20 !important;
}

.hero-swiper .hero-pagination .swiper-pagination-bullet {
  position: relative !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #cbd5e1 !important;
  opacity: 1 !important;
  overflow: hidden !important;
  transform: none !important;
  transition: width .28s ease, background .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

.hero-swiper .hero-pagination .swiper-pagination-bullet:hover {
  background: #94a3b8 !important;
  transform: translateY(-1px) scale(1.08) !important;
}

.hero-swiper .hero-pagination .swiper-pagination-bullet-active {
  width: 42px !important;
  background: rgba(37,99,235,.18) !important;
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.22) !important;
}

.hero-swiper .hero-pagination .swiper-pagination-bullet-active::after {
  content: "" !important;
  position: absolute !important;
  inset: 2px !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #1d4ed8, #60a5fa) !important;
  transform-origin: right center !important;
  animation: schoolyHeroBullet 4.8s linear forwards !important;
}

@keyframes schoolyHeroBullet {
  from { transform: scaleX(.18); }
  to { transform: scaleX(1); }
}

@media (max-width: 640px) {
  .hero-swiper .hero-pagination {
    bottom: 18px !important;
    height: 36px !important;
    padding: 0 10px !important;
  }

  .hero-swiper .hero-pagination .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }

  .hero-swiper .hero-pagination .swiper-pagination-bullet-active {
    width: 34px !important;
  }
}


/* Bootstrap grid owns store layout */
.shop-layout.row,
.ecommza-products-grid.row,
.woocommerce ul.products.row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}

.ecommza-products-grid.row,
.woocommerce ul.products.row {
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin-right: calc(-.5 * var(--bs-gutter-x, 1.5rem)) !important;
  margin-left: calc(-.5 * var(--bs-gutter-x, 1.5rem)) !important;
}

.ecommza-products-grid.row > [class*="col-"] {
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5) !important;
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5) !important;
  margin-bottom: var(--bs-gutter-y, 1.5rem) !important;
}


.shop-layout.row {
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}

.shop-layout.row > .shop-sidebar,
.shop-layout.row > .shop-main-content {
  padding-right: calc(var(--bs-gutter-x) * .5) !important;
  padding-left: calc(var(--bs-gutter-x) * .5) !important;
}


/* Store and hero stability pass */
.hero-swiper {
  position: relative !important;
  overflow: hidden !important;
}

.hero-swiper .swiper-wrapper {
  min-height: inherit !important;
}

.hero-swiper.is-fallback .swiper-wrapper,
.hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-wrapper {
  display: block !important;
  position: relative !important;
}

.hero-swiper.is-fallback .swiper-slide,
.hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.hero-swiper.is-fallback .swiper-slide.is-active,
.hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-slide:first-child {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.schooly-shop-page {
  overflow: visible !important;
}

.shop-layout.row,
.woocommerce ul.products.row,
.ecommza-products-grid.row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}

.shop-layout.row {
  align-items: flex-start !important;
}

.shop-layout.row > .shop-sidebar,
.shop-layout.row > .shop-main-content {
  float: none !important;
  clear: none !important;
  min-width: 0 !important;
}

.ecommza-products-grid.row > .col-12,
.shop-layout.row > .col-12 {
  width: 100% !important;
}

@media (min-width: 576px) {
  .ecommza-products-grid.row > .col-sm-6 {
    width: 50% !important;
  }
}

@media (min-width: 992px) {
  .ecommza-products-grid.row > .col-lg-4 {
    width: 33.33333333% !important;
  }

  .shop-layout.row > .shop-sidebar.col-lg-3 {
    width: 25% !important;
  }

  .shop-layout.row > .shop-main-content.col-lg-9 {
    width: 75% !important;
  }


}

@media (min-width: 1200px) {
  .ecommza-products-grid.row > .col-xl-3 {
    width: 25% !important;
  }
}


/* Wishlist on all WooCommerce product surfaces */
.woocommerce ul.products li.product {
  position: relative !important;
  overflow: visible !important;
}

.woocommerce ul.products li.product > .schooly-wishlist-button--loop {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  z-index: 12 !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.13) !important;
  backdrop-filter: blur(12px) saturate(150%) !important;
}

.woocommerce ul.products li.product > .schooly-wishlist-button--loop:hover,
.woocommerce ul.products li.product > .schooly-wishlist-button--loop.is-wishlisted {
  background: var(--ec-red) !important;
  color: #fff !important;
  border-color: var(--ec-red) !important;
}


/* Restore icon buttons after tooltip experiments */
.box-icon.hover-tooltip {
  overflow: hidden !important;
}

.box-icon.hover-tooltip::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--ec-red) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(0) !important;
  z-index: -1 !important;
  transition: transform .4s cubic-bezier(.4,0,.2,1) !important;
}

.box-icon.hover-tooltip:hover::before {
  transform: scale(1) !important;
}

.box-icon.hover-tooltip::after {
  content: none !important;
  display: none !important;
}

/* Wishlist heart contrast fix */
.box-icon.wishlist-btn .fa-heart,
.schooly-wishlist-button--loop .fa-heart {
  color: #07111f !important;
}

.box-icon.wishlist-btn:hover .fa-heart,
.box-icon.wishlist-btn.is-wishlisted .fa-heart,
.wishlist-btn.is-wishlisted .fa-heart,
.schooly-wishlist-button--loop:hover .fa-heart,
.schooly-wishlist-button--loop.is-wishlisted .fa-heart {
  color: #fff !important;
}

.box-icon.wishlist-btn.is-wishlisted,
.schooly-wishlist-button--loop.is-wishlisted {
  background: var(--ec-red) !important;
}

/* Smooth product thumbnails */
.quickview-thumb {
  transition:
    transform .28s cubic-bezier(.22,.61,.36,1),
    border-color .28s cubic-bezier(.22,.61,.36,1),
    box-shadow .28s cubic-bezier(.22,.61,.36,1),
    opacity .28s cubic-bezier(.22,.61,.36,1) !important;
  will-change: transform;
}

.quickview-thumb img {
  transition: transform .38s cubic-bezier(.22,.61,.36,1), opacity .28s ease !important;
}

.quickview-thumb:hover,
.quickview-thumb.is-active {
  transform: translateY(-2px) scale(1.035) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.12) !important;
}

.quickview-thumb:hover img,
.quickview-thumb.is-active img {
  opacity: 1 !important;
}

/* ============================================================
   SCHOOLY final interaction and layout cleanup
============================================================ */
html {
  scroll-behavior: smooth;
}

body,
a,
button,
input,
select,
textarea,
.schooly-product-card,
.search-overlay,
.search-overlay__panel,
.compare-bar,
.quickview-modal,
.quickview-overlay {
  -webkit-tap-highlight-color: transparent;
}

button:focus,
button:focus-visible,
a:focus,
a:focus-visible,
input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

.ecommza-products-grid,
.woocommerce ul.products.row,
.wishlist-grid {
  align-items: stretch !important;
}

.ecommza-products-grid > *,
.wishlist-grid > * {
  display: flex !important;
}

.schooly-product-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}

.schooly-product-card:hover {
  transform: translateY(-3px) !important;
}

.schooly-product-card__image {
  flex: 0 0 auto !important;
  aspect-ratio: 1 / 1.08 !important;
}

.schooly-product-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

.schooly-product-card h3 {
  min-height: 45px !important;
}

.schooly-product-card__price {
  margin-top: auto !important;
}

.schooly-product-link {
  align-self: flex-start !important;
}

.ecommza-wishlist-btn {
  position: relative;
}

.ecommza-wishlist-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--ec-red);
  color: #fff;
  border: 2px solid #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.ecommza-wishlist-count.is-visible,
.ecommza-wishlist-btn.has-items .ecommza-wishlist-count {
  display: inline-flex;
}

.wishlist-float-btn {
  display: none !important;
}

.wishlist-empty .schooly-wishlist-empty__cta {
  min-height: 48px !important;
  padding: 0 24px !important;
  gap: 10px !important;
  font-size: 14px !important;
}

.wishlist-empty .schooly-wishlist-empty__cta i {
  font-size: 14px !important;
  margin: 0 !important;
}

.search-overlay__panel {
  width: min(920px, calc(100% - 32px)) !important;
  margin-top: 72px !important;
  border-radius: 18px !important;
  overflow: visible !important;
  transform: translateY(-24px) scale(.985) !important;
  transition: transform .34s cubic-bezier(.22,.61,.36,1), opacity .24s ease !important;
}

.search-overlay.is-open .search-overlay__panel {
  transform: translateY(0) scale(1) !important;
}

.search-overlay__close {
  top: -18px !important;
  left: -18px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  background: #111 !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}

.search-overlay__close:hover {
  background: #000 !important;
  color: #fff !important;
  transform: rotate(90deg) scale(1.03) !important;
}

.search-overlay__box,
.search-overlay__box:focus-within {
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 16px 40px rgba(15,23,42,.08) !important;
}

.search-overlay__input,
.search-cat-select select {
  box-shadow: none !important;
}

.search-clear-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
}

.search-clear-btn:hover {
  background: #000 !important;
  color: #fff !important;
}


.cs-related-card {
  animation-timing-function: cubic-bezier(.22,.61,.36,1) !important;
}

.compare-bar {
  background: #111 !important;
  padding: 14px 0 !important;
  box-shadow: 0 -18px 50px rgba(0,0,0,.18) !important;
  z-index: 1600 !important;
}

.compare-bar__inner {
  align-items: stretch !important;
}

.compare-bar__items {
  gap: 12px !important;
  align-items: stretch !important;
}

.compare-bar-item--detail,
.compare-bar-item.is-loading {
  min-width: 250px !important;
  max-width: 290px !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 10px 38px 10px 10px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.compare-bar-item__image,
.compare-bar-item--detail > img,
.compare-bar-item.is-loading > img {
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 78px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #f5f7fb !important;
}

.compare-bar-item__image img,
.compare-bar-item--detail > img,
.compare-bar-item.is-loading > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.compare-bar-item__body {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

.compare-bar-item__name,
.compare-bar-item__body strong {
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.compare-bar-item__price {
  color: var(--ec-red) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.compare-bar-item__price del {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.compare-bar-item__meta,
.compare-mini-stock {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.compare-mini-stock--in {
  color: #2f62ce !important;
}

.compare-mini-stock--out {
  color: #dc2626 !important;
}

.compare-bar-item__remove {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 24px !important;
  height: 24px !important;
  background: #111 !important;
  color: #fff !important;
  border-radius: 8px !important;
}

.compare-bar__btn--clear {
  width: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}

.hero-swiper .swiper-wrapper {
  transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
}

.hero-swiper .swiper-slide {
  transition-property: opacity, transform !important;
}


body.woocommerce-account .schooly-shop-page,
body.woocommerce-cart .schooly-shop-page,
body.woocommerce-checkout .schooly-shop-page {
  padding: 1rem 0 1.75rem !important;
  background: #f6f8fb !important;
}

body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(210px, 240px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .woocommerce-checkout-review-order {
  float: none !important;
  width: 100% !important;
  padding: 14px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(15,23,42,.06) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex !important;
  min-height: 42px !important;
  align-items: center !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  color: #111 !important;
  background: #f8fafc !important;
  font-weight: 800 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: #111 !important;
  color: #fff !important;
}

@media (max-width: 992px) {
  body.woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
  }

  .compare-bar__inner {
    flex-wrap: wrap !important;
  }

  .compare-bar__items {
    order: 3 !important;
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  .search-overlay__panel {
    width: calc(100% - 20px) !important;
    margin-top: 54px !important;
    padding: 20px 14px !important;
  }

  .search-overlay__box {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .search-cat-select {
    border-left: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
  }

  .search-cat-select select,
.search-overlay__input {
    width: 100% !important;
  }

  .compare-bar-item--detail,
.compare-bar-item.is-loading {
    min-width: 230px !important;
  }
}


.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  color: inherit !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link img {
  width: 100% !important;
  aspect-ratio: 1 / 1.06 !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  background: #f6f8fb !important;
  margin: 0 0 12px !important;
  transition: transform .38s cubic-bezier(.22,.61,.36,1) !important;
}

.woocommerce ul.products li.product:hover .woocommerce-LoopProduct-link img,
.woocommerce-page ul.products li.product:hover .woocommerce-LoopProduct-link img {
  transform: scale(1.035) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  min-height: 46px !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  color: #07111f !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}


.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  width: 100% !important;
  min-height: 42px !important;
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  transition: background .22s ease, transform .22s ease !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
  background: var(--ec-red) !important;
  transform: translateY(-1px) !important;
}

.schooly-loop-actions {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 12 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  opacity: 0 !important;
  transform: translateX(-8px) !important;
  transition: opacity .24s ease, transform .28s cubic-bezier(.22,.61,.36,1) !important;
}

.woocommerce ul.products li.product:hover .schooly-loop-actions,
.woocommerce-page ul.products li.product:hover .schooly-loop-actions,
.woocommerce ul.products li.product:focus-within .schooly-loop-actions,
.woocommerce-page ul.products li.product:focus-within .schooly-loop-actions {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.schooly-loop-actions .box-icon,
.schooly-loop-actions .schooly-wishlist-button--loop {
  position: relative !important;
  inset: auto !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  background: rgba(255,255,255,.96) !important;
  color: #111 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.12) !important;
  backdrop-filter: blur(10px) !important;
}

.schooly-loop-actions .box-icon:hover,
.schooly-loop-actions .box-icon.is-comparing,
.schooly-loop-actions .wishlist-btn.is-wishlisted {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

.woocommerce ul.products li.product > .schooly-wishlist-button--loop {
  display: none !important;
}

/* WooCommerce account pages rendered inside the generic page template. */
body.woocommerce-account .ecommza-page-content,
body.woocommerce-account .ecommza-page-body,
body.woocommerce-account .ecommza-page-body > .woocommerce {
  width: 100% !important;
}

body.woocommerce-account .ecommza-page-content {
  max-width: 1180px !important;
  margin-inline: auto !important;
}

body.woocommerce-account #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  margin: 0 !important;
}

body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after {
  display: none !important;
}

body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 26px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(15,23,42,.07) !important;
}

body.woocommerce-account #customer_login h2,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin: 0 0 10px !important;
/*   color: #07111f !important; */
  font-size: 18px !important;
  font-weight: 900 !important;
}

body.woocommerce-account .woocommerce-form,
body.woocommerce-account form.login,
body.woocommerce-account form.register {
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-account .woocommerce-form-row,
body.woocommerce-account .form-row {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account label {
  color: #07111f !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.woocommerce-account .input-text,
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"] {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  color: #07111f !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

body.woocommerce-account .input-text:focus,
body.woocommerce-account input[type="text"]:focus,
body.woocommerce-account input[type="email"]:focus,
body.woocommerce-account input[type="password"]:focus {
  border-color: #111 !important;
  background: #fff !important;
}

body.woocommerce-account .woocommerce-button,
body.woocommerce-account button.button {
  min-height: 48px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.woocommerce-account .woocommerce-button:hover,
body.woocommerce-account button.button:hover {
  background: var(--ec-red) !important;
}

body.woocommerce-account .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .lost_password a {
  color: var(--ec-red) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

@media (max-width: 768px) {
  body.woocommerce-account #customer_login {
    grid-template-columns: 1fr !important;
  }
}


.mobile-menu,
html[dir="rtl"] .mobile-menu {
  left: auto !important;
  right: 0 !important;
  transform: translateX(104%) !important;
  transition: transform .36s cubic-bezier(.22,.61,.36,1) !important;
  will-change: transform !important;
}

.mobile-menu.is-open,
html[dir="rtl"] .mobile-menu.is-open {
  left: auto !important;
  right: 0 !important;
  transform: translateX(0) !important;
}

.mobile-menu-overlay {
  transition: opacity .28s ease, visibility .28s ease !important;
}

.search-overlay__panel,
.quickview-modal {
  will-change: transform, opacity !important;
}

.hero-swiper {
  position: relative !important;
  overflow: hidden !important;
}

.hero-swiper.is-fallback .swiper-wrapper,
.hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-wrapper {
  position: relative !important;
  display: block !important;
  min-height: inherit !important;
}

.hero-swiper.is-fallback .swiper-slide,
.hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-22px) scale(.992) !important;
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1),
    visibility .72s step-end !important;
  will-change: opacity, transform !important;
}

.hero-swiper.is-fallback .swiper-slide.is-active,
.hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-slide:first-child {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) scale(1) !important;
  transition:
    opacity .72s cubic-bezier(.22,.61,.36,1),
    transform .72s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear !important;
}

html[dir="rtl"] .hero-swiper.is-fallback .swiper-slide,
html[dir="rtl"] .hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-slide {
  transform: translateX(22px) scale(.992) !important;
}

html[dir="rtl"] .hero-swiper.is-fallback .swiper-slide.is-active,
html[dir="rtl"] .hero-swiper:not(.swiper-initialized):not(.is-fallback) .swiper-slide:first-child {
  transform: translateX(0) scale(1) !important;
}

.hero-swiper.is-fallback .hero-slide__label,
.hero-swiper.is-fallback .hero-slide__title,
.hero-swiper.is-fallback .hero-slide__sub,
.hero-swiper.is-fallback .hero-slide__price,
.hero-swiper.is-fallback .hero-slide__btn,
.hero-swiper.is-fallback .hero-slide__image {
  transition:
    opacity .55s cubic-bezier(.22,.61,.36,1),
    transform .55s cubic-bezier(.22,.61,.36,1) !important;
}

.hero-swiper.is-fallback .swiper-slide:not(.is-active) .hero-slide__label,
.hero-swiper.is-fallback .swiper-slide:not(.is-active) .hero-slide__title,
.hero-swiper.is-fallback .swiper-slide:not(.is-active) .hero-slide__sub,
.hero-swiper.is-fallback .swiper-slide:not(.is-active) .hero-slide__price,
.hero-swiper.is-fallback .swiper-slide:not(.is-active) .hero-slide__btn,
.hero-swiper.is-fallback .swiper-slide:not(.is-active) .hero-slide__image {
  opacity: 0 !important;
  transform: translateY(18px) !important;
}

.hero-swiper.is-fallback .swiper-slide.is-active .hero-slide__label,
.hero-swiper.is-fallback .swiper-slide.is-active .hero-slide__title,
.hero-swiper.is-fallback .swiper-slide.is-active .hero-slide__sub,
.hero-swiper.is-fallback .swiper-slide.is-active .hero-slide__price,
.hero-swiper.is-fallback .swiper-slide.is-active .hero-slide__btn,
.hero-swiper.is-fallback .swiper-slide.is-active .hero-slide__image {
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* ============================================================
   Header wishlist badge and compact compare bar final state
============================================================ */
.ecommza-wishlist-btn {
  position: relative !important;
}

.ecommza-wishlist-count {
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  right: auto !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  place-items: center !important;
  border-radius: 99px !important;
  border: 2px solid #fff !important;
  background: var(--ec-red) !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.ecommza-wishlist-count.is-visible,
.ecommza-wishlist-btn.has-items .ecommza-wishlist-count {
  display: grid !important;
}

html[dir="rtl"] .ecommza-wishlist-count {
  left: auto !important;
  right: 2px !important;
}

.compare-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1600 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  background: #111 !important;
  color: #fff !important;
  box-shadow: 0 -14px 36px rgba(0,0,0,.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(calc(100% + 16px)) !important;
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    opacity .24s ease,
    visibility .24s ease !important;
}

.compare-bar.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.compare-bar__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-height: 52px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
}

.compare-bar__left {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
}

.compare-bar__title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.compare-bar__title i {
  color: #fff !important;
  font-size: 15px !important;
}

.compare-bar__count {
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 99px !important;
  background: var(--ec-red) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.compare-bar__items {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  overflow-x: auto !important;
  scrollbar-width: thin !important;
}

.compare-bar-item,
.compare-bar-item--detail,
.compare-bar-item.is-loading {
  position: relative !important;
  flex: 0 0 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 6px 34px 6px 8px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.compare-bar-item__image,
.compare-bar-item--detail > img,
.compare-bar-item.is-loading > img {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.compare-bar-item__image img,
.compare-bar-item--detail > img,
.compare-bar-item.is-loading > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.compare-bar-item__body {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: grid !important;
  gap: 2px !important;
}

.compare-bar-item__name,
.compare-bar-item__body strong {
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}

.compare-bar-item__price {
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.compare-bar-item__price del,
.compare-bar-item__meta,
.compare-mini-stock {
  display: none !important;
}

.compare-bar-item__remove {
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  left: auto !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  font-size: 11px !important;
  transform: translateY(-50%) !important;
}

.compare-bar-item__remove:hover {
  background: var(--ec-red) !important;
  color: #fff !important;
}

.compare-bar__actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
}

.compare-bar__btn--clear {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
}

.compare-bar__btn--clear:hover {
  background: var(--ec-red) !important;
}

@media (max-width: 768px) {
  .compare-bar__inner {
    flex-wrap: nowrap !important;
    padding: 0 10px !important;
  }

  .compare-bar__title span:not(.compare-bar__count) {
    display: none !important;
  }

  .compare-bar-item,
.compare-bar-item--detail,
.compare-bar-item.is-loading {
    flex-basis: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }
}

/* ============================================================
   Final shop controls override
============================================================ */
.shop-toolbar__right .woocommerce-ordering,
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
  position: relative !important;
  margin: 0 !important;
}

.shop-toolbar__right .woocommerce-ordering::after,
.woocommerce .woocommerce-ordering::after,
.woocommerce-page .woocommerce-ordering::after {
  content: "\f107" !important;
  position: absolute !important;
  left: 16px !important;
  right: auto !important;
  top: 50% !important;
  z-index: 2 !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  color: #07111f !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

.shop-toolbar__right .woocommerce-ordering select,
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  min-width: 210px !important;
  min-height: 44px !important;
  padding: 10px 44px 10px 16px !important;
  border: 1px solid #07111f !important;
  border-radius: 12px !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #07111f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
}

html[dir="rtl"] .shop-toolbar__right .woocommerce-ordering select,
html[dir="rtl"] .woocommerce .woocommerce-ordering select,
html[dir="rtl"] .woocommerce-page .woocommerce-ordering select {
  padding-right: 16px !important;
  padding-left: 44px !important;
}

.shop-products-wrapper.view-list ul.products.row {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.shop-products-wrapper.view-list ul.products.row > li.product {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.shop-products-wrapper.view-list ul.products.row > li.product > .schooly-product-card {
  display: grid !important;
  grid-template-columns: minmax(170px, 240px) minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.shop-products-wrapper.view-grid ul.products.row > li.product,
.shop-products-wrapper:not(.view-list) ul.products.row > li.product {
  flex: 0 0 auto !important;
}

.schooly-has-tooltip,
.box-icon.hover-tooltip {
  position: relative !important;
  overflow: visible !important;
}

.schooly-has-tooltip::after,
.box-icon.hover-tooltip::after {
  content: attr(data-tooltip) !important;
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(100% + 9px) !important;
  top: auto !important;
  z-index: 80 !important;
  width: max-content !important;
  max-width: 170px !important;
  padding: 6px 9px !important;
  display: block !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(4px) !important;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
}

.schooly-has-tooltip:hover::after,
.schooly-has-tooltip:focus-visible::after,
.box-icon.hover-tooltip:hover::after,
.box-icon.hover-tooltip:focus-visible::after {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

.product-action_list .box-icon.hover-tooltip::after,
.schooly-loop-actions .box-icon.hover-tooltip::after,
.product-action_list .schooly-wishlist-button--loop::after,
.schooly-loop-actions .schooly-wishlist-button--loop::after {
  left: calc(100% + 9px) !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) translateX(4px) !important;
}

.product-action_list .box-icon.hover-tooltip:hover::after,
.schooly-loop-actions .box-icon.hover-tooltip:hover::after,
.product-action_list .box-icon.hover-tooltip:focus-visible::after,
.schooly-loop-actions .box-icon.hover-tooltip:focus-visible::after,
.product-action_list .schooly-wishlist-button--loop:hover::after,
.schooly-loop-actions .schooly-wishlist-button--loop:hover::after,
.product-action_list .schooly-wishlist-button--loop:focus-visible::after,
.schooly-loop-actions .schooly-wishlist-button--loop:focus-visible::after {
  transform: translateY(-50%) translateX(0) !important;
}

html[dir="rtl"] .product-action_list .box-icon.hover-tooltip::after,
html[dir="rtl"] .schooly-loop-actions .box-icon.hover-tooltip::after,
html[dir="rtl"] .product-action_list .schooly-wishlist-button--loop::after,
html[dir="rtl"] .schooly-loop-actions .schooly-wishlist-button--loop::after {
  left: auto !important;
  right: calc(100% + 9px) !important;
  transform: translateY(-50%) translateX(-4px) !important;
}

html[dir="rtl"] .product-action_list .box-icon.hover-tooltip:hover::after,
html[dir="rtl"] .schooly-loop-actions .box-icon.hover-tooltip:hover::after,
html[dir="rtl"] .product-action_list .box-icon.hover-tooltip:focus-visible::after,
html[dir="rtl"] .schooly-loop-actions .box-icon.hover-tooltip:focus-visible::after,
html[dir="rtl"] .product-action_list .schooly-wishlist-button--loop:hover::after,
html[dir="rtl"] .schooly-loop-actions .schooly-wishlist-button--loop:hover::after,
html[dir="rtl"] .product-action_list .schooly-wishlist-button--loop:focus-visible::after,
html[dir="rtl"] .schooly-loop-actions .schooly-wishlist-button--loop:focus-visible::after {
  transform: translateY(-50%) translateX(0) !important;
}

.box-icon.hover-tooltip:not([data-tooltip])::after,
.schooly-has-tooltip:not([data-tooltip])::after {
  display: none !important;
}

@media (max-width: 768px) {
  .shop-toolbar__right {
    flex-wrap: wrap !important;
  }

  .shop-toolbar__right .woocommerce-ordering,
.shop-toolbar__right .woocommerce-ordering select {
    width: 100% !important;
  }

  .shop-products-wrapper.view-list ul.products.row > li.product > .schooly-product-card {
    display: flex !important;
    gap: 0 !important;
  }
}

/* ============================================================
   Final category image fit override
============================================================ */
.ecommza-cat-item__img,
.ecommza-cat-item__img.is-logo,
.ecommza-cat-item__img.is-image {
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

.ecommza-cat-item__img img,
.ecommza-cat-item__img.is-logo img,
.ecommza-cat-item__img.is-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.ecommza-cat-item:hover .ecommza-cat-item__img.is-logo img,
.ecommza-cat-item:hover .ecommza-cat-item__img.is-image img {
  transform: scale(1.08) !important;
}

.shop-categories-list .cat-logo {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 10px !important;
  background: #fff !important;
}

/* ============================================================
   Final WooCommerce account page layout
============================================================ */
body.woocommerce-account .ecommza-section {
  padding: 0 !important;
  background: #f6f7f9 !important;
}

body.woocommerce-account .ecommza-page-content {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.woocommerce-account .ecommza-page-body {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #07111f !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

body.woocommerce-account .ecommza-page-body > .woocommerce,
body.woocommerce-account .woocommerce {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(210px, 240px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  direction: rtl !important;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px !important;
  position: sticky !important;
  top: 84px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 45px rgba(15,23,42,.06) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  min-height: 38px !important;
  padding: 0 11px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #07111f !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 1px #eef2f7 !important;
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
  background: #111 !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: translateX(-2px) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 2 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 45px rgba(15,23,42,.06) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
  margin: 0 0 10px !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a {
/*   color: var(--ec-red) !important; */
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a:hover {
  color: #111 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0 0 18px !important;
/*   color: #07111f !important; */
  font-size: 22px !important;
  font-weight: 950 !important;
  line-height: 1.35 !important;
}

body.woocommerce-account .woocommerce table.shop_table {
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fff !important;
}

body.woocommerce-account .woocommerce table.shop_table th,
body.woocommerce-account .woocommerce table.shop_table td {
  padding: 14px 16px !important;
  text-align: right !important;
  border-color: #eef2f7 !important;
}

body.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account .woocommerce-EditAccountForm {
  padding: 20px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fff !important;
}

body.woocommerce-account .woocommerce form .form-row {
  margin: 0 0 16px !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce form .input-text,
body.woocommerce-account .woocommerce form input[type="text"],
body.woocommerce-account .woocommerce form input[type="email"],
body.woocommerce-account .woocommerce form input[type="password"],
body.woocommerce-account .woocommerce form input[type="tel"],
body.woocommerce-account .woocommerce form select {
  min-height: 46px !important;
  width: 100% !important;
  padding: 0 14px !important;
  border: 1px solid #dbe2ea !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #07111f !important;
  font-weight: 700 !important;
}

body.woocommerce-account .woocommerce form .input-text:focus,
body.woocommerce-account .woocommerce form input:focus,
body.woocommerce-account .woocommerce form select:focus {
  border-color: #111 !important;
  background: #fff !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce button.button {
  min-height: 44px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce button.button:hover {
  background: var(--ec-red) !important;
  color: #fff !important;
}

@media (max-width: 992px) {
  body.woocommerce-account .ecommza-section {
    padding: 34px 0 54px !important;
  }

  body.woocommerce-account .ecommza-page-body > .woocommerce,
body.woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1 !important;
    position: static !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 14px !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  }
}

.compare-btn.is-comparing {
  background: var(--ec-red) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(37,99,235,.22), 0 0 0 3px rgba(37,99,235,.16) !important;
}

.box-icon.hover-tooltip::after,
.compare-btn.is-comparing::after,
.wishlist-btn.is-wishlisted::after {
  height: auto !important;
  min-height: 0 !important;
  animation: none !important;
  box-sizing: border-box !important;
}

/* ============================================================
   Compare Modal - screenshot-aligned layout
============================================================ */
.compare-bar__actions {
  gap: 8px !important;
}

.compare-bar__btn--view {
  min-height: 34px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  transition: transform .22s ease, background .22s ease, color .22s ease !important;
}

.compare-bar__btn--view:hover {
  background: var(--ec-red) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.compare-modal-open {
  overflow: hidden;
}

.compare-modal-open .compare-bar {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(calc(100% + 16px)) !important;
}

.compare-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2400;
  background: rgba(5, 20, 16, .18);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .24s ease, visibility .24s ease;
}

.compare-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.compare-modal {
  position: fixed;
  inset: 0;
  z-index: 2410;
  display: grid;
  align-items: start;
  justify-items: center;
  padding: 88px 24px 32px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .24s ease, visibility .24s ease;
}

.compare-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.compare-modal__panel {
  width: min(1040px, calc(100vw - 48px));
  max-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
  transform: translateY(18px) scale(.985);
  transition: transform .34s cubic-bezier(.22,.61,.36,1);
}

.compare-modal.is-open .compare-modal__panel {
  transform: translateY(0) scale(1);
}

.compare-modal__header {
  position: relative;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 76px;
  border-bottom: 1px solid #e8eee9;
  background: #fff;
}

.compare-modal__header h2 {
  margin: 0;
  color: #17231d;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 900;
}

.compare-modal__clear,
.compare-modal__close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f4c7c7;
  background: #fff5f5;
  color: #dc2626;
  font-weight: 900;
  transition: background .22s ease, transform .22s ease, color .22s ease;
}

.compare-modal__clear {
  left: 16px;
  min-width: 58px;
  height: 40px;
  padding: 0 14px;
  border-radius: 7px;
  font-size: 13px;
}

.compare-modal__close {
  right: 16px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  font-size: 12px;
}

.compare-modal__clear:hover,
.compare-modal__close:hover {
  background: #dc2626;
  color: #fff;
  transform: translateY(-50%) scale(1.03);
}

.compare-modal__body {
  overflow: auto;
  background: #fbfdfc;
}

.compare-modal-table-wrap {
  width: 100%;
  overflow: auto;
}

.compare-page-modal-wrap {
  border: 1px solid #e6ece8;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
  background: #fff;
}

.compare-modal-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #fbfdfc;
}

.compare-modal-table th,
.compare-modal-table td {
  min-width: 210px;
  height: 84px;
  padding: 18px;
  border-inline-start: 1px solid #e6ece8;
  border-bottom: 1px solid #e6ece8;
  background: #fbfdfc;
  color: #111827;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;
  font-weight: 800;
}

.compare-modal-table tr:last-child th,
.compare-modal-table tr:last-child td {
  border-bottom: 0;
}

.compare-modal-table__label {
  position: sticky;
  right: 0;
  z-index: 4;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  background: #f8fbf9 !important;
  color: #7a8780 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: right !important;
  box-shadow: -1px 0 0 #e6ece8;
}

.compare-modal-products .compare-modal-table__label {
  background: #fbfdfc !important;
}

.compare-modal-product {
  position: relative;
  height: 132px !important;
  padding: 16px 42px 14px !important;
}

.compare-modal-product__link {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #132019 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.compare-modal-product__link img {
  width: 58px;
  height: 74px;
  object-fit: cover;
  border-radius: 6px;
  background: #eef5f1;
}

.compare-modal-product__link strong {
  max-width: 180px;
  min-height: 34px;
  display: -webkit-box;
  overflow: hidden;
  color: #111827;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 900;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.compare-modal-remove {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f3d7d7;
  border-radius: 999px;
  background: #fff;
  color: #dc2626;
  font-size: 10px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.compare-modal-remove:hover {
  background: #dc2626;
  color: #fff;
  transform: scale(1.08);
}

.compare-modal-price {
  color: #2f62ce !important;
}

.compare-modal-price ins,
.compare-modal-price > .woocommerce-Price-amount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 14px;
  border: 1px solid #bcd0f5;
  border-radius: 999px;
  background: #eef3fd;
  color: #2f62ce;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.compare-modal-price del {
  margin-inline-start: 8px;
  color: #8b9690;
  font-size: 13px;
  font-weight: 800;
  opacity: .85;
}

.compare-modal-stock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
}

.compare-modal-stock.is-in {
  color: #111827;
}

.compare-modal-stock.is-out {
  background: #fff1f2;
  color: #dc2626;
}

.compare-modal-rating {
  display: inline-flex;
  flex-direction: row-reverse;
  gap: 3px;
  color: #d6dde4;
  font-size: 16px;
}

.compare-modal-rating .fa-solid {
  color: #f5b636;
}

.compare-modal__empty,
.compare-modal__loading {
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 44px 20px;
  color: #6b7280;
  text-align: center;
}

.compare-modal__empty i {
  color: #d7dfda;
  font-size: 48px;
}

.compare-modal__empty h3 {
  margin: 0;
  color: #111827;
  font-size: 20px;
  font-weight: 900;
}

.compare-modal__empty p {
  max-width: 360px;
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

@media (max-width: 768px) {
  .compare-bar__btn--view {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  .compare-bar__btn--view::before {
    content: "\f06e";
    font-family: "Font Awesome 6 Free";
    font-size: 13px;
    font-weight: 900;
  }

  .compare-modal {
    padding: 62px 10px 18px;
  }

  .compare-modal__panel {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 84px);
  }

  .compare-modal__header {
    min-height: 60px;
    padding: 12px 64px;
  }

  .compare-modal__header h2 {
    font-size: 16px;
  }

  .compare-modal__clear {
    left: 10px;
    min-width: 50px;
    height: 34px;
    padding: 0 10px;
  }

  .compare-modal__close {
    right: 10px;
  }

  .compare-modal-table {
    min-width: 680px;
  }

  .compare-modal-table th,
.compare-modal-table td {
    min-width: 180px;
    padding: 14px;
  }

  .compare-modal-table__label {
    width: 105px !important;
    min-width: 105px !important;
    max-width: 105px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .compare-modal,
.compare-modal-overlay,
.compare-modal__panel,
.compare-modal__clear,
.compare-modal__close,
.compare-modal-remove,
.compare-bar__btn--view {
    transition: none !important;
  }
}

/* ============================================================
   Facebook-style skeleton loading states
============================================================ */
.schooly-skeleton {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: #eef1f8;
}

.schooly-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  animation: schoolySkeletonShimmer 1.15s infinite;
}

html[dir="rtl"] .schooly-skeleton::after {
  animation-name: schoolySkeletonShimmerRtl;
}

@keyframes schoolySkeletonShimmer {
  100% { transform: translateX(-100%); }
}

@keyframes schoolySkeletonShimmerRtl {
  100% { transform: translateX(100%); }
}

.schooly-skeleton--line {
  width: 100%;
  height: 14px;
}

.schooly-skeleton--line.short {
  width: 62%;
}

.schooly-skeleton--sm {
  width: 84px;
  height: 16px;
  border-radius: 999px;
}

.schooly-skeleton--title {
  width: 78%;
  height: 26px;
}

.schooly-skeleton--price {
  width: 120px;
  height: 30px;
  border-radius: 999px;
}

.schooly-skeleton--button {
  width: 180px;
  height: 48px;
  border-radius: 8px;
}

.schooly-skeleton--avatar {
  width: 56px;
  height: 56px;
  border-radius: 10px;
}

.schooly-skeleton--product-img {
  width: 100%;
  aspect-ratio: 1 / 1.08;
  border-radius: 8px 8px 0 0;
}

.schooly-skeleton-grid {
  pointer-events: none;
}

.schooly-skeleton-card {
  min-height: 340px;
  border: 1px solid var(--ec-line);
  background: #fff;
  box-shadow: none !important;
}

.schooly-skeleton-card:hover {
  transform: none !important;
}

.schooly-skeleton-card .schooly-product-card__body {
  gap: 12px;
  padding: 16px;
}

.schooly-skeleton-qv {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 440px;
  background: #fff;
}

.schooly-skeleton-qv__gallery {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 24px;
  background: var(--ec-soft);
}

.schooly-skeleton--image {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
}

.schooly-skeleton-qv__thumbs {
  display: flex;
  gap: 8px;
}

.schooly-skeleton-qv__thumbs .schooly-skeleton {
  width: 64px;
  height: 64px;
}

.schooly-skeleton-qv__info {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 34px 28px;
}

.schooly-skeleton-search {
  display: grid;
  gap: 10px;
  min-height: 120px;
  padding: 10px 0;
}

.schooly-skeleton-search__item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--ec-line);
  border-radius: 10px;
  background: #fff;
}

.schooly-skeleton-search__item > div {
  display: grid;
  gap: 9px;
}

.schooly-skeleton-compare {
  min-height: 260px;
  display: block;
  padding: 20px;
  background: #fbfdfc;
  text-align: initial;
}

.schooly-skeleton-compare.compare-modal__loading {
  place-items: initial;
  align-content: initial;
}

.compare-bar-item__skeleton-line {
  width: 74%;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}

.compare-bar-item.is-loading .schooly-skeleton::after {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
}

@media (max-width: 767px) {
  .schooly-skeleton-qv {
    grid-template-columns: 1fr;
  }

  .schooly-skeleton-card {
    min-height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .schooly-skeleton::after {
    animation: none !important;
  }
}

/* ============================================================
   Final page polish - notices,
account title,
search close
============================================================ */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 54px !important;
  padding: 14px 18px !important;
  padding-inline-start: 18px !important;
  padding-inline-end: 18px !important;
  overflow: visible !important;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #eff6ff !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.woocommerce .woocommerce-message::before,
.woocommerce-message::before {
  background: #e7eefc !important;
}

.woocommerce .woocommerce-error::before,
.woocommerce-error::before {
  background: #fee2e2 !important;
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button {
  margin-inline-start: auto !important;
  float: none !important;
  flex: 0 0 auto !important;
}


body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .woocommerce-Address {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

body.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0 !important;
  min-width: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title .edit {
  flex: 0 0 auto !important;
  color: var(--ec-red) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.search-overlay__panel {
  overflow: hidden !important;
}

.search-overlay__close {
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 4 !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
  box-shadow: none !important;
}

.search-overlay__box {
  margin-inline-end: 48px !important;
}

html[dir="rtl"] .search-overlay__close {
  left: 12px !important;
  right: auto !important;
}

/* View Transitions disabled — caused stale pages and double-refresh in Chrome. */

/* ============================================================
   Cart Sidebar Restoration
   Restores side-cart drawer styles removed by the single-product CSS cleanup.
============================================================ */
.cart-sidebar-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(15, 23, 42, .52);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s ease, visibility .28s ease;
}

.cart-sidebar-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cart-sidebar {
  position: fixed;
  top: 0;
  left: -794px;
  z-index: 2001;
  width: min(794px, 100vw);
  height: 100vh;
  background: var(--ec-white);
  color: var(--ec-text);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
  overflow: hidden;
  transition: left .4s cubic-bezier(.32, 1.25, .32, 1), right .4s cubic-bezier(.32, 1.25, .32, 1), box-shadow .4s ease;
}

.cart-sidebar.is-open {
  left: 0;
}

html[dir="rtl"] .cart-sidebar {
  right: -794px;
  left: auto;
}

html[dir="rtl"] .cart-sidebar.is-open {
  right: 0;
  left: auto;
}

.cart-sidebar__layout {
  display: grid;
  grid-template-columns: 1fr 240px;
  height: 100%;
  overflow: hidden;
}

.cart-sidebar__col {
  min-width: 0;
}

.cart-sidebar__col--cart {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.cart-sidebar__col--related {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 18px;
  border-inline-start: 1px solid var(--ec-line);
  background: #f8fafc;
  overflow: hidden;
}

.cart-sidebar__col-head {
  flex: 0 0 auto;
  margin-bottom: 14px;
}

.cart-sidebar__col-head h4 {
  margin: 0;
  color: var(--ec-black);
  font-size: 15px;
  font-weight: 900;
}

.cart-sidebar__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--ec-line);
  background: var(--ec-white);
}

.cart-sidebar__header h3 {
  margin: 0;
  color: var(--ec-black);
  font-size: 18px;
  font-weight: 900;
}

.cart-sidebar__close {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--ec-soft);
  color: var(--ec-black);
  transition: background var(--ec-transition), color var(--ec-transition), transform var(--ec-transition);
}

.cart-sidebar__close:hover {
  background: #DBEAFE;
  color: var(--ec-red);
  transform: rotate(90deg);
}

.cart-sidebar__body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 16px 22px;
  overflow-y: auto;
}

.cart-sidebar__list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cart-sidebar__item {
  display: flex;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  background: var(--ec-white);
  transition: background var(--ec-transition), border-color var(--ec-transition), box-shadow var(--ec-transition);
}

.cart-sidebar__item:hover {
  border-color: #d6deea;
  box-shadow: var(--ec-shadow);
}

.cart-sidebar__media {
  position: relative;
  flex: 0 0 92px;
  width: 92px;
  height: 92px;
}

.cart-sidebar__img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--ec-radius);
  background: var(--ec-soft);
  overflow: hidden;
}

.cart-sidebar__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-sidebar__remove {
  position: absolute;
  top: 6px;
  left: 6px;
  right: auto;
  z-index: 2;
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--ec-muted);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .14);
  transition: background var(--ec-transition), color var(--ec-transition);
}

.cart-sidebar__remove:hover {
  background: var(--ec-black);
  color: #fff;
}

.cart-sidebar__info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cart-sidebar__cat {
  color: var(--ec-muted);
  font-size: 11px;
  font-weight: 800;
}

.cart-sidebar__name {
  color: var(--ec-text);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 800;
}

.cart-sidebar__name:hover {
  color: var(--ec-red);
}

.cart-sidebar__qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.cart-qty-control {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--ec-line);
  border-radius: var(--ec-radius);
  background: var(--ec-white);
  overflow: hidden;
}

.cart-qty-btn {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--ec-text);
  font-size: 14px;
  font-weight: 900;
  transition: background var(--ec-transition), color var(--ec-transition);
}

.cart-qty-btn:hover {
  background: var(--ec-soft);
  color: var(--ec-red);
}

.cart-qty-btn:disabled {
  cursor: wait;
  opacity: .5;
}

.cart-qty-val {
  min-width: 30px;
  text-align: center;
  color: var(--ec-black);
  font-size: 14px;
  font-weight: 900;
}

.cart-qty-val.is-loading {
  font-size: 0;
}

.cart-qty-val.is-loading::after {
  content: "";
  width: 14px;
  height: 14px;
  display: inline-block;
  border: 2px solid var(--ec-line);
  border-top-color: var(--ec-red);
  border-radius: 50%;
  animation: qtySpinAnim .7s linear infinite;
}

.cart-sidebar__price {
  color: var(--ec-black);
  font-size: 14px;
  font-weight: 900;
}

.cart-sidebar__price del {
  color: var(--ec-muted);
  font-size: 11px;
  font-weight: 600;
}

.cart-sidebar__price ins {
  color: var(--ec-red);
  text-decoration: none;
}

.cart-sidebar__footer {
  flex: 0 0 auto;
  padding: 16px 22px 18px;
  border-top: 1px solid var(--ec-line);
  background: var(--ec-white);
}

.cart-sidebar__footer:empty {
  display: none;
}

.cart-sidebar__subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--ec-muted);
  font-size: 13px;
  font-weight: 800;
}

.cart-sidebar__subtotal strong {
  color: var(--ec-black);
  font-size: 20px;
  font-weight: 900;
}

.cart-sidebar__footer-btns {
  display: grid;
  gap: 10px;
}

.cart-sidebar__btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--ec-black);
  border-radius: var(--ec-radius);
  background: var(--ec-black);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  transition: background var(--ec-transition), color var(--ec-transition), border-color var(--ec-transition), transform var(--ec-transition);
}

.cart-sidebar__btn:hover {
  background: var(--ec-red);
  border-color: var(--ec-red);
  color: #fff;
  transform: translateY(-1px);
}

.cart-sidebar__btn--outline {
  background: transparent;
  color: var(--ec-black);
  border-color: var(--ec-line);
}

.cart-sidebar__btn--outline:hover {
  background: var(--ec-soft);
  border-color: var(--ec-line);
  color: var(--ec-black);
  transform: none;
}

.cart-sidebar__empty {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
}

.cart-sidebar__empty i {
  color: var(--ec-line);
  font-size: 46px;
}

.cart-sidebar__empty p {
  margin: 0;
  color: var(--ec-muted);
  font-size: 16px;
  font-weight: 800;
}

.cart-sidebar__related-list {
  min-height: 0;
  display: grid;
  gap: 14px;
  overflow-y: auto;
}

.cs-related-card {
  display: block;
  color: inherit;
  text-decoration: none;
}

.cs-related-card__img {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.05;
  border-radius: var(--ec-radius);
  background: var(--ec-soft);
  overflow: hidden;
}

.cs-related-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cs-related-card__badge {
  position: absolute;
  top: 6px;
  right: 6px;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--ec-red);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.cs-related-card__info {
  padding-top: 8px;
}

.cs-related-card__cat {
  display: block;
  color: var(--ec-muted);
  font-size: 10px;
  font-weight: 800;
}

.cs-related-card__name {
  display: block;
  margin-top: 3px;
  color: var(--ec-text);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
}

.cs-related-card__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 4px;
  color: var(--ec-black);
  font-size: 12px;
  font-weight: 900;
}

.cs-related-card__price del {
  color: var(--ec-muted);
  font-size: 10px;
  font-weight: 600;
}

.cs-related-card__price ins {
  color: var(--ec-red);
  text-decoration: none;
}

@keyframes qtySpinAnim {
  to { transform: rotate(360deg); }
}

@keyframes countBounce {
  0% { transform: scale(1); }
  40% { transform: scale(1.5); }
  70% { transform: scale(.9); }
  100% { transform: scale(1); }
}

.ecommza-cart-count.is-updated {
  animation: countBounce .4s cubic-bezier(.32, 1.25, .32, 1);
}

@media (max-width: 794px) {
  .cart-sidebar {
    width: 100%;
    max-width: 100%;
    left: -100%;
  }

  .cart-sidebar.is-open {
    left: 0;
  }

  html[dir="rtl"] .cart-sidebar {
    right: -100%;
    left: auto;
  }

  html[dir="rtl"] .cart-sidebar.is-open {
    right: 0;
    left: auto;
  }

  .cart-sidebar__layout,
  html[dir="rtl"] .cart-sidebar__layout {
    grid-template-columns: 1fr;
  }

  .cart-sidebar__col--related {
    display: none;
  }

  .cart-sidebar__media {
    flex-basis: 82px;
    width: 82px;
    height: 82px;
  }
}

/* Cart sidebar styles → assets/css/schooly-cart-sidebar.css */
