/**
 * Typography — matched to https://insel.sa/
 *
 * English: Inria Serif storewide
 * Arabic:  Helvetica World stack (system/Arial fallback — no webfont files, same as insel.sa)
 */

/* ── Base (insel.sa style.css) ── */
html {
  line-height: 1.5;
  font-family: "Inria Serif", serif;
  font-feature-settings: normal;
  font-variation-settings: normal;
}

html,
body {
  font-size: 16px !important;
}

body {
  margin: 0;
  line-height: inherit;
  font-family: inherit;
}

/* Arabic — exact match to insel.sa style.css (no webfont @font-face) */
html[lang="ar"],
html[lang="ar"] * {
  font-family: "Helvetica World", "Helvetica Neue Arabic", Arial, sans-serif;
}

html[lang="ar"] .fa,
html[lang="ar"] .fas,
html[lang="ar"] .far,
html[lang="ar"] .fab,
html[lang="ar"] .fa-solid,
html[lang="ar"] .fa-regular,
html[lang="ar"] .fa-brands {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", FontAwesome !important;
}

html[lang="ar"] .icomoon,
html[lang="ar"] [class^="icon-"],
html[lang="ar"] [class*=" icon-"] {
  font-family: "icomoon" !important;
}

/* English — Inria Serif storewide (titles, body, UI, forms) */
html:not([lang="ar"]),
html:not([lang="ar"]) body,
html:not([lang="ar"]) .app.ltr,
html:not([lang="ar"]) .app.ltr *:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.icomoon):not([class^="icon-"]):not([class*=" icon-"]),
html:not([lang="ar"]) .w-font {
  font-family: "Inria Serif", serif !important;
}

/* Keep icon fonts usable on English */
html:not([lang="ar"]) .fa,
html:not([lang="ar"]) .fas,
html:not([lang="ar"]) .far,
html:not([lang="ar"]) .fab,
html:not([lang="ar"]) .fa-solid,
html:not([lang="ar"]) .fa-regular,
html:not([lang="ar"]) .fa-brands {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", FontAwesome !important;
}

html:not([lang="ar"]) .icomoon,
html:not([lang="ar"]) [class^="icon-"],
html:not([lang="ar"]) [class*=" icon-"] {
  font-family: "icomoon" !important;
}

.w-font {
  font-family: "Inria Serif", serif;
}

/* ── Section titles ── */
h2.section-title,
.section-title {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
  font-weight: 700 !important;
}

@media (min-width: 1024px) {
  h2.section-title,
  .section-title,
  .vitrin-section h2.section-title {
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
  }
}

.insel-section-header__more {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
}

