/*
Theme Name: Elleci
Description: Tema figlio di Kadence per ellecisolutions.com. Contiene solo le personalizzazioni di Elleci Solutions: griglia delle categorie, griglia delle rappresentate, sezioni della home.
Template: kadence
Version: 0.9.34
Text Domain: elleci
*/

:root {
	--elleci-blu: #1e73be;
	--elleci-navy: #17255a;
	--elleci-lavanda: #b3c1ff;
	--elleci-grigio: #f4f6fa;
}

/* ---------- Barra in alto (indirizzo, telefono, email) ---------- */
.elleci-topbar { display: flex; flex-wrap: wrap; gap: 6px 24px; font-size: 13px; }
.elleci-topbar a { color: inherit; text-decoration: none; }
.elleci-topbar a:hover { text-decoration: underline; }

/* ---------- Sezioni della home ---------- */
.elleci-sezione { padding: 72px 24px; }
.elleci-sezione.is-grigia { background: var(--elleci-grigio); }
.elleci-sezione > * { max-width: 1200px; margin-left: auto; margin-right: auto; }
.elleci-occhiello {
	text-transform: uppercase; letter-spacing: .14em; font-size: 13px;
	font-weight: 600; color: var(--elleci-blu); margin-bottom: 8px;
}
.elleci-titolo { font-weight: 300; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.2; margin: 0 0 16px; color: var(--elleci-navy); }
.elleci-sezione .has-text-align-center + .elleci-griglia,
.elleci-sezione .elleci-griglia { margin-top: 36px; }

/* ---------- Apertura (foto grande con frase) ---------- */
.elleci-hero.wp-block-cover { min-height: 560px; padding: 48px 24px; }
.elleci-hero h1 { font-weight: 300; font-size: clamp(34px, 5vw, 62px); line-height: 1.12; color: #fff; margin: 0 0 18px; }
.elleci-hero p { font-size: clamp(16px, 1.6vw, 20px); font-weight: 300; max-width: 720px; margin-left: auto; margin-right: auto; }
.elleci-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }
.elleci-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--elleci-navy); }

