.elementor-5382 .elementor-element.elementor-element-77bf367{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-97f590a *//* ============================================================
   FORCHETTE FORESTE 2026 - Landing
   Manifesto gastronomico / mappa illustrata di viaggio
   Prefisso classi: .ff-   ·   Self-contained, WP/Elementor safe
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,700;1,9..144,900&family=DM+Sans:wght@400;500;600;700;800&display=swap");

/* ---------- TOKENS ---------- */
.ff-root{
  --ff-blue:#1593c8;
  --ff-blue-light:#27a9df;
  --ff-navy:#0d3f5f;
  --ff-ink:#12313b;
  --ff-gold:#dfc545;
  --ff-gold-deep:#c39f29;
  --ff-rust:#8f2b16;
  --ff-rust-light:#b5421f;
  --ff-green:#2f6b53;
  --ff-ivory:#fff8e8;
  --ff-cream:#f4e6bf;
  --ff-paper:#fbf1d8;
  --ff-white:#ffffff;

  --ff-max:1180px;
  --ff-ease:cubic-bezier(.16,1,.3,1);
  --ff-border:3px solid var(--ff-ink);
  --ff-shadow:7px 7px 0 var(--ff-ink);
  --ff-shadow-sm:4px 4px 0 var(--ff-ink);

  /* talavera triangle border tile (echoes the logo rim) */
  --ff-tribar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18'%3E%3Crect width='48' height='18' fill='%230d3f5f'/%3E%3Cpolygon points='0,18 12,0 24,18' fill='%23dfc545'/%3E%3Cpolygon points='24,18 36,0 48,18' fill='%23fff8e8'/%3E%3Ccircle cx='12' cy='11' r='2.1' fill='%238f2b16'/%3E%3Ccircle cx='36' cy='11' r='2.1' fill='%231593c8'/%3E%3C/svg%3E");

  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ff-ink);
  background:var(--ff-ivory);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.ff-root *{box-sizing:border-box}
.ff-root img{max-width:100%;display:block}
.ff-root h1,.ff-root h2,.ff-root h3,.ff-root h4{
  font-family:"Fraunces","Playfair Display",Georgia,serif;
  margin:0;line-height:1.02;letter-spacing:-.01em;
}
.ff-root p{margin:0}
.ff-root a{color:inherit}

/* ---------- LAYOUT PRIMITIVES ---------- */
.ff-container{
  width:min(100% - 36px, var(--ff-max));
  margin-inline:auto;
}
.ff-section{
  position:relative;
  padding:clamp(60px,8vw,104px) 0;
  overflow:hidden;
}
.ff-section--tight{padding:clamp(46px,6vw,76px) 0}

/* decorative talavera edges on bands */
.ff-edge-top,.ff-edge-bot{position:absolute;left:0;right:0;height:18px;
  background-image:var(--ff-tribar);background-repeat:repeat-x;background-size:auto 18px;z-index:2}
.ff-edge-top{top:0}
.ff-edge-bot{bottom:0;transform:scaleY(-1)}

/* band colors */
.ff-band-ivory{background:var(--ff-ivory)}
.ff-band-cream{background:var(--ff-cream)}
.ff-band-paper{background:var(--ff-paper)}
.ff-band-blue{background:var(--ff-blue);color:var(--ff-ivory)}
.ff-band-navy{background:var(--ff-navy);color:var(--ff-ivory)}
.ff-band-rust{background:var(--ff-rust);color:var(--ff-ivory)}

/* faint atlas grid texture */
.ff-atlas::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    radial-gradient(circle, rgba(13,63,95,.10) 1.1px, transparent 1.2px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
}
.ff-band-navy.ff-atlas::before,
.ff-band-blue.ff-atlas::before,
.ff-band-rust.ff-atlas::before{
  background-image:radial-gradient(circle, rgba(255,248,232,.16) 1.1px, transparent 1.2px);
}

/* ---------- TYPE HELPERS ---------- */
.ff-kicker{
  display:inline-flex;align-items:center;gap:0;
  font-family:"DM Sans",sans-serif;
  font-weight:800;text-transform:uppercase;letter-spacing:.16em;
  font-size:13px;
  line-height:1.25;
  color:var(--ff-rust);
  margin:0 0 16px;
}
.ff-band-blue .ff-kicker,.ff-band-navy .ff-kicker,.ff-band-rust .ff-kicker{color:var(--ff-gold)}
.ff-kicker::before{content:none;display:none}

.ff-h2{
  font-size:clamp(32px,4.6vw,60px);
  line-height:1.12;
  font-weight:900;
  position:relative;
  padding-bottom:20px;
}
.ff-h2 span{display:block}
.ff-h2 span + span{margin-top:.08em}
.ff-h2::after{
  content:"";position:absolute;left:0;bottom:0;height:5px;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--ff-gold),var(--ff-rust));
  transition:width .8s var(--ff-ease) .15s;
}
.ff-h2.is-visible::after{width:90px}
.ff-h2--center{text-align:center}
.ff-h2--center::after{left:50%;transform:translateX(-50%)}

.ff-lead{
  font-size:clamp(17px,1.7vw,21px);
  line-height:1.55;
  max-width:62ch;
  color:inherit;
}
.ff-band-cream .ff-lead,.ff-band-ivory .ff-lead,.ff-band-paper .ff-lead{color:#2c4a55}

/* ---------- BUTTONS ---------- */
.ff-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:"DM Sans",sans-serif;font-weight:800;font-size:16px;
  text-decoration:none;cursor:pointer;
  padding:15px 28px;min-height:54px;border-radius:999px;
  border:var(--ff-border);
  transition:transform .2s var(--ff-ease), box-shadow .2s var(--ff-ease), background .2s ease, color .2s ease;
}
.ff-btn svg{width:18px;height:18px}
.ff-btn--primary{background:var(--ff-gold);color:var(--ff-ink);box-shadow:var(--ff-shadow-sm)}
.ff-btn--primary:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ff-ink)}
.ff-btn--rust{background:var(--ff-rust);color:var(--ff-ivory);box-shadow:var(--ff-shadow-sm)}
.ff-btn--rust:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ff-ink)}
.ff-btn--ghost{background:transparent;color:var(--ff-ink);box-shadow:none}
.ff-btn--ghost:hover{background:var(--ff-ink);color:var(--ff-ivory);transform:translateY(-2px)}
/* light variants on dark bands */
.ff-band-blue .ff-btn--ghost,.ff-band-navy .ff-btn--ghost,.ff-band-rust .ff-btn--ghost{color:var(--ff-ivory);border-color:var(--ff-ivory)}
.ff-band-blue .ff-btn--ghost:hover,.ff-band-navy .ff-btn--ghost:hover,.ff-band-rust .ff-btn--ghost:hover{background:var(--ff-ivory);color:var(--ff-ink)}
.ff-btn--lg{font-size:17px;padding:17px 34px;min-height:60px}
.ff-btn[aria-disabled="true"]{opacity:.55;pointer-events:none;box-shadow:none}

/* ---------- REVEAL ---------- */
.ff-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ff-ease),transform .7s var(--ff-ease)}
.ff-reveal.is-visible{opacity:1;transform:none}
.ff-trail .ff-tappa.ff-reveal,
.ff-trail__note.ff-reveal,
.ff-cards .ff-ticket.ff-reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
@media (prefers-reduced-motion:reduce){
  .ff-reveal{opacity:1;transform:none;transition:none}
  .ff-h2::after{transition:none}
}

/* ============================================================
   HERO
   ============================================================ */
.ff-hero{
  position:relative;
  background:
    radial-gradient(120% 90% at 85% 0%, var(--ff-blue-light) 0%, var(--ff-blue) 42%, var(--ff-navy) 100%);
  color:var(--ff-ivory);
  padding:clamp(22px,3.2vw,42px) 0 clamp(42px,5vw,64px);
  overflow:hidden;
  /* GUARD ELEMENTOR: il contenitore della pagina può imporre min-height / max-height /
     display:flex centrato sulla hero, che con overflow:hidden ritaglia il contenuto
     (es. pulsanti CTA e logo). Forziamo la hero a crescere in altezza naturale.
     Fix pulito alternativo: in Elementor azzerare Altezza/Altezza minima e la
     centratura verticale del contenitore che ospita questo blocco. */
  display:block !important;
  min-height:0 !important;
  max-height:none !important;
  height:auto !important;
}
.ff-hero__edge{position:absolute;left:0;right:0;bottom:0;height:18px;
  background-image:var(--ff-tribar);background-repeat:repeat-x;background-size:auto 18px;
  transform:scaleY(-1);z-index:1;pointer-events:none}
/* decorative rays + dotted compass behind */
.ff-hero::before{
  content:"";position:absolute;top:-32%;right:-18%;width:680px;height:680px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg, rgba(255,248,232,.16) 0 4deg, transparent 4deg 9deg);
  -webkit-mask:radial-gradient(circle, #000 56%, transparent 60%);
          mask:radial-gradient(circle, #000 56%, transparent 60%);
  opacity:.7;z-index:0;animation:ffSpin 120s linear infinite;
}
.ff-hero::after{
  content:"";position:absolute;left:-12%;bottom:-22%;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(223,197,69,.30) 0%, transparent 68%);z-index:0;
}
@keyframes ffSpin{to{transform:rotate(360deg)}}

.ff-hero__inner{position:relative;z-index:3;display:grid;grid-template-columns:1.14fr .86fr;gap:clamp(24px,3.2vw,46px);align-items:center}
.ff-hero__copy{max-width:720px}
.ff-hero__tag{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,248,232,.14);border:2px solid rgba(255,248,232,.5);
  color:var(--ff-ivory);font-weight:800;text-transform:uppercase;letter-spacing:.12em;
  font-size:13px;padding:8px 16px;border-radius:999px;margin-bottom:22px;
  backdrop-filter:blur(2px);
}
.ff-hero__tag b{color:var(--ff-gold)}
.ff-root .ff-hero__brand{
  font-size:clamp(15px,1.5vw,18px);font-family:"DM Sans",sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.32em;color:var(--ff-gold);margin:0 0 clamp(34px,3.4vw,48px);
}
.ff-root .ff-hero__title{
  font-size:clamp(42px,4.25vw,64px);font-weight:900;line-height:1.32;
  text-shadow:0 4px 0 rgba(13,63,95,.35);
  padding-bottom:.08em;
}
.ff-hero__title-line{display:block;white-space:nowrap}
.ff-hero__title-line + .ff-hero__title-line{margin-top:.18em}
.ff-root .ff-hero__title .ff-hero__title-line em{display:inline !important;font-style:italic;color:var(--ff-gold);padding-right:.04em;white-space:nowrap}
.ff-hero__sub{margin:15px 0 0;font-size:clamp(15px,1.35vw,17px);max-width:none;color:rgba(255,248,232,.92)}

/* event date - save the date */
.ff-hero__date{
  display:inline-flex;align-items:center;gap:16px;
  margin:18px 0 0;padding:12px 20px 12px 14px;
  background:rgba(13,63,95,.34);border:2px solid var(--ff-gold);
  border-radius:18px;box-shadow:4px 4px 0 rgba(13,63,95,.45);
  backdrop-filter:blur(2px);
}
.ff-hero__date-ico{
  flex:none;width:42px;height:42px;border-radius:13px;
  background:var(--ff-gold);color:var(--ff-ink);
  display:grid;place-items:center;
}
.ff-hero__date-ico svg{width:24px;height:24px}
.ff-hero__date-txt{display:flex;flex-direction:column;line-height:1.15}
.ff-hero__date-k{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--ff-gold)}
.ff-hero__date-v{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(20px,2.2vw,26px);color:var(--ff-ivory);margin:2px 0}
.ff-hero__date-sub{font-size:13px;font-weight:600;color:rgba(255,248,232,.82)}

.ff-hero__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 20px;max-width:520px}
.ff-fact{
  background:rgba(255,248,232,.1);border:2px solid rgba(255,248,232,.34);
  border-radius:16px;padding:10px 14px;backdrop-filter:blur(2px);
}
.ff-fact__k{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ff-gold);margin-bottom:4px}
.ff-fact__v{display:block;font-family:"Fraunces",serif;font-weight:700;font-size:clamp(16px,1.8vw,20px);line-height:1.12}

