/* Il telefono oscilla brevemente per spiegare il gesto, senza muovere il comando. */
.fc-site button.fc-sensor-button {
  display:inline-grid; place-items:center; flex:none; width:60px; height:56px;
  min-width:60px; min-height:56px; padding:0; border-radius:4px;
  border:0; background:transparent; box-shadow:none; color:#d0e5ff;
  cursor:pointer; touch-action:pan-y pinch-zoom;
  transition:transform 120ms cubic-bezier(.22,1,.36,1),border-color 160ms;
}
.fc-sensor-label {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
.fc-sensor-icon { display:block; position:relative; width:48px; height:44px; pointer-events:none; }
.fc-sensor-arrows { display:block; width:100%; height:100%; opacity:.85; }
.fc-sensor-phone { position:absolute; left:50%; top:50%; width:22px; height:34px; transform:translate(-50%,-50%); }
.fc-sensor-phone svg { width:100%; height:100%; }
[data-journey-look-state='off'] [data-sensor-hint-visible] .fc-sensor-phone,
[data-workflow-gyro-state='off'] [data-sensor-hint-visible] .fc-sensor-phone { animation:fc-sensor-invitation 4s cubic-bezier(.45,0,.55,1) infinite; }
html[data-motion-paused] .fc-sensor-icon .fc-sensor-phone,
html[data-menu-open] .fc-sensor-icon .fc-sensor-phone { animation-play-state:paused; }
@keyframes fc-sensor-invitation {
  0%,60%,100% { transform:translate(-50%,-50%) rotate(0); }
  15% { transform:translate(-50%,-50%) rotate(-12deg); }
  40% { transform:translate(-50%,-50%) rotate(12deg); }
}
.fc-site button.fc-sensor-button[aria-pressed='true'] { color:#76baff; background:rgb(21 58 104 / 28%); }
.fc-site button.fc-sensor-button:disabled { opacity:1; color:#aab8ca; cursor:default; }
button.fc-sensor-button:active:not(:disabled) { transform:scale(.97); }
button.fc-sensor-button:focus-visible { outline:2px solid #b4d6ff; outline-offset:4px; }
button.fc-sensor-button:disabled .fc-sensor-phone { animation:none; }
@media(max-width:767px), (pointer:coarse) {
  .fc-site[data-page='home'] .fc-journey-guide {
    display:grid; grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);
    align-items:center; column-gap:12px;
  }
  .fc-journey-guide .fc-journey-scroll-hint {
    grid-column:1; grid-row:1; align-self:center; max-width:104px;
    font-size:12px; line-height:1.4;
  }
  .fc-journey-guide .fc-journey-look:not([hidden]) {
    grid-column:2; grid-row:1; justify-content:center;
  }
  .fc-journey-guide .fc-journey-look-status {
    right:50%; transform:translateX(50%); text-align:center;
  }
}
@media(prefers-reduced-motion:reduce) {
  [data-journey-look-state] .fc-sensor-icon .fc-sensor-phone,
  [data-workflow-gyro-state] .fc-sensor-icon .fc-sensor-phone { animation:none; }
  button.fc-sensor-button { transition:none; }
  button.fc-sensor-button:active:not(:disabled) { transform:none; }
}

/* Complete the approved six-sided controls on the mobile menu, notice and skips.
   Only the material layers are clipped, so focus rings and hit areas stay intact. */
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-cookie-notice button),
.fc-site .fc-mobile-menu nav>.fc-menu-utility .fc-menu-contact {
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:0;
  border-radius:0;
  clip-path:none;
  color:#f5f8ff;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  font-family:'Source Sans 3 Controls','Source Sans 3',Arial,sans-serif;
  transition:transform 160ms var(--fc-architectural-ease);
}

.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip)::before,
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip)::after {
  content:'';
  position:absolute;
  pointer-events:none;
  clip-path:var(--fc-control-shape);
}
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip)::before {
  z-index:-2;
  inset:0;
  background:var(--fc-control-edge);
  transition:filter 180ms var(--fc-architectural-ease);
}
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip)::after {
  z-index:-1;
  inset:var(--fc-control-edge-inset);
  background:
    linear-gradient(112deg,rgb(224 240 255 / 10%),transparent 32%,transparent 72%,rgb(46 105 215 / 9%)),
    var(--fc-architectural-fill);
  box-shadow:inset 0 1px 0 rgb(230 242 255 / 16%),inset 0 -1px 0 rgb(47 106 222 / 26%);
}

