/* Novera — Homepage UX (template-index only) */

/* —— Unified vertical rhythm (all breakpoints) ——
   One padding-top per section = equal gap between every block.
   Last section gets matching bottom padding before footer. */
.template-index {
  --novera-home-section-y: 40px;
  --novera-home-head-gap: 16px;
}

@media (min-width: 1200px) {
  .template-index {
    --novera-home-section-y: 48px;
    --novera-home-head-gap: 18px;
  }
}

.template-index .section-policy-bar .policy-bar,
.template-index .novera-sba,
.template-index .novera-bs-distance,
.template-index .novera-wg-distance,
.template-index .novera-ws,
.template-index .novera-ct-distance,
.template-index .novera-igj {
  padding-top: var(--novera-home-section-y) !important;
  padding-bottom: 0 !important;
}

.template-index .section-novera-join-instagram .novera-igj {
  padding-bottom: var(--novera-home-section-y) !important;
}

.template-index .section-slideshow .distance {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.template-index .nov-seo-intro-section {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.template-index .title_section,
.template-index .title_section.mb-20,
.template-index .novera-sba__head,
.template-index .novera-wg__head,
.template-index .novera-ws__head,
.template-index .novera-igj__head,
.template-index .novera-ct__header,
.template-index .novera-ct__header.mb-20 {
  margin-bottom: var(--novera-home-head-gap) !important;
}

.template-index .novera-client-testimonials .novera-ct-slick .slick-dots {
  margin-top: var(--novera-home-head-gap) !important;
}

@media (max-width: 767px) {
  .template-index {
    --novera-home-section-y: 32px;
    --novera-home-head-gap: 14px;
    --novera-home-title: 18px;
    --novera-home-subtitle: 13px;
    --novera-sticky-bottom: 58px;
  }

  .template-index #MainContent {
    padding-bottom: calc(var(--novera-sticky-bottom) + env(safe-area-inset-bottom, 0px));
    overflow-x: clip;
  }

  /* —— Unified section headings —— */
  .template-index .title_section .title,
  .template-index .title_section .title p {
    margin: 0 !important;
    font-size: var(--novera-home-title) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
  }

  .template-index .title_section .sub_title,
  .template-index .title_section .sub_title p {
    margin: 0 !important;
    font-size: var(--novera-home-subtitle) !important;
    line-height: 1.45 !important;
    opacity: 0.82;
  }

  .template-index .title_section .sub_title.mt-15 {
    margin-top: 6px !important;
  }

  .template-index .novera-sba__title,
  .template-index .novera-wg__heading,
  .template-index .novera-ws__title,
  .template-index .novera-igj__title,
  .template-index .novera-ct__heading {
    font-size: var(--novera-home-title) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
  }

  .template-index .novera-sba__sub,
  .template-index .novera-wg__sub,
  .template-index .novera-ws__sub,
  .template-index .novera-igj__sub,
  .template-index .novera-ct__header .sub_title {
    font-size: var(--novera-home-subtitle) !important;
    line-height: 1.45 !important;
    opacity: 0.82;
    margin-top: 6px !important;
  }

  .template-index .novera-sba__sub {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* —— Hero slideshow —— */
  .template-index .section-slideshow .distance {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .template-index .section-slideshow .slideshow-dot-cus {
    bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }

  .template-index .section-slideshow [data-slick-to] {
    /* min-width: 44px; */
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* —— Policy bar: edge-to-edge trust strip —— */
  .template-index .section-policy-bar .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .template-index .section-policy-bar .policy-bar--compact {
    border-left: 0;
    border-right: 0;
  }

  /* —— Shop by category —— */
  .template-index .novera-sba__grid {
    gap: 10px !important;
  }

  .template-index .novera-sba__card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .template-index a.novera-sba__card:active {
    transform: scale(0.985);
  }

  /* —— Best sellers tabs —— */
  .template-index .novera-best-sellers__tabs-mobile-wrap {
    margin-bottom: 12px !important;
  }

  .template-index .novera-best-sellers__tabs-mobile {
    cursor: grab;
  }

  .template-index .novera-best-sellers__tabs-mobile.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
  }

  .template-index .novera-best-sellers__tabs-mobile .nav-link {
    -webkit-tap-highlight-color: transparent;
  }

  .template-index .novera-best-sellers .novera-bs-slick .arrow-prev,
  .template-index .novera-best-sellers .novera-bs-slick .arrow-next,
  .template-index .section-novera-collection-slider .novera-bs-slick .arrow-prev,
  .template-index .section-novera-collection-slider .novera-bs-slick .arrow-next {
    display: none !important;
  }

  .template-index .novera-best-sellers .spacing-20 > .block,
  .template-index .section-novera-collection-slider .spacing-20 > .block {
    padding-left: 5px;
    padding-right: 5px;
  }

  /* —— Watch & Shop: swipeable reel —— */
  .template-index .novera-ws__track {
    display: flex !important;
    flex-wrap: nowrap;
    grid-template-columns: none !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--novera-mobile-gutter, 16px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: calc(var(--novera-mobile-gutter, 16px) * -1);
    margin-right: calc(var(--novera-mobile-gutter, 16px) * -1);
    padding-left: var(--novera-mobile-gutter, 16px);
    padding-right: var(--novera-mobile-gutter, 16px);
    padding-bottom: 2px;
  }

  .template-index .novera-ws__track::-webkit-scrollbar {
    display: none;
  }

  .template-index .novera-ws__card {
    flex: 0 0 min(72vw, 280px);
    width: min(72vw, 280px);
    max-width: 280px;
    scroll-snap-align: start;
    border-radius: 12px;
  }

  .template-index button.novera-ws__card:active {
    transform: scale(0.98);
  }

  /* —— Testimonials: peek next card (reference mobile) —— */
  .template-index .section-novera-client-testimonials {
    overflow-x: clip;
  }

  .template-index .novera-client-testimonials .novera-ct__slider-wrap {
    margin: 0 calc(var(--novera-mobile-gutter, 16px) * -1) 0 0 !important;
    padding: 0 !important;
    overflow: visible;
  }

  .template-index .novera-client-testimonials .novera-ct-slick .slick-list {
    overflow: visible !important;
  }

  .template-index .novera-client-testimonials .novera-ct-slick .block {
    padding: 0 10px 0 0 !important;
  }

  /* —— New arrivals: 2 products per row (match Best Sellers) —— */
  .template-index .section-novera-collection-slider .novera-bs-slick.collection-carousel:not(.slick-initialized) .block {
    flex: 0 0 calc(50% - 10px);
    min-width: 0;
    max-width: none;
  }

  /* —— Instagram: swipeable row —— */
  .template-index .novera-igj__grid {
    display: flex !important;
    flex-wrap: nowrap;
    grid-template-columns: none !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--novera-mobile-gutter, 16px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: calc(var(--novera-mobile-gutter, 16px) * -1);
    margin-right: calc(var(--novera-mobile-gutter, 16px) * -1);
    padding-left: var(--novera-mobile-gutter, 16px);
    padding-right: var(--novera-mobile-gutter, 16px);
    padding-bottom: 2px;
  }

  .template-index .novera-igj__grid::-webkit-scrollbar {
    display: none;
  }

  .template-index .novera-igj__card {
    flex: 0 0 min(62vw, 220px);
    width: min(62vw, 220px);
    max-width: 220px;
    scroll-snap-align: start;
  }

  /* —— Product cards on homepage —— */
  .template-index .item-product.novera-bs-pro {
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 8px 24px rgba(15, 23, 42, 0.04);
  }

  .template-index .item-product.novera-bs-pro .add-to-cart-btn.novera-bs-pro__btn,
  .template-index .item-product.novera-bs-pro .novera-bs-pro__btn--link {
    min-height: 40px !important;
    border-radius: 8px !important;
  }

  /* —— Tap highlights off for native-app feel —— */
  .template-index a.novera-sba__card,
  .template-index button.novera-ws__card,
  .template-index .novera-best-sellers__tabs-mobile .nav-link {
    -webkit-tap-highlight-color: transparent;
  }
}
