/* Pulsante WhatsApp fisso: verde WhatsApp, forme e carattere del sito */
.eqm-wa {
	position: fixed; left: 20px; bottom: 20px; z-index: 9990;
	display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 14px;
	border-radius: 28px; background: #25d366; color: #fff !important; text-decoration: none !important;
	font-family: var(--porto-body-ff, Poppins), sans-serif; font-size: 14px; font-weight: 600; letter-spacing: -.01em;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .22); transition: background-color .2s, transform .2s;
}
.eqm-wa:hover, .eqm-wa:focus-visible { background: #1ebe5a; transform: translateY(-2px); }
.eqm-wa:focus-visible { outline: 3px solid #222529; outline-offset: 3px; }
.eqm-wa svg { flex: none; }
.eqm-wa-label { padding-right: 4px; white-space: nowrap; }
@media (max-width: 767px) {
	.eqm-wa { left: 14px; bottom: 14px; width: 54px; height: 54px; padding: 0; justify-content: center; }
	.eqm-wa-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media print { .eqm-wa { display: none; } }

/* ---------- Testimonianze (dalle recensioni) ---------- */
.eqm-testi { padding: 50px 10px 20px; }
.eqm-testi-head, .eqm-insta-head { text-align: center; margin-bottom: 28px; }
.eqm-testi-head h2, .eqm-insta-head h2 { margin: 0 0 6px; }
.eqm-testi-head p { margin: 0; }
.eqm-testi-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.eqm-testi-card { flex: 0 1 calc((100% - 40px) / 3); margin: 0; padding: 26px 24px 22px; border: 1px solid var(--porto-gray-2, #e7e7e7); background: #fff; display: flex; flex-direction: column; align-items: center; text-align: center; }
.eqm-testi-photo { width: 92px; height: 92px; border-radius: 50%; overflow: hidden; margin-bottom: 14px; background: var(--porto-gray-1, #f4f4f4); display: flex; align-items: center; justify-content: center; }
.eqm-testi-photo img { width: 100%; height: 100%; object-fit: cover; }
.eqm-testi-initial { font-size: 34px; font-weight: 600; color: var(--porto-heading-color, #222529); }
.eqm-testi-stars { color: var(--porto-primary-color, #d60a2e); letter-spacing: 2px; font-size: 16px; margin-bottom: 10px; }
.eqm-testi-card blockquote { margin: 0 0 16px; padding: 0; border: 0; font-size: 15px; line-height: 1.7; font-style: normal; color: var(--porto-body-color, #777); flex: 1; }
.eqm-testi-card figcaption strong { display: block; color: var(--porto-heading-color, #222529); font-size: 15px; }
.eqm-testi-card figcaption a { font-size: 12px; text-transform: uppercase; color: var(--porto-body-color, #777); }
@media (max-width: 991px) {
	.eqm-testi-list { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
	.eqm-testi-card { flex: 0 0 82%; scroll-snap-align: start; }
	.eqm-testi-list:has(> :only-child) { justify-content: center; }
}

/* ---------- Griglia Instagram ---------- */
.eqm-insta { padding: 50px 10px 40px; }
.eqm-insta-user { font-weight: 600; color: var(--porto-primary-color, #d60a2e); text-decoration: none; }
.eqm-insta-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.eqm-insta-grid li { margin: 0; }
.eqm-insta-grid a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--porto-gray-1, #f4f4f4); }
.eqm-insta-grid img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; object-fit: cover; transition: transform .4s; }
.eqm-insta-ico { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(34, 37, 41, .45); opacity: 0; transition: opacity .25s; }
.eqm-insta-grid a:hover img, .eqm-insta-grid a:focus-visible img { transform: scale(1.06); }
.eqm-insta-grid a:hover .eqm-insta-ico, .eqm-insta-grid a:focus-visible .eqm-insta-ico { opacity: 1; }
.eqm-insta-cta { text-align: center; margin: 24px 0 0; }
@media (max-width: 767px) { .eqm-insta-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* modulo recensioni: campo foto */
.comment-form-eqm-foto label, .comment-form-eqm-consenso label { display: block; }
.comment-form-eqm-foto .description { display: block; font-size: 12px; margin-top: 4px; }

/* Testata da telefono e tablet (sotto i 992 px, dove c'è l'icona del menu): logo al centro, menu a destra (Ivan, 30/10/2026).
   Griglia a tre colonne nella riga della testata: niente posizionamento assoluto, i contenitori di Porto lo spostavano. */
@media (max-width: 991px) {
	.elementor-element-cb2ee3e > .elementor-widget-wrap { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; }
	.elementor-element-d44d389 { grid-column: 2; grid-row: 1; justify-self: center; margin: 0 !important; }
	.elementor-element-94270ce { grid-column: 3; grid-row: 1; justify-self: end; margin: 0 !important; }
	.elementor-element-1a25117 { display: none !important; } /* colonna account: occupava spazio a destra e spostava il logo; ai clienti serve solo il preventivo */
}

/* Apertura della home sul telefono (02/11/2026): testo in alto e cassone/sella sotto, prima l'immagine finiva sotto il testo */
@media (max-width: 767px) {
	.elementor-element-0ce6f15 > .porto-ibanner, .elementor-element-65b2594 > .porto-ibanner { min-height: 560px !important; }
	.elementor-element-c98de1d > .porto-ibanner-layer, .elementor-element-cdf2b07 > .porto-ibanner-layer { top: 34px !important; bottom: auto !important; left: 20px !important; right: 20px !important; width: auto !important; }
	.elementor-element-6a72f3e > .porto-ibanner-layer, .elementor-element-4d81691 > .porto-ibanner-layer { top: auto !important; bottom: 44px !important; left: 0 !important; right: 0 !important; width: 100% !important; height: auto !important; display: flex; justify-content: center; }
	.elementor-element-dbbd13c, .elementor-element-468cdcb { width: 210px !important; max-width: 60vw; visibility: visible !important; }
	.elementor-element-dbbd13c img, .elementor-element-468cdcb img { width: 100% !important; height: auto !important; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .14)); }
	.elementor-element-b231026 .elementor-heading-title { font-size: 26px !important; letter-spacing: .18em !important; }
}

/* Menu da computer: le voci come sono scritte («Chi siamo», non «Chi Siamo») */
.main-menu > li.menu-item > a { text-transform: none !important; }

/* ===== Piè di pagina (includes/piede.php, 02/11/2026) ===== */
.eqm-pd-sez > .elementor-container { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
.eqm-pd { --r: #d60a2e; background: #17181b; color: rgba(255, 255, 255, .62); font-family: Poppins, sans-serif; font-size: 14px; line-height: 1.7; }
.eqm-pd a { color: rgba(255, 255, 255, .78); text-decoration: none; transition: color .2s ease; }
.eqm-pd a:hover { color: #fff; }
.eqm-pd p { margin: 0 0 12px; }
.eqm-pd-alto { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 48px; max-width: var(--porto-container-width, 1400px); margin: 0 auto; padding: 72px 10px 56px; } /* stesso bordo del logo */
.eqm-pd-logo { display: inline-block; margin-bottom: 18px; }
.eqm-pd-logo img { display: block; width: 150px; height: auto; }
.eqm-pd-marchio > p { max-width: 280px; }
.eqm-pd-social { display: flex; gap: 18px; margin-top: 18px !important; }
.eqm-pd-social a { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff; border-bottom: 1px solid var(--r); padding-bottom: 2px; }
.eqm-pd-tit { margin-bottom: 18px !important; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.eqm-pd-col ul { list-style: none; margin: 0; padding: 0; }
.eqm-pd-col li { margin: 0 0 10px; }
.eqm-pd-dove strong { color: #fff; font-weight: 500; }
.eqm-pd-orari { color: #fff; }
.eqm-pd-basso { max-width: calc(var(--porto-container-width, 1400px) - 20px); margin: 0 auto; padding: 22px 0 28px; /* la riga parte dal bordo del logo */ border-top: 1px solid rgba(255, 255, 255, .1); display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; font-size: 12px; } /* centrata: in basso a sinistra c'è il pulsante WhatsApp */
.eqm-pd-basso p { margin: 0; }
.eqm-pd-legali { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; }
.eqm-pd-firma { color: rgba(255, 255, 255, .4); }
@media (max-width: 991px) {
	.eqm-pd-alto { grid-template-columns: 1fr 1fr; gap: 36px 28px; padding: 56px 24px 40px; }
	.eqm-pd-basso { padding: 20px 24px 90px; } /* in basso a sinistra c'è il pulsante WhatsApp */
}
@media (max-width: 575px) {
	.eqm-pd-alto { grid-template-columns: 1fr 1fr; }
	.eqm-pd-marchio, .eqm-pd-dove { grid-column: 1 / -1; }
	.eqm-pd-basso { display: block; }
	.eqm-pd-basso p { margin-bottom: 10px; }
}

/* ===== Header su una riga sul computer (Ivan 02/11: «troppo spazio bianco»): logo · menu · ricerca e account ===== */
@media (min-width: 992px) {
	.elementor-element.elementor-element-63a56ef.d-lg-flex, .elementor-element.elementor-element-63a56ef { display: none !important; } /* la vecchia riga alta solo per il logo (vince su d-lg-flex di Porto) */
	#menu-main-menu.main-menu > li.menu-item { margin-right: 34px !important; }
	#menu-main-menu.main-menu > li.menu-item:last-child { margin-right: 0 !important; }
	#menu-main-menu.main-menu { flex-wrap: nowrap; white-space: nowrap; }
	.elementor-element-629a8bf, .elementor-element-abe974d { padding-top: 7px !important; padding-bottom: 7px !important; }
	.elementor-element.elementor-element-f6e17a1 { border-style: solid !important; border-color: #e7e7e7 !important; border-width: 0 0 1px 0 !important; } /* riga sotto il menu (Ivan 02/11); Elementor la azzerava */
	.elementor-element-cb2ee3e > .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap; align-items: center; }
	.elementor-element.elementor-element-d44d389.elementor-hidden-desktop, .elementor-element.elementor-element-d44d389 { display: block !important; order: -1; margin: 0 48px 0 0 !important; }
	.elementor-element-d44d389 img { width: 118px !important; max-width: none; height: auto; }
	.elementor-element-1a25117 > .elementor-widget-wrap { display: flex !important; align-items: center; justify-content: flex-end; flex-wrap: nowrap; gap: 18px; }
	.elementor-element.elementor-element-cba1556 { width: 270px !important; flex: none; margin: 0 !important; } /* il modulo di ricerca di Porto è largo 270 px fissi */
}

/* Una sola barra in alto sul computer (02/11/2026): la rossa coi due punti sparisce, quella con Chiamaci e i social diventa rossa */
@media (min-width: 992px) {
	.elementor-element.elementor-element-2b0fce6 { display: none !important; }
	.elementor-element-07713b9 > .elementor-widget-wrap { display: flex !important; align-items: center; flex-wrap: nowrap; gap: 0; }
	.elementor-element-a1f01c3 { margin: 0 6px 0 0 !important; }
	.elementor-element-a1f01c3 .elementor-heading-title, .elementor-element-30d0799 .elementor-heading-title, .elementor-element-30d0799 a { margin: 0 !important; color: #fff !important; }
	.elementor-element-8c8a461 { margin: 0 6px 0 14px !important; }
	.elementor-element-8c8a461 .divider, .elementor-element-8c8a461 > div { border-color: rgba(255, 255, 255, .35) !important; background-color: rgba(255, 255, 255, .35) !important; }
	.elementor-element-5ea4e58 a { color: #fff !important; }
	.eqm-barra-punti { display: flex; justify-content: flex-end; gap: 28px; margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
	.eqm-barra-punti span + span::before { content: "·"; margin-right: 28px; opacity: .6; }
}

/* social del piè di pagina: icone nei cerchi, coi link */
.eqm-pd-social { gap: 10px !important; }
.eqm-pd-social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0 !important; border: 1px solid rgba(255, 255, 255, .25) !important; border-radius: 50%; color: #fff !important; transition: background .2s ease, border-color .2s ease; }
.eqm-pd-social a:hover { background: var(--r); border-color: var(--r) !important; }
.eqm-pd-social svg { width: 17px; height: 17px; fill: currentColor; }

/* Chi siamo (pagina 3248): copertina con foto e tre dettagli della lavorazione (02/11/2026) */
.eqm-chi-copertina { margin-bottom: 40px !important; }
.eqm-chi-copertina { padding-left: 0 !important; padding-right: 0 !important; }
.eqm-chi-copertina .wp-block-cover__inner-container { width: 100% !important; max-width: var(--porto-container-width, 1400px) !important; margin: 0 auto !important; padding: 0 10px; } /* stesso bordo del logo */
.eqm-chi-copertina h1 { max-width: 14em; margin: 0; font-size: clamp(30px, 3.4vw, 48px) !important; line-height: 1.1 !important; font-weight: 600 !important; color: #fff !important; }
.eqm-chi-occhiello { margin: 0 0 14px !important; font-size: 12px !important; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #fff !important; }
.eqm-chi-dettagli { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 32px 0 40px !important; padding: 0; } /* il tema non carica lo stile delle gallerie */
.eqm-chi-dettagli > figure { width: auto !important; margin: 0 !important; }
.eqm-chi-dettagli img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
@media (max-width: 575px) { .eqm-chi-dettagli { grid-template-columns: 1fr 1fr; } .eqm-chi-dettagli > figure:last-child { display: none; } }
