:root{
  --red:#DB2727;--black:#000;--white:#fff;--banana:#FFE135;
  --paper:#F5F5F5;--paper-dark:#ECECEC;--muted:#666;--line:rgba(0,0,0,.08);
  --glass-bg:rgba(255,255,255,.12);--glass-bg-light:rgba(255,255,255,.72);--glass-border:rgba(255,255,255,.22);
  --shadow-soft:0 18px 42px rgba(0,0,0,.08);--shadow-card:0 18px 44px rgba(0,0,0,.065);--shadow-card-hover:0 30px 74px rgba(0,0,0,.14);--shadow-hero:0 16px 42px rgba(0,0,0,.16);
  --radius-b2c:28px;--radius-b2c-sm:20px;--radius-b2b:6px;--radius-b2b-sm:2px;
  --radius-xl:26px;--radius-lg:20px;--radius-md:15px;--radius-sm:11px;
  --header-height:66px;--max-width:1180px;
}

/* RESET */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",Arial,sans-serif;color:var(--black);background:radial-gradient(circle at top left,rgba(219,39,39,.04),transparent 25%),linear-gradient(180deg,#fff 0%,#fafafa 100%);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
ul,ol{margin-top:0}
button,input,select,textarea{font:inherit}

/* LAYOUT */
.container{width:min(92%,var(--max-width));margin-inline:auto}
.narrow{max-width:840px;margin-inline:auto}
.center{text-align:center}
.section{position:relative;padding:72px 0}
.section-alt{background:radial-gradient(circle at top left,rgba(219,39,39,.045),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,246,246,.92))}
.section-glass,.glass-section{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.48));border-top:1px solid rgba(255,255,255,.62);border-bottom:1px solid rgba(0,0,0,.045);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.section-dark,.section-dark-soft,.ftg-gradient-black-red{background:linear-gradient(135deg,#000 0%,#090909 48%,#DB2727 100%)!important;color:#fff}
.section-red,
.travel-final-cta,
.ftg-business-final-cta,
.ftg-gradient-red-black{
  position:relative;
  overflow:hidden;
  isolation:isolate;

  background:
    radial-gradient(
      circle at bottom center,
      rgba(255,255,255,.14) 0%,
      rgba(255,255,255,.04) 18%,
      rgba(255,255,255,0) 42%
    ),

    linear-gradient(
      135deg,
      #DB2727 0%,
      #a11717 38%,
      #260303 72%,
      #000000 100%
    )!important;

  color:#fff;
}

.travel-final-cta > *,
.ftg-business-final-cta > *,
.ftg-gradient-red-black > *{
  position:relative;
  z-index:2;
}

.travel-final-cta::after,
.ftg-business-final-cta::after,
.ftg-gradient-red-black::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:260px;
  pointer-events:none;
  z-index:1;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 0%,
      rgba(15,0,0,.28) 26%,
      rgba(8,0,0,.72) 62%,
      rgba(0,0,0,1) 100%
    );
}
.ftg-gradient-horizontal-black-red{background:linear-gradient(90deg,#000 0%,#130202 42%,#DB2727 100%)!important;color:#fff}
.ftg-gradient-horizontal-red-black{background:linear-gradient(90deg,#DB2727 0%,#8f1515 42%,#000 100%)!important;color:#fff}
.ftg-footer-fade,.ftg-gradient-red-footer{background:linear-gradient(180deg,#DB2727 0%,#8f1515 42%,#210606 72%,#000 100%)!important;color:#fff}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark p,.section-dark-soft h1,.section-dark-soft h2,.section-dark-soft h3,.section-dark-soft h4,.section-dark-soft p,.section-red h1,.section-red h2,.section-red h3,.section-red h4,.section-red p,.travel-final-cta h1,.travel-final-cta h2,.travel-final-cta h3,.travel-final-cta h4,.travel-final-cta p,.ftg-business-final-cta h1,.ftg-business-final-cta h2,.ftg-business-final-cta h3,.ftg-business-final-cta h4,.ftg-business-final-cta p,.ftg-gradient-black-red h1,.ftg-gradient-black-red h2,.ftg-gradient-black-red h3,.ftg-gradient-black-red h4,.ftg-gradient-black-red p,.ftg-gradient-red-black h1,.ftg-gradient-red-black h2,.ftg-gradient-red-black h3,.ftg-gradient-red-black h4,.ftg-gradient-red-black p,.ftg-footer-fade h1,.ftg-footer-fade h2,.ftg-footer-fade h3,.ftg-footer-fade h4,.ftg-footer-fade p{color:#fff}
.section-panel{padding:34px 32px}
.section-label{display:inline-block;margin-bottom:12px;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.section-label-light{color:rgba(255,255,255,.72)}
.section-lead{font-size:1.02rem;line-height:1.72;color:rgba(0,0,0,.72)}
.section-lead+.section-lead{margin-top:12px}
.section-lead-light{color:rgba(255,255,255,.82)}
.section-microcopy{max-width:760px;margin:18px auto 0;font-size:.94rem;line-height:1.64;color:var(--muted)}

/* TYPOGRAPHY */
h1{font-size:clamp(2.25rem,4.5vw,4.45rem);line-height:.98;letter-spacing:-.04em;margin-bottom:18px}
h2{font-size:clamp(1.8rem,3vw,2.85rem);line-height:1.06;letter-spacing:-.03em;margin-bottom:14px}
h3{font-size:clamp(1.12rem,1.7vw,1.5rem);line-height:1.16;margin-bottom:12px}
.lead{font-size:1.04rem;color:var(--muted)}
.text-red{color:var(--red);font-weight:700}

/* HEADER GLOBALE */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,.22) 100%);backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%);border-bottom:1px solid rgba(255,255,255,.30);box-shadow:0 10px 32px rgba(0,0,0,.055);transition:background .28s ease,backdrop-filter .28s ease,box-shadow .28s ease}
.header-inner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .container,.header-inner{background:transparent}
.logo{display:inline-flex;align-items:center;flex-shrink:0}
.logo img{height:30px;width:auto}
.main-nav{display:flex;align-items:center;gap:8px}
.main-nav a{padding:10px 14px;font-size:.88rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.84);border-bottom:2px solid transparent;transition:color .22s ease,border-color .22s ease,background .22s ease}
.main-nav a:hover,.main-nav a.is-active{color:var(--red);border-bottom-color:var(--red)}

/* MENU MOBILE */
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.18));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:#111;transition:transform .22s ease,opacity .22s ease}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* BUTTON SYSTEM */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:0 26px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:.96rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.01em;
  text-decoration:none;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  background-clip:padding-box;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
  transform:translateZ(0);
  transition:
    transform .22s ease,
    background .28s ease,
    color .22s ease,
    border-color .22s ease,
    box-shadow .28s ease,
    filter .22s ease;
  will-change:transform;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn.large{
  min-height:56px;
  padding:0 28px;
  font-size:.98rem;
}

