/* =========================================================
   EVENTI — Hotel a Rimini
   ========================================================= */
.har-ev-page #page,.har-ev-page .site-content,.har-ev-page .grid-container.site{max-width:none!important;padding:0!important;margin:0!important;display:block}
.har-ev-page .site-main{margin:0!important}
.ev{overflow-x:clip;background:var(--paper)}
.ev-wrap{max-width:1240px;margin:0 auto;padding:0 32px}

/* ---------- Hero ---------- */
.ev-hero{position:relative;isolation:isolate;background:var(--ink);color:#fff;padding:120px 0 150px;overflow:hidden}
.ev-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);animation:evZoom 18s var(--ease) forwards}
.ev-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(13,31,45,.94) 0%,rgba(13,31,45,.78) 45%,rgba(13,31,45,.35) 100%),linear-gradient(0deg,rgba(13,31,45,.7),transparent 45%)}
@keyframes evZoom{to{transform:scale(1)}}
.ev-hero--cal{padding:110px 0 90px}
.ev-hero--cal::after{background:radial-gradient(120% 90% at 85% 10%,rgba(44,110,125,.55),transparent 60%),linear-gradient(160deg,#0d1f2d,#18303f)}
.ev-bc{display:flex;gap:10px;font-size:13px;font-weight:500;color:#b9c7ce;margin:0 0 34px}
.ev-bc a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.ev-bc a:hover{color:#ffd3c2;border-color:#ffd3c2}
.ev-kick{display:inline-flex;align-items:center;gap:12px;margin:0 0 20px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffb39e}
.ev-kick::before{content:"";width:28px;height:1px;background:currentColor}
.ev-hero h1{color:#fff;font-size:clamp(42px,6.2vw,86px);line-height:.96;letter-spacing:-.025em;max-width:960px;margin:0 0 24px}
.ev-sub{max-width:640px;margin:0 0 40px;font-size:19px;line-height:1.55;color:#d4dde2}
.ev-cd{display:flex;flex-wrap:wrap;align-items:center;gap:28px}
.ev-cd-n{display:flex;align-items:center;gap:14px}
.ev-cd-n b{font-family:var(--serif);font-weight:400;font-size:84px;line-height:.8;color:#fff;font-variant-numeric:tabular-nums}
.ev-cd-n span{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffb39e;line-height:1.5}
.ev-cd-s{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:14px;font-weight:600}
.ev-cd-s i{width:8px;height:8px;border-radius:50%;background:#ffb39e}
.ev-st-in-corso .ev-cd-s i{background:#5fd39a;box-shadow:0 0 0 0 rgba(95,211,154,.6);animation:evPing 1.8s infinite}
@keyframes evPing{70%{box-shadow:0 0 0 10px rgba(95,211,154,0)}100%{box-shadow:0 0 0 0 rgba(95,211,154,0)}}

/* ---------- Scheda essenziale ---------- */
.ev-scheda{position:relative;z-index:2;margin-top:-72px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0}
.ev-scheda>div{background:#fff;padding:26px 26px 24px;border:1px solid var(--line);margin-left:-1px}
.ev-scheda>div:first-child{border-radius:var(--r) 0 0 var(--r);margin-left:0}
.ev-scheda>div:last-child{border-radius:0 var(--r) var(--r) 0}
.ev-scheda{filter:drop-shadow(0 30px 40px rgba(13,31,45,.14))}
.ev-scheda span{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin-bottom:8px}
.ev-scheda strong{display:block;font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.15;color:var(--ink)}
.ev-scheda small{display:block;margin-top:6px;font-size:13px;color:var(--muted)}

/* ---------- Corpo ---------- */
.ev-corpo{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:72px;padding-top:80px;padding-bottom:40px}
.ev-art{max-width:740px;font-size:18px;line-height:1.72;color:#24343f}
.ev-art>p:first-of-type,.ev-lead-p{font-size:21px;line-height:1.6;color:var(--ink)}
.ev-art h2{font-size:clamp(32px,3.6vw,46px);line-height:1.04;margin:64px 0 20px;letter-spacing:-.02em}
.ev-art h2::before{content:"";display:block;width:44px;height:2px;background:var(--coral);margin-bottom:22px}
.ev-art h3{font-size:28px;margin:0 0 12px}
.ev-art p{margin:0 0 20px}
.ev-art a{color:var(--sea);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ev-art a:hover{color:var(--coral)}
.ev-art ul{margin:0 0 24px;padding:0;list-style:none}
.ev-art ul li{position:relative;padding:0 0 12px 30px}
.ev-art ul li::before{content:"";position:absolute;left:4px;top:.68em;width:12px;height:2px;background:var(--coral)}
.ev-art strong{color:var(--ink);font-weight:600}

.ev-breve{margin:0 0 40px;padding:28px 30px;border-radius:20px;background:var(--ink);color:#d4dde2}
.ev-breve-t{margin:0 0 14px!important;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffb39e}
.ev-breve ul{margin:0!important;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.ev-breve ul li{font-size:16px;line-height:1.5;padding-bottom:6px}
.ev-breve strong{color:#fff}

.ev-zona{position:relative;margin:0 0 18px;padding:28px 30px 10px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.ev-zona:hover{transform:translateY(-3px);box-shadow:0 24px 40px -28px rgba(13,31,45,.45)}
.ev-zona h3{padding-right:40px}
.ev-zona p{font-size:17px}

.ev-verifica{margin-top:40px!important;padding:18px 22px 18px 54px;border-radius:14px;background:var(--sea-2);color:var(--ink-2);font-size:15px!important;line-height:1.55;position:relative}
.ev-verifica::before{content:"";position:absolute;left:20px;top:20px;width:20px;height:20px;border-radius:50%;background:var(--sea) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---------- Colonna laterale ---------- */
.ev-stick{position:sticky;top:28px}
.ev-box{padding:30px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 50px -36px rgba(13,31,45,.5)}
.ev-box-k{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.ev-box-k svg{width:18px;height:18px}
.ev-box-t{margin:0 0 10px;font-family:var(--serif);font-size:30px;line-height:1.05;color:var(--ink)}
.ev-box p{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 20px}
.ev-box .har-btn{width:100%}
.ev-ver{display:flex;align-items:center;gap:10px;margin:16px 4px 0;font-size:13px;color:var(--muted)}
.ev-ver i{width:8px;height:8px;border-radius:50%;background:#2fa36b}
.ev-fondo{padding-bottom:100px}
.ev-fondo .har-au{max-width:740px}

/* ---------- Mappa navette ---------- */
.nv{margin:34px 0 34px;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(13,31,45,.55)}
.nv-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.nv-k{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--coral)}
.nv-btns{display:flex;flex-wrap:wrap;gap:6px}
.nv-b{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--ink);font:600 13px var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.nv-b i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.nv-b:hover{border-color:var(--ink)}
.nv-b.on{background:var(--ink);border-color:var(--ink);color:#fff}
.nv-b-ce{--c:#2c6e7d}.nv-b-ab{--c:#d6573a}.nv-b-d{--c:#c9962e}
.nv-map{border-radius:16px;overflow:hidden;background:#dbe8ea}
.nv-map svg{display:block;width:100%;height:auto}
.nv-sea{fill:#dbe8ea}
.nv-iso{fill:none;stroke:#9fbfc5;stroke-width:1.2}
.nv-land{fill:#f3ece0}
.nv-coast{fill:none;stroke:#7fa6ad;stroke-width:2.4}
.nv-mare{font:600 26px var(--sans);letter-spacing:.5em;fill:#7fa6ad;opacity:.75}
.nv-tr-bg{fill:none;stroke:#fff;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.nv-tr{fill:none;stroke:var(--c);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14 10;animation:nvDash 1.6s linear infinite}
@keyframes nvDash{to{stroke-dashoffset:-48}}
.nv-ce{--c:#2c6e7d}.nv-ab{--c:#d6573a}.nv-d{--c:#c9962e}
.nv-linea{transition:opacity .35s}
.nv[data-sel="ce"] .nv-linea:not(.nv-ce),.nv[data-sel="ab"] .nv-linea:not(.nv-ab),.nv[data-sel="d"] .nv-linea:not(.nv-d){opacity:.08}
.nv-z circle{fill:#fff;stroke:var(--ink);stroke-width:3;transition:fill .3s,r .3s}
.nv-z text{font:600 19px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#f3ece0;stroke-width:5px;stroke-linejoin:round}
.nv-z.off circle{stroke:#9aa5ab;fill:#e6e1d8}
.nv-z.off text{fill:#8a959b}
.nv[data-sel="ce"] .nv-z.on:not(.l-ce),.nv[data-sel="ab"] .nv-z.on:not(.l-ab),.nv[data-sel="d"] .nv-z.on:not(.l-d){opacity:.3}
.nv[data-sel="ce"] .nv-z.l-ce circle{fill:#2c6e7d}.nv[data-sel="ab"] .nv-z.l-ab circle{fill:#d6573a}.nv[data-sel="d"] .nv-z.l-d circle{fill:#c9962e}
.nv-z{transition:opacity .3s}
.nv-fiera circle{fill:var(--ink)}
.nv-fiera .nv-pulse{fill:var(--coral);opacity:.25;transform-box:fill-box;transform-origin:center;animation:nvPulse 2.4s var(--ease) infinite}
@keyframes nvPulse{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.6);opacity:0}}
.nv-fiera text{font:700 21px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#f3ece0;stroke-width:6px}
.nv-nota{font:600 16px var(--sans);fill:#2c6e7d}
.nv-nota-g{fill:#8a959b}
.evh .ev-hero{padding-bottom:110px}
.evh-st{letter-spacing:.1em;color:#ffd38a}
.evh-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 30px}
.ev-art .evh-card{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.ev-art .evh-card:hover{transform:translateY(-4px);border-color:var(--coral);box-shadow:0 24px 40px -28px rgba(13,31,45,.5);color:var(--ink)}
.evh-card-k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.evh-card-k i{font-style:normal;color:#c9962e;letter-spacing:.05em}
.evh-card strong{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.1}
.evh-card-d{font-size:14.5px;line-height:1.5;color:var(--muted)}
.evh-card-t{align-self:flex-start;padding:4px 10px;border-radius:999px;background:var(--sea-2);color:var(--ink-2);font-size:12px;font-weight:600}
.evh-card-img{display:block;margin:-22px -20px 6px;aspect-ratio:4/3;overflow:hidden;border-radius:18px 18px 0 0;background:var(--sea-2)}
.evh-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.ev-art .evh-card:hover .evh-card-img img{transform:scale(1.05)}
.ev-art .evh-card{overflow:hidden}
.evh-card-go{margin-top:auto;font-size:14px;font-weight:600;color:var(--sea)}
@media(max-width:900px){.evh-cards{grid-template-columns:1fr}}
.evh .ev-hero .har-btn{margin-top:4px}
.evh .har-scheda-hotel{margin:0 0 36px}
.evh .har-au{margin-top:48px}
.ev-aereo{margin:6px 0 30px;padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#0d1f2d,#18303f);color:#d4dde2}
.ev-aereo p{color:#d4dde2;font-size:16px}
.ev-aereo .ev-aereo-t{margin:0 0 10px;font-family:var(--serif);font-size:28px;line-height:1.1;color:#fff}
.ev-aereo-g{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 14px}
.ev-aereo-g div{padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.ev-aereo-g span{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffb39e}
.ev-aereo-g strong{display:block;margin:4px 0 6px;font-family:var(--serif);font-weight:400;font-size:24px;color:#fff}
.ev-aereo-g em{font-style:normal;font-size:15px;font-variant-numeric:tabular-nums;color:#fff}
.ev-aereo .ev-aereo-n{margin:0;font-size:14px;color:#9fb1ba}
@media(max-width:700px){.evh .ev-hero{padding-bottom:110px}
.evh-st{letter-spacing:.1em;color:#ffd38a}
.evh-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 30px}
.ev-art .evh-card{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.ev-art .evh-card:hover{transform:translateY(-4px);border-color:var(--coral);box-shadow:0 24px 40px -28px rgba(13,31,45,.5);color:var(--ink)}
.evh-card-k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.evh-card-k i{font-style:normal;color:#c9962e;letter-spacing:.05em}
.evh-card strong{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.1}
.evh-card-d{font-size:14.5px;line-height:1.5;color:var(--muted)}
.evh-card-t{align-self:flex-start;padding:4px 10px;border-radius:999px;background:var(--sea-2);color:var(--ink-2);font-size:12px;font-weight:600}
.evh-card-img{display:block;margin:-22px -20px 6px;aspect-ratio:4/3;overflow:hidden;border-radius:18px 18px 0 0;background:var(--sea-2)}
.evh-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.ev-art .evh-card:hover .evh-card-img img{transform:scale(1.05)}
.ev-art .evh-card{overflow:hidden}
.evh-card-go{margin-top:auto;font-size:14px;font-weight:600;color:var(--sea)}
@media(max-width:900px){.evh-cards{grid-template-columns:1fr}}
.evh .ev-hero .har-btn{margin-top:4px}
.evh .har-scheda-hotel{margin:0 0 36px}
.evh .har-au{margin-top:48px}
.ev-aereo{padding:22px 20px}.ev-aereo-g{grid-template-columns:1fr}}
.ev-box .ev-box-t{margin:0 0 12px;font-family:var(--serif);font-size:32px;line-height:1.05;color:var(--ink)}
.nv-leg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 0!important;padding:0;list-style:none}
.nv-leg li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px!important;border-radius:12px;background:var(--paper);font-size:14px;line-height:1.45}
.nv-leg li::before{display:none}
.nv-leg b{flex:none;display:grid;place-items:center;min-width:34px;height:26px;border-radius:999px;color:#fff;font-size:12px;letter-spacing:.06em}
.nv-li-ce b{background:#2c6e7d}.nv-li-ab b{background:#d6573a}.nv-li-d b{background:#c9962e}
.nv figcaption{margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted)}

/* ---------- Calendario ---------- */
.evc-in{padding-top:70px;padding-bottom:110px;max-width:980px}
.evc-h{font-size:34px;margin:0 0 22px}
.evc-l{margin:0 0 60px;padding:0;list-style:none;border-top:1px solid var(--line)}
.evc-r a{display:grid;grid-template-columns:120px 1fr auto;gap:26px;align-items:center;padding:24px 8px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .25s,padding .25s}
.evc-r a:hover{background:#fff;padding-left:18px;padding-right:18px}
.evc-d{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.evc-d b{display:block;font-family:var(--serif);font-weight:400;font-size:56px;line-height:.9;letter-spacing:0;color:var(--ink)}
.evc-t small{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.evc-t strong{display:block;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.1}
.evc-t em{font-style:normal;font-size:15px;color:var(--muted)}
.evc-s{font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;background:var(--sea-2);color:var(--ink-2);white-space:nowrap}
.evc-l--old .evc-r a{opacity:.6}
.evc-vuoto{font-size:19px;color:var(--muted)}

/* ---------- Mobile ---------- */
@media (max-width:1024px){
  .ev-corpo{grid-template-columns:1fr;gap:40px}
  .ev-stick{position:static}
  .ev-scheda{grid-template-columns:1fr 1fr}
  .ev-scheda>div{margin:-1px 0 0 -1px;border-radius:0!important}
  .ev-scheda>div:nth-child(1){border-radius:var(--r) 0 0 0!important}.ev-scheda>div:nth-child(2){border-radius:0 var(--r) 0 0!important}
  .ev-scheda>div:nth-child(3){border-radius:0 0 0 var(--r)!important}.ev-scheda>div:nth-child(4){border-radius:0 0 var(--r) 0!important}
}
@media (max-width:700px){
  .ev-wrap{padding:0 18px}
  .ev-hero{padding:72px 0 120px}
  .ev-sub{font-size:17px}
  .ev-cd-n b{font-size:64px}
  .ev-scheda strong{font-size:20px}
  .ev-scheda>div{padding:18px}
  .ev-art{font-size:17px}
  .ev-art>p:first-of-type,.ev-lead-p{font-size:19px}
  .ev-breve{padding:22px}
  .ev-breve ul{grid-template-columns:1fr}
  .ev-zona{padding:22px 20px 6px}
  .nv{padding:12px;margin-left:-6px;margin-right:-6px}
  .nv-leg{grid-template-columns:1fr}
  .nv-z text{font-size:24px}
  .evc-r a{grid-template-columns:76px 1fr;gap:16px}
  .evc-s{grid-column:2;justify-self:start}
  .evc-d b{font-size:42px}
  .evc-t strong{font-size:25px}
}
@media (prefers-reduced-motion:reduce){
  .ev-hero-media,.nv-tr,.nv-fiera .nv-pulse,.ev-st-in-corso .ev-cd-s i{animation:none}
}