/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
body, button, input, select, textarea{
  font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

:root{
  --fct-blue: #31408B;
  --fct-bianco: #ffffff;
}

/* colore testo generale */
body{
  color: var(--fct-blue);
}

/* menu principale: testo blu + bold */
#site-navigation .main-nav > ul > li > a{
  color: var(--fct-blue);
  font-weight: 700; /* bold */
}
#site-navigation .main-nav > ul > li > a:hover{
  color: var(--fct-blue);
}



@font-face {
    font-family: 'nomarkregular';
    src: url('fonts/nomark-webfont.woff2') format('woff2'),
         url('fonts/nomark-webfont.woff') format('woff'),
         url('fonts/nomark-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

body {
    font-family: sweet-sans-pro, sans-serif;
    font-weight: 400;
    font-style: normal;	
	background: #0d2537;
	color: #e6e5e5;}

@font-face {
  font-family: 'logouno';
  src: url('../generatepress_child/fonts/logouno.eot?52772896');
  src: url('../generatepress_childitaliawp2-child/fonts/logouno.eot?52772896#iefix') format('embedded-opentype'),
       url('../generatepress_child/fonts/logouno.woff2?52772896') format('woff2'),
       url('../generatepress_child/fonts/logouno.woff?52772896') format('woff'),
       url('../generatepress_child/fonts/logouno.ttf?52772896') format('truetype'),
       url('../generatepress_child/fonts/logouno.svg?52772896#logouno') format('svg');
  font-weight: normal;
  font-style: normal;
}


 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "logouno";
  font-style: normal;
  font-weight: normal;
  speak: none;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;

  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-logotipouno2019:before { content: '\e800'; } /* 'î €' */

.text-logotipouno2019{
      padding-left: 5px; 
      font-family: "logouno";
      font-style: normal;
      font-weight: normal;
      speak: none;

      display: inline-block;
      text-decoration: inherit;
      width: 1em;

      text-align: center;
      /* opacity: .8; */

      /* For safety - reset parent styles, that can break glyph codes*/
      font-variant: normal;
      text-transform: none;

      /* fix buttons height, for twitter bootstrap */
      line-height: 1em;

      /* Animation center compensation - margins should be symmetric */
      /* remove if not needed */


      /* You can be more comfortable with increased icons size */
      /* font-size: 120%; */

      /* Font smoothing. That was taken from TWBS */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;

      /* Uncomment for 3D effect */
      /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}



/* menu principale: blu + bold */
#site-navigation .main-nav > ul > li > a{
  color: var(--fct-blue);
  font-weight: 700;
}

/* puntino subito dopo la voce (come punteggiatura) */
@media (min-width: 769px){
  #site-navigation .main-nav > ul > li > a::after{
    content: ".";
    color: var(--fct-blue);
    margin-left: 0;   /* nessuna distanza */
  }
}


:root{
  --fct-blue:#31408B;
}

/* wrapper sezione */
.fct-featured-carousel{
  max-width: 1240px;
  margin: 0 auto;
  padding: 10px 16px 30px;
}

/* header */
.fct-featured-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 14px;
}
.fct-featured-title{
  margin:0;
  font-size: 26px;
  color: var(--fct-blue);
  font-weight: 800;
}
.fct-featured-sub{
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--fct-blue);
  font-weight: 700;
  margin-top: 4px;
}
.fct-featured-count{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(49,64,139,.35);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 14px;
}

/* bottone “Tutti i Tour” */
.fct-featured-all{
  color: var(--fct-blue);
  text-decoration:none;
  font-weight: 700;
  border: 1px solid rgba(49,64,139,.35);
  background:#fff;
  border-radius: 999px;
  padding: 10px 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  white-space:nowrap;
}

/* carosello */
.fct-carousel{
  position:relative;
}
.fct-carousel-viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width:none;
  cursor: grab;
}
.fct-carousel-viewport::-webkit-scrollbar{ display:none; }
.fct-carousel-viewport.is-dragging{ cursor: grabbing; }

/* ul prodotti in orizzontale */
.fct-featured-carousel ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: 22px;
  margin:0 !important;
  padding:0 !important;
  list-style:none;
}

/* card */
.fct-featured-carousel ul.products li.product{
  float:none !important;
  flex: 0 0 auto;
  width: clamp(240px, 30vw, 320px); /* card grandi */
  border-radius: 28px;
  overflow:hidden;
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
  scroll-snap-align: start;
}

/* link come “card immagine” */
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  height: 320px;
  padding: 18px;
  text-decoration:none;
}

/* immagine full cover */
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  margin:0 !important;
  z-index:0;
}

/* overlay gradiente per leggibilità */
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%);
  z-index:1;
}

/* testo sopra overlay */
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link > *:not(img){
  position:relative;
  z-index:2;
  color:#fff;
}

/* titolo */
.fct-featured-carousel .woocommerce-loop-product__title{
  margin:0 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.05;
}

/* nascondi elementi woo “non grafici” SOLO nel carosello */
.fct-featured-carousel .price,
.fct-featured-carousel .star-rating{
  display:none !important;
}
.fct-featured-carousel a.button,
.fct-featured-carousel .add_to_cart_button{
  display:none !important;
}

/* frecce */
.fct-arrow{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(49,64,139,.25);
  background:#fff;
  color: var(--fct-blue);
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity: 0;
  pointer-events:none;
  transition: opacity .2s ease;
}
.fct-arrow svg{ width:22px; height:22px; }
.fct-prev{ left: -6px; }
.fct-next{ right: -6px; }

.fct-carousel:hover .fct-arrow{
  opacity: 1;
  pointer-events:auto;
}
.fct-arrow:disabled{
  opacity: .25 !important;
  pointer-events:none !important;
}

/* area stage relativa */
.fct-carousel-stage{ position:relative; }

/* slot testo a sinistra */
.fct-carousel-intro{
  position:absolute;
  left:0;
  top:0;
  width: var(--fct-intro-w, 360px);
  height: 320px;              /* deve matchare l’altezza card */
  padding: 0px;
  display:flex;
  align-items:flex-end;
  z-index: 1;                 /* sotto le card */
  transition: opacity .2s ease;
  pointer-events:none;
}

