/* Paleta por tema */
[data-theme="dark"] {
   --ga-bg: #0f1113;
   --ga-fg: #e9ecef;
   --ga-muted: #b0b6bc;
   --ga-accent: #f4c542;
   --ga-card: #1a1d20;
   --ga-border: #2a2f34;
   --ga-btn-bg: #f4c542;
   --ga-btn-fg: #111;
}

:root:not([data-theme="dark"]) {
   --ga-bg: #f8f9fa;
   --ga-fg: #212529;
   --ga-muted: #6c757d;
   --ga-accent: #d4a017;
   --ga-card: #ffffff;
   --ga-border: #e5e7eb;
   --ga-btn-bg: #d4a017;
   --ga-btn-fg: #fff;
}

/* Hero corto */
.ga-hero-contacto {
   position: relative;
   color: #fff;
   background-image: var(--hero-bg);
   background-size: cover;
   background-position: center;
   min-height: 42vh;
   display: flex;
   align-items: flex-end;
   padding: 40px 0;
}

.ga-hero-contacto__layer {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .65));
}

.ga-hero-contacto .container-fluid {
   position: relative;
}

/* Tarjetas / caja */
.ga-contacto {
   background: var(--ga-bg);
   color: var(--ga-fg);
   padding-bottom: 80px;
}

.ga-card {
   background: var(--ga-card);
   border: 1px solid var(--ga-border);
   border-radius: 16px;
   padding: 20px 18px;
}

.ga-card__title {
   font-weight: 800;
}

/* Items */
.ga-contact-item {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   margin-bottom: 14px;
}

.ga-contact-item i {
   font-size: 1.2rem;
   color: var(--ga-accent);
   margin-top: 4px;
}

.ga-contact-label {
   font-weight: 700;
}

.ga-contact-link {
   color: inherit;
   text-decoration: none;
}

.ga-contact-link:hover {
   text-decoration: underline;
}

.ga-contact-text {
   color: var(--ga-muted);
}

/* Redes */
.ga-contact-social {
   display: flex;
   gap: 12px;
   margin-top: 10px;
}

.ga-contact-social a {
   color: var(--ga-muted);
   font-size: 1.2rem;
}

.ga-contact-social a:hover {
   color: var(--ga-fg);
}

/* Botón coherente con tema */
.ga-btn-cta {
   background: var(--ga-btn-bg);
   color: var(--ga-btn-fg);
   border: 0;
   font-weight: 800;
}

.ga-btn-cta:hover {
   filter: brightness(.95);
}

/* Reviews (glass) */
.ga-reviews .ga-glass {
   background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .06));
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, .18);
   border-radius: 16px;
   padding: 24px;
   min-height: 260px;
   color: var(--ga-fg);
}

:root:not([data-theme="dark"]) .ga-reviews .ga-glass {
   background: linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .02));
   border-color: rgba(0, 0, 0, .08);
}


:root {
   --color-primario: #d4af37;
   /* Tono dorado/amarillo */
   --color-fondo: #111111;
   --color-fondo-secundario: #1e1e1e;
   --color-tarjeta: #2a2a2a;
   --color-texto: #f0f0f0;
   --color-texto-secundario: #a0a0a0;
}

/* --- Estilos del Modal --- */
.modal-content {
   background-color: var(--color-tarjeta);
   border: 1px solid #333;
}

.modal-header {
   border-bottom: 1px solid #333;
}

.modal-footer {
   border-top: 1px solid #333;
}

.btn-close {
   filter: invert(1) grayscale(100%) brightness(200%);
}

.modal-body {
   color: var(--color-texto-secundario);
}

.modal-body h5 {
   color: var(--color-texto);
   font-weight: 600;
   margin-top: 1rem;
}

.form-check-input {
   background-color: #3a3a3a;
   border-color: #555;
}

.form-check-input:checked {
   background-color: var(--color-primario);
   border-color: var(--color-primario);
}

.form-check-label a {
   color: var(--color-primario);
   text-decoration: none;
}

.form-check-label a:hover {
   text-decoration: underline;
}