/**
 * Tema Oscuro v1.1 — sitio público SaaS Enterprise.
 * Alcance exclusivo: [data-belleza-public-theme="oscuro"]
 * No afecta Belleza, Corporativo, Elegante, Clásico ni Moderno.
 *
 * [DARK-BRAND] Los acentos de MARCA (botones, foco, selección, calendario)
 * usan las variables de "Sitio y Marca" inyectadas por public_site_theme.php:
 *   --color-button / --color-primary / --color-primary-dark
 * Los literales azules (#2563EB / #1D4ED8) quedan sólo como fallback.
 * Las superficies (fondos, texto, bordes) siguen siendo fijas del shell dark.
 */

[data-belleza-public-theme="oscuro"] {
  --oscuro-nav-offset: 70px;
  --shadow-card: 0 12px 40px rgba(0, 0, 0, 0.35);
  --shadow-elevated: 0 16px 48px rgba(0, 0, 0, 0.45);
  color-scheme: dark;
}

[data-belleza-public-theme="oscuro"] body {
  background: #0B1220 !important;
  color: #E2E8F0 !important;
}

[data-belleza-public-theme="oscuro"] body ::placeholder {
  color: #64748B;
  opacity: 1;
}

/* —— Shell —— */
[data-belleza-public-theme="oscuro"] .page-wrapper {
  background: #0B1220 !important;
}

[data-belleza-public-theme="oscuro"] .navbar {
  background: #111827 !important;
  background-image: none !important;
  box-shadow: 0 1px 0 #334155;
}

[data-belleza-public-theme="oscuro"] .nav-menu {
  background: transparent !important;
  background-image: none !important;
}

[data-belleza-public-theme="oscuro"] .nav-link {
  color: #E2E8F0;
}

[data-belleza-public-theme="oscuro"] .nav-link:hover,
[data-belleza-public-theme="oscuro"] .nav-link.active {
  color: #FFFFFF;
}

[data-belleza-public-theme="oscuro"] .logo-text {
  color: #FFFFFF;
}

[data-belleza-public-theme="oscuro"] .footer {
  background: #111827 !important;
  box-shadow: 0 -1px 0 #334155;
}

[data-belleza-public-theme="oscuro"] .footer-text p {
  color: #CBD5E1;
}

/* —— Layout offset hero (sin franja clara) —— */
[data-belleza-public-theme="oscuro"] .slider-container,
[data-belleza-public-theme="oscuro"] .cinematic-hero,
[data-belleza-public-theme="oscuro"] .hero-slider {
  margin-top: 0 !important;
  padding-top: var(--oscuro-nav-offset);
  box-sizing: border-box;
}

