/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* Pulsante a cavallo del bordo inferiore del riquadro.
   Vale per i due "Download brochures" della home new e per ogni pulsante
   a cui si aggiunge la classe extra "btn-sul-bordo". */
#wd-6ac40fb13d70c,
#wd-6ac40fc85866a,
html .wd-button-wrapper:has(> .btn-sul-bordo) {
	position: relative;
	z-index: 2;
	transform: translateY(50%);
}

/* Sporgenza a destra per i pulsanti con la classe (i due brochure
   ce l hanno gia dalle opzioni di design del pulsante). */
html .wd-button-wrapper:has(> .btn-sul-bordo) {
	margin-right: -10px;
}


/* Su mobile i riquadri vanno uno sotto l'altro a tutta larghezza:
   si staccano dai lati e tra loro, cosi il pulsante sporge senza
   uscire dallo schermo e senza coprire il riquadro successivo. */
@media (max-width: 767px) {
	.vc_column-inner:is(:has(> .wpb_wrapper > :is(#wd-6ac40fb13d70c, #wd-6ac40fc85866a)), :has(> .wpb_wrapper > .wd-button-wrapper > .btn-sul-bordo)) {
		width: calc(100% - 30px) !important;
		margin: 0 15px 45px !important;
	}
}

/* Fascia CO2 (classe "gts-co2" sulla riga): immagine a tutta larghezza,
   sempre intera in altezza e mai piu alta di 520px. Oltre quella misura
   l'immagine resta a sinistra e il verde scuro del suo bordo destro
   riempie il resto. Il testo sta a destra, allineato alla griglia. */
html .vc_row.gts-co2 {
	display: flex;
	align-items: center;
	min-height: min(35.46vw, 520px);
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background-color: #1c2918 !important;
	background-repeat: no-repeat !important;
	background-position: left center !important;
	background-size: auto 100% !important;
	background-attachment: scroll !important;
}
html .vc_row.gts-co2 > .vc_column_container {
	width: 100%;
}
html .vc_row.gts-co2 > .vc_column_container > .vc_column-inner {
	padding-top: 0;
	padding-bottom: 0;
}
html .gts-co2 .gts-co2-testo {
	width: 30%;
	margin: 0 0 0 auto;
	color: #fff;
}
html .gts-co2 .gts-co2-testo p,
html .gts-co2 .gts-co2-testo h3 {
	margin: 0;
	color: #fff;
}
html .gts-co2 .gts-co2-sopra {
	font-size: clamp(15px, 1.9vw, 26px);
	font-weight: 300;
	line-height: 1.2;
}
html .gts-co2 .gts-co2-titolo {
	font-size: clamp(17px, 2.3vw, 34px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: .01em;
}
html .gts-co2 .gts-co2-testo .gts-co2-sotto {
	margin-top: .9em;
	font-size: clamp(12px, 1.25vw, 17px);
	line-height: 1.45;
}

/* Mobile: immagine sopra con l'impronta intera, testo sotto sul verde scuro. */
@media (max-width: 767px) {
	html .vc_row.gts-co2 {
		display: block;
		min-height: 0;
		padding-top: 56vw !important;
		background-position: left top !important;
		background-size: auto 56vw !important;
	}
	html .gts-co2 .gts-co2-testo {
		width: auto;
		margin: 0;
		padding: 22px 0 28px;
	}
	html .gts-co2 .gts-co2-sopra { font-size: 18px; }
	html .gts-co2 .gts-co2-titolo { font-size: 24px; }
	html .gts-co2 .gts-co2-testo .gts-co2-sotto { font-size: 15px; }
}

/* ---------- Pagina Certificazioni ---------- */
html .gts-cert-testo {
	margin-bottom: 0;
}
html .gts-cert-testo h1,
html .gts-cert-testo h2,
html .gts-cert-testo h3 {
	margin: 0 0 .7em;
	color: #91918c;
	font-weight: 600;
	line-height: 1.25;
}
html .gts-cert-testo h1 { font-size: clamp(28px, 3vw, 40px); }
html .gts-cert-testo h2 { font-size: clamp(22px, 2.2vw, 30px); }
html .gts-cert-testo h3 { font-size: clamp(18px, 1.6vw, 22px); }
html .gts-cert-testo p:last-child,
html .gts-cert-testo ul:last-child {
	margin-bottom: 0;
}
html .gts-cert-testo ul {
	margin: 0 0 1.2em;
	padding: 0;
	list-style: none;
}
html .gts-cert-testo ul li {
	position: relative;
	margin: 0 0 .6em;
	padding-left: 22px;
}
html .gts-cert-testo ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 8px;
	height: 8px;
	background: var(--wd-primary-color);
}

/* Apertura centrata, come il blocco di testo della home. */
html .gts-cert-intro .gts-cert-testo {
	text-align: center;
	font-size: 18px;
}

/* Riquadri col bordo grigio della home. */
html .gts-cert-card > .vc_column-inner {
	height: 100%;
	padding: 0 12px;
}
html .gts-cert-card > .vc_column-inner > .wpb_wrapper {
	height: 100%;
	padding: 32px 30px;
	border: 1px solid #91918c;
	background: #fff;
}

/* Certificati ISO: fogli col bordo, cliccabili per ingrandire. */
html .gts-cert-doc .wd-image img,
html .gts-cert-doc img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #91918c;
	background: #fff;
}
html .gts-cert-doc > .vc_column-inner {
	padding-top: 0;
}

/* Fascia finale sul verde scuro della fascia CO2. */
html .vc_row.gts-cert-fascia {
	margin-bottom: -40px;
	padding-top: 70px !important;
	padding-bottom: 70px !important;
	background-color: #1c2918 !important;
}
html .gts-cert-fascia .gts-cert-testo,
html .gts-cert-fascia .gts-cert-testo p,
html .gts-cert-fascia .gts-cert-testo h2 {
	color: #fff;
	text-align: center;
}

@media (max-width: 767px) {
	html .gts-cert-intro .gts-cert-testo { font-size: 16px; }
	html .vc_row.gts-cert-iso { padding-top: 45px !important; padding-bottom: 45px !important; }
	html .gts-cert-iso .gts-cert-doc { width: 50%; margin-top: 30px; }
	html .gts-cert-card > .vc_column-inner { height: auto; padding: 0 15px; margin-bottom: 20px; }
	html .gts-cert-card > .vc_column-inner > .wpb_wrapper { padding: 24px 20px; }
	html .gts-cert-doc-riga .gts-cert-card { margin-top: 25px; }
	html .vc_row.gts-cert-fascia { padding-top: 45px !important; padding-bottom: 45px !important; }
}

/* ---------- Footer (blocco HTML "footer v2") ----------
   Lo sfondo a tutta larghezza e quello del footer nelle Impostazioni tema;
   il blocco porta solo i testi, dentro la griglia. */
html .gts-footer .gts-footer-col {
	margin-bottom: 20px;
	color: #fff;
	font-size: 15px;
	line-height: 1.7;
}
html .gts-footer .gts-footer-col h4 {
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--wd-primary-color);
	color: var(--wd-primary-color);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
}
html .gts-footer .gts-footer-col p {
	margin: 0;
	color: #fff;
}
html .gts-footer .gts-footer-col a {
	color: #fff;
}
html .gts-footer .gts-footer-col a:hover {
	color: var(--wd-primary-color);
}
@media (min-width: 768px) {
	html .gts-footer > .vc_column_container > .vc_column-inner {
		padding-right: 25px;
	}
}

