/* ==========================================================================
   PIC Studio - rifiniture grafiche e responsive
   Caricato da header.php su tutte le pagine.
   ========================================================================== */

:root{
	--pic-orange:#FF3D00;
	--pic-ink:#111;
}

::selection{ background:var(--pic-orange); color:#fff; }

/* la barra fissa non deve mai coprire il contenuto quando si arriva da un'ancora */
html{ scroll-padding-top:calc(var(--pic-header-h) + 12px); }

/* nessuna pagina deve scorrere in orizzontale */
html,body{ max-width:100%; }
#outer-wrap,#wrap,#main{ overflow-x:clip; }

/* --------------------------------------------------------------- tipografia */
img{ max-width:100%; height:auto; }

/* i titoli molto grandi non devono sfondare i telefoni */
@media (max-width:600px){
	.elementor-slide-heading{ font-size:clamp(28px,9vw,44px) !important; line-height:1.1 !important; }
	.elementor-slide-description,
	.elementor-slide-description h2{ font-size:clamp(13px,3.6vw,17px) !important; line-height:1.5 !important; }
	.elementor-heading-title{ overflow-wrap:break-word; }
}

/* --------------------------------------------------------------- moduli */
.elementor-field-textual{
	border:1px solid rgba(0,0,0,.18) !important;
	border-radius:2px !important;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.elementor-field-textual:focus{
	border-color:var(--pic-orange) !important;
	box-shadow:0 0 0 3px rgba(255,61,0,.12) !important;
	outline:none !important;
}
.elementor-form .elementor-button{
	border-radius:2px;
	transition:background-color .2s ease, color .2s ease;
}
.elementor-form .elementor-button:hover{ background-color:var(--pic-orange) !important; }

/* -------------------------------------------------- pagina contatti */
/* i riquadri finivano sotto la barra fissa */
.page-id-2390 .elementor-element-fe53328{
	padding-top:calc(var(--pic-header-h) + 40px) !important;
}
/* le due colonne si dividono la riga in modo equilibrato e alla stessa altezza */
@media (min-width:1025px){
	.page-id-2390 .elementor-element-7ac0e59{ width:66.66% !important; }
	.page-id-2390 .elementor-element-6e4ba2e{ width:33.33% !important; }
	.page-id-2390 .elementor-element-6e4ba2e .elementor-column{ width:100% !important; }
	.page-id-2390 .elementor-element-6e4ba2e .elementor-container{ max-width:none !important; }
	.page-id-2390 .elementor-element-fe53328 > .elementor-container{ align-items:stretch; }
	.page-id-2390 .elementor-element-6e4ba2e > .elementor-widget-wrap,
	.page-id-2390 .elementor-element-6e4ba2e > .elementor-widget-wrap > .elementor-section,
	.page-id-2390 .elementor-element-6e4ba2e .elementor-container,
	.page-id-2390 .elementor-element-07d3b94,
	.page-id-2390 .elementor-element-07d3b94 > .elementor-widget-wrap{
		display:flex; flex-direction:column; flex:1 1 auto;
		align-items:stretch; align-self:stretch;
		width:100% !important;
	}
	.page-id-2390 .elementor-element-07d3b94 > .elementor-widget-wrap{ justify-content:center; }
}
/* il pulsante di invio segue la larghezza dei campi */
.page-id-2390 .elementor-form .e-form__buttons{ width:100%; }
.page-id-2390 .elementor-form .elementor-button{ width:100%; justify-content:center; }
.page-id-2390 .elementor-icon-list-item{
	display:flex; flex-wrap:wrap; align-items:baseline;
	gap:.15em .5em;
	overflow-wrap:anywhere;
}
.page-id-2390 .elementor-icon-list-item > a{ margin:0; }
/* la colonna social era affiancata a un blocco poi rimosso: ora occupa la sua riga */
.page-id-2390 .elementor-element-07d3b94,
.page-id-2390 .elementor-element-6e4ba2e > .elementor-widget-wrap > .elementor-section{ width:100%; }

@media (max-width:1024px){
	.page-id-2390 .elementor-column{ width:100% !important; }
}

/* ------------------------------------------------------------- torna su */
#scroll-top{
	width:42px; height:42px; line-height:42px;
	border-radius:50%;
	background:rgba(17,17,17,.85);
	color:#fff;
	transition:background-color .2s ease, transform .2s ease;
}
#scroll-top:hover{ background:var(--pic-orange); transform:translateY(-2px); }

/* --------------------------------------------------------- pagine legali */
/* il titolo della pagina era ridotto a zero dal tema */
.page-header{ padding-top:calc(var(--pic-header-h) + 48px) !important; }
.page-header-title{
	font-size:clamp(30px,4.2vw,46px) !important;
	line-height:1.15 !important;
	font-weight:300 !important;
	text-transform:uppercase;
	letter-spacing:.01em;
	text-align:center;
}
.elementor-3761 .container{ max-width:840px; margin:0 auto; }
.elementor-3761 .lead{ text-align:center; color:#777; font-size:14px; margin-bottom:40px; }
/* un documento legale va letto, non gridato */
.pic-legal, .pic-legal *{ text-transform:none !important; }
.pic-legal{ font-size:16px; line-height:1.75; }
.pic-legal .card{ margin-bottom:34px; }
.pic-legal h2{
	font-size:20px; font-weight:600; margin:0 0 .6em;
	text-transform:none;
}
.pic-legal li{ margin-bottom:.5em; }
.pic-legal a{ color:var(--pic-orange); }

/* --------------------------------------------------------- pagina about */
/* la fascia fotografica era alta poche decine di pixel: diventa una vera apertura */
.elementor-2338 .elementor-element-2ec1805{ min-height:46vh; }
@media (max-width:768px){ .elementor-2338 .elementor-element-2ec1805{ min-height:32vh; } }

/* ---------------------------------------------------- accessibilita' generale */
a:focus-visible,
button:focus-visible,
input:focus-visible,
[tabindex]:focus-visible{
	outline:2px solid var(--pic-orange);
	outline-offset:2px;
}

/* --------------------------------------------------------------- schede */
/* il contenuto era spinto a 150px dalla colonna delle linguette: troppo staccato */
.eael-advance-tabs .eael-tabs-content > div{ margin-left:48px !important; }
@media (max-width:1024px){
	.eael-advance-tabs .eael-tabs-content > div{ margin-left:0 !important; }
}

/* --------------------------------------------- distanza titolo/testo legale */
.elementor-3761 .elementor-element-2074281{ padding-top:0 !important; }
