/* ===========================================================================
   ESA · Project Reference List · stile front-end · v1.6.0 (2026-10-27)
   Tutto è racchiuso in .kwr: nessuna regola globale. Colori e font nelle variabili qui sotto.
   =========================================================================== */
.kwr{
  /* font: se Aptos è caricato come due famiglie ("Aptos Bold", "Aptos Light"),
     scrivi quei nomi qui e porta entrambi i pesi a 400 */
  --kwr-font-head:'Aptos','Segoe UI',system-ui,sans-serif;
  --kwr-head-weight:700;
  --kwr-font-body:'Aptos','Segoe UI',system-ui,sans-serif;
  --kwr-body-weight:300;
  --kwr-font-mono:'IBM Plex Mono',ui-monospace,monospace;   /* briciole di pane, come nella barra titolo del sito */
  --kwr-navy:#16243E;
  --kwr-accent:#2E5CFF;
  --kwr-ink:#2B3444;
  --kwr-text:#4A5464;
  --kwr-mute:#5B6472;
  --kwr-line:#E3E3E3;
  --kwr-dash:#D5D9E0;
  --kwr-paper:#F6F7F9;
  --kwr-focus:2px solid #2E5CFF;          /* stile del focus visibile: cambialo qui */
  font-family:var(--kwr-font-body);
  font-weight:var(--kwr-body-weight);
  color:var(--kwr-ink);
  box-sizing:border-box;
}
.kwr *,.kwr *::before,.kwr *::after{ box-sizing:border-box; }
/* azzeramenti rispetto agli stili di Divi su p, ul, titoli */
.kwr p,.kwr ul,.kwr dl,.kwr dd{ margin:0; padding:0; }
.kwr ul{ list-style:none; }
.kwr h2,.kwr h3,.kwr h4{ margin:0; padding:0; }
.kwr strong,.kwr b{ font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); }
.kwr a:focus{ outline:none; }
.kwr a:not(.btn-tech):focus-visible{ outline:var(--kwr-focus); outline-offset:3px; }
.kwr .kwr-sr{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* --- elementi comuni --- */
.kwr .kwr-label{
  font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--kwr-mute);
}
.kwr .kwr-flag{ display:inline-block; flex:none; width:18px; height:18px; max-width:none; border-radius:50%; box-shadow:0 0 0 1px var(--kwr-line); vertical-align:middle; }
.kwr .kwr-icon{ flex:none; }
.kwr .kwr-ref{
  display:inline-block; padding:4px 8px; background:var(--kwr-navy); color:#fff;
  font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:12px; letter-spacing:.06em; line-height:1.3;
}
.kwr .kwr-badge{
  display:inline-flex; align-items:center; gap:8px; padding:5px 10px;
  border:1px solid var(--kwr-accent); border-radius:3px; background:#fff; color:var(--kwr-accent);
  font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:13px; line-height:1.3;
}
.kwr .kwr-badge--large{ padding:7px 12px; font-size:14px; }
.kwr .kwr-chip{
  display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px;
  border:1px solid var(--kwr-navy); border-radius:3px; background:#fff; color:var(--kwr-navy); text-decoration:none;
  font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:14px;
  transition:background .15s ease, color .15s ease;
}
.kwr .kwr-chip:hover{ background:#EEF3FF; color:var(--kwr-navy); }
.kwr .kwr-chip[aria-current="page"]{ background:var(--kwr-navy); color:#fff; }
.kwr .kwr-chip__count{ font-family:var(--kwr-font-body); font-weight:var(--kwr-body-weight); opacity:.75; }
/* pulsanti: stile del sito (.btn-tech nel CSS globale); qui solo gli adattamenti ai componenti */
.kwr a.btn-tech{ text-decoration:none; }
.kwr a.btn-tech:focus-visible{ outline:none; }   /* il focus lo disegna .btn-tech con l'alone blu */
.kwr-sheet__cta .btn-tech{ width:100%; justify-content:center; text-align:center; }
.kwr-sheet__cta .btn-tech .label{ white-space:normal; }   /* testo lungo: va a capo invece di uscire */
.kwr .kwr-loc,
.kwr.kwr-loc{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight);
  font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--kwr-mute);
}
.kwr .kwr-loc a,.kwr.kwr-loc a{ color:inherit; text-decoration:none; }
.kwr .kwr-loc a:hover,.kwr.kwr-loc a:hover{ color:var(--kwr-navy); text-decoration:underline; }
.kwr .kwr-loc__sep,.kwr.kwr-loc .kwr-loc__sep{ color:#B4BAC4; }
.kwr .kwr-loc__place{ font-family:var(--kwr-font-body); font-weight:var(--kwr-body-weight); text-transform:none; letter-spacing:0; }
.kwr-loc--hero{ margin:0 0 20px; }
.kwr-badge-wrap{ margin:0; }

/* ===========================================================================
   ARCHIVIO
   =========================================================================== */
.kwr-summary{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); margin:0; border:1px solid var(--kwr-navy); background:#fff; }
.kwr-summary__cell{ padding:14px 16px; border-right:1px solid var(--kwr-navy); }
.kwr-summary__cell:last-child{ border-right:0; }
.kwr-summary dt{
  margin:0 0 4px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight);
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--kwr-mute);
}
.kwr-summary dd{ margin:0; padding-top:8px; font-size:15px; color:var(--kwr-navy); }
.kwr-summary dd.is-num{ padding-top:0; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:28px; line-height:1.1; }