.fct-intro-title{
  font-weight: 800;
  font-size: 22px;
  line-height: 1.1;
  color: var(--fct-blue, #31408B);
}
.fct-intro-text{
  margin-top: 8px;
  font-weight: 600;
  font-size: 14px;
  color: var(--fct-blue, #31408B);
  opacity: .9;
}

/* sposta le card a destra (così all’avvio vedi 2 card a destra) */
.fct-featured-carousel ul.products{
  padding-left: var(--fct-intro-w, 360px) !important;
}

/* assicurati che le card stiano sopra lo slot testo */
.fct-carousel-viewport{ position:relative; z-index:2; }

/* mobile: meglio togliere lo slot */
@media (max-width: 768px){
  .fct-carousel-intro{ display:none; }
  .fct-featured-carousel ul.products{ padding-left: 0 !important; }
}

.fct-featured-carousel{
  --fct-intro-w: 360px;
  --fct-card-h: 320px;
  --fct-gap: 22px;
}

/* Stage: griglia, intro sotto, viewport sopra */
.fct-featured-carousel .fct-carousel-stage{
  position: relative !important;
  display: grid !important;
  grid-template-columns: var(--fct-intro-w) 1fr !important;
  align-items: stretch !important;
}

/* Intro: colonna sinistra, sotto alle card */
.fct-featured-carousel .fct-carousel-intro{
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  position: relative !important;     /* NON absolute: lo gestiamo via grid */
  z-index: 0 !important;
  width: var(--fct-intro-w) !important;
  height: var(--fct-card-h) !important;
  /*padding: 0 x !important;*/
  display: flex !important;
  align-items: center !important;
  pointer-events: none !important;
  opacity: 1;
}

/* Viewport: sopra l’intro e che può “coprirlo” mentre scorri */
.fct-featured-carousel .fct-carousel-viewport{
  grid-column: 1 / -1 !important;    /* span su entrambe le colonne */
  grid-row: 1 !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: var(--fct-card-h) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  background: transparent !important; /* FONDAMENTALE: lascia vedere il testo sotto */
}

/* Track prodotti: lascia spazio a sinistra (slot intro) -> cards partono a destra */
.fct-featured-carousel .fct-carousel-viewport ul.products{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--fct-gap) !important;
  width: max-content !important;
  margin: 0 !important;
  padding-left: calc(var(--fct-intro-w) + var(--fct-gap)) !important;
  background: transparent !important;
}

/* Evita float e layout Woo */
.fct-featured-carousel .fct-carousel-viewport ul.products > li.product{
  float: none !important;
  width: auto !important;
}

/* Mobile: togli intro */
@media (max-width: 768px){
  .fct-featured-carousel .fct-carousel-intro{ display:none !important; }
  .fct-featured-carousel .fct-carousel-viewport ul.products{ padding-left: 0 !important; }
  .fct-featured-carousel .fct-carousel-stage{ grid-template-columns: 1fr !important; }
}
/* =========================================================
   FC Travel – Fix Card (carousel featured)
   - testi visibili (nero)
   - icone: sfondo var(--fct-blue), icona bianca
   - link cliccabili (override pointer-events)
   ========================================================= */

/* 0) Assicura che nel carosello i link siano cliccabili */
.fct-featured-carousel .fct-carousel-viewport a,
.fct-featured-carousel .fct-carousel-viewport .button{
  pointer-events: auto !important;
}

/* 1) Titolo prodotto in card */
.fct-featured-carousel .products li.product .woocommerce-loop-product__title{
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 2) Riepilogo ACF (testi) */
.fct-featured-carousel .products li.product .fct-card-summary,
.fct-featured-carousel .products li.product .fct-card-summary .fct-ct,
.fct-featured-carousel .products li.product .fct-card-summary li{
  color: #000 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* (opzionale ma spesso necessario) se il riepilogo è su foto/overlay: rendilo leggibile */
.fct-featured-carousel .products li.product .fct-card-summary{
  background: rgba(255,255,255,.92) !important;
  border-radius: 16px;
  padding: 10px 12px;
}

/* 3) Prezzo e “p.p.” */
.fct-featured-carousel .products li.product .price,
.fct-featured-carousel .products li.product .price *{
  color: #000 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 4) Icona: cerchio blu + icona bianca */
.fct-featured-carousel .products li.product .fct-card-summary .fct-ci{
  background: var(--fct-blue) !important;
  color: #fff !important;               /* useremo currentColor dentro l’svg */
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
}
/*fine carousel*/
.fct-card-summary .fct-ico {
  background: var(--fct-blue) !important;
  color: #fff !important;               /* useremo currentColor dentro l’svg */
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
}
.fct-tour-summary__item .fct-ico {
  background: var(--fct-blue) !important;
  color: #fff !important;               /* useremo currentColor dentro l’svg */
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
}

.fct-featured-carousel .products li.product .fct-card-summary .fct-ci svg{
  width: 16px;
  height: 16px;
  display: block;
  fill: currentColor !important;        /* bianco */
}

/* 5) Allineamento righe (se serve) */
.fct-featured-carousel .products li.product .fct-card-summary li{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* frecce: posizione + sopra lo stage (clickabile) */
.fct-featured-carousel .fct-carousel{
  position: relative;
}

.fct-featured-carousel .fct-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;                 /* IMPORTANTISSIMO: sopra stage e card */
  pointer-events: none;         /* attiviamo solo in hover */
  opacity: 0;                   /* nascoste di default */
  transition: opacity .18s ease, transform .18s ease;

  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--fct-blue) 35%, transparent);
  background: #fff;
  color: var(--fct-blue);       /* <-- currentColor, quindi stroke delle svg diventa blu */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

.fct-featured-carousel .fct-arrow svg{
  width: 22px;
  height: 22px;
  display: block;
}

/* posizioni */
.fct-featured-carousel .fct-prev{ left: 10px; }
.fct-featured-carousel .fct-next{ right: 10px; }

/* visibili SOLO quando passi sul carosello (stage incluso) */
@media (hover:hover) and (pointer:fine){
  .fct-featured-carousel .fct-carousel:hover .fct-arrow{
    opacity: 1;
    pointer-events: auto;
  }
}

/* su touch (niente hover) le lasciamo visibili */
@media (hover:none){
  .fct-featured-carousel .fct-arrow{
    opacity: 1;
    pointer-events: auto;
  }
}

/* stato disabled */
.fct-featured-carousel .fct-arrow:disabled{
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow: none;
}

/* ===== Sezione Prenotazione Traghetti ===== */
/* FC Travel – container allineato come Hero (1240px) */
.home .gb-container.fct-ferries,
.home .entry-content .fct-ferries{
  max-width: 1240px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

.fct-ferries{
  margin: 40px 0;
}

.fct-ferries .fct-sec-title{
  margin: 0;
  color: var(--fct-blue);
  font-weight: 800;
  line-height: 1.1;
}

.fct-ferries .fct-sec-sub{
  margin: 6px 0 0;
  color: var(--fct-blue);
  font-weight: 600;
  font-size: 14px;
  opacity: .9;
}

.fct-ferries .fct-sec-cta{
  border: 1px solid var(--fct-blue);
  background: #fff;
  color: var(--fct-blue);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
}

/* immagini */
.fct-ferries .fct-ferry-img img,
.fct-ferries img.fct-ferry-img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 28px;
}

/* se usi classi sull’IMAGE BLOCK (non sull’img), forza l’img interno */
.fct-ferries .fct-ferry-img{
  overflow: hidden;
  border-radius: 28px;
}

/* altezze “simili allo screenshot” */
@media (min-width: 769px){
  .fct-ferries .fct-ferry-img--main{
    aspect-ratio: 16 / 7;
  }
  .fct-ferries .fct-ferry-img--side{
    aspect-ratio: 3 / 5;
  }
  .fct-ferries .fct-ferry-img--main img,
  .fct-ferries .fct-ferry-img--side img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* link compagnie sotto */
.fct-ferries .fct-ferry-links{
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.fct-ferries .fct-ferry-link{
  color: var(--fct-blue);
  font-weight: 800;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.1;
}

.fct-ferries .fct-ferry-link:hover{
  text-decoration: underline;
}

/* mobile: impila e centra meglio */
@media (max-width: 768px){
  .fct-ferries .fct-ferry-links{
    justify-content: flex-start;
  }
}

/* Stessa altezza per le 2 immagini (desktop) */
@media (min-width: 769px){
  .home .fct-ferries .fct-ferry-img{
    height: 360px;           /* cambia qui l’altezza */
    overflow: hidden;
    border-radius: 28px;
  }

  .home .fct-ferries .fct-ferry-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;       /* taglia senza deformare */
    display: block;
  }
}

/* Mobile: lascia più naturale */
@media (max-width: 768px){
  .home .fct-ferries .fct-ferry-img{
    border-radius: 28px;
    overflow: hidden;
  }
  .home .fct-ferries .fct-ferry-img img{
    width: 100%;
    height: auto;
    display: block;
  }
}

/* =========================
   FC TRAVEL – NEWS (PULITO)
   - card normali piccole
   - card .is-wide > 2x
   - titolo sopra immagine (bianco)
   - niente gap “giganti”
   ========================= */

/* container come le altre sezioni */
.home .fct-news-section{
  max-width: 1240px;
  margin: 0 auto;
  padding: 22px 16px 10px;
  box-sizing: border-box;
}

/* header (riuso stile già usato altrove) */
.home .fct-news-section .fct-featured-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin: 10px 0 14px;
}

.home .fct-news-section .fct-featured-title{
  margin:0;
  line-height:1;
  color: var(--fct-blue);
  font-weight: 800;
}

.home .fct-news-section .fct-featured-sub{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
  color: var(--fct-blue);
  font-weight: 600;
  font-size: 13px;
  opacity:.85;
}

.home .fct-news-section .fct-featured-count, .home .fct-featured-carousel .fct-featured-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--fct-blue);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}

.home .fct-news-section .fct-featured-all{
  text-decoration:none;
  font-weight:700;
  color: var(--fct-blue);
  white-space:nowrap;
  border: 1px solid rgba(49,64,139,.35);
  background:#fff;
  border-radius: 999px;
  padding: 10px 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* carousel */
.home .fct-news-carousel{ position: relative; }

.home .fct-news-viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width:none;
  padding: 4px 0 10px;
}
.home .fct-news-viewport::-webkit-scrollbar{ display:none; }

/* track: deve allargarsi quanto le card */
.home .fct-news-track{
  display:flex;
  flex-wrap:nowrap;
  gap: 22px;
  align-items:stretch;
  width:max-content;   /* fondamentale */
  margin:0;
  padding:0;
}

/* card sizes DESKTOP */
@media (min-width: 769px){
  .home .fct-news-item{
    flex: 0 0 240px;
    width: 240px;
    scroll-snap-align: start;
  }
  .home .fct-news-item.is-wide{
    flex: 0 0 560px;  /* > 2x */
    width: 560px;
  }
}

/* card sizes MOBILE */
@media (max-width: 768px){
  .home .fct-news-item{
    flex: 0 0 78vw;
    width: 78vw;
    scroll-snap-align: start;
  }
  .home .fct-news-item.is-wide{
    flex: 0 0 92vw;
    width: 92vw;
  }
}

/* link full card */
.home .fct-news-link{
  display:block;
  width:100%;
  text-decoration:none;
  color:inherit;
}

/* media: altezza coerente per tutte (ritaglio) */
.home .fct-news-media{
  position:relative;
  overflow:hidden;
  border-radius: 28px;
  background:#000;
  aspect-ratio: 16 / 9;
}
.home .fct-news-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* overlay titolo */
.home .fct-news-title{
  position:absolute;
  left:0; right:0; bottom:0;
  margin:0;
  padding: 18px 18px 16px;
  color: var(--fct-bianco, #fff);
  font-weight: 800;
  line-height: 1.1;
  pointer-events:none; /* non blocca il click */
  text-shadow: 0 2px 18px rgba(0,0,0,.45);
  background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,0));
}

/* titolo un pelo più grande sulla wide */
.home .fct-news-item.is-wide .fct-news-title{
  font-size: clamp(18px, 1.6vw, 26px);
}
.home .fct-news-item:not(.is-wide) .fct-news-title{
  font-size: clamp(16px, 1.2vw, 20px);
}

/* NEWS – altezza unica e responsive (elegante con clamp) */
.home .fct-news-section{
  --fct-news-card-h: clamp(200px, 30vw, 320px); /* min, fluida, max */
}

