/* Preview-only color layer. Layout, content, and application behavior stay unchanged. */
:root {
  --bg: #14212c;
  --ink: #f4f7f9;
  --muted: #bdcbd5;
  --line: #405666;
  --paper: #203241;
  --paper-ink: #f4f7f9;
  --paper-muted: #bdcbd5;
  --paper-line: #405666;
  background: var(--bg);
  color: var(--ink);
  color-scheme: dark;
  scrollbar-color: #617e90 var(--bg);
}

/* Marketing pages: the original composition, now in slate and orange. */
.hero-shade {
  background: linear-gradient(180deg, #0b1721a6 0%, #0b17212b 28%, #0b1721a3 75%, #14212ce8 100%);
}
.credentials, .about { background: #1b2d3b; }
.film { background: #203241; }
.stats { border-color: var(--line); }
.contact { background: #263b4b; color: var(--ink); }
.contact .section-label { color: var(--muted); border-color: var(--line); }
.contact h2 em { color: #d9e3e9; }
.contact p { color: var(--muted); }
.phone { border-color: var(--line); }
footer, .pricing-page footer { background: #101c26; color: var(--ink); }
.footer-socials .social-icon, .pricing-page .footer-socials .social-icon { filter: invert(1); }
dialog, #contact-dialog { background: #1b2d3b; border-color: var(--line); color: var(--ink); }
.dialog-bar button { background: #2c4354; }
.film-toggle-label { background: #14212ccc; }
#project-form input, #project-form textarea, #project-form select {
  background: #203241; border-color: var(--line); color: var(--ink); color-scheme: dark;
}
#project-form textarea::placeholder { color: var(--muted); }

/* Pricing and service pages use the same dark slate scale. */
.pricing-page {
  --pricing-bg: #14212c;
  --pricing-ink: #f4f7f9;
  --pricing-muted: #bdcbd5;
  --pricing-rule: #405666;
  --pricing-card: #203241;
  --pricing-accent: #ff926d;
}
.pricing-page header { background: #101c26; }
.pricing-intro { background: #1b2d3b; }
.pricing-intro h1 em, .pricing-intro-copy p { color: var(--pricing-muted); }
.rate-card { border-top-color: #5a7485; }
.rate-number, .price-prefix, .rate-deliverables li span,
.rate-purpose, .package-note, .pricing-condition, .pricing-module-number {
  color: var(--pricing-muted);
}
.rate-deliverables li, .rate-card button, .photo-rate button { border-color: var(--pricing-rule); }
.rate-card button:hover { color: var(--pricing-accent); }
.included-strip, .pricing-close, .pricing-partner-note { background: #263b4b; }
.pricing-module-trigger:hover { background: #2c4354; }
.pricing-module-trigger[aria-expanded=true] { background: #30495b; }
.corporate-image { background: var(--pricing-card); }

/* Public booking calendar and forms. Availability and selected states remain distinct. */
.calendar-paper { color-scheme: dark; }
.icon-btn { border-color: var(--line); }
.icon-btn:hover:enabled { background: #30495b; border-color: #7692a3; }
.legend i { background: #8da5b3; }
.weekdays span, .day-number, .calendar-foot svg { color: var(--paper-muted); }
.weekdays .bookable-weekday { color: #ffb99c; background: #35404b; }
.day.outside .day-number { color: #90a1ac; }
.day.bookable { background: #2a3e4c; }
.day.bookable .day-number { color: var(--ink); }
.day.full { background: #192a37; }
.day.full .day-number { color: #a9bac5; }
.day.selected { background: #4b3940; }
.slot { background: #3b3640; color: #ffd1bc; border-color: #b47559; }
.slot:hover:enabled { background: #584049; border-color: #ff986f; }
.slot:disabled { background: #21323f; color: #bdcbd5; border-color: var(--line); }
.slot.chosen { color: #14212c; }
.calendar-message { background: #2c4354; }
.field input, .field select, .field textarea {
  background: #203241; border-color: var(--line); color: var(--ink); color-scheme: dark;
}
.field input::placeholder, .field textarea::placeholder { color: #adbec9; }
.btn { background: #2c4354; }
.btn:hover { background: #365367; }
.btn-primary, .contact-button { background: var(--orange); color: #14212c; }
.btn-primary:hover { background: #ff7546; }
.btn-outline { background: transparent; border-color: #7692a3; }
.mobile-date { color: var(--ink); }
.mobile-date:disabled { color: var(--paper-muted); }
.special-request { color: var(--ink); border-color: #7692a3; }
.special-request:hover:not(:disabled) { background: #30495b; }
.special-request:disabled { color: var(--paper-muted); border-color: var(--line); }
.booking-footer a { color: var(--muted); }

/* Football-photo booking desk and owner workspace. */
.secondary-page { background: var(--bg); color: var(--ink); scrollbar-color: #617e90 var(--bg); }
.secondary-page .field input, .secondary-page .field select, .secondary-page .field textarea {
  background: #203241; border-color: var(--line); color: var(--ink); color-scheme: dark;
}
.calendar-day, .calendar-label { background: var(--bg); }
.admin-page .calendar-day:not(.blank):hover { background: #2c4354; }
.admin-page .calendar-day.unavailable { background: #1a2a37; color: var(--muted); }
.admin-page .calendar-day.unavailable span { color: var(--muted); }
.admin-page .calendar-day.past { color: #a1b2bd; }
.admin-page .calendar-day[aria-pressed=true],
.admin-page .calendar-day[aria-pressed=true] span { color: #14212c; }
.photo-grid img, .admin-photo-row img { background: #172633; }
.login-panel, .desk-section:has(>form), .date-panel, .admin-page #school-workspace {
  background: #203241; color: var(--ink);
}
.desk-section:has(>form)>p, .desk-section:has(>form) .small,
.admin-page .date-panel .small, .admin-page .date-panel p, .admin-page .date-panel dt,
.admin-page #school-workspace .small, .fee-check small { color: var(--muted); }
.desk-section:has(>form) .field input, .desk-section:has(>form) .field select,
.desk-section:has(>form) .field textarea, .login-panel .field input,
.date-panel .field input, .date-panel .field select, .date-panel .field textarea,
.admin-page #school-workspace .field input, .admin-page #school-workspace .field select,
.admin-photo-row .field input {
  background: #14212c; color: var(--ink); border-color: var(--line); color-scheme: dark;
}
.desk-section:has(>form) .gallery-admin-row, .date-panel .booking-row,
.date-panel .fee-details, .admin-page .upload-panel, .admin-page #upload-form,
.admin-page .admin-photo-row, .admin-page .share-gallery,
.manual-unlock, .unlock-record, .deleting-preview { border-color: var(--line); }
.desk-section:has(>form) .btn:not(.btn-primary), .date-panel .btn:not(.btn-primary),
.admin-page #school-workspace .btn:not(.btn-primary) {
  color: var(--ink); border-color: #7692a3;
}
.desk-section:has(>form) .btn:not(.btn-primary):hover { background: #30495b; }
.login-panel .btn-primary, .desk-section:has(>form) .btn-primary,
.payment-panel .btn-primary, .admin-page .btn-primary { color: #14212c; }
.desk-section:has(>form) input::placeholder { color: var(--muted); }
.admin-photo-row, .admin-page #photos-view #upload-form { background: #1b2d3b; border-color: var(--line); }
.admin-page #photos-view #upload-form input[type=file] { background: #14212c; }
.admin-page .date-panel .field, .admin-page #school-workspace .field { color: var(--ink); }
.setup-help { color: var(--muted); }
.manual-unlock [data-unlock-result]:not(:empty) { background: #2c4354; }
.admin-page dialog, #invoice-dialog { background: #203241; color: var(--ink); border-color: var(--line); }
.admin-page dialog .btn { color: var(--ink); border-color: #7692a3; }
.admin-page .btn-danger, .admin-page #school-workspace .btn-danger,
#delete-photo-error { color: #ffb0a6 !important; border-color: #e77f73 !important; }
.admin-page .btn-danger:hover { background: #5b3039 !important; }
.staff-guide, .photo-support { border-color: var(--line); }
.invoice-table th, .invoice-table td { border-color: var(--line); }
.invoice-table th { color: var(--muted); }

/* Flight order dialog, calendar, and flight administration. */
.flight-ui { --flight-ink: #f4f7f9; --flight-muted: #bdcbd5; --flight-line: #405666; }
.flight-ui button:hover, .flight-ui .flight-button:hover { border-color: #7692a3; }
#flight-dialog, .flight-calendar-dialog.flight-ui, .flight-actions { background: #1b2d3b; }
.flight-preview, .flight-note, .flight-confirm-action { background: #2c4354; color: var(--flight-ink); border-color: #7692a3; }
.flight-summary { background: #14212c; }
.flight-field input, .flight-field select, .flight-field textarea {
  background: #14212c; border-color: var(--flight-line); color: var(--flight-ink);
}
.flight-ui .flight-date-cell { border-color: var(--flight-line); }
.flight-ui .flight-date-full, .flight-ui .flight-day-full { background: #263a49; border-color: var(--flight-line); }
.flight-ui .flight-address-option[aria-selected=true] { background: #30495b; border-color: #7692a3; }
.flight-ui .flight-text-action { color: var(--flight-ink); }
.flight-location-map { background: #263b4b; }

/* Private client-gallery and customer-photo screens. */
.gallery-studio {
  --gallery-ink: #f4f7f9;
  --gallery-paper: #14212c;
  --gallery-muted: #bdcbd5;
  --gallery-line: #405666;
  background: var(--gallery-paper); color: var(--gallery-ink); color-scheme: dark;
}
.gallery-header { background: #101c26; color: var(--gallery-ink); }
.gallery-header nav a, .gallery-studio .gallery-dark-button {
  background: #203241; border-color: #203241; color: var(--gallery-ink);
}
.gallery-header nav a:hover, .gallery-studio .gallery-dark-button:hover { background: #30495b; }
.gallery-header nav [aria-current=page], .gallery-studio .gallery-primary { color: #14212c; }
.gallery-studio button:hover, .gallery-button:hover { background: #2c4354; border-color: #7692a3; }
.gallery-studio .gallery-primary:hover { background: #ff7546; }
.gallery-studio input, .gallery-studio select {
  background: #14212c; color: var(--gallery-ink); border-color: var(--gallery-line);
}
.gallery-studio input::placeholder { color: var(--gallery-muted); }
.gallery-upload { background: #203241; }
.gallery-upload.drag-over { background: #3b3943; outline-color: #ff986f; }
.gallery-file-media, .gallery-studio .gallery-skeleton { background: #263b4b; }
.gallery-file-media span { background: #14212c; }
.gallery-studio .gallery-error, .gallery-file .gallery-file-delete { color: #ffb0a6; }
.gallery-studio .gallery-success { color: #9fe0b6; }
.gallery-skip { background: #203241; }
