/* Sito creato con ❤ custom da MarTe Graphics | autore e sito web: www.martegraphics.it | All Rights Reserved. */
/*
Theme Name: Luca Cristofori
Theme URI: https://www.lucacristofori.com/
Author: MarTe Graphics
Author URI: https://www.martegraphics.it/
Description: Tema su misura per lucacristofori.com.
Version: 1.1.0
Requires PHP: 8.0
Text Domain: lc-theme
*/

@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(assets/fonts/open-sans-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:italic;font-weight:300 800;font-display:swap;src:url(assets/fonts/open-sans-latin-wght-italic.woff2) format("woff2")}

:root{
	--verde:#9fc748;
	--verde-scuro:#86ac36;
	--rosa:#d9637b;
	--titoli:#333;
	--testo:#777;
	--testo-home:#2b2b2b;
	--link:#0099dd;
	--campo:#f5f5f5;
	--bordo:#e2e2e2;
	--bianco:#fff;
	--box:1210px;
	--font:"Open Sans",Arial,Helvetica,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bianco);color:var(--testo);font-family:var(--font);font-size:15px;line-height:1.55;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none}
a:hover,a:focus-visible{text-decoration:underline}
:focus-visible{outline:2px solid var(--link);outline-offset:2px}
h1,h2,h3,h4{color:var(--titoli);font-weight:700;line-height:1.25;margin:0 0 .6em;text-wrap:balance}
p{margin:0 0 1.1em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 16px;z-index:100}
.salta:focus{left:10px;top:10px}

.contenitore{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}