.home .fct-news-section .fct-news-media{
  height: var(--fct-news-card-h);
  aspect-ratio: auto;   /* disattiva ratio (se presente) */
  overflow: hidden;
}

.home .fct-news-section .fct-news-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.home .fct-news-section .fct-news-link{ position:relative; z-index:2; }
.home .fct-news-section .fct-news-title{ pointer-events:none; } /* già ok */
/* NEWS: aiuta i click e i touch */
.home .fct-news-viewport{
  touch-action: pan-y;              /* permette swipe verticale + drag orizzontale */
}

.home .fct-news-link{
  position: relative;
  z-index: 2;
}

.home .fct-news-title{
  pointer-events: none;             /* il titolo overlay non deve “rubare” il click */
}
/* ====== REVIEWS (Home) ====== */
.home .fct-reviews{
  max-width: 1240px;
  margin: 0 auto;
  padding: 22px 16px 10px;
  box-sizing: border-box;
}

.home .fct-reviews-head{
  margin-bottom: 14px;
}

.home .fct-reviews-title{
  margin: 0;
  color: var(--fct-blue);
  font-weight: 800;
  line-height: 1.1;
}

.home .fct-reviews-sub{
  margin-top: 6px;
  color: var(--fct-blue);
  font-weight: 600;
  font-size: 13px;
  opacity: .85;
}

/* griglia 2 colonne come screenshot */
.home .fct-reviews-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

/* card */
.home .fct-review-card{
  background: #fff;
  border: 1px solid rgba(49,64,139,.55);
  border-radius: 28px;
  padding: 22px 22px 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.home .fct-review-name{
  font-size: 20px;
  font-weight: 800;
  color: var(--fct-blue);
  margin: 0 0 10px;
}

/* stelle */
.home .fct-review-stars{
  color: #F2C94C;
  letter-spacing: 3px;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 12px;
}

/* testo recensione */
.home .fct-review-text{
  color: var(--fct-blue);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.45;
  opacity: .95;
}

/* fonte */
.home .fct-review-source{
  display: inline-block;
  margin-top: 14px;
  color: var(--fct-blue);
  font-weight: 800;
  text-decoration: none;
}
.home .fct-review-source:hover{
  text-decoration: underline;
}

/* mobile: 1 colonna */
@media (max-width: 768px){
  .home .fct-reviews-grid{ grid-template-columns: 1fr; }
}

/* ===== FCT FOOTER ===== */
.fct-footer{
  background: var(--fct-blue);
  color: var(--fct-bianco);
  padding: 44px 0;
}

/* contenitore allineato come le altre sezioni */
.fct-footer-inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;

  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 44px;
  align-items: start;
}

.fct-footer-title{
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  color: var(--fct-bianco);
}

.fct-footer-sub{
  margin-top: 10px;
  font-size: 12px;
  opacity: .85;
}

/* righe telefoni */
.fct-footer-rows{
  display: grid;
  gap: 18px;
  margin-bottom: 26px;
}

.fct-footer-row{
  display: flex;
  gap: 14px;
  align-items: center;
  text-decoration: none;
  color: var(--fct-bianco);
}

.fct-footer-row:hover{
  opacity: .92;
}

.fct-footer-ic{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
}

.fct-footer-ic svg{
  width: 22px;
  height: 22px;
  fill: var(--fct-bianco);
  display: block;
}

.fct-footer-rowtxt strong{
  display:block;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
}

.fct-footer-rowtxt span{
  display:block;
  font-size: 13px;
  opacity: .9;
  margin-top: 4px;
}

/* box azienda */
.fct-footer-box-title{
  font-weight: 800;
  letter-spacing: .2px;
  margin-bottom: 12px;
}

.fct-footer-box-text{
  font-size: 14px;
  line-height: 1.45;
  opacity: .95;
}

.fct-footer-box a{
  color: var(--fct-bianco);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* responsive */
@media (max-width: 820px){
  .fct-footer-inner{
    grid-template-columns: 1fr;
    gap: 22px;
  }
}
/* ===== FCT FOOTER (full-width sfondo + contenuto centrato) ===== */
.fct-footer{
  background: var(--fct-blue);
  color: var(--fct-bianco);
  padding: 44px 0 16px;
}

.fct-footer-inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;

  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 44px;
  align-items: start;
}

.fct-footer-title{
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  color: var(--fct-bianco);
}

.fct-footer-sub{
  margin-top: 10px;
  font-size: 12px;
  opacity: .85;
}

/* top: telefoni + social a destra */
.fct-footer-top{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 26px;
}

.fct-footer-rows{
  display: grid;
  gap: 18px;
}

/* righe telefoni */
.fct-footer-row{
  display: flex;
  gap: 14px;
  align-items: center;
  text-decoration: none;
  color: var(--fct-bianco);
}

.fct-footer-row:hover{ opacity: .92; }

.fct-footer-ic{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
}

.fct-footer-ic svg{
  width: 22px;
  height: 22px;
  fill: var(--fct-bianco);
  display: block;
}

.fct-footer-rowtxt strong{
  display:block;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
}

.fct-footer-rowtxt span{
  display:block;
  font-size: 13px;
  opacity: .9;
  margin-top: 4px;
}

/* SOCIAL */
.fct-footer-social{
  display:flex;
  gap: 10px;
  align-items:center;
  justify-content:flex-end;
}

