/* FestiTale REV 1.7.16 — compact, overlap-safe public shell. */

html {
  scroll-padding-top: 104px !important;
}

body.brand-2026 main > [id],
body.brand-2026 main [id] {
  scroll-margin-top: 104px;
}

body.brand-2026 .feedback-trigger {
  z-index: 70;
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 92px !important;
  }

  body.brand-2026 main > [id],
  body.brand-2026 main [id] {
    scroll-margin-top: 92px;
  }

  body.brand-2026 .site-header {
    height: 72px;
    min-height: 72px;
  }

  body.brand-2026 .feedback-trigger {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom));
    width: 52px;
    min-width: 52px;
    height: 52px;
    min-height: 52px;
    padding: 0;
    justify-content: center;
    gap: 0;
    overflow: hidden;
    font-size: 0;
    box-shadow: 0 10px 24px rgba(7,29,44,.28);
  }

  body.brand-2026 .feedback-trigger span {
    font-size: 20px;
    line-height: 1;
  }

  body.brand-2026 .site-footer {
    padding: 38px 18px 18px;
  }

  body.brand-2026 .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px 18px;
  }

  body.brand-2026 .footer-brand {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px 18px;
    align-items: end;
  }

  body.brand-2026 .footer-brand .brand {
    grid-column: 1/-1;
  }

  body.brand-2026 .footer-brand p {
    margin: 4px 0 0;
    font-size: clamp(24px,7.8vw,31px);
    line-height: 1.02;
  }

  body.brand-2026 .footer-brand .footer-cta {
    align-self: end;
    padding: 0;
  }

  body.brand-2026 .footer-column {
    gap: 0;
  }

  body.brand-2026 .footer-column strong {
    margin: 0 0 5px;
  }

  body.brand-2026 .footer-column a {
    min-height: 44px;
    padding: 0;
  }

  body.brand-2026 .footer-social {
    grid-column: 1/-1;
  }

  body.brand-2026 .ft179-footer-social-icons {
    width: 100%;
    flex-wrap: nowrap;
  }

  body.brand-2026 .footer-bottom {
    margin-top: 22px;
    padding-top: 14px;
    gap: 6px 16px;
  }

  body.brand-2026 .footer-legal {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 14px;
  }

  body.brand-2026 .footer-legal a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 390px) {
  body.brand-2026 .footer-brand {
    grid-template-columns: 1fr;
  }

  body.brand-2026 .footer-brand .footer-cta {
    grid-column: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.brand-2026 .feedback-trigger {
    transition: none;
  }
}
