/* =========================================================
   Landing – 7 Items (Hero + 2-per-slide), CSS-only (iOS fix)
   Desktop: hero (slide 1) + 3 slides with two cards each
   Mobile: 7 full-screen snapping slides (hero + 6 cards)
   Key mobile fix: .slide.duo -> display: contents; so cards
   are direct snap targets for the scroll container.
   ========================================================= */

/* ---- Theme overrides / cleanup for this template ---- */
.fullview-page.landing7 .site-footer,
.fullview-page.landing7 .lb-element-footer-container-row {
  background: transparent !important;
}
.fullview-page.landing7 .container-full,
.fullview-page.landing7 .content,
.fullview-page.landing7 .wrap {
  /*padding: 0px !important; */
}

/* Stable viewport variable */
:root { --vh: 100vh; }                 /* fallback */
@supports (height: 100svh) { :root { --vh: 100svh; } }  /* small viewport */
@supports (height: 100dvh) { :root { --vh: 100dvh; } }  /* dynamic viewport */

/* ===== Scroll container (all viewports) ===== */
.fullview-wrap{
  height: var(--vh);
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  /* tiny padding prevents “no next target” edge on iOS */
  scroll-padding-top: 1px;
  scroll-padding-bottom: 1px;
}

/* Base slide */
.slide{
  position: relative;
  min-height: var(--vh);
  height: var(--vh);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  isolation: isolate;
  overflow: hidden;
}

/* Media, overlay, universal full-card link (desktop) */
.media{
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.overlay{ position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.45)); }
.hotlink{ position: absolute; inset: 0; z-index: 10; }

/* --- Slide 1: HERO (title only) --- */
.slide.hero{ display: flex; align-items: flex-end; }
.slide.hero .hero-content{
  position: relative; z-index: 3; color: #fff;
  width: min(82vw, 1200px); 
  /*padding: clamp(16px, 2.5vmin, 28px);*/ padding: 50px;
}

.slide.hero .title{
}

@media (max-width:767px) and (orientation:portrait){ .slide.hero .hero-content{ padding: clamp(16px, 2.5vmin, 28px);}}
@media (max-width:767px) and (orientation:portrait){ .slide.duo .content{    margin-top: 30%;}}

/* --- Slides 2–4: two-up split (desktop/tablet) --- */
.slide.duo{
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; gap: 0;
}
.slide.duo .card{
  position: relative; height: 100%;
  display: flex; align-items: flex-end; overflow: hidden;
}
.slide.duo .content{
  position: relative; color: #fff; width: 100%;
  padding-left: 50px;
  height: 80%;
}

@media (max-width: 768px) { .slide.duo .content {
      padding: clamp(14px, 2.2vmin, 24px);
  }
}
.slide.duo .title{ margin: 0 0 .20em; }
.slide.duo .meta{ display: flex; flex-wrap: wrap; font-weight: 600; gap: .0em 0.5em; z-index: 11; position: relative; }
.slide.duo .meta .tags {background: none!important; padding: 0!important; margin: 0!important;}
.slide.duo .meta .cats a,
.slide.duo .meta .tags a{
position: relative; z-index: 11; display:inline-block; padding:.50em .90em!important; border-radius:99px; border: 1px solid #fff!important;background: none!important; font-size: 0.8rem!important; font-weight: normal; color: #fff!important;
text-transform: uppercase!important; margin-right:5px!important; text-decoration: none!important; color: #fff!important;
}

@media (hover:hover){
  .slide.duo .card:hover .media{ 
    filter: brightness(0.7); 
    transition: filter .5s ease; 
  }
  .slide.duo .card .media{ 
    filter: brightness(1);
    transition: filter .5s ease;
  }
}

/* ===== MOBILE — make EACH CARD a direct snap target ===== */
@media (max-width: 767px){

  /* The scroll container stays the wrapper; avoid nested scrollers above it */
  html, body { height: auto; overflow: visible; }

  .fullview-wrap{
    height: var(--vh);
    max-height: var(--vh);
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }

  /* Every main slide is still one viewport */
  .slide{
    min-height: var(--vh);
    height: var(--vh);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  /* CRITICAL FIX:
     Flatten .slide.duo so its children (.card) behave as if they are
     direct children of .fullview-wrap (iOS requires direct snap targets). */
  .slide.duo{
    display: contents;         /* removes the wrapper from layout */
    height: auto; min-height: 0;
  }

  /* Now each card acts like its own full-screen slide & snap target */
  .slide.duo .card{
    display: block;
    min-height: var(--vh);
    height: var(--vh);
    scroll-snap-align: start;
    scroll-snap-stop: always;
    position: relative;
    overflow: hidden;
  }

  /* Prevent the big overlay link from trapping vertical swipes */
  /*.hotlink{ display: none; } */

}

/* ===== Admin bar compensation (logged-in) ===== */
body.admin-bar .fullview-wrap{ height: calc(var(--vh) - 46px); }
@media (min-width: 783px){
  body.admin-bar .fullview-wrap{ height: calc(var(--vh) - 32px); }
}