:root {
  --abusami-red: #ff1010;
  --abusami-red-dark: #d90000;
  --abusami-blue: #1249d8;
  --abusami-blue-dark: #0c36a6;
  --abusami-black: #0a0a0a;
  --abusami-white: #ffffff;
  --abusami-bg: #f7f8fb;
  --abusami-border: #e2e6ed;
  --abusami-text: #17191d;
  --abusami-muted: #6f7682;
  --abusami-radius: 10px;
  --abusami-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
}

/* ===== الأساس العام ===== */

html {
  min-height: 100%;
}

body,
.tooltip,
.popover {
  font-family: var(
    --halyani-font-body,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif
  ) !important;
}

body {
  min-height: 100%;
  margin: 0;
  color: var(--abusami-text);
  background: var(--abusami-white);
  font-size: var(--halyani-font-body-size, 15px);
  font-weight: var(--halyani-font-body-weight, 400);
  line-height: 1.7;
}

a {
  color: var(--abusami-blue);
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

a:hover,
a:focus {
  color: var(--abusami-red-dark);
}

img {
  max-width: 100%;
}

main {
  min-height: 420px;
}

/* ===== الشريط العلوي ===== */

#top {
  min-height: 42px;
  padding: 6px 0;
  color: var(--abusami-white);
  background: var(--abusami-black);
  border-bottom: 3px solid var(--abusami-red);
}

#top .list-inline {
  margin: 0;
}

#top .list-inline-item {
  margin-bottom: 0;
}

#top a,
#top .btn-link,
#top button {
  color: var(--abusami-white);
  font-size: 13px;
}

#top a:hover,
#top a:focus,
#top .btn-link:hover,
#top .btn-link:focus {
  color: #ffb6b6;
}

#top .dropdown-menu {
  margin-top: 10px;
}

/* ===== الهيدر ===== */

header {
  padding: 14px 0;
  background: var(--abusami-white);
  border-bottom: 1px solid var(--abusami-border);
  box-shadow: 0 3px 14px rgba(16, 24, 40, 0.05);
}

header .row {
  align-items: center;
}

#logo.abusami-brand-logo {
  display: flex;
  align-items: center;
  min-height: 82px;
}

#logo.abusami-brand-logo a {
  display: inline-flex;
  align-items: center;
}

#logo.abusami-brand-logo img {
  display: block;
  width: auto;
  height: 82px;
  max-width: 175px;
  object-fit: contain;
}

/* ===== البحث ===== */

#search .input-group {
  overflow: hidden;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
  background: var(--abusami-white);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#search .input-group:focus-within {
  border-color: var(--abusami-blue);
  box-shadow: 0 0 0 3px rgba(18, 73, 216, 0.12);
}

#search .form-control {
  min-height: 46px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

#search .form-control:focus {
  box-shadow: none;
}

#search .btn {
  min-width: 52px;
  min-height: 46px;
  color: var(--abusami-white);
  background: var(--abusami-blue);
  border: 0;
  border-radius: 0;
}

#search .btn:hover,
#search .btn:focus {
  color: var(--abusami-white);
  background: var(--abusami-blue-dark);
}

/* ===== السلة ===== */

#cart > .btn,
#cart .btn-lg {
  width: 100%;
  min-height: 46px;
  color: var(--abusami-white);
  background: var(--abusami-red);
  border-color: var(--abusami-red);
  border-radius: var(--abusami-radius);
  box-shadow: none;
  font-weight: 600;
}

#cart > .btn:hover,
#cart > .btn:focus,
#cart .btn-lg:hover,
#cart .btn-lg:focus {
  color: var(--abusami-white);
  background: var(--abusami-red-dark);
  border-color: var(--abusami-red-dark);
}

#cart .dropdown-menu {
  min-width: 340px;
}

/* ===== القائمة الرئيسية ===== */

#menu,
.navbar {
  margin-bottom: 22px;
  background: var(--abusami-blue);
  border: 0;
  border-radius: 0;
  box-shadow: 0 3px 10px rgba(18, 73, 216, 0.12);
}

#menu .navbar-nav {
  align-items: stretch;
}

#menu .nav-link,
.navbar .nav-link {
  padding: 13px 16px;
  color: var(--abusami-white);
  font-size: 14px;
  font-weight: 600;
}

#menu .nav-link:hover,
#menu .nav-link:focus,
.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: var(--abusami-white);
  background: rgba(0, 0, 0, 0.14);
}

#menu .dropdown-menu {
  margin-top: 0;
  border-top: 3px solid var(--abusami-red);
}

.navbar-toggler {
  color: var(--abusami-white);
  border-color: rgba(255, 255, 255, 0.45);
}

/* ===== الحقول والأزرار ===== */

.form-control,
.form-select {
  min-height: 44px;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
  box-shadow: none;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--abusami-blue);
  box-shadow: 0 0 0 3px rgba(18, 73, 216, 0.12);
}

.btn {
  border-radius: 9px;
  font-weight: 600;
}

.btn-primary {
  color: var(--abusami-white);
  background: var(--abusami-blue);
  border-color: var(--abusami-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  color: var(--abusami-white) !important;
  background: var(--abusami-blue-dark) !important;
  border-color: var(--abusami-blue-dark) !important;
}

.btn-danger {
  color: var(--abusami-white);
  background: var(--abusami-red);
  border-color: var(--abusami-red);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
  color: var(--abusami-white) !important;
  background: var(--abusami-red-dark) !important;
  border-color: var(--abusami-red-dark) !important;
}

.btn-light,
.btn-secondary {
  border-color: var(--abusami-border);
}

/* ===== القوائم والبطاقات ===== */

.dropdown-menu {
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
  box-shadow: var(--abusami-shadow);
}

.dropdown-item {
  padding-top: 9px;
  padding-bottom: 9px;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--abusami-white);
  background: var(--abusami-blue);
}

.card,
.list-group,
.table-responsive {
  border-color: var(--abusami-border);
  border-radius: var(--abusami-radius);
}

.card {
  box-shadow: 0 3px 14px rgba(16, 24, 40, 0.04);
}

/* ===== العناوين ومسار الصفحة ===== */

h1,
h2,
h3,
h4,
h5,
h6,
.page-title {
  color: var(--abusami-black);
  font-weight: 700;
}

h1 {
  font-size: 28px;
}

h2 {
  font-size: 23px;
}

.breadcrumb {
  padding: 10px 14px;
  background: var(--abusami-bg);
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
}

/* ===== الأسعار والشارات ===== */

.price-new,
.text-danger {
  color: var(--abusami-red-dark) !important;
}

.badge.bg-primary,
.bg-primary {
  background-color: var(--abusami-blue) !important;
}

.badge.bg-danger,
.bg-danger {
  background-color: var(--abusami-red) !important;
}

/* ===== الفوتر ===== */

footer {
  margin-top: 32px;
  border-top: 4px solid var(--abusami-red);
}

/* ===== RTL ===== */

html[dir="rtl"] body {
  text-align: right;
}

html[dir="rtl"] .dropdown-menu {
  text-align: right;
}

html[dir="rtl"] #search .form-control {
  text-align: right;
}

html[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
  float: right;
  padding-right: 0;
  padding-left: 0.5rem;
}

/* ===== الجوال ===== */

@media (max-width: 767.98px) {
  #top {
    padding: 5px 0;
    font-size: 12px;
  }

  #top .col-4 {
    width: 100%;
    margin-bottom: 4px;
    text-align: center;
  }

  #top .col.text-end {
    width: 100%;
    text-align: center !important;
  }

  header {
    padding: 10px 0;
  }

  #logo.abusami-brand-logo {
    justify-content: center;
    min-height: 68px;
    margin-bottom: 10px;
  }

  #logo.abusami-brand-logo img {
    height: 68px;
    max-width: 145px;
  }

  #search,
  #cart {
    margin-bottom: 10px;
  }

  #cart .dropdown-menu {
    min-width: 290px;
  }

  #menu,
  .navbar {
    margin-bottom: 16px;
  }

  #menu .nav-link,
  .navbar .nav-link {
    padding: 11px 14px;
  }

  h1 {
    font-size: 23px;
  }

  h2 {
    font-size: 20px;
  }
}
/* ===== إجراءات الهيدر: المفضلة والمقارنة والسلة ===== */

.abusami-header-actions {
  display: grid;
  grid-template-columns: 46px 46px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  width: 100%;
}

.abusami-action-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  color: var(--abusami-blue);
  background: var(--abusami-white);
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
  font-size: 18px;
  box-shadow: 0 3px 10px rgba(16, 24, 40, 0.05);
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.abusami-action-icon:hover,
.abusami-action-icon:focus {
  color: var(--abusami-white);
  background: var(--abusami-blue);
  border-color: var(--abusami-blue);
  transform: translateY(-1px);
}

.abusami-action-icon:first-child {
  color: var(--abusami-red);
}

.abusami-action-icon:first-child:hover,
.abusami-action-icon:first-child:focus {
  color: var(--abusami-white);
  background: var(--abusami-red);
  border-color: var(--abusami-red);
}

.abusami-cart-area {
  min-width: 0;
  margin: 0;
}

.abusami-cart-area > .btn,
.abusami-cart-area .btn-lg {
  height: 46px;
  min-height: 46px;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.abusami-cart-area .dropdown-menu {
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
}

@media (max-width: 991.98px) {
  .abusami-header-actions {
    grid-template-columns: 44px 44px minmax(0, 1fr);
    gap: 6px;
  }

  .abusami-action-icon {
    min-width: 44px;
    height: 44px;
  }

  .abusami-cart-area > .btn,
  .abusami-cart-area .btn-lg {
    height: 44px;
    min-height: 44px;
  }
}

@media (max-width: 767.98px) {
  .abusami-header-actions {
    grid-template-columns: 48px 48px minmax(0, 1fr);
    max-width: 460px;
    margin-inline: auto;
  }

  .abusami-action-icon {
    min-width: 48px;
    height: 48px;
  }

  .abusami-cart-area > .btn,
  .abusami-cart-area .btn-lg {
    height: 48px;
    min-height: 48px;
  }
}

/* ===== إصلاح قوائم اللغة والعملة ===== */

#top .dropdown-menu {
  color: var(--abusami-text);
  background: var(--abusami-white);
}

#top .dropdown-menu a,
#top .dropdown-menu button,
#top .dropdown-menu .dropdown-item {
  color: var(--abusami-text) !important;
  background: transparent;
}

#top .dropdown-menu a:hover,
#top .dropdown-menu a:focus,
#top .dropdown-menu button:hover,
#top .dropdown-menu button:focus,
#top .dropdown-menu .dropdown-item:hover,
#top .dropdown-menu .dropdown-item:focus {
  color: var(--abusami-white) !important;
  background: var(--abusami-blue) !important;
}

#top .dropdown-menu .active,
#top .dropdown-menu .dropdown-item.active {
  color: var(--abusami-white) !important;
  background: var(--abusami-red) !important;
}

/* ===== كرت المنتج المبسط - مكتبة أبو سامي ===== */

.product-thumb.abusami-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--abusami-white);
  border: 1px solid var(--abusami-border);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(16, 24, 40, 0.05);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.product-thumb.abusami-product-card:hover {
  transform: translateY(-3px);
  border-color: rgba(18, 73, 216, 0.28);
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.11);
}

.abusami-product-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid var(--abusami-border);
}

.abusami-product-image-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 14px;
}

.abusami-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.abusami-product-card:hover .abusami-product-image img {
  transform: scale(1.035);
}

.abusami-product-wishlist-action,
.abusami-product-cart-action {
  position: absolute;
  top: 10px;
  z-index: 2;
  margin: 0;
}

.abusami-product-wishlist-action {
  inset-inline-start: 10px;
}

.abusami-product-cart-action {
  inset-inline-end: 10px;
}

.abusami-product-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--abusami-border);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.09);
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.abusami-wishlist-button {
  color: var(--abusami-red);
}

.abusami-cart-icon-button {
  color: var(--abusami-blue);
}

.abusami-wishlist-button:hover,
.abusami-wishlist-button:focus {
  color: var(--abusami-white);
  background: var(--abusami-red);
  border-color: var(--abusami-red);
  transform: scale(1.06);
}

.abusami-cart-icon-button:hover,
.abusami-cart-icon-button:focus {
  color: var(--abusami-white);
  background: var(--abusami-blue);
  border-color: var(--abusami-blue);
  transform: scale(1.06);
}

.abusami-product-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 14px;
}

.abusami-product-name {
  min-height: 48px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
}