/* Keep both exits anchored by experience-skip.css and the desktop reference. */
.fc-site a.fc-experience-skip {
  --fc-control-slant:16px;
  --fc-control-bevel:6px;
  isolation:isolate;
  overflow:visible;
  min-height:44px;
  padding-inline:22px;
  border:0;
  border-radius:0;
  clip-path:none;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.fc-site .fc-cookie-notice button {
  --fc-control-slant:20px;
  --fc-control-bevel:7px;
  min-width:104px;
  min-height:46px;
  padding:10px 26px;
  line-height:1.25;
}
.fc-site .fc-cookie-notice-actions { flex-wrap:wrap; }
.fc-site .fc-cookie-notice-actions>a {
  min-height:44px;
  padding-inline:8px;
  border-radius:0;
}

@media(max-width:1023px) {
  .fc-site .fc-mobile-menu>summary {
    --fc-control-shape:var(--fc-language-shape);
    display:grid;
    place-items:center;
    width:68px;
    min-width:68px;
    height:48px;
    min-height:48px;
    padding:0;
  }
  .fc-site .fc-mobile-menu>summary .fc-menu-icon {
    flex:none;
    width:22px;
    height:18px;
  }
  .fc-site .fc-menu-icon::before,
  .fc-site .fc-menu-icon::after {
    width:22px;
    height:2px;
    border-radius:1px;
  }
  .fc-site .fc-menu-icon::before { top:4px; }
  .fc-site .fc-menu-icon::after { top:12px; }
  .fc-site .fc-mobile-menu[open] .fc-menu-icon::before,
  .fc-site .fc-mobile-menu[open] .fc-menu-icon::after { top:8px; width:22px; }

  .fc-site .fc-menu-links { gap:8px; }
  .fc-site :is(.fc-menu-links>a,.fc-menu-group>summary) {
    min-height:64px;
    padding:16px 30px;
    gap:18px;
  }
  .fc-site :is(.fc-menu-links>a,.fc-menu-group>summary)>span:first-child {
    position:relative;
    min-width:0;
  }
  .fc-site :is(.fc-menu-links>a[aria-current],.fc-menu-group>summary[data-current]) {
    color:#fff;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .fc-site :is(.fc-menu-links>a[aria-current],.fc-menu-group>summary[data-current])>span:first-child::after {
    content:'';
    position:absolute;
    bottom:-7px;
    left:0;
    width:38px;
    height:2px;
    background:linear-gradient(90deg,#347cff,#b4d6ff 50%,#347cff);
    box-shadow:0 0 6px rgb(40 114 255 / 65%);
  }
  .fc-site :is(.fc-menu-links>a[aria-current],.fc-menu-group[open]>summary,.fc-menu-group>summary[data-current])::before {
    filter:brightness(1.2);
  }
  .fc-site .fc-menu-submenu {
    margin:4px 12px 8px;
    padding:4px 12px 10px;
  }
  .fc-site .fc-menu-submenu>a {
    min-height:46px;
    padding-block:11px;
  }

  .fc-site .fc-menu-utility {
    flex-wrap:wrap;
    gap:16px;
    align-items:center;
  }
  .fc-site .fc-language-switch-mobile button { min-width:44px; }
  .fc-site .fc-mobile-menu nav>.fc-menu-utility .fc-menu-contact {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:1 1 240px;
    gap:14px;
    min-width:0;
    min-height:58px;
    padding:12px 30px;
    font-size:15px;
    font-weight:500;
    line-height:1.35;
  }
  .fc-site .fc-menu-contact>span:first-child {
    min-width:0;
    color:#b6c9e5;
  }
  .fc-site .fc-menu-contact>span:last-child { flex:none; }
}

/* Hover only changes the material; touch browsers cannot retain a hover wash. */
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip):hover {
  background:transparent;
  box-shadow:none;
}
@media(hover:hover) and (pointer:fine) {
  .fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip):hover::before {
    filter:brightness(1.3);
  }
}
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip):active {
  transform:scale(.985);
}
.fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,.fc-cookie-notice a,a.fc-experience-skip):focus-visible {
  outline:2px solid #b4d3ff;
  outline-offset:4px;
}
@media(prefers-reduced-motion:reduce) {
  .fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip),
  .fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip)::before {
    transition:none;
  }
  .fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip):active {
    transform:none;
  }
}
@media(prefers-reduced-transparency:reduce) {
  .fc-site :is(.fc-mobile-menu>summary,.fc-menu-links>a,.fc-menu-group>summary,.fc-menu-contact,.fc-cookie-notice button,a.fc-experience-skip)::after {
    background:#0b1a33;
  }
}
