/* Roomio — foglio di stile generato da build/build.mjs. Non modificare a mano. */

@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font/poppins-latin-ext-400.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-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font/poppins-latin-400.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-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font/poppins-latin-ext-500.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-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font/poppins-latin-500.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-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font/poppins-latin-ext-600.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-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font/poppins-latin-600.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-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font/poppins-latin-ext-700.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-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font/poppins-latin-700.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}


/* ----------------------------------------------------------------- di base */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff}
img,svg,video{max-width:100%}
[hidden]{display:none !important}

/* Il prototipo faceva entrare le sezioni partendo da opacity:0 scritto inline.
   Qui quella partenza vive solo dentro html.js (vedi le regole .rmv* generate):
   se il JavaScript non parte, il testo resta visibile invece di sparire. */

/* --------------------------------------------------------- accessibilità */

:where(a,button,select,input,textarea,[tabindex]):focus-visible{
  outline:3px solid #B14916;
  outline-offset:3px;
  border-radius:8px;
}

.rm-salta{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:200;
  background:#0D0D12;
  color:#fff;
  padding:12px 18px;
  border-radius:0 0 12px 0;
  font:600 15px/1 Poppins,system-ui,sans-serif;
  text-decoration:none;
}
.rm-salta:focus{left:0;color:#fff}

/* Bersagli tattili. Il minimo AA (WCAG 2.5.8) è 24x24 px: i collegamenti del
   piè di pagina nel prototipo stanno appena sotto, e il marchio in alto è alto
   quanto la sua immagine. Misurato a schermo su 375px. */
@media (pointer:coarse){
  header a[aria-label="Roomio"]{min-height:44px}
  footer a,
  footer button{min-height:28px;display:inline-flex;align-items:center}
}

/* ------------------------------------------------------------- movimento */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  html.js [data-reveal]{opacity:1 !important;transform:none !important}
}

/* ------------------------------------------------- stato aperto/chiuso JS */

/* La freccia delle tendine e delle fisarmoniche ruota via classe, non via stile
   inline, perché lo stato adesso lo tiene il DOM e non React. */
[data-rm-ruota]{transition:transform .4s cubic-bezier(.22,1,.36,1)}
[data-rm-ruota][data-aperto="1"]{transform:rotate(180deg)}
[data-rm="menu"] span[data-rm-ruota][data-aperto="1"]{transform:rotate(90deg)}

/* La barra in alto si stacca dal bordo quando la pagina scorre: nel prototipo
   era stile inline calcolato da React, qui è una classe. Serve !important
   perché lo stile di partenza resta inline sull'elemento. */
header.rm-su{
  border-color:rgba(13,13,18,.08) !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 12px 40px rgba(13,13,18,.10) !important;
}

/* Domanda aperta nelle FAQ */
.rm-faq-aperta{
  border-color:#FFDECE !important;
  box-shadow:0 12px 32px rgba(13,13,18,.06) !important;
}

/* Chi ha già scelto sui cookie non deve vedere il banner nemmeno per un istante:
   la classe la mette lo script in testa alla pagina, prima del primo disegno. */
html.rm-consenso [data-rm-se="open"]{display:none !important}

/* Il riquadro dei cookie nel prototipo cambiava posizione con la larghezza della
   finestra, calcolata da React. Qui la posizione di partenza è quella da schermo
   largo; sotto i 720px la rimette il CSS.

   Sul telefono il riquadro in un angolo si confondeva col resto della pagina:
   diventa un riquadro al centro, con un velo scuro dietro e la pagina ferma
   finché non si sceglie. Tutto sotto html.js, perché senza JavaScript i
   pulsanti non funzionano e un velo che non si può togliere renderebbe il
   sito inutilizzabile: in quel caso resta la striscia in basso, e si scorre. */

.rm-cookie-velo{display:none}

