/* =========================================================
   S1 TRAIL CSS — v2.0.0
   CSS Globale per eventi Trail Running
   SentieroUNO — Trieste, Italy
   
   Palette:
   --nv-primary-accent  = rosso  → bordi, fondi pieni, accent
   --nv-text-color      = scuro  → testo base
   --s1-text-dark       = blu    → testo secondario / etichette
   ========================================================= */

/* =========================================================
   Custom Properties locali
   ========================================================= */
:root {
  --s1-text-dark: #01206B;
  --s1-border-light: #e6eaf2;
  --s1-shadow: rgba(11, 31, 68, .06);
  --s1-muted: rgba(15, 23, 42, .50);
  --s1-muted-light: rgba(15, 23, 42, .75);
  --s1-separator: rgba(15, 23, 42, .06);
  --s1-separator-md: rgba(15, 23, 42, .10);
}

/* =========================================================
   Generali — Nascondimenti specifici di pagina
   ========================================================= */

/* Distanza e dislivello dal profilo Waymark */
.elevation-summary {
  display: none;
}

/* Bottone "Più info" su pagine specifiche */
body.page-id-1832 #wp-block-themeisle-blocks-advanced-column-4956dbc0 .wp-block-button,
body.page-id-95316 #wp-block-themeisle-blocks-advanced-column-7c705a1c .wp-block-button,
body.page-id-2524 #wp-block-themeisle-blocks-advanced-column-725f10a7 .wp-block-button {
  display: none;
}

/* "Ordina per" WooCommerce */
.nv-woo-filters {
  display: none;
}

/* Link dalle mappe Waymark */
.waymark-description-link .waymark-map-link,
.waymark-description-link .waymark-collection-link {
  display: none !important;
}

/* =========================================================
   Bora — Grid 4 colonne
   ========================================================= */
.bora-tech-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
@media (max-width: 1200px) {
  .bora-tech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .bora-tech-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Bora — Mattonelle (colonne)
   ========================================================= */
.bora-tech-col {
  min-width: 0;
  background: var(--nv-light-bg);
  border: 1px solid var(--s1-border-light);
  border-radius: 18px;
  padding: 14px 14px 12px;
  box-shadow: 0 10px 24px var(--s1-shadow);
}

/* =========================================================
   Bora — Headings
   ========================================================= */
.bora-tech-h {
  margin: 0 0 14px;
  padding-bottom: 10px;
  font-size: 16px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--nv-primary-accent);
  border-bottom: 2px solid var(--nv-primary-accent);
}

.bora-tech-sub {
  margin: 16px 0 8px;
  padding-top: 8px;
  font-size: 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--nv-primary-accent);
  border-top: 1px solid var(--s1-separator);
}

/* =========================================================
   Bora — Key / Value
   ========================================================= */
.bora-item {
  padding: 6px 0;
  border-bottom: 1px solid var(--s1-separator);
}
.bora-tech-col .bora-item:last-of-type { border-bottom: none; }

.bora-k {
  display: block;
  font-size: .78em;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--s1-muted);
  margin: 0 0 2px;
}

.bora-v {
  display: block;
  font-size: .95em;
  font-weight: 600;
  color: var(--nv-text-color);
  line-height: 1.45;
}

/* =========================================================
   Bora — Liste
   ========================================================= */
.bora-list { margin: 0; padding: 0 0 0 18px; }
.bora-list li {
  margin: 4px 0;
  line-height: 1.45;
  font-size: .93em;
}

/* =========================================================
   Bora — Punti (Ristori / Cancelli / Controlli)
   ========================================================= */
.bora-points { list-style: none; margin: 0; padding: 0; }

.bora-point {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 8px 0;
  border-bottom: 1px solid var(--s1-separator-md);
}
.bora-tech-col .bora-point:last-of-type { border-bottom: none; }

.bora-icos { white-space: nowrap; }

.bora-point-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
}

.bora-point-title {
  font-weight: 700;
  font-size: .93em;
  color: var(--nv-text-color);
}

.bora-point-time {
  font-weight: 900;
  color: var(--nv-primary-accent);
  white-space: nowrap;
}
.bora-point-time::before {
  content: "⏱ ";
  font-weight: 900;
  color: var(--nv-primary-accent);
}

.bora-point-meta {
  display: block;
  margin-top: 2px;
  color: var(--s1-muted-light);
  line-height: 1.32;
}

/* =========================================================
   Bora — Legenda
   ========================================================= */
.bora-legend {
  margin-top: 14px;
  padding-top: 8px;
  border-top: 1px solid var(--s1-separator);
  font-size: 12px;
  color: var(--s1-muted-light);
  line-height: 1.42;
}

/* =========================================================
   Bora — CTA Pills
   ========================================================= */
.bora-pills { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 0; }

.bora-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 2px solid var(--nv-primary-accent);
  color: var(--nv-primary-accent);
  font-size: .85em;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.1;
  transition: background .2s, color .2s;
}
.bora-pill:hover {
  background: var(--nv-primary-accent);
  color: #fff;
}

.bora-pill-wide { flex: 1 1 100%; }

/* =========================================================
   Bora — Certificato medico
   ========================================================= */
.bora-cert .bora-item { padding: 8px 0; }
.bora-cert .bora-tech-sub { margin-top: 12px; }
.bora-cert .bora-cert-list { margin-top: 8px; }

.bora-note {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed var(--nv-primary-accent);
  background: rgba(255, 0, 0, .04);
  color: var(--nv-text-color);
  line-height: 1.42;
}
.bora-note strong { color: var(--nv-primary-accent); }

/* =========================================================
   Bora — Info Tecniche Short (Otter Icon List)
   ========================================================= */
.bora-tech-shortbar,
.bora-tech-short,
.bora-tech-short-svg-wrap {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.bora-tech-short { width: 100%; }

.bora-tech-short .wp-block-themeisle-blocks-icon-list.is-style-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.bora-tech-short .wp-block-themeisle-blocks-icon-list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.bora-tech-short .wp-block-themeisle-blocks-icon-list-item-content-custom {
  margin: 0;
  line-height: 1.15;
}

.bora-tech-short a {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}

@media (max-width: 720px) {
  .bora-tech-short .wp-block-themeisle-blocks-icon-list.is-style-horizontal { gap: 12px; }
}

/* =========================================================
   Bora — Info Tecniche Short (SVG Custom)
   Bordini rossi, testo blu scuro
   ========================================================= */
.bora-tech-short-svg {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px 18px !important;
  margin: 14px auto 22px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.bora-tech-short-svg .bora-short-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--nv-primary-accent) !important;
  background: transparent !important;
  color: var(--s1-text-dark) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.bora-tech-short-svg .bora-short-item svg {
  flex: 0 0 18px !important;
  color: var(--nv-primary-accent) !important;
  opacity: .95 !important;
}

.bora-tech-short-svg .bora-short-item strong {
  font-weight: 900 !important;
  font-size: 14px !important;
  color: var(--s1-text-dark) !important;
  letter-spacing: .01em !important;
}

@media (max-width: 720px) {
  .bora-tech-short-svg { gap: 10px 12px !important; margin: 12px auto 18px !important; }
  .bora-tech-short-svg .bora-short-item { padding: 6px 9px !important; }
  .bora-tech-short-svg .bora-short-item strong { font-size: 13.5px !important; }
}

/* =========================================================
   SARDON RUN — Gare Cards
   ========================================================= */
.sardon-gare {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  max-width: 1200px;
  margin: 30px auto;
  padding: 0 12px;
  box-sizing: border-box;
}

.sardon-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px 10px 20px;
}

.sardon-icon {
  width: 68px;
  height: auto;
  margin-bottom: 8px;
}

.sardon-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 2px;
  line-height: 1.25;
}

