/*
Theme Name:   Salient Child – ItalDek
Description:  Restyling ItalDek: tema scuro nautico, ottanio #006881, Spinnaker / Work Sans / Inter Tight.
Author:       JBS Agency
Template:     salient
Version:      1.0.23
Text Domain:  salient-child-italdek
*/

/* =========================================================
   1. TOKEN
   ========================================================= */
:root {
	--idk-bg: #04141a;          /* sfondo principale, blu notte */
	--idk-bg-2: #071f28;        /* sezioni alternate */
	--idk-deep: #030f16;        /* bordi sezione "Chi siamo", footer */
	--idk-about: #031e2a;       /* centro sezione "Chi siamo", ottanio scuro */
	--idk-line: rgba(255, 255, 255, .12);
	--idk-text: #e8eef3;
	--idk-muted: #8fa3b3;
	--idk-accent: #006881;      /* ottanio del brand: pulsanti, riquadri */
	--idk-accent-2: #4fb0c6;    /* ottanio chiaro: scritte piccole su fondo scuro */
	--idk-title: 'Spinnaker', system-ui, sans-serif;
	--idk-sans: 'Inter Tight', system-ui, sans-serif;
	--idk-nav: 'Work Sans', system-ui, sans-serif;
	color-scheme: dark;
}

/* =========================================================
   2. BASE
   ========================================================= */
body,
body .container-wrap,
body .main-content,
body #ajax-content-wrap {
	background-color: var(--idk-bg);
}
body,
body p,
body .wpb_text_column {
	font-family: var(--idk-sans);
	font-size: 17px;
	line-height: 1.7;
	color: var(--idk-muted);
}
body h1, body h2, body h3, body h4, body h5, body h6 {
	font-family: var(--idk-title);
	font-weight: 400;
	font-style: normal;
	color: var(--idk-text);
	letter-spacing: -.005em;
	text-wrap: balance;
}
/* Salient impone il proprio font ai titoli nei blocchi di testo: forziamo Spinnaker */
body .wpb_text_column h1, body .wpb_text_column h2, body .wpb_text_column h3,
body .wpb_text_column h4, body .wpb_text_column h5, body .wpb_text_column h6 { font-family: var(--idk-title) !important; font-weight: 400 !important; font-style: normal !important; }
/* Il corsivo di Salient (Crimson Text) non fa parte del brand: le enfasi restano nel font del testo */
body .wpb_text_column em, body .wpb_text_column i:not(.idk-num) { font-family: inherit !important; }
body h1 { font-size: clamp(44px, 7.5vw, 92px); line-height: 1.08; }
body h2 { font-size: clamp(30px, 4vw, 46px); line-height: 1.15; margin-bottom: 22px; }
body h3 { font-size: 21px; line-height: 1.25; }
body a { color: var(--idk-accent-2); }

/* Titoletto sopra le sezioni (senza lineetta) */
.idk-eyebrow,
body p.idk-eyebrow {
	display: block;
	font-family: var(--idk-nav);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--idk-accent-2);
	margin: 0 0 14px;
	padding: 0;
}

/* =========================================================
   3. PULSANTI
   Nel blocco di testo: <a class="idk-btn" href="...">Testo</a>
   Variante trasparente: class="idk-btn idk-btn--ghost"
   ========================================================= */
.idk-btn,
body .nectar-button.idk-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--idk-accent);
	color: #fff !important;
	font-family: var(--idk-nav);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
	padding: 15px 26px;
	border: 1px solid var(--idk-accent);
	border-radius: 0;
	transition: background .3s, color .3s, border-color .3s;
	text-decoration: none !important;
	background-image: none !important;
	margin: 0 10px 10px 0;
}
.idk-btn::after { content: "→"; font-size: 14px; }
.idk-btn:hover { background: transparent; color: var(--idk-accent-2) !important; }
.idk-btn--ghost { background: transparent; border-color: var(--idk-line); color: var(--idk-text) !important; }
.idk-btn--ghost::after { content: none; }
.idk-btn--ghost:hover { border-color: var(--idk-accent); }
.idk-btn:focus-visible { outline: 2px solid var(--idk-accent-2); outline-offset: 3px; }

/* =========================================================
   4. HEADER (Salient)
   ========================================================= */
body #header-outer,
body #header-outer.transparent {
	font-family: var(--idk-nav);
}
body #header-outer:not(.transparent) {
	background-color: rgba(4, 20, 26, .94) !important;
	border-bottom: 1px solid var(--idk-line);
	box-shadow: none !important;
}
body #header-outer #top nav > ul > li > a,
body #header-outer .sf-menu > li > a {
	font-family: var(--idk-nav);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--idk-text) !important;
	opacity: .85;
}
body #header-outer #top nav > ul > li > a:hover { opacity: 1; color: var(--idk-accent-2) !important; }
/* Voce di menu "Preventivo": in Aspetto → Menu dare alla voce la classe CSS  idk-menu-btn */
body #header-outer #top nav > ul > li.idk-menu-btn > a {
	background: var(--idk-accent);
	color: #fff !important;
	opacity: 1;
	padding: 12px 22px !important;
	margin-left: 12px;
	font-weight: 600;
	letter-spacing: .08em;
}
body #header-outer #top nav > ul > li.idk-menu-btn > a:hover { background: #007c99; }
/* Sottomenu */
body #header-outer .sf-menu li ul { background: var(--idk-bg-2) !important; border: 1px solid var(--idk-line); }
body #header-outer .sf-menu li ul li a { color: var(--idk-text) !important; font-family: var(--idk-nav); }
/* Menu mobile */
body #slide-out-widget-area,
body #slide-out-widget-area-bg { background-color: var(--idk-bg) !important; }

/* =========================================================
   5. SEZIONI DELLA HOME
   In WPBakery: Riga → Modifica → "Extra class name"
   ========================================================= */

/* ---- 5.1 Hero: .idk-hero ---- */
.idk-hero { position: relative; }
/* Foto spostata a destra (senza ingrandirla, così resta nitida): il testo sta sull'acqua, non sulla barca.
   A sinistra un fondo con i colori del mare e una sfumatura che nasconde il bordo della foto. */
.idk-hero .row-bg-wrap .inner-wrap { background: linear-gradient(180deg, #6f787d 0%, #47565d 27%, #30403f 50%, #384947 71%, #2b3c3a 100%); }
.idk-hero .row-bg-wrap .row-bg {
	left: 30% !important; right: auto !important; width: 100% !important; max-width: none !important;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%); mask-image: linear-gradient(90deg, transparent 0, #000 22%);
}
.idk-hero .row-bg-wrap .row-bg img { object-position: center center !important; }
/* Hero della home con foto già composta (barca a destra, mare sfumato a sinistra nel colore del sito):
   la foto occupa tutta la riga. "body" in testa rende la regola più forte di eventuali regole nel CSS aggiuntivo. */
body .idk-hero .row-bg-wrap .row-bg { left: 0 !important; width: 100% !important; -webkit-mask-image: none !important; mask-image: none !important; }
body .idk-hero .row-bg-wrap .row-bg img { object-position: right center !important; }
.idk-hero .row-bg-wrap::after {
	content: ""; display: block; position: absolute; inset: 0; pointer-events: none; z-index: 2;
	background:
		linear-gradient(90deg, rgba(4,20,26,.85) 0%, rgba(4,20,26,.35) 55%, rgba(4,20,26,0) 80%),
		linear-gradient(180deg, rgba(4,20,26,.6) 0%, transparent 25%, transparent 70%, var(--idk-bg) 100%);
}
.idk-hero > .row_col_wrap_12, .idk-hero .col { position: relative; z-index: 2; }
.idk-hero h1 { text-shadow: 0 4px 40px rgba(0,0,0,.35); margin-bottom: 22px; }
.idk-hero p { color: #cfdbe4; font-size: 19px; }
.idk-hero .wpb_text_column { max-width: 600px; }

/* ---- 5.2 Chi siamo: .idk-about ---- */
.idk-about .row-bg-wrap .row-bg {
	background: radial-gradient(ellipse 38% 60% at 50% 50%, var(--idk-about) 0%, var(--idk-about) 35%, var(--idk-deep) 100%) !important;
}
/* Elenco a barre: normale elenco puntato nel blocco di testo, con classe idk-list sull'<ul> */
.idk-list, body .wpb_text_column ul.idk-list { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--idk-line); }
.idk-list li {
	display: flex; align-items: center; gap: 14px; margin: 0;
	padding: 14px 16px; border-bottom: 1px solid var(--idk-line);
	background: rgba(255,255,255,.03);
	font-family: var(--idk-title); font-size: 16px; color: var(--idk-accent-2);
	transition: background .3s, padding .3s; list-style: none;
}
.idk-list li::before { content: ""; border: 5px solid transparent; border-left-color: currentColor; margin-right: -4px; }
.idk-list li:hover { background: rgba(0,104,129,.18); padding-left: 22px; }
/* Foto centrale sfumata: classe idk-fade sull'elemento immagine */
.idk-fade .img-with-aniamtion-wrap, .idk-fade .img-with-aniamtion-wrap .inner, .idk-fade .hover-wrap, .idk-fade .hover-wrap-inner { width: 100% !important; }
.idk-fade img, .idk-fade .img-with-aniamtion-wrap img {
	width: 100% !important; height: 640px !important; max-width: none !important; object-fit: cover !important;
	filter: hue-rotate(14deg) saturate(1.05) brightness(.8);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 72%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 72%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
	mask-composite: intersect;
}
/* Contatori: <div class="idk-stats"><div><b>10+</b><span>Anni di esperienza</span></div>…</div> */
.idk-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 20px; margin-top: 36px; }
.idk-stats b {
	display: block; font-family: var(--idk-sans); font-weight: 500; font-size: 52px; line-height: 1;
	color: var(--idk-text); letter-spacing: -.01em; font-variant-numeric: tabular-nums;
}
.idk-stats span { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--idk-accent-2); }