.fct-social{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.fct-social svg{
  width: 20px;
  height: 20px;
  fill: var(--fct-bianco);
  display:block;
}

.fct-social:hover{
  background: rgba(255,255,255,.22);
}

/* box azienda */
.fct-footer-box-title{
  font-weight: 800;
  letter-spacing: .2px;
  margin-bottom: 12px;
}

.fct-footer-box-text{
  font-size: 14px;
  line-height: 1.45;
  opacity: .95;
}

.fct-footer-box a{
  color: var(--fct-bianco);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* legal row */
.fct-footer-legal{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
  font-size: 12px;
  opacity: .95;
}

.fct-footer-legal a{
  color: var(--fct-bianco);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.fct-footer-legal span{ opacity:.75; }

/* copyright centrato */
.fct-footer-copy{
  max-width: 1240px;
  margin: 18px auto 0;
  padding: 12px 16px 0;
  box-sizing: border-box;
  text-align:center;
  font-size: 12px;
  opacity: .85;
  border-top: 1px solid rgba(255,255,255,.14);
}

/* responsive */
@media (max-width: 820px){
  .fct-footer-inner{
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .fct-footer-top{
    flex-direction: column;
    align-items: flex-start;
  }
  .fct-footer-social{
    justify-content:flex-start;
  }
}
/* =========================================
   TOUR – Responsive refinement (solo CSS)
   Incollare in fondo al CSS
   ========================================= */

/* 1) Header (Titolo + "Tutti i Tour") su schermi stretti */
@media (max-width: 768px){
  .home .fct-featured-carousel .fct-featured-head{
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 12px;
  }
  .home .fct-featured-carousel .fct-featured-all{
    padding: 8px 12px;
    font-size: 13px;
  }
  .home .fct-featured-carousel .fct-featured-title{
    font-size: 22px;
  }
  .home .fct-featured-carousel .fct-featured-sub{
    font-size: 13px;
  }
}

/* 2) Tablet: intro più stretta + card più compatte */
@media (max-width: 1024px){
  .home .fct-featured-carousel{
    --fct-intro-w: 280px;
    --fct-card-h: 300px;
    --fct-gap: 18px;
  }

  .home .fct-featured-carousel ul.products li.product{
    width: clamp(230px, 32vw, 290px);
  }

  .home .fct-featured-carousel .woocommerce-loop-product__title{
    font-size: 20px !important;
  }
}

/* 3) Mobile: intro visibile sopra (non più a sinistra) + 1 card per volta */
@media (max-width: 768px){
  .home .fct-featured-carousel{
    --fct-intro-w: 0px;     /* non serve più a sinistra */
    --fct-card-h: 300px;
    --fct-gap: 16px;
  }

  /* Stage: da grid a blocco (intro sopra, carousel sotto) */
  .home .fct-featured-carousel .fct-carousel-stage{
    display: block !important;
  }

  /* Intro: torna visibile come blocco sopra */
  .home .fct-featured-carousel .fct-carousel-intro{
    display: block !important;
    position: relative !important;
    height: auto !important;
    width: 100% !important;
    padding: 0 0 12px 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 0 !important;
  }

  .home .fct-featured-carousel .fct-intro-title{
    font-size: 18px;
  }
  .home .fct-featured-carousel .fct-intro-text{
    font-size: 13px;
    margin-top: 6px;
  }

  /* Viewport: padding a sinistra azzerato */
  .home .fct-featured-carousel .fct-carousel-viewport{
    z-index: 1 !important;
    min-height: var(--fct-card-h) !important;
  }

  .home .fct-featured-carousel .fct-carousel-viewport ul.products{
    padding-left: 0 !important;
    gap: var(--fct-gap) !important;
  }

  /* Card: 1 alla volta con peek (80vw) */
  .home .fct-featured-carousel ul.products li.product{
    width: 80vw !important;
    border-radius: 22px;
  }

  /* Altezza coerente */
  .home .fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link{
    height: var(--fct-card-h) !important;
    padding: 16px;
  }

  .home .fct-featured-carousel .woocommerce-loop-product__title{
    font-size: 18px !important;
  }

  /* Frecce più piccole su mobile */
  .home .fct-featured-carousel .fct-arrow{
    width: 40px;
    height: 40px;
  }
  .home .fct-featured-carousel .fct-arrow svg{
    width: 20px;
    height: 20px;
  }
  .home .fct-featured-carousel .fct-prev{ left: 6px; }
  .home .fct-featured-carousel .fct-next{ right: 6px; }
}

/* 4) Extra-small: card ancora più leggibile */
@media (max-width: 480px){
  .home .fct-featured-carousel ul.products li.product{
    width: 86vw !important;
  }
  .home .fct-featured-carousel .woocommerce-loop-product__title{
    font-size: 17px !important;
    line-height: 1.05;
  }
}
/* ============ TOUR CAROUSEL – MOBILE REFINEMENT ============ */
@media (max-width: 520px){

  /* wrapper */
  .home .fct-featured-carousel{
    padding: 12px 16px 18px;
  }

  /* header: va a capo e il bottone resta comodo */
  .home .fct-featured-head{
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 14px;
  }
  .home .fct-featured-title{ font-size: 22px; }
  .home .fct-featured-sub{ font-size: 13px; }
  .home .fct-featured-all{
    margin-left: auto;
    padding: 8px 12px;
    font-size: 13px;
  }

  /* niente intro a sinistra su mobile (se già lo fai, ok) */
  .home .fct-featured-carousel .fct-carousel-intro{ display:none !important; }

  /* scroll più pulito */
  .home .fct-featured-carousel .fct-carousel-viewport{
    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
  }

  /* padding laterali del track */
  .home .fct-featured-carousel .fct-carousel-viewport ul.products{
    padding-left: 6px !important;
    padding-right: 16px !important;
  }

  /* card: più grandi e leggibili su telefono */
  .home .fct-featured-carousel ul.products li.product{
    width: 78vw !important;
    max-width: 360px;
    border-radius: 22px;
  }
  .home .fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link{
    height: 300px;
    padding: 16px;
  }
  .home .fct-featured-carousel .woocommerce-loop-product__title{
    font-size: 20px !important;
  }

  /* frecce: dentro al carosello, non fuori */
  .home .fct-featured-carousel .fct-prev{ left: 8px; }
  .home .fct-featured-carousel .fct-next{ right: 8px; }

  /* su touch le rendiamo visibili */
  .home .fct-featured-carousel .fct-arrow{
    opacity: 1;
    pointer-events: auto;
  }
}
/* TOUR carousel – mobile: solo cards (no intro, no arrows) */
@media (max-width: 768px){
  .home .fct-featured-carousel .fct-carousel-intro{
    display: none !important;
  }

  /* niente griglia a 2 colonne (se l’avevamo messa) */
  .home .fct-featured-carousel .fct-carousel-stage{
    display: block !important;
  }

  /* le card partono da sinistra */
  .home .fct-featured-carousel .fct-carousel-viewport ul.products{
    padding-left: 0 !important;
    padding-right: 16px !important;
  }

  /* su mobile togliamo le frecce (solo swipe) */
  .home .fct-featured-carousel .fct-arrow{
    /*display: none !important;*/
  }
}
@media (max-width: 768px){
  .fct-featured-carousel .fct-carousel-intro{ display:none !important; }
  .fct-featured-carousel .fct-carousel-viewport ul.products{ padding-left: 0 !important; }
  .fct-featured-carousel .fct-carousel-stage{ transform:none !important; }
}
/* ===== FIX MOBILE: carosello TOUR (fct-featured-carousel) ===== */
@media (max-width: 768px){

  /* niente layout “intro + stage” su mobile */
  .home .fct-featured-carousel .fct-carousel-row{
    display: block !important;
  }

  /* testo intro sparisce (come volevi) */
  .home .fct-featured-carousel .fct-carousel-intro{
    display: none !important;
  }

  /* IMPORTANTISSIMO: su mobile la prima card deve partire subito visibile */
  .home .fct-featured-carousel .fct-carousel-viewport ul.products{
    padding-left: 0 !important;   /* <-- questo risolve “non si vede nulla” */
    margin-left: 0 !important;
    width: max-content !important;
  }

  /* evita “intermittenza/scatti” */
  .home .fct-featured-carousel .fct-carousel-viewport{
    scroll-snap-type: x proximity !important; /* non mandatory */
  }

  /* annulla qualsiasi translateX dello stage (anche inline) */
  .home .fct-featured-carousel .fct-carousel-stage{
    transform: none !important;
  }

  /* card dimensionate bene su mobile */
  .home .fct-featured-carousel ul.products li.product{
    width: 82vw !important;
    flex: 0 0 82vw !important;
    max-width: 360px !important;
  }

  .home .fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link{
    height: var(--fct-card-h, 320px) !important;
  }
}
@media (max-width: 768px){
  /* card = stessa larghezza delle sezioni (viewport - 32px) */
  .home .fct-featured-carousel{
    --fct-card-w: calc(100vw - 32px);
    --fct-card-h: 300px; /* prova 280px se la vuoi più bassa */
  }

  .home .fct-featured-carousel ul.products li.product{
    flex: 0 0 var(--fct-card-w) !important;
    width: var(--fct-card-w) !important;
    max-width: none !important;
  }

  .home .fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link{
    height: var(--fct-card-h) !important;
  }
}
/* NEWS: assicurati che il carosello abbia overflow */
.fct-news-carousel{ position: relative; }
.fct-news-viewport{ overflow-x: auto; overflow-y: hidden; }

/* NEWS arrows: stile + visibilità */
.fct-news-carousel .fct-arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:0;
  background: rgba(255,255,255,.92);
  color: var(--fct-blue);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index: 50;
  opacity: 0;              /* desktop: compaiono on hover */
  pointer-events: none;
  transition: opacity .15s ease;
}

.fct-news-carousel .fct-prev{ left: -8px; }
.fct-news-carousel .fct-next{ right: -8px; }

@media (hover:hover) and (pointer:fine){
  .fct-news-carousel:hover .fct-arrow{
    opacity: 1;
    pointer-events: auto;
  }
}

/* MOBILE: non c’è hover => rendile sempre visibili */
@media (hover:none){
  .fct-news-carousel .fct-arrow{
    opacity: 1;
    pointer-events: auto;
  }
}

/* NON nascondere completamente se disabled (altrimenti “spariscono”) */
.fct-news-carousel .fct-arrow:disabled{
  opacity: .25 !important;
  pointer-events: none !important;
}

/* =========================================================
   FC Travel – Stile pagine interne (es. single product)
   - sfondo bianco
   - font come home
   - foto arrotondate
   ========================================================= */

/* Pagine interne: sfondo e tipografia */
body:not(.home){
  background: #fff !important;
  color: var(--fct-blue) !important;
  font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}
body:not(.home) button,
body:not(.home) input,
body:not(.home) select,
body:not(.home) textarea{
  font-family: inherit !important;
}

/* Contenitore pagina più “pulito” */
body:not(.home) .site,
body:not(.home) .site-content,
body:not(.home) .content-area,
body:not(.home) .inside-article{
  background: transparent !important;
}

/* Link (pagine interne) */
body:not(.home) a{
  color: var(--fct-blue);
}
body:not(.home) a:hover{
  opacity: .85;
}

/* Eccezioni: bottoni/link su sfondo blu (testo bianco) */
body:not(.home) a.fct-btn,
body:not(.home) a.fct-btn:visited,
body:not(.home) .fct-btn a{
  color: #fff !important;
  opacity: 1;
}

/* Ghost: testo blu su fondo trasparente */
body:not(.home) a.fct-btn--ghost,
body:not(.home) a.fct-btn--ghost:visited{
  color: var(--fct-blue) !important;
}

/* WhatsApp: testo bianco */
body:not(.home) a.fct-btn--wa,
body:not(.home) a.fct-btn--wa:visited{
  color: #fff !important;
}


/* ===== WooCommerce: pagina prodotto ===== */
.single-product .woocommerce div.product{
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 16px 40px;
  box-sizing: border-box;
}



/* Box summary “pulito” */
.single-product .woocommerce div.product .summary{
  color: var(--fct-blue);
}
.single-product .woocommerce div.product .product_title{
  font-weight: 800;
  color: var(--fct-blue);
}
.single-product .woocommerce div.product .price,
.single-product .woocommerce div.product .price *{
  color: var(--fct-blue) !important;
  font-weight: 800;
}

/* Pulsante stile pill */
.single-product .woocommerce button.single_add_to_cart_button,
.single-product .woocommerce a.button,
.single-product .woocommerce button.button{
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--fct-blue) !important;
  border: 1px solid rgba(49,64,139,.35) !important;
  font-weight: 800 !important;
  padding: 12px 18px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.single-product .woocommerce button.single_add_to_cart_button:hover,
.single-product .woocommerce a.button:hover,
.single-product .woocommerce button.button:hover{
  opacity: .9;
}

/* Tabs prodotto più “home-like” */
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  border-radius: 999px !important;
  overflow: hidden;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-weight: 800;
  color: var(--fct-blue);
}
.single-product .woocommerce div.product .woocommerce-tabs .panel{
  border-radius: 18px;
  padding: 18px;
  background: rgba(49,64,139,.04);
}

/* Prodotti correlati: immagini arrotondate */
.single-product .related.products img{
  border-radius: 18px;
}

/* =========================================================
   FCT – SINGLE PRODUCT (stile come Home)
   - sfondo bianco + font + colori
   - galleria 2 immagini (desktop) come screenshot
   - tabs con linea/underline
   ========================================================= */

:root{
  --fct-radius: 28px;
  --fct-gap: 22px;
}

/* Base pagina prodotto */
body.single-product{
  background: #fff !important;
  color: var(--fct-blue) !important;
  font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

body.single-product .site,
body.single-product .site-content,
body.single-product .inside-article,
body.single-product .content-area,
body.single-product .entry-content{
  background: transparent !important;
}

/* Titoli */
body.single-product .product_title{
  color: var(--fct-blue);
  font-weight: 900;
  letter-spacing: -0.02em;
}



/* =======================
   TABS (linea/underline stile pulito)
   ======================= */
body.single-product .woocommerce-tabs{
  margin-top: 26px;
}

body.single-product .woocommerce-tabs ul.tabs{
  display: flex !important;
  gap: 22px;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(49,64,139,.25);
}

body.single-product .woocommerce-tabs ul.tabs::before{
  border: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after{
  display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a{
  display: inline-block;
  padding: 10px 2px 12px;
  font-weight: 800;
  color: var(--fct-blue);
  border-bottom: 3px solid transparent;
  text-decoration: none;
}

body.single-product .woocommerce-tabs ul.tabs li.active a{
  border-bottom-color: var(--fct-blue);
}

body.single-product .woocommerce-tabs .panel{
  margin-top: 18px;
  border: 1px solid rgba(49,64,139,.22);
  border-radius: var(--fct-radius);
  padding: 18px;
  background: #fff;
}

/* (opzionale, carino) box recensioni tipo card come home */
body.single-product .woocommerce-Reviews .commentlist li{
  border: 1px solid rgba(49,64,139,.22);
  border-radius: var(--fct-radius);
  padding: 18px;
  margin: 0 0 16px;
  background: #fff;
}
/* =========================================================
   FCT – SITE SKIN (pagine interne / blog / news / statiche)
   - sfondo bianco
   - font come Home
   - testi blu
   - immagini arrotondate
   - contenuto centrato (1240)
   ========================================================= */

/* 1) Applica lo "skin" a tutto TRANNE la home (che hai già) */
body:not(.home){
  background:#fff !important;
  color: var(--fct-blue) !important;
  font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* contenitori GeneratePress */
body:not(.home) .site,
body:not(.home) .site-content,
body:not(.home) .content-area,
body:not(.home) .inside-article,
body:not(.home) .inside-page-header,
body:not(.home) .entry-content,
body:not(.home) .comments-area{
  background: transparent !important;
}

/* 2) Larghezza contenuto come Home */
@media (min-width: 769px){
  body:not(.home) .site-main,
  body:not(.home) .inside-article,
  body:not(.home) .inside-page-header,
  body:not(.home) .comments-area{
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
  }
  body:not(.home) .inside-article,
  body:not(.home) .inside-page-header,
  body:not(.home) .comments-area{
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
  }
}

/* 3) Tipografia base */
body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4{
  font-weight: 900;
  letter-spacing: -0.02em;
}

body:not(.home) p,
body:not(.home) li,
body:not(.home) .entry-content{
  color: var(--fct-blue);
}

/* link stile pulito */
body:not(.home) a{
  color: var(--fct-blue);
}
body:not(.home) a:hover{
  opacity: .85;
}

/* 4) Immagini arrotondate (post, pagine, blog) 
body:not(.home) .wp-post-image,
body:not(.home) img.attachment-large,
body:not(.home) figure.wp-block-image,
body:not(.home) .wp-block-gallery,
body:not(.home) .wp-block-media-text__media img{
  border-radius: 28px;
}
*/
/* evita che il radius “sparisca” su figure */
body:not(.home) figure.wp-block-image,
body:not(.home) .wp-block-gallery{
  overflow: hidden;
}

/* 5) Card look per alcuni blocchi (quote, group, cover) */
body:not(.home) .wp-block-group.is-style-default,
body:not(.home) .wp-block-group:not(.alignfull):not(.alignwide){
  border-radius: 28px;
}

body:not(.home) .wp-block-quote{
  border-left: 4px solid rgba(49,64,139,.35);
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(49,64,139,.04);
}

/* 6) Liste articoli (archivi/categorie/tag/blog) – immagine arrotondata + spacing */
body.blog .post,
body.archive .post,
body.search .post{
  margin-bottom: 28px;
}

body.blog .post img,
body.archive .post img,
body.search .post img{
  border-radius: 28px;
}

/* 7) Pulsanti (coerenti con Home) */
body:not(.home) .button,
body:not(.home) button,
body:not(.home) input[type="submit"],
body:not(.home) .wp-block-button__link{
  border-radius: 999px;
  font-weight: 800;
}

/* 8) Tabelle e separatori un po’ più “puliti” */
body:not(.home) table{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(49,64,139,.18);
}
body:not(.home) hr{
  border: 0;
  border-top: 1px solid rgba(49,64,139,.18);
}

/* 9) Header pagina/articolo (titolo + meta) */
body.single-post .entry-header,
body.page .entry-header{
  padding-top: 10px;
}
body.single-post .entry-meta,
body.blog .entry-meta,
body.archive .entry-meta{
  color: rgba(49,64,139,.75);
  font-weight: 600;
}

/* 10) Gutenberg: cover con radius e overlay ok */
body:not(.home) .wp-block-cover{
  border-radius: 28px;
  overflow: hidden;
}

.fct-tab .fct-block {
    margin: 12px 12px!important;
}
/* =========================================================
   FCT – SINGLE PRODUCT (Slider classico Woo)
   ========================================================= */


/* Layout pagina prodotto centrato */
.single-product .site-content{
  background: transparent !important;
}
.single-product .content-area,
.single-product .inside-article{
  background: transparent !important;
}

/* Woo: contenitore prodotto più “pulito” */
.single-product div.product{
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 16px 30px;
  box-sizing: border-box;
}

/* ================================
   FC Travel – Bottoni WooCommerce
   (Aggiungi al carrello / Paga / Checkout)
   ================================ */

/* Bottoni principali Woo: add to cart + checkout + place order */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order{
  background: var(--fct-blue) !important;
  border-color: var(--fct-blue) !important;
  color: #fff !important;
  border-radius: 999px; /* in linea con lo stile home */
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

/* Hover */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover{
  filter: brightness(.92);
}

/* Focus (accessibilità) */
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-checkout #place_order:focus{
  outline: 3px solid color-mix(in srgb, var(--fct-blue) 35%, transparent);
  outline-offset: 2px;
}

/* Se stai usando Checkout/Cart Blocks (a volte prendono classi diverse) */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-button{
  background: var(--fct-blue) !important;
  border-color: var(--fct-blue) !important;
  color: #fff !important;
  border-radius: 999px;
  font-weight: 800;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover{
  filter: brightness(.92);
}






/* Base stile come Home (mettilo in FONDO per sovrascrivere il body scuro) */
body{
  background:#fff !important;
  color: var(--fct-blue, #31408B) !important;
  font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* ================================
   FC Travel – Woo notices (message/info/error)
   ================================ */

.woocommerce-notices-wrapper{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* Base */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  position: relative;
  border-radius: 18px !important;
  padding: 14px 16px 14px 52px !important;
  margin: 14px 0 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  border: 1px solid rgba(49,64,139,.22) !important;
  background: #fff !important;
  color: #0d2537 !important; /* testo leggibile */
}

/* Barretta laterale (colore brand) */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  content:"";
  position:absolute;
  left: 10px;
  top: 10px;
  bottom: 10px;
  width: 8px;
  border-radius: 999px;
  background: var(--fct-blue);
}

/* Icone Woo default: rendile “brand” */
.woocommerce-message::after,
.woocommerce-info::after,
.woocommerce-error::after{
  color: var(--fct-blue) !important;
}

/* Link e azioni */
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a{
  color: var(--fct-blue) !important;
  font-weight: 800;
  text-decoration: none;
}
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover{
  text-decoration: underline;
}

/* Bottone dentro il notice (es: “Visualizza carrello”) */
.woocommerce-message .button,
.woocommerce-info .button{
  background: var(--fct-blue) !important;
  border-color: var(--fct-blue) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 800;
  padding: 10px 14px !important;
  margin-left: 10px;
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover{
  filter: brightness(.92);
}

/* Error: bordo leggermente più deciso, ma sempre coerente */
.woocommerce-error{
  border-color: rgba(49,64,139,.35) !important;
}

/* Mobile: padding un filo più compatto */
@media (max-width: 768px){
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error{
    padding: 12px 14px 12px 46px !important;
  }
  .woocommerce-message .button,
  .woocommerce-info .button{
    display: inline-flex;
    margin: 10px 0 0;
  }
}
/* Dot notifica carrello sulla hamburger */
.fct-header-actions .gb-text.gb-text-f6ae9ca7.fct-hamburger{
  position: relative;
}

/* fallback se un domani cambia la classe gb-text-xxxx */
.fct-header-actions .fct-hamburger{
  position: relative;
}
/*
body.fct-cart-has-items .fct-header-actions .gb-text.gb-text-f6ae9ca7.fct-hamburger::after,
body.fct-cart-has-items .fct-header-actions .fct-hamburger::after{
  content:"";
  position:absolute;
  top:-3px;
  right:-3px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--fct-blue);
  box-shadow: 0 0 0 2px #fff; 
  z-index: 10;
} */

/* Hint visivo: sfuma i bordi del viewport (Tour + News) */
/* Hint visivo più leggero (sfumatura meno evidente) */
.fct-carousel-viewport,
.fct-news-viewport{
  -webkit-mask-image: linear-gradient(to right,
    transparent 0,
    #000 10px,
    #000 calc(100% - 10px),
    transparent 100%);
  mask-image: linear-gradient(to right,
    transparent 0,
    #000 10px,
    #000 calc(100% - 10px),
    transparent 100%);
}
/* === FC: VIEWPORT unificato (tour + news) === */
:where([data-fct-carousel],[data-fct-news]){
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding: 12px;
  scrollbar-width: none;
}
:where([data-fct-carousel],[data-fct-news])::-webkit-scrollbar{ display:none; }

/* drag: evita selezioni */
:where([data-fct-carousel],[data-fct-news]).is-dragging,
:where([data-fct-carousel],[data-fct-news]).is-dragging *{
  user-select: none;
}

/* cursore “grab” desktop */
@media (hover: hover) and (pointer: fine){
  :where([data-fct-carousel],[data-fct-news]){ cursor: grab; }
  :where([data-fct-carousel],[data-fct-news]).is-dragging{ cursor: grabbing; }
}

/* Track layout (safety net): i contenuti interni devono stare in riga */
.fct-carousel-viewport .products,
.fct-news-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
}

/* Snap sulle card */
.fct-carousel-viewport .products > li,
.fct-news-track > li{
  scroll-snap-align: start;
}
/*--------------------------*/
/* =========================================================
   FC Travel – Base behavior UNIFICATO (tour + news)
   Applica lo stesso comportamento a:
   - .fct-carousel-viewport[data-fct-carousel]
   - .fct-news-viewport[data-fct-news]
   ========================================================= */

:where([data-fct-carousel],[data-fct-news]){
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding: 12px;
  scrollbar-width: none;
}
:where([data-fct-carousel],[data-fct-news])::-webkit-scrollbar{
  display: none;
}

/* cursori SOLO desktop (evita stranezze su mobile) */
@media (hover: hover) and (pointer: fine){
  :where([data-fct-carousel],[data-fct-news]){ cursor: grab !important; }
  :where([data-fct-carousel],[data-fct-news]).is-dragging{ cursor: grabbing !important; }
}

/* durante drag: no selezione testo */
:where([data-fct-carousel],[data-fct-news]).is-dragging,
:where([data-fct-carousel],[data-fct-news]).is-dragging *{
  user-select: none;
}

/* =========================================================
   NEWS – rendilo “track” come i prodotti (flex + gap + snap)
   ========================================================= */
.fct-news-track{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;              /* come il primo slider */
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: max-content !important;
}

.fct-news-item{
  flex: 0 0 auto !important;
  scroll-snap-align: start;
}

/* (opzionale) se vuoi una misura coerente alle card:
   adatta questi clamp/altezza alle tue news */
.fct-news-item{
  width: clamp(240px, 30vw, 320px);
}
.fct-news-card{
  display:block;
  height: 320px;
  border-radius: 28px;
  overflow:hidden;
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
}

/* Frecce già ok: le lasci così come sono (fct-arrow, prev/next) */
/* ===== FIX SWIPE mobile NEWS ===== */
.fct-news-viewport,
.fct-news-viewport[data-fct-news]{
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  min-width: 0 !important;            /* IMPORTANTISSIMO se è dentro flex/grid */
  touch-action: pan-x pan-y !important;/* non blocca lo swipe orizzontale */
  pointer-events: auto !important;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.fct-news-viewport::-webkit-scrollbar{ display:none; }

/* Track: deve “crescere” in larghezza, altrimenti non scorre */
.fct-news-track{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;
  width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Item: non deve restringersi */
.fct-news-item{
  flex: 0 0 auto !important;
  scroll-snap-align: start;
}

/* =========================================================
   FC – FIX ICONA FRECCE (tour + news)
   Se il cerchio si vede ma la freccia no, è CSS che la nasconde.
   Questo patch “blinda” SVG + path.
   ========================================================= */

/* 1) Il bottone crea uno stacking context e mette l'icona sopra eventuali overlay */
.fct-carousel .fct-arrow,
.fct-news-carousel .fct-arrow{
  position: absolute;             /* (già ce l’hai) */
  isolation: isolate;             /* crea contesto di stacking */
  color: var(--fct-blue, #31408B) !important;
  line-height: 0 !important;      /* evita artefatti */
}

/* Se qualche ::before/::after copre l’icona, lo mandiamo sotto */
.fct-carousel .fct-arrow::before,
.fct-carousel .fct-arrow::after,
.fct-news-carousel .fct-arrow::before,
.fct-news-carousel .fct-arrow::after{
  position: absolute;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* 2) SVG: forza visibilità e dimensioni (spesso è qui il problema) */
.fct-carousel .fct-arrow svg,
.fct-news-carousel .fct-arrow svg{
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 2 !important;          /* sopra il bottone/overlay */
  pointer-events: none !important;
}

/* 3) PATH: forza lo stroke (blu sito) anche se un reset lo azzera */
.fct-carousel .fct-arrow svg path,
.fct-news-carousel .fct-arrow svg path{
  fill: none !important;
  stroke: var(--fct-blue, #31408B) !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* === End padding: evita hard-end e comportamenti diversi su mobile === */
:where([data-fct-carousel],[data-fct-news]){
  scroll-padding-right: 22px;
}

/* Tour: aggiungi coda a destra al track prodotti */
.fct-featured-carousel .fct-carousel-viewport ul.products{
  padding-right: 22px !important;
}

/* News: aggiungi coda a destra al track news */
.fct-news-track{
  padding-right: 22px !important;
}
/* =========================================================
   FC – BASE UNIFICATA viewports (TOUR + NEWS)
   ========================================================= */
:where([data-fct-carousel],[data-fct-news]){
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding: 12px;
  scrollbar-width: none;
  touch-action: pan-x pan-y;  /* IMPORTANTISSIMO: evita differenze tra i due su mobile */
}
:where([data-fct-carousel],[data-fct-news])::-webkit-scrollbar{ display:none; }

/* Track NEWS come Track TOUR */
.fct-news-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: var(--fct-gap, 22px) !important;
  width:max-content !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.fct-news-item{ flex:0 0 auto !important; scroll-snap-align:start; }

/* “coda” a destra: rende il feeling uguale e evita hard-end secco */
.fct-featured-carousel .fct-carousel-viewport ul.products{ padding-right: var(--fct-gap, 22px) !important; }
.fct-news-track{ padding-right: var(--fct-gap, 22px) !important; }

/* =========================================================
   FIX IMMAGINI TOUR (blinda visibilità + stacking)
   ========================================================= */
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link,
.fct-featured-carousel ul.products li.product a.woocommerce-loop-product__link{
  position: relative !important;
  background: transparent !important;
}

.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link img,
.fct-featured-carousel ul.products li.product a.woocommerce-loop-product__link img{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  z-index:0 !important;
}
/* =========================================================
   FC – Slider base UNIFICATA (tour + news)
   - stesso feeling mobile/desktop
   - pagina scrolla sempre in verticale
   ========================================================= */

/* i due viewport */
:where([data-fct-carousel],[data-fct-news]){
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  min-width: 0 !important;

  /* chiave per coerenza: verticale lasciata al browser, orizzontale la gestiamo noi via JS */
  touch-action: pan-y !important;

  /* evita “chain” orizzontale a parent */
  overscroll-behavior-x: contain;
}
:where([data-fct-carousel],[data-fct-news])::-webkit-scrollbar{ display:none; }

/* NEWS track come TOUR */
.fct-news-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: var(--fct-gap, 22px) !important;
  width:max-content !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.fct-news-item{ flex:0 0 auto !important; scroll-snap-align:start; }

/* coda a destra uguale (aiuta la sensazione a fine corsa) */
.fct-featured-carousel .fct-carousel-viewport ul.products{ padding-right: var(--fct-gap, 22px) !important; }
.fct-news-track{ padding-right: var(--fct-gap, 22px) !important; }

/* durante drag */
:where([data-fct-carousel],[data-fct-news]).is-dragging,
:where([data-fct-carousel],[data-fct-news]).is-dragging *{
  user-select:none;
}

/* =========================================================
   FIX immagini TOUR (se sparite per qualche override)
   ========================================================= */
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link,
.fct-featured-carousel ul.products li.product a.woocommerce-loop-product__link{
  position: relative !important;
  background: transparent !important;
}

.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link img,
.fct-featured-carousel ul.products li.product a.woocommerce-loop-product__link img{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;

  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  z-index:0 !important;
}

:where([data-fct-carousel],[data-fct-news]){ touch-action: pan-y !important; }
:where([data-fct-carousel],[data-fct-news]){ overscroll-behavior-x: contain; }

/* =========================================================
   FIX: immagini non visibili nel TOUR carousel (fct-carousel-stage)
   ========================================================= */

.fct-featured-carousel .fct-carousel-stage .products li.product{
  position: relative !important;
}

/* il link deve essere il contenitore relativo dell'immagine */
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-LoopProduct-link,
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-loop-product__link{
  position: relative !important;
  display: flex !important;
  background: transparent !important;
  overflow: hidden !important;
}

/* forza l'immagine a essere visibile e “full cover” */
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-LoopProduct-link img,
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-loop-product__link img{
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;

  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  z-index: 0 !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  mask: none !important;
}

/* overlay gradiente sopra immagine */
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-LoopProduct-link::before,
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-loop-product__link::before{
  z-index: 1 !important;
  pointer-events: none !important;
}

/* tutto il contenuto (titolo/summary/prezzo) sopra overlay */
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-LoopProduct-link > *:not(img),
.fct-featured-carousel .fct-carousel-stage .products li.product a.woocommerce-loop-product__link > *:not(img){
  position: relative !important;
  z-index: 2 !important;
}
/* =========================================================
   FC – BASE UNIFICATA viewport (Tour + News)
   ========================================================= */
:where([data-fct-carousel],[data-fct-news]){
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-snap-stop: always;
  scrollbar-width: none;

  /* 🔥 fondamentale: abilita swipe nativo come news */
  touch-action: pan-x pan-y !important;
  overscroll-behavior-x: contain;
}
:where([data-fct-carousel],[data-fct-news])::-webkit-scrollbar{ display:none; }

/* Track News (se già ce l’hai ok, questo lo rende solido) */
.fct-news-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: var(--fct-gap, 22px) !important;
  width:max-content !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.fct-news-item{ flex:0 0 auto !important; scroll-snap-align:start; }

/* Track Tour (UL prodotti) – rendilo “overflowabile” come news */
.fct-featured-carousel .fct-carousel-viewport ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap: var(--fct-gap, 22px) !important;
  width:max-content !important;
  margin:0 !important;
}

/* =========================================================
   DIMENSIONI CARD: Mobile 1 card, Desktop 2 card
   ========================================================= */

/* MOBILE: 1 card per volta (sia Tour che News) */
@media (max-width: 768px){
  .fct-featured-carousel ul.products li.product,
  .fct-news-item{
    width: calc(100% - 24px) !important;  /* 1 card visibile */
    flex: 0 0 auto !important;
  }

  /* niente “intro slot” sul mobile (se già lo nascondi ok) */
  .fct-featured-carousel .fct-carousel-intro{ display:none !important; }
  .fct-featured-carousel .fct-carousel-viewport ul.products{ padding-left: 0 !important; }
}

/* DESKTOP: 2 card visibili, scorre orizzontale */
@media (min-width: 769px){
  .fct-featured-carousel ul.products li.product{
    width: clamp(240px, 30vw, 320px) !important;
    flex: 0 0 auto !important;
  }
}

/* =========================================================
   FIX IMMAGINI TOUR (Woo thumbnail)
   ========================================================= */
.fct-featured-carousel ul.products li.product{
  position: relative !important;
  overflow: hidden !important;
}

/* Woo usa spesso entrambe le classi sul link */
.fct-featured-carousel ul.products li.product a.woocommerce-loop-product__link,
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link{
  position: relative !important;
  display: block !important;
  height: 100% !important;
  min-height: var(--fct-card-h, 320px) !important;
}

/* Blinda la thumbnail */
.fct-featured-carousel ul.products li.product a.woocommerce-loop-product__link img,
.fct-featured-carousel ul.products li.product a.woocommerce-LoopProduct-link img{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;

  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  z-index:0 !important;

  filter:none !important;
  transform:none !important;
}
/* ===== TOUR: forza thumbnail visibile nel carousel ===== */
.fct-featured-carousel [data-fct-carousel] ul.products li.product{
  position: relative !important;
  height: var(--fct-card-h, 320px) !important; /* altezza certa = niente img “a 0px” */
  overflow: hidden !important;
}

/* Woo può usare entrambe le classi sul link: copri tutti e due */
.fct-featured-carousel [data-fct-carousel] ul.products li.product a.woocommerce-loop-product__link,
.fct-featured-carousel [data-fct-carousel] ul.products li.product a.woocommerce-LoopProduct-link{
  position: relative !important;
  display: block !important;
  height: 100% !important;
  width: 100% !important;
}

/* qualsiasi img dentro quel link */
.fct-featured-carousel [data-fct-carousel] ul.products li.product a.woocommerce-loop-product__link img,
.fct-featured-carousel [data-fct-carousel] ul.products li.product a.woocommerce-LoopProduct-link img{
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;

  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;

  z-index: 0 !important;

  /* neutralizza effetti tipici lazy/blur */
  filter: none !important;
  transform: none !important;
}
/* immagine cover nel carousel Tour */
.fct-featured-carousel [data-fct-carousel] .fct-card-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:0 !important;
}


/**GRIDBUILDER***/
/* ===========================
   WPGridBuilder Slider (FCT)
   =========================== */

.fct-wpgb-slider{
  position: relative;
}

/* viewport: scroll nativo */
.fct-wpgb-viewport{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  scroll-padding: 16px;
  touch-action: pan-x pan-y;
}
.fct-wpgb-viewport::-webkit-scrollbar{ display:none; }

/* track: WPGridBuilder wrapper -> lo mettiamo in riga */
.fct-wpgb-viewport .wpgb-grid{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;
  width: max-content !important;
  margin: 0 !important;
}

/* item: ogni card “snap” */
.fct-wpgb-viewport .wpgb-card{
  flex: 0 0 auto !important;
  scroll-snap-align: start;
}

/* dimensioni card: desktop 2 visibili, mobile 1 */
@media (min-width: 769px){
  .fct-wpgb-viewport .wpgb-card{
    width: clamp(240px, 30vw, 320px);
  }
}
@media (max-width: 768px){
  .fct-wpgb-viewport .wpgb-card{
    width: calc(100vw - 32px);
  }
}

/* frecce */
.fct-wpgb-slider .fct-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(49,64,139,.25);
  background:#fff;
  color: var(--fct-blue, #31408B);
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 50;

  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.fct-wpgb-slider .fct-prev{ left:10px; }
.fct-wpgb-slider .fct-next{ right:10px; }

.fct-wpgb-slider .fct-arrow svg{
  width:22px; height:22px; display:block;
}
.fct-wpgb-slider .fct-arrow svg path{
  fill:none;
  stroke: currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* hover desktop */
@media (hover:hover) and (pointer:fine){
  .fct-wpgb-slider:hover .fct-arrow{
    opacity: 1;
    pointer-events:auto;
  }
}
/* touch: sempre visibili */
@media (hover:none){
  .fct-wpgb-slider .fct-arrow{
    opacity: 1;
    pointer-events:auto;
  }
}

/* disabled */
.fct-wpgb-slider .fct-arrow:disabled{
  opacity:.25 !important;
  pointer-events:none !important;
}
/* CONTATTI - blocco pagina */
.fct-contact-wrap{
  max-width: 1200px;
  margin: 0 auto;
  /*padding: clamp(16px, 2.5vw, 28px);*/
}

.fct-contact-intro{
  margin: 0 0 14px 0;
  font-size: 1.05rem;
  opacity: .9;
}

.fct-contact-grid{
  display: grid;
  gap: 18px;
}

@media (min-width: 900px){
  .fct-contact-grid{
    grid-template-columns: 1.25fr .9fr;
    align-items: start;
  }
}

.fct-contact-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: clamp(16px, 2.2vw, 24px);
  box-shadow: 0 8px 26px rgba(0,0,0,.06);
}

.fct-contact-title{
  margin: 0 0 12px 0;
  font-size: 1.35rem;
  line-height: 1.2;
}

.fct-contact-subtitle{
  margin: 0 0 10px 0;
  font-size: 1.05rem;
}

.fct-contact-strong{
  margin: 0 0 8px 0;
  font-weight: 700;
}

.fct-contact-meta{
  margin: 0 0 14px 0;
  opacity: .9;
}

.fct-contact-block{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.fct-contact-label{
  margin: 0 0 10px 0;
  font-weight: 600;
}

.fct-contact-list{
  margin: 0;
  padding-left: 18px;
}

.fct-contact-list li{
  margin: 6px 0;
}

.fct-contact-split{
  display: grid;
  gap: 12px;
}

@media (min-width: 650px){
  .fct-contact-split{
    grid-template-columns: 1fr 1fr;
  }
}

.fct-contact-mini h3{
  margin: 0 0 6px 0;
  font-size: 1rem;
}

.fct-contact-phone{
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.fct-contact-note{
  margin: 12px 0 0 0;
  opacity: .85;
}

.fct-contact-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.fct-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  background: var(--fct-blue, #31408B);
  color: #fff;
  border: 1px solid transparent;
  transition: transform .15s ease, opacity .15s ease;
}

.fct-btn:hover{
  transform: translateY(-1px);
  opacity: .92;
}

.fct-btn--ghost{
  background: transparent;
  color: var(--fct-blue, #31408B);
  border-color: rgba(49,64,139,.25);
}

.fct-btn--wa{
  background: #1fbf59; /* WhatsApp */
}

.fct-divider{
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 16px 0;
}

.fct-contact-form{
  background: rgba(0,0,0,.03);
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 12px;
  padding: 14px;
}

.fct-map{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
}

.fct-map iframe{
  width: 100%;
  height: 320px;
  border: 0;
  display: block;
}

/* =========================================================
   Gravity Forms (Orbital / GP): submit uguale a .fct-btn
   ========================================================= */

body:not(.home) .gform_wrapper.gravity-theme #gform_submit_button_2.gform_button.button,
body:not(.home) .gform_wrapper.gravity-theme .gform_footer input[type="submit"].gform_button.button,
body:not(.home) .gform_wrapper.gravity-theme input.gform_button,
body:not(.home) .gform_wrapper input.gform_button{
  -webkit-appearance: none;
  appearance: none;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 10px 16px !important;
  border-radius: 999px !important;

  background: var(--fct-blue, #31408B) !important;
  color: #fff !important;

  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1 !important;

  border: 1px solid transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;

  cursor: pointer !important;
  transition: transform .15s ease, opacity .15s ease !important;
}

body:not(.home) .gform_wrapper.gravity-theme #gform_submit_button_2:hover,
body:not(.home) .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover{
  transform: translateY(-1px) !important;
  opacity: .92 !important;
}

body:not(.home) .gform_wrapper.gravity-theme #gform_submit_button_2:focus{
  outline: none !important;
}

/* Se Gravity Forms disabilita il pulsante durante invio */
body:not(.home) .gform_wrapper.gravity-theme #gform_submit_button_2[disabled],
body:not(.home) .gform_wrapper.gravity-theme #gform_submit_button_2.gform_button_disabled{
  opacity: .6 !important;
  transform: none !important;
  cursor: not-allowed !important;
}
/* Footer: link bianchi anche su pagine interne */
body:not(.home) .fct-footer,
body:not(.home) .fct-footer a{ color:#fff !important; }

body:not(.home) .fct-footer a:hover{ opacity:.85; }

body:not(.home) .fct-footer-legal span{ color:rgba(255,255,255,.6); }
.fct-agency-hero{
  border-radius:16px;
  padding:16px;
  background:rgba(49,64,139,.06);
  border:1px solid rgba(49,64,139,.14);
  margin:10px 0 18px;
}
.fct-agency-hero-text{ margin:0; font-size:1.05rem; line-height:1.6; }
.fct-agency-hero{border-radius:18px;padding:18px;background:linear-gradient(135deg,rgba(49,64,139,.16),rgba(49,64,139,.05));border:1px solid rgba(49,64,139,.18);display:grid;gap:16px;align-items:center;margin:10px 0 18px}
@media(min-width:900px){.fct-agency-hero{grid-template-columns:1.25fr .75fr}}
.fct-agency-hero-text{margin:0;font-size:1.18rem;line-height:1.7;font-weight:650;color:var(--fct-blue,#31408B)}
.fct-agency-hero-figure{margin:0}
.fct-agency-hero-img{width:100%;height:100%;min-height:220px;object-fit:cover;border-radius:14px;display:block}
/* ====== SEZIONE SERVIZI (pagina tour / prodotto) ====== */
.product-section--servizi{
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 0px;
  box-sizing: border-box;
}

.product-section--servizi > h2{
  margin: 0 0 12px;
  color: var(--fct-blue);
  font-weight: 900;
  line-height: 1.05;
}

/* Card */
.product-section--servizi .fct-tab.fct-servizi{
  background: #fff;
  border-radius: 28px;
  padding: 18px 18px 16px;
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
  border: 1px solid rgba(49,64,139,.12);
}

.product-section--servizi .fct-sec-title{
  margin: 0 0 14px;
  color: var(--fct-blue);
  font-weight: 900;
  font-size: 18px;
}

/* Lista servizi */
.product-section--servizi .fct-services{
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.product-section--servizi .fct-services li{
  display: flex;
  align-items: center;
  gap: 10px;

  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(49,64,139,.06);
  color: var(--fct-blue);
  font-weight: 700;
}

/* Iconcina “check” */
.product-section--servizi .fct-services li::before{
  content: "✓";
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--fct-blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  font-weight: 900;
  line-height: 1;
}

/* Mobile */
@media (max-width: 768px){
  .product-section--servizi .fct-services{
    grid-template-columns: 1fr;
  }
}
/* ===== Servizi struttura (chips COMPATTI tipo tag) ===== */
.fct-services-structure{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.fct-services-structure .fct-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 8px 12px;
  border-radius: 999px; /* pill */
  background: rgba(49,64,139,.06);
  border: 1px solid rgba(49,64,139,.12);

  color: var(--fct-blue);
  font-weight: 800;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}

/* se rimane qualche svg per errore */
.fct-services-structure .fct-icon svg{ display:none !important; }

@media (max-width: 520px){
  .fct-services-structure .fct-icon{
    font-size: 12.5px;
    padding: 8px 11px;
  }
}

/* ===== SERVIZI STRUTTURA: badge con testo (no tondo) ===== */
.fct-tab .fct-icon-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:flex-start !important;
}

/* il singolo servizio diventa un badge */
.fct-tab .fct-icon-grid .fct-icon{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding: 8px 12px !important;

  border-radius: 999px !important;
  background: rgba(49,64,139,.06) !important;
  border: 1px solid rgba(49,64,139,.14) !important;

  color: var(--fct-blue) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1.15 !important;

  /* testi lunghi: vai a capo dentro il badge */
  white-space: normal !important;
  max-width: 260px;
  word-break: break-word;
  hyphens: auto;
}

/* elimina qualsiasi “tondo” fatto con pseudo-elementi */
.fct-tab .fct-icon-grid .fct-icon::before,
.fct-tab .fct-icon-grid .fct-icon::after{
  content:none !important;
  display:none !important;
}

/* se per errore rimane qualche SVG, lo nascondo */
.fct-tab .fct-icon-grid .fct-icon svg{
  display:none !important;
}

@media (max-width: 520px){
  .fct-tab .fct-icon-grid .fct-icon{
    max-width: 46vw; /* 2 badge per riga circa */
    font-size: 12.5px !important;
    padding: 8px 11px !important;
  }
}
/* =========================================================
   TOUR CORRELATI (singolo tour) -> STESSA CARD dello SHOP
   (solo nella sezione .related)
   ========================================================= */

.single-product .related.products{
  margin-top: 32px;
}

.single-product .related.products > h2{
  margin: 0 0 14px;
  color: var(--fct-blue);
  font-weight: 900;
}

/* griglia come shop (responsive pulito) */
.single-product .related.products ul.products{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid !important;
  gap: 22px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1024px){
  .single-product .related.products ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px){
  .single-product .related.products ul.products{
    grid-template-columns: 1fr;
  }
}

/* CARD identica (stile FC) */
.single-product .related.products ul.products li.product{
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(49,64,139,.14);
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

/* link interno: layout verticale pulito */
.single-product .related.products ul.products li.product > a.woocommerce-LoopProduct-link{
  display: block;
  text-decoration: none;
  color: inherit;
}

/* immagine: stessa “pulizia” della home (niente immagini giganti) */
.single-product .related.products ul.products li.product a img{
  width: 100% !important;
  height: auto !important;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 3; /* puoi mettere 1/1 se nello shop sono quadrate */
  border-radius: 0;    /* la card gestisce il rounding */
}

/* contenuto card */
.single-product .related.products ul.products li.product .woocommerce-loop-product__title{
  margin: 14px 16px 10px;
  font-weight: 900;
  color: var(--fct-blue);
  line-height: 1.15;
  font-size: 16px;
}

/* prezzo / microtesti */
.single-product .related.products ul.products li.product .price{
  margin: 0 16px 14px;
  color: var(--fct-blue);
  padding: 8px 6px !important;
  font-size: 1em;
  font-weight: bold;
}

/* bottone sotto (se lo mostri anche nello shop) */
.single-product .related.products ul.products li.product a.button{
  margin: 0 16px 16px !important;
  width: calc(100% - 32px);
  border-radius: 999px;
  padding: 12px 14px;
  text-align: center;
}
/* TOUR CORRELATI: prezzo allineato a sinistra come nello shop */
.single-product .related.products ul.products li.product .price{
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: baseline;
  gap: 8px;
  display: flex;               /* amount + p.p. sulla stessa riga */
  flex-wrap: wrap;
  margin: 0 16px 14px !important;
}

/* evita che <small> vada sotto stile strano */
.single-product .related.products ul.products li.product .price .fct-pp{
  margin-left: 6px;
  display: inline-block;
  opacity: .85;
}
.add-to-cart-panel form.cart, .woocommerce div.product.do-quantity-buttons form.cart {
    gap: 1rem;
}
/* Woo Mini Cart (Blocks) – bottone "Vai al pagamento" con testo bianco */
body:not(.home) a.wc-block-mini-cart__footer-checkout,
body:not(.home) .wc-block-mini-cart__footer-checkout.wp-element-button,
body:not(.home) .wc-block-mini-cart__footer-checkout .wc-block-components-button__text{
  color: #fff !important;
}

/* facoltativo: sfondo coerente col sito */
.wc-block-mini-cart__footer-checkout{
  background: var(--fct-blue) !important;
  border-color: var(--fct-blue) !important;
}

/* hover */
.wc-block-mini-cart__footer-checkout:hover{
  filter: brightness(0.95);
}
