/* =========================================================================
   Centro Fiera Montichiari – stili del redesign
   Colori: blu istituzionale #004597 · inchiostro #0B1B2E · sfondo #F5F7FA
   ========================================================================= */
:root {
	--cf-accent: #004597;
	--cf-ink: #0B1B2E;
	--cf-bg: #F5F7FA;
	--cf-line: #E2E7EE;
	--cf-muted: #556274;
	--cf-soft: #EAF0F8;
	--cf-sky: #E3EEFA;
	--cf-green: #2F6B3F;
	--cf-head: 'Space Grotesk', Inter, system-ui, sans-serif;
	--cf-body: Inter, system-ui, sans-serif;
}
body.cfr-site { background: var(--cf-bg); color: var(--cf-ink); font-family: var(--cf-body); font-size: 16px; line-height: 1.55; }
body.cfr-site a { color: var(--cf-ink); }
body.cfr-site a:hover { color: var(--cf-accent); }
.cfr-site .site-main, .cfr-site .page-content { max-width: none; }

/* ---------- Griglie responsive (classi sui container) -------------------- */
.e-con.cf-grid, .cf-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--cf-min, 280px)), 1fr)); gap: var(--cf-gap, 20px); align-items: stretch; }
.e-con.cf-grid.cf-fit, .cf-grid.cf-fit { grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--cf-min, 280px)), 1fr)); }
.e-con.cf-grid > .e-con-inner { display: contents; }
.e-con.cf-sidegrid { display: grid !important; grid-template-columns: minmax(220px, 260px) minmax(0, 1fr); gap: 40px; align-items: start; }
.e-con.cf-sidegrid > .e-con { width: auto !important; }
@media (max-width: 900px) { .e-con.cf-sidegrid { grid-template-columns: 1fr; } }
.e-con.cf-grid.cf-a-start { align-items: start; } .e-con.cf-grid.cf-a-end { align-items: end; } .e-con.cf-grid.cf-a-center { align-items: center; }
.cf-g84 { --cf-min: 84px; } .cf-g160 { --cf-min: 160px; } .cf-g180 { --cf-min: 180px; } .cf-g200 { --cf-min: 200px; } .cf-g220 { --cf-min: 220px; } .cf-g240 { --cf-min: 240px; }
.cf-g260 { --cf-min: 260px; } .cf-g280 { --cf-min: 280px; } .cf-g300 { --cf-min: 300px; } .cf-g320 { --cf-min: 320px; } .cf-g340 { --cf-min: 340px; }
.cf-g380 { --cf-min: 380px; } .cf-g420 { --cf-min: 420px; } .cf-g440 { --cf-min: 440px; }
.cf-gap8 { --cf-gap: 8px; } .cf-gap12 { --cf-gap: 12px; } .cf-gap14 { --cf-gap: 14px; } .cf-gap16 { --cf-gap: 16px; } .cf-gap28 { --cf-gap: 28px 20px; } .cf-gap36 { --cf-gap: 36px 20px; }
.e-con.cf-grid > .elementor-widget, .e-con.cf-grid > .e-con { width: auto !important; max-width: none !important; margin: 0 !important; }

/* Righe flessibili: i container figli prendono la larghezza del contenuto */
.e-con.cf-row > .e-con, .e-con.cf-row > .e-con-inner > .e-con { --width: auto; width: auto !important; flex: 0 1 auto; }
.e-con.cf-row > .e-con.cf-grow, .e-con.cf-row > .e-con-inner > .e-con.cf-grow, .e-con > .e-con.cf-grow { flex: 1 1 320px !important; min-width: 0; }

