.theme-shell-main {
    padding: clamp(24px, 4vw, 48px) 0 clamp(56px, 7vw, 88px);
}

.theme-shell-content {
    width: min(1140px, calc(100% - 40px));
    margin: 0 auto;
}

.theme-shell-content > :first-child {
    margin-top: 0;
}

.themed-bu-shell .front-section,
.themed-bu-shell .container {
    position: relative;
}

.themed-bu-shell .front-section {
    margin-bottom: clamp(24px, 4vw, 40px);
    padding: clamp(26px, 3vw, 40px);
    border-radius: 30px;
}

.themed-bu-shell-david .front-section {
    background: rgba(7, 18, 22, 0.74);
    border: 1px solid rgba(183, 162, 107, 0.18);
    box-shadow: 0 24px 60px rgba(5, 11, 14, 0.35);
}

.themed-bu-shell-default .front-section {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(47, 35, 79, 0.12);
    box-shadow: 0 24px 55px rgba(54, 33, 98, 0.10);
}

.themed-bu-shell-curly .front-section {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(49, 35, 24, 0.08);
    box-shadow: 0 24px 55px rgba(46, 31, 19, 0.10);
}

.hybrid-header-themed,
.david-header-themed {
    margin-bottom: clamp(18px, 3vw, 30px);
}

.hybrid-footer-themed,
.david-footer-themed {
    margin-top: clamp(28px, 4vw, 44px);
}

.hybrid-grid-footer {
    gap: 20px;
}

.david-shell-global .david-footer-grid {
    margin-top: 0;
}

body.theme-david .front-main,
body.theme-default .front-main,
body.theme-curly .front-main {
    background: transparent;
}

@media (max-width: 768px) {
    .theme-shell-content {
        width: min(100%, calc(100% - 24px));
    }

    .theme-shell-main {
        padding: 18px 0 48px;
    }

    .themed-bu-shell .front-section {
        padding: 22px 18px;
        border-radius: 24px;
    }
}

.theme-status-page {
    display: grid;
    gap: 0;
}

.theme-status-card,
.theme-ticket-wrapper {
    border-radius: 28px;
    padding: clamp(26px, 4vw, 42px);
    backdrop-filter: blur(14px);
}

.theme-status-card-wide {
    width: 100%;
}

.theme-status-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.theme-status-title {
    margin: 0 0 12px;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.05;
}

.theme-status-copy {
    max-width: 60ch;
    margin-inline: auto;
    font-size: clamp(1rem, 1.45vw, 1.08rem);
    line-height: 1.65;
}

.theme-status-grid {
    margin-top: 12px;
}

.theme-status-panel {
    border: 0;
    overflow: hidden;
}

.theme-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    align-items: center;
}

.theme-ticket-page {
    display: grid;
    gap: 18px;
}

.theme-ticket-header {
    margin-bottom: 18px;
}

body.theme-david .theme-status-card,
body.theme-david .theme-ticket-wrapper {
    background: rgba(7, 18, 22, 0.82);
    border: 1px solid rgba(183, 162, 107, 0.22);
    box-shadow: 0 24px 60px rgba(5, 11, 14, 0.38);
    color: #f5efe3;
}

body.theme-david .theme-status-kicker {
    background: rgba(183, 162, 107, 0.12);
    color: #d8be7e;
    border: 1px solid rgba(216, 190, 126, 0.24);
}

body.theme-david .theme-status-copy,
body.theme-david .theme-ticket-wrapper .text-muted,
body.theme-david .theme-ticket-wrapper,
body.theme-david .theme-ticket-wrapper table,
body.theme-david .theme-ticket-wrapper .table {
    color: #f5efe3;
}

body.theme-david .theme-status-panel {
    background: rgba(255, 255, 255, 0.92);
}

body.theme-david .theme-status-panel .card-body,
body.theme-david .theme-status-panel .card-body * {
    color: #112024;
}

body.theme-david .theme-ticket-wrapper .table > :not(caption) > * > * {
    color: inherit;
    border-color: rgba(216, 190, 126, 0.18);
}

body.theme-default .theme-status-card,
body.theme-default .theme-ticket-wrapper,
body.theme-curly .theme-status-card,
body.theme-curly .theme-ticket-wrapper {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(44, 39, 58, 0.10);
    box-shadow: 0 24px 55px rgba(33, 28, 51, 0.10);
    color: #1f2430;
}

body.theme-default .theme-status-kicker,
body.theme-curly .theme-status-kicker {
    background: rgba(49, 35, 24, 0.06);
    color: #5f4a2c;
    border: 1px solid rgba(95, 74, 44, 0.12);
}

body.theme-default .theme-ticket-wrapper .table > :not(caption) > * > *,
body.theme-curly .theme-ticket-wrapper .table > :not(caption) > * > * {
    border-color: rgba(44, 39, 58, 0.10);
}

@media print {
    .david-header-themed,
    .david-footer-themed,
    .hybrid-header-themed,
    .hybrid-footer-themed,
    .curly-header-shell,
    .curly-footer-shell,
    .sticky-booking-cta {
        display: none !important;
    }

    .theme-shell-main {
        padding: 0 !important;
    }

    .theme-shell-content {
        width: 100% !important;
        margin: 0 !important;
    }

    .theme-status-card,
    .theme-ticket-wrapper {
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        color: #000 !important;
    }
}
