/*
 * DrukMovie unified brand system
 * Loaded after the legacy application stylesheet so every public, customer,
 * vendor and staff surface shares one visual language.
 */

:root {
    --brand-night: #0b1116;
    --brand-night-2: #121b22;
    --brand-night-3: #1b2730;
    --brand-paper: #f7f4ec;
    --brand-surface: #fffefa;
    --brand-surface-2: #eee9df;
    --brand-ink: #182027;
    --brand-muted: #68747c;
    --brand-subtle: #8a949a;
    --brand-line: #d8d1c5;
    --brand-line-dark: rgba(214, 178, 94, .17);
    --brand-gold: #d6b25e;
    --brand-gold-strong: #b58a3f;
    --brand-gold-soft: #f0e5c8;
    --brand-success: #2f7d6f;
    --brand-success-soft: #e2f1ed;
    --brand-danger: #a4473f;
    --brand-danger-soft: #f6e7e3;
    --brand-info: #4b7187;
    --brand-info-soft: #e5eef2;
    --brand-radius: 12px;
    --brand-radius-small: 8px;
    --brand-shadow: 0 18px 50px rgba(11, 17, 22, .09);
    --brand-shadow-dark: 0 24px 70px rgba(0, 0, 0, .28);
    --brand-transition: 180ms ease;

    /* Keep all legacy components on the same tokens. */
    --bg: var(--brand-night);
    --bg2: var(--brand-night-2);
    --panel: var(--brand-night-2);
    --panel2: var(--brand-night-3);
    --line: var(--brand-line-dark);
    --line2: rgba(214, 178, 94, .29);
    --text: #f8f5ed;
    --muted: #aab3b8;
    --subtle: #7f8b92;
    --red: var(--brand-gold);
    --red2: var(--brand-gold-strong);
    --violet: var(--brand-gold);
    --green: #5db59f;
    --amber: var(--brand-gold);
    --blue: #78a7bb;
    --shadow: var(--brand-shadow-dark);
    --radius: var(--brand-radius);
    --ease: var(--brand-transition);
}

html { color-scheme: light; background: var(--brand-night) }

body {
    background: var(--brand-night);
    color: var(--brand-ink);
    font-family: "DM Sans", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6,
button, .btn, .dm2-button {
    font-family: "Manrope", "DM Sans", Arial, sans-serif;
}

a, button, input, select, textarea { transition: border-color var(--brand-transition), background-color var(--brand-transition), color var(--brand-transition), box-shadow var(--brand-transition), transform var(--brand-transition) }

:focus-visible { outline: 3px solid rgba(214, 178, 94, .58) !important; outline-offset: 3px }

/* Header and navigation */
.site-header {
    border-bottom: 1px solid var(--brand-line-dark);
    background: rgba(11, 17, 22, .96);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .16);
    backdrop-filter: blur(18px);
}

