/* Keep HU and EN visually aligned with the approved RO desktop framing.
   Structure stays shared; only translated text is fitted where it is longer. */

@media (min-width: 1051px) {
  html[lang="hu"] .menu a,
  html[lang="en"] .menu a {
    white-space: nowrap;
  }

  /* Hungarian navigation has several substantially longer labels. */
  html[lang="hu"] .menu a {
    font-size: 13px;
  }

  html[lang="hu"] .nav .btn-primary {
    font-size: 14px;
    padding-left: 15px;
    padding-right: 15px;
  }

  /* Hero keeps the same two-line visual footprint as Romanian. */
  html[lang="hu"] .hero h1 {
    font-size: clamp(42px, 4.45vw, 66px);
    max-width: 760px;
  }

  html[lang="en"] .hero h1 {
    font-size: clamp(42px, 4.65vw, 68px);
    max-width: 760px;
  }

  html[lang="hu"] .hero-lead,
  html[lang="en"] .hero-lead {
    max-width: 760px;
  }

  /* Experience: preserve the same title/card footprint as RO. */
  html[lang="hu"] .intro-strip#experienta + section .section-head h2 {
    font-size: clamp(34px, 3.65vw, 50px);
    max-width: 900px;
    text-wrap: balance;
  }

  html[lang="en"] .intro-strip#experienta + section .section-head h2 {
    font-size: clamp(35px, 3.8vw, 52px);
    max-width: 900px;
    text-wrap: balance;
  }

  html[lang="hu"] .intro-strip#experienta + section .section-head p,
  html[lang="en"] .intro-strip#experienta + section .section-head p {
    font-size: 14px;
    line-height: 1.48;
  }

  html[lang="hu"] .intro-strip#experienta + section .fact strong {
    font-size: 18px;
  }

  html[lang="hu"] .intro-strip#experienta + section .fact p,
  html[lang="en"] .intro-strip#experienta + section .fact p {
    font-size: 13.5px;
    line-height: 1.38;
  }

  /* Animals: long HU breed names must not increase the 4x2 grid height. */
  html[lang="hu"] section.animals#animale .animal-card.has-photo h3 {
    font-size: 16.5px;
    line-height: 1.12;
  }

  html[lang="hu"] section.animals#animale .animal-card.has-photo p {
    font-size: 12.5px;
    line-height: 1.3;
  }

  html[lang="hu"] section.animals#animale .section-head h2,
  html[lang="en"] section.animals#animale .section-head h2 {
    white-space: nowrap;
  }

  /* Story: same column geometry; translated copy is fitted instead of changing section height. */
  html[lang="hu"] #poveste .story-copy h2 {
    font-size: clamp(36px, 3.75vw, 51px);
    line-height: 1.02;
    text-wrap: balance;
  }

  html[lang="en"] #poveste .story-copy h2 {
    font-size: clamp(37px, 3.9vw, 53px);
    line-height: 1.02;
    text-wrap: balance;
  }

  html[lang="hu"] #poveste .story-copy p,
  html[lang="en"] #poveste .story-copy p {
    font-size: 16px;
    line-height: 1.5;
  }

  html[lang="hu"] #poveste .quote,
  html[lang="en"] #poveste .quote {
    margin-top: 20px;
    padding-top: 17px;
    padding-bottom: 17px;
  }

  /* Program / tickets intentionally has no language-specific geometry.
     HU and EN inherit the exact RO layout from visit-compact.css. */

  /* HU Gallery: keep the title on one line and move the whole section higher. */
  html[lang="hu"] section#galerie {
    padding-top: 24px;
  }

  html[lang="hu"] #galerie .section-head h2 {
    font-size: clamp(36px, 3.1vw, 48px);
    line-height: 1.02;
    white-space: nowrap;
    text-wrap: nowrap;
  }

  /* Program & Tickets is now its own section, not the Contact destination. */
  #vizita .visit-grid.visit-grid--single {
    grid-template-columns: 1fr;
  }

  #vizita .visit-grid--single > .info-panel {
    width: min(100%, 980px);
    margin: 0 auto;
  }

  /* Contact is a separate one-screen destination in every language. */
  section.contact-section#contact {
    min-height: calc(100svh - 82px);
    padding-top: 30px;
    padding-bottom: 34px;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(216,185,93,.055));
  }

  .contact-section-inner {
    width: calc(100% - 80px);
  }

  .contact-section-head {
    margin-bottom: 22px;
    align-items: center;
  }

  .contact-section-head h2 {
    font-size: clamp(40px, 4.2vw, 58px);
    line-height: 1.02;
  }

  .contact-section-head p {
    max-width: 560px;
    font-size: 15px;
    line-height: 1.5;
  }

  .contact-panel-slot {
    display: flex;
    justify-content: center;
  }

  .standalone-contact-panel {
    width: min(100%, 1180px);
    padding: 30px 34px;
  }

  .standalone-contact-panel > h3 {
    display: none;
  }

  .standalone-contact-panel .contact-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }

  .standalone-contact-panel .contact-item {
    min-height: 122px;
    padding: 20px;
    border: 1px solid #d8dfda;
    border-radius: 18px;
    background: rgba(255,255,255,.46);
  }

  .standalone-contact-panel .contact-item strong {
    font-size: 16px;
    margin-bottom: 5px;
  }

  .standalone-contact-panel .contact-item span {
    font-size: 13px;
    line-height: 1.45;
  }

  .standalone-contact-panel .social-bar {
    margin-top: 18px;
  }
}

/* At narrower desktop widths, translated navigation must still remain one line. */
@media (max-width: 1250px) and (min-width: 1051px) {
  html[lang="hu"] .menu a {
    font-size: 12px;
  }

  html[lang="hu"] .nav .btn-primary {
    font-size: 13px;
    padding-left: 13px;
    padding-right: 13px;
  }

  html[lang="hu"] #galerie .section-head h2 {
    font-size: 36px;
  }
}

@media (max-width: 1050px) {
  #vizita .visit-grid.visit-grid--single {
    grid-template-columns: 1fr;
  }

  section.contact-section#contact {
    padding-top: 34px;
    padding-bottom: 48px;
  }
}
