/* =========================================================================
   Fishingmania Campi Gara — grafica frontend coordinata
   v1.3.0

   Sostituisce i sei strati di <style> inline accumulati dalla 0.7 alla 0.9.7.
   Palette ufficiale Fishingmania: navy #20283e, azzurro #44a5ef.
   Regola grafica: spigoli netti (radius 0), tagli obliqui a 45 gradi,
   chip inclinati, ogni sezione con una sua anatomia.

   Lo stile e' agganciato a .entry-content perche' tutto il contenuto della
   scheda viene iniettato dal filtro the_content. Il foglio viene accodato
   dopo quello del tema child, quindi non servono !important.
   ========================================================================= */

:root{
  --fmc-navy:  var(--fm-navy,   #20283e);
  --fmc-navy2: var(--fm-navy2,  #161c2c);
  --fmc-navy3: var(--fm-navy3,  #2a3654);
  --fmc-blue:  var(--fm-blue,   #44a5ef);
  --fmc-blued: var(--fm-blue-d, #2e86d1);
  --fmc-sky:   var(--fm-sky,    #edf2f9);
  --fmc-line:  var(--fm-line,   #e2e9f2);
  --fmc-txt:   var(--fm-txt,    #1a2537);
  --fmc-mut:   var(--fm-mut,    #68788f);
  --fmc-paper: var(--fm-paper,  #f6f8fb);

  /* scala di merito: scarso -> ottimo */
  --fmc-s1:#d0342c;
  --fmc-s2:#e8a33d;
  --fmc-s3:#43a047;
  --fmc-s4:var(--fmc-blue);
  --fmc-star:#f2a600;

  /* ritmo verticale */
  --fmc-gap-sec:56px;
  --fmc-pad-box:26px;

  --fmc-cut:  polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
  --fmc-cut-b:polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
}

/* =========================================================================
   1. RITMO VERTICALE E TIPOGRAFIA
   Il difetto principale della vecchia grafica: lo stacco fra i paragrafi
   (20.8px) era piu' stretto dell'interlinea (30.4px), quindi i blocchi di
   testo si attaccavano fra loro. Qui il paragrafo respira piu' della riga.
   ========================================================================= */

.entry-content .fm-campo-section{
  margin:var(--fmc-gap-sec) 0 0;
  clear:both;
}
.entry-content .fm-campo-section:first-child{margin-top:34px}

.entry-content .fm-campo-section h2,
.entry-content .fm-dati-rapidi h2{
  margin:0 0 24px;
}

.entry-content .fm-campo-section h3{
  margin:0 0 10px;
  color:var(--fmc-navy);
  font-weight:850;
  letter-spacing:-.2px;
  line-height:1.25;
}

.entry-content .fm-campo-section p{
  font-size:16.5px;
  line-height:1.75;
  margin:0 0 1.5em;
  color:#2a3446;
}
.entry-content .fm-campo-section p:last-child{margin-bottom:0}

.entry-content .fm-campo-section ul,
.entry-content .fm-campo-section ol{
  margin:0 0 1.5em;
  padding-left:1.35em;
}
.entry-content .fm-campo-section li{
  font-size:16.5px;
  line-height:1.75;
  margin-bottom:.55em;
  color:#2a3446;
}
.entry-content .fm-campo-section li:last-child{margin-bottom:0}

.entry-content .fm-campo-section a{
  color:var(--fmc-blued);
  font-weight:650;
  text-decoration:none;
}
.entry-content .fm-campo-section a:hover{text-decoration:underline}

/* =========================================================================
   2. BADGE "TOP CAMPO GARA"
   ========================================================================= */

.entry-content .fm-top-badge-single{
  margin-top:30px;
  padding:0;
}
.entry-content .fm-top-badge-single strong{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--fmc-navy);
  color:#fff;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
  padding:11px 20px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}
.entry-content .fm-top-badge-single strong::before{
  content:"";
  width:14px;
  height:14px;
  background:var(--fmc-blue);
  clip-path:polygon(50% 0, 100% 100%, 0 100%);
}

/* =========================================================================
   3. INTRO — occhiello con filetto azzurro, nessuna cornice
   ========================================================================= */

.entry-content .fm-intro{
  margin-top:34px;
  padding-left:22px;
  border-left:4px solid var(--fmc-blue);
}
.entry-content .fm-intro p{
  font-size:18.5px;
  line-height:1.75;
  font-weight:600;
  color:var(--fmc-navy);
}

/* =========================================================================
   4. DATI RAPIDI — testata navy piena, griglia di celle sotto
   ========================================================================= */

.entry-content .fm-dati-rapidi{
  margin:44px 0 0;
  border:1px solid var(--fmc-line);
  background:#fff;
  padding:0;
  overflow:hidden;
}
.entry-content .fm-dati-rapidi h2{
  margin:0;
  padding:17px 24px;
  background:var(--fmc-navy);
  color:#fff;
  font-size:16px;
  font-style:normal;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  border-left:0;
  display:flex;
  align-items:center;
  gap:13px;
}
.entry-content .fm-dati-rapidi h2::before{
  content:"";
  width:26px;
  height:26px;
  flex:none;
  background:var(--fmc-blue);
  clip-path:polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.entry-content .fm-dati-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;
  background:#fff;
  border-top:1px solid var(--fmc-line);
}
.entry-content .fm-dati-item{
  background:#fff;
  border:0;
  /* il filetto e' un'ombra: cosi' le celle vuote di fine griglia restano bianche */
  box-shadow:0 0 0 1px var(--fmc-line);
  padding:16px 20px 17px;
  transition:background .18s ease;
}
.entry-content .fm-dati-item:hover{background:var(--fmc-sky)}
.entry-content .fm-dati-label{
  display:block;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--fmc-mut);
  margin-bottom:7px;
}
.entry-content .fm-dati-value{
  display:block;
  font-size:16px;
  font-weight:800;
  line-height:1.35;
  color:var(--fmc-navy);
}
.entry-content .fm-dati-value a{color:var(--fmc-blued)}

/* =========================================================================
   5. MAPPA — legenda a chip inclinati
   Niente clip-path sul contenitore: taglierebbe i popup e i controlli Leaflet.
   ========================================================================= */

.entry-content .fm-map-wrap{
  margin:0;
  position:relative;
  z-index:1;
}
.entry-content .fm-map-legend{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin:0 0 16px;
}
.entry-content .fm-map-legend button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--fmc-line);
  background:#fff;
  color:var(--fmc-navy);
  font-family:inherit;
  font-size:11.5px;
  font-weight:850;
  letter-spacing:.7px;
  text-transform:uppercase;
  padding:9px 14px;
  border-radius:0;
  cursor:pointer;
  clip-path:polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.entry-content .fm-map-legend button:hover,
.entry-content .fm-map-legend button.is-active{
  background:var(--fmc-blue);
  border-color:var(--fmc-blue);
  color:#fff;
  transform:translateY(-2px);
}
.entry-content .fm-map-legend .fm-map-show-all{
  background:var(--fmc-navy);
  border-color:var(--fmc-navy);
  color:#fff;
}
.entry-content .fm-map-legend .fm-map-show-all:hover{
  background:var(--fmc-navy3);
  border-color:var(--fmc-navy3);
}

.entry-content .fm-map-wrap > div[id^="fm-map-"]{
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-blue);
  border-radius:0;
  box-shadow:none;
  min-height:460px;
}
.entry-content .fm-map-wrap .leaflet-container,
.entry-content .fm-map-wrap .leaflet-pane,
.entry-content .fm-map-wrap .leaflet-top,
.entry-content .fm-map-wrap .leaflet-bottom,
.entry-content .fm-map-wrap .leaflet-control{z-index:1}
.entry-content .fm-map-wrap .leaflet-popup-pane{z-index:5}

/* marker: restano tondi, sono pittogrammi di mappa non elementi di grafica */
.fm-map-marker{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  font-size:18px;
  border:3px solid #fff;
  box-shadow:0 4px 12px rgba(22,28,44,.32);
}
.fm-marker-campo{background:var(--fmc-blue)}
.fm-marker-accesso{background:#2e9e5b}
.fm-marker-parcheggio{background:#e8a33d}
.fm-marker-raduno{background:#7659c9}
.fm-marker-settore{background:var(--fmc-s1)}
.fm-marker-divieto{background:var(--fmc-navy)}
.fm-marker-poi{background:var(--fmc-navy3)}
.fm-marker-poi-hotel{background:#4a5a78}
.fm-marker-poi-ristorante{background:#b06a1c}
.fm-marker-poi-bar{background:#7a5a44}
.fm-marker-poi-negozio{background:#0f766e}

.fm-popup-badge{
  display:inline-block;
  background:var(--fmc-navy);
  color:#fff;
  padding:3px 7px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
  margin:0 0 6px;
}
.fm-single-popup .fm-popup-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.fm-single-popup a{
  display:inline-block;
  background:var(--fmc-navy);
  color:#fff;
  border-radius:0;
  padding:7px 10px;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.fm-single-popup a.fm-directions{background:var(--fmc-blue)}

/* =========================================================================
   6. METEO — fascia superiore colorata sulla qualita' di pesca
   ========================================================================= */

.entry-content .fm-weather-box{
  position:relative;
  border:1px solid var(--fmc-line);
  background:#fff;
  padding:var(--fmc-pad-box);
  overflow:hidden;
}
.entry-content .fm-weather-box::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:var(--fmc-blue);
}
.entry-content .fm-weather-box.fm-fishing-good::before{background:var(--fmc-s3)}
.entry-content .fm-weather-box.fm-fishing-medium::before{background:var(--fmc-s2)}
.entry-content .fm-weather-box.fm-fishing-bad::before{background:var(--fmc-s1)}

.entry-content .fm-weather-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:20px;
}
.entry-content .fm-weather-head h2{margin:0 0 6px}
.entry-content .fm-weather-head p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:var(--fmc-mut);
}
.entry-content .fm-weather-current{
  flex:none;
  min-width:132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  border:1px solid var(--fmc-line);
  background:var(--fmc-sky);
  padding:14px 12px;
}
.entry-content .fm-weather-icon{font-size:34px;line-height:1;margin-bottom:4px}
.entry-content .fm-weather-current strong{
  font-size:32px;
  line-height:1.05;
  font-weight:900;
  color:var(--fmc-navy);
}
.entry-content .fm-weather-current small{
  font-size:12px;
  line-height:1.35;
  color:var(--fmc-mut);
  margin-top:4px;
}
.entry-content .fm-weather-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding:8px 14px;
  border:1px solid var(--fmc-line);
  background:var(--fmc-sky);
  color:var(--fmc-navy);
  font-size:11.5px;
  font-weight:900;
  letter-spacing:1.1px;
  text-transform:uppercase;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}
.entry-content .fm-weather-box.fm-fishing-good .fm-weather-badge{border-color:var(--fmc-s3);background:#eef8f0;color:#2c7a3d}
.entry-content .fm-weather-box.fm-fishing-medium .fm-weather-badge{border-color:var(--fmc-s2);background:#fdf6ea;color:#96631a}
.entry-content .fm-weather-box.fm-fishing-bad .fm-weather-badge{border-color:var(--fmc-s1);background:#fbeeed;color:#a52a22}

.entry-content .fm-weather-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:#fff;
  border:1px solid var(--fmc-line);
  margin:0 0 16px;
}
.entry-content .fm-weather-metrics div{
  background:#fff;
  border:0;
  box-shadow:0 0 0 1px var(--fmc-line);
  padding:13px 15px;
}
.entry-content .fm-weather-metrics span{
  display:block;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:1.1px;
  text-transform:uppercase;
  color:var(--fmc-mut);
  margin-bottom:5px;
}
.entry-content .fm-weather-metrics strong{
  display:block;
  font-size:19px;
  font-weight:900;
  color:var(--fmc-navy);
}

.entry-content .fm-weather-days{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.entry-content .fm-weather-days article{
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-blue);
  background:#fff;
  padding:15px 12px;
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.entry-content .fm-weather-days article:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(32,40,62,.10);
}
.entry-content .fm-weather-days article.fm-weather-good{border-top-color:var(--fmc-s3)}
.entry-content .fm-weather-days article.fm-weather-medium{border-top-color:var(--fmc-s2)}
.entry-content .fm-weather-days article.fm-weather-bad{border-top-color:var(--fmc-s1)}
.entry-content .fm-weather-day-date{
  font-size:11.5px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--fmc-navy);
}
.entry-content .fm-weather-day-icon{font-size:28px;margin:8px 0 6px;line-height:1}
.entry-content .fm-weather-days article strong{
  display:block;
  min-height:36px;
  font-size:13.5px;
  line-height:1.35;
  font-weight:700;
  color:var(--fmc-txt);
}
.entry-content .fm-weather-days article span{
  display:block;
  margin-top:8px;
  font-size:15px;
  font-weight:900;
  color:var(--fmc-navy);
}
.entry-content .fm-weather-days article small{
  display:block;
  margin-top:4px;
  font-size:11.5px;
  color:var(--fmc-mut);
}
.entry-content .fm-weather-day-fog{
  display:block;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid var(--fmc-line);
  font-style:normal;
  font-size:11px;
  font-weight:800;
  letter-spacing:.4px;
  color:#8a6d3b;
}
.entry-content .fm-weather-note{
  font-size:12px;
  line-height:1.5;
  color:var(--fmc-mut);
  margin:16px 0 0;
}

/* =========================================================================
   7. PERIODO MIGLIORE — istogramma 12 mesi su fondo sky
   ========================================================================= */

.entry-content .fm-period-box{
  border:1px solid var(--fmc-line);
  background:var(--fmc-sky);
  padding:var(--fmc-pad-box);
  clip-path:var(--fmc-cut);
}
.entry-content .fm-period-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.entry-content .fm-period-head h2{margin:0 0 6px}
.entry-content .fm-period-head p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:var(--fmc-mut);
}
.entry-content .fm-period-head span{font-size:36px;line-height:1;flex:none}

.entry-content .fm-period-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:7px;
  align-items:stretch;
}
.entry-content .fm-period-month{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
  min-height:152px;
  padding:10px 4px;
  background:#fff;
  border:1px solid var(--fmc-line);
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.entry-content .fm-period-month:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(32,40,62,.12);
}
.entry-content .fm-period-bar{
  width:20px;
  background:#cfd8e4;
  margin-bottom:9px;
  /* punta obliqua, coerente con lo stile spigoloso del logo */
  clip-path:polygon(0 6px, 100% 0, 100% 100%, 0 100%);
  transition:height .3s ease;
}
.entry-content .fm-period-month strong{
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--fmc-navy);
  line-height:1.1;
}
.entry-content .fm-period-month small{
  font-size:10px;
  line-height:1.2;
  color:var(--fmc-mut);
  margin-top:3px;
}
.entry-content .fm-period-score-1 .fm-period-bar{background:var(--fmc-s1)}
.entry-content .fm-period-score-2 .fm-period-bar{background:var(--fmc-s2)}
.entry-content .fm-period-score-3 .fm-period-bar{background:var(--fmc-s3)}
.entry-content .fm-period-score-4 .fm-period-bar{background:var(--fmc-s4)}

.entry-content .fm-period-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:18px;
  font-size:12px;
  font-weight:700;
  color:var(--fmc-mut);
}
.entry-content .fm-dot{
  display:inline-block;
  width:11px;
  height:11px;
  border-radius:0;
  transform:skewX(-8deg);
  margin-right:-3px;
}
.entry-content .fm-dot-1{background:var(--fmc-s1)}
.entry-content .fm-dot-2{background:var(--fmc-s2)}
.entry-content .fm-dot-3{background:var(--fmc-s3)}
.entry-content .fm-dot-4{background:var(--fmc-s4)}

/* =========================================================================
   8. SPECIE PRESENTI — schede a due colonne
   ========================================================================= */

.entry-content .fm-fish-box{
  border:1px solid var(--fmc-line);
  background:#fff;
  padding:var(--fmc-pad-box);
}
.entry-content .fm-fish-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.entry-content .fm-fish-card{
  display:grid;
  grid-template-columns:106px 1fr;
  gap:16px;
  align-items:center;
  border:1px solid var(--fmc-line);
  border-left:3px solid var(--fmc-blue);
  background:var(--fmc-paper);
  padding:15px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.entry-content .fm-fish-card:hover{
  background:#fff;
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(32,40,62,.10);
}
.entry-content .fm-fish-img{
  width:106px;
  height:90px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--fmc-line);
  border-radius:0;
  font-size:36px;
}
.entry-content .fm-fish-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
  margin:0;
}
.entry-content .fm-fish-content h3{
  font-size:17.5px;
  line-height:1.2;
  margin:0 0 9px;
}
.entry-content .fm-fish-primary{
  display:inline-flex;
  vertical-align:middle;
  margin-left:8px;
  background:var(--fmc-navy);
  color:#fff;
  padding:3px 8px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}
.entry-content .fm-fish-meter{
  display:grid;
  grid-template-columns:68px minmax(72px,1fr) auto;
  gap:9px;
  align-items:center;
  margin:6px 0;
}
.entry-content .fm-fish-meter span{
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--fmc-mut);
}
.entry-content .fm-fish-meter div{
  height:11px;
  background:#dde4ee;
  overflow:hidden;
}
.entry-content .fm-fish-meter i{
  display:block;
  height:100%;
  min-width:8px;
  background:var(--fmc-blue);
}
.entry-content .fm-fish-meter strong{
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  color:var(--fmc-navy);
}
.entry-content .fm-fish-level-1 i{background:var(--fmc-s1)}
.entry-content .fm-fish-level-2 i{background:var(--fmc-s2)}
.entry-content .fm-fish-level-3 i{background:var(--fmc-s3)}
.entry-content .fm-fish-level-4 i{background:var(--fmc-s4)}
/* sulla difficolta' la scala si legge al contrario: alto = difficile */
.entry-content .fm-fish-difficulty.fm-fish-level-1 i{background:var(--fmc-s3)}
.entry-content .fm-fish-difficulty.fm-fish-level-2 i{background:var(--fmc-s2)}
.entry-content .fm-fish-difficulty.fm-fish-level-3 i{background:#e0752f}
.entry-content .fm-fish-difficulty.fm-fish-level-4 i{background:var(--fmc-s1)}

.entry-content .fm-campo-section .fm-fish-period,
.entry-content .fm-campo-section .fm-fish-notes{
  font-size:12.5px;
  line-height:1.5;
  margin:8px 0 0;
}
.entry-content .fm-fish-period strong{font-weight:900;color:var(--fmc-navy)}
.entry-content .fm-fish-notes{color:#4b596d}

/* =========================================================================
   9. TECNICHE CONSIGLIATE — lista a filetti, niente cornici doppie
   ========================================================================= */

.entry-content .fm-tech-box{
  border:1px solid var(--fmc-line);
  background:#fff;
  padding:var(--fmc-pad-box);
}
.entry-content .fm-tech-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid var(--fmc-line);
}
.entry-content .fm-tech-item{
  border:0;
  border-bottom:1px solid var(--fmc-line);
  background:transparent;
  padding:16px 4px;
  transition:background .18s ease, padding-left .18s ease;
}
.entry-content .fm-tech-item:hover{
  background:var(--fmc-sky);
  padding-left:14px;
}
.entry-content .fm-tech-main{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.entry-content .fm-tech-main strong{
  font-size:18px;
  font-weight:850;
  color:var(--fmc-navy);
}
.entry-content .fm-tech-main span{
  font-size:13px;
  font-weight:800;
  color:var(--fmc-mut);
  white-space:nowrap;
}
.entry-content .fm-tech-bar{
  height:8px;
  background:#dde4ee;
  margin:12px 0 0;
  overflow:hidden;
}
.entry-content .fm-tech-bar i{
  display:block;
  height:100%;
  background:var(--fmc-blue);
}
.entry-content .fm-campo-section .fm-tech-item p{
  font-size:14px;
  line-height:1.6;
  margin:10px 0 0;
  color:#4b596d;
}

/* =========================================================================
   10. SERVIZI UTILI (POI) — schede orizzontali, partner in evidenza
   ========================================================================= */

.entry-content .fm-poi-box{
  border-top:3px solid var(--fmc-navy);
  padding-top:28px;
}
.entry-content .fm-poi-section-head h2{margin-bottom:8px}
.entry-content .fm-campo-section .fm-poi-section-head p{
  margin:0 0 22px;
  font-size:14.5px;
  line-height:1.6;
  color:var(--fmc-mut);
}
.entry-content .fm-poi-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.entry-content .fm-poi-card{
  position:relative;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-line);
  background:#fff;
  padding:16px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.entry-content .fm-poi-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(32,40,62,.10);
  border-top-color:var(--fmc-blue);
}
.entry-content .fm-poi-sponsored{
  border-top-color:var(--fmc-blue);
  background:linear-gradient(180deg,var(--fmc-sky) 0, #fff 90px);
}
.entry-content .fm-poi-image{line-height:0;height:100%}
.entry-content .fm-poi-image img{
  width:100%;
  height:100%;
  min-height:122px;
  object-fit:cover;
  border:1px solid var(--fmc-line);
  border-radius:0;
  margin:0;
}
.entry-content .fm-poi-topline{
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:7px;
}
.entry-content .fm-poi-badge{
  display:inline-block;
  background:var(--fmc-navy);
  color:#fff;
  padding:4px 9px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}
.entry-content .fm-campo-section .fm-poi-type{
  margin:0;
  font-size:10.5px;
  line-height:1;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--fmc-mut);
}
.entry-content .fm-poi-content h3{
  font-size:18.5px;
  line-height:1.25;
  margin:0 0 6px;
}
.entry-content .fm-poi-content h3 a{
  color:var(--fmc-navy);
  text-decoration:none;
}
.entry-content .fm-poi-content h3 a:hover{color:var(--fmc-blued);text-decoration:none}
.entry-content .fm-campo-section .fm-poi-meta,
.entry-content .fm-campo-section .fm-poi-desc,
.entry-content .fm-campo-section .fm-poi-notes{
  font-size:13.5px;
  line-height:1.55;
  margin:6px 0;
  color:#4b596d;
}
.entry-content .fm-poi-advantage{
  border-left:3px solid var(--fmc-blue);
  background:var(--fmc-sky);
  padding:10px 13px;
  margin:11px 0;
  font-size:13.5px;
  line-height:1.5;
}
.entry-content .fm-poi-advantage strong{
  display:block;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--fmc-navy);
  margin-bottom:3px;
}
.entry-content .fm-poi-services{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:11px 0;
}
.entry-content .fm-poi-services span{
  display:inline-flex;
  border:1px solid var(--fmc-line);
  background:var(--fmc-paper);
  color:var(--fmc-navy);
  padding:5px 9px;
  font-size:11px;
  font-weight:750;
  line-height:1.1;
}
.entry-content .fm-poi-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:13px;
}
.entry-content .fm-poi-actions a,
.entry-content .fm-service-actions a{
  display:inline-block;
  border:1px solid var(--fmc-navy);
  background:#fff;
  color:var(--fmc-navy);
  padding:8px 13px;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
  letter-spacing:.5px;
  text-transform:uppercase;
  border-radius:0;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.entry-content .fm-poi-actions a:hover,
.entry-content .fm-service-actions a:hover{
  background:var(--fmc-navy);
  color:#fff;
  text-decoration:none;
  transform:translateY(-2px);
}
.entry-content .fm-poi-actions a.fm-poi-primary,
.entry-content .fm-service-actions a.fm-primary{
  background:var(--fmc-blue);
  border-color:var(--fmc-blue);
  color:#fff;
}
.entry-content .fm-poi-actions a.fm-poi-primary:hover,
.entry-content .fm-service-actions a.fm-primary:hover{
  background:var(--fmc-blued);
  border-color:var(--fmc-blued);
}

/* =========================================================================
   11. VALUTAZIONE FISHINGMANIA — unico blocco su fondo navy
   E' il giudizio della redazione: deve staccare da tutto il resto.
   ========================================================================= */

.entry-content .fm-rating-box{
  background:var(--fmc-navy);
  border:0;
  padding:var(--fmc-pad-box) var(--fmc-pad-box) 28px;
  clip-path:var(--fmc-cut);
  position:relative;
  overflow:hidden;
}
.entry-content .fm-rating-box::after{
  /* eco di onde, coerente con il monogramma FM */
  content:"";
  position:absolute;
  right:-60px;
  bottom:-70px;
  width:260px;
  height:260px;
  background:radial-gradient(circle, rgba(68,165,239,.16) 0 38%, transparent 39%),
             radial-gradient(circle, rgba(68,165,239,.12) 0 58%, transparent 59%);
  pointer-events:none;
}
.entry-content .fm-rating-box h2{
  color:#fff;
  border-left-color:var(--fmc-blue);
  margin:0 0 20px;
  position:relative;
}
.entry-content .fm-rating-overall{
  display:flex;
  gap:14px;
  align-items:baseline;
  flex-wrap:wrap;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.16);
  background:transparent;
  padding:0 0 18px;
  margin:0 0 18px;
  position:relative;
}
.entry-content .fm-rating-overall strong{
  font-size:26px;
  font-weight:900;
  color:#fff;
}
.entry-content .fm-rating-overall span{
  font-size:13px;
  font-weight:600;
  color:#a9bcd4;
}
.entry-content .fm-rating-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  position:relative;
}
.entry-content .fm-rating-row{
  display:grid;
  grid-template-columns:190px minmax(90px,1fr) 116px;
  align-items:center;
  gap:14px;
  border:0;
  background:transparent;
  padding:0;
  white-space:normal;
}
.entry-content .fm-rating-row span{
  font-size:13px;
  font-weight:800;
  color:#dbe6f4;
}
.entry-content .fm-rating-bar{
  height:10px;
  background:rgba(255,255,255,.14);
  overflow:hidden;
}
.entry-content .fm-rating-bar i{
  display:block;
  height:100%;
  background:var(--fmc-blue);
}
.entry-content .fm-rating-level-1 .fm-rating-bar i{background:var(--fmc-s1)}
.entry-content .fm-rating-level-2 .fm-rating-bar i{background:var(--fmc-s2)}
.entry-content .fm-rating-level-3 .fm-rating-bar i{background:var(--fmc-s3)}
.entry-content .fm-rating-level-4 .fm-rating-bar i,
.entry-content .fm-rating-level-5 .fm-rating-bar i{background:var(--fmc-blue)}
.entry-content .fm-rating-row strong{
  font-size:12.5px;
  font-weight:800;
  text-align:right;
  white-space:nowrap;
  color:#fff;
}
.entry-content .fm-stars{
  color:var(--fmc-star);
  letter-spacing:1px;
  white-space:nowrap;
}

/* =========================================================================
   12. GALLERIA — riquadri quadrati + lightbox proprio
   ========================================================================= */

.entry-content .fm-gallery-count{
  font-size:10.5px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--fmc-mut);
  margin:-8px 0 14px;
}
.entry-content .fm-campo-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;
}
.entry-content .fm-campo-gallery figure{margin:0}
.entry-content .fm-campo-gallery a.fm-gallery-link{
  position:relative;
  display:block;
  overflow:hidden;
  border:1px solid var(--fmc-line);
  background:var(--fmc-sky);
  aspect-ratio:1 / 1;
  cursor:zoom-in;
}
.entry-content .fm-campo-gallery a.fm-gallery-link img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.entry-content .fm-campo-gallery a.fm-gallery-link:hover img{transform:scale(1.07)}
/* velo navy + icona lente, comparsa dal basso */
.entry-content .fm-campo-gallery a.fm-gallery-link::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(22,28,44,0) 40%, rgba(22,28,44,.72) 100%);
  opacity:0;
  transition:opacity .25s ease;
}
.entry-content .fm-campo-gallery a.fm-gallery-link:hover::before,
.entry-content .fm-campo-gallery a.fm-gallery-link:focus-visible::before{opacity:1}
.entry-content .fm-campo-gallery a.fm-gallery-link span{
  position:absolute;
  left:10px;
  bottom:10px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--fmc-blue);
  color:#fff;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:7px 11px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
  transform:translateY(12px);
  opacity:0;
  transition:opacity .25s ease, transform .25s ease;
}
.entry-content .fm-campo-gallery a.fm-gallery-link:hover span,
.entry-content .fm-campo-gallery a.fm-gallery-link:focus-visible span{
  opacity:1;
  transform:translateY(0);
}
.entry-content .fm-campo-gallery a.fm-gallery-link:focus-visible{
  outline:3px solid var(--fmc-blue);
  outline-offset:2px;
}