/* Colonna del footer senza titolo: su desktop parte all'altezza
   del testo delle altre colonne, non del loro titolo. */
@media (min-width: 768px) {
	html .gts-footer .gts-footer-col-senza-titolo {
		padding-top: 44px;
	}
}

/* ---------- Movimento ----------
   Comparsa allo scorrimento (classi messe da js/gts-motion.js) ed effetti al passaggio. */
.gts-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
	will-change: opacity, transform;
}
.gts-reveal.gts-in {
	opacity: 1;
	transform: none;
}

/* Riquadri col bordo (brochure, Carbonio/Inox/PVC/HDPE): zoom lento dell'immagine
   e bordo che prende il verde quando ci si passa sopra. */
html .vc_col-has-fill > .vc_column-inner {
	transition: border-color .35s ease, box-shadow .35s ease;
}
html .vc_col-has-fill > .vc_column-inner > .wpb_wrapper > .wd-image {
	overflow: hidden;
}
html .vc_col-has-fill > .vc_column-inner > .wpb_wrapper > .wd-image img {
	transition: transform .9s cubic-bezier(.2, .7, .2, 1);
}
@media (hover: hover) {
	html .vc_col-has-fill:has(> .vc_column-inner > .wpb_wrapper > .wd-image):hover > .vc_column-inner {
		border-color: var(--wd-primary-color) !important;
		box-shadow: 0 14px 34px rgba(0, 0, 0, .10);
	}
	html .vc_col-has-fill:hover > .vc_column-inner > .wpb_wrapper > .wd-image img {
		transform: scale(1.07);
	}
}