/* Bottoni rossi / CTA globali */
.btn-primary,
.ftg-global-fab,
.ftg-travel-fab,
.ftg-biz-network-fab,
[data-home-fab],
[data-floating-business-fab]{
  background:
    linear-gradient(
      135deg,
      #DB2727 0%,
      #a61b1b 48%,
      #000000 100%
    )!important;
  background-size:160% 160%;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.06)!important;
  box-shadow:
    0 18px 36px rgba(219,39,39,.20),
    0 12px 26px rgba(0,0,0,.18)!important;
}

.btn-primary:hover,
.ftg-global-fab:hover,
.ftg-travel-fab:hover,
.ftg-biz-network-fab:hover,
[data-home-fab]:hover,
[data-floating-business-fab]:hover{
  background:
    linear-gradient(
      135deg,
      #000000 0%,
      #3b0505 50%,
      #DB2727 100%
    )!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:
    0 24px 48px rgba(219,39,39,.28),
    0 16px 34px rgba(0,0,0,.24)!important;
  filter:brightness(1.04);
}

/* Bottoni bianchi: bianco -> nero */
.btn-light,
.btn-white,
.travel-final-cta .btn,
.ftg-footer-fade .btn,
.split-panel-business .btn,
.split-panel-business .btn-light{
  background:#ffffff!important;
  color:#000000!important;
  border-color:#ffffff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.12)!important;
}

.btn-light:hover,
.btn-white:hover,
.travel-final-cta .btn:hover,
.ftg-footer-fade .btn:hover,
.split-panel-business .btn:hover,
.split-panel-business .btn-light:hover{
  background:#000000!important;
  color:#ffffff!important;
  border-color:#000000!important;
}

/* Outline chiari: usati quando servono bottoni bianchi su hero/scuro */
.btn-outline{
  background:#ffffff!important;
  color:#000000!important;
  border-color:#ffffff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.12)!important;
}

.btn-outline:hover{
  background:#000000!important;
  color:#ffffff!important;
  border-color:#000000!important;
}

/* Bottoni neri business / hero business: nero -> bianco */
.btn-dark,
.btn-business,
.btn-hero-business,
.ftg-business-square-btn{
  background:#000000!important;
  color:#ffffff!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.22)!important;
}

.btn-dark:hover,
.btn-business:hover,
.btn-hero-business:hover,
.ftg-business-square-btn:hover{
  background:#ffffff!important;
  color:#000000!important;
  border-color:#ffffff!important;
}

/* Outline scuri su fondi chiari */
.btn-dark-outline{
  background:transparent!important;
  color:#000000!important;
  border-color:rgba(0,0,0,.18)!important;
  box-shadow:none!important;
}

.btn-dark-outline:hover{
  background:#000000!important;
  color:#ffffff!important;
  border-color:#000000!important;
}

/* B2C = morbidi */
.ftg-home-page .btn,
.ftg-travel-page .btn,
.travel-page .btn,
.ftg-guides-page .btn,
.guides-page .btn,
.ftg-contact-page .btn,
.ftg-category-page .btn,
.ftg-experience-page .btn,
.ftg-experiences-page .btn,
.ftg-pricing-page .btn,
.ftg-about-page .btn,
.ftg-legal-page .btn,
.ftg-global-fab,
.ftg-travel-fab,
[data-home-fab]{
  border-radius:999px;
}

/* Business = squadrati */
.ftg-biz-page .btn,
.ftg-business-page .btn,
.ftg-serv-page .btn,
.ftg-cand-page .btn,
.business-page .btn,
.btn-business,
.btn-dark,
.ftg-business-square-btn,
.ftg-biz-network-fab,
[data-floating-business-fab]{
  border-radius:var(--radius-b2b)!important;
}


