/**
 * REATS · Homepage mobile length & UX optimizations
 * (Portal card carousel: buyz-shell.css + script.js)
 */

/* Deals teaser — mobile tweaks */
@media (max-width: 768px) {
  .bz-deals__locked,
  .bz-deals__cards {
    max-height: 180px;
  }

  .bz-deals__cards .retreat-card {
    flex: 0 0 min(68vw, 240px);
    width: min(68vw, 240px);
    max-height: 180px;
  }

  .bz-deals__cards .retreat-card:nth-child(n + 3) {
    display: none;
  }

  .bz-deals__band {
    padding: clamp(14px, 3vw, 20px);
  }
}

@media (min-width: 769px) and (max-width: 1099px) {
  .bz-deals__cards .retreat-card:nth-child(n + 4) {
    display: none;
  }
}

/* Gift vouchers — horizontal scroll */
@media (max-width: 768px) {
  .bz-vouchers {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 10px;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .bz-vouchers::-webkit-scrollbar {
    display: none;
  }

  .bz-voucher {
    flex: 0 0 min(72vw, 260px);
    scroll-snap-align: start;
  }

  .bz-gift-strip__band {
    padding: clamp(14px, 3vw, 22px);
  }
}

/* Hero shorter on small phones */
@media (max-width: 414px) {
  .hero.hero--v2 {
    height: clamp(300px, 68vw, 380px);
    --hero-arrow-bottom: clamp(36px, 10vw, 48px);
  }

  .hero--v2 .hero-infobar .exp-event-infobar__item {
    font-size: clamp(0.55rem, 2.65vw, 0.64rem);
    padding-inline: 3px;
  }

  body.bz-pilot-layout .bz-main > :first-child {
    padding-top: clamp(12px, 2.5vw, 18px);
  }
}

/* Home-about — compact spacing */
@media (max-width: 768px) {
  .home-about {
    margin-top: clamp(16px, 3vw, 24px);
  }

  .ha-block {
    padding: clamp(20px, 4.5vw, 28px) var(--ha-pad);
  }

  .ha-block--faq {
    padding-bottom: clamp(24px, 5vw, 36px);
  }

  .ha-title {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem);
  }

  .ha-lead {
    font-size: clamp(0.92rem, 2.8vw, 1rem);
    margin-bottom: clamp(14px, 3vw, 20px);
  }

  .ha-cards {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: clamp(14px, 3vw, 18px);
  }

  .ha-card {
    padding: clamp(14px, 3.5vw, 18px);
  }

  /* SEO blocks hidden until expanded */
  .ha-block--defer {
    display: none;
  }

  .home-about.is-about-expanded .ha-block--defer {
    display: block;
  }

  .ha-about-more {
    display: flex;
    justify-content: center;
    padding: 0 var(--ha-pad) clamp(16px, 3vw, 20px);
  }

  .ha-about-more__btn {
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid rgba(47, 125, 63, 0.28);
    background: #fff;
    color: var(--accent, #0c3c1e);
    font: inherit;
    font-weight: 700;
    font-size: 0.92rem;
    cursor: pointer;
  }

  .home-about.is-about-expanded .ha-about-more {
    display: none;
  }
}

@media (min-width: 769px) {
  .ha-about-more {
    display: none;
  }
}

/* FAQ — collapsed extras + show more */
@media (max-width: 768px) {
  .ha-faq__item--extra {
    display: none;
  }

  .home-about.is-faq-expanded .ha-faq__item--extra {
    display: block;
  }

  .ha-faq__item summary {
    min-height: 48px;
    padding: 12px 14px;
    font-size: 0.9rem;
  }

  .ha-faq__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 12px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px dashed rgba(47, 125, 63, 0.4);
    background: rgba(255, 255, 255, 0.7);
    color: var(--accent-2, #2f7d3f);
    font: inherit;
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    width: 100%;
    max-width: 320px;
  }

  .home-about.is-faq-expanded .ha-faq__more {
    display: none;
  }
}

@media (min-width: 769px) {
  .ha-faq__more {
    display: none;
  }
}
