/* Large-screen layout balancing (1440px+) — Corfu Cottages */

/* ── Home ─────────────────────────────────────────────────────────────── */
@media (min-width: 1440px) and (max-width: 1919px) {
  .home-hero-panel .hero-upper-wrapper {
    max-width: min(1480px, 92vw);
  }
}

@media (min-width: 1920px) {
  .home-hero-panel {
    --hero-space-col: clamp(24px, 2.4vw, 36px);
    --hero-space-text-actions: clamp(26px, 3vh, 36px);
  }

  .home-hero-panel .hero-upper-wrapper {
    max-width: var(--cc-layout-ultra);
    padding-inline: clamp(48px, 4vw, 96px);
  }

  .home-hero-panel .flip-container,
  .home-hero-panel .hero-frame {
    width: min(720px, 46vw);
    max-width: 720px;
  }

  .home-hero-panel .hero-side-panel {
    width: min(440px, 30vw);
    max-width: 460px;
  }

  .home-hero-panel .hero-side-panel .description-text,
  .home-hero-panel .hero-side-panel .hero-intro-text {
    font-size: clamp(16px, 0.85vw, 18px);
    line-height: 1.55;
  }
}

/* ── About ────────────────────────────────────────────────────────────── */
@media (min-width: 1440px) {
  main.content > div:not(.contact-layout) {
    width: min(840px, 55vw);
  }

  main.content > div:not(.contact-layout) p {
    font-size: clamp(1.06rem, 0.75vw, 1.18rem);
    max-width: 72ch;
  }
}

@media (min-width: 1920px) {
  main.content > div:not(.contact-layout) {
    width: min(920px, 48vw);
  }
}

/* ── Contact ──────────────────────────────────────────────────────────── */
@media (min-width: 1440px) {
  .contact-layout {
    width: min(1100px, 72vw);
    grid-template-columns: minmax(320px, 440px) minmax(360px, 1fr);
    gap: clamp(48px, 5vw, 96px);
  }

  .contact-details {
    max-width: none;
  }
}

@media (min-width: 1920px) {
  .contact-layout {
    width: min(1200px, 68vw);
  }
}

/* ── Locations ────────────────────────────────────────────────────────── */
@media (min-width: 1440px) {
  .locations-inner {
    max-width: min(1020px, 62vw);
  }

  .locations-inner p,
  .location-heading {
    font-size: clamp(1.02rem, 0.7vw, 1.12rem);
  }
}

@media (min-width: 1920px) {
  .locations-inner {
    max-width: min(1100px, 58vw);
  }
}

/* ── Reviews ──────────────────────────────────────────────────────────── */
@media (min-width: 1200px) {
  body.page-reviews .reviews-page-main {
    max-width: min(760px, 52vw);
    padding-inline: clamp(24px, 4vw, 48px);
  }

  body.page-reviews .reviews-intro h1 {
    font-size: clamp(1.85rem, 1.4vw, 2.15rem);
  }

  body.page-reviews .reviews-quote__text {
    font-size: 1rem;
  }
}

@media (min-width: 1920px) {
  body.page-reviews .reviews-page-main {
    max-width: 840px;
  }
}

/* ── Property detail (xyz) ────────────────────────────────────────────── */
@media (min-width: 1440px) {
  body.page-xyz .page-layout {
    max-width: min(1480px, 92vw);
    gap: clamp(64px, 4vw, 72px);
  }

  body.page-xyz .page-layout__content {
    max-width: min(780px, 52vw);
  }

  body.page-xyz #photo-gallery {
    max-width: min(1480px, 92vw) !important;
    grid-template-columns: minmax(0, min(780px, 52vw)) minmax(220px, 1fr) !important;
  }
}

@media (min-width: 1920px) {
  body.page-xyz .page-layout {
    max-width: var(--cc-layout-ultra);
    padding-left: clamp(72px, 5vw, 104px);
    padding-right: clamp(56px, 4vw, 88px);
  }

  body.page-xyz .page-layout__content {
    max-width: min(820px, 48vw);
  }

  body.page-xyz .page-layout__sidebar {
    width: min(400px, 26vw);
  }

  body.page-xyz #photo-gallery {
    max-width: var(--cc-layout-ultra) !important;
    grid-template-columns: minmax(0, 820px) minmax(260px, 1fr) !important;
    column-gap: clamp(48px, 4vw, 72px) !important;
    padding-left: clamp(72px, 5vw, 104px) !important;
    padding-right: clamp(56px, 4vw, 88px) !important;
  }

  body.page-xyz .section-nav__inner {
    max-width: var(--cc-layout-ultra);
  }

  body.page-xyz .description-content {
    max-width: min(700px, 100%);
  }
}

/* ── Legal / checkout shells ──────────────────────────────────────────── */
@media (min-width: 1440px) {
  .legal-shell {
    width: min(840px, 72vw);
  }

  .checkout-shell {
    width: min(640px, 72vw);
  }

  body > main.card {
    width: min(600px, 72vw);
  }

  .shell {
    width: min(760px, 72vw);
  }
}

@media (min-width: 1920px) {
  .legal-shell {
    width: min(900px, 68vw);
  }
}