/* HERO SYSTEM GLOBALE */
.hero-main-image,.page-hero-clean,.hero-home-new,.travel-hero-new,.category-hero,.ftg-hero,.contact-hero-clean,.experiences-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;padding:90px 0;background-size:cover;background-position:center center;background-repeat:no-repeat}
.hero-home-media,.travel-hero-media,.category-hero-media,.contact-hero-media,.experiences-hero-media,.ftg-hero-media{position:absolute;inset:0;z-index:0}
.hero-home-media img,.travel-hero-media img,.category-hero-media img,.contact-hero-media img,.experiences-hero-media img,.ftg-hero-media img,.ftg-hero img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-image-overlay,.hero-image-overlay-dark,.travel-hero-new .hero-image-overlay,.category-hero-overlay,.contact-hero-media::after,.experiences-hero-overlay,.ftg-hero-overlay,.travel-hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.06)),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16))}
.hero-center,.hero-home-content,.travel-hero-content,.category-hero-content,.contact-hero-content,.experiences-hero-content,.ftg-hero-content{position:relative;z-index:2;width:100%}
.hero-home-content,.travel-hero-content,.contact-hero-content,.experiences-hero-content,.ftg-hero-content{display:flex;justify-content:center}
.hero-home-panel,.travel-hero-panel,.category-hero-panel,.contact-hero-panel,.experiences-hero-panel,.ftg-hero-panel,.glass-panel,.ftg-glass-panel{max-width:840px;margin:0 auto;padding:clamp(26px,4vw,54px);border-radius:var(--radius-b2c);text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055))!important;border:1px solid rgba(255,255,255,.24)!important;backdrop-filter:blur(14px) saturate(128%)!important;-webkit-backdrop-filter:blur(14px) saturate(128%)!important;box-shadow:0 16px 42px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.08)!important}
.hero-home-title,.travel-hero-title,.category-hero-title,.ftg-hero-title,.hero-home-panel h1,.travel-hero-panel h1,.contact-hero-panel h1,.experiences-hero-panel h1,.ftg-hero-panel h1{max-width:860px;margin:0 auto 18px;color:#fff;font-size:clamp(2.25rem,4.5vw,4.45rem);line-height:.98;letter-spacing:-.04em;text-shadow:0 10px 28px rgba(0,0,0,.24)}
.hero-home-sub,.travel-hero-sub,.category-hero-sub,.ftg-hero-sub,.hero-home-panel p,.travel-hero-panel p,.contact-hero-panel .section-lead,.experiences-hero-panel p,.ftg-hero-panel p{max-width:760px;margin:0 auto;font-size:1.04rem;line-height:1.65;color:rgba(255,255,255,.88);text-shadow:0 8px 22px rgba(0,0,0,.20)}
.hero-actions,.hero-home-actions,.travel-hero-actions,.category-hero-actions,.hero-actions-center{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero-actions-left{justify-content:flex-start}
.hero-home-microcopy,.travel-hero-microcopy,.category-hero-microcopy{max-width:720px;margin:18px auto 0;font-size:.9rem;line-height:1.55;color:rgba(255,255,255,.84);text-shadow:0 8px 22px rgba(0,0,0,.18)}
.category-hero-panel{text-align:left}
.category-hero .hero-actions{justify-content:flex-start}

/* FLOATING NAV GLOBALE */
.travel-floating-nav,.business-floating-nav,.ftg-biz-floating-nav,[data-floating-nav],[data-home-floating-nav]{position:fixed;left:50%;top:82px;z-index:900;width:auto;max-width:min(92vw,860px);transform:translateX(-50%) translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,transform .24s ease,visibility .24s ease}
.travel-floating-nav.is-visible,.business-floating-nav.is-visible,.ftg-biz-floating-nav.is-visible,[data-floating-nav].is-visible,[data-home-floating-nav].is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.travel-floating-nav-inner,.business-floating-nav-inner,.ftg-biz-floating-nav-inner{display:flex;justify-content:center;gap:6px;padding:9px 12px;overflow-x:auto;scrollbar-width:none;border-radius:999px;background:rgba(255,255,255,.70);border:1px solid rgba(255,255,255,.52);box-shadow:0 16px 38px rgba(0,0,0,.12);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.travel-floating-nav-inner::-webkit-scrollbar,.business-floating-nav-inner::-webkit-scrollbar,.ftg-biz-floating-nav-inner::-webkit-scrollbar{display:none}
.travel-floating-nav a,.business-floating-nav a,.ftg-biz-floating-nav a,[data-floating-nav] a,[data-home-floating-nav] a{position:relative;flex:0 0 auto;overflow:hidden;padding:8px 12px 10px;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1;color:#111;white-space:nowrap;transition:color .22s ease,background .22s ease}
.travel-floating-nav a::after,.business-floating-nav a::after,.ftg-biz-floating-nav a::after,[data-floating-nav] a::after,[data-home-floating-nav] a::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(219,39,39,0),rgba(219,39,39,.95),rgba(219,39,39,0));transform:scaleX(0);opacity:0;transition:transform .24s ease,opacity .24s ease}
.travel-floating-nav a:hover,.travel-floating-nav a:focus-visible,.travel-floating-nav a.is-current,.travel-floating-nav a.is-active,.business-floating-nav a:hover,.business-floating-nav a:focus-visible,.business-floating-nav a.is-current,.business-floating-nav a.is-active,.ftg-biz-floating-nav a:hover,.ftg-biz-floating-nav a:focus-visible,.ftg-biz-floating-nav a.is-current,.ftg-biz-floating-nav a.is-active,[data-floating-nav] a:hover,[data-floating-nav] a:focus-visible,[data-floating-nav] a.is-current,[data-floating-nav] a.is-active,[data-home-floating-nav] a:hover,[data-home-floating-nav] a:focus-visible,[data-home-floating-nav] a.is-current,[data-home-floating-nav] a.is-active{color:var(--red);background:rgba(219,39,39,.06)}
.travel-floating-nav a:hover::after,.travel-floating-nav a:focus-visible::after,.travel-floating-nav a.is-current::after,.travel-floating-nav a.is-active::after,.business-floating-nav a:hover::after,.business-floating-nav a:focus-visible::after,.business-floating-nav a.is-current::after,.business-floating-nav a.is-active::after,.ftg-biz-floating-nav a:hover::after,.ftg-biz-floating-nav a:focus-visible::after,.ftg-biz-floating-nav a.is-current::after,.ftg-biz-floating-nav a.is-active::after,[data-floating-nav] a:hover::after,[data-floating-nav] a:focus-visible::after,[data-floating-nav] a.is-current::after,[data-floating-nav] a.is-active::after,[data-home-floating-nav] a:hover::after,[data-home-floating-nav] a:focus-visible::after,[data-home-floating-nav] a.is-current::after,[data-home-floating-nav] a.is-active::after{transform:scaleX(1);opacity:1}

/* CARD SYSTEM */
.home-links-grid,.social-proof-grid,.travel-steps-grid,.check-grid,.icon-feature-grid{display:grid;gap:20px}
.home-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.social-proof-grid,.travel-steps-grid,.check-grid,.icon-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-link-card,.social-proof-card,.travel-step-card,.check-card,.icon-feature-card,.contact-form-card,.contact-side-card,.ftg-soft-card{position:relative;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid rgba(219,39,39,.12);box-shadow:var(--shadow-card),inset 0 0 0 1px rgba(255,255,255,.55);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,filter .28s ease}
.home-link-card,.travel-step-card,.check-card,.icon-feature-card,.ftg-soft-card{border-radius:var(--radius-b2c-sm);padding:24px 20px}
.home-link-card strong,.travel-step-card h3,.check-card h3,.icon-feature-card h3{display:block;margin-bottom:10px}
.home-link-card span,.travel-step-card p,.check-card p,.icon-feature-card p{color:#555;line-height:1.64}
.home-link-card:hover,.social-proof-card:hover,.travel-step-card:hover,.check-card:hover,.icon-feature-card:hover,.ftg-soft-card:hover{transform:translateY(-5px);border-color:rgba(219,39,39,.24);box-shadow:0 28px 64px rgba(0,0,0,.12),0 12px 28px rgba(219,39,39,.12)}
.ftg-featured-card,.ftg-number-card{position:relative;overflow:hidden;border-radius:var(--radius-b2c);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,250,250,.98));border:1px solid rgba(219,39,39,.16);box-shadow:0 22px 54px rgba(0,0,0,.075),inset 0 0 0 1px rgba(255,255,255,.65)}
.ftg-featured-card::before,.ftg-number-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#DB2727 0%,#b91f1f 52%,#000 100%);box-shadow:0 4px 18px rgba(219,39,39,.28)}
.ftg-number-badge,.travel-step-index{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:58px;margin-bottom:28px;padding-inline:14px;border-radius:999px;background:linear-gradient(135deg,#DB2727 0%,#9f1717 58%,#000 100%);color:#fff;font-size:1rem;font-weight:900;letter-spacing:.02em;box-shadow:0 18px 34px rgba(219,39,39,.26),0 10px 24px rgba(0,0,0,.16)}
.ftg-glass-card,.travel-value-card{position:relative;overflow:hidden;border-radius:var(--radius-b2c);background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.20);box-shadow:0 22px 54px rgba(0,0,0,.22);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease}
.ftg-glass-card::before,.travel-value-card::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:4px;border-radius:999px;background:
  linear-gradient(
    180deg,
    #ff3a3a 0%,
    #DB2727 28%,
    #8e1111 62%,
    #000000 100%
  );}
.ftg-glass-card:hover,.travel-value-card:hover{transform:translateY(-7px);background:linear-gradient(135deg,rgba(219,39,39,.28),rgba(255,255,255,.09));border-color:rgba(255,255,255,.36);box-shadow:0 30px 78px rgba(0,0,0,.30),0 12px 30px rgba(219,39,39,.22)}

/* SPLIT TRAVEL / BUSINESS */
.split-choice{position:relative;padding:72px 0 84px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(246,246,246,.88))}
.split-choice::before{content:none}
.split-choice-title{position:relative;z-index:1;width:min(92%,var(--max-width));margin:0 auto 34px;color:#000}
.split-choice-grid{position:relative;z-index:1;width:min(92%,var(--max-width));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:460px;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 28%),linear-gradient(135deg,#000 0%,#180202 38%,#5a0909 68%,#DB2727 100%);box-shadow:0 38px 90px rgba(0,0,0,.18),0 14px 38px rgba(219,39,39,.12)}
.split-panel{position:relative;padding:56px 40px;display:flex;align-items:center;justify-content:center;background:transparent}
.split-panel-inner{max-width:460px}
.split-panel p{font-size:1rem;line-height:1.68}
.split-panel-travel,.split-panel-business{color:#fff;background:transparent}
.split-panel-travel::before,.split-panel-business::before{content:"";position:absolute;inset:0;pointer-events:none}
.split-panel-travel::before{background:radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 34%)}
.split-panel-business::before{background:radial-gradient(circle at top right,rgba(255,255,255,.05),transparent 34%)}
.split-panel-box{position:relative;overflow:hidden;padding:30px 28px;border:1px solid rgba(219,39,39,.16);box-shadow:0 22px 60px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.28);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.split-panel-box::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#ff3a3a 0%,#DB2727 28%,#8e1111 62%,#000000 100%)}
.split-panel-box:hover{transform:translateY(-6px) scale(1.015);border-color:rgba(219,39,39,.32);box-shadow:0 30px 76px rgba(0,0,0,.24),0 10px 24px rgba(219,39,39,.16)}
.split-panel-travel .split-panel-box{border-radius:var(--radius-b2c);background:rgba(255,255,255,.92)}
.split-panel-travel h3,.split-panel-travel p{color:#000}
.split-panel-business .split-panel-box{border-radius:var(--radius-b2b);background:linear-gradient(180deg,#101010 0%,#000000 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.03)}
.split-panel-business h3{color:#fff}
.split-panel-business p{color:rgba(255,255,255,.82)}


/* FAQ SYSTEM */
.ftg-faq-list,.ftg-guides-faq-list,.contact-faq-list{display:grid;gap:18px;margin-top:42px}
.ftg-faq-card,.ftg-guides-faq-card,.contact-faq-card{position:relative;overflow:hidden;border-radius:var(--radius-b2c-sm);padding:24px 24px 24px 30px;background:rgba(255,255,255,.96);border:1px solid rgba(219,39,39,.13);box-shadow:0 18px 44px rgba(0,0,0,.065),inset 0 0 0 1px rgba(255,255,255,.55);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.ftg-faq-card::before,.ftg-guides-faq-card::before,.contact-faq-card::before{content:"";position:absolute;inset:18px auto 18px 0;width:4px;border-radius:999px;background:
  linear-gradient(
    180deg,
    #ff3a3a 0%,
    #DB2727 28%,
    #8e1111 62%,
    #000000 100%
  );opacity:.9}
.ftg-faq-card:nth-child(even),.ftg-guides-faq-card:nth-child(even),.contact-faq-card:nth-child(even){transform:translateX(24px)}
.ftg-faq-card:hover,.ftg-guides-faq-card:hover,.contact-faq-card:hover{transform:translateY(-5px);border-color:rgba(219,39,39,.24);box-shadow:0 28px 64px rgba(0,0,0,.12),0 12px 28px rgba(219,39,39,.12)}
.ftg-faq-card:nth-child(even):hover,.ftg-guides-faq-card:nth-child(even):hover,.contact-faq-card:nth-child(even):hover{transform:translateX(24px) translateY(-5px)}

/* FORMS */
.contact-form-card,.contact-side-card{border-radius:var(--radius-b2c-sm);padding:26px 24px}
.ftg-form,.ftg-cand-form{display:grid;gap:16px}
.ftg-form label,.ftg-cand-form label{display:grid;gap:8px}
.ftg-form label>span,.ftg-cand-form label>span{font-weight:700;font-size:.94rem}
.ftg-form input,.ftg-form select,.ftg-form textarea,.ftg-cand-form input,.ftg-cand-form select,.ftg-cand-form textarea{width:100%;min-height:54px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.10);background:var(--white);color:#111;font:inherit}
.ftg-form textarea,.ftg-cand-form textarea{min-height:140px;resize:vertical}
.ftg-form input:focus,.ftg-form select:focus,.ftg-form textarea:focus,.ftg-cand-form input:focus,.ftg-cand-form select:focus,.ftg-cand-form textarea:focus{outline:none;border-color:rgba(219,39,39,.46);box-shadow:0 0 0 4px rgba(219,39,39,.10)}
.form-grid{display:grid;gap:16px}
.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.checkbox-grid{display:grid;gap:8px}
.checkbox-grid label{display:flex;align-items:center;gap:8px;font-weight:500}
.checkbox-grid input{width:auto;min-height:auto;padding:0}
.form-note,.ftg-cand-form-note{color:var(--muted);font-size:.95rem;line-height:1.6}
.ftg-cand-page .contact-form-card,.ftg-cand-page .contact-side-card,.ftg-cand-page .ftg-cand-form{border-radius:var(--radius-b2b)}
.ftg-cand-page input,.ftg-cand-page select,.ftg-cand-page textarea{border-radius:var(--radius-b2b)}

/* FLOATING CTA */
.ftg-global-fab,.ftg-travel-fab,.ftg-biz-network-fab,[data-home-fab],[data-floating-business-fab]{position:fixed!important;right:24px!important;left:auto!important;bottom:24px!important;z-index:1200;min-height:58px;padding:0 30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff!important;text-decoration:none;white-space:nowrap;font-size:.94rem;font-weight:850;letter-spacing:.01em;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease,box-shadow .24s ease,filter .24s ease}
.ftg-global-fab.is-visible,.ftg-travel-fab.is-visible,.ftg-biz-network-fab.is-visible,[data-home-fab].is-visible,[data-floating-business-fab].is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.ftg-global-fab:hover,.ftg-travel-fab:hover,.ftg-biz-network-fab:hover,[data-home-fab]:hover,[data-floating-business-fab]:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 24px 60px rgba(0,0,0,.36),0 12px 28px rgba(219,39,39,.32)}


/* HIGHLIGHT GLOBALI CARD / BANDE */
.home-link-card::before,
.social-proof-list blockquote::before,
.travel-step-card::before,
.check-card::before,
.icon-feature-card::before,
.ftg-soft-card::before,
.ftg-faq-card::before,
.ftg-guides-faq-card::before,
.contact-faq-card::before,
.split-panel-box::before,
.ftg-glass-card::before,
.travel-value-card::before{
  background:
    linear-gradient(
      180deg,
      #ff3a3a 0%,
      #DB2727 28%,
      #8e1111 62%,
      #000000 100%
    )!important;
}

/* Evidenza card Esperienze Reali / social proof */
.social-proof-list blockquote,
.social-proof-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.98),
      rgba(250,250,250,.96)
    );
  border:1px solid rgba(219,39,39,.14)!important;
  border-radius:24px;
  box-shadow:
    0 22px 58px rgba(0,0,0,.08),
    0 8px 24px rgba(219,39,39,.08),
    inset 0 0 0 1px rgba(255,255,255,.65)!important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.social-proof-list blockquote:hover,
.social-proof-card:hover{
  transform:translateY(-6px);
  border-color:rgba(219,39,39,.26)!important;
  box-shadow:
    0 34px 80px rgba(0,0,0,.14),
    0 12px 34px rgba(219,39,39,.14)!important;
}

.social-proof-media{
  overflow:hidden;
  border-radius:var(--radius-b2c);
  border:1px solid rgba(219,39,39,.16);
  box-shadow:
    0 24px 64px rgba(0,0,0,.12),
    0 10px 28px rgba(219,39,39,.10);
}


/* FOOTER */
.ftg-footer{
  margin-top:-1px;
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:96px 0 38px;
  isolation:isolate;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,.74) 46%,
      rgba(0,0,0,.54) 100%
    ),
    url("../img/layout/foodtripgo-global-travel-network-footer-background.webp");
  background-size:cover;
  background-position:center 42%;
  background-repeat:no-repeat;
}
.ftg-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 10% 20%,rgba(219,39,39,.18),transparent 28%),linear-gradient(135deg,rgba(0,0,0,.08),rgba(219,39,39,.10))}
.ftg-footer::after{content:"";position:absolute;right:-120px;bottom:-180px;width:520px;height:520px;z-index:-1;background:radial-gradient(circle,rgba(219,39,39,.22),transparent 70%);filter:blur(42px)}
.ftg-footer-grid{display:grid;grid-template-columns:1.35fr .85fr 1fr 1.15fr .85fr 1fr;gap:34px;align-items:start}
.ftg-footer-brand{min-width:0}
.ftg-footer-logo{width:220px;max-width:100%;margin-bottom:24px;object-fit:contain}
.ftg-footer-brand-title{margin:0 0 18px;color:#fff;font-size:clamp(1.6rem,2vw,2.2rem);line-height:1;letter-spacing:-.04em}
.ftg-footer-tagline{max-width:430px;margin-bottom:28px;color:rgba(255,255,255,.76);font-size:1rem;line-height:1.78}
.ftg-footer-microcopy{max-width:430px;margin-top:18px;color:rgba(255,255,255,.58);font-size:.92rem;line-height:1.7}
.ftg-footer-column{display:flex;flex-direction:column;gap:12px}
.ftg-footer-column h4{margin:0 0 12px;color:#fff;font-size:.92rem;font-weight:850;letter-spacing:.10em;text-transform:uppercase}
.ftg-footer-column a,.ftg-footer-column span{color:rgba(255,255,255,.75);text-decoration:none;transition:.22s ease}
.ftg-footer-column a:hover{color:#fff;transform:translateX(4px)}
/* =====================================================
   FOOTER — SOCIAL ICONS
===================================================== */

.ftg-footer-company-column {
  gap: 10px;
}

.ftg-footer-location {
  display: block;
  margin-top: 2px;

  color: rgba(255,255,255,.52);

  font-size: .88rem;
  font-weight: 500;
  line-height: 1.5;
}

.ftg-footer-email {
  overflow-wrap: anywhere;
}

.ftg-footer-social-block {
  margin-top: 24px;
}

.ftg-footer-social-block h4 {
  margin-bottom: 14px;
}

.ftg-footer-socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.ftg-footer-socials .ftg-footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;

  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.055)
    );

  color: #ffffff;

  box-shadow:
    0 10px 24px rgba(0,0,0,.15);

  transform: none;

  transition:
    transform .24s ease,
    background .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.ftg-footer-socials .ftg-footer-social-link svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.ftg-footer-socials .ftg-footer-social-link:hover,
.ftg-footer-socials .ftg-footer-social-link:focus-visible {
  color: #ffffff;
  transform: translateY(-3px);

  border-color: rgba(255,255,255,.42);

  background:
    linear-gradient(
      135deg,
      #DB2727 0%,
      #9f1717 52%,
      #000000 100%
    );

  box-shadow:
    0 16px 34px rgba(0,0,0,.24),
    0 8px 20px rgba(219,39,39,.24);
}

.ftg-footer-socials .ftg-footer-social-link:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
.ftg-footer-socials{display:flex;flex-wrap:wrap;gap:10px}
.ftg-footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;text-decoration:none;font-size:.86rem;font-weight:700;transition:.24s ease}
.ftg-footer-socials a:hover{transform:translateY(-2px);border-color:rgba(219,39,39,.48);background:rgba(219,39,39,.16)}
.ftg-footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 22px;margin-top:64px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
.ftg-footer-legal a{color:rgba(255,255,255,.68);font-size:.84rem;text-decoration:none;transition:.22s ease}
.ftg-footer-legal a:hover{color:#fff}
.ftg-footer-final-seo{max-width:980px;margin-top:24px;text-align:center;color:rgba(255,255,255,.46);font-size:.84rem;line-height:1.7}
.ftg-footer-bottom{margin-top:22px;text-align:center;color:rgba(255,255,255,.62);font-size:.9rem}
.ftg-footer-seo {
}

/* =====================================================
   FOOTER — LINK PREFERENZE COOKIE
===================================================== */

.ftg-footer-cookie-link {  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.68);
  font: inherit;
  font-size: .84rem;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;

  transition:
    color .22s ease;
}

