/* Navigation Bar */
#mainnav .logo {
    object-fit: cover;
}

/* Hero Section */
@media screen and (max-width: 786px) {
    .s-block--media-slider .title {
        line-height: 1.1 !important;
    }
}
/* Categories Section */
.s-block--media-slider {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}
.s-block--media-slider:first-of-type {
    max-width: 100%;
    margin-left: none;
    margin-right: none;
}
@media screen and (max-width: 678px) {
    .s-block--media-slider {
        margin-left: 16px;
        margin-right: 16px;
    }
    .s-block--media-slider:first-of-type {
        max-width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }
}
.swiper-scrollbar-drag {
    background: #faf2ee;
}

/* Descriptive Section */
.media-text-section {
    margin: 0;
    padding: 0;
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
#media-text-banner-4 {
    background-color: #faf2ee !important;
}
.media-text-section .media-text-wrapper {
    max-width: 1240px;
}
.media-text-section .title h2 {
    font-weight: 700;
}
.media-text-section .description div {
     white-space: pre-line;
}
.media-text-section .media-side img {
    height: 512px;
    aspect-ratio: 1/1;
    object-fit: contain;
}
@media screen and (max-width: 786px) {
   .media-text-section .media-side img {
        height: unset;
    } 
}
.media-text-section .text-side {
    max-width: 670px;
}
.media-text-section .buttons-container {
    font-weight: 600;
    font-size: 24px;
}

/* Product Card */
.s-product-card-image {
    max-height: 32rem !important;
    border-bottom-left-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}
.s-product-card-image .main-image, .s-product-card-image .hover-image {
    object-fit: cover !important;
}

/* Products Grid */
.products-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 36px !important;
}
@media screen and (max-width: 786px) {
.products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}    
}
.products-with-top-banner .title {
    font-weight: 700;
    font-size: 36px;
}
.products-with-top-banner .title, .products-with-top-banner .sub-title, .products-with-top-banner .description {
    color: #295863;
}

/* FAQ */
.faq-content {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}
.faq-header, .faq-subtitle, .faq-description {
    color: #295863;
}
.faq-item {
    box-shadow: none;
    border: none;    
}
.faq-item:hover {
    box-shadow: none;
}
.faq-item.faq-item-open {
    box-shadow: none;
    border-radius: 0px;
}
.faq-question {
    background: none;
    border-bottom: 1px solid #29586385;
    border-radius: 0px !important;
}
.faq-question:hover {
    background: none !important;
}
.faq-question-icon {
    display: none;
}
.faq-question[aria-expanded="true"] {
    background: none;
    border-radius: 0px;
}

/* About Us */
#media-text-banner-9 .media-side img {
    border-radius: 12px;
    aspect-ratio: unset;
    height: unset;
}
#media-text-banner-9 .media-side {
    max-width: 47%;
}
@media screen and (max-width: 786px) {
    #media-text-banner-9 .media-side {
        max-width: none;
    }
}
#media-text-banner-9 .media-text-wrapper {
    justify-content: center;
}

.h-screen {
  height: 100vh;
}
@media (min-width: 1600px) {
    .\33 xl\:container {
        max-width: unset;
    }
    .\33xl\:container {
        padding-right: 0px;
        padding-left: 0px;
    }
}
@media (min-width: 1400px) {
    .\33 xl\:container {
        max-width: unset;
    }
    .\33xl\:container {
        padding-right: 0px;
        padding-left: 0px;
    }
}

/* Arrow Down UX */
.slide-scroll-indicator {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none; /* so it won't block clicks */
}

.scroll-icon {
  width: 26px;
  height: 42px;
  border: 2px solid white;
  border-radius: 20px;
  position: relative;
  opacity: 0.8;
}

.scroll-dot {
  width: 6px;
  height: 6px;
  background: white;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  animation: scrollTouch 1.8s infinite;
}

@keyframes scrollTouch {
  0% { top: 8px; opacity: 0; }
  40% { top: 24px; opacity: 0; }
  80% { top: 24px; opacity: 1; }
  100% { top: 8px; opacity: 1; }
}