/* Quiet, responsive refinement of the existing Det Betales theme. */
html.site-calm { scroll-behavior: auto; }
html.site-calm *, html.site-calm *::before, html.site-calm *::after {
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html.site-calm .reveal { opacity: 1 !important; transform: none !important; }
html.site-calm :is(.side-rail, .tour-scroll-line, .review-marquee, .masthead::before) { display: none; }
html.site-calm .masthead::before { display: none; }
html.site-calm body { line-height: 1.6; }
html.site-calm .site-shell {
  width: min(calc(100% - 2rem), 1240px);
  padding-inline: 0;
  margin-inline: auto;
}
html.site-calm :is(.hero, .booking-layout, .newsletter-panel, .newsletter-landing, .field-grid, .tour-item, .finder-stop-card, .masthead, .contact-card-grid) > * { min-width: 0; }
html.site-calm :is(img, video) { max-width: 100%; }
html.site-calm :is(.button, button, .ticket-placeholder) {
  min-height: 44px;
  white-space: normal;
  line-height: 1.4;
  text-align: center;
}
html.site-calm .button { font-size: 1rem; }
html.site-calm :is(.button:hover, .review-card, .gallery-tile:hover img) { transform: none; }
html.site-calm :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #ffd36f; outline-offset: 4px; }
html.site-calm :is(.form-field input, .form-field select, .form-field textarea) { min-width: 0; max-width: 100%; font-size: 1rem; }
html.site-calm :is(.contact-inline a, .tour-main, .finder-stop-card, .form-feedback) { overflow-wrap: anywhere; }
html.site-calm :is(.finder-date, .tour-helper, .ticket-note, .form-privacy-note, .finder-privacy-note) { font-size: .95rem; line-height: 1.5; }
html.site-calm .section-heading p { max-width: 65ch; }
html.site-calm .home-tidy .hero-lockup { display: block; }
html.site-calm .home-tidy .hero-mark-frame.hero-mark-wide { width: 15rem; max-width: 100%; height: 5.5rem; min-height: 0; aspect-ratio: auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
html.site-calm .home-tidy .hero-mark-frame.hero-mark-wide::before,
html.site-calm .home-tidy .hero-mark-frame.hero-mark-wide::after { display: none; }
html.site-calm .home-tidy .hero-mark-wide .hero-sigil { width: 100%; height: 100%; padding: 0; object-fit: contain; transform: none; }
html.site-calm .home-tidy .hero-stage-main .card-label { top: auto; bottom: 1rem; }
html.site-calm .section[id], html.site-calm .tour-seasons[id] { scroll-margin-top: 10rem; }
html.site-calm .masthead { top: .65rem; padding: .65rem 1rem; }
html.site-calm .brand { min-width: 0; }
html.site-calm .brand-copy small { font-size: .8rem; }
html.site-calm .lang-switch a { width: 44px; height: 44px; flex: 0 0 44px; }
html.site-calm .site-nav a { font-size: 1rem; min-height: 44px; white-space: normal; }
html.site-calm .newsletter-panel, html.site-calm .newsletter-landing { grid-template-columns: minmax(0, 1fr); }
html.site-calm .newsletter-panel { padding: clamp(1rem, 3vw, 2rem); }
html.site-calm .newsletter-landing-copy { grid-template-columns: minmax(0, 1fr); min-height: 0; align-content: start; background: none; }
html.site-calm .newsletter-landing-copy > *, html.site-calm .newsletter-landing-form > * { min-width: 0; }
html.site-calm .newsletter-landing h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; overflow-wrap: anywhere; }
html.site-calm .newsletter-landing-copy .lede { font-family: var(--sans); font-weight: 400; font-size: 1.05rem; line-height: 1.6; }
html.site-calm .newsletter-landing { background: #0b1730; }
html.site-calm .newsletter-tags { display: none; }
html.site-calm .newsletter-consent { align-items: start; font-size: .95rem; line-height: 1.5; }
html.site-calm :is(.newsletter-consent, .form-field > span, .form-privacy-note, .newsletter-fineprint) { font-family: var(--sans); }
html.site-calm .newsletter-optional-fields summary { display: list-item; font-family: var(--sans); font-size: 1rem; line-height: 1.5; }
html.site-calm .newsletter-optional-fields summary span { display: block; width: fit-content; margin: .4rem 0 0; font-size: .8rem; }
html.site-calm .newsletter-consent input { margin-top: .3rem; width: 20px; height: 20px; flex-shrink: 0; }
html.site-calm .marketing-consent {
  width: min(920px, calc(100% - 2rem));
  max-height: calc(100vh - 1.5rem);
  max-height: calc(100dvh - 1.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: max(1rem, env(safe-area-inset-bottom));
}
html.site-calm .marketing-consent p { font-size: .95rem; line-height: 1.5; }
html.site-calm .marketing-consent-actions { flex-wrap: wrap; }
html.site-calm .marketing-consent-button { min-height: 44px; font-size: 1rem; }
html.site-calm .tour-item { grid-template-columns: 5rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem; }
html.site-calm .tour-item-actions { grid-column: 2; min-width: 0; }
html.site-calm :is(.tour-action-stack, .tour-item-actions .button, .tour-item-actions .ticket-placeholder) { min-width: 0; width: 100%; }
html.site-calm .tour-item h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.3; }
html.site-calm .ticket-choices { display: flex; flex-wrap: wrap; gap: .65rem; }
html.site-calm .ticket-choices .button { flex: 1 1 10rem; }
html.site-calm .tour-item.is-past { opacity: .75; }
html.site-calm .review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
html.site-calm .review-card { grid-column: auto; grid-row: auto; padding: 1.25rem; min-height: 0; background: #0c1932; border: 1px solid rgba(255,202,109,.2); }
html.site-calm .review-card p { font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.5; }
html.site-calm .review-card strong { font-size: .875rem; line-height: 1.5; }
html.site-calm .review-source { font-size: .95rem; margin-top: 1rem; }
html.site-calm .booking-landing { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: 2rem; }
html.site-calm .booking-landing h1 { max-width: 18ch; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1; }
html.site-calm .booking-landing .lede { font-size: 1.1rem; max-width: 48ch; }
html.site-calm .booking-landing-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
html.site-calm .booking-landing-card { height: auto; min-height: 0; max-height: none; aspect-ratio: auto; }
html.site-calm .booking-landing-card img { display: block; position: static; aspect-ratio: 3 / 2; min-height: 0; max-height: none; }
html.site-calm .booking-direct { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
html.site-calm .booking-direct a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
html.site-calm .booking-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 1.5rem; align-items: start; }
html.site-calm .booking-story, html.site-calm .booking-form-card { padding: clamp(1.25rem, 3vw, 2rem); }
html.site-calm .booking-facts { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
html.site-calm .booking-facts .fact-card { padding: 1rem; min-height: 0; }
html.site-calm .page-booking .field-grid { grid-template-columns: minmax(0, 1fr); }
html.site-calm .booking-section > .section-heading { margin-bottom: 1.5rem; }
html.site-calm .footer-link-group, html.site-calm .social-links { display: flex; flex-wrap: wrap; gap: .25rem 1.15rem; }
html.site-calm .footer a { display: inline-flex; align-items: center; min-height: 44px; }

@media (min-width: 1200px) {
  html.site-calm .masthead { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  html.site-calm .site-nav { display: flex; position: static; flex-wrap: wrap; overflow: visible; padding: 0; gap: .2rem .6rem; }
  html.site-calm .brand { grid-column: 1; grid-row: 1; }
  html.site-calm .site-nav { grid-column: 2; grid-row: 1; }
  html.site-calm .masthead-music-link { grid-column: 3; grid-row: 1; }
  html.site-calm .lang-switch { grid-column: 4; grid-row: 1; }
  html.site-calm .newsletter-panel, html.site-calm .newsletter-landing { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  html.site-calm .page-booking .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.site-calm .tour-item { grid-template-columns: 5rem minmax(0, 1fr) minmax(11rem, 15rem); }
  html.site-calm .tour-item-actions { grid-column: 3; }
}
@media (min-width: 621px) and (max-width: 1199px) {
  html.site-calm .brand { grid-column: 1; grid-row: 1; }
  html.site-calm .nav-toggle { grid-column: 2; grid-row: 1; }
  html.site-calm .masthead-music-link { grid-column: 3; grid-row: 1; }
  html.site-calm .lang-switch { grid-column: 4; grid-row: 1; }
}
@media (max-width: 1199px) {
  html.site-calm .masthead { grid-template-columns: minmax(0, 1fr) auto auto auto; gap: .5rem; }
  html.site-calm .nav-toggle { display: inline-flex; justify-content: center; align-items: center; }
  html.site-calm .site-nav, html.site-calm .page-press .site-nav { display: none; }
  html.site-calm .site-nav.is-open { display: grid; position: absolute; left: 0; right: 0; top: calc(100% + .4rem); max-height: calc(100dvh - 10rem); overflow: auto; padding: .75rem; background: #0b1730; border: 1px solid rgba(255,202,109,.3); border-radius: 12px; }
  html.site-calm .booking-layout { grid-template-columns: minmax(0, 1fr); }
  html.site-calm .booking-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  html.site-calm .booking-landing { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  html.site-calm .booking-landing-card { max-width: 42rem; }
  html.site-calm .review-grid { grid-template-columns: minmax(0, 1fr); }
  html.site-calm .finder-stop-card, html.site-calm .finder-result-list-nearest .finder-stop-card { grid-template-columns: minmax(0, 1fr); }
  html.site-calm .finder-stop-actions { justify-content: start; width: 100%; max-width: none; }
  html.site-calm .finder-ticket-button { width: 100%; }
}
@media (max-width: 620px) {
  html.site-calm .site-shell { width: calc(100% - 1.25rem); }
  html.site-calm .masthead { grid-template-columns: minmax(0, 1fr) auto; padding: .6rem .75rem; gap: .3rem .5rem; }
  html.site-calm .brand { grid-column: 1; grid-row: 1; }
  html.site-calm .nav-toggle { grid-column: 2; grid-row: 1; }
  html.site-calm .masthead-music-link { grid-column: 1; grid-row: 2; justify-self: start; }
  html.site-calm .lang-switch { grid-column: 2; grid-row: 2; }
  html.site-calm .brand-copy strong { font-size: 1rem; }
  html.site-calm .brand-mark { width: 42px; height: 42px; }
  html.site-calm .tour-item { grid-template-columns: 4rem minmax(0, 1fr); gap: .8rem; padding: 1rem; }
  html.site-calm .tour-item-actions { grid-column: 1 / -1; }
  html.site-calm .tour-date-block { width: 4rem; min-width: 0; }
  html.site-calm .tour-day { font-size: 1.8rem; }
  html.site-calm .hero-actions { flex-direction: column; align-items: stretch; }
  html.site-calm .hero-actions .button { width: 100%; }
  html.site-calm .booking-facts, html.site-calm .field-grid, html.site-calm .contact-card-grid { grid-template-columns: minmax(0, 1fr); }
  html.site-calm .section { border-radius: 16px; }
  html.site-calm .booking-direct { display: grid; gap: .2rem; }
  html.site-calm .marketing-consent { width: calc(100% - 1.25rem); padding: 1rem; }
}
@media (max-height: 540px) {
  html.site-calm .masthead, html.site-calm .page-home .masthead { position: relative; top: 0; }
  html.site-calm .site-nav.is-open { max-height: 65dvh; }
}

/* Current layout retained; original colors, typefaces and details come from styles.css. */
@media screen {
  html.site-calm body, html.site-calm body.page-home { font-size: 17px; line-height: 1.65; }
  html.site-calm .page .section { margin-block: 24px; padding: clamp(1.25rem, 4vw, 3rem); }
  html.site-calm body :is(h1, h2) { line-height: 1.12; }
  html.site-calm body h1 { font-size: clamp(2.15rem, 4.4vw, 3.6rem); }
  html.site-calm body h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
  html.site-calm body .eyebrow { font-size: .85rem; }
  html.site-calm .review-card { padding: 1.5rem; }
  html.site-calm .review-card p { font-size: 1.15rem; line-height: 1.6; }
  html.site-calm .review-card strong { font-size: .9rem; }
  html.site-calm .masthead { position: sticky; top: .65rem; z-index: 100; display: grid; align-items: center; gap: .75rem; width: 100%; padding: .75rem 1rem; box-sizing: border-box; }
  html.site-calm .masthead .brand { display: inline-flex; align-items: center; gap: .65rem; padding: 0; width: auto; min-width: 0; }
  html.site-calm .masthead .brand-mark { width: 44px; height: 44px; object-fit: cover; padding: 0; flex-shrink: 0; }
  html.site-calm .masthead .brand-copy { display: flex; flex-direction: column; padding: 0; }
  html.site-calm .masthead .brand-copy strong { font-size: 1.1rem; line-height: 1.3; }
  html.site-calm .masthead .brand-copy small { font-size: .75rem; line-height: 1.5; white-space: nowrap; }
  html.site-calm .masthead .site-nav { gap: .15rem; padding: 0; justify-content: center; }
  html.site-calm .masthead .site-nav a { display: inline-flex; justify-content: center; align-items: center; order: 0; min-height: 44px; padding: .55rem .7rem; font-size: .95rem; white-space: nowrap; }
  html.site-calm .masthead .masthead-music-link { display: inline-flex; align-items: center; justify-content: center; padding: .5rem .65rem; min-height: 44px; font-size: .875rem; white-space: nowrap; }
  html.site-calm .masthead .lang-switch { display: inline-flex; gap: .1rem; flex-wrap: nowrap; }
  html.site-calm .masthead .lang-switch a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; }
  html.site-calm .masthead .lang-switch-flag { font-size: 1.1rem; }
  html.site-calm .masthead .nav-toggle { padding: .5rem .8rem; font-size: 1rem; cursor: pointer; }
  html.site-calm body :is(.button, .nav-toggle, .finder-controls button, .filter-chip, .marketing-consent-button) { padding: .8rem 1.25rem; }
  html.site-calm body :is(.form-field input, .form-field select, .form-field textarea, .finder-city-label select) { font-size: 1rem; min-height: 48px; }
  html.site-calm .page-home .hero-headliner.home-hero-clean { gap: 0; padding: 0; overflow: hidden; }
  html.site-calm .page-home .hero-lead-panel { padding: clamp(1.5rem, 4vw, 3.5rem); gap: 1.2rem; }
  html.site-calm .page-home .hero-lead-panel .hero-main-title { font-size: clamp(2.4rem, 5vw, 4.4rem); max-width: 12ch; margin: 0; line-height: 1.02; }
  html.site-calm .page-home .hero-lead-panel .home-intro { font-size: 1.15rem; max-width: 33ch; }
  html.site-calm .page-home .hero-lockup { display: block; }
  html.site-calm .page-home .hero-lockup .hero-mark-frame { width: 9rem; height: 3.1rem; margin: 0; }
  html.site-calm .page-home .hero-sigil { object-position: left center; }
  html.site-calm .page-home :is(.hero-stage-main, .hero-photo-rotator) { padding: 0; }
  html.site-calm .page-home .hero-stage-main .card-label { display: none; }
  html.site-calm .page-home .hero-stage-main .hero-photo-slide { object-position: 58% center; }
  html.site-calm .page-home .concert-finder { padding: 0; }
  html.site-calm .page-home .tool-card-heading { gap: .65rem; }
  html.site-calm .page-home .tool-card-heading h2 { margin-block: .25rem .75rem; }
  html.site-calm .page-home .finder-stop-card { padding: 1.35rem; }
  html.site-calm .page-home .home-tour-details { margin-top: 1.25rem; }
  html.site-calm .page-home .home-live .hero-side-panel { padding: 0; }
  html.site-calm .page-home .home-live .hero-side-copy h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
  html.site-calm body.page-home.home-tidy .home-live .hero-side-copy a { display: inline-flex; align-items: center; min-height: 48px; }
  html.site-calm .page-home .newsletter-panel { padding: 0; }
  html.site-calm .page-home .home-follow .newsletter-form { padding: 0; }
  html.site-calm :is(.hero-video-feature, .hero-photo-rotator, .stage-card, .photo-archive-image) { overflow: hidden; }
  html.site-calm .footer { padding: 1.5rem; }
  html.site-calm .footer :is(a, p, span), html.site-calm .footer-links a, html.site-calm .social-links a { font-size: .95rem; }
  html.site-calm .page-reviews main .hero h1 { max-width: 22ch; }
  html.site-calm .page-reviews .page-shell { padding-block: 1.15rem 3rem; }
  html.site-calm .page-reviews .skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 200; padding: .75rem; transform: translateY(-200%); }
  html.site-calm .page-reviews .skip-link:focus { transform: none; }
  html.site-calm .page-reviews .page-shell { width: min(calc(100% - 2rem), 1240px); margin-inline: auto; }
  html.site-calm .page-reviews .topbar-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.5rem; }
  @media (min-width: 1200px) {
    html.site-calm .masthead { grid-template-columns: 200px minmax(0, 1fr) auto 90px; }
    html.site-calm .masthead .site-nav { display: flex; flex-wrap: nowrap; position: static; overflow: visible; }
    html.site-calm .masthead .nav-toggle { display: none; }
  }
  @media (max-width: 1199px) {
    html.site-calm .masthead .site-nav { display: none; }
    html.site-calm .masthead .site-nav.is-open { display: grid; grid-template-columns: 1fr; position: absolute; inset: calc(100% + .5rem) 0 auto; max-height: calc(100dvh - 10rem); overflow-y: auto; padding: .65rem; }
    html.site-calm .masthead .site-nav a { justify-content: start; padding: .8rem 1rem; font-size: 1.05rem; }
    html.site-calm .masthead .nav-toggle { display: inline-flex; }
  }
  @media (min-width: 768px) and (max-width: 1023px) {
    html.site-calm .page-home .hero-headliner.home-hero-clean { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "lead stage"; }
    html.site-calm .page-home .hero-lead-panel { padding: 2rem; }
    html.site-calm .page-home .hero-stage-main, html.site-calm .page-home .hero-stage-main .hero-photo-rotator { height: 100%; min-height: 27rem; }
  }
  @media (max-width: 620px) {
    html.site-calm .masthead { padding: .65rem .75rem; gap: .3rem .5rem; }
    html.site-calm .masthead .brand-mark { width: 38px; height: 38px; }
    html.site-calm .masthead .brand-copy strong { font-size: 1.05rem; }
    html.site-calm .masthead .masthead-music-link { font-size: .85rem; padding-inline: 0; }
    html.site-calm .page .section { margin-block: 18px; }
    html.site-calm .page-home .hero-lead-panel { padding: 1.65rem 1.35rem; }
    html.site-calm .page-home .hero-actions { margin-top: .25rem; }
    html.site-calm .page-home .hero-stage-main, html.site-calm .page-home .hero-stage-main .hero-photo-rotator { height: 16rem; }
  }
  @media (max-height: 540px) {
    html.site-calm .masthead { position: relative; top: 0; }
  }
}
@media print {
  html.site-calm .page-reviews .masthead { display: none; }
}

/* Original site palette, applied to the shared menu and the new newsletter invitation. */
@media screen {
  html.site-calm {
    --gala-ink: #081329;
    --gala-gold: #ffca6d;
    --gala-cream: #fff2dd;
    --gala-copy: #b7c1df;
  }
  html.site-calm .masthead {
    font-family: var(--sans, "Avenir Next", "Segoe UI", sans-serif);
    border: 1px solid rgba(124,209,255,.18);
    border-radius: 32px 12px 32px 12px;
    background: linear-gradient(90deg, rgba(255,42,42,.22), rgba(255,81,207,.09) 34%, rgba(124,209,255,.08) 76%), repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 26px), rgba(5,10,24,.96);
    color: #f8f1e7;
  }
  html.site-calm .masthead .brand { background: transparent; border: 0; text-decoration: none; }
  html.site-calm .masthead .brand-mark { border: 0; }
  html.site-calm .masthead .brand-copy strong { color: #f8f1e7; letter-spacing: -.02em; text-transform: none; }
  html.site-calm .masthead .brand-copy small { color: #ded1b4; letter-spacing: 0; }
  html.site-calm .masthead .site-nav a { border: 1px solid transparent; border-radius: 999px; text-decoration: none; letter-spacing: .015em; color: #e2e5f0; transform: none; }
  html.site-calm .masthead .site-nav a:is([aria-current="page"], .is-current, :hover, :focus-visible) { background: linear-gradient(135deg, rgba(255,42,42,.16), rgba(124,209,255,.08)), rgba(255,255,255,.045); border-color: rgba(255,255,255,.13); color: #fff2dd; }
  html.site-calm .masthead .masthead-music-link { color: #fff2dd; text-decoration: none; }
  html.site-calm .masthead .nav-toggle { color: #f8f1e7; border: 1px solid rgba(124,209,255,.24); border-radius: 18px 8px 18px 8px; background: linear-gradient(135deg,rgba(255,48,79,.18),rgba(124,209,255,.12)); }
  html.site-calm .masthead .lang-switch a { text-decoration: none; border: 0; background: transparent; }
  html.site-calm .page-home.home-tidy .hero-stage-main .hero-photo-slide { object-position: center 10%; }
  html.site-calm .newsletter-prompt-close { color: #fff2dd; }
  html.site-calm .page-reviews .skip-link { background: #081329; color: #fff2dd; }
  @media (max-width: 1199px) {
    html.site-calm .masthead .site-nav.is-open { background: #081329; border: 1px solid rgba(124,209,255,.24); border-radius: 18px 8px 18px 8px; }
  }
  @media (max-width: 620px) {
    html.site-calm .masthead .masthead-music-link { white-space: normal; text-align: left; max-width: 100%; }
  }
}