.abusami-product-name a {
  display: -webkit-box;
  overflow: hidden;
  color: var(--abusami-text);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.abusami-product-name a:hover,
.abusami-product-name a:focus {
  color: var(--abusami-blue);
}

@media (max-width: 767.98px) {
  .abusami-product-image-link {
    padding: 10px;
  }

  .abusami-product-wishlist-action,
  .abusami-product-cart-action {
    top: 7px;
  }

  .abusami-product-wishlist-action {
    inset-inline-start: 7px;
  }

  .abusami-product-cart-action {
    inset-inline-end: 7px;
  }

  .abusami-product-icon-button {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .abusami-product-content {
    padding: 11px;
  }

  .abusami-product-name {
    min-height: 43px;
    font-size: 13px;
    line-height: 1.65;
  }
}

/* ===== زر الطلب عبر واتساب في صفحة المنتج ===== */

.abusami-whatsapp-order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 50px;
  margin: 4px 0 14px;
  padding: 11px 18px;
  color: #ffffff !important;
  background: #25d366;
  border: 1px solid #25d366;
  border-radius: 10px;
  box-shadow: 0 7px 18px rgba(37, 211, 102, 0.2);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.abusami-whatsapp-order i {
  font-size: 24px;
}

.abusami-whatsapp-order:hover,
.abusami-whatsapp-order:focus {
  color: #ffffff !important;
  background: #1fa855;
  border-color: #1fa855;
  box-shadow: 0 10px 23px rgba(37, 211, 102, 0.28);
  transform: translateY(-1px);
}

.abusami-whatsapp-order:active {
  transform: scale(0.99);
}

@media (max-width: 767.98px) {
  .abusami-whatsapp-order {
    min-height: 48px;
    font-size: 14px;
  }

  .abusami-whatsapp-order i {
    font-size: 22px;
  }
}

/* ===== الفوتر الاحترافي - مكتبة أبو سامي ===== */

.abusami-footer {
  position: relative;
  margin-top: 48px;
  color: rgba(255, 255, 255, 0.82);
  background: #090d17;
  border-top: 0;
}

.abusami-footer::before {
  display: block;
  width: 100%;
  height: 5px;
  content: "";
  background: linear-gradient(
    90deg,
    var(--abusami-red) 0 34%,
    var(--abusami-blue) 34% 68%,
    #ffffff 68% 100%
  );
}

.abusami-footer-main {
  padding: 52px 0 38px;
  background:
    radial-gradient(circle at 10% 0%, rgba(18, 73, 216, 0.15), transparent 32%),
    radial-gradient(circle at 90% 100%, rgba(255, 16, 16, 0.10), transparent 28%),
    #090d17;
}

.abusami-footer-logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 16px;
  padding: 8px 12px;
  background: #ffffff;
  border-radius: 12px;
}

.abusami-footer-logo img {
  display: block;
  width: auto;
  height: 76px;
  max-width: 145px;
  object-fit: contain;
}

.abusami-footer-description {
  max-width: 390px;
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.9;
}

.abusami-footer-contact-list {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.abusami-footer-contact {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: rgba(255, 255, 255, 0.84);
  font-size: 13px;
}

.abusami-footer-contact:hover,
.abusami-footer-contact:focus {
  color: #ffffff;
}

.abusami-footer-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #ffffff;
  background: rgba(18, 73, 216, 0.22);
  border: 1px solid rgba(18, 73, 216, 0.48);
  border-radius: 9px;
}

.abusami-footer-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 8px 15px;
  color: #ffffff !important;
  background: #25d366;
  border: 1px solid #25d366;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.abusami-footer-whatsapp i {
  font-size: 20px;
}

.abusami-footer-whatsapp:hover,
.abusami-footer-whatsapp:focus {
  color: #ffffff !important;
  background: #1fa855;
  border-color: #1fa855;
  transform: translateY(-1px);
}

.abusami-footer-section h5 {
  position: relative;
  margin: 8px 0 20px;
  padding-bottom: 12px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
}

.abusami-footer-section h5::after {
  position: absolute;
  inset-inline-start: 0;
  bottom: 0;
  width: 38px;
  height: 3px;
  content: "";
  background: linear-gradient(
    90deg,
    var(--abusami-red),
    var(--abusami-blue)
  );
  border-radius: 20px;
}

.abusami-footer-section ul {
  display: grid;
  gap: 10px;
  margin: 0;
}

.abusami-footer-section li {
  margin: 0;
}

.abusami-footer-section a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.6;
}

.abusami-footer-section a::before {
  width: 6px;
  height: 6px;
  content: "";
  background: var(--abusami-red);
  border-radius: 50%;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}

.abusami-footer-section a:hover,
.abusami-footer-section a:focus {
  color: #ffffff;
}

.abusami-footer-section a:hover::before,
.abusami-footer-section a:focus::before {
  background: var(--abusami-blue);
  transform: scale(1.25);
}

.abusami-footer-bottom {
  background: #050810;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.abusami-footer-bottom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 66px;
}

.abusami-footer-bottom p {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
}

.abusami-footer-bottom p a {
  color: #ffffff;
  font-weight: 700;
}

.abusami-footer-bottom p a:hover,
.abusami-footer-bottom p a:focus {
  color: var(--abusami-red);
}

.abusami-back-to-top {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #ffffff !important;
  background: var(--abusami-blue);
  border: 1px solid var(--abusami-blue);
  border-radius: 9px;
  text-decoration: none !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.abusami-back-to-top:hover,
.abusami-back-to-top:focus {
  color: #ffffff !important;
  background: var(--abusami-red);
  border-color: var(--abusami-red);
  transform: translateY(-2px);
}

@media (max-width: 991.98px) {
  .abusami-footer-main {
    padding: 42px 0 30px;
  }
}

@media (max-width: 767.98px) {
  .abusami-footer {
    margin-top: 36px;
  }

  .abusami-footer-main {
    padding: 34px 0 26px;
  }

  .abusami-footer-brand {
    margin-bottom: 4px;
  }

  .abusami-footer-logo img {
    height: 66px;
    max-width: 130px;
  }

  .abusami-footer-section h5 {
    margin-bottom: 15px;
    font-size: 14px;
  }

  .abusami-footer-section a {
    font-size: 12px;
  }

  .abusami-footer-bottom-content {
    min-height: 76px;
    padding: 12px 0;
  }

  .abusami-footer-bottom p {
    line-height: 1.8;
  }
}

/* ===== هيدر الجوال بأسلوب مكتبة أبو سامي ===== */

.abusami-mobile-header {
  display: none;
}

@media (max-width: 767.98px) {
  .abusami-desktop-header {
    display: none !important;
  }

  .abusami-mobile-header {
    display: block;
    padding: 10px 12px 13px;
    color: #ffffff;
    background:
      linear-gradient(135deg, #090d17 0%, #101d35 58%, #0c36a6 100%);
    border-bottom: 4px solid var(--abusami-red);
    box-shadow: 0 6px 18px rgba(9, 13, 23, 0.18);
  }

  .abusami-mobile-top {
    display: grid;
    grid-template-columns: minmax(112px, 1fr) auto 52px;
    grid-template-areas: "actions logo menu";
    align-items: center;
    gap: 10px;
    min-height: 70px;
  }

  html[dir="ltr"] .abusami-mobile-top {
    grid-template-columns: 52px auto minmax(112px, 1fr);
    grid-template-areas: "menu logo actions";
  }

  .abusami-mobile-menu-button {
    grid-area: menu;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    color: #ffffff;
    background: transparent;
    border: 0;
    border-radius: 9px;
    font-size: 29px;
  }

  .abusami-mobile-menu-button:hover,
  .abusami-mobile-menu-button:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.10);
  }

  .abusami-mobile-logo {
    grid-area: logo;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: 100px;
    height: 68px;
    padding: 5px 9px;
    overflow: hidden;
    background: #ffffff;
    border-radius: 11px;
  }

  .abusami-mobile-logo img {
    display: block;
    width: auto;
    height: 58px;
    max-width: 88px;
    object-fit: contain;
  }

  .abusami-mobile-account-actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-width: 0;
  }

  html[dir="ltr"] .abusami-mobile-account-actions {
    justify-content: flex-end;
  }

  .abusami-mobile-action,
  .abusami-mobile-account {
    color: #ffffff !important;
    text-decoration: none !important;
  }

  .abusami-mobile-action {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 46px;
    font-size: 27px;
  }

  .abusami-mobile-action i {
    color: var(--abusami-red);
    filter: drop-shadow(0 2px 5px rgba(255, 16, 16, 0.22));
  }

  .abusami-mobile-account {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
  }

  .abusami-mobile-account i {
    flex: 0 0 auto;
    font-size: 29px;
  }

  .abusami-mobile-account span {
    display: block;
    max-width: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .abusami-mobile-search {
    margin-top: 9px;
  }

  .abusami-mobile-search #search {
    margin: 0;
  }

  .abusami-mobile-search #search .input-group {
    min-height: 54px;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 13px;
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.14);
  }

  .abusami-mobile-search #search .form-control {
    min-width: 0;
    min-height: 54px;
    padding: 10px 16px;
    color: var(--abusami-text);
    background: #ffffff;
    border: 0;
    font-size: 15px;
  }

  .abusami-mobile-search #search .form-control::placeholder {
    color: #8a909b;
  }

  .abusami-mobile-search #search .btn {
    min-width: 58px;
    min-height: 54px;
    color: #ffffff;
    background: var(--abusami-red);
    border: 0;
    font-size: 20px;
  }

  .abusami-mobile-search #search .btn:hover,
  .abusami-mobile-search #search .btn:focus {
    color: #ffffff;
    background: var(--abusami-red-dark);
  }

  /* منع ظهور عنوان وزر قائمة OpenCart القديمين لأن زر القائمة أصبح في الهيدر */
  #menu > #category,
  #menu > .navbar-toggler {
    display: none !important;
  }

  #menu {
    min-height: 0;
    margin-bottom: 16px;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  #menu #navbar-menu {
    margin: 0 12px;
    overflow: hidden;
    background: var(--abusami-blue);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 8px 20px rgba(18, 73, 216, 0.18);
  }

  #menu #navbar-menu.show,
  #menu #navbar-menu.collapsing {
    padding: 7px;
  }

  #menu .navbar-nav {
    width: 100%;
    margin: 0;
  }

  #menu .navbar-nav > li {
    width: 100%;
  }

  #menu .navbar-nav .nav-link,
  #menu .navbar-nav .dropdown-item {
    display: block;
    width: 100%;
    padding: 11px 13px;
    color: #ffffff;
    border-radius: 7px;
  }

  #menu .dropdown-menu {
    position: static !important;
    width: 100%;
    margin: 4px 0 7px;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    transform: none !important;
  }
}

@media (max-width: 420px) {
  .abusami-mobile-header {
    padding-inline: 9px;
  }

  .abusami-mobile-top {
    grid-template-columns: minmax(102px, 1fr) auto 46px;
    gap: 7px;
  }

  html[dir="ltr"] .abusami-mobile-top {
    grid-template-columns: 46px auto minmax(102px, 1fr);
  }

  .abusami-mobile-menu-button {
    width: 44px;
    height: 44px;
    font-size: 26px;
  }

  .abusami-mobile-logo {
    width: 88px;
    height: 62px;
  }

  .abusami-mobile-logo img {
    height: 52px;
    max-width: 77px;
  }

  .abusami-mobile-account-actions {
    gap: 5px;
  }

  .abusami-mobile-action {
    width: 36px;
    font-size: 24px;
  }

  .abusami-mobile-account {
    gap: 5px;
    font-size: 12px;
  }

  .abusami-mobile-account i {
    font-size: 25px;
  }

  .abusami-mobile-account span {
    max-width: 70px;
  }
}

/* ===== عرض منتجين في الصف على الجوال ===== */

@media (max-width: 767.98px) {
  /* صفحات الأقسام والبحث والعروض */
  #product-list.row {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 12px;
  }

  #product-list.row > * {
    flex: 0 0 auto;
    width: 50%;
  }

  /* وحدات المنتجات في الصفحة الرئيسية مثل الأحدث والمميز */
  #common-home .row.row-cols-1,
  #common-home .row.row-cols-sm-2,
  .product-module .row.row-cols-1,
  .product-module .row.row-cols-sm-2 {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 12px;
  }

  #common-home .row.row-cols-1 > *,
  #common-home .row.row-cols-sm-2 > *,
  .product-module .row.row-cols-1 > *,
  .product-module .row.row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  /* ضبط كرت المنتج لعرض عمودين بدون تداخل */
  .product-thumb.abusami-product-card {
    border-radius: 11px;
  }

  .abusami-product-image-link {
    padding: 8px;
  }

  .abusami-product-content {
    padding: 9px;
  }

  .abusami-product-name {
    min-height: 42px;
    font-size: 12px;
    line-height: 1.65;
  }

  .abusami-product-wishlist-action,
  .abusami-product-cart-action {
    top: 6px;
  }

  .abusami-product-wishlist-action {
    inset-inline-start: 6px;
  }

  .abusami-product-cart-action {
    inset-inline-end: 6px;
  }

  .abusami-product-icon-button {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }
}

@media (max-width: 359.98px) {
  #product-list.row,
  #common-home .row.row-cols-1,
  #common-home .row.row-cols-sm-2,
  .product-module .row.row-cols-1,
  .product-module .row.row-cols-sm-2 {
    --bs-gutter-x: 8px;
  }

  .abusami-product-content {
    padding: 8px;
  }

  .abusami-product-name {
    font-size: 11px;
  }

  .abusami-product-icon-button {
    width: 30px;
    height: 30px;
  }
}

/* ===== تصحيح ترتيب هيدر الجوال والقوائم الفرعية ===== */

@media (max-width: 767.98px) {
  /*
   * ترتيب RTL:
   * اليمين: القائمة ثم الشعار
   * اليسار: المفضلة والحساب
   */
  html[dir="rtl"] .abusami-mobile-top {
    grid-template-columns: 52px auto minmax(96px, 1fr);
    grid-template-areas: "menu logo actions";
  }

  /*
   * ترتيب LTR المعاكس تلقائيًا:
   * اليسار: القائمة ثم الشعار
   * اليمين: المفضلة والحساب
   */
  html[dir="ltr"] .abusami-mobile-top {
    grid-template-columns: minmax(96px, 1fr) auto 52px;
    grid-template-areas: "actions logo menu";
  }

  html[dir="rtl"] .abusami-mobile-account-actions {
    justify-content: flex-end;
  }

  html[dir="ltr"] .abusami-mobile-account-actions {
    justify-content: flex-start;
  }

  /* إظهار أيقونة الحساب فقط افتراضيًا */
  .abusami-mobile-account-label {
    display: none;
  }

  /*
   * جاهز كخيار مستقبلي من إعدادات القالب:
   * أضف class التالية إلى body لإظهار النص:
   * abusami-show-mobile-account-label
   */
  body.abusami-show-mobile-account-label .abusami-mobile-account-label {
    display: inline-block;
  }

  .abusami-mobile-account {
    width: 42px;
    height: 46px;
    justify-content: center;
    gap: 0;
  }

  .abusami-mobile-account i {
    font-size: 29px;
  }

  /* تصحيح ألوان القائمة الفرعية */
  #menu .dropdown-menu {
    color: var(--abusami-text);
    background: var(--abusami-white);
  }

  #menu .dropdown-menu .dropdown-item,
  #menu .dropdown-menu a {
    color: var(--abusami-text) !important;
    background: transparent !important;
  }

  #menu .dropdown-menu .dropdown-item:hover,
  #menu .dropdown-menu .dropdown-item:focus,
  #menu .dropdown-menu a:hover,
  #menu .dropdown-menu a:focus {
    color: var(--abusami-white) !important;
    background: var(--abusami-blue) !important;
  }

  #menu .dropdown-menu .active,
  #menu .dropdown-menu .dropdown-item.active {
    color: var(--abusami-white) !important;
    background: var(--abusami-red) !important;
  }
}