/* ---------- Animazioni di hover ----------------------------------------- */
.b-on-light,.b-on-dark{transition:background-color .25s ease,color .25s ease,box-shadow .25s ease}
.chip-h{transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.chip-h:hover,.chip-h:focus-visible{background:#DCEBFA!important;border-color:#9CC4EE!important;transform:translateY(-3px)}
.ev-h{transition:transform .25s ease,background-color .25s ease,border-color .25s ease!important}
.ev-h:hover,.ev-h:focus-within{background:#E3EEFA!important;background-color:#E3EEFA!important;border-color:#E3EEFA!important;transform:translateY(-5px)}
.ev-h:hover .ev-cta,.ev-h:focus-within .ev-cta,.ev-h:hover .ev-cta .elementor-button{background:#FFFFFF!important;color:#004597!important;box-shadow:inset 0 0 0 2px #004597}
.lnk-t,.lnk-t .elementor-heading-title,.lnk-t a{color:#0B1B2E!important;transition:color .2s ease}
.ev-h:hover .lnk-t,.ev-h:focus-within .lnk-t,.ev-h:hover .lnk-t .elementor-heading-title,.ev-h:hover .lnk-t a,.lnk-b:hover .lnk-t,a.lnk-t:hover,.nl:hover .lnk-t{color:#004597!important}
.lnk-b,.lnk-b *{transition:color .2s ease}
.lnk-b:hover,.lnk-b:focus-visible,.lnk-b:hover *{color:#004597!important}
.ev-g{transition:transform .25s ease,background-color .25s ease,border-color .25s ease}
.ev-g:hover,.ev-g:focus-within{background:#E3F0E6!important;background-color:#E3F0E6!important;border-color:#E3F0E6!important;transform:translateY(-5px)}
.lnk-g,.lnk-g .elementor-heading-title{transition:color .2s ease}
.ev-g:hover .lnk-g,.ev-g:hover .lnk-g .elementor-heading-title{color:#2F6B3F!important}
.lnk-z a,.lnk-z{display:flex}
.lnk-z .zt,.lnk-z .za{display:inline-block;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.lnk-z .zt{transform-origin:left center}
.lnk-z a:hover .zt,.lnk-z:hover .zt{transform:scale(1.06)}
.lnk-z a:hover .za,.lnk-z:hover .za{transform:translateX(3px) scale(1.35)}
@keyframes kb{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.07) translate(-1.5%,-1%)}}
.kb img,img.kb{animation:kb 16s ease-in-out 1.8s infinite alternate}
.kb, .kb .elementor-widget-container{overflow:hidden;border-radius:inherit}
.gal-in .gallery-item,.gal-in .e-gallery-item,.gal-in figure{transition:transform .35s ease;overflow:hidden;border-radius:16px}
.gal-in .gallery-item img,.gal-in .e-gallery-image,.gal-in figure img{transition:transform .6s ease}
.gal-in .gallery-item:hover,.gal-in figure:hover{transform:translateY(-6px)}
.gal-in .gallery-item:hover img,.gal-in figure:hover img{transform:scale(1.07)}
.nl{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.nl:hover,.nl:focus-visible{transform:translateY(-5px)}
.nl .ni img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.nl:hover .ni img,.nl:focus-visible .ni img{transform:scale(1.08)}
@keyframes nup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.nup{animation:nup .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes nfl{0%,100%{transform:scale(1.04) translate(0,0)}50%{transform:scale(1.09) translate(-1.2%,-1%)}}
.nfl{animation:nfl 14s ease-in-out infinite}
.th-h{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.th-h:hover{transform:translateY(-5px)}
.zoom-h,.zoom-h .elementor-widget-container{overflow:hidden;border-radius:inherit}
.zoom-h img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ev-h:hover .zoom-h img,.zoom-h:hover img{transform:scale(1.06)}
@media (prefers-reduced-motion: reduce){
	.chip-h,.ev-h,.ev-g,.nl,.nl .ni img,.nup,.nfl,.th-h,.gal-in *,.lnk-z *,.zoom-h img{transition:none!important;animation:none!important}
	.kb img,img.kb{animation:none}
	.chip-h:hover,.ev-h:hover,.ev-g:hover,.nl:hover,.th-h:hover{transform:none}
}

/* Galleria immagini: griglia uniforme e indipendente dal tema */
.gal-in .gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0!important}
.gal-in .gallery.gallery-columns-1{grid-template-columns:1fr}.gal-in .gallery.gallery-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gal-in .gallery.gallery-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gal-in .gallery br{display:none}
.gal-in .gallery-item{margin:0!important;padding:0!important;width:auto!important;max-width:none!important;float:none!important}
.gal-in .gallery-item .gallery-icon,.gal-in .gallery-item a{display:block}
.gal-in .gallery-item img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;display:block;border:0!important;border-radius:16px}
@media (max-width:767px){.gal-in .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Elementi di base -------------------------------------------- */
.cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;border:0;font:inherit;font-weight:600;text-decoration:none!important;cursor:pointer;background:#004597;color:#fff!important;transition:background-color .25s,color .25s,box-shadow .25s}
.cf-btn:hover{background:#fff;color:#004597!important;box-shadow:inset 0 0 0 2px #004597}
.cf-btn--sm{min-height:44px;padding:0 18px;align-self:flex-start}
.cf-btn--ink{background:var(--cf-ink)}
.cf-btn--accent{background:var(--cf-accent);min-height:56px;padding:0 28px}
.cf-btn--outline{background:transparent;color:var(--cf-ink)!important;box-shadow:inset 0 0 0 1.5px var(--cf-ink)}
.cf-badge{display:inline-flex;align-items:center;background:var(--cf-soft);color:var(--cf-accent);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600;line-height:1.5}
.cf-badge--dark{background:var(--cf-ink);color:#fff}
.cf-badge--live{background:#1E6B4A;color:#fff}
.cf-badge--past{background:transparent;border:1px solid #CDD5DF;color:var(--cf-muted)}
.cf-badge--accent{background:var(--cf-accent);color:#fff}
.cf-label{font-size:14px;font-weight:600;color:var(--cf-muted);text-transform:uppercase;letter-spacing:.06em}
.cf-status{display:inline-flex;background:#fff;color:var(--cf-ink);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}

/* Chips (tutti i menu di selezione) */
.cf-chips{display:flex;flex-wrap:wrap;gap:8px}
.cf-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #CDD5DF;background:#fff;color:var(--cf-ink)!important;font:inherit;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none!important;transition:background-color .2s,border-color .2s,transform .2s}
.cf-chip:hover,.cf-chip:focus-visible{background:#DCEBFA;border-color:#9CC4EE;transform:translateY(-3px)}
.cf-chip.is-on,.cf-chip[aria-pressed="true"]{background:var(--cf-ink);border-color:var(--cf-ink);color:#fff!important;font-weight:600;transform:none}
.cf-chips--right{justify-content:flex-end}
[hidden]{display:none!important}

/* Breadcrumb */
.cf-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--cf-muted)}
.cf-crumbs a{color:var(--cf-muted)!important;text-decoration:none}
.cf-crumbs a:hover{color:var(--cf-accent)}
.cf-crumbs--light,.cf-crumbs--light a{color:#D5DDE7!important}

/* Header: striscia prossimo evento */
.cf-nextbar{color:#fff!important;text-decoration:none;display:inline-flex;gap:10px;align-items:center;min-height:32px;font-size:14px}
.cf-dot{width:8px;height:8px;border-radius:50%;background:#5FA8FF;flex:0 0 8px}
.cf-topbar a{color:#D5DDE7!important;text-decoration:none}
.cf-topbar a:hover{color:#fff!important}
.cf-lang{display:inline-flex;gap:2px}
.cf-lang a{min-width:36px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:600}
.cf-lang a[aria-current]{background:rgba(255,255,255,.14);color:#fff!important;font-weight:700}

/* Nav menu Pro: aspetto */
.cf-nav .elementor-nav-menu--main .elementor-item{border-radius:10px;font-weight:500}
.cf-nav .elementor-nav-menu--main .elementor-item:hover,.cf-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,.cf-nav .elementor-nav-menu--main .highlighted{background:var(--cf-soft)}
.cf-nav .elementor-nav-menu--dropdown{border-radius:16px;overflow:hidden;box-shadow:0 24px 48px rgba(11,27,46,.12);border:1px solid var(--cf-line);padding:8px}
.cf-nav .elementor-nav-menu--dropdown a{border-radius:10px}
.cf-nav .elementor-menu-toggle{border:1.5px solid #CDD5DF;border-radius:12px;padding:10px}

/* ---------- Card evento ------------------------------------------------- */
.cf-evcard{background:#fff;border:5px solid #fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none!important;color:var(--cf-ink)!important;height:100%;box-sizing:border-box}
.cf-evcard__media{position:relative;aspect-ratio:640/384;margin:10px 10px 0;display:block}
.cf-evcard__img{position:absolute;inset:0;overflow:hidden;border-radius:14px;border:3px solid #fff;box-sizing:border-box;background:#fff}
.cf-evcard__img img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06)}
.cf-evcard__date{position:absolute;left:14px;bottom:-22px;background:var(--cf-accent);color:#fff;border-radius:12px;padding:8px 12px;line-height:1;display:flex;flex-direction:column;gap:3px}
.cf-evcard__date strong{font-family:var(--cf-head);font-size:24px;font-weight:700;letter-spacing:-.03em}
.cf-evcard__date small{font-size:13px;font-weight:600}
.cf-evcard__body{padding:36px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.cf-evcard__badges{display:flex;flex-wrap:wrap;gap:6px}
.cf-evcard__title{font-family:var(--cf-head);font-weight:700;font-size:22px;line-height:1.12;letter-spacing:-.01em}
.cf-evcard__place{display:flex;gap:6px;align-items:center;color:var(--cf-muted);font-size:15px}
.cf-evcard .cf-btn{margin-top:auto}
.cf-evrow{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:12px;background:#fff;border:5px solid #fff;border-radius:18px;text-decoration:none!important;color:var(--cf-ink)!important}
.cf-evrow__img{width:140px;height:84px;flex:0 0 140px;border-radius:12px;overflow:hidden;border:3px solid #fff;box-sizing:border-box}
.cf-evrow__img img{width:100%;height:100%;object-fit:cover;display:block}
.cf-evrow__date{flex:0 0 auto;font-family:var(--cf-head);font-weight:700;color:var(--cf-accent);font-size:20px}
.cf-evrow__date small{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.cf-evrow__txt{flex:1 1 220px;display:flex;flex-direction:column}
.cf-evrow__txt strong{font-family:var(--cf-head);font-size:20px}
.cf-evrow__txt span{color:var(--cf-muted);font-size:15px}
.cf-evrow .cf-btn{margin-right:6px;align-self:center}
.cf-evrow--compact{flex-wrap:nowrap;gap:16px;padding:10px}
.cf-evrow--compact .cf-evrow__txt{flex:1 1 auto;min-width:0}
.cf-evrow--compact .cf-evrow__txt strong{font-size:19px}
.cf-evrow__when{font-weight:600;color:var(--cf-accent)!important;font-size:16px!important}

/* Home: card prossimo evento nell’hero */
.cf-heronext{background:#fff;color:var(--cf-ink);border:5px solid #fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.cf-heronext__media{position:relative}
.cf-heronext__img{display:block;overflow:hidden;margin:10px 10px 0;border-radius:16px;border:3px solid #fff}
.cf-heronext__img img{width:100%;aspect-ratio:640/384;object-fit:cover;display:block;transform:scale(1.06)}
.cf-heronext__date{position:absolute;left:20px;bottom:-30px;background:var(--cf-accent);color:#fff;border-radius:16px;padding:12px 18px;display:flex;flex-direction:column;line-height:1}
.cf-heronext__date small{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.cf-heronext__date strong{font-family:var(--cf-head);font-size:42px;font-weight:700;letter-spacing:-.04em}
.cf-heronext__date em{font-style:normal;font-family:var(--cf-head);font-size:16px;font-weight:600;margin-top:4px}
.cf-heronext__body{padding:50px 28px 28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.cf-heronext__body h2{margin:0;font-family:var(--cf-head);font-size:30px;line-height:1.05;letter-spacing:-.02em;color:var(--cf-ink)}
.cf-heronext__body span{color:var(--cf-muted)}

/* Home: ricerca */
.cf-search{background:#fff;color:var(--cf-ink);border-radius:18px;padding:10px;display:flex;flex-wrap:wrap;gap:8px}
.cf-search__f{flex:1 1 140px;display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:12px;background:var(--cf-bg);margin:0}
.cf-search__f--wide{flex:2 1 220px}
.cf-search__f span{font-size:12px;font-weight:600;color:var(--cf-muted)}
.cf-search__f input,.cf-search__f select{border:0!important;background:transparent!important;font:inherit;font-size:16px;padding:2px 0!important;box-shadow:none!important;min-height:0;color:var(--cf-ink)}
.cf-search__go{min-height:56px}

/* ---------- Calendario -------------------------------------------------- */
.cf-cal{display:flex;flex-direction:column;gap:28px}
.cf-cal__count{margin:0;font-size:19px;color:#3A4757;max-width:640px}
.cf-cal__panel{display:flex;flex-direction:column;gap:16px;padding:20px;background:#fff;border:1px solid var(--cf-line);border-radius:20px}
.cf-cal__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cf-cal__search{flex:1 1 280px;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:12px;background:var(--cf-bg);margin:0}
.cf-cal__search input{flex:1;border:0!important;background:transparent!important;font:inherit;box-shadow:none!important;padding:0!important}
.cf-switch{min-height:52px;padding:0 18px;border-radius:12px;border:1px solid #CDD5DF;background:#fff;color:var(--cf-ink);font:inherit;font-weight:600;cursor:pointer;display:inline-flex;gap:10px;align-items:center}
.cf-switch:hover{background:#fff;color:var(--cf-ink)}
.cf-switch__t{width:38px;height:22px;border-radius:999px;background:#C3CCD8;position:relative;display:inline-block;transition:background .2s}
.cf-switch__t::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s}
.cf-switch.is-on .cf-switch__t{background:var(--cf-ink)}
.cf-switch.is-on .cf-switch__t::after{left:19px}
.cf-cal__months{display:flex;flex-direction:column;gap:28px}
.cf-cal__month{display:flex;flex-direction:column;gap:10px}
.cf-cal__month h2{margin:0;font-family:var(--cf-head);font-size:26px;text-transform:capitalize;color:var(--cf-ink)}
.cf-cal__empty{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:32px;border-radius:20px;background:#fff;border:1px solid var(--cf-line)}

/* ---------- News -------------------------------------------------------- */
.cf-noimg{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:var(--cf-ink)}
.cf-noimg img{width:46%!important;height:auto!important;object-fit:contain!important}
.cf-news{display:flex;flex-direction:column;gap:32px}
.cf-news__filters{display:flex;flex-direction:column;gap:14px}
.cf-news__count{color:var(--cf-muted)}
.cf-news__grid{--cf-gap:36px 20px}
.cf-ncard{display:flex;flex-direction:column;gap:12px;text-decoration:none!important;color:var(--cf-ink)!important}
.cf-ncard__img{position:relative;display:block;aspect-ratio:16/10;border-radius:20px;overflow:hidden}
.cf-ncard__img>img{width:100%;height:100%;object-fit:cover;display:block}
.cf-ncard__cat{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--cf-ink);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.cf-ncard small{font-size:14px;color:var(--cf-muted)}
.cf-ncard strong{font-family:var(--cf-head);font-weight:700;font-size:22px;line-height:1.15}
.cf-nfeat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));background:var(--cf-ink);color:#fff!important;border-radius:28px;overflow:hidden;text-decoration:none!important}
.cf-nfeat__img{display:block;overflow:hidden;min-height:380px;position:relative}
.cf-nfeat__img .nfl{position:absolute;inset:0;display:block}
.cf-nfeat__img img{width:100%;height:100%;object-fit:cover;display:block}
.cf-nfeat__body{padding:44px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px}
.cf-nfeat__body .cf-badge{align-self:flex-start}
.cf-nfeat__title{font-family:var(--cf-head);font-weight:700;font-size:clamp(30px,3.2vw,44px);line-height:1.04;letter-spacing:-.025em;color:#fff}
.cf-nfeat__lead{color:#D5DDE8;font-size:17px}
.cf-nfeat__meta{color:#B7C2D1}
.cf-nfeat__meta b{color:#fff}
.cf-pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.cf-pager .cf-chip{border-radius:12px;min-width:48px;min-height:48px;justify-content:center}
.cf-pager__gap{min-width:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--cf-muted)}
.cf-homenews{display:flex;flex-wrap:wrap;gap:32px;align-items:stretch}
.cf-homenews__feat{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px;text-decoration:none!important;color:var(--cf-ink)!important}
.cf-homenews__img{display:block;position:relative;overflow:hidden;border-radius:24px;min-height:340px;flex:1}
.cf-homenews__img .nfl{position:absolute;inset:0;display:block}
.cf-homenews__img img{width:100%;height:100%;object-fit:cover;display:block}
.cf-homenews__feat small{font-size:14px;color:var(--cf-muted)}
.cf-homenews__feat strong{font-family:var(--cf-head);font-weight:700;font-size:32px;line-height:1.05;letter-spacing:-.02em}
.cf-homenews__list{flex:1.6 1 600px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));column-gap:28px;align-content:start}
.cf-nrow{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--cf-line);align-items:flex-start;text-decoration:none!important;color:var(--cf-ink)!important}
.cf-nrow__img{width:112px;height:80px;flex:0 0 112px;border-radius:12px;overflow:hidden;display:block}
.cf-nrow__img>img{width:100%;height:100%;object-fit:cover;display:block}
.cf-nrow__txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.cf-nrow__txt small{font-size:13px;color:var(--cf-muted)}
.cf-nrow__txt strong{font-family:var(--cf-head);font-weight:700;font-size:17px;line-height:1.25}

/* Articolo */
.cf-postmeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:var(--cf-muted)}
.cf-post-body p{font-size:19px;line-height:1.7;color:#22303F;margin:0 0 20px}
.cf-post-lead p:first-child{font-size:21px;color:#3A4757}
.cf-postevent{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:20px 22px;border-radius:18px;background:#fff;border:1px solid var(--cf-line);text-decoration:none!important;color:var(--cf-ink)!important}
.cf-postevent>span:first-child{display:flex;flex-direction:column;line-height:1.4}
.cf-postevent small{color:var(--cf-muted);font-size:14px}
.cf-postevent span span{color:var(--cf-muted)}
.cf-postevent__go{font-weight:600}
.cf-share{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cf-share>span{color:var(--cf-muted)}
.cf-share .cf-chip{border-radius:10px}
.cf-postnav{display:flex;flex-wrap:wrap;gap:16px}
.cf-postnav a{flex:1 1 320px;display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:20px;background:#fff;border:1px solid var(--cf-line);text-decoration:none!important}
.cf-postnav small{font-size:14px;color:var(--cf-muted)}
.cf-postnav strong{font-family:var(--cf-head);font-weight:700;font-size:19px;line-height:1.25}
.cf-postnav__r{text-align:right}

/* ---------- Widget nativi di Elementor: ritocchi ------------------------ */
.cf-acc .elementor-tab-content{display:none}
.cf-acc .elementor-tab-content.elementor-active{display:block}
.cf-acc .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;outline:0}
.cf-acc .elementor-accordion-icon{order:2;display:inline-flex;width:18px;justify-content:center}
.cf-acc .elementor-accordion-icon svg{width:14px;height:14px;fill:currentColor}
.cf-acc .elementor-accordion-icon-opened{display:none}
.cf-acc .elementor-active .elementor-accordion-icon-opened{display:inline-flex}
.cf-acc .elementor-active .elementor-accordion-icon-closed{display:none}
.cf-acc .elementor-accordion-title{color:inherit;text-decoration:none}
.cf-acc .elementor-accordion-item{border:0!important;border-top:1px solid var(--cf-line)!important}
.cf-acc .elementor-accordion-item:first-child{border-top:0!important}
.cf-acc .elementor-tab-title{padding:20px 24px!important;font-weight:600}
.cf-acc .elementor-tab-content{border:0!important;padding:0 24px 22px!important;color:var(--cf-muted)}
.cf-acc-green .elementor-accordion-item{transition:background-color .25s,transform .25s}
.cf-acc-green .elementor-accordion-item:hover{background:#E3F0E6;transform:translateY(-3px)}
.cf-acc-green .elementor-accordion-item:hover .elementor-accordion-title{color:#2F6B3F!important}
.cf-doclist{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.cf-doclist a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;border-radius:12px;background:var(--cf-bg);text-decoration:none;color:var(--cf-ink)}
.cf-doclist a:hover{color:var(--cf-accent)}
.cf-doclist a>span:last-child{color:var(--cf-muted);font-size:14px;white-space:nowrap}
.cf-doclist a>span:first-child{min-width:0}
.cf-doclist--white a{background:#fff;border:1px solid var(--cf-line);padding:16px 18px;border-radius:14px}
.cf-listini{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px}
.cf-listini a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--cf-bg);text-decoration:none;color:var(--cf-ink)}
.cf-listini a:hover{color:var(--cf-green)}
.cf-listini b{width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:#E3EFE6;color:var(--cf-green);display:flex;align-items:center;justify-content:center;font-family:var(--cf-head)}
.cf-listini span{display:flex;flex-direction:column;flex:1}
.cf-listini small{color:var(--cf-muted)}
.cf-steps li{display:flex;gap:12px;margin:0 0 10px}
.cf-steps{list-style:none;margin:0;padding:0}
.cf-steps li::before{content:"";width:8px;height:8px;margin-top:9px;flex:0 0 8px;border-radius:50%;background:var(--cf-accent)}
.cf-bar{display:flex;height:72px;border-radius:16px;overflow:hidden;background:#DDE3EA}
.cf-bar div{display:flex;align-items:center;padding:0 16px;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.cf-bar .a{background:var(--cf-accent);color:#fff}
.cf-bar .b{background:#5FA8FF;color:var(--cf-ink)}
.cf-bar .c{flex:1;color:#3A4757;font-weight:400}
.cf-table{width:100%;min-width:520px;border-collapse:collapse}
.cf-table th,.cf-table td{padding:16px 24px;text-align:left;border:0;border-top:1px solid var(--cf-line);background:transparent!important}
.cf-table thead th{border-top:0;color:var(--cf-muted);font-size:14px;font-weight:600}
.cf-table .cf-meter{height:10px;border-radius:999px;background:#E6EBF2}
.cf-table .cf-meter i{display:block;height:10px;border-radius:999px;background:var(--cf-accent)}
.cf-tablewrap{overflow-x:auto}
.cf-room-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px;display:block}
.cf-mapph{min-height:520px;border-radius:28px;overflow:hidden}
.cf-pill-warn{display:inline-flex;background:#FDECD8;color:#8A4B0C;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}
.cf-big-date .elementor-heading-title{line-height:.85!important}

/* Moduli Pro: campi arrotondati */
.cf-form .elementor-field-textual,.cf-form select{border-radius:12px!important;min-height:50px;border-color:#B9C3CF!important;background:#fff!important}
.cf-form textarea.elementor-field-textual{min-height:120px}
.cf-form .elementor-field-type-radio .elementor-field-subgroup,.cf-form .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.cf-form .elementor-field-type-radio .elementor-field-option,.cf-form .elementor-field-type-checkbox .elementor-field-option{margin:0!important;padding:0!important;position:relative}
.cf-form .elementor-field-type-radio .elementor-field-option label,.cf-form .elementor-field-type-checkbox .elementor-field-option label{display:inline-flex!important;align-items:center;min-height:44px;padding:0 16px!important;margin:0!important;border-radius:999px;border:1.5px solid #CDD5DF;background:#fff;color:#0B1B2E!important;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s;font-size:15px!important;font-weight:500!important;line-height:1.2}
.cf-form .elementor-field-type-radio .elementor-field-option label:hover,.cf-form .elementor-field-type-checkbox .elementor-field-option label:hover{background:#DCEBFA;border-color:#9CC4EE;transform:translateY(-3px)}
.cf-form .elementor-field-type-radio .elementor-field-option input,.cf-form .elementor-field-type-checkbox .elementor-field-option input{position:absolute;opacity:0;pointer-events:none}
.cf-form .elementor-field-type-radio input:checked+label,.cf-form .elementor-field-type-checkbox input:checked+label{background:#0B1B2E!important;border-color:#0B1B2E!important;color:#fff!important;font-weight:600!important;transform:none}
.cf-form .elementor-field-type-checkbox input:checked+label::before{content:"✓";margin-right:8px}
.cf-form .elementor-field-type-checkbox input:not(:checked)+label::before{content:"+";margin-right:8px;font-weight:700}
.cf-form .elementor-field-type-acceptance label{font-size:14px!important;font-weight:400!important;color:#3A4757!important}
.cf-form-newsletter .elementor-field-textual{border:0!important;border-radius:12px!important;min-height:54px}
.cf-form-newsletter .elementor-button{background:#fff!important;color:var(--cf-ink)!important;border-radius:12px!important;min-height:54px}
.cf-form-newsletter .elementor-button:hover{background:var(--cf-accent)!important;color:#fff!important;box-shadow:inset 0 0 0 2px #fff}
.cf-form-newsletter .elementor-field-type-acceptance label,.cf-form-newsletter .elementor-field-type-acceptance a{color:#E3ECF7!important;font-size:14px}

/* Footer */
.cf-footer a{color:#D5DDE7!important;text-decoration:none}
.cf-footer a:hover{color:#fff!important}
.cf-footer .elementor-icon-list-item a{min-height:32px}
.cf-footer .elementor-icon-list-icon{display:none!important}
.cf-footer .elementor-icon-list-items,.cf-footer .elementor-icon-list-item,.cf-footer .elementor-icon-list-text{padding-left:0!important;margin-left:0!important}
.cf-partner{background:#fff;border-radius:14px;padding:10px 18px;height:76px;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:auto!important}
.cf-partner img{height:52px!important;width:auto!important;max-width:none!important;display:block}
.cf-partner.cf-p-tall img{height:56px!important}
.cf-partner.cf-p-wide img{height:30px!important}

@media (max-width:767px){
	.cf-heronext__date strong{font-size:34px}
	.cf-nfeat__body{padding:28px}
	.cf-evrow__img{width:110px;height:66px;flex-basis:110px}
}