.ftg-footer-cookie-link:hover,
.ftg-footer-cookie-link:focus-visible {
  color: #ffffff;
}

.ftg-footer-cookie-link:focus-visible {
  outline: 2px solid rgba(255,255,255,.75);
  outline-offset: 4px;
  border-radius: 3px;
}

/* =====================================================
   COOKIE BANNER
===================================================== */

.cookie-consent{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    pointer-events:none;
}

.cookie-consent__backdrop{
    display:none;
}

.cookie-consent__panel{

    position:relative;

    width:min(1180px,calc(100% - 40px));
    margin:0 auto 20px;

    background:rgba(255,255,255,.88);
    backdrop-filter:blur(22px) saturate(170%);
    -webkit-backdrop-filter:blur(22px) saturate(170%);

    border:1px solid rgba(255,255,255,.72);
    border-radius:22px;

    box-shadow:
        0 24px 60px rgba(0,0,0,.14),
        inset 0 1px 0 rgba(255,255,255,.75);

    pointer-events:auto;

    animation:cookiePanelIn .28s ease both;
}

.cookie-consent__content{

    display:grid;

    grid-template-columns:
        minmax(280px,1.7fr)
        minmax(340px,2fr);

    gap:34px;

    align-items:start;

    padding:22px 28px;
}

