/* UX corrections: keep content and controls inside the visual viewport. */
.topnav-inner, .footer-brand, .footer-links, .cookie-notice-copy, .cookie-notice-actions { min-width: 0; }
.nav-links .menu { display: flex; flex-wrap: wrap; gap: 24px; padding: 0; margin: 0; list-style: none; }
.ux-hero { padding-block: clamp(40px, 6vw, 80px); }
.ux-hero-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, 1fr); align-items: center; gap: 40px; }
.ux-hero-copy h1 { max-width: 18ch; font-size: clamp(36px, 4.4vw, 64px); overflow-wrap: anywhere; }
.ux-hero-copy .lead { margin-top: 24px; }
.ux-hero-copy .hero-cta { justify-content: flex-start; margin-top: 28px; }
.ux-hero-note { color: var(--fg-2); font-size: 14px; margin: 20px 0 0; }
.earth-visual.ux-globe { height: 300px; overflow: hidden; pointer-events: none; opacity: .65; }
.ux-certifications .card { min-width: 0; display: flex; flex-direction: column; }
.ux-card-price { color: var(--accent); font-size: 28px; font-weight: 600; margin: 16px 0; }
.ux-certifications .feature-link { margin-top: auto; white-space: normal; }
.ux-pending, .ux-before-apply { padding: 24px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.ux-pending h3 { font-size: 20px; }
.ux-before-apply { margin-block: 0 48px; width: min(calc(100% - 32px), 1108px); }
.ux-before-apply h2 { font-size: 28px; }
.ux-before-apply p { max-width: 80ch; }
.cookie-notice { z-index: 100; max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }
.cookie-notice-inner { width: 100%; min-width: 0; }
.cookie-notice-copy { overflow-wrap: anywhere; }
.cookie-notice-actions .btn { min-height: 44px; white-space: normal; }
.cookie-settings-trigger { position: static; display: block; margin: 0 16px 16px auto; max-width: calc(100% - 32px); }
.vsb-emeb-checkout-form .billing-form label { display: block; position: static; width: auto; height: auto; clip: auto; clip-path: none; overflow: visible; white-space: normal; margin-bottom: 6px; color: var(--fg-2); font-size: 14px; }
.vsb-emeb-checkout-form h1 { max-width: none; }
.checkout-overview { padding: 24px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); margin-block: 24px; }
.checkout-overview h2 { font-size: 26px; }
.checkout-overview .campo > label { display: block; margin-bottom: 8px; color: var(--fg-2); font-size: 14px; }
.checkout-overview .product-summary, .checkout-overview .event-info { margin-top: 20px; }
.checkout-overview p { color: var(--fg-2); }
.checkout-overview a, .legal-document-links a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.legal-document-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-block: 20px; }
.vsb-emeb-checkout .terms label { display: block; }
.vsb-emeb-checkout .terms input { margin-right: 8px; }
.vsb-verify-form input { min-width: 0; }
@media (max-width: 1100px) {
  .topnav-inner { flex-wrap: wrap; gap: 12px; }
  .nav-toggle { display: inline-grid; place-items: center; margin-left: auto; }
  .nav-links { order: 4; display: none; width: 100%; }
  .nav-links.open, .nav-links .menu { display: flex; flex-direction: column; gap: 0; }
  .nav-links a { display: flex; align-items: center; min-height: 48px; border-top: 1px solid var(--border); }
  .topnav-cta { display: none; }
  .ux-certifications { grid-template-columns: 1fr; }
}
@media (max-width: 920px) {
  .cookie-notice-inner { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 20px; }
  .cookie-notice-actions { justify-content: flex-start; }
  .cookie-notice-actions .btn { flex: 1 1 140px; }
  .ux-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .earth-visual.ux-globe { display: none; }
  .ux-hero-copy h1 { max-width: 22ch; }
}
@media (max-width: 600px) {
  .topnav-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding-block: 10px; }
  .topnav-inner .logo { grid-column: 1; font-size: 15px; gap: 8px; }
  .topnav-inner .logo-mark { width: 32px; height: 32px; }
  .topnav-inner .nav-toggle { grid-column: 2; grid-row: 1; }
  .topnav-inner .language-switcher { grid-column: 1 / -1; justify-self: start; margin: 0; }
  .topnav-inner .nav-links { grid-column: 1 / -1; }
  h1, h2, h3, .lead, .card, .warm-panel, .footer-brand { overflow-wrap: anywhere; }
  .ux-hero-copy h1 { font-size: clamp(34px, 8.5vw, 46px); }
  .ux-hero-copy .hero-cta { margin-top: 24px; }
  .cookie-notice { inset: auto 12px 12px; }
  .cookie-notice-inner { padding: 16px; }
  .cookie-notice-copy h2 { font-size: 20px; }
  .cookie-notice-actions .btn { flex: 1 1 100%; }
  .checkout-overview { padding: 16px; }
  .vsb-verify-form > div { flex-wrap: wrap; }
}