/* ---- 5.3 Perché sceglierci: .idk-why ---- */
.idk-why { position: relative; }
.idk-why .row-bg-wrap .row-bg { background-color: var(--idk-bg-2) !important; }
.idk-why .row-bg-wrap::after {
	content: ""; display: block; position: absolute; inset: 0; opacity: .07; pointer-events: none; z-index: 2; background-size: 600px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M80 300c0-120 90-200 210-200s230 70 230 190-100 220-230 220S80 420 80 300z'/%3E%3Cpath d='M130 300c0-95 70-160 165-160s180 55 180 150-80 175-180 175-165-70-165-165z'/%3E%3Cpath d='M180 300c0-70 50-120 120-120s130 40 130 110-60 130-130 130-120-50-120-120z'/%3E%3Cpath d='M230 300c0-45 30-75 75-75s80 25 80 70-35 80-80 80-75-30-75-75z'/%3E%3Cpath d='M-40 80c80-40 160 30 260-10S420-20 520 40s140 20 160 0'/%3E%3Cpath d='M-40 560c90-30 170 20 250-20s180-30 260 10 150 30 170 10'/%3E%3C/svg%3E");
}
/* Foto grande con riquadro "300+": classe idk-badge-wrap sulla colonna della foto */
.idk-badge-wrap .vc_column-inner, .idk-badge-wrap > .vc_column-inner { position: relative; }
.idk-badge-wrap .img-with-aniamtion-wrap, .idk-badge-wrap .img-with-aniamtion-wrap .inner, .idk-badge-wrap .hover-wrap, .idk-badge-wrap .hover-wrap-inner { width: 100% !important; }
.idk-badge-wrap .img-with-aniamtion-wrap img { width: 100% !important; height: 620px !important; max-width: none !important; object-fit: cover !important; }
.idk-badge-wrap .wpb_text_column { position: static; margin: 0 !important; }
.idk-badge {
	position: absolute; right: -28px; bottom: -28px; z-index: 3;
	background: var(--idk-accent); padding: 26px 34px; text-align: center;
	box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.idk-badge b { display: block; font-family: var(--idk-sans); font-weight: 500; font-size: 50px; line-height: 1; color: #fff; }
.idk-badge span { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
/* Fasi: ogni fase è una riga interna (Inner Row) con classe idk-step */
.idk-why h2 { font-size: clamp(28px, 3vw, 38px) !important; }
/* foto centrata in verticale rispetto al testo */
.idk-why > .row_col_wrap_12 { display: flex !important; align-items: center; }
.idk-why .wpb_text_column p { font-size: 16px; }
.idk-step { padding: 20px 0 !important; border-bottom: 1px solid var(--idk-line); margin: 0 !important; }
/* foto tonda a larghezza fissa, testo nello spazio restante */
.idk-step .row_col_wrap_12_inner { display: flex !important; flex-wrap: nowrap !important; gap: 22px; align-items: flex-start; }
.idk-step .row_col_wrap_12_inner > .wpb_column:first-child { flex: 0 0 72px !important; width: 72px !important; max-width: 72px !important; margin: 0 !important; }
.idk-step .row_col_wrap_12_inner > .wpb_column:last-child { flex: 1 1 auto !important; width: auto !important; margin: 0 !important; }
.idk-step .wpb_column, .idk-step .vc_column-inner { padding: 0 !important; }
.idk-steps-top { border-top: 1px solid var(--idk-line); margin-top: 30px; }
.idk-step img { width: 72px !important; height: 72px !important; max-width: none !important; object-fit: cover !important; border-radius: 50%; border: 1px solid var(--idk-line); filter: grayscale(.4) brightness(.8); transition: filter .4s, transform .4s; }
.idk-step:hover img { filter: none; transform: scale(1.06); }
.idk-why .idk-step h3 { color: var(--idk-accent-2); font-size: 20px !important; line-height: 1.3 !important; margin: 0 0 6px !important; }
.idk-why .idk-step p { font-size: 15px; line-height: 1.6; margin-bottom: 0; }
.idk-link { display: inline-block; margin-top: 8px; font-family: var(--idk-nav); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--idk-text) !important; border-bottom: 1px solid var(--idk-accent); text-decoration: none !important; background-image: none !important; }

/* ---- 5.4 Rivestimenti: .idk-types ---- */
/* Le colonne della riga allineano il fondo: le card finiscono sulla linea del pulsante */
.idk-types .row_col_wrap_12 { display: flex; align-items: flex-end; flex-wrap: wrap; }
.idk-card { cursor: pointer; }
.idk-card .img-with-aniamtion-wrap, .idk-card .img-with-aniamtion-wrap .inner, .idk-card .hover-wrap, .idk-card .hover-wrap-inner { width: 100% !important; }
.idk-card .img-with-aniamtion-wrap img { width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 3 / 4.3; object-fit: cover !important; filter: saturate(.85) brightness(.85); transition: transform .6s, filter .6s; }
.idk-card .img-with-aniamtion-wrap, .idk-card .wpb_single_image { overflow: hidden; margin-bottom: 0 !important; position: relative; }
.idk-card:hover img { transform: scale(1.06); filter: none; }
.idk-card h3 { font-size: 24px; margin: 14px 0 2px; }
.idk-card p { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--idk-accent-2); margin: 0; }

/* ---- 5.5 Cantieri: .idk-partners ---- */
.idk-partners .row-bg-wrap .row-bg { background-color: var(--idk-bg-2) !important; }
.idk-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.idk-track { display: flex; gap: 64px; width: max-content; animation: idk-scroll 40s linear infinite; margin: 0; padding: 0; }
/* Elenco puntato nel blocco di testo: <ul class="idk-track"><li><a href="...">NOME</a></li>…</ul> */
body .wpb_text_column ul.idk-track, ul.idk-track { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.idk-track > li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.idk-track > li::before, .idk-track > li::marker { content: none !important; }
.idk-track span, .idk-track li, .idk-track a {
	font-family: var(--idk-sans); font-weight: 500; font-size: 22px; letter-spacing: .14em; line-height: 1.4;
	color: rgba(232,238,243,.45) !important; white-space: nowrap; text-decoration: none !important; background-image: none !important;
	transition: color .3s;
}
.idk-track a:hover, .idk-track a:focus-visible { color: var(--idk-accent-2) !important; }
.idk-marquee:hover .idk-track, .idk-marquee:focus-within .idk-track { animation-play-state: paused; }
@keyframes idk-scroll { to { transform: translateX(-50%); } }

/* ---- 5.6 Invito finale: .idk-cta ---- */
.idk-cta { position: relative; text-align: center; }
.idk-cta .row-bg-wrap::after { content: ""; display: block; position: absolute; inset: 0; pointer-events: none; z-index: 2; background: linear-gradient(180deg, var(--idk-bg) 0%, rgba(4,20,26,.55) 30%, rgba(4,20,26,.6) 100%); }
.idk-cta > .row_col_wrap_12, .idk-cta .col { position: relative; z-index: 2; }
.idk-cta p { color: #cfdbe4; max-width: 560px; margin-left: auto; margin-right: auto; }
.idk-cta .idk-eyebrow { margin-left: auto !important; margin-right: auto !important; }

/* ---- 5.8 Pagine interne (Azienda e successive) ---- */
/* Hero di pagina: .idk-page-hero */
.idk-page-hero { position: relative; }
.idk-page-hero .row-bg-wrap::after {
	content: ""; display: block; position: absolute; inset: 0; pointer-events: none; z-index: 2;
	background: linear-gradient(90deg, rgba(4,20,26,.9) 0%, rgba(4,20,26,.55) 50%, rgba(4,20,26,.15) 85%),
		linear-gradient(180deg, rgba(4,20,26,.65) 0%, transparent 30%, transparent 60%, var(--idk-bg) 100%);
}
.idk-page-hero .row-bg-wrap .inner-wrap { z-index: 1; }
.idk-page-hero .col, .idk-page-hero > .row_col_wrap_12 { position: relative; z-index: 3; }
.idk-page-hero h1 { font-size: clamp(42px, 6vw, 76px) !important; margin-bottom: 18px; }
.idk-page-hero .idk-lead { font-family: var(--idk-title); font-size: 24px; color: #cfdbe4; margin-bottom: 30px; }
.idk-page-hero .wpb_text_column { max-width: 640px; }

/* Frase manifesto: .idk-manifesto */
.idk-manifesto { text-align: center; }
.idk-manifesto .idk-big { font-family: var(--idk-title); font-size: clamp(24px, 2.8vw, 34px); line-height: 1.4; color: var(--idk-text); max-width: 900px; margin: 0 auto; text-wrap: balance; }
.idk-manifesto .idk-big em { font-style: normal !important; font-family: inherit !important; color: var(--idk-accent-2); }

/* Striscia del processo: colonne con classe idk-strip-item */
.idk-strip-item .img-with-aniamtion-wrap, .idk-strip-item .img-with-aniamtion-wrap .inner, .idk-strip-item .hover-wrap, .idk-strip-item .hover-wrap-inner { width: 100% !important; overflow: hidden; }
.idk-strip-item .img-with-aniamtion-wrap { margin-bottom: 0 !important; }
.idk-strip-item .img-with-aniamtion-wrap img { width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 3 / 4.4; object-fit: cover !important; filter: saturate(.85) brightness(.85); transition: transform .6s, filter .6s; }
.idk-strip-item:hover img { transform: scale(1.06); filter: none; }
.idk-strip-item .wpb_column > .vc_column-inner, .idk-process-strip .wpb_column > .vc_column-inner { padding: 0 7px !important; }
.idk-strip-cap { display: flex; gap: 10px; align-items: baseline; padding-top: 14px !important; margin-top: 14px !important; border-top: 1px solid var(--idk-line); }
.idk-strip-cap i { font-style: normal; font-family: var(--idk-sans); font-size: 12px; color: var(--idk-accent-2); }
.idk-strip-cap span { font-family: var(--idk-title); font-size: 18px; color: var(--idk-text); }

/* Ingegneria + numeri: .idk-engine */
.idk-engine .row-bg-wrap .row-bg { background: radial-gradient(ellipse 60% 70% at 70% 50%, var(--idk-about) 0%, var(--idk-deep) 100%) !important; }
.idk-engine > .row_col_wrap_12 { display: flex !important; align-items: center; }
.idk-engine .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-right: 60px !important; }
.idk-engine .idk-stats { margin-top: 0; gap: 44px 30px; }
.idk-engine .idk-stats b { font-size: 64px; }

/* Fasi in tre colonne: colonne con classe idk-phase */
.idk-phase { border-top: 1px solid var(--idk-line); padding-top: 26px !important; }
.idk-phases-grid .wpb_column > .vc_column-inner { padding: 0 14px !important; }
.idk-phase .idk-num { display: block; font-family: var(--idk-sans); font-size: 44px; font-weight: 500; color: var(--idk-accent-2); line-height: 1; margin-bottom: 18px; }
.idk-phase h3 { font-size: 22px !important; margin-bottom: 10px !important; }
.idk-phase p { font-size: 16px; }

/* Valori: righe con classe idk-values, colonne con classe idk-value */
.idk-values .row-bg-wrap .row-bg { background-color: var(--idk-bg-2) !important; }
.idk-values .row-bg-wrap::after {
	content: ""; display: block; position: absolute; inset: 0; opacity: .07; pointer-events: none; z-index: 2; background-size: 600px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M80 300c0-120 90-200 210-200s230 70 230 190-100 220-230 220S80 420 80 300z'/%3E%3Cpath d='M130 300c0-95 70-160 165-160s180 55 180 150-80 175-180 175-165-70-165-165z'/%3E%3Cpath d='M180 300c0-70 50-120 120-120s130 40 130 110-60 130-130 130-120-50-120-120z'/%3E%3Cpath d='M230 300c0-45 30-75 75-75s80 25 80 70-35 80-80 80-75-30-75-75z'/%3E%3Cpath d='M-40 80c80-40 160 30 260-10S420-20 520 40s140 20 160 0'/%3E%3Cpath d='M-40 560c90-30 170 20 250-20s180-30 260 10 150 30 170 10'/%3E%3C/svg%3E");
}
.idk-value-grid > .row_col_wrap_12 { border-top: 1px solid var(--idk-line); }
.idk-value > .vc_column-inner { padding: 36px 34px 10px !important; border-right: 1px solid var(--idk-line); height: 100%; }
.idk-value:first-child > .vc_column-inner { padding-left: 0 !important; }
.idk-value:last-child > .vc_column-inner { border-right: 0; padding-right: 0 !important; }
.idk-value h3 { font-size: 24px !important; line-height: 1.25 !important; margin-bottom: 16px !important; min-height: 3.75em; }
.idk-value p { font-size: 16px; }
.idk-value .idk-btn { margin-top: 18px; padding: 12px 20px; font-size: 12px; }

/* ---- 5.9 Pagine servizi ---- */
/* Hero con foto spostata a destra: aggiungere anche la classe idk-page-hero--shift alla riga */
.idk-page-hero--shift .row-bg-wrap .inner-wrap { background: #0b1c28; }
.idk-page-hero--shift .row-bg-wrap .row-bg {
	left: 40% !important; right: auto !important; width: 60% !important; max-width: none !important;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 25%); mask-image: linear-gradient(90deg, transparent 0, #000 25%);
}
/* Introduzione: .idk-svc-intro */
.idk-svc-intro .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 70px !important; }
.idk-svc-intro .wpb_column:last-child p { font-size: 18px; }
/* Metodo: righe .idk-method (titolo) e .idk-method-grid (4 colonne con classe idk-mstep) */
.idk-method-grid .wpb_column > .vc_column-inner { padding: 0 11px !important; }
.idk-mstep .img-with-aniamtion-wrap, .idk-mstep .img-with-aniamtion-wrap .inner, .idk-mstep .hover-wrap, .idk-mstep .hover-wrap-inner { width: 100% !important; overflow: hidden; }
.idk-mstep .img-with-aniamtion-wrap { margin-bottom: 0 !important; }
.idk-mstep .img-with-aniamtion-wrap img { width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 4 / 3.2; object-fit: cover !important; filter: saturate(.85) brightness(.85); transition: transform .6s, filter .6s; }
.idk-mstep:hover img { transform: scale(1.06); filter: none; }
.idk-mstep .img-with-aniamtion-wrap img { display: block; }
/* Salient aggiunge 15px sotto ogni immagine: nelle nostre sezioni lo spazio lo gestiamo noi */
[class*="idk-"] .img-with-aniamtion-wrap .hover-wrap { margin-bottom: 0 !important; }
.idk-mstep .wpb_text_column { margin-bottom: 0 !important; }
.idk-mstep .idk-step-num { display: block; font-family: var(--idk-sans); font-size: 13px; color: var(--idk-accent-2); margin: 18px 0 6px; padding-top: 16px; border-top: 1px solid var(--idk-line); }
.idk-mstep h3 { font-size: 20px !important; margin: 0 0 8px !important; }
.idk-mstep p { font-size: 15px; line-height: 1.6; }
/* Icona del rilievo al posto della foto: <p class="idk-icon-rilievo">&nbsp;</p> */
.idk-icon-rilievo { aspect-ratio: 4 / 3.2; margin: 0 !important; border: 1px solid var(--idk-line);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80' fill='none' stroke='%234fb0c6' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M10 50 Q20 62 60 62 Q100 62 110 50 L100 34 H20 Z'/%3E%3Cpath d='M34 34 V24 H70 L80 34' opacity='.7'/%3E%3Cpath d='M4 14 V6 H12 M108 6 H116 V14 M116 66 V74 H108 M12 74 H4 V66' opacity='.8'/%3E%3Cpath d='M8 42 H112' stroke-dasharray='3 4' opacity='.9'/%3E%3C/svg%3E") center / 46% auto no-repeat, radial-gradient(circle at 50% 45%, #0a3442 0%, #071f28 70%); font-size: 0; }
/* Approfondimento: .idk-feature (colonna foto con classe idk-badge-wrap) */
.idk-feature .row-bg-wrap .row-bg { background: radial-gradient(ellipse 60% 70% at 30% 50%, var(--idk-about) 0%, var(--idk-deep) 100%) !important; }
.idk-feature > .row_col_wrap_12 { display: flex !important; align-items: center; }
.idk-feature .idk-badge-wrap .img-with-aniamtion-wrap img { height: 560px !important; }
.idk-feature .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 80px !important; }
.idk-feature .wpb_column:last-child p + p { margin-top: 16px; }
/* Altri servizi: .idk-others-head (titolo + pulsante) e .idk-others (2 colonne, ognuna con una riga interna idk-ocard) */
.idk-others-head .row_col_wrap_12 > .wpb_column:last-child { text-align: right; }
.idk-others-head .row_col_wrap_12 { align-items: flex-end; display: flex !important; }
.idk-others .row_col_wrap_12 > .wpb_column > .vc_column-inner { padding: 0 11px !important; }
.idk-ocard { border: 1px solid var(--idk-line); background: rgba(255,255,255,.02); padding: 22px !important; margin: 0 !important; transition: border-color .3s, background .3s; }
.idk-ocard:hover { border-color: var(--idk-accent); background: rgba(0,104,129,.12); }
.idk-ocard .row_col_wrap_12_inner { display: flex !important; align-items: center; gap: 26px; flex-wrap: nowrap !important; }
.idk-ocard .row_col_wrap_12_inner > .wpb_column:first-child { flex: 0 0 180px !important; width: 180px !important; max-width: 180px !important; margin: 0 !important; }
.idk-ocard .row_col_wrap_12_inner > .wpb_column:last-child { flex: 1 1 auto !important; width: auto !important; margin: 0 !important; }
.idk-ocard .wpb_column, .idk-ocard .vc_column-inner { padding: 0 !important; }
.idk-ocard .img-with-aniamtion-wrap, .idk-ocard .img-with-aniamtion-wrap .inner, .idk-ocard .hover-wrap, .idk-ocard .hover-wrap-inner { width: 100% !important; margin: 0 !important; }
.idk-ocard img { width: 180px !important; height: 180px !important; max-width: none !important; object-fit: cover !important; filter: saturate(.85) brightness(.85); }
.idk-ocard .idk-step-num { font-family: var(--idk-sans); font-size: 13px; color: var(--idk-accent-2); }
.idk-ocard h3 { font-size: 22px !important; line-height: 1.25 !important; margin: 6px 0 10px !important; }
.idk-mstep h3, .idk-phase h3, .idk-value h3 { line-height: 1.25 !important; }
.idk-ocard p { font-size: 15px; line-height: 1.6; margin-bottom: 0; }

/* ---- 5.10 Contatti ---- */
/* Porte: nel blocco di testo <div class="idk-doors"><a class="idk-door idk-door--privati" href="#privati"><strong>Privati</strong><span>…</span><em>Compila il modulo →</em></a>…</div> */
.idk-doors { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.idk-door { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 76px 24px 24px; border: 1px solid var(--idk-line); background: rgba(255,255,255,.02) no-repeat 24px 26px / 34px 34px; color: var(--idk-muted) !important; text-decoration: none !important; background-image: none; transition: border-color .3s, background-color .3s, transform .3s; }
.idk-door:hover { border-color: rgba(79,176,198,.6); transform: translateY(-3px); }
.idk-door.is-active { border-color: var(--idk-accent); background-color: rgba(0,104,129,.16); }
.idk-door.is-active::after { content: ""; position: absolute; left: -1px; right: -1px; bottom: -1px; height: 3px; background: var(--idk-accent-2); }
.idk-door strong { font-family: var(--idk-title); font-weight: 400; font-size: 22px; color: var(--idk-text); }
.idk-door span { font-size: 15px; line-height: 1.55; }
.idk-door em { margin-top: auto; font-style: normal; font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--idk-accent-2); }
.idk-door--privati { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%234fb0c6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 26h30l-4 7H9z'/%3E%3Cpath d='M12 26V14l10-6v18'/%3E%3Cpath d='M22 12l7 14'/%3E%3C/svg%3E") !important; }
.idk-door--cantieri { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%234fb0c6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 34h28'/%3E%3Cpath d='M10 34V14h8v20'/%3E%3Cpath d='M18 20h12v14'/%3E%3Cpath d='M14 14V6l14 6'/%3E%3C/svg%3E") !important; }
.idk-door--rivenditori { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%234fb0c6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16h28l-2-8H8z'/%3E%3Cpath d='M8 16v18h24V16'/%3E%3Cpath d='M16 34v-9h8v9'/%3E%3C/svg%3E") !important; }
.idk-door--installatori { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%234fb0c6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 32l12-12'/%3E%3Cpath d='M22 10a6 6 0 0 0 8 8l-4 4-8-8z'/%3E%3Cpath d='M24 34h12'/%3E%3C/svg%3E") !important; }

/* Pannelli: righe con classe idk-panel idk-panel--privati (ecc.). Lo script mostra solo quello scelto */
.idk-panel > .row_col_wrap_12 { border-top: 1px solid var(--idk-line); padding-top: 56px !important; display: flex !important; align-items: flex-start; }
.idk-panel .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-right: 60px !important; }
.idk-js .idk-panel:not(.is-active) { display: none !important; }
.idk-panel h2 { font-size: clamp(28px, 3vw, 38px) !important; }
.idk-panel ul { list-style: none; margin: 24px 0 0 !important; padding: 0 !important; border-top: 1px solid var(--idk-line); }
.idk-panel ul li { list-style: none; padding: 12px 0 12px 26px; border-bottom: 1px solid var(--idk-line); position: relative; font-size: 15px; color: var(--idk-text); margin: 0; }
.idk-panel ul li::before { content: ""; position: absolute; left: 4px; top: 19px; border: 5px solid transparent; border-left-color: var(--idk-accent-2); }

/* Moduli Contact Form 7 */
.idk-panel .wpcf7 { background: #071f28; border: 1px solid var(--idk-line); padding: 36px; }
.idk-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.idk-form-grid br, .idk-consent br { display: none; }
.idk-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.idk-field p, .wpcf7 form > p { margin: 0 !important; padding: 0 !important; }
.idk-full { grid-column: 1 / -1; }
.idk-field > label, .idk-field label:first-child { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--idk-accent-2); }
.idk-field label i { font-style: normal; color: #e8a0a0; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select, .wpcf7 textarea {
	width: 100% !important; font-family: var(--idk-sans) !important; font-size: 16px !important; color: var(--idk-text) !important;
	background: #04141a !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 0 !important; padding: 13px 14px !important; box-shadow: none !important; outline: none;
}
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: #5f7482 !important; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { border-color: var(--idk-accent-2) !important; }
.wpcf7 textarea { min-height: 120px; height: 140px; resize: vertical; }
.wpcf7 select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, #4fb0c6 50%), linear-gradient(135deg, #4fb0c6 50%, transparent 50%) !important; background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55% !important; background-size: 5px 5px !important; background-repeat: no-repeat !important; }
.wpcf7 input[type=file] { width: 100%; color: var(--idk-muted); font-size: 14px; border: 1px dashed rgba(79,176,198,.45); padding: 14px; }
.wpcf7 input[type=file]::file-selector-button { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--idk-text); background: transparent; border: 1px solid var(--idk-line); padding: 9px 12px; margin-right: 12px; cursor: pointer; }
.wpcf7 .wpcf7-checkbox, .wpcf7 .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px; }
.wpcf7 .wpcf7-list-item { margin: 0 !important; }
.wpcf7 .wpcf7-list-item label { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--idk-text); border: 1px solid rgba(255,255,255,.16); padding: 10px 14px; cursor: pointer; }
.wpcf7 input[type=checkbox], .wpcf7 input[type=radio] { accent-color: #4fb0c6; margin: 0; }
.idk-consent { font-size: 13px; color: var(--idk-muted); margin: 6px 0 22px; }
.idk-consent .wpcf7-list-item label { border: 0; padding: 0; align-items: flex-start; font-size: 13px; color: var(--idk-muted); }
.idk-consent a { color: var(--idk-accent-2) !important; }
.wpcf7 input[type=submit] {
	font-family: var(--idk-nav) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important;
	color: #fff !important; background: var(--idk-accent) !important; border: 1px solid var(--idk-accent) !important; border-radius: 0 !important; padding: 15px 26px !important; cursor: pointer; transition: background .3s, color .3s;
}
.wpcf7 input[type=submit]:hover { background: transparent !important; color: var(--idk-accent-2) !important; }
.idk-note { font-size: 12px !important; color: #5f7482 !important; margin-top: 14px !important; }
.wpcf7 .wpcf7-not-valid-tip { color: #e8a0a0; font-size: 13px; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 14px 16px !important; border: 1px solid var(--idk-accent-2) !important; color: var(--idk-text); font-size: 14px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #e8a0a0 !important; }

/* Contatti diretti: .idk-reach */
.idk-reach .row-bg-wrap .row-bg { background: radial-gradient(ellipse 60% 70% at 30% 50%, var(--idk-about) 0%, var(--idk-deep) 100%) !important; }
.idk-reach > .row_col_wrap_12 { display: flex !important; align-items: center; }
.idk-reach .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-right: 60px !important; }
.idk-reach-list { margin-top: 30px; border-top: 1px solid var(--idk-line); }
.idk-reach-item { display: grid; grid-template-columns: 140px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--idk-line); align-items: baseline; }
.idk-reach-item span { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--idk-accent-2); }
.idk-reach-item b { font-family: var(--idk-title); font-weight: 400; font-size: 20px; color: var(--idk-text); }
.idk-reach-item a { color: var(--idk-text) !important; text-decoration: none !important; background-image: none !important; }
.idk-map { position: relative; aspect-ratio: 4 / 3; border: 1px solid var(--idk-line); background: #071f28 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' fill='none' stroke='%234fb0c6' stroke-opacity='.18'%3E%3Cpath d='M-10 60 C80 40 140 90 220 70 S360 30 420 50'/%3E%3Cpath d='M-10 120 C60 110 120 150 210 135 S350 100 420 115'/%3E%3Cpath d='M-10 200 C90 180 150 230 240 210 S360 170 420 190'/%3E%3Cpath d='M-10 260 C70 250 160 280 230 265 S350 240 420 255'/%3E%3Cpath d='M60 -10 L90 310' stroke-opacity='.3' stroke-width='3'/%3E%3Cpath d='M-10 150 L420 170' stroke-opacity='.3' stroke-width='3'/%3E%3C/svg%3E") center / cover no-repeat; }
.idk-map::before { content: ""; position: absolute; left: 52%; top: 46%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: var(--idk-accent-2); box-shadow: 0 0 0 8px rgba(79,176,198,.2), 0 0 0 18px rgba(79,176,198,.08); }
.idk-map .idk-pin { position: absolute; left: 52%; top: calc(46% - 50px); transform: translateX(-50%); white-space: nowrap; font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background: var(--idk-bg); border: 1px solid var(--idk-line); padding: 6px 10px; color: var(--idk-text); }
.idk-map .idk-btn { position: absolute; left: 24px; bottom: 24px; margin: 0; }

/* ---- 5.11 Pagine legali (Privacy, Cookie): righe .idk-legal-hero e .idk-legal ---- */
.idk-legal-hero .row-bg-wrap .row-bg { background: radial-gradient(ellipse 70% 90% at 20% 0%, var(--idk-about) 0%, var(--idk-bg) 70%) !important; }
.idk-legal-hero h1 { font-size: clamp(40px, 5vw, 64px) !important; margin-bottom: 14px; }
.idk-legal .wpb_text_column { max-width: 760px; }
.idk-legal h2 { font-size: 26px !important; margin: 44px 0 14px !important; padding-top: 24px; border-top: 1px solid var(--idk-line); }
.idk-legal h2:first-child { margin-top: 0 !important; }
.idk-legal h3 { font-size: 19px !important; color: var(--idk-accent-2) !important; margin: 24px 0 8px !important; }
.idk-legal p { font-size: 16px; margin-bottom: 10px; }
.idk-legal ul { margin: 6px 0 16px 0 !important; padding-left: 20px !important; }
.idk-legal li { font-size: 16px; color: var(--idk-muted); margin-bottom: 4px; }
.idk-legal li::marker { color: var(--idk-accent-2); }
.idk-legal-label { font-family: var(--idk-nav); font-size: 11px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--idk-accent-2) !important; margin: 14px 0 4px !important; }
.idk-legal-date { margin-top: 40px !important; font-size: 14px !important; color: #5f7482 !important; }

/* ---- 5.12 Installazioni ---- */
/* Porte senza icona (usi: lavoro, sport, turismo, lusso) */
.idk-door--plain { padding-top: 26px; background-image: none !important; }
/* Pannello d'uso: riga idk-panel idk-panel--lavoro idk-panel--use */
.idk-panel--use > .row_col_wrap_12 { align-items: center; }
.idk-use-media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--idk-panel, #0b2a35); }
.idk-use-media video, .idk-use-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.idk-use-tag { position: absolute; left: 18px; top: 18px; font-family: var(--idk-nav); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background: rgba(4,20,26,.7); border: 1px solid var(--idk-line); padding: 6px 10px; color: var(--idk-text); }
.idk-panel--use .idk-lead-p { font-family: var(--idk-title); font-size: 21px; line-height: 1.45; color: var(--idk-text); margin-bottom: 18px; }
.idk-gal-link { display: inline-block; margin: 8px 0 22px; font-family: var(--idk-nav); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--idk-text) !important; border-bottom: 1px solid var(--idk-accent); text-decoration: none !important; background-image: none !important; }
/* Galleria filtrabile: <div class="idk-gallery"><div class="idk-chips">…</div><div class="idk-grid"><figure class="idk-gi" data-c="sport">…</figure></div></div> */
.idk-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.idk-chip { cursor: pointer; font-family: var(--idk-nav); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--idk-muted); background: transparent; border: 1px solid var(--idk-line); border-radius: 0; padding: 9px 14px; transition: .2s; line-height: 1.2; }
.idk-chip:hover { color: var(--idk-text); border-color: rgba(79,176,198,.6); }
.idk-chip[aria-pressed="true"] { background: var(--idk-accent); border-color: var(--idk-accent); color: #fff; }
.idk-chip:focus-visible { outline: 2px solid var(--idk-accent-2); outline-offset: 2px; }
.idk-chip b { font-weight: 500; opacity: .6; margin-left: 4px; }
.idk-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; grid-auto-flow: dense; gap: 14px; }
.idk-gi { position: relative; margin: 0 !important; overflow: hidden; background: #0b2a35; }
.idk-gi--wide { grid-column: span 2; grid-row: span 2; }
.idk-gi img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; filter: saturate(.9) brightness(.9); transition: transform .6s, filter .6s; }
.idk-gi:hover img { transform: scale(1.05); filter: none; }
.idk-gi figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 44px 14px 12px; background: linear-gradient(0deg, rgba(4,20,26,.95) 20%, transparent); font-size: 13px; color: var(--idk-muted); line-height: 1.35; }
.idk-gi figcaption b { display: block; font-family: var(--idk-title); font-weight: 400; font-size: 17px; color: var(--idk-text); }
.idk-gi .idk-gcat { display: inline-block; font-family: var(--idk-nav); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: #fff; background: rgba(0,104,129,.92); padding: 4px 8px; margin-bottom: 7px; }
.idk-gi.is-hidden { display: none; }
.idk-gi.is-more { display: none; }
.idk-more-wrap { text-align: center; margin-top: 30px; }
.idk-more { cursor: pointer; font-family: var(--idk-nav); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--idk-text); background: transparent; border: 1px solid var(--idk-line); border-radius: 0; padding: 15px 26px; transition: .3s; }
.idk-more:hover { border-color: var(--idk-accent); color: var(--idk-accent-2); }
.idk-more[hidden] { display: none; }
/* Loghi dei cantieri: <div class="idk-logos"><span class="idk-logo"><img …></span>…</div> */
.idk-logos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 36px; }
.idk-logo { display: grid; place-items: center; aspect-ratio: 3 / 2; border: 1px solid var(--idk-line); background: rgba(255,255,255,.02); padding: 18px; }
.idk-logo img { max-width: 100% !important; max-height: 56px !important; width: auto !important; height: auto !important; filter: brightness(0) invert(1); opacity: .62; transition: opacity .3s; }
.idk-logo:hover img { opacity: 1; }
.idk-logos-row .row-bg-wrap .row-bg { border-top: 1px solid var(--idk-line); }
/* Elenco puntato nelle sezioni di approfondimento */
.idk-feature ul { list-style: none !important; margin: 26px 0 8px !important; padding: 0 !important; border-top: 1px solid var(--idk-line); }
.idk-feature ul li { list-style: none; padding: 12px 0 12px 26px; border-bottom: 1px solid var(--idk-line); position: relative; font-size: 15px; color: var(--idk-text); margin: 0; }
.idk-feature ul li::before { content: ""; position: absolute; left: 4px; top: 19px; border: 5px solid transparent; border-left-color: var(--idk-accent-2); }