.cookie-consent__eyebrow{

    display:block;

    margin:0 0 12px;

    font-size:1.3rem;
    font-weight:850;

    color:#111;
}

.cookie-consent__content>p{

    margin:0;

    font-size:.92rem;
    line-height:1.55;

    color:rgba(0,0,0,.76);
}

.cookie-consent__content p a{
    color:var(--red);
    text-decoration:underline;
    font-weight:600;
}

.cookie-consent__content p a:hover{
    text-decoration:none;
}

.cookie-option{

    padding:10px 0;

    border-top:1px solid rgba(0,0,0,.08);
}

.cookie-option:first-child{
    border-top:none;
}

.cookie-option__header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:14px;
}

.cookie-option__controls{

    display:flex;

    align-items:center;

    gap:10px;
}

.cookie-option__description{

    padding-top:8px;

    font-size:.8rem;

    color:#666;
}

.cookie-option__toggle{

    width:28px;
    height:28px;

    border-radius:999px;

    border:1px solid rgba(0,0,0,.08);

    background:#fff;

    cursor:pointer;
}

.cookie-option__toggle:hover{
    background:#f4f4f4;
}

.cookie-consent__actions{

    margin-top:18px;

    display:flex;

    gap:10px;

    flex-wrap:wrap;
}

.cookie-consent__actions .btn{

    min-width:170px;

    min-height:42px;
}