@media (min-width: 1024px) {
  .insel-section-header__more {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}

/* ── Homepage banner slider text (insel.sa: text-2xl / text-xl / text-base) ── */
.slider-banners-splide h2,
.banners .slider-banners-splide h2 {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
  font-weight: 500 !important;
}

.slider-banners-splide p,
.banners .slider-banners-splide p {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  margin-top: 0.25rem !important;
}

html[dir="ltr"] .slider-banners-splide p,
[dir="ltr"] .slider-banners-splide p {
  letter-spacing: 0.05em;
}

html[dir="rtl"] .slider-banners-splide p,
[dir="rtl"] .slider-banners-splide p,
html[lang="ar"] .slider-banners-splide p {
  letter-spacing: normal;
}

.slider-banners-splide a.bg-primary,
.slider-banners-splide a[class*="border-primary"] {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 600 !important;
  margin-top: 1.25rem !important;
}

@media (min-width: 1024px) {
  .slider-banners-splide h2,
  .banners .slider-banners-splide h2 {
    font-size: 2.25rem !important;
    line-height: 2.5rem !important;
  }

  .slider-banners-splide a.bg-primary,
  .slider-banners-splide a[class*="border-primary"] {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}

/* ── Gallery category labels ── */
.vitrin-section.gallery p,
[section-id].gallery p {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 500 !important;
}

/* ── Section CTA buttons ── */
.vitrin-section a.bg-primary,
.vitrin-section a.button_styles {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 600 !important;
}

@media (min-width: 1024px) {
  .vitrin-section a.bg-primary,
  .vitrin-section a.button_styles {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}

/* ── Header ── */
.insel-header-locale,
.insel-header-locale .language-button,
.insel-header-locale-currency {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
}

html:not([lang="ar"]) .insel-mega-nav .main-nav > li > a,
html:not([lang="ar"]) .insel-header .main-nav > li > a {
  font-family: "Inria Serif", serif !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 600 !important;
}

html[lang="ar"] .insel-mega-nav .main-nav > li > a,
html[lang="ar"] .insel-header .main-nav > li > a {
  font-family: "Helvetica World", "Helvetica Neue Arabic", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 600 !important;
}

html:not([lang="ar"]) .insel-mega-nav .main-nav > li > a > span,
html:not([lang="ar"]) .insel-header .main-nav > li > a > span {
  font-family: "Inria Serif", serif !important;
}

.insel-mobile-drawer .slide-menu-ul-li > a,
.insel-mobile-drawer .slide-menu-ul-li > button {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

/* ── Search overlay ── */
.insel-search-overlay input,
.insel-search-overlay button,
.insel-search-overlay a,
.insel-search-section-title,
.insel-search-term-btn,
.insel-search-result-item {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

/* ── Product cards (md:text-lg text-base font-bold) ── */
.product h1,
.product .insel-product-card-brand {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}

@media (min-width: 768px) {
  .product h1,
  .product .insel-product-card-brand {
    font-size: 1.125rem !important;
    line-height: 1.75rem !important;
  }
}

.product p.text-center,
.product .insel-product-card-subtitle,
.product h3 {
  font-size: 1rem !important;
  line-height: 1rem !important;
  font-weight: 400 !important;
}

.product > .flex > div:last-child > p.font-bold,
.product .flex-col.items-center.justify-between > p.font-bold {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}

/* ── Product page ── */
.product-details .brand-name {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
  font-weight: 800 !important;
}

@media (max-width: 768px) {
  .product-details .brand-name {
    font-size: 1.0625rem !important;
  }
}

.product-details h3.brand {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 400 !important;
}

.product-details #price {
  font-size: 1rem !important;
  font-weight: 700 !important;
}

@media (min-width: 1024px) {
  .product-details #price {
    font-size: 1.125rem !important;
  }
}

.btn-add-to-cart,
.btn-buy-now {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 500 !important;
}

/* ── Services cards ── */
.insel-service-card h2 {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
  font-weight: 400 !important;
}

.insel-service-card p {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
  font-weight: 400 !important;
  margin-top: 0.25rem !important;
}

@media (min-width: 1024px) {
  .insel-service-card h2 {
    font-size: 2.25rem !important;
    line-height: 2.5rem !important;
  }
}

/* ── Footer ── */
footer h2 {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 500 !important;
}

footer h5 {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 700 !important;
}

html[dir="ltr"] footer h5,
[dir="ltr"] footer h5 {
  font-weight: 500 !important;
}

@media (min-width: 1024px) {
  footer .grid h5 {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}

footer a.footer-item,
footer .footer-item {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  font-weight: 400 !important;
}

footer button {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 500 !important;
}

footer input {
  font-size: 1rem !important;
  font-weight: 400 !important;
}

footer p.text-\[10px\] {
  font-size: 10px !important;
  line-height: 1rem !important;
}

footer .border-t p {
  font-size: 11px !important;
  font-weight: 400 !important;
}

@media (min-width: 768px) {
  footer .border-t p {
    font-size: 0.75rem !important;
  }
}

/* ── Forms, labels, modals, microcopy ── */
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  font-size: 1rem !important;
  font-weight: 400 !important;
  font-family: inherit !important;
}

label,
.form-group label {
  font-size: 1rem !important;
  font-weight: 400 !important;
}

.modal,
.modal-body,
.modal-title,
.modal-content,
[role="dialog"] {
  font-size: 1rem;
  font-weight: 400;
}

.insel-card-options-toggle__label {
  font-size: 0.75rem !important;
  font-weight: 500 !important;
}