.sardon-t1 { color: #e87461; }
.sardon-t2 { color: #2563a0; }
.sardon-t3 { color: #1a7a5c; }
.sardon-t4 { color: #1e2a4a; }

.sardon-dist {
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0 0 6px;
  color: #333;
  letter-spacing: 0.02em;
}

.sardon-desc {
  font-size: 0.85rem;
  line-height: 1.4;
  margin: 0 0 12px;
  color: #555;
  flex-grow: 1;
}

.sardon-btn {
  display: inline-block;
  padding: 8px 22px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--s1-text-dark);
  border: 2.5px solid var(--s1-text-dark);
  border-radius: 12px;
  text-decoration: none;
  transition: background .2s, color .2s;
  margin-top: auto;
}
.sardon-btn:hover {
  background: var(--s1-text-dark);
  color: #fff;
}

@media (max-width: 900px) {
  .sardon-gare {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

@media (max-width: 540px) {
  .sardon-gare {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 0 8px;
  }
  .sardon-card {
    display: grid;
    grid-template-columns: 50px 1fr;
    grid-template-rows: auto auto auto auto;
    text-align: left;
    align-items: center;
    padding: 12px 10px;
    gap: 12px;
  }
  .sardon-icon {
    grid-row: 1 / -1;
    align-self: start;
    width: 50px;
    flex-shrink: 0;
    margin: 2px 0 0;
  }
  .sardon-title { font-size: 1.05rem; margin: 0; }
  .sardon-dist  { font-size: 0.8rem;  margin: 0; }
  .sardon-desc  { font-size: 0.8rem;  margin: 2px 0 6px; }
  .sardon-btn   { justify-self: start; padding: 6px 16px; font-size: 0.78rem; }
}

/* =========================================================
   PATTERN-SPECIFIC STYLES
   Estratti dai file PHP dei pattern
   ========================================================= */

/* =========================================================
   Hero Video — .s1-hv
   ========================================================= */
.s1-hv{max-width:1100px;margin:40px auto;padding:0 16px}
.s1-hv-card{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08)}
.s1-hv-top{position:relative;background:var(--s1-text-dark,#01206B);padding:48px 40px 64px;overflow:hidden;text-align:center}
.s1-hv-top-bg{position:absolute;inset:0;opacity:.07;pointer-events:none}
.s1-hv-top>*:not(.s1-hv-top-bg){position:relative;z-index:1}
.s1-hv-place{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:14px}
.s1-hv-place-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.35)}
.s1-hv-top h1{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.1;color:#fff;margin:0 0 8px;letter-spacing:-.02em}
.s1-hv-top h1 span{color:var(--nv-primary-accent)}
.s1-hv-sub{font-size:clamp(15px,2.2vw,18px);font-weight:400;color:rgba(255,255,255,.75);line-height:1.45;max-width:600px;margin:0 auto 18px}
.s1-hv-date{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:10px;background:var(--nv-primary-accent);color:#fff;font-size:15px;font-weight:800;letter-spacing:.02em}
.s1-hv-mountain{display:block;margin-top:-1px;line-height:0;background:var(--s1-text-dark,#01206B)}
.s1-hv-mountain svg{display:block;width:100%}
.s1-hv-video{position:relative;width:100%;padding-bottom:56.25%;background:#0a0a12}
.s1-hv-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.s1-hv-content{padding:32px 40px 36px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.s1-hv-block{display:flex;flex-direction:column;gap:8px}
.s1-hv-block-ico{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--nv-primary-accent),#c1121f);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.s1-hv-block-ico svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-hv-block h3{font-size:15px;font-weight:800;color:var(--s1-text-dark,#01206B);line-height:1.25;margin:0}
.s1-hv-block p{font-size:14px;line-height:1.55;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-hv-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:var(--nv-light-bg,#fafbff);border-top:1px solid var(--s1-separator,rgba(15,23,42,.06))}
.s1-hv-bar svg{flex-shrink:0;width:22px;height:22px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-hv-bar p{font-size:14px;font-weight:700;color:var(--s1-text-dark,#01206B);margin:0;line-height:1.35}
.s1-hv-bar p strong{color:var(--nv-primary-accent)}
@media(max-width:768px){.s1-hv-top{padding:36px 24px 52px}.s1-hv-content{grid-template-columns:1fr;padding:24px 24px 28px;gap:20px}.s1-hv-bar{flex-direction:column;text-align:center;gap:8px;padding:16px 20px}}

/* =========================================================
   Gare Preview Cards — .s1-card
   ========================================================= */
.s1-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1400px;margin:40px auto;padding:0 16px;box-sizing:border-box}
.s1-card{position:relative;border-radius:14px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 2px 16px rgba(0,0,0,.08);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.s1-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.14)}
.s1-card-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.s1-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.s1-card:hover .s1-card-img img{transform:scale(1.04)}
.s1-card-badge{position:absolute;top:12px;left:12px;background:var(--nv-primary-accent,#e63946);color:#fff;font-weight:800;font-size:13px;padding:4px 12px;border-radius:20px;letter-spacing:.3px;text-transform:uppercase;line-height:1.3}
.s1-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.s1-card-name{margin:0 0 6px;font-size:22px;font-weight:900;line-height:1.2;color:var(--nv-text-color,#1a1a2e)}
.s1-card-stats{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 10px;font-size:13.5px;font-weight:600;color:var(--nv-text-color,#333);opacity:.75}
.s1-card-stats span{display:flex;align-items:center;gap:4px;white-space:nowrap}
.s1-card-desc{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--nv-text-color,#444);opacity:.85;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.s1-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.s1-card-price{font-size:15px;font-weight:800;color:var(--nv-primary-accent,#e63946);white-space:nowrap}
.s1-card-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.4px;color:#fff;background:var(--nv-primary-accent,#e63946);transition:background .2s,transform .15s;white-space:nowrap}
.s1-card-cta:hover{filter:brightness(1.1);transform:scale(1.03);color:#fff}
@media(max-width:680px){.s1-cards{grid-template-columns:1fr;gap:16px;padding:0 12px}.s1-card-name{font-size:20px}}
@media(min-width:681px) and (max-width:960px){.s1-cards{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   Programma — #s1-prog
   ========================================================= */
#s1-prog{max-width:1100px;margin:0 auto;padding:0 16px 48px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a2e}
#s1-prog,#s1-prog *{box-sizing:border-box}
#s1-prog a{text-decoration:none}

/* HERO */
#s1-prog .pg-hero{border-radius:22px;overflow:hidden;background:#01206B;padding:44px 40px;margin:0 0 24px;position:relative}
#s1-prog .pg-hero::before{content:'';position:absolute;inset:0;opacity:.04;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='30' cy='30' r='20' fill='none' stroke='white' stroke-width='.3'/%3E%3Ccircle cx='170' cy='160' r='35' fill='none' stroke='white' stroke-width='.3'/%3E%3C/svg%3E")}
#s1-prog .pg-hero>*{position:relative;z-index:1}
#s1-prog .pg-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 12px}
#s1-prog .pg-hero-kicker svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-prog .pg-hero h1{font-size:clamp(30px,5.5vw,48px);font-weight:900;line-height:1.06;color:#fff;margin:0 0 10px;padding:0;letter-spacing:-.02em}
#s1-prog .pg-hero h1 span{color:#e63946}
#s1-prog .pg-hero>p{font-size:clamp(15px,2vw,18px);line-height:1.5;color:rgba(255,255,255,.65);margin:0;padding:0}
#s1-prog .pg-hero-dates{display:flex;gap:10px;margin:18px 0 0;flex-wrap:wrap}
#s1-prog .pg-hero-date{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:14px;font-weight:800;color:#fff}
#s1-prog .pg-hero-date svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* BLOCK */
#s1-prog .pg-block{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 6px 32px rgba(11,31,68,.08);margin:0 0 24px}

/* SP BANNER */
#s1-prog .pg-ship{margin:0 0 24px;padding:18px 24px;border-radius:16px;background:linear-gradient(135deg,rgba(1,32,107,.04),rgba(37,211,102,.04));border:1px solid #e6eaf2;display:flex;align-items:center;gap:14px}
#s1-prog .pg-ship-ico{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#01206B;display:flex;align-items:center;justify-content:center}
#s1-prog .pg-ship-ico svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#s1-prog .pg-ship p{font-size:14px;line-height:1.5;color:rgba(15,23,42,.5);margin:0;padding:0}
#s1-prog .pg-ship p strong{color:#1a1a2e}

/* DAY HEADER */
#s1-prog .pg-day-hd{padding:24px 40px 0;display:flex;align-items:center;gap:14px}
#s1-prog .pg-day-badge{padding:8px 18px;border-radius:10px;background:#01206B;font-size:14px;font-weight:900;color:#fff;white-space:nowrap}
#s1-prog .pg-day-badge.pg-day-dom{background:#ff0000}
#s1-prog .pg-day-info{flex:1}
#s1-prog .pg-day-info h2{font-size:clamp(20px,3vw,26px);font-weight:900;color:#01206B;margin:0;padding:0}
#s1-prog .pg-day-info p{font-size:13px;color:rgba(15,23,42,.4);margin:2px 0 0;padding:0}

/* TIMELINE */
#s1-prog .pg-tl{padding:20px 40px 32px;position:relative}
#s1-prog .pg-tl::before{content:'';position:absolute;top:20px;bottom:32px;left:72px;width:2px;background:#e6eaf2}

#s1-prog .pg-ev{display:flex;gap:16px;align-items:flex-start;padding:10px 0;position:relative}
#s1-prog .pg-ev-time{flex-shrink:0;width:48px;text-align:right;font-size:14px;font-weight:900;color:#01206B;padding:4px 0 0}
#s1-prog .pg-ev-dot{flex-shrink:0;width:14px;height:14px;border-radius:50%;border:3px solid #e6eaf2;background:#fff;margin:5px 0 0;position:relative;z-index:1}
#s1-prog .pg-ev-body{flex:1;min-width:0}
#s1-prog .pg-ev-body h4{font-size:14px;font-weight:800;color:#01206B;margin:0 0 2px;padding:0}
#s1-prog .pg-ev-body p{font-size:13px;line-height:1.5;color:rgba(15,23,42,.5);margin:0;padding:0}
#s1-prog .pg-ev-body p strong{color:#1a1a2e}

/* Event types */
#s1-prog .pg-ev-start .pg-ev-dot{border-color:#ff0000;background:#ff0000;box-shadow:0 0 0 4px rgba(255,0,0,.12)}
#s1-prog .pg-ev-start .pg-ev-time{color:#ff0000}
#s1-prog .pg-ev-start h4{color:#ff0000}

#s1-prog .pg-ev-bib .pg-ev-dot{border-color:#01206B;background:#01206B}

#s1-prog .pg-ev-service .pg-ev-dot{border-color:#25d366;background:#25d366}
#s1-prog .pg-ev-service h4{color:#25d366}

#s1-prog .pg-ev-end .pg-ev-dot{border-color:rgba(15,23,42,.25);background:rgba(15,23,42,.25)}
#s1-prog .pg-ev-end h4{color:rgba(15,23,42,.4)}

/* RACE TAGS inside events */
#s1-prog .pg-tags{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0 0}
#s1-prog .pg-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
#s1-prog .pg-tag-ultra{background:rgba(1,32,107,.08);color:#01206B}
#s1-prog .pg-tag-long{background:rgba(230,57,70,.08);color:#e63946}
#s1-prog .pg-tag-mid{background:rgba(255,140,0,.08);color:#c47600}
#s1-prog .pg-tag-short{background:rgba(37,211,102,.08);color:#1a7a3a}

/* SECTION LABEL */
#s1-prog .pg-label{padding:4px 40px 0;margin:0}
#s1-prog .pg-label h3{font-size:15px;font-weight:800;color:#01206B;margin:0;padding:0;display:flex;align-items:center;gap:8px}
#s1-prog .pg-label h3 svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* RESPONSIVE */
@media(max-width:768px){
  #s1-prog .pg-hero{padding:32px 24px}
  #s1-prog .pg-day-hd{padding:20px 24px 0}
  #s1-prog .pg-tl{padding:16px 24px 24px}
  #s1-prog .pg-tl::before{left:56px}
  #s1-prog .pg-label{padding:4px 24px 0}
  #s1-prog .pg-ship{flex-direction:column;gap:10px;text-align:center}
  #s1-prog .pg-hero-dates{flex-direction:column}
}

/* =========================================================
   Gruppi Page — #s1-gruppi
   ========================================================= */
/* ===== SELF-CONTAINED — tutto sotto #s1-gruppi, zero leak ===== */
#s1-gruppi{max-width:1100px;margin:0 auto;padding:0 16px 48px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
#s1-gruppi,#s1-gruppi *{box-sizing:border-box}

/* HERO */
#s1-gruppi .sg-hero{position:relative;border-radius:22px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;margin-bottom:24px}
#s1-gruppi .sg-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;padding:0}
#s1-gruppi .sg-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(1,32,107,.95) 0%,rgba(1,32,107,.5) 45%,rgba(1,32,107,.15) 100%)}
#s1-gruppi .sg-hero-body{position:relative;z-index:1;padding:40px 44px 48px;max-width:680px}
#s1-gruppi .sg-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:0 0 14px}
#s1-gruppi .sg-hero-kicker svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-hero h1{font-size:clamp(30px,5.5vw,48px);font-weight:900;line-height:1.08;color:#fff;margin:0 0 14px;padding:0;letter-spacing:-.02em}
#s1-gruppi .sg-hero h1 span{color:#e63946}
#s1-gruppi .sg-hero-body>p{font-size:clamp(15px,2vw,18px);line-height:1.55;color:rgba(255,255,255,.8);margin:0;padding:0}

/* BLOCK (card bianca) */
#s1-gruppi .sg-block{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 6px 32px rgba(11,31,68,.08);margin:0 0 24px}

/* INTRO */
#s1-gruppi .sg-intro{padding:36px 40px;display:flex;gap:28px;align-items:center}
#s1-gruppi .sg-intro-txt{flex:1;min-width:0}
#s1-gruppi .sg-intro-txt p{font-size:15.5px;line-height:1.7;color:rgba(15,23,42,.5);margin:0 0 16px;padding:0}
#s1-gruppi .sg-intro-txt p:last-child{margin-bottom:0}
#s1-gruppi .sg-intro-txt p strong{color:#1a1a2e}
#s1-gruppi .sg-intro-txt p em{font-style:normal;color:#e63946;font-weight:700}
#s1-gruppi .sg-intro-img{flex-shrink:0;width:200px;height:200px;border-radius:18px;overflow:hidden}
#s1-gruppi .sg-intro-img img{width:100%;height:100%;object-fit:cover;margin:0;padding:0}

/* MACCHINA DEL TEMPO */
#s1-gruppi .sg-tm{position:relative;border-radius:22px;overflow:hidden;background:#01206B;padding:44px 40px;margin:0 0 24px}
#s1-gruppi .sg-tm-bg{position:absolute;inset:0;opacity:.05;pointer-events:none}
#s1-gruppi .sg-tm>*:not(.sg-tm-bg){position:relative;z-index:1}
#s1-gruppi .sg-tm-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:8px;background:rgba(255,0,0,.12);border:1px solid rgba(255,0,0,.2);font-size:12px;font-weight:800;color:#ff4444;letter-spacing:.06em;text-transform:uppercase;margin:0 0 18px}
#s1-gruppi .sg-tm-badge svg{width:16px;height:16px;fill:none;stroke:#ff4444;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-tm h2{font-size:clamp(26px,4.5vw,38px);font-weight:900;line-height:1.1;color:#fff;margin:0 0 12px;padding:0;letter-spacing:-.02em}
#s1-gruppi .sg-tm h2 span{color:#ff4444}
#s1-gruppi .sg-tm>p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 8px;padding:0;max-width:700px}
#s1-gruppi .sg-tm>p strong{color:#fff}
#s1-gruppi .sg-tm-sub{font-size:14px;line-height:1.5;color:rgba(255,255,255,.45);margin:0 0 32px;padding:0;max-width:650px}

/* CHART */
#s1-gruppi .sg-fasce{display:flex;align-items:flex-end;gap:10px;height:180px;padding:0 4px;margin:0}
#s1-gruppi .sg-fascia{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
#s1-gruppi .sg-fascia-bar{width:100%;border-radius:10px 10px 4px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:filter .2s}
#s1-gruppi .sg-fascia:hover .sg-fascia-bar{filter:brightness(1.15)}
#s1-gruppi .sg-fascia:nth-child(1) .sg-fascia-bar{height:32%;background:rgba(37,211,102,.25);border:1.5px solid rgba(37,211,102,.4)}
#s1-gruppi .sg-fascia:nth-child(2) .sg-fascia-bar{height:46%;background:rgba(37,211,102,.15);border:1.5px solid rgba(37,211,102,.25)}
#s1-gruppi .sg-fascia:nth-child(3) .sg-fascia-bar{height:60%;background:rgba(255,204,0,.12);border:1.5px solid rgba(255,204,0,.25)}
#s1-gruppi .sg-fascia:nth-child(4) .sg-fascia-bar{height:76%;background:rgba(255,140,0,.12);border:1.5px solid rgba(255,140,0,.25)}
#s1-gruppi .sg-fascia:nth-child(5) .sg-fascia-bar{height:94%;background:rgba(255,0,0,.15);border:1.5px solid rgba(255,0,0,.3)}

#s1-gruppi .sg-fascia-plus{font-size:clamp(16px,2.5vw,22px);font-weight:900;letter-spacing:3px;line-height:1}
#s1-gruppi .sg-fascia:nth-child(1) .sg-fascia-plus,#s1-gruppi .sg-fascia:nth-child(2) .sg-fascia-plus{color:#4ade80}
#s1-gruppi .sg-fascia:nth-child(3) .sg-fascia-plus{color:#fde047}
#s1-gruppi .sg-fascia:nth-child(4) .sg-fascia-plus{color:#fdba74}
#s1-gruppi .sg-fascia:nth-child(5) .sg-fascia-plus{color:#ff6b6b}
#s1-gruppi .sg-fascia-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
#s1-gruppi .sg-fascia:nth-child(1) .sg-fascia-label{color:#4ade80}
#s1-gruppi .sg-fascia:nth-child(5) .sg-fascia-label{color:#ff6b6b}

#s1-gruppi .sg-fasce-labels{display:flex;gap:10px;padding:8px 4px 0;margin:0 0 28px}
#s1-gruppi .sg-fl{flex:1;text-align:center}
#s1-gruppi .sg-fl-name{font-size:clamp(10px,1.8vw,12px);font-weight:800;color:#fff;margin:0 0 1px;padding:0}
#s1-gruppi .sg-fl-date{font-size:clamp(9px,1.5vw,10px);color:rgba(255,255,255,.4);margin:0;padding:0}

/* REWIND */
#s1-gruppi .sg-rewind{display:flex;align-items:center;gap:10px;margin:0 0 28px;padding:12px 18px;border-radius:12px;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.15)}
#s1-gruppi .sg-rewind svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:#25d366;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-rewind p{font-size:14px;color:#25d366;font-weight:700;margin:0;padding:0}
#s1-gruppi .sg-rewind p strong{color:#fff}

/* ESEMPIO */
#s1-gruppi .sg-example{border-radius:16px;padding:24px 28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
#s1-gruppi .sg-example h4{font-size:14px;font-weight:800;color:#fff;margin:0 0 12px;padding:0;display:flex;align-items:center;gap:8px}
#s1-gruppi .sg-example h4 svg{width:18px;height:18px;fill:none;stroke:#ff4444;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-example p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.6);margin:0 0 10px;padding:0}
#s1-gruppi .sg-example p:last-child{margin-bottom:0}
#s1-gruppi .sg-example p strong{color:#fff}
#s1-gruppi .sg-ex-hl{display:inline-block;padding:3px 10px;border-radius:6px;background:rgba(37,211,102,.15);color:#25d366;font-weight:800;font-size:13px}
#s1-gruppi .sg-ex-strike{text-decoration:line-through;color:rgba(255,255,255,.3)}
#s1-gruppi .sg-ex-note{font-size:12px!important;line-height:1.55!important;color:rgba(255,255,255,.35)!important;font-style:italic;margin-top:14px!important;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}

/* VANTAGGI */
#s1-gruppi .sg-vant{padding:36px 40px}
#s1-gruppi .sg-vant h3{font-size:clamp(20px,3vw,26px);font-weight:900;color:#01206B;margin:0 0 6px;padding:0}
#s1-gruppi .sg-vant>p{font-size:14px;color:rgba(15,23,42,.5);margin:0 0 22px;padding:0}
#s1-gruppi .sg-vant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
#s1-gruppi .sg-vant-card{padding:22px;border-radius:16px;border:1px solid #e6eaf2;background:#fafbff;transition:border-color .2s}
#s1-gruppi .sg-vant-card:hover{border-color:#e63946}
#s1-gruppi .sg-vant-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 0 12px}
#s1-gruppi .sg-vant-ico svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-vant-ico.sg-v-blue{background:#01206B}
#s1-gruppi .sg-vant-ico.sg-v-red{background:#ff0000}
#s1-gruppi .sg-vant-ico.sg-v-green{background:#25d366}
#s1-gruppi .sg-vant-card h4{font-size:15px;font-weight:800;color:#01206B;margin:0 0 4px;padding:0}
#s1-gruppi .sg-vant-card p{font-size:13px;line-height:1.5;color:rgba(15,23,42,.5);margin:0;padding:0}

/* GALLERY */
#s1-gruppi .sg-gallery{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 4px}
#s1-gruppi .sg-gallery img{width:100%;height:180px;object-fit:cover;display:block;margin:0;padding:0}

/* SPEDIZIONE */
#s1-gruppi .sg-ship{margin:24px 40px 32px;padding:22px 26px;border-radius:16px;background:linear-gradient(135deg,rgba(1,32,107,.04),rgba(37,211,102,.04));border:1px solid #e6eaf2;display:flex;gap:18px;align-items:flex-start}
#s1-gruppi .sg-ship-ico{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:#01206B;display:flex;align-items:center;justify-content:center}
#s1-gruppi .sg-ship-ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-ship-body h4{font-size:16px;font-weight:900;color:#01206B;margin:0 0 4px;padding:0}
#s1-gruppi .sg-ship-body p{font-size:14px;line-height:1.6;color:rgba(15,23,42,.5);margin:0 0 8px;padding:0}
#s1-gruppi .sg-ship-body p:last-child{margin-bottom:0}
#s1-gruppi .sg-ship-body p strong{color:#1a1a2e}
#s1-gruppi .sg-ship-tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
#s1-gruppi .sg-ship-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:#fafbff;border:1px solid #e6eaf2;font-size:11px;font-weight:700;color:#01206B}
#s1-gruppi .sg-ship-tag svg{width:12px;height:12px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* COME FUNZIONA */
#s1-gruppi .sg-come{padding:0 40px 36px}
#s1-gruppi .sg-come h3{font-size:clamp(20px,3vw,26px);font-weight:900;color:#01206B;margin:0 0 6px;padding:0}
#s1-gruppi .sg-come>p{font-size:14px;color:rgba(15,23,42,.5);margin:0 0 20px;padding:0}
#s1-gruppi .sg-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#s1-gruppi .sg-opt{padding:24px;border-radius:16px;border:1px solid #e6eaf2;background:#fafbff}
#s1-gruppi .sg-opt-hd{display:flex;align-items:center;gap:10px;margin:0 0 10px}
#s1-gruppi .sg-opt-num{width:32px;height:32px;border-radius:10px;background:#01206B;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#fff}
#s1-gruppi .sg-opt-hd h4{font-size:16px;font-weight:800;color:#01206B;margin:0;padding:0}
#s1-gruppi .sg-opt p{font-size:13.5px;line-height:1.6;color:rgba(15,23,42,.5);margin:0 0 8px;padding:0}
#s1-gruppi .sg-opt p:last-child{margin-bottom:0}
#s1-gruppi .sg-opt p strong{color:#1a1a2e}
#s1-gruppi .sg-opt-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.15);font-size:11px;font-weight:700;color:#25d366;margin:4px 0 0}
#s1-gruppi .sg-opt-cta{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:#01206B;color:#fff;font-size:13px;font-weight:700;text-decoration:none;margin:8px 0 0;transition:filter .2s}
#s1-gruppi .sg-opt-cta:hover{filter:brightness(1.2)}
#s1-gruppi .sg-opt-cta svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* NOTA BENE */
#s1-gruppi .sg-note{margin:0 40px 32px;padding:20px 24px;border-radius:14px;border:1px solid rgba(255,0,0,.12);border-left:3px solid #ff0000;background:rgba(255,0,0,.03)}
#s1-gruppi .sg-note h4{font-size:14px;font-weight:800;color:#ff0000;margin:0 0 6px;padding:0}
#s1-gruppi .sg-note p{font-size:13.5px;line-height:1.65;color:rgba(15,23,42,.5);margin:0 0 10px;padding:0}
#s1-gruppi .sg-note p:last-child{margin-bottom:0}
#s1-gruppi .sg-note p strong{color:#1a1a2e}

/* VOUCHER WARNING */
#s1-gruppi .sg-note-warn{margin:0 40px 16px;padding:20px 24px;border-radius:14px;border:1px solid rgba(245,158,11,.2);border-left:3px solid #f59e0b;background:rgba(245,158,11,.04)}
#s1-gruppi .sg-note-warn h4{font-size:14px;font-weight:800;color:#f59e0b;margin:0 0 6px;padding:0}
#s1-gruppi .sg-note-warn p{font-size:13.5px;line-height:1.65;color:rgba(15,23,42,.5);margin:0 0 10px;padding:0}
#s1-gruppi .sg-note-warn p:last-child{margin-bottom:0}
#s1-gruppi .sg-note-warn p strong{color:#1a1a2e}

/* CTA — fondo #ff0000 */
#s1-gruppi .sg-cta-wrap{border-radius:22px;overflow:hidden;background:#ff0000;padding:36px 40px;text-align:center;margin:0 0 24px}
#s1-gruppi .sg-cta-wrap h2{font-size:clamp(22px,4vw,30px);font-weight:900;color:#fff;margin:0 0 8px;padding:0}
#s1-gruppi .sg-cta-wrap>p{font-size:15px;color:rgba(255,255,255,.8);margin:0 0 20px;padding:0;max-width:500px;display:inline-block}
#s1-gruppi .sg-ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
#s1-gruppi .sg-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;font-size:15px;font-weight:800;text-decoration:none;transition:filter .2s,transform .15s}
#s1-gruppi .sg-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
#s1-gruppi .sg-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-gruppi .sg-cta-white{background:#fff;color:#ff0000;box-shadow:0 4px 16px rgba(0,0,0,.1)}
#s1-gruppi .sg-cta-ghost{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25)}
#s1-gruppi .sg-cta-note{font-size:12px;color:rgba(255,255,255,.5);margin:14px auto 0;padding:0;max-width:440px;display:block}

/* RESPONSIVE */
@media(max-width:768px){
  #s1-gruppi .sg-hero{min-height:300px}
  #s1-gruppi .sg-hero-body{padding:28px 24px 32px}
  #s1-gruppi .sg-intro{flex-direction:column;padding:28px 24px;gap:16px}
  #s1-gruppi .sg-intro-img{width:100%;height:180px}
  #s1-gruppi .sg-vant,#s1-gruppi .sg-come{padding-left:24px;padding-right:24px}
  #s1-gruppi .sg-note,#s1-gruppi .sg-note-warn,#s1-gruppi .sg-ship{margin-left:24px;margin-right:24px}
  #s1-gruppi .sg-tm{padding:32px 24px}
  #s1-gruppi .sg-fasce{height:140px;gap:6px}
  #s1-gruppi .sg-fasce-labels{gap:6px}
  #s1-gruppi .sg-gallery img{height:120px}
  #s1-gruppi .sg-opts{grid-template-columns:1fr}
  #s1-gruppi .sg-cta-wrap{padding:28px 24px}
  #s1-gruppi .sg-ctas{flex-direction:column;align-items:center}
  #s1-gruppi .sg-ship{flex-direction:column;gap:12px}
}

/* =========================================================
   Alloggio — #s1-hotel
   ========================================================= */
#s1-hotel{max-width:1100px;margin:0 auto;padding:0 16px 48px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a2e}
#s1-hotel,#s1-hotel *{box-sizing:border-box}
#s1-hotel img{display:block;margin:0;padding:0}
#s1-hotel a{text-decoration:none}

/* HERO */
#s1-hotel .ht-hero{position:relative;border-radius:22px;overflow:hidden;min-height:400px;display:flex;align-items:flex-end;margin:0 0 24px}
#s1-hotel .ht-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#s1-hotel .ht-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(1,32,107,.95) 0%,rgba(1,32,107,.45) 40%,transparent 75%)}
#s1-hotel .ht-hero-body{position:relative;z-index:1;padding:40px 44px 48px;max-width:700px}
#s1-hotel .ht-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 14px}
#s1-hotel .ht-hero-kicker svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-hotel .ht-hero h1{font-size:clamp(30px,5.5vw,48px);font-weight:900;line-height:1.06;color:#fff;margin:0 0 12px;padding:0;letter-spacing:-.02em}
#s1-hotel .ht-hero h1 span{color:#e63946}
#s1-hotel .ht-hero-body>p{font-size:clamp(15px,2vw,18px);line-height:1.55;color:rgba(255,255,255,.8);margin:0;padding:0}

/* BLOCK */
#s1-hotel .ht-block{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 6px 32px rgba(11,31,68,.08);margin:0 0 24px}

/* SECTION PADDING */
#s1-hotel .ht-sect{padding:36px 40px}
#s1-hotel .ht-sect h2{font-size:clamp(22px,3.5vw,30px);font-weight:900;color:#01206B;margin:0 0 8px;padding:0}
#s1-hotel .ht-sect h2 span{color:#e63946}
#s1-hotel .ht-sect>p{font-size:15px;line-height:1.7;color:rgba(15,23,42,.5);margin:0 0 14px;padding:0;max-width:800px}
#s1-hotel .ht-sect>p:last-child{margin-bottom:0}
#s1-hotel .ht-sect>p strong{color:#1a1a2e}

/* CHOICE CARDS — Trieste vs Sistiana */
#s1-hotel .ht-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 0}
#s1-hotel .ht-ch{padding:24px;border-radius:16px;border:1px solid #e6eaf2;background:#fafbff;position:relative}
#s1-hotel .ht-ch-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 0 12px}
#s1-hotel .ht-ch-ico svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#s1-hotel .ht-ch-ico.ht-ci-navy{background:#01206B}
#s1-hotel .ht-ch-ico.ht-ci-red{background:#ff0000}
#s1-hotel .ht-ch h3{font-size:17px;font-weight:900;color:#01206B;margin:0 0 6px;padding:0}
#s1-hotel .ht-ch p{font-size:13.5px;line-height:1.6;color:rgba(15,23,42,.5);margin:0;padding:0}
#s1-hotel .ht-ch p strong{color:#1a1a2e}

/* SERVICES BAR */
#s1-hotel .ht-services{display:flex;gap:12px;flex-wrap:wrap;padding:0 40px 28px}
#s1-hotel .ht-svc{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;background:#fafbff;border:1px solid #e6eaf2;font-size:12px;font-weight:700;color:#01206B}
#s1-hotel .ht-svc svg{width:14px;height:14px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ALL INCLUSIVE CARD */
#s1-hotel .ht-allinc{margin:0 40px 28px;padding:28px;border-radius:18px;background:linear-gradient(135deg,#01206B,#1a3a7a);position:relative;overflow:hidden}
#s1-hotel .ht-allinc>*{position:relative;z-index:1}
#s1-hotel .ht-allinc h3{font-size:clamp(18px,2.5vw,24px);font-weight:900;color:#fff;margin:0 0 8px;padding:0}
#s1-hotel .ht-allinc h3 span{color:#e63946}
#s1-hotel .ht-allinc>p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.7);margin:0 0 16px;padding:0}
#s1-hotel .ht-allinc>p strong{color:#fff}
#s1-hotel .ht-allinc-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
#s1-hotel .ht-allinc-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:700;color:rgba(255,255,255,.7)}
#s1-hotel .ht-allinc-tag svg{width:12px;height:12px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-hotel .ht-allinc-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;background:#e63946;color:#fff;font-size:14px;font-weight:800;transition:filter .2s}
#s1-hotel .ht-allinc-cta:hover{filter:brightness(1.1)}
#s1-hotel .ht-allinc-cta svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-hotel .ht-allinc-note{font-size:12px;color:rgba(255,255,255,.35);margin:12px 0 0;padding:0}

/* SEARCH TIPS */
#s1-hotel .ht-tips{margin:0 40px 28px;padding:18px 22px;border-radius:14px;border:1px solid #e6eaf2;background:#fafbff}
#s1-hotel .ht-tips h4{font-size:14px;font-weight:800;color:#01206B;margin:0 0 6px;padding:0;display:flex;align-items:center;gap:6px}
#s1-hotel .ht-tips h4 svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-hotel .ht-tips p{font-size:13.5px;line-height:1.6;color:rgba(15,23,42,.5);margin:0 0 6px;padding:0}
#s1-hotel .ht-tips p:last-child{margin-bottom:0}
#s1-hotel .ht-tips p strong{color:#1a1a2e}

/* DIVIDER */
#s1-hotel .ht-divider{padding:8px 40px;text-align:center}
#s1-hotel .ht-divider p{display:inline-block;font-size:13px;font-weight:700;color:rgba(15,23,42,.3);letter-spacing:.06em;text-transform:uppercase;padding:0 16px;margin:0;position:relative}
#s1-hotel .ht-divider p::before,#s1-hotel .ht-divider p::after{content:'';position:absolute;top:50%;width:60px;height:1px;background:#e6eaf2}
#s1-hotel .ht-divider p::before{right:100%}
#s1-hotel .ht-divider p::after{left:100%}

/* HOTEL SECTION TITLE */
#s1-hotel .ht-htl-sect{padding:28px 40px 16px}
#s1-hotel .ht-htl-sect h2{font-size:clamp(20px,3vw,26px);font-weight:900;color:#01206B;margin:0 0 4px;padding:0}
#s1-hotel .ht-htl-sect>p{font-size:14px;color:rgba(15,23,42,.5);margin:0;padding:0}

/* HOTEL CARDS */
#s1-hotel .ht-hotels{padding:0 40px 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
#s1-hotel .ht-htl{border-radius:16px;overflow:hidden;border:1px solid #e6eaf2;background:#fff;transition:box-shadow .2s}
#s1-hotel .ht-htl:hover{box-shadow:0 8px 32px rgba(11,31,68,.1)}
#s1-hotel .ht-htl-img{height:100px;overflow:hidden;background:#e6eaf2}
#s1-hotel .ht-htl-body{padding:18px}
#s1-hotel .ht-htl-stars{font-size:11px;font-weight:700;letter-spacing:.04em;color:#e63946;margin:0 0 2px;padding:0}
#s1-hotel .ht-htl-body h4{font-size:15px;font-weight:900;color:#01206B;margin:0 0 4px;padding:0}
#s1-hotel .ht-htl-loc{font-size:11px;font-weight:700;color:rgba(15,23,42,.35);margin:0 0 6px;padding:0;text-transform:uppercase;letter-spacing:.04em}
#s1-hotel .ht-htl-body p{font-size:12.5px;line-height:1.5;color:rgba(15,23,42,.5);margin:0 0 12px;padding:0}
#s1-hotel .ht-htl-cta{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:7px;background:#01206B;color:#fff;font-size:12px;font-weight:700;transition:filter .2s}
#s1-hotel .ht-htl-cta:hover{filter:brightness(1.3)}
#s1-hotel .ht-htl-cta svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* HOTEL — FEATURED (wider) */
#s1-hotel .ht-htl.ht-htl-feat{grid-column:span 1}

/* PALESTRA NOTE */
#s1-hotel .ht-palestra{margin:0 40px 32px;padding:20px 24px;border-radius:14px;border:1px solid rgba(255,0,0,.12);border-left:3px solid #ff0000;background:rgba(255,0,0,.03)}
#s1-hotel .ht-palestra h4{font-size:14px;font-weight:800;color:#ff0000;margin:0 0 6px;padding:0;display:flex;align-items:center;gap:6px}
#s1-hotel .ht-palestra h4 svg{width:16px;height:16px;fill:none;stroke:#ff0000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-hotel .ht-palestra p{font-size:13px;line-height:1.65;color:rgba(15,23,42,.5);margin:0;padding:0}
#s1-hotel .ht-palestra p strong{color:#1a1a2e}

/* RESPONSIVE */
@media(max-width:768px){
  #s1-hotel .ht-hero{min-height:300px}
  #s1-hotel .ht-hero-body{padding:28px 24px 36px}
  #s1-hotel .ht-sect{padding:28px 24px}
  #s1-hotel .ht-choice{grid-template-columns:1fr}
  #s1-hotel .ht-services{padding:0 24px 24px}
  #s1-hotel .ht-allinc{margin:0 24px 24px;padding:24px}
  #s1-hotel .ht-tips{margin:0 24px 24px}
  #s1-hotel .ht-htl-sect{padding:20px 24px 12px}
  #s1-hotel .ht-hotels{padding:0 24px 24px;grid-template-columns:1fr}
  #s1-hotel .ht-palestra{margin:0 24px 24px}
  #s1-hotel .ht-divider{padding:8px 24px}
}

/* =========================================================
   Arrivare — #s1-arrivo
   ========================================================= */
#s1-arrivo{max-width:1100px;margin:0 auto;padding:0 16px 48px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a2e}
#s1-arrivo,#s1-arrivo *{box-sizing:border-box}
#s1-arrivo img{display:block;margin:0;padding:0}
#s1-arrivo a{text-decoration:none}

/* HERO */
#s1-arrivo .ar-hero{position:relative;border-radius:22px;overflow:hidden;min-height:400px;display:flex;align-items:flex-end;margin:0 0 24px}
#s1-arrivo .ar-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#s1-arrivo .ar-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(1,32,107,.95) 0%,rgba(1,32,107,.45) 40%,transparent 75%)}
#s1-arrivo .ar-hero-body{position:relative;z-index:1;padding:40px 44px 48px;max-width:700px}
#s1-arrivo .ar-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 14px}
#s1-arrivo .ar-hero-kicker svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-arrivo .ar-hero h1{font-size:clamp(30px,5.5vw,48px);font-weight:900;line-height:1.06;color:#fff;margin:0 0 12px;padding:0;letter-spacing:-.02em}
#s1-arrivo .ar-hero h1 span{color:#e63946}
#s1-arrivo .ar-hero-body>p{font-size:clamp(15px,2vw,18px);line-height:1.55;color:rgba(255,255,255,.8);margin:0;padding:0}

/* BLOCK */
#s1-arrivo .ar-block{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 6px 32px rgba(11,31,68,.08);margin:0 0 24px}

/* TRANSPORT CARDS */
#s1-arrivo .ar-transports{padding:36px 40px;display:flex;flex-direction:column;gap:20px}
#s1-arrivo .ar-tr{padding:28px;border-radius:18px;border:1px solid #e6eaf2;background:#fafbff;display:flex;gap:22px;align-items:flex-start}
#s1-arrivo .ar-tr-ico{flex-shrink:0;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}
#s1-arrivo .ar-tr-ico svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#s1-arrivo .ar-tr-ico.ar-i-navy{background:#01206B}
#s1-arrivo .ar-tr-ico.ar-i-red{background:#ff0000}
#s1-arrivo .ar-tr-ico.ar-i-green{background:#25d366}
#s1-arrivo .ar-tr-body{flex:1;min-width:0}
#s1-arrivo .ar-tr-body h3{font-size:18px;font-weight:900;color:#01206B;margin:0 0 8px;padding:0}
#s1-arrivo .ar-tr-body p{font-size:14px;line-height:1.65;color:rgba(15,23,42,.5);margin:0 0 10px;padding:0}
#s1-arrivo .ar-tr-body p:last-child{margin-bottom:0}
#s1-arrivo .ar-tr-body p strong{color:#1a1a2e}

/* PILL HIGHLIGHTS inside transport */
#s1-arrivo .ar-pills{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
#s1-arrivo .ar-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:#fff;border:1px solid #e6eaf2;font-size:11px;font-weight:700;color:#01206B}
#s1-arrivo .ar-pill svg{width:12px;height:12px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-arrivo .ar-pill-green{background:rgba(37,211,102,.06);border-color:rgba(37,211,102,.15);color:#1a7a3a}

/* SUB-SECTIONS inside transport */
#s1-arrivo .ar-sub{margin:14px 0 0;padding:14px 18px;border-radius:12px;background:#fff;border:1px solid #e6eaf2}
#s1-arrivo .ar-sub h4{font-size:14px;font-weight:800;color:#01206B;margin:0 0 4px;padding:0;display:flex;align-items:center;gap:6px}
#s1-arrivo .ar-sub h4 svg{width:14px;height:14px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-arrivo .ar-sub p{font-size:13px;line-height:1.55;color:rgba(15,23,42,.5);margin:0;padding:0}
#s1-arrivo .ar-sub p strong{color:#1a1a2e}

/* LINK BUTTON */
#s1-arrivo .ar-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;background:#01206B;color:#fff;font-size:12px;font-weight:700;margin:8px 0 0;transition:filter .2s}
#s1-arrivo .ar-link:hover{filter:brightness(1.3)}
#s1-arrivo .ar-link svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* DISTANCES TABLE */
#s1-arrivo .ar-dist{padding:0 40px 36px}
#s1-arrivo .ar-dist h2{font-size:clamp(20px,3vw,26px);font-weight:900;color:#01206B;margin:0 0 16px;padding:0}
#s1-arrivo .ar-dist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
#s1-arrivo .ar-dist-col{border-radius:16px;border:1px solid #e6eaf2;overflow:hidden}
#s1-arrivo .ar-dist-hd{padding:12px 18px;background:#01206B;display:flex;align-items:center;gap:8px}
#s1-arrivo .ar-dist-hd svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#s1-arrivo .ar-dist-hd span{font-size:13px;font-weight:800;color:#fff}
#s1-arrivo .ar-dist-row{padding:10px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f2f5}
#s1-arrivo .ar-dist-row:last-child{border-bottom:0}
#s1-arrivo .ar-dist-city{font-size:13px;font-weight:600;color:#1a1a2e}
#s1-arrivo .ar-dist-val{font-size:13px;font-weight:800;color:#01206B}

/* DESTINATION SECTION */
#s1-arrivo .ar-dest{border-radius:22px;overflow:hidden;background:#01206B;padding:44px 40px;margin:0 0 24px;position:relative}
#s1-arrivo .ar-dest::before{content:'';position:absolute;inset:0;opacity:.04;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='40' cy='40' r='30' fill='none' stroke='white' stroke-width='.3'/%3E%3Ccircle cx='160' cy='140' r='40' fill='none' stroke='white' stroke-width='.3'/%3E%3C/svg%3E")}
#s1-arrivo .ar-dest>*{position:relative;z-index:1}
#s1-arrivo .ar-dest h2{font-size:clamp(22px,3.5vw,30px);font-weight:900;color:#fff;margin:0 0 6px;padding:0}
#s1-arrivo .ar-dest h2 span{color:#e63946}
#s1-arrivo .ar-dest-sub{font-size:14px;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;padding:0}
#s1-arrivo .ar-dest p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.65);margin:0 0 14px;padding:0;max-width:800px}
#s1-arrivo .ar-dest p:last-child{margin-bottom:0}
#s1-arrivo .ar-dest p strong{color:#fff}

/* DEST FEATURES */
#s1-arrivo .ar-dest-feats{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 0}
#s1-arrivo .ar-dest-feat{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:700;color:rgba(255,255,255,.6)}
#s1-arrivo .ar-dest-feat svg{width:14px;height:14px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* RESPONSIVE */
@media(max-width:768px){
  #s1-arrivo .ar-hero{min-height:300px}
  #s1-arrivo .ar-hero-body{padding:28px 24px 36px}
  #s1-arrivo .ar-transports{padding:28px 24px}
  #s1-arrivo .ar-tr{flex-direction:column;gap:14px;padding:22px}
  #s1-arrivo .ar-dist{padding:0 24px 28px}
  #s1-arrivo .ar-dist-grid{grid-template-columns:1fr}
  #s1-arrivo .ar-dest{padding:32px 24px}
}

/* =========================================================
   Bora Village — #s1-bv
   ========================================================= */
#s1-bv{max-width:1100px;margin:0 auto;padding:0 16px 48px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a2e}
#s1-bv,#s1-bv *{box-sizing:border-box}
#s1-bv img{display:block;margin:0;padding:0}

/* HERO */
#s1-bv .bv-hero{position:relative;border-radius:22px;overflow:hidden;min-height:480px;display:flex;align-items:flex-end;margin:0 0 24px}
#s1-bv .bv-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#s1-bv .bv-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(1,32,107,.95) 0%,rgba(1,32,107,.45) 40%,transparent 75%)}
#s1-bv .bv-hero-body{position:relative;z-index:1;padding:40px 44px 48px;max-width:700px}
#s1-bv .bv-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 14px}
#s1-bv .bv-hero-kicker svg{width:16px;height:16px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-bv .bv-hero h1{font-size:clamp(30px,5.5vw,50px);font-weight:900;line-height:1.06;color:#fff;margin:0 0 10px;padding:0;letter-spacing:-.02em}
#s1-bv .bv-hero h1 span{color:#e63946}
#s1-bv .bv-hero-body>p{font-size:clamp(15px,2vw,19px);line-height:1.5;color:rgba(255,255,255,.8);margin:0;padding:0}

/* BLOCK */
#s1-bv .bv-block{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 6px 32px rgba(11,31,68,.08);margin:0 0 24px}

/* HIGHLIGHTS — icone + testo su sfondo navy */
#s1-bv .bv-highlights{border-radius:22px;overflow:hidden;background:#01206B;padding:36px 40px;margin:0 0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
#s1-bv .bv-wide-img{border-radius:22px;overflow:hidden;margin:0 0 24px;height:280px;position:relative}
#s1-bv .bv-wide-img::before{content:'';position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,#f0f1f4,transparent);z-index:1}
#s1-bv .bv-wide-img img{width:100%;height:100%;object-fit:cover}
#s1-bv .bv-hl{text-align:center;padding:16px 12px}
#s1-bv .bv-hl-ico{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;margin:0 auto 12px}
#s1-bv .bv-hl-ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#s1-bv .bv-hl h4{font-size:15px;font-weight:800;color:#fff;margin:0 0 4px;padding:0}
#s1-bv .bv-hl p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.55);margin:0;padding:0}
#s1-bv .bv-hl-big{font-size:clamp(24px,3.5vw,32px);font-weight:900;color:#e63946;margin:0 0 2px;padding:0}

/* SECTION TITLE */
#s1-bv .bv-sect{padding:36px 40px 0}
#s1-bv .bv-sect h2{font-size:clamp(22px,3.5vw,30px);font-weight:900;color:#01206B;margin:0 0 6px;padding:0}
#s1-bv .bv-sect h2 span{color:#e63946}
#s1-bv .bv-sect>p{font-size:15px;line-height:1.65;color:rgba(15,23,42,.5);margin:0 0 20px;padding:0;max-width:700px}

/* GALLERY 4-UP */
#s1-bv .bv-gal4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;margin:0}
#s1-bv .bv-gal4 img{width:100%;height:160px;object-fit:cover}

/* GALLERY 2-UP */
#s1-bv .bv-gal2{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0}
#s1-bv .bv-gal2 img{width:100%;height:220px;object-fit:cover}

/* BORA VILLAGE SECTION */
#s1-bv .bv-village{padding:32px 40px}
#s1-bv .bv-village-hero{display:flex;gap:24px;align-items:center;margin:0 0 24px}
#s1-bv .bv-village-img{flex-shrink:0;width:280px;height:200px;border-radius:16px;overflow:hidden}
#s1-bv .bv-village-img img{width:100%;height:100%;object-fit:cover}
#s1-bv .bv-village-txt h3{font-size:clamp(20px,3vw,26px);font-weight:900;color:#01206B;margin:0 0 8px;padding:0}
#s1-bv .bv-village-txt p{font-size:14.5px;line-height:1.65;color:rgba(15,23,42,.5);margin:0 0 12px;padding:0}
#s1-bv .bv-village-txt p:last-child{margin-bottom:0}
#s1-bv .bv-village-txt p strong{color:#1a1a2e}

/* FEATURES GRID */
#s1-bv .bv-feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0 0 8px}
#s1-bv .bv-feat{padding:18px;border-radius:14px;border:1px solid #e6eaf2;background:#fafbff}
#s1-bv .bv-feat-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 0 10px}
#s1-bv .bv-feat-ico svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-bv .bv-feat-ico.bv-f-navy{background:#01206B}
#s1-bv .bv-feat-ico.bv-f-red{background:#ff0000}
#s1-bv .bv-feat-ico.bv-f-green{background:#25d366}
#s1-bv .bv-feat h4{font-size:14px;font-weight:800;color:#01206B;margin:0 0 3px;padding:0}
#s1-bv .bv-feat p{font-size:12.5px;line-height:1.45;color:rgba(15,23,42,.5);margin:0;padding:0}

/* ALLOGGIO — ALL INCLUSIVE CARD */
#s1-bv .bv-allinc{margin:0 40px 24px;padding:28px;border-radius:18px;background:linear-gradient(135deg,#01206B,#1a3a7a);position:relative;overflow:hidden}
#s1-bv .bv-allinc::before{content:'';position:absolute;inset:0;opacity:.04;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='20' cy='20' r='15' fill='none' stroke='white' stroke-width='.3'/%3E%3Ccircle cx='80' cy='70' r='20' fill='none' stroke='white' stroke-width='.3'/%3E%3C/svg%3E")}
#s1-bv .bv-allinc>*{position:relative;z-index:1}
#s1-bv .bv-allinc h3{font-size:clamp(18px,2.5vw,22px);font-weight:900;color:#fff;margin:0 0 8px;padding:0}
#s1-bv .bv-allinc h3 span{color:#e63946}
#s1-bv .bv-allinc>p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin:0 0 12px;padding:0}
#s1-bv .bv-allinc>p strong{color:#fff}
#s1-bv .bv-allinc-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
#s1-bv .bv-allinc-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:700;color:rgba(255,255,255,.7)}
#s1-bv .bv-allinc-tag svg{width:12px;height:12px;fill:none;stroke:#e63946;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-bv .bv-allinc-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;background:#e63946;color:#fff;font-size:14px;font-weight:800;text-decoration:none;transition:filter .2s}
#s1-bv .bv-allinc-cta:hover{filter:brightness(1.1)}
#s1-bv .bv-allinc-cta svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-bv .bv-allinc-note{font-size:12px;color:rgba(255,255,255,.35);margin:12px 0 0;padding:0}

/* HOTEL CARDS */
#s1-bv .bv-hotels{padding:0 40px 36px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
#s1-bv .bv-hotel{border-radius:18px;overflow:hidden;border:1px solid #e6eaf2;background:#fff;transition:box-shadow .2s}
#s1-bv .bv-hotel:hover{box-shadow:0 8px 32px rgba(11,31,68,.1)}
#s1-bv .bv-hotel-img{height:200px;overflow:hidden}
#s1-bv .bv-hotel-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
#s1-bv .bv-hotel:hover .bv-hotel-img img{transform:scale(1.03)}
#s1-bv .bv-hotel-body{padding:22px}
#s1-bv .bv-hotel-stars{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e63946;margin:0 0 4px;padding:0}
#s1-bv .bv-hotel-body h4{font-size:17px;font-weight:900;color:#01206B;margin:0 0 8px;padding:0}
#s1-bv .bv-hotel-body p{font-size:13px;line-height:1.55;color:rgba(15,23,42,.5);margin:0 0 14px;padding:0}
#s1-bv .bv-hotel-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:8px;background:#01206B;color:#fff;font-size:13px;font-weight:700;text-decoration:none;transition:filter .2s}
#s1-bv .bv-hotel-cta:hover{filter:brightness(1.3)}
#s1-bv .bv-hotel-cta svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* DIVIDER LABEL */
#s1-bv .bv-divider{padding:20px 40px 0;text-align:center}
#s1-bv .bv-divider p{display:inline-block;font-size:13px;font-weight:700;color:rgba(15,23,42,.3);letter-spacing:.06em;text-transform:uppercase;padding:0 16px;position:relative}
#s1-bv .bv-divider p::before,#s1-bv .bv-divider p::after{content:'';position:absolute;top:50%;width:60px;height:1px;background:#e6eaf2}
#s1-bv .bv-divider p::before{right:100%}
#s1-bv .bv-divider p::after{left:100%}

/* RESPONSIVE */
@media(max-width:768px){
  #s1-bv .bv-hero{min-height:340px}
  #s1-bv .bv-hero-body{padding:28px 24px 36px}
  #s1-bv .bv-highlights{grid-template-columns:1fr 1fr;padding:28px 24px;gap:12px}
  #s1-bv .bv-wide-img{height:180px;border-radius:16px}
  #s1-bv .bv-sect{padding:28px 24px 0}
  #s1-bv .bv-gal4{grid-template-columns:1fr 1fr}
  #s1-bv .bv-gal4 img{height:120px}
  #s1-bv .bv-gal2 img{height:160px}
  #s1-bv .bv-village{padding:24px}
  #s1-bv .bv-village-hero{flex-direction:column;gap:16px}
  #s1-bv .bv-village-img{width:100%;height:180px}
  #s1-bv .bv-allinc{margin:0 24px 24px;padding:24px}
  #s1-bv .bv-hotels{padding:0 24px 28px;grid-template-columns:1fr}
  #s1-bv .bv-divider{padding:16px 24px 0}
}

/* =========================================================
   Contatti — .s1-ct
   ========================================================= */
.s1-ct{max-width:1100px;margin:0 auto;padding:0 16px}
.s1-ct-block{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08);margin-bottom:24px}
.s1-ct-hero{position:relative;border-radius:22px;overflow:hidden;background:var(--s1-text-dark,#01206B);padding:48px 44px;text-align:center;margin-bottom:24px}
.s1-ct-hero-bg{position:absolute;inset:0;opacity:.05;pointer-events:none}
.s1-ct-hero>*:not(.s1-ct-hero-bg){position:relative;z-index:1}
.s1-ct-hero-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);margin-bottom:18px}
.s1-ct-hero-ico svg{width:32px;height:32px;fill:none;stroke:var(--nv-primary-accent,#e63946);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.s1-ct-hero h1{font-size:clamp(28px,5vw,42px);font-weight:900;line-height:1.08;color:#fff;margin:0 0 12px;letter-spacing:-.02em}
.s1-ct-hero h1 span{color:var(--nv-primary-accent,#e63946)}
.s1-ct-hero>p{font-size:clamp(15px,2vw,18px);line-height:1.55;color:rgba(255,255,255,.7);margin:0 auto;max-width:560px}
.s1-ct-ai{padding:36px 40px;display:flex;gap:28px;align-items:flex-start}
.s1-ct-ai-badge{flex-shrink:0;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--s1-text-dark,#01206B),#1a3a7a);display:flex;align-items:center;justify-content:center}
.s1-ct-ai-badge svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.s1-ct-ai-body{flex:1;min-width:0}
.s1-ct-ai-body h2{font-size:clamp(20px,3vw,26px);font-weight:900;line-height:1.15;color:var(--s1-text-dark,#01206B);margin:0 0 8px}
.s1-ct-ai-body h2 span{color:var(--nv-primary-accent,#e63946)}
.s1-ct-ai-body>p{font-size:15px;line-height:1.65;color:var(--s1-muted,rgba(15,23,42,.5));margin:0 0 16px}
.s1-ct-ai-body>p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-ct-ai-body>p em{font-style:normal;color:var(--nv-primary-accent,#e63946);font-weight:700}
.s1-ct-steps{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.s1-ct-step{flex:1;min-width:160px;padding:14px 16px;border-radius:14px;background:var(--nv-light-bg,#fafbff);border:1px solid var(--s1-border-light,#e6eaf2)}
.s1-ct-step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:var(--s1-text-dark,#01206B);color:#fff;font-size:12px;font-weight:800;margin-bottom:6px}
.s1-ct-step h4{font-size:13px;font-weight:800;color:var(--s1-text-dark,#01206B);margin:0 0 2px}
.s1-ct-step p{font-size:12px;line-height:1.4;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-ct-ctas{display:flex;gap:10px;flex-wrap:wrap}
.s1-ct-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:12px;font-size:15px;font-weight:800;text-decoration:none;letter-spacing:.01em;transition:filter .2s,transform .15s}
.s1-ct-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.s1-ct-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-ct-cta-wa{background:#25d366;color:#fff;box-shadow:0 4px 16px rgba(37,211,102,.25)}
.s1-ct-cta-chat{background:var(--s1-text-dark,#01206B);color:#fff;box-shadow:0 4px 16px rgba(1,32,107,.2)}
.s1-ct-phone{padding:28px 40px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.s1-ct-phone-ico{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:var(--nv-light-bg,#fafbff);border:1px solid var(--s1-border-light,#e6eaf2);display:flex;align-items:center;justify-content:center}
.s1-ct-phone-ico svg{width:22px;height:22px;fill:none;stroke:var(--s1-text-dark,#01206B);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-ct-phone-txt{flex:1;min-width:200px}
.s1-ct-phone-txt h3{font-size:16px;font-weight:800;color:var(--s1-text-dark,#01206B);margin:0 0 2px}
.s1-ct-phone-txt h3 a{color:var(--s1-text-dark,#01206B);text-decoration:none;transition:color .2s}
.s1-ct-phone-txt h3 a:hover{color:var(--nv-primary-accent,#e63946)}
.s1-ct-phone-txt p{font-size:13px;color:var(--s1-muted,rgba(15,23,42,.5));margin:0;line-height:1.4}
.s1-ct-phone-hrs{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:8px;background:var(--nv-light-bg,#fafbff);border:1px solid var(--s1-border-light,#e6eaf2);font-size:12px;font-weight:700;color:var(--s1-text-dark,#01206B)}
.s1-ct-phone-hrs svg{width:14px;height:14px;fill:none;stroke:var(--nv-primary-accent,#e63946);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:768px){.s1-ct-hero{padding:36px 24px}.s1-ct-ai{flex-direction:column;padding:28px 24px;gap:16px}.s1-ct-steps{flex-direction:column}.s1-ct-ctas{flex-direction:column}.s1-ct-cta{justify-content:center}.s1-ct-phone{padding:20px 24px;flex-direction:column;align-items:flex-start;gap:12px}}

/* =========================================================
   Newsletter — #s1-newsletter-wrap
   ========================================================= */
#s1-newsletter-wrap{padding:28px 20px;text-align:center;background:#ff0000}
#s1-newsletter-wrap *{margin:0;padding:0;box-sizing:border-box}
#s1-newsletter-wrap .s1nl-head{margin-bottom:16px}
#s1-newsletter-wrap .s1nl-head h2{font-size:22px;font-weight:900;line-height:1.2;color:#fff;margin:0 0 6px}
#s1-newsletter-wrap .s1nl-head p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.7);margin:0}
#s1-newsletter-wrap .s1nl-form{border-radius:10px;overflow:hidden;background:#fff;max-width:380px;margin:0 auto 12px;box-shadow:0 4px 20px rgba(0,0,0,.1)}
#s1-newsletter-wrap .s1nl-form iframe{width:100%;min-height:160px;border:0;display:block}
#s1-newsletter-wrap .s1nl-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;align-items:center}
#s1-newsletter-wrap .s1nl-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.06em}
#s1-newsletter-wrap .s1nl-tag svg{width:11px;height:11px;fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#s1-newsletter-wrap .s1nl-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.3)}

/* =========================================================
   Assicurazione — .s1-ins
   ========================================================= */
.s1-ins{max-width:900px;margin:40px auto;padding:0 16px}
.s1-ins-card{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08)}
.s1-ins-hero{display:flex;align-items:stretch;min-height:180px}
.s1-ins-hero-left{flex:0 0 240px;background:var(--nv-primary-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 24px;position:relative;overflow:hidden}
.s1-ins-hero-left::after{content:'';position:absolute;right:-1px;top:0;bottom:0;width:40px;background:var(--nv-site-bg,#fff);clip-path:ellipse(100% 50% at 100% 50%)}
.s1-ins-big{font-size:64px;font-weight:900;line-height:1;color:#fff;letter-spacing:-.03em}
.s1-ins-big-sub{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.85);margin-top:4px}
.s1-ins-hero-right{flex:1;display:flex;flex-direction:column;justify-content:center;padding:28px 32px}
.s1-ins-hero-right h3{font-size:22px;font-weight:900;color:var(--s1-text-dark,#01206B);line-height:1.25;margin:0 0 8px}
.s1-ins-hero-right p{font-size:14.5px;line-height:1.5;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-ins-body{padding:24px 32px 32px}
.s1-ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.s1-ins-feat{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:14px;border:1px solid rgba(1,32,107,.06);background:var(--nv-light-bg,#fafbff);transition:border-color .2s}
.s1-ins-feat:hover{border-color:var(--nv-primary-accent)}
.s1-ins-feat-ico{flex:0 0 38px;height:38px;border-radius:10px;background:var(--nv-primary-accent);display:flex;align-items:center;justify-content:center}
.s1-ins-feat-ico svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-ins-feat-txt{flex:1;min-width:0}
.s1-ins-feat-txt strong{display:block;font-size:13.5px;font-weight:800;color:var(--s1-text-dark,#01206B);margin-bottom:2px}
.s1-ins-feat-txt span{font-size:13px;line-height:1.4;color:var(--s1-muted,rgba(15,23,42,.5))}
.s1-ins-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--s1-separator,rgba(15,23,42,.06));text-align:center}
.s1-ins-foot-note{font-size:12.5px;color:var(--s1-muted,rgba(15,23,42,.5));line-height:1.4}
@media(max-width:640px){.s1-ins-hero{flex-direction:column}.s1-ins-hero-left{flex:none;padding:24px 20px;flex-direction:row;gap:12px;min-height:auto}.s1-ins-hero-left::after{display:none}.s1-ins-big{font-size:48px}.s1-ins-hero-right{padding:20px 20px 16px}.s1-ins-body{padding:16px 20px 24px}.s1-ins-grid{grid-template-columns:1fr}}

/* =========================================================
   Meteo Card — .s1-meteo
   ========================================================= */
.s1-meteo{max-width:1100px;margin:40px auto;padding:0 16px}
.s1-meteo-card{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08);display:grid;grid-template-columns:1fr 1fr;min-height:380px}
.s1-meteo-img{position:relative;overflow:hidden}
.s1-meteo-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.s1-meteo-img:hover img{transform:scale(1.03)}
.s1-meteo-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,var(--nv-site-bg,#fff));pointer-events:none}
.s1-meteo-body{padding:36px 36px 32px;display:flex;flex-direction:column;justify-content:center}
.s1-meteo-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nv-primary-accent);margin-bottom:10px}
.s1-meteo-kicker svg{width:16px;height:16px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-meteo-body h2{font-size:clamp(22px,3.5vw,30px);font-weight:900;line-height:1.15;color:var(--s1-text-dark,#01206B);margin:0 0 12px;letter-spacing:-.02em}
.s1-meteo-body>p{font-size:14.5px;line-height:1.6;color:var(--s1-muted,rgba(15,23,42,.5));margin:0 0 20px}
.s1-meteo-body>p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-meteo-bars{display:flex;flex-direction:column;gap:14px}
.s1-meteo-bar{display:flex;flex-direction:column;gap:4px}
.s1-meteo-bar-head{display:flex;align-items:center;justify-content:space-between}
.s1-meteo-bar-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--s1-text-dark,#01206B)}
.s1-meteo-bar-label svg{width:16px;height:16px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-meteo-bar-pct{font-size:14px;font-weight:900;letter-spacing:-.02em}
.s1-meteo-track{height:10px;border-radius:6px;background:var(--nv-light-bg,#eef1f6);overflow:hidden}
.s1-meteo-fill{height:100%;border-radius:6px;transition:width .8s ease}
.s1-bar-warm .s1-meteo-bar-label svg{stroke:#f59e0b}
.s1-bar-warm .s1-meteo-bar-pct{color:#f59e0b}
.s1-bar-warm .s1-meteo-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.s1-bar-cold .s1-meteo-bar-label svg{stroke:var(--s1-text-dark,#01206B)}
.s1-bar-cold .s1-meteo-bar-pct{color:var(--s1-text-dark,#01206B)}
.s1-bar-cold .s1-meteo-fill{background:linear-gradient(90deg,#60a5fa,var(--s1-text-dark,#01206B))}
.s1-meteo-foot{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--s1-border-light,#e6eaf2)}
.s1-meteo-foot-link{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:9px;border:2px solid var(--s1-text-dark,#01206B);color:var(--s1-text-dark,#01206B);font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.02em;transition:background .2s,color .2s}
.s1-meteo-foot-link:hover{background:var(--s1-text-dark,#01206B);color:#fff}
.s1-meteo-foot-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-meteo-foot-note{font-size:12px;color:var(--s1-muted,rgba(15,23,42,.5));line-height:1.35}
@media(max-width:768px){.s1-meteo-card{grid-template-columns:1fr}.s1-meteo-img{max-height:240px}.s1-meteo-img::after{background:linear-gradient(to bottom,transparent 60%,var(--nv-site-bg,#fff))}.s1-meteo-body{padding:24px 24px 28px}}

/* =========================================================
   Meteo Page — .s1-m
   ========================================================= */
.s1-m{max-width:1100px;margin:0 auto;padding:0 16px}
.s1-m-block{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08);margin-bottom:24px}
.s1-m-hero{position:relative;border-radius:22px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end;margin-bottom:24px}
.s1-m-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.s1-m-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(1,32,107,.9) 0%,rgba(1,32,107,.35) 55%,transparent 100%)}
.s1-m-hero-body{position:relative;z-index:1;padding:40px 44px 48px;max-width:720px}
.s1-m-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:14px}
.s1-m-hero-kicker svg{width:16px;height:16px;fill:none;stroke:var(--nv-primary-accent,#e63946);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-m-hero h1{font-size:clamp(30px,5.5vw,48px);font-weight:900;line-height:1.08;color:#fff;margin:0 0 14px;letter-spacing:-.02em}
.s1-m-hero h1 span{color:var(--nv-primary-accent,#e63946)}
.s1-m-hero-body>p{font-size:clamp(15px,2vw,18px);line-height:1.55;color:rgba(255,255,255,.8);margin:0}
.s1-m-intro{padding:36px 40px}
.s1-m-intro p{font-size:15.5px;line-height:1.7;color:var(--s1-muted,rgba(15,23,42,.5));margin:0 0 16px;max-width:880px}
.s1-m-intro p:last-child{margin-bottom:0}
.s1-m-intro p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-m-intro p em{font-style:normal;color:var(--s1-text-dark,#01206B);font-weight:700}
.s1-m-split{display:grid;grid-template-columns:1fr 1fr;min-height:340px}
.s1-m-split-img{position:relative;overflow:hidden}
.s1-m-split-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.s1-m-split-img:hover img{transform:scale(1.03)}
.s1-m-split-body{padding:34px 36px;display:flex;flex-direction:column;justify-content:center}
.s1-m-split-body h2{font-size:clamp(22px,3.5vw,30px);font-weight:900;line-height:1.15;color:var(--s1-text-dark,#01206B);margin:0 0 14px}
.s1-m-split-body h2 span{color:var(--nv-primary-accent,#e63946)}
.s1-m-split-body p{font-size:14.5px;line-height:1.6;color:var(--s1-muted,rgba(15,23,42,.5));margin:0 0 12px}
.s1-m-split-body p:last-of-type{margin-bottom:0}
.s1-m-split-body p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-m-split-body p em{font-style:normal;color:var(--nv-primary-accent,#e63946);font-weight:700}
.s1-m-split-rev{direction:rtl}.s1-m-split-rev>*{direction:ltr}
.s1-m-bars{display:flex;flex-direction:column;gap:14px;margin:18px 0 4px}
.s1-m-bar{display:flex;flex-direction:column;gap:4px}
.s1-m-bar-hd{display:flex;align-items:center;justify-content:space-between}
.s1-m-bar-lb{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--s1-text-dark,#01206B)}
.s1-m-bar-lb svg{width:16px;height:16px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-m-bar-pct{font-size:14px;font-weight:900;letter-spacing:-.02em}
.s1-m-track{height:10px;border-radius:6px;background:var(--nv-light-bg,#eef1f6);overflow:hidden}
.s1-m-fill{height:100%;border-radius:6px}
.s1-m-bw .s1-m-bar-lb svg{stroke:#f59e0b}.s1-m-bw .s1-m-bar-pct{color:#f59e0b}.s1-m-bw .s1-m-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.s1-m-bc .s1-m-bar-lb svg{stroke:var(--s1-text-dark,#01206B)}.s1-m-bc .s1-m-bar-pct{color:var(--s1-text-dark,#01206B)}.s1-m-bc .s1-m-fill{background:linear-gradient(90deg,#60a5fa,var(--s1-text-dark,#01206B))}
.s1-m-tip{margin:16px 0 0;padding:14px 18px;border-radius:14px;border-left:3px solid var(--nv-primary-accent,#e63946);background:linear-gradient(135deg,rgba(230,57,70,.04),rgba(1,32,107,.03))}
.s1-m-tip h4{font-size:14px;font-weight:800;color:var(--s1-text-dark,#01206B);margin:0 0 4px}
.s1-m-tip p{font-size:13.5px;line-height:1.55;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-m-temps-wrap{padding:0 36px 32px}
.s1-m-temps-title{font-size:16px;font-weight:800;color:var(--s1-text-dark,#01206B);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.s1-m-temps-title svg{width:20px;height:20px;fill:none;stroke:var(--nv-primary-accent,#e63946);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-m-temps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.s1-m-temp{padding:14px;border-radius:14px;border:1px solid var(--s1-border-light,#e6eaf2);background:var(--nv-light-bg,#fafbff);text-align:center;transition:border-color .2s}
.s1-m-temp:hover{border-color:var(--nv-primary-accent,#e63946)}
.s1-m-temp-yr{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nv-primary-accent,#e63946);margin-bottom:2px}
.s1-m-temp-rng{font-size:22px;font-weight:900;color:var(--s1-text-dark,#01206B);line-height:1.2}
.s1-m-temp-note{font-size:11.5px;color:var(--s1-muted,rgba(15,23,42,.5));margin-top:3px;line-height:1.3}
.s1-m-year{border-top:1px solid var(--s1-border-light,#e6eaf2)}
.s1-m-year:first-child{border-top:none}
.s1-m-year-hd{display:flex;align-items:center;gap:16px;padding:28px 36px 0}
.s1-m-year-n{flex-shrink:0;font-size:clamp(34px,4.5vw,48px);font-weight:900;color:var(--nv-primary-accent,#e63946);line-height:1;letter-spacing:-.03em}
.s1-m-year-hd h3{font-size:clamp(18px,2.5vw,24px);font-weight:800;color:var(--s1-text-dark,#01206B);line-height:1.2;margin:0}
.s1-m-year-hd h3 em{font-style:normal;color:var(--nv-primary-accent,#e63946)}
.s1-m-year-bd{padding:14px 36px 24px}
.s1-m-year-bd p{font-size:14.5px;line-height:1.65;color:var(--s1-muted,rgba(15,23,42,.5));margin:0 0 10px;max-width:820px}
.s1-m-year-bd p:last-of-type{margin-bottom:0}
.s1-m-year-bd p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-m-year-bd p em{font-style:normal;color:var(--nv-primary-accent,#e63946);font-weight:700}
.s1-m-year-opener{position:relative;overflow:hidden;max-height:300px}
.s1-m-year-opener img{width:100%;height:100%;object-fit:cover;display:block}
.s1-m-year-opener::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,var(--nv-site-bg,#fff));pointer-events:none}
.s1-m-gallery-sub{padding:0 36px;margin-bottom:10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--s1-muted,rgba(15,23,42,.5))}
.s1-m-gallery{padding:0 36px 28px}
.s1-m-masonry{columns:3;column-gap:10px}
.s1-m-masonry img{width:100%;border-radius:12px;margin-bottom:10px;display:block;break-inside:avoid;transition:transform .3s,box-shadow .3s}
.s1-m-masonry img:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.s1-m-sameday{position:relative;border-radius:22px;overflow:hidden;margin-bottom:24px}
.s1-m-sameday-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.s1-m-sameday-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .4s}
.s1-m-sameday-grid img:hover{transform:scale(1.04)}
.s1-m-sameday-ov{position:absolute;bottom:0;left:0;right:0;padding:28px 32px;background:linear-gradient(to top,rgba(1,32,107,.92),rgba(1,32,107,.3) 80%,transparent);text-align:center}
.s1-m-sameday-ov h2{font-size:clamp(18px,3vw,28px);font-weight:900;color:#fff;line-height:1.2;margin:0 0 4px}
.s1-m-sameday-ov h2 span{color:var(--nv-primary-accent,#e63946)}
.s1-m-sameday-ov p{font-size:14px;color:rgba(255,255,255,.75);margin:0}
@media(max-width:900px){.s1-m-split,.s1-m-split-rev{grid-template-columns:1fr;direction:ltr}.s1-m-split-img{max-height:260px}.s1-m-masonry{columns:2}.s1-m-sameday-grid{grid-template-columns:repeat(3,1fr)}.s1-m-sameday-grid img:nth-child(n+4){display:none}}
@media(max-width:640px){.s1-m-hero{min-height:340px}.s1-m-hero-body{padding:28px 24px 32px}.s1-m-intro{padding:28px 24px}.s1-m-split-body{padding:24px}.s1-m-year-hd{padding:22px 24px 0}.s1-m-year-bd{padding:12px 24px 20px}.s1-m-gallery,.s1-m-temps-wrap{padding-left:24px;padding-right:24px}.s1-m-gallery-sub{padding-left:24px;padding-right:24px}.s1-m-masonry{columns:2;column-gap:8px}.s1-m-sameday-grid{grid-template-columns:repeat(2,1fr)}.s1-m-sameday-grid img:nth-child(n+3){display:none}.s1-m-sameday-ov{padding:20px}.s1-m-temps{grid-template-columns:1fr 1fr}}

/* =========================================================
   Porto Piccolo — .s1-pp
   ========================================================= */
.s1-pp{max-width:1100px;margin:40px auto;padding:0 16px}
.s1-pp-card{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08)}
.s1-pp-hero{display:grid;grid-template-columns:1fr 1fr;min-height:340px}
.s1-pp-hero-img{position:relative;overflow:hidden}
.s1-pp-hero-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.s1-pp-hero-img:hover img{transform:scale(1.03)}
.s1-pp-hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(1,32,107,.25),transparent 60%);pointer-events:none}
.s1-pp-hero-badge{position:absolute;top:16px;left:16px;z-index:2;padding:6px 14px;border-radius:8px;background:rgba(1,32,107,.85);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.s1-pp-hero-body{padding:40px 36px;display:flex;flex-direction:column;justify-content:center}
.s1-pp-hero-body h2{font-size:clamp(26px,4vw,34px);font-weight:900;line-height:1.12;color:var(--s1-text-dark,#01206B);margin:0 0 16px;letter-spacing:-.02em}
.s1-pp-hero-body h2 span{color:var(--nv-primary-accent)}
.s1-pp-hero-body p{font-size:15px;line-height:1.6;color:var(--s1-muted,rgba(15,23,42,.5));margin:0 0 12px}
.s1-pp-hero-body p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-pp-services{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0}
.s1-pp-svc{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px solid var(--s1-border-light,#e6eaf2);font-size:12px;font-weight:700;color:var(--s1-text-dark,#01206B);background:var(--nv-light-bg,#fafbff)}
.s1-pp-svc svg{width:14px;height:14px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-pp-cta{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:12px 24px;border-radius:10px;background:var(--nv-primary-accent);color:#fff;font-size:14px;font-weight:800;text-decoration:none;letter-spacing:.02em;transition:filter .2s,transform .15s;width:fit-content}
.s1-pp-cta:hover{filter:brightness(1.1);transform:translateY(-1px);color:#fff}
.s1-pp-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.s1-pp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--s1-border-light,#e6eaf2)}
.s1-pp-col{padding:28px 28px 32px;border-right:1px solid var(--s1-border-light,#e6eaf2);display:flex;flex-direction:column;gap:12px;transition:background .25s}
.s1-pp-col:last-child{border-right:none}
.s1-pp-col:hover{background:var(--nv-light-bg,#fafbff)}
.s1-pp-col-head{display:flex;align-items:center;gap:12px}
.s1-pp-col-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.s1-pp-col-ico svg{width:22px;height:22px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.s1-pp-ico-bed{background:rgba(99,102,241,.08)}.s1-pp-ico-bed svg{stroke:#6366f1}
.s1-pp-ico-bus{background:rgba(22,163,74,.08)}.s1-pp-ico-bus svg{stroke:#16a34a}
.s1-pp-ico-map{background:rgba(234,179,8,.1)}.s1-pp-ico-map svg{stroke:#b45309}
.s1-pp-col-head h3{font-size:17px;font-weight:800;color:var(--s1-text-dark,#01206B);line-height:1.2;margin:0}
.s1-pp-col p{font-size:13.5px;line-height:1.55;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-pp-col p strong{color:var(--nv-text-color,#1a1a2e)}
.s1-pp-highlights{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.s1-pp-hl{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700;color:var(--s1-text-dark,#01206B);background:rgba(1,32,107,.04)}
.s1-pp-hl svg{width:12px;height:12px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-pp-col-cta{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:9px 18px;border-radius:9px;border:2px solid var(--s1-text-dark,#01206B);color:var(--s1-text-dark,#01206B);font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.02em;transition:background .2s,color .2s;width:fit-content}
.s1-pp-col-cta:hover{background:var(--s1-text-dark,#01206B);color:#fff}
.s1-pp-col-cta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-pp-foot{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-top:1px solid var(--s1-border-light,#e6eaf2);background:var(--nv-light-bg,#fafbff)}
.s1-pp-foot svg{flex-shrink:0;width:18px;height:18px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-pp-foot p{font-size:13px;font-weight:600;color:var(--s1-text-dark,#01206B);margin:0;line-height:1.35}
@media(max-width:900px){.s1-pp-hero{grid-template-columns:1fr}.s1-pp-hero-img{max-height:260px}.s1-pp-grid{grid-template-columns:1fr}.s1-pp-col{border-right:none!important;border-bottom:1px solid var(--s1-border-light,#e6eaf2)}.s1-pp-col:last-child{border-bottom:none}}
@media(max-width:640px){.s1-pp-hero-body{padding:28px 24px}.s1-pp-col{padding:22px 24px 26px}.s1-pp-foot{flex-direction:column;text-align:center;gap:6px}}

/* =========================================================
   Trieste Destinazione — .s1-ts
   ========================================================= */
.s1-ts{max-width:1100px;margin:40px auto;padding:0 16px}
.s1-ts-card{border-radius:22px;overflow:hidden;background:var(--nv-site-bg,#fff);box-shadow:0 6px 32px rgba(11,31,68,.08)}
.s1-ts-head{position:relative;padding:44px 40px 40px;text-align:center;overflow:hidden}
.s1-ts-head-bg{position:absolute;inset:0;pointer-events:none;opacity:.04}
.s1-ts-head>*:not(.s1-ts-head-bg){position:relative;z-index:1}
.s1-ts-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--nv-primary-accent);margin-bottom:12px}
.s1-ts-kicker-dot{width:3px;height:3px;border-radius:50%;background:var(--nv-primary-accent);opacity:.4}
.s1-ts-head h2{font-size:clamp(24px,4vw,36px);font-weight:900;line-height:1.12;color:var(--s1-text-dark,#01206B);margin:0 0 12px;letter-spacing:-.02em}
.s1-ts-head h2 span{color:var(--nv-primary-accent)}
.s1-ts-lead{font-size:clamp(15px,2vw,17px);line-height:1.6;color:var(--s1-muted,rgba(15,23,42,.5));max-width:680px;margin:0 auto}
.s1-ts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--s1-border-light,#e6eaf2)}
.s1-ts-feat{padding:28px 24px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--s1-border-light,#e6eaf2);transition:background .25s}
.s1-ts-feat:last-child{border-right:none}
.s1-ts-feat:hover{background:var(--nv-light-bg,#fafbff)}
.s1-ts-feat-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.s1-ts-feat-ico svg{width:22px;height:22px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.s1-ts-ico-run{background:rgba(230,57,70,.08)}.s1-ts-ico-run svg{stroke:var(--nv-primary-accent)}
.s1-ts-ico-nature{background:rgba(22,163,74,.08)}.s1-ts-ico-nature svg{stroke:#16a34a}
.s1-ts-ico-culture{background:rgba(1,32,107,.08)}.s1-ts-ico-culture svg{stroke:var(--s1-text-dark,#01206B)}
.s1-ts-ico-food{background:rgba(234,179,8,.1)}.s1-ts-ico-food svg{stroke:#b45309}
.s1-ts-feat h3{font-size:15px;font-weight:800;color:var(--s1-text-dark,#01206B);line-height:1.25;margin:0}
.s1-ts-feat p{font-size:13.5px;line-height:1.55;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-ts-narrative{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--s1-border-light,#e6eaf2)}
.s1-ts-narr-block{padding:28px 32px;display:flex;align-items:flex-start;gap:14px}
.s1-ts-narr-block:first-child{border-right:1px solid var(--s1-border-light,#e6eaf2)}
.s1-ts-narr-num{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:2px solid var(--nv-primary-accent);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:var(--nv-primary-accent);line-height:1}
.s1-ts-narr-txt{flex:1;min-width:0}
.s1-ts-narr-txt h4{font-size:14px;font-weight:800;color:var(--s1-text-dark,#01206B);margin:0 0 4px;line-height:1.25}
.s1-ts-narr-txt p{font-size:13.5px;line-height:1.55;color:var(--s1-muted,rgba(15,23,42,.5));margin:0}
.s1-ts-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--s1-border-light,#e6eaf2);background:var(--nv-light-bg,#fafbff)}
.s1-ts-stat{text-align:center;padding:20px 12px;border-right:1px solid var(--s1-border-light,#e6eaf2)}
.s1-ts-stat:last-child{border-right:none}
.s1-ts-stat-n{font-size:clamp(24px,3.5vw,32px);font-weight:900;color:var(--nv-primary-accent);line-height:1;letter-spacing:-.02em}
.s1-ts-stat-l{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--s1-muted,rgba(15,23,42,.5));margin-top:4px}
.s1-ts-foot{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;border-top:1px solid var(--s1-border-light,#e6eaf2)}
.s1-ts-foot svg{flex-shrink:0;width:18px;height:18px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-ts-foot p{font-size:13.5px;font-weight:600;color:var(--s1-text-dark,#01206B);margin:0;line-height:1.35}
.s1-ts-foot p strong{color:var(--nv-primary-accent)}
@media(max-width:900px){.s1-ts-grid{grid-template-columns:1fr 1fr}.s1-ts-feat:nth-child(2){border-right:none}.s1-ts-feat:nth-child(1),.s1-ts-feat:nth-child(2){border-bottom:1px solid var(--s1-border-light,#e6eaf2)}.s1-ts-stats{grid-template-columns:repeat(2,1fr)}.s1-ts-stat:nth-child(2){border-right:none}.s1-ts-stat:nth-child(1),.s1-ts-stat:nth-child(2){border-bottom:1px solid var(--s1-border-light,#e6eaf2)}}
@media(max-width:640px){.s1-ts-head{padding:32px 24px 28px}.s1-ts-grid{grid-template-columns:1fr}.s1-ts-feat{border-right:none!important;border-bottom:1px solid var(--s1-border-light,#e6eaf2)}.s1-ts-feat:last-child{border-bottom:none}.s1-ts-narrative{grid-template-columns:1fr}.s1-ts-narr-block:first-child{border-right:none;border-bottom:1px solid var(--s1-border-light,#e6eaf2)}.s1-ts-narr-block{padding:22px 24px}.s1-ts-stats{grid-template-columns:1fr 1fr}.s1-ts-foot{flex-direction:column;text-align:center;gap:6px;padding:16px 20px}}

/* =========================================================
   Regolamento — .s1-r
   ========================================================= */
.s1-r{max-width:860px;margin:0 auto;padding:0 16px 48px}

/* HERO */
.s1-r-hero{position:relative;border-radius:22px;overflow:hidden;background:var(--s1-text-dark);padding:48px 44px;text-align:center;margin-bottom:28px}
.s1-r-hero-bg{position:absolute;inset:0;opacity:.05;pointer-events:none}
.s1-r-hero>*:not(.s1-r-hero-bg){position:relative;z-index:1}
.s1-r-hero-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);margin-bottom:18px}
.s1-r-hero-ico svg{width:32px;height:32px;fill:none;stroke:var(--nv-primary-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.s1-r-hero h1{font-size:clamp(28px,5vw,42px);font-weight:900;line-height:1.08;color:#fff;margin:0 0 12px;letter-spacing:-.02em}
.s1-r-hero h1 span{color:var(--nv-primary-accent)}
.s1-r-hero>p{font-size:clamp(15px,2vw,17px);line-height:1.55;color:rgba(255,255,255,.65);margin:0 auto;max-width:540px}
.s1-r-hero-date{display:inline-block;margin-top:14px;padding:5px 14px;border-radius:8px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.06em}

/* TOC */
.s1-r-toc{border-radius:22px;background:var(--nv-site-bg);box-shadow:0 6px 32px rgba(11,31,68,.08);padding:28px 32px;margin-bottom:28px}
.s1-r-toc h2{font-size:16px;font-weight:900;color:var(--s1-text-dark);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.s1-r-toc h2 svg{width:18px;height:18px;fill:none;stroke:var(--nv-primary-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.s1-r-toc-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.s1-r-toc a{display:flex;align-items:baseline;gap:8px;padding:6px 0;font-size:13px;color:var(--s1-muted);text-decoration:none;transition:color .2s;line-height:1.35}
.s1-r-toc a:hover{color:var(--nv-primary-accent)}
.s1-r-toc a .s1-r-toc-n{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:var(--nv-light-bg);border:1px solid var(--s1-border-light);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--s1-text-dark)}

/* ARTICLES CONTAINER */
.s1-r-arts{border-radius:22px;background:var(--nv-site-bg);box-shadow:0 6px 32px rgba(11,31,68,.08);overflow:hidden}

/* ARTICLE */
.s1-r-art{padding:32px 36px;border-top:1px solid var(--s1-border-light)}
.s1-r-art:first-child{border-top:none}

.s1-r-art-hd{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.s1-r-art-num{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--nv-primary-accent);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#fff}
.s1-r-art-hd h3{font-size:clamp(17px,2.5vw,20px);font-weight:900;color:var(--s1-text-dark);line-height:1.2;margin:0;padding-top:4px}

.s1-r-art p{font-size:14.5px;line-height:1.7;color:var(--s1-muted);margin:0 0 12px}
.s1-r-art p:last-child{margin-bottom:0}
.s1-r-art p strong{color:var(--nv-text-color)}

/* lists */
.s1-r-art ul,.s1-r-art ol{margin:0 0 14px;padding-left:20px}
.s1-r-art li{font-size:14px;line-height:1.65;color:var(--s1-muted);margin-bottom:6px}
.s1-r-art li strong{color:var(--nv-text-color)}
.s1-r-art li::marker{color:var(--nv-primary-accent)}
.s1-r-art ul ul{margin:6px 0 6px 8px}

/* alert box */
.s1-r-alert{margin:14px 0;padding:14px 18px;border-radius:14px;border-left:3px solid var(--s1-text-dark);background:linear-gradient(135deg,rgba(1,32,107,.04),rgba(230,57,70,.02))}
.s1-r-alert p{font-size:13.5px;line-height:1.55;color:var(--s1-text-dark);margin:0;font-weight:600}
.s1-r-alert svg{width:16px;height:16px;fill:none;stroke:var(--s1-text-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:4px}

/* warn box */
.s1-r-warn{margin:14px 0;padding:14px 18px;border-radius:14px;border-left:3px solid var(--nv-primary-accent);background:linear-gradient(135deg,rgba(230,57,70,.05),rgba(1,32,107,.02))}
.s1-r-warn p{font-size:13.5px;line-height:1.55;color:var(--nv-primary-accent);margin:0;font-weight:700}

/* penalty table */
.s1-r-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px;border-radius:12px;overflow:hidden;border:1px solid var(--s1-border-light)}
.s1-r-table th{background:var(--s1-text-dark);color:#fff;font-weight:700;padding:10px 14px;text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.s1-r-table td{padding:10px 14px;border-top:1px solid var(--s1-border-light);vertical-align:top;line-height:1.45;color:var(--s1-muted)}
.s1-r-table tr:nth-child(even){background:var(--nv-light-bg)}
.s1-r-table td:last-child{font-weight:700;color:var(--s1-text-dark);white-space:nowrap}
.s1-r-table .s1-r-sq{color:var(--nv-primary-accent)}

@media(max-width:640px){
  .s1-r-hero{padding:36px 24px}
  .s1-r-toc{padding:24px}
  .s1-r-toc-grid{grid-template-columns:1fr}
  .s1-r-art{padding:24px}
}

/* =========================================================
   Bora – Modifiers (inline style refactoring)
   ========================================================= */

/* Colonna larga (2 col span nella griglia InfoDettaglio) */
.bora-tech-col--wide { grid-column: 2 / 4; }

/* Intro block inside wide col */
.bora-intro__title {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.3;
  color: var(--nv-primary-accent);
}
.bora-intro__text {
  margin: 0;
  line-height: 1.52;
}

/* Item/Point senza bordo inferiore */
.bora-item--borderless { border-bottom: none; }
.bora-point--borderless { border-bottom: none; }

/* Item senza padding-top */
.bora-item--flush { padding-top: 0; }

/* =========================================================
   Descrizione – Callout Box & Accent Heading
   ========================================================= */
.s1-callout {
  border-radius: 18px;
  color: var(--nv-text-color);
  padding: 20px 24px;
}
.s1-heading--accent { color: var(--nv-primary-accent); }

/* =========================================================
   Alloggio – Hotel image placeholder
   ========================================================= */
.ht-htl-img--placeholder {
  background: #01206B;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   Bora Village – Utilities
   ========================================================= */
.bv-caption {
  font-size: 13px;
  color: rgba(15, 23, 42, .4);
  text-align: center;
  margin: 12px 0 0;
  padding: 0;
  font-weight: 700;
}
.bv-hotels--padded { padding-top: 20px; }
.bv-hotel-img--crop-top img { object-position: center 15%; }

/* =========================================================
   Meteo Page – Modifiers
   ========================================================= */
.s1-m--padded { padding-top: 32px; }
.s1-m-year--first { border-top: none; }

/* =========================================================
   Contatti – Modifier
   ========================================================= */
.s1-ct--padded { padding-top: 32px; }