@keyframes rmCookieCentro{
  from{opacity:0;transform:translate(-50%,-50%) scale(.94)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

@media (max-width:719.98px){
  /* senza JavaScript: striscia in basso, sopra la barra fissa */
  [data-rm-se="open"][role="dialog"]{
    left:12px !important;
    right:12px !important;
    width:auto !important;
    bottom:calc(88px + env(safe-area-inset-bottom)) !important;
  }

  html.js .rm-cookie-velo{
    display:block;
    position:fixed;
    inset:0;
    z-index:79;
    background:rgba(13,13,18,.6);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
    animation:rmFade .35s ease both;
  }

  html.js [data-rm-se="open"][role="dialog"]{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    transform:translate(-50%,-50%);
    width:min(calc(100vw - 32px),360px) !important;
    max-height:calc(100vh - 48px);
    overflow-y:auto;
    z-index:81 !important;
    animation:rmCookieCentro .45s cubic-bezier(.22,1,.36,1) both !important;
  }

  /* la pagina resta ferma finché non si sceglie */
  html.js.rm-cookie-aperto,
  html.js.rm-cookie-aperto body{overflow:hidden}
}

/* ------------------------------------------- riquadro dell'icona account */

/* L'icona in alto non porta più dritto al gestionale senza dire cosa fa:
   apre questo riquadro. Il collegamento sotto resta un vero <a>, quindi
   senza JavaScript il comportamento di prima è intatto. */

.rm-modale{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px}

.rm-modale-velo{
  position:absolute;
  inset:0;
  background:rgba(13,13,18,.6);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  animation:rmFade .3s ease both;
}

.rm-modale-scatola{
  position:relative;
  width:min(100%,420px);
  max-height:calc(100vh - 40px);
  overflow-y:auto;
  background:#fff;
  border-radius:24px;
  box-shadow:0 30px 80px rgba(13,13,18,.28);
  padding:32px 28px 28px;
  display:flex;
  flex-direction:column;
  gap:14px;
  text-align:left;
  animation:rmModale .45s cubic-bezier(.22,1,.36,1) both;
}

@keyframes rmModale{
  from{opacity:0;transform:translateY(18px) scale(.97)}
  to{opacity:1;transform:none}
}

.rm-modale-icona{
  width:56px;height:56px;border-radius:18px;background:#FFF1EA;
  display:grid;place-items:center;flex:none;
}

.rm-modale-titolo{
  margin:0;
  font-size:23px;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.2;
  color:#0D0D12;
}

.rm-modale-testo{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:#3F3F49;
  text-wrap:pretty;
}

.rm-modale-azioni{display:flex;flex-direction:column;gap:10px;margin-top:6px}

.rm-modale-primario,
.rm-modale-secondario{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:14px;
  font-size:16px;
  font-weight:600;
  text-decoration:none;
  transition:background .3s,transform .3s cubic-bezier(.22,1,.36,1);
}
.rm-modale-primario{color:#fff;background:#B14916;box-shadow:0 10px 26px rgba(177,73,22,.25)}
.rm-modale-primario:hover{background:#9A3F12;color:#fff;transform:translateY(-1px)}
.rm-modale-secondario{color:#0D0D12;background:#F5F3F0}
.rm-modale-secondario:hover{background:#ECE9E4;color:#0D0D12;transform:translateY(-1px)}
.rm-modale-primario:active,
.rm-modale-secondario:active{transform:scale(.98)}

.rm-modale-chiudi{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#F5F3F0;
  color:#3F3F49;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .3s;
}
.rm-modale-chiudi:hover{background:#ECE9E4}

html.rm-modale-aperta,
html.rm-modale-aperta body{overflow:hidden}

/* --------------------------------------------------------- modulo contatti */

.rm-esca{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

.rm-errore{
  grid-column:1 / -1;
  margin:0;
  padding:14px 16px;
  border-radius:14px;
  background:#FFF1EA;
  border:1px solid #FFDECE;
  color:#A9410E;
  font-size:14px;
  line-height:1.5;
}

/* ----------------------------------------------------------------- stampa */

@media print{
  header,footer,[data-rm-vista],[data-rm-se]{display:none !important}
  body{color:#000}
}


html,body{margin:0;padding:0;background:#fff;color:#0D0D12;font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
    *{box-sizing:border-box} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} button{font-family:inherit}
    @keyframes rmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
    @keyframes rmZoom{from{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:none}}
    @keyframes rmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
    @keyframes rmBlob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,6%) scale(1.08)}}
a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} button{font-family:inherit}
    @keyframes rmPop{from{opacity:0;transform:translate(-50%,-10px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
    @keyframes rmRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
    @keyframes rmFade{from{opacity:0}to{opacity:1}}
    @keyframes rmDrop{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
a{color:#A9410E} button{font-family:inherit} @keyframes rmFaq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} @keyframes rmGlow{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.15);opacity:.8}}
a{color:#A9410E;text-decoration:none} a:hover{color:#B14916}
button{font-family:inherit} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} @keyframes rmSheet{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}} @keyframes rmFade{from{opacity:0}to{opacity:1}}
html,body{margin:0;background:#fff;color:#0D0D12;font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased} *{box-sizing:border-box} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} @keyframes rmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
html,body{margin:0;background:#fff;color:#0D0D12;font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased} *{box-sizing:border-box} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} @keyframes rmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}} @keyframes rmZoom{from{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:none}} @keyframes rmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}} @keyframes rmBlob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,6%) scale(1.08)}}
@keyframes rmIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
    @keyframes rmPing{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.9);opacity:0}}
    @keyframes rmSpin{to{transform:rotate(360deg)}}
    @keyframes rmGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
    @keyframes rmBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html,body{margin:0;background:#fff;color:#0D0D12;font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased} *{box-sizing:border-box} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} @keyframes rmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}} @keyframes rmZoom{from{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:none}}
html,body{margin:0;background:#fff;color:#0D0D12;font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased} *{box-sizing:border-box} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} input,select,textarea,button{font-family:inherit;font-size:16px} input,select,textarea{transition:border-color .3s,box-shadow .3s} input:focus,select:focus,textarea:focus{outline:none;border-color:#F6661E !important;box-shadow:0 0 0 4px #FFDECE} @keyframes rmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}} @keyframes rmPopIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
html,body{margin:0;background:#fff;color:#0D0D12;font-family:Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased} *{box-sizing:border-box} a{color:#A9410E;text-decoration:none} a:hover{color:#B14916} @keyframes rmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}} @keyframes rmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@media (max-width:959.98px){[data-rm-vista="desktop"][data-rm-bp="960"]{display:none !important}}
@media (min-width:960px){[data-rm-vista="mobile"][data-rm-bp="960"]{display:none !important}}
@media (max-width:1079.98px){[data-rm-vista="desktop"][data-rm-bp="1080"]{display:none !important}}
@media (min-width:1080px){[data-rm-vista="mobile"][data-rm-bp="1080"]{display:none !important}}

.rmh17p4cid:hover{transform:scale(1.03) !important}
.rmhp9b5u3:hover{background:#F5F3F0 !important}
.rmhs8aqy4:hover{background:#F5F3F0 !important;color:#0D0D12 !important}
.rmhhtw1bi:hover{background:#F5F3F0 !important;color:#0D0D12 !important;transform:translateX(3px) !important}
.rmh1m8vs73:hover{background:#FFDECE !important;color:#0D0D12 !important}
.rmhlmt3ov:hover{background:#ECE9E4 !important;color:#0D0D12 !important;transform:translateY(-1px) !important}
.rma4v4u4x:active{transform:scale(.97) !important}
.rmh5iau46:hover{background:#FFDECE !important;color:#A9410E !important;transform:translateY(-1px) !important}
.rmavum1zj:active{transform:scale(.95) !important}
.rmhh0r4wl:hover{background:#9A3F12 !important;color:#fff !important;transform:translateY(-1px) !important;box-shadow:0 10px 24px rgba(177,73,22,.32) !important}
.rma1hvfh1s:active{transform:scale(.96) !important}
.rma10t9urw:active{transform:scale(.92) !important}
.rmap9b5u3:active{background:#F5F3F0 !important}
.rmaqvy976:active{transform:scale(.98) !important}
.rmhsja8ez:hover{background:#9A3F12 !important;color:#fff !important;transform:translateY(-2px) !important;box-shadow:0 14px 32px rgba(177,73,22,.34) !important}
.rmh1uxr92o:hover{background:#ECE9E4 !important;color:#0D0D12 !important;transform:translateY(-2px) !important}
.rmh1ld6c6n:hover{transform:translateY(-4px) !important;box-shadow:0 18px 40px rgba(13,13,18,.08) !important;border-color:#FFDECE !important;color:#0D0D12 !important}
.rmhsj9mex:hover{transform:translateX(-3px) !important}
.rmh12hbtv0:hover{transform:translateX(3px) !important;background:#FFF1EA !important}
.rmhabmw40:hover{transform:translateY(-4px) !important;box-shadow:0 20px 48px rgba(13,13,18,.08) !important;border-color:#FFDECE !important;color:#0D0D12 !important}
.rmh1oys229:hover{transform:translateY(-4px) !important;box-shadow:0 40px 90px rgba(13,13,18,.18) !important}
.rmh1f6k2st:hover{transform:translateY(-4px) !important;box-shadow:0 16px 40px rgba(13,13,18,.07) !important}
.rmh1apgtwu:hover{background:#9A3F12 !important;color:#fff !important;transform:translateY(-2px) !important}
.rmh161bvuv:hover{color:#B14916 !important}
.rmhnkc0re:hover{transform:translateY(-3px) !important}
.rmhaf6t65:hover{background:rgba(255,255,255,.14) !important;color:#fff !important;transform:translateY(-2px) !important}
.rmh14sgeym:hover{color:#F6661E !important}
.rmhwsmk8m:hover{color:#A9410E !important;transform:translateX(3px) !important}
.rmh7jn67o:hover{color:#A9410E !important}
.rmh1ajkp7k:hover{background:#ECE9E4 !important}
.rmh184ioif:hover{background:#9A3F12 !important}
html.js .rmv1harj8a{opacity:0;transform:translateY(24px);}
html.js .rmv1hdl7ha{opacity:0;transform:translateY(28px);}
html.js .rmv1hwni61{opacity:0;transform:translateY(32px);}
.rmhyno91d:hover{border-color:#FFDECE !important;color:#A9410E !important;transform:translateY(-2px) !important}
.rmhh7729c:hover{transform:translateY(-4px) !important;box-shadow:0 20px 48px rgba(13,13,18,.07) !important}
.rmh1oxitvc:hover{border-color:#FFDECE !important;background:#FFF1EA !important;color:#0D0D12 !important;transform:translateY(-2px) !important}
.rmh19m1bot:hover{transform:translateY(-3px) !important;box-shadow:0 14px 34px rgba(13,13,18,.07) !important}
.rmh1wva657:hover{transform:translateY(-4px) !important}
.rmh12edb2j:hover{transform:translateY(-3px) !important;box-shadow:0 16px 40px rgba(13,13,18,.06) !important}
.rmhxixx8r:hover{transform:translateY(-3px) !important;box-shadow:0 16px 40px rgba(13,13,18,.07) !important;border-color:#FFDECE !important;color:#0D0D12 !important}
.rmhoxhiau:hover{background:#9A3F12 !important;transform:translateY(-2px) !important}
.rmh1py839t:hover{transform:translateY(-3px) !important;box-shadow:0 18px 44px rgba(13,13,18,.07) !important;border-color:#FFDECE !important;color:#0D0D12 !important}
.rma1cwro9f:active{transform:scale(.99) !important}
.rmh6hkvkx:hover{color:#fff !important;transform:translateY(-2px) !important}
.rmh1ed7uk7:hover{background:#F5F3F0 !important;color:#A9410E !important;transform:translateX(3px) !important}
.rmh77eo7p:hover{background:#F5F3F0 !important;color:#A9410E !important}
.rmhvion7c:hover{transform:translateY(-2px) !important;border-color:#FFDECE !important;color:#0D0D12 !important}