/*
Theme Name:     GQ Child Theme
Theme URI:      https://guadronquijano.com
Description:    Núcleo optimizado para proyectos de Guadrón Quijano S.A.S. de C.V.
Author:         Guadrón Quijano S.A.S. de C.V.
Author URI:     https://guadronquijano.com
Template:       Divi
Version:        1.0.0
Text Domain:    gqchild
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Tags:           lightweight, modular, optimized, clean
*/

/* =========================================================
   GQ CHILD THEME - LORENZO HOTEL (TYPE + COLOR SYSTEM)
========================================================= */

/* ---------------------------------------------------------
   1. ROOT VARIABLES (fluid type scale + color tokens)
--------------------------------------------------------- */
:root {
  /* ==============================
     Typography scale (clamp)
  ============================== */
  --scale-h1: clamp(2.5rem, 4vw + 1rem, 3rem);
  --scale-h2: clamp(2.1rem, 3vw + 0.8rem, 2.5rem);
  --scale-h3: clamp(1.7rem, 2vw + 0.6rem, 2rem);
  --scale-h4: clamp(1.4rem, 1.5vw + 0.5rem, 1.7rem);
  --scale-h5: clamp(1.2rem, 1vw + 0.3rem, 1.4rem);
  --scale-h6: clamp(1rem, 0.8vw + 0.2rem, 1.2rem);
  --scale-p:  1rem;

  --line-height-heading: 1.15;

  /* Primary font (self-hosted via enqueue @font-face) */
  --font-primary: "Urbanist", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  /* ==============================
     Brand primaries
  ============================== */
  --c-blue-900: #2d3c48;   /* Oxford Blue */
  --c-green-800: #496954; /* Nandor */

  /* ==============================
     Support palette
  ============================== */
  --c-olive-500: #90aa55; /* Chelsea Cucumber */
  --c-lime-400: #c2d737;  /* Wattle */
  --c-cream-100: #f2f4d2; /* Wheatfield */

  /* ==============================
     Neutrals / surfaces
  ============================== */
  --c-bg: #ffffff;
  --c-surface: #ffffff;
  --c-surface-2: var(--c-cream-100);

  /* ==============================
     Text
  ============================== */
  --c-text: #111827;
  --c-text-muted: #475569;
  --c-text-on-dark: #ffffff;

  /* ==============================
     Borders / shadows
  ============================== */
  --c-border: rgba(45, 60, 72, .18);
  --shadow-soft: 0 14px 30px rgba(45, 60, 72, .12);

  /* ==============================
     Links / accents
  ============================== */
  --c-link: var(--c-green-800);
  --c-link-hover: var(--c-blue-900);

  --c-accent: var(--c-lime-400);
  --c-accent-soft: rgba(194, 215, 55, .18);

  /* ==============================
     Heading weights (variable font)
  ============================== */
  --fw-h1: 400;
  --fw-h2: 400;
  --fw-h3: 450;
  --fw-h4: 450;
  --fw-h5: 500;
  --fw-h6: 500;
}

/* ---------------------------------------------------------
   2. BASE BODY (scoped to site content)
--------------------------------------------------------- */
#page-container{
  font-family: var(--font-primary);
  font-weight: 400;
  line-height: 1.6;
  background: var(--c-bg);
  color: var(--c-text);
}

/* ---------------------------------------------------------
   3. HEADINGS (premium: light + extra tracking)
   NOTE: scoped to #page-container so it won't affect Divi UI
--------------------------------------------------------- */
#page-container h1,
#page-container h2,
#page-container h3,
#page-container h4,
#page-container h5,
#page-container h6{
  font-family: var(--font-primary);
  line-height: var(--line-height-heading);
  margin-top: 0;
  margin-bottom: 0.5em;
  color: var(--c-blue-900);
  letter-spacing: 0.015em; /* +kerning sutil (premium) */
}

/* Un poco menos de tracking en headings pequeños */
#page-container h4,
#page-container h5,
#page-container h6{
  letter-spacing: 0.01em;
}

/* ✅ IMPORTANTE: quitamos !important aquí para permitir overrides por sección (hero, landing, etc.) */
#page-container h1{ font-size: var(--scale-h1); font-weight: var(--fw-h1); }
#page-container h2{ font-size: var(--scale-h2); font-weight: var(--fw-h2); }
#page-container h3{ font-size: var(--scale-h3); font-weight: var(--fw-h3); }
#page-container h4{ font-size: var(--scale-h4); font-weight: var(--fw-h4); }
#page-container h5{ font-size: var(--scale-h5); font-weight: var(--fw-h5); }
#page-container h6{ font-size: var(--scale-h6); font-weight: var(--fw-h6); }

/* ---------------------------------------------------------
   4. BODY TEXT
--------------------------------------------------------- */
#page-container p{
  font-size: var(--scale-p);
  margin-bottom: 1em;
}

