/* Shared frame contract: backgrounds span the viewport; content uses the inner frame. */
@media screen {
  :root {
    --wwc-header: 1750px;
    --wwc-content: 1500px;
    --wwc-footer: 1350px;
    --wwc-gutter: clamp(18px, 2vw, 24px);
    --wwc-header-pad: max(var(--wwc-gutter), calc((100% - var(--wwc-header)) / 2));
    --wwc-content-pad: max(var(--wwc-gutter), calc((100% - var(--wwc-content)) / 2));
    --wwc-footer-pad: max(var(--wwc-gutter), calc((100% - var(--wwc-footer)) / 2));
  }
  main :where(section, article, aside, figure, div) { min-width: 0; }
  :is(body, main) > .practical-guide,
  :is(body, main) > .decision-example {
    box-sizing: border-box;
    width: min(var(--wwc-content), calc(100% - 2 * var(--wwc-gutter)));
    max-width: var(--wwc-content);
    margin-inline: auto;
  }
  .wag-ad-slot { width: min(var(--wwc-content), calc(100% - 2 * var(--wwc-gutter))); }
  /* Local directory templates also inject theme styles after their stylesheets. */
  .fdnl-body :is(.fdnl-breadcrumbs, .fdnl-section, .fdnl-hero > div) {
    box-sizing: border-box; width: 100% !important; max-width: none !important;
    margin-inline: 0 !important; padding-inline: var(--wwc-content-pad) !important;
  }
  .fdnl-body .fdnl-site-header { box-sizing: border-box; width: 100%; max-width: none; margin-inline: 0; padding-inline: var(--wwc-header-pad); }
  .fdnl-body .fdnl-site-header__inner { width: 100%; max-width: var(--wwc-header); margin-inline: auto; }
  .fdnl-body .fdnl-footer { box-sizing: border-box; width: 100%; max-width: none; margin-inline: 0; padding-inline: var(--wwc-footer-pad); }
  .fdnl-body .fdnl-footer__inner { width: 100%; max-width: var(--wwc-footer); margin-inline: auto; }

  :root { --content-max: var(--wwc-content) !important; --header-max: var(--wwc-header) !important; --footer-max: var(--wwc-footer) !important; }
  .site-header { left: 0; transform: none; width: 100%; max-width: none; padding-inline: var(--wwc-header-pad); }
  .section, .hero, .request, .page-hero.section, .destination-hero {
    box-sizing: border-box; width: 100%; max-width: none; margin-inline: 0;
    padding-inline: var(--wwc-content-pad);
  }
  .section .section { width: 100%; padding-inline: 0; }
  .destination-hero { padding-inline: 0; }
  .destination-hero-inner { width: 100%; max-width: none; padding-inline: var(--wwc-content-pad); }
  .site-footer { padding-inline: var(--wwc-footer-pad); }
  .footer-inner { width: 100%; max-width: var(--wwc-footer); padding-inline: 0; margin-inline: auto; }
}

.footer-ai-disclosure{box-sizing:border-box;max-width:1350px;margin:20px auto;padding:0 24px;font-size:13px;line-height:1.6;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}