.testata{background:var(--bianco);position:relative;z-index:20}
.testata .contenitore{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:107px}
.logo{display:block;flex:0 1 480px;min-width:0}
.logo img{width:100%;max-width:515px;height:auto}
.menu-principale{display:flex;align-items:center;gap:6px}
.menu-principale ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px}
.menu-principale a{display:block;padding:10px 9px;white-space:nowrap;color:var(--testo);font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;transition:color .2s}
.menu-principale a:hover,.menu-principale a:focus-visible,.menu-principale .current-menu-item>a,.menu-principale .current_page_item>a{color:var(--verde)}
.lingue{display:flex;align-items:center;gap:2px;margin-left:8px;font-weight:700;font-size:13px;text-transform:uppercase}
.lingue a,.lingue span{padding:6px 5px;color:var(--testo);text-decoration:none}
.lingue .attiva{color:var(--verde)}
.lingue i{font-style:normal;color:#ccc}
.apri-menu{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;color:var(--titoli)}
.apri-menu svg{display:block;width:28px;height:28px}

.sfondo{background:#111 url(assets/img/sfondo-pattern.jpg) repeat-y center top/max(100%,1260px) auto;padding:62px 20px}
.page-template-page-home .sfondo{padding-top:117px;padding-bottom:117px}
.box{max-width:var(--box);margin:0 auto;background:var(--bianco);padding:52px 65px 58px}
.box-titolo{font-size:28px;text-transform:uppercase;letter-spacing:.01em;margin:0 0 44px}

.pagina{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}
.pagina.senza-foto{grid-template-columns:minmax(0,1fr)}
.testo{min-width:0;text-align:justify;hyphens:manual}
.testo h2,.testo h3{text-align:left;margin-top:1.4em}
.testo h2:first-child,.testo h3:first-child{margin-top:0}
.testo ul,.testo ol{text-align:left;padding-left:1.2em}
.testo li{margin-bottom:.4em}

.carosello{position:relative;min-width:0;overflow:hidden;background:#f2f2f2}
.carosello-pista{display:grid}
.carosello-foto{grid-area:1/1;margin:0;opacity:0;transition:opacity .7s ease;visibility:hidden}
.carosello-foto.attiva{opacity:1;visibility:visible}
.carosello-foto img{width:100%;height:auto}
.carosello-freccia{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .2s,background .2s}
.carosello-freccia:hover,.carosello-freccia:focus-visible{opacity:1;background:rgba(0,0,0,.6)}
.carosello-freccia svg{width:18px;height:18px}
.carosello-prec{left:10px}
.carosello-succ{right:10px}

.colonna-destra{min-width:0;display:flex;flex-direction:column;gap:28px}
.in-breve{background:#f5f5f5;padding:22px 24px 20px}
.in-breve-titolo{font-size:16px;text-transform:uppercase;letter-spacing:.03em;margin:0 0 14px}
.in-breve dl{margin:0}
.in-breve-intro{font-size:14px;line-height:1.5;margin:0 0 14px;color:var(--titoli)}
.faq-chiusura{margin-top:34px;text-align:center}
.faq-pulsanti{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 16px;margin:18px 0 0}
.bottone.bottone-secondario{background:#fff;color:var(--titoli);box-shadow:0 0 0 1px var(--bordo),0 3px 0 var(--bordo)}
.bottone.bottone-secondario:hover,.bottone.bottone-secondario:focus-visible{background:#f5f5f5;color:var(--titoli)}
.in-breve-riga{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--bordo);font-size:14px;line-height:1.45}
.in-breve-riga:first-child{border-top:0;padding-top:0}
.in-breve dt{font-weight:700;color:var(--rosa)}
.in-breve dd{margin:0;grid-column:2}
.in-breve-riga dd:only-child{grid-column:1/-1}

.faq-intro{margin-bottom:30px}
.faq{border-top:1px solid var(--bordo)}
.faq-voce{border-bottom:1px solid var(--bordo)}
.faq-voce summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}
.faq-voce summary::-webkit-details-marker{display:none}
.faq-voce summary::after{content:"+";flex:0 0 auto;font-size:24px;line-height:1;color:var(--verde);font-weight:400;transition:transform .2s}
.faq-voce[open] summary::after{transform:rotate(45deg)}
.faq-domanda{font-size:17px;margin:0;color:var(--titoli)}
.faq-voce summary:hover .faq-domanda{color:var(--verde)}
.faq-risposta{padding:0 0 18px}
.faq-risposta p:last-child{margin-bottom:0}

.home-box{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,588fr) minmax(0,590fr);background:var(--bianco)}
.home-foto{margin:0;background:#1c1d22}
.home-foto img{width:100%;height:100%;object-fit:cover}
.home-destra{display:flex;flex-direction:column;min-width:0}
.home-pannello{position:relative;padding:22px 66px 24px 40px;flex:1}
.home-pannello::after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:var(--rosa)}
.home-titolo{color:var(--rosa);font-weight:400;font-size:26px;margin:0 0 22px}
.home-sottotitolo{color:var(--rosa);font-weight:700;font-size:15px;line-height:1.3;margin:0 0 26px}
.home-testo{color:var(--testo-home);font-size:14px;line-height:1.4;text-align:justify}
.home-testo p{margin:0}
.home-firma{color:var(--rosa);font-size:13px;margin:20px 0 0}
.home-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--bianco)}
.home-strip figure{margin:0;overflow:hidden}
.home-strip img{width:100%;height:100%;object-fit:cover;aspect-ratio:294/124}

.modulo{max-width:575px;margin:0 auto}
.modulo .campo{margin-bottom:20px}
.modulo label{display:block;margin-bottom:6px;font-size:15px}
.modulo input[type=text],.modulo input[type=email],.modulo textarea{width:100%;font:inherit;color:var(--titoli);background:var(--campo);border:1px solid var(--bordo);padding:9px 12px;border-radius:0}
.modulo input:focus,.modulo textarea:focus{outline:2px solid var(--verde);outline-offset:0;background:#fff}
.modulo textarea{min-height:208px;resize:vertical}
.modulo .consenso{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55;margin:26px 0 22px 14px}
.modulo .consenso input{margin-top:5px;flex:0 0 auto;width:15px;height:15px}
.bottone{display:inline-block;background:var(--verde);color:#fff;border:0;border-radius:3px;box-shadow:0 3px 0 var(--verde-scuro);padding:11px 15px;font:700 14px/1 var(--font);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:background .2s,transform .1s}
.bottone:hover,.bottone:focus-visible{background:var(--verde-scuro);text-decoration:none}
.bottone:active{transform:translateY(2px);box-shadow:0 1px 0 var(--verde-scuro)}
.bottone[disabled]{opacity:.6;cursor:wait}
.lcx{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.avviso{padding:16px 20px;margin:0 0 24px;border:1px solid}
.avviso-ok{background:#f4f9ea;border-color:var(--verde);color:#3d5212}
.avviso-errore{background:#fbeef1;border-color:var(--rosa);color:#8a2236}
.avviso ul{margin:6px 0 0;padding-left:18px}

.piede{background:var(--bianco);padding:44px 0 50px}
.piede p{margin:0 0 22px}
.piede p:last-child{margin-bottom:0}

.errore-404{text-align:center;padding:30px 0}
.errore-404 .box-titolo{margin-bottom:18px}

@media (max-width:1100px){
	.menu-principale a{padding:10px 6px;font-size:14px}
	.logo{flex-basis:400px}
	.home-pannello{padding:20px 52px 22px 28px}
	.home-pannello::after{width:22px}
}

@media (max-width:960px){
	.testata .contenitore{min-height:84px}
	.logo{flex-basis:auto;max-width:calc(100% - 60px)}
	.apri-menu{display:block}
	.menu-principale{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bianco);flex-direction:column;align-items:stretch;padding:6px 20px 18px;box-shadow:0 10px 20px rgba(0,0,0,.12)}
	.menu-principale.aperto{display:flex}
	.menu-principale ul{flex-direction:column;align-items:stretch;gap:0}
	.menu-principale a{padding:13px 4px;border-bottom:1px solid #eee;font-size:15px}
	.lingue{margin:12px 0 0;padding:0 4px}
	.box{padding:40px 36px 44px}
	.pagina{grid-template-columns:minmax(0,1fr)}
	.carosello{max-width:420px;margin:0 auto;width:100%}
	.in-breve{max-width:620px;width:100%;margin:0 auto}
	.home-box{grid-template-columns:minmax(0,1fr)}
	.home-foto img{aspect-ratio:588/711;height:auto}
}

@media (max-width:600px){
	.sfondo{padding:24px 12px}
	.box{padding:30px 20px 34px}
	.box-titolo{font-size:23px;margin-bottom:28px}
	.testo{text-align:left}
	.home-pannello{padding:20px 38px 20px 18px}
	.home-pannello::after{width:14px}
	.home-titolo{font-size:23px}
	.home-testo{text-align:left;font-size:15px;line-height:1.5}
	.modulo .consenso{margin-left:0}
}

@media (prefers-reduced-motion:reduce){
	*{transition:none!important}
}