@media (max-width: 420px) {
  html[dir="rtl"] .abusami-mobile-top {
    grid-template-columns: 46px auto minmax(88px, 1fr);
  }

  html[dir="ltr"] .abusami-mobile-top {
    grid-template-columns: minmax(88px, 1fr) auto 46px;
  }

  .abusami-mobile-account,
  .abusami-mobile-action {
    width: 38px;
  }

  .abusami-mobile-account i {
    font-size: 25px;
  }
}

/* ===== تنظيف الهيدر والفوتر وتحسين التفاعل ===== */

/* إزالة الفراغ الكبير قبل الفوتر */
main {
  min-height: 0;
}

.abusami-footer {
  margin-top: 20px;
}

/* سطح المكتب: المفضلة فقط في الجهة المقابلة للبحث */
.abusami-desktop-wishlist-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 46px;
}

html[dir="rtl"] .abusami-desktop-wishlist-wrap {
  justify-content: flex-start;
}

.abusami-desktop-wishlist {
  position: relative;
  overflow: visible;
}

/* إظهار اسم المفضلة عند تمرير الماوس */
.abusami-desktop-wishlist::after {
  position: absolute;
  top: calc(100% + 9px);
  inset-inline-end: 0;
  min-width: max-content;
  padding: 6px 9px;
  color: #ffffff;
  background: var(--abusami-black);
  border-radius: 7px;
  content: attr(aria-label);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 1000;
}

html[dir="rtl"] .abusami-desktop-wishlist::after {
  inset-inline-start: 0;
  inset-inline-end: auto;
}

.abusami-desktop-wishlist:hover::after,
.abusami-desktop-wishlist:focus::after {
  opacity: 1;
  transform: translateY(0);
}

/* فتح قوائم اللغة والعملة والحساب بتمرير الماوس على سطح المكتب */
@media (min-width: 768px) {
  #top .dropdown:hover > .dropdown-menu,
  #top .dropdown:focus-within > .dropdown-menu {
    display: block;
    margin-top: 0;
  }

  #top .dropdown > .dropdown-menu {
    top: 100%;
  }
}

/* إزالة أي نص أو حرف بجانب أيقونة الحساب في الجوال */
@media (max-width: 767.98px) {
  .abusami-mobile-account {
    width: 42px;
    min-width: 42px;
    height: 46px;
    padding: 0;
    gap: 0;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
  }

  .abusami-mobile-account > span,
  .abusami-mobile-account-label {
    display: none !important;
  }

  .abusami-mobile-account i {
    display: block;
    margin: 0;
    font-size: 29px;
    line-height: 1;
  }

  .abusami-footer {
    margin-top: 14px;
  }
}

/* ===== إزالة الفراغ الكبير أعلى الفوتر ===== */

/* لا تفرض الصفحة أو المحتوى ارتفاعًا أدنى بعد انتهاء العناصر */
html,
body,
#container,
main,
#common-home,
#common-home #content,
.abusami-home,
.abusami-home-content {
  min-height: 0 !important;
  height: auto;
}

/* إزالة الهوامش والحشوات السفلية الزائدة في الصفحة الرئيسية */
#common-home,
#common-home #content,
.abusami-home,
.abusami-home-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* بعض وحدات السلايدر في OpenCart تحتفظ بارتفاع محسوب كبير */
#common-home .swiper-viewport,
#common-home .swiper,
#common-home .swiper-wrapper,
#common-home .carousel,
#common-home .carousel-inner {
  min-height: 0 !important;
}

#common-home .swiper-viewport,
#common-home .carousel {
  height: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* منع الحاوية الخارجية للسلايدر من إنشاء مساحة بيضاء بعد نقاط التنقل */
#common-home .swiper-viewport:last-child,
#common-home .carousel:last-child,
#common-home #content > :last-child,
#common-home .abusami-home-content > :last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* نقاط السلايدر تبقى أسفل الصورة دون حجز مساحة كبيرة */
#common-home .swiper-pagination,
#common-home .carousel-indicators {
  margin-bottom: 0 !important;
}

/* الفوتر يبدأ مباشرة بعد آخر محتوى */
.abusami-footer {
  clear: both;
  margin-top: 0 !important;
}

@media (max-width: 767.98px) {
  #common-home,
  #common-home #content,
  .abusami-home,
  .abusami-home-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .abusami-footer {
    margin-top: 0 !important;
  }
}

/* ===== قالب الحلياني: أسفل الصفحة والتنقل المنفصل حسب الجهاز ===== */

/* روابط التواصل داخل الفوتر */
.abusami-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.abusami-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--abusami-radius, 10px);
  text-decoration: none !important;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.abusami-footer-social a:hover,
.abusami-footer-social a:focus {
  color: #ffffff !important;
  background: var(--abusami-blue);
  transform: translateY(-2px);
}