.cookie-btn-save{

    margin-left:auto;
}

@keyframes cookiePanelIn{

    from{

        opacity:0;
        transform:translateY(16px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

@media (max-width:900px){

    .cookie-consent__panel{

        width:calc(100% - 20px);

        margin:0 auto 10px;
    }

    .cookie-consent__content{

        grid-template-columns:1fr;

        gap:20px;

        padding:18px;
    }

    .cookie-consent__actions{

        display:grid;

        grid-template-columns:1fr;
    }

    .cookie-btn-save{

        margin-left:0;
    }

}

/* RESPONSIVE */

@media (max-width:1280px) {
  .ftg-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px;
  }
}

@media (max-width:1080px) {
  .home-links-grid,
  .social-proof-grid,
  .travel-steps-grid,
  .check-grid,
  .icon-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ftg-footer {
    background-position: center center;
  }
}

@media (max-width:980px) {
  .hero-main-image,
  .page-hero-clean,
  .hero-home-new,
  .travel-hero-new,
  .category-hero,
  .ftg-hero,
  .contact-hero-clean,
  .experiences-hero {
    min-height: 100vh;
    padding: 76px 0;
  }

  .hero-actions-left,
  .category-hero .hero-actions {
    justify-content: center;
  }

  .category-hero-panel {
    text-align: center;
  }

  .travel-floating-nav,
  .business-floating-nav,
  .ftg-biz-floating-nav,
  [data-floating-nav],
  [data-home-floating-nav] {
    display: none;
  }

  .split-choice-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width:760px) {
  :root {
    --header-height: 60px;
  }

  .header-inner {
    min-height: var(--header-height);
    padding: 10px 0;
    gap: 14px;
    position: relative;
  }

  .logo img {
    height: 28px;
  }

  .menu-toggle {
    display: inline-flex;
    flex-shrink: 0;
  }

  .main-nav {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 1200;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 10px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(255,255,255,.42);
    border-radius: var(--radius-b2c-sm);
    box-shadow: 0 16px 38px rgba(0,0,0,.12);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
  }

  .main-nav.is-open {
    display: flex;
  }

  .main-nav a {
    width: 100%;
    padding: 12px 14px;
    font-size: .86rem;
    border-bottom: none;
    border-radius: 12px;
  }

  .main-nav a:hover,
  .main-nav a.is-active {
    background: rgba(219,39,39,.08);
    color: var(--red);
  }

  .section {
    padding: 52px 0;
  }

  .hero-home-panel,
  .travel-hero-panel,
  .category-hero-panel,
  .contact-hero-panel,
  .experiences-hero-panel,
  .ftg-hero-panel,
  .glass-panel,
  .ftg-glass-panel {
    padding: 24px 18px;
    border-radius: var(--radius-b2c-sm);
  }

  .hero-home-title,
  .travel-hero-title,
  .category-hero-title,
  .ftg-hero-title,
  .hero-home-panel h1,
  .travel-hero-panel h1,
  .contact-hero-panel h1,
  .experiences-hero-panel h1,
  .ftg-hero-panel h1 {
    font-size: clamp(2.1rem, 11vw, 3.35rem);
  }

  .hero-actions,
  .hero-home-actions,
  .travel-hero-actions,
  .category-hero-actions,
  .hero-actions-center,
  .hero-actions-left {
    flex-direction: column;
  }

  .hero-actions .btn,
  .hero-home-actions .btn,
  .travel-hero-actions .btn,
  .category-hero-actions .btn,
  .hero-actions-center .btn,
  .hero-actions-left .btn {
    width: 100%;
  }

  .home-links-grid,
  .social-proof-grid,
  .travel-steps-grid,
  .check-grid,
  .icon-feature-grid,
  .form-grid-2 {
    grid-template-columns: 1fr;
  }

  .ftg-faq-card:nth-child(even),
  .ftg-guides-faq-card:nth-child(even),
  .contact-faq-card:nth-child(even),
  .ftg-faq-card:nth-child(even):hover,
  .ftg-guides-faq-card:nth-child(even):hover,
  .contact-faq-card:nth-child(even):hover {
    transform: none;
  }

  .ftg-global-fab,
  .ftg-travel-fab,
  .ftg-biz-network-fab,
  [data-home-fab],
  [data-floating-business-fab] {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    width: auto;
    min-height: 50px;
    padding: 0 18px;
    font-size: .88rem;
  }

  .ftg-footer {
    padding: 74px 0 34px;
  }

  .ftg-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .ftg-footer-logo {
    width: 190px;
  }

  .ftg-footer-legal {
    justify-content: flex-start;
    margin-top: 48px;
  }

  .ftg-footer-final-seo {
    text-align: left;
  }

  .cookie-consent__panel {
    top: 50%;
    bottom: auto;
    width: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
    transform: translate(-50%, -50%);
  }

  .cookie-consent__content {
    max-height: calc(100dvh - 24px);
    padding: 14px;
  }

  .cookie-consent__content p {
    font-size: .82rem;
    line-height: 1.4;
  }

  .cookie-consent__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
  }

  .cookie-consent__actions .btn {
    width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    font-size: .88rem;
  }

  .cookie-consent__actions .cookie-btn-save {
    grid-column: 1 / -1;
  }
}

@media (min-width:761px) {
  .menu-toggle {
    display: none !important;
  }
}
/* =========================
   GLOBAL COMPASS LOADER
========================= */

.compass-loader{
  position:fixed;
  inset:0;

  z-index:99999;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
  rgba(255,255,255,.95);

  backdrop-filter:blur(8px);

  transition:
  opacity .45s ease,
  visibility .45s ease;
}

.compass-loader.is-hidden{

  opacity:0;
  visibility:hidden;
  pointer-events:none;

}

.compass{

  position:relative;
  width:120px;
  height:120px;

}

.compass-ring{

  position:absolute;
  inset:0;

  border:2px solid #DB2727;

  border-radius:50%;

  box-shadow:
  0 0 0 8px rgba(
      219,
      39,
      39,
      .08
  );

}

.compass-cross::before,
.compass-cross::after{

content:"";

position:absolute;

background:rgba(
0,
0,
0,
.18
);

left:50%;
top:50%;

transform:
translate(
-50%,
-50%
);

}

.compass-cross::before{

width:1px;
height:82px;

}

.compass-cross::after{

width:82px;
height:1px;

}

.compass-letter{

position:absolute;

font-size:11px;
font-weight:800;

}

.n{
top:8px;
left:50%;
transform:translateX(-50%);
}

.e{
right:10px;
top:50%;
transform:translateY(-50%);
}

.s{
bottom:8px;
left:50%;
transform:translateX(-50%);
}

.w{
left:10px;
top:50%;
transform:translateY(-50%);
}

.compass-needle{

position:absolute;

left:50%;
top:50%;

width:10px;
height:76px;

transform-origin:center center;

animation:
compassSpin
1.3s linear infinite;

}

.compass-needle::before,
.compass-needle::after{

content:"";

position:absolute;

left:50%;

transform:
translateX(-50%);

border-left:6px solid transparent;
border-right:6px solid transparent;

}

.compass-needle::before{

top:0;

border-bottom:
38px solid #DB2727;

}

.compass-needle::after{

bottom:0;

border-top:
38px solid #000;

}

.compass-center{

position:absolute;

left:50%;
top:50%;

width:14px;
height:14px;

background:#fff;

border:2px solid #DB2727;

border-radius:50%;

transform:
translate(-50%,-50%);

z-index:2;

}

@keyframes compassSpin{

from{

transform:
translate(
-50%,
-50%
)
rotate(0);

}

to{

transform:
translate(
-50%,
-50%
)
rotate(360deg);

}

}

/* FORM RICHIESTA VIAGGIO + FOTO DESTRA */

.ftg-request-form-section .container{
  max-width:1180px;
}

.ftg-request-form-section .ftg-request-form-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 260px !important;
  gap:28px !important;
  align-items:start !important;
}

