/* Arcade panels: shared by booking and service rates only. */
:is(.booking-page, .pricing-page) { --panel-edge: #426376; --panel-accent: #71f5ed; }
:is(.booking-page, .pricing-page) .hero { justify-content: flex-start; padding: 0 !important; background: radial-gradient(ellipse at 20% 0, #16304499, transparent 55%), radial-gradient(ellipse at 90% 35%, #341c4c70, transparent 60%), #090c19; }
:is(.booking-page, .pricing-page) .hero { position: relative; isolation: isolate; }
:is(.booking-page, .pricing-page) #fireworks-canvas { position: absolute; inset: 0; z-index: 0; display: block; pointer-events: none; opacity: .9; mix-blend-mode: screen; }
:is(.booking-page, .pricing-page) .hero-content { max-width: 1150px; padding: 110px 32px 150px !important; }
.booking-page .hero-content { position: relative; z-index: 1; }
:is(.booking-page, .pricing-page) .back-nav { position: absolute; top: 22px; left: 28px; }
:is(.booking-page, .pricing-page) .back-link { border: 0; padding: 8px 0; font: .9rem 'VCR', monospace; color: #a8d9df; }
.arcade-intro { display: flex; justify-content: center; align-items: center; gap: 16px; margin-bottom: 20px; }
.arcade-companion { width: 56px; height: 56px; flex: 0 0 56px; }
.arcade-intro p { margin: 0; font: .8rem 'VCR', monospace; letter-spacing: .12em; color: #b6b9d0; text-align: left; line-height: 1.6; }
.arcade-intro strong { display: block; color: #71f5ed; font-weight: normal; }
:is(.booking-page, .pricing-page) .site-title { font: clamp(2rem, 5.6vw, 4rem)/1.15 'VCR', monospace !important; color: #ebfffb !important; text-shadow: 3px 3px 0 #207a82 !important; letter-spacing: .04em; margin: 0 0 18px !important; }
:is(.booking-page, .pricing-page) .site-title, .pricing-page .section-title, .booking-page #current-month-year { background: none; -webkit-text-fill-color: currentColor; animation: none; }
.page-lede { max-width: 650px; margin: 0 auto 28px; color: #bcc7d5; font: 1.05rem/1.65 'VCR', monospace; }
.booking-steps { display: flex; justify-content: center; gap: 28px; margin: 0 auto 48px; padding: 0; list-style: none; color: #b8cbd6; font: .85rem 'VCR', monospace; }
.booking-steps span { display: inline-block; color: #71f5ed; border-bottom: 2px solid #71f5ed; padding: 5px; margin-right: 6px; }
.booking-page .booking-options { display: grid; max-width: 1060px; grid-template-columns: minmax(0, .95fr) minmax(0, 1.2fr); gap: 18px 32px; align-items: start; }
.booking-options > .booking-btn { grid-column: 1; margin: 0 !important; }
.booking-options > .booking-btn:first-child { grid-row: 1; }
.booking-options > .square-btn { grid-row: 2; --panel-accent: #ff91d5; }
.booking-options > .contact-btn { grid-row: 3; --panel-accent: #ffe89a; }
.booking-page .booking-btn { clip-path: none; border: 1px solid var(--panel-edge) !important; background: linear-gradient(135deg, #142236, #111223) !important; color: var(--panel-accent) !important; padding: 22px 24px !important; text-align: left; align-items: flex-start; position: relative; box-shadow: 4px 4px 0 #050916; }
.booking-page .booking-btn::after { content: '↗'; position: absolute; top: 18px; right: 20px; font: 24px 'VCR', monospace; color: var(--panel-accent); }
.booking-page .booking-btn:hover { transform: translateY(-3px); border-color: var(--panel-accent) !important; box-shadow: 4px 7px 0 #050916, 0 0 20px #71f5ed12; }
.booking-page .booking-btn .btn-text { font: 1.15rem/1.35 'VCR', monospace; letter-spacing: .04em; margin: 12px 0 8px; max-width: 90%; }
.booking-page .booking-btn .btn-sub { font: .9rem/1.5 'VCR', monospace; color: #b5bbce; }
.booking-page .btn-icon svg { display: block; width: 32px; height: 32px; fill: currentColor; shape-rendering: crispEdges; }
.booking-page .calendar-wrapper { grid-column: 2; grid-row: 1 / span 3; width: 100%; margin: 0; }
.panel-label { font: .8rem 'VCR', monospace; color: #a6d6e0; letter-spacing: .14em; text-align: left; margin-bottom: 14px; }
.booking-page .monitor-frame { padding: 14px; border: 1px solid #426376; border-bottom: 6px solid #23364d; border-radius: 0; background: #10192b; box-shadow: 4px 4px 0 #050916; }
.booking-page .monitor-frame::after { display: none; }
.booking-page .calendar-container { padding: 10px; background: transparent; }
.booking-page #current-month-year { min-width: 0; font: 1.35rem 'VCR', monospace; color: #effffb; text-shadow: none; }
.booking-page .calendar-header { border-bottom: 1px solid #426376; margin-bottom: 14px; }
.booking-page .cal-nav-btn { min-width: 38px; min-height: 38px; }
.booking-page .cal-day { min-height: 52px; border: 1px solid #284055; background: #182438; border-radius: 0; }
.booking-page .cal-day.today { border-color: #71f5ed; background: #204450; box-shadow: none; }
.booking-page .cal-date-num { font: .9rem 'VCR', monospace; }
.booking-page .calendar-disclaimer { grid-column: 2; grid-row: 4; margin: 0 !important; width: 100% !important; max-width: none !important; color: #b7c3d1 !important; text-shadow: none !important; font: .8rem/1.5 'VCR', monospace !important; text-align: left !important; padding: 0 !important; }
#calendar-status { font: .85rem/1.5 'VCR', monospace; color: #afc5d6; margin: 14px 0 0; text-align: left; }
.booking-page .donation-section { margin-top: 48px !important; border-top: 1px solid #2a344c; padding-top: 28px; }
.booking-page .donation-section .booking-btn { max-width: 400px; width: 100%; opacity: .8; --panel-accent: #c5a4ff; }
.booking-page .terminal-content { background: #10182a; border: 1px solid #71f5ed; box-shadow: 6px 6px 0 #050916; }
.booking-page .terminal-title { font-family: 'VCR', monospace; text-shadow: none; }
.pricing-page .pricing-tabs { margin: 32px auto 22px; padding: 6px; gap: 6px; background: #0c1324; border: 1px solid #344657; max-width: none; }
.pricing-page .tab-btn { clip-path: none; min-width: 0; border: 0; padding: 14px 12px; font: 1rem 'VCR', monospace; letter-spacing: .04em; background: transparent; color: #b7c7d7; transition: background .2s, color .2s; }
.pricing-page .tab-btn:hover { transform: none; box-shadow: none; text-shadow: none; background: #203448; }
.pricing-page .tab-btn.active { background: #71f5ed; color: #061321; box-shadow: 3px 3px 0 #1b6c77; }
.pricing-page .tab-btn::before { content: none; }
.estimate-guide { max-width: 850px; margin: 0 auto 38px; text-align: left; font: .9rem/1.65 'VCR', monospace; color: #b8c6d4; }
.estimate-guide summary { cursor: pointer; color: #b6ffef; padding: 8px 0; }
.estimate-guide p { margin: 8px 0 0; }
.pricing-page .pricing-content { --panel-accent: #71f5ed; padding-top: 12px; }
.pricing-page #portraits { --panel-accent: #ff91d5; }
.pricing-page #events { --panel-accent: #81ffc9; }
.pricing-page #weddings { --panel-accent: #ffe89a; }
.pricing-page #headshots { --panel-accent: #c5a4ff; }
.pricing-content > div:first-child { display: none !important; }
.pricing-page .pricing-content > .site-tagline { font: .8rem 'VCR', monospace; color: var(--panel-accent) !important; text-shadow: none !important; margin-bottom: 18px !important; letter-spacing: .14em; text-align: left; }
.pricing-page .section-title { font: 1.5rem/1.35 'VCR', monospace !important; color: #eaf7f8 !important; text-shadow: none !important; text-align: left; margin-bottom: 22px !important; }
.pricing-page .card-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: 20px; }
.pricing-page .card { text-align: left !important; padding: 30px 24px 24px; border: 1px solid #40576b !important; border-top: 3px solid var(--panel-accent) !important; box-shadow: 4px 4px 0 #050916 !important; background: linear-gradient(150deg, #1a2338, #101322); transform: none !important; animation: none !important; }
.pricing-page .card:hover { border-color: var(--panel-accent) !important; background: linear-gradient(150deg, #213247, #15172c); }
.pricing-page .card h3 { font: 1.15rem/1.4 'VCR', monospace !important; margin: 8px 0 14px !important; color: #f1f7ff !important; }
.pricing-page .card > div:not(.bundle-badge):not(.bundle-savings):not([style*="position: absolute"]):not([style*="font-size: 0.9rem"]) { font: 2.25rem 'VCR', monospace !important; color: var(--panel-accent) !important; margin-bottom: 20px !important; }
.pricing-page .card ul, .pricing-page .card p { font: .95rem/1.8 'VCR', monospace !important; color: #c2c8d9 !important; }
.pricing-page .card li { padding: 4px 0; border-bottom: 1px solid #ffffff0b; }
.pricing-page .card [style*="position: absolute"] { top: -3px !important; right: 0 !important; transform: none !important; box-shadow: none !important; padding: 4px 8px !important; font: .7rem 'VCR', monospace !important; }
.pricing-page .card.selected { border-color: var(--panel-accent) !important; background: linear-gradient(145deg, #264354, #1e243b); box-shadow: 4px 4px 0 #050916, inset 0 0 0 1px var(--panel-accent) !important; }
.pricing-page .card.selected::after { content: '✓ SELECTED'; top: auto; bottom: 8px; right: 10px; font: .7rem 'VCR', monospace; color: var(--panel-accent); background: #101a2a; }
.pricing-page .bundle-badge { position: static; display: inline-block; font: .75rem 'VCR', monospace; margin: 0 0 10px; padding: 5px 8px; background: #263f50 !important; color: #b6ffef; border: 1px solid #4d7a88; }
.pricing-page .bundle-savings { color: #81ffc9; font: .85rem 'VCR', monospace; }
.pricing-page .estimate-bar { max-width: 800px; border: 1px solid #71f5ed; box-shadow: 5px 5px 0 #050916; background: #101b2bf5; gap: 16px; }
.pricing-page .estimate-bar:not(.active) { visibility: hidden; pointer-events: none; }
.pricing-page .estimate-btn { font: .85rem 'VCR', monospace; padding: 12px 16px; min-height: 40px; white-space: nowrap; }
.pricing-page .booking-btn { font-family: 'VCR', monospace; clip-path: none; box-shadow: 4px 4px 0 #050916; }
.pricing-page .booking-btn .btn-text { font: 1.1rem 'VCR', monospace; }
@media (max-width: 760px) {
    :is(.booking-page, .pricing-page) .hero-content { padding: 100px 20px 150px !important; }
    :is(.booking-page, .pricing-page) .back-nav { left: 20px; right: 20px; width: auto; max-width: none; text-align: left; }
    :is(.booking-page, .pricing-page) .back-link { font-size: .75rem; }
    .arcade-intro { gap: 12px; }
    .arcade-intro p { font-size: .7rem; letter-spacing: .06em; }
    .booking-steps { gap: 8px; font-size: .72rem; margin-bottom: 30px; }
    .booking-steps span { display: block; width: 28px; margin: 0 auto 8px; }
    .booking-page .booking-options { display: flex; gap: 18px !important; }
    .booking-page .calendar-wrapper { margin-top: 10px; }
    .booking-page .calendar-container { padding: 4px; }
    .booking-page .monitor-frame { padding: 10px; }
    .booking-page .cal-day { min-height: 40px; }
    .booking-page .cal-day-header { font-size: .65rem; }
    .pricing-page .pricing-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pricing-page .tab-btn:last-child { grid-column: 1 / -1; }
    .pricing-page .tab-btn { font-size: .9rem; padding: 13px 8px; }
    .pricing-page .card-grid { grid-template-columns: 1fr !important; }
    .pricing-page .estimate-bar { flex-direction: column; align-items: stretch; padding: 14px 16px; width: calc(100% - 32px); gap: 10px; }
    .pricing-page .estimate-bar.active { bottom: 12px; }
    .pricing-page .estimate-bar > div:last-child { justify-content: flex-end; }
}

/* Booking inquiry form */
.booking-page #inquiry-modal .inquiry-terminal {
    width: min(600px, 94vw);
    max-height: calc(100vh - 32px);
    overflow-y: auto;
}
.booking-page .inquiry-terminal-grid {
    display: block;
    padding: 15px;
}
.booking-page .inquiry-intro {
    color: #dbe6f1;
    font: .9rem/1.6 'VCR', monospace;
    margin: 0 0 18px;
}
.booking-page .inquiry-intro span { color: var(--neon-magenta); }
.booking-page .inquiry-hint {
    margin: -8px 0 16px;
    color: #aeb8c9;
    font: .75rem/1.5 'VCR', monospace;
}
.booking-page .inquiry-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.booking-page .inquiry-field { min-width: 0; }
.booking-page .inquiry-field-wide { grid-column: 1 / -1; }
.booking-page .inquiry-field label {
    display: block;
    margin-bottom: 7px;
    color: #b6ffef;
    font: .78rem/1.4 'VCR', monospace;
}
.booking-page .inquiry-field label span { color: var(--neon-yellow); }
.booking-page .inquiry-field input,
.booking-page .inquiry-field select,
.booking-page .inquiry-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #426376;
    border-radius: 0;
    background: #0b1220;
    color: #f3f7ff;
    font: .9rem/1.5 'VCR', monospace;
}
.booking-page .inquiry-field select { color-scheme: dark; }
.booking-page .inquiry-field textarea { min-height: 92px; resize: vertical; }
.booking-page .inquiry-field input::placeholder,
.booking-page .inquiry-field textarea::placeholder { color: #8896a9; opacity: 1; }
.booking-page .inquiry-field input:focus,
.booking-page .inquiry-field select:focus,
.booking-page .inquiry-field textarea:focus {
    outline: 2px solid #81ffc9;
    outline-offset: 2px;
    border-color: #81ffc9;
}
.booking-page .inquiry-field small {
    display: block;
    margin-top: 5px;
    color: #9cabc0;
    font: .72rem/1.4 'VCR', monospace;
}
.booking-page .inquiry-form .financial-notice { margin: 16px 0; }
.booking-page .inquiry-form .financial-notice strong {
    color: var(--neon-yellow);
    font: .78rem 'VCR', monospace;
}
.booking-page .inquiry-form .financial-notice p {
    margin: 6px 0 0;
    color: #d3d9e4;
    font: .78rem/1.5 'VCR', monospace;
}
.booking-page .inquiry-submit {
    width: 100%;
    cursor: pointer;
    border-color: var(--neon-cyan) !important;
    color: var(--neon-cyan) !important;
}
.booking-page .inquiry-submit:disabled { cursor: wait; opacity: .7; }
.booking-page .inquiry-status {
    min-height: 1.4em;
    margin: 12px 0 0;
    color: #b6ffef;
    font: .8rem/1.5 'VCR', monospace;
}
.booking-page .inquiry-status.is-error { color: #ff9cae; }
.booking-page .inquiry-fallback {
    margin: 8px 0 0;
    color: #aeb8c9;
    font: .72rem/1.5 'VCR', monospace;
}
.booking-page .inquiry-fallback a { color: #b6ffef; }
.booking-page .inquiry-success {
    padding: 18px;
    border: 1px solid #81ffc9;
    background: #102329;
    color: #e7fff8;
    font: .9rem/1.65 'VCR', monospace;
}
.booking-page .inquiry-success-title {
    color: #81ffc9;
    font-size: 1.1rem;
}
.booking-page .inquiry-success .inquiry-submit { margin-top: 12px; }
.booking-page #inquiry-form[hidden],
.booking-page #inquiry-success[hidden] { display: none !important; }
.booking-page .inquiry-trap {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
@media (max-width: 600px) {
    .booking-page .inquiry-fields { grid-template-columns: 1fr; gap: 12px; }
    .booking-page .inquiry-field-wide { grid-column: auto; }
    .booking-page .inquiry-terminal-grid { padding: 8px; }
    .booking-page .inquiry-intro { font-size: .78rem; }
}