/* زر واتساب العائم: عنصر مستقل تمامًا عن القائمة السفلية */
.abusami-floating-whatsapp {
  position: fixed;
  inset-inline-end: 22px;
  bottom: 22px;
  z-index: 1040;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  padding: 0;
  color: #ffffff !important;
  background: var(--halyani-whatsapp, #25d366);
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 10px 26px rgba(37, 211, 102, 0.34);
  font-size: 30px;
  line-height: 1;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.abusami-floating-whatsapp:hover,
.abusami-floating-whatsapp:focus {
  color: #ffffff !important;
  box-shadow: 0 13px 30px rgba(37, 211, 102, 0.44);
  transform: translateY(-2px) scale(1.03);
}

/* الحالة الافتراضية: سطح المكتب فقط */
.abusami-floating-whatsapp-desktop {
  display: inline-flex;
}

.abusami-floating-whatsapp-mobile,
.abusami-mobile-bottom-nav {
  display: none !important;
}

/* ضمان صارم: لا تظهر قائمة الجوال على سطح المكتب أو الجهاز اللوحي العريض */
@media (min-width: 768px) {
  .abusami-mobile-bottom-nav,
  .abusami-floating-whatsapp-mobile {
    display: none !important;
  }

  .abusami-floating-whatsapp-desktop {
    display: inline-flex !important;
  }

  body.halyani-has-mobile-bottom-nav {
    padding-bottom: 0 !important;
  }
}

/* إعدادات الجوال فقط */
@media (max-width: 767.98px) {
  .abusami-floating-whatsapp-desktop {
    display: none !important;
  }

  .abusami-floating-whatsapp-mobile {
    display: inline-flex !important;
    inset-inline-end: 14px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    width: 54px;
    height: 54px;
    font-size: 28px;
  }

  .abusami-floating-whatsapp-mobile.halyani-floating-with-nav {
    bottom: calc(78px + env(safe-area-inset-bottom));
  }

  .abusami-mobile-bottom-nav {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 1050;
    display: grid !important;
    grid-template-columns: repeat(var(--halyani-mobile-nav-columns, 4), minmax(0, 1fr));
    min-height: 64px;
    padding-bottom: env(safe-area-inset-bottom);
    overflow: hidden;
    background: #ffffff;
    border-top: 1px solid var(--abusami-border, #e2e6ed);
    box-shadow: 0 -7px 22px rgba(16, 24, 40, 0.12);
  }

  body.halyani-has-mobile-bottom-nav {
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }

  .abusami-mobile-bottom-item {
    display: inline-flex;
    min-width: 0;
    min-height: 64px;
    padding: 7px 3px 6px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    color: var(--abusami-text, #17191d) !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-family: var(--halyani-font-mobile-nav, system-ui, sans-serif);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
  }

  .abusami-mobile-bottom-item i {
    color: var(--abusami-blue, #1249d8);
    font-size: 20px;
    line-height: 1;
  }

  .abusami-mobile-bottom-item.is-whatsapp i {
    color: var(--halyani-whatsapp, #25d366);
  }

  .abusami-mobile-bottom-item:hover,
  .abusami-mobile-bottom-item:focus {
    color: var(--abusami-red, #ff1010) !important;
    background: rgba(18, 73, 216, 0.05);
  }

  .abusami-mobile-bottom-item:hover i,
  .abusami-mobile-bottom-item:focus i {
    color: var(--abusami-red, #ff1010);
  }

  .abusami-mobile-language-panel {
    margin-top: 8px;
  }

  .abusami-mobile-language-panel.show,
  .abusami-mobile-language-panel.collapsing {
    display: block;
  }

  .abusami-mobile-language-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
  }

  .abusami-mobile-language-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
  }

  .abusami-mobile-language-control .dropdown-toggle,
  .abusami-mobile-language-control button,
  .abusami-mobile-language-control .btn-link {
    color: #ffffff !important;
  }
}

@media (max-width: 359.98px) {
  .abusami-mobile-bottom-item {
    font-size: 9px;
  }

  .abusami-mobile-bottom-item i {
    font-size: 18px;
  }
}

/* ===== قالب الحلياني: رأس الصفحة الاحترافي ===== */

.halyani-desktop-section { display: block; }
.halyani-mobile-section { display: none; }

@media (max-width: 767.98px) {
  .halyani-desktop-section { display: none !important; }
  .halyani-mobile-section { display: block; }
}

@media (min-width: 768px) {
  .halyani-mobile-section { display: none !important; }
}

.halyani-sticky-active {
  position: sticky;
  top: var(--halyani-sticky-top, 0px);
  z-index: var(--halyani-sticky-z, 1030);
}

.halyani-sticky-active.halyani-sticky-shadow {
  box-shadow: 0 7px 22px rgba(16, 24, 40, 0.12);
}

.halyani-desktop-topbar-section { --halyani-sticky-z: 1060; }
.halyani-desktop-main-section,
.halyani-mobile-top-section { --halyani-sticky-z: 1055; }
.halyani-mobile-search-section { --halyani-sticky-z: 1052; }
.halyani-menu-section { --halyani-sticky-z: 1050; }

.halyani-desktop-topbar-section {
  background: var(--abusami-black, #0a0a0a);
}

.halyani-desktop-topbar-section #top {
  margin: 0;
  border: 0;
}

.halyani-desktop-topbar-section #top a,
.halyani-desktop-topbar-section #top button,
.halyani-desktop-topbar-section #top .btn-link {
  color: #ffffff !important;
}

.halyani-desktop-main-section {
  background: var(--abusami-white, #ffffff);
  border-bottom: 1px solid var(--abusami-border, #e2e6ed);
}

.halyani-desktop-main-header { padding: 12px 0; }

.halyani-desktop-logo img,
.halyani-mobile-logo img {
  display: block;
  max-width: 100%;
  object-fit: contain;
}

.halyani-desktop-actions,
.halyani-mobile-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

html[dir="rtl"] .halyani-desktop-actions { justify-content: flex-start; }

.halyani-header-icon {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  padding: 0;
  color: var(--abusami-blue, #1249d8) !important;
  background: #ffffff;
  border: 1px solid var(--abusami-border, #e2e6ed);
  border-radius: var(--abusami-radius, 10px);
  text-decoration: none !important;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.halyani-header-icon:hover,
.halyani-header-icon:focus {
  color: #ffffff !important;
  background: var(--abusami-blue, #1249d8);
  border-color: var(--abusami-blue, #1249d8);
  transform: translateY(-2px);
}

.halyani-header-icon i { font-size: 19px; }

.halyani-search-shell {
  position: relative;
  width: 100%;
}

.halyani-search-form {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
}

.halyani-search-input {
  min-width: 0;
  height: 46px;
  padding-inline: 15px 52px;
  background: #ffffff;
  border: 1px solid var(--abusami-border, #e2e6ed);
  border-radius: var(--abusami-radius, 10px);
  outline: 0;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.halyani-search-input:focus {
  border-color: var(--abusami-blue, #1249d8);
  box-shadow: 0 0 0 3px rgba(18, 73, 216, 0.12);
}

.halyani-search-button {
  position: absolute;
  top: 4px;
  inset-inline-end: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 38px;
  padding: 0;
  color: #ffffff;
  background: var(--abusami-blue, #1249d8);
  border: 0;
  border-radius: calc(var(--abusami-radius, 10px) - 3px);
}

.halyani-search-button:hover,
.halyani-search-button:focus {
  color: #ffffff;
  background: var(--abusami-red, #ff1010);
}

.halyani-search-loading {
  position: absolute;
  top: 50%;
  inset-inline-end: 53px;
  display: none;
  color: var(--abusami-blue, #1249d8);
  transform: translateY(-50%);
}

.halyani-search-shell.is-loading .halyani-search-loading { display: inline-flex; }

.halyani-search-suggestions {
  position: absolute;
  top: calc(100% + 7px);
  inset-inline: 0;
  z-index: 1090;
  display: none;
  max-height: min(430px, 65vh);
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid var(--abusami-border, #e2e6ed);
  border-radius: var(--abusami-radius, 10px);
  box-shadow: 0 16px 38px rgba(16, 24, 40, 0.16);
}

.halyani-search-suggestions.is-open { display: block; }

.halyani-suggestion-item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  min-height: 64px;
  padding: 8px 11px;
  color: var(--abusami-text, #17191d) !important;
  border-bottom: 1px solid var(--abusami-border, #e2e6ed);
  text-decoration: none !important;
}

.halyani-suggestion-item:last-child { border-bottom: 0; }

.halyani-suggestion-item:hover,
.halyani-suggestion-item:focus,
.halyani-suggestion-item.is-active {
  background: rgba(18, 73, 216, 0.06);
}

.halyani-suggestion-image {
  width: 52px;
  height: 52px;
  object-fit: contain;
  background: #ffffff;
  border: 1px solid var(--abusami-border, #e2e6ed);
  border-radius: 8px;
}

.halyani-suggestion-content { min-width: 0; }

.halyani-suggestion-name {
  display: block;
  overflow: hidden;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.halyani-suggestion-model {
  display: block;
  margin-top: 3px;
  color: var(--abusami-muted, #6f7682);
  font-size: 11px;
}

.halyani-suggestion-arrow { color: var(--abusami-blue, #1249d8); }

.halyani-suggestion-message,
.halyani-suggestion-all {
  display: block;
  padding: 12px;
  color: var(--abusami-text, #17191d);
  font-size: 13px;
  text-align: center;
}

.halyani-suggestion-all {
  color: var(--abusami-blue, #1249d8) !important;
  background: #f7f9fd;
  font-weight: 700;
  text-decoration: none !important;
}

.halyani-menu-section { background: var(--abusami-blue, #1249d8); }
.halyani-menu-section #menu { margin-bottom: 0; }
.halyani-menu-align-center .navbar-nav { margin-inline: auto; }
.halyani-menu-align-end .navbar-nav { margin-inline-start: auto; }

@media (min-width: 992px) {
  .halyani-menu-open-hover .dropdown:hover > .dropdown-menu,
  .halyani-menu-open-hover .dropdown:focus-within > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

.halyani-mobile-top-section {
  color: #ffffff;
  background: var(--abusami-black, #0a0a0a);
}

.halyani-mobile-top-inner {
  display: grid;
  grid-template-columns: 44px minmax(80px, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 66px;
  padding: 8px 12px;
}

html[dir="ltr"] .halyani-mobile-top-inner {
  grid-template-columns: auto minmax(80px, 1fr) 44px;
}

.halyani-mobile-menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 44px;
  padding: 0;
  color: #ffffff;
  background: transparent;
  border: 0;
  font-size: 23px;
}

.halyani-mobile-logo {
  display: flex;
  justify-content: center;
  min-width: 0;
}

.halyani-mobile-actions { gap: 4px; }

.halyani-mobile-actions .halyani-header-icon {
  width: 36px;
  height: 40px;
  color: #ffffff !important;
  background: transparent;
  border: 0;
}

.halyani-mobile-actions .halyani-header-icon:hover,
.halyani-mobile-actions .halyani-header-icon:focus {
  color: #ffffff !important;
  background: rgba(255,255,255,.12);
  transform: none;
}

.halyani-mobile-utilities {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 0 12px 8px;
}

.halyani-mobile-utilities .dropdown-toggle,
.halyani-mobile-utilities button,
.halyani-mobile-utilities .btn-link {
  color: #ffffff !important;
}

.halyani-mobile-search-section {
  padding: 8px 12px 10px;
  background: var(--abusami-black, #0a0a0a);
}

.halyani-mobile-search-section .halyani-search-input { height: 44px; }

@media (max-width: 420px) {
  .halyani-mobile-top-inner {
    grid-template-columns: 42px minmax(72px, 1fr) auto;
    gap: 5px;
    padding-inline: 8px;
  }

  .halyani-mobile-actions .halyani-header-icon { width: 32px; }
  .halyani-mobile-actions .halyani-header-icon i { font-size: 17px; }
}

/* ===== قالب الحلياني: تخطيط الصفحة — اختياري بالكامل ===== */

/*
 * Every rule is scoped under .halyani-layout-enabled.
 * Without that body class, OpenCart's original layout remains untouched.
 */

body.halyani-layout-enabled {
  scroll-behavior: smooth;
}

body.halyani-layout-enabled.halyani-layout-boxed {
  background: var(--abusami-bg, #f7f8fb);
}

body.halyani-layout-enabled.halyani-layout-boxed #container {
  width: min(100%, var(--halyani-site-max-width, 1480px));
  min-height: 100vh;
  margin-inline: auto;
  /* Keep header/menu dropdowns outside the page-content clipping context. */
  background: var(--abusami-white, #ffffff);
  box-shadow: 0 0 34px rgba(16, 24, 40, 0.12);
}

body.halyani-layout-enabled.halyani-layout-wide #container {
  width: 100%;
  max-width: none;
}

/*
 * The page-layout width belongs to the page content only.
 * Header, main navigation and footer keep the native Halyani theme widths.
 */
body.halyani-layout-enabled main > .container,
body.halyani-layout-enabled main > .container-fluid {
  width: 100%;
  max-width: var(--halyani-container-width, 1140px);
  margin-inline: auto;
}

body.halyani-layout-enabled main {
  padding-top: var(--halyani-main-top-desktop, 24px);
  padding-bottom: var(--halyani-main-bottom-desktop, 40px);
}

body.halyani-layout-enabled main > .container,
body.halyani-layout-enabled main > .container-fluid {
  padding-inline: var(--halyani-horizontal-padding-desktop, 12px);
}

body.halyani-layout-enabled main #content > * + * {
  margin-top: var(--halyani-section-gap-desktop, 24px);
}

body.halyani-layout-enabled.halyani-content-card main #content {
  padding: var(--halyani-content-padding-desktop, 24px);
  background: var(--abusami-white, #ffffff);
  border-radius: var(--abusami-radius, 10px);
}

body.halyani-layout-enabled.halyani-content-card.halyani-content-border main #content {
  border: 1px solid var(--abusami-border, #e2e6ed);
}

body.halyani-layout-enabled.halyani-content-card.halyani-content-shadow main #content {
  box-shadow: var(
    --abusami-shadow,
    0 8px 24px rgba(16, 24, 40, 0.08)
  );
}

body.halyani-layout-enabled.halyani-hide-breadcrumbs main .breadcrumb {
  display: none !important;
}

body.halyani-layout-enabled.halyani-hide-page-title main #content > h1,
body.halyani-layout-enabled.halyani-hide-page-title main > .container > h1,
body.halyani-layout-enabled.halyani-hide-page-title main > .container-fluid > h1 {
  display: none !important;
}

@media (min-width: 992px) {
  body.halyani-layout-enabled main #column-left,
  body.halyani-layout-enabled main #column-right {
    flex: 0 0 var(--halyani-sidebar-width, 25%);
    width: var(--halyani-sidebar-width, 25%);
    max-width: var(--halyani-sidebar-width, 25%);
    padding-inline: calc(var(--halyani-sidebar-gap, 24px) / 2);
  }

  body.halyani-layout-enabled main #content {
    min-width: 0;
    padding-inline: calc(var(--halyani-sidebar-gap, 24px) / 2);
  }

  body.halyani-layout-enabled.halyani-sticky-sidebar main #column-left,
  body.halyani-layout-enabled.halyani-sticky-sidebar main #column-right {
    position: sticky;
    top: calc(var(--halyani-sticky-stack-height, 0px) + 16px);
    align-self: flex-start;
  }

  body.halyani-layout-enabled main #product-list {
    display: grid !important;
    grid-template-columns:
      repeat(
        var(--halyani-product-columns-desktop, 4),
        minmax(0, 1fr)
      );
    gap: var(--halyani-product-gap-desktop, 18px);
    margin-inline: 0;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  body.halyani-layout-enabled main #product-list {
    display: grid !important;
    grid-template-columns:
      repeat(
        var(--halyani-product-columns-tablet, 3),
        minmax(0, 1fr)
      );
    gap: var(--halyani-product-gap-desktop, 18px);
    margin-inline: 0;
  }
}

body.halyani-layout-enabled main #product-list > .col,
body.halyani-layout-enabled main #product-list > [class*="col-"] {
  width: auto;
  max-width: none;
  margin: 0 !important;
  padding: 0;
}

body.halyani-layout-enabled main #product-list > .product-list,
body.halyani-layout-enabled main #product-list > .col.product-list,
body.halyani-layout-enabled main #product-list > [class*="col-"].product-list {
  grid-column: 1 / -1;
}

@media (max-width: 767.98px) {
  body.halyani-layout-enabled main {
    padding-top: var(--halyani-main-top-mobile, 16px);
    padding-bottom: var(--halyani-main-bottom-mobile, 28px);
  }

  body.halyani-layout-enabled main > .container,
  body.halyani-layout-enabled main > .container-fluid {
    padding-inline: var(--halyani-horizontal-padding-mobile, 10px);
  }

  body.halyani-layout-enabled main #content > * + * {
    margin-top: var(--halyani-section-gap-mobile, 16px);
  }

  body.halyani-layout-enabled.halyani-content-card main #content {
    padding: var(--halyani-content-padding-mobile, 14px);
  }

  body.halyani-layout-enabled main #column-left,
  body.halyani-layout-enabled main #column-right {
    width: 100%;
    max-width: 100%;
  }

  body.halyani-layout-enabled main #product-list {
    display: grid !important;
    grid-template-columns:
      repeat(
        var(--halyani-product-columns-mobile, 2),
        minmax(0, 1fr)
      );
    gap: var(--halyani-product-gap-mobile, 10px);
    margin-inline: 0;
  }
}

/* ===== قالب الحلياني: نظام الخطوط والطباعة ===== */

/* النص العام */
body,
.tooltip,
.popover,
table,
.list-group,
.pagination {
  font-family: var(--halyani-font-body) !important;
  font-size: var(--halyani-font-body-size);
  font-weight: var(--halyani-font-body-weight);
}

/* العناوين */
h1,
.h1,
.page-title,
#content > h1:first-child {
  font-family: var(--halyani-font-headings) !important;
  font-size: var(--halyani-font-h1-size) !important;
  font-weight: var(--halyani-font-headings-weight) !important;
}

h2,
.h2,
.section-title,
.module-title {
  font-family: var(--halyani-font-headings) !important;
  font-size: var(--halyani-font-h2-size) !important;
  font-weight: var(--halyani-font-headings-weight) !important;
}

h3,
.h3,
.card-title {
  font-family: var(--halyani-font-headings) !important;
  font-size: var(--halyani-font-h3-size) !important;
  font-weight: var(--halyani-font-headings-weight) !important;
}

h4,
h5,
h6,
.h4,
.h5,
.h6 {
  font-family: var(--halyani-font-headings) !important;
  font-weight: var(--halyani-font-headings-weight) !important;
}

/* الشريط العلوي */
.halyani-desktop-topbar-section,
.halyani-desktop-topbar-section a,
.halyani-desktop-topbar-section button,
.halyani-mobile-utilities,
.halyani-mobile-utilities a,
.halyani-mobile-utilities button {
  font-family: var(--halyani-font-topbar) !important;
  font-size: var(--halyani-font-topbar-size) !important;
  font-weight: var(--halyani-font-topbar-weight) !important;
}

/* منطقة الشعار وأيقونات الرأس */
.halyani-desktop-main-section,
.halyani-desktop-main-section a,
.halyani-desktop-main-section button,
.halyani-mobile-top-section,
.halyani-mobile-top-section a,
.halyani-mobile-top-section button {
  font-family: var(--halyani-font-header) !important;
  font-size: var(--halyani-font-header-size);
  font-weight: var(--halyani-font-header-weight);
}

/* القائمة الرئيسية والقوائم الفرعية */
.halyani-menu-section,
.halyani-menu-section #menu,
.halyani-menu-section .nav-link,
.halyani-menu-section .dropdown-item,
.halyani-menu-section .dropdown-menu {
  font-family: var(--halyani-font-menu) !important;
  font-size: var(--halyani-font-menu-size) !important;
  font-weight: var(--halyani-font-menu-weight) !important;
}

/* البحث والنتائج الفورية */
.halyani-search-shell,
.halyani-search-input,
.halyani-search-button,
.halyani-search-suggestions,
.halyani-suggestion-item,
.halyani-suggestion-all,
.halyani-suggestion-message {
  font-family: var(--halyani-font-search) !important;
  font-size: var(--halyani-font-search-size) !important;
  font-weight: var(--halyani-font-search-weight) !important;
}

/* عناوين الأقسام والوحدات */
.category-thumb h4,
.category-thumb h4 a,
.category-name,
.category-title,
.module-title,
.section-title,
.block-title,
.featured-title,
.latest-title {
  font-family: var(--halyani-font-category) !important;
  font-size: var(--halyani-font-category-size) !important;
  font-weight: var(--halyani-font-category-weight) !important;
}

/* أسماء المنتجات */
.product-thumb h4,
.product-thumb h4 a,
.product-thumb .name,
.product-thumb .product-name,
.product-title,
.product-title a,
h1.product-title {
  font-family: var(--halyani-font-product) !important;
  font-size: var(--halyani-font-product-size) !important;
  font-weight: var(--halyani-font-product-weight) !important;
}

/* وصف المنتج ومحتوى صفحات المعلومات */
.product-description,
#tab-description,
.information-content,
.article-description,
main #content p,
main #content .description {
  font-family: var(--halyani-font-content) !important;
  font-size: var(--halyani-font-content-size);
  font-weight: var(--halyani-font-content-weight);
}

/* الأزرار */
.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button {
  font-family: var(--halyani-font-buttons) !important;
  font-size: var(--halyani-font-buttons-size) !important;
  font-weight: var(--halyani-font-buttons-weight) !important;
}

/* الحقول والتسميات */
.form-control,
.form-select,
.form-label,
.col-form-label,
label,
input,
select,
textarea,
option {
  font-family: var(--halyani-font-forms) !important;
  font-size: var(--halyani-font-forms-size);
  font-weight: var(--halyani-font-forms-weight);
}

/* أسفل الصفحة */
.abusami-footer,
.abusami-footer a,
.abusami-footer button,
.abusami-footer input {
  font-family: var(--halyani-font-footer) !important;
  font-size: var(--halyani-font-footer-size);
  font-weight: var(--halyani-font-footer-weight);
}

/* القائمة السفلية للجوال */
.abusami-mobile-bottom-nav,
.abusami-mobile-bottom-item,
.abusami-mobile-bottom-item span {
  font-family: var(--halyani-font-mobile-nav) !important;
  font-size: var(--halyani-font-mobile-nav-size) !important;
  font-weight: var(--halyani-font-mobile-nav-weight) !important;
}

/* أولوية خط البحث على إعدادات الأزرار والحقول العامة */
.halyani-search-shell .halyani-search-input,
.halyani-search-shell .halyani-search-button,
.halyani-search-shell .halyani-search-suggestions,
.halyani-search-shell .halyani-suggestion-item,
.halyani-search-shell .halyani-suggestion-all,
.halyani-search-shell .halyani-suggestion-message {
  font-family: var(--halyani-font-search) !important;
  font-size: var(--halyani-font-search-size) !important;
  font-weight: var(--halyani-font-search-weight) !important;
}

/* ===== منشئ صفحات الحلياني المستقل — المرحلة الثانية ===== */

.halyani-builder-page {
  width: 100%;
  min-height: 300px;
  background: var(--halyani-builder-page-bg, transparent);
}

.halyani-builder-container {
  position: relative;
  z-index: 2;
  width: min(
    calc(100% - 24px),
    var(
      --halyani-section-content-width,
      var(--halyani-builder-content-width, 1320px)
    )
  );
  margin-inline: auto;
}

.halyani-live-section {
  position: relative;
  min-height: var(--halyani-section-min-height, 0);
  margin-top: var(--halyani-section-mt, 0);
  margin-bottom: var(--halyani-section-mb, 0);
  padding-top: var(--halyani-section-pt-desktop, 24px);
  padding-bottom: var(--halyani-section-pb-desktop, 24px);
  overflow: hidden;
  background: var(--halyani-section-bg, transparent);
  background-position: var(
    --halyani-section-bg-position,
    center center
  );
  background-size: var(--halyani-section-bg-size, cover);
  background-repeat: no-repeat;
  border:
    var(--halyani-section-border-width, 0)
    solid
    var(--halyani-section-border-color, transparent);
  border-radius: var(--halyani-section-radius, 0);
}

.halyani-section-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--halyani-section-overlay, #000000);
  opacity: var(--halyani-section-overlay-opacity, 0);
  pointer-events: none;
}

.halyani-section-inner {
  position: relative;
  z-index: 2;
}

.halyani-shadow-soft {
  box-shadow: 0 8px 24px rgba(16, 24, 40, .08);
}

.halyani-shadow-medium {
  box-shadow: 0 14px 36px rgba(16, 24, 40, .13);
}

.halyani-shadow-strong {
  box-shadow: 0 20px 55px rgba(16, 24, 40, .20);
}

.halyani-live-row {
  --bs-gutter-x: var(--halyani-row-gutter, 18px);
  row-gap: var(--halyani-row-gutter, 18px);
}

.halyani-align-items-start {
  align-items: flex-start;
}

.halyani-align-items-center {
  align-items: center;
}

.halyani-align-items-end {
  align-items: flex-end;
}

.halyani-align-items-stretch {
  align-items: stretch;
}

.halyani-justify-content-start {
  justify-content: flex-start;
}

.halyani-justify-content-center {
  justify-content: center;
}

.halyani-justify-content-end {
  justify-content: flex-end;
}

.halyani-justify-content-between {
  justify-content: space-between;
}

.halyani-justify-content-around {
  justify-content: space-around;
}

.halyani-justify-content-evenly {
  justify-content: space-evenly;
}

.halyani-live-column {
  order: var(--halyani-column-order-desktop, 0);
}

.halyani-live-column-inner {
  display: flex;
  min-height: 100%;
  padding: var(--halyani-column-padding, 0);
  flex-direction: column;
  background: var(--halyani-column-bg, transparent);
  border-radius: var(--halyani-column-radius, 0);
}

.halyani-column-align-start .halyani-live-column-inner {
  justify-content: flex-start;
}

.halyani-column-align-center .halyani-live-column-inner {
  justify-content: center;
}

.halyani-column-align-end .halyani-live-column-inner {
  justify-content: flex-end;
}

.halyani-column-align-stretch .halyani-live-column-inner {
  justify-content: stretch;
}

.halyani-live-component {
  margin-top: var(--halyani-component-mt, 0);
  margin-bottom: var(--halyani-component-mb, 0);
}

.halyani-live-component + .halyani-live-component {
  margin-top:
    calc(
      var(--halyani-component-mt, 0px)
      + 18px
    );
}

.halyani-text-start {
  text-align: start;
}

.halyani-text-center {
  text-align: center;
}

.halyani-text-end {
  text-align: end;
}

.halyani-animation-fade {
  animation: halyaniFade .55s ease both;
}

.halyani-animation-slide-up {
  animation: halyaniSlideUp .55s ease both;
}

.halyani-animation-slide-right {
  animation: halyaniSlideRight .55s ease both;
}

.halyani-animation-zoom {
  animation: halyaniZoom .45s ease both;
}

@keyframes halyaniFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes halyaniSlideUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes halyaniSlideRight {
  from {
    opacity: 0;
    transform: translateX(24px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes halyaniZoom {
  from {
    opacity: 0;
    transform: scale(.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* العناوين ومسار التنقل */

.halyani-builder-breadcrumbs {
  padding: 10px 0;
}

.halyani-builder-page-title {
  margin: 0;
}

.halyani-builder-section-heading {
  margin-bottom: 18px;
  text-align: inherit;
}

.halyani-builder-section-heading h2 {
  margin: 0;
}

.halyani-builder-section-heading p {
  margin: 7px 0 0;
  color: var(--abusami-muted);
}

/* واجهة Hero */

.halyani-builder-hero {
  display: grid;
  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(240px, .75fr);
  min-height: var(--halyani-hero-height, 420px);
  padding: 46px;
  align-items: center;
  gap: 28px;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      rgba(18, 73, 216, .08),
      rgba(255, 16, 16, .06)
    );
  border: 1px solid var(--abusami-border);
  border-radius: calc(var(--abusami-radius) + 8px);
}

.halyani-builder-hero-content {
  position: relative;
  z-index: 2;
}

.halyani-builder-hero-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 5px 10px;
  color: #fff;
  background: var(--abusami-red);
  border-radius: 99px;
  font-weight: 800;
  letter-spacing: .12em;
}

.halyani-builder-hero h1 {
  max-width: 740px;
  margin: 0 0 12px;
  font-size: clamp(34px, 5vw, 64px) !important;
}

.halyani-builder-hero p {
  max-width: 650px;
  margin: 0 0 24px;
  color: var(--abusami-muted);
  font-size: 18px;
}

.halyani-builder-hero.halyani-align-center {
  grid-template-columns: 1fr;
  text-align: center;
}

.halyani-builder-hero.halyani-align-center
.halyani-builder-hero-content {
  margin-inline: auto;
}

.halyani-builder-hero.halyani-align-center
.halyani-builder-hero p {
  margin-inline: auto;
}

.halyani-builder-hero.halyani-align-center
.halyani-builder-hero-art {
  display: none;
}

.halyani-builder-hero-art {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  transform: rotate(-5deg);
}

.halyani-builder-hero-art i {
  display: flex;
  min-height: 120px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--abusami-blue);
  border-radius: 24px;
  font-size: 48px;
  box-shadow: 0 14px 30px rgba(18, 73, 216, .18);
}

.halyani-builder-hero-art i:nth-child(2) {
  background: var(--abusami-red);
}

.halyani-builder-hero-art i:nth-child(3) {
  grid-column: 1 / -1;
  background: var(--abusami-black);
}

/* الصور */

.halyani-image-banner {
  overflow: hidden;
  border-radius: var(--abusami-radius);
}

.halyani-image-banner a {
  display: block;
}

.halyani-image-banner img {
  display: block;
  width: 100%;
  max-width: 100%;
}

.halyani-image-text {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr);
  min-height: var(--halyani-image-text-height, 360px);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: calc(var(--abusami-radius) + 5px);
}

.halyani-image-text.is-image-end
.halyani-image-text-media {
  order: 2;
}

.halyani-image-text-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--halyani-image-text-height, 360px);
  object-fit: cover;
}

.halyani-image-text-copy {
  display: flex;
  padding: clamp(24px, 5vw, 58px);
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.halyani-image-text-copy h2 {
  margin-top: 0;
}

.halyani-image-text-copy p {
  color: var(--abusami-muted);
  font-size: 16px;
  line-height: 1.9;
}

/* المميزات */

.halyani-feature-list {
  display: grid;
  grid-template-columns:
    repeat(
      var(--halyani-grid-desktop, 4),
      minmax(0, 1fr)
    );
  gap: 12px;
}

.halyani-feature-item {
  display: flex;
  min-height: 82px;
  padding: 15px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
  font-weight: 700;
  text-align: center;
}

.halyani-feature-item i {
  color: var(--abusami-blue);
  font-size: 24px;
}

/* الفيديو */

.halyani-video {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #111827;
  border-radius: var(--abusami-radius);
}

.halyani-video-16x9 {
  aspect-ratio: 16 / 9;
}

.halyani-video-4x3 {
  aspect-ratio: 4 / 3;
}

.halyani-video-1x1 {
  aspect-ratio: 1 / 1;
}

.halyani-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* الفاصل */

.halyani-divider {
  width: var(--halyani-divider-width, 100%);
  margin-inline: auto;
  border-top:
    var(--halyani-divider-thickness, 1px)
    var(--halyani-divider-style, solid)
    var(--halyani-divider-color, #e2e6ed);
}

/* الشبكات */

.halyani-builder-grid {
  display: grid;
  grid-template-columns:
    repeat(
      var(--halyani-grid-desktop, 4),
      minmax(0, 1fr)
    );
  gap: 18px;
}

.halyani-category-card,
.halyani-brand-card,
.halyani-subcategory-card {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: var(--abusami-text) !important;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
  text-decoration: none !important;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.halyani-category-card:hover,
.halyani-brand-card:hover,
.halyani-subcategory-card:hover {
  transform: translateY(-4px);
  border-color: var(--abusami-blue);
  box-shadow: 0 12px 28px rgba(16, 24, 40, .1);
}

.halyani-category-card {
  overflow: hidden;
}

.halyani-category-card img {
  width: 100%;
  aspect-ratio: 1.3 / 1;
  object-fit: cover;
}

.halyani-category-card strong {
  padding: 12px;
  text-align: center;
}

.halyani-brand-card {
  min-height: 130px;
  padding: 14px;
  gap: 8px;
}

.halyani-brand-card img {
  width: 100%;
  height: 70px;
  object-fit: contain;
}

.halyani-subcategory-card {
  min-height: 72px;
  padding: 14px;
  text-align: center;
  font-weight: 700;
}

.halyani-product-cell {
  min-width: 0;
}

/* واتساب */

.halyani-whatsapp-cta {
  display: flex;
  padding: 28px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #fff;
  border: 1px solid rgba(37, 211, 102, .28);
  border-radius: calc(var(--abusami-radius) + 5px);
}

.halyani-whatsapp-cta > div {
  display: flex;
  align-items: center;
  gap: 15px;
}

.halyani-whatsapp-cta i {
  color: #25d366;
  font-size: 42px;
}

.halyani-whatsapp-cta h2 {
  margin: 0;
}

/* صفحات الأقسام والمنتجات والمعلومات */

.halyani-category-intro {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.halyani-category-intro img {
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
}

.halyani-category-intro h1 {
  margin-top: 0;
}

.halyani-rich-content img {
  max-width: 100%;
  height: auto;
}

.halyani-catalog-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.halyani-catalog-toolbar .input-group {
  max-width: 320px;
}

.halyani-pagination-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.halyani-product-gallery {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
}

.halyani-product-main-image {
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: contain;
}

.halyani-product-thumbnails {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.halyani-product-thumbnails img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border: 1px solid var(--abusami-border);
  border-radius: 8px;
}

.halyani-product-summary,
.halyani-product-description,
.halyani-information-content,
.halyani-contact-card,
.halyani-contact-form {
  padding: 22px;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
}

.halyani-product-summary h1,
.halyani-product-description h2 {
  margin-top: 0;
}

.halyani-product-meta li {
  padding: 7px 0;
  border-bottom: 1px solid var(--abusami-border);
}

.halyani-product-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 22px;
}

.halyani-builder-search-form {
  padding: 20px;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
}

.halyani-manufacturer-index {
  display: grid;
  gap: 20px;
}

.halyani-manufacturer-index section {
  padding: 18px;
  background: #fff;
  border: 1px solid var(--abusami-border);
  border-radius: var(--abusami-radius);
}

.halyani-manufacturer-index h2 {
  margin-top: 0;
}

.halyani-manufacturer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.halyani-manufacturer-links a {
  padding: 8px 10px;
  background: var(--abusami-bg);
  border-radius: 7px;
  text-decoration: none;
}

.halyani-contact-card img {
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
}

.halyani-contact-card address {
  white-space: pre-line;
}

.halyani-sitemap-content ul {
  line-height: 1.9;
}

.halyani-not-found {
  padding: 70px 20px;
  text-align: center;
}

.halyani-not-found > span {
  display: block;
  color: var(--abusami-blue);
  font-size: clamp(80px, 15vw, 180px);
  font-weight: 900;
  line-height: 1;
}

.halyani-not-found h1 {
  margin: 5px 0;
}

.halyani-custom-html {
  overflow-wrap: anywhere;
}

/* الأجهزة */

@media (min-width: 992px) {
  .halyani-hide-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .halyani-hide-tablet {
    display: none !important;
  }

  .halyani-builder-grid,
  .halyani-feature-list {
    grid-template-columns:
      repeat(
        var(--halyani-grid-tablet, 3),
        minmax(0, 1fr)
      );
  }
}

@media (max-width: 767.98px) {
  .halyani-hide-mobile {
    display: none !important;
  }

  .halyani-live-section {
    padding-top: var(--halyani-section-pt-mobile, 16px);
    padding-bottom: var(--halyani-section-pb-mobile, 16px);
  }

  .halyani-live-column {
    order: var(--halyani-column-order-mobile, 0);
  }

  .halyani-reverse-mobile {
    flex-direction: column-reverse;
  }

  .halyani-builder-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 26px;
  }

  .halyani-builder-hero-art {
    display: none;
  }

  .halyani-builder-hero p {
    font-size: 15px;
  }

  .halyani-builder-grid,
  .halyani-feature-list {
    grid-template-columns:
      repeat(
        var(--halyani-grid-mobile, 2),
        minmax(0, 1fr)
      );
    gap: 10px;
  }

  .halyani-image-text,
  .halyani-image-text.is-image-end {
    grid-template-columns: 1fr;
  }

  .halyani-image-text.is-image-end
  .halyani-image-text-media {
    order: 0;
  }

  .halyani-image-text-media img {
    min-height: 220px;
    max-height: 300px;
  }

  .halyani-image-text-copy {
    padding: 24px;
  }

  .halyani-whatsapp-cta {
    align-items: stretch;
    flex-direction: column;
    text-align: center;
  }

  .halyani-whatsapp-cta > div {
    justify-content: center;
    flex-direction: column;
  }

  .halyani-category-intro {
    grid-template-columns: 1fr;
  }

  .halyani-category-intro img {
    max-height: 180px;
  }

  .halyani-catalog-toolbar {
    flex-direction: column;
  }

  .halyani-catalog-toolbar .input-group {
    max-width: none;
  }

  .halyani-pagination-row {
    align-items: stretch;
    flex-direction: column;
  }

  .halyani-product-thumbnails {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .halyani-product-actions {
    grid-template-columns: 1fr;
  }

  .halyani-manufacturer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .halyani-animation-fade,
  .halyani-animation-slide-up,
  .halyani-animation-slide-right,
  .halyani-animation-zoom {
    animation: none !important;
  }
}

/* ===== V20.3: هيدر الجوال الاحترافي لهوية أبو سامي ===== */
@media (max-width: 767.98px) {
  .halyani-mobile-top-section {
    position: relative;
    color: #ffffff;
    background:
      linear-gradient(135deg, rgba(255,255,255,.025), transparent 52%),
      var(--abusami-black, #111318);
    border-bottom: 3px solid var(--abusami-red, #ff1010);
  }

  .halyani-mobile-header {
    width: 100%;
    padding: 0;
  }

  .halyani-mobile-header-row {
    display: grid;
    grid-template-columns: 46px minmax(86px, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 70px;
    padding: 9px 12px 7px;
  }

  html[dir="ltr"] .halyani-mobile-header-row {
    grid-template-columns: auto minmax(86px, 1fr) 46px;
  }

  .halyani-mobile-header-spacer {
    display: block;
    width: 44px;
    height: 44px;
  }

  .halyani-mobile-menu-button {
    width: 44px;
    height: 44px;
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .16);
  }

  .halyani-mobile-menu-button:hover,
  .halyani-mobile-menu-button:focus,
  .halyani-mobile-menu-button[aria-expanded="true"] {
    color: #ffffff;
    background: var(--abusami-blue, #1249d8);
    border-color: var(--abusami-blue, #1249d8);
  }

  .halyani-menu-lines {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    width: 22px;
  }

  .halyani-menu-lines span {
    display: block;
    width: 100%;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
  }

  .halyani-menu-lines span:nth-child(2) { width: 15px; }
  html[dir="ltr"] .halyani-menu-lines span:nth-child(2) { margin-inline-start: auto; }

  .halyani-mobile-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding-inline: 4px;
  }

  .halyani-mobile-logo img {
    width: auto !important;
    max-width: min(172px, 100%);
    height: 46px !important;
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .22));
  }

  .halyani-mobile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
  }

  html[dir="rtl"] .halyani-mobile-actions { justify-content: flex-start; }

  .halyani-mobile-action,
  .halyani-mobile-language {
    position: relative;
    display: inline-flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 42px;
    padding: 0;
    color: #ffffff !important;
    background: transparent;
    border: 0;
    border-radius: 11px;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
  }

  .halyani-mobile-action:hover,
  .halyani-mobile-action:focus,
  .halyani-mobile-language:hover,
  .halyani-mobile-language:focus-within {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .11);
    transform: translateY(-1px);
  }

  .halyani-mobile-action i,
  .halyani-mobile-language-icon {
    position: relative;
    z-index: 1;
    font-size: 20px;
    pointer-events: none;
  }

  .halyani-mobile-action[href*="wishlist"] i {
    color: var(--abusami-red, #ff1010);
  }

  .halyani-mobile-language > form {
    position: absolute;
    inset: 0;
    z-index: 2;
    margin: 0;
  }

  .halyani-mobile-language > form > .dropdown,
  .halyani-mobile-language > form .dropdown-toggle {
    width: 100%;
    height: 100%;
  }

  .halyani-mobile-language > form .dropdown-toggle {
    display: block;
    opacity: 0;
  }

  .halyani-mobile-language > form .dropdown-menu {
    inset-inline-end: 0 !important;
    inset-inline-start: auto !important;
    min-width: 180px;
    margin-top: 8px !important;
    padding: 7px;
    background: #ffffff;
    border: 1px solid var(--abusami-border, #e2e6ed);
    border-radius: 13px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
  }

  .halyani-mobile-language > form .dropdown-item {
    display: flex;
    gap: 9px;
    align-items: center;
    padding: 10px 12px;
    color: var(--abusami-text, #17191d) !important;
    border-radius: 9px;
    font-weight: 700;
  }

  .halyani-mobile-language > form .dropdown-item:hover,
  .halyani-mobile-language > form .dropdown-item:focus {
    color: var(--abusami-blue, #1249d8) !important;
    background: rgba(18, 73, 216, .07);
  }

  .halyani-mobile-search-wrap {
    padding: 0 12px 12px;
  }

  .halyani-mobile-search-wrap .halyani-search-form {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 13px;
    box-shadow: 0 9px 26px rgba(0, 0, 0, .18);
  }

  .halyani-mobile-search-wrap .halyani-search-input {
    height: 47px;
    padding-inline: 15px 58px;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    color: var(--abusami-text, #17191d);
    font-size: 14px !important;
  }

  .halyani-mobile-search-wrap .halyani-search-input:focus {
    box-shadow: inset 0 0 0 2px rgba(18, 73, 216, .22);
  }

  .halyani-mobile-search-wrap .halyani-search-button {
    top: 0;
    inset-inline-end: 0;
    width: 52px;
    height: 47px;
    color: #ffffff;
    background: var(--abusami-blue, #1249d8);
    border-radius: 0;
  }

  .halyani-mobile-search-wrap .halyani-search-button:hover,
  .halyani-mobile-search-wrap .halyani-search-button:focus {
    background: var(--abusami-red, #ff1010);
  }

  .halyani-mobile-search-wrap .halyani-search-loading {
    inset-inline-end: 61px;
  }

  /* القائمة على الجوال: لوحة نظيفة شبيهة بالتطبيقات */
  .halyani-menu-section {
    background: transparent;
  }

  .halyani-menu-section > .container,
  .halyani-menu-section > .container-fluid {
    max-width: none;
    padding: 0;
  }

  .halyani-menu-section #menu {
    min-height: 0;
    padding: 0;
    background: transparent !important;
    border: 0;
  }

  .halyani-menu-section #category,
  .halyani-menu-section .navbar-toggler {
    display: none !important;
  }

  .halyani-menu-section #navbar-menu {
    position: fixed;
    top: var(--halyani-mobile-header-bottom, 0px);
    inset-inline: 0;
    bottom: 0;
    z-index: 1085;
    display: none;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0 calc(88px + env(safe-area-inset-bottom));
    background: #f6f7f9;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .24);
    overscroll-behavior: contain;
  }

  .halyani-menu-section #navbar-menu.show,
  .halyani-menu-section #navbar-menu.collapsing {
    display: block;
  }

  .halyani-menu-section #navbar-menu.collapsing {
    height: auto !important;
    transition: opacity .18s ease, transform .18s ease;
  }

  .halyani-mobile-menu-heading {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    padding: 13px 18px;
    color: var(--abusami-blue, #1249d8);
    background: #ffffff;
    border-bottom: 1px solid var(--abusami-border, #e2e6ed);
    box-shadow: 0 7px 18px rgba(15, 23, 42, .07);
  }

  .halyani-mobile-menu-heading strong {
    font-size: 21px;
    font-weight: 800;
  }

  .halyani-mobile-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    color: var(--abusami-text, #17191d);
    background: #f3f5f8;
    border: 0;
    border-radius: 50%;
    font-size: 20px;
  }

  .halyani-menu-section #navbar-menu > .navbar-nav {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 0;
  }

  .halyani-menu-section #navbar-menu .nav-item {
    display: block;
    width: 100%;
    margin: 0;
    background: #ffffff;
    border-bottom: 1px solid var(--abusami-border, #e2e6ed);
  }

  .halyani-menu-section #navbar-menu .nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 68px;
    padding: 14px 20px;
    color: var(--abusami-text, #17191d) !important;
    background: #ffffff !important;
    border: 0;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-align: start;
  }

  .halyani-menu-section #navbar-menu .nav-link:hover,
  .halyani-menu-section #navbar-menu .nav-link:focus,
  .halyani-menu-section #navbar-menu .nav-link.show {
    color: var(--abusami-blue, #1249d8) !important;
    background: rgba(18, 73, 216, .045) !important;
  }

  .halyani-mobile-category-arrow {
    flex: 0 0 auto;
    margin-inline-start: 14px;
    color: #a6abb4;
    font-size: 14px;
    transition: transform .2s ease, color .2s ease;
  }

  html[dir="ltr"] .halyani-mobile-category-arrow {
    transform: rotate(180deg);
  }

  .halyani-menu-section #navbar-menu .dropdown-toggle.show .halyani-mobile-category-arrow {
    color: var(--abusami-red, #ff1010);
    transform: rotate(-90deg);
  }

  html[dir="ltr"] .halyani-menu-section #navbar-menu .dropdown-toggle.show .halyani-mobile-category-arrow {
    transform: rotate(90deg);
  }

  .halyani-menu-section #navbar-menu .dropdown-menu {
    position: static !important;
    width: 100%;
    margin: 0;
    padding: 5px 16px 12px;
    background: #f7f9fc;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none !important;
  }

  .halyani-menu-section #navbar-menu .dropdown-inner {
    display: block;
  }

  .halyani-menu-section #navbar-menu .dropdown-inner > ul,
  .halyani-menu-section #navbar-menu .dropdown-menu > ul {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .halyani-menu-section #navbar-menu .dropdown-item {
    display: block;
    padding: 12px 13px;
    color: var(--abusami-text, #17191d) !important;
    background: transparent;
    border-bottom: 1px dashed rgba(148, 163, 184, .35);
    border-radius: 8px;
    font-size: 14px !important;
    white-space: normal;
  }

  .halyani-menu-section #navbar-menu .dropdown-item:hover,
  .halyani-menu-section #navbar-menu .dropdown-item:focus {
    color: var(--abusami-blue, #1249d8) !important;
    background: #ffffff;
  }

  .halyani-menu-section #navbar-menu .dropdown-divider {
    margin: 4px 0;
    border-color: var(--abusami-border, #e2e6ed);
  }

  body.halyani-mobile-menu-open {
    overflow: hidden;
    touch-action: none;
  }
}

@media (max-width: 390px) {
  .halyani-mobile-header-row {
    grid-template-columns: 42px minmax(70px, 1fr) auto;
    gap: 4px;
    padding-inline: 8px;
  }

  .halyani-mobile-menu-button {
    width: 40px;
    height: 42px;
  }

  .halyani-mobile-action,
  .halyani-mobile-language {
    flex-basis: 33px;
    width: 33px;
  }

  .halyani-mobile-action i,
  .halyani-mobile-language-icon {
    font-size: 18px;
  }

  .halyani-mobile-logo img {
    max-width: 132px;
    height: 41px !important;
  }
}

/* =========================================================
   Halyani V20.4 - Mobile header and categories refinement
   ========================================================= */
@media (max-width: 991.98px) {
  .halyani-mobile-top-section,
  .halyani-mobile-header {
    background: var(--abusami-white, #fff) !important;
  }

  .halyani-mobile-header {
    padding: 0;
    border-bottom: 1px solid var(--abusami-border, #e5e7eb);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .07);
  }

  .halyani-mobile-primary-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 8px;
    background: var(--abusami-white, #fff);
  }

  .halyani-mobile-logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(82px, 23vw, 112px);
    min-width: 82px;
    padding: 0;
  }

  .halyani-mobile-logo img {
    display: block;
    width: 100% !important;
    max-width: 112px !important;
    height: 48px !important;
    object-fit: contain;
    filter: none !important;
  }

  .halyani-mobile-search-wrap {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 !important;
  }

  .halyani-mobile-search-wrap .halyani-search-form {
    overflow: hidden;
    min-height: 46px;
    background: #f7f8fa;
    border: 1px solid var(--abusami-border, #e2e6ed);
    border-radius: 12px;
    box-shadow: none;
  }

  .halyani-mobile-search-wrap .halyani-search-input {
    height: 46px;
    padding-inline: 14px 50px;
    color: var(--abusami-text, #17191d);
    background: transparent;
    border: 0;
    font-size: 14px !important;
  }

  .halyani-mobile-search-wrap .halyani-search-input:focus {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--abusami-red, #e31e24) 24%, transparent);
  }

  .halyani-mobile-search-wrap .halyani-search-button {
    top: 3px;
    inset-inline-end: 3px;
    width: 40px;
    height: 40px;
    color: #fff;
    background: var(--abusami-red, #e31e24);
    border-radius: 10px;
  }

  .halyani-mobile-search-wrap .halyani-search-button:hover,
  .halyani-mobile-search-wrap .halyani-search-button:focus {
    background: var(--abusami-red-dark, #b9141a);
  }

  .halyani-mobile-quickbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    min-height: 52px;
    background: #fff;
    border-top: 1px solid var(--abusami-border, #e6e8ec);
  }

  .halyani-mobile-quick-action {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    padding: 10px 7px;
    color: var(--abusami-text, #20242a) !important;
    background: #fff !important;
    border: 0;
    border-inline-end: 1px solid var(--abusami-border, #e6e8ec);
    border-radius: 0;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
  }

  .halyani-mobile-quick-action:last-child {
    border-inline-end: 0;
  }

  .halyani-mobile-quick-action i {
    flex: 0 0 auto;
    color: var(--abusami-blue, #1249d8);
    font-size: 18px;
  }

  .halyani-mobile-quick-wishlist i {
    color: var(--abusami-red, #e31e24);
  }

  .halyani-mobile-quick-action:hover,
  .halyani-mobile-quick-action:focus-within,
  .halyani-mobile-quick-action:focus {
    color: var(--abusami-red, #e31e24) !important;
    background: #fafafa !important;
  }

  .halyani-mobile-quick-action > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .halyani-mobile-quick-language > form {
    position: absolute;
    inset: 0;
    z-index: 2;
    margin: 0;
  }

  .halyani-mobile-quick-language > form > .dropdown,
  .halyani-mobile-quick-language > form .dropdown-toggle {
    width: 100%;
    height: 100%;
  }

  .halyani-mobile-quick-language > form .dropdown-toggle {
    display: block;
    opacity: 0;
  }

  .halyani-mobile-quick-language > form .dropdown-menu {
    inset-inline-end: auto !important;
    inset-inline-start: 50% !important;
    transform: translateX(-50%) !important;
    min-width: 180px;
    margin-top: 6px !important;
    padding: 7px;
    background: #fff;
    border: 1px solid var(--abusami-border, #e2e6ed);
    border-radius: 12px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .18);
  }

  .halyani-mobile-quick-language > form .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    color: var(--abusami-text, #17191d) !important;
    border-radius: 8px;
    font-weight: 700;
  }

  /* The mobile categories are opened only from the fixed bottom navigation. */
  .halyani-mobile-menu-button,
  .halyani-mobile-header-spacer,
  .halyani-menu-section #category,
  .halyani-menu-section .navbar-toggler {
    display: none !important;
  }

  .halyani-menu-section {
    background: transparent !important;
  }

  .halyani-menu-section #navbar-menu {
    position: fixed;
    top: 0;
    inset-inline: 0;
    bottom: calc(68px + env(safe-area-inset-bottom));
    z-index: 1085;
    display: none;
    width: 100%;
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    padding: 0;
    background: #fff !important;
    border: 0;
    box-shadow: none;
  }

  .halyani-menu-section #navbar-menu.show,
  .halyani-menu-section #navbar-menu.collapsing {
    display: block;
  }

  .halyani-menu-section #navbar-menu.collapsing {
    height: auto !important;
    transition: opacity .16s ease;
  }

  .halyani-mobile-menu-heading {
    position: sticky;
    top: 0;
    z-index: 5;
    min-height: 62px;
    padding: 11px 16px;
    color: var(--abusami-text, #17191d) !important;
    background: #fff !important;
    border-bottom: 1px solid var(--abusami-border, #e5e7eb);
    box-shadow: 0 3px 10px rgba(15, 23, 42, .05);
  }

  .halyani-mobile-menu-heading strong {
    color: var(--abusami-red, #e31e24);
    font-size: 20px;
    font-weight: 800;
  }

  .halyani-mobile-menu-close {
    color: var(--abusami-text, #17191d);
    background: #f5f6f8;
    border: 1px solid var(--abusami-border, #e5e7eb);
  }

  .halyani-menu-section #navbar-menu > .navbar-nav {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 14px 22px;
    background: #fff;
  }

  .halyani-menu-section #navbar-menu .nav-item {
    margin: 0;
    background: #fff !important;
    border-bottom: 1px solid var(--abusami-border, #eceef1);
  }

  .halyani-menu-section #navbar-menu .nav-link {
    min-height: 62px;
    padding: 13px 4px;
    color: var(--abusami-text, #17191d) !important;
    background: #fff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
  }

  .halyani-menu-section #navbar-menu .nav-link:hover,
  .halyani-menu-section #navbar-menu .nav-link:focus,
  .halyani-menu-section #navbar-menu .nav-link.show {
    color: var(--abusami-red, #e31e24) !important;
    background: #fff !important;
  }

  .halyani-mobile-category-arrow {
    color: #9ca3af;
  }

  .halyani-menu-section #navbar-menu .dropdown-toggle.show .halyani-mobile-category-arrow {
    color: var(--abusami-red, #e31e24);
  }

  .halyani-menu-section #navbar-menu .dropdown-menu {
    position: static !important;
    width: 100%;
    margin: 0;
    padding: 2px 10px 10px;
    background: #fafafa !important;
    border: 0;
    border-radius: 10px;
    box-shadow: none;
    transform: none !important;
  }

  .halyani-menu-section #navbar-menu .dropdown-item {
    padding: 11px 10px;
    color: var(--abusami-text, #17191d) !important;
    background: transparent !important;
    border-bottom: 1px solid #eceef1;
    border-radius: 0;
  }

  .halyani-menu-section #navbar-menu .dropdown-item:hover,
  .halyani-menu-section #navbar-menu .dropdown-item:focus {
    color: var(--abusami-red, #e31e24) !important;
    background: transparent !important;
  }

  body.halyani-mobile-menu-open {
    overflow: auto !important;
    touch-action: auto !important;
  }
}

@media (max-width: 390px) {
  .halyani-mobile-primary-row {
    gap: 7px;
    padding-inline: 9px;
  }

  .halyani-mobile-logo {
    width: 82px;
    min-width: 82px;
  }

  .halyani-mobile-logo img {
    max-width: 82px !important;
    height: 42px !important;
  }

  .halyani-mobile-quick-action {
    gap: 5px;
    padding-inline: 4px;
    font-size: 11px;
  }

  .halyani-mobile-quick-action i {
    font-size: 16px;
  }
}

/* =========================================================
   Halyani V20.5 - Mobile language dropdown viewport safety
   Prevent the language popover from changing page width.
   ========================================================= */
@media (max-width: 991.98px) {
  .halyani-mobile-quick-language > form .dropdown-menu {
    position: fixed !important;
    top: calc(var(--halyani-mobile-header-bottom, 112px) + 8px) !important;
    right: auto !important;
    left: 50% !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    width: min(280px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    overflow: hidden;
    box-sizing: border-box;
    z-index: 1105;
  }

  .halyani-mobile-quick-language > form .dropdown-menu.show {
    display: block;
  }

  .halyani-mobile-quick-language > form .dropdown-item {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    box-sizing: border-box;
  }

  html,
  body,
  #container {
    max-width: 100%;
  }
}


/* Halyani Builder - Responsive product carousel */
.halyani-product-carousel {
  position: relative;
  width: 100%;
  min-width: 0;
  --halyani-carousel-gap: 18px;
}

.halyani-carousel-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.halyani-carousel-heading h2 {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  font-weight: 800;
}

.halyani-carousel-heading p {
  margin: 6px 0 0;
  color: var(--bs-secondary-color, #6c757d);
}

.halyani-carousel-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.halyani-carousel-controls.is-floating {
  justify-content: flex-end;
  margin-bottom: 12px;
}

.halyani-carousel-arrow {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e3e6eb;
  border-radius: 50%;
  background: #fff;
  color: #1c2736;
  box-shadow: 0 5px 18px rgba(18, 31, 53, .07);
  transition: transform .2s ease, border-color .2s ease, color .2s ease;
}

.halyani-carousel-arrow:hover:not(:disabled) {
  color: var(--halyani-primary, #e91d2a);
  border-color: var(--halyani-primary, #e91d2a);
  transform: translateY(-1px);
}

.halyani-carousel-arrow:disabled {
  opacity: .35;
  cursor: default;
}

.halyani-product-carousel.is-rtl .halyani-carousel-arrow i {
  transform: scaleX(-1);
}

.halyani-carousel-viewport {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  scroll-behavior: smooth;
  touch-action: pan-y;
  direction: ltr;
}

.halyani-carousel-track {
  display: flex;
  align-items: stretch;
  gap: var(--halyani-carousel-gap);
  width: 100%;
  will-change: transform;
  transition: transform .42s cubic-bezier(.22,.61,.36,1);
}

.halyani-carousel-item {
  min-width: 0;
  flex: 0 0 calc((100% - (var(--halyani-carousel-gap) * (var(--halyani-carousel-desktop) - 1))) / var(--halyani-carousel-desktop));
  direction: ltr;
}

.halyani-product-carousel.is-rtl .halyani-carousel-item {
  direction: rtl;
}

.halyani-carousel-item > * {
  height: 100%;
}

.halyani-carousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 20px;
  margin-top: 16px;
}

.halyani-carousel-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #cfd4dc;
  transition: width .2s ease, background-color .2s ease;
}

.halyani-carousel-dot.is-active {
  width: 24px;
  background: var(--halyani-primary, #e91d2a);
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .halyani-carousel-item {
    flex-basis: calc((100% - (var(--halyani-carousel-gap) * (var(--halyani-carousel-tablet) - 1))) / var(--halyani-carousel-tablet));
  }
}

@media (max-width: 575.98px) {
  .halyani-product-carousel {
    --halyani-carousel-gap: 12px;
  }

  .halyani-carousel-heading {
    align-items: center;
    margin-bottom: 14px;
  }

  .halyani-carousel-heading h2 {
    font-size: 1.25rem;
  }

  .halyani-carousel-arrow {
    width: 36px;
    height: 36px;
  }

  .halyani-carousel-item {
    flex-basis: calc((100% - (var(--halyani-carousel-gap) * (var(--halyani-carousel-mobile) - 1))) / var(--halyani-carousel-mobile));
  }
}

/* Halyani Builder V20.11 - Site-width responsive multi-banner Hero slider */
.halyani-live-component.halyani-component-hero {
  position: relative;
  left: auto;
  right: auto;
  width: 100%;
  max-width: var(--halyani-site-max-width, 1320px);
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  transform: none;
  align-self: center;
}

/* Keep the hero aligned with the Halyani site/menu width when page layout is enabled. */
body.halyani-layout-enabled .halyani-live-component.halyani-component-hero {
  width: 100%;
  max-width: var(--halyani-site-max-width, 1480px);
}

.halyani-live-column-inner > .halyani-component-hero:first-child {
  margin-top: calc(-1 * var(--halyani-section-pt-desktop, 24px));
}

.halyani-hero-slider {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background: #f3f5f8;
  isolation: isolate;
}

.halyani-hero-slider-viewport,
.halyani-hero-slider-track,
.halyani-hero-slide,
.halyani-hero-slide-link {
  width: 100%;
  height: auto;
}

.halyani-hero-slider-viewport {
  overflow: hidden;
  touch-action: pan-y;
}

.halyani-hero-slider-track {
  display: flex;
  transform: translate3d(0, 0, 0);
  transition: transform .55s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
  align-items: flex-start;
}

.halyani-hero-slide {
  flex: 0 0 100%;
  min-width: 100%;
  overflow: hidden;
}

.halyani-hero-slide-link {
  display: block;
}

.halyani-hero-picture {
  display: block;
  width: 100%;
}

.halyani-hero-slide img {
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  object-position: 50% 50%;
  user-select: none;
  -webkit-user-drag: none;
}

.halyani-hero-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, .38);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
  transform: translateY(-50%);
  backdrop-filter: blur(6px);
  transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}

.halyani-hero-arrow:hover:not(:disabled) {
  background: rgba(0, 0, 0, .62);
  transform: translateY(-50%) scale(1.04);
}

.halyani-hero-arrow:disabled {
  opacity: .35;
}

.halyani-hero-arrow.is-prev {
  left: 22px;
}

.halyani-hero-arrow.is-next {
  right: 22px;
}

.halyani-hero-dots {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transform: translateX(-50%);
}

.halyani-hero-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 999px;
  background: rgba(0, 0, 0, .25);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
  transition: width .2s ease, background-color .2s ease;
}

.halyani-hero-dot.is-active {
  width: 28px;
  background: var(--abusami-red, #ed1c24);
  border-color: var(--abusami-red, #ed1c24);
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .halyani-hero-slider {
    height: auto;
  }
}

@media (max-width: 575.98px) {
  .halyani-live-column-inner > .halyani-component-hero:first-child {
    margin-top: calc(-1 * var(--halyani-section-pt-mobile, 16px));
  }

  .halyani-hero-slider {
    height: auto;
  }

  .halyani-hero-arrow {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .halyani-hero-arrow.is-prev {
    left: 10px;
  }

  .halyani-hero-arrow.is-next {
    right: 10px;
  }

  .halyani-hero-dots {
    bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .halyani-hero-slider-track {
    transition: none;
  }
}

.halyani-hero-slider-viewport,
.halyani-hero-slider-track {
  direction: ltr;
}

/* Halyani Builder V20.10 - Professional category list / grid / carousel */
.halyani-category-grid,
.halyani-category-showcase,
.halyani-category-strip {
  --halyani-category-gap: 18px;
}

.halyani-category-card {
  width: 100%;
  min-width: 0;
  gap: 12px;
  padding: 14px 10px;
  overflow: visible;
  border-radius: 18px;
  background: #fff;
  border: 1px solid transparent;
  box-shadow: none;
  color: var(--abusami-text, #17191f) !important;
}

.halyani-category-card .halyani-category-image {
  display: flex;
  width: min(100%, 150px);
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f7f8fa;
  border: 1px solid #edf0f4;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.halyani-category-card .halyani-category-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}

.halyani-category-card strong {
  width: 100%;
  padding: 0 4px;
  text-align: center;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.45;
  color: inherit;
}

.halyani-category-card.is-circle .halyani-category-image {
  border-radius: 50%;
}

.halyani-category-card.is-rounded .halyani-category-image {
  border-radius: 22px;
}

.halyani-category-card.is-square .halyani-category-image {
  border-radius: 0;
}

.halyani-category-card.is-none .halyani-category-image {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.halyani-category-card.style-minimal {
  background: transparent;
  border-color: transparent;
}

.halyani-category-card.style-bordered {
  border-color: var(--abusami-border, #e5e7eb);
}

.halyani-category-card.style-shadow {
  border-color: transparent;
  box-shadow: 0 8px 28px rgba(22, 34, 51, .08);
}

.halyani-category-card.style-plain {
  padding-inline: 2px;
  background: transparent;
  border-color: transparent;
  border-radius: 0;
}

.halyani-category-card:hover {
  transform: translateY(-3px);
  border-color: rgba(228, 30, 38, .28);
  box-shadow: 0 10px 26px rgba(18, 31, 53, .08);
}

.halyani-category-card:hover .halyani-category-image {
  transform: scale(1.025);
  border-color: rgba(228, 30, 38, .28);
}

.halyani-category-card.style-plain:hover,
.halyani-category-card.style-minimal:hover {
  box-shadow: none;
}

.halyani-category-carousel .halyani-carousel-item {
  display: flex;
}

.halyani-category-carousel .halyani-category-card {
  height: 100%;
}

.halyani-category-carousel .halyani-carousel-viewport {
  padding-block: 4px 8px;
}

.halyani-category-strip {
  display: flex;
  gap: var(--halyani-category-gap);
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px 12px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.halyani-category-strip .halyani-category-card {
  flex: 0 0 150px;
  scroll-snap-align: start;
}

[dir="rtl"] .halyani-category-strip {
  direction: rtl;
}

@media (max-width: 991.98px) {
  .halyani-category-grid,
  .halyani-category-showcase,
  .halyani-category-strip {
    --halyani-category-gap: 14px;
  }

  .halyani-category-card .halyani-category-image {
    width: min(100%, 132px);
  }
}

@media (max-width: 575.98px) {
  .halyani-category-grid,
  .halyani-category-showcase,
  .halyani-category-strip {
    --halyani-category-gap: 10px;
  }

  .halyani-category-card {
    gap: 8px;
    padding: 8px 5px;
    border-radius: 14px;
  }

  .halyani-category-card .halyani-category-image {
    width: min(100%, 104px);
  }

  .halyani-category-card strong {
    font-size: .88rem;
    line-height: 1.35;
  }

  .halyani-category-strip .halyani-category-card {
    flex-basis: calc((100vw - 34px) / var(--halyani-category-strip-mobile, 3));
    max-width: 132px;
  }
}


@media (prefers-reduced-motion: reduce) {
  .halyani-carousel-track { transition: none; }
}


/* Halyani V20.15 - Product carousel View All action */
.halyani-carousel-heading-copy {
  min-width: 0;
}

.halyani-carousel-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.halyani-carousel-view-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 16px;
  border: 1px solid color-mix(in srgb, var(--halyani-primary, #e91d2a) 24%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--halyani-primary, #e91d2a) 7%, #fff);
  color: var(--halyani-primary, #e91d2a);
  font-size: .92rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.halyani-carousel-view-all:hover,
.halyani-carousel-view-all:focus {
  color: #fff;
  background: var(--halyani-primary, #e91d2a);
  box-shadow: 0 8px 22px rgba(18, 31, 53, .12);
  transform: translateY(-1px);
  text-decoration: none;
}

.halyani-carousel-view-all i {
  font-size: .82rem;
  transition: transform .2s ease;
}

.halyani-carousel-view-all:hover i,
.halyani-carousel-view-all:focus i {
  transform: translateX(-2px);
}

.halyani-product-carousel:not(.is-rtl) .halyani-carousel-view-all i {
  transform: scaleX(-1);
}

.halyani-product-carousel:not(.is-rtl) .halyani-carousel-view-all:hover i,
.halyani-product-carousel:not(.is-rtl) .halyani-carousel-view-all:focus i {
  transform: scaleX(-1) translateX(-2px);
}

@media (max-width: 575.98px) {
  .halyani-carousel-heading {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .halyani-carousel-heading-copy {
    flex: 1 1 100%;
  }

  .halyani-carousel-heading-actions {
    width: 100%;
    justify-content: space-between;
  }

  .halyani-carousel-view-all {
    min-height: 36px;
    padding: 7px 13px;
    font-size: .86rem;
  }
}

/* Halyani Builder V20.16 - Professional brand grid / carousel / horizontal strip */
.halyani-brand-grid,
.halyani-brand-showcase,
.halyani-brand-strip {
  --halyani-brand-gap: 18px;
}

.halyani-brand-card {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 10px;
  overflow: visible;
  border-radius: 18px;
  background: #fff;
  border: 1px solid transparent;
  box-shadow: none;
  color: var(--abusami-text, #17191f) !important;
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.halyani-brand-card .halyani-brand-image {
  display: flex;
  width: min(100%, 170px);
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 14px;
  background: #fff;
  border: 1px solid #edf0f4;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.halyani-brand-card .halyani-brand-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.halyani-brand-card strong {
  width: 100%;
  padding-inline: 4px;
  text-align: center;
  font-size: .96rem;
  font-weight: 700;
  line-height: 1.4;
  color: inherit;
}

.halyani-brand-card.is-circle .halyani-brand-image { border-radius: 50%; }
.halyani-brand-card.is-rounded .halyani-brand-image { border-radius: 22px; }
.halyani-brand-card.is-square .halyani-brand-image { border-radius: 0; }
.halyani-brand-card.is-none .halyani-brand-image {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 4px;
}

.halyani-brand-card.style-minimal { background: transparent; border-color: transparent; }
.halyani-brand-card.style-bordered { border-color: var(--abusami-border, #e5e7eb); }
.halyani-brand-card.style-shadow { border-color: transparent; box-shadow: 0 8px 28px rgba(22,34,51,.08); }
.halyani-brand-card.style-plain { padding-inline: 2px; background: transparent; border-color: transparent; border-radius: 0; }

.halyani-brand-card:hover {
  transform: translateY(-3px);
  border-color: rgba(228,30,38,.28);
  box-shadow: 0 10px 26px rgba(18,31,53,.08);
}

.halyani-brand-card:hover .halyani-brand-image {
  transform: scale(1.025);
  border-color: rgba(228,30,38,.28);
}

.halyani-brand-card.style-plain:hover,
.halyani-brand-card.style-minimal:hover { box-shadow: none; }

.halyani-brand-carousel .halyani-carousel-item { display: flex; }
.halyani-brand-carousel .halyani-brand-card { height: 100%; }
.halyani-brand-carousel .halyani-carousel-viewport { padding-block: 4px 8px; }

.halyani-brand-strip {
  display: flex;
  gap: var(--halyani-brand-gap);
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px 12px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.halyani-brand-strip .halyani-brand-card {
  flex: 0 0 170px;
  scroll-snap-align: start;
}

[dir="rtl"] .halyani-brand-strip { direction: rtl; }

@media (max-width: 991.98px) {
  .halyani-brand-grid,
  .halyani-brand-showcase,
  .halyani-brand-strip { --halyani-brand-gap: 14px; }
  .halyani-brand-card .halyani-brand-image { width: min(100%, 145px); }
}

@media (max-width: 575.98px) {
  .halyani-brand-grid,
  .halyani-brand-showcase,
  .halyani-brand-strip { --halyani-brand-gap: 10px; }
  .halyani-brand-card { gap: 8px; padding: 8px 5px; border-radius: 14px; }
  .halyani-brand-card .halyani-brand-image { width: min(100%, 108px); padding: 9px; }
  .halyani-brand-card strong { font-size: .86rem; line-height: 1.35; }
  .halyani-brand-strip .halyani-brand-card {
    flex-basis: calc((100vw - 34px) / var(--halyani-brand-strip-mobile, 2));
    max-width: 140px;
  }
}

/* =========================================================
   Halyani V20.14 - Compact professional desktop header
   Removes excessive vertical whitespace caused by logo dimensions
   ========================================================= */
@media (min-width: 768px) {
  .halyani-desktop-main-section {
    overflow: visible;
  }

  .halyani-desktop-main-header {
    padding-block: 7px !important;
  }

  .halyani-desktop-main-header > .container,
  .halyani-desktop-main-header > .container-fluid {
    min-height: 0 !important;
  }

  .halyani-desktop-main-header .row {
    min-height: 0 !important;
    margin-block: 0 !important;
    align-items: center !important;
  }

  .halyani-desktop-main-header .row > [class*="col-"] {
    min-height: 0 !important;
    padding-block: 0 !important;
    align-self: center;
  }

  .halyani-desktop-logo {
    display: flex;
    align-items: center;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html[dir="rtl"] .halyani-desktop-logo {
    justify-content: flex-start;
  }

  html[dir="ltr"] .halyani-desktop-logo {
    justify-content: flex-start;
  }

  .halyani-desktop-logo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0;
  }

  .halyani-desktop-logo img {
    display: block;
    width: auto !important;
    height: clamp(66px, 5.2vw, 84px) !important;
    max-width: 190px !important;
    max-height: 84px !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
  }

  .halyani-desktop-main-header .halyani-search-shell,
  .halyani-desktop-main-header .halyani-search-form,
  .halyani-desktop-main-header .halyani-desktop-actions {
    margin-block: 0 !important;
  }

  .halyani-desktop-main-header .halyani-desktop-actions {
    min-height: 46px;
  }

  .halyani-desktop-main-header .halyani-search-input {
    height: 46px;
  }

  .halyani-desktop-main-header .halyani-search-button {
    top: 4px;
    height: 38px;
  }

  .halyani-menu-section,
  .halyani-menu-section #menu {
    margin-top: 0 !important;
  }
}

@media (min-width: 1200px) {
  .halyani-desktop-main-header {
    padding-block: 8px !important;
  }

  .halyani-desktop-logo img {
    height: 82px !important;
    max-height: 82px !important;
  }
}


/* =========================================================
   Halyani V20.16.4 - Reliable mobile top header pin
   Stronger than legacy V20.3/V20.4 position:relative rules.
   ========================================================= */
.halyani-mobile-sticky-spacer {
  display: none;
}

@media (max-width: 767.98px) {
  .halyani-mobile-top-section.halyani-sticky-mobile,
  .halyani-mobile-top-section.halyani-sticky-mobile.halyani-sticky-active {
    position: fixed !important;
    inset-block-start: 0 !important;
    top: 0 !important;
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1200 !important;
  }

  .halyani-mobile-top-section.halyani-sticky-mobile.halyani-sticky-shadow {
    box-shadow: 0 6px 20px rgba(15, 23, 42, .14) !important;
  }

  .halyani-mobile-sticky-spacer {
    display: block;
    width: 100%;
    height: var(--halyani-mobile-sticky-height, 0px);
    min-height: var(--halyani-mobile-sticky-height, 0px);
    pointer-events: none;
  }
}

/* Halyani V20.16.6 - Mobile category typography refinement */
@media (max-width: 575.98px) {
  .halyani-category-card strong {
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    line-height: 1.35;
  }

  .halyani-component-section_title:has(+ .halyani-component-category_grid) .halyani-builder-section-heading h2,
  .halyani-component-category_grid .halyani-builder-section-heading h2 {
    font-size: 1.05rem !important;
    font-weight: 400 !important;
    line-height: 1.4;
  }
}

/* Halyani V20.16.8 - Remove OpenCart reserved footer whitespace */
/* OpenCart core reserves 400-730px at the bottom of content columns for its
   absolutely-positioned default footer. Halyani uses a normal-flow footer,
   so that reservation must be neutralized. */
#content,
#column-left,
#column-right {
  padding-bottom: 0 !important;
}

/* Keep the Halyani footer in normal document flow and close to page content. */
footer.abusami-footer,
.abusami-footer {
  position: relative !important;
  inset: auto !important;
  bottom: auto !important;
  margin-top: 0 !important;
}

/* Product pages should size strictly to their real content. */
#product-info,
#product-info #content,
#product-info .tab-content,
#product-info .tab-pane {
  min-height: 0 !important;
  height: auto !important;
}

#product-info .tab-content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

#product-info #tab-description.mb-4 {
  margin-bottom: 0 !important;
}