/* ---------- Griglie (categorie, rappresentate) ---------- */
.elleci-griglia { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); list-style: none; padding: 0; }
.elleci-griglia.is-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .elleci-griglia, .elleci-griglia.is-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .elleci-griglia { grid-template-columns: 1fr; } .elleci-griglia.is-4 { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
/* griglia delle categorie in home: 5 colonne (10 categorie = 2 righe piene), 2 su tablet e telefono */
.elleci-griglia.is-5 { grid-template-columns: repeat(5, 1fr); gap: 18px; }
.elleci-griglia.is-5 .elleci-cat__nome { font-size: 12px; letter-spacing: .04em; padding: 10px 8px; }
@media (max-width: 1024px) { .elleci-griglia.is-5 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .elleci-griglia.is-5 { gap: 12px; } }

/* riquadro categoria: foto + fascia blu con il nome */
.elleci-cat {
	position: relative; display: block; background: #fff; overflow: hidden;
	border: 1px solid #e3e8f0; text-decoration: none;
	transition: box-shadow .2s ease, transform .2s ease;
}
.elleci-cat:hover { box-shadow: 0 10px 28px rgba(23, 37, 90, .16); transform: translateY(-3px); }
.elleci-cat__img { display: flex; align-items: center; justify-content: center; height: 210px; padding: 22px 22px 70px; background: #fff; }
.elleci-cat__img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.elleci-cat__nome {
	position: absolute; left: 0; right: 0; bottom: 18px;
	background: var(--elleci-navy); color: #fff; text-align: center;
	padding: 11px 12px; font-size: 14px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
	transition: background .2s ease;
}
.elleci-cat:hover .elleci-cat__nome { background: var(--elleci-blu); }

/* riquadro rappresentata: logo del marchio */
.elleci-marchio {
	display: flex; align-items: center; justify-content: center; height: 120px; padding: 18px;
	background: #fff; border: 1px solid #e3e8f0; transition: box-shadow .2s ease, border-color .2s ease;
}
/* senza link: niente effetto al passaggio del mouse; logo sempre nella stessa area */
.elleci-marchio img { display: block; width: auto; height: auto; max-width: 78%; max-height: 64px; object-fit: contain; }

/* ---------- Mercati ---------- */
.elleci-mercato { background: #fff; border: 1px solid #e3e8f0; height: 100%; }
.elleci-mercato .wp-block-image { margin: 0; }
.elleci-mercato .wp-block-image img { width: 100%; height: 190px; object-fit: cover; display: block; }
.elleci-mercato h3 { font-size: 17px; font-weight: 600; letter-spacing: .05em; color: var(--elleci-navy); margin: 18px 20px 6px; }
.elleci-mercato p { font-size: 15px; margin: 0 20px 20px; }

/* ---------- Chi siamo: tre punti ---------- */
.elleci-punto { border-left: 3px solid var(--elleci-blu); padding: 4px 0 4px 18px; }
.elleci-punto h3 { font-size: 17px; font-weight: 600; margin: 0 0 4px; color: var(--elleci-navy); }
.elleci-punto p { margin: 0; font-size: 15px; }

/* ---------- Persone ---------- */
.elleci-persona { text-align: center; }
.elleci-persona .wp-block-image img { width: 190px; height: 190px; object-fit: cover; border-radius: 50%; }
.elleci-persona h3 { font-size: 20px; font-weight: 500; margin: 14px 0 2px; color: var(--elleci-navy); }
.elleci-persona p { margin: 0; font-size: 15px; color: #5b6577; }

/* ---------- Domande frequenti ---------- */
.elleci-faq details { background: #fff; border: 1px solid #e3e8f0; padding: 0; margin-bottom: 12px; }
.elleci-faq summary { cursor: pointer; padding: 18px 22px; font-weight: 500; color: var(--elleci-navy); }
.elleci-faq details[open] summary { border-bottom: 1px solid #e3e8f0; color: var(--elleci-blu); }
.elleci-faq details > :not(summary) { padding: 0 22px; margin: 16px 0; }

/* ---------- Fascia contatti ---------- */
.elleci-contatti { background: var(--elleci-navy); color: #fff; padding: 72px 24px; }
.elleci-contatti > * { max-width: 1200px; margin-left: auto; margin-right: auto; }
.elleci-contatti .elleci-titolo, .elleci-contatti h2, .elleci-contatti h3 { color: #fff; }
.elleci-contatti .elleci-occhiello { color: var(--elleci-lavanda); }
.elleci-contatti a:not(.wp-block-button__link) { color: #fff; }
.elleci-contatti input[type="text"], .elleci-contatti input[type="email"], .elleci-contatti input[type="tel"], .elleci-contatti textarea {
	width: 100%; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .35); color: #fff; border-radius: 0;
}
.elleci-contatti ::placeholder { color: rgba(255, 255, 255, .7); }
.elleci-contatti input[type="submit"], .elleci-contatti button[type="submit"] { background: var(--elleci-blu); color: #fff; border: 0; padding: 12px 34px; }

/* ---------- Negozio: schede prodotto più pulite ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; font-weight: 500; }
.woocommerce ul.products li.product a img { object-fit: contain; background: #fff; }
/* pagina prodotto: foto centrata in un riquadro bianco di altezza fissa (Luca, 2026-10-08:
   era attaccata al bordo e, per le E/V, troppo grande) */
.single-product div.product .woocommerce-product-gallery__image { background: #fff; }
.single-product div.product .woocommerce-product-gallery__image > a { display: flex; align-items: center; justify-content: center; height: 440px; padding: 28px; box-sizing: border-box; }
.single-product div.product .woocommerce-product-gallery__image img { width: auto !important; max-width: 100%; max-height: 100%; object-fit: contain; margin: 0 auto; }
@media (max-width: 767px) { .single-product div.product .woocommerce-product-gallery__image > a { height: 300px; padding: 18px; } }

/* ---------- Testata: barra in alto blu scuro ---------- */
.site-top-header-wrap .site-header-row-container-inner { background: var(--elleci-navy); color: #fff; }
.site-top-header-wrap .header-social-wrap a.social-button { color: #fff; border-color: rgba(255, 255, 255, .4); width: 30px; height: 30px; }
.site-top-header-wrap .header-social-wrap a.social-button:hover { background: #fff; color: var(--elleci-navy); }
.site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid #e3e8f0; }
.main-navigation .primary-menu-container > ul > li.menu-item > a { font-weight: 500; font-size: 15px; }

/* ---------- Piè di pagina blu scuro ---------- */
.site-footer .site-footer-wrap { background: var(--elleci-navy); color: rgba(255, 255, 255, .86); }
.site-footer a, .site-footer .footer-html a { color: #fff; }
.site-footer .widget-title, .site-footer h2 { color: #fff; font-size: 16px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: 6px; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid rgba(255, 255, 255, .18); font-size: 13px; }
.site-footer .footer-html { color: rgba(255, 255, 255, .8); }

/* modulo contatti: tutti i campi uguali, uno sotto l'altro */
.elleci-contatti .wpcf7 input:not([type="submit"]):not([type="checkbox"]), .elleci-contatti .wpcf7 select, .elleci-contatti .wpcf7 textarea {
	display: block; width: 100%; margin: 0 0 12px; padding: 12px 14px;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .35); color: #fff; border-radius: 0;
}
.elleci-contatti .wpcf7 br { display: none; }
.elleci-contatti .wpcf7 textarea { height: 150px; }
/* modulo «Contatti» nuovo nella fascia blu (home): etichette chiare, campi a due a due */
.elleci-contatti .wpcf7 label { display: block; font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, .9); }
.elleci-contatti .wpcf7 label input, .elleci-contatti .wpcf7 label textarea { margin-top: 4px !important; }
.elleci-contatti .elleci-due { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.elleci-contatti .wpcf7 p { margin: 0 0 4px; }
.elleci-contatti .wpcf7-acceptance .wpcf7-list-item { margin: 4px 0 14px; font-size: 14px; color: rgba(255, 255, 255, .9); }
@media (max-width: 640px) { .elleci-contatti .elleci-due { grid-template-columns: 1fr; } }
.elleci-sezione .elleci-occhiello { margin-bottom: 0; }
.elleci-sezione .elleci-occhiello + .elleci-titolo { margin-top: 6px; }
.elleci-punto + .elleci-punto { margin-top: 26px; }

/* margine laterale garantito anche su telefono (Kadence azzera il padding dei blocchi a tutta larghezza) */
.entry-content .elleci-sezione.alignfull, .entry-content .elleci-contatti.alignfull { padding-left: 24px; padding-right: 24px; }

/* categoria ancora senza foto: riquadro neutro, in attesa dell'immagine */
.elleci-cat.is-senza-foto .elleci-cat__img { background: linear-gradient(135deg, #eef2f9 0%, #dfe6f3 100%); }
/* la foto riempie il riquadro, come una copertina */
.elleci-cat__img { height: 270px; padding: 0; }
.elleci-cat__img img { width: 100%; height: 100%; max-height: none; object-fit: contain; padding: 8px 8px 64px; }
.elleci-cat__img img.is-copertina { object-fit: cover; padding: 0; }

/* ---------- Catalogo: testata di categoria ---------- */
.elleci-testata-catalogo { background: var(--elleci-grigio); padding: 44px 0 40px; border-bottom: 1px solid #e3e8f0; }
.elleci-testata-catalogo h1 { font-weight: 300; font-size: clamp(30px, 3.6vw, 44px); color: var(--elleci-navy); margin: 6px 0 0; }
.elleci-testata-catalogo__testo { max-width: 760px; margin-top: 12px; }
.elleci-percorso { font-size: 13px; letter-spacing: .04em; color: #5b6577; }
.elleci-percorso a { color: var(--elleci-blu); text-decoration: none; }
.elleci-percorso a:hover { text-decoration: underline; }
.elleci-catalogo { padding: 48px 0 72px; }
.elleci-catalogo__sottotitolo { font-weight: 300; font-size: 28px; color: var(--elleci-navy); margin: 56px 0 24px; }
.elleci-catalogo__vuoto { background: var(--elleci-grigio); border-left: 3px solid var(--elleci-blu); padding: 28px 32px; max-width: 760px; }
.elleci-catalogo__vuoto p:last-child { margin-bottom: 0; }

/* ---------- Catalogo: elenco delle schede ---------- */
.elleci-schede { display: grid; gap: 28px; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .elleci-schede { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .elleci-schede { grid-template-columns: 1fr; } }
.elleci-scheda-card { background: #fff; border: 1px solid #e3e8f0; display: flex; flex-direction: column; transition: box-shadow .2s ease; }
.elleci-scheda-card:hover { box-shadow: 0 10px 28px rgba(23, 37, 90, .14); }
.elleci-scheda-card__img { display: flex; align-items: center; justify-content: center; height: 230px; padding: 20px; background: #fff; }
.elleci-scheda-card__img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.elleci-scheda-card__img:empty { background: linear-gradient(135deg, #eef2f9 0%, #dfe6f3 100%); }
.elleci-scheda-card__corpo { padding: 20px 22px 22px; border-top: 1px solid #e3e8f0; display: flex; flex-direction: column; flex: 1; }
.elleci-scheda-card__corpo h3 { font-size: 18px; font-weight: 500; margin: 0 0 8px; }
.elleci-scheda-card__corpo h3 a { color: var(--elleci-navy); text-decoration: none; }
.elleci-scheda-card__corpo p { font-size: 14.5px; color: #4a5568; margin: 0 0 14px; }
.elleci-scheda-card__vai { margin-top: auto; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--elleci-blu); text-decoration: none; }

/* ---------- Catalogo: pagina della scheda ---------- */
.single-elleci_scheda .elleci-percorso { margin-bottom: 22px; }
.elleci-scheda-azioni { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 0; }
.elleci-scheda-azioni .button { text-decoration: none; }
.elleci-scheda-azioni .elleci-btn-pdf { background: transparent; color: var(--elleci-navy); border: 2px solid var(--elleci-navy); }
.elleci-scheda-azioni .elleci-btn-pdf:hover { background: var(--elleci-navy); color: #fff; }
.elleci-preventivo { margin-top: 48px; padding: 36px; background: var(--elleci-grigio); border-top: 3px solid var(--elleci-blu); scroll-margin-top: 110px; }
.elleci-preventivo h2 { font-weight: 300; font-size: 30px; color: var(--elleci-navy); margin: 0 0 6px; }
.elleci-preventivo label { display: block; font-size: 14px; font-weight: 500; color: var(--elleci-navy); }
.elleci-preventivo input:not([type="submit"]):not([type="checkbox"]), .elleci-preventivo textarea { width: 100%; margin-top: 4px; border-radius: 0; background: #fff; }
.elleci-preventivo textarea { height: 130px; }
.elleci-preventivo .elleci-due { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
@media (max-width: 640px) { .elleci-preventivo { padding: 24px 20px; } .elleci-preventivo .elleci-due { grid-template-columns: 1fr; } }
.elleci-preventivo .wpcf7-acceptance .wpcf7-list-item { margin: 0; font-size: 14px; }
.elleci-preventivo input[type="submit"] { padding: 13px 34px; }

.elleci-percorso > span[aria-hidden] { margin: 0 6px; }

/* tabella delle caratteristiche nelle schede */
.elleci-caratteristiche table { border-collapse: collapse; width: 100%; font-size: 15px; }
.elleci-caratteristiche td { border: 0; border-bottom: 1px solid #e3e8f0; padding: 10px 12px; vertical-align: top; }
.elleci-caratteristiche td:first-child { width: 34%; color: var(--elleci-navy); background: var(--elleci-grigio); }
/* tabella misure e codici (accessori): intestazione in alto, scorre di lato sul telefono */
.elleci-codici { overflow-x: auto; }
.elleci-codici table { border-collapse: collapse; width: 100%; font-size: 15px; }
.elleci-codici th { text-align: left; color: #fff; background: var(--elleci-navy); padding: 10px 12px; border: 0; font-weight: 600; }
.elleci-codici td { border: 0; border-bottom: 1px solid #e3e8f0; padding: 9px 12px; white-space: nowrap; }
.elleci-codici td:first-child { color: var(--elleci-navy); background: var(--elleci-grigio); }
/* scheda: foto a sinistra contenuta, non a tutta larghezza */
.single-elleci_scheda .post-thumbnail, .single-elleci_scheda .kadence-thumbnail-position-above { max-width: 420px; margin-left: auto; margin-right: auto; }
.single-elleci_scheda .post-thumbnail img { object-fit: contain; }

/* scheda: foto a sinistra, testo a destra */
.elleci-scheda-corpo { display: grid; grid-template-columns: minmax(240px, 360px) 1fr; gap: 40px; align-items: start; }
.elleci-scheda-corpo.is-senza-foto { grid-template-columns: 1fr; }
.elleci-scheda-foto { margin: 0; padding: 24px; border: 1px solid #e3e8f0; background: #fff; text-align: center; position: sticky; top: 110px; }
.elleci-scheda-foto img { max-width: 100%; max-height: 380px; width: auto; height: auto; object-fit: contain; }
.elleci-scheda-testo > :first-child { margin-top: 0; }
@media (max-width: 860px) { .elleci-scheda-corpo { grid-template-columns: 1fr; gap: 24px; } .elleci-scheda-foto { position: static; } }

/* rimando al negozio */
.elleci-avviso-negozio { margin: 32px 0 0; padding: 14px 18px; background: #eef6ee; border-left: 3px solid #2e7a3b; font-size: 15px; }
.elleci-avviso-negozio + .elleci-scheda-azioni { margin-top: 16px; }
.elleci-scheda-azioni .elleci-btn-negozio { background: #2e7a3b; border-color: #2e7a3b; color: #fff; }
.elleci-scheda-azioni .elleci-btn-negozio:hover { background: #245f2e; }
.elleci-scheda-card__negozio { align-self: flex-start; margin: 0 0 12px; padding: 3px 10px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: #2e7a3b; background: #eef6ee; border-radius: 3px; }

/* pulsanti-filtro dentro un sottogruppo */
.elleci-filtri { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; padding: 0; }
/* pulsanti-filtro sotto i riquadri dei sottogruppi: staccati dai riquadri */
.elleci-griglia + .elleci-filtri, .elleci-griglia + .elleci-catalogo__sottotitolo { margin-top: 40px; }
/* seconda fila di pulsanti (sotto-filtri): un po' rientrata e più piccola */
.elleci-filtri.is-principale:has(+ .elleci-filtri.is-sotto:not([hidden])) { margin-bottom: 12px; }
.elleci-filtri[hidden] { display: none; }
.elleci-filtri.is-sotto { padding-left: 18px; border-left: 3px solid var(--elleci-lavanda, #b3c1ff); }
.elleci-filtri.is-sotto button { font-size: 12px; padding-top: 6px; padding-bottom: 6px; }
.elleci-filtri button {
	background: #fff; color: var(--elleci-navy); border: 1px solid #cfd8e6; border-radius: 0;
	padding: 9px 20px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease; box-shadow: none;
}
.elleci-filtri button:hover { border-color: var(--elleci-blu); color: var(--elleci-blu); background: #fff; }
.elleci-filtri button.is-attivo { background: var(--elleci-navy); border-color: var(--elleci-navy); color: #fff; }
.elleci-scheda-card[hidden] { display: none; }
.elleci-filtri__vuoto { background: var(--elleci-grigio); border-left: 3px solid var(--elleci-blu); padding: 20px 24px; max-width: 760px; }

/* Anche la foto scelta a mano per una categoria sta tutta dentro il riquadro,
   come quelle dei prodotti: sono foto su fondo bianco, a ritagliarle si rovinano. */
.elleci-cat__img img.is-copertina { object-fit: contain; padding: 8px 8px 64px; }
/* in home i nomi lunghi vanno su due righe: la foto si ferma sopra la fascia più alta */
.elleci-griglia.is-5 .elleci-cat__img img { padding-bottom: 80px; }

/* grafico delle curve di prestazione dentro una scheda */
.elleci-curve { margin: 12px 0 0; }
.elleci-curve img { max-width: 100%; height: auto; border: 1px solid #e3e8f0; background: #fff; }

/* ---------- Menu tutto in maiuscolo (chiesto da Luca, 2026-10-02) ---------- */
.header-navigation ul li.menu-item > a,
.mobile-navigation ul li.menu-item > a,
.mobile-navigation ul li.menu-item .drawer-nav-drop-wrap > a { text-transform: uppercase; letter-spacing: .05em; }
/* il maiuscolo occupa più spazio: carattere un po' più piccolo, così la barra resta su una riga */
.main-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 13px; padding-left: .7em; padding-right: .7em; }
.header-navigation ul ul.sub-menu li.menu-item > a { font-size: 12.5px; }
/* una voce che apre solo il sottomenu non deve sembrare un link da cliccare */
.header-navigation ul li.menu-item > a[href="#"] { cursor: default; }

/* pagina Blog senza articoli */
.elleci-blog-vuoto { color: #5b6577; margin: 0; }

/* ---------- Negozio: foto dei prodotti tutte nello stesso riquadro ----------
   Le foto originali sono piccole e di forme diverse (da 163x200 a 435x343). Il tema le
   allargava a tutta la colonna: sgranate, e ogni scheda con un'altezza sua. Qui ogni foto
   sta in un riquadro bianco di altezza fissa, centrata, intera, e mai più grande di com'è. */
.woocommerce ul.products li.product a.woocommerce-loop-image-link {
	display: flex; align-items: center; justify-content: center;
	height: 240px; padding: 22px; background: #fff; border-bottom: 1px solid #e3e8f0;
}
.woocommerce ul.products li.product a.woocommerce-loop-image-link img {
	width: auto; height: auto; max-width: 100%; max-height: 196px;
	object-fit: contain; margin: 0;
}
@media (max-width: 560px) {
	.woocommerce ul.products li.product a.woocommerce-loop-image-link { height: 200px; padding: 18px; }
	.woocommerce ul.products li.product a.woocommerce-loop-image-link img { max-height: 164px; }
}

/* le ancore non finiscono sotto la testata, che resta fissa in alto */
.elleci-sezione[id], .elleci-contatti[id] { scroll-margin-top: 96px; }

/* team: email e telefono sotto il ruolo */
.elleci-persona p.elleci-persona__contatti { margin-top: 10px; font-size: 14.5px; line-height: 1.7; }
.elleci-persona__contatti a { color: var(--elleci-blu); text-decoration: none; }
.elleci-persona__contatti a:hover { text-decoration: underline; }

/* nota in evidenza di una scheda (es. versioni disponibili): sotto il titolo nell'elenco, in cima nella scheda */
.elleci-nota { margin: 6px 0 10px; padding: 6px 10px; border-left: 3px solid var(--elleci-blu); background: var(--elleci-grigio); color: var(--elleci-navy); font-size: 13px; font-weight: 500; line-height: 1.45; }
.elleci-scheda-testo > .elleci-nota { font-size: 15px; margin: 0 0 16px; }

/* pagina Eventi: calendario delle fiere */
.elleci-eventi { max-width: 860px; margin-top: 32px; border: 1px solid #e3e8f0; background: #fff; }
.elleci-eventi__marca { margin: 0; padding: 14px 22px; background: var(--elleci-navy); color: #fff; font-size: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.elleci-evento { padding: 18px 22px; border-bottom: 1px solid #e3e8f0; }
.elleci-evento h3 { margin: 2px 0 6px; font-size: 19px; color: var(--elleci-navy); }
.elleci-evento p { margin: 0; }
.elleci-evento__data { color: var(--elleci-blu); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.elleci-eventi__fonte { padding: 12px 22px; margin: 0; font-size: 13px; color: #5a6478; background: var(--elleci-grigio); }

/* riquadri con link esterno (es. linee di prodotto Seneca): simbolo intero su bianco */
.elleci-griglia.is-esterni .elleci-cat__img img { width: 80%; max-height: 100%; }
.elleci-griglia.is-esterni .elleci-cat__nome { font-size: 12.5px; letter-spacing: .03em; }
.elleci-esterni__nota { margin: 14px 0 40px; font-size: 14px; color: #5a6478; }
.elleci-griglia.is-esterni + .elleci-esterni__nota + .elleci-griglia { margin-top: 0; }

/* social dell'azienda sotto le foto del team (pagina Azienda) */
.elleci-social-team { margin-top: 28px; gap: 14px; }
.elleci-social-team .wp-social-link { font-size: 22px; }
.elleci-social-team .wp-social-link:hover { background-color: var(--elleci-blu) !important; transform: none; }

/* logo in testata più grande (Luca, 2026-10-06). Il file del logo è largo solo
   200 px: senza una larghezza fissa il browser non lo allarga oltre. */
.site-branding a.brand img.custom-logo { width: 290px; height: auto; }
@media (max-width: 1024px) { .site-branding a.brand img.custom-logo { width: 230px; } }
@media (max-width: 767px) { .site-branding a.brand img.custom-logo { width: 190px; } }

/* ---------- Sfondo del sito azzurro ghiaccio (Luca, 2026-10-06; provato prima il grigio-azzurro #f4f6fa) ----------
   Le pagine prendono l'azzurro ghiaccio #eef3fa; testata, riquadri, schede e
   moduli restano bianchi; le fasce che erano grigie passano a un tono appena
   più scuro, così si distinguono ancora. */
:root { --elleci-sfondo: #eef3fa; --elleci-grigio-2: #dfe7f3; }
body, #wrapper, .site { background-color: var(--elleci-sfondo); }
.site-header-wrap .site-main-header-wrap .site-header-row-container-inner,
.site-header-wrap .site-header-row-container-inner { background-color: #fff; }
.elleci-sezione.is-grigia,
.elleci-testata-catalogo,
.elleci-catalogo__vuoto,
.elleci-filtri__vuoto { background-color: var(--elleci-grigio-2); }
.elleci-filtri button, .elleci-filtri a { background-color: #fff; }
.woocommerce ul.products li.product { background-color: #fff; }

/* banner di una fiera nella pagina Eventi (es. Ecomondo, fornito da Luca) */
.elleci-banner-evento { margin: 28px 0 32px; }
.elleci-banner-evento img { display: block; width: 100%; max-width: 829px; height: auto; border-radius: 4px; }

/* eventi con il logo della fiera a destra, come nel calendario di seneca.it
   (WordPress può avvolgere i blocchi in .wp-block-group__inner-container) */
.elleci-evento.is-con-logo:has(> .wp-block-group__inner-container) { display: block; }
.elleci-evento.is-con-logo,
.elleci-evento.is-con-logo > .wp-block-group__inner-container { display: grid; grid-template-columns: 1fr 110px; grid-template-areas: "data logo" "testo logo"; column-gap: 24px; align-items: start; }
.elleci-evento.is-con-logo .elleci-evento__logo { grid-area: logo; margin: 0; }
.elleci-evento.is-con-logo .elleci-evento__logo img { display: block; width: 110px; height: 110px; object-fit: contain; background: #fff; }
.elleci-evento.is-con-logo .elleci-evento__data { grid-area: data; margin: 0 0 6px; }
.elleci-evento.is-con-logo .elleci-evento__data a { color: inherit; text-decoration: none; }
.elleci-evento.is-con-logo .elleci-evento__testo { grid-area: testo; margin: 0; font-size: 17px; color: var(--elleci-navy); }
@media (max-width: 560px) { .elleci-evento.is-con-logo > .wp-block-group__inner-container, .elleci-evento.is-con-logo { grid-template-columns: 1fr 72px; column-gap: 14px; } .elleci-evento.is-con-logo .elleci-evento__logo img { width: 72px; height: 72px; } }

/* fascia «Pagamenti sicuri»: in fondo alla home e sotto il modulo della pagina Pagamento */
.elleci-pagamenti { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 22px; text-align: center; }
.elleci-pagamenti__titolo { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--elleci-navy); }
.elleci-pagamenti__loghi { display: inline-flex; gap: 10px; }
.elleci-pagamenti__loghi img { display: block; width: 56px; height: 36px; background: #fff; border: 1px solid #dfe5ee; border-radius: 6px; padding: 3px; }
.elleci-pagamenti__nota { font-size: 14px; color: #5a6478; }
.elleci-sezione.is-pagamenti { padding-top: 26px; padding-bottom: 26px; }
.wp-block-woocommerce-checkout + .elleci-pagamenti { margin: 28px 0 8px; padding: 18px; background: #fff; border: 1px solid #e3e8f0; }

/* pagine dei marchi: pulsanti verso il catalogo */
.elleci-marchio-catalogo { margin: 36px 0 12px; padding: 24px; background: #fff; border-top: 3px solid var(--elleci-blu); }
.elleci-marchio-catalogo__titolo { font-weight: 600; color: var(--elleci-navy); margin: 0 0 14px; }
.elleci-marchio-catalogo .elleci-scheda-azioni { display: flex; flex-wrap: wrap; gap: 10px; }


/* scheda: riquadro «Perché richiederlo a Elleci Solutions» */
.elleci-perche { margin: 32px 0 8px; padding: 22px 24px; background: var(--elleci-grigio-2, #e9eef6); border-left: 4px solid var(--elleci-blu); }
.elleci-perche h2 { font-size: 20px; font-weight: 600; color: var(--elleci-navy); margin: 0 0 12px; }
.elleci-perche ul { margin: 0; padding-left: 20px; }
.elleci-perche li { margin: 0 0 8px; }
.elleci-perche li:last-child { margin-bottom: 0; }

/* ---------- Pagina Contatti (Luca, 2026-10-08) ---------- */
.elleci-pagina-contatti { max-width: 1140px; margin: 0 auto; }
.elleci-contatti-intro { font-size: 18px; color: var(--elleci-navy); max-width: 720px; margin: 0 0 32px; }
.elleci-contatti-griglia { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 28px; align-items: stretch; }
.elleci-contatti-info { background: var(--elleci-navy); color: #fff; padding: 36px 32px; }
.elleci-contatti-info h2 { color: #fff; font-weight: 300; font-size: 28px; margin: 0 0 24px; }
.elleci-contatti-info ul { list-style: none; margin: 0 0 28px; padding: 0; }
.elleci-contatti-info li { display: flex; gap: 14px; margin: 0 0 20px; line-height: 1.55; }
.elleci-contatti-info strong { display: block; color: var(--elleci-lavanda); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 2px; }
.elleci-contatti-info a:not(.button) { color: #fff; text-decoration: none; }
.elleci-contatti-info a:not(.button):hover { text-decoration: underline; }
.elleci-contatti-icona { flex: 0 0 40px; height: 40px; display: grid; place-items: center; background: rgba(255, 255, 255, .1); border-radius: 50%; }
.elleci-contatti-icona svg { width: 20px; height: 20px; color: var(--elleci-lavanda); }
.elleci-contatti-info .elleci-contatti-maps { background: #fff; color: var(--elleci-navy); border: 0; }
.elleci-contatti-info .elleci-contatti-maps:hover { background: var(--elleci-lavanda); color: var(--elleci-navy); }
.elleci-contatti-modulo { background: #fff; padding: 36px; border-top: 3px solid var(--elleci-blu); }
.elleci-contatti-modulo h2 { font-weight: 300; font-size: 30px; color: var(--elleci-navy); margin: 0 0 4px; }
.elleci-contatti-modulo > p { font-size: 14px; color: #5b6475; margin: 0 0 18px; }
.elleci-contatti-modulo label { display: block; font-size: 14px; font-weight: 500; color: var(--elleci-navy); }
.elleci-contatti-modulo input:not([type="submit"]):not([type="checkbox"]), .elleci-contatti-modulo textarea { width: 100%; margin-top: 4px; border-radius: 0; background: #fff; }
.elleci-contatti-modulo textarea { height: 140px; }
.elleci-contatti-modulo .elleci-due { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.elleci-contatti-modulo .wpcf7-acceptance .wpcf7-list-item { margin: 0; font-size: 14px; }
.elleci-contatti-modulo input[type="submit"] { padding: 13px 34px; }
.elleci-contatti-mappa { margin-top: 28px; line-height: 0; }
.elleci-contatti-mappa iframe { width: 100%; height: 360px; border: 0; }
@media (max-width: 860px) {
	.elleci-contatti-griglia { grid-template-columns: 1fr; }
	.elleci-contatti-modulo, .elleci-contatti-info { padding: 28px 20px; }
	.elleci-contatti-info li { font-size: 15px; }
	.elleci-contatti-modulo .elleci-due { grid-template-columns: 1fr; }
}

/* ---------- Home: prodotti in evidenza (Luca, 2026-10-08; più compatta e 6 prodotti dal 2026-10-09) ---------- */
/* la riga è HTML del tema, non un blocco: i figli vanno centrati a mano come nelle altre sezioni */
.elleci-evidenza > *, .single-content .elleci-evidenza > h2 { max-width: 1200px; margin-left: auto; margin-right: auto; } /* h2: Kadence (.single-content h2) azzera i margini */
.elleci-sezione.elleci-evidenza { padding-top: 44px; padding-bottom: 44px; }
.single-content .elleci-evidenza > h2.elleci-titolo { font-size: clamp(24px, 2.4vw, 30px); margin-bottom: 6px; }
.elleci-evidenza__testo { max-width: 640px; margin: 0 auto 20px; font-size: 15px; }
.elleci-evidenza ul.products { display: grid !important; grid-template-columns: repeat(6, 1fr) !important; gap: 14px !important; }
.elleci-evidenza ul.products::before, .elleci-evidenza ul.products::after { display: none !important; }
.elleci-evidenza ul.products li.product { width: auto !important; margin: 0 !important; background: #fff; padding: 10px 10px 12px; text-align: center; }
.elleci-evidenza ul.products li.product .woocommerce-loop-product__title { font-size: 13px; line-height: 1.35; padding: 0; }
.elleci-evidenza ul.products li.product .price { font-size: 13px; }
/* nel negozio la foto ha un riquadro alto 240 px e il pulsante «Aggiungi»: qui riga compatta, si clicca sul prodotto */
.elleci-evidenza .woocommerce ul.products li.product a.woocommerce-loop-image-link { height: 120px; padding: 6px; }
.elleci-evidenza .woocommerce ul.products li.product a.woocommerce-loop-image-link img { max-height: 108px; height: 108px; margin: 0; }
.elleci-evidenza ul.products li.product .product-details { padding: 8px 4px 0; }
.elleci-evidenza ul.products li.product .product-action-wrap { display: none; }
.elleci-evidenza > p:last-child { margin-top: 20px; }
@media (max-width: 1024px) { .elleci-evidenza ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 767px) {
	.elleci-evidenza ul.products { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
	.elleci-evidenza ul.products li.product:nth-child(n+5) { display: none !important; } /* sul telefono bastano 4: due file */
	.elleci-evidenza .woocommerce ul.products li.product a.woocommerce-loop-image-link { height: 100px; }
	.elleci-evidenza .woocommerce ul.products li.product a.woocommerce-loop-image-link img { max-height: 88px; height: 88px; }
}

/* ---------- Pulsante WhatsApp fisso (Luca, 2026-10-08) ---------- */
.elleci-whatsapp { position: fixed; right: 20px; bottom: 20px; z-index: 999; display: flex; align-items: center; gap: 10px; padding: 12px 18px 12px 14px; background: #25d366; color: #fff !important; border-radius: 999px; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); font-weight: 600; font-size: 15px; text-decoration: none !important; }
.elleci-whatsapp:hover { background: #1ebe5b; }
.elleci-whatsapp svg { width: 28px; height: 28px; flex: 0 0 28px; }
@media (max-width: 767px) {
	.elleci-whatsapp { right: 16px; bottom: 16px; padding: 12px; }
	.elleci-whatsapp span { display: none; }
}