#page-container small{
  font-size: clamp(0.85rem, 0.8vw + 0.6rem, 0.95rem);
  opacity: 0.85;
  color: var(--c-text-muted);
}

/* ---------------------------------------------------------
   5. LINKS (neutrales, sin romper Divi)
--------------------------------------------------------- */
#page-container a{
  color: var(--c-link);
}
#page-container a:hover{
  color: var(--c-link-hover);
  text-decoration: underline;
}

/* ---------------------------------------------------------
   6. UTILITIES
--------------------------------------------------------- */
.text-center{ text-align: center; }
.hidden{ display: none !important; }

/* =========================================================
   7. UI PRIMITIVES (cards, buttons, accents)
========================================================= */

/* Surfaces */
.gq-surface{
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
}

.gq-surface--soft{
  background: var(--c-surface-2);
  border: 1px solid rgba(45, 60, 72, .10);
  border-radius: 16px;
}

/* Buttons */
.gq-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform .12s ease, opacity .12s ease;
  cursor: pointer;
}
.gq-btn:hover{ transform: translateY(-1px); }

.gq-btn--primary{
  background: var(--c-blue-900);
  color: var(--c-text-on-dark);
}

.gq-btn--secondary{
  background: var(--c-green-800);
  color: var(--c-text-on-dark);
}

.gq-btn--ghost{
  background: transparent;
  color: var(--c-blue-900);
  border-color: rgba(45, 60, 72, .28);
}

/* Accent line */
.gq-accent-line{
  height: 3px;
  width: 64px;
  background: var(--c-accent);
  border-radius: 999px;
}

/* =========================================================
   DIVI OVERRIDES — keep these strong because Divi modules
   can inject their own font settings
========================================================= */

/* Divi: títulos típicos */
#page-container .et_pb_module_header,
#page-container .et_pb_post_title,
#page-container .entry-title,
#page-container h1.et_pb_module_header,
#page-container h2.et_pb_module_header,
#page-container h3.et_pb_module_header,
#page-container h4.et_pb_module_header,
#page-container h5.et_pb_module_header,
#page-container h6.et_pb_module_header{
  font-family: var(--font-primary) !important;
}

/* Divi: headings dentro de módulos */
#page-container .et_pb_text h1, #page-container .et_pb_text h2, #page-container .et_pb_text h3, #page-container .et_pb_text h4, #page-container .et_pb_text h5, #page-container .et_pb_text h6,
#page-container .et_pb_blurb_content h1, #page-container .et_pb_blurb_content h2, #page-container .et_pb_blurb_content h3, #page-container .et_pb_blurb_content h4, #page-container .et_pb_blurb_content h5, #page-container .et_pb_blurb_content h6,
#page-container .et_pb_tab_content h1, #page-container .et_pb_tab_content h2, #page-container .et_pb_tab_content h3, #page-container .et_pb_tab_content h4, #page-container .et_pb_tab_content h5, #page-container .et_pb_tab_content h6{
  font-family: var(--font-primary) !important;
}

/* Fuerza pesos por nivel dentro de Divi */
#page-container .et_pb_text h1, #page-container .et_pb_blurb_content h1, #page-container .et_pb_tab_content h1{ font-weight: var(--fw-h1) !important; }
#page-container .et_pb_text h2, #page-container .et_pb_blurb_content h2, #page-container .et_pb_tab_content h2{ font-weight: var(--fw-h2) !important; }
#page-container .et_pb_text h3, #page-container .et_pb_blurb_content h3, #page-container .et_pb_tab_content h3{ font-weight: var(--fw-h3) !important; }
#page-container .et_pb_text h4, #page-container .et_pb_blurb_content h4, #page-container .et_pb_tab_content h4{ font-weight: var(--fw-h4) !important; }
#page-container .et_pb_text h5, #page-container .et_pb_blurb_content h5, #page-container .et_pb_tab_content h5{ font-weight: var(--fw-h5) !important; }
#page-container .et_pb_text h6, #page-container .et_pb_blurb_content h6, #page-container .et_pb_tab_content h6{ font-weight: var(--fw-h6) !important; }

/* =========================================================
   FIX: Evitar que la tipografía global afecte el UI de Divi Builder
========================================================= */
body.et-fb h1,
body.et-fb h2,
body.et-fb h3,
body.et-fb h4,
body.et-fb h5,
body.et-fb h6{
  font-size: revert !important;
  font-weight: revert !important;
  line-height: revert !important;
  letter-spacing: revert !important;
}

/* =========================================================
   OVERSCROLL / BACKDROP FLASH FIX
   (evita el “jalón” que deja ver blanco detrás)
========================================================= */
html, body{
  background: var(--c-blue-900);
  overscroll-behavior: none; /* o overscroll-behavior-y: none; */
}