/*
Theme Name: Miradomos Child
Theme URI: https://miradomos.com
Description: Child theme personalizado para Miradomos. Sistema de diseño centralizado: tipografía, paleta y tokens controlados desde este archivo. Cualquier plantilla hereda de aquí.
Author: Miradomos
Author URI: https://miradomos.com
Template: generatepress
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: miradomos-child
*/


/* ============================================================
   1. CARGA DE FUENTES — Google Fonts
   Ibarra Real Nova (titulares) + Jost (subtítulos / eyebrows)
   + Montserrat (cuerpo)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Ibarra+Real+Nova:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Jost:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');


/* ============================================================
   2. SISTEMA DE DISEÑO — VARIABLES GLOBALES
   ÚNICA fuente de verdad. Cambiar aquí = cambiar toda la web.

   Paleta oficial: NEGRO · BLANCO · DORADO

   ¿Cómo "quitar" el dorado?
     Cambia --accent-cta a var(--white).
     Todos los CTAs y acentos pasarán a blanco automáticamente.

   Aliases legacy --cream / --cream-soft / --cream-deep se mantienen
   apuntando a neutros para no romper plantillas antiguas.
   ============================================================ */
:root {

  /* ── PALETA NEUTRA ── */
  --black-pure:   #000000;
  --black-soft:   #0A0A0A;          /* Negro profesional, suavizado al ojo */
  --black-warm:   #111111;          /* Negro con calidez sutil para superficies elevadas */
  --gray-900:     #1A1A1A;
  --gray-700:     #3A3A3A;
  --gray-500:     #6E6E6E;
  --gray-300:     #B8B8B8;
  --gray-100:     #F5F5F5;
  --white:        #FFFFFF;
  --white-soft:   #FAFAFA;

  /* ── COLORES DE MARCA ── */
  --gold:         #C9A84C;
  --gold-soft:    #E2C47A;
  --gold-deep:    #A8893A;

  /* Aliases legacy (compat hacia atrás): se mantienen pero
     ahora apuntan a neutros para respetar la paleta B/N/Dorado. */
  --cream:        var(--white-soft);
  --cream-soft:   var(--white);
  --cream-deep:   var(--gray-300);

  /* ── TOKENS SEMÁNTICOS — Lo que usan las plantillas ── */

  --bg-dark:        var(--black-soft);
  --bg-dark-elev:   var(--black-warm);
  --bg-light:       var(--white-soft);
  --bg-light-soft:  var(--gray-100);
  --bg-white:       var(--white);

  --text-on-dark:        var(--white);
  --text-on-dark-soft:   rgba(255,255,255,0.65);
  --text-on-dark-mute:   rgba(255,255,255,0.45);
  --text-on-light:       var(--black-soft);
  --text-on-light-soft:  var(--gray-500);
  --text-on-light-mute:  var(--gray-300);
  --text-on-cream:       var(--black-soft);

  /* ACENTOS — PUNTO DE CONTROL CENTRAL */
  /* Cambiar var(--gold) → var(--white) elimina dorado de toda la web */
  --accent-cta:        var(--gold);
  --accent-cta-hover:  var(--gold-soft);
  --accent-cta-text:   var(--black-soft);
  --accent-soft:       var(--white);
  --accent-soft-hover: var(--white-soft);

  --border-on-dark:    rgba(255,255,255,0.12);
  --border-on-light:   rgba(0,0,0,0.10);
  --border-accent:     rgba(201,168,76,0.35);

  /* ── TIPOGRAFÍA ── */
  --font-display:  'Ibarra Real Nova', Georgia, 'Times New Roman', serif;
  --font-sub:      'Jost', -apple-system, sans-serif;
  --font-body:     'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ── ESPACIADOS Y RADIOS ── */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-pill: 999px;

  /* ── TRANSICIONES ── */
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-fast: 0.2s var(--ease);
  --transition-mid:  0.3s var(--ease);
  --transition-slow: 0.5s var(--ease);

  /* ── SOMBRAS ── */
  --shadow-sm:  0 2px 8px  rgba(0,0,0,0.08);
  --shadow-md:  0 8px 24px rgba(0,0,0,0.12);
  --shadow-lg:  0 16px 48px rgba(0,0,0,0.16);
  --shadow-xl:  0 28px 70px rgba(0,0,0,0.22);

  /* ── LAYOUT ── */
  --container-max: 1280px;
  --container-pad: 60px;

}


/* ============================================================
   3. RESET LIGERO
   ============================================================ */

html { scroll-behavior: smooth; }


/* ============================================================
   4. APLICACIÓN BASE A WORDPRESS POR DEFECTO
   Garantiza que cualquier elemento sin scope (Gutenberg, posts)
   respete la marca.
   ============================================================ */

body {
  font-family: var(--font-body);
  color: var(--text-on-light);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
}


/* ============================================================
   5. LANGUAGE SWITCHER (Polylang)
   Icono circular con la bandera del idioma ALTERNATIVO (en página
   ES se muestra UK, en página EN se muestra España).
   Renderizado por la función PHP miradomos_lang_switcher().

   Marcado generado:
     <a class="md-lang-switcher" href="...">
       <svg>...flag...</svg>
     </a>
   ============================================================ */

.md-lang-switcher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.02);
  flex-shrink: 0;
  line-height: 0;
  text-decoration: none;
  transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.md-lang-switcher:hover {
  transform: scale(1.08);
  border-color: var(--accent-cta);
  box-shadow: 0 0 0 2px rgba(201,168,76,.18);
}
.md-lang-switcher svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Wrapper a la derecha del nav (.bnav / .pnav) para agrupar
   el lang switcher con el botón CTA y mantener la simetría
   del flex space-between del nav padre. */
.pnav-right,
.bnav-right {
  display: flex;
  align-items: center;
  gap: 16px;
}


/* ============================================================
   6. PSB FORM — Selectores de fecha y huéspedes
   Aplica a inputs/selects dentro del bloque .psb-form (sticky
   booking bar de las páginas de domo). Se ven como los <span>
   originales: transparentes, sin border, tipografía heredada.
   ============================================================ */

.psb-form input.psb-fv,
.psb-form select.psb-fv {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-on-light);
  background: transparent;
  border: 0;
  outline: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* Reservar un poco de espacio para la flechita del select sin librerías */
.psb-form select.psb-fv {
  background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%),
                    linear-gradient(135deg, var(--gold) 50%, transparent 50%);
  background-position: calc(100% - 8px) 50%, calc(100% - 4px) 50%;
  background-size: 4px 4px, 4px 4px;
  background-repeat: no-repeat;
  padding-right: 16px;
}

.psb-form input.psb-fv::-webkit-calendar-picker-indicator {
  opacity: .6;
  cursor: pointer;
  margin: 0;
}

.psb-form input.psb-fv:focus,
.psb-form select.psb-fv:focus {
  color: var(--gold-deep);
}

/* Cuando el input de fecha está vacío, el placeholder del navegador puede
   variar; igualamos el color al gris discreto. */
.psb-form input.psb-fv:invalid {
  color: var(--text-on-light-soft);
}

/* El <form> que envuelve el bloque psb no debe añadir su propio margen */
form.psb-formwrap { margin: 0; }


/* ============================================================
   FIN. Las plantillas individuales solo deben usar variables
   --bg-* / --text-* / --accent-* / --font-* y NUNCA valores
   hardcoded. Si se respeta esto, cambiar marca = 1 archivo.
   ============================================================ */
