/* Shared layout and interaction corrections. */
body.swifft-taylor-layout { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.swifft-taylor-layout > main { flex: 1 0 auto; }
.swifft-taylor-layout > header, .swifft-taylor-layout > footer { flex-shrink: 0; }
.site-header .site-header__brand { white-space: nowrap; margin: 0 !important; }
.site-header .site-header__navbar > .container { column-gap: 24px; }
.site-header .site-header__top-inner { gap: 20px; }
.site-header .site-header__side-nav .navbar-nav { gap: 20px !important; }
.site-header .site-header__logo-badge { margin: 8px; }
@media (min-width: 992px) {
    .site-header .site-header__navbar > .container { display: grid !important; grid-template-columns: 1fr auto 1fr; }
    .site-header .site-header__collapse, .site-header .site-header__toggler { display: none !important; }
    .site-header .site-header__side-nav--right { justify-self: end; gap: 20px !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .site-header .site-header__navbar > .container { column-gap: 14px; }
    .site-header .site-header__side-nav .navbar-nav, .site-header .site-header__side-nav--right { gap: 14px !important; }
    .site-header .site-header__brand-title { font-size: 1.15rem; }
    .site-header .site-header__cta-btn { padding-inline: 14px; }
}
@media (max-width: 991.98px) {
    .site-header .site-header__navbar > .container { display: flex !important; flex-wrap: wrap; }
    .site-header .site-header__side-nav { display: none !important; }
    .site-header .site-header__collapse { flex-basis: 100%; }
    .site-header .site-header__collapse:not(.show):not(.collapsing) { display: none; }
    .site-header .site-header__mobile-list .site-header__cta-btn { width: auto !important; min-height: 44px; padding-inline: 24px; }
    .site-header .site-header__top-left { font-size: .75rem; }
}

/* Text and background use the same theme in every state. */
.swifft-taylor-layout .gfm-btn {
    background-color: var(--button-bg, var(--primary));
    color: var(--button-text, var(--on-primary)) !important;
    border: 1px solid var(--button-border, transparent);
}
.swifft-taylor-layout .gfm-btn:is(:hover, :focus-visible, :active) {
    background-color: var(--button-hover-bg, var(--primary-hover));
    color: var(--button-hover-text, var(--button-text, var(--on-primary))) !important;
    border-color: var(--button-border, transparent);
}
.swifft-taylor-layout .gfm-btn-alt { color: var(--primary) !important; border-color: var(--primary); background: transparent; }
.swifft-taylor-layout .gfm-btn-alt:is(:hover, :focus-visible, :active) { background: var(--primary); color: var(--on-primary) !important; border-color: var(--primary); }
.swifft-taylor-layout :is(.gfm-section-dark, .gfm-on-dark, .gfm-section-brand) .gfm-btn-alt { color: white !important; border-color: white; }
.swifft-taylor-layout :is(.gfm-section-dark, .gfm-on-dark, .gfm-section-brand) .gfm-btn-alt:is(:hover, :focus-visible, :active) { color: var(--dark-band) !important; background: white; }
.swifft-taylor-layout .gfm-section-brand .gfm-btn,
.swifft-taylor-layout .after-start-btn,
.swifft-taylor-layout .concerts-dark-submit {
    --button-bg: var(--dark-band); --button-text: white; --button-hover-bg: var(--primary-hover); --button-hover-text: white; --button-border: var(--dark-band);
}
.swifft-taylor-layout .gfm-btn::after, .swifft-taylor-layout .gfm-btn-alt::after { content: none; }
.swifft-taylor-layout :is(.gfm-btn, .gfm-btn-alt) :is(span, i) { color: inherit; }
.swifft-taylor-layout :is(a, button):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

.thx-content-section { text-align: center; padding-block: clamp(48px, 8vw, 88px) !important; }
.thx-content-section > .container { padding-block: 0 !important; margin-inline: auto; }
.thx-content-section .thx-content-section__title { font-size: clamp(1.8rem, 4vw, 2.5rem); max-width: 680px; margin-inline: auto; }
.thx-content-section :is(.thx-content-section__text, .thx-content-section__subtext) { max-width: 640px; margin-inline: auto; }
.thx-content-section .thx-content-section__status-icon { display: flex !important; margin-inline: auto; }
.merchandise-magazine-row .merchandise-card-magazine { width: 100%; }
.merchandise-media-wrap { aspect-ratio: 16 / 10; }
.merchandise-card-content { padding: 28px; }
.merchandise-card-title { min-height: 3.5em; }
.merchandise-action-bottom .gfm-btn { width: 100%; }
.merchandise-community-block .merchandise-curation-box { height: 100%; display: flex; flex-direction: column; justify-content: center; }
.merchandise-community-block .merchandise-checklist-item { border-radius: 12px; }
.st-cta-box .schedule-cta-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; margin: 0; }
.st-cta-box .schedule-cta-row > div { width: auto; padding: 0; margin: 0; }
.st-cta-box .st-cta-icon-holder { margin: 0 !important; }
.st-cta-box .schedule-cta-row > div:nth-child(2) { text-align: left !important; }
.swifft-taylor-layout .comment-btn { border-radius: 6px; padding: 7px 10px; background: transparent; color: var(--text-muted); transition: background-color .2s ease, color .2s ease; }
.swifft-taylor-layout .comment-btn:hover { color: var(--primary); background: rgba(60,100,92,.08); transform: none; }
.swifft-taylor-layout .comment-btn:is(.is-active, [aria-pressed="true"]) { color: var(--primary); background: rgba(60,100,92,.12); }
.swifft-taylor-layout .comment-btn:active { background: rgba(60,100,92,.16); }
@media (max-width: 767.98px) {
    .st-cta-box .schedule-cta-row { grid-template-columns: auto minmax(0, 1fr); gap: 16px; }
    .st-cta-box .schedule-cta-row > div:last-child { grid-column: 1 / -1; }
    .merchandise-card-title { min-height: 0; }
    .merchandise-card-content { padding: 22px; }
}

/* Form fields keep one border on hover and focus. */
.swifft-taylor-layout :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]), textarea, select):is(:hover, :focus, :focus-visible) {
    outline: none !important;
    outline-offset: 0;
    box-shadow: none !important;
    --tw-ring-shadow: 0 0 #0000;
    --tw-ring-offset-shadow: 0 0 #0000;
    border-color: var(--primary) !important;
}
