@import url("/saj-services-section.css?v=2");
@import url("/saj-mobile-header.css?v=1");
@import url("/saj-mobile-hero.css?v=1");
@import url("/saj-tablet-header.css?v=1");
/*
  SAJ Studio mobile/tablet clean layout fix
  Safe override file for phones and tablets.
  Stage 2: stronger mobile/tablet structure.
*/

/* =========================
   Global safety
========================= */

@media (max-width: 1024px) {
  html,
  body,
  #root {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #000 !important;
  }

  html {
    scroll-behavior: smooth;
  }

  body {
    margin: 0 !important;
    -webkit-text-size-adjust: 100%;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  video,
  canvas,
  svg {
    max-width: 100%;
    height: auto;
  }

  header,
  main,
  section,
  footer,
  nav,
  article,
  aside,
  div {
    min-width: 0;
  }

  h1,
  h2,
  h3,
  h4,
  p,
  a,
  span,
  button,
  li {
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  a,
  button {
    -webkit-tap-highlight-color: transparent;
  }

  button,
  input,
  textarea,
  select {
    font: inherit;
  }

  input,
  textarea,
  select {
    max-width: 100% !important;
  }

  /* =========================
     Main page width
  ========================= */

  #root {
    display: block !important;
  }

  #root > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  #root > section,
  section[id^="saj-"],
  .saj-live-section,
  .saj-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #root > section:not(.saj-hero-slider) {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  section h2,
  section .saj-section-title,
  section [class*="title"] {
    max-width: 100% !important;
  }

  section h2 {
    font-size: clamp(27px, 7vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
  }

  section p {
    max-width: 100% !important;
  }

  /* =========================
     Header
  ========================= */

  header {
    position: relative !important;
    z-index: 100 !important;
    width: 100% !important;
    min-height: 70px !important;
    background: #000 !important;
    overflow: hidden !important;
  }

  header > div,
  header nav,
  header .relative,
  header .container {
    width: 100% !important;
    max-width: 100% !important;
  }

  header > div {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  header img {
    max-height: 52px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  header button,
  header a {
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  header button {
    min-height: 42px !important;
  }

  /* =========================
     Hero
  ========================= */

  .saj-hero-slider {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 0 !important;
    background: #000 !important;
  }

  .saj-hero-slider > div:not(.saj-hero-slide-bg):not(.saj-hero-indicators) {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 24px 18px 0 !important;
    display: block !important;
  }

  .saj-hero-text-clean {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .saj-hero-text-clean h1 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 14px !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    font-size: clamp(31px, 8.6vw, 46px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
  }

  .saj-hero-text-clean p {
    width: 100% !important;
    max-width: 92% !important;
    margin: 0 0 18px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .saj-hero-text-clean a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }

  .saj-hero-slide-bg {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 280px !important;
    min-height: 280px !important;
    background-size: cover !important;
    background-position: center center !important;
    margin-top: 12px !important;
  }

  .saj-hero-indicators {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    margin: 12px auto 0 !important;
    inset: auto !important;
  }

  /* =========================
     News ticker / discount strip
  ========================= */

  #saj-discount-live,
  #saj-news-ticker-live,
  .saj-news-ticker,
  .saj-discount-live {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #saj-discount-live .saj-discount-pill {
    max-width: 100% !important;
  }

  /* =========================
     Grids and sliders
  ========================= */

  .saj-category-grid,
  .saj-services-grid,
  .saj-categories-grid,
  .saj-bestseller-grid,
  .saj-discount-services-grid,
  [class*="category-grid"],
  [class*="services-grid"],
  [class*="bestseller-grid"],
  [class*="discount-grid"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .saj-services-slider,
  .saj-category-slider,
  .saj-bestseller-slider,
  .saj-discount-services-slider,
  .saj-slider,
  [class*="services-slider"],
  [class*="category-slider"],
  [class*="bestseller-slider"],
  [class*="discount-services-slider"] {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .saj-services-track,
  .saj-category-track,
  .saj-bestseller-track,
  .saj-discount-services-track,
  [class*="services-track"],
  [class*="category-track"],
  [class*="bestseller-track"],
  [class*="discount-services-track"] {
    max-width: 100% !important;
  }

  .saj-category-card,
  .saj-service-card,
  .saj-bestseller-card,
  .saj-discount-service-card,
  [class*="category-card"],
  [class*="service-card"],
  [class*="bestseller-card"],
  [class*="discount-card"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .saj-category-card-image,
  .saj-service-card-image,
  .saj-bestseller-card-image,
  .saj-discount-service-card-image,
  [class*="card-image"] {
    width: 100% !important;
    height: 230px !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .saj-category-card img,
  .saj-service-card img,
  .saj-bestseller-card img,
  .saj-discount-service-card img,
  [class*="category-card"] img,
  [class*="service-card"] img,
  [class*="bestseller-card"] img,
  [class*="discount-card"] img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .saj-category-card-body,
  .saj-service-card-body,
  .saj-bestseller-card-body,
  .saj-discount-service-card-body,
  [class*="card-body"] {
    padding: 20px !important;
  }

  .saj-category-card h3,
  .saj-service-card h3,
  .saj-bestseller-card h3,
  .saj-discount-service-card h3,
  [class*="category-card"] h3,
  [class*="service-card"] h3,
  [class*="bestseller-card"] h3,
  [class*="discount-card"] h3 {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }

  .saj-category-card p,
  .saj-service-card p,
  .saj-bestseller-card p,
  .saj-discount-service-card p,
  [class*="category-card"] p,
  [class*="service-card"] p,
  [class*="bestseller-card"] p,
  [class*="discount-card"] p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .saj-slider-arrow,
  .saj-services-arrow,
  .saj-category-arrow,
  .saj-bestseller-arrow,
  .saj-discount-services-arrow,
  button[class*="arrow"] {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 999px !important;
    z-index: 20 !important;
  }

  /* =========================
     About / contact / footer
  ========================= */

  #saj-about-live,
  #saj-contact-live,
  #saj-footer-live,
  .saj-about,
  .saj-contact,
  footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #saj-about-live img,
  #saj-contact-live img,
  .saj-about img,
  .saj-contact img {
    max-width: 100% !important;
    object-fit: cover !important;
  }

  /* =========================
     Payment logos
  ========================= */

  #saj-home-trust-payment,
  .saj-home-trust-payment,
  [class*="payment"] {
    max-width: 100% !important;
  }

  #saj-home-trust-payment img,
  .saj-home-trust-payment img,
  [class*="payment"] img {
    max-height: 30px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

/* =========================
   Tablet
========================= */

@media (min-width: 761px) and (max-width: 1024px) {
  #root > section:not(.saj-hero-slider) {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  header {
    min-height: 78px !important;
  }

  header img {
    max-height: 56px !important;
  }

  .saj-hero-slider > div:not(.saj-hero-slide-bg):not(.saj-hero-indicators) {
    padding: 32px 34px 0 !important;
  }

  .saj-hero-text-clean h1 {
    font-size: clamp(38px, 6vw, 58px) !important;
    max-width: 88% !important;
  }

  .saj-hero-text-clean p {
    max-width: 72% !important;
    font-size: 15px !important;
  }

  .saj-hero-slide-bg {
    height: 340px !important;
    min-height: 340px !important;
  }

  .saj-category-grid,
  .saj-services-grid,
  .saj-categories-grid,
  .saj-bestseller-grid,
  .saj-discount-services-grid,
  [class*="category-grid"],
  [class*="services-grid"],
  [class*="bestseller-grid"],
  [class*="discount-grid"] {
    grid-template-columns: 1fr 1fr !important;
  }

  .saj-category-card-image,
  .saj-service-card-image,
  .saj-bestseller-card-image,
  .saj-discount-service-card-image,
  [class*="card-image"] {
    height: 250px !important;
  }
}

/* =========================
   Mobile
========================= */

@media (max-width: 760px) {
  #root > section:not(.saj-hero-slider) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  section h2 {
    font-size: clamp(27px, 8vw, 36px) !important;
    line-height: 1.08 !important;
  }

  section p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  header {
    min-height: 70px !important;
  }

  header > div {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  header img {
    max-height: 48px !important;
  }

  header button {
    max-width: 86px !important;
    min-width: 68px !important;
    min-height: 40px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    letter-spacing: 0.14em !important;
    font-size: 11px !important;
    text-align: center !important;
  }

  .saj-hero-slider > div:not(.saj-hero-slide-bg):not(.saj-hero-indicators) {
    padding: 22px 16px 0 !important;
  }

  .saj-hero-text-clean h1 {
    font-size: clamp(30px, 8.8vw, 38px) !important;
    line-height: 1.06 !important;
    max-width: 100% !important;
    margin-top: 10px !important;
  }

  .saj-hero-text-clean p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    max-width: 92% !important;
  }

  .saj-hero-text-clean a {
    min-height: 44px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 10px !important;
  }

  .saj-hero-slide-bg {
    height: 260px !important;
    min-height: 260px !important;
    margin-top: 10px !important;
  }

  .saj-category-grid,
  .saj-services-grid,
  .saj-categories-grid,
  .saj-bestseller-grid,
  .saj-discount-services-grid,
  [class*="category-grid"],
  [class*="services-grid"],
  [class*="bestseller-grid"],
  [class*="discount-grid"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .saj-services-track > *,
  .saj-category-track > *,
  .saj-bestseller-track > *,
  .saj-discount-services-track > *,
  [class*="services-track"] > *,
  [class*="category-track"] > *,
  [class*="bestseller-track"] > *,
  [class*="discount-services-track"] > * {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }

  .saj-category-card-image,
  .saj-service-card-image,
  .saj-bestseller-card-image,
  .saj-discount-service-card-image,
  [class*="card-image"] {
    height: 220px !important;
  }
}

/* =========================
   Small mobile
========================= */

@media (max-width: 430px) {
  #root > section:not(.saj-hero-slider) {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  header {
    min-height: 68px !important;
  }

  header img {
    max-height: 44px !important;
  }

  .saj-hero-text-clean h1 {
    font-size: 32px !important;
    line-height: 1.07 !important;
  }

  .saj-hero-text-clean p {
    font-size: 13px !important;
  }

  .saj-hero-slide-bg {
    height: 240px !important;
    min-height: 240px !important;
  }

  .saj-category-card-image,
  .saj-service-card-image,
  .saj-bestseller-card-image,
  .saj-discount-service-card-image,
  [class*="card-image"] {
    height: 210px !important;
  }

  .saj-category-card h3,
  .saj-service-card h3,
  .saj-bestseller-card h3,
  .saj-discount-service-card h3,
  [class*="category-card"] h3,
  [class*="service-card"] h3,
  [class*="bestseller-card"] h3,
  [class*="discount-card"] h3 {
    font-size: 21px !important;
  }
}

/* =========================
   Extra small mobile
========================= */

@media (max-width: 370px) {
  header img {
    max-height: 40px !important;
  }

  header button {
    max-width: 78px !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
  }

  .saj-hero-text-clean h1 {
    font-size: 29px !important;
  }

  .saj-hero-slide-bg {
    height: 220px !important;
    min-height: 220px !important;
  }

  section h2 {
    font-size: 27px !important;
  }
}