.kwr-archive__bar{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 32px; margin:0 0 28px; }
.kwr-filters .kwr-label{ display:block; margin:0 0 10px; }
.kwr-filters__list{ display:flex; flex-wrap:wrap; gap:8px; }
.kwr .kwr-archive__count{ font-size:15px; color:var(--kwr-mute); }
.kwr .kwr-empty{ padding:28px 0; border-top:1px solid var(--kwr-line); font-size:16px; color:var(--kwr-mute); }

.kwr-list{ border-bottom:1px solid var(--kwr-line); }
.kwr-item{ display:flex; flex-wrap:wrap; gap:24px 40px; align-items:flex-start; padding:32px 0; border-top:1px solid var(--kwr-line); }
.kwr-item__media{
  position:relative; display:block; flex:0 0 220px; max-width:100%; aspect-ratio:4 / 3; overflow:hidden;
  border:1px solid var(--kwr-dash); border-radius:4px; background:#E9ECF0;
}
.kwr-item__media.is-empty{ background-image:repeating-linear-gradient(135deg, rgba(22,36,62,.07) 0 1px, transparent 1px 11px); }
.kwr .kwr-item__img{ position:absolute; inset:0; display:block; width:100% !important; height:100% !important; max-width:none; object-fit:cover; transition:transform .5s cubic-bezier(.22,1,.36,1); }   /* !important: temi con img{height:auto} */
.kwr-item:hover .kwr-item__img{ transform:scale(1.04); }
.kwr-item__media .kwr-ref{ position:absolute; left:10px; top:10px; }
.kwr-item__main{ flex:999 1 380px; min-width:0; }
.kwr-item__main .kwr-loc{ margin:0 0 10px; }
.kwr .kwr-item__title{ margin:0 0 10px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:25px; line-height:1.2; color:var(--kwr-navy); }
.kwr .kwr-item__title a{ color:var(--kwr-navy); text-decoration:none; }
.kwr .kwr-item__title a:hover{ color:var(--kwr-accent); }
.kwr .kwr-item__excerpt{ max-width:40em; margin:0 0 16px; font-size:16px; line-height:1.6; color:var(--kwr-text); }
.kwr-item__side{ flex:1 1 280px; min-width:0; }
.kwr-item__meta{ margin:0 0 16px; border-top:1px solid var(--kwr-navy); }
.kwr-item__meta > div{ display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px dashed var(--kwr-dash); }
.kwr-item__meta dt{ font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--kwr-mute); }
.kwr-item__meta dd{ font-size:15px; text-align:right; color:var(--kwr-navy); }

/* ===========================================================================
   REFERENZA
   =========================================================================== */
.kwr-single{ display:flex; flex-wrap:wrap; gap:56px 72px; align-items:flex-start; }
.kwr-single__main{ flex:999 1 560px; min-width:0; display:flex; flex-direction:column; gap:56px; }

.kwr-figures{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); border-top:1px solid var(--kwr-navy); border-bottom:1px solid var(--kwr-line); }
.kwr-figure{ padding:20px 24px 22px 0; }
.kwr-figure + .kwr-figure{ padding-left:24px; border-left:1px solid var(--kwr-line); }
.kwr .kwr-figure__value{ margin:0 0 6px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:34px; line-height:1.1; color:var(--kwr-navy); font-variant-numeric:tabular-nums; }
.kwr .kwr-figure__label{ font-size:15px; line-height:1.5; color:var(--kwr-text); }