.nav-shell { min-height: 82px }
.brand-logo-image { width: 190px; height: auto }
.nav-links { gap: 5px }
.nav-links a {
    min-height: 42px;
    padding: 10px 13px;
    border-radius: var(--brand-radius-small);
    color: #aeb7bc;
    font-size: 13px;
    font-weight: 700;
}
.nav-links a:hover { background: rgba(214, 178, 94, .08); color: #f8f4e8 }
.account-chip { border-color: var(--brand-line-dark); background: rgba(255, 255, 255, .035) }
.account-avatar { background: var(--brand-gold); color: var(--brand-ink) }
.menu-toggle { border-color: var(--brand-line-dark); border-radius: var(--brand-radius-small); background: rgba(255, 255, 255, .03) }
.menu-toggle span { background: #f7f2e7 }

/* Shared controls */
.btn, .dm2-button {
    min-height: 46px;
    border-radius: var(--brand-radius-small);
    font-weight: 800;
    letter-spacing: 0;
}

.btn-primary, .nav-actions .btn-primary, .dm2-button-primary {
    border-color: var(--brand-gold);
    background: var(--brand-gold);
    color: var(--brand-ink);
    box-shadow: 0 11px 26px rgba(181, 138, 63, .2);
}
.btn-primary:hover, .nav-actions .btn-primary:hover, .dm2-button-primary:hover {
    border-color: #e1c477;
    background: #e1c477;
    color: var(--brand-ink);
    box-shadow: 0 15px 32px rgba(181, 138, 63, .25);
    transform: translateY(-1px);
}
.btn-outline, .dm2-button-secondary {
    border-color: var(--brand-line);
    background: transparent;
    color: var(--brand-ink);
}
.btn-outline:hover, .btn-quiet:hover {
    border-color: #bba978;
    background: var(--brand-gold-soft);
    color: #684e20;
}
.site-header .btn-outline, .site-header .btn-quiet, .nav-actions .btn-outline {
    border-color: rgba(214, 178, 94, .35);
    color: #dec47f;
}
.site-header .btn-outline:hover, .site-header .btn-quiet:hover {
    background: rgba(214, 178, 94, .09);
    color: #f3dfaa;
}
.btn:disabled, .dm2-button:disabled { opacity: .5; box-shadow: none; transform: none }

/* Messages, fields and shared cards */
.alert {
    border-radius: var(--brand-radius-small);
    border-color: var(--brand-line);
    background: var(--brand-surface);
    color: var(--brand-ink);
    box-shadow: var(--brand-shadow);
}
.alert.success { border-color: #b8d9cf; background: var(--brand-success-soft); color: #245f55 }
.alert.error { border-color: #dfb8b1; background: var(--brand-danger-soft); color: #853b34 }
.alert.warning { border-color: #dfc987; background: #f7eed8; color: #71531d }

input, select, textarea,
.form-card input, .form-card select, .form-card textarea,
.guest-checkout-fields input, .guest-lookup-card input,
.compact-form-fields input, .compact-form-fields select,
.layout-toolbar select {
    border: 1px solid var(--brand-line);
    border-radius: var(--brand-radius-small);
    background: var(--brand-surface);
    color: var(--brand-ink);
    box-shadow: none;
}
input:focus, select:focus, textarea:focus,
.form-card input:focus, .form-card select:focus, .form-card textarea:focus {
    border-color: var(--brand-gold-strong);
    box-shadow: 0 0 0 3px rgba(214, 178, 94, .17);
}

.form-page, .auth-layout, .page-head, .success-card, .scan-result { color: var(--brand-ink) }
.form-card, .dashboard-table-card, .guest-lookup-card, .sidebar-card,
.seat-panel, .booking-card, .ticket-card, .layout-editor-card, .success-card {
    border-color: var(--brand-line);
    border-radius: var(--brand-radius);
    background: var(--brand-surface);
    color: var(--brand-ink);
    box-shadow: var(--brand-shadow);
}
.eyebrow, .wizard-kicker, .back-link { color: var(--brand-gold-strong) }
.form-card label, .guest-lookup-card label, .muted { color: var(--brand-muted) }
.form-intro p, .page-head p, .booking-head p { color: var(--brand-muted) }
.form-trust span, .hold-note, .security-row { border-color: var(--brand-line); background: var(--brand-surface-2); color: var(--brand-muted) }

/* Landing page */
.dm2-home {
    --dm2-ink: var(--brand-ink);
    --dm2-night: var(--brand-night);
    --dm2-night-soft: var(--brand-night-2);
    --dm2-paper: var(--brand-paper);
    --dm2-surface: var(--brand-surface-2);
    --dm2-yellow: var(--brand-gold);
    --dm2-orange: var(--brand-gold-strong);
    --dm2-line: var(--brand-line);
    background: var(--brand-paper);
    color: var(--brand-ink);
}
.dm2-hero {
    min-height: 710px;
    background: radial-gradient(circle at 77% 29%, rgba(214, 178, 94, .1), transparent 24%), linear-gradient(125deg, #080d11, #111a21 65%, #17232b);
}
.dm2-hero::before { border-color: rgba(214, 178, 94, .18) }
.dm2-eyebrow, .dm2-hero-lead { color: #aeb7bc }
.dm2-eyebrow > span { background: var(--brand-gold) }
.dm2-hero h1 em { color: #dfc274 }
.dm2-button-secondary { border-color: rgba(255, 255, 255, .22); color: #f6f1e6 }
.dm2-button-secondary:hover { border-color: rgba(214, 178, 94, .58); background: rgba(214, 178, 94, .08); color: #fff }
.dm2-trust i { border-color: rgba(214, 178, 94, .4); color: #dec174 }
.dm3-visual-field { border-color: rgba(214, 178, 94, .2); border-radius: var(--brand-radius); background: linear-gradient(145deg, #e9e3d7, #cbc3b5) }
.dm3-visual-field::before { background: linear-gradient(145deg, #d9b968, #a77d34) }
.dm2-art-card { border-color: rgba(214, 178, 94, .22); border-radius: var(--brand-radius); background: rgba(10, 16, 21, .95) }
.dm2-art-card span { color: #ddbf73 }
.dm2-art-quote { border-radius: var(--brand-radius-small); background: #faf7ef; color: #2a3034 }
.dm2-positioning { border-color: var(--brand-line); background: #f9f7f1 }
.dm2-positioning > p, .dm2-positioning > div { border-color: var(--brand-line) }
.dm2-positioning > p span, .dm2-positioning strong, .dm2-label, .dm2-text-link { color: var(--brand-gold-strong) }
.dm2-section { padding-block: clamp(68px, 7vw, 96px) }
.dm-home-movies { background: var(--brand-paper) }
.dm-home-archive, .dm2-services { background: var(--brand-surface-2) }
.dm-home-trending, .dm2-stories { background: var(--brand-night) }
.dm-home-trending .dm2-label, .dm2-stories .dm2-label,
.dm-home-trending .dm2-text-link, .dm2-stories .dm2-text-link { color: #dfc274 }
.dm-home-movie-intro p, .dm2-section-head > p { color: var(--brand-muted) }

/* Reusable movie and story cards */
.dm-movie-card, .dm-library-card, .dm2-service-grid article {
    border: 1px solid var(--brand-line);
    border-radius: var(--brand-radius);
    background: var(--brand-surface);
    box-shadow: 0 10px 28px rgba(23, 28, 32, .04);
}
.dm-movie-card:hover, .dm-library-card:hover, .dm2-service-grid article:hover {
    border-color: #bba978;
    box-shadow: var(--brand-shadow);
    transform: translateY(-3px);
}
.dm-movie-poster, .dm-library-image { background: var(--brand-night-2) }
.dm-movie-placeholder { background: radial-gradient(circle at 70% 15%, rgba(214, 178, 94, .21), transparent 28%), linear-gradient(145deg, #18232a, #0b1116) }
.dm-movie-status { border-radius: 4px }
.dm-movie-status.live { background: #f7f0dd; color: #76571f }
.dm-movie-status.archive { background: rgba(10, 16, 21, .88); color: #d7d0c3 }
.dm-movie-card-copy > small, .dm-library-copy > small, .dm-profile-story-grid small { color: #8f6928 }
.dm-movie-card-copy h3, .dm-library-copy h2, .dm-library-copy h3 { color: var(--brand-ink) }
.dm-movie-card-copy > p, .dm-library-copy > p { color: var(--brand-muted); font-family: "DM Sans", Arial, sans-serif }
.dm-movie-card-meta span { border-radius: 5px; background: var(--brand-surface-2); color: var(--brand-muted) }
.dm-movie-open { border-color: var(--brand-line); color: var(--brand-gold-strong) }
.dm-trend-rank { color: #d9b968 }
.dm-home-trending .dm-movie-card, .dm-trending-collection .dm-movie-card { border-color: rgba(214, 178, 94, .17); background: #faf7f0 }
.dm2-service-icon, .dm2-service-grid article:nth-child(n) .dm2-service-icon { border-radius: var(--brand-radius-small); background: #ece4d1; color: #836022 }
.dm2-story-card { border-color: rgba(214, 178, 94, .18); border-radius: var(--brand-radius); background: rgba(255, 255, 255, .035) }
.dm2-story-copy > small { color: #d9bb70 }
.dm2-story-image > span, .dm-library-image span { border-radius: 4px; background: rgba(10, 16, 21, .88) }
.dm2-filmmaker, .dm-editorial-cta, .dm-story-cta { background: linear-gradient(115deg, #6f521f, #a9823b) }
.dm2-filmmaker .dm2-label, .dm-editorial-cta .dm2-label, .dm-story-cta .dm2-label { color: #f2dfaa }
.dm2-button-paper { border-radius: var(--brand-radius-small); background: #faf6e9; color: #614714; box-shadow: 0 15px 34px rgba(47, 31, 8, .18) }

/* Movie directory, profiles and editorial pages */
.dm-movies-page, .dm-profile-page, .dm-editorial, .dm-story-detail { background: var(--brand-paper); color: var(--brand-ink) }
.dm-movies-hero, .dm-editorial-hero { background: radial-gradient(circle at 80% 24%, rgba(214, 178, 94, .1), transparent 25%), linear-gradient(127deg, #080d11, #132029) }
.dm-movies-hero h1 em, .dm-editorial-hero h1 em, .dm-movies-count strong { color: #dec174 }
.dm-movies-count, .dm-editorial-hero aside { border-color: rgba(214, 178, 94, .22); border-radius: var(--brand-radius); background: rgba(214, 178, 94, .045) }
.dm-movie-directory-nav, .dm-story-filters { border-color: var(--brand-line); background: var(--brand-surface) }
.dm-movie-directory-nav a, .dm-story-filters a { border-radius: var(--brand-radius-small); color: var(--brand-muted) }
.dm-movie-directory-nav a:hover, .dm-story-filters a:hover { background: var(--brand-surface-2); color: var(--brand-ink) }
.dm-movie-directory-nav span { background: #ece4d1; color: #7f5e23 }
.dm-story-filters a.active { border-color: #d3bb81; background: #f0e8d5; color: #72531d }
.dm-movie-collection, .dm-editorial-content { background: var(--brand-paper) }
.dm-trending-collection { background: var(--brand-night) }
.dm-archive-collection, .dm-related-stories { background: var(--brand-surface-2) }
.dm-trending-collection .dm2-label { color: #dfc274 }
.dm-profile-back, .dm-story-back { color: var(--brand-gold-strong) }
.dm-profile-badges span { border-radius: 5px; background: #efe6d2; color: #75551d }
.dm-profile-badges span + span { background: var(--brand-surface-2); color: var(--brand-muted) }
.dm-profile-copy h1, .dm-profile-about h2, .dm-profile-booking h2, .dm-story-heading h1, .dm-editorial-heading h2 { color: var(--brand-ink) }
.dm-profile-synopsis, .dm-profile-story-grid p, .dm-story-prose { color: var(--brand-muted) }
.dm-profile-poster { border-radius: var(--brand-radius); background: var(--brand-night-2); box-shadow: 0 30px 70px rgba(8, 13, 17, .2) }
.dm-profile-poster > span { background: radial-gradient(circle at 70% 15%, rgba(214, 178, 94, .23), transparent 27%), linear-gradient(145deg, #18242b, #0b1116) }
.dm-profile-facts, .dm-profile-byline, .dm-story-byline, .dm-story-body dl div { border-color: var(--brand-line) }
.dm-profile-proof span { border-radius: 5px; background: var(--brand-surface-2) }
.dm-profile-about { background: var(--brand-surface-2) }
.dm-profile-trailer, .dm-story-gallery { background: var(--brand-night) }
.dm-profile-trailer .dm2-label, .dm-story-gallery .dm2-label { color: #dfc274 }
.dm-profile-trailer video { border-radius: var(--brand-radius) }
.dm-profile-story-grid article, .dm-profile-region-grid > section { border-color: var(--brand-line); border-radius: var(--brand-radius); background: var(--brand-surface) }
.dm-profile-booking { background: var(--brand-paper) }
.dm-profile-region-title { border-color: var(--brand-line) }
.dm-profile-region-title > span { border-radius: var(--brand-radius-small); background: var(--brand-surface-2) }
.dm-profile-session { border-color: var(--brand-line); border-radius: var(--brand-radius-small); background: #f5f1e8 }
.dm-profile-session small, .dm-profile-story-grid small { color: #8e6828 }
.dm-profile-session-side a { border-radius: 6px; background: var(--brand-night-2); color: #fff }
.dm-profile-session-side a:hover { background: var(--brand-gold-strong); color: #fff }
.dm-story-body aside > span, .dm-story-body aside > a { color: var(--brand-gold-strong) }
.dm-story-prose p:first-child::first-letter { color: var(--brand-gold-strong) }
.dm-story-prose blockquote { border-color: var(--brand-gold-strong); background: #eee6d3 }

/* Customer booking and exact-seat selection */
.showtime-booking-page, .auditorium-booking-page {
    --booking-bg: var(--brand-paper);
    --booking-panel: var(--brand-surface);
    --booking-panel-soft: var(--brand-surface-2);
    --booking-gold: var(--brand-gold-strong);
    --booking-gold-soft: #76571f;
    --booking-green: var(--brand-success);
    --booking-orange: var(--brand-subtle);
    --booking-text: var(--brand-muted);
    background: var(--brand-paper);
    color: var(--brand-ink);
}
.booking-progress { border-color: var(--brand-line) }
.booking-progress::after { background: var(--brand-gold) }
.booking-progress span { color: var(--brand-subtle) }
.booking-progress .active { color: var(--brand-gold-strong) }
.booking-progress .complete { color: var(--brand-success) }
.booking-head h1, .auditorium-booking-page .booking-head h1 { color: var(--brand-ink); text-transform: none }
.booking-head p, .auditorium-booking-page .booking-head p { color: var(--brand-muted); font-family: "DM Sans", Arial, sans-serif }
.seat-panel, .sidebar-card, .auditorium-booking-page .seat-panel, .auditorium-booking-page .sidebar-card { border-color: var(--brand-line); background: var(--brand-surface); box-shadow: var(--brand-shadow) }
.legend { color: var(--brand-muted); font-family: "DM Sans", Arial, sans-serif }
.auditorium-screen, .auditorium-booking-page .auditorium-screen { border-color: var(--brand-gold); box-shadow: 0 -8px 28px rgba(181, 138, 63, .15) }
.public-seat-section, .auditorium-booking-page .public-seat-section { border-color: var(--brand-line) }
.section-title-line h2, .auditorium-booking-page .section-title-line h2 { color: var(--brand-ink) }
.section-title-line span, .auditorium-booking-page .section-title-line span { border-radius: 5px; background: var(--brand-success-soft); color: var(--brand-success) }
.seat span, .auditorium-booking-page .seat span { border-color: #9ac6ba; background: #f2faf7; color: var(--brand-success) }
.seat:hover span, .auditorium-booking-page .seat:hover span { border-color: var(--brand-gold-strong); color: var(--brand-gold-strong) }
.seat input:checked + span, .auditorium-booking-page .seat input:checked + span { border-color: var(--brand-gold); background: var(--brand-gold); color: var(--brand-ink); box-shadow: 0 6px 16px rgba(181, 138, 63, .2) }
.seat.unavailable span, .auditorium-booking-page .seat.unavailable span { border-color: #d8d6d0; background: #deddd8; color: #969a9c }
.mini-price { border-color: var(--brand-line); background: var(--brand-surface) }
.guest-checkout-fields { border-color: #bdd9d1; border-radius: var(--brand-radius-small); background: #f1f8f6 }
.auditorium-booking-page .btn-primary { background: var(--brand-gold); color: var(--brand-ink) }
.price-breakdown, .sidebar-title, .divider { border-color: var(--brand-line) }
.selected-seats span, .seat-pills span { border-radius: 5px; background: var(--brand-gold-soft); color: #6d511d }
.hold-countdown { color: var(--brand-gold-strong) }
.progress span { background: var(--brand-gold) }

/* Vendor dashboard, builder, ticket and staff pages */
.page-head { border-color: var(--brand-line-dark); background: linear-gradient(125deg, #0b1116, #14212a) }
.page-head h1, .page-head p { color: #f7f3e8 }
.page-head .eyebrow { color: #dfc274 }
.stats-grid article, .quick-actions a, .vendor-story-grid article {
    border-color: var(--brand-line-dark);
    border-radius: var(--brand-radius);
    background: var(--brand-night-2);
}
.stat-icon { border-radius: var(--brand-radius-small); background: rgba(214, 178, 94, .1); color: #dfc274 }
.dashboard-table-card { overflow: hidden }
.table-heading, .responsive-table .tr { border-color: var(--brand-line) }
.responsive-table .tr.head { background: var(--brand-surface-2); color: var(--brand-muted) }
.review-status { border-radius: 999px }
.decision-approved, .payment-paid { background: var(--brand-success-soft); color: var(--brand-success) }
.decision-rejected, .payment-refund_pending, .payment-cancelled { background: var(--brand-danger-soft); color: var(--brand-danger) }
.decision-pending, .payment-pending { background: #f7eed8; color: #7a5a1f }
.booking-approve { border-color: #9fcabe; background: var(--brand-success-soft); color: var(--brand-success) }
.booking-reject { border-color: #d9afa9; background: var(--brand-danger-soft); color: var(--brand-danger) }
.layout-help { border-color: #b8d0dc; border-radius: var(--brand-radius); background: var(--brand-info-soft); color: var(--brand-info) }
.layout-editor-card { background: var(--brand-surface) }
.layout-toolbar { border-color: var(--brand-line); border-radius: var(--brand-radius-small); background: var(--brand-surface-2) }
.layout-tool { border-color: var(--brand-line); border-radius: 6px; color: var(--brand-muted) }
.layout-tool.active { border-color: var(--brand-gold-strong); background: var(--brand-gold-soft); color: #6d511d }
.builder-screen { border-color: var(--brand-gold); box-shadow: 0 -10px 32px rgba(181, 138, 63, .18) }
.layout-cell { border-color: var(--brand-line); border-radius: 7px; background: #f5f2eb; color: var(--brand-subtle) }
.layout-cell.has-seat { border-color: #8bbbac; background: var(--brand-success-soft); color: var(--brand-success) }
.layout-cell.premium { border-color: var(--brand-gold); background: var(--brand-gold-soft); color: #76571f }
.ticket-card, .counter-ticket { border-color: var(--brand-line); border-radius: var(--brand-radius); background: var(--brand-surface) }
.status-pill { border-radius: 999px }
.success-icon, .success-check { background: var(--brand-success-soft); color: var(--brand-success) }
.scan-result.ok { border-color: #9fcabe; background: var(--brand-success-soft) }
.scan-result.bad { border-color: #d9afa9; background: var(--brand-danger-soft) }

/* Footer */
.site-footer { border-top: 1px solid var(--brand-line-dark); background: #080d11 }
.site-footer h3 { color: #f5f1e7 }
.site-footer p, .footer-links a, .footer-security-list span, .footer-bottom { color: #919da4 }
.footer-links a:hover { color: #dfc274 }
.footer-bottom { border-color: var(--brand-line-dark) }

@media (max-width: 900px) {
    .nav-content { border-color: var(--brand-line-dark); background: rgba(11, 17, 22, .99) }
    .nav-links a { color: #c0c7cb }
    .dm2-section { padding-block: 64px }
}

@media (max-width: 760px) {
    .brand-logo-image { width: 168px }
    .dm2-hero { min-height: 0 }
    .dm2-section { padding-block: 56px }
    .nav-actions .btn-primary { width: 100% }
    .form-card, .dashboard-table-card, .guest-lookup-card, .sidebar-card, .seat-panel { border-radius: 10px }
}

@media (max-width: 520px) {
    .brand-logo-image { width: 150px }
    .dm2-button, .btn-large { width: 100%; justify-content: center }
    .dm2-positioning { border-radius: 0 }
    .dm-profile-region-grid > section { padding: 16px }
}

/* ================================================================
   High-contrast experience system
   Explicit foregrounds prevent legacy white text appearing on paper cards.
   ================================================================ */

/* Movie profile: cinematic story chapter followed by a clear booking chapter */
.dm-profile-hero {
    background: var(--brand-paper);
}

.dm-profile-copy,
.dm-profile-copy h1,
.dm-profile-copy dt,
.dm-profile-copy dd,
.dm-profile-copy strong {
    color: var(--brand-ink);
}

.dm-profile-copy dt,
.dm-profile-copy .dm-profile-synopsis,
.dm-profile-copy .dm-profile-proof span {
    color: var(--brand-muted);
}

.dm-profile-about {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 6%, rgba(214, 178, 94, .12), transparent 24%),
        linear-gradient(132deg, #0b1116, #14222b 72%, #192932);
    color: #f7f3e9;
}

.dm-profile-about::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -235px;
    bottom: -250px;
    border: 1px solid rgba(214, 178, 94, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 68px rgba(214, 178, 94, .025), 0 0 0 136px rgba(214, 178, 94, .015);
    pointer-events: none;
}

.dm-profile-story-heading {
    position: relative;
    z-index: 1;
    max-width: none !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
    align-items: end;
    gap: clamp(28px, 6vw, 84px);
}

.dm-profile-story-heading h2 {
    color: #fff !important;
}

.dm-profile-story-heading > p {
    max-width: 540px;
    margin: 0;
    color: #aeb9bf;
    font-size: 16px;
    line-height: 1.75;
}

.dm-profile-about .dm2-label {
    color: #dfc274;
}

.dm-profile-story-grid {
    position: relative;
    z-index: 1;
}

.dm-profile-story-grid article {
    border-color: rgba(214, 178, 94, .19);
    background: #fbf8f1;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .2);
}

.dm-profile-story-grid article > div,
.dm-profile-story-grid article h3,
.dm-profile-story-grid article h3 a,
.dm-profile-story-grid article strong {
    color: var(--brand-ink);
}

.dm-profile-story-grid article p {
    color: var(--brand-muted);
    font-family: "DM Sans", Arial, sans-serif;
    line-height: 1.7;
}

.dm-profile-story-grid article .dm2-text-link {
    color: var(--brand-gold-strong);
}

.dm-profile-story-empty {
    position: relative;
    z-index: 1;
    border-color: rgba(214, 178, 94, .22);
    background: rgba(255, 255, 255, .05);
}

.dm-profile-story-empty h3 { color: #fff }
.dm-profile-story-empty p { color: #aeb9bf }

.dm-profile-booking,
.dm-profile-booking header h2,
.dm-profile-booking .dm-profile-region-title h3,
.dm-profile-booking .dm-profile-session time {
    color: var(--brand-ink);
}

.dm-profile-booking header > p,
.dm-profile-region-title p,
.dm-profile-session div:first-child > span,
.dm-profile-session em {
    color: var(--brand-muted);
}

.dm-booking-journey {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: -5px 0 28px;
    padding: 0;
    list-style: none;
}

.dm-booking-journey li {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 16px;
    border: 1px solid var(--brand-line);
    border-radius: var(--brand-radius-small);
    background: rgba(255, 254, 250, .72);
}

.dm-booking-journey b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--brand-night-2);
    color: #dfc274;
    font-size: 12px;
}

.dm-booking-journey span,
.dm-booking-journey strong,
.dm-booking-journey small { display: block }
.dm-booking-journey strong { color: var(--brand-ink); font-size: 12px }
.dm-booking-journey small { margin-top: 2px; color: var(--brand-muted); font-size: 10px }

.dm-profile-region-grid > section {
    box-shadow: 0 16px 42px rgba(20, 27, 32, .07);
}

.dm-profile-session-side strong { color: var(--brand-success) }
.dm-profile-no-session { color: var(--brand-muted) }

/* Exact-seat page: premium dark auditorium with a warm readable summary */
.auditorium-booking-page {
    margin: -42px 0 -36px;
    padding: 42px clamp(18px, 4vw, 54px) 76px;
    border-radius: 0 0 24px 24px;
    background:
        radial-gradient(circle at 50% 18%, rgba(214, 178, 94, .08), transparent 28%),
        linear-gradient(180deg, #080d11, #101a21 64%, #0b1217);
    color: #f6f2e8;
}

.auditorium-booking-page .booking-progress {
    border-color: rgba(214, 178, 94, .18);
}

.auditorium-booking-page .booking-progress span { color: #73818a }
.auditorium-booking-page .booking-progress .complete { color: #72c4ae }
.auditorium-booking-page .booking-progress .active { color: #e0c477 }
.auditorium-booking-page .back-link { color: #c9ad67 }
.auditorium-booking-page .wizard-kicker { color: #d9bb70 }
.auditorium-booking-page .booking-head h1 { color: #fff }
.auditorium-booking-page .booking-head p { color: #aeb9bf }

.auditorium-booking-page .mini-price {
    border-color: rgba(214, 178, 94, .24);
    background: rgba(255, 255, 255, .04);
}
.auditorium-booking-page .mini-price small { color: #8f9ba2 }
.auditorium-booking-page .mini-price strong { color: #e2c77f }

.auditorium-booking-page .seat-panel {
    border-color: rgba(214, 178, 94, .17);
    background: linear-gradient(145deg, rgba(22, 33, 41, .98), rgba(12, 19, 24, .99));
    color: #f7f3e9;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .3);
}

.auditorium-booking-page .legend { color: #aab5bb }
.auditorium-booking-page .legend i { border-color: rgba(255, 255, 255, .24) }
.auditorium-booking-page .legend .available { border-color: #67ad9b; background: rgba(93, 181, 159, .12) }
.auditorium-booking-page .legend .selected { border-color: var(--brand-gold); background: var(--brand-gold) }
.auditorium-booking-page .legend .unavailable { border-color: #37434b; background: #37434b }
.auditorium-booking-page .legend .accessible { border-color: #75a8be; background: rgba(117, 168, 190, .15) }

.auditorium-booking-page .auditorium-screen {
    border-color: var(--brand-gold);
    color: #d8c89d;
    box-shadow: 0 -12px 40px rgba(214, 178, 94, .2);
}

.auditorium-booking-page .public-seat-section { border-color: rgba(214, 178, 94, .14) }
.auditorium-booking-page .section-title-line h2 { color: #fff }
.auditorium-booking-page .section-title-line span { background: rgba(93, 181, 159, .12); color: #78c9b2 }
.auditorium-booking-page .public-seat-section > header > strong { color: #9faab0 }
.auditorium-booking-page .seat-orientation { color: #6f7d85 }
.auditorium-booking-page .row-label { color: #96a3aa }

.auditorium-booking-page .seat span {
    border-color: #487e72;
    background: rgba(65, 125, 111, .13);
    color: #7bc5b2;
}
.auditorium-booking-page .seat:hover span { border-color: #e0c477; color: #f0d991 }
.auditorium-booking-page .seat input:checked + span {
    border-color: var(--brand-gold);
    background: var(--brand-gold);
    color: #11181d;
    box-shadow: 0 8px 22px rgba(214, 178, 94, .24);
}
.auditorium-booking-page .seat.unavailable span {
    border-color: #303a41;
    background: #303a41;
    color: #68747b;
}

.auditorium-booking-page .sidebar-card {
    border-color: #d7cfbf;
    background: #fbf8f1;
    color: var(--brand-ink);
    box-shadow: 0 30px 75px rgba(0, 0, 0, .28);
}

.auditorium-booking-page .sidebar-card h2,
.auditorium-booking-page .sidebar-card h3,
.auditorium-booking-page .sidebar-card strong,
.auditorium-booking-page .sidebar-card b,
.auditorium-booking-page .sidebar-card label {
    color: var(--brand-ink);
}

.auditorium-booking-page .sidebar-card small,
.auditorium-booking-page .sidebar-card p,
.auditorium-booking-page .summary-movie span,
.auditorium-booking-page .selected-seats > small,
.auditorium-booking-page .muted {
    color: var(--brand-muted);
}

.auditorium-booking-page .sidebar-title,
.auditorium-booking-page .summary-movie,
.auditorium-booking-page .price-breakdown,
.auditorium-booking-page .price-breakdown > div {
    border-color: var(--brand-line);
}

.auditorium-booking-page .summary-poster {
    background: linear-gradient(145deg, #1b2a33, #0b1116);
    color: #dfc274;
}

.auditorium-booking-page .guest-checkout-fields {
    border-color: #b9d9d0;
    background: #eef7f4;
}
.auditorium-booking-page .guest-checkout-fields input {
    border-color: #d0c9bd;
    background: #fffefa;
    color: var(--brand-ink);
}
.auditorium-booking-page .secure-badge { background: var(--brand-success-soft); color: var(--brand-success) }
.auditorium-booking-page .hold-note { border-color: var(--brand-line); background: #eee9df; color: var(--brand-muted) }

/* Checkout page: same cinematic shell, readable paper review cards */
.checkout-booking-page {
    margin: -42px 0 -36px;
    padding: 42px clamp(18px, 4vw, 54px) 76px;
    border-radius: 0 0 24px 24px;
    background: linear-gradient(180deg, #080d11, #111c23);
    color: #f7f3e9;
}

.checkout-booking-page .booking-progress { border-color: rgba(214, 178, 94, .18) }
.checkout-booking-page .booking-progress span { color: #7d8a91 }
.checkout-booking-page .booking-progress .complete { color: #72c4ae }
.checkout-booking-page .booking-progress .active { color: #e0c477 }
.checkout-booking-page .back-link, .checkout-booking-page .wizard-kicker { color: #d9bb70 }
.checkout-booking-page .booking-head h1 { color: #fff }
.checkout-booking-page .booking-head p { color: #aeb9bf }

.checkout-booking-page .checkout-card,
.checkout-booking-page .sidebar-card {
    border-color: #d7cfbf;
    background: #fbf8f1;
    color: var(--brand-ink);
}
.checkout-booking-page h2,
.checkout-booking-page strong { color: var(--brand-ink) }
.checkout-booking-page .checkout-movie p,
.checkout-booking-page .review-block > span,
.checkout-booking-page .sidebar-title small,
.checkout-booking-page .price-breakdown span,
.checkout-booking-page .security-row small { color: var(--brand-muted) }
.checkout-booking-page .divider,
.checkout-booking-page .sidebar-title,
.checkout-booking-page .price-breakdown,
.checkout-booking-page .price-breakdown > div { border-color: var(--brand-line) }
.checkout-booking-page .security-row { border-color: var(--brand-line); background: #eee9df }
.checkout-booking-page .hold-note { border-color: var(--brand-line); background: #eee9df; color: var(--brand-muted) }

/* Vendor dashboard: dark overview cards, paper data cards, explicit contrast */
.vendor-dashboard-page {
    margin: -42px 0 -36px;
    padding-bottom: 72px;
    overflow: hidden;
    border-radius: 0 0 24px 24px;
    background: var(--brand-paper);
    color: var(--brand-ink);
}

.vendor-dashboard-page .page-head {
    margin-bottom: 0;
    padding: clamp(36px, 5vw, 62px) clamp(22px, 5vw, 62px);
    border: 0;
    border-bottom: 1px solid rgba(214, 178, 94, .18);
    border-radius: 0;
    background: radial-gradient(circle at 86% 15%, rgba(214, 178, 94, .11), transparent 22%), linear-gradient(126deg, #080d11, #14232c);
}
.vendor-dashboard-page .page-head h1 { color: #fff }
.vendor-dashboard-page .page-head p { color: #aeb9bf }
.vendor-dashboard-page .page-head .btn-outline { border-color: rgba(214, 178, 94, .35); color: #e0c477 }
.vendor-dashboard-page .page-head .btn-outline:hover { background: rgba(214, 178, 94, .09); color: #f4e3b6 }

.vendor-dashboard-page > .approval-banner,
.vendor-dashboard-page > .stats-grid,
.vendor-dashboard-page > .quick-actions,
.vendor-dashboard-page > .dashboard-table-card {
    margin-right: clamp(18px, 4vw, 48px);
    margin-left: clamp(18px, 4vw, 48px);
}

.vendor-dashboard-page > .approval-banner,
.vendor-dashboard-page > .stats-grid { margin-top: 24px }

.vendor-dashboard-page .approval-banner {
    border-color: #dfc987;
    background: #f7eed8;
    color: #71531d;
}
.vendor-dashboard-page .approval-banner strong,
.vendor-dashboard-page .approval-banner li { color: #5e471c }
.vendor-dashboard-page .approval-banner p { color: #806a3c }

.vendor-dashboard-page .stats-grid article {
    border-color: rgba(214, 178, 94, .16);
    background: linear-gradient(145deg, #14212a, #0c1318);
    color: #f7f3e9;
    box-shadow: 0 15px 36px rgba(11, 17, 22, .13);
}
.vendor-dashboard-page .stats-grid small,
.vendor-dashboard-page .stats-grid em { color: #8f9ba2 }
.vendor-dashboard-page .stats-grid strong { color: #fff }
.vendor-dashboard-page .stat-icon { background: rgba(214, 178, 94, .11); color: #dfc274 }

.vendor-dashboard-page .quick-actions a {
    border-color: var(--brand-line);
    background: var(--brand-surface);
    color: var(--brand-ink);
    box-shadow: 0 8px 24px rgba(20, 27, 32, .035);
}
.vendor-dashboard-page .quick-actions a:hover { border-color: #bba978; background: #faf6ed; box-shadow: var(--brand-shadow) }
.vendor-dashboard-page .quick-actions strong { color: var(--brand-ink) }
.vendor-dashboard-page .quick-actions small { color: var(--brand-muted) }
.vendor-dashboard-page .quick-actions > a > span { background: var(--brand-surface-2); color: var(--brand-gold-strong) }
.vendor-dashboard-page .quick-actions b { color: var(--brand-gold-strong) }

.vendor-dashboard-page .dashboard-table-card {
    margin-top: 22px;
    border-color: var(--brand-line);
    background: var(--brand-surface);
    color: var(--brand-ink);
}

.vendor-dashboard-page .table-heading,
.vendor-dashboard-page .responsive-table .tr { border-color: var(--brand-line) }
.vendor-dashboard-page .table-heading { background: #fbf8f1 }
.vendor-dashboard-page .table-heading h2,
.vendor-dashboard-page .table-heading strong,
.vendor-dashboard-page .responsive-table .tr,
.vendor-dashboard-page .responsive-table .tr strong { color: var(--brand-ink) }
.vendor-dashboard-page .table-heading p,
.vendor-dashboard-page .table-heading > span,
.vendor-dashboard-page .responsive-table small,
.vendor-dashboard-page .empty-row { color: var(--brand-muted) }
.vendor-dashboard-page .responsive-table .tr.head { background: var(--brand-surface-2); color: #6e797f }
.vendor-dashboard-page .responsive-table a,
.vendor-dashboard-page .vendor-story-actions a,
.vendor-dashboard-page .vendor-story-actions button { color: var(--brand-gold-strong) }
.vendor-dashboard-page .responsive-table .btn-quiet { border-color: var(--brand-line); color: var(--brand-muted) }

.vendor-dashboard-page .vendor-story-grid article {
    border-color: var(--brand-line);
    background: #f7f3ea;
    color: var(--brand-ink);
}
.vendor-dashboard-page .vendor-story-body h3,
.vendor-dashboard-page .vendor-story-body strong { color: var(--brand-ink) }
.vendor-dashboard-page .vendor-story-body small,
.vendor-dashboard-page .vendor-story-body p,
.vendor-dashboard-page .vendor-story-body em { color: var(--brand-muted) }
.vendor-dashboard-page .vendor-story-actions { border-color: var(--brand-line) }

/* Responsive refinements for the four affected journeys */
@media (max-width: 1050px) {
    .vendor-dashboard-page .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) }
    .vendor-dashboard-page .quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}

@media (max-width: 820px) {
    .dm-profile-story-heading { grid-template-columns: 1fr; align-items: start; gap: 15px }
    .dm-booking-journey { grid-template-columns: 1fr }
    .auditorium-booking-page,
    .checkout-booking-page,
    .vendor-dashboard-page { margin-top: -27px }
    .auditorium-booking-page .booking-layout,
    .checkout-booking-page .checkout-layout { grid-template-columns: 1fr }
    .auditorium-booking-page .sticky-card,
    .checkout-booking-page .sticky-card { position: static }
    .vendor-dashboard-page .page-head { align-items: flex-start; flex-direction: column }
    .vendor-dashboard-page .dashboard-actions { width: 100%; flex-wrap: wrap }
}

@media (max-width: 650px) {
    .auditorium-booking-page,
    .checkout-booking-page { padding: 28px 14px 56px }
    .auditorium-booking-page .booking-progress,
    .checkout-booking-page .booking-progress { margin-bottom: 46px }
    .auditorium-booking-page .booking-progress small,
    .checkout-booking-page .booking-progress small { font-size: 9px }
    .auditorium-booking-page .booking-summary { align-items: flex-start; flex-direction: column }
    .auditorium-booking-page .mini-price { width: 100%; text-align: left }
    .auditorium-booking-page .seat-panel { padding: 18px 12px }
    .auditorium-booking-page .legend { justify-content: flex-start; flex-wrap: wrap; gap: 10px 16px }
    .auditorium-booking-page .sidebar-card,
    .checkout-booking-page .sidebar-card,
    .checkout-booking-page .checkout-card { padding: 18px }
    .vendor-dashboard-page .stats-grid { grid-template-columns: 1fr 1fr }
    .vendor-dashboard-page .quick-actions { grid-template-columns: 1fr }
    .vendor-dashboard-page .dashboard-actions .btn { flex: 1 1 140px }
    .vendor-dashboard-page .responsive-table .tr { grid-template-columns: 1fr }
    .vendor-dashboard-page .responsive-table .tr.head { display: none }
    .vendor-dashboard-page .responsive-table .tr > span::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 3px;
        color: var(--brand-subtle);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
}

/* Physical-layout furniture and geographic cinema groups */
.layout-cell.has-fixture {
    border-style: solid;
    border-color: rgba(255, 192, 105, .72);
    background: #4a3028;
    color: #ffe0ad;
    font-size: 8px;
    font-weight: 800;
}
.layout-cell.fixture-pillar { border-color: #b09bff; background: #312955; color: #e4ddff }
.layout-cell.fixture-entrance { border-color: #ff89a0; background: #4a243d; color: #ffd0db }
.layout-cell.move-selected { outline: 3px solid #ffb0c2; outline-offset: 2px }
.layout-nudge { display: inline-flex; gap: 5px }
.layout-nudge button {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(176, 155, 255, .5);
    border-radius: 9px;
    background: #21182f;
    color: #e4ddff;
}
.public-fixture {
    align-self: center;
    display: grid;
    min-width: 34px;
    min-height: 30px;
    place-items: center;
    border: 1px solid rgba(255, 192, 105, .62);
    border-radius: 50%;
    background: #4a3028;
    color: #ffe0ad;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
}
.public-fixture.fixture-pillar { border-radius: 7px; border-color: #b09bff; background: #312955; color: #e4ddff }
.public-fixture.fixture-entrance { border-radius: 7px; border-color: #ff89a0; background: #4a243d; color: #ffd0db }
.availability-scope { border-color: rgba(255, 192, 105, .52) !important; background: #493128 !important; color: #ffe0ad !important }
.dm-location-group { display: grid; gap: 11px; padding: 0 0 18px }
.dm-location-group + .dm-location-group { padding-top: 18px; border-top: 1px solid rgba(176, 155, 255, .25) }
.dm-location-group h4 { display: flex; align-items: center; gap: 9px; margin: 0; color: #ffc069 !important; font-size: 15px }
.dm-location-group h4 span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #3b315d; color: #e4ddff }
.dm-location-filter { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 14px; scrollbar-width: thin }
.dm-location-filter button { flex: 0 0 auto; padding: 8px 12px; border: 1px solid rgba(176, 155, 255, .35); border-radius: 999px; background: #181326; color: #d7c9df }
.dm-location-filter button.active { border-color: #ffc069; background: #493128; color: #ffe0ad }
.form-card ul[id$="weekdays"] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 0; list-style: none }
.form-card ul[id$="weekdays"] label { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--clarity-border); border-radius: 10px; background: #181326 }
.form-card ul[id$="weekdays"] input { width: auto }

@media (max-width: 650px) {
    .layout-toolbar { align-items: stretch }
    .layout-toolbar .layout-tool { flex: 1 1 140px }
    .layout-nudge { width: 100%; justify-content: center }
    .layout-nudge button { flex: 1 }
    .form-card ul[id$="weekdays"] { grid-template-columns: 1fr }
}

@media (max-width: 440px) {
    .vendor-dashboard-page .stats-grid { grid-template-columns: 1fr }
    .dm-profile-story-heading > p { font-size: 14px }
}

/* ================================================================
   DrukMovie Aubergine Edition
   Final palette authority: aubergine · pearl · rose metal · sage
   ================================================================ */

:root {
    --premium-aubergine: #160f1d;
    --premium-plum: #24152e;
    --premium-plum-soft: #33203f;
    --premium-pearl: #f7f3f7;
    --premium-white: #fffcff;
    --premium-blush: #efe5ed;
    --premium-ink: #251d29;
    --premium-muted: #6f6573;
    --premium-line: #dccfd9;
    --premium-rose: #d19aaf;
    --premium-rose-strong: #a8647e;
    --premium-rose-soft: #f0dde5;
    --premium-sage: #3e7c6f;
    --premium-sage-soft: #e1f0eb;

    --brand-night: var(--premium-aubergine);
    --brand-night-2: var(--premium-plum);
    --brand-night-3: var(--premium-plum-soft);
    --brand-paper: var(--premium-pearl);
    --brand-surface: var(--premium-white);
    --brand-surface-2: var(--premium-blush);
    --brand-ink: var(--premium-ink);
    --brand-muted: var(--premium-muted);
    --brand-subtle: #918594;
    --brand-line: var(--premium-line);
    --brand-line-dark: rgba(209, 154, 175, .18);
    --brand-gold: var(--premium-rose);
    --brand-gold-strong: var(--premium-rose-strong);
    --brand-gold-soft: var(--premium-rose-soft);
    --brand-success: var(--premium-sage);
    --brand-success-soft: var(--premium-sage-soft);
    --brand-danger: #9f4c64;
    --brand-danger-soft: #f4e2e8;
    --brand-info: #60758e;
    --brand-info-soft: #e8edf3;
    --bg: var(--premium-aubergine);
    --bg2: var(--premium-plum);
    --panel: var(--premium-plum);
    --panel2: var(--premium-plum-soft);
    --line: rgba(209, 154, 175, .18);
    --line2: rgba(209, 154, 175, .32);
    --text: #f8f4f8;
    --muted: #b8abbc;
    --subtle: #918594;
    --red: var(--premium-rose);
    --red2: var(--premium-rose-strong);
    --violet: var(--premium-rose);
    --green: #69b29f;
    --amber: var(--premium-rose);
    --blue: #8da6bd;
}

html, body { background: var(--premium-aubergine) }
.ambient span:nth-child(1) { background: #a8647e }
.ambient span:nth-child(2) { background: #684778 }
.ambient span:nth-child(3) { background: #80586c }

/* Brand chrome */
.site-header {
    border-color: rgba(209, 154, 175, .17);
    background: rgba(22, 15, 29, .96);
    box-shadow: 0 12px 36px rgba(8, 3, 11, .24);
}
.nav-links a { color: #b8abbc }
.nav-links a:hover { background: rgba(209, 154, 175, .1); color: #fff8fc }
.account-chip, .menu-toggle { border-color: rgba(209, 154, 175, .22); background: rgba(255, 255, 255, .035) }
.account-avatar { background: var(--premium-rose); color: var(--premium-ink) }
.menu-toggle span { background: #f7eff5 }

.btn-primary, .nav-actions .btn-primary, .dm2-button-primary {
    border-color: var(--premium-rose);
    background: var(--premium-rose);
    color: var(--premium-ink);
    box-shadow: 0 12px 28px rgba(168, 100, 126, .24);
}
.btn-primary:hover, .nav-actions .btn-primary:hover, .dm2-button-primary:hover {
    border-color: #dfaabe;
    background: #dfaabe;
    color: var(--premium-ink);
    box-shadow: 0 16px 34px rgba(168, 100, 126, .3);
}
.btn-outline:hover, .btn-quiet:hover { border-color: #c59aac; background: var(--premium-rose-soft); color: #713c51 }
.site-header .btn-outline, .site-header .btn-quiet, .nav-actions .btn-outline { border-color: rgba(209, 154, 175, .38); color: #ddaabf }
.site-header .btn-outline:hover, .site-header .btn-quiet:hover { background: rgba(209, 154, 175, .11); color: #ffe8f2 }

/* Shared pearl surfaces */
.alert, .form-card, .dashboard-table-card, .guest-lookup-card, .sidebar-card,
.seat-panel, .booking-card, .ticket-card, .layout-editor-card, .success-card {
    border-color: var(--premium-line);
    background: var(--premium-white);
    color: var(--premium-ink);
    box-shadow: 0 18px 50px rgba(45, 23, 52, .1);
}
.eyebrow, .wizard-kicker, .back-link { color: var(--premium-rose-strong) }
input, select, textarea,
.form-card input, .form-card select, .form-card textarea,
.guest-checkout-fields input, .guest-lookup-card input,
.compact-form-fields input, .compact-form-fields select,
.layout-toolbar select {
    border-color: var(--premium-line);
    background: var(--premium-white);
    color: var(--premium-ink);
}
input:focus, select:focus, textarea:focus,
.form-card input:focus, .form-card select:focus, .form-card textarea:focus {
    border-color: var(--premium-rose-strong);
    box-shadow: 0 0 0 3px rgba(209, 154, 175, .2);
}

/* Landing and discovery */
.dm2-home {
    --dm2-ink: var(--premium-ink);
    --dm2-night: var(--premium-aubergine);
    --dm2-night-soft: var(--premium-plum);
    --dm2-paper: var(--premium-pearl);
    --dm2-surface: var(--premium-blush);
    --dm2-yellow: var(--premium-rose);
    --dm2-orange: var(--premium-rose-strong);
    --dm2-line: var(--premium-line);
    background: var(--premium-pearl);
}
.dm2-hero {
    background: radial-gradient(circle at 78% 28%, rgba(209, 154, 175, .16), transparent 25%), linear-gradient(127deg, #100915, #24152e 65%, #382047);
}
.dm2-hero::before { border-color: rgba(209, 154, 175, .22) }
.dm2-eyebrow, .dm2-hero-lead { color: #b8abbc }
.dm2-eyebrow > span { background: var(--premium-rose) }
.dm2-hero h1 em { color: #dfaabe }
.dm2-button-secondary { border-color: rgba(255, 255, 255, .22); color: #fbf4f9 }
.dm2-button-secondary:hover { border-color: rgba(209, 154, 175, .65); background: rgba(209, 154, 175, .1) }
.dm2-trust i { border-color: rgba(209, 154, 175, .46); color: #dfaabe }
.dm3-visual-field { border-color: rgba(209, 154, 175, .24); background: linear-gradient(145deg, #eadde5, #cdbbc7) }
.dm3-visual-field::before { background: linear-gradient(145deg, #d19aaf, #9b5b75) }
.dm2-art-card { border-color: rgba(209, 154, 175, .25); background: rgba(22, 15, 29, .95) }
.dm2-art-card span { color: #ddaabf }
.dm2-art-quote { background: #fcf7fb; color: #352b38 }
.dm2-positioning { border-color: var(--premium-line); background: #faf6f9 }
.dm2-positioning > p, .dm2-positioning > div { border-color: var(--premium-line) }
.dm2-positioning > p span, .dm2-positioning strong, .dm2-label, .dm2-text-link { color: var(--premium-rose-strong) }
.dm-home-movies { background: var(--premium-pearl) }
.dm-home-archive, .dm2-services { background: var(--premium-blush) }
.dm-home-trending, .dm2-stories { background: var(--premium-aubergine) }
.dm-home-trending .dm2-label, .dm2-stories .dm2-label,
.dm-home-trending .dm2-text-link, .dm2-stories .dm2-text-link { color: #dfaabe }

.dm-movie-card, .dm-library-card, .dm2-service-grid article {
    border-color: var(--premium-line);
    background: var(--premium-white);
    box-shadow: 0 10px 30px rgba(45, 23, 52, .05);
}
.dm-movie-card:hover, .dm-library-card:hover, .dm2-service-grid article:hover { border-color: #c59aac; box-shadow: 0 20px 50px rgba(45, 23, 52, .13) }
.dm-movie-poster, .dm-library-image { background: var(--premium-plum) }
.dm-movie-placeholder { background: radial-gradient(circle at 70% 15%, rgba(209, 154, 175, .25), transparent 28%), linear-gradient(145deg, #33203f, #160f1d) }
.dm-movie-status.live { background: var(--premium-rose-soft); color: #713c51 }
.dm-movie-card-copy > small, .dm-library-copy > small, .dm-profile-story-grid small { color: var(--premium-rose-strong) }
.dm-movie-card-meta span, .dm-profile-proof span { background: var(--premium-blush) }
.dm-movie-open { border-color: var(--premium-line); color: var(--premium-rose-strong) }
.dm-trend-rank { color: #d7a0b5 }
.dm-home-trending .dm-movie-card, .dm-trending-collection .dm-movie-card { border-color: rgba(209, 154, 175, .22); background: #fcf8fb }
.dm2-service-icon, .dm2-service-grid article:nth-child(n) .dm2-service-icon { background: var(--premium-rose-soft); color: #82475e }
.dm2-story-card { border-color: rgba(209, 154, 175, .22); background: rgba(255, 255, 255, .04) }
.dm2-story-copy > small { color: #ddaabf }
.dm2-filmmaker, .dm-editorial-cta, .dm-story-cta { background: linear-gradient(115deg, #74384f, #8e4d67) }
.dm2-filmmaker .dm2-label, .dm-editorial-cta .dm2-label, .dm-story-cta .dm2-label { color: #f3cbd9 }
.dm2-button-paper { background: #fff7fb; color: #64364a; box-shadow: 0 15px 34px rgba(40, 12, 27, .2) }

/* Directory and editorial storytelling */
.dm-movies-page, .dm-profile-page, .dm-editorial, .dm-story-detail { background: var(--premium-pearl); color: var(--premium-ink) }
.dm-movies-hero, .dm-editorial-hero { background: radial-gradient(circle at 80% 24%, rgba(209, 154, 175, .15), transparent 25%), linear-gradient(127deg, #100915, #2a1834) }
.dm-movies-hero h1 em, .dm-editorial-hero h1 em, .dm-movies-count strong { color: #dfaabe }
.dm-movies-count, .dm-editorial-hero aside { border-color: rgba(209, 154, 175, .25); background: rgba(209, 154, 175, .055) }
.dm-movie-directory-nav, .dm-story-filters { border-color: var(--premium-line); background: var(--premium-white) }
.dm-movie-directory-nav a:hover, .dm-story-filters a:hover { background: var(--premium-blush) }
.dm-movie-directory-nav span { background: var(--premium-rose-soft); color: #713c51 }
.dm-story-filters a.active { border-color: #cfa9b8; background: var(--premium-rose-soft); color: #713c51 }
.dm-movie-collection, .dm-editorial-content { background: var(--premium-pearl) }
.dm-trending-collection { background: var(--premium-aubergine) }
.dm-archive-collection, .dm-related-stories { background: var(--premium-blush) }
.dm-profile-back, .dm-story-back { color: var(--premium-rose-strong) }
.dm-profile-badges span { background: var(--premium-rose-soft); color: #713c51 }
.dm-profile-badges span + span { background: var(--premium-blush); color: var(--premium-muted) }
.dm-profile-poster { background: var(--premium-plum); box-shadow: 0 30px 70px rgba(27, 10, 32, .22) }
.dm-profile-poster > span { background: radial-gradient(circle at 70% 15%, rgba(209, 154, 175, .26), transparent 27%), linear-gradient(145deg, #382047, #160f1d) }
.dm-profile-facts, .dm-profile-byline, .dm-story-byline, .dm-story-body dl div { border-color: var(--premium-line) }
.dm-profile-trailer, .dm-story-gallery { background: var(--premium-aubergine) }
.dm-profile-trailer .dm2-label, .dm-story-gallery .dm2-label { color: #dfaabe }

.dm-profile-about {
    background: radial-gradient(circle at 88% 6%, rgba(209, 154, 175, .17), transparent 24%), linear-gradient(132deg, #160f1d, #2a1834 72%, #382047);
}
.dm-profile-about::before { border-color: rgba(209, 154, 175, .2); box-shadow: 0 0 0 68px rgba(209, 154, 175, .035), 0 0 0 136px rgba(209, 154, 175, .02) }
.dm-profile-story-heading > p { color: #b8abbc }
.dm-profile-about .dm2-label { color: #dfaabe }
.dm-profile-story-grid article { border-color: rgba(209, 154, 175, .25); background: #fcf8fb; box-shadow: 0 22px 55px rgba(17, 5, 21, .23) }
.dm-profile-story-grid article .dm2-text-link { color: var(--premium-rose-strong) }
.dm-profile-story-empty { border-color: rgba(209, 154, 175, .26) }
.dm-profile-story-empty p { color: #b8abbc }
.dm-profile-booking { background: var(--premium-pearl) }
.dm-booking-journey li, .dm-profile-region-grid > section { border-color: var(--premium-line); background: var(--premium-white) }
.dm-booking-journey b { background: var(--premium-plum); color: #dfaabe }
.dm-profile-region-title { border-color: var(--premium-line) }
.dm-profile-region-title > span { background: var(--premium-blush) }
.dm-profile-session { border-color: var(--premium-line); background: #f5edf3 }
.dm-profile-session small { color: var(--premium-rose-strong) }
.dm-profile-session-side a { background: var(--premium-plum) }
.dm-profile-session-side a:hover { background: var(--premium-rose-strong) }
.dm-story-body aside > span, .dm-story-body aside > a { color: var(--premium-rose-strong) }
.dm-story-prose p:first-child::first-letter { color: var(--premium-rose-strong) }
.dm-story-prose blockquote { border-color: var(--premium-rose-strong); background: var(--premium-rose-soft) }

/* Auditorium and checkout */
.auditorium-booking-page,
.checkout-booking-page {
    background: radial-gradient(circle at 50% 18%, rgba(209, 154, 175, .11), transparent 28%), linear-gradient(180deg, #100915, #24152e 64%, #160f1d);
}
.auditorium-booking-page .booking-progress,
.checkout-booking-page .booking-progress { border-color: rgba(209, 154, 175, .22) }
.auditorium-booking-page .booking-progress .active,
.checkout-booking-page .booking-progress .active,
.auditorium-booking-page .back-link,
.auditorium-booking-page .wizard-kicker,
.checkout-booking-page .back-link,
.checkout-booking-page .wizard-kicker { color: #dfaabe }
.auditorium-booking-page .booking-head p,
.checkout-booking-page .booking-head p { color: #b8abbc }
.auditorium-booking-page .mini-price { border-color: rgba(209, 154, 175, .28) }
.auditorium-booking-page .mini-price strong { color: #dfaabe }
.auditorium-booking-page .seat-panel { border-color: rgba(209, 154, 175, .22); background: linear-gradient(145deg, rgba(51, 32, 63, .98), rgba(22, 15, 29, .99)); box-shadow: 0 30px 80px rgba(11, 3, 14, .38) }
.auditorium-booking-page .auditorium-screen { border-color: var(--premium-rose); color: #dfc3ce; box-shadow: 0 -12px 40px rgba(209, 154, 175, .24) }
.auditorium-booking-page .public-seat-section { border-color: rgba(209, 154, 175, .18) }
.auditorium-booking-page .section-title-line span { background: rgba(105, 178, 159, .14); color: #89d1bd }
.auditorium-booking-page .seat span { border-color: #568d80; background: rgba(62, 124, 111, .16); color: #8bd0bd }
.auditorium-booking-page .seat:hover span { border-color: #dfaabe; color: #f2cbd9 }
.auditorium-booking-page .seat input:checked + span { border-color: var(--premium-rose); background: var(--premium-rose); color: var(--premium-ink); box-shadow: 0 8px 22px rgba(209, 154, 175, .28) }
.auditorium-booking-page .seat.unavailable span { border-color: #44364b; background: #44364b; color: #776a7c }
.auditorium-booking-page .sidebar-card,
.checkout-booking-page .checkout-card,
.checkout-booking-page .sidebar-card { border-color: var(--premium-line); background: #fcf8fb; color: var(--premium-ink); box-shadow: 0 30px 75px rgba(11, 3, 14, .32) }
.auditorium-booking-page .guest-checkout-fields { border-color: #b7d4cb; background: #edf7f3 }
.auditorium-booking-page .guest-checkout-fields input { border-color: var(--premium-line); background: var(--premium-white) }
.auditorium-booking-page .summary-poster { background: linear-gradient(145deg, #382047, #160f1d); color: #dfaabe }
.auditorium-booking-page .hold-note,
.checkout-booking-page .hold-note,
.checkout-booking-page .security-row { border-color: var(--premium-line); background: var(--premium-blush) }
.selected-seats span, .seat-pills span, .seat-pills strong { background: var(--premium-rose-soft); color: #713c51 }
.progress span { background: var(--premium-rose) }

/* Vendor operations */
.vendor-dashboard-page { background: var(--premium-pearl) }
.vendor-dashboard-page .page-head { border-color: rgba(209, 154, 175, .22); background: radial-gradient(circle at 86% 15%, rgba(209, 154, 175, .16), transparent 22%), linear-gradient(126deg, #100915, #2a1834) }
.vendor-dashboard-page .page-head .btn-outline { border-color: rgba(209, 154, 175, .4); color: #dfaabe }
.vendor-dashboard-page .page-head .btn-outline:hover { background: rgba(209, 154, 175, .12); color: #ffe8f2 }
.vendor-dashboard-page .stats-grid article { border-color: rgba(209, 154, 175, .2); background: linear-gradient(145deg, #33203f, #160f1d); box-shadow: 0 15px 38px rgba(33, 14, 40, .16) }
.vendor-dashboard-page .stat-icon { background: rgba(209, 154, 175, .14); color: #dfaabe }
.vendor-dashboard-page .quick-actions a,
.vendor-dashboard-page .dashboard-table-card { border-color: var(--premium-line); background: var(--premium-white) }
.vendor-dashboard-page .quick-actions a:hover { border-color: #c59aac; background: #fcf7fb }
.vendor-dashboard-page .quick-actions > a > span { background: var(--premium-blush); color: var(--premium-rose-strong) }
.vendor-dashboard-page .quick-actions b,
.vendor-dashboard-page .responsive-table a,
.vendor-dashboard-page .vendor-story-actions a,
.vendor-dashboard-page .vendor-story-actions button { color: var(--premium-rose-strong) }
.vendor-dashboard-page .table-heading { background: #fcf8fb }
.vendor-dashboard-page .responsive-table .tr.head { background: var(--premium-blush); color: #746979 }
.vendor-dashboard-page .vendor-story-grid article { border-color: var(--premium-line); background: #f7eff5 }
.layout-help { border-color: #bdcbd8; background: var(--brand-info-soft); color: var(--brand-info) }
.layout-toolbar { border-color: var(--premium-line); background: var(--premium-blush) }
.layout-tool.active { border-color: var(--premium-rose-strong); background: var(--premium-rose-soft); color: #713c51 }
.builder-screen { border-color: var(--premium-rose); box-shadow: 0 -10px 32px rgba(209, 154, 175, .22) }
.layout-cell { border-color: var(--premium-line); background: #f5edf3 }
.layout-cell.premium { border-color: var(--premium-rose); background: var(--premium-rose-soft); color: #713c51 }

/* Status colour is semantic, not decorative. */
.decision-approved, .payment-paid { background: var(--premium-sage-soft); color: var(--premium-sage) }
.decision-rejected, .payment-refund_pending, .payment-cancelled { background: #f4e2e8; color: #9f4c64 }
.decision-pending, .payment-pending { background: var(--premium-rose-soft); color: #713c51 }
.booking-approve { border-color: #9fc9bd; background: var(--premium-sage-soft); color: var(--premium-sage) }
.booking-reject { border-color: #d9aebd; background: #f4e2e8; color: #9f4c64 }

/* Footer and mobile menu */
.site-footer { border-color: rgba(209, 154, 175, .18); background: #100915 }
.site-footer p, .footer-links a, .footer-security-list span, .footer-bottom { color: #a99dad }
.footer-links a:hover { color: #dfaabe }
.footer-bottom { border-color: rgba(209, 154, 175, .18) }

@media (max-width: 900px) {
    .nav-content { border-color: rgba(209, 154, 175, .2); background: rgba(22, 15, 29, .99) }
}

/* ================================================================
   DrukMovie Dark Jewel Edition
   No white panels: plum · indigo · rose · violet · teal · amber
   ================================================================ */

:root {
    --jewel-bg: #12091b;
    --jewel-bg-2: #190d24;
    --jewel-surface: #21122d;
    --jewel-surface-2: #2b1838;
    --jewel-surface-3: #352047;
    --jewel-text: #f8eef8;
    --jewel-muted: #c0aec4;
    --jewel-subtle: #99889f;
    --jewel-line: rgba(240, 139, 173, .23);
    --jewel-line-strong: rgba(155, 132, 255, .38);
    --jewel-rose: #f08bad;
    --jewel-rose-strong: #dc6691;
    --jewel-violet: #9b84ff;
    --jewel-teal: #68d3c2;
    --jewel-amber: #f0bd68;
    --jewel-button-ink: #2a1020;

    --premium-aubergine: var(--jewel-bg);
    --premium-plum: var(--jewel-surface);
    --premium-plum-soft: var(--jewel-surface-3);
    --premium-pearl: var(--jewel-bg-2);
    --premium-white: var(--jewel-surface);
    --premium-blush: var(--jewel-surface-2);
    --premium-ink: var(--jewel-text);
    --premium-muted: var(--jewel-muted);
    --premium-line: var(--jewel-line);
    --premium-rose: var(--jewel-rose);
    --premium-rose-strong: var(--jewel-rose-strong);
    --premium-rose-soft: rgba(240, 139, 173, .14);
    --premium-sage: var(--jewel-teal);
    --premium-sage-soft: rgba(104, 211, 194, .13);

    --brand-night: var(--jewel-bg);
    --brand-night-2: var(--jewel-surface);
    --brand-night-3: var(--jewel-surface-3);
    --brand-paper: var(--jewel-bg-2);
    --brand-surface: var(--jewel-surface);
    --brand-surface-2: var(--jewel-surface-2);
    --brand-ink: var(--jewel-text);
    --brand-muted: var(--jewel-muted);
    --brand-subtle: var(--jewel-subtle);
    --brand-line: var(--jewel-line);
    --brand-line-dark: var(--jewel-line);
    --brand-gold: var(--jewel-rose);
    --brand-gold-strong: var(--jewel-rose-strong);
    --brand-gold-soft: rgba(240, 139, 173, .14);
    --brand-success: var(--jewel-teal);
    --brand-success-soft: rgba(104, 211, 194, .13);
    --brand-danger: #ff7897;
    --brand-danger-soft: rgba(255, 120, 151, .13);
    --brand-info: #91b8ff;
    --brand-info-soft: rgba(145, 184, 255, .13);
    --bg: var(--jewel-bg);
    --bg2: var(--jewel-bg-2);
    --panel: var(--jewel-surface);
    --panel2: var(--jewel-surface-2);
    --line: var(--jewel-line);
    --line2: var(--jewel-line-strong);
    --text: var(--jewel-text);
    --muted: var(--jewel-muted);
    --subtle: var(--jewel-subtle);
    --red: var(--jewel-rose);
    --red2: var(--jewel-violet);
    --violet: var(--jewel-violet);
    --green: var(--jewel-teal);
    --amber: var(--jewel-amber);
    --blue: #91b8ff;
}

html, body { background: var(--jewel-bg); color: var(--jewel-text) }
body { background: radial-gradient(circle at 18% -5%, rgba(155, 132, 255, .12), transparent 27%), radial-gradient(circle at 88% 15%, rgba(240, 139, 173, .09), transparent 24%), var(--jewel-bg) }
.ambient span:nth-child(1) { background: var(--jewel-rose) }
.ambient span:nth-child(2) { background: var(--jewel-violet) }
.ambient span:nth-child(3) { background: var(--jewel-teal) }

/* Navigation and controls */
.site-header { border-color: var(--jewel-line); background: rgba(18, 9, 27, .95); box-shadow: 0 14px 38px rgba(4, 1, 8, .34) }
.nav-links a { color: var(--jewel-muted) }
.nav-links a:hover { background: rgba(155, 132, 255, .12); color: var(--jewel-text) }
.account-chip, .menu-toggle { border-color: var(--jewel-line); background: rgba(155, 132, 255, .07) }
.account-avatar { background: linear-gradient(135deg, var(--jewel-rose), var(--jewel-violet)); color: var(--jewel-button-ink) }
.menu-toggle span { background: var(--jewel-text) }

.btn-primary, .nav-actions .btn-primary, .dm2-button-primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--jewel-rose), #e879bd);
    color: var(--jewel-button-ink);
    box-shadow: 0 12px 30px rgba(240, 139, 173, .24);
}
.btn-primary:hover, .nav-actions .btn-primary:hover, .dm2-button-primary:hover {
    border-color: transparent;
    background: linear-gradient(135deg, #ff9abb, #b092ff);
    color: var(--jewel-button-ink);
    box-shadow: 0 17px 38px rgba(155, 132, 255, .28);
}
.btn-outline, .dm2-button-secondary { border-color: var(--jewel-line-strong); background: rgba(155, 132, 255, .06); color: var(--jewel-text) }
.btn-outline:hover, .btn-quiet:hover { border-color: var(--jewel-violet); background: rgba(155, 132, 255, .14); color: var(--jewel-text) }
.site-header .btn-outline, .site-header .btn-quiet, .nav-actions .btn-outline { border-color: var(--jewel-line); color: #e5c9dd }
.site-header .btn-outline:hover, .site-header .btn-quiet:hover { background: rgba(240, 139, 173, .12); color: #fff4fb }

/* All general surfaces are coloured, never white. */
.alert, .form-card, .dashboard-table-card, .guest-lookup-card, .sidebar-card,
.seat-panel, .booking-card, .ticket-card, .layout-editor-card, .success-card,
.counter-ticket, .scan-result {
    border-color: var(--jewel-line);
    background: linear-gradient(145deg, var(--jewel-surface-2), var(--jewel-surface));
    color: var(--jewel-text);
    box-shadow: 0 20px 55px rgba(4, 1, 8, .28);
}
.form-card h1, .form-card h2, .form-card h3,
.dashboard-table-card h2, .dashboard-table-card h3,
.guest-lookup-card h1, .guest-lookup-card h2,
.ticket-card h2, .ticket-card h3,
.success-card h1, .success-card h2,
.sidebar-card h2, .sidebar-card h3 { color: var(--jewel-text) }
.form-card p, .form-card label, .form-intro p, .page-head p,
.guest-lookup-card p, .muted { color: var(--jewel-muted) }
.eyebrow, .wizard-kicker, .back-link { color: var(--jewel-rose) }

input, select, textarea,
.form-card input, .form-card select, .form-card textarea,
.guest-checkout-fields input, .guest-lookup-card input,
.compact-form-fields input, .compact-form-fields select,
.layout-toolbar select {
    border-color: var(--jewel-line);
    background: var(--jewel-bg-2);
    color: var(--jewel-text);
}
input::placeholder, textarea::placeholder { color: #83748a }
input:focus, select:focus, textarea:focus,
.form-card input:focus, .form-card select:focus, .form-card textarea:focus {
    border-color: var(--jewel-violet);
    box-shadow: 0 0 0 3px rgba(155, 132, 255, .18);
}
.form-trust span, .hold-note, .security-row { border-color: var(--jewel-line); background: rgba(155, 132, 255, .08); color: var(--jewel-muted) }

/* Landing page and movie discovery */
.dm2-home {
    --dm2-ink: var(--jewel-text);
    --dm2-night: var(--jewel-bg);
    --dm2-night-soft: var(--jewel-surface);
    --dm2-paper: var(--jewel-bg-2);
    --dm2-surface: var(--jewel-surface-2);
    --dm2-yellow: var(--jewel-rose);
    --dm2-orange: var(--jewel-violet);
    --dm2-line: var(--jewel-line);
    background: var(--jewel-bg-2);
    color: var(--jewel-text);
}
.dm2-hero { background: radial-gradient(circle at 78% 28%, rgba(240, 139, 173, .2), transparent 25%), radial-gradient(circle at 57% 90%, rgba(104, 211, 194, .08), transparent 24%), linear-gradient(127deg, #100717, #261235 62%, #34205a) }
.dm2-hero::before { border-color: rgba(155, 132, 255, .25) }
.dm2-eyebrow, .dm2-hero-lead { color: var(--jewel-muted) }
.dm2-eyebrow > span { background: var(--jewel-teal) }
.dm2-hero h1 em { color: var(--jewel-rose) }
.dm2-button-secondary { border-color: rgba(155, 132, 255, .45); background: rgba(155, 132, 255, .08); color: var(--jewel-text) }
.dm2-button-secondary:hover { border-color: var(--jewel-violet); background: rgba(155, 132, 255, .17) }
.dm2-trust i { border-color: rgba(104, 211, 194, .5); color: var(--jewel-teal) }
.dm3-visual-field { border-color: rgba(155, 132, 255, .28); background: linear-gradient(145deg, #3a2051, #21122d) }
.dm3-visual-field::before { background: linear-gradient(145deg, var(--jewel-rose), var(--jewel-violet)) }
.dm3-visual-field::after { border-color: rgba(104, 211, 194, .25) }
.dm3-visual-field span { background: rgba(248, 238, 248, .16) }
.dm2-art-card { border-color: var(--jewel-line); background: rgba(18, 9, 27, .94) }
.dm2-art-card span { color: var(--jewel-rose) }
.dm2-art-quote { background: var(--jewel-surface-3); color: var(--jewel-text) }
.dm2-positioning { border-color: var(--jewel-line); background: var(--jewel-surface) }
.dm2-positioning > p, .dm2-positioning > div { border-color: var(--jewel-line); color: var(--jewel-muted) }
.dm2-positioning > p span, .dm2-positioning strong, .dm2-label, .dm2-text-link { color: var(--jewel-rose) }

.dm-home-movies { background: #190d24 }
.dm-home-archive, .dm2-services { background: #251431 }
.dm-home-trending { background: #12152d }
.dm2-stories { background: #1e1029 }
.dm-home-movies h2, .dm-home-archive h2, .dm2-services h2,
.dm-home-trending h2, .dm2-stories h2 { color: var(--jewel-text) }
.dm-home-movie-intro p, .dm2-section-head > p, .dm3-story-heading-aside p { color: var(--jewel-muted) }
.dm-home-trending .dm2-label, .dm2-stories .dm2-label,
.dm-home-trending .dm2-text-link, .dm2-stories .dm2-text-link { color: var(--jewel-rose) }

.dm-movie-card, .dm-library-card, .dm2-service-grid article {
    border-color: var(--jewel-line);
    background: linear-gradient(145deg, #2b1838, #21122d);
    color: var(--jewel-text);
    box-shadow: 0 14px 36px rgba(4, 1, 8, .2);
}
.dm-movie-card:hover, .dm-library-card:hover, .dm2-service-grid article:hover { border-color: var(--jewel-violet); box-shadow: 0 23px 56px rgba(44, 21, 60, .38) }
.dm-movie-poster, .dm-library-image { background: #170b20 }
.dm-movie-placeholder { background: radial-gradient(circle at 70% 15%, rgba(240, 139, 173, .28), transparent 28%), linear-gradient(145deg, #352047, #12091b) }
.dm-movie-status.live { background: rgba(104, 211, 194, .16); color: var(--jewel-teal) }
.dm-movie-status.archive { background: rgba(18, 9, 27, .88); color: var(--jewel-muted) }
.dm-movie-card-copy h3, .dm-movie-card-copy h3 a,
.dm-library-copy h2, .dm-library-copy h3, .dm-library-copy h3 a,
.dm2-service-grid h3 { color: var(--jewel-text) }
.dm-movie-card-copy > p, .dm-library-copy > p, .dm2-service-grid p { color: var(--jewel-muted) }
.dm-movie-card-copy > small, .dm-library-copy > small { color: var(--jewel-rose) }
.dm-movie-card-meta span, .dm-profile-proof span { background: rgba(155, 132, 255, .1); color: var(--jewel-muted) }
.dm-movie-card-meta strong { color: var(--jewel-text) }
.dm-movie-open { border-color: var(--jewel-line); color: var(--jewel-rose) }
.dm-trend-rank { color: var(--jewel-violet) }
.dm-home-trending .dm-movie-card, .dm-trending-collection .dm-movie-card { border-color: rgba(155, 132, 255, .28); background: linear-gradient(145deg, #272044, #1c1736) }
.dm2-service-icon, .dm2-service-grid article:nth-child(n) .dm2-service-icon { background: linear-gradient(135deg, rgba(240, 139, 173, .18), rgba(155, 132, 255, .17)); color: var(--jewel-rose) }
.dm2-story-card { border-color: var(--jewel-line); background: linear-gradient(145deg, #2b1838, #21122d) }
.dm2-story-copy h3, .dm2-story-copy h3 a { color: var(--jewel-text) }
.dm2-story-copy p { color: var(--jewel-muted) }
.dm2-story-copy > small { color: var(--jewel-teal) }
.dm2-filmmaker, .dm-editorial-cta, .dm-story-cta { background: linear-gradient(115deg, #8d315f, #6540a8 62%, #315c72) }
.dm2-filmmaker .dm2-label, .dm-editorial-cta .dm2-label, .dm-story-cta .dm2-label { color: #ffd2e2 }
.dm2-button-paper { background: var(--jewel-amber); color: #2a1a0c; box-shadow: 0 15px 34px rgba(240, 189, 104, .22) }

/* Directory and long-form storytelling */
.dm-movies-page, .dm-profile-page, .dm-editorial, .dm-story-detail { background: var(--jewel-bg-2); color: var(--jewel-text) }
.dm-movies-hero, .dm-editorial-hero { background: radial-gradient(circle at 80% 24%, rgba(240, 139, 173, .18), transparent 25%), linear-gradient(127deg, #100717, #2b1740 68%, #273558) }
.dm-movies-hero h1 em, .dm-editorial-hero h1 em, .dm-movies-count strong { color: var(--jewel-rose) }
.dm-movies-count, .dm-editorial-hero aside { border-color: var(--jewel-line-strong); background: rgba(155, 132, 255, .1) }
.dm-movie-directory-nav, .dm-story-filters { border-color: var(--jewel-line); background: var(--jewel-surface) }
.dm-movie-directory-nav a, .dm-story-filters a { color: var(--jewel-muted) }
.dm-movie-directory-nav a:hover, .dm-story-filters a:hover { background: rgba(155, 132, 255, .13); color: var(--jewel-text) }
.dm-movie-directory-nav span { background: rgba(240, 139, 173, .15); color: var(--jewel-rose) }
.dm-story-filters a.active { border-color: var(--jewel-violet); background: rgba(155, 132, 255, .17); color: #dcd4ff }
.dm-movie-collection, .dm-editorial-content { background: var(--jewel-bg-2) }
.dm-trending-collection { background: #12152d }
.dm-archive-collection, .dm-related-stories { background: #251431 }
.dm-movie-collection h2, .dm-editorial-heading h2, .dm-related-stories h2 { color: var(--jewel-text) }
.dm-movie-collection > header > p, .dm-editorial-heading > p { color: var(--jewel-muted) }
.dm-profile-back, .dm-story-back { color: var(--jewel-rose) }
.dm-profile-hero { background: var(--jewel-bg-2) }
.dm-profile-copy, .dm-profile-copy h1, .dm-profile-copy dt, .dm-profile-copy dd, .dm-profile-copy strong { color: var(--jewel-text) }
.dm-profile-copy dt, .dm-profile-copy .dm-profile-synopsis, .dm-profile-copy .dm-profile-proof span { color: var(--jewel-muted) }
.dm-profile-badges span { background: rgba(240, 139, 173, .15); color: var(--jewel-rose) }
.dm-profile-badges span + span { background: rgba(155, 132, 255, .12); color: #cbc0d0 }
.dm-profile-facts, .dm-profile-byline, .dm-story-byline, .dm-story-body dl div { border-color: var(--jewel-line) }
.dm-profile-poster { background: var(--jewel-surface); box-shadow: 0 32px 72px rgba(4, 1, 8, .36) }
.dm-profile-poster > span { background: radial-gradient(circle at 70% 15%, rgba(240, 139, 173, .26), transparent 27%), linear-gradient(145deg, #352047, #12091b) }
.dm-profile-trailer, .dm-story-gallery { background: #12152d }
.dm-profile-trailer .dm2-label, .dm-story-gallery .dm2-label { color: var(--jewel-teal) }

.dm-profile-about { background: radial-gradient(circle at 88% 6%, rgba(155, 132, 255, .2), transparent 24%), linear-gradient(132deg, #1a0d25, #2b1740 68%, #243355) }
.dm-profile-about::before { border-color: rgba(104, 211, 194, .21); box-shadow: 0 0 0 68px rgba(104, 211, 194, .035), 0 0 0 136px rgba(155, 132, 255, .025) }
.dm-profile-story-heading h2 { color: var(--jewel-text) !important }
.dm-profile-story-heading > p { color: var(--jewel-muted) }
.dm-profile-about .dm2-label { color: var(--jewel-teal) }
.dm-profile-story-grid article { border-color: var(--jewel-line-strong); background: linear-gradient(145deg, #2b1838, #21122d); box-shadow: 0 24px 58px rgba(4, 1, 8, .32) }
.dm-profile-story-grid article > div, .dm-profile-story-grid article h3, .dm-profile-story-grid article h3 a, .dm-profile-story-grid article strong { color: var(--jewel-text) }
.dm-profile-story-grid article p { color: var(--jewel-muted) }
.dm-profile-story-grid article .dm2-text-link { color: var(--jewel-rose) }
.dm-profile-story-empty { border-color: var(--jewel-line); background: rgba(155, 132, 255, .08) }
.dm-profile-story-empty h3 { color: var(--jewel-text) }
.dm-profile-story-empty p { color: var(--jewel-muted) }

.dm-profile-booking { background: #190d24; color: var(--jewel-text) }
.dm-profile-booking header h2, .dm-profile-region-title h3, .dm-profile-session time { color: var(--jewel-text) }
.dm-profile-booking header > p, .dm-profile-region-title p, .dm-profile-session div:first-child > span, .dm-profile-session em { color: var(--jewel-muted) }
.dm-booking-journey li, .dm-profile-region-grid > section { border-color: var(--jewel-line); background: linear-gradient(145deg, #2b1838, #21122d); box-shadow: 0 18px 44px rgba(4, 1, 8, .22) }
.dm-booking-journey b { background: linear-gradient(135deg, var(--jewel-rose), var(--jewel-violet)); color: var(--jewel-button-ink) }
.dm-booking-journey strong { color: var(--jewel-text) }
.dm-booking-journey small { color: var(--jewel-muted) }
.dm-profile-region-title { border-color: var(--jewel-line) }
.dm-profile-region-title > span { background: rgba(155, 132, 255, .13) }
.dm-profile-session { border-color: var(--jewel-line); background: var(--jewel-bg-2) }
.dm-profile-session small { color: var(--jewel-teal) }
.dm-profile-session-side strong { color: var(--jewel-teal) }
.dm-profile-session-side a { background: linear-gradient(135deg, #8d315f, #6540a8) }
.dm-profile-session-side a:hover { background: linear-gradient(135deg, var(--jewel-rose), var(--jewel-violet)); color: var(--jewel-button-ink) }
.dm-profile-no-session { color: var(--jewel-muted) }
.dm-story-heading h1, .dm-story-movie, .dm-story-byline strong, .dm-story-body dt, .dm-story-body dd, .dm-story-prose { color: var(--jewel-text) }
.dm-story-tagline, .dm-story-byline span, .dm-story-byline small { color: var(--jewel-muted) }
.dm-story-body aside > span, .dm-story-body aside > a { color: var(--jewel-rose) }
.dm-story-prose p:first-child::first-letter { color: var(--jewel-violet) }
.dm-story-prose blockquote { border-color: var(--jewel-rose); background: rgba(240, 139, 173, .12); color: var(--jewel-text) }

/* Auditorium and checkout remain colourful and dark. */
.auditorium-booking-page, .checkout-booking-page { background: radial-gradient(circle at 50% 18%, rgba(155, 132, 255, .15), transparent 28%), radial-gradient(circle at 88% 72%, rgba(104, 211, 194, .06), transparent 22%), linear-gradient(180deg, #100717, #21122d 62%, #12091b); color: var(--jewel-text) }
.auditorium-booking-page .booking-progress, .checkout-booking-page .booking-progress { border-color: var(--jewel-line) }
.auditorium-booking-page .booking-progress span, .checkout-booking-page .booking-progress span { color: var(--jewel-subtle) }
.auditorium-booking-page .booking-progress .active, .checkout-booking-page .booking-progress .active,
.auditorium-booking-page .back-link, .auditorium-booking-page .wizard-kicker,
.checkout-booking-page .back-link, .checkout-booking-page .wizard-kicker { color: var(--jewel-rose) }
.auditorium-booking-page .booking-progress .complete, .checkout-booking-page .booking-progress .complete { color: var(--jewel-teal) }
.auditorium-booking-page .booking-head h1, .checkout-booking-page .booking-head h1 { color: var(--jewel-text) }
.auditorium-booking-page .booking-head p, .checkout-booking-page .booking-head p { color: var(--jewel-muted) }
.auditorium-booking-page .mini-price { border-color: var(--jewel-line-strong); background: rgba(155, 132, 255, .08) }
.auditorium-booking-page .mini-price small { color: var(--jewel-muted) }
.auditorium-booking-page .mini-price strong { color: var(--jewel-amber) }
.auditorium-booking-page .seat-panel { border-color: var(--jewel-line-strong); background: linear-gradient(145deg, #2b1838, #160d21); color: var(--jewel-text); box-shadow: 0 32px 85px rgba(4, 1, 8, .42) }
.auditorium-booking-page .legend { color: var(--jewel-muted) }
.auditorium-booking-page .legend .available { border-color: var(--jewel-teal); background: rgba(104, 211, 194, .15) }
.auditorium-booking-page .legend .selected { border-color: var(--jewel-violet); background: var(--jewel-violet) }
.auditorium-booking-page .legend .unavailable { border-color: #4a3552; background: #4a3552 }
.auditorium-booking-page .legend .accessible { border-color: #91b8ff; background: rgba(145, 184, 255, .15) }
.auditorium-booking-page .auditorium-screen { border-color: var(--jewel-violet); color: #d7cffc; box-shadow: 0 -12px 42px rgba(155, 132, 255, .3) }
.auditorium-booking-page .public-seat-section { border-color: var(--jewel-line) }
.auditorium-booking-page .section-title-line h2 { color: var(--jewel-text) }
.auditorium-booking-page .section-title-line span { background: rgba(104, 211, 194, .14); color: var(--jewel-teal) }
.auditorium-booking-page .public-seat-section > header > strong, .auditorium-booking-page .seat-orientation, .auditorium-booking-page .row-label { color: var(--jewel-muted) }
.auditorium-booking-page .seat span { border-color: #4e9f91; background: rgba(104, 211, 194, .13); color: var(--jewel-teal) }
.auditorium-booking-page .seat:hover span { border-color: var(--jewel-rose); color: #ffc3d7 }
.auditorium-booking-page .seat input:checked + span { border-color: var(--jewel-violet); background: linear-gradient(135deg, var(--jewel-rose), var(--jewel-violet)); color: var(--jewel-button-ink); box-shadow: 0 8px 24px rgba(155, 132, 255, .34) }
.auditorium-booking-page .seat.unavailable span { border-color: #44334c; background: #44334c; color: #7f6e85 }

.auditorium-booking-page .sidebar-card, .checkout-booking-page .checkout-card, .checkout-booking-page .sidebar-card { border-color: var(--jewel-line-strong); background: linear-gradient(145deg, #2b1838, #21122d); color: var(--jewel-text); box-shadow: 0 32px 78px rgba(4, 1, 8, .4) }
.auditorium-booking-page .sidebar-card h2, .auditorium-booking-page .sidebar-card h3, .auditorium-booking-page .sidebar-card strong, .auditorium-booking-page .sidebar-card b, .auditorium-booking-page .sidebar-card label,
.checkout-booking-page h2, .checkout-booking-page strong { color: var(--jewel-text) }
.auditorium-booking-page .sidebar-card small, .auditorium-booking-page .sidebar-card p, .auditorium-booking-page .summary-movie span, .auditorium-booking-page .selected-seats > small, .auditorium-booking-page .muted,
.checkout-booking-page .checkout-movie p, .checkout-booking-page .review-block > span, .checkout-booking-page .sidebar-title small, .checkout-booking-page .price-breakdown span, .checkout-booking-page .security-row small { color: var(--jewel-muted) }
.auditorium-booking-page .sidebar-title, .auditorium-booking-page .summary-movie, .auditorium-booking-page .price-breakdown, .auditorium-booking-page .price-breakdown > div,
.checkout-booking-page .divider, .checkout-booking-page .sidebar-title, .checkout-booking-page .price-breakdown, .checkout-booking-page .price-breakdown > div { border-color: var(--jewel-line) }
.auditorium-booking-page .summary-poster { background: linear-gradient(145deg, #6540a8, #8d315f); color: var(--jewel-text) }
.auditorium-booking-page .guest-checkout-fields { border-color: rgba(104, 211, 194, .3); background: rgba(104, 211, 194, .08) }
.auditorium-booking-page .guest-checkout-fields input { border-color: var(--jewel-line); background: var(--jewel-bg-2); color: var(--jewel-text) }
.auditorium-booking-page .secure-badge { background: rgba(104, 211, 194, .13); color: var(--jewel-teal) }
.auditorium-booking-page .hold-note, .checkout-booking-page .hold-note, .checkout-booking-page .security-row { border-color: var(--jewel-line); background: rgba(155, 132, 255, .09); color: var(--jewel-muted) }
.selected-seats span, .seat-pills span, .seat-pills strong { background: rgba(240, 139, 173, .14); color: #ffc0d5 }
.progress span { background: linear-gradient(90deg, var(--jewel-rose), var(--jewel-violet)) }

/* Vendor dashboard and staff tools */
.vendor-dashboard-page { background: #190d24; color: var(--jewel-text) }
.vendor-dashboard-page .page-head { border-color: var(--jewel-line); background: radial-gradient(circle at 86% 15%, rgba(240, 139, 173, .2), transparent 22%), linear-gradient(126deg, #100717, #2b1740 68%, #273558) }
.vendor-dashboard-page .page-head h1 { color: var(--jewel-text) }
.vendor-dashboard-page .page-head p { color: var(--jewel-muted) }
.vendor-dashboard-page .page-head .btn-outline { border-color: var(--jewel-line-strong); color: #ddd4ff }
.vendor-dashboard-page .page-head .btn-outline:hover { background: rgba(155, 132, 255, .16); color: var(--jewel-text) }
.vendor-dashboard-page .approval-banner { border-color: rgba(240, 189, 104, .34); background: rgba(240, 189, 104, .1); color: #f7cf8b }
.vendor-dashboard-page .approval-banner strong, .vendor-dashboard-page .approval-banner li { color: #ffe0a8 }
.vendor-dashboard-page .approval-banner p { color: #d5b77f }
.vendor-dashboard-page .stats-grid article { border-color: var(--jewel-line-strong); background: linear-gradient(145deg, #352047, #21122d); color: var(--jewel-text); box-shadow: 0 18px 44px rgba(4, 1, 8, .3) }
.vendor-dashboard-page .stats-grid small, .vendor-dashboard-page .stats-grid em { color: var(--jewel-muted) }
.vendor-dashboard-page .stats-grid strong { color: var(--jewel-text) }
.vendor-dashboard-page .stat-icon { background: linear-gradient(135deg, rgba(240, 139, 173, .18), rgba(155, 132, 255, .2)); color: var(--jewel-rose) }
.vendor-dashboard-page .quick-actions a, .vendor-dashboard-page .dashboard-table-card { border-color: var(--jewel-line); background: linear-gradient(145deg, #2b1838, #21122d); color: var(--jewel-text) }
.vendor-dashboard-page .quick-actions a:hover { border-color: var(--jewel-violet); background: #352047; box-shadow: 0 20px 48px rgba(4, 1, 8, .3) }
.vendor-dashboard-page .quick-actions strong, .vendor-dashboard-page .table-heading h2, .vendor-dashboard-page .table-heading strong, .vendor-dashboard-page .responsive-table .tr, .vendor-dashboard-page .responsive-table .tr strong { color: var(--jewel-text) }
.vendor-dashboard-page .quick-actions small, .vendor-dashboard-page .table-heading p, .vendor-dashboard-page .table-heading > span, .vendor-dashboard-page .responsive-table small, .vendor-dashboard-page .empty-row { color: var(--jewel-muted) }
.vendor-dashboard-page .quick-actions > a > span { background: linear-gradient(135deg, rgba(240, 139, 173, .14), rgba(155, 132, 255, .15)); color: var(--jewel-rose) }
.vendor-dashboard-page .quick-actions b, .vendor-dashboard-page .responsive-table a, .vendor-dashboard-page .vendor-story-actions a, .vendor-dashboard-page .vendor-story-actions button { color: var(--jewel-rose) }
.vendor-dashboard-page .table-heading { background: rgba(155, 132, 255, .07) }
.vendor-dashboard-page .table-heading, .vendor-dashboard-page .responsive-table .tr { border-color: var(--jewel-line) }
.vendor-dashboard-page .responsive-table .tr.head { background: rgba(155, 132, 255, .12); color: #b9afd3 }
.vendor-dashboard-page .vendor-story-grid article { border-color: var(--jewel-line-strong); background: linear-gradient(145deg, #352047, #24152e); color: var(--jewel-text) }
.vendor-dashboard-page .vendor-story-body h3, .vendor-dashboard-page .vendor-story-body strong { color: var(--jewel-text) }
.vendor-dashboard-page .vendor-story-body small, .vendor-dashboard-page .vendor-story-body p, .vendor-dashboard-page .vendor-story-body em { color: var(--jewel-muted) }
.layout-help { border-color: rgba(145, 184, 255, .32); background: rgba(145, 184, 255, .1); color: #b9d1ff }
.layout-editor-card { background: linear-gradient(145deg, #2b1838, #21122d) }
.layout-toolbar { border-color: var(--jewel-line); background: rgba(155, 132, 255, .08) }
.layout-tool { border-color: var(--jewel-line); color: var(--jewel-muted) }
.layout-tool.active { border-color: var(--jewel-violet); background: rgba(155, 132, 255, .18); color: #d8d0ff }
.builder-screen { border-color: var(--jewel-violet); box-shadow: 0 -10px 34px rgba(155, 132, 255, .26) }
.layout-cell { border-color: var(--jewel-line); background: #1a0e24; color: var(--jewel-subtle) }
.layout-cell.has-seat { border-color: #4e9f91; background: rgba(104, 211, 194, .13); color: var(--jewel-teal) }
.layout-cell.premium { border-color: var(--jewel-rose); background: rgba(240, 139, 173, .15); color: #ffc0d5 }

/* Semantic states remain vivid and readable. */
.decision-approved, .payment-paid { background: rgba(104, 211, 194, .14); color: var(--jewel-teal) }
.decision-rejected, .payment-refund_pending, .payment-cancelled { background: rgba(255, 120, 151, .14); color: #ff9eb4 }
.decision-pending, .payment-pending { background: rgba(240, 189, 104, .14); color: var(--jewel-amber) }
.booking-approve { border-color: rgba(104, 211, 194, .44); background: rgba(104, 211, 194, .13); color: var(--jewel-teal) }
.booking-reject { border-color: rgba(255, 120, 151, .42); background: rgba(255, 120, 151, .13); color: #ff9eb4 }

/* Footer */
.site-footer { border-color: var(--jewel-line); background: #0d0614 }
.site-footer h3 { color: var(--jewel-text) }
.site-footer p, .footer-links a, .footer-security-list span, .footer-bottom { color: #ad9db2 }
.footer-links a:hover { color: var(--jewel-rose) }
.footer-bottom { border-color: var(--jewel-line) }

@media (max-width: 900px) {
    .nav-content { border-color: var(--jewel-line); background: rgba(18, 9, 27, .99) }
}

/* ================================================================
   Clarity layer
   Strong foreground hierarchy and visibly separated dark surfaces.
   ================================================================ */

:root {
    --clarity-heading: #fff8ed;
    --clarity-body: #e1d4e4;
    --clarity-muted: #bbaec1;
    --clarity-page: #0e0916;
    --clarity-section: #171022;
    --clarity-card: #272039;
    --clarity-card-alt: #21172f;
    --clarity-raised: #342249;
    --clarity-table-head: #3a2750;
    --clarity-border: rgba(240, 139, 173, .32);
}

body { color: var(--clarity-body) }
.site-main { color: var(--clarity-body) }

/* Global dark-surface type hierarchy */
.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6 { color: var(--clarity-heading) }

.site-main p,
.site-main li,
.site-main dd,
.site-main td,
.site-main label { color: var(--clarity-body) }

.site-main small,
.site-main dt,
.site-main .muted { color: var(--clarity-muted) }

/* Movie cards use indigo panels against plum pages. */
.dm-movie-card,
.dm-home-trending .dm-movie-card,
.dm-trending-collection .dm-movie-card,
.dm-library-card {
    border-color: var(--clarity-border);
    background: linear-gradient(145deg, #292341, #20182f);
}

.dm-movie-card-copy,
.dm-library-copy { color: var(--clarity-body) }
.dm-movie-card-copy h3,
.dm-movie-card-copy h3 a,
.dm-library-copy h2,
.dm-library-copy h3,
.dm-library-copy h3 a { color: var(--clarity-heading) !important }
.dm-movie-card-copy > p,
.dm-library-copy > p { color: var(--clarity-body) !important }
.dm-movie-card-copy > small,
.dm-library-copy > small { color: #89e1d3 !important }
.dm-movie-card-meta span { color: #d5c8db }
.dm-movie-card-meta strong { color: var(--clarity-heading) }
.dm-movie-open { color: #ff9fbe; border-color: var(--clarity-border) }

/* Movie profile uses strong cream text and clearly separated chapters. */
.dm-profile-page { background: var(--clarity-page) }
.dm-profile-hero { background: linear-gradient(135deg, #171022, #21152f) }
.dm-profile-copy,
.dm-profile-copy h1,
.dm-profile-copy dd,
.dm-profile-copy strong { color: var(--clarity-heading) !important }
.dm-profile-copy .dm-profile-synopsis { color: var(--clarity-body) !important }
.dm-profile-copy dt,
.dm-profile-copy .dm-profile-proof span { color: var(--clarity-muted) !important }
.dm-profile-facts { border-color: var(--clarity-border) }
.dm-profile-facts div { border-color: var(--clarity-border) }

.dm-profile-about { background: radial-gradient(circle at 88% 6%, rgba(155, 132, 255, .23), transparent 24%), linear-gradient(132deg, #161021, #29203f 62%, #20334f) }
.dm-profile-story-heading h2 { color: var(--clarity-heading) !important }
.dm-profile-story-heading > p { color: var(--clarity-body) !important }
.dm-profile-story-grid article { border-color: rgba(155, 132, 255, .48); background: linear-gradient(145deg, #342249, #24172f) }
.dm-profile-story-grid article h3,
.dm-profile-story-grid article h3 a,
.dm-profile-story-grid article strong { color: var(--clarity-heading) !important }
.dm-profile-story-grid article p { color: var(--clarity-body) !important }
.dm-profile-story-grid article small { color: #89e1d3 !important }
.dm-profile-story-grid article .dm2-text-link { color: #ff9fbe }

.dm-profile-booking { background: #131021 }
.dm-profile-booking header h2,
.dm-profile-region-title h3,
.dm-profile-session time { color: var(--clarity-heading) !important }
.dm-profile-booking header > p,
.dm-profile-region-title p,
.dm-profile-session div:first-child > span,
.dm-profile-session em { color: var(--clarity-body) !important }
.dm-booking-journey li { border-color: var(--clarity-border); background: #29203a }
.dm-booking-journey strong { color: var(--clarity-heading) }
.dm-booking-journey small { color: var(--clarity-muted) }
.dm-profile-region-grid > section { border-color: rgba(104, 211, 194, .26); background: linear-gradient(145deg, #26213a, #1d182d) }
.dm-profile-region-title { border-color: rgba(104, 211, 194, .24) }
.dm-profile-session { border-color: var(--clarity-border); background: #161021 }
.dm-profile-session small,
.dm-profile-session-side strong { color: #89e1d3 !important }

/* Story directory and full editorial story */
.dm-editorial,
.dm-story-detail { background: var(--clarity-page) }
.dm-editorial-content { background: var(--clarity-section) }
.dm-editorial-heading h2,
.dm-story-heading h1,
.dm-story-body dd,
.dm-related-stories h2,
.dm-related-stories h3 { color: var(--clarity-heading) !important }
.dm-editorial-heading > p,
.dm-story-tagline,
.dm-story-byline span,
.dm-story-byline small,
.dm-story-body dt,
.dm-story-prose { color: var(--clarity-body) !important }
.dm-story-body dl div,
.dm-story-byline { border-color: var(--clarity-border) }
.dm-story-prose blockquote { border-color: var(--jewel-rose); background: #34213f; color: var(--clarity-heading) }
.dm-related-stories { background: #20142b }

/* Seat selection: bright labels on a dark auditorium, distinct summary panel. */
.auditorium-booking-page .booking-head h1,
.checkout-booking-page .booking-head h1 { color: var(--clarity-heading) !important }
.auditorium-booking-page .booking-head p,
.checkout-booking-page .booking-head p { color: var(--clarity-body) !important }
.auditorium-booking-page .seat-panel { border-color: rgba(155, 132, 255, .46); background: linear-gradient(145deg, #29203f, #171022) }
.auditorium-booking-page .legend { color: var(--clarity-body) }
.auditorium-booking-page .section-title-line h2 { color: var(--clarity-heading) !important }
.auditorium-booking-page .public-seat-section > header > strong,
.auditorium-booking-page .seat-orientation,
.auditorium-booking-page .row-label { color: var(--clarity-muted) !important }
.auditorium-booking-page .sidebar-card,
.checkout-booking-page .checkout-card,
.checkout-booking-page .sidebar-card { border-color: var(--clarity-border); background: linear-gradient(145deg, #352449, #24172f) }
.auditorium-booking-page .sidebar-card h2,
.auditorium-booking-page .sidebar-card h3,
.auditorium-booking-page .sidebar-card strong,
.auditorium-booking-page .sidebar-card b,
.auditorium-booking-page .sidebar-card label,
.checkout-booking-page h2,
.checkout-booking-page strong { color: var(--clarity-heading) !important }
.auditorium-booking-page .sidebar-card small,
.auditorium-booking-page .sidebar-card p,
.auditorium-booking-page .summary-movie span,
.auditorium-booking-page .selected-seats > small,
.checkout-booking-page .checkout-movie p,
.checkout-booking-page .review-block > span,
.checkout-booking-page .sidebar-title small,
.checkout-booking-page .price-breakdown span,
.checkout-booking-page .security-row small { color: var(--clarity-body) !important }
.auditorium-booking-page .guest-checkout-fields { background: #1b3034 }
.auditorium-booking-page .guest-checkout-fields input { background: #111220; color: var(--clarity-heading) }

/* Vendor dashboard: separated layers and explicit text colours. */
.vendor-dashboard-page { background: #100a19 }
.vendor-dashboard-page .page-head h1 { color: var(--clarity-heading) !important }
.vendor-dashboard-page .page-head p { color: var(--clarity-body) !important }

.vendor-dashboard-page .stats-grid article {
    border-color: rgba(155, 132, 255, .46);
    background: linear-gradient(145deg, #34244c, #20172f);
}
.vendor-dashboard-page .stats-grid strong { color: var(--clarity-heading) !important }
.vendor-dashboard-page .stats-grid small { color: #89e1d3 !important }
.vendor-dashboard-page .stats-grid em { color: var(--clarity-muted) !important }

.vendor-dashboard-page .quick-actions a {
    border-color: var(--clarity-border);
    background: linear-gradient(145deg, #2c203e, #21172f);
}
.vendor-dashboard-page .quick-actions a:hover { border-color: var(--jewel-violet); background: #3a2750 }
.vendor-dashboard-page .quick-actions strong { color: var(--clarity-heading) !important }
.vendor-dashboard-page .quick-actions small { color: var(--clarity-body) !important }

.vendor-dashboard-page .dashboard-table-card {
    border-color: var(--clarity-border);
    background: var(--clarity-card-alt);
}
.vendor-dashboard-page .table-heading { background: var(--clarity-raised) }
.vendor-dashboard-page .table-heading h2,
.vendor-dashboard-page .table-heading strong { color: var(--clarity-heading) !important }
.vendor-dashboard-page .table-heading p,
.vendor-dashboard-page .table-heading > span { color: var(--clarity-body) !important }
.vendor-dashboard-page .responsive-table .tr {
    border-color: rgba(240, 139, 173, .2);
    background: #251832;
    color: var(--clarity-body) !important;
}
.vendor-dashboard-page .responsive-table .tr:nth-child(odd):not(.head) { background: #2b1b39 }
.vendor-dashboard-page .responsive-table .tr:hover:not(.head) { background: #342249 }
.vendor-dashboard-page .responsive-table .tr.head {
    background: var(--clarity-table-head);
    color: #ddd3f5 !important;
}
.vendor-dashboard-page .responsive-table .tr strong { color: var(--clarity-heading) !important }
.vendor-dashboard-page .responsive-table small { color: var(--clarity-muted) !important }
.vendor-dashboard-page .responsive-table a { color: #ff9fbe !important }
.vendor-dashboard-page .vendor-story-grid article { border-color: rgba(104, 211, 194, .3); background: linear-gradient(145deg, #2a233f, #20172f) }
.vendor-dashboard-page .vendor-story-body h3,
.vendor-dashboard-page .vendor-story-body strong { color: var(--clarity-heading) !important }
.vendor-dashboard-page .vendor-story-body p { color: var(--clarity-body) !important }
.vendor-dashboard-page .vendor-story-body small,
.vendor-dashboard-page .vendor-story-body em { color: var(--clarity-muted) !important }

/* Generic operational pages and forms */
.form-card,
.guest-lookup-card,
.booking-card,
.ticket-card,
.success-card,
.layout-editor-card {
    background: linear-gradient(145deg, var(--clarity-card), var(--clarity-card-alt));
}
.form-card h1, .form-card h2, .form-card h3,
.guest-lookup-card h1, .guest-lookup-card h2,
.ticket-card h2, .ticket-card h3,
.success-card h1, .success-card h2 { color: var(--clarity-heading) !important }
.form-card p, .form-card label,
.guest-lookup-card p,
.ticket-card p,
.success-card p { color: var(--clarity-body) !important }

@media (max-width: 650px) {
    .vendor-dashboard-page .responsive-table .tr { background: #251832 }
    .vendor-dashboard-page .responsive-table .tr:nth-child(odd):not(.head) { background: #2b1b39 }
}

/* 2026 cinema operations: amber/coral accents stay distinct from every panel. */
.dm-movie-status.live {
    border: 1px solid rgba(255, 192, 105, .58);
    background: #4b2b25;
    color: #ffe0ad !important;
}
.dm-profile-page .dm2-label,
.dm-profile-trailer .dm2-label,
.dm-profile-about .dm2-label,
.dm-profile-story-grid article small {
    color: #ffc069 !important;
}
.dm-profile-badges span {
    border: 1px solid rgba(255, 137, 160, .45);
    background: #4a243d;
    color: #ffd0db !important;
}
.dm-profile-badges span + span {
    border-color: rgba(176, 155, 255, .5);
    background: #312955;
    color: #e4ddff !important;
}
.dm-profile-region-grid > section {
    border-color: rgba(176, 155, 255, .42);
    background: linear-gradient(145deg, #2b2445, #1b162c);
}
.dm-profile-region-title { border-color: rgba(176, 155, 255, .35) }
.dm-profile-region-title > span { background: #3b315d }
.dm-profile-session {
    border-color: rgba(255, 137, 160, .3);
    background: #181326;
}
.dm-profile-session small { color: #ffb0c2 !important }
.dm-profile-session-side strong { color: #ffc069 !important }
.dm-profile-session-side a {
    color: #170d21 !important;
    background: linear-gradient(135deg, #ff9db3, #c6b5ff);
}
.dm-profile-session-side a:hover { background: linear-gradient(135deg, #ffc069, #ff91ad) }
.dm-profile-story-grid article .dm2-text-link,
.dm-profile-back { color: #ffabc0 !important }

/* Private attendance capture and reporting */
.attendance-page {
    min-height: 100vh;
    padding: clamp(32px, 5vw, 72px) max(24px, calc((100vw - 1240px) / 2));
    background:
        radial-gradient(circle at 88% 4%, rgba(155, 132, 255, .18), transparent 28%),
        linear-gradient(180deg, #100a19, #171022 55%, #100a19);
    color: var(--clarity-body);
}
.attendance-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
    gap: 32px;
    align-items: end;
    padding: 32px 0 34px;
}
.attendance-hero h1 { margin: 8px 0 10px; color: var(--clarity-heading); font-size: clamp(42px, 6vw, 76px); line-height: .96 }
.attendance-hero p { max-width: 670px; color: var(--clarity-body); font-size: clamp(16px, 2vw, 20px) }
.attendance-session {
    display: grid;
    gap: 7px;
    padding: 24px;
    border: 1px solid rgba(176, 155, 255, .42);
    border-radius: 20px;
    background: linear-gradient(145deg, #33254b, #21182f);
}
.attendance-session small { color: #ffc069 }
.attendance-session strong { color: var(--clarity-heading); font-size: 21px }
.attendance-session span { color: var(--clarity-body) }
.attendance-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}
.attendance-metrics article {
    display: grid;
    gap: 8px;
    padding: 20px 22px;
    border: 1px solid rgba(255, 137, 160, .28);
    border-radius: 18px;
    background: #2a1c39;
}
.attendance-metrics small { color: var(--clarity-muted) }
.attendance-metrics strong { color: #ffc069; font-size: 26px }
.attendance-window-warning {
    margin: 0 0 22px;
    padding: 18px 22px;
    border: 1px solid rgba(255, 192, 105, .5);
    border-radius: 16px;
    background: #452a28;
}
.attendance-window-warning strong { color: #ffe0ad }
.attendance-window-warning p { margin: 4px 0 0; color: #ead6d6 }
.attendance-workspace { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .8fr); gap: 22px; align-items: start }
.attendance-camera-card,
.attendance-form-card {
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid var(--clarity-border);
    border-radius: 24px;
    background: linear-gradient(145deg, #2d2242, #21172f);
    box-shadow: 0 28px 70px rgba(4, 1, 8, .32);
}
.attendance-camera-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 10; border-radius: 17px; background: #090710 }
.attendance-camera-frame video { width: 100%; height: 100%; object-fit: cover }
.attendance-camera-placeholder { position: absolute; inset: 0; display: grid; place-content: center; gap: 7px; padding: 30px; text-align: center; background: radial-gradient(circle, #342852, #100b1a 70%) }
.attendance-camera-placeholder[hidden] { display: none }
.attendance-camera-placeholder span { color: #ff91ad; font-size: 32px }
.attendance-camera-placeholder strong { color: var(--clarity-heading); font-size: 20px }
.attendance-camera-placeholder small { color: var(--clarity-muted) }
.attendance-camera-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px }
.attendance-camera-status { min-height: 48px; margin: 15px 0 0; color: var(--clarity-body) }
.attendance-form-card form p { display: grid; gap: 8px; margin: 0 0 18px }
.attendance-form-card label { color: var(--clarity-heading); font-weight: 700 }
.attendance-form-card input,
.attendance-form-card textarea {
    width: 100%;
    border: 1px solid rgba(176, 155, 255, .48);
    background: #110d1c;
    color: var(--clarity-heading);
}
.attendance-form-card input[type="file"] { padding: 14px }
.attendance-form-card small { color: var(--clarity-muted) }
.attendance-existing { display: grid; gap: 5px; margin-top: 20px; padding: 17px; border-radius: 15px; background: #171b35 }
.attendance-existing strong { color: #ffc069 }
.attendance-existing span { color: var(--clarity-heading) }
.attendance-existing a { color: #ffabc0 }
.scanner-attendance { display: grid; gap: 12px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--clarity-border) }
.scanner-attendance h2 { margin: 5px 0; color: var(--clarity-heading) }
.scanner-attendance > div p { color: var(--clarity-body) }
.scanner-attendance > a { display: flex; justify-content: space-between; gap: 20px; padding: 16px; border: 1px solid rgba(255, 137, 160, .3); border-radius: 14px; background: #21162d; color: #ffabc0 }
.scanner-attendance > a span { display: grid; gap: 4px }
.scanner-attendance > a strong { color: var(--clarity-heading) }
.scanner-attendance > a small { color: var(--clarity-muted) }
.attendance-empty { padding: 16px; border-radius: 12px; background: #21162d; color: var(--clarity-muted) }
.attendance-dashboard-card .attendance-table .tr { grid-template-columns: 1.5fr 1fr .6fr .6fr .9fr 1fr }

@media (max-width: 900px) {
    .attendance-hero, .attendance-workspace { grid-template-columns: 1fr }
    .attendance-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)) }
    .dm-profile-hero { gap: 34px }
    .dm-profile-region-grid { grid-template-columns: 1fr }
}
@media (max-width: 650px) {
    .attendance-page { padding-inline: 16px }
    .attendance-hero { padding-top: 24px }
    .attendance-metrics { grid-template-columns: 1fr }
    .attendance-workspace { gap: 15px }
    .attendance-camera-card, .attendance-form-card { padding: 15px; border-radius: 18px }
    .attendance-camera-actions .btn { flex: 1 1 130px }
    .scanner-attendance > a { align-items: flex-start; flex-direction: column }
    .dm-profile-session { grid-template-columns: 1fr }
    .dm-profile-session-side { align-items: flex-start }
    .dm-profile-session-side a { width: 100%; text-align: center }
}

/* V18 definitive movie directory and auditorium workspace layer.
   Kept last so older theme declarations cannot reduce contrast. */
.dm-movies-page {
    margin: -42px 0 -36px;
    background:
        radial-gradient(circle at 12% 7%, rgba(255, 95, 137, .2), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(139, 113, 255, .18), transparent 30%),
        #0b0813;
    color: #f8f0e9;
}
.dm-movies-page .dm-movies-hero {
    background: linear-gradient(135deg, #19112b 0%, #111730 54%, #281329 100%) !important;
    color: #fff8f0 !important;
}
.dm-movies-page .dm-movies-hero h1,
.dm-movies-page .dm-movies-hero h1 em { color: #fff8f0 !important }
.dm-movies-page .dm-movies-hero h1 em { color: #ff8faf !important }
.dm-movies-page .dm-movies-hero p { color: #d7cddd !important }
.dm-movies-page .dm-movies-count {
    border-color: rgba(255, 184, 113, .42) !important;
    background: rgba(12, 9, 25, .72) !important;
}
.dm-movies-page .dm-movies-count strong { color: #ffbd73 !important }
.dm-movies-page .dm-movies-count span { color: #fff8f0 !important }
.dm-movies-page .dm-movies-count small { color: #baaec3 !important }
.dm-movies-page .dm-movie-directory-nav {
    border-color: rgba(255, 255, 255, .12) !important;
    background: #100c1c !important;
}
.dm-movies-page .dm-movie-directory-nav a { color: #e8ddeb !important }
.dm-movies-page .dm-movie-directory-nav a:hover { color: #ff9db7 !important }
.dm-movies-page .dm-movie-directory-nav span {
    background: #2d2140 !important;
    color: #ffd098 !important;
}
.dm-movies-page .dm-movie-collection {
    border-color: rgba(255, 255, 255, .08) !important;
    background: #151024 !important;
}
.dm-movies-page .dm-trending-collection { background: #121831 !important }
.dm-movies-page .dm-archive-collection { background: #291634 !important }
.dm-movies-page .dm-movie-collection > header h2 { color: #fff8ef !important }
.dm-movies-page .dm-movie-collection > header > p { color: #d8cbdc !important }
.dm-movies-page .dm2-label { color: #ff9ab5 !important }
.dm-movies-page .dm-movie-grid,
.dm-movies-page .dm-trending-grid { align-items: stretch }
.dm-movies-page .dm-movie-card {
    overflow: hidden;
    height: 100%;
    border: 1px solid rgba(255, 170, 193, .18) !important;
    background: linear-gradient(155deg, #211831, #171124) !important;
    color: #f7eef3 !important;
    box-shadow: 0 22px 56px rgba(4, 2, 10, .32) !important;
}
.dm-movies-page .dm-movie-card:hover {
    border-color: rgba(255, 154, 181, .55) !important;
    box-shadow: 0 28px 66px rgba(5, 2, 12, .5) !important;
    transform: translateY(-4px);
}
.dm-movies-page .dm-movie-poster {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto !important;
    aspect-ratio: 2 / 3;
    background: linear-gradient(145deg, #3a2450, #11172d) !important;
}
.dm-movies-page .dm-movie-poster::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    pointer-events: none;
    background: linear-gradient(transparent, rgba(12, 8, 20, .7));
}
.dm-movies-page .dm-movie-poster > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.dm-movies-page .dm-movie-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-content: center;
    gap: 16px;
    padding: 28px;
    color: #fff8ef !important;
    text-align: center;
}
.dm-movies-page .dm-movie-placeholder img { width: 58px; margin: 0 auto; opacity: .9 }
.dm-movies-page .dm-movie-card-copy { background: transparent !important }
.dm-movies-page .dm-movie-card-copy small { color: #ffbd73 !important }
.dm-movies-page .dm-movie-card-copy h3,
.dm-movies-page .dm-movie-card-copy h3 a { color: #fff8ef !important }
.dm-movies-page .dm-movie-card-copy p { color: #d6cad8 !important }
.dm-movies-page .dm-movie-card-meta {
    border-color: rgba(255, 255, 255, .1) !important;
    color: #bfb1c7 !important;
}
.dm-movies-page .dm-movie-card-meta strong { color: #ffcca0 !important }
.dm-movies-page .dm-movie-open { color: #ff9fbc !important }
.dm-movies-page .dm-movie-status { z-index: 2 }
.dm-movies-page .dm-movies-empty {
    grid-column: 1 / -1;
    display: grid;
    min-height: 220px;
    place-content: center;
    gap: 8px;
    padding: clamp(28px, 5vw, 58px);
    border: 1px dashed rgba(255, 190, 211, .35) !important;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 0, rgba(255, 140, 175, .14), transparent 50%),
        #1b1228 !important;
    color: #f8edf3 !important;
    text-align: center;
}
.dm-movies-page .dm-movies-empty img { width: 50px; margin: 0 auto 8px; opacity: .9 }
.dm-movies-page .dm-movies-empty h3 { margin: 0; color: #fff8ef !important }
.dm-movies-page .dm-movies-empty p { margin: 0; color: #d4c4d8 !important }

.layout-presets {
    display: grid;
    grid-template-columns: minmax(230px, .75fr) minmax(360px, 1.25fr);
    gap: 12px 24px;
    align-items: center;
    margin: -8px 0 26px;
    padding: 18px;
    border: 1px solid rgba(255, 192, 105, .28);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 192, 105, .08), rgba(155, 132, 255, .08));
}
.layout-presets > div:first-child { display: grid; gap: 4px }
.layout-presets strong { color: #fff8ef }
.layout-presets span,
.layout-presets p { color: #cfc0d5 }
.layout-preset-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end }
.layout-preset-actions button {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 192, 105, .42);
    border-radius: 10px;
    background: #21182f;
    color: #ffd8a7;
    font-weight: 750;
}
.layout-preset-actions button:hover,
.layout-preset-actions button:focus-visible { border-color: #ff9ab5; background: #36203d; color: #fff8ef }
.layout-presets p { grid-column: 1 / -1; margin: 2px 0 0; font-size: 12px }
.layout-presets p.is-error { color: #ffb0ba }
.visual-builder-scroll {
    padding: 22px !important;
    border: 1px solid rgba(176, 155, 255, .2);
    border-radius: 18px;
    background:
        linear-gradient(rgba(176, 155, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(176, 155, 255, .045) 1px, transparent 1px),
        #110c1b;
    background-size: 24px 24px;
}
.layout-cell { min-width: 42px }

@media (max-width: 760px) {
    .dm-movies-page { margin-top: -28px }
    .dm-movies-page .dm-movies-hero { padding-inline: 20px }
    .dm-movies-page .dm-movie-collection { padding-inline: 16px }
    .dm-movies-page .dm-movie-collection > header { align-items: flex-start; flex-direction: column }
    .dm-movies-page .dm-movie-poster { aspect-ratio: 4 / 5 }
    .layout-presets { grid-template-columns: 1fr }
    .layout-preset-actions { justify-content: flex-start }
    .layout-preset-actions button { flex: 1 1 135px }
    .layout-presets p { grid-column: auto }
    .visual-builder-scroll { padding: 14px !important }
}