/* Pulsanti: si alzano appena e prendono ombra. */
html .wd-button-wrapper .btn {
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
@media (hover: hover) {
	html .wd-button-wrapper .btn:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
	}
}

/* Icone dei settori in home. */
html img.fix_icone {
	transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}
@media (hover: hover) {
	html .wd-text-block:hover img.fix_icone {
		transform: translateY(-6px) scale(1.08);
	}
}

/* Pagina Certificazioni: riquadri e fogli dei certificati. */
html .gts-cert-card > .vc_column-inner > .wpb_wrapper {
	transition: opacity .7s ease, transform .5s cubic-bezier(.2, .7, .2, 1), border-color .35s ease, box-shadow .35s ease;
}
html .gts-cert-doc img {
	transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease;
}
@media (hover: hover) {
	html .gts-cert-card:hover > .vc_column-inner > .wpb_wrapper {
		transform: translateY(-6px);
		border-color: var(--wd-primary-color);
		box-shadow: 0 16px 36px rgba(0, 0, 0, .10);
	}
	html .gts-cert-doc:hover img {
		transform: translateY(-6px) scale(1.02);
		box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
	}
}

/* Link del footer. */
html .gts-footer .gts-footer-col a {
	transition: color .25s ease;
}

@media (prefers-reduced-motion: reduce) {
	.gts-reveal { opacity: 1; transform: none; transition: none; }
	html .vc_col-has-fill > .vc_column-inner > .wpb_wrapper > .wd-image img,
	html .wd-button-wrapper .btn,
	html img.fix_icone,
	html .gts-cert-card > .vc_column-inner > .wpb_wrapper,
	html .gts-cert-doc img { transition: none; transform: none !important; }
}

/* ---------- Home: frase del 30° ---------- */
html .vc_row.gts-30 {
	padding-top: 140px !important;
	padding-bottom: 150px !important;
}
html .gts-30 .gts-30-testo {
	margin-bottom: 0;
	text-align: center;
}
html .gts-30 .gts-30-logo {
	margin: 0 0 38px;
}
html .gts-30 .gts-30-logo img {
	width: clamp(130px, 14vw, 190px);
	height: auto;
}
html .gts-30 .gts-30-frase {
	position: relative;
	margin: 0;
	padding: 0 60px;
	border: 0;
	background: none;
}
html .gts-30 .gts-30-frase::before,
html .gts-30 .gts-30-frase::after {
	position: absolute;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 110px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
}
html .gts-30 .gts-30-frase::before {
	content: "\201C";
	left: 0;
	top: -22px;
}
html .gts-30 .gts-30-frase::after {
	content: "\201D";
	right: 0;
	bottom: -62px;
}
html .gts-30 .gts-30-frase p {
	margin: 0;
	text-align: center;
	font-size: clamp(17px, 1.45vw, 21px);
	line-height: 1.45;
}
html .gts-30 .gts-30-it {
	color: #fff;
}
html .gts-30 .gts-30-frase .gts-30-en {
	margin-top: 22px;
	color: var(--wd-primary-color);
	font-style: italic;
}

/* Riquadri con due pulsanti scheda affiancati sul bordo. */
html .wpb_wrapper:has(> .wd-button-wrapper.inline-element > .btn-sul-bordo) {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-end;
}
html .wpb_wrapper:has(> .wd-button-wrapper.inline-element > .btn-sul-bordo) > :not(.wd-button-wrapper) {
	flex: 0 0 100%;
	max-width: 100%;
}
html .wd-button-wrapper.inline-element:has(> .btn-sul-bordo) {
	margin-bottom: 0;
}
html .wd-button-wrapper.inline-element:has(> .btn-sul-bordo):not(:last-child) {
	margin-right: 6px;
}

@media (max-width: 767px) {
	html .vc_row.gts-30 { padding-top: 90px !important; padding-bottom: 100px !important; }
	html .gts-30 .gts-30-frase { padding: 0 34px; }
	html .gts-30 .gts-30-frase::before,
	html .gts-30 .gts-30-frase::after { font-size: 64px; }
	html .gts-30 .gts-30-frase::before { top: -14px; }
	html .gts-30 .gts-30-frase::after { bottom: -40px; }
}

/* Mobile: nei riquadri delle schede la foto verticale viene accorciata. */
@media (max-width: 767px) {
	html .vc_column-inner:has(> .wpb_wrapper > .wd-button-wrapper > .btn-sul-bordo) .wd-image img {
		width: 100%;
		aspect-ratio: 4 / 5;
		object-fit: cover;
	}
}
