/* =========================================================
   Brezza della Primavera — Color & Type Foundations
   Affittacamere e Locazioni turistiche · Pisa
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Italianno&family=Inter:wght@300;400;500;600&display=swap");

:root {
  /* -------- Brand palette -------- */
  /* Logo ink — calligraphic blue */
  --bdp-ink:           #3a5a96;   /* signature blue (logo) */
  --bdp-ink-deep:      #2a3f6e;   /* deep navy ink */
  --bdp-ink-soft:      #6b85b8;   /* faded ink for hairlines */

  /* Backgrounds — paper, cream, linen */
  --bdp-paper:         #fbf7f1;   /* primary background, warm paper */
  --bdp-cream:         #f5ede0;   /* secondary cream */
  --bdp-linen:         #ece3d3;   /* tertiary linen */
  --bdp-white:         #ffffff;

  /* Florals — soft, dusty, never saturated */
  --bdp-rose:          #d8a9a3;   /* dusty rose */
  --bdp-rose-soft:     #ecd2cd;   /* blush */
  --bdp-peach:         #e8c9a8;   /* warm peach */
  --bdp-mauve:         #b89aa8;   /* mauve */

  /* Greens — Tuscan olive & sage */
  --bdp-sage:          #a8b89a;   /* sage green */
  --bdp-olive:         #6f7d57;   /* olive */
  --bdp-sage-soft:     #d4dcc8;   /* faded sage */

  /* Gold — restrained */
  --bdp-gold:          #b8985a;   /* antique gold */
  --bdp-gold-soft:     #e2cf9d;

  /* Neutrals on cream */
  --bdp-fg-1:          #2a2520;   /* primary text */
  --bdp-fg-2:          #5a5048;   /* secondary text */
  --bdp-fg-3:          #8a7f73;   /* muted text / captions */
  --bdp-fg-4:          #c4b8a8;   /* disabled / hairline */
  --bdp-rule:          #e0d6c4;   /* default border */
  --bdp-rule-soft:     #ede5d4;

  /* Semantic */
  --bdp-success:       #6f7d57;   /* uses olive */
  --bdp-error:         #a85a4a;   /* terracotta-red */
  --bdp-warning:       #b8985a;   /* gold */
  --bdp-info:          #3a5a96;   /* ink blue */

  /* -------- Typography -------- */
  --font-script:       "Italianno", "Snell Roundhand", "Apple Chancery", cursive;
  --font-serif:        "Cormorant Garamond", "Garamond", "Times New Roman", serif;
  --font-sans:         "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Type scale (1.250 — major third, restrained) */
  --fs-xs:    12px;
  --fs-sm:    14px;
  --fs-base:  16px;
  --fs-md:    18px;
  --fs-lg:    22px;
  --fs-xl:    28px;
  --fs-2xl:   36px;
  --fs-3xl:   48px;
  --fs-4xl:   64px;
  --fs-5xl:   88px;

  /* Line heights */
  --lh-tight:  1.1;    /* @kind other */
  --lh-snug:   1.25;   /* @kind other */
  --lh-normal: 1.55;   /* @kind other */
  --lh-loose:  1.75;   /* @kind other */

  /* Letter spacing */
  --ls-tight:   -0.02em;
  --ls-normal:   0em;
  --ls-wide:     0.08em;
  --ls-wider:    0.18em;     /* eyebrow caps */

  /* -------- Spacing (8pt soft) -------- */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;
  --sp-8:  64px;
  --sp-9:  96px;
  --sp-10: 128px;

  /* -------- Radii — gentle, never hard -------- */
  --r-sm:   2px;
  --r-md:   4px;
  --r-lg:   8px;
  --r-xl:   16px;
  --r-pill: 999px;

  /* -------- Shadows — feathered, paper-like -------- */
  --shadow-1: 0 1px 2px rgba(58, 90, 150, 0.04), 0 1px 1px rgba(42, 37, 32, 0.03);
  --shadow-2: 0 4px 12px rgba(58, 90, 150, 0.06), 0 2px 4px rgba(42, 37, 32, 0.04);
  --shadow-3: 0 12px 32px rgba(58, 90, 150, 0.10), 0 4px 8px rgba(42, 37, 32, 0.05);
  --shadow-inset: inset 0 0 0 1px var(--bdp-rule);

  /* -------- Motion -------- */
  --ease-out:  cubic-bezier(0.22, 0.61, 0.36, 1);  /* @kind other */
  --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);       /* @kind other */
  --dur-fast:  150ms;  /* @kind other */
  --dur-base:  250ms;  /* @kind other */
  --dur-slow:  450ms;  /* @kind other */
}

/* =========================================================
   Semantic type styles
   ========================================================= */

.bdp-display {
  font-family: var(--font-script);
  font-size: var(--fs-5xl);
  line-height: 0.9;
  color: var(--bdp-ink);
  letter-spacing: 0;
  font-weight: 400;
}

.bdp-h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--fs-4xl);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
  color: var(--bdp-fg-1);
}

.bdp-h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--fs-3xl);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-tight);
  color: var(--bdp-fg-1);
}

.bdp-h3 {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: var(--fs-2xl);
  line-height: var(--lh-snug);
  color: var(--bdp-fg-1);
}

.bdp-h4 {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: var(--fs-xl);
  line-height: var(--lh-snug);
  color: var(--bdp-fg-1);
}

.bdp-eyebrow {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: var(--bdp-fg-3);
}

.bdp-lede {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: var(--fs-lg);
  line-height: var(--lh-loose);
  color: var(--bdp-fg-2);
}

.bdp-p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--bdp-fg-1);
}

.bdp-small {
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  color: var(--bdp-fg-2);
}

.bdp-caption {
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  line-height: var(--lh-snug);
  color: var(--bdp-fg-3);
  letter-spacing: 0.02em;
}

.bdp-quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 300;
  font-size: var(--fs-2xl);
  line-height: var(--lh-snug);
  color: var(--bdp-ink-deep);
}

.bdp-signature {
  font-family: var(--font-script);
  font-size: var(--fs-3xl);
  color: var(--bdp-ink);
  line-height: 1;
}
