/* ---- Font self-hosted ---- */
/* Playfair Display: unico font variabile latin (asse wght 400-900), servito da Google
   come singolo file per stile. Coerente con Manrope (un file, range di pesi). */
@font-face {
  font-family: 'Playfair Display';
  src: url('../fonts/playfair-display-variable.woff2') format('woff2-variations');
  font-weight: 400 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('../fonts/playfair-display-italic-variable.woff2') format('woff2-variations');
  font-weight: 400 700; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/manrope-variable.woff2') format('woff2-variations');
  font-weight: 400 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Noto Serif SC';
  src: url('../fonts/noto-serif-sc-600-penglai.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+84EC, U+83B1; /* 蓬 莱 */
}

/* ---- Token globali (tema chiaro = default) ---- */
:root {
  --bg: #F4F1EA;
  --ink: #211E1A;
  --ink-soft: #5A5348;
  --surface: #FBF9F5;
  --accent: #B0201A;
  --accent-ink: #FFFFFF;
  --border: #D8D0BF;
  --gold: #8A6B3C;
  /* Palette B&B: dai colori reali dell'insegna Arese B&B (parete gialla
     senape, logo a nastro verde oliva). Usata solo dentro .pl-bnb (vedi
     bnb.css), il resto del sito non li referenzia mai direttamente. */
  --bnb-cream: #F7F0E1;
  --bnb-ink: #2B241A;
  --bnb-ochre: #C98A2E;
  --bnb-night: #1E1B14;
  --bnb-olive: #3F5A3A;
  /* Scrim scuro per gli overlay sopra le foto (hero): valore fisso, non segue
     il tema — serve un nero caldo costante a prescindere dal contesto. */
  --scrim-dark: #141210;

  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-cjk: 'Noto Serif SC', 'Playfair Display', serif;
  --font-body: 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif;

  --fs-eyebrow: 0.8125rem;
  --fs-body: 1rem;
  --fs-lead: 1.25rem;
  --fs-h3: 1.5rem;
  --fs-h2: clamp(2rem, 1.4rem + 3vw, 3.25rem);
  --fs-hero: clamp(3rem, 2rem + 5vw, 6rem);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 40px;
  --space-6: 64px;
  --space-7: 96px;
  --space-8: 160px;

  --radius-sm: 2px;
  --radius: 4px;
  --container: 1180px;
  --pl-header-h: 4.5rem; /* altezza approssimata dell'header (barra + logo) */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --shadow-soft: 0 8px 40px rgba(20, 18, 16, 0.14);
}

/* ---- Override tema scuro (capitoli full-bleed) ---- */
.pl-chapter--dark {
  --bg: #141210;
  --ink: #EDE7DA;
  --ink-soft: #B7AF9E;
  --surface: #1F1B16;
  --accent: #D9564A;
  --accent-ink: #141210;
  --border: #3A342B;
  --gold: #A98546;
}