/* --- lightbox (viene spostato in fondo al body) --- */
.fm-lb{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  background:rgba(13,17,28,.94);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  opacity:0;
  transition:opacity .22s ease;
}
.fm-lb.is-open{display:block}
.fm-lb.is-visible{opacity:1}
.fm-lb__stage{
  position:absolute;
  inset:64px 20px 78px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fm-lb__img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
  border:0;
  box-shadow:0 30px 70px rgba(0,0,0,.55);
  opacity:0;
  transform:scale(.97);
  transition:opacity .25s ease, transform .25s cubic-bezier(.2,.7,.3,1);
}
.fm-lb__img.is-ready{opacity:1;transform:none}
.fm-lb__bar{
  position:absolute;
  top:0; left:0; right:0;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 18px;
  color:#fff;
}
.fm-lb__count{
  font-size:12px;
  font-weight:900;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:#fff;
  background:var(--fmc-blue,#44a5ef);
  padding:8px 14px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}
.fm-lb__caption{
  position:absolute;
  left:20px; right:20px; bottom:0;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:14px;
  line-height:1.45;
  font-weight:600;
  color:#c8d6e8;
}
.fm-lb button{
  font-family:inherit;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  border-radius:0;
  padding:0;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.fm-lb button:hover{
  background:var(--fmc-blue,#44a5ef);
  border-color:var(--fmc-blue,#44a5ef);
}
.fm-lb__close{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  font-size:26px;
  line-height:1;
  font-weight:300;
  clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition:background .18s ease, border-color .18s ease, transform .25s ease;
}
.fm-lb__close:hover{transform:rotate(90deg)}
.fm-lb__nav{
  position:absolute;
  top:50%;
  width:54px;
  height:70px;
  margin-top:-35px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.30);
  clip-path:polygon(11px 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%, 0 11px);
}
.fm-lb__nav::before{
  content:"";
  width:15px;
  height:20px;
  background:#fff;
}
.fm-lb__prev{left:14px}
.fm-lb__next{right:14px}
.fm-lb__prev::before{clip-path:polygon(100% 0, 100% 100%, 0 50%)}
.fm-lb__next::before{clip-path:polygon(0 0, 100% 50%, 0 100%)}
.fm-lb__prev:hover{transform:translateX(-4px)}
.fm-lb__next:hover{transform:translateX(4px)}
.fm-lb[data-single="1"] .fm-lb__nav,
.fm-lb[data-single="1"] .fm-lb__count{display:none}
body.fm-lb-open{overflow:hidden}

/* =========================================================================
   13. VIDEO E REEL
   ========================================================================= */

.entry-content .fm-video-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.entry-content .fm-video-grid.fm-video-count-many{grid-template-columns:repeat(2,minmax(0,1fr))}
.entry-content .fm-video-card{margin:0;max-width:100%}
.entry-content .fm-video-embed{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  padding:0;
  background:#000;
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-blue);
  border-radius:0;
  overflow:hidden;
}
.entry-content .fm-video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  border:0;
}
.entry-content .fm-video-card h3{
  font-size:16px;
  line-height:1.4;
  margin:12px 0 0;
}
.entry-content .fm-social-video-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:18px;
}
.entry-content .fm-social-video-card{
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-blue);
  background:#fff;
  padding:16px;
}
.entry-content .fm-social-video-card h3{font-size:16px;margin:0 0 12px}
.entry-content .fm-social-video-card iframe{width:100%;border:0}
.entry-content .fm-social-video-card .instagram-media{min-width:0;width:100%}
.entry-content .fm-social-video-link{
  display:inline-block;
  margin-top:12px;
  font-size:12px;
  font-weight:850;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--fmc-blued);
}

