/* ==========================================================================
   Bedouin — base: font, design token, reset.
   Valori misurati sugli stili calcolati di bedouin.it (Chrome, 21-09-2026),
   non copiati dallo spec: dove i due divergono vince il sito vivo.
   ========================================================================== */

/* --- Font self-hosted ----------------------------------------------------
   Inter: stessa dichiarazione del sito vivo (file variabile, asse wght 100–900, nessun
   intervallo di peso dichiarato). Chrome applica comunque il peso richiesto tramite l'asse:
   verificato, 400/500/700 escono identici con o senza "font-weight: 100 900". */
@font-face {
  font-family: "Inter Display";
  src: url("../fonts/InterVariable.woff2") format("woff2");
  font-display: swap;
}

/* DM Mono: i 12 file che Elementor scaricava da Google Fonts (latin + latin-ext). */
@font-face { font-family: "DM Mono"; font-style: italic; font-weight: 300; src: url("../fonts/dmmono-75f3f285.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: italic; font-weight: 300; src: url("../fonts/dmmono-9a087a1b.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: italic; font-weight: 400; src: url("../fonts/dmmono-32e9ba6a.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: italic; font-weight: 400; src: url("../fonts/dmmono-cb2a35ab.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: italic; font-weight: 500; src: url("../fonts/dmmono-719d7d41.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: italic; font-weight: 500; src: url("../fonts/dmmono-c32e5a77.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 300; src: url("../fonts/dmmono-63d829a7.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 300; src: url("../fonts/dmmono-c5d273fb.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 400; src: url("../fonts/dmmono-9ad76cd0.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 400; src: url("../fonts/dmmono-a175863f.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 500; src: url("../fonts/dmmono-36c1af8e.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-display: swap; }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 500; src: url("../fonts/dmmono-6a59878c.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-display: swap; }

/* artifex-hand-cf arriva da Adobe Fonts (kit hci5pck), caricato in functions.php. */

/* --- Design token --------------------------------------------------------
   Breakpoint (le media query non leggono le variabili: valori da ripetere a mano)
     mobile   ≤ 767px    Elementor mobile
     tablet   768–1024   Elementor tablet
     desktop  ≥ 1025px
     header   ≤ 991px    solo l'header passa a hamburger qui, non a 1024
   Il sito vivo NON ha breakpoint laptop/widescreen attivi: 1440 e 1920
   condividono gli stessi valori, cambia solo lo spazio disponibile. */
:root {
  /* colori del kit Elementor 15 */
  --color-beige: #fffae7;          /* Beige: sfondi chiari, testo su scuro */
  --color-nero: #1c1d20;           /* Nero: sezioni scure, footer */
  --color-mattone: #91441e;        /* Mattone: CTA */
  /* colori scritti a mano nei widget */
  --color-mattone-caldo: #8b4528;  /* testo CTA header, hover sottomenu */
  --color-testo: #1a1917;          /* testo su beige nelle pagine */
  --color-beige-supporto: #cec9b8; /* bordi, divisori */
  --color-ardesia: #2c313a;        /* voci sottomenu desktop, chiudi menu mobile, header crema */
  --color-header-line: #e5e5e5;    /* filo sotto l'header crema */
  --color-footer-label: #868582;   /* etichette colonne footer */
  --color-footer-credit: #929088;  /* "Designed by" */
  --color-body: #333;              /* testo di default (reset Hello Elementor) */
  --color-link: #c36;              /* link di default (reset Hello Elementor) */
  --color-link-hover: #336;
  --color-bg: #fff;                /* sfondo body: si vede nella fascia di 20px sopra la prima sezione */

  /* famiglie */
  --font-display: "artifex-hand-cf", "Artifex Hand CF", serif;
  --font-sans: "Inter Display", "Inter", sans-serif;
  --font-mono: "DM Mono", monospace;
  --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

  /* scala tipografica misurata (header, menu, footer) */
  --fs-nav: 0.85rem;          /* 13.6px voci menu desktop, lingua */
  --fs-subnav: 0.8rem;        /* 12.8px sottomenu desktop e mobile */
  --fs-cta-header: 0.95rem;   /* 15.2px "Preventivo" */
  --fs-offcanvas: 1.6rem;     /* 25.6px voci menu mobile */
  --fs-footer-claim: 69px;    /* "Nomadic art of life" */
  --fs-footer-claim-m: 30px;
  --fs-footer-link: 18px;
  --fs-footer-link-m: 14px;
  --fs-footer-label: 12px;
  --fs-footer-legal: 14px;
  --fs-footer-legal-m: 12px;
  /* scala dei titoli di pagina (censimento del CSS Elementor sulle 19 pagine):
     ogni widget ha il suo valore in px, questi sono i piu' ricorrenti.
     Le pagine (milestone 3) useranno i valori esatti di ogni sezione. */
  --fs-title-xl: 61px;
  --fs-title-l: 50px;
  --fs-title-m: 29px;
  --fs-title-l-tablet: 46px;
  --fs-title-m-mobile: 24px;

  /* spaziature */
  --space-container: 10px;    /* padding di default dei container Elementor */
  --gap-container: 20px;      /* gap di default dei container Elementor */
  --gutter: 50px;             /* margine laterale delle fasce (desktop e tablet) */
  --gutter-mobile: 20px;
  --header-pad-y: 30px;
  --header-pad-x: 40px;
  --header-pad-mobile: 20px;

  /* movimento */
  --ease-out-power2: cubic-bezier(0.215, 0.61, 0.355, 1); /* = GSAP power2.out */
}

/* --- Reset ---------------------------------------------------------------
   Sottoinsieme del reset di Hello Elementor che il sito vivo eredita: le misure
   di header e footer dipendono da queste regole (line-height 1.5, colori link). */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-system);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-body);
  background-color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  margin-block: 0.5rem 1rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}

p {
  margin-block: 0 0.9rem;
}

a {
  background-color: transparent;
  color: var(--color-link);
  text-decoration: none;
}

a:hover,
a:active {
  color: var(--color-link-hover);
}

b,
strong {
  font-weight: bolder;
}

img {
  border-style: none;
  height: auto;
  max-width: 100%;
}

ul,
ol,
li {
  margin-block: 0;
}

button {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

/* Lenis (scorrimento morbido, assets/js/smooth-scroll.js): regole della libreria */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* "Riduci movimento": cambi di stato istantanei (header crema, menu mobile, hover).
   Anche il ritardo va azzerato, altrimenti il pannello chiuso resta visibile 0.45s. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
    animation-duration: 0.01ms !important;
  }
}
