/**
 * Tokens de marca — Hotel Puerta Chichén
 *
 * Fuente normativa: DESIGN.md (frontmatter). Este es el ÚNICO archivo que se
 * edita para ajustar la marca: colores, tipografía, espaciado, radios y sombras.
 * Los valores de color son provisionales (medidos del logo / aproximados a
 * Pantone) hasta recibir el manual con HEX oficiales.
 *
 * Orden de carga: bootstrap.min.css → tokens.css → base.css → components.css
 */

/* ------------------------------------------------------------------
   Fuentes locales (variables, subset latín + latín extendido)
   Licencia SIL OFL 1.1 — ver assets/fonts/LICENSE-*.txt
   ------------------------------------------------------------------ */
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/lora-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/lora-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lora";
  font-style: italic;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/lora-latin-wght-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lora";
  font-style: italic;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/lora-latin-ext-wght-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/source-sans-3-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/source-sans-3-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* ----------------------------------------------------------------
     Paleta de marca
     ---------------------------------------------------------------- */
  --pc-night: #0d1930;          /* Pantone 2767 C — medido del logo */
  --pc-night-rgb: 13, 25, 48;
  --pc-night-raised: #16233f;
  --pc-gold: #c3ae71;           /* Pantone 7502 C — medido del logo */
  --pc-gold-rgb: 195, 174, 113;
  --pc-gold-hover: #b09b5e;
  --pc-gold-light: #d9c99a;
  --pc-gold-deep: #6e6240;      /* único "dorado" válido como texto sobre claro */
  --pc-terracotta: #b35f48;     /* Pantone 7522 C — solo gastronomía/artesanía/avisos */
  --pc-terracotta-deep: #9a4e38;

  /* Neutros */
  --pc-limestone: #f6f3ee;
  --pc-limestone-rgb: 246, 243, 238;
  --pc-sand: #ebe6de;
  --pc-warm-gray: #d7d2cb;      /* Pantone Warm Gray 1 C — solo decorativo, nunca borde de control */
  --pc-surface: #ffffff;
  --pc-ink: #3d4556;
  --pc-ink-rgb: 61, 69, 86;
  --pc-ink-muted: #5a6070;
  --pc-border-control: #8f8778;
  --pc-on-night-muted: #a9b0bd;

  /* Estados */
  --pc-error: #a3302a;
  --pc-error-rgb: 163, 48, 42;
  --pc-error-bg: #f8e9e7;
  --pc-success: #2f6b45;
  --pc-success-rgb: 47, 107, 69;
  --pc-success-bg: #e8f1ea;

  /* ----------------------------------------------------------------
     Tipografía
     ---------------------------------------------------------------- */
  --pc-font-serif: "Lora", Georgia, "Times New Roman", serif;
  --pc-font-sans: "Source Sans 3", "Segoe UI", system-ui, sans-serif;

  --pc-fs-display: clamp(2.5rem, 4.5vw + 1rem, 4.25rem);
  --pc-fs-headline: clamp(1.875rem, 2.2vw + 1rem, 2.75rem);
  --pc-fs-title: clamp(1.25rem, 0.6vw + 1rem, 1.5rem);
  --pc-fs-lead: 1.1875rem;
  --pc-fs-body: 1.0625rem;
  --pc-fs-small: 0.9375rem;
  --pc-fs-label: 0.8125rem;

  --pc-lh-display: 1.1;
  --pc-lh-headline: 1.2;
  --pc-lh-title: 1.3;
  --pc-lh-body: 1.65;
  --pc-lh-small: 1.55;

  --pc-tracking-display: -0.01em;
  --pc-tracking-label: 0.16em;   /* retoma el "H O T E L" del logotipo */

  --pc-measure: 68ch;

  /* ----------------------------------------------------------------
     Espaciado, radios, sombras, movimiento
     ---------------------------------------------------------------- */
  --pc-space-xs: 4px;
  --pc-space-sm: 8px;
  --pc-space-md: 16px;
  --pc-space-lg: 24px;
  --pc-space-xl: 40px;
  --pc-space-2xl: 64px;
  --pc-space-section: clamp(64px, 8vw, 128px);

  --pc-radius-xs: 2px;   /* botones */
  --pc-radius-sm: 4px;   /* tarjetas, inputs, imágenes en tarjeta */
  --pc-radius-md: 8px;   /* booking bar y modales */

  --pc-shadow-float: 0 8px 24px rgba(var(--pc-night-rgb), 0.10);
  --pc-shadow-card-hover: 0 6px 18px rgba(var(--pc-night-rgb), 0.08);

  --pc-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --pc-duration: 200ms;

  --pc-navbar-height: 80px;
  --pc-container-narrow: 720px;

  /* ----------------------------------------------------------------
     Mapeo a variables de Bootstrap 5.3 (sin Sass)
     ---------------------------------------------------------------- */
  --bs-body-bg: var(--pc-limestone);
  --bs-body-bg-rgb: var(--pc-limestone-rgb);
  --bs-body-color: var(--pc-ink);
  --bs-body-color-rgb: var(--pc-ink-rgb);
  --bs-body-font-family: var(--pc-font-sans);
  --bs-body-font-size: var(--pc-fs-body);
  --bs-body-line-height: var(--pc-lh-body);
  --bs-font-sans-serif: var(--pc-font-sans);

  --bs-emphasis-color: var(--pc-night);
  --bs-emphasis-color-rgb: var(--pc-night-rgb);
  --bs-heading-color: var(--pc-night);
  --bs-secondary-color: var(--pc-ink-muted);
  --bs-secondary-bg: var(--pc-sand);
  --bs-tertiary-bg: var(--pc-sand);

  --bs-primary: var(--pc-gold);
  --bs-primary-rgb: var(--pc-gold-rgb);
  --bs-primary-text-emphasis: var(--pc-gold-deep);
  --bs-primary-bg-subtle: #f3eedf;
  --bs-primary-border-subtle: var(--pc-gold-light);

  --bs-danger: var(--pc-error);
  --bs-danger-rgb: var(--pc-error-rgb);
  --bs-danger-text-emphasis: var(--pc-error);
  --bs-danger-bg-subtle: var(--pc-error-bg);
  --bs-danger-border-subtle: var(--pc-error);
  --bs-success: var(--pc-success);
  --bs-success-rgb: var(--pc-success-rgb);
  --bs-success-text-emphasis: var(--pc-success);
  --bs-success-bg-subtle: var(--pc-success-bg);
  --bs-success-border-subtle: var(--pc-success);

  --bs-form-valid-color: var(--pc-success);
  --bs-form-valid-border-color: var(--pc-success);
  --bs-form-invalid-color: var(--pc-error);
  --bs-form-invalid-border-color: var(--pc-error);

  --bs-link-color: var(--pc-night);
  --bs-link-color-rgb: var(--pc-night-rgb);
  --bs-link-hover-color: var(--pc-gold-deep);
  --bs-link-hover-color-rgb: 110, 98, 64;

  --bs-border-color: var(--pc-warm-gray);
  --bs-border-radius: var(--pc-radius-sm);
  --bs-border-radius-sm: var(--pc-radius-xs);
  --bs-border-radius-lg: var(--pc-radius-md);

  --bs-box-shadow: var(--pc-shadow-float);
  --bs-focus-ring-width: 3px;
  --bs-focus-ring-color: var(--pc-gold-deep);
}