/* =========================================================================
   14. FAQ — accordion a filetti
   ========================================================================= */

.entry-content .fm-faq-list{
  border-top:1px solid var(--fmc-line);
}
.entry-content .fm-faq-item{
  border:0;
  border-bottom:1px solid var(--fmc-line);
  background:transparent;
  margin:0;
  transition:background .18s ease;
}
.entry-content .fm-faq-item[open]{background:var(--fmc-sky)}
.entry-content .fm-faq-item summary{
  cursor:pointer;
  list-style:none;
  position:relative;
  padding:18px 52px 18px 16px;
  font-size:17px;
  font-weight:800;
  line-height:1.4;
  color:var(--fmc-navy);
  transition:color .18s ease;
}
.entry-content .fm-faq-item summary::-webkit-details-marker{display:none}
.entry-content .fm-faq-item summary:hover{color:var(--fmc-blued)}
.entry-content .fm-faq-item summary::after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:20px;
  height:20px;
  margin-top:-10px;
  background:var(--fmc-blue);
  clip-path:polygon(42% 0, 58% 0, 58% 42%, 100% 42%, 100% 58%, 58% 58%, 58% 100%, 42% 100%, 42% 58%, 0 58%, 0 42%, 42% 42%);
  transition:transform .25s cubic-bezier(.2,.7,.3,1);
}
.entry-content .fm-faq-item[open] summary::after{transform:rotate(135deg)}
.entry-content .fm-faq-item > div{padding:0 52px 20px 16px}
.entry-content .fm-campo-section .fm-faq-item p{
  font-size:15.5px;
  line-height:1.75;
  margin:0 0 .9em;
}
.entry-content .fm-campo-section .fm-faq-item p:last-child{margin-bottom:0}