.kwr-sections{ display:flex; flex-direction:column; gap:56px; }
.kwr .kwr-section__num{ margin:0 0 10px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:13px; letter-spacing:.12em; color:var(--kwr-accent); }
.kwr .kwr-section__title{ margin:0 0 18px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:30px; line-height:1.15; color:var(--kwr-navy); }
.kwr .kwr-prose{ max-width:44em; font-size:17px; line-height:1.7; color:var(--kwr-ink); }
.kwr .kwr-prose p{ margin:0 0 16px; padding:0; }
.kwr .kwr-prose p:last-child{ margin-bottom:0; }
.kwr .kwr-prose a{ color:var(--kwr-navy); text-decoration:underline; }
.kwr-section--esa{ padding:32px; border:1px solid var(--kwr-line); border-radius:4px; background:var(--kwr-paper); }
.kwr-section--esa .kwr-label{ display:block; margin:24px 0 10px; }
.kwr-products{ display:flex; flex-wrap:wrap; gap:8px; }
.kwr-parties{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; }
.kwr-party{ display:flex; flex-direction:column; gap:10px; padding:22px; border:1px solid var(--kwr-line); border-radius:4px; background:#fff; }
.kwr-party.is-end-user{ border-color:var(--kwr-navy); }
.kwr .kwr-party__name{ font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:21px; color:var(--kwr-navy); }
.kwr .kwr-party__desc{ flex:1 1 auto; font-size:15px; line-height:1.6; color:var(--kwr-text); }
.kwr .kwr-party__link{
  display:inline-flex; align-items:center; gap:6px; min-height:44px; align-self:flex-start;
  font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:14px; color:var(--kwr-navy);
}

.kwr-sheet{ flex:1 1 320px; min-width:0; border:1px solid var(--kwr-navy); background:#fff; }
.kwr .kwr-sheet__title{ margin:0; padding:14px 18px; background:var(--kwr-navy); color:#fff; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:16px; letter-spacing:.02em; }
.kwr-sheet__row{ padding:14px 18px; border-bottom:1px solid var(--kwr-line); }
.kwr-sheet dt{ margin:0 0 4px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--kwr-mute); }
.kwr-sheet dd{ font-size:16px; line-height:1.5; color:var(--kwr-navy); }
.kwr-sheet dd .kwr-flag{ margin-right:8px; vertical-align:-3px; }
.kwr-sheet dd a{ color:var(--kwr-navy); }
.kwr-sheet dd .is-accent{ font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); color:var(--kwr-accent); }
.kwr-sheet__cta{ padding:18px; }

.kwr-nav{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:16px 32px; margin:56px 0 0; padding:28px 0 0; border-top:1px solid var(--kwr-navy); }
.kwr .kwr-nav__back{ display:inline-flex; align-items:center; gap:10px; min-height:48px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:15px; color:var(--kwr-navy); text-decoration:none; }
.kwr-nav__pair{ display:flex; flex-wrap:wrap; gap:16px 40px; }
.kwr .kwr-nav__link{ display:inline-flex; flex-direction:column; gap:2px; min-height:48px; text-decoration:none; }
.kwr .kwr-nav__link.is-next{ align-items:flex-end; text-align:right; }
.kwr .kwr-nav__title{ display:inline-flex; align-items:center; gap:10px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:18px; color:var(--kwr-navy); }
.kwr .kwr-nav__link:hover .kwr-nav__title,.kwr .kwr-nav__back:hover{ color:var(--kwr-accent); }

/* ===========================================================================
   BARRA TITOLO [kwr_titlebar]
   Larghezza del contenuto: allineala alle righe di Divi del sito con le due variabili.
   =========================================================================== */
.kwr-tb{
  --kwr-tb-bg:#F4F5F7;        /* fondo della barra: lo stesso della barra titolo del sito */
  --kwr-tb-width:90%;         /* = larghezza delle righe Divi del sito ESA */
  --kwr-tb-max:1920px;        /* = larghezza massima delle righe Divi del sito ESA */
  --kwr-tb-pad-top:120px;
  --kwr-tb-pad-bottom:72px;
  position:relative; overflow:hidden; background:var(--kwr-tb-bg); isolation:isolate;
}
.kwr-tb__inner{ position:relative; z-index:2; width:var(--kwr-tb-width); max-width:var(--kwr-tb-max); margin:0 auto; padding:var(--kwr-tb-pad-top) 0 var(--kwr-tb-pad-bottom); }
.kwr-tb__text{ max-width:640px; }
.kwr-tb.has-media .kwr-tb__text{ max-width:min(640px, 52%); }
/* immagine fusa a destra: sfuma verso il fondo della barra */
.kwr-tb__media{ position:absolute; z-index:1; top:0; right:0; bottom:0; width:56%; pointer-events:none; }
.kwr .kwr-tb__img{
  /* !important: temi e builder impostano img{height:auto}, che qui lascerebbe un vuoto sotto la foto */
  position:absolute; inset:0; display:block; width:100% !important; height:100% !important; max-width:none; object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 42%);
          mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 42%);
}
.kwr-tb.is-tone .kwr-tb__img{ filter:grayscale(.45) contrast(1.04) brightness(1.06); }
/* griglia e mirino tecnici sopra la foto */
.kwr-tb__grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(46,92,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(46,92,255,.12) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(90deg, transparent 20%, #000 60%);
          mask-image:linear-gradient(90deg, transparent 20%, #000 60%);
}
.kwr-tb__cross{ position:absolute; left:64%; top:50%; width:48px; height:48px; transform:translate(-50%, -50%); color:var(--kwr-accent); opacity:.85; }
/* testi */
.kwr-tb__crumbs{
  margin:0 0 18px; font-family:var(--kwr-font-mono); font-weight:400; font-size:14px; letter-spacing:.04em; text-transform:uppercase; color:var(--kwr-navy);
}
.kwr-tb__crumbs ol{ display:flex; flex-wrap:wrap; gap:4px 10px; margin:0; padding:0; list-style:none; }
.kwr-tb__crumbs li{ display:flex; gap:10px; margin:0; padding:0; }
.kwr-tb__crumbs li + li::before{ content:"»"; color:var(--kwr-mute); }
.kwr-tb__crumbs a{ color:var(--kwr-navy); text-decoration:none; }
.kwr-tb__crumbs a:hover{ text-decoration:underline; }
.kwr-tb__crumbs [aria-current]{ color:var(--kwr-mute); }
.kwr .kwr-tb__title{ margin:0 0 18px; padding:0; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:clamp(30px, 2.8vw, 44px); line-height:1.1; letter-spacing:-.01em; color:var(--kwr-navy); }
.kwr .kwr-tb__meta{ margin:0 0 16px; }
.kwr .kwr-tb__lead{ max-width:38em; margin:0 0 20px; font-size:17px; line-height:1.6; color:var(--kwr-text); }
.kwr .kwr-tb__badge{ margin:0; }
.kwr-tb__summary{ max-width:520px; margin:28px 0 0; }

/* ===========================================================================
   MAPPA DELLE REFERENZE [kwr_map] — lo stile della mappa è quello di esa-mappa.css
   =========================================================================== */
.kwr-map{ margin:0 0 56px; }
.kwr-map .esa-map__legend[hidden]{ display:none !important; }   /* legend="0": l'elenco resta nel codice per la mappa, ma non si vede */

/* ===========================================================================
   ULTIME REFERENZE [kwr_latest] — striscia della home e schede
   =========================================================================== */
.kwr-strip .kwr-strip__head{ margin:0 0 22px; }   /* più forte del margin-bottom:0 del divisore globale */
.kwr .kwr-strip__label{ margin:0 0 18px; font-family:var(--kwr-font-mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--kwr-mute); }
.kwr-strip__list{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px 40px; }
.kwr-strip__item a{ display:flex; gap:12px; align-items:flex-start; text-decoration:none; }
.kwr-strip__dot{ flex:none; width:8px; height:8px; margin-top:7px; border-radius:50%; background:var(--kwr-accent); box-shadow:0 0 0 4px rgba(46,92,255,.12); transition:box-shadow .2s ease; }
.kwr-strip__item a:hover .kwr-strip__dot{ box-shadow:0 0 0 5px rgba(46,92,255,.25), 0 0 10px rgba(46,92,255,.5); }
.kwr-strip__text{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.kwr .kwr-strip__title{ font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:15px; line-height:1.35; color:var(--kwr-navy); }
.kwr-strip__item a:hover .kwr-strip__title{ text-decoration:underline; text-underline-offset:3px; }
.kwr .kwr-strip__where{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--kwr-mute); }
.kwr .kwr-strip__where .kwr-flag{ width:14px; height:14px; }
.kwr .kwr-latest__foot{ margin:24px 0 0; }
.kwr .kwr-latest__all{ display:inline-flex; align-items:center; gap:8px; min-height:44px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:14px; text-decoration:none; }

.kwr-cards__list{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:24px; }
.kwr-card{
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--kwr-line); border-radius:12px; background:#fff;
  transition:border-color .3s ease, transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
}
.kwr-card:hover,.kwr-card:focus-within{ border-color:var(--kwr-accent); transform:translateY(-4px); box-shadow:0 12px 28px -14px rgba(46,92,255,.45); }
.kwr-card__media{ position:relative; aspect-ratio:16 / 10; overflow:hidden; background:#E9ECF0; }
.kwr-card__media.is-empty{ background-image:repeating-linear-gradient(135deg, rgba(22,36,62,.07) 0 1px, transparent 1px 11px); }
.kwr .kwr-card__img{ display:block; width:100% !important; height:100% !important; max-width:none; object-fit:cover; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.kwr-card:hover .kwr-card__img{ transform:scale(1.05); }
.kwr-card__media .kwr-ref{ position:absolute; left:12px; top:12px; }
.kwr-card__body{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; flex:1 1 auto; padding:20px 22px 22px; }
.kwr .kwr-card__title{ margin:0; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:20px; line-height:1.25; color:var(--kwr-navy); }
.kwr .kwr-card__title a{ color:var(--kwr-navy) !important; text-decoration:none; }
.kwr .kwr-card__title a::after{ content:""; position:absolute; inset:0; z-index:1; }   /* tutta la scheda è cliccabile */
.kwr .kwr-card__excerpt{ font-size:15px; line-height:1.6; color:var(--kwr-text); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.kwr-card__more{ display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:6px; font-family:var(--kwr-font-head); font-weight:var(--kwr-head-weight); font-size:14px; color:var(--kwr-navy); }
.kwr-card:hover .kwr-card__more .kwr-icon{ transform:translateX(3px); }
.kwr-card__more .kwr-icon{ transition:transform .25s ease; }
.kwr .kwr-card__title a:focus-visible{ outline:none; }
.kwr-card:focus-within{ outline:var(--kwr-focus); outline-offset:3px; }

/* ===========================================================================
   COLORI DEI LINK
   Il tema applica il colore dei link con regole più forti di quelle del componente
   (il blu su "Tutti" e su "Apri la scheda"): qui vincono i colori del componente.
   =========================================================================== */
.kwr .kwr-tb__crumbs a{ color:var(--kwr-navy) !important; }
.kwr a.kwr-chip{ color:var(--kwr-navy) !important; }
.kwr a.kwr-chip[aria-current="page"]{ color:#fff !important; }
.kwr .kwr-item__title a{ color:var(--kwr-navy) !important; }
.kwr .kwr-item__title a:hover{ color:var(--kwr-accent) !important; }
.kwr .kwr-loc a,.kwr.kwr-loc a{ color:inherit !important; }
.kwr .kwr-sheet dd a,.kwr .kwr-prose a,.kwr a.kwr-party__link,.kwr a.kwr-nav__back,.kwr a.kwr-nav__link{ color:var(--kwr-navy) !important; }
.kwr a.kwr-nav__back:hover{ color:var(--kwr-accent) !important; }
.kwr a.btn-tech.ghost{ color:var(--navy, #16243E) !important; }
.kwr a.btn-tech.primary{ color:#fff !important; }
.kwr .kwr-strip__item a,.kwr a.kwr-latest__all{ color:var(--kwr-navy) !important; }

/* --- mobile --- */
@media (max-width:767px){
  .kwr-summary dd.is-num{ font-size:24px; }
  .kwr-item{ gap:18px; padding:28px 0; }
  .kwr-item__media{ flex:1 1 100%; aspect-ratio:16 / 9; }
  .kwr .kwr-item__title{ font-size:22px; }
  .kwr .kwr-section__title{ font-size:26px; }
  .kwr-section--esa{ padding:24px 20px; }
  .kwr-figure + .kwr-figure{ padding-left:0; border-left:0; border-top:1px solid var(--kwr-line); }
  .kwr .kwr-nav__link.is-next{ align-items:flex-start; text-align:left; }
}
@media (max-width:980px){
  .kwr-tb{ --kwr-tb-pad-top:32px; --kwr-tb-pad-bottom:48px; }
  .kwr-tb.has-media .kwr-tb__text{ max-width:none; }
  /* su tablet e telefono l'immagine sta sopra i testi e sfuma verso il basso */
  .kwr-tb__media{ position:relative; width:100%; height:auto; aspect-ratio:16 / 9; }
  .kwr .kwr-tb__img{
    -webkit-mask-image:linear-gradient(180deg, #000 55%, transparent 100%);
            mask-image:linear-gradient(180deg, #000 55%, transparent 100%);
  }
  .kwr-tb__grid{ -webkit-mask-image:linear-gradient(180deg, #000 30%, transparent 90%); mask-image:linear-gradient(180deg, #000 30%, transparent 90%); }
  .kwr-tb__cross{ left:50%; top:45%; }
  .kwr-tb.has-media .kwr-tb__inner{ margin-top:-24px; }
  .kwr-tb__crumbs{ font-size:12px; }
}
@media (prefers-reduced-motion:reduce){
  .kwr *{ transition:none !important; }
}