.ff-hero__cta{position:relative;z-index:6;display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* countdown */
.ff-countdown{display:flex;gap:9px;align-items:flex-end;margin:18px 0 0}
.ff-cd{display:flex;flex-direction:column;align-items:center;min-width:60px;
  background:rgba(13,63,95,.4);border:2px solid rgba(255,248,232,.34);border-radius:14px;padding:8px 8px}
.ff-cd__n{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(24px,2.4vw,32px);line-height:1;color:var(--ff-gold)}
.ff-cd__l{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-top:5px;opacity:.85}

/* hero medallion (logo plate) */
.ff-hero__plate{position:relative;display:flex;justify-content:center;align-items:center}
.ff-hero__plate-ring{
  position:absolute;inset:-4%;border-radius:50%;
  border:2px dashed rgba(255,248,232,.5);
  animation:ffSpin 90s linear infinite reverse;
}
.ff-hero__logo{
  width:min(82%,400px);height:auto;border-radius:50%;
  filter:drop-shadow(0 18px 30px rgba(13,63,95,.5));
  animation:ffBob 6s ease-in-out infinite alternate;
}
@keyframes ffBob{from{transform:translateY(0)}to{transform:translateY(-14px)}}
.ff-hero__stamp{
  position:absolute;bottom:2%;right:4%;
  width:132px;height:132px;border-radius:50%;
  background:var(--ff-rust);color:var(--ff-ivory);border:3px solid var(--ff-ivory);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font-family:"Fraunces",serif;font-weight:900;line-height:.82;
  box-shadow:5px 5px 0 rgba(13,63,95,.5);transform:rotate(-9deg);
}
.ff-hero__stamp span{font-size:12px;font-family:"DM Sans",sans-serif;font-weight:900;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:2px}
.ff-hero__stamp b{font-size:58px;display:block;line-height:.86}
.ff-hero__stamp small{font-size:12px;display:block;font-weight:800;margin-top:2px}

@media (min-width:1025px){
  .ff-hero{
    min-height:calc(100vh - 90px) !important;
    padding-top:clamp(12px,1.6vw,24px);
    padding-bottom:34px;
    display:flex !important;
    align-items:center;
  }
  .ff-hero > .ff-container{width:min(100% - 160px, 1220px)}
  .ff-hero__title-line{white-space:nowrap}
  .ff-hero__inner{padding-bottom:clamp(36px,4vw,54px)}
  .ff-hero__cta{transform:none!important;margin-top:24px}
  .ff-hero__logo{width:min(76%,360px)}
  .ff-countdown{
    position:absolute;
    top:clamp(18px,2vw,34px);
    left:calc(100vw - 760px);
    right:auto;
    z-index:9;
    margin:0;
  }
  .ff-cd{
    background:rgba(13,63,95,.96);
    border-color:rgba(255,248,232,.92);
    box-shadow:0 14px 26px rgba(13,49,59,.34),0 0 0 1px rgba(223,197,69,.22);
  }
  .ff-cd__n{
    color:var(--ff-gold);
    text-shadow:0 2px 0 rgba(143,43,22,.42);
  }
  .ff-cd__l{color:var(--ff-ivory);opacity:1}
  .ff-intro .ff-container{width:min(100% - 160px, 1180px)}
}
@media (min-width:1025px) and (max-width:1320px){
  .ff-hero{
    padding-top:12px!important;
    padding-bottom:78px!important;
  }
  .ff-hero__copy{
    transform:none!important;
  }
  .ff-hero__cta{
    margin-top:10px;
  }
  .ff-hero__cta .ff-btn{
    min-height:56px;
    padding:12px 28px;
  }
}
@media (min-width:1321px) and (max-height:820px){
  .ff-hero__copy{
    transform:none!important;
  }
  .ff-root .ff-hero__brand{
    margin-bottom:14px!important;
  }
  .ff-root .ff-hero__title{
    font-size:clamp(40px,3.6vw,52px)!important;
    line-height:1.12!important;
  }
  .ff-hero__title-line + .ff-hero__title-line{
    margin-top:.04em!important;
  }
  .ff-hero__sub{
    margin-top:8px!important;
  }
  .ff-hero__date{
    margin-top:10px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .ff-hero__facts{
    margin-top:10px!important;
    margin-bottom:8px!important;
    gap:6px!important;
  }
  .ff-fact{
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  .ff-hero__cta{
    margin-top:8px!important;
  }
  .ff-hero__cta .ff-btn{
    min-height:56px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
}

/* ============================================================
   INTRO
   ============================================================ */
.ff-intro{
  background-color:var(--ff-cream);
  background-image:
    linear-gradient(rgba(244,230,191,.84), rgba(244,230,191,.9)),
    url("https://contattogenova.cloud/wp-content/uploads/2026/06/4815-scaled.jpg");
  background-size:cover;background-position:center;background-attachment:scroll;
}
.ff-intro .ff-container{width:min(100% - 36px, 1180px)}
.ff-intro__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:clamp(28px,4vw,56px);align-items:center}
.ff-intro__text{margin-left:0}
.ff-intro .ff-h2{font-size:clamp(34px,3.65vw,54px);line-height:1.16}
.ff-intro .ff-h2 span{white-space:nowrap}
.ff-intro__text p+p{margin-top:16px}
.ff-intro__text strong{color:var(--ff-rust)}
.ff-intro__stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:390px;justify-self:end}
.ff-stat{
  position:relative;background:var(--ff-white);border:var(--ff-border);border-radius:20px;
  padding:22px 16px;text-align:center;box-shadow:var(--ff-shadow-sm);
}
.ff-stat:nth-child(2){background:var(--ff-gold)}
.ff-stat:nth-child(3){background:var(--ff-blue);color:var(--ff-ivory)}
.ff-stat:nth-child(4){background:var(--ff-rust);color:var(--ff-ivory)}
.ff-stat__n{display:block;font-family:"Fraunces",serif;font-weight:900;font-size:clamp(34px,4.4vw,52px);line-height:1}
.ff-stat__l{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:8px}

/* ============================================================
   LOCANDINA - manifesto dell'evento
   ============================================================ */
.ff-locandina__grid{
  display:grid;grid-template-columns:1fr .85fr;gap:clamp(30px,5vw,64px);align-items:center;
}
.ff-locandina__copy .ff-lead{margin-top:34px}
.ff-locandina__list{list-style:none;margin:34px 0 0;padding:0 0 34px;display:grid;gap:16px}
.ff-locandina__list li{display:flex;align-items:flex-start;gap:11px;font-weight:600;color:rgba(255,248,232,.92);font-size:clamp(15px,1.5vw,17px)}
.ff-locandina__list svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--ff-gold)}
.ff-institutional__label{
  margin:0 0 16px;font-size:12px;font-weight:900;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ff-gold);
}
.ff-institutional{
  margin-top:0;padding-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;align-items:center;max-width:560px;
}
.ff-institutional img{
  width:100%;height:64px;object-fit:contain;background:#fff;
  border-radius:14px;padding:10px;border:1px solid rgba(255,248,232,.45);
}
.ff-locandina__poster{
  margin:0;position:relative;justify-self:center;max-width:480px;
  transform:rotate(1.4deg);transition:transform .3s var(--ff-ease);
}
.ff-locandina__poster:hover{transform:rotate(0deg) translateY(-4px)}
.ff-locandina__poster img{
  width:100%;height:auto;border-radius:10px;
  border:6px solid var(--ff-ivory);
  box-shadow:var(--ff-shadow),0 24px 44px rgba(0,0,0,.35);
}
.ff-locandina__poster figcaption{
  position:absolute;top:-16px;left:50%;transform:translateX(-50%) rotate(-2deg);
  background:var(--ff-rust);color:var(--ff-ivory);
  font-family:"DM Sans",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  font-size:12px;padding:7px 16px;border-radius:999px;border:2px solid var(--ff-ivory);
  box-shadow:3px 3px 0 rgba(13,63,95,.5);white-space:nowrap;
}

/* ============================================================
   PERCORSO - Le 7 tappe
   ============================================================ */
.ff-percorso__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}
.ff-percorso__legend{display:flex;flex-wrap:wrap;gap:10px}
.ff-pill{
  display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;
  padding:7px 13px;border-radius:999px;border:2px solid var(--ff-ink);background:var(--ff-white);
}
.ff-pill i{width:11px;height:11px;border-radius:50%;display:inline-block}
.ff-pill--anti i{background:var(--ff-blue)}
.ff-pill--primo i{background:var(--ff-green)}
.ff-pill--secondo i{background:var(--ff-rust)}
.ff-pill--dolce i{background:var(--ff-gold)}

.ff-trail{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  margin-top:40px;
  overflow:visible;
  overflow-y:visible;
  padding:0;
}
.ff-trail::-webkit-scrollbar{height:10px}
.ff-trail::-webkit-scrollbar-track{background:rgba(13,63,95,.12);border-radius:999px}
.ff-trail::-webkit-scrollbar-thumb{background:var(--ff-blue);border-radius:999px}
.ff-tappa{
  position:relative;background:var(--ff-white);border:var(--ff-border);border-radius:22px;
  padding:22px 24px 24px;box-shadow:4px 5px 0 var(--ff-ink);
  transition:transform .22s var(--ff-ease),box-shadow .22s var(--ff-ease);
  display:grid;
  grid-template-columns:82px 148px minmax(0,1fr) 220px;
  grid-template-areas:
    "top country country logo"
    "top name name logo"
    "top portata address logo"
    "food food food logo"
    "desc desc desc logo"
    "proposal proposal proposal logo"
    "details details details logo";
  gap:12px 22px;
  align-content:start;
  min-height:282px;
}
.ff-tappa:hover{transform:translateY(-4px);box-shadow:6px 7px 0 var(--ff-ink)}
.ff-tappa:nth-child(3n+1){background:linear-gradient(90deg,rgba(21,147,200,.10) 0 9px,var(--ff-white) 9px)}
.ff-tappa:nth-child(3n+2){background:linear-gradient(90deg,rgba(223,197,69,.18) 0 9px,var(--ff-white) 9px)}
.ff-tappa:nth-child(3n){background:linear-gradient(90deg,rgba(143,43,22,.10) 0 9px,var(--ff-white) 9px)}
.ff-tappa--placeholder{background:linear-gradient(90deg,rgba(223,197,69,.28) 0 9px,var(--ff-cream) 9px);border-style:dashed}