/* =========================================================================
   15. ARTICOLI CORRELATI
   ========================================================================= */

.entry-content .fm-related-posts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}
.entry-content .fm-related-card{
  border:1px solid var(--fmc-line);
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease;
}
.entry-content .fm-related-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(32,40,62,.12);
}
.entry-content .fm-related-card > a{display:block;line-height:0;overflow:hidden}
.entry-content .fm-related-card img{
  width:100%;
  height:150px;
  object-fit:cover;
  display:block;
  margin:0;
  border-radius:0;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.entry-content .fm-related-card:hover img{transform:scale(1.06)}
.entry-content .fm-related-card h3{
  font-size:16px;
  line-height:1.35;
  margin:0;
  padding:14px 15px 16px;
}
.entry-content .fm-related-card h3 a{
  color:var(--fmc-navy);
  text-decoration:none;
}
.entry-content .fm-related-card h3 a:hover{color:var(--fmc-blued);text-decoration:none}

/* =========================================================================
   16. SCHEDA SINGOLA "PUNTO DI INTERESSE" (servizio utile)
   ========================================================================= */

.entry-content .fm-service-wrap{margin-top:36px}
.entry-content .fm-service-card,
.entry-content .fm-service-box{
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-blue);
  background:#fff;
  border-radius:0;
  padding:24px;
  margin:26px 0;
  box-shadow:none;
}
.entry-content .fm-service-card h2,
.entry-content .fm-service-box h2{margin:0 0 18px}
.entry-content .fm-service-badge{
  display:inline-block;
  background:var(--fmc-navy);
  color:#fff;
  padding:5px 11px;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:14px;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}
