/* UG Eventi — Footer V2. Strictly scoped to the footer. Existing theme footer is replaced. */
body.ugf-footer-enabled .l-footer,
body.ugf-footer-enabled #colophon,
body.ugf-footer-enabled footer.site-footer:not(.ugf-footer) { display:none!important; }

.ugf-footer, .ugf-footer *, .ugf-footer *::before, .ugf-footer *::after { box-sizing:border-box; }
.ugf-footer {
  --ugf-navy:#202b3a;
  --ugf-deep:#192331;
  --ugf-yellow:#ffcf2d;
  --ugf-muted:#c2cad5;
  position:relative;
  isolation:isolate;
  clear:both;
  display:block;
  width:100%;
  margin:0;
  padding:0;
  background:var(--ugf-navy);
  color:#fff;
  font-family:inherit;
  font-style:normal;
  font-size:15px;
  line-height:1.6;
  text-align:left;
}
.ugf-footer::before { content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ugf-yellow);z-index:1; }
.ugf-footer .ugf-shell { width:min(1380px,calc(100% - 88px));margin:0 auto;padding:0; }
.ugf-footer a { color:#f4f6f9!important;text-decoration:none!important;box-shadow:none;transition:color .2s ease,transform .2s ease,background .2s ease,border-color .2s ease; }
.ugf-footer a:hover { color:var(--ugf-yellow)!important; }
.ugf-footer a:focus-visible { outline:2px solid var(--ugf-yellow);outline-offset:5px;border-radius:4px; }
.ugf-footer p { color:var(--ugf-muted);margin:0;line-height:1.7; }
.ugf-footer h2,.ugf-footer h3 { font-family:inherit;color:#fff!important;margin:0;padding:0;border:0;text-transform:none; }
.ugf-footer .ugf-topline { height:1px; }
.ugf-footer .ugf-cta-row {
  display:flex;align-items:center;justify-content:space-between;gap:46px;
  padding:63px 0 61px;border-bottom:1px solid rgba(255,255,255,.15);
}
.ugf-footer .ugf-kicker { display:block;color:var(--ugf-yellow);font-size:11px;letter-spacing:.17em;line-height:1.5;font-weight:850; }
.ugf-footer .ugf-kicker span { margin:0 6px; }
.ugf-footer .ugf-cta-copy h2 { color:#fff!important;font-size:clamp(31px,3.3vw,49px);line-height:1.13;letter-spacing:-.038em;font-weight:820;margin:14px 0 10px; }
.ugf-footer .ugf-cta-copy h2 em { font-style:normal;color:var(--ugf-yellow); }
.ugf-footer .ugf-cta-copy p { font-size:15px;line-height:1.65; }
.ugf-footer .ugf-cta {
  display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:57px;
  padding:0 15px 0 26px;border-radius:999px;background:var(--ugf-yellow);
  color:var(--ugf-deep)!important;font-size:14px;font-weight:850;white-space:nowrap;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.ugf-footer .ugf-cta:hover { color:var(--ugf-deep)!important;transform:translateY(-2px);background:#ffda59; }
.ugf-footer .ugf-cta span { display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--ugf-deep);color:var(--ugf-yellow);border-radius:50%;font-size:21px;line-height:1;font-weight:400; }
.ugf-footer .ugf-main {
  display:grid;grid-template-columns:minmax(245px,1.55fr) minmax(130px,.7fr) minmax(145px,.8fr) minmax(195px,1fr);
  column-gap:clamp(28px,4vw,76px);row-gap:40px;padding:58px 0 63px;
}
.ugf-footer .ugf-about { max-width:345px; }
.ugf-footer .ugf-brand { display:inline-flex;align-items:center;gap:13px;min-width:0; }
.ugf-footer .ugf-brand img { width:56px;height:59px;object-fit:contain;display:block;flex:0 0 56px; }
.ugf-footer .ugf-brand span { display:block;min-width:0; }
.ugf-footer .ugf-brand strong { display:block;color:#fff;font-size:17px;line-height:1.05;letter-spacing:.08em;font-weight:900; }
.ugf-footer .ugf-brand small { display:block;margin-top:8px;font-size:10px;color:var(--ugf-yellow);letter-spacing:.15em;font-weight:800; }
.ugf-footer .ugf-about>p { margin-top:25px;max-width:310px;line-height:1.78;font-size:14px; }
.ugf-footer .ugf-links { display:flex;align-items:flex-start;flex-direction:column;gap:11px; }
.ugf-footer .ugf-links h3,.ugf-footer .ugf-detail h3 { font-size:13px;font-weight:850;line-height:1.35;letter-spacing:.055em;margin:5px 0 9px; }
.ugf-footer .ugf-links a { font-size:14px;color:var(--ugf-muted)!important;line-height:1.4; }
.ugf-footer .ugf-links a:hover { color:var(--ugf-yellow)!important; }
.ugf-footer .ugf-detail .ugf-detail-title { color:#fff;font-size:15px;font-weight:750;line-height:1.47;margin:0 0 13px; }
.ugf-footer .ugf-detail>p:not(.ugf-detail-title) { font-size:13px;line-height:1.7; }
.ugf-footer .ugf-detail a { color:var(--ugf-yellow)!important;display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:750;margin-top:19px; }
.ugf-footer .ugf-detail a:hover { color:#fff!important; }
.ugf-footer .ugf-bottom { display:flex;align-items:center;justify-content:space-between;gap:16px 30px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);min-height:75px;padding:19px 0 22px; }
.ugf-footer .ugf-bottom p { font-size:12px;color:#9faab9;line-height:1.55; }
.ugf-footer .ugf-bottom p span { padding:0 3px; }
.ugf-footer .ugf-legal { display:flex;flex-wrap:wrap;gap:12px 24px; }
.ugf-footer .ugf-legal a { color:#bfc9d5!important;font-size:12px;line-height:1.5; }
.ugf-footer .ugf-legal a:hover { color:var(--ugf-yellow)!important; }
@media (max-width:1000px) {
  .ugf-footer .ugf-shell { width:calc(100% - 54px); }
  .ugf-footer .ugf-main { grid-template-columns:minmax(220px,1.3fr) repeat(2,minmax(130px,.8fr));row-gap:39px; }
  .ugf-footer .ugf-detail { grid-column:1/-1;display:flex;align-items:baseline;gap:18px 28px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:27px; }
  .ugf-footer .ugf-detail h3 { margin:0; }
  .ugf-footer .ugf-detail .ugf-detail-title { margin:0; }
  .ugf-footer .ugf-detail a { margin:0; }
}
@media (max-width:640px) {
  .ugf-footer .ugf-shell { width:calc(100% - 38px); }
  .ugf-footer .ugf-cta-row { flex-direction:column;align-items:stretch;gap:26px;padding:43px 0 37px; }
  .ugf-footer .ugf-kicker { font-size:9px;letter-spacing:.09em; }
  .ugf-footer .ugf-kicker span { margin:0 3px; }
  .ugf-footer .ugf-cta-copy h2 { font-size:clamp(32px,9vw,43px);margin:10px 0; }
  .ugf-footer .ugf-cta-copy p { font-size:14px; }
  .ugf-footer .ugf-cta { width:100%;min-height:54px; }
  .ugf-footer .ugf-main { grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 21px;padding:39px 0 41px; }
  .ugf-footer .ugf-about { grid-column:1/-1;max-width:none; }
  .ugf-footer .ugf-about>p { margin-top:20px;max-width:390px; }
  .ugf-footer .ugf-brand img { width:51px;height:54px;flex-basis:51px; }
  .ugf-footer .ugf-brand strong { font-size:15px; }
  .ugf-footer .ugf-links h3 { font-size:12px; }
  .ugf-footer .ugf-links a { font-size:13px; }
  .ugf-footer .ugf-detail { grid-column:1/-1;display:block;padding-top:25px; }
  .ugf-footer .ugf-detail .ugf-detail-title { margin:10px 0 6px; }
  .ugf-footer .ugf-detail a { margin-top:14px; }
  .ugf-footer .ugf-bottom { align-items:flex-start;flex-direction:column;gap:15px;padding:23px 0 26px; }
}
