/* Raleway Variable Font */
@font-face {
  font-family: 'Raleway';
  src: url('styles/fonts/Raleway-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Tenor Sans removed: fallback to Raleway/system fonts (file not present) */

html, body {
  font-family: var(--site-font) !important;
}

/* Elegant DEMO font not bundled; rely on system/Raleway instead */

:root {
  --site-font: 'Raleway', Arial, Helvetica, sans-serif;
}

html, body {
  font-family: var(--site-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
* {
  font-family: var(--site-font) !important;
}

/* Optional: enforce for common typographic elements */
h1,h2,h3,h4,h5,h6, p, a, li, button, input, textarea {
  font-family: var(--site-font);
}



/* Medium screens — keep a consistent tall hero but still show full image */
@media (max-width: 1199.98px) and (min-width: 576px) {
  .hero-carousel .carousel-inner,
  .hero-carousel .carousel-item { height: var(--hero-lg); }
  .carousel-fit { height: 100%; object-fit: contain; }

}

/* Tablets / small desktops */
@media (max-width: 991.98px) and (min-width: 576px) {
  .hero-carousel .carousel-inner,
  .hero-carousel .carousel-item { height: var(--hero-md); }
  .carousel-fit { height: 100%; object-fit: contain; }
  .two-rows .img-item { height: 220px; }
}

/* Mobile: avoid large void space by filling viewport area.
   This uses object-fit: cover (may crop edges slightly) but prevents big empty gaps. */
@media (max-width: 575.98px) {
  .hero-carousel .carousel-inner,
  .hero-carousel .carousel-item { height: var(--hero-sm); }
  .carousel-fit {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
  }

  .hero-carousel { display: none !important; }
  .mobile-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    width: 100%;
    min-height: 40vh;
    box-sizing: border-box;
  }

  .mobile-quote .quote-inner { padding: 2.5rem 1.25rem; }
  .mobile-quote .quote-text { font-size: 1.05rem; }

  .two-rows .img-item { height: 180px; }
  /* apply small horizontal padding to any bootstrap column inside two-rows */
  .two-rows .row > [class*="col-"] { padding-left: 0.25rem; padding-right: 0.25rem; }

@media (max-width: 575.98px) {
  .two-rows .img-item,
  .two-rows .img-item .img-fit,
  .two-rows .img-item .view-all {
    border-radius: 0 !important;
  }
}

.site-footer { padding-left: 0.5rem; padding-right: 0.5rem; }
  
}

/* remove default controls/indicators if present */
.carousel-indicators,
.carousel-control-prev,
.carousel-control-next {
  display: none !important;
  
}



/*product area*/

@media (min-width: 768px) {
  .gallery-scroll {
    height: calc(80vh - 80px); /* adjust if your fixed navbar height differs */
    max-height: 85vh;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-snap-type: y mandatory;
  }
  .gallery-item {
    scroll-snap-align: start;
    height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .gallery-item img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
    display: block;
  }
}

/* Mobile: horizontal full-width carousel / swipeable */
@media (max-width: 767.98px) {
  .gallery-scroll {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    height: auto;
    max-height: 85vh;
  }
  .gallery-item {
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .gallery-item img {
    width: 100%;
    height: auto;
    object-fit: contain; /* shows full image */
    display: block;
  }
}

/* common image niceties */
.gallery-item img {
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

/* ensure details column stays visible while left scrolls (desktop) */
@media (min-width: 768px) {
  .product-details {
    position: sticky;
    top: calc(var(--navbar-height, 72px) + 12px); /* adjust if needed */
  }
}

@media (max-width: 575.98px) {
  .accordion-simple .acc-toggle { padding: 1rem; }
  .accordion-simple .acc-body { padding-left: 1rem; padding-right: 1rem; }
}

/* small spacing */
.product-details .btn { min-width: 120px; }

/*product area*/


/* Styles for the products filter offcanvas and minor spacing */

.offcanvas-body { padding-bottom: 1.25rem; }
.offcanvas .form-label { font-size: .95rem; }
.offcanvas .form-check { margin-bottom: .4rem; }
.offcanvas .form-check-label { font-size: .92rem; }
@media (max-width: 575.98px) {
  .offcanvas-end {
    width: 75vw !important;
    max-width: 75vw !important;
  }
}
@media (min-width: 992px) {
  /* make offcanvas narrower on large screens */
  .offcanvas.offcanvas-end { width: 360px; }
}
@media (max-width: 991.98px) {
  .offcanvas.offcanvas-end { width: 100%; }
}

/* small visual for filter button alignment when long title */
header.mb-4 .btn { min-width: 86px; }

