/* ============================================================
   StaiFuori — FOUNDATION (layer globale sostituibile)
   Token brand + reset + tipografia base.
   Lo stile di dettaglio vive nei singoli widget HTML delle pagine.
   ============================================================ */
/* Font display auto-ospitato (same-origin, no CORS/Google) */
@font-face{
  font-family:"Six Caps";
  font-style:normal;font-weight:400;font-display:swap;
  src:url(/wp-content/uploads/elementor/google-fonts/fonts/sixcaps-6ae_4kgru7vr7bnmaycb_3tqpa.woff2) format("woff2");
}
:root {
  /* --- Colori brand (dal Kit Elementor) --- */
  --sf-gold:   #E1A94B;   /* oro/ocra   */
  --sf-green:  #3B9F69;   /* verde      */
  --sf-teal:   #2A8DA8;   /* teal/blu   */
  --sf-blue:   #066CBD;   /* blu brand  */
  --sf-sky:    #29A9F2;   /* sky brand  */
  --sf-ink:    #14201a;   /* testo scuro/sezioni dark */
  --sf-text:   #4A544C;   /* corpo testo */
  --sf-muted:  #7A7A7A;   /* testo attenuato */
  --sf-cream:  #F5F0E4;   /* sfondo chiaro caldo */
  --sf-white:  #FCFAF5;   /* card/superfici */
  /* --- Tipografia --- */
  --sf-head:    "Archivo", system-ui, sans-serif;  /* titoli e UI */
  --sf-display: "Six Caps", "Anton", sans-serif;   /* display condensato (legacy) */
  --sf-body:    "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* --- Layout --- */
  --sf-container: 1200px;
  --sf-radius: 20px;
  --sf-radius-lg: 32px;
  /* --- Ritmo verticale --- */
  --sf-section-y: clamp(4rem, 8vw, 8rem);   /* ~ py-24 / py-32 */
  --sf-bb-pattern: url("/wp-content/uploads/2026/07/brandbook-pattern.png");
  --sf-bb-waves: url("/wp-content/uploads/2026/07/brandbook-waves.png");
  --sf-bb-triangle: url("/wp-content/uploads/2026/07/brandbook-triangle.png");
  --sf-bb-sun: url("/wp-content/uploads/2026/07/brandbook-sun.png");
}
/* --- Reset moderno --- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sf-body);
  font-weight: 400;
  line-height: 1.65;
  color: var(--sf-text);
  background: var(--sf-cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 { margin: 0 0 .4em; line-height: 1.1; color: var(--sf-ink); text-wrap: balance; overflow-wrap: normal; word-break: normal; }
p { margin: 0 0 1rem; text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
img, picture, video, svg { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
/* --- Helper riutilizzabili --- */
.sf-container { width: 100%; max-width: var(--sf-container); margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.sf-section  { padding-block: var(--sf-section-y); }
.sf-display  { font-family: var(--sf-display); font-weight: 400; line-height: 1.0; text-transform: uppercase; letter-spacing: .01em; }
/* --- Accessibilità --- */
:focus-visible { outline: 3px solid var(--sf-teal); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
/* Hello Elementor: assicura larghezza piena ai contenitori delle location header/footer */
.elementor-location-header, .elementor-location-footer { width: 100%; }
/* Pagine "in codice": contenuto A FILO — rimuove il padding/margine di default
   di Elementor (colonna .elementor-element-populated + margin widget) che creava
   gli spazi header->pagina e pagina->footer. Scoped al solo contenuto pagina. */
[data-elementor-type="wp-page"] .elementor-element-populated { padding: 0; }
[data-elementor-type="wp-page"] .elementor-widget:not(:last-child) { margin-block-end: 0; }
/* Header a filo: rimuove la cornice di default della colonna Elementor attorno all'header */
.elementor-location-header .elementor-element-populated { padding: 0; }
.elementor-location-header .elementor-widget:not(:last-child) { margin-block-end: 0; }
[data-elementor-type="wp-page"] > .elementor-section:first-child,
[data-elementor-type="wp-page"] .elementor-widget-html:first-child { margin-top: 0; }
/* Header globale: una sola fonte di verita' per logo e barra. */
.sf-head{overflow:visible}
.sf-head__in{height:96px;min-height:96px;padding-block:.7rem}
.sf-head .sf-head__logo{height:78px;display:flex;align-items:center;overflow:visible}
.sf-head .sf-head__logo img{height:clamp(74px,6.2vw,106px);width:auto;max-height:none;image-rendering:auto}
/* Bottoni globali: font e peso coerenti tra CTA, form e card. */
.btn,
.sfh .btn,
.se-gear__cta,
.sf-contact button,
.sf-contact input[type="submit"],
.sf-contact .wpcf7-submit,
.elementor-button{
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-weight:800;
  letter-spacing:0;
  white-space:nowrap;
}
.sf-nav__link,
.sf-cta,
.sf-pop__btn{
  white-space:nowrap;
}
/* Logo WIRE nel footer leggibile */
.elementor-location-footer img[src*="WIRE-Presentazione"] { height: 60px; width: auto; }
.sf-archive-hero{background:linear-gradient(135deg,#2A8DA8,#3B9F69);color:#fff;text-align:center;padding:clamp(4rem,9vw,7rem) 1.5rem 3rem}
.sf-archive-hero__kicker{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin:0 0 .6rem}
/* selettore con .sf-archive-hero: serve per battere .elementor-kit-5 h1{font-size:22px} */
.sf-archive-hero .sf-archive-hero__title{font-family:var(--sf-head,"Archivo",sans-serif);font-weight:800;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.9;text-transform:uppercase;margin:0;color:#fff}
.sf-blog{max-width:1240px;margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,2.5rem);font-family:var(--sf-body,"Montserrat",sans-serif)}
.sf-blog__empty{text-align:center;color:#7A7A7A}
.sf-blog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}
.sf-card{display:flex;flex-direction:column;background:#FCFAF5;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(24,32,25,.06);transition:transform .3s,box-shadow .3s}
.sf-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(24,32,25,.12)}
.sf-card__imgwrap{aspect-ratio:16/10;overflow:hidden;background:#8B9B88}
.sf-card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.sf-card:hover .sf-card__img{transform:scale(1.06)}
.sf-card__body{display:flex;flex-direction:column;gap:.6rem;padding:1.4rem 1.5rem 1.6rem;flex:1}
.sf-card__cat{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7B8266}
/* selettore con .sf-card: serve per battere .elementor-kit-5 h2{font-size:40px} */
.sf-card .sf-card__title{font-family:var(--sf-head,"Archivo",sans-serif);font-weight:800;font-size:1.35rem;line-height:1.08;text-transform:uppercase;color:#2A8DA8;margin:0}
.sf-card__title a{color:inherit}
.sf-card__meta{font-size:.78rem;color:#7A7A7A}
.sf-card__excerpt{font-size:.9rem;line-height:1.55;color:#4A544C;margin:0}
.sf-card__link{margin-top:auto;font-weight:600;font-size:.85rem;color:#E1A94B;display:inline-flex;align-items:center;gap:.4rem}
.sf-card__link::after{content:"\2192";transition:transform .2s}
.sf-card:hover .sf-card__link::after{transform:translateX(4px)}
/* Marchi attrezzatura. Sul noleggio ogni logo sta dentro uno <span class="sf-bl">;
   sulla home il markup ha le <img> nude, quindi la card la fa l'immagine stessa.
   Stesse dichiarazioni per entrambi, cosi' il trattamento non puo' divergere. */
.sfx-brands,
.sfh-brands__row{gap:.9rem}
.sfx-brands .sf-bl,
.sfh-brands__row img{background:#fff;border:0;border-radius:14px;padding:.6rem 1.15rem;display:inline-flex;align-items:center;justify-content:center;height:58px;min-width:118px;box-shadow:0 10px 26px -16px rgba(0,0,0,.5)}
.sfx-brands .sf-bl--dark,
.sfh-brands__row img[alt*="exo" i]{background:#141414}
.sfx-brands .sf-bl img{max-height:40px;max-width:150px;width:auto;object-fit:contain;display:block}
/* Sulla home l'immagine e' insieme card e logo: niente max-height, che qui
   schiaccerebbe la card; ci pensano padding e object-fit a inquadrare il logo. */
.sfh-brands__row img{max-width:170px;width:auto;object-fit:contain}
.sfx-av--0{background:var(--teal)}
.sfx-av--1{background:var(--green)}
.sfx-av--2{background:var(--gold)}
.sfx-av--3{background:var(--blue)}
.sfh-fb__who small{display:block;color:var(--muted);font-weight:400}
.sfp{font-family:var(--sf-body,"Montserrat",sans-serif);color:#4A544C}
.sfp-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.sfp-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.sfp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,32,25,.15),rgba(24,32,25,.8))}
.sfp-hero__in{position:relative;z-index:2;max-width:820px;margin:0 auto;width:100%;padding:0 clamp(1.25rem,4vw,2rem) clamp(2.5rem,5vw,3.5rem)}
.sfp-hero__k{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#E1A94B;margin:0 0 .6rem}
/* clamp tarato sul titolo piu' lungo non spezzabile ("TROPICALIZZAZIONE") */
.sfp .sfp-hero__t{font-family:var(--sf-head,"Archivo",sans-serif);font-weight:800;color:#fff;font-size:clamp(1.5rem,7.4vw,4.1rem);line-height:.88;text-transform:uppercase;margin:0}
.sfp-hero__meta{margin:.9rem 0 0;font-size:.85rem;opacity:.9}
.sfp-doc{max-width:760px;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,4vw,2rem)}
.sfp-doc p{font-size:1.08rem;line-height:1.85;margin:0 0 1.3rem}
.sfp-doc h2,.sfp-doc h3{font-weight:700;color:#182019;line-height:1.3;margin:2rem 0 .8rem}
.sfp-doc img{border-radius:16px;height:auto;margin:1.5rem 0}
.sfp-doc a{color:#13788F;text-decoration:underline}
.sfp-doc ul,.sfp-doc ol{margin:0 0 1.3rem 1.2rem;line-height:1.8}
.sfp-back{display:inline-block;margin-top:2rem;background:#2C3A2D;color:#fff;padding:.8rem 1.6rem;border-radius:999px;font-size:.88rem;font-weight:600;text-decoration:none}
.sfp-back:hover{background:#182019;color:#fff}
.sf-foot__wire{align-items:flex-start}
.sf-foot__wire img,
.elementor-location-footer img[src*="WIRE"]{
  width:auto;
  object-fit:contain;
}
.sf-foot__wire span,
.sf-foot__wire p{color:#fff}
.sfh-hero__bg::after{background:linear-gradient(180deg,rgba(18,30,24,.38),rgba(18,30,24,.16) 36%,rgba(18,30,24,.86))}
.sf-nav__item--has{padding-bottom:18px;margin-bottom:-18px}
.sf-sub{top:calc(100% + 8px);padding:.8rem;min-width:240px}
.sf-sub::before{content:"";position:absolute;left:0;right:0;top:-20px;height:24px}
.sf-sub a{padding:.78rem 1rem}
.sf-foot__intro{display:none}
.sf-foot__wire img,
.elementor-location-footer img[src*="WIRE"]{
  height:78px;
  max-width:230px;
  background:transparent;
  padding:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 4px 12px rgba(20,32,26,.28));
}
.sfh .sfh-ch__photo>img,
.sfh .sfh-imm__bg>img{position:absolute;inset:-18% 0 auto 0;width:100%;height:136%;object-fit:cover;will-change:transform}
.sf-backtop{position:fixed;right:clamp(1rem,2vw,1.5rem);bottom:clamp(1rem,2vw,1.5rem);z-index:999;width:48px;height:48px;border:0;border-radius:50%;box-shadow:0 16px 34px -18px rgba(20,32,26,.75);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,visibility .2s,transform .2s}
.sf-backtop[data-show="1"]{opacity:1;visibility:visible;transform:none}
.sf-backtop svg{width:22px;height:22px}
/* Reveal sicuro: senza JS/observer i contenuti restano visibili. */
html:not(.js-reveal-ready) .sfh .rv,
html:not(.js-reveal-ready) .sfh .st,
html:not(.js-reveal-ready) .sfe .reveal{
  opacity:1;
  transform:none;
  transition:none;
}
html.js-reveal-ready .sfh .rv:not(.in),
html.js-reveal-ready .sfh .st:not(.in),
html.js-reveal-ready .sfe .reveal:not(.in){
  opacity:0;
}
html.js-reveal-ready .sfh .rv.in,
html.js-reveal-ready .sfh .st.in,
html.js-reveal-ready .sfe .reveal.in{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  html.js-reveal-ready .sfh .rv,
  html.js-reveal-ready .sfh .st,
  html.js-reveal-ready .sfe .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
}
/* Experience programma: foto + step, senza vuoti laterali */
.sfh .se-prog__layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(1.25rem,2.4vw,2rem);
  align-items:stretch;
}
.sfh .se-prog__media{
  min-height:100%;
  border-radius:22px;
  background:#07566a center/cover no-repeat;
  box-shadow:0 24px 54px rgba(16,32,27,.18);
}
.sfh .se-prog__content{
  display:flex;
  min-height:100%;
  flex-direction:column;
}
.sfh .se-prog__steps{
  flex:1;
  align-content:stretch;
}
.sfh .se-prog__step{
  display:grid;
  grid-template-columns:clamp(2.25rem,3vw,2.8rem) minmax(0,1fr);
  align-items:center;
  gap:clamp(.9rem,1.25vw,1.2rem);
  min-height:0;
}
.sfh .se-prog__step::before{
  align-self:center;
  justify-self:center;
  line-height:1;
}
.sfh .se-prog__step span{
  align-self:center;
  padding-top:0;
}
.sfh .se-prog > .wrap:not(.se-prog__layout){
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-rows:auto auto 1fr;
  gap:0 clamp(1.25rem,2.4vw,2rem);
  align-items:stretch;
}
.sfh .se-prog > .wrap:not(.se-prog__layout)::before{
  content:"";
  grid-column:1;
  grid-row:1 / 4;
  min-height:100%;
  border-radius:22px;
  background:var(--sf-prog-image,url("/wp-content/uploads/2023/03/foto_54-scaled.jpg")) var(--sf-prog-pos,center center)/cover no-repeat;
  box-shadow:0 24px 54px rgba(16,32,27,.18);
}
.sfh .se-prog > .wrap:not(.se-prog__layout) > .lab,
.sfh .se-prog > .wrap:not(.se-prog__layout) > h2,
.sfh .se-prog > .wrap:not(.se-prog__layout) > .se-prog__steps{
  grid-column:2;
}
.sf-page-kayak-fun{--sf-prog-image:url("/wp-content/uploads/2023/03/foto_54-scaled.jpg");--sf-prog-pos:center center}
.sf-page-aperikayak{--sf-prog-image:url("/wp-content/uploads/2023/02/foto_49.jpg");--sf-prog-pos:center center}
.sf-page-upside-down{--sf-prog-image:url("/wp-content/uploads/2023/02/5eca6b76-28a2-47f9-96f3-f2b0617fb04a.jpg");--sf-prog-pos:center center}
.sf-page-sup_snorkeling{--sf-prog-image:url("/wp-content/uploads/2023/12/25-scaled.jpg");--sf-prog-pos:center center}
.sf-page-ebike-tour{--sf-prog-image:url("/wp-content/uploads/2025/02/DSCF1188-scaled.jpeg");--sf-prog-pos:center center}
.sf-page-discovery-sup{--sf-prog-image:url("/wp-content/uploads/2023/02/fotoA_30-scaled.jpg");--sf-prog-pos:center center}
.sf-page-yoga-sup{--sf-prog-image:url("/wp-content/uploads/2023/06/YDXJ1200-scaled.jpg");--sf-prog-pos:center center}
.sf-page-escape{--sf-prog-image:url("/wp-content/uploads/2023/12/28-scaled.jpg");--sf-prog-pos:center center}
@media(max-width:820px){
  .sfh .se-prog__layout{
    grid-template-columns:1fr;
  }
  .sfh .se-prog > .wrap:not(.se-prog__layout){
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  .sfh .se-prog > .wrap:not(.se-prog__layout)::before{
    grid-column:1;
    grid-row:1;
    min-height:clamp(220px,62vw,360px);
    aspect-ratio:16/10;
    margin-bottom:clamp(1.15rem,5vw,1.7rem);
  }
  .sfh .se-prog > .wrap:not(.se-prog__layout) > .lab,
  .sfh .se-prog > .wrap:not(.se-prog__layout) > h2,
  .sfh .se-prog > .wrap:not(.se-prog__layout) > .se-prog__steps{
    grid-column:1;
  }
  .sfh .se-prog__media{
    min-height:clamp(220px,62vw,360px);
    aspect-ratio:16/10;
  }
}
.sf-foot__top{align-items:start}
.sf-foot__wirelink{font-size:.9rem;line-height:1.55;max-width:32ch;color:#fff;margin:.9rem 0 .85rem;white-space:normal}
.sf-foot__wirelink::after{content:"";display:none}
.sfx-faq summary::after,.sfx-faq details summary::after,.sfh details summary::after{display:grid;place-items:center;line-height:1;text-align:center}
.sfh .se-kit__col{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:24px;padding:clamp(1.35rem,3vw,2rem)}
.sfh .se-kit__list{gap:.85rem}
.sfh .se-kit__list span{padding:.55rem 1.15rem .55rem .55rem;font-size:1rem;gap:.7rem}
.sfh .se-kit__list span img{width:54px;height:54px;padding:6px}
.sfh .se-book__note{display:none}
a:hover,a:focus,.sfh a:hover,.sfh a:focus{color:inherit}
.sf-backtop,.sf-backtop:hover,.sf-backtop:focus{background:var(--sf-gold);color:var(--sf-ink)}
.sfh-hero__cta::before,.sfh-hero__cta .sfh-hero__scroll{display:none}
.sfh-hero::before{content:"";position:absolute;bottom:clamp(2rem,5vh,3.2rem);z-index:4;width:26px;height:42px;border:2px solid rgba(255,255,255,.78);border-radius:999px;background:radial-gradient(circle at 50% 27%,#fff 0 2px,transparent 3px);box-shadow:0 8px 24px rgba(0,0,0,.22);pointer-events:none}
.sfh .sfh-act__ic{display:grid;place-items:center;overflow:hidden}
.sfh .sfh-act__ic img{width:82px;height:82px;object-fit:contain;object-position:center;transform:scale(1.48);transform-origin:center;margin:auto}
.sfh-ch__ictitle{grid-template-columns:86px minmax(0,1fr);gap:clamp(1.3rem,3vw,2.4rem)}
.sfh-ch__ic{width:86px;height:86px;border-radius:20px;display:grid;place-items:center;overflow:hidden}
.sfh .sfh-ch__ic img{width:90px;height:90px;transform:scale(1.7);margin:auto;object-fit:contain;object-position:center;filter:brightness(0) invert(1) drop-shadow(0 2px 6px rgba(20,32,26,.16))}
.sfh .sfh-ch__grid{gap:clamp(3.4rem,8vw,7rem)}
.sfh .sfh-ch__h{font-size:clamp(2.2rem,4.6vw,3.85rem);line-height:.98;white-space:nowrap}
.sfh-ch--teal .sfh-ch__h::first-letter{text-transform:uppercase}
.sfh-ch--teal .sfh-ch__h{font-size:0}
.sfh-ch--teal .sfh-ch__h::after{content:"Experience";font-size:clamp(2.2rem,4.6vw,3.85rem)}
.sf-foot__brandlogo{
  content:url("/wp-content/uploads/2023/07/logo_payoff_trasparente2-e1784113501832.png");
  height:178px;
  width:auto;
  max-width:300px;
  object-fit:contain;
  margin-top:-1.35rem;
}
.sf-page-about .sfx-grid{margin-bottom:clamp(1rem,3vw,2rem)}
.sf-page-contatti .sfh-phero .torn,
.sf-page-about .sfh-phero .torn{display:none}
.sf-page-contatti .sfh-phero{border-bottom:0}
.sfx-list .sfx-c__img{min-height:260px;background-size:cover}
.sfx-price,.sfh [class*="price"]{accent-color:var(--sf-teal)}
.sfh-intro__statement{max-width:23ch;font-size:clamp(1.85rem,3.25vw,2.78rem);line-height:1.04}
.sfh-intro__grid{grid-template-columns:minmax(0,1.18fr) minmax(340px,.76fr);gap:clamp(2.4rem,5vw,4.8rem)}
.sfh .se-gear__grid:has(.se-gear__c:only-child){grid-template-columns:minmax(0,780px);justify-content:center}
.sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__c{grid-template-columns:44% 1fr;grid-template-rows:auto auto;align-items:center}
.sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__ic{grid-row:1 / span 2;height:320px;border-radius:24px 0 0 24px}
.sfh .se-gear__grid:has(.se-gear__c:only-child) b{align-self:end}
.sfh .se-gear__grid:has(.se-gear__c:only-child) p{align-self:start}
.sf-page-about .sfh-fb{background:var(--sf-teal);color:#fff}
.sf-page-about .sfh-fb h2,
.sf-page-about .sfh-fb .lab{color:#fff}
.sf-page-about .sfx-qual{background:var(--sf-green)}
.sf-page-about .sfh-phero{margin-bottom:0}
.sf-page-about .sfh-phero + .sfx-intro{margin-top:-1px}
.sf-page-about .sfx-intro{
  background:#F9B519;
  color:var(--sf-ink);
}
.sf-page-about .sfx-intro h2{color:var(--sf-ink)}
.sf-page-about .sfx-intro p{color:#243128}
.sf-page-about .sfx-list{
  background:linear-gradient(180deg,var(--sf-teal),#176f86);
  color:#fff;
}
.sf-page-about .sfx-list .lab,
.sf-page-about .sfx-list h2,
.sf-page-about .sfx-list p{color:#fff}
.sf-page-about .sfx-list .lab b{background:var(--sf-gold)}
.sf-page-about .sfx-list .sfx-c{background:#fff;color:var(--sf-ink)}
.sf-page-about .sfx-list .sfx-c p{color:var(--sf-text)}
.sf-page-about .sfx-intro,
.sf-page-about .sfx-list,
.sf-page-about .sfh-fb,
.sfh .se-wire,
.sf-wire-note{position:relative;overflow:hidden}
.sf-page-about .sfx-intro > .wrap,
.sf-page-about .sfx-list > .wrap,
.sf-page-about .sfh-fb > .wrap,
.sfh .se-wire > .wrap,
.sf-wire-note__in{position:relative;z-index:2}
.sf-page-about .sfx-intro::after{
  content:"";position:absolute;right:clamp(1rem,5vw,5rem);bottom:clamp(1rem,4vw,3rem);
  width:clamp(92px,11vw,150px);aspect-ratio:1;background:var(--sf-bb-sun) center/contain no-repeat;
  opacity:.16;mix-blend-mode:multiply;pointer-events:none;z-index:1;
}
.sf-page-about .sfx-list::before{
  content:"";position:absolute;right:-3rem;top:clamp(2rem,6vw,5rem);
  width:clamp(180px,22vw,330px);aspect-ratio:1;background:var(--sf-bb-waves) center/contain no-repeat;
  opacity:.12;filter:brightness(0) invert(1);pointer-events:none;z-index:1;
}
.sf-page-about .sfh-fb::before{
  content:"";position:absolute;left:-4rem;bottom:-4rem;width:clamp(220px,28vw,430px);aspect-ratio:1;
  background:var(--sf-bb-pattern) center/contain no-repeat;opacity:.08;pointer-events:none;z-index:1;
}
.sfh-hero__cta{
  position:relative;
  left:auto;
  bottom:auto;
  z-index:5;
  width:auto;
  margin-top:1.8rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(1rem,2.2vw,1.6rem);
}
@media(max-width:640px){
  .sfh-hero__cta{width:min(88vw,360px);flex-direction:column}
  .sfh-hero__cta .btn{justify-content:center}
}
@media(max-width:760px){
  .sf-page-about .sfx-intro::after,
  .sf-page-about .sfx-list::before,
  .sf-page-about .sfh-fb::before{display:none}
}
.sf-page-about .sfh-intro{
  background:#399F68;
  color:#fff;
  margin-top:-1px;
}
.sf-page-about .sfh-intro .lab,
.sf-page-about .sfh-intro h2,
.sf-page-about .sfh-intro p,
.sf-page-about .sfh-intro__statement{color:#fff}
.sf-page-about .sfh-intro__statement em{color:var(--sf-gold)}
.sf-page-about .sfh-intro .lab b{background:var(--sf-gold)}
.sf-page-about .sfh-intro > .wrap{position:relative;z-index:2}
.sf-page-about .sfh-ch__body.sfh-ch--teal{background:#fff;color:var(--sf-text)}
.sf-page-about .sfh-ch__body.sfh-ch--teal .lab{color:var(--sf-teal)}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-ch__h{
  color:var(--sf-teal);
  font-size:clamp(2.2rem,4.6vw,3.85rem);
  line-height:.98;
}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-ch__h::after{content:none}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-ch__txt{color:var(--sf-text)}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-intro__pillars span{background:#fff;}
/* Experience: colori applicati alla pagina corretta */
.sf-page-experience .sfh-phero{margin-bottom:0}
.sf-page-experience .sfh-phero + .sfx-intro{margin-top:-1px}
.sf-page-experience .sfx-intro{
  background:#F9B519;
  color:var(--sf-ink);
}
.sf-page-experience .sfh-phero .torn--b path{fill:#F9B519}
.sf-page-experience .sfx-intro h2{color:var(--sf-ink)}
.sf-page-experience .sfx-intro p{color:#243128}
.sf-page-experience .sfx-list{
  background:linear-gradient(180deg,var(--sf-teal),#176f86);
  color:#fff;
}
.sf-page-experience .sfx-list .lab,
.sf-page-experience .sfx-list h2,
.sf-page-experience .sfx-list p{color:#fff}
.sf-page-experience .sfx-list .lab b{background:var(--sf-gold)}
.sf-page-experience .sfx-list .sfx-c{background:#fff;color:var(--sf-ink)}
.sf-page-experience .sfx-list .sfx-c p{color:var(--sf-text)}
@media(max-width:900px){
  .sfh-intro__grid{grid-template-columns:1fr}
  .sfh .se-gear__grid,.sfh .se-gear--pricing .se-gear__grid{grid-template-columns:1fr}
  .sfh .se-gal__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}
  .sfh .se-gal__grid a,.sfh .se-gal__grid a:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:4/3;height:auto}
}
.sfh-hero__cta{transform:translateX(-32px)}
.sfh-hero::before{left:50%;transform:translateX(-50%)}
.sf-page-about .sfh-intro::after{display:none}
.sfh-intro__grid,.sfh-ch__grid{align-items:stretch}
.sfh-intro__aside,.sfh-ch__media{position:relative;min-height:0;height:100%;align-self:stretch}
.sfh-intro__aside img,.sfh-ch__media img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.sf-page-about .sfh-intro__aside img{content:url("/wp-content/uploads/2023/12/DSC0964-scaled.jpg");object-position:center}
.sf-page-about .sfh-ch__grid{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:clamp(2.2rem,5vw,4.6rem)}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-ch__h{white-space:normal;overflow-wrap:normal;max-width:11ch}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-intro__pillars span{border:0;color:#fff}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-intro__pillars .p1{background:#399F68}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-intro__pillars .p2{background:#2D8FA9}
.sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-intro__pillars .p3{background:#F9B519;color:var(--sf-ink)}
.sfh .se-gear{background:#fff}
.sfh .se-gear__head{text-align:left;max-width:1180px;margin:0 auto 2rem}
.sfh .se-gear__head .lab{justify-content:flex-start}
.sfh .se-gear__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.4rem;
}
.sfh .se-gear__c{
  position:relative;
  display:grid;
  grid-template-rows:auto auto 1fr;
  min-height:0;
  padding:0;
  border:1px solid rgba(20,32,26,.12);
  border-top:4px solid #2D8FA9;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 42px -30px rgba(20,32,26,.42);
  overflow:hidden;
}
.sfh .se-gear__c::before{display:none}
.sfh .se-gear__ic{
  position:relative;
  width:100%;
  height:150px;
  margin:0;
  padding:1.1rem 1.2rem .7rem;
  background:#fff;
  border-radius:20px 20px 0 0;
  object-fit:contain;
  filter:drop-shadow(0 18px 18px rgba(20,32,26,.15));
}
.sfh .se-gear__c b{padding:1.2rem 1.35rem .35rem;font-size:1.2rem}
.sfh .se-gear__c p{padding:0 1.35rem 1.35rem}
@media(max-width:900px){
  .sfh-hero__cta{transform:none}
  .sfh-intro__aside,.sfh-ch__media{min-height:320px;height:auto}
  .sf-page-about .sfh-ch__grid{grid-template-columns:1fr}
  .sf-page-about .sfh-ch__body.sfh-ch--teal .sfh-ch__h{max-width:none}
}
/* Card CTA di chiusura quando una griglia lascia spazi vuoti */
.sfh .sfx-grid > .sfx-c--cta,
.sfh .sfx-list .sfx-grid > .sfx-c--cta{
  min-height:260px;
  background:#F9B519;
  color:var(--sf-ink);
}
.sfh .sfx-c--cta .sfx-c__body{justify-content:flex-end}
.sfh .sfx-c--cta .sfx-c__tag{
  position:static;
  align-self:flex-start;
  margin-bottom:auto;
}
.sfh .sfx-c--cta h3{max-width:14ch}
.sfh .sfx-c--cta p{color:rgba(20,32,26,.78)}
.sfh .sfx-c--cta .sfx-c__link{color:var(--sf-ink)}
.sfh .sfx-c--cta .sfx-c__link .ic{background:var(--sf-ink);color:#fff}
@media(max-width:600px){.sfh .sfx-c--cta{display:none}}
.sfh .doodle,
.sfh .doodle svg{rotate:0deg}
.sfh .doodle{transform-origin:center}
/* Showcase kayak con contenuti reali */
.sfh .se-gear--kayak-showcase{
  background:#fff;
  padding-block:clamp(4rem,7vw,7rem);
}
.sfh .se-gear--kayak-showcase > .wrap{
  width:min(1180px,calc(100% - 2rem));
  max-width:1180px;
}
.sfh .se-kayak{
  display:grid;
  grid-template-columns:minmax(620px,1.18fr) minmax(380px,.82fr);
  gap:clamp(1.25rem,2vw,1.8rem);
  align-items:stretch;
  justify-content:center;
}
.sfh .se-kayak__main-head h2{
  font-family:var(--sf-head,"Archivo",sans-serif);
  line-height:.88;
  text-transform:uppercase;
  color:#fff;
  margin:.45rem 0 1rem;
  letter-spacing:-.02em;
  overflow-wrap:normal;
}
.sfh .se-kayak__main-head p{font-size:1.04rem;line-height:1.65;color:#fff;margin:0;max-width:27rem;}
.sfh .se-kayak__icons{grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:.4rem}
.sfh .se-kayak__icons span{
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:.68rem;
  line-height:1.15;
  text-transform:uppercase;
  font-weight:800;
  color:#bfeef7;
}
.sfh .se-kayak__main{
  min-height:clamp(560px,42vw,760px);
  border-radius:20px;
  overflow:hidden;
  padding:clamp(1.5rem,3vw,2.6rem);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  background:
    linear-gradient(90deg,rgba(2,22,28,.78),rgba(2,22,28,.08) 58%,rgba(2,22,28,.42)),
    url("/wp-content/uploads/2026/07/kayak-artic-water.png") center/cover no-repeat;
  box-shadow:0 28px 58px -34px rgba(20,32,26,.65);
}
.sfh .se-kayak__main-head,
.sfh .se-kayak__main-foot{max-width:28rem}
.sfh .se-kayak__main .lab{color:#F9B519}
.sfh .se-kayak__main h3{
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2.3rem,4vw,4rem);
  line-height:.95;
  text-transform:uppercase;
  color:#fff;
  margin:.3rem 0 .75rem;
}
.sfh .se-kayak__main-foot p{color:#fff;font-size:1.02rem;line-height:1.72;margin:0;}
.sfh .se-kayak__sidecol{display:grid;grid-template-rows:1fr 1fr;gap:clamp(1rem,2vw,1.5rem)}
.sfh .se-kayak__side{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(20,32,26,.1);
  border-radius:20px;
  background:#fff;
  padding:clamp(1.25rem,2.2vw,1.85rem);
  box-shadow:0 22px 48px -34px rgba(20,32,26,.42);
  display:flex;
  flex-direction:column;
}
.sfh .se-kayak__side h3{
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(1.55rem,2.6vw,2.2rem);
  text-transform:uppercase;
  line-height:1;
  margin:.15rem 0 .8rem;
  color:var(--sf-ink);
}
.sfh .se-kayak__side p{max-width:28rem;font-size:.95rem;line-height:1.6;color:var(--sf-text);margin:0 0 1rem}
.sfh .se-kayak__side-img{
  display:block;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 14px 16px rgba(20,32,26,.12));
}
.sfh .se-gear--sup-showcase .se-kayak__main{
  background:
    linear-gradient(90deg,rgba(2,22,28,.78),rgba(2,22,28,.1) 58%,rgba(2,22,28,.42)),
    url("/wp-content/uploads/2026/07/sup-windsupair-showcase.png") center/cover no-repeat;
}
.sfh .se-gear--sup-showcase .se-kayak__main-head p{
  max-width:31rem;
}
.sfh .se-gear--sup-showcase .se-kayak__main-foot{
  display:inline-flex;
  flex-direction:column;
  gap:.1rem;
  padding:1rem 1.2rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  background:rgba(10,65,80,.72);
  backdrop-filter:blur(12px);
}
.sfh .se-gear--sup-showcase .se-kayak__main-foot h3{font-size:clamp(1.5rem,2.5vw,2.4rem)}
.sfh .se-gear--sup-showcase .se-kayak__sidecol{grid-template-rows:1fr}
.sfh .se-gear--ebike-showcase .se-kayak__main{
  background:
    linear-gradient(90deg,rgba(2,22,28,.74),rgba(2,22,28,.08) 60%,rgba(2,22,28,.34)),
    url("/wp-content/uploads/2026/07/ebike-focus-showcase.png") center/cover no-repeat;
}
.sfh .se-gear--ebike-showcase .se-kayak__main-head p{
  max-width:34rem;
}
.sfh .se-gear--ebike-showcase .se-kayak__main-foot{
  display:inline-flex;
  flex-direction:column;
  gap:.1rem;
  padding:1rem 1.2rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  background:rgba(10,65,80,.72);
  backdrop-filter:blur(12px);
}
.sfh .se-gear--ebike-showcase .se-kayak__main-foot h3{font-size:clamp(1.5rem,2.5vw,2.4rem)}
.sfh .se-gear--ebike-showcase .se-kayak__sidecol{grid-template-rows:1fr}
.sfh .se-gear--ebike-showcase .se-kayak__side-img{
  width:min(180px,55%);
  height:auto;
  opacity:.9;
}
@media(max-width:1180px){
  .sfh .se-kayak{grid-template-columns:1fr}
  .sfh .se-gear--kayak-showcase > .wrap{width:min(900px,calc(100% - 2rem))}
  .sfh .se-kayak__main{min-height:520px}
}
.sf-page-noleggio .sfh-phero__bg{
  background-image:url("/wp-content/uploads/2026/07/noleggio-hero-staifuori.png");
  background-position:center 55%;
}
.sf-page-noleggio .doodle,
.sf-page-snorkeling .doodle{display:none}
.sf-page-noleggio .sfx-intro{
  background:#F9B519;
  color:var(--sf-ink);
}
.sf-page-noleggio .sfx-intro h2,
.sf-page-noleggio .sfx-intro p{color:var(--sf-ink)}
.sf-page-noleggio .sfx-list{
  background:#2D8FA9;
  color:#fff;
}
.sf-page-noleggio .sfx-list .lab,
.sf-page-noleggio .sfx-list h2,
.sf-page-noleggio .sfx-list p{color:#fff}
.sf-page-noleggio .sfx-qual{background:#399F68;color:#fff}
.sf-page-noleggio .sfx-qual__bg{display:none}
.sf-page-noleggio .sfx-qual::after{display:none}
.sf-page-noleggio .sfh-cta__bg,
.sf-page-noleggio .sfh-cta::after{display:none}
.sf-page-snorkeling .sn-price{
  isolation:isolate;
  overflow:hidden;
  background:#fffaf0;
  color:var(--sf-ink);
}
.sf-page-snorkeling .sn-price__head{position:relative;z-index:1}
.sf-page-snorkeling .sn-price .lab{color:#07566a}
.sf-page-snorkeling .sn-price h2{
  color:#07465b;
  font-size:clamp(2.5rem,5.3vw,4.8rem);
  line-height:.95;
}
.sf-page-snorkeling .sn-price__c>b{
  color:#07566a;
  border-bottom:1px solid rgba(225,169,75,.45);
  background:transparent;
  border-radius:0;
  padding:.2rem 0 .9rem;
}
.sf-page-snorkeling .sn-price__row b{
  min-width:112px;
  background:#07566a;
  color:#fff;
  border:2px solid rgba(225,169,75,.55);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.16);
}
.sf-page-snorkeling .sn-note{
  position:relative;
  z-index:1;
  color:var(--sf-ink);
}
.sfh .se-kayak__main{
  background-image:
    linear-gradient(90deg,rgba(2,22,28,.9),rgba(2,22,28,.35) 56%,rgba(2,22,28,.58)) ,
    url("/wp-content/uploads/2026/07/kayak-artic-water.png");
}
.sfh .se-gear--sup-showcase .se-kayak__main{
  background-image:
    linear-gradient(90deg,rgba(2,22,28,.92),rgba(2,22,28,.44) 58%,rgba(2,22,28,.62)),
    url("/wp-content/uploads/2026/07/sup-windsupair-showcase.png");
}
.sfh .se-gear--ebike-showcase .se-kayak__main{
  background-image:
    linear-gradient(90deg,rgba(2,22,28,.86),rgba(2,22,28,.34) 58%,rgba(2,22,28,.54)),
    url("/wp-content/uploads/2026/07/ebike-focus-showcase.png");
}
.sfh .se-kayak__main-head{
  max-width:33rem;
  padding:.2rem .2rem;
}
.sfh .se-kayak__main-head h2{
  font-size:clamp(2.7rem,4.6vw,4.6rem);
  text-shadow:0 4px 24px rgba(0,0,0,.72);
}
.sfh .se-kayak__main-head p,
.sfh .se-kayak__main-foot p{
  text-shadow:0 3px 18px rgba(0,0,0,.78);
}
.sfh .se-kayak__side{
  justify-content:flex-start;
  gap:clamp(1rem,2vw,1.6rem);
}
.sfh .se-kayak__side-img{
  width:min(360px,92%);
  height:clamp(190px,18vw,285px);
  margin:auto auto 0;
}
.sfh .se-kayak__icons{display:none}
.sfh .se-wire h2{margin-top:0}
.sfh .se-gear--sup-showcase .se-kayak__side:only-child,
.sfh .se-gear--ebike-showcase .se-kayak__side:only-child{min-height:100%}
.sfh .se-gear--sup-showcase .se-kayak__side:only-child p,
.sfh .se-gear--ebike-showcase .se-kayak__side:only-child p{max-width:36rem}
.sfh .se-gear--sup-showcase .se-kayak__side:only-child .se-kayak__side-img,
.sfh .se-gear--ebike-showcase .se-kayak__side:only-child .se-kayak__side-img{
  width:min(430px,92%);
  height:clamp(230px,22vw,340px);
}
@media(max-width:780px){
  .sf-wire-note h2{white-space:normal}
  .sf-page-snorkeling .sn-price::before{opacity:.2;width:100%;clip-path:none}
  .sfh .se-kayak__main{min-height:520px}
}
.sfh .doodle{
  position:absolute;
  z-index:0;
  pointer-events:none;
  display:block;
}
.sfh .sec > .wrap{position:relative;z-index:1}
.sf-page-noleggio .sfh-phero .torn path{fill:#F9B519}
.sf-page-noleggio .sfh-phero__title.knock,
.sf-page-kayak .sfh-phero__title.knock,
.sf-page-snorkeling .sfh-phero__title.knock,
.sf-page-sup .sfh-phero__title.knock,
.sf-page-ebike .sfh-phero__title.knock{
  background:none;
  -webkit-background-clip:border-box;
  background-clip:border-box;
  -webkit-text-fill-color:#fff;
  color:#fff;
  filter:none;
  text-shadow:0 4px 28px rgba(0,0,0,.78);
}
.sf-page-noleggio .sfh-cta{background:#399F68}
.sfh .sn-price{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#fffaf0;
  color:var(--sf-ink);
}
.sfh .sn-price::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:min(28vw,380px);
  background:url("/wp-content/uploads/2026/07/noleggio-listino-mare.png") center/cover no-repeat;
  clip-path:polygon(0 0,76% 0,62% 18%,78% 34%,60% 52%,74% 70%,58% 100%,0 100%);
  opacity:.76;
  z-index:-1;
}
.sfh .sn-price__head{position:relative;z-index:1;margin-bottom:2rem}
.sfh .sn-price .lab{color:#07566a}
.sfh .sn-price h2{
  color:#07465b;
  font-size:clamp(2.45rem,5.1vw,4.6rem);
  line-height:.95;
}
.sfh .sn-price__grid{
  position:relative;
  z-index:1;
  align-items:start;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.15rem;
}
.sfh .sn-price__c{
  align-self:start;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(225,169,75,.25);
  box-shadow:0 28px 70px -42px rgba(20,32,26,.5);
}
.sfh .sn-price__c>b{
  display:block;
  min-height:0;
  padding:.15rem 0 .85rem;
  margin:0;
  border:0;
  border-bottom:1px solid rgba(225,169,75,.45);
  border-radius:0;
  background:transparent;
  color:#07566a;
  line-height:1.35;
}
.sfh .sn-price__row{
  display:grid;
  align-items:center;
  gap:1.2rem;
  border-bottom:1px solid rgba(225,169,75,.28);
}
.sfh .sn-price__row:last-child{border-bottom:0}
.sfh .sn-price__row span{font-size:1rem;color:var(--sf-text)}
.sfh .sn-price__row b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.46rem .9rem;
  border-radius:999px;
  background:#07566a;
  color:#fff;
  border:2px solid rgba(225,169,75,.55);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.16);
}
.sfh .sn-note{position:relative;z-index:1;color:var(--sf-ink)}
.sf-page-noleggio .sfx-list .sfx-c{
  min-height:0;
  display:flex;
  flex-direction:column;
}
.sf-page-noleggio .sfx-list .sfx-c__img{height:260px}
.sf-page-noleggio .sfx-list .sfx-c__body{
  min-height:220px;
  justify-content:flex-start;
}
.sf-page-noleggio .sfx-list .sfx-c__body p{
  display:block;
  margin:.45rem 0 auto;
  color:#5d655f;
  font-size:.96rem;
  line-height:1.55;
}
.sf-page-contatti .sfh > section.sec:has(.ct-grid){
  background:#fffaf0;
  padding-block:clamp(4rem,7vw,6.5rem);
}
.sf-page-contatti .sfh > section.sec:has(.ct-grid) > .wrap{
  display:grid;
  grid-template-columns:minmax(310px,.45fr) minmax(0,.9fr);
  gap:clamp(1.5rem,3vw,2.5rem);
  align-items:stretch;
  max-width:1240px;
  padding:clamp(1.4rem,2.5vw,2rem);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(225,169,75,.18);
  border-radius:28px;
  box-shadow:0 14px 40px -34px rgba(20,32,26,.34); /* contenuta: non deve arrivare sullo strappo della foto sotto */
}
.sf-page-contatti .ct-grid{
  grid-template-columns:1fr;
  gap:0;
  margin:0;
  max-width:none;
}
.sf-page-contatti .ct-c{
  box-shadow:none;
  border:0;
  border-bottom:1px solid rgba(225,169,75,.28);
  border-radius:0;
  background:transparent;
  grid-template-columns:64px 1fr;
  padding:1.1rem 0;
}
.sf-page-contatti .ct-c .ic{
  width:52px;
  height:52px;
  border-radius:50%;
  background:#f3ead8;
  color:#07566a;
}
.sf-page-contatti .ct-map{
  margin:0;
  border-radius:24px;
  min-height:520px;
}
.sf-page-contatti .ct-map iframe{height:100%;min-height:520px}
.sf-page-contatti .ct-photo{
  background-image:url("/wp-content/uploads/2026/07/contatti-base-riva.png");
  background-position:center 55%;
}
.sf-page-contatti .ct-photo::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  z-index:4;
  height:34px;
  pointer-events:none;
  background:#399F68; /* = .sf-contact, la sezione che segue */
  clip-path:polygon(0 42%,3.5% 28%,7.5% 46%,12.5% 22%,18% 44%,23.5% 26%,30% 45%,36% 30%,43% 48%,50% 28%,56% 46%,63% 24%,70% 43%,77% 29%,84% 46%,91% 25%,96.5% 42%,100% 31%,100% 100%,0 100%);
}
.sf-page-ebike .se-gear{background:#fff}
.sf-page-ebike .se-gear__grid{
  max-width:980px;
  margin-inline:auto;
  grid-template-columns:1fr;
}
.sf-page-ebike .se-gear__c{
  min-height:520px;
  padding:clamp(1.7rem,3vw,2.7rem);
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(280px,.65fr);
  align-items:end;
  gap:1.5rem;
  color:#fff;
  border:0;
  border-radius:24px;
  background:
    linear-gradient(90deg,rgba(2,22,28,.78),rgba(2,22,28,.34) 58%,rgba(2,22,28,.58)),
    url("/wp-content/uploads/2026/07/ebike-focus-showcase.png") center/cover no-repeat;
}
.sf-page-ebike .se-gear__c::before{display:none}
.sf-page-ebike .se-gear__ic{
  grid-column:2;
  grid-row:1 / span 2;
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:contain;
  align-self:end;
  background:transparent;
  padding:0;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.28));
}
.sf-page-ebike .se-gear__c b,
.sf-page-ebike .se-gear__c p{
  grid-column:1;
  color:#fff;
  text-shadow:0 3px 18px rgba(0,0,0,.7);
}
@media(max-width:980px){
  .sf-page-contatti .sfh > section.sec:has(.ct-grid) > .wrap,
  .sf-page-ebike .se-gear__c{grid-template-columns:1fr}
  .sf-page-ebike .se-gear__c,
  .sf-page-ebike .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__c{
    grid-template-columns:1fr;
    min-height:0;
    align-items:start;
  }
  .sf-page-ebike .se-gear__ic,
  .sf-page-ebike .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__ic{
    grid-column:1;
    grid-row:auto;
    width:min(320px,100%);
    height:auto;
    max-height:260px;
    justify-self:center;
  }
  .sf-page-ebike .se-gear__c b,
  .sf-page-ebike .se-gear__c p{
    grid-column:1;
  }
}
@media(max-width:640px){
  .sfh .sn-price::before{opacity:.18;width:100%;clip-path:none}
}
.sf-page-snorkeling .se-gear__head{display:none}
.sf-page-snorkeling .se-gear__grid{
  max-width:1180px;
  margin-inline:auto;
  grid-template-columns:1fr;
}
.sf-page-snorkeling .se-gear__c{
  display:grid;
  gap:clamp(2rem,4vw,4rem);
  min-height:0;
  border:1px solid rgba(45,143,169,.32);
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 70px -46px rgba(20,32,26,.45);
}
.sf-page-snorkeling .se-gear__c::before{display:none}
.sf-page-snorkeling .se-gear__ic{
  content:url("/wp-content/uploads/2026/07/noleggio-snorkeling-mask.png");
  grid-column:1;
  grid-row:1 / span 3;
  padding:0;
  background:#eaf7f8;
  filter:none;
}
.sf-page-snorkeling .se-gear__c b{
  grid-column:2;
  align-self:end;
  padding:0 0 1.2rem;
  margin:0;
  border-bottom:1px solid rgba(225,169,75,.34);
  color:var(--sf-ink);
  line-height:1.02;
}
.sf-page-snorkeling .se-gear__c b::before{
  content:"Attrezzatura";
  display:block;
  margin:0 0 1.1rem;
  color:#2D8FA9;
  font-family:var(--sf-body,"Montserrat",sans-serif);
  font-size:.78rem;
  line-height:1;
  letter-spacing:.16em;
}
.sf-page-snorkeling .se-gear__c p{
  grid-column:2;
  max-width:36rem;
  padding:0;
  color:var(--sf-text);
  font-size:1.08rem;
  line-height:1.7;
}
.sf-page-sup .se-gear__grid{
  margin-inline:auto;
  grid-template-columns:1fr;
}
.sf-page-sup .se-gear__c{
  display:grid;
  align-items:center;
  gap:1.6rem;
  min-height:0;
  overflow:hidden;
}
.sf-page-sup .se-gear__ic{
  height:300px;
  width:100%;
  padding:2rem;
  margin:0;
  border-radius:20px 0 0 20px;
}
.sf-page-sup .se-gear__c b,
.sf-page-sup .se-gear__c p{
  padding-right:2rem;
}
.sfh .sfh-phero__in,
.sfh .sfh-hero__in{background:transparent;box-shadow:none;backdrop-filter:none}
.sfh .sfh-phero__in::before,
.sfh .sfh-hero__in::before,
.sf-page-noleggio .sfh-phero__in::before{
  display:none;
  content:none;
}
.sfh .sfh-phero__title,
.sfh .sfh-phero__title.knock,
.sfh .sfh-hero__title,
.sfh .sfh-hero__title.knock{
  display:block;
  box-shadow:none;
  text-shadow:0 4px 24px rgba(0,0,0,.78);
}
.sfh .sfh-phero__title:not(.knock),
.sfh .sfh-hero__title:not(.knock){
  background:none;
  -webkit-background-clip:border-box;
  background-clip:border-box;
  -webkit-text-fill-color:#fff;
  color:#fff;
  filter:none;
}
body:not(.home) .sfh .sfh-phero__title.knock,
body:not(.home) .sfh .sfh-hero__title.knock{
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:#fff;
  color:#fff;
  filter:none;
}
.sfh .sfh-phero__bg::after,
.sfh .sfh-hero__bg::after{
  background:
    linear-gradient(90deg,rgba(11,23,26,.58),rgba(11,23,26,.22) 54%,rgba(11,23,26,.08)),
    linear-gradient(180deg,rgba(11,23,26,.08),rgba(11,23,26,.62));
}
.sf-page-snorkeling .sn-price__c{padding:1.15rem 1.55rem}
.sf-page-snorkeling .sn-price__row{min-height:3.35rem;padding:.55rem 0}
.sf-page-snorkeling .se-gear__c{
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.88fr);
  padding:clamp(1.2rem,2.4vw,1.9rem);
}
.sf-page-snorkeling .se-gear__c b{
  font-size:0;
}
.sf-page-snorkeling .se-gear__c b::after{
  content:"La maschera Ocean Reef";
  display:block;
  color:var(--sf-ink);
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2rem,3vw,2.85rem);
  line-height:1.02;
  text-transform:uppercase;
}
.sf-page-snorkeling .se-gear__c p::before{
  content:"Maschera Ocean Reef Aria QR+";
  display:block;
  margin:0 0 .9rem;
  color:#2D8FA9;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:1.28rem;
  line-height:1.15;
  text-transform:uppercase;
  font-weight:800;
}
.sf-page-sup .se-gear__ic{
  object-fit:contain;
  background:#fff;
  box-shadow:none;
}
.sf-wire-note .wrap,
.sfh .se-wire .wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.sf-wire-note .lab,
.sfh .se-wire .lab{margin-bottom:.35rem}
.home .sfh .sfh-hero__title,
.sf-page-home .sfh .sfh-hero__title{
  background-image:url("/wp-content/uploads/2023/03/foto_54-scaled.jpg");
  background-size:130% auto;
  background-position:center 4%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  filter:drop-shadow(0 8px 30px rgba(0,0,0,.82)) contrast(1.05);
  text-shadow:none;
}
.sf-page-kayak .sfh .se-gal__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:clamp(180px,16vw,260px);
  gap:.9rem;
}
.sf-page-snorkeling .sfh .se-gal__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-auto-rows:clamp(170px,14vw,240px);
  gap:.9rem;
}
.sf-page-sup .sfh .se-gal__grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:clamp(155px,13vw,230px);
  gap:.9rem;
}
.sf-page-kayak .sfh .se-gal__grid a,
.sf-page-snorkeling .sfh .se-gal__grid a,
.sf-page-sup .sfh .se-gal__grid a{
  grid-column:auto;
  grid-row:auto;
  width:auto;
  height:100%;
  aspect-ratio:auto;
  background-size:cover;
  background-position:center;
}
.sf-page-sup .sfh .se-gal__grid a:nth-child(-n+4){grid-column:span 3}
.sf-page-sup .sfh .se-gal__grid a:nth-child(n+5){grid-column:span 4}
.sf-page-snorkeling .sfh .sn-price::after,
.sf-page-sup .sfh .sn-price::after{
  content:"";
  position:absolute;
  left:clamp(8rem,18vw,22rem);
  top:clamp(3rem,7vw,6rem);
  width:clamp(110px,12vw,190px);
  aspect-ratio:3/1;
  background:var(--sf-bb-waves) center/contain no-repeat;
  opacity:.18;
  z-index:0;
  pointer-events:none;
}
/* :not(.doodle) e' necessario: i doodle sono figli diretti della sezione e vanno
   lasciati assoluti. Con "> *" secco diventavano relativi, entravano nel flusso
   e spingevano il contenuto di 172px. */
.sf-page-snorkeling .sfh .sn-price > *:not(.doodle),
.sf-page-sup .sfh .sn-price > *:not(.doodle){position:relative;z-index:1}
.sf-page-kayak .sfh .se-gear__head{display:none}
.sf-page-kayak .sfh .se-gear,
.sf-page-sup .sfh .se-gear{background:#fff}
.sf-page-kayak .sfh .se-gear__grid{
  display:grid;
  grid-template-columns:minmax(520px,1.08fr) minmax(360px,.82fr);
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  gap:1.15rem;
  max-width:1080px;
  height:620px;
  margin-inline:auto;
}
.sf-page-kayak .sfh .se-gear__c{
  min-height:0;
  height:100%;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 22px 48px -34px rgba(20,32,26,.42);
}
.sf-page-kayak .sfh .se-gear__c:first-child{
  grid-row:1 / span 2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.8rem;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(2,22,28,.88),rgba(2,22,28,.36) 66%,rgba(2,22,28,.1)),
    url("/wp-content/uploads/2026/07/kayak-artic-water.png") center/cover no-repeat;
}
.sf-page-kayak .sfh .se-gear__c:first-child::before{
  content:"Attrezzatura\A I nostri kayak";
  white-space:pre-line;
  color:#fff;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2.4rem,3.5vw,3.75rem);
  line-height:.96;
  text-transform:uppercase;
  font-weight:900;
}
.sf-page-kayak .sfh .se-gear__c:first-child .se-gear__ic{display:none}
.sf-page-kayak .sfh .se-gear__c:first-child b{
  padding:0;
  color:#fff;
  font-size:clamp(2.35rem,3.7vw,3.9rem);
}
.sf-page-kayak .sfh .se-gear__c:first-child p{
  padding:0;
  max-width:23rem;
  color:#fff;
  font-size:.96rem;
  line-height:1.55;
}
.sf-page-kayak .sfh .se-gear__c:not(:first-child){
  display:flex;
  flex-direction:column;
  padding:1.35rem 1.45rem 1.2rem;
  background:#fff;
}
.sf-page-kayak .sfh .se-gear__c:not(:first-child) .se-gear__ic{
  order:3;
  width:min(295px,86%);
  height:clamp(82px,7vw,120px);
  margin:auto auto 0;
  padding:0;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 14px 16px rgba(20,32,26,.12));
}
.sf-page-kayak .sfh .se-gear__c:not(:first-child) b,
.sf-page-kayak .sfh .se-gear__c:not(:first-child) p{padding:0}
.sf-page-sup .sfh .se-gear__grid{
  margin-inline:auto;
  grid-template-columns:1fr;
}
.sf-page-sup .sfh .se-gear__c{
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:clamp(2rem,4vw,4rem);
  align-items:center;
  min-height:0;
  border:1px solid rgba(45,143,169,.25);
  background:#fff;
}
.sf-page-sup .sfh .se-gear__ic{
  grid-column:1;
  width:100%;
  height:clamp(350px,32vw,500px);
  padding:0;
  object-fit:contain;
  background:#fff;
  border-radius:18px;
}
.sf-page-sup .sfh .se-gear__c b,
.sf-page-sup .sfh .se-gear__c p{
  grid-column:2;
  padding:0;
}
@media(max-width:900px){
  .sf-page-summercamp .sfh .se-notes .wrap,
  .sf-page-kayak .sfh .se-gear__grid,
  .sf-page-sup .sfh .se-gear__c{grid-template-columns:1fr;height:auto}
  .sf-page-kayak .sfh .se-gear__c:first-child{min-height:430px}
  .sf-page-sup .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__c{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  .sf-page-sup .sfh .se-gear__ic,
  .sf-page-sup .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__ic{
    grid-column:1;
    grid-row:auto;
    width:100%;
    height:clamp(220px,58vw,300px);
    border-radius:18px 18px 0 0;
  }
  .sf-page-sup .sfh .se-gear__c b,
  .sf-page-sup .sfh .se-gear__c p{grid-column:1}
  .sf-page-snorkeling .sfh .se-gal__grid,
  .sf-page-kayak .sfh .se-gal__grid{grid-template-columns:1fr 1fr}
  .sf-page-sup .sfh .se-gal__grid{grid-template-columns:1fr 1fr}
  .sf-page-sup .sfh .se-gal__grid a{grid-column:auto}
}
.sf-page-kayak .sfh .se-gal__grid:has(> a:nth-child(6):last-child) > a{
  grid-column:auto;
  grid-row:auto;
  width:auto;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
}
.sf-page-snorkeling .sfh .se-gal__grid:has(> a:nth-child(5):last-child) > a{
  grid-column:auto;
  grid-row:auto;
  width:auto;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
}
.sf-page-sup .sfh .se-gal__grid:has(> a:nth-child(7):last-child) > a{
  grid-row:auto;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
}
@media (min-width:1024px){
  .home .sfh .sfh-hero,
  .sf-page-home .sfh .sfh-hero{
    min-height:calc(100vh - 92px);
  }
  .home .sfh .sfh-hero__title,
  .sf-page-home .sfh .sfh-hero__title{
    font-size:clamp(8rem,20vw,18rem);
    line-height:.78;
  }
  .home .sfh .sfh-hero__sub,
  .sf-page-home .sfh .sfh-hero__sub{
    font-family:var(--sf-body,"Montserrat",sans-serif);
    font-size:clamp(1.08rem,1.35vw,1.38rem);
    line-height:1.25;
    font-weight:700;
    max-width:44rem;
    margin-top:.85rem;
  }
}
.sfh .sfh-phero{
  min-height:calc(100vh - 92px);
  align-items:flex-end;
}
.sfh .sfh-phero__in{
  padding-bottom:clamp(3.2rem,8vh,6.6rem);
}
.sfh .sfh-phero__title,
.sfh .sfh-phero__title.knock,
.sfh .sfh-phero__sub{
  background-color:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
}
.sfh .sfh-phero__title,
.sfh .sfh-phero__title.knock{
  display:block;
  width:auto;
  max-width:min(15.5ch,100%);
  text-wrap:balance;
}
@media (max-width:480px){
  .sfh .sfh-phero__title,
  .sfh .sfh-phero__title.knock{
    max-width:min(16ch,100%);
    font-size:clamp(2rem,10vw,2.8rem);
    line-height:.96;
  }
  .sfh .sfh-phero__sub,
  .sfh .sfh-hero__sub,
  .sfh .lead{
    line-height:1.45;
    text-wrap:pretty;
  }
  .sfh .sec h2,
  .sfh .sn-intro h2,
  .sfh .se-intro h2,
  .sfh .se-book h2,
  .sfh .se-gal__head h2,
  .sfh .se-gear__head h2,
  .sfh .sn-price__head h2,
  .sfh .sn-hours__head h2,
  .sfh .sfx-faq__head h2{
    font-size:clamp(1.65rem,7.4vw,2.15rem);
    line-height:1.04;
  }
  .sfh .se-gal__head h2,
  .sfh .se-gear__head h2,
  .sfh .sn-price__head h2,
  .sfh .sn-hours__head h2,
  .sfh .sfx-faq__head h2{
    white-space:nowrap;
  }
}
.sf-page-snorkeling .sfh-phero__bg{
  background-image:url("/wp-content/uploads/2023/03/OI000029-scaled.jpg");
  background-position:center 52%;
}
.sf-page-contatti .sfh-phero__bg{
  background-image:url("/wp-content/uploads/2026/07/fotoA_migliorata_definizione.jpg");
  background-position:center 48%;
}
.sfh .se-gear--sup-showcase .se-kayak__side{
  justify-content:flex-start;
}
.sf-page-snorkeling .se-gear__c{
  overflow:hidden;
}
.sf-page-snorkeling .se-gear__ic{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  margin:0;
  border-radius:0;
  box-shadow:none;
}
.sfh .sn-price__grid{
  max-width:880px;
  margin-inline:auto;
}
.sfh .sn-price__c{
  padding:1.45rem 1.65rem;
}
.sfh .sn-price__row{
  grid-template-columns:minmax(0,1fr) auto;
  min-height:3.05rem;
  padding:.55rem 0;
}
.sfh .sn-price__row b{
  min-width:96px;
}
.sf-page-ebike .sn-price__grid{
  max-width:1120px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
/* Contatti */
.sf-contact{
  background:#399F68;
  padding:clamp(3.8rem,6vw,6rem) clamp(1.25rem,4vw,2.5rem);
}
.sf-contact__in{max-width:640px;margin:0 auto;text-align:center}
.sf-contact .sf-contact__title{font-family:var(--sf-head,"Archivo",sans-serif);font-weight:800;font-size:clamp(2.2rem,4.8vw,4rem);text-transform:uppercase;letter-spacing:0;color:#fff;margin:0 0 1rem;line-height:.96}
.sf-contact__intro{color:rgba(255,255,255,.88);font-size:1rem;line-height:1.6;margin:0 auto 2rem;max-width:46ch}
.sf-contact__ok{background:rgba(59,159,105,.2);border:1px solid #3B9F69;border-radius:12px;padding:1.2rem;color:#fff}
.sf-contact__error{background:rgba(225,169,75,.16);border:1px solid #E1A94B;border-radius:12px;padding:1.2rem;color:#fff}
.sf-form{display:flex;flex-direction:column;gap:.9rem;text-align:left}
.sf-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.sf-form input,.sf-form textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.85rem 1rem;color:#fff;font-family:var(--sf-body,"Montserrat",sans-serif);font-size:.95rem}
.sf-form input::placeholder,.sf-form textarea::placeholder{color:#8b968a}
.sf-form input:focus,.sf-form textarea:focus{outline:2px solid #E1A94B;border-color:transparent}
.sf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sf-form__privacy{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.7rem;align-items:flex-start;color:rgba(255,255,255,.86);font-size:.86rem;line-height:1.45}
.sf-form__privacy input{width:18px;height:18px;margin:.12rem 0 0;padding:0;accent-color:#E1A94B;flex:0 0 auto}
.sf-form__privacy a{text-decoration:underline;text-underline-offset:2px;color:#fff}
.sf-form__btn{margin-top:.5rem;background:#E1A94B;color:#182019;font-family:var(--sf-head,"Archivo",sans-serif);font-weight:800;border:0;border-radius:999px;padding:.95rem 2rem;font-size:.9rem;text-transform:none;cursor:pointer;transition:transform .2s,box-shadow .2s}
.sf-form__btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(225,169,75,.35)}
.ct-c .ic{
  background:#FCFAF5;
  border-radius:50%;
  overflow:hidden;
}
.ct-c .ic img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
/* Modal prenota: logo intero e chiusura centrata */
#sf-prenota img,
[id*="prenota"] img{
  max-height:84px;
  width:auto;
  object-fit:contain;
}
#sf-prenota button[aria-label*="Chiudi"],
#sf-prenota .close,
#sf-prenota [class*="close"],
[id*="prenota"] button[aria-label*="Chiudi"],
[id*="prenota"] [class*="close"]{
  display:grid;
  place-items:center;
  line-height:1;
  text-align:center;
}
@media(max-width:1180px){
  .sfh .sfh-phero{min-height:72vh}
  .sf-page-ebike .sn-price__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .home .sfh .sfh-hero__cta .btn,
  .sf-page-home .sfh .sfh-hero__cta .btn{
    width:100%;
  }
  .sf-form__row{
    grid-template-columns:1fr;
  }
  .sf-page-ebike .sn-price__grid{
    grid-template-columns:1fr;
  }
}
@media (min-width:1024px) and (max-height:850px){
  .home .sfh .sfh-hero__title,
  .sf-page-home .sfh .sfh-hero__title{
    font-size:clamp(6.6rem,16.4vw,13.7rem);
    line-height:.78;
  }
  .home .sfh .sfh-hero__sub,
  .sf-page-home .sfh .sfh-hero__sub{
    margin-top:.65rem;
    line-height:1.18;
  }
  .home .sfh .sfh-hero__cta,
  .sf-page-home .sfh .sfh-hero__cta{
    margin-top:.65rem;
    transform:none;
  }
  .home .sfh .sfh-hero::before,
  .sf-page-home .sfh .sfh-hero::before{
    bottom:.25rem;
  }
}
@media (min-width:1024px) and (max-height:760px){
  .home .sfh .sfh-hero__title,
  .sf-page-home .sfh .sfh-hero__title{
    font-size:clamp(6.6rem,16vw,13rem);
  }
  .home .sfh .sfh-hero__cta,
  .sf-page-home .sfh .sfh-hero__cta{
    margin-top:.9rem;
  }
}
.sf-contact form input,
.sf-contact form textarea,
.sf-contact .wpcf7 input,
.sf-contact .wpcf7 textarea,
.sf-contact input,
.sf-contact textarea{
  color:#fff;
  background:rgba(255,255,255,.16);
  border:1.5px solid rgba(255,255,255,.48);
  box-shadow:none;
}
.sf-contact form input::placeholder,
.sf-contact form textarea::placeholder,
.sf-contact .wpcf7 input::placeholder,
.sf-contact .wpcf7 textarea::placeholder,
.sf-contact input::placeholder,
.sf-contact textarea::placeholder{
  color:rgba(255,255,255,.82);
  opacity:1;
}
.sf-contact form input:focus,
.sf-contact form textarea:focus,
.sf-contact .wpcf7 input:focus,
.sf-contact .wpcf7 textarea:focus,
.sf-contact input:focus,
.sf-contact textarea:focus{
  background:rgba(255,255,255,.22);
  border-color:#fff;
  outline:0;
}
.sf-contact .wpcf7-not-valid-tip,
.sf-contact label{
  color:#fff;
}
/* WIRE standard: stessa sezione su experience e noleggi */
.sfh section.sec.se-wire,
.sfh .se-wire,
.sf-wire-note{
  background:#2D8FA9;
  color:#fff;
  min-height:clamp(260px,22vw,340px);
  display:flex;
  align-items:center;
  padding:0;
  padding-block:0;
}
.sfh .se-wire__bg,
.sfh .se-wire::before,
.sfh .se-wire::after,
.sf-wire-note__bg,
.sf-wire-note::before,
.sf-wire-note::after{
  display:none;
}
.sfh .se-wire__in,
.sf-wire-note__in{
  width:min(960px,calc(100% - 2rem));
  max-width:960px;
  margin-inline:auto;
  padding-block:clamp(2.35rem,4vw,3.35rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:0;
}
.sfh .se-wire .lab,
.sf-wire-note__eyebrow{
  margin:0 0 .55rem;
  color:#fff;
  justify-content:center;
}
.sfh .se-wire .lab b,
.sf-wire-note__eyebrow::before{
  background:#F9B519;
}
.sfh .se-wire h2,
.sf-wire-note h2{
  color:#fff;
  margin:0 0 .65rem;
  max-width:none;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(2rem,3.35vw,3.1rem);
  line-height:.95;
  text-align:center;
}
.sfh .se-wire p,
.sf-wire-note p{
  color:#fff;
  margin:0 auto;
  max-width:68ch;
  font-size:clamp(1rem,1.18vw,1.13rem);
  line-height:1.48;
  text-align:center;
}
@media (min-width:1024px){
  .sfh .sfh-phero{
    min-height:calc(100svh - 92px);
  }
}
.sfh .sfh-phero__title,
.sfh .sfh-phero__title.knock{
  background-color:transparent;
  box-shadow:none;
  padding:0;
}
/* Home hero: impatto su desktop piccoli, bottoni uguali, scroll non sovrapposto */
@media (min-width:1024px) and (max-width:1480px){
  .home .sfh .sfh-hero__title,
  .sf-page-home .sfh .sfh-hero__title{
    font-size:clamp(8.2rem,18vw,15.5rem);
    line-height:.76;
  }
  .home .sfh .sfh-hero__sub,
  .sf-page-home .sfh .sfh-hero__sub{
    font-family:var(--sf-head,"Archivo",sans-serif);
    line-height:1.18;
    max-width:52rem;
    margin-top:.7rem;
  }
}
.home .sfh .sfh-hero::before,
.sf-page-home .sfh .sfh-hero::before{
  bottom:clamp(1.3rem,3.1vh,2.2rem);
}
/* Listing noleggio: niente card vuote */
.sfh .sfx-list .sfx-c,
.sfh .sfx-grid > .sfx-c{
  min-height:0;
}
.sfh .sfx-list .sfx-c__body,
.sfh .sfx-grid > .sfx-c .sfx-c__body{
  min-height:0;
  padding:1.35rem 1.35rem 1.45rem;
  display:flex;
  flex-direction:column;
}
.sfh .sfx-list .sfx-c__body p:empty,
.sfh .sfx-grid > .sfx-c .sfx-c__body p:empty{
  display:none;
}
.sfh .sfx-list .sfx-c__link,
.sfh .sfx-grid > .sfx-c .sfx-c__link{
  margin-top:1rem;
}
@media (min-width:901px){
  .sf-page-experience .sfh .sfx-list .sfx-grid > .sfx-c .sfx-c__body h3{
    min-height:2.8rem;
    margin-bottom:.55rem;
  }
  .sf-page-experience .sfh .sfx-list .sfx-grid > .sfx-c .sfx-c__body p{
    min-height:5.05rem;
    margin-bottom:1.2rem;
  }
  .sf-page-experience .sfh .sfx-list .sfx-grid > .sfx-c .sfx-c__link{
    margin-top:auto;
  }
}
/* Kayak equipment: sinistra alta quanto le due card, immagini sotto al testo e non tagliate */
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak{
  width:min(1120px,calc(100% - 2rem));
  max-width:1120px;
  grid-template-columns:minmax(540px,1.1fr) minmax(390px,.82fr);
  gap:1.25rem;
  height:clamp(720px,54vw,800px);
  align-items:stretch;
}
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__main{
  height:100%;
  min-height:0;
  padding:2rem;
}
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__sidecol{
  height:100%;
  min-height:0;
  grid-template-rows:1fr 1fr;
  gap:1.25rem;
}
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__side{
  min-height:0;
  height:auto;
  padding:1.6rem 1.55rem;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__side h3{
  font-size:clamp(1.45rem,2.1vw,2rem);
  line-height:1.02;
  margin:.2rem 0 .75rem;
}
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__side p{
  font-size:.9rem;
  line-height:1.46;
  margin:0 0 .9rem;
}
.sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__side-img{
  position:static;
  display:block;
  width:min(340px,92%);
  height:clamp(128px,9vw,170px);
  object-fit:contain;
  object-position:center;
  margin:auto auto 0;
  transform:none;
}
@media(max-width:1180px){
  .sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak{
    height:auto;
    grid-template-columns:1fr;
  }
  .sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__main{
    min-height:520px;
  }
  .sfh .se-gear--kayak-showcase:not(.se-gear--sup-showcase):not(.se-gear--ebike-showcase) .se-kayak__side{
    min-height:320px;
  }
}
/* Form contatti su verde: contrasto netto */
.sf-contact form input,
.sf-contact form textarea,
.sf-contact input,
.sf-contact textarea{
  color:#fff;
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.62);
}
.sf-contact form input::placeholder,
.sf-contact form textarea::placeholder,
.sf-contact input::placeholder,
.sf-contact textarea::placeholder{
  color:#fff;
  opacity:.9;
}
/* Gallery final override: reset totale dei vecchi pattern, poi composizioni senza buchi */
.sfh .se-gal__grid[class*="se-gal__grid--count"]{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:clamp(.75rem,1.3vw,1rem);
}
.sfh .se-gal__grid[class*="se-gal__grid--count"] > a:nth-child(n){
  grid-column:span 2;
  grid-row:auto;
  aspect-ratio:4 / 3;
  height:auto;
  min-height:0;
}
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-1 > a:nth-child(n){
  grid-column:1 / -1;
}
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-2 > a:nth-child(n),
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-4 > a:nth-child(n){
  grid-column:span 3;
}
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-5 > a:nth-child(-n+3){
  grid-column:span 2;
}
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-5 > a:nth-child(n+4){
  grid-column:span 3;
}
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-7 > a:nth-child(-n+6){
  grid-column:span 2;
}
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--count-7 > a:nth-child(7),
.sfh .se-gal__grid[class*="se-gal__grid--count"].se-gal__grid--rem-1 > a:last-child:nth-child(n+7){
  grid-column:1 / -1;
  aspect-ratio:3 / 1;
}
@media(max-width:760px){
  .sfh .se-gal__grid[class*="se-gal__grid--count"]{
    grid-template-columns:1fr;
  }
  .sfh .se-gal__grid[class*="se-gal__grid--count"] > a:nth-child(n){
    grid-column:auto;
    aspect-ratio:4 / 3;
  }
}
.home .sfh .sfh-hero__cta,
.sf-page-home .sfh .sfh-hero__cta{
  left:auto;
  transform:none;
  width:auto;
  margin-inline:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(1.8rem,3.2vw,3rem);
}
.home .sfh .sfh-hero__cta .btn,
.sf-page-home .sfh .sfh-hero__cta .btn{
  position:relative;
  width:240px;
  min-width:240px;
  justify-content:center;
  text-align:center;
  padding-inline:1.35rem 3.2rem;
}
.home .sfh .sfh-hero__cta .btn .ic,
.sf-page-home .sfh .sfh-hero__cta .btn .ic{
  position:absolute;
  right:.72rem;
  top:50%;
  transform:translateY(-50%);
}
.home .sfh .sfh-hero::before,
.sf-page-home .sfh .sfh-hero::before{
  left:50%;
  transform:translateX(-50%);
  /* indicatore di scroll rimosso: era in posizione assoluta, quindi
     nascondendolo il resto della hero non si sposta di un pixel. */
  display:none;
}
@media(max-width:760px){
  .home .sfh .sfh-hero__cta,
  .sf-page-home .sfh .sfh-hero__cta{
    gap:.85rem;
  }
}
.sf-page-about .sfh-phero__bg{
  background-position:center 42%;
}
.sf-page-experience .sfh-phero,
.sfh .sfh-phero:has(.torn--b){
  min-height:100svh;
}
/* Hero seguita dalla banda info (durata/livello/lingue): la banda deve entrare
   nella prima schermata insieme alla hero, senza dover scorrere. Alla hero si
   tolgono quindi l'header (102px) e l'altezza della banda. La banda cambia
   altezza col contenuto della singola experience: i valori sono il caso
   peggiore misurato (65px in orizzontale, 108px sotto i 600px, 151px sotto i
   480px). Le pagine senza banda non sono toccate: le seleziona il :has(). */
.sfh .sfh-phero:has(+ .se-chips){
  --sf-banda:65px;      /* altezza della banda, caso peggiore per fascia */
  --sf-adminbar:0px;    /* barra di WordPress: c'e' solo per chi e' loggato */
  min-height:calc(100svh - 102px - var(--sf-banda) - var(--sf-adminbar) - 6px);
}
@media(max-width:760px){
  .sfh .sfh-phero:has(+ .se-chips){ --sf-banda:108px; }
}
@media(max-width:480px){
  .sfh .sfh-phero:has(+ .se-chips){ --sf-banda:151px; }
}
/* Da loggati WordPress sposta la pagina in basso (32px, 46px su schermi
   stretti): senza tenerne conto la banda rientra fuori schermo. */
body.admin-bar .sfh .sfh-phero:has(+ .se-chips){ --sf-adminbar:32px; }
@media(max-width:782px){
  body.admin-bar .sfh .sfh-phero:has(+ .se-chips){ --sf-adminbar:46px; }
}
.sfh .se-gear--sup-showcase .se-kayak__side{
  min-height:460px;
  display:flex;
  flex-direction:column;
}
.sf-page-ebike-tour .se-gear--ebike-showcase .se-ebike__side .lab{
  margin-bottom:.25rem;
}
.sf-page-ebike-tour .se-gear--ebike-showcase .se-ebike__side h3{
  margin-top:.15rem;
}
.sf-page-yoga-sup .sfh-phero__bg{
  filter:none;
}
.sf-page-yoga-sup .sfh-phero__bg::after{
  background:linear-gradient(180deg,rgba(18,30,24,.28),rgba(18,30,24,.12) 38%,rgba(18,30,24,.72));
}
.sf-page-yoga-sup .se-intro{
  background:#399F68;
  color:#fff;
}
.sf-page-yoga-sup .se-intro h2,
.sf-page-yoga-sup .se-intro p{
  color:#fff;
}
.sf-page-yoga-sup .se-intro .lab{
  color:#fff;
}
.sf-page-hiking .se-kit__grid,
.sf-page-monte-zatta-sky .se-kit__grid{
  grid-template-columns:1fr;
}
.sf-page-hiking .se-kit__col,
.sf-page-monte-zatta-sky .se-kit__col{
  width:100%;
}
.sf-page-hiking .se-kit__list,
.sf-page-monte-zatta-sky .se-kit__list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
.sf-page-monte-zatta-sky .sfh .se-kit{
  padding:clamp(3.2rem,5.2vw,5rem) 0;
}
.sf-page-monte-zatta-sky .sfh .se-kit__grid{
  width:min(1120px,calc(100% - 2rem));
}
.sf-page-monte-zatta-sky .sfh .se-kit__col{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  border-radius:24px;
  box-shadow:none;
  padding:clamp(1.35rem,3vw,2rem);
}
.sf-page-monte-zatta-sky .sfh .se-kit__col .lab{
  display:inline-flex;
  margin:0 0 .85rem;
}
.sf-page-monte-zatta-sky .sfh .se-kit__col h3{
  font-size:clamp(1.45rem,2.8vw,2rem);
  line-height:1.05;
  margin:0 0 clamp(1.05rem,1.8vw,1.4rem);
}
.sf-page-monte-zatta-sky .sfh .se-kit__list{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:clamp(.7rem,1.15vw,.9rem);
}
.sf-page-monte-zatta-sky .sfh .se-kit__list span{
  min-height:74px;
  align-items:center;
  justify-content:flex-start;
  flex-direction:row;
  gap:.7rem;
  padding:.55rem 1.05rem .55rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  box-shadow:none;
  line-height:1.32;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
}
.sf-page-monte-zatta-sky .se-kit__list img{
  display:block;
  width:54px;
  height:54px;
  flex:0 0 54px;
  padding:5px;
  border-radius:50%;
  background:#fff;
}
.sf-page-monte-zatta-sky .sfh .se-kit__list span.noic{
  padding:.55rem 1.05rem;
}
.sf-page-monte-zatta-sky .sfh .se-kit__list span.noic::before{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 17px #F9B519;
}
@media(max-width:980px){
  .sf-page-monte-zatta-sky .sfh .se-kit__list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .sf-page-monte-zatta-sky .sfh .se-kit__list{
    grid-template-columns:1fr;
  }
  .sf-page-monte-zatta-sky .sfh .se-kit__list span{
    min-height:0;
    flex-direction:row;
    align-items:center;
  }
}
.sf-page-monte-zatta-sky .sfh .se-intro__media{
  background-color:#fff;
  background-size:contain;
  background-repeat:no-repeat;
  aspect-ratio:596/853;
  /* poster in "contain": non va ritagliato, quindi resta fuori dallo stretch delle intro */
  align-self:center;
  min-height:0;
}
.sf-page-hiking .se-notes .wrap,
.sf-page-monte-zatta-sky .se-notes .wrap{
  max-width:980px;
  padding:clamp(2rem,4vw,3rem);
  border-radius:24px;
  background:#fff;
  box-shadow:0 26px 60px -42px rgba(20,32,26,.45);
}
.sf-page-noleggio .sfx-faq summary::after{
  content:"+";
  font-family:Arial,sans-serif;
}
.sf-page-noleggio .sfx-faq details[open] summary::after{
  content:"-";
}
.sf-page-snorkeling .sn-price::after,
.sf-page-sup .sn-price::after{
  content:"";
  position:absolute;
  aspect-ratio:2.5/1;
  background:var(--sf-bb-waves) center/contain no-repeat;
  pointer-events:none;
}
.sf-page-snorkeling .se-gear{
  background:#2D8FA9;
}
.sf-page-snorkeling .se-gear__c{
  align-items:center;
}
.sf-page-snorkeling .se-gear__ic{
  min-height:0;
}
@media(max-width:900px){
  .sf-page-snorkeling .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__c,
  .sf-page-snorkeling .sfh .se-gear__grid .se-gear__c,
  .sf-page-sup .se-gear__c{grid-template-columns:1fr}
  .sf-page-snorkeling .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__ic,
  .sf-page-snorkeling .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__c b,
  .sf-page-snorkeling .sfh .se-gear__grid:has(.se-gear__c:only-child) .se-gear__c p,
  .sf-page-snorkeling .sfh .se-gear__grid .se-gear__ic,
  .sf-page-snorkeling .sfh .se-gear__grid .se-gear__c b,
  .sf-page-snorkeling .sfh .se-gear__grid .se-gear__c p{grid-column:1;width:100%}
}
.sf-page-snorkeling .se-kit__col{
  min-height:0;
  align-self:start;
}
.sfh .sn-hours{
  background:#F9B519;
  color:var(--sf-ink);
}
.sfh .sn-hours__grid{
  display:grid;
  align-items:stretch;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(1rem,1.8vw,1.45rem);
  max-width:1320px;
  margin-inline:auto;
}
.sfh .sn-hours__c{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  text-align:center;
  min-height:210px;
  padding:1.35rem 1rem;
  background:#FCFAF5;
  border-radius:18px;
  box-shadow:0 24px 48px -34px rgba(20,32,26,.55);
}
.sfh .sn-hours__c b{
  min-height:2.5rem;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
}
.sfh .sn-hours__c span{
  display:block;
  text-align:center;
}
.sf-page-sup .se-gear{
  background:#fff;
}
.sf-page-sup .se-gear__grid{
  max-width:1180px;
}
.sf-page-sup .se-gear__c{
  border-radius:28px;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.85fr);
  padding:clamp(1.4rem,3vw,2.2rem);
}
/* ---- SUP: sezione attrezzatura a due colonne, sullo stile di discovery-sup.
   A sinistra la testata (etichetta + titolo, che arrivano dal pannello) diventa
   una card scura sulla foto; a destra la card bianca col modello, il testo e la
   tavola appoggiata direttamente sulla card, senza riquadro interno.
   La foto arriva da --sf-gear-bg, impostata dal renderer sui dati della voce. ---- */
.sf-page-sup .sfh .se-gear > .wrap{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:1.15rem;
  max-width:1080px;
  align-items:stretch;
}
.sf-page-sup .sfh .se-gear__head{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  margin:0;
  padding:clamp(1.5rem,2.6vw,2.2rem);
  border-radius:20px;
  overflow:hidden;
  color:#fff;
  text-align:left;
  box-shadow:0 22px 48px -34px rgba(20,32,26,.42);
  background:
    linear-gradient(180deg,rgba(2,22,28,.72),rgba(2,22,28,.34) 45%,rgba(2,22,28,.72)),
    var(--sf-gear-bg,linear-gradient(160deg,#0f3b46,#14201a)) center/cover no-repeat;
}
.sf-page-sup .sfh .se-gear__head .lab{color:#fff;margin-bottom:.7rem}
.sf-page-sup .sfh .se-gear__head h2{
  color:#fff;
  margin:0;
  font-size:clamp(2.1rem,3.4vw,3.3rem);
  line-height:.98;
}
.sf-page-sup .sfh .se-gear__grid{
  display:block;
  max-width:none;
  margin:0;
}
.sf-page-sup .sfh .se-gear__c{
  height:100%;
  row-gap:0;
  margin:0;
  border-radius:20px;
  border-top:4px solid var(--teal);
  padding:clamp(1.5rem,2.6vw,2.2rem);
  display:flex;
  flex-direction:column;
  text-align:left;
  box-shadow:0 22px 48px -34px rgba(20,32,26,.42);
}
/* .se-gear__grid nella catena serve a pareggiare la specificita' della regola
   a card singola, che usa :has() e imporrebbe align-self:end restringendo il
   titolo e spingendolo a destra. */
.sf-page-sup .sfh .se-gear__grid .se-gear__c b{padding:0;margin:0 0 .7rem;text-align:left;align-self:stretch}
.sf-page-sup .sfh .se-gear__grid .se-gear__c p{padding:0;margin:0;text-align:left;align-self:stretch}
/* la tavola sta direttamente sulla card: niente fondo, niente riquadro */
.sf-page-sup .sfh .se-gear__grid .se-gear__c .se-gear__ic{
  order:3;
  /* niente margin-top:auto: spingeva la tavola in fondo lasciando la card vuota */
  margin-top:1rem;
  padding:0;
  width:100%;
  height:clamp(230px,27vw,340px);
  background:none;
  border-radius:0;
  box-shadow:none;
  filter:none;
  object-fit:contain;
}
@media(max-width:860px){
  .sf-page-sup .sfh .se-gear > .wrap{grid-template-columns:1fr}
  .sf-page-sup .sfh .se-gear__head{min-height:220px;justify-content:flex-end}
}
@media(max-width:1100px){
  .sfh .sn-hours__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sfh .sn-hours__c:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}
@media(max-width:760px){
  .sf-page-yoga-sup .se-gear--pricing .se-gear__grid,
  .sfh .sn-hours__grid{
    grid-template-columns:1fr;
  }
  .sf-page-snorkeling .sn-price__grid,
  .sf-page-sup .sn-price__grid{
    max-width:100%;
  }
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]){
  display:grid;
  gap:clamp(.75rem,1.3vw,1rem);
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(5)):not(:has(> a:nth-child(6))){
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(5)):not(:has(> a:nth-child(6))) > a:nth-child(-n+3){
  grid-column:span 2;
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(5)):not(:has(> a:nth-child(6))) > a:nth-child(n+4){
  grid-column:span 3;
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(7)):not(:has(> a:nth-child(8))){
  grid-template-columns:repeat(12,minmax(0,1fr));
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(7)):not(:has(> a:nth-child(8))) > a:nth-child(-n+4){
  grid-column:span 3;
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(7)):not(:has(> a:nth-child(8))) > a:nth-child(n+5){
  grid-column:span 4;
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]) > a{
  width:auto;
  max-width:100%;
  aspect-ratio:4 / 3;
  height:auto;
}
.sfh .se-gal__grid:not([class*="se-gal__grid--count"]) > a:first-child{
  grid-row:auto;
  aspect-ratio:4 / 3;
  height:auto;
}
.sf-page-snorkeling .sn-price__grid,
.sf-page-sup .sn-price__grid{
  max-width:560px;
}
.sf-page-snorkeling .sn-price::before,
.sf-page-sup .sn-price::before{
  width:min(40vw,520px);
}
@media(max-width:760px){
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]),
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(5)):not(:has(> a:nth-child(6))),
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(7)):not(:has(> a:nth-child(8))){
    grid-template-columns:1fr;
  }
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]) > a,
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]) > a:first-child,
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(5)):not(:has(> a:nth-child(6))) > a:nth-child(n),
  .sfh .se-gal__grid:not([class*="se-gal__grid--count"]):has(> a:nth-child(7)):not(:has(> a:nth-child(8))) > a:nth-child(n){
    grid-column:auto;
    width:100%;
    max-width:100%;
    aspect-ratio:4 / 3;
  }
  .home .sfh .sfh-hero__cta .btn,
  .sf-page-home .sfh .sfh-hero__cta .btn{
    width:min(240px,82vw);
    min-width:0;
  }
}
body:not(.home):not(.sf-page-home) .sfh .sfh-phero{
  align-items:flex-end;
}
body:not(.home):not(.sf-page-home) .sfh .sfh-phero__in{
  padding-bottom:clamp(6.4rem,15vh,10.5rem);
}
@media(max-width:760px){
  body:not(.home):not(.sf-page-home) .sfh .sfh-phero__in{
    padding-bottom:clamp(4.6rem,11vh,6.8rem);
  }
}
/* Il padding qui sopra e' tarato sulla hero piena. Dove c'e' la banda la hero
   e' piu' bassa, quindi quello stesso valore lascerebbe un vuoto tra il copy e
   la banda: il testo va riavvicinato al fondo. Solo queste pagine, via :has(). */
body .sfh .sfh-phero:has(+ .se-chips) .sfh-phero__in{
  padding-bottom:clamp(2rem,5vh,3rem);
}
@media(max-width:760px){
  body .sfh .sfh-phero:has(+ .se-chips) .sfh-phero__in{
    padding-bottom:clamp(1.6rem,4vh,2.6rem);
  }
}
/* 102px = altezza dell'header, che sta sopra la hero. Sottraendolo la hero
   entra tutta nella prima schermata: bottoni e indicatore di scroll compresi. */
.home .sfh .sfh-hero,
.sf-page-home .sfh .sfh-hero{
  min-height:calc(100svh - 102px);
}
.sf-page-kayak-fun .sfh-phero__bg::after{
  background:linear-gradient(180deg,rgba(18,30,24,.18),rgba(18,30,24,.08) 38%,rgba(18,30,24,.58));
}
.sf-page-summercamp .sfh-phero__bg{
  background-position:center 64%;
}
.sfh .lab{
  margin-bottom:clamp(.4rem,.75vw,.65rem);
}
.sfh .lab + h1,
.sfh .lab + h2,
.sfh .lab + h3{
  margin-top:0;
}
.sfh .se-gear--sup-showcase .se-kayak__side{
  gap:clamp(.55rem,.75vw,.65rem);
}
.sfh .se-gear--sup-showcase .se-kayak__side .lab{
  margin-bottom:0;
}
@media(max-width:760px){
  .home .sfh .sfh-hero,
  .sf-page-home .sfh .sfh-hero{
    min-height:calc(100svh - 102px);
  }
}
/* Summer Camp note e gallery noleggio: regole consolidate */
.sf-page-summercamp .sfh .se-notes{
  background:#1674bd;
  color:#fff;
  padding:clamp(3.4rem,5.4vw,5.4rem) 0;
  margin:0;
}
.sf-page-summercamp .sfh .se-notes::after{
  display:none;
}
.sf-page-summercamp .sfh .se-notes .wrap{
  width:min(1060px,calc(100% - 2rem));
  max-width:1060px;
  display:grid;
  grid-template-columns:clamp(150px,15vw,220px) minmax(0,720px);
  grid-template-areas:
    "icon label"
    "icon title"
    "icon copy";
  column-gap:clamp(3rem,5.6vw,5rem);
  row-gap:clamp(.35rem,.75vw,.6rem);
  align-items:center;
  justify-content:center;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.sf-page-summercamp .sfh .se-notes .wrap::before{
  content:"";
  display:block;
  grid-area:icon;
  width:clamp(190px,18vw,280px);
  height:clamp(190px,18vw,280px);
  justify-self:center;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:url("/wp-content/uploads/2026/07/Stai-Fuori-Scila-1-1.png") center / 160% auto no-repeat;
}
.sf-page-summercamp .sfh .se-notes .lab{
  grid-area:label;
  display:inline-flex;
  justify-content:flex-start;
  color:#fff;
  margin:0 0 .7rem;
}
.sf-page-summercamp .sfh .se-notes .lab b{
  background:#F9B519;
}
.sf-page-summercamp .sfh .se-notes .lab + h2:has(+ h2){
  display:none;
}
.sf-page-summercamp .sfh .se-notes h2{
  grid-area:title;
  color:#fff;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2.3rem,4.2vw,4.25rem);
  font-weight:800;
  line-height:.95;
  text-transform:uppercase;
  max-width:none;
  margin:0 0 clamp(.85rem,1.5vw,1.2rem);
  text-wrap:balance;
}
.sf-page-summercamp .sfh .se-notes h2::after{
  display:none;
}
.sf-page-summercamp .sfh .se-notes p{
  grid-area:copy;
  max-width:70ch;
  margin:0;
  color:#fff;
  font-family:var(--sf-font-body,inherit);
  font-size:clamp(1.05rem,1.25vw,1.2rem);
  line-height:1.58;
}
@media(max-width:700px){
  .sf-page-summercamp .sfh .se-notes .wrap{
    grid-template-columns:1fr;
    grid-template-areas:
      "icon"
      "label"
      "title"
      "copy";
    text-align:center;
    row-gap:.7rem;
  }
  .sf-page-summercamp .sfh .se-notes .wrap::before{
    width:clamp(160px,46vw,200px);
    height:clamp(160px,46vw,200px);
  }
  .sf-page-summercamp .sfh .se-notes .wrap::before,
  .sf-page-summercamp .sfh .se-notes .lab,
  .sf-page-summercamp .sfh .se-notes h2,
  .sf-page-summercamp .sfh .se-notes p{
    grid-column:1;
    justify-self:center;
    text-align:center;
  }
  .sf-page-summercamp .sfh .se-notes p{
    margin-inline:auto;
  }
}
.sf-page-kayak .sfh .se-gal__grid:has(> a:nth-child(6):last-child){
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:clamp(190px,16vw,260px);
}
.sf-page-snorkeling .sfh .se-gal__grid:has(> a:nth-child(5):last-child){
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-auto-rows:clamp(180px,14vw,240px);
}
.sf-page-sup .sfh .se-gal__grid:has(> a:nth-child(7):last-child){
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:clamp(180px,14vw,240px);
}
.sf-page-sup .sfh .se-gal__grid:has(> a:nth-child(7):last-child) > a:first-child{
  grid-column:span 2;
}
.sf-page-kayak .sfh .se-gal__grid:has(> a:nth-child(6):last-child) > a:nth-child(n),
.sf-page-snorkeling .sfh .se-gal__grid:has(> a:nth-child(5):last-child) > a:nth-child(n){
  grid-column:auto;
  grid-row:auto;
}
.sf-page-kayak .sfh .se-gal__grid > a,
.sf-page-snorkeling .sfh .se-gal__grid > a,
.sf-page-sup .sfh .se-gal__grid > a{
  grid-column:auto;
  grid-row:auto;
  width:auto;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
}
.sf-page-kayak .sfh .se-gal__grid img,
.sf-page-snorkeling .sfh .se-gal__grid img,
.sf-page-sup .sfh .se-gal__grid img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sf-page-snorkeling .sn-price::after,
.sf-page-sup .sn-price::after{
  width:clamp(150px,17vw,260px);
  right:clamp(1.5rem,6vw,7rem);
  top:34%;
  opacity:.2;
}
@media(max-width:900px){
  .sf-page-kayak .sfh .se-gal__grid:has(> a:nth-child(6):last-child),
  .sf-page-snorkeling .sfh .se-gal__grid:has(> a:nth-child(5):last-child),
  .sf-page-sup .sfh .se-gal__grid:has(> a:nth-child(7):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sf-page-sup .sfh .se-gal__grid:has(> a:nth-child(7):last-child) > a:first-child{
    grid-column:auto;
  }
}
@media(max-width:560px){
  .sf-page-summercamp .sfh .se-notes .wrap::before{
    margin-inline:auto;
  }
  .sf-page-kayak .sfh .se-gal__grid:has(> a:nth-child(6):last-child),
  .sf-page-snorkeling .sfh .se-gal__grid:has(> a:nth-child(5):last-child),
  .sf-page-sup .sfh .se-gal__grid:has(> a:nth-child(7):last-child){
    grid-template-columns:1fr;
    grid-auto-rows:clamp(210px,62vw,320px);
  }
}
body.home .sfh-hero__scroll,
body.sf-page-home .sfh-hero__scroll{
  display:none;
}
.sf-page-discovery-sup .sfh .se-gear--sup-showcase .se-sup__info .se-kayak__side-img{
  width:clamp(380px,33vw,440px);
  max-width:100%;
  height:clamp(420px,36vw,570px);
  object-fit:contain;
  margin:auto auto clamp(1rem,1.8vw,1.45rem);
  transform:none;
}
.sf-page-sup_snorkeling .sfh .se-gear--sup-showcase .se-kayak__side:not(.se-sup__info) .se-kayak__side-img{
  width:clamp(430px,39vw,560px);
  max-width:100%;
  height:clamp(360px,30vw,460px);
  object-fit:contain;
  margin:auto auto clamp(.7rem,1vw,1rem);
  transform:none;
}
.sf-page-discovery-sup .sfh .se-intro__media,
.sf-page-discovery-sup .sfh .se-intro .media,
.sf-page-discovery-sup .sfh .se-intro figure{
  min-height:300px;
  max-height:390px;
  align-self:stretch;
}
.sf-page-discovery-sup .sfh .se-intro__media img,
.sf-page-discovery-sup .sfh .se-intro .media img,
.sf-page-discovery-sup .sfh .se-intro figure img{
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center;
}
.sf-page-summercamp .sfh .se-intro__media,
.sf-page-summercamp .sfh .se-intro .media,
.sf-page-summercamp .sfh .se-intro figure{
  height:clamp(340px,31vw,430px);
  max-height:430px;
  align-self:center;
}
.sf-page-summercamp .sfh .se-intro__media img,
.sf-page-summercamp .sfh .se-intro .media img,
.sf-page-summercamp .sfh .se-intro figure img{
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:820px){
  .sf-page-summercamp .sfh .se-intro__media,
  .sf-page-summercamp .sfh .se-intro .media,
  .sf-page-summercamp .sfh .se-intro figure{
    width:100%;
    max-width:100%;
    aspect-ratio:auto;
  }
}
/* Note informative generiche */
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes{
  background:#1674bd;
  color:#fff;
  padding:clamp(3.4rem,5.4vw,5.4rem) 0;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap{
  max-width:min(1060px,calc(100% - 2rem));
  display:grid;
  grid-template-columns:clamp(150px,15vw,220px) minmax(0,720px);
  grid-template-areas:
    "icon label"
    "icon title"
    "icon copy";
  column-gap:clamp(3rem,5.6vw,5rem);
  row-gap:clamp(.35rem,.75vw,.6rem);
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap::before{
  content:"";
  display:block;
  grid-area:icon;
  width:clamp(190px,18vw,280px);
  height:clamp(190px,18vw,280px);
  justify-self:center;
  background:url("/wp-content/uploads/2026/07/Stai-Fuori-Scila-3.png") center / 160% auto no-repeat;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .lab{
  grid-area:label;
  display:inline-flex;
  justify-content:flex-start;
  color:#fff;
  margin:0 0 .7rem;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .lab b{
  background:#F9B519;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes h2{
  grid-area:title;
  color:#fff;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2.3rem,4.2vw,4.25rem);
  font-weight:800;
  line-height:.95;
  text-transform:uppercase;
  margin:0 0 clamp(.85rem,1.5vw,1.2rem);
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap:not(:has(h2)) .lab{
  grid-area:title;
  display:flex;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2.3rem,4.2vw,4.25rem);
  font-weight:800;
  letter-spacing:0;
  line-height:.95;
  margin:0 0 clamp(.85rem,1.5vw,1.2rem);
  text-align:left;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap:not(:has(h2)) .lab b{
  display:none;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes p{
  grid-area:copy;
  max-width:70ch;
  margin:0;
  color:#fff;
  font-size:clamp(1.05rem,1.25vw,1.2rem);
  line-height:1.58;
}
body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes p + p{
  margin-top:.8rem;
}
@media(max-width:700px){
  body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap{
    grid-template-columns:1fr;
    grid-template-areas:
      "icon"
      "label"
      "title"
      "copy";
    row-gap:.7rem;
    text-align:center;
  }
  body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap::before{
    width:clamp(160px,46vw,200px);
    height:clamp(160px,46vw,200px);
  }
  body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .lab,
  body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes .wrap:not(:has(h2)) .lab,
  body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes p{
    justify-self:center;
    text-align:center;
  }
  body:not(.sf-page-yoga-sup):not(.sf-page-summercamp) .sfh .se-notes p{
    margin-inline:auto;
  }
}
.sfh .se-notes.rv,
.sfh .se-notes .rv,
.sfh .se-notes.st,
.sfh .se-notes .st{
  opacity:1;
  transform:none;
}
.sf-page-yoga-sup .sfh .se-notes{
  background:#F9B519;
  color:#10201b;
  padding:clamp(2.6rem,4.6vw,4.4rem) 0;
  overflow:hidden;
}
.sf-page-yoga-sup .sfh .se-notes .wrap{
  max-width:min(1120px,calc(100% - 2rem));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.6vw,1.35rem);
  position:relative;
}
.sf-page-yoga-sup .sfh .se-notes .wrap.se-notes__wrap{
  max-width:min(1120px,calc(100% - 2rem))!important;
}
.sf-page-yoga-sup .sfh .se-notes .wrap::before{
  content:none;
  display:none;
}
.sf-page-yoga-sup .sfh .se-notes .lab{
  grid-column:1/-1;
  justify-self:start;
  color:#07566a;
  margin:0 0 .25rem;
  font-size:clamp(.84rem,.95vw,.98rem);
  letter-spacing:.22em;
}
.sf-page-yoga-sup .sfh .se-notes h2{
  grid-column:1/-1;
  color:#10201b;
  font-family:var(--sf-head,"Archivo",sans-serif);
  font-size:clamp(2.2rem,4.4vw,4rem);
  font-weight:800;
  line-height:.96;
  text-transform:uppercase;
  margin:0 0 clamp(1.2rem,2vw,1.7rem);
}
.sf-page-yoga-sup .sfh .se-notes p{
  margin:0;
  color:#10201b;
  font-size:clamp(.98rem,1vw,1.05rem);
  line-height:1.46;
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(-n+3){
  --sf-note-icon:clamp(78px,6.6vw,104px);
  min-height:178px;
  display:grid;
  grid-template-columns:var(--sf-note-icon) minmax(0,1fr);
  align-items:center;
  gap:clamp(.85rem,1.25vw,1.15rem);
  padding:clamp(1.15rem,1.5vw,1.35rem);
  background:#fffaf0;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(16,32,27,.14);
  border:1px solid rgba(255,255,255,.72);
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(-n+3)::before{
  content:"";
  width:var(--sf-note-icon);
  height:var(--sf-note-icon);
  display:block;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(1)::before{
  background-image:url('/wp-content/uploads/2026/07/sf-yoga-orari-icon-1-bold.png');
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(2)::before{
  background-image:url('/wp-content/uploads/2026/07/sf-yoga-orari-icon-2-bold.png');
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(3)::before{
  background-image:url('/wp-content/uploads/2026/07/sf-yoga-orari-icon-3-bold.png');
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(n+4){
  --sf-note-icon:clamp(78px,6vw,98px);
  grid-column:1/-1;
  min-height:128px;
  display:grid;
  grid-template-columns:var(--sf-note-icon) minmax(0,1fr);
  align-items:center;
  gap:clamp(1rem,1.4vw,1.35rem);
  padding:clamp(1rem,1.45vw,1.25rem) clamp(1.15rem,1.8vw,1.55rem);
  background:rgba(255,250,240,.7);
  border:1px solid rgba(255,255,255,.72);
  border-radius:16px;
  box-shadow:0 14px 32px rgba(16,32,27,.08);
}
.sf-page-yoga-sup .sfh .se-notes p:nth-of-type(n+4)::before{
  content:"";
  width:var(--sf-note-icon);
  height:var(--sf-note-icon);
  display:block;
  background:url('/wp-content/uploads/2026/07/sf-yoga-orari-icon-4-bold.png') center/contain no-repeat;
}
@media (max-width:900px){
  .sf-page-yoga-sup .sfh .se-notes .wrap{
    grid-template-columns:1fr 1fr;
  }
  .sf-page-yoga-sup .sfh .se-notes .lab,
  .sf-page-yoga-sup .sfh .se-notes p:nth-of-type(n+3){
    grid-column:1/-1;
  }
}
@media (max-width:560px){
  .sf-page-yoga-sup .sfh .se-notes .wrap{
    grid-template-columns:1fr;
  }
  .sf-page-yoga-sup .sfh .se-notes p:nth-of-type(-n+3),
  .sf-page-yoga-sup .sfh .se-notes p:nth-of-type(n+4){
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
  }
}
@media(min-width:761px){
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info){
    max-width:1110px;
    grid-template-columns:minmax(0,1.35fr) minmax(360px,.95fr);
    gap:clamp(1.45rem,2.1vw,2rem);
    align-items:stretch;
  }
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-kayak__main,
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-sup__info{
    height:clamp(560px,40vw,625px);
    min-height:0;
  }
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-sup__info{
    justify-content:flex-start;
    gap:clamp(1rem,1.6vw,1.5rem);
  }
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-sup__info .se-kayak__side-img{
    width:min(310px,78%);
    height:clamp(255px,22vw,325px);
    margin:auto auto clamp(.65rem,1vw,.9rem);
    object-fit:contain;
    transform:none;
  }
}
@media(max-width:760px){
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-kayak__main,
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-sup__info{
    height:auto;
  }
  .sfh .se-gear--sup-showcase .se-kayak:has(.se-sup__info) .se-sup__info .se-kayak__side-img{
    width:min(320px,88%);
    height:clamp(260px,68vw,360px);
  }
}
/* Formule/pricing: componente unico, senza agganci a ID pagina. */
body .sfh .se-gear.se-gear--pricing{
  background:#2D8FA9;
  color:#fff;
}
body .sfh .se-gear.se-gear--pricing .wrap{
  width:min(1180px,calc(100% - 2rem));
}
body .sfh .se-gear.se-gear--pricing .lab,
body .sfh .se-gear.se-gear--pricing .se-gear__head h2{
  color:#fff;
}
body .sfh .se-gear.se-gear--pricing .se-gear__head{
  margin-bottom:clamp(1.4rem,3vw,2.2rem);
}
body .sfh .se-gear.se-gear--pricing .se-gear__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.35rem,3vw,2.6rem);
  align-items:stretch;
}
body .sfh .se-gear.se-gear--pricing .se-gear__c{
  --sf-formula-gap:clamp(.3rem,.65vw,.55rem);
  position:relative;
  display:grid;
  grid-template-columns:clamp(148px,12vw,168px) minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-items:center;
  column-gap:0;
  min-height:176px;
  padding:clamp(1.15rem,1.7vw,1.45rem) clamp(.95rem,1.35vw,1.15rem);
  background:#fff;
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(16,32,27,.13);
}
body .sfh .se-gear.se-gear--pricing .se-gear__c::before{
  content:"";
  position:absolute;
  display:block;
  left:var(--sf-formula-gap);
  top:50%;
  width:176px;
  height:176px;
  transform:translateY(-50%);
  border-radius:0;
  background-color:transparent;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  box-shadow:none;
  opacity:1;
  filter:brightness(0) saturate(100%) invert(29%) sepia(41%) saturate(1224%) hue-rotate(151deg) brightness(90%) contrast(93%);
  pointer-events:none;
}
body .sfh .se-gear.se-gear--pricing .se-gear__c::after{
  content:none;
  display:none;
}
body .sfh .se-gear.se-gear--pricing .se-gear__c:nth-child(1)::before{
  background-image:url('/wp-content/uploads/2026/07/Stai-Fuori-Scila.png');
}
body .sfh .se-gear.se-gear--pricing .se-gear__c:nth-child(2)::before{
  background-image:url('/wp-content/uploads/2026/07/Stai-Fuori-Scila-1.png');
}
body .sfh .se-gear.se-gear--pricing .se-gear__c b{
  grid-column:2;
  color:#07566a;
  padding:0;
  margin:0 0 .35rem;
  font-size:1.08rem;
  line-height:1.18;
}
body .sfh .se-gear.se-gear--pricing .se-gear__c p{
  grid-column:2;
  color:#52615f;
  padding:0;
  margin:0 0 1.1rem;
  font-size:.95rem;
  line-height:1.5;
}
body .sfh .se-gear.se-gear--pricing .se-gear__cta{
  grid-column:2;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:140px;
  min-height:40px;
  padding:.62rem 1.15rem;
  border-radius:999px;
  background:#F9B519;
  color:#07566a;
  font-size:.86rem;
  line-height:1;
  text-decoration:none;
}
@media(max-width:760px){
  body .sfh .se-gear.se-gear--pricing .se-gear__grid{
    grid-template-columns:1fr;
  }
  body .sfh .se-gear.se-gear--pricing .se-gear__c{
    grid-template-columns:clamp(136px,31vw,152px) minmax(0,1fr);
  }
  body .sfh .se-gear.se-gear--pricing .se-gear__c::before{
    width:158px;
    height:158px;
  }
}
@media(max-width:560px){
  body .sfh .se-gear.se-gear--pricing .se-gear__c{
    grid-template-columns:1fr;
    text-align:center;
  }
  body .sfh .se-gear.se-gear--pricing .se-gear__c::before{
    position:static;
    justify-self:center;
    grid-row:1;
    width:160px;
    height:160px;
    transform:none;
    margin-bottom:.35rem;
  }
  body .sfh .se-gear.se-gear--pricing .se-gear__c b,
  body .sfh .se-gear.se-gear--pricing .se-gear__c p,
  body .sfh .se-gear.se-gear--pricing .se-gear__cta{
    grid-column:1;
  }
  body .sfh .se-gear.se-gear--pricing .se-gear__cta{
    justify-self:center;
  }
}

/* ---- Snorkeling, card attrezzatura: la foto deve occupare tutta l'altezza
   della card e toccarne il bordo sinistro. Serve battere due regole esistenti:
   un :has() che fissa l'immagine a 320px e un align-items:center che le
   impedisce di stirarsi. Il respiro del testo si sposta dalla card ai testi. ---- */
.sf-page-snorkeling .sfh .se-gear__grid .se-gear__c{
  padding:0;
  column-gap:clamp(1.5rem,3vw,2.6rem);
  align-items:stretch;
}
.sf-page-snorkeling .sfh .se-gear__grid .se-gear__c .se-gear__ic{
  height:100%;
  align-self:stretch;
  border-radius:0;
  margin:0;
}
.sf-page-snorkeling .sfh .se-gear__grid .se-gear__c b{
  padding:clamp(1.4rem,2.6vw,2.1rem) clamp(1.4rem,2.6vw,2.1rem) 0 0;
}
.sf-page-snorkeling .sfh .se-gear__grid .se-gear__c p{
  padding:0 clamp(1.4rem,2.6vw,2.1rem) clamp(1.4rem,2.6vw,2.1rem) 0;
}
@media(max-width:900px){
  /* impilata: la foto sta sopra, i testi tornano ad avere padding su tutti i lati */
  .sf-page-snorkeling .sfh .se-gear__grid .se-gear__c b{
    padding:clamp(1.2rem,4vw,1.9rem) clamp(1.2rem,4vw,1.9rem) 0;
  }
  .sf-page-snorkeling .sfh .se-gear__grid .se-gear__c p{
    padding:0 clamp(1.2rem,4vw,1.9rem) clamp(1.2rem,4vw,1.9rem);
  }
}

/* ---- Ebike noleggio: stessa impostazione a due colonne della experience e del
   SUP. La testata (etichetta + titolo, dal pannello) diventa la card scura sulla
   foto; la card bianca a destra tiene modello, testo e bici. Le regole piu' in
   alto la disegnavano come card unica scura col testo sopra la foto: qui vanno
   annullate esplicitamente (sfondo, colore, altezza minima, griglia interna). ---- */
.sf-page-ebike .sfh .se-gear > .wrap{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:1.15rem;
  max-width:1080px;
  align-items:stretch;
}
.sf-page-ebike .sfh .se-gear__head{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  margin:0;
  padding:clamp(1.5rem,2.6vw,2.2rem);
  border-radius:20px;
  overflow:hidden;
  color:#fff;
  text-align:left;
  box-shadow:0 22px 48px -34px rgba(20,32,26,.42);
  background:
    linear-gradient(180deg,rgba(2,22,28,.72),rgba(2,22,28,.34) 45%,rgba(2,22,28,.72)),
    var(--sf-gear-bg,linear-gradient(160deg,#0f3b46,#14201a)) center/cover no-repeat;
}
.sf-page-ebike .sfh .se-gear__head .lab{color:#fff;margin-bottom:.7rem}
.sf-page-ebike .sfh .se-gear__head h2{
  color:#fff;
  margin:0;
  font-size:clamp(2.1rem,3.4vw,3.3rem);
  line-height:.98;
}
.sf-page-ebike .sfh .se-gear__grid{display:block;max-width:none;margin:0}
.sf-page-ebike .sfh .se-gear__grid .se-gear__c{
  min-height:0;
  height:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  row-gap:0;
  align-items:stretch;
  text-align:left;
  color:var(--sf-text);
  background:#fff;
  border-radius:20px;
  border-top:4px solid var(--teal);
  padding:clamp(1.5rem,2.6vw,2.2rem);
  box-shadow:0 22px 48px -34px rgba(20,32,26,.42);
}
.sf-page-ebike .sfh .se-gear__grid .se-gear__c b{
  padding:0;margin:0 0 .7rem;text-align:left;align-self:stretch;color:var(--sf-ink);
  text-shadow:none;   /* serviva col testo sulla foto, qui lasciava un alone */
}
.sf-page-ebike .sfh .se-gear__grid .se-gear__c p{
  padding:0;margin:0;text-align:left;align-self:stretch;color:var(--sf-text);
  text-shadow:none;
}
.sf-page-ebike .sfh .se-gear__grid .se-gear__c .se-gear__ic{
  order:3;
  grid-column:auto;
  margin-top:1rem;
  padding:0;
  width:100%;
  height:clamp(200px,24vw,300px);
  background:none;
  border-radius:0;
  box-shadow:none;
  filter:none;
  object-fit:contain;
}
@media(max-width:860px){
  .sf-page-ebike .sfh .se-gear > .wrap{grid-template-columns:1fr}
  .sf-page-ebike .sfh .se-gear__head{min-height:220px;justify-content:flex-end}
  /* "Le nostre e-bike" e' lungo: a 2.1rem sbordava dalla card su schermi stretti */
  .sf-page-ebike .sfh .se-gear__head h2{font-size:clamp(1.6rem,7vw,2.4rem)}
}

/* ---- Eventi, galleria: la prima foto e' larga 2 colonne e alta quanto 2 righe,
   ma occupava una riga sola e il blocco restava frastagliato. Con span 2 anche
   sulle righe le 6 foto formano un 3x3 pieno: 4 celle alla prima, 5 alle altre.
   Lo sfondo passa a bianco perche' era identico a quello della sezione FAQ. ---- */
.sf-page-escape .sfh .se-gal{background:#fff}
.sf-page-escape .sfh .se-gal__grid > a:first-child{grid-row:span 2}
@media(max-width:900px){
  .sf-page-escape .sfh .se-gal__grid > a:first-child{grid-row:auto}
}
