/* Override componenti BlackFrog */

/* Logo header: evita il flash dell'alt text mentre il webp si carica
   (testo alt reso invisibile; l'area resta 100x100, poi appare il logo) */
.logo img{ font-size:0; color:transparent; }

/* ===== Tipografia: h3 più vicino all'h2 (prima 20px vs 50px = salto eccessivo) ===== */
h3{ font-size:30px; line-height:1.3; }
/* i titoli delle card restano alla dimensione attuale (non devono crescere) */
.box h3{ font-size:20px; line-height:1.3; }

/* Card del Magazine / correlati: bottone in fondo in FLUSSO (non absolute),
   così non si sovrappone mai al testo descrittivo, e resta allineato in basso. */
.box.mag-card{display:flex;flex-direction:column;height:100%;}
.box.mag-card > *{flex:0 0 auto;}
.box.mag-card .btn{position:static;margin-top:auto;align-self:flex-start;}

/* ===== Icone servizi (set Lucide, ricolorate brand) ===== */
.icon-img.icon-strategy{background-image:url(/_images/icons/strategy.svg?v=4);}
.icon-img.icon-international{background-image:url(/_images/icons/international.svg?v=4);}
.icon-img.icon-ecommerce{background-image:url(/_images/icons/ecommerce.svg?v=4);}
.icon-img.icon-visibility{background-image:url(/_images/icons/visibility.svg?v=4);}
.icon-img.icon-audit{background-image:url(/_images/icons/audit.svg?v=4);}
.icon-img.icon-link{background-image:url(/_images/icons/link.svg?v=4);}
.icon-img.icon-tech{background-image:url(/_images/icons/tech.svg?v=4);}
.icon-img.icon-content{background-image:url(/_images/icons/content.svg?v=4);}
.icon-img.icon-geo{background-image:url(/_images/icons/geo.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-migration{background-image:url(/_images/icons/migration.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-replatforming{background-image:url(/_images/icons/replatforming.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-cms{background-image:url(/_images/icons/cms.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-merchant-feed{background-image:url(/_images/icons/merchant-feed.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-b2b{background-image:url(/_images/icons/b2b.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-local{background-image:url(/_images/icons/local.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-all{background-image:url(/_images/icons/all.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-indexing{background-image:url(/_images/icons/indexing.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-tool-robots{background-image:url(/_images/icons/tool-robots.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-tool-serp{background-image:url(/_images/icons/tool-serp.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-tool-serp-geo{background-image:url(/_images/icons/tool-serp-geo.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-tool-report{background-image:url(/_images/icons/tool-report.svg?v=4);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-tool-ecommerce-ai{background-image:url(/_images/icons/tool-ecommerce-ai.svg?v=4);background-size:contain;background-repeat:no-repeat;}
/* icone servizio un po' più piccole (l'icona grande della pagina servizio resta invariata) */
.icon-img:not(.icon-img-big){width:42px;height:42px;}

/* ===== Card servizio (hub + "altri servizi") ===== */
.box.svc-card{
	display:flex;flex-direction:column;align-items:center;text-align:center;
	height:100%;padding:26px 20px;text-decoration:none!important;
}
.box.svc-card .icon-img{margin:0 auto;}
.box.svc-card h3{color:#fff;font-size:17px;line-height:1.3;margin:14px 0 8px;transition:color .2s;}
.box.svc-card p{
	font-size:13px;line-height:1.55;color:rgba(255,255,255,.6);margin:0 0 16px;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.box.svc-card .svc-more{
	margin-top:auto;color:#D4DAFB;font-size:12px;font-weight:700;
	letter-spacing:.8px;text-transform:uppercase;
}
.box.svc-card:hover h3{color:#D4DAFB;}
.box.svc-card:hover .svc-more{text-decoration:underline;}
/* Card "Tutti i servizi": look distintivo (accento) rispetto alle card servizio */
.box.svc-card.svc-card-all{
	background:linear-gradient(160deg, rgba(212,218,251,.14), rgba(242,51,33,.10));
	border:1px solid rgba(212,218,251,.4);
	justify-content:center;
}
.box.svc-card.svc-card-all h3{color:#fff;}
.box.svc-card.svc-card-all p{color:rgba(255,255,255,.8);}
.box.svc-card.svc-card-all .svc-more{color:#fff;background:rgba(255,255,255,.08);padding:8px 14px;border-radius:6px;display:inline-block;}
.box.svc-card.svc-card-all:hover{border-color:#D4DAFB;}
.box.svc-card.svc-card-all:hover h3{color:#fff;}
.box.svc-card.svc-card-all:hover .svc-more{background:#F23321;text-decoration:none;}

/* ===== Errori di validazione dei form ===== */
/* Campo in errore: più evidente sul tema scuro */
input.error, select.error, textarea.error{
	border:2px solid #F23321 !important;
	background-color:rgba(242,51,33,.10);
	box-shadow:0 0 0 3px rgba(242,51,33,.18);
}
input.error::placeholder, textarea.error::placeholder{ color:#ff8278; opacity:1; }
input.error, select.error, textarea.error{ color:#fff; }
/* Le <option> restano sempre leggibili con sfondo chiaro e testo scuro: i browser
   ereditano lo sfondo scuro del select nel popup delle opzioni, rendendo il testo
   illeggibile, quindi le forziamo esplicitamente a fondo bianco. */
select option, select optgroup{ background-color:#ffffff; color:#1c1c1e; }
/* Le dropdown usano un monospace: incolonna codici e sigle (IT, gl/hl, 20/30/50…). */
select, select option, select optgroup{ font-family:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace; }
select.error{ background-color:#2a1413; } /* tinta scura piena invece di traslucida chiara */

/* Messaggio di errore inline, SEMPRE sotto il campo (display:block evita che vada a lato) */
.field-error{
	display:block;
	width:100%;
	clear:both;
	color:#ff6b5e;
	font-size:13px;
	line-height:1.35;
	text-align:left;
	margin:6px 2px 2px;
}
.field-error::before{ content:"\26A0"; margin-right:6px; } /* ⚠ */

/* ===== Box "report personalizzato vs Data Studio" (pagina report) ===== */
.report-datastudio{
	background:rgba(212,218,251,.05);
	border:1px solid rgba(212,218,251,.18);
	border-radius:12px;
	padding:28px 26px;
	margin-top:8px;
}
.report-datastudio h3{ margin-bottom:14px; }
.report-datastudio p{ color:rgba(255,255,255,.72);line-height:1.6; }

/* ===== FAQ (site-wide): look distintivo a card/accordion, microdati FAQPage intatti ===== */
/* titolo della sezione FAQ: centrato e allineato alla larghezza delle card */
#faq h2{ text-align:center; max-width:780px; margin:0 auto 30px; }
[itemtype$="FAQPage"]{ max-width:780px; margin:0 auto; text-align:left; }
[itemtype$="FAQPage"] [itemprop="mainEntity"]{
	background:rgba(255,255,255,.03);
	border:1px solid rgba(212,218,251,.14);
	border-radius:12px;
	margin:0 0 12px;
	overflow:hidden;
	transition:border-color .2s, background .2s;
}
[itemtype$="FAQPage"] [itemprop="mainEntity"]:hover{ border-color:rgba(212,218,251,.45); background:rgba(255,255,255,.05); }
[itemtype$="FAQPage"] [itemprop="name"]{
	font-size:18px; line-height:1.4; color:#fff; font-weight:700;
	margin:0; padding:20px 56px 20px 22px; position:relative;
}
[itemtype$="FAQPage"] [itemprop="acceptedAnswer"]{ padding:0 22px; }
[itemtype$="FAQPage"] [itemprop="text"]{ margin:0 0 20px; color:rgba(255,255,255,.62); line-height:1.65; }
/* accordion attivo solo col JS (senza JS le risposte restano visibili) */
[itemtype$="FAQPage"].faq-js [itemprop="name"]{ cursor:pointer; }
[itemtype$="FAQPage"].faq-js [itemprop="name"]::after{
	content:""; position:absolute; right:24px; top:23px;
	width:9px; height:9px; border-right:2px solid #D4DAFB; border-bottom:2px solid #D4DAFB;
	transform:rotate(45deg); transition:transform .25s;
}
[itemtype$="FAQPage"].faq-js [itemprop="mainEntity"].faq-open [itemprop="name"]::after{ transform:rotate(-135deg); }
[itemtype$="FAQPage"].faq-js [itemprop="acceptedAnswer"]{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
[itemtype$="FAQPage"].faq-js [itemprop="mainEntity"].faq-open [itemprop="acceptedAnswer"]{ max-height:1500px; }

/* ===== Callout CTA in-contenuto (es. box eCommerce AI nella pagina SEO e-commerce) ===== */
.inline-cta{
	background:rgba(212,218,251,.06);
	border:1px solid rgba(212,218,251,.2);
	border-radius:12px; padding:26px 24px; text-align:center; margin-top:8px;
}
.inline-cta .icon-img{ margin:0 auto 4px; }
.inline-cta h3{ font-size:22px; margin:6px 0 10px; }
.inline-cta p{ color:rgba(255,255,255,.72); margin:0 auto 18px; max-width:560px; }

/* ===== Chiusura modali: X coerente con l'hamburger del menù ===== */
.close-modal-x{
	z-index:3;position:absolute;right:20px;top:120px;
	width:44px;height:44px;font-size:0;cursor:pointer;display:block;
}
.close-modal-x i{ display:none; }
.close-modal-x::before, .close-modal-x::after{
	content:"";position:absolute;top:50%;left:50%;
	width:26px;height:2px;background:#fff;border-radius:2px;
	transition:background .2s;
}
.close-modal-x::before{ transform:translate(-50%,-50%) rotate(45deg); }
.close-modal-x::after{ transform:translate(-50%,-50%) rotate(-45deg); }
.close-modal-x:hover::before, .close-modal-x:hover::after{ background:#D4DAFB; }

/* ===== Checkbox consenso dati personali (custom, tema scuro) ===== */
.bf-consent{
	display:flex;align-items:center;gap:12px;
	text-align:left;cursor:pointer;
	font-size:14px;line-height:1.5;color:rgba(255,255,255,.7);
	background:rgba(255,255,255,.03);
	border:1px solid rgba(255,255,255,.12);
	border-radius:10px;padding:14px 16px;margin-top:18px;
	transition:border-color .2s, background .2s;
}
.bf-consent:hover{ border-color:rgba(212,218,251,.4); }
.bf-consent input{ position:absolute;opacity:0;width:1px;height:1px;margin:0; }
.bf-consent .bf-check{
	flex:0 0 auto;width:22px;height:22px;
	border-radius:6px;border:2px solid rgba(212,218,251,.55);
	background:transparent;position:relative;transition:all .2s;
}
.bf-consent .bf-check::after{
	content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;
	border:solid #00000c;border-width:0 2px 2px 0;
	transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .15s;
}
.bf-consent input:checked + .bf-check{ background:#D4DAFB;border-color:#D4DAFB; }
.bf-consent input:checked + .bf-check::after{ transform:rotate(45deg) scale(1); }
.bf-consent input:focus-visible + .bf-check{ box-shadow:0 0 0 3px rgba(212,218,251,.35); }
.bf-consent a{ color:#D4DAFB; }
.bf-consent.error{ border-color:#F23321;background:rgba(242,51,33,.08); }
.bf-consent.error .bf-check{ border-color:#F23321; }
.bf-consent .bf-consent-text{ flex:1 1 auto; }

/* Box riepilogo errori del form */
#invia-contatto-errore, #tool-robots-txt-errore, #robots-error{
	background:rgba(242,51,33,.12);
	border:1px solid rgba(242,51,33,.55);
	border-radius:8px;
	padding:12px 16px;
	color:#ffb3ab;
	text-align:left;
	font-size:14px;
}

/* ===== Contenuto pagine servizio: spazio tra titolo di sezione e lista ===== */
/* gli h2 hanno margin:0 (globale): quando una sezione parte subito con una lista,
   il titolo risulta troppo attaccato. Diamo respiro alla lista che segue il titolo. */
.text-left h2 + ul,
.text-left h2 + ol{ margin-top:16px; }

/* ===== Breadcrumb (pre-footer, visibile sul tema scuro) ===== */
.breadcrumb-bf{
	font-size:13px;
	color:rgba(255,255,255,.55);
	padding:48px 15px 0;
	line-height:1.5;
}
.breadcrumb-bf a{ color:rgba(255,255,255,.72);text-decoration:none; }
.breadcrumb-bf a:hover{ color:#D4DAFB;text-decoration:underline; }
.breadcrumb-bf span[aria-hidden]{ opacity:.45;margin:0 2px; }

/* ===== Footer (redesign, tema scuro coerente col brand) ===== */
/* sovrascrive le vecchie regole footer{...} e footer a,footer h4{...!important} di style.min.css */
footer.site-footer{
	background:#07070f;
	background-image:linear-gradient(180deg,#07070f 0%,#00000c 100%);
	border-top:1px solid rgba(212,218,251,.14);
	color:rgba(255,255,255,.6);
	/* margin-top: separa SEMPRE il footer dal contenuto (collassa con il margine del contenuto,
	   quindi non raddoppia lo spazio sulle pagine che già lo hanno) */
	margin-top:72px;
	padding:64px 0 28px;
	font-size:15px;
	text-align:left;
	opacity:1;
}
.site-footer .footer-grid{
	display:grid;
	grid-template-columns:1.6fr 1fr 1fr;
	gap:48px;
}
.site-footer .footer-logo{
	display:inline-flex;align-items:center;gap:10px;
	text-decoration:none!important;margin-bottom:4px;
}
.site-footer .footer-logo img{width:48px;height:48px;display:block;margin:0;border-radius:50%;object-fit:cover;}
.site-footer .footer-logo span{color:#fff;font-size:26px;font-weight:700;line-height:1;}
.site-footer .footer-tagline{
	color:rgba(255,255,255,.55)!important;
	line-height:1.6;margin:16px 0 22px;max-width:330px;font-size:15px;
}
.site-footer .footer-cta{
	display:inline-flex;align-items:center;gap:9px;
	padding:11px 22px;border-radius:6px;
	background:#F23321;color:#fff!important;text-decoration:none!important;
	font-weight:700;font-size:14px;letter-spacing:.3px;
	transition:transform .2s, box-shadow .2s, background .2s;
}
.site-footer .footer-cta svg{width:18px;height:18px;flex:0 0 auto;}
.site-footer .footer-cta:hover{background:#ff4634;transform:translateY(-1px);box-shadow:0 6px 18px rgba(242,51,33,.3);}
.site-footer h4{
	color:#fff!important;font-size:13px;font-weight:700;
	text-transform:uppercase;letter-spacing:1.2px;
	margin:0 0 18px;padding-bottom:10px;position:relative;
}
.site-footer h4::after{
	content:"";position:absolute;left:0;bottom:0;
	width:28px;height:2px;background:#F23321;
}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin:0 0 11px;line-height:1.3;}
.site-footer a{
	color:rgba(255,255,255,.6)!important;text-decoration:none!important;
	transition:color .2s, padding-left .2s;
}
.site-footer .footer-col a:hover{color:#D4DAFB!important;padding-left:3px;}
.site-footer .footer-all a{color:#D4DAFB!important;font-weight:700;}
.site-footer .footer-all{margin-top:16px;}

/* barra inferiore */
.site-footer .footer-bottom{
	display:flex;justify-content:space-between;align-items:center;
	gap:20px;flex-wrap:wrap;
	margin-top:48px;padding-top:24px;
	border-top:1px solid rgba(255,255,255,.08);
	font-size:13px;
}
.site-footer .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:18px;color:rgba(255,255,255,.45);}
.site-footer .footer-legal a:hover{color:#D4DAFB!important;}
.site-footer .footer-langs{display:flex;align-items:center;gap:10px;}
.site-footer .footer-langs .flag{display:inline-flex;margin:0;opacity:.75;transition:opacity .2s;}
.site-footer .footer-langs .flag:hover{opacity:1;}
.site-footer .footer-langs .flag img{display:block;width:26px;height:auto;border-radius:2px;}

@media (max-width:767px){
	footer.site-footer{padding-top:44px;text-align:center;}
	.site-footer .footer-grid{grid-template-columns:1fr;gap:34px;}
	.site-footer h4::after{left:50%;transform:translateX(-50%);}
	.site-footer .footer-tagline{margin-left:auto;margin-right:auto;}
	.site-footer .footer-logo{justify-content:center;}
	.site-footer .footer-bottom{flex-direction:column;justify-content:center;text-align:center;}
	.site-footer .footer-legal{justify-content:center;}
}

/* ===== Conferma "contatto inviato" nella modale (#5) ===== */
.contact-modal-ok{padding:30px 12px 12px;color:#fff;font-size:20px;line-height:1.6;}
.contact-modal-ok .glyphicon{display:block;font-size:54px;color:#D4DAFB;margin:0 auto 16px;}

/* ===== Logo mobile allineato a sinistra per non sovrastare il burger (#4) ===== */
@media (max-width:600px){
	header{text-align:left;padding-left:12px;}
	.logo img{width:60px;height:60px;margin-left:0;}
	.logo span{font-size:24px;line-height:60px;}
}

/* ===== Icone settori (pagina Chi siamo) ===== */
.icon-img.icon-sec-fashion{background-image:url(/_images/icons/sec-fashion.svg?v=1);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-sec-luxury{background-image:url(/_images/icons/sec-luxury.svg?v=1);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-sec-insurance{background-image:url(/_images/icons/sec-insurance.svg?v=1);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-sec-banking{background-image:url(/_images/icons/sec-banking.svg?v=1);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-sec-electronics{background-image:url(/_images/icons/sec-electronics.svg?v=1);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-sec-food{background-image:url(/_images/icons/sec-food.svg?v=1);background-size:contain;background-repeat:no-repeat;}
.icon-img.icon-sec-ecommerce{background-image:url(/_images/icons/sec-ecommerce.svg?v=1);background-size:contain;background-repeat:no-repeat;}

/* ===== Settori serviti: griglia sobria ===== */
.sector-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;}
.sector-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
	flex:1 1 150px;max-width:185px;min-height:128px;padding:24px 16px;
	background:#1c1c1e;border:1px solid rgba(212,218,251,.12);border-radius:14px;text-align:center;
	transition:border-color .2s, transform .2s;}
.sector-card:hover{border-color:rgba(212,218,251,.4);transform:translateY(-3px);}
.sector-card span{color:#fff;font-size:15px;line-height:1.3;}
.sector-card.sector-more{background:transparent;border-style:dashed;}
.sector-card.sector-more span{color:#D4DAFB;}

/* ===== Magazine — elementi grafici per articoli "visual" ===== */
.mag-cap{font-size:13px;color:#9aa0b5;text-align:center;margin:8px 0 0;}
/* numeroni / statistiche */
.stat-row{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0;}
.stat-card{flex:1 1 150px;background:#1c1c1e;border:1px solid rgba(212,218,251,.12);border-radius:14px;padding:22px 16px;text-align:center;}
.stat-num{display:block;font-size:42px;line-height:1;font-weight:700;color:#D4DAFB;}
.stat-card.accent .stat-num{color:#F23321;}
.stat-lbl{display:block;margin-top:10px;font-size:14px;color:#cfd2e0;line-height:1.4;}
/* bar chart orizzontale */
.bar-chart{margin:24px 0;}
.bar-row{display:flex;align-items:center;gap:12px;margin:10px 0;}
.bar-name{flex:0 0 44%;font-size:14px;color:#e7e7ee;}
.bar-track{flex:1 1 auto;height:22px;background:#15151b;border-radius:6px;overflow:hidden;}
.bar-fill{display:block;height:100%;min-width:2px;background:linear-gradient(90deg,#D4DAFB,#8f9be8);border-radius:6px;}
.bar-fill.is-accent{background:linear-gradient(90deg,#F23321,#ff6a5b);}
.bar-val{flex:0 0 44px;text-align:right;font-size:14px;font-weight:700;color:#fff;}
/* card a griglia (leve, post, metriche) */
.card-grid{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0;}
.g-card{flex:1 1 210px;background:#1c1c1e;border:1px solid rgba(212,218,251,.12);border-radius:14px;padding:20px;}
.g-card .g-step{display:inline-block;min-width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;background:#D4DAFB;color:#00000c;font-weight:700;font-size:14px;margin-bottom:10px;}
.g-card .g-tag{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#D4DAFB;margin-bottom:8px;}
.g-card h3{color:#fff;font-size:16px;margin:0 0 8px;}
.g-card p{font-size:14px;color:#cfd2e0;margin:0;line-height:1.55;}
/* fasce di priorità */
.prio{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;}
.prio-card{flex:1 1 160px;border-radius:12px;padding:16px;border:1px solid rgba(212,218,251,.14);}
.prio-card .p-w{font-size:30px;font-weight:700;color:#fff;}
.prio-card .p-t{font-size:13px;color:#cfd2e0;margin-top:4px;}
.prio-1{background:rgba(212,218,251,.10);}
.prio-2{background:rgba(255,255,255,.04);}
.prio-3{background:rgba(255,255,255,.02);}
/* errori (accento rosso) */
.mistake{display:flex;gap:12px;align-items:flex-start;background:rgba(242,51,33,.08);border:1px solid rgba(242,51,33,.35);border-radius:12px;padding:14px 16px;margin:10px 0;}
.mistake .m-n{flex:0 0 26px;height:26px;line-height:26px;text-align:center;border-radius:50%;background:#F23321;color:#fff;font-weight:700;font-size:13px;}
.mistake p{margin:0;font-size:14px;color:#e7e7ee;line-height:1.5;}
/* checklist a 3 colonne */
.check-cols{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0;}
.check-col{flex:1 1 220px;background:#1c1c1e;border:1px solid rgba(212,218,251,.12);border-radius:14px;padding:18px 18px 8px;}
.check-col h4{color:#D4DAFB;font-size:15px;margin:0 0 12px;}
.check-col ul{list-style:none;padding:0;margin:0;}
.check-col li{position:relative;padding:0 0 11px 24px;font-size:14px;color:#cfd2e0;line-height:1.45;}
.check-col li:before{content:"\2713";position:absolute;left:0;top:0;color:#7ee0c0;font-weight:700;}

/* ===== Widget "cerca il tuo sito" (articolo report lusso) ===== */
.site-check{background:#1c1c1e;border:1px solid rgba(212,218,251,.18);border-radius:14px;padding:22px 22px 18px;margin:24px 0;}
.site-check label{display:block;color:#fff;font-weight:700;font-size:16px;margin-bottom:12px;}
.site-check-row{display:flex;gap:10px;flex-wrap:wrap;}
.site-check-row input{flex:1 1 220px;background:#0e0e14;border:1px solid #3a3a44;border-radius:8px;color:#fff;padding:12px 14px;font-size:15px;height:auto;width:auto;margin:0;}
.site-check-row input:focus{border-color:#D4DAFB;outline:none;}
.site-check-row .btn{position:static;margin:0;white-space:nowrap;}
.lusso-box{margin-top:14px;background:rgba(212,218,251,.06);border-left:3px solid #D4DAFB;border-radius:8px;padding:14px 16px;color:#d7d9e4;font-size:15px;line-height:1.6;}
.lusso-box.found{border-left-color:#7ee0c0;}
.lusso-box strong{color:#fff;}
.lusso-cta{margin-top:12px;}
.lusso-cta .btn{position:static;margin:0;}

/* ===== Articoli data-driven: animazioni on-scroll (reveal, barre, count-up) ===== */
.anim-on .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.anim-on .reveal.in-view{opacity:1;transform:none;}
.anim-on .bar-chart.anim .bar-fill{transition:width 1.15s cubic-bezier(.22,.61,.36,1);}
@media (prefers-reduced-motion: reduce){
	.reveal{opacity:1;transform:none;transition:none;}
	.bar-chart.anim .bar-fill{transition:none;}
}

/* ===== Calendario stagionale per cluster ===== */
.season-grid{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0;}
.season-card{flex:1 1 200px;background:#1c1c1e;border:1px solid rgba(212,218,251,.12);border-radius:14px;padding:18px;position:relative;overflow:hidden;}
.season-card .s-name{color:#fff;font-size:15px;font-weight:700;margin-bottom:10px;}
.season-card .s-month{display:inline-block;background:rgba(212,218,251,.12);color:#D4DAFB;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:5px 10px;border-radius:6px;}
.season-card .s-x{display:inline-block;margin-left:6px;background:rgba(255,255,255,.06);color:#cfd2e0;font-size:12px;padding:5px 8px;border-radius:6px;}
.season-card .s-min{display:block;margin-top:10px;color:#9aa0b5;font-size:12px;}
.season-card.hot{border-color:rgba(242,51,33,.55);}
.season-card.hot .s-month{background:rgba(242,51,33,.16);color:#ff8c80;}
.season-card.hot::after{content:"il più stagionale";position:absolute;top:10px;right:-34px;transform:rotate(38deg);background:#F23321;color:#fff;font-size:10px;letter-spacing:1px;padding:3px 36px;}

/* ===== Barra di condivisione articolo ===== */
.share-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:26px 0;padding:14px 18px;background:linear-gradient(120deg,rgba(212,218,251,.07),rgba(242,51,33,.06));border:1px solid rgba(212,218,251,.18);border-radius:12px;}
.share-bar .share-lbl{color:#fff;font-weight:700;font-size:14px;margin-right:2px;}
.share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:700;color:#fff;text-decoration:none!important;border:1px solid rgba(212,218,251,.28);background:rgba(255,255,255,.04);cursor:pointer;transition:background .2s,border-color .2s,transform .15s;}
.share-btn:hover{background:#F23321;border-color:#F23321;color:#fff;transform:translateY(-2px);}
button.share-btn{font-family:inherit;line-height:1.2;}

/* 4 card in griglia (grid-4): 2×2 sempre pari, evita il 3+1 con l'ultima allargata */
.card-grid.grid-4 > .g-card{flex:1 1 calc(50% - 7px);}

/* ===== Titoli di sezione numerati + sommario (articoli) ===== */
h2 .sec-num{display:inline-block;min-width:1.5em;text-align:center;padding:.05em .3em;margin-right:.32em;background:#D4DAFB;color:#00000c;border-radius:10px;font-size:.58em;font-weight:700;line-height:1.4;vertical-align:.14em;}
.toc{background:#1c1c1e;border:1px solid rgba(212,218,251,.16);border-radius:14px;padding:20px 24px;margin:26px 0;}
.toc-title{color:#fff;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px;}
.toc ol{list-style:none;margin:0;padding:0;column-count:2;column-gap:28px;}
.toc li{margin:0 0 11px;break-inside:avoid;}
.toc a{display:inline-flex;align-items:baseline;gap:9px;color:#cfd2e0;text-decoration:none;font-size:15px;line-height:1.4;transition:color .2s;}
.toc a .n{flex:0 0 auto;color:#D4DAFB;font-weight:700;}
.toc a:hover{color:#fff;}
@media (max-width:600px){ .toc ol{column-count:1;} }

/* ===== Card promo "eCommerce AI" in home (ex link testuale) ===== */
.ai-promo{position:relative;display:flex;align-items:center;gap:26px;margin:8px 0 0;padding:30px 34px;text-align:left;
	border-radius:18px;text-decoration:none!important;overflow:hidden;isolation:isolate;
	background:radial-gradient(130% 150% at 0% 0%, rgba(212,218,251,.16), transparent 55%),radial-gradient(130% 160% at 100% 100%, rgba(242,51,33,.14), transparent 55%),linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
	border:1px solid rgba(212,218,251,.20);box-shadow:0 6px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
	transition:transform .28s cubic-bezier(.16,1,.3,1), border-color .28s, box-shadow .28s;}
.ai-promo:after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;z-index:1;pointer-events:none;
	background:linear-gradient(100deg, transparent, rgba(255,255,255,.12), transparent);transform:skewX(-18deg);transition:left .65s cubic-bezier(.16,1,.3,1);}
.ai-promo:hover{transform:translateY(-4px);border-color:rgba(212,218,251,.45);box-shadow:0 16px 42px rgba(0,0,0,.42);}
.ai-promo:hover:after{left:130%;}
@supports ((-webkit-mask-composite:xor) or (mask-composite:exclude)){
	.ai-promo:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1px;pointer-events:none;
		background:conic-gradient(from 140deg, rgba(212,218,251,0), #D4DAFB, #7ee0c0, #F23321, rgba(212,218,251,0) 78%);
		-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
		opacity:.5;transition:opacity .3s;}
	.ai-promo:hover:before{opacity:1;}
}
.ai-promo-ico{position:relative;z-index:2;flex:0 0 auto;width:78px;height:78px;border-radius:16px;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(145deg, rgba(212,218,251,.22), rgba(126,224,192,.12));box-shadow:inset 0 0 0 1px rgba(212,218,251,.22), 0 6px 18px rgba(0,0,0,.28);
	transition:transform .28s cubic-bezier(.16,1,.3,1);}
.ai-promo:hover .ai-promo-ico{transform:scale(1.06) rotate(-2deg);}
.ai-promo-ico .icon-img{width:46px;height:46px;margin:0;}
.ai-promo-body{position:relative;z-index:2;flex:1 1 auto;display:flex;flex-direction:column;gap:6px;min-width:0;}
.ai-promo-tag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:#cdd4ff;padding:3px 11px;border-radius:999px;background:rgba(212,218,251,.1);border:1px solid rgba(212,218,251,.22);}
.ai-promo-tag:before{content:"\2726";font-size:9px;color:#7ee0c0;}
.ai-promo-title{font-size:31px;font-weight:700;color:#fff;line-height:1.1;letter-spacing:.3px;}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
	.ai-promo-title{background:linear-gradient(92deg,#fff 0%,#D4DAFB 52%,#7ee0c0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
}
.ai-promo-sub{font-size:14px;color:rgba(255,255,255,.74);line-height:1.45;}
.ai-promo-cta{position:relative;z-index:2;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:14px;white-space:nowrap;background:#F23321;padding:12px 20px;border-radius:999px;box-shadow:0 6px 16px rgba(242,51,33,.30);transition:background .2s, box-shadow .2s;}
.ai-promo:hover .ai-promo-cta{background:#ff3b2a;box-shadow:0 8px 24px rgba(242,51,33,.45);}
.ai-promo-cta .arr{display:inline-block;transition:transform .25s cubic-bezier(.16,1,.3,1);}
.ai-promo:hover .ai-promo-cta .arr{transform:translateX(4px);}
@media (max-width:600px){ .ai-promo{flex-direction:column;text-align:center;padding:26px 22px;gap:18px;} .ai-promo-body{align-items:center;} .ai-promo-tag{align-self:center;} .ai-promo-title{font-size:27px;} }

/* ===== Connettore: lega la card eCommerce AI alla frase "Lavoriamo con l'AI" sopra ===== */
.slogan.ai-lead{margin-bottom:0;}
.ai-connector{position:relative;height:48px;margin:12px 0 0;}
.ai-connector:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:2px;height:34px;background:linear-gradient(180deg, rgba(212,218,251,.12), #D4DAFB);}
.ai-connector:after{content:"";position:absolute;left:50%;top:32px;transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #D4DAFB;}