/* ---- 5.13 Prodotti (EVA, EVA Ultra, E-Dek Pro): righe .idk-prod .idk-prod--<sezione>, configuratore in js/italdek.js ---- */
.idk-prod > .row_col_wrap_12 { max-width: 1180px; margin-left: auto !important; margin-right: auto !important; float: none; padding-left: 0 !important; padding-right: 0 !important; }
.idk-prod .wpb_column > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.idk-prod .wpb_text_column, .idk-prod .wpb_text_column > .wpb_wrapper { margin: 0 !important; }
.idk-prod--versions .row-bg-wrap .row-bg, .idk-prod--palette .row-bg-wrap .row-bg { background-color: var(--idk-bg-2) !important; }
.idk-prod--finish .row-bg-wrap .row-bg { background: radial-gradient(ellipse 60% 70% at 30% 50%, #031e2a 0%, #030f16 100%) !important; }
@media (max-width: 1240px) { .idk-prod > .row_col_wrap_12 { padding-left: 24px !important; padding-right: 24px !important; } }
/* card con link: gli elementi interni sono <span>, qui tornano blocchi */
.idk-prod .card, .idk-prod .card-media, .idk-prod .ocard .ph, .idk-prod .ocard-body, .idk-prod .card-t, .idk-prod .card-p { display: block; }
.idk-prod .card-foot { display: flex; }
.idk-prod .card-t { font-family: var(--idk-title); font-weight: 400; color: var(--idk-text); line-height: 1.25; }
.idk-prod .card-p { color: var(--idk-muted); }
@media (min-width: 821px) { .idk-prod .ocard { grid-template-columns: 130px 1fr !important; gap: 20px !important; } }
.idk-prod p:empty { display: none !important; }
/* testo a destra del titolo: parte più in basso, all'altezza del titolo (come in "Un materiale, mille vantaggi") */
@media (min-width: 1025px) { .idk-prod .svc-intro .grid > div:last-child { padding-top: 60px; } }
/* card dei servizi: foto quadrata */
.idk-prod .ocard .ph { width: 100%; aspect-ratio: 1; }
@media (max-width: 520px) { .idk-prod .spec b { font-size: 18px; } }
/* preventivo dal configuratore: riga .idk-prod--quote con il modulo Contact Form 7 30072 */
.idk-prod--quote .row-bg-wrap .row-bg { background-color: var(--idk-bg-2) !important; }
.idk-prod .quote { padding: 110px 0; scroll-margin-top: 80px; }
.idk-prod .quote-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 60px; align-items: start; }
.idk-prod .quote-card { margin-top: 30px; border: 1px solid var(--idk-line); background: rgba(255,255,255,.02); }
.idk-prod .quote-pv { position: relative; aspect-ratio: 6 / 4; background: #333 center / 180px repeat; }
.idk-prod .quote-pv svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.idk-prod .quote-list { display: grid; grid-template-columns: auto 1fr; gap: 0 18px; margin: 0; padding: 18px 22px 6px; }
.idk-prod .quote-list dt, .idk-prod .quote-list dd { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--idk-line); font-size: 15px; }
.idk-prod .quote-list dt { font-family: var(--idk-nav); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--idk-accent-2); padding-top: 11px; }
.idk-prod .quote-list dd { color: var(--idk-text); }
.idk-prod .quote-edit { display: inline-block; margin: 14px 22px 20px; font-family: var(--idk-nav); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--idk-text) !important; border-bottom: 1px solid var(--idk-accent); }
.idk-prod .quote-form .wpcf7 { background: #071f28; border: 1px solid var(--idk-line); padding: 36px; }
@media (max-width: 1024px) { .idk-prod .quote-grid { grid-template-columns: 1fr; gap: 34px; } }
@media (max-width: 520px) { .idk-prod .quote-form .wpcf7 { padding: 22px; } }
/* azzera i margini che Salient dà ai blocchi di testo: gli spazi li decidono le regole qui sotto */
.idk-prod :where(p, h2, h3, ul, li, figure, figcaption, button) { margin: 0; padding: 0; }
.idk-prod :where(ul, li) { list-style: none !important; }
.idk-prod .wpb_text_column ul { margin-left: 0 !important; }
.idk-prod .wpb_text_column li { list-style: none !important; }
.idk-prod h2 { margin-bottom: 22px; }
.idk-prod p { color: var(--idk-muted); }
.idk-prod img { display: block; max-width: 100%; }
.idk-prod button { font: inherit; color: inherit; background: none; border-radius: 0; box-shadow: none; text-transform: none; letter-spacing: normal; line-height: 1.2; }
.idk-prod a { text-decoration: none !important; background-image: none !important; }
.idk-prod .cards {display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.idk-prod .card {cursor:pointer}
.idk-prod .card-media {position:relative;aspect-ratio:3/4.3;overflow:hidden;background:#0b2a35}
.idk-prod .card-media img {width:100%;height:100%;object-fit:cover;transition:transform .6s, filter .6s;filter:saturate(.85) brightness(.85)}
.idk-prod .card:hover .card-media img {transform:scale(1.06);filter:none}
.idk-prod .card-media::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,20,26,.85) 0%,transparent 45%)}
.idk-prod .card-media .card-t {position:absolute;left:18px;bottom:16px;z-index:2;font-size:24px}
.idk-prod .card-foot {display:flex;justify-content:space-between;align-items:center;padding-top:14px}
.idk-prod .card-foot span {font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--idk-accent-2)}
.idk-prod .card-foot em {width:30px;height:30px;border:1px solid var(--idk-line);display:grid;place-items:center;font-style:normal;font-size:14px;transition:.3s}
.idk-prod .card:hover .card-foot em {background:var(--idk-accent);border-color:var(--idk-accent)}
@media (max-width:1024px) {
.idk-prod .cards {grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px) {
.idk-prod .cards {grid-template-columns:1fr 1fr;gap:12px}
.idk-prod .card-media .card-t {font-size:19px;left:12px}}
.idk-prod .svc-intro {padding:110px 0 70px}
.idk-prod .svc-intro .grid {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.idk-prod .svc-intro p {font-size:18px}
.idk-prod .method {padding:40px 0 120px}
.idk-prod .method-head {margin-bottom:44px;max-width:720px}
.idk-prod .method-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.idk-prod .mstep .ph {aspect-ratio:4/3.2;overflow:hidden;background:#0b2a35}
.idk-prod .mstep img {width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.85);transition:transform .6s,filter .6s}
.idk-prod .mstep:hover img {transform:scale(1.06);filter:none}
.idk-prod .mstep .ph.todo {display:grid;place-items:center;text-align:center;border:1px dashed rgba(79,176,198,.5);background:repeating-linear-gradient(45deg,#071f28 0 12px,#0a2631 12px 24px);color:var(--idk-accent-2);font-family:var(--idk-nav);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:14px}
.idk-prod .mstep .meta {border-top:1px solid var(--idk-line);margin-top:18px;padding-top:16px}
.idk-prod .mstep i {font-style:normal;font-family:var(--idk-sans);font-size:13px;color:var(--idk-accent-2);display:block;margin-bottom:6px}
.idk-prod .mstep h3 {font-size:20px;margin-bottom:8px}
.idk-prod .mstep p {font-size:15px;line-height:1.6}
.idk-prod .feature {padding:120px 0;background:radial-gradient(ellipse 60% 70% at 30% 50%,#031e2a 0%,#030f16 100%)}
.idk-prod .feature-grid {display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.idk-prod .feature-img {position:relative}
.idk-prod .feature-img img {width:100%;height:560px;object-fit:cover}
.idk-prod .feature-img .badge {right:-28px;bottom:-28px}
.idk-prod .feature p + p {margin-top:16px}
.idk-prod .others {padding:120px 0}
.idk-prod .others-head {display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px;flex-wrap:wrap}
.idk-prod .others-grid {display:grid;grid-template-columns:1fr 1fr;gap:22px}
.idk-prod .ocard {position:relative;display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;padding:22px;border:1px solid var(--idk-line);background:rgba(255,255,255,.02);transition:border-color .3s,background .3s}
.idk-prod .ocard:hover {border-color:var(--idk-accent);background:rgba(0,104,129,.12)}
.idk-prod .ocard .ph {aspect-ratio:1;overflow:hidden}
.idk-prod .ocard img {width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.85)}
.idk-prod .ocard i {font-style:normal;font-family:var(--idk-sans);font-size:13px;color:var(--idk-accent-2)}
.idk-prod .ocard .card-t {font-size:22px;margin:6px 0 10px}
.idk-prod .ocard .card-p {font-size:15px;line-height:1.6}
.idk-prod .ocard .go {display:inline-block;margin-top:12px;font-family:var(--idk-nav);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--idk-text);border-bottom:1px solid var(--idk-accent)}
@media (max-width:1024px) {
.idk-prod .svc-intro .grid, .idk-prod .feature-grid, .idk-prod .others-grid {grid-template-columns:1fr;gap:34px}
.idk-prod .method-grid {grid-template-columns:1fr 1fr}
.idk-prod .feature-img img {height:420px}
.idk-prod .feature-img .badge {right:16px;bottom:-24px}}
@media (max-width:520px) {
.idk-prod .method-grid {grid-template-columns:1fr}
.idk-prod .ocard {grid-template-columns:1fr}}
.idk-prod .mstep .ph.icon {display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#0a3442 0%,#071f28 70%);border:1px solid var(--idk-line)}
.idk-prod .mstep .ph.icon svg {width:46%;height:auto;color:var(--idk-accent-2)}
.idk-prod h1, .idk-prod h2, .idk-prod h3 {text-wrap:balance}
.idk-prod .page-hero.shift {background:#0b1c28}
.idk-prod .page-hero.shift .hero-bg {left:40%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 25%);mask-image:linear-gradient(90deg,transparent 0,#000 25%)}
@media (max-width:820px) {
.idk-prod .page-hero.shift .hero-bg {left:0;-webkit-mask-image:none;mask-image:none}}
.idk-prod .page-hero .actions {display:flex;gap:14px;flex-wrap:wrap}
.idk-prod .svc-intro p + p {margin-top:16px}
.idk-prod .props {padding:40px 0 120px}
.idk-prod .props-head {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:50px}
.idk-prod .prop-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--idk-line)}
.idk-prod .prop {padding:32px 28px 10px 0;border-right:1px solid var(--idk-line)}
.idk-prod .prop + .prop {padding-left:28px}
.idk-prod .prop:last-child {border-right:0}
.idk-prod .prop svg {width:34px;height:34px;color:var(--idk-accent-2);margin-bottom:18px}
.idk-prod .prop h3 {font-size:20px;margin-bottom:10px}
.idk-prod .prop p {font-size:15px;line-height:1.6}
.idk-prod .versions {padding:120px 0}
.idk-prod .versions-head {max-width:720px;margin-bottom:46px}
.idk-prod .ver-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.idk-prod .ver .ph.fan {display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,#16404c,#0b2a35 70%)}
.idk-prod .ver .ph.fan img {width:auto;height:94%;object-fit:contain}
.idk-prod .ver:hover .ph.fan img {transform:scale(1.04)}
.idk-prod .ver {background:#0b2a35;border:1px solid var(--idk-line);display:grid;grid-template-rows:auto 1fr}
.idk-prod .ver .ph {aspect-ratio:16/8;overflow:hidden}
.idk-prod .ver .ph img {width:100%;height:100%;object-fit:cover;transition:transform .8s}
.idk-prod .ver:hover .ph img {transform:scale(1.05)}
.idk-prod .ver .txt {padding:28px 28px 32px}
.idk-prod .ver h3 {font-size:28px;margin-bottom:6px}
.idk-prod .ver .tag {font-family:var(--idk-nav);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--idk-accent-2);margin-bottom:14px;display:block}
.idk-prod .ver ul {list-style:none;margin-top:18px;border-top:1px solid var(--idk-line)}
.idk-prod .ver li {padding:10px 0;border-bottom:1px solid var(--idk-line);font-size:15px;color:var(--idk-text);display:flex;gap:10px}
.idk-prod .ver li::before {content:"";flex:none;width:6px;height:6px;margin-top:10px;background:var(--idk-accent-2)}
.idk-prod .spec {display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--idk-line);border:1px solid var(--idk-line)}
.idk-prod .spec div {background:var(--idk-bg);padding:14px 16px}
.idk-prod .spec b {display:block;font-family:var(--idk-sans);font-weight:500;font-size:22px;color:var(--idk-text)}
.idk-prod .spec span {font-family:var(--idk-nav);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--idk-muted)}
.idk-prod .is-off {display:none!important}
.idk-prod .edek-fan {width:100%;max-width:230px;margin:34px 0 0 6px}
.idk-prod .ver-note {margin-top:26px;font-size:15px;border-left:2px solid var(--idk-accent);padding-left:16px}
.idk-prod .config {padding:120px 0}
.idk-prod .config-head {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:46px}
.idk-prod .config-grid {display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}
.idk-prod .preview-wrap {position:sticky;top:96px}
.idk-prod .preview {position:relative;aspect-ratio:6/5;overflow:hidden;background:#333 center/220px repeat;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.idk-prod .preview svg {position:absolute;inset:0;width:100%;height:100%}
.idk-prod .preview .shade {position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.08),transparent 40%,rgba(0,0,0,.18))}
.idk-prod .summary {display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-family:var(--idk-nav);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--idk-muted)}
.idk-prod .summary b {color:var(--idk-text);font-weight:500}
.idk-prod .disclaimer {font-size:13px;margin-top:10px;color:var(--idk-muted);opacity:.8}
.idk-prod .ctl {border-top:1px solid var(--idk-line);padding:20px 0 22px}
.idk-prod .ctl:last-of-type {border-bottom:1px solid var(--idk-line)}
.idk-prod .ctl-h {display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.idk-prod .ctl-h span {font-family:var(--idk-nav);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--idk-accent-2)}
.idk-prod .ctl-h em {font-style:normal;font-family:var(--idk-title);font-size:16px;color:var(--idk-text)}
.idk-prod .seg {display:inline-flex;border:1px solid var(--idk-line)}
.idk-prod .seg button, .idk-prod .chipbtn {font-family:var(--idk-nav);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;color:var(--idk-muted);padding:10px 16px;cursor:pointer;transition:.2s}
.idk-prod .seg button[aria-pressed=true] {background:var(--idk-accent);color:#fff}
.idk-prod .chips-row {display:flex;flex-wrap:wrap;gap:8px}
.idk-prod .chipbtn {border:1px solid var(--idk-line);padding:9px 14px}
.idk-prod .chipbtn[aria-pressed=true] {border-color:var(--idk-accent-2);color:var(--idk-text);background:rgba(0,104,129,.25)}
.idk-prod .chipbtn:disabled {opacity:.3;cursor:not-allowed}
.idk-prod .pats {display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.idk-prod .pat {background:none;border:1px solid var(--idk-line);padding:6px 6px 8px;cursor:pointer;color:var(--idk-muted);font-family:var(--idk-nav);font-size:10px;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.idk-prod .pat svg, .idk-prod .pat img {display:block;width:100%;aspect-ratio:6/5;object-fit:cover;background:#1b3a44;margin-bottom:6px}
.idk-prod .pat[aria-pressed=true] {border-color:var(--idk-accent-2);color:var(--idk-text)}
.idk-prod .sw-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px}
.idk-prod .sw {position:relative;aspect-ratio:1;border:0;padding:0;cursor:pointer;background:#333 center/cover;outline:1px solid rgba(255,255,255,.1);transition:transform .15s}
.idk-prod .sw:hover {transform:scale(1.1);z-index:2}
.idk-prod .sw[aria-pressed=true] {outline:2px solid #fff;outline-offset:2px}
.idk-prod .sw.same {background:repeating-linear-gradient(45deg,#1b3a44 0 5px,#0b2a35 5px 10px);display:grid;place-items:center;color:var(--idk-muted);font-size:9px;font-family:var(--idk-nav)}
.idk-prod .sw:disabled {opacity:.18;cursor:not-allowed;transform:none}
.idk-prod .ctl .hint {font-size:13px;margin-top:10px}
.idk-prod .config .btn {margin-top:26px}
.idk-prod .finish {padding:120px 0}
.idk-prod .finish-grid {display:grid;grid-template-columns:1fr 1fr;gap:80px}
.idk-prod .tex-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.idk-prod .tex figure {margin:0}
.idk-prod .tex .ph {aspect-ratio:1;overflow:hidden}
.idk-prod .tex img {width:100%;height:100%;object-fit:cover;transition:transform .6s}
.idk-prod .tex:hover img {transform:scale(1.08)}
.idk-prod .tex figcaption {font-family:var(--idk-title);font-size:17px;margin-top:12px;padding-top:10px;border-top:1px solid var(--idk-line)}
.idk-prod .th-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.idk-prod .thp {margin:0;background:radial-gradient(ellipse at 50% 55%,#12323d,#0b2a35 75%);border:1px solid var(--idk-line);padding:18px 16px 14px}
.idk-prod .thp img {width:100%;aspect-ratio:1.7;object-fit:contain}
.idk-prod .thp figcaption {display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:10px;border-top:1px solid var(--idk-line);padding-top:10px}
.idk-prod .thp b {font-family:var(--idk-sans);font-weight:500;font-size:22px;white-space:nowrap}
.idk-prod .thp i {font-style:normal;font-size:11px;color:var(--idk-muted);font-family:var(--idk-nav);letter-spacing:.08em;text-transform:uppercase;text-align:right}
.idk-prod .thick {margin-top:30px;display:grid;gap:10px}
.idk-prod .th {display:grid;grid-template-columns:70px 1fr 80px;align-items:center;gap:16px}
.idk-prod .th b {font-family:var(--idk-sans);font-weight:500;font-size:22px}
.idk-prod .th i {font-style:normal;font-size:13px;color:var(--idk-muted);text-align:right}
.idk-prod .th .bar {height:var(--h);background:linear-gradient(180deg,#a7785b 0 34%,#101010 34% 100%);border-radius:1px}
.idk-prod .th[data-l="1"] .bar {background:#a7785b}
.idk-prod .th[data-l="3"] .bar {background:linear-gradient(180deg,#a7785b 0 30%,#d3cfca 30% 55%,#101010 55% 100%)}
.idk-prod .legend {display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--idk-muted)}
.idk-prod .legend span::before {content:"";display:inline-block;width:10px;height:10px;margin-right:8px;background:var(--c)}
.idk-prod .palette {padding:120px 0}
.idk-prod .palette-head {display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:36px}
.idk-prod .palette-head p {max-width:560px}
.idk-prod .pal-grid {display:grid;grid-template-columns:repeat(8,1fr);gap:14px 12px}
.idk-prod .pc {background:none;border:0;padding:0;text-align:left;cursor:pointer;color:var(--idk-text)}
.idk-prod .pc .ph {aspect-ratio:1;background:#333 center/cover;transition:transform .3s}
.idk-prod .pc:hover .ph {transform:translateY(-4px)}
.idk-prod .pc span {display:flex;justify-content:space-between;gap:6px;font-family:var(--idk-nav);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:8px;color:var(--idk-muted)}
.idk-prod .pc span u {text-decoration:none;color:var(--idk-accent-2);font-weight:600}
.idk-prod .pc.is-hidden {display:none}
.idk-prod .inspo {padding:110px 0}
.idk-prod .inspo-head {max-width:720px;margin-bottom:40px}
.idk-prod .inspo-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.idk-prod .ic {background:none;border:1px solid var(--idk-line);padding:0;cursor:pointer;text-align:left;color:var(--idk-text);transition:.3s}
.idk-prod .ic:hover {border-color:var(--idk-accent-2)}
.idk-prod .ic .pv {position:relative;aspect-ratio:6/5;background:#333 center/160px repeat}
.idk-prod .ic .pv svg {position:absolute;inset:0;width:100%;height:100%}
.idk-prod .ic div.t {padding:14px 16px 16px}
.idk-prod .ic b {display:block;font-family:var(--idk-title);font-weight:400;font-size:17px}
.idk-prod .ic small {font-family:var(--idk-nav);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--idk-accent-2)}
.idk-prod .uses {padding:120px 0}
.idk-prod .uses .cards {margin-top:40px}
@media (max-width:1024px) {
.idk-prod .ver-grid {grid-template-columns:1fr 1fr}
.idk-prod .props-head, .idk-prod .config-head, .idk-prod .config-grid, .idk-prod .finish-grid {grid-template-columns:1fr;gap:34px}
.idk-prod .prop-grid {grid-template-columns:1fr 1fr}
.idk-prod .prop:nth-child(2) {border-right:0}
.idk-prod .prop:nth-child(3) {padding-left:0}
.idk-prod .prop:nth-child(n+3) {border-top:1px solid var(--idk-line)}
.idk-prod .preview-wrap {position:static}
.idk-prod .pal-grid {grid-template-columns:repeat(6,1fr)}
.idk-prod .inspo-grid {grid-template-columns:1fr 1fr}}
@media (max-width:640px) {
.idk-prod .ver-grid {grid-template-columns:1fr}
.idk-prod .th-grid {gap:8px}
.idk-prod .prop-grid {grid-template-columns:1fr}
.idk-prod .prop, .idk-prod .prop + .prop {padding:26px 0;border-right:0;border-top:1px solid var(--idk-line)}
.idk-prod .pats {grid-template-columns:repeat(3,1fr)}
.idk-prod .pal-grid {grid-template-columns:repeat(4,1fr)}
.idk-prod .tex-grid {grid-template-columns:1fr 1fr;gap:10px}}

/* ---- 5.7 Larghezza contenuti: 1180px centrati, come nel mockup ---- */
.idk-hero > .row_col_wrap_12, .idk-about > .row_col_wrap_12, .idk-why > .row_col_wrap_12,
.idk-types > .row_col_wrap_12, .idk-partners:not(.full-width-content) > .row_col_wrap_12, .idk-cta > .row_col_wrap_12,
.idk-page-hero > .row_col_wrap_12, .idk-manifesto > .row_col_wrap_12, .idk-process > .row_col_wrap_12, .idk-process-strip > .row_col_wrap_12,
.idk-engine > .row_col_wrap_12, .idk-phases > .row_col_wrap_12, .idk-phases-grid > .row_col_wrap_12, .idk-values > .row_col_wrap_12,
.idk-svc-intro > .row_col_wrap_12, .idk-method > .row_col_wrap_12, .idk-method-grid > .row_col_wrap_12, .idk-feature > .row_col_wrap_12,
.idk-others-head > .row_col_wrap_12, .idk-others > .row_col_wrap_12,
.idk-doors-row > .row_col_wrap_12, .idk-panel > .row_col_wrap_12, .idk-reach > .row_col_wrap_12,
.idk-legal-hero > .row_col_wrap_12, .idk-legal > .row_col_wrap_12,
.idk-uses > .row_col_wrap_12, .idk-gallery-row > .row_col_wrap_12, .idk-logos-row > .row_col_wrap_12 {
	max-width: 1180px; margin-left: auto !important; margin-right: auto !important; float: none;
	padding-left: 0 !important; padding-right: 0 !important;
}
/* Spazio tra le colonne al posto dell'imbottitura del 6% di Salient */
.idk-hero .wpb_column > .vc_column-inner, .idk-about .wpb_column > .vc_column-inner, .idk-why .wpb_column > .vc_column-inner,
.idk-types .wpb_column > .vc_column-inner, .idk-partners .wpb_column > .vc_column-inner, .idk-cta .wpb_column > .vc_column-inner,
.idk-page-hero .wpb_column > .vc_column-inner, .idk-manifesto .wpb_column > .vc_column-inner, .idk-process .wpb_column > .vc_column-inner,
.idk-engine .wpb_column > .vc_column-inner, .idk-phases .wpb_column > .vc_column-inner,
.idk-svc-intro .wpb_column > .vc_column-inner, .idk-method .wpb_column > .vc_column-inner, .idk-feature .wpb_column > .vc_column-inner,
.idk-others-head .wpb_column > .vc_column-inner, .idk-doors-row .wpb_column > .vc_column-inner, .idk-panel .wpb_column > .vc_column-inner, .idk-reach .wpb_column > .vc_column-inner,
.idk-legal-hero .wpb_column > .vc_column-inner, .idk-legal .wpb_column > .vc_column-inner,
.idk-uses .wpb_column > .vc_column-inner, .idk-gallery-row .wpb_column > .vc_column-inner, .idk-logos-row .wpb_column > .vc_column-inner {
	padding-left: 0 !important; padding-right: 0 !important;
}
.idk-about .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-right: 32px !important; }
.idk-about .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 40px !important; }
.idk-why .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 72px !important; }
.idk-types .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-right: 40px !important; }
.idk-types .row_col_wrap_12 > .idk-card > .vc_column-inner { padding: 0 8px !important; }
.idk-partners .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 40px !important; }
.idk-process .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 60px !important; }
@media (max-width: 1240px) {
	.idk-hero > .row_col_wrap_12, .idk-about > .row_col_wrap_12, .idk-why > .row_col_wrap_12,
	.idk-types > .row_col_wrap_12, .idk-partners:not(.full-width-content) > .row_col_wrap_12, .idk-cta > .row_col_wrap_12 { padding-left: 24px !important; padding-right: 24px !important; }
}
.idk-hero .row-bg-wrap .inner-wrap, .idk-cta .row-bg-wrap .inner-wrap { z-index: 1; }

/* =========================================================
   6. FOOTER (Salient)
   ========================================================= */
body #footer-outer { background-color: #020d11 !important; border-top: 1px solid var(--idk-line); }
body #footer-outer, body #footer-outer p, body #footer-outer a { color: var(--idk-muted) !important; font-size: 16px; }
body #footer-outer a:hover { color: var(--idk-accent-2) !important; }
body #footer-outer .widget h4, body #footer-outer h4 { font-family: var(--idk-title); font-weight: 400; color: var(--idk-text) !important; font-size: 18px; }
body #footer-outer #copyright { background-color: #020d11 !important; border-top: 1px solid var(--idk-line); font-family: var(--idk-nav); font-size: 12px; }
/* Logo ottanio reso bianco su fondo scuro (header e footer) */
body #header-outer #logo img, body #footer-outer img.idk-logo { filter: brightness(0) invert(1); }

/* Footer ItalDek (generato da functions.php) */
body #footer-outer:empty, body #footer-outer[data-using-widget-area="false"][data-disable-copyright="true"] { display: none !important; }
.idk-footer { background: #020d11; border-top: 1px solid var(--idk-line); color: var(--idk-muted); font-family: var(--idk-sans); position: relative; z-index: 10; }
.idk-footer__wrap { max-width: 1180px; margin: 0 auto; padding: 70px 24px 40px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.idk-footer__logo img { width: 160px; height: auto; filter: brightness(0) invert(1); margin-bottom: 18px; display: block; }
.idk-footer p { font-size: 15px; line-height: 1.6; color: var(--idk-muted); margin: 0; max-width: 300px; }
.idk-footer h4 { font-family: var(--idk-title) !important; font-weight: 400 !important; font-size: 18px !important; color: var(--idk-text) !important; margin: 0 0 14px !important; letter-spacing: 0; text-transform: none; }
.idk-footer ul { list-style: none; margin: 0; padding: 0; }
.idk-footer li { font-size: 15px; line-height: 1.5; margin: 0 0 10px; list-style: none; color: var(--idk-muted); }
.idk-footer a { color: var(--idk-muted) !important; text-decoration: none !important; background-image: none !important; transition: color .2s; }
.idk-footer a:hover, .idk-footer a:focus-visible { color: var(--idk-accent-2) !important; }
.idk-footer__cta { display: inline-block; margin-top: 6px; font-family: var(--idk-nav); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--idk-text) !important; border-bottom: 1px solid var(--idk-accent); }
.idk-footer__bottom { max-width: 1180px; margin: 0 auto; padding: 22px 24px 30px; border-top: 1px solid var(--idk-line); display: flex; justify-content: space-between; gap: 14px 30px; flex-wrap: wrap; font-family: var(--idk-nav); font-size: 12px; color: #5f7482; }
.idk-footer__legal { display: flex; gap: 22px; flex-wrap: wrap; }
.idk-footer__legal a { color: #8fa3b3 !important; }
@media (max-width: 999px) { .idk-footer__wrap { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .idk-footer__wrap { grid-template-columns: 1fr; padding-top: 56px; } }

/* =========================================================
   7. RESPONSIVE E ACCESSIBILITÀ
   ========================================================= */
@media (max-width: 999px) {
	/* colonne una sotto l'altra: niente spazi laterali tra colonne */
	.idk-about .row_col_wrap_12 > .wpb_column > .vc_column-inner, .idk-why .row_col_wrap_12 > .wpb_column > .vc_column-inner,
	.idk-types .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner, .idk-partners .row_col_wrap_12 > .wpb_column > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
	.idk-why > .row_col_wrap_12 { display: block !important; }
	.idk-engine > .row_col_wrap_12 { display: block !important; }
	.idk-engine .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner, .idk-process .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding: 0 !important; }
	.idk-value > .vc_column-inner, .idk-value:first-child > .vc_column-inner { padding: 30px 0 !important; border-right: 0; border-bottom: 1px solid var(--idk-line); }
	.idk-value h3 { min-height: 0; }
	.idk-phases-grid .wpb_column > .vc_column-inner { padding: 0 !important; margin-bottom: 30px; }
	.idk-process-strip > .row_col_wrap_12 { display: flex !important; flex-wrap: wrap; }
	.idk-page-hero--shift .row-bg-wrap .row-bg { left: 0 !important; width: 100% !important; -webkit-mask-image: none; mask-image: none; }
	.idk-svc-intro .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner, .idk-feature .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 0 !important; }
	.idk-feature > .row_col_wrap_12, .idk-others-head .row_col_wrap_12 { display: block !important; }
	.idk-feature .row_col_wrap_12 > .wpb_column:last-child { margin-top: 56px; }
	.idk-feature .idk-badge-wrap .img-with-aniamtion-wrap img { height: 420px !important; }
	.idk-others-head .row_col_wrap_12 > .wpb_column:last-child { text-align: left; }
	.idk-method-grid > .row_col_wrap_12 { display: flex !important; flex-wrap: wrap; }
	.idk-method-grid .idk-mstep { width: 50% !important; margin-bottom: 30px; }
	.idk-doors { grid-template-columns: 1fr 1fr; }
	.idk-grid { grid-template-columns: repeat(3, 1fr); }
	.idk-logos { grid-template-columns: repeat(3, 1fr); }
	.idk-panel > .row_col_wrap_12, .idk-reach > .row_col_wrap_12 { display: block !important; }
	.idk-panel .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner, .idk-reach .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner { padding-right: 0 !important; margin-bottom: 36px; }
	.idk-others .row_col_wrap_12 > .wpb_column { margin-bottom: 20px; }
	.idk-process-strip .idk-strip-item { width: 50% !important; margin-bottom: 24px; }
	.idk-why .row_col_wrap_12 > .wpb_column:last-child { margin-top: 56px; }
	.idk-fade img { height: 480px; max-width: 360px; margin: 0 auto; }
	.idk-badge { right: 16px; bottom: -24px; }
	.idk-badge-wrap img { height: 440px; }
}
@media (max-width: 690px) {
	.idk-ocard .row_col_wrap_12_inner { flex-wrap: wrap !important; }
	.idk-method-grid .idk-mstep { width: 100% !important; }
	.idk-form-grid { grid-template-columns: 1fr; }
	.idk-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; }
	.idk-gi--wide { grid-row: span 1; }
	.idk-panel .wpcf7 { padding: 22px; }
	.idk-reach-item { grid-template-columns: 1fr; gap: 4px; }
	.idk-hero .row-bg-wrap .row-bg { left: 0 !important; width: 100% !important; -webkit-mask-image: none; mask-image: none; }
	body .idk-hero .row-bg-wrap .row-bg img { object-position: 72% 50% !important; }
	.idk-hero::after { background: linear-gradient(180deg, rgba(4,20,26,.55) 0%, transparent 30%, rgba(4,20,26,.7) 60%, var(--idk-bg) 100%); }
	.idk-stats b { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
	.idk-track { animation: none; }
	.idk-card img, .idk-step img { transition: none; }
}

/* =========================================================
   8. RESPONSIVE: margini unici per header, contenuti e footer
   ========================================================= */
:root { --idk-g: 24px; --idk-max: 1180px; }
@media (min-width: 691px) { :root { --idk-g: 40px; } }

/* Il contenitore di Salient non aggiunge margini: li danno le righe, uguali in tutto il sito */
body .container-wrap > .container.main-content:has(.wpb_row[class*="idk-"]) {
	max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
}
body .main-content .wpb_row[class*="idk-"]:not(.full-width-content) > .row_col_wrap_12 {
	max-width: calc(var(--idk-max) + 2 * var(--idk-g)) !important; width: 100% !important; float: none;
	margin-left: auto !important; margin-right: auto !important;
	padding-left: var(--idk-g) !important; padding-right: var(--idk-g) !important; box-sizing: border-box;
}
/* il testo della prima e dell'ultima colonna parte esattamente dal margine */
body .main-content .wpb_row[class*="idk-"] > .row_col_wrap_12 > .wpb_column:first-child { padding-left: 0 !important; }
body .main-content .wpb_row[class*="idk-"] > .row_col_wrap_12 > .wpb_column:last-child { padding-right: 0 !important; }

/* Header e footer sugli stessi margini dei contenuti */
body #header-outer #top > .container {
	max-width: calc(var(--idk-max) + 2 * var(--idk-g)) !important; width: 100% !important; margin: 0 auto !important;
	padding-left: var(--idk-g) !important; padding-right: var(--idk-g) !important; box-sizing: border-box;
}
.idk-footer__wrap, .idk-footer__bottom { max-width: calc(var(--idk-max) + 2 * var(--idk-g)); padding-left: var(--idk-g); padding-right: var(--idk-g); box-sizing: border-box; }

/* Tablet e telefono: colonne una sotto l'altra, senza rientri */
@media (max-width: 999px) {
	body .main-content .wpb_row[class*="idk-"] > .row_col_wrap_12 > .wpb_column,
	body .main-content .wpb_row[class*="idk-"] > .row_col_wrap_12 > .wpb_column:first-child,
	body .main-content .wpb_row[class*="idk-"] > .row_col_wrap_12 > .wpb_column:last-child { padding-left: 0 !important; padding-right: 0 !important; }
	.idk-about .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner, .idk-about .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner,
	.idk-why .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner, .idk-types .row_col_wrap_12 > .wpb_column:first-child > .vc_column-inner,
	.idk-partners .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
	/* Rivestimenti in home: 2 card per riga, allineate in alto */
	.idk-types .row_col_wrap_12 { align-items: flex-start; }
	.idk-types .row_col_wrap_12 > .idk-card { width: 50% !important; flex: 0 0 50% !important; margin: 0 0 22px !important; }
	.idk-types .row_col_wrap_12 > .idk-card > .vc_column-inner { padding: 0 8px !important; }
	.idk-types .row_col_wrap_12 > .wpb_column:first-child { margin-bottom: 30px !important; }
}

/* Schermi grandi (monitor 2K/4K, TV): area dei contenuti un po' più ampia, sempre centrata */
@media (min-width: 1800px) { :root { --idk-max: 1280px; --idk-g: 48px; } }
@media (min-width: 2400px) { :root { --idk-max: 1400px; --idk-g: 56px; } }

/* Safari (iPhone, iPad, Mac) e Chrome (Android): stesso aspetto */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.wpcf7 input[type=submit], .idk-prod button, .idk-chip, .idk-more { -webkit-appearance: none; appearance: none; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 select, .wpcf7 textarea { -webkit-appearance: none; appearance: none; }
/* su touch gli effetti "al passaggio del mouse" non restano bloccati dopo il tocco */
@media (hover: none) {
	.idk-card:hover img, .idk-step:hover img, .idk-strip-item:hover img, .idk-mstep:hover img, .idk-gi:hover img, .idk-prod .ver:hover .ph img, .idk-prod .card:hover .card-media img, .idk-prod .tex:hover img, .idk-prod .pc:hover .ph, .idk-prod .sw:hover { transform: none; }
}

/* Nessuno scorrimento laterale (anche di 1 pixel) su nessun dispositivo */
html, body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }

/* Loghi dei cantieri (Installazioni): 2 per riga sul telefono */
@media (max-width: 690px) { .idk-logos { grid-template-columns: repeat(2, 1fr); gap: 10px; } .idk-logo { padding: 14px; } }

/* Prodotti: card dei servizi una sotto l'altra su tablet e telefono */
@media (max-width: 1024px) { .idk-prod .others-grid { grid-template-columns: minmax(0, 1fr) !important; } }
/* Prodotti: riepilogo del preventivo senza uscire dallo schermo */
@media (max-width: 1024px) { .idk-prod .quote-grid { grid-template-columns: minmax(0, 1fr) !important; } }
.idk-prod .quote-list dd { overflow-wrap: anywhere; }

/* Briciole di pane di Yoast (comparse con il plugin): non fanno parte del design, Google le legge comunque dai dati strutturati */
body #breadcrumbs.yoast, body p#breadcrumbs { display: none !important; }

/* Prodotti: griglia colori regolare su telefono (i nomi lunghi vanno a capo invece di allargare la colonna) */
.idk-prod .pal-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
@media (max-width: 1024px) { .idk-prod .pal-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 640px) { .idk-prod .pal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 8px; } }
.idk-prod .pc span { overflow-wrap: anywhere; font-size: 10px; }
/* pulsanti a segmenti (EVA · 39, …): non vanno a capo, scorrono se non stanno */
.idk-prod .seg { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.idk-prod .seg button { white-space: nowrap; flex: none; }
@media (max-width: 520px) { .idk-prod .seg button { padding: 10px 12px; } }

/* Contatti e Installazioni: le "porte" restano dentro lo schermo anche sui telefoni piccoli */
.idk-doors { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 999px) { .idk-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 380px) { .idk-door { padding-left: 16px; padding-right: 16px; } .idk-door strong { font-size: 19px; } }
.idk-door span, .idk-door em { overflow-wrap: anywhere; }

/* Pulsante di invio dei moduli sul telefono: a tutta larghezza, il testo lungo sta sempre dentro */
@media (max-width: 520px) {
	.wpcf7 input[type=submit] { width: 100% !important; padding: 15px 12px !important; letter-spacing: .05em !important; font-size: 12px !important; white-space: normal; }
}
