/* Prenotazioni Piscine: token del design system (design-system/project/tokens.json).
   Scritto da bin/genera-tokens-css.php: non modificarlo a mano. */
:root { --surface: #f3f9f9; --surface-raised: #ffffff; --surface-sunken: #e4efef; --line: #cfe0df; --line-strong: #6a8584; --ink: #0e1b1b; --ink-muted: #475a5a; --brand: #0de9df; --brand-ink: #06746f; --on-brand: #05302d; --brand-soft: #d2f7f4; --accent: #0b8d87; --on-accent: #00110f; --focus-ring: #00524e; --overlay-hover: rgba(14,27,27,0.07); --scrim: rgba(8,20,20,0.55); --ok: #16703a; --ok-soft: #ddf3e4; --ok-fill: #3fd27b; --on-ok-fill: #052612; --warn: #8a4b00; --warn-soft: #fff0d6; --warn-fill: #ffb627; --on-warn-fill: #2e1b00; --warn-stripe: rgba(46,27,0,0.16); --danger: #b0261c; --danger-soft: #fde7e4; --danger-fill: #8c1810; --on-danger-fill: #ffffff; --info: #1d58a3; --info-soft: #e3edfa; --info-fill: #2a62c2; --on-info-fill: #ffffff; --seat-free: #ffffff; --seat-free-ring: #0e1b1b; --seat-mine: var(--brand); --seat-taken: #c4cdcd; --seat-taken-glyph: #4d5b5b; --seat-taken-far: #627070; --map-lawn: #bfe2a6; --map-water: #94dcef; --map-paving: #ece6d8; --map-sand: #f3dca8; --map-hedge: #6fae5a; --map-building: #ffffff; --map-building-edge: #c9c2b2; --map-slide: #3d7fd9; --map-feature: #f2a56b; --map-label: #475a5a; --qr-ink: #000000; --qr-ground: #ffffff; --font-sp-display: "Josefin Sans", "Trebuchet MS", sans-serif; --font-sp-body: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif; --font-cv-display: Khand, "Arial Narrow", sans-serif; --font-cv-body: "Open Sans", system-ui, sans-serif; --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-xl: 24px; --radius-pill: 999px; --shadow-1: 0 1px 2px rgba(14,27,27,0.08), 0 1px 1px rgba(14,27,27,0.04); --shadow-2: 0 8px 24px rgba(14,27,27,0.14); --shadow-pin: 0 1px 4px rgba(0,0,0,0.35); --tap-min: 48px; --control-md: 40px; --control-sm: 32px; --pin: 32px; --icon: 20px; --icon-sm: 14px; --sheet-max: 560px; --content-max: 1200px; --z-pin-mine: 2; --z-sticky: 20; --z-sheet: 30; --z-toast: 40; }
[data-theme="concaverde"] { --surface: #f7f7f3; --surface-sunken: #ebebe3; --line: #dcdcd1; --line-strong: #6c7c7c; --ink: #0b2530; --ink-muted: #48605f; --brand: #ffbc00; --brand-ink: #00516f; --on-brand: #00516f; --brand-soft: #fff1c7; --accent: #00516f; --on-accent: #ffffff; --focus-ring: #00516f; --overlay-hover: rgba(11,37,48,0.07); --scrim: rgba(6,22,30,0.55); --seat-free-ring: #0b2530; --seat-taken: #c9cdc8; --seat-taken-glyph: #4f5a59; --seat-taken-far: #65706f; --map-lawn: #c3e0a3; --map-water: #8fd3ea; --map-paving: #eee9dd; --map-sand: #f2d9a2; --map-hedge: #74ab58; --map-building-edge: #cfc9b8; --map-label: #48605f; }
[data-theme="contrasto"] { --surface: #ffffff; --surface-sunken: #efefef; --line: #8c8c8c; --line-strong: #1a1a1a; --ink: #000000; --ink-muted: #262626; --brand: #00363f; --brand-ink: #00363f; --on-brand: #ffffff; --brand-soft: #b9dee3; --accent: #000000; --on-accent: #ffffff; --focus-ring: #000000; --overlay-hover: rgba(0,0,0,0.10); --scrim: rgba(0,0,0,0.70); --ok: #00542a; --ok-soft: #e3f5e9; --on-ok-fill: #000000; --warn: #5a3500; --warn-soft: #fff2dc; --on-warn-fill: #000000; --warn-stripe: rgba(0,0,0,0.22); --danger: #860c06; --danger-soft: #fde9e7; --danger-fill: #760f09; --info: #0a3a80; --info-soft: #e5eefb; --info-fill: #0a3a80; --seat-free-ring: #000000; --seat-taken: #bdbdbd; --seat-taken-glyph: #000000; --seat-taken-far: #676767; --map-lawn: #e6e6e6; --map-water: #a9d8e8; --map-paving: #f5f5f5; --map-sand: #dddddd; --map-hedge: #8c8c8c; --map-building-edge: #1a1a1a; --map-slide: #0a3a80; --map-feature: #9e9e9e; --map-label: #000000; }
.t-hero { font-family: var(--font-sp-display); font-size: 40px; line-height: 44px; font-weight: 700; }
.t-heading { font-family: var(--font-sp-display); font-size: 26px; line-height: 30px; font-weight: 700; }
.t-subheading { font-family: var(--font-sp-display); font-size: 20px; line-height: 24px; font-weight: 700; }
.t-verdict { font-family: var(--font-sp-display); font-size: 40px; line-height: 44px; font-weight: 700; }
.t-body { font-family: var(--font-sp-body); font-size: 17px; line-height: 26px; font-weight: 400; }
.t-body-strong { font-family: var(--font-sp-body); font-size: 17px; line-height: 26px; font-weight: 600; }
.t-small { font-family: var(--font-sp-body); font-size: 14px; line-height: 20px; font-weight: 400; }
.t-small-strong { font-family: var(--font-sp-body); font-size: 14px; line-height: 20px; font-weight: 600; }
.t-label { font-family: var(--font-sp-body); font-size: 13px; line-height: 16px; font-weight: 700; letter-spacing: 0.06em; }
.t-button { font-family: var(--font-sp-body); font-size: 17px; line-height: 20px; font-weight: 700; }
.t-price { font-family: var(--font-sp-body); font-size: 22px; line-height: 26px; font-weight: 700; }
.t-seat { font-family: var(--font-sp-body); font-size: 12px; line-height: 12px; font-weight: 700; }
.t-code { font-family: var(--font-mono); font-size: 17px; line-height: 22px; font-weight: 600; letter-spacing: 0.08em; }
.t-ui-title { font-family: var(--font-ui); font-size: 18px; line-height: 24px; font-weight: 600; }
.t-ui { font-family: var(--font-ui); font-size: 14px; line-height: 20px; font-weight: 400; }
.t-ui-strong { font-family: var(--font-ui); font-size: 14px; line-height: 20px; font-weight: 600; }
.t-ui-small { font-family: var(--font-ui); font-size: 12px; line-height: 16px; font-weight: 500; }

/* Impianti: colori e caratteri scelti dalla dashboard (impianti.colori, impostazioni carattere_titoli e
   carattere_testo); data-theme = sigla in minuscolo */
[data-theme="spg"] { --brand: #0de9df; --brand-ink: #06746f; --on-brand: #05302d; --brand-soft: #d2f7f4; --accent: #0b8d87; --on-accent: #00110f; --focus-ring: #00524e; }