.ff-tappa__top{grid-area:top;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;min-height:0;margin-bottom:0}
.ff-medallion{
  position:relative;width:52px;height:52px;flex:none;border-radius:50%;
  background:radial-gradient(circle at 50% 38%, var(--ff-gold) 0 58%, var(--ff-gold-deep) 60% 100%);
  border:3px solid var(--ff-ink);display:grid;place-items:center;
  font-family:"Fraunces",serif;font-weight:900;font-size:23px;color:var(--ff-ink);
  box-shadow:0 0 0 3px var(--ff-white),0 0 0 5px var(--ff-blue);
}
.ff-tappa__top .ff-flag{display:none}
.ff-flag,.ff-country-flag{font-size:38px;line-height:1;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}
.ff-tappa__country{
  grid-area:country;display:flex;align-items:center;gap:13px;
  font-family:"DM Sans",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
  font-size:15px;line-height:1.15;color:var(--ff-rust);min-height:0;margin:0;align-self:end;
}
.ff-country-flag{font-size:34px}
.ff-tappa__name{grid-area:name;font-size:25px;font-weight:900;line-height:1.05;color:var(--ff-ink);min-height:0;margin:0;align-self:start}
.ff-tappa__portata{
  grid-area:portata;
  width:100%;min-width:126px;justify-content:center;
  display:inline-flex;align-items:center;gap:8px;margin-top:0;align-self:center;
  font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap;
  padding:7px 11px;border-radius:999px;border:2px solid var(--ff-ink);background:rgba(255,248,232,.84);
}
.ff-tappa__portata i{display:block;flex:0 0 10px;width:10px;height:10px;border-radius:50%}
.ff-tappa[data-portata="antipasto"] .ff-tappa__portata i{background:var(--ff-blue)}
.ff-tappa[data-portata="primo"] .ff-tappa__portata i{background:var(--ff-green)}
.ff-tappa[data-portata="secondo"] .ff-tappa__portata i{background:var(--ff-rust)}
.ff-tappa[data-portata="dolce"] .ff-tappa__portata i{background:var(--ff-gold)}
.ff-tappa__address,
.ff-tappa__proposal,
.ff-tappa__desc{
  margin:0!important;font-size:12.4px!important;line-height:1.22!important;font-weight:900;color:#355664;
}
.ff-tappa__address{grid-area:address;align-self:center;font-size:13.2px!important;line-height:1.25!important}
.ff-tappa__address a{
  color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;
  text-underline-offset:3px;text-decoration-color:rgba(21,147,200,.55);
}
.ff-tappa__address a:hover,
.ff-tappa__address a:focus-visible{
  color:var(--ff-blue);text-decoration-color:var(--ff-rust);outline:none;
}
.ff-tappa__proposal{
  grid-area:proposal;align-self:start;color:var(--ff-rust);border-top:1px solid rgba(18,49,59,.16);
  padding-top:8px;font-size:13px!important;line-height:1.25!important;
}
.ff-tappa__desc{
  grid-area:desc;align-self:start;font-weight:700!important;color:#244654;
  background:rgba(255,248,232,.72);border:1px solid rgba(18,49,59,.14);
  border-radius:14px;padding:9px 12px;font-size:13.4px!important;line-height:1.34!important;
}
.ff-tappa__food{
  grid-area:food;
  display:grid;gap:6px;align-self:start;margin:0;
  border-top:1px solid rgba(18,49,59,.14);padding-top:12px;
}
.ff-tappa__food strong{
  font-family:"Fraunces",serif;font-size:20px;line-height:1.08;color:var(--ff-rust);
}
.ff-tappa__food span{
  font-size:13px;line-height:1.26;font-weight:800;color:#244654;
}
.ff-tappa__food span b{color:var(--ff-rust);text-transform:uppercase;letter-spacing:.045em;font-size:11px}
.ff-tappa__details{
  grid-area:details;align-self:start;margin:0;padding:0;font-size:11.6px;line-height:1.25;color:#244654;
}
.ff-tappa__details summary{
  display:inline-flex;align-items:center;cursor:pointer;list-style:none;
  border:2px solid rgba(18,49,59,.36);border-radius:999px;padding:5px 9px;
  font-size:10.5px;line-height:1;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--ff-ink);
}
.ff-tappa__details summary::-webkit-details-marker{display:none}
.ff-tappa__details[open] summary{background:var(--ff-gold);border-color:var(--ff-ink)}
.ff-tappa__details p{margin:7px 0 0!important}
.ff-tappa__logo{
  grid-area:logo;margin-top:0;padding-top:0;min-height:100%;display:flex;align-items:center;justify-content:center;overflow:visible;
  align-self:stretch;justify-self:stretch;position:relative;z-index:1;
}
.ff-tappa__logo img{height:140px;width:100%;max-width:190px;object-fit:contain;filter:none}
.ff-tappa:nth-child(2) .ff-tappa__logo img,
.ff-tappa:nth-child(3) .ff-tappa__logo img,
.ff-tappa:nth-child(5) .ff-tappa__logo img,
.ff-tappa:nth-child(6) .ff-tappa__logo img,
.ff-tappa:nth-child(7) .ff-tappa__logo img{height:150px;max-width:198px}
.ff-tappa:nth-child(3) .ff-tappa__logo img{height:158px;max-width:168px;transform:none}
.ff-tappa:nth-child(6) .ff-tappa__logo img{height:154px;max-width:170px}
.ff-tappa__ph{
  margin-top:0;padding-top:22px;min-height:112px;display:flex;align-items:flex-end;justify-content:center;gap:8px;
  font-size:12px;font-weight:700;color:#6a5a3a;
}
.ff-tappa__ph svg{width:30px;height:30px;flex:none;opacity:.7}

.ff-root .ff-trail__note{
  position:relative;z-index:1;display:block;margin-top:48px!important;text-align:center;
  font-weight:800;color:#244654;background:rgba(255,248,232,.9);border-radius:999px;padding:14px 20px;
}

/* ============================================================
   CARD - adulti / bimbi
   ============================================================ */