.ftg-request-form-section .ftg-request-form-wrap{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

.ftg-request-form-section .ftg-request-side-image{
  width:260px !important;
  max-width:260px !important;
  align-self:start !important;
  overflow:hidden !important;
  border-radius:18px !important;
}

.ftg-request-form-section .ftg-request-side-image img{
  width:260px !important;
  height:420px !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

@media (max-width:1000px){

  .ftg-request-form-section .ftg-request-form-layout{
    grid-template-columns:1fr !important;
  }

  .ftg-request-form-section .ftg-request-side-image{
    width:100% !important;
    max-width:100% !important;
  }

  .ftg-request-form-section .ftg-request-side-image img{
    width:100% !important;
    height:260px !important;
  }
}

/* =========================================================
   LANGUAGE SWITCHER
========================================================= */

.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 8px;
  padding-left: 12px;
  border-left: 1px solid rgba(0, 0, 0, 0.18);
}

.language-switcher-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 48px;
  padding: 9px 7px !important;
  border-bottom: 2px solid transparent;
  border-radius: 8px;
  color: rgba(0, 0, 0, 0.62) !important;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}

.language-switcher-link:hover {
  color: var(--red) !important;
  background: rgba(219, 39, 39, 0.06);
  border-bottom-color: transparent !important;
}

.language-switcher-link.is-current {
  color: var(--red) !important;
  border-bottom-color: var(--red) !important;
}

.language-flag {
  font-size: 1rem;
  line-height: 1;
}

.language-code {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.language-switcher-divider {
  width: 1px;
  height: 18px;
  background: rgba(0, 0, 0, 0.15);
}

@media (max-width: 760px) {
  .language-switcher {
    width: 100%;
    justify-content: center;
    gap: 10px;
    margin: 6px 0 0;
    padding: 10px 0 2px;
    border-left: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .language-switcher-link {
    width: auto !important;
    min-width: 70px;
    padding: 10px 14px !important;
  }

  .language-switcher-link.is-current {
    background: rgba(219, 39, 39, 0.08);
    border-bottom-color: transparent !important;
  }

  .language-switcher-divider {
    height: 22px;
  }
}