[data-belleza-public-theme="oscuro"] .nosotros-main,
[data-belleza-public-theme="oscuro"] .contacto-main,
[data-belleza-public-theme="oscuro"] .citas-main {
  margin-top: 0 !important;
  padding-top: var(--oscuro-nav-offset);
  background: #0B1220 !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

[data-belleza-public-theme="oscuro"] body.has-cinematic-hero .citas-main {
  padding-top: 0 !important;
}

/* —— Tipografía —— */
[data-belleza-public-theme="oscuro"] .page-title,
[data-belleza-public-theme="oscuro"] .section-title,
[data-belleza-public-theme="oscuro"] .form-title,
[data-belleza-public-theme="oscuro"] .form-title-contacto,
[data-belleza-public-theme="oscuro"] .map-title,
[data-belleza-public-theme="oscuro"] .services-title {
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] .page-subtitle,
[data-belleza-public-theme="oscuro"] .section-text,
[data-belleza-public-theme="oscuro"] .form-group label {
  color: #CBD5E1 !important;
}

[data-belleza-public-theme="oscuro"] .section-text {
  color: #E2E8F0 !important;
}

[data-belleza-public-theme="oscuro"] .section-text strong {
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] .section-title::after {
  background: var(--color-primary, #2563EB) !important;
}

/* —— Paneles / tarjetas —— */
[data-belleza-public-theme="oscuro"] .section-content,
[data-belleza-public-theme="oscuro"] .form-wrapper,
[data-belleza-public-theme="oscuro"] .form-wrapper-contacto,
[data-belleza-public-theme="oscuro"] .calendar-wrapper,
[data-belleza-public-theme="oscuro"] .map-wrapper,
[data-belleza-public-theme="oscuro"] .value-card,
[data-belleza-public-theme="oscuro"] .services-summary,
[data-belleza-public-theme="oscuro"] .services-section,
[data-belleza-public-theme="oscuro"] .booking-modal,
[data-belleza-public-theme="oscuro"] .service-card,
[data-belleza-public-theme="oscuro"] .producto-card,
[data-belleza-public-theme="oscuro"] .gallery-item {
  background: #1F2937 !important;
  border: 1px solid #334155 !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: none !important;
  color: #E2E8F0;
}

[data-belleza-public-theme="oscuro"] .service-card,
[data-belleza-public-theme="oscuro"] .service-card:link,
[data-belleza-public-theme="oscuro"] .service-card:visited {
  color: #E2E8F0 !important;
}

[data-belleza-public-theme="oscuro"] .service-card.selected {
  border-color: var(--color-primary, #2563EB) !important;
  box-shadow: 0 0 0 1px var(--color-primary, #2563EB), var(--shadow-card) !important;
}

[data-belleza-public-theme="oscuro"] .value-card .value-text,
[data-belleza-public-theme="oscuro"] .services-summary-message,
[data-belleza-public-theme="oscuro"] .services-summary-list li,
[data-belleza-public-theme="oscuro"] .map-info,
[data-belleza-public-theme="oscuro"] .productos-loading,
[data-belleza-public-theme="oscuro"] .gallery-empty {
  color: #94A3B8 !important;
}

[data-belleza-public-theme="oscuro"] .map-info strong,
[data-belleza-public-theme="oscuro"] .map-info i {
  color: #CBD5E1 !important;
}

[data-belleza-public-theme="oscuro"] .map-info {
  background: #111827 !important;
}

[data-belleza-public-theme="oscuro"] .producto-footer {
  background: #1F2937 !important;
  border-top-color: #334155 !important;
}

[data-belleza-public-theme="oscuro"] .producto-footer strong {
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] .producto-footer span {
  color: #94A3B8 !important;
}

[data-belleza-public-theme="oscuro"] .img-container {
  background: #111827 !important;
}

/* —— Formularios —— */
[data-belleza-public-theme="oscuro"] .form-group input,
[data-belleza-public-theme="oscuro"] .form-group select,
[data-belleza-public-theme="oscuro"] .form-group textarea,
[data-belleza-public-theme="oscuro"] .contact-form input,
[data-belleza-public-theme="oscuro"] .contact-form textarea,
[data-belleza-public-theme="oscuro"] .cita-form input,
[data-belleza-public-theme="oscuro"] .cita-form select,
[data-belleza-public-theme="oscuro"] .cita-form textarea,
[data-belleza-public-theme="oscuro"] .booking-form input,
[data-belleza-public-theme="oscuro"] .multi-select-header,
[data-belleza-public-theme="oscuro"] .multi-select-body {
  background: #111827 !important;
  color: #FFFFFF !important;
  border-color: #334155 !important;
}

[data-belleza-public-theme="oscuro"] .form-group input:focus,
[data-belleza-public-theme="oscuro"] .form-group select:focus,
[data-belleza-public-theme="oscuro"] .form-group textarea:focus,
[data-belleza-public-theme="oscuro"] .contact-form input:focus,
[data-belleza-public-theme="oscuro"] .contact-form textarea:focus {
  border-color: var(--color-primary, #2563EB) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #2563EB) 25%, transparent) !important;
}

[data-belleza-public-theme="oscuro"] .multi-select-header-text,
[data-belleza-public-theme="oscuro"] .multi-item .servicio-texto {
  color: #E2E8F0 !important;
}

[data-belleza-public-theme="oscuro"] .multi-item {
  border-bottom-color: #334155 !important;
}

[data-belleza-public-theme="oscuro"] .multi-item:hover {
  background: #1F2937 !important;
}

/* —— Calendario —— */
[data-belleza-public-theme="oscuro"] .calendar-wrapper {
  background: #111827 !important;
}

[data-belleza-public-theme="oscuro"] .calendar-month-year,
[data-belleza-public-theme="oscuro"] .calendar-weekdays .weekday,
[data-belleza-public-theme="oscuro"] .calendar-availability-msg {
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] .calendar-nav-btn {
  background: var(--color-button, #2563EB) !important;
  border-color: #334155 !important;
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] .calendar-nav-btn:hover {
  background: var(--color-primary-dark, #1D4ED8) !important;
}

[data-belleza-public-theme="oscuro"] .calendar-day:not(.empty):not(.selected) {
  background: #1F2937 !important;
  color: #FFFFFF !important;
  border-color: #334155 !important;
}

[data-belleza-public-theme="oscuro"] .calendar-day.selected,
[data-belleza-public-theme="oscuro"] .calendar-day.available-high.selected,
[data-belleza-public-theme="oscuro"] .calendar-day.available-medium.selected,
[data-belleza-public-theme="oscuro"] .calendar-day.available-low.selected {
  background: var(--color-button, #2563EB) !important;
  color: #FFFFFF !important;
  border-color: var(--color-primary, #2563EB) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #2563EB) 35%, transparent) !important;
}

[data-belleza-public-theme="oscuro"] .calendar-day:hover:not(.empty):not(.past):not(.closed):not(.full):not(.blocked):not(.selected) {
  background: var(--color-primary-dark, #1D4ED8) !important;
  color: #FFFFFF !important;
  border-color: var(--color-primary, #2563EB) !important;
}

[data-belleza-public-theme="oscuro"] .calendar-day.past,
[data-belleza-public-theme="oscuro"] .calendar-day.closed,
[data-belleza-public-theme="oscuro"] .calendar-day.blocked {
  background: #111827 !important;
  color: #64748B !important;
  border-color: #334155 !important;
  opacity: 0.75;
}

/* —— Botones primarios —— */
[data-belleza-public-theme="oscuro"] button.btn-agendar-cita,
[data-belleza-public-theme="oscuro"] button.btn-reservar,
[data-belleza-public-theme="oscuro"] button.btn-enviar,
[data-belleza-public-theme="oscuro"] button.btn-booking-submit,
[data-belleza-public-theme="oscuro"] button.btn-booking-close-success,
[data-belleza-public-theme="oscuro"] .btn-reservar-seleccion,
[data-belleza-public-theme="oscuro"] .hero-cta {
  background: var(--color-button, #2563EB) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 1px solid #334155 !important;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--color-primary, #2563EB) 25%, transparent) !important;
  text-shadow: none !important;
}

[data-belleza-public-theme="oscuro"] button.btn-agendar-cita:hover,
[data-belleza-public-theme="oscuro"] button.btn-reservar:hover,
[data-belleza-public-theme="oscuro"] button.btn-enviar:hover,
[data-belleza-public-theme="oscuro"] button.btn-booking-submit:hover,
[data-belleza-public-theme="oscuro"] button.btn-booking-close-success:hover,
[data-belleza-public-theme="oscuro"] .btn-reservar-seleccion:hover,
[data-belleza-public-theme="oscuro"] .hero-cta:hover {
  background: var(--color-primary-dark, #1D4ED8) !important;
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] button.btn-reservar i,
[data-belleza-public-theme="oscuro"] button.btn-enviar i,
[data-belleza-public-theme="oscuro"] button.btn-agendar-cita i {
  color: #FFFFFF !important;
}

[data-belleza-public-theme="oscuro"] .page-header,
[data-belleza-public-theme="oscuro"] .gallery-page-header {
  padding-top: 2rem;
}

@media (max-width: 768px) {
  [data-belleza-public-theme="oscuro"] .nav-menu {
    background: #111827 !important;
  }
}