.ff-cards .ff-kicker{color:var(--ff-rust)!important;text-shadow:none!important}
.ff-cards .ff-h2{color:var(--ff-blue)!important;text-shadow:none!important}
.ff-cards .ff-lead{font-weight:800;color:var(--ff-ink)!important;text-shadow:none!important}
.ff-cards .ff-container{width:min(100% - 80px,1320px)}
.ff-cards__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.ff-root .ff-ticket{
  position:relative;background:var(--ff-ivory);color:var(--ff-ink);
  border:var(--ff-border)!important;border-radius:26px!important;padding:34px 30px!important;
  box-shadow:var(--ff-shadow)!important;overflow:visible;display:flex!important;
  flex-direction:column!important;gap:15px!important;min-height:620px!important;
}
.ff-root .ff-ticket--adulti{
  background:linear-gradient(90deg,var(--ff-blue) 0 12px,var(--ff-white) 12px 100%)!important;
}
.ff-root .ff-ticket--bimbi{
  background:linear-gradient(90deg,var(--ff-rust) 0 12px,var(--ff-gold) 12px 100%)!important;
  color:var(--ff-ink)!important;
}
.ff-root .ff-ticket--vegetariana{
  background:linear-gradient(90deg,var(--ff-green) 0 12px,var(--ff-ivory) 12px 100%)!important;
}
.ff-root .ff-ticket--vegetariana .ff-ticket__price b{color:var(--ff-green)}
.ff-root .ff-ticket--vegetariana .ff-ticket__cta .ff-btn{background:var(--ff-green);color:var(--ff-ivory)}
.ff-root .ff-ticket--vegetariana .ff-ticket__cta .ff-btn:hover{background:var(--ff-green);color:var(--ff-ivory)}
.ff-root .ff-ticket__ribbon{
  position:absolute;top:22px;right:-44px;transform:rotate(45deg);
  background:var(--ff-rust);color:var(--ff-ivory);font-size:11px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;padding:7px 52px;border:2px solid var(--ff-ink);
}
.ff-root .ff-ticket__badge{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  color:var(--ff-rust);margin:0!important;min-height:0!important}
.ff-root .ff-ticket__title{font-size:30px;font-weight:900;align-self:start;margin:0!important;min-height:0!important}
.ff-root .ff-ticket__price{display:flex;align-items:baseline;gap:8px;margin:6px 0 0!important;align-self:flex-start;min-height:0!important}
.ff-ticket__price b{font-family:"Fraunces",serif;font-size:clamp(50px,7vw,68px);font-weight:900;line-height:1;color:var(--ff-rust)}
.ff-ticket--bimbi .ff-ticket__price b{color:var(--ff-rust)}
.ff-ticket__price span{font-weight:800;font-size:17px}
.ff-root .ff-ticket__meta{font-weight:800;color:#244654;align-self:start;margin:0!important;min-height:0!important}
.ff-ticket--bimbi .ff-ticket__meta{color:#12313b}
.ff-root .ff-ticket__list,
.ff-root .ff-ticket--bimbi .ff-ticket__list{
  list-style:none;margin:6px 0 0!important;padding:0!important;display:grid!important;
  grid-template-rows:none!important;gap:13px!important;min-height:0!important;flex:1 1 auto;
}
.ff-root .ff-ticket--bimbi .ff-ticket__list li:first-child,
.ff-root .ff-ticket--bimbi .ff-ticket__list li:nth-child(2),
.ff-root .ff-ticket--bimbi .ff-ticket__list li:nth-child(3){grid-row:auto!important}
.ff-root .ff-ticket__list li{
  display:grid;grid-template-columns:9px minmax(0,1fr);gap:13px;align-items:start;
  font-weight:800;font-size:15.3px;line-height:1.38;color:#12313b;min-height:0!important;
}
.ff-root .ff-ticket__list li::before{
  content:"";width:9px;height:9px;border-radius:50%;display:block;
  background:var(--ff-blue);margin-top:.06em;
}
.ff-ticket__sync{min-height:0}
.ff-ticket__list svg{display:none!important}
.ff-root .ff-ticket__stops{margin-top:auto!important;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;align-self:stretch;min-height:0!important}
.ff-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;white-space:nowrap;
  padding:6px 8px;border-radius:999px;background:var(--ff-white);border:2px solid var(--ff-ink)}
.ff-ticket--bimbi .ff-chip{background:var(--ff-ivory)}
.ff-ticket--bimbi .ff-ticket__stops .ff-chip{font-size:11.2px;padding:7px 8px}
.ff-root .ff-ticket__cta{margin-top:0!important;margin-bottom:0!important;align-self:stretch;min-height:0!important}
.ff-ticket__cta .ff-btn{width:100%}
.ff-root .ff-ticket__cta .ff-btn{
  border-color:var(--ff-ink);
  box-shadow:var(--ff-shadow-sm)!important;
}
.ff-root .ff-ticket__cta .ff-btn:hover{
  transform:translate(-2px,-2px);
  box-shadow:7px 7px 0 var(--ff-ink)!important;
}
.ff-ticket--adulti .ff-ticket__cta .ff-btn{background:var(--ff-gold);color:var(--ff-ink)}
.ff-ticket--bimbi .ff-ticket__cta .ff-btn{background:var(--ff-rust);color:var(--ff-ivory)}
.ff-ticket--bimbi .ff-ticket__cta .ff-btn:hover{background:var(--ff-rust);color:var(--ff-ivory)}

/* ============================================================
   MAPPA SCARICABILE
   ============================================================ */
.ff-map{
  background:var(--ff-rust);
}
.ff-map__box{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;
  background:var(--ff-ivory);border:var(--ff-border);border-radius:26px;
  padding:clamp(28px,4vw,46px);box-shadow:var(--ff-shadow-sm);
}
.ff-map .ff-h2{color:var(--ff-rust)}
.ff-map .ff-lead{max-width:66ch;color:#244654;font-weight:800}
.ff-map__button{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  min-height:58px;padding:14px 22px;border-radius:999px;border:3px dashed var(--ff-rust);
  background:var(--ff-gold);color:var(--ff-ink);font-weight:900;white-space:nowrap;
}

/* ============================================================
   FASCE ORARIE - tabellone partenze
   ============================================================ */
.ff-board{
  margin-top:34px;border:var(--ff-border);border-radius:24px;overflow:hidden;
  box-shadow:var(--ff-shadow);background:var(--ff-navy);
}
.ff-board__head,.ff-board__row{
  display:grid;grid-template-columns:1.3fr .9fr .9fr .9fr;align-items:center;
}
.ff-board__head{
  background:var(--ff-ink);color:var(--ff-gold);
  font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:13px;
}
.ff-board__head>span,.ff-board__row>span{padding:16px 20px;display:flex;align-items:center;gap:10px}
.ff-board__head>span+span,.ff-board__row>span+span{border-left:1px solid rgba(255,248,232,.16);justify-content:center}
.ff-board__row{color:var(--ff-ivory);border-top:1px solid rgba(255,248,232,.14)}
.ff-board__row:nth-child(even){background:rgba(255,248,232,.05)}
.ff-board__time{font-family:"Fraunces",serif;font-weight:800;font-size:clamp(18px,2.2vw,23px)}
.ff-board__time svg{width:18px;height:18px;color:var(--ff-gold);flex:none}
.ff-board__posti{flex-direction:column;gap:2px;text-align:center}
.ff-board__posti b{font-family:"Fraunces",serif;font-size:22px;font-weight:900;line-height:1}
.ff-board__posti--adulti b{color:var(--ff-gold)}
.ff-board__posti--veg b{color:#75c8a1}
.ff-board__posti--bimbi b{color:var(--ff-blue-light)}
.ff-board__posti small{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
.ff-board__legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:22px;font-weight:700;font-size:14px}
.ff-board__legend span{display:inline-flex;align-items:center;gap:8px}
.ff-board__legend i{width:13px;height:13px;border-radius:50%}
.ff-dot-adulti{background:var(--ff-gold)}
.ff-dot-veg{background:var(--ff-green)}
.ff-dot-bimbi{background:var(--ff-blue)}

/* ============================================================
   VISITA GUIDATA
   ============================================================ */
.ff-tour{
  background:
    linear-gradient(90deg,var(--ff-ink) 0 18%,var(--ff-blue) 18% 100%);
  color:var(--ff-ivory);
}
.ff-tour__box{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;
  border:3px solid var(--ff-ivory);border-radius:26px;padding:clamp(30px,4vw,48px);
  background:linear-gradient(135deg,var(--ff-rust) 0 48%,#12313b 48% 100%);
  box-shadow:var(--ff-shadow-sm);
}
.ff-tour .ff-kicker{color:var(--ff-gold)}
.ff-tour .ff-kicker::before{background:var(--ff-ivory)}
.ff-tour .ff-h2{color:var(--ff-ivory);text-shadow:4px 4px 0 rgba(13,63,95,.45)}
.ff-tour .ff-h2::after{background:linear-gradient(90deg,var(--ff-gold),var(--ff-blue))}
.ff-tour .ff-lead{font-weight:800;color:#fff8e8;max-width:70ch}
.ff-tour .ff-btn--rust{
  background:var(--ff-gold);color:var(--ff-ink)!important;border-color:var(--ff-ivory);
  box-shadow:var(--ff-shadow-sm);
}
.ff-tour .ff-btn--rust:hover{background:var(--ff-ivory);color:var(--ff-rust)!important}

/* ============================================================
   APERITIVO
   ============================================================ */
.ff-aperitivo__box{
  position:relative;border:3px solid var(--ff-gold);border-radius:30px;
  padding:clamp(28px,4vw,52px);background:rgba(13,63,95,.28);
  display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;
}
.ff-aperitivo__box::before{
  content:"";position:absolute;inset:10px;border:1.5px dashed rgba(223,197,69,.5);border-radius:22px;pointer-events:none}
.ff-aperitivo__copy{position:relative}
.ff-aperitivo__pretitle{color:var(--ff-gold);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin-bottom:10px}
.ff-aperitivo__title{font-size:clamp(30px,4vw,52px);font-weight:900}
.ff-aperitivo__copy p{margin-top:16px;font-size:clamp(16px,1.7vw,19px);color:rgba(255,248,232,.92);max-width:48ch}
.ff-aperitivo__copy strong{color:var(--ff-gold)}
.ff-aperitivo__prices{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
.ff-aperitivo__prices .ff-chip{
  background:var(--ff-ivory);color:var(--ff-ink);font-weight:900;
  font-size:clamp(15px,1.25vw,18px);line-height:1;
  padding:12px 16px;border-width:3px;box-shadow:4px 4px 0 rgba(18,49,59,.36);
}
.ff-aperitivo__prices .ff-chip::first-letter{font-size:1.35em}
.ff-aperitivo__when{position:relative;display:grid;gap:12px}
.ff-when-card{background:var(--ff-ivory);color:var(--ff-ink);border:var(--ff-border);border-radius:18px;padding:16px 18px;box-shadow:var(--ff-shadow-sm)}
.ff-when-card span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ff-rust);margin-bottom:3px}
.ff-when-card b{font-family:"Fraunces",serif;font-size:20px;font-weight:800;line-height:1.1}

/* ============================================================
   BOOKING placeholder
   ============================================================ */
.ff-booking{
  background:#1593c8!important;
  color:var(--ff-ivory);
  padding-top:clamp(86px,8vw,118px);
  padding-bottom:clamp(86px,8vw,118px);
}
.ff-booking .ff-kicker{color:var(--ff-gold)}
.ff-booking .ff-h2{color:var(--ff-ivory);text-shadow:0 4px 0 rgba(13,63,95,.34)}
.ff-booking .ff-h2::after{background:linear-gradient(90deg,var(--ff-gold),var(--ff-rust))}
.ff-booking .ff-edge-top::after,
.ff-booking .ff-edge-bot::after{
  content:"";position:absolute;left:0;right:0;height:18px;
  background-image:var(--ff-tribar);background-repeat:repeat-x;background-size:auto 18px;
}
.ff-booking .ff-edge-top::after{top:24px}
.ff-booking .ff-edge-bot::after{bottom:24px}
.ff-booking__box{
  max-width:760px;margin:30px auto 0;text-align:center;
  background:var(--ff-ivory);color:var(--ff-ink);
  border:3px dashed var(--ff-navy);border-radius:26px;
  padding:clamp(32px,5vw,52px);position:relative;
}
.ff-booking__icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;
  background:var(--ff-gold);border:var(--ff-border);display:grid;place-items:center;box-shadow:var(--ff-shadow-sm)}
.ff-booking__icon svg{width:30px;height:30px;color:var(--ff-ink)}
.ff-booking__box h3{font-size:clamp(24px,3vw,34px);font-weight:900;margin-bottom:12px}
.ff-booking__box p{color:#42606b;max-width:54ch;margin:0 auto;font-size:16.5px}
.ff-booking__tag{display:inline-flex;align-items:center;gap:9px;margin-top:22px;
  background:var(--ff-navy);color:var(--ff-ivory);font-weight:800;letter-spacing:.04em;
  padding:11px 20px;border-radius:999px;font-size:14px}
.ff-booking__tag i{width:9px;height:9px;border-radius:50%;background:var(--ff-gold);animation:ffPulse 1.6s ease-in-out infinite}
@keyframes ffPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.ff-booking__contact{margin-top:34px!important;font-weight:600}
.ff-booking__contact a{color:var(--ff-rust);font-weight:800;text-decoration:underline;text-underline-offset:3px}
/* Amelia mount point (used once embedded in WP) */
.ff-booking__amelia:empty{display:none}
.ff-booking__amelia.is-empty{display:none!important}
.ff-booking__amelia{
  max-width:980px;margin:34px auto 0;
  background:var(--ff-ivory);color:var(--ff-ink);
  border:var(--ff-border);border-radius:26px;
  padding:clamp(18px,3vw,30px);box-shadow:var(--ff-shadow);
}
.ff-booking__box{display:none}
.ff-booking__amelia:empty + .ff-booking__box{display:block}
.ff-booking__amelia.is-empty + .ff-booking__box{display:block!important}

/* ============================================================
   FAQ
   ============================================================ */
.ff-faq__list{max-width:860px;margin:34px auto 0;display:grid;gap:14px}
.ff-faq__item{background:var(--ff-white);border:var(--ff-border);border-radius:18px;overflow:hidden;box-shadow:var(--ff-shadow-sm)}
.ff-faq__q{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  font-family:"Fraunces",serif;font-weight:800;font-size:clamp(17px,1.9vw,20px);color:var(--ff-ink);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 22px;
}
.ff-root .ff-faq__q:hover,
.ff-root .ff-faq__q:focus,
.ff-root .ff-faq__q:focus-visible{
  color:var(--ff-rust)!important;
  background:var(--ff-ivory)!important;
  outline-color:var(--ff-gold);
}
.ff-root .ff-faq__q:hover svg,
.ff-root .ff-faq__q:focus svg,
.ff-root .ff-faq__q:focus-visible svg{color:var(--ff-gold)!important}
.ff-root .ff-faq__item:hover{border-color:var(--ff-rust)}
.ff-faq__q svg{width:24px;height:24px;flex:none;color:var(--ff-rust);transition:transform .3s var(--ff-ease)}
.ff-faq__q[aria-expanded="true"] svg{transform:rotate(180deg)}
.ff-faq__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ff-ease)}
.ff-faq__a p{padding:0 22px 22px;color:#42606b;font-size:16px}
.ff-faq__a strong{color:var(--ff-ink)}

/* ============================================================
   LOCALI / PARTNER
   ============================================================ */
.ff-locali__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;
}
.ff-locali__grid.is-auto-loop{
  display:block;
  overflow:hidden;
  scrollbar-width:none;
  position:relative;
  margin-top:46px;
  padding:8px 0 4px;
}
.ff-locali__grid.is-auto-loop::-webkit-scrollbar{display:none}
.ff-locali__track{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:max-content;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.ff-locali__grid.is-auto-loop .ff-locale{
  flex:0 0 clamp(330px,calc((min(100vw - 56px, 1180px) - 48px)/3),390px);
  opacity:1 !important;
  transform:none !important;
  translate:none !important;
  transition:none !important;
  align-self:stretch;
}
.ff-locale{
  background:var(--ff-white);border:var(--ff-border);border-radius:20px;
  padding:28px 24px;text-align:center;box-shadow:var(--ff-shadow-sm);
  transition:transform .2s var(--ff-ease),box-shadow .2s var(--ff-ease);
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.ff-locale:hover{transform:translateY(-4px);box-shadow:7px 8px 0 var(--ff-ink)}
.ff-locale__frame{
  width:148px;height:148px;border-radius:50%;background:var(--ff-ivory);
  border:3px solid var(--ff-blue);box-shadow:0 0 0 3px var(--ff-white),0 0 0 5px var(--ff-gold);
  display:grid;place-items:center;padding:10px;overflow:visible;
}
.ff-locale__frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ff-locali__grid .ff-locale:nth-child(3) .ff-locale__frame img{
  max-height:74%;
  transform:translateY(-8px);
}
.ff-locali__grid .ff-locale:nth-child(3) .ff-locale__frame{
  margin-bottom:6px;
}
.ff-locale--cantine .ff-locale__frame{
  overflow:hidden;
  padding:18px;
  margin-bottom:14px;
}
.ff-locale--cantine .ff-locale__frame img{
  max-width:82%!important;
  max-height:82%!important;
  transform:translateY(-10px)!important;
}
.ff-locale:nth-child(4) .ff-locale__frame img,
.ff-locale:nth-child(6) .ff-locale__frame img{
  max-width:82%!important;
  max-height:82%!important;
}
.ff-locale__name{font-family:"Fraunces",serif;font-weight:800;font-size:20px;line-height:1.08}
.ff-locale__country{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ff-rust)}
.ff-locale--placeholder .ff-locale__frame{background:var(--ff-cream);border-style:dashed;border-color:var(--ff-rust)}
.ff-locale--placeholder .ff-locale__frame span{font-family:"Fraunces",serif;font-weight:900;font-size:30px;color:var(--ff-rust);line-height:1}
.ff-locali__foot{
  margin-top:54px;text-align:center;font-weight:800;color:#12313b;
  display:flex;align-items:center;justify-content:center;gap:18px;
}
.ff-locali__foot img{width:92px;height:auto;min-height:34px;display:block;object-fit:contain}
.ff-drink{
  position:relative;overflow:hidden;color:var(--ff-ivory);
  padding:clamp(76px,8vw,108px) 0;
  background:
    radial-gradient(circle at 88% 16%, rgba(223,197,69,.9) 0 84px, transparent 86px),
    radial-gradient(circle at 8% 92%, rgba(21,147,200,.82) 0 120px, transparent 122px),
    linear-gradient(135deg, #8f2b16 0%, #a73a1c 48%, #0d3f5f 100%) !important;
}
.ff-drink__inner{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  gap:clamp(34px,5vw,76px);align-items:center;
}
.ff-drink__copy{max-width:430px}
.ff-drink__copy .ff-kicker{color:var(--ff-gold)}
.ff-drink__copy .ff-kicker::before{background:var(--ff-ivory)}
.ff-drink__copy .ff-h2{
  color:var(--ff-ivory);text-shadow:4px 4px 0 rgba(13,63,95,.45);
  max-width:8.5em;
}
.ff-drink__copy .ff-h2::after{background:linear-gradient(90deg,var(--ff-gold),var(--ff-blue))}
.ff-drink__copy p:not(.ff-kicker){
  margin-top:24px;font-size:clamp(18px,1.55vw,22px);line-height:1.45;
  font-weight:800;color:#fff8e8;max-width:34ch;
}
.ff-drink__logos{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;
}
.ff-drink__logo{
  position:relative;margin:0;min-height:170px;border:3px solid var(--ff-ivory);border-radius:0 30px 0 30px;
  display:grid;place-items:center;padding:22px;box-shadow:7px 7px 0 rgba(13,63,95,.82);
  transform:rotate(-1.2deg);
}
.ff-drink__logo:nth-child(2){transform:rotate(1.1deg);margin-top:26px}
.ff-drink__logo:nth-child(3){transform:rotate(-.4deg)}
.ff-drink__logo--gold{background:var(--ff-gold)}
.ff-drink__logo--paper{background:var(--ff-paper);border-color:var(--ff-gold);box-shadow:7px 7px 0 rgba(47,107,83,.82)}
.ff-drink__logo--paper::before{
  content:"";position:absolute;inset:22px;border:6px solid var(--ff-rust);
  border-radius:0 24px 0 24px;box-shadow:0 0 0 5px rgba(223,197,69,.62);
  pointer-events:none;
}
.ff-drink__logo--blue{background:var(--ff-blue)}
.ff-drink__logo img{
  position:relative;z-index:1;
  width:100%;max-width:230px;height:110px;object-fit:contain;background:var(--ff-white);
  border-radius:14px;padding:14px;box-shadow:0 0 0 4px rgba(255,248,232,.35);
}
.ff-drink__logo:nth-child(1) img{max-width:250px;height:128px;padding:10px;transform:scale(1.18)}
.ff-drink__logo:nth-child(2) img{
  object-position:center;max-width:280px;height:128px;padding:10px;
  transform:scale(2.45);background:transparent;box-shadow:none;
}
.ff-drink__cards{
  grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;margin-top:8px;
}
.ff-drink__cards article{
  position:relative;
  background:rgba(255,248,232,.94);color:var(--ff-ink);
  border:3px solid var(--ff-ivory);border-radius:18px;padding:18px;
  box-shadow:5px 5px 0 rgba(13,63,95,.52);
}
.ff-drink__cards article::before{
  content:"";position:absolute;inset:8px;border:2px solid currentColor;border-radius:12px;
  opacity:.72;pointer-events:none;
}
.ff-drink__cards b{display:block;font-family:"Fraunces",serif;font-size:20px;line-height:1.05}
.ff-drink__cards span{display:block;margin-top:8px;color:var(--ff-rust);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.ff-drink__cards p{margin:8px 0 0!important;font-weight:700;line-height:1.35}
.ff-drink__cards small{display:block;margin-top:10px;font-weight:900;color:#244654}
.ff-drink__cards article:nth-child(1) b{color:var(--ff-rust)}
.ff-drink__cards article:nth-child(1) span{color:var(--ff-blue)}
.ff-drink__cards article:nth-child(1)::before{color:var(--ff-rust)}
.ff-drink__cards article:nth-child(2) b{color:var(--ff-green)}
.ff-drink__cards article:nth-child(2) span{color:var(--ff-rust)}
.ff-drink__cards article:nth-child(2){border-color:var(--ff-gold);box-shadow:5px 5px 0 rgba(47,107,83,.72)}
.ff-drink__cards article:nth-child(2)::before{color:var(--ff-gold)}
.ff-drink__cards article:nth-child(3) b{color:var(--ff-blue)}
.ff-drink__cards article:nth-child(3) span{color:var(--ff-rust)}
.ff-drink__cards article:nth-child(3)::before{color:var(--ff-blue)}

/* ============================================================
   CTA FINALE
   ============================================================ */
.ff-final{
  position:relative;text-align:center;color:var(--ff-ivory);
  min-height:clamp(520px,58vw,660px);
  padding:clamp(82px,9vw,128px) 0;
  display:flex;align-items:center;
  background:
    radial-gradient(circle at 50% 18%, rgba(223,197,69,.18) 0 18%, transparent 19%),
    linear-gradient(135deg, #0b344c 0%, var(--ff-navy) 48%, #12313b 100%) !important;
}
.ff-final::before{
  content:"";position:absolute;inset:18px;pointer-events:none;border:2px solid rgba(255,248,232,.16);
  border-radius:30px;
  background:
    radial-gradient(circle, rgba(255,248,232,.14) 1.1px, transparent 1.2px) 0 0/28px 28px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent);
}
.ff-final .ff-container{
  position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:360px;text-align:center;
}
.ff-final__kicker{
  justify-content:center;color:var(--ff-ink)!important;background:var(--ff-gold);
  border:2px solid var(--ff-ivory);border-radius:999px;padding:9px 18px;
  box-shadow:4px 4px 0 rgba(0,0,0,.22);margin:0 auto 22px;
}
.ff-final__kicker::before{background:var(--ff-rust)}
.ff-final__title{
  max-width:920px;margin:0 auto;color:var(--ff-ivory)!important;
  font-size:clamp(42px,6.4vw,86px);font-weight:900;line-height:1.02;
  text-shadow:0 4px 0 rgba(143,43,22,.44),0 12px 34px rgba(0,0,0,.22);
}
.ff-final__sub{
  max-width:760px;margin:26px auto 0;font-size:clamp(18px,1.7vw,22px);line-height:1.55;
  color:var(--ff-ivory)!important;font-weight:800;text-shadow:0 2px 0 rgba(0,0,0,.2);
}
.ff-final__btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:38px}
.ff-final__count{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;
  font-weight:900;background:var(--ff-ivory);color:var(--ff-ink);
  padding:12px 22px;border-radius:999px;border:3px solid var(--ff-gold);font-size:15px;
  box-shadow:4px 4px 0 rgba(0,0,0,.24);
}
.ff-final__count b{color:var(--ff-rust);font-size:18px}

.ff-root .ff-kicker,
.ff-root .ff-aperitivo__pretitle,
.ff-root .ff-final__kicker{
  font-size:13px!important;
  line-height:1.25!important;
  letter-spacing:.16em!important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.ff-footer{background:var(--ff-ink);color:var(--ff-ivory);padding:54px 0 40px;position:relative}
.ff-footer__edge{position:absolute;left:0;right:0;top:0;height:18px;background-image:var(--ff-tribar);background-repeat:repeat-x;background-size:auto 18px}
.ff-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:16px}
.ff-footer__brand{display:flex;align-items:center;gap:16px}
.ff-footer__brand img{width:64px;height:64px;border-radius:50%}
.ff-footer__brand b{font-family:"Fraunces",serif;font-size:22px;font-weight:900;display:block}
.ff-footer__brand span{font-size:13px;opacity:.8}
.ff-footer__contact{display:flex;flex-direction:column;gap:6px;font-weight:700}
.ff-footer__contact a{color:var(--ff-gold);text-decoration:none}
.ff-footer__contact a:hover{text-decoration:underline}
.ff-footer__copy{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,248,232,.16);
  font-size:13px;opacity:.75;text-align:center}

/* ============================================================
   FAB
   ============================================================ */
.ff-root .ff-fab{
  position:fixed;right:18px;bottom:18px;z-index:60;
  display:inline-flex;align-items:center;gap:9px;
  background:#ff5f3d;color:var(--ff-ivory);font-weight:900;
  padding:14px 20px;border-radius:999px;border:3px solid var(--ff-ink);
  text-decoration:none;box-shadow:5px 5px 0 rgba(223,197,69,.86),8px 8px 0 rgba(18,49,59,.36);
  opacity:0;transform:translateY(20px);pointer-events:none;
  transition:opacity .3s var(--ff-ease),transform .3s var(--ff-ease),background .2s ease,box-shadow .2s ease;
}
.ff-root .ff-fab.is-shown{opacity:1;transform:none;pointer-events:auto}
.ff-root .ff-fab.is-muted{opacity:0;transform:translateY(20px);pointer-events:none}
.ff-root .ff-fab:hover,
.ff-root .ff-fab:focus-visible{
  background:var(--ff-gold);color:var(--ff-ink);transform:translate(-2px,-2px);
  box-shadow:7px 7px 0 #ff5f3d,10px 10px 0 rgba(18,49,59,.32);outline:none;
}
.ff-root .ff-fab svg{width:18px;height:18px;color:currentColor}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px){
  .ff-trail{grid-template-columns:none;grid-auto-columns:minmax(390px,72vw)}
  .ff-cards .ff-container{width:min(100% - 48px,720px)}
  .ff-cards__grid{grid-template-columns:1fr}
}
@media (max-width:980px){
  .ff-hero__inner{grid-template-columns:1fr;text-align:center}
  .ff-hero__inner > *{min-width:0}
  .ff-hero__copy{max-width:none;margin-inline:auto}
  .ff-hero__facts{margin-inline:auto}
  .ff-hero__cta{justify-content:center}
  .ff-countdown{justify-content:center}
  .ff-kicker,.ff-hero__tag{justify-content:center}
  .ff-hero__plate{order:-1}
  .ff-intro__grid{grid-template-columns:1fr}
  .ff-intro__text{margin-left:0}
  .ff-intro__stats{justify-self:center}
  .ff-locandina__grid{grid-template-columns:1fr;text-align:center}
  .ff-locandina__list li{text-align:left}
  .ff-locandina__list{max-width:440px;margin-inline:auto}
  .ff-institutional{margin-inline:auto}
  .ff-trail__note{margin-top:54px}
  .ff-aperitivo__box{grid-template-columns:1fr}
  .ff-locali__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .ff-intro .ff-h2{font-size:clamp(30px,7vw,46px)}
  .ff-intro .ff-h2 span{white-space:nowrap}
  .ff-cards__grid{grid-template-columns:1fr}
  .ff-cards .ff-container{width:min(100% - 36px,680px)}
  .ff-root .ff-ticket{
    grid-template-rows:auto!important;
    grid-template-areas:none!important;
    gap:14px!important;
    min-height:0!important;
  }
  .ff-root .ff-ticket__badge,
  .ff-root .ff-ticket__title,
  .ff-root .ff-ticket__price,
  .ff-root .ff-ticket__meta,
  .ff-root .ff-ticket__list,
  .ff-root .ff-ticket__stops,
  .ff-root .ff-ticket__cta{grid-area:auto!important}
  .ff-root .ff-ticket__list,
  .ff-root .ff-ticket--bimbi .ff-ticket__list{
    display:grid;
    grid-template-rows:none!important;
    gap:12px!important;
  }
  .ff-root .ff-ticket--bimbi .ff-ticket__list li:first-child,
  .ff-root .ff-ticket--bimbi .ff-ticket__list li:nth-child(2),
  .ff-root .ff-ticket--bimbi .ff-ticket__list li:nth-child(3){grid-row:auto!important}
  .ff-root .ff-ticket__stops{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .ff-root .ff-ticket__stops::-webkit-scrollbar{display:none}
  .ff-tour{background:var(--ff-blue)}
  .ff-tour__box{grid-template-columns:1fr}
  .ff-locali__grid{grid-template-columns:repeat(2,1fr)}
  .ff-map__box{grid-template-columns:1fr;text-align:center}
  .ff-map__button{white-space:normal}
  .ff-institutional{grid-template-columns:repeat(2,1fr)}
  .ff-drink__inner{grid-template-columns:1fr}
  .ff-drink__copy{max-width:620px}
  .ff-drink__copy .ff-h2{max-width:10em}
  .ff-drink__logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ff-drink__logo{min-height:150px}
  .ff-board__head{display:none}
  .ff-board{background:transparent;border:0;box-shadow:none;display:grid;gap:14px}
  .ff-board__row{
    grid-template-columns:1fr 1fr;background:var(--ff-navy)!important;color:var(--ff-ivory);
    border:var(--ff-border);border-radius:18px;overflow:hidden;box-shadow:var(--ff-shadow-sm);
  }
  .ff-board__time{grid-column:1 / -1;background:var(--ff-ink);color:var(--ff-gold);justify-content:center;padding:14px}
  .ff-board__row>span+span{border-left:1px solid rgba(255,248,232,.16)}
  .ff-board__posti--bimbi{
    grid-column:1 / -1;
    width:50%;
    justify-self:center;
    border-left:0!important;
    border-top:1px solid rgba(255,248,232,.16);
    justify-content:center;
  }
}
@media (max-width:540px){
  .ff-hero__inner,
  .ff-hero__copy,
  .ff-hero__brand,
  .ff-hero__title,
  .ff-hero__sub,
  .ff-hero__facts,
  .ff-hero__cta,
  .ff-countdown,
  .ff-hero__plate{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .ff-root .ff-hero__brand{
    font-size:12px;
    letter-spacing:.16em;
  }
  .ff-root .ff-hero__title{
    font-size:clamp(30px,8.2vw,32px);
    line-height:1.3;
  }
  .ff-hero__title-line{
    max-width:100%;
    white-space:nowrap;
  }
  .ff-hero__sub{
    padding-inline:4px;
    overflow-wrap:normal;
  }
  .ff-intro .ff-h2 span{white-space:normal}
  .ff-hero__facts{grid-template-columns:1fr}
  .ff-hero__cta{
    width:100%;
    max-width:100%;
  }
  .ff-hero__cta .ff-btn{
    width:100%;
    max-width:100%;
    min-width:0;
    padding-left:16px;
    padding-right:16px;
  }
  .ff-countdown{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .ff-countdown .ff-cd{
    min-width:0;
    padding-left:4px;
    padding-right:4px;
  }
  .ff-intro__stats{grid-template-columns:1fr 1fr}
  .ff-trail{
    display:grid;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    grid-template-columns:1fr;
    overflow:visible;
    padding:0;
  }
  .ff-tappa{
    grid-template-columns:64px minmax(0,1fr);
    grid-template-areas:
      "top country"
      "top name"
      "portata portata"
      "address address"
      "food food"
      "desc desc"
      "proposal proposal"
      "details details"
      "logo logo";
    min-height:0;
  }
  .ff-tappa__country{align-items:center;gap:10px}
  .ff-country-flag{font-size:30px}
  .ff-tappa__portata{width:auto;min-width:126px;justify-self:start}
  .ff-tappa__food strong{font-size:18px}
  .ff-tappa__food span,
  .ff-tappa__proposal,
  .ff-tappa__desc{font-size:12.4px!important}
  .ff-tappa__logo{min-height:104px;align-items:center}
  .ff-locali__grid{grid-template-columns:1fr 1fr}
  .ff-locali__track{gap:14px}
  .ff-locali__grid.is-auto-loop .ff-locale{flex-basis:min(78vw,310px)}
  .ff-cd{min-width:52px}
  .ff-ticket{padding:28px 22px}
  .ff-btn{width:100%}
  .ff-hero__cta .ff-btn{width:100%}
  .ff-booking__amelia{
    padding:18px 12px;
    overflow:visible!important;
  }
  .ff-booking__amelia *,
  .ff-booking__amelia *::before,
  .ff-booking__amelia *::after{
    box-sizing:border-box;
  }
  .ff-booking__amelia img{
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .ff-booking__amelia [class*="image"],
  .ff-booking__amelia [class*="Image"],
  .ff-booking__amelia [class*="picture"],
  .ff-booking__amelia [class*="Picture"]{
    overflow:visible!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
  }
  .ff-institutional img{height:58px}
  .ff-drink{padding:70px 0}
  .ff-drink::after{inset:18px;border-radius:22px}
  .ff-drink__logos{grid-template-columns:1fr}
  .ff-drink__logo,
  .ff-drink__logo:nth-child(2),
  .ff-drink__logo:nth-child(3){min-height:132px;margin-top:0;transform:none}
  .ff-drink__logo img,
  .ff-drink__logo:nth-child(1) img,
  .ff-drink__logo:nth-child(2) img{height:104px;max-width:260px}
  .ff-drink__cards{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ff-drink__cards article{
    display:grid;
    grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr);
    grid-template-areas:
      "name text"
      "label text"
      "address text";
    column-gap:18px;
    row-gap:8px;
    align-items:start;
    min-height:0;
    padding:20px;
  }
  .ff-drink__cards b{grid-area:name;font-size:22px}
  .ff-drink__cards span{grid-area:label;margin-top:0;font-size:12px}
  .ff-drink__cards p{grid-area:text;margin:0!important;font-size:15.5px;line-height:1.38}
  .ff-drink__cards small{grid-area:address;margin-top:0;font-size:13px}
}
@media (max-width:380px){
  .ff-hero__copy{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .ff-hero__cta,
  .ff-countdown{
    width:calc(100vw - 36px)!important;
    max-width:calc(100vw - 36px)!important;
    flex-basis:calc(100vw - 36px)!important;
  }
  .ff-hero__cta .ff-btn{
    width:calc(100vw - 36px)!important;
    max-width:calc(100vw - 36px)!important;
    flex-basis:calc(100vw - 36px)!important;
  }
  .ff-root .ff-hero__title{
    font-size:37px!important;
  }
}

/* ============================================================
   FINAL LAYOUT GUARDS - Elementor cache/specificity hardening
   ============================================================ */
@media (min-width:761px){
  .ff-root .ff-trail{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    overflow:visible!important;
    overflow-y:visible!important;
    align-items:stretch!important;
  }
  .ff-root .ff-tappa{
    width:100%!important;
    min-width:0!important;
    min-height:282px!important;
    grid-template-columns:82px 148px minmax(0,1fr) 220px!important;
    grid-template-areas:
      "top country country logo"
      "top name name logo"
      "top portata address logo"
      "food food food logo"
      "desc desc desc logo"
      "proposal proposal proposal logo"
      "details details details logo"!important;
  }
}

.ff-root .ff-ticket{
  display:flex!important;
  flex-direction:column!important;
  gap:15px!important;
  align-content:normal!important;
}
.ff-root .ff-ticket__badge,
.ff-root .ff-ticket__title,
.ff-root .ff-ticket__price,
.ff-root .ff-ticket__meta,
.ff-root .ff-ticket__list,
.ff-root .ff-ticket__stops,
.ff-root .ff-ticket__cta{
  grid-area:auto!important;
}
.ff-root .ff-ticket__list,
.ff-root .ff-ticket--bimbi .ff-ticket__list{
  display:flex!important;
  flex-direction:column!important;
  gap:13px!important;
  grid-template-rows:none!important;
  flex:1 1 auto!important;
  align-content:start!important;
}
.ff-root .ff-ticket__list li,
.ff-root .ff-ticket--bimbi .ff-ticket__list li{
  display:flex!important;
  align-items:flex-start!important;
  gap:13px!important;
  grid-row:auto!important;
  height:auto!important;
  min-height:0!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
}
.ff-root .ff-ticket__list li::before{
  flex:0 0 9px!important;
}
.ff-root .ff-ticket__stops{
  flex-shrink:0!important;
}
.ff-root .ff-ticket__cta{
  flex-shrink:0!important;
}

@media (max-width:760px){
  .ff-root .ff-trail{
    display:grid!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
  }
  .ff-root .ff-tappa{
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-areas:
      "top country"
      "top name"
      "portata portata"
      "address address"
      "food food"
      "desc desc"
      "proposal proposal"
      "details details"
      "logo logo"!important;
    min-height:0!important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-77bf367 */@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT,WONK@9..144,650..900,40,1&family=Work+Sans:wght@500;650;760;850&display=swap');
.elementor-5382 .elementor-element.elementor-element-77bf367{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:hidden;}
.elementor-5382 .elementor-element.elementor-element-77bf367 > .e-con-inner{width:100%!important;max-width:100%!important;padding:0!important;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .elementor-widget-text-editor{width:100%!important;max-width:100%!important;}
.elementor-5382 .elementor-element.elementor-element-77bf367 *{box-sizing:border-box;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing{--ff-blue:#1593c8;--ff-sky:#65b9d7;--ff-deep:#12313b;--ff-night:#0d3f5f;--ff-gold:#dfc545;--ff-rust:#8f2b16;--ff-paper:#fff8e8;--ff-cream:#f3e2b9;--ff-ink:#17333b;--ff-line:rgba(18,49,59,.16);font-family:'Work Sans',Arial,sans-serif;color:var(--ff-ink);background:var(--ff-paper);line-height:1.5;overflow:hidden;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing img{max-width:100%;height:auto;display:block;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-shell{width:min(1120px,calc(100% - 40px));margin:0 auto;position:relative;z-index:2;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-section{position:relative;padding:86px 0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-kicker,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-eyebrow{margin:0 0 18px;font-size:12px;line-height:1.2;font-weight:850;text-transform:uppercase;letter-spacing:.13em;color:inherit;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h1,.elementor-5382 .elementor-element.elementor-element-77bf367 h2,.elementor-5382 .elementor-element.elementor-element-77bf367 h3,.elementor-5382 .elementor-element.elementor-element-77bf367 p{margin-top:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h1,.elementor-5382 .elementor-element.elementor-element-77bf367 h2{font-family:'Fraunces',Georgia,serif;font-weight:850;letter-spacing:0;line-height:.96;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h1{font-size:clamp(44px,6.2vw,88px);max-width:780px;margin-bottom:24px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h1 strong,.elementor-5382 .elementor-element.elementor-element-77bf367 h1 em,.elementor-5382 .elementor-element.elementor-element-77bf367 h2 strong,.elementor-5382 .elementor-element.elementor-element-77bf367 h2 em{display:block;font:inherit;letter-spacing:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h1{color:var(--ff-paper);} .elementor-5382 .elementor-element.elementor-element-77bf367 h1 strong{color:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 h1 em{color:#ffe4cf;font-style:normal;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h2{font-size:clamp(34px,4.8vw,66px);margin-bottom:20px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h2{color:var(--ff-night);} .elementor-5382 .elementor-element.elementor-element-77bf367 h2 strong{color:var(--ff-rust);} .elementor-5382 .elementor-element.elementor-element-77bf367 h2 em{color:var(--ff-blue);font-style:normal;}
.elementor-5382 .elementor-element.elementor-element-77bf367 h3{font-size:21px;line-height:1.12;margin:0 0 8px;font-weight:850;}
.elementor-5382 .elementor-element.elementor-element-77bf367 p{font-size:17px;line-height:1.65;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border-radius:999px;border:1.5px solid rgba(18,49,59,.35);font-weight:850;text-decoration:none!important;color:var(--ff-night);box-shadow:0 4px 0 rgba(18,49,59,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(18,49,59,.12);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button--gold{background:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button--line{background:rgba(255,248,232,.08);color:var(--ff-paper);border-color:rgba(255,248,232,.7);box-shadow:none;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button--dark{background:var(--ff-night);color:var(--ff-paper);border-color:var(--ff-night);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button--rust{background:var(--ff-rust);color:var(--ff-paper);border-color:var(--ff-rust);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero{min-height:690px;display:flex;align-items:center;padding:82px 0 76px;background:linear-gradient(120deg,#0c8fbd 0%,var(--ff-blue) 58%,#6abfd9 100%);color:var(--ff-paper);isolation:isolate;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero:before{content:"";position:absolute;right:-6%;top:-12%;width:660px;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 12deg,rgba(255,248,232,.16) 0 8deg,transparent 8deg 17deg),radial-gradient(circle,var(--ff-gold) 0 35%,transparent 36%);opacity:.78;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero:after{content:"";position:absolute;left:-130px;bottom:-190px;width:420px;aspect-ratio:1;border-radius:50%;background:var(--ff-rust);opacity:.95;box-shadow:0 0 0 26px rgba(255,248,232,.13);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__sun{position:absolute;right:8%;bottom:13%;width:260px;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(var(--ff-paper) 0 10deg,transparent 10deg 20deg);opacity:.16;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__tile--rust{position:absolute;left:52%;bottom:0;width:180px;height:48%;background:rgba(18,49,59,.09);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:54px;align-items:center;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo{width:min(166px,42vw);margin:0 0 26px;filter:drop-shadow(0 9px 14px rgba(18,49,59,.2));}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__lead{font-size:clamp(19px,1.8vw,24px);line-height:1.42;max-width:680px;margin-bottom:28px;color:rgba(255,248,232,.94);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-actions{display:flex;flex-wrap:wrap;gap:16px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport{background:#fff4d6;color:var(--ff-ink);border:1.5px solid rgba(18,49,59,.28);border-radius:4px;padding:26px;box-shadow:0 18px 32px rgba(18,49,59,.16);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px;color:var(--ff-night);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__stamp{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;text-align:center;margin:0 auto 22px;border:3px solid var(--ff-rust);color:var(--ff-rust);font-family:'Fraunces',Georgia,serif;font-size:40px;font-weight:900;line-height:.75;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__stamp span{font-size:17px;text-transform:uppercase;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__facts{display:grid;gap:0;margin:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__facts p{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:baseline;border-top:1px solid rgba(18,49,59,.13);padding:11px 0;margin:0;font-size:17px;line-height:1.25;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__facts span{font-size:12px;font-weight:850;color:var(--ff-rust);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__facts strong{font-size:17px;font-weight:850;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro{background:linear-gradient(90deg,var(--ff-paper) 0 48%,#f6d77c 48% 100%);padding:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__layout{display:grid;grid-template-columns:170px 1fr 1.1fr;gap:34px;align-items:stretch;min-height:390px;padding:70px 0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__stamp{display:grid;place-items:center;align-self:center;width:150px;height:150px;border-radius:50%;background:var(--ff-rust);color:var(--ff-paper);font-family:'Fraunces',Georgia,serif;font-size:50px;font-weight:900;line-height:.82;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__headline{align-self:center;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__headline h2{margin:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__text{align-self:center;background:var(--ff-paper);padding:30px;border-left:10px solid var(--ff-blue);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__text p{font-size:20px;margin-bottom:14px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__text p:last-child{margin-bottom:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-route{background:var(--ff-paper);color:var(--ff-ink);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-route:before{content:"";position:absolute;inset:0 0 auto 0;height:18px;background:linear-gradient(90deg,var(--ff-blue) 0 30%,var(--ff-gold) 30% 54%,var(--ff-rust) 54% 72%,var(--ff-night) 72% 100%);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-section-head{max-width:900px;margin-bottom:42px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-section-head--center{text-align:center;margin-left:auto;margin-right:auto;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:stretch;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop{display:grid;grid-template-rows:42px 92px auto;gap:14px;align-items:start;min-height:278px;padding:18px 14px;background:#fffdf5;color:var(--ff-ink);border:1px solid rgba(18,49,59,.14);border-top:8px solid var(--ff-blue);border-radius:0;box-shadow:none;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(2){border-top-color:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(3){border-top-color:var(--ff-rust);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(4){border-top-color:var(--ff-night);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(5){border-top-color:var(--ff-blue);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(6){border-top-color:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(7){border-top-color:var(--ff-rust);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num{font-family:'Work Sans',Arial,sans-serif;font-size:15px;font-weight:900;color:var(--ff-rust);letter-spacing:.12em;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo{width:86px;height:86px;display:grid;place-items:center;background:#fff;border:1px solid rgba(18,49,59,.1);padding:12px;overflow:hidden;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img{max-height:62px;object-fit:contain;margin:auto;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__country{margin:0 0 6px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--ff-blue);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p:last-child{margin:0;font-weight:760;color:rgba(18,49,59,.72);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__mark{width:86px;height:86px;background:var(--ff-gold);display:grid;place-items:center;border:1px solid rgba(18,49,59,.16);font-family:'Fraunces',Georgia,serif;font-size:28px;font-weight:900;color:var(--ff-night);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-cards{background:#f5e6c1;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket{position:relative;padding:34px;border:1px solid rgba(18,49,59,.16);border-radius:0;background:#fffdf5;box-shadow:0 14px 26px rgba(18,49,59,.08);overflow:hidden;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--ff-blue);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket--kids:before{background:var(--ff-rust);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket--kids{background:#ffe8d5;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__top p{font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin:0;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__top strong{font-family:'Fraunces',Georgia,serif;font-size:52px;line-height:.9;color:var(--ff-rust);white-space:nowrap;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__claim{font-size:21px;line-height:1.42;font-weight:760;max-width:620px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket ul{display:grid;gap:10px;margin:24px 0 28px;padding:0;list-style:none;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket li{position:relative;padding-left:24px;font-weight:760;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket li:before{content:"";position:absolute;left:0;top:.65em;width:9px;height:9px;border-radius:50%;background:var(--ff-blue);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots{background:linear-gradient(90deg,var(--ff-night),#155f78);color:var(--ff-paper);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:42px;align-items:center;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots__intro p{font-size:20px;color:rgba(255,248,232,.92);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots h2{color:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots h2 strong{color:var(--ff-paper);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-timetable{display:grid;gap:10px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time{display:grid;grid-template-columns:1.2fr .8fr .7fr;gap:12px;align-items:center;padding:16px 18px;background:rgba(255,248,232,.96);color:var(--ff-ink);border:0;border-radius:0;box-shadow:none;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time span{font-weight:900;font-size:18px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time b{color:var(--ff-rust);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time em{font-style:normal;font-weight:850;color:var(--ff-blue);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo{background:var(--ff-rust);color:var(--ff-paper);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 60%,rgba(223,197,69,.34) 60% 100%);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__box{display:grid;grid-template-columns:1fr 260px;gap:36px;align-items:center;padding:42px;border:1px solid rgba(255,248,232,.38);border-radius:0;box-shadow:none;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo h2{color:var(--ff-paper);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo h2 strong{color:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__box p{font-size:21px;color:rgba(255,248,232,.94);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--ff-gold);color:var(--ff-night);border:0;padding:24px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date span{font-family:'Fraunces',Georgia,serif;font-size:78px;line-height:.8;font-weight:900;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date strong{text-transform:uppercase;letter-spacing:.08em;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date em{font-style:normal;font-weight:800;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking{background:var(--ff-paper);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__panel{display:grid;grid-template-columns:1fr 330px;gap:36px;align-items:center;padding:38px;background:#fffdf5;color:var(--ff-ink);border-left:16px solid var(--ff-night);box-shadow:0 16px 32px rgba(18,49,59,.08);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__panel p{font-size:20px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__status{padding:24px;background:var(--ff-night);color:var(--ff-paper);display:grid;gap:8px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__status span{width:18px;height:18px;border-radius:50%;background:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__status b{font-size:24px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__status small{text-transform:uppercase;letter-spacing:.12em;color:rgba(255,248,232,.72);}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq{background:#f2dfb2;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq details{border-top:1.5px solid rgba(18,49,59,.28);padding:0;background:transparent;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq summary{cursor:pointer;list-style:none;padding:20px 0;font-size:22px;font-weight:900;display:flex;justify-content:space-between;gap:20px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq summary::-webkit-details-marker{display:none;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq summary:after{content:"+";font-size:30px;color:var(--ff-rust);line-height:1;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq details[open] summary:after{content:"-";} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq details p{padding:0 0 22px;margin:0;max-width:760px;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-partners{background:var(--ff-paper);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:stretch;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure{margin:0;min-height:158px;padding:18px 12px;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;text-align:center;background:#fff;border:1px solid rgba(18,49,59,.12);border-radius:46px 46px 10px 10px;box-shadow:0 8px 18px rgba(18,49,59,.07);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid img{max-height:72px;object-fit:contain;margin:auto;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figcaption{align-self:end;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ff-rust);min-height:16px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid__placeholder span{font-family:'Fraunces',Georgia,serif;font-size:24px;font-weight:900;color:var(--ff-night);align-self:center;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final{background:var(--ff-night);color:var(--ff-paper);padding:74px 0;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,147,200,.28),transparent),radial-gradient(circle at 86% 30%,rgba(223,197,69,.32),transparent 22%);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2{color:var(--ff-gold);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong{color:var(--ff-paper);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{color:#ffd8c0;font-style:normal;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final__inner{display:grid;grid-template-columns:170px 1fr;gap:38px;align-items:center;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final img{width:170px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22));} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2{max-width:900px;}
@media (max-width:1120px){.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops{grid-template-columns:repeat(4,1fr);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid{grid-template-columns:repeat(4,1fr);}}
@media (max-width:900px){.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__grid,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__layout,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots__grid,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__panel,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__grid{grid-template-columns:1fr;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro{background:linear-gradient(180deg,var(--ff-paper),#f6d77c);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__layout{min-height:0;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__stamp{width:122px;height:122px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport{max-width:520px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops{grid-template-columns:repeat(2,1fr);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket-grid{grid-template-columns:1fr;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__top{display:block;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__top strong{display:block;margin-top:10px;font-size:46px;}}
@media (max-width:767px){.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-shell{width:min(100% - 28px,1120px);} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-section{padding:58px 0;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero{min-height:auto;padding:66px 0;} .elementor-5382 .elementor-element.elementor-element-77bf367 h1{font-size:43px;} .elementor-5382 .elementor-element.elementor-element-77bf367 h2{font-size:34px;} .elementor-5382 .elementor-element.elementor-element-77bf367 p{font-size:16px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__lead,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__text p,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__claim,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots__intro p,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__box p,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__panel p{font-size:18px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-actions{align-items:stretch;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button{width:100%;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport__facts p{grid-template-columns:1fr;gap:2px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport{padding:22px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops{grid-template-columns:1fr;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop{grid-template-columns:52px 74px minmax(0,1fr);grid-template-rows:auto;min-height:144px;padding:16px;gap:12px;align-items:center;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num{font-size:13px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo,.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__mark{width:74px;height:74px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img{max-height:54px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop h3{font-size:19px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket{padding:24px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket__top strong{font-size:40px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time{grid-template-columns:1fr;gap:4px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__box{grid-template-columns:1fr;padding:24px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date{width:220px;margin:auto;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking__panel{padding:26px;border-left-width:10px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid{grid-template-columns:1fr 1fr;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure{min-height:136px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final__inner{grid-template-columns:1fr;text-align:left;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final img{width:140px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__tile--rust{display:none;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero:before{width:380px;right:-170px;top:-70px;} .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero:after{width:260px;left:-130px;bottom:-80px;}}



/* FF motion: manifesto map, contained to this landing */
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing{
  scroll-behavior:smooth;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero::after{
  animation:ff-sun-drift 32s linear infinite;
  transform-origin:72% 24%;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__mark{
  animation:ff-stamp-arrive .8s cubic-bezier(.2,.75,.22,1) both, ff-stamp-breathe 5.8s ease-in-out 1s infinite;
  transform-origin:center;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__actions{
  animation:ff-rise .72s cubic-bezier(.2,.75,.22,1) both;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy{animation-delay:.08s;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__actions{animation-delay:.16s;}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__card{
  animation:ff-ticket-in .78s cubic-bezier(.2,.75,.22,1) .2s both;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-pass,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time-row,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq details,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-booking-card{
  will-change:transform;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button:hover{
  transform:translateY(-3px) rotate(-.4deg);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-button:active{
  transform:translateY(0) scale(.98);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop{
  transition:transform .28s cubic-bezier(.2,.75,.22,1), background-color .28s ease, border-color .28s ease;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:hover{
  transform:translateY(-8px);
  background:#fffdf5;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(2n):hover{
  transform:translateY(-8px) rotate(.35deg);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(2n+1):hover{
  transform:translateY(-8px) rotate(-.35deg);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop img,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid img{
  transition:transform .32s cubic-bezier(.2,.75,.22,1), filter .32s ease;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:hover img,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure:hover img{
  transform:scale(1.045);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure{
  transition:transform .25s cubic-bezier(.2,.75,.22,1), box-shadow .25s ease, border-color .25s ease;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 26px rgba(18,49,59,.11);
  border-color:rgba(143,43,22,.22);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time-row{
  transition:transform .22s ease, background-color .22s ease;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time-row:hover{
  transform:translateX(8px);
  background:#fffdf5;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-pass{
  transition:transform .28s cubic-bezier(.2,.75,.22,1), box-shadow .28s ease;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-pass:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 36px rgba(18,49,59,.12);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq summary::after{
  transition:transform .2s ease, color .2s ease;
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq details[open] summary::after{
  transform:rotate(45deg);
  color:var(--ff-blue);
}
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__badge,
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-launch__date{
  animation:ff-soft-pulse 5.5s ease-in-out infinite;
}
@keyframes ff-rise{
  from{opacity:0;transform:translateY(22px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes ff-ticket-in{
  from{opacity:0;transform:translate(18px,24px) rotate(1.5deg);}
  to{opacity:1;transform:translate(0,0) rotate(0);}
}
@keyframes ff-stamp-arrive{
  from{opacity:0;transform:scale(.78) rotate(-8deg);}
  to{opacity:1;transform:scale(1) rotate(0);}
}
@keyframes ff-stamp-breathe{
  0%,100%{transform:translateY(0) rotate(0);}
  50%{transform:translateY(-7px) rotate(1.2deg);}
}
@keyframes ff-sun-drift{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes ff-soft-pulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.035);}
}
@media (prefers-reduced-motion: reduce){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing *,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing *::before,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-landing *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
@media (max-width:767px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:hover,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(2n):hover,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(2n+1):hover,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-pass:hover,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-logo-grid figure:hover,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time-row:hover{
    transform:none;
  }
}



/* FF layout refinement: hero fit, title rhythm, section alignment */
@media (min-width:1025px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero{
    height:calc(100svh - 116px);
    min-height:590px;
    max-height:760px;
    padding:clamp(26px,3.4vh,44px) 0;
    display:flex;
    align-items:center;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__grid{
    height:100%;
    align-items:center;
    grid-template-columns:minmax(0,58%) 360px;
    gap:clamp(34px,5vw,84px);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy{
    align-self:center;
    transform:translateY(-12px);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-kicker{
    margin-bottom:10px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy p:has(.ff-logo){
    height:0;
    margin:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo{
    position:absolute;
    z-index:5;
    width:clamp(150px,13.5vw,215px);
    top:18%;
    right:16.8%;
    transform:translate(50%,-50%);
    filter:drop-shadow(0 14px 20px rgba(13,63,95,.24));
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1{
    max-width:650px;
    font-size:clamp(48px,5.05vw,72px);
    line-height:.9;
    margin:0 0 16px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1 br,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro h2 br{
    display:none;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__lead{
    max-width:580px;
    margin-bottom:20px;
    font-size:16px;
    line-height:1.55;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport{
    align-self:center;
    transform:translateY(52px);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro{
    padding:74px 0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__layout{
    grid-template-columns:150px minmax(330px,420px) minmax(0,1fr);
    align-items:center;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro__headline{
    width:100%;
    max-width:420px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro h2{
    font-size:clamp(38px,4.15vw,56px);
    line-height:.92;
    margin-bottom:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-route{
    padding-top:72px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop{
    padding:20px 12px 22px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num{
    margin-bottom:14px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo{
    width:100%;
    height:118px;
    margin:6px 0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img{
    max-width:92%;
    max-height:100%;
    object-fit:contain;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-slots{
    padding:74px 0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-timetable{
    display:grid;
    gap:12px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time{
    min-height:54px;
    border-radius:999px 10px 10px 999px;
    padding:12px 18px 12px 46px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,248,232,.72);
    box-shadow:0 10px 22px rgba(7,31,48,.08);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-time::before{
    content:"";
    position:absolute;
    left:17px;
    top:50%;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--ff-gold);
    transform:translateY(-50%);
    box-shadow:0 0 0 6px rgba(223,197,69,.18);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq{
    padding:66px 0 58px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__grid{
    align-items:flex-start;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq h2{
    margin-bottom:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final{
    padding:64px 0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final__inner{
    min-height:auto;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2{
    max-width:960px;
    line-height:.92;
    margin-bottom:22px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br{
    display:none;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{
    display:inline;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong::before,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em::before{
    content:" ";
  }
}
@media (min-width:768px) and (max-width:1024px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1 br,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro h2 br,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br{
    display:none;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{
    display:inline;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong::before,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em::before{
    content:" ";
  }
}
@media (max-width:767px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1 br,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-intro h2 br,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br{
    display:none;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1{
    line-height:.92;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{
    display:inline;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong::before,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em::before{
    content:" ";
  }
}



/* FF hero logo final placement */
@media (min-width:1025px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy p:has(.ff-logo){
    position:relative!important;
    overflow:visible;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo{
    left:clamp(780px,64vw,930px)!important;
    top:-122px!important;
    right:auto!important;
    transform:none!important;
    width:clamp(180px,14.8vw,220px)!important;
  }
}



/* FF alignment refinement 2026-06-30 */
@media (min-width:1025px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero{
    height:calc(100svh - 116px);
    min-height:620px;
    max-height:760px;
    padding:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__grid{
    width:min(1120px,calc(100% - 80px));
    height:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:0;
    align-items:center;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy{
    width:100%;
    max-width:560px;
    transform:translateY(-2px);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero h1{
    max-width:560px;
    font-size:clamp(48px,4.55vw,74px);
    line-height:.88;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__lead{
    max-width:530px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport{
    justify-self:center;
    align-self:center;
    transform:translateY(34px);
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy p:has(.ff-logo){
    position:relative!important;
    height:0;
    margin:0;
    overflow:visible;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo{
    position:absolute!important;
    left:clamp(900px,70vw,1010px)!important;
    top:clamp(-150px,-16vh,-118px)!important;
    right:auto!important;
    width:clamp(176px,13.8vw,216px)!important;
    transform:none!important;
    z-index:6;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-route-grid{
    align-items:stretch;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop{
    display:grid;
    grid-template-rows:24px 92px 20px 72px 28px;
    row-gap:12px;
    padding:18px 12px 20px;
    min-height:310px;
    align-content:start;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__country,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop h3,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p{
    margin:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num{
    align-self:start;
    margin-bottom:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo{
    width:100%;
    height:92px;
    margin:0;
    padding:0;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img{
    max-width:100%;
    max-height:88px;
    object-fit:contain;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo .ff-bb,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-bb{
    width:88px;
    height:88px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__country{
    align-self:start;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop h3{
    min-height:66px;
    display:flex;
    align-items:flex-start;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p:last-child{
    align-self:start;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket-grid{
    align-items:stretch;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket{
    display:grid;
    grid-template-rows:auto minmax(90px,auto) 1fr auto;
    min-height:445px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket > p:last-child{
    align-self:end;
    margin:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket .ff-button{
    margin-top:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date{
    display:grid;
    grid-template-rows:1.1fr .7fr .9fr;
    align-items:center;
    justify-items:center;
    padding:34px 28px 28px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date{
    font-size:16px;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date::first-line{
    font-size:44px;
    line-height:.9;
    font-weight:900;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__grid{
    align-items:start;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq h2{
    margin-top:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__items{
    padding-top:0;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br:first-of-type{
    display:none;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br:nth-of-type(2){
    display:block;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong{
    display:inline;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong::before{
    content:" ";
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{
    display:block;
    max-width:760px;
    font-style:normal;
  }
}
@media (min-width:1280px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{
    max-width:650px;
  }
}
@media (max-width:767px){
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop{
    display:grid;
    grid-template-columns:52px 82px 1fr;
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:4px;
    align-items:center;
  }
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num{grid-column:1;grid-row:1 / span 2;}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo{grid-column:2;grid-row:1 / span 2;margin:0;border:0!important;background:transparent!important;box-shadow:none!important;}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop > div:last-child{grid-column:3;grid-row:1 / span 2;}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br:first-of-type{display:none;}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 br:nth-of-type(2){display:block;}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong{display:inline;}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong::before{content:" ";}
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em{display:block;font-style:normal;}
}


/* FF requested alignment pass 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero {
    min-height: min(760px, calc(100vh - 116px));
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__visual {
    width: 100%;
    max-width: 560px;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo {
    left: clamp(815px, 63vw, 910px) !important;
    top: clamp(-76px, -7vh, -56px) !important;
    width: clamp(190px, 14vw, 216px) !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops-grid {
    align-items: stretch;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop {
    grid-template-rows: 23px 86px 24px 66px 28px !important;
    row-gap: 13px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num {
    align-self: start;
    margin: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__placeholder,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__mark,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__bb {
    align-self: start;
    height: 86px !important;
    min-height: 86px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img {
    max-height: 82px !important;
    width: 100%;
    object-fit: contain;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__country {
    align-self: start;
    margin-top: 2px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop h3 {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    overflow: hidden;
    line-height: 1.12 !important;
    margin: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p:last-child {
    align-self: start;
    height: 28px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket {
    display: grid !important;
    grid-template-rows: auto auto 1fr auto auto;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket p:last-child {
    align-self: end;
    margin-top: 22px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date {
    display: grid !important;
    grid-template-rows: 74px 26px 42px;
    place-items: center;
    align-content: center;
    line-height: 1 !important;
    padding-top: 7px;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date::first-line {
    font-size: 62px !important;
    line-height: .78 !important;
    font-weight: 900 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__items {
    padding-top: 32px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong {
    display: inline !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 > br:first-of-type {
    display: none !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 > br:nth-of-type(2) {
    display: block !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em {
    display: block !important;
    max-width: 610px !important;
  }
}

@media (max-width: 767px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em {
    max-width: 9.2em;
  }
}



/* FF requested alignment pass 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero {
    min-height: min(760px, calc(100vh - 116px));
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__copy,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero__visual {
    width: 100%;
    max-width: 560px;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo {
    left: clamp(815px, 63vw, 910px) !important;
    top: clamp(-76px, -7vh, -56px) !important;
    width: clamp(190px, 14vw, 216px) !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops-grid {
    align-items: stretch;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop {
    grid-template-rows: 23px 86px 24px 66px 28px !important;
    row-gap: 13px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__num {
    align-self: start;
    margin: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__placeholder,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__mark,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__bb {
    align-self: start;
    height: 86px !important;
    min-height: 86px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img {
    max-height: 82px !important;
    width: 100%;
    object-fit: contain;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__country {
    align-self: start;
    margin-top: 2px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop h3 {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    overflow: hidden;
    line-height: 1.12 !important;
    margin: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p:last-child {
    align-self: start;
    height: 28px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket {
    display: grid !important;
    grid-template-rows: auto auto 1fr auto auto;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-ticket p:last-child {
    align-self: end;
    margin-top: 22px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date {
    display: grid !important;
    grid-template-rows: 74px 26px 42px;
    place-items: center;
    align-content: center;
    line-height: 1 !important;
    padding-top: 7px;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-aperitivo__date::first-line {
    font-size: 62px !important;
    line-height: .78 !important;
    font-weight: 900 !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-faq__items {
    padding-top: 32px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 strong {
    display: inline !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 > br:first-of-type {
    display: none !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 > br:nth-of-type(2) {
    display: block !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em {
    display: block !important;
    max-width: 610px !important;
  }
}

@media (max-width: 767px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em {
    max-width: 9.2em;
  }
}



/* FF final optical correction 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport {
    transform: translate(22px, 58px) !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-final h2 em {
    max-width: 650px !important;
  }
}



/* FF stop cards hug content 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stops-grid {
    align-items: start !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop {
    min-height: 0 !important;
    height: auto !important;
    align-self: start !important;
    grid-template-rows: 23px 78px 24px 66px 26px !important;
    row-gap: 10px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__placeholder,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__mark,
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__bb {
    height: 78px !important;
    min-height: 78px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop__logo img {
    max-height: 76px !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p:last-child {
    height: 26px !important;
  }
}



/* FF stop cards tighter bottom 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop {
    height: 282px !important;
  }
}



/* FF hero sun logo centering 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo {
    left: clamp(835px, 64.5vw, 940px) !important;
    top: clamp(-34px, -3vh, -24px) !important;
  }

  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-passport {
    transform: translate(22px, 112px) !important;
  }
}



/* FF Big Belly title fit 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop:nth-child(4) h3 {
    font-size: 19px !important;
    line-height: 1.08 !important;
    overflow: visible !important;
  }
}



/* FF stop course color 2026-06-30 */
.elementor-5382 .elementor-element.elementor-element-77bf367 .ff-stop p:last-child {
  color: #8f2b16 !important;
}

/* FF hero sun logo exact center 2026-06-30 */
@media (min-width: 1025px) {
  .elementor-5382 .elementor-element.elementor-element-77bf367 .ff-hero .ff-logo {
    left: clamp(823px, 63.6vw, 928px) !important;
    top: clamp(-48px, -4.6vh, -38px) !important;
  }
}/* End custom CSS */