/* Hotel Luz — Wes Anderson Design System v3
   Inspired by: Grand Budapest Hotel, Accidentally Wes Anderson
   Palette: Warm pastels, centered symmetry, storybook elegance.
   Rule: No gradients. Flat color blocks. Center everything. */

/* ── Fonts ──────────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Arvo:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  /* ── Color Palette (Grand Budapest meets Puerto Rico) ──────────────── */
  --cream:       #FFF5EE;       /* seashell -- page background */
  --peach:       #F1BB93;       /* warm peach -- hero, primary sections */
  --rose:        #E89B93;       /* dusty rose -- card backgrounds, alternating */
  --coral:       #D96B7C;       /* deep coral -- CTAs, buttons, active states */
  --burgundy:    #5B2439;       /* deep burgundy -- text, footer, nav */
  --blue:        #A7C5EB;       /* pastel blue -- links, highlights */
  --yellow:      #FCECB3;       /* butter yellow -- callouts, badges */
  --sage:        #8BAF9F;       /* muted sage -- tertiary, tropical nod */
  --white:       #FFFFFF;       /* pure white -- cards, overlays */
  --border:      #D4B5A0;       /* warm border -- ornamental frames */
  --text:        #4A2030;       /* warm dark -- body text */
  --text-light:  #8B6070;       /* muted -- secondary text */

  /* ── Typography ──────────────────────────────────────────────────────── */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-heading: 'Jost', 'Futura', -apple-system, sans-serif;
  --font-body:    'Arvo', Georgia, serif;

  /* Fluid type scale */
  --text-hero:    clamp(3rem, 7vw, 6rem);
  --text-display: clamp(2.2rem, 4.5vw, 3.5rem);
  --text-heading: clamp(1.5rem, 3vw, 2.2rem);
  --text-sub:     clamp(1.1rem, 1.8vw, 1.35rem);
  --text-body:    clamp(0.95rem, 1.1vw, 1.05rem);
  --text-small:   clamp(0.8rem, 0.9vw, 0.88rem);
  --text-micro:   clamp(0.65rem, 0.75vw, 0.72rem);
  --text-chapter: clamp(0.7rem, 0.85vw, 0.8rem);

  --leading-tight:  1.1;
  --leading-snug:   1.3;
  --leading-normal: 1.65;
  --leading-loose:  1.85;

  --tracking-tight:   -0.01em;
  --tracking-normal:   0;
  --tracking-wide:     0.12em;
  --tracking-wider:    0.2em;
  --tracking-widest:   0.3em;

  /* ── Spacing (generous -- whitespace IS the luxury) ────────────────── */
  --space-2xs:  clamp(0.25rem, 0.5vw, 0.5rem);
  --space-xs:   clamp(0.5rem, 1vw, 0.75rem);
  --space-sm:   clamp(1rem, 2vw, 1.5rem);
  --space-md:   clamp(2rem, 3.5vw, 3rem);
  --space-lg:   clamp(3rem, 6vw, 5rem);
  --space-xl:   clamp(5rem, 10vw, 8rem);
  --space-2xl:  clamp(7rem, 14vw, 11rem);

  /* Section padding -- storybook pacing */
  --section-pad: clamp(5rem, 10vh, 9rem);

  /* ── Layout ──────────────────────────────────────────────────────────── */
  --max-width:     1200px;
  --content-width:  860px;
  --narrow-width:   600px;
  --gutter:        clamp(1.5rem, 4vw, 3rem);

  /* ── Borders & Radius ──────────────────────────────────────────────── */
  --radius-sm:  3px;
  --radius-md:  6px;
  --radius-lg:  12px;
  --border-thin:   1px solid var(--border);
  --border-frame:  2px solid var(--border);
  --border-dark:   1px solid var(--burgundy);

  /* ── Easing (smooth, deliberate, never bouncy) ─────────────────────── */
  --ease-smooth:    cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-out:       cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:    cubic-bezier(0.45, 0, 0.55, 1);

  /* ── Transitions ───────────────────────────────────────────────────── */
  --duration-fast:   0.2s;
  --duration-normal: 0.4s;
  --duration-slow:   0.7s;
  --duration-reveal: 1s;

  /* ── Shadows (subtle, warm) ────────────────────────────────────────── */
  --shadow-sm:  0 2px 8px rgba(91, 36, 57, 0.06);
  --shadow-md:  0 6px 24px rgba(91, 36, 57, 0.08);
  --shadow-lg:  0 16px 48px rgba(91, 36, 57, 0.1);

  /* ── Photo filter (warm, slightly desaturated -- unifies imagery) ─── */
  --photo-filter: saturate(0.88) contrast(1.03) sepia(0.06);
}

/* ── Base Reset ────────────────────────────────────────────────────────── */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--leading-normal);
  color: var(--text);
  background: var(--cream);
  overflow-x: hidden;
  text-align: center;
}

::selection {
  background: var(--coral);
  color: var(--white);
}

img, video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* ── Utility Classes ───────────────────────────────────────────────────── */

.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.container--narrow {
  max-width: var(--content-width);
}

.container--tight {
  max-width: var(--narrow-width);
}

/* Chapter labels -- "I. ROOMS" style */
.chapter-label {
  font-family: var(--font-heading);
  font-size: var(--text-chapter);
  font-weight: 400;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: var(--space-sm);
  display: block;
}

/* Section heading */
.section-title {
  font-family: var(--font-heading);
  font-size: var(--text-display);
  font-weight: 400;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--burgundy);
  line-height: var(--leading-tight);
}

/* Ornamental divider */
.divider {
  width: 40px;
  height: 1px;
  background: var(--border);
  margin: var(--space-md) auto;
}

/* Thin frame around images */
.frame {
  border: var(--border-thin);
  padding: 6px;
}

/* Photo treatment */
.photo {
  filter: var(--photo-filter);
}
