/* =========================================================================
   F1 System — Design System (theme)
   Fresh & Crafted: pulito, luminoso, umano, editoriale.
   ========================================================================= */

/* ---- Font autohostati ------------------------------------------------- */
@font-face{font-family:"Bebas Neue";src:url("../fonts/bebas-neue-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Asap variabile (Omnibus-Type): testo di corpo, pesi 100-900 in un solo file */
@font-face{font-family:"Asap";src:url("../fonts/asap-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Asap";src:url("../fonts/asap-var-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

/* ---- Tokens ----------------------------------------------------------- */
:root{
	/* Palette "F1 Logo" (Proposta 1): oro + verde del logo, blu Baltic/Sky/Charcoal */
	--f1-primary:#336699;      /* Baltic Blue — struttura */
	--f1-primary-700:#2A5580;  /* Baltic piu scuro (hover) */
	--f1-primary-900:#2F4858;  /* Charcoal Blue — fondi scuri (footer/promo/why) */
	--f1-secondary:#86BBD8;    /* Sky Reflection — azzurro */
	--f1-secondary-600:#3F84B8;/* sky piu scuro per icone/link su chiaro */
	--f1-accent:#09A254;       /* Medium Jungle — verde del logo (accento) */
	--f1-accent-600:#07813F;   /* verde piu scuro per testo piccolo su chiaro */

	--f1-cream:#F7F4EE;        /* crema/fondo caldo */
	--f1-mist:#DCEFF8;         /* blu polvere chiaro */
	--f1-white:#FFFFFF;
	--f1-ink:#1B2B36;          /* testo blu-carbone */
	--f1-muted:#4A5560;        /* grigio testo */
	--f1-line:#E7E1D6;
	--f1-line-cool:#CFE4F1;

	/* colori accento supplementari */
	--f1-sky:#86BBD8;
	--f1-powder:#DCEFF8;
	--f1-coral:#09A254;        /* alias rimappato al verde */
	--f1-yellow:#FFED00;      /* GIALLO vero del logo (azioni; brillante, su fondi scuri) */
	--f1-yellow-deep:#E8B200; /* giallo piu profondo per hover/testo su chiaro */
	--f1-green:#09A254;        /* verde del logo */

	--f1-display:"Bebas Neue","Arial Narrow",sans-serif;
	--f1-body:"Asap",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

	--f1-container:1180px;
	--f1-radius:14px;
	--f1-radius-lg:24px;
	--f1-radius-pill:999px;
	--f1-header-h:80px;

	--f1-shadow-sm:0 2px 8px rgba(10,58,69,.06);
	--f1-shadow-md:0 12px 30px rgba(10,58,69,.10);
	--f1-shadow-lg:0 26px 60px rgba(10,58,69,.16);
	--f1-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---- Base ------------------------------------------------------------- */
body{font-family:var(--f1-body);font-size:17px;line-height:1.75;color:var(--f1-ink);-webkit-font-smoothing:antialiased;}
html{scroll-behavior:smooth;}
[id]{scroll-margin-top:calc(var(--f1-header-h) + 14px);}
h1,h2,h3,h4{font-family:var(--f1-display);font-weight:400;line-height:.98;color:var(--f1-primary);letter-spacing:.01em;}
a{color:var(--f1-secondary-600);}
img{max-width:100%;height:auto;}
::selection{background:var(--f1-accent);color:#fff;}

/* ---- Bottoni riutilizzabili ------------------------------------------ */
.f1-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	font-family:var(--f1-display);font-weight:400;font-size:20px;line-height:1;letter-spacing:.04em;
	min-height:52px;padding:0 30px;border-radius:var(--f1-radius-pill);
	text-decoration:none;border:2px solid transparent;cursor:pointer;
	transition:transform .25s var(--f1-ease),background .25s var(--f1-ease),box-shadow .25s var(--f1-ease),color .25s var(--f1-ease);
}
.f1-btn svg{width:20px;height:20px;flex:none;}
.f1-btn--accent{background:var(--f1-yellow);color:var(--f1-primary);box-shadow:0 8px 20px rgba(10,35,64,.16);}
.f1-btn--accent:hover{background:var(--f1-yellow-deep);transform:translateY(-2px);box-shadow:0 14px 26px rgba(10,35,64,.22);}
.f1-btn--primary{background:var(--f1-primary);color:#fff;}
.f1-btn--primary:hover{background:var(--f1-primary-700);transform:translateY(-2px);box-shadow:var(--f1-shadow-md);}
.f1-btn--ghost{background:transparent;border-color:var(--f1-primary);color:var(--f1-primary);}
.f1-btn--ghost:hover{background:var(--f1-primary);color:#fff;transform:translateY(-2px);}
.f1-btn--light{background:#fff;color:var(--f1-primary);}
.f1-btn--light:hover{background:var(--f1-cream);transform:translateY(-2px);box-shadow:var(--f1-shadow-md);}
.f1-btn--outline-light{background:transparent;border-color:rgba(255,255,255,.6);color:#fff;}
.f1-btn--outline-light:hover{background:#fff;color:var(--f1-primary);border-color:#fff;}
.f1-btn--outline-dark{background:transparent;border-color:var(--f1-ink);color:var(--f1-ink);}
.f1-btn--outline-dark:hover{background:var(--f1-ink);color:#fff;transform:translateY(-2px);}

/* ---- Reveal (micro-interazione allo scroll) -------------------------- */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--f1-ease),transform .7s var(--f1-ease);}
[data-reveal].is-in{opacity:1;transform:none;}
/* reveal "centrato": compare quando l'elemento arriva a meta viewport (con lieve ritardo, via JS) */
[data-reveal-late]{opacity:0;transform:translateY(32px) scale(.985);transition:opacity .85s var(--f1-ease),transform .85s var(--f1-ease);}
[data-reveal-late].is-in{opacity:1;transform:none;}
[data-reveal-delay="1"]{transition-delay:.08s}
[data-reveal-delay="2"]{transition-delay:.16s}
[data-reveal-delay="3"]{transition-delay:.24s}
[data-reveal-delay="4"]{transition-delay:.32s}
[data-reveal-delay="5"]{transition-delay:.40s}
@media (prefers-reduced-motion:reduce){
	[data-reveal],[data-reveal-late]{opacity:1!important;transform:none!important;transition:none!important;}
	html{scroll-behavior:auto;}
}

/* ---- Accessibilità: focus tastiera ----------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.f1-btn:focus-visible{
	outline:3px solid var(--f1-secondary);outline-offset:2px;border-radius:6px;
}

/* =========================================================================
   FRONT PAGE one-page: sezioni edge-to-edge (azzera i contenitori GP)
   ========================================================================= */
body.f1-front .site-content{padding:0;}
body.f1-front .content-area{width:100%;max-width:100%;}
body.f1-front .content-area .container,
body.f1-front .content-area .grid-container{max-width:100%;padding:0;}
body.f1-front .inside-article,
body.f1-front .entry-content{margin:0;padding:0;}
body.f1-front .entry-content>*{margin-top:0;}

/* =========================================================================
   HEADER
   ========================================================================= */
.f1-header{
	position:sticky;top:0;z-index:1000;background:var(--f1-primary);
	border-bottom:1px solid rgba(255,255,255,.08);
	transition:box-shadow .3s var(--f1-ease),background .3s var(--f1-ease);
}
.f1-header.is-scrolled{background:var(--f1-primary-900);box-shadow:0 10px 30px rgba(10,35,64,.30);}
.f1-header__inner{
	max-width:var(--f1-container);margin:0 auto;padding:0 28px;height:var(--f1-header-h);
	display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.f1-header__brand{display:inline-flex;align-items:center;}
.f1-header__logo{height:52px;width:auto;display:block;transition:transform .3s var(--f1-ease);}
.f1-header__brand:hover .f1-header__logo{transform:scale(1.04);}

/* Nav: pillola animata (in hover scorre sotto la voce) + testo corallo */
.f1-nav{display:flex;align-items:center;gap:22px;}
.f1-nav__list{position:relative;display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none;}
.f1-nav__item{position:relative;z-index:1;}
.f1-nav__link{
	position:relative;display:block;
	font-family:var(--f1-display);font-weight:400;font-size:19px;line-height:1;letter-spacing:.06em;text-transform:uppercase;
	color:rgba(255,255,255,.82);text-decoration:none;
	padding:11px 17px;white-space:nowrap;
	transition:color .25s var(--f1-ease);
}
.f1-nav__link:hover,.f1-nav__link:focus-visible{color:var(--f1-accent);}
.f1-nav__cursor{
	position:absolute;z-index:0;top:50%;left:0;width:0;height:38px;transform:translateY(-50%);
	list-style:none;border-radius:var(--f1-radius-pill);background:rgba(255,255,255,.16);opacity:0;pointer-events:none;
	transition:left .28s var(--f1-ease),width .28s var(--f1-ease),opacity .2s var(--f1-ease);
}
.f1-nav__phone{
	display:inline-flex;align-items:center;gap:8px;color:var(--f1-primary);background:var(--f1-yellow);
	text-decoration:none;font-weight:700;font-size:15px;padding:11px 20px;border-radius:var(--f1-radius-pill);
	white-space:nowrap;box-shadow:0 8px 20px rgba(10,35,64,.16);
	transition:background .25s var(--f1-ease),transform .25s var(--f1-ease);
}
.f1-nav__phone svg{width:17px;height:17px;}
.f1-nav__phone:hover{background:var(--f1-yellow-deep);transform:translateY(-1px);}

.f1-header__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;background:none;border:0;cursor:pointer;}
.f1-header__toggle span{display:block;height:2px;width:26px;margin:0 auto;background:#fff;border-radius:2px;transition:transform .25s var(--f1-ease),opacity .25s var(--f1-ease);}

/* =========================================================================
   FOOTER
   ========================================================================= */
.f1-footer{background:var(--f1-primary-900);color:#b9cdd2;font-size:15px;}
.f1-footer a{color:#b9cdd2;text-decoration:none;transition:color .2s var(--f1-ease);}
.f1-footer a:hover{color:#fff;}
.f1-footer__inner{
	max-width:var(--f1-container);margin:0 auto;padding:72px 28px 44px;
	display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;gap:40px;
}
.f1-footer__title{color:var(--f1-yellow);font-family:var(--f1-body);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:0 0 22px;}
.f1-footer__list{list-style:none;margin:0;padding:0;}
.f1-footer__list li{margin-bottom:13px;}
.f1-footer__contact{display:flex;gap:12px;margin-bottom:18px;line-height:1.55;}
.f1-footer__contact svg{width:20px;height:20px;color:var(--f1-accent);flex:none;margin-top:2px;}
.f1-footer__social{display:flex;gap:20px;margin-top:2px;}
.f1-footer__social a{display:inline-flex;color:#fff;transition:color .25s var(--f1-ease),transform .25s var(--f1-ease);}
.f1-footer__social a:first-child{margin-left:-9px;}
.f1-footer__social a:hover{color:var(--f1-accent);transform:translateY(-3px);}
.f1-footer__social svg{width:26px;height:26px;}
.f1-footer__divider{
	max-width:var(--f1-container);margin:0 auto;padding:30px 28px;
	border-top:1px solid rgba(255,255,255,.12);
	display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.f1-footer__brand-logo{height:80px;width:auto;}
.f1-footer__legal{display:flex;gap:26px;flex-wrap:wrap;}
.f1-footer__col-logo{display:block;height:68px;width:auto;margin-top:26px;}
.f1-footer__bottom{
	max-width:var(--f1-container);margin:0 auto;padding:0 28px 40px;
	display:flex;justify-content:center;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:14px;color:#8fabb2;
}
.f1-footer__pw{font-size:13px;color:#7f9aa1;}
.f1-footer__pw a{color:var(--f1-yellow);text-decoration:none;transition:color .2s var(--f1-ease);}
.f1-footer__pw a:hover{color:#fff;text-decoration:underline;}

/* =========================================================================
   RESPONSIVE — menu mobile
   ========================================================================= */
@media (max-width:960px){
	.f1-header__toggle{display:flex;}
	.f1-nav{
		position:fixed;inset:var(--f1-header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
		background:var(--f1-primary-900);border-bottom:1px solid rgba(255,255,255,.1);padding:14px 28px 28px;
		transform:translateY(-130%);transition:transform .35s var(--f1-ease);box-shadow:var(--f1-shadow-md);
	}
	.f1-header.is-open .f1-nav{transform:translateY(0);}
	.f1-nav__list{flex-direction:column;align-items:stretch;gap:0;}
	.f1-nav__item{border-bottom:1px solid rgba(255,255,255,.1);}
	.f1-nav__link{display:block;padding:15px 2px;font-size:22px;}
	.f1-nav__cursor{display:none;}
	.f1-nav__phone{margin-top:18px;justify-content:center;padding:15px;}
	.f1-header.is-open .f1-header__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
	.f1-header.is-open .f1-header__toggle span:nth-child(2){opacity:0;}
	.f1-header.is-open .f1-header__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

	.f1-footer__inner{grid-template-columns:1fr 1fr;gap:32px;}
	.f1-footer__bottom{flex-direction:column;text-align:center;}
}
@media (max-width:560px){
	.f1-header__inner{padding:0 18px;}
	.f1-footer__inner{grid-template-columns:1fr;padding:48px 22px 32px;}
}