.entry-content .fm-service-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.entry-content .fm-service-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;
  background:#fff;
  border:1px solid var(--fmc-line);
  margin-top:18px;
}
.entry-content .fm-service-meta div{
  background:#fff;
  border:0;
  box-shadow:0 0 0 1px var(--fmc-line);
  padding:14px 16px;
}
.entry-content .fm-service-map{
  height:420px;
  border:1px solid var(--fmc-line);
  border-top:3px solid var(--fmc-blue);
  border-radius:0;
  background:var(--fmc-sky);
}
.entry-content .fm-poi-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;
}

/* =========================================================================
   17. ANIMAZIONI

   Regola di sicurezza: lo stato FINALE e' quello di default. Le animazioni
   partono solo quando il JavaScript aggiunge .is-in. Se lo script non gira,
   o se l'utente ha chiesto meno movimento, si vede tutto fermo e completo —
   mai un grafico bloccato a zero.

   I grafici crescono con transform (scaleX / scaleY), non con width o height:
   cosi' non serve conoscere il valore di arrivo, che il PHP scrive inline.
   ========================================================================= */

/* --- comparsa dei blocchi --- */
.entry-content .fm-cg-rv{
  opacity:0;
  transform:translateY(26px);
}
.entry-content .fm-cg-rv.is-in{
  opacity:1;
  transform:none;
  animation:fm-cg-rise .7s cubic-bezier(.2,.7,.3,1) backwards;
}
@keyframes fm-cg-rise{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:none}
}

