/* Meteo e webcam [vb_meteo]. Token del sito: blu #26495d, cielo #4f95bd, arancio #ee7d17, Adelle per i titoli, Manrope per il testo. */
.vbmt{--mare:var(--vb-mare);--ink:var(--vb-inchiostro);--notte:var(--vb-notte);--cielo:var(--vb-cielo);--cielo-chiaro:var(--vb-cielo-chiaro);--nebbia:var(--vb-nebbia);--chiaro:var(--vb-chiaro);
  --arancio:var(--vb-arancio);--arancio-chiaro:var(--vb-arancio-chiaro);--grigio:var(--vb-grigio);--bordo:var(--vb-bordo);
  --serif:"Adelle",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;font-family:var(--sans);color:var(--ink);background:#fff}
.vbmt *{box-sizing:border-box}
.vbmt p{margin:0}
.vbmt h1,.vbmt h2,.vbmt h3{font-family:var(--serif);font-weight:300;color:var(--ink);margin:0;line-height:1.12}
.vbmt-wrap{max-width:1228px;margin:0 auto;padding:0 24px}
.vbmt-ora,.vbmt-g-ico{position:relative}
.vbmt-sr{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vbmt-ico{width:28px;height:28px;flex:none}
.vbmt-freccia{width:14px;height:14px;vertical-align:-2px;display:inline-block}
.vbmt small{font-size:.6em;font-weight:500;color:inherit;opacity:.8}

/* ---------- Hero: la webcam del lungomare, in diretta ---------- */
.vbmt-hero{position:relative;min-height:min(82vh,760px);display:flex;align-items:flex-end;background:var(--notte);overflow:hidden;color:#fff}
.vbmt .vbmt-hero-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 60%}
.vbmt-hero-velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,48,61,.45) 0%,rgba(23,48,61,0) 30%,rgba(23,48,61,.15) 55%,rgba(23,48,61,.82) 100%)}
.vbmt-hero-in{position:relative;width:100%;padding-top:150px;padding-bottom:44px}
.vbmt-kicker{font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px!important}
.vbmt .vbmt-hero h1{color:#fff;font-size:clamp(2.3rem,5vw,4.2rem);text-shadow:0 2px 24px rgba(0,0,0,.35);margin-bottom:22px}
.vbmt-ora-box{display:inline-flex;align-items:center;gap:16px;padding:14px 22px 14px 16px;border-radius:20px;background:rgba(23,48,61,.55);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}
.vbmt-ora-ico .vbmt-ico{width:52px;height:52px;stroke-width:1.4}
.vbmt-ora-temp{font:300 clamp(3rem,6vw,4.4rem)/1 var(--serif)}
.vbmt-ora-testi{display:flex;flex-direction:column;gap:4px}
.vbmt-ora-cielo{font-size:19px;font-weight:600}
.vbmt-ora-perc{font-size:14.5px;color:#dbe8ef}
.vbmt-hero-nota{margin-top:16px!important;font-size:13.5px;color:#dbe8ef;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.vbmt-hero-nota a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vbmt-punto{width:8px;height:8px;border-radius:50%;background:#ff5a4f;box-shadow:0 0 0 0 rgba(255,90,79,.6);animation:vbmt-pulsa 2s infinite}
@keyframes vbmt-pulsa{70%{box-shadow:0 0 0 8px rgba(255,90,79,0)}100%{box-shadow:0 0 0 0 rgba(255,90,79,0)}}

/* ---------- Sezioni ---------- */
.vbmt-sez{padding:56px 0}
.vbmt-sez-head{max-width:760px;margin-bottom:26px}
.vbmt .vbmt-sez-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:12px}
.vbmt-sez-head p{font-size:16.5px;line-height:1.65;color:var(--grigio)}
.vbmt .vbmt-h3{font-size:21px;margin:30px 0 14px}
.vbmt-fonte{margin-top:20px!important;font-size:13px;line-height:1.5;color:var(--grigio)}
.vbmt-fonte a{color:var(--mare)}

/* Adesso: riquadri sotto la hero */
.vbmt-adesso{padding:28px 0 8px;background:var(--chiaro)}
.vbmt-adesso-griglia{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.vbmt-tile{background:#fff;border:1px solid var(--bordo);border-radius:18px;padding:16px 18px;min-height:118px}
.vbmt-tile-lab{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cielo);margin-bottom:6px!important}
.vbmt-tile-val{font:300 30px/1.1 var(--serif);color:var(--ink);white-space:nowrap}
.vbmt-tile-nota{margin-top:6px!important;font-size:13px;line-height:1.4;color:var(--grigio)}
.vbmt-allerta{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;border-radius:18px;border:1px solid var(--bordo);
  background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s}
.vbmt-allerta:hover{border-color:var(--mare)}
.vbmt-allerta-ico{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 18px var(--sans);background:var(--nebbia);color:var(--mare)}
.vbmt-allerta-ok .vbmt-allerta-ico{background:#e3f1e6;color:#2e6b3d}
.vbmt-allerta-ok .vbmt-allerta-ico::before{content:"✓"}.vbmt-allerta-ok .vbmt-allerta-ico{font-size:0}.vbmt-allerta-ok .vbmt-allerta-ico::before{font-size:17px}
.vbmt-allerta b{display:block;font-size:15.5px}
.vbmt-allerta-data,.vbmt-allerta-fonte{display:block;font-size:13px;color:var(--grigio);margin-top:2px}
.vbmt-allerta-data:empty{display:none}

/* Webcam */
.vbmt-webcam{background:var(--chiaro)}
.vbmt-cam-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.vbmt-cam{margin:0;background:#fff;border:1px solid var(--bordo);border-radius:18px;overflow:hidden}
.vbmt .vbmt-cam-apri{all:unset;box-sizing:border-box;display:block;position:relative;width:100%;aspect-ratio:16/9;cursor:zoom-in;background:var(--nebbia)}
.vbmt-cam-apri:focus-visible{outline:3px solid var(--arancio);outline-offset:-3px}
.vbmt-cam img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vbmt-cam-apri:hover img{transform:scale(1.02)}
.vbmt-cam-live{position:absolute;top:12px;right:12px;padding:4px 10px 4px 22px;border-radius:999px;background:rgba(23,48,61,.7);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.vbmt-cam-live::before{content:"";position:absolute;left:10px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#ff5a4f}
.vbmt-cam-spenta{display:none}
.vbmt-cam-off .vbmt-cam-apri{cursor:default}
.vbmt-cam-off img,.vbmt-cam-off .vbmt-cam-live{display:none}
.vbmt-cam-off .vbmt-cam-spenta{display:grid;place-items:center;position:absolute;inset:0;color:var(--grigio);font-size:15px;font-weight:600}
.vbmt-cam figcaption{padding:14px 18px 16px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.vbmt-cam-tit{font:500 19px/1.2 var(--serif);color:var(--ink)}
.vbmt-cam-ora{font-size:13.5px;color:var(--grigio)}

/* Previsioni: ore (scorrono in orizzontale) e 7 giorni */
.vbmt-ore{display:flex;gap:8px;overflow-x:auto;list-style:none;margin:0;padding:4px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}
.vbmt-ore:focus-visible{outline:2px solid var(--arancio);outline-offset:2px;border-radius:12px}
.vbmt-ora{flex:0 0 74px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:16px;border:1px solid var(--bordo);background:#fff;color:var(--ink)}
.vbmt-ora-ora{background:var(--ink);border-color:var(--ink);color:#fff}
.vbmt-ora-h{font-size:13px;font-weight:600;color:inherit;opacity:.85}
.vbmt-ora-t{font:400 20px/1 var(--serif)}
.vbmt-ora-p{font-size:12.5px;font-weight:600;color:var(--grigio);min-height:16px}
.vbmt-ora-ora .vbmt-ora-p{color:#dbe8ef}
.vbmt-alta{color:var(--cielo)!important}
.vbmt-ora-ora .vbmt-alta{color:#bfe0f2!important}
.vbmt-giorni{list-style:none;margin:0;padding:0;border-top:1px solid var(--bordo)}
.vbmt-giorno{display:grid;grid-template-columns:minmax(120px,1.3fr) 40px 44px 38px minmax(80px,2fr) 38px minmax(120px,1.2fr);align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid var(--bordo)}
.vbmt-g-nome b{font-weight:700}
.vbmt-g-nome span{color:var(--grigio);font-size:14px}
.vbmt-g-ico{color:var(--ink);display:flex}
.vbmt-g-p{font-size:13.5px;font-weight:600;color:var(--grigio)}
.vbmt-g-min{text-align:right;color:var(--grigio)}
.vbmt-g-max{font-weight:700}
.vbmt-g-barra{position:relative;height:6px;border-radius:999px;background:var(--nebbia)}
.vbmt-g-barra i{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--mare)}
.vbmt-g-vento{font-size:14px;color:var(--grigio);display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}
.vbmt-g-onde{flex-basis:100%;font-size:12.5px}

/* Clima: barre min–max dell'aria, punto per il mare, giorni di pioggia sotto (stessa scala in °C, un solo asse) */
.vbmt-clima{background:#fff}
.vbmt-legenda{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;margin:0 0 14px;padding:0;font-size:14px;color:var(--grigio)}
.vbmt-legenda li{display:flex;align-items:center;gap:8px;margin:0}
.vbmt-legenda i{display:inline-block}
.vbmt-leg-aria{width:8px;height:18px;border-radius:4px;background:var(--mare)}
.vbmt-leg-mare{width:12px;height:12px;border-radius:50%;background:var(--cielo);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--cielo)}
.vbmt-leg-gp{width:14px;height:8px;border-radius:2px;background:var(--cielo-chiaro)}
.vbmt-clima-grafico{position:relative;padding-left:34px;padding-top:12px}
.vbmt-clima-griglia{position:absolute;left:0;right:0;top:12px;height:240px}
.vbmt-clima-griglia span{position:absolute;left:0;right:0;border-top:1px solid #e9eef1}
.vbmt-clima-griglia b{position:absolute;left:0;top:-9px;font-size:12px;font-weight:500;color:var(--grigio);background:#fff;padding-right:4px}
.vbmt-clima-mesi{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;position:relative}
.vbmt-clima-mese{display:flex;flex-direction:column;align-items:center;border-radius:10px;outline:none;cursor:default}
.vbmt-clima-mese:hover,.vbmt-clima-mese:focus-visible{background:rgba(79,149,189,.08)}
.vbmt-clima-plot{position:relative;width:100%;height:240px}
.vbmt-clima-aria{position:absolute;left:50%;width:12px;margin-left:-6px;border-radius:4px;background:var(--mare)}
.vbmt-clima-mare{position:absolute;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--cielo);box-shadow:0 0 0 2px #fff}
.vbmt-clima-max{font-size:13px;font-weight:700;margin-top:6px}
.vbmt-clima-lab{font-size:13px;color:var(--grigio);text-transform:capitalize}
.vbmt-clima-gp{position:relative;width:100%;height:46px;margin-top:10px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.vbmt-clima-gp i{width:12px;height:var(--gp);border-radius:4px 4px 0 0;background:var(--cielo-chiaro)}
.vbmt-clima-gp b{position:absolute;top:-2px;font-size:11.5px;font-weight:600;color:var(--grigio)}
.vbmt-tip{position:absolute;top:8px;transform:translateX(-50%);z-index:3;padding:10px 12px;border-radius:12px;background:var(--notte);color:#fff;font-size:13px;line-height:1.5;
  pointer-events:none;white-space:nowrap;box-shadow:0 8px 24px rgba(10,30,40,.25)}
.vbmt-tip[hidden]{display:none}
.vbmt-tabella{margin-top:22px}
.vbmt-tabella summary{cursor:pointer;font-weight:600;color:var(--mare)}
.vbmt-tabella-scorri{overflow-x:auto;margin-top:12px}
.vbmt-tabella table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px}
.vbmt-tabella th,.vbmt-tabella td{padding:8px 10px;border-bottom:1px solid var(--bordo);text-align:right}
.vbmt-tabella th[scope=row],.vbmt-tabella thead th:first-child{text-align:left}
.vbmt-tabella thead th{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--grigio);font-weight:600}

/* Ingrandimento webcam */
.vbmt-dlg{border:0;padding:0;background:transparent;max-width:min(96vw,1400px);width:100%}
.vbmt-dlg::backdrop{background:rgba(10,24,32,.88)}
.vbmt-dlg img{display:block;width:100%;height:auto;border-radius:14px}
.vbmt-dlg-tit{color:#fff;font-size:15px;margin-top:10px!important;text-align:center}
.vbmt .vbmt-dlg-chiudi{all:unset;position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:rgba(23,48,61,.75);color:#fff;font-size:26px;cursor:pointer}
.vbmt-senza-dati .vbmt-ora-box,.vbmt-senza-dati .vbmt-adesso-griglia,.vbmt-senza-dati .vbmt-prev{display:none}

/* ---------- Tablet e telefono ---------- */
@media (max-width:1099px){ .vbmt-adesso-griglia{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:767px){
  .vbmt-wrap{padding:0 16px}
  .vbmt-hero{min-height:78svh}
  .vbmt-hero-in{padding-top:120px;padding-bottom:28px}
  .vbmt-ora-box{gap:12px;padding:12px 16px 12px 12px}
  .vbmt-ora-ico .vbmt-ico{width:40px;height:40px}
  .vbmt-ora-cielo{font-size:16px}
  .vbmt-sez{padding:40px 0}
  .vbmt-adesso-griglia{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .vbmt-tile{padding:14px;min-height:0}
  .vbmt-tile-val{font-size:26px}
  .vbmt-cam-griglia{grid-template-columns:1fr;gap:14px}
  .vbmt-giorno{grid-template-columns:1fr 30px 38px 30px minmax(50px,1fr) 30px;gap:8px;font-size:14.5px}
  .vbmt-g-vento{grid-column:1/-1;padding-left:2px;font-size:13px}
  .vbmt-g-onde{flex-basis:auto}
  .vbmt-g-nome span{display:block;font-size:12.5px}
  .vbmt-clima-grafico{padding-left:26px;overflow-x:auto}
  .vbmt-clima-mesi{min-width:520px}
  .vbmt-clima-griglia{min-width:546px}
}
@media (prefers-reduced-motion:reduce){.vbmt *{animation:none!important;transition:none!important}}
