/* =====================================================================
   color-life.it — aggiunte del sito statico al tema Handmade
   ===================================================================== */

/* Video di sfondo della home: copre la riga a tutta altezza, sotto ai titoli */
.vc_row-o-full-height { position: relative; overflow: hidden; }
.cl-video-bg { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto;
	transform: translate(-50%, -50%); object-fit: cover; z-index: 0; pointer-events: none; }
.vc_row-o-full-height > .wpb_column { position: relative; z-index: 1; }

/* Mappa nei contatti: segnaposto finche' non c'e' il consenso */
.cl-mappa { position: relative; min-height: 331px; background: #f2f2f2; }
.cl-mappa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cl-mappa-attiva .cl-mappa-segnaposto { display: none; }
.cl-mappa-segnaposto { padding: 60px 20px; text-align: center; }
.cl-mappa-segnaposto p { text-align: center !important; font-size: 16px !important; line-height: 1.6 !important; }
.cl-btn { display: inline-block; padding: 10px 24px; border: 0; background: #456075; color: #fff; font-family: inherit; cursor: pointer; }

/* Modulo di contatto (le regole .Form1 vengono dal CSS originale del sito) */
.cl-modulo label { display: block; margin: 0 0 4px; font-weight: normal; }
.cl-modulo input[type=text], .cl-modulo input[type=email], .cl-modulo input[type=tel], .cl-modulo textarea {
	width: 100%; margin-bottom: 18px; padding: 8px 0; border: 0; border-bottom: 1px solid #000; background: transparent; }
.cl-modulo input[type=submit] { padding: 12px; border: 0; background: #456075; color: #fff; cursor: pointer; }
.cl-err { display: block; margin: -12px 0 14px; color: #c0392b; font-size: 14px; }
.cl-esito { padding: 14px 18px; margin: 0 15px 20px; font-size: 16px !important; line-height: 1.5 !important; text-align: left !important; }
.cl-ok { background: #e7f5ea; border-left: 4px solid #2e8b4a; }
.cl-ko { background: #fbeaea; border-left: 4px solid #c0392b; }
.cl-trappola { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* =====================================================================
   Smartphone e tablet (fino a 991 px, dove il tema passa al menu mobile).
   Sopra i 991 px non cambia nulla: l'aspetto desktop resta quello originale.
   ===================================================================== */
@media (max-width: 991px) {
	/* le righe a tutta larghezza hanno i margini negativi di Bootstrap: niente scorrimento laterale */
	#wrapper { overflow-x: hidden; overflow-x: clip; }

	/* testata delle pagine interne: meno spazio vuoto sopra e sotto il titolo */
	.entry-content > .fullwidth:first-child > .vc_row:not(.vc_row-o-full-height) { padding-top: 150px !important; padding-bottom: 100px !important; }

	/* sfondi fissi: su iPhone e Android ingrandiscono l'immagine a dismisura */
	body .BGFixed { background-attachment: scroll !important; }

	h1 { font-size: 42px; line-height: 1.2; }
	.entry-content h1.vc_custom_heading { font-size: 42px !important; }
	h2 { font-size: 34px; line-height: 1.3; }
	h1, h2, h3, h4 { overflow-wrap: break-word; }
}

/* Smartphone (fino a 767 px) */
@media (max-width: 767px) {
	/* barra in alto piu' bassa: e' fissa e su un telefono occupava quasi un quinto dello schermo */
	header.mobile-header .header-mobile-inner { height: 80px; }
	.header-logo-mobile { line-height: 80px; }
	.header-logo-mobile img { max-height: 80px; padding-top: 14px; padding-bottom: 14px; }

	/* testo: allineato a sinistra (il giustificato su colonne strette apre buchi) e piu' compatto */
	p:not(.exclude) { font-size: 17px; line-height: 1.7; text-align: left; }
	.attivita_left p { font-size: 16px !important; line-height: 1.7; text-align: left !important; }
	body { font-size: 16px; }

	/* titoli in scala con lo schermo: le parole lunghe non escono piu' dal bordo */
	h1, .entry-content h1.vc_custom_heading { font-size: 32px !important; line-height: 1.2; }
	h2 { font-size: 25px; line-height: 1.35; margin-top: 20px; }
	h3 { font-size: 20px; line-height: 1.45; }
	h4 { font-size: 18px; line-height: 1.5; }
	.blu h2 { font-size: 21px; line-height: 1.5; }

	/* testate e fasce colorate */
	.entry-content > .fullwidth:first-child > .vc_row:not(.vc_row-o-full-height) { padding-top: 80px !important; padding-bottom: 60px !important; }
	.blu { padding-top: 45px; padding-bottom: 55px; }
	.grigio { padding-top: 30px; padding-bottom: 20px; }

	/* home: video e titoli a tutta altezza sotto la barra */
	.vc_row-o-full-height { min-height: calc(100vh - 80px); min-height: calc(100svh - 80px); }
	.vc_row-o-full-height h3 { font-size: 19px; }

	/* elenchi di attivita' e settori con icona: due per riga invece di tre colonne strette */
	.row.attivita .col-xs-4, .row.settori .col-xs-4 { width: 50%; }
	.row.settori p, .row.attivita p { padding-top: 10px; padding-bottom: 10px; font-size: 16px; line-height: 1.45; }
	.row.settori, .row.attivita { padding-bottom: 35px; }
	.rowline, .row.settori > div > div, .row.attivita > div > div { padding-top: 25px; }

	/* modulo: campi a 16 px, altrimenti iPhone ingrandisce la pagina quando li tocchi */
	.cl-modulo input[type=text], .cl-modulo input[type=email], .cl-modulo input[type=tel], .cl-modulo textarea { font-size: 16px; }
	.cl-modulo .Privacy { line-height: 1.5; }
	.cl-mappa { min-height: 280px; }
	.cl-mappa-segnaposto { padding: 40px 16px; }

	/* tabelle della cookie policy: ogni riga diventa una scheda con le etichette delle colonne */
	.cl-tabella, .cl-tabella tbody, .cl-tabella tr, .cl-tabella td { display: block; width: 100%; }
	.cl-tabella thead { display: none; }
	.entry-content .cl-tabella { margin-bottom: 24px; }
	.entry-content .cl-tabella > tbody > tr { border: 1px solid #eee; margin-bottom: 12px; }
	.entry-content .cl-tabella > tbody > tr > td { border: 0; padding: 6px 12px; font-size: 15px; overflow-wrap: anywhere; }
	.cl-tabella td::before { display: block; font-weight: bold; font-size: 13px; color: #456075; }
	.cl-tabella td:nth-child(1)::before { content: "Cookie"; }
	.cl-tabella td:nth-child(2)::before { content: "Fornitore"; }
	.cl-tabella td:nth-child(3)::before { content: "Finalit\e0"; }
	.cl-tabella td:nth-child(4)::before { content: "Durata"; }
	html[lang=en] .cl-tabella td:nth-child(2)::before { content: "Provider"; }
	html[lang=en] .cl-tabella td:nth-child(3)::before { content: "Purpose"; }
	html[lang=en] .cl-tabella td:nth-child(4)::before { content: "Duration"; }

	/* footer */
	footer.main-footer-wrapper .main-footer { padding-bottom: 30px !important; }
	footer .handmade-bottom-bar p { line-height: 1.6; padding: 12px 0; }
}