/* --- barre verticali: i mesi del periodo migliore --- */
.entry-content .fm-period-box.is-in .fm-period-bar{
  transform-origin:bottom center;
  animation:fm-cg-grow-y .75s cubic-bezier(.2,.75,.3,1) backwards;
}
@keyframes fm-cg-grow-y{
  from{transform:scaleY(0)}
  to{transform:scaleY(1)}
}
/* i dodici mesi entrano a cascata, da gennaio a dicembre */
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(1) .fm-period-bar{animation-delay:.05s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(2) .fm-period-bar{animation-delay:.10s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(3) .fm-period-bar{animation-delay:.15s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(4) .fm-period-bar{animation-delay:.20s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(5) .fm-period-bar{animation-delay:.25s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(6) .fm-period-bar{animation-delay:.30s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(7) .fm-period-bar{animation-delay:.35s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(8) .fm-period-bar{animation-delay:.40s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(9) .fm-period-bar{animation-delay:.45s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(10) .fm-period-bar{animation-delay:.50s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(11) .fm-period-bar{animation-delay:.55s}
.entry-content .fm-period-box.is-in .fm-period-month:nth-child(12) .fm-period-bar{animation-delay:.60s}

/* --- barre orizzontali: specie, tecniche, valutazione --- */
.entry-content .fm-fish-box.is-in .fm-fish-meter i,
.entry-content .fm-tech-box.is-in .fm-tech-bar i,
.entry-content .fm-rating-box.is-in .fm-rating-bar i{
  transform-origin:left center;
  animation:fm-cg-grow-x .85s cubic-bezier(.2,.75,.3,1) backwards;
}
@keyframes fm-cg-grow-x{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
.entry-content .fm-rating-box.is-in .fm-rating-row:nth-child(1) .fm-rating-bar i{animation-delay:.08s}
.entry-content .fm-rating-box.is-in .fm-rating-row:nth-child(2) .fm-rating-bar i{animation-delay:.16s}
.entry-content .fm-rating-box.is-in .fm-rating-row:nth-child(3) .fm-rating-bar i{animation-delay:.24s}
.entry-content .fm-rating-box.is-in .fm-rating-row:nth-child(4) .fm-rating-bar i{animation-delay:.32s}
.entry-content .fm-rating-box.is-in .fm-rating-row:nth-child(5) .fm-rating-bar i{animation-delay:.40s}
.entry-content .fm-fish-box.is-in .fm-fish-difficulty i{animation-delay:.12s}
.entry-content .fm-tech-box.is-in .fm-tech-item:nth-child(2) .fm-tech-bar i{animation-delay:.10s}
.entry-content .fm-tech-box.is-in .fm-tech-item:nth-child(3) .fm-tech-bar i{animation-delay:.20s}
.entry-content .fm-tech-box.is-in .fm-tech-item:nth-child(4) .fm-tech-bar i{animation-delay:.30s}
.entry-content .fm-tech-box.is-in .fm-tech-item:nth-child(5) .fm-tech-bar i{animation-delay:.40s}

/* --- celle e schede che entrano a cascata --- */
.entry-content .fm-dati-rapidi.is-in .fm-dati-item,
.entry-content .fm-weather-box.is-in .fm-weather-days article,
.entry-content .fm-weather-box.is-in .fm-weather-metrics div,
.entry-content .fm-fish-box.is-in .fm-fish-card,
.entry-content .fm-poi-box.is-in .fm-poi-card,
.entry-content .fm-campo-section.is-in .fm-related-card{
  animation:fm-cg-cell .55s ease backwards;
}
@keyframes fm-cg-cell{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
.entry-content .fm-dati-rapidi.is-in .fm-dati-item:nth-child(2),
.entry-content .fm-weather-box.is-in .fm-weather-metrics div:nth-child(2),
.entry-content .fm-weather-box.is-in .fm-weather-days article:nth-child(2),
.entry-content .fm-fish-box.is-in .fm-fish-card:nth-child(2),
.entry-content .fm-poi-box.is-in .fm-poi-card:nth-child(2),
.entry-content .fm-campo-section.is-in .fm-related-card:nth-child(2){animation-delay:.07s}
.entry-content .fm-dati-rapidi.is-in .fm-dati-item:nth-child(3),
.entry-content .fm-weather-box.is-in .fm-weather-metrics div:nth-child(3),
.entry-content .fm-weather-box.is-in .fm-weather-days article:nth-child(3),
.entry-content .fm-fish-box.is-in .fm-fish-card:nth-child(3),
.entry-content .fm-poi-box.is-in .fm-poi-card:nth-child(3),
.entry-content .fm-campo-section.is-in .fm-related-card:nth-child(3){animation-delay:.14s}
.entry-content .fm-dati-rapidi.is-in .fm-dati-item:nth-child(4),
.entry-content .fm-weather-box.is-in .fm-weather-metrics div:nth-child(4),
.entry-content .fm-fish-box.is-in .fm-fish-card:nth-child(4),
.entry-content .fm-poi-box.is-in .fm-poi-card:nth-child(4),
.entry-content .fm-campo-section.is-in .fm-related-card:nth-child(4){animation-delay:.21s}
.entry-content .fm-dati-rapidi.is-in .fm-dati-item:nth-child(n+5),
.entry-content .fm-fish-box.is-in .fm-fish-card:nth-child(n+5),
.entry-content .fm-poi-box.is-in .fm-poi-card:nth-child(n+5){animation-delay:.28s}

/* --- foto della galleria --- */
.entry-content .fm-campo-section.is-in .fm-campo-gallery figure{
  animation:fm-cg-photo .5s ease backwards;
}
@keyframes fm-cg-photo{
  from{opacity:0;transform:scale(.94)}
  to{opacity:1;transform:none}
}
.entry-content .fm-campo-section.is-in .fm-campo-gallery figure:nth-child(2){animation-delay:.06s}
.entry-content .fm-campo-section.is-in .fm-campo-gallery figure:nth-child(3){animation-delay:.12s}
.entry-content .fm-campo-section.is-in .fm-campo-gallery figure:nth-child(4){animation-delay:.18s}
.entry-content .fm-campo-section.is-in .fm-campo-gallery figure:nth-child(5){animation-delay:.24s}
.entry-content .fm-campo-section.is-in .fm-campo-gallery figure:nth-child(n+6){animation-delay:.30s}

/* --- temperatura del meteo: entra dopo la testata --- */
.entry-content .fm-weather-box.is-in .fm-weather-current{
  animation:fm-cg-cell .6s ease .1s backwards;
}
.entry-content .fm-weather-box.is-in .fm-weather-badge{
  animation:fm-cg-badge .5s cubic-bezier(.2,.8,.3,1.2) .25s backwards;
}
@keyframes fm-cg-badge{
  from{opacity:0;transform:translateX(-14px)}
  to{opacity:1;transform:none}
}

/* In stampa (e in PDF) niente animazioni: un blocco non ancora rivelato
   uscirebbe come pagina bianca. */
@media print{
  .entry-content .fm-cg-rv,
  .entry-content .fm-cg-rv.is-in,
  .entry-content [class*="fm-"].is-in *{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .entry-content .fm-cg-rv,
  .entry-content .fm-cg-rv.is-in,
  .entry-content [class*="fm-"].is-in *{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
  .entry-content .fm-campo-gallery a.fm-gallery-link img,
  .entry-content .fm-related-card img,
  .fm-lb,
  .fm-lb__img{transition:none}
  .entry-content .fm-poi-card:hover,
  .entry-content .fm-fish-card:hover,
  .entry-content .fm-related-card:hover,
  .entry-content .fm-weather-days article:hover,
  .entry-content .fm-period-month:hover{transform:none}
}

/* =========================================================================
   18. RESPONSIVE
   ========================================================================= */

@media (max-width:900px){
  :root{--fmc-gap-sec:44px;--fmc-pad-box:20px}
  .entry-content .fm-fish-grid{grid-template-columns:1fr}
  .entry-content .fm-weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entry-content .fm-period-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .entry-content .fm-video-grid.fm-video-count-many{grid-template-columns:1fr}
  .entry-content .fm-rating-row{grid-template-columns:150px minmax(80px,1fr) 108px}
  .entry-content .fm-map-wrap > div[id^="fm-map-"]{min-height:400px}
}

@media (max-width:640px){
  .entry-content .fm-campo-section p,
  .entry-content .fm-campo-section li{font-size:16px}
  .entry-content .fm-intro{padding-left:16px}
  .entry-content .fm-intro p{font-size:17px}
  .entry-content .fm-dati-grid{grid-template-columns:1fr}
  .entry-content .fm-dati-rapidi h2{padding:15px 18px;font-size:14.5px}
  .entry-content .fm-weather-head{flex-direction:column;align-items:stretch}
  .entry-content .fm-weather-current{flex-direction:row;justify-content:center;gap:12px;align-items:center}
  .entry-content .fm-weather-current small{margin-top:0;text-align:left}
  .entry-content .fm-weather-days{grid-template-columns:1fr}
  .entry-content .fm-weather-days article strong{min-height:0}
  .entry-content .fm-period-box{clip-path:none}
  .entry-content .fm-period-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .entry-content .fm-period-month{min-height:112px}
  .entry-content .fm-period-head span{display:none}
  .entry-content .fm-fish-card{grid-template-columns:72px 1fr;gap:11px;padding:12px}
  .entry-content .fm-fish-img{width:72px;height:64px}
  /* su schermo stretto l'etichetta va sopra, cosi' la barra resta leggibile */
  .entry-content .fm-fish-meter{grid-template-columns:1fr auto;gap:4px 9px;margin:9px 0}
  .entry-content .fm-fish-meter span{grid-column:1 / -1}
  .entry-content .fm-fish-meter div{grid-column:1}
  .entry-content .fm-fish-meter strong{grid-column:2}
  .entry-content .fm-poi-card{grid-template-columns:1fr}
  .entry-content .fm-poi-image img{height:180px}
  .entry-content .fm-rating-box{clip-path:none}
  .entry-content .fm-rating-row{grid-template-columns:1fr;gap:6px}
  .entry-content .fm-rating-row strong{text-align:left}
  .entry-content .fm-campo-gallery,
  .entry-content .fm-poi-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
  .entry-content .fm-faq-item summary{font-size:16px;padding:16px 46px 16px 12px}
  .entry-content .fm-faq-item > div{padding:0 16px 18px 12px}
  .fm-lb__stage{inset:58px 10px 70px}
  .fm-lb__nav{width:44px;height:56px;margin-top:-28px}
  .fm-lb__prev{left:6px}
  .fm-lb__next{right:6px}
}
