/* Responsive refinements. Desktop layout is retained above 1200px. */
html{scroll-padding-top:calc(var(--ee-header-height,70px) + var(--ee-language-height,49px) + 16px)}
@media(max-width:1200px){
  body{padding-top:var(--ee-language-height,49px)}
  .ee-language-bar~#testata,body.admin-bar .ee-language-bar~#testata{
    position:sticky;top:var(--ee-language-height,49px);backdrop-filter:none;
    background:#061f3a;box-shadow:0 1px 0 rgba(141,220,255,.18)
  }
  .ee-language-bar~main{margin-top:0}
  #testata .racchiusa{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,130px);
    grid-template-rows:auto auto;gap:6px 16px;height:auto;min-height:0;padding-top:10px;padding-bottom:6px
  }
  #testata .marchio{grid-column:1;grid-row:1;max-width:none;min-width:0;color:#fff;font-size:15px;line-height:1.2}
  #testata .marchio span{white-space:normal;line-height:1.5;letter-spacing:.05em;color:#8ddcff}
  #testata .cerca{grid-column:2;grid-row:1;width:100%;min-width:0;margin:0}
  #testata .cerca input,#testata .cerca input:focus{
    width:100%;min-width:0;min-height:42px;font-size:16px;padding:9px 30px 9px 12px;
    color:#fff;background:rgba(255,255,255,.09);border-color:rgba(141,220,255,.35)
  }
  #testata .cerca input::placeholder{color:#cdefff}
  #testata .cerca .lente{color:#cdefff}
  #testata .hamburger{display:none}
  #testata #menu{
    grid-column:1/-1;grid-row:2;display:block;position:static;order:initial;margin:0;
    min-width:0;width:100%;overflow-x:auto;overscroll-behavior-x:contain;
    scrollbar-width:thin;scrollbar-color:#41708b transparent;-webkit-overflow-scrolling:touch;padding:0 0 3px;
    border:0;box-shadow:none;background:transparent;max-height:none
  }
  #testata #menu .voci{display:flex;flex-flow:row nowrap;align-items:center;gap:3px;width:max-content;min-width:100%}
  #testata #menu .voci>li{position:static;flex:none}
  #testata #menu .voce{
    display:block;width:auto;min-height:44px;padding:12px 10px;line-height:20px;
    font-size:12px;font-weight:400;letter-spacing:.025em;white-space:nowrap;color:#eaf7ff;
    border-radius:6px;text-align:left
  }
  #testata #menu .voce.riservata{padding:11px 12px;border:1px solid rgba(141,220,255,.5);border-radius:24px}
  #testata #menu .voce:hover,#testata #menu .voce:focus-visible{background:#143e5d;color:#fff}
  #testata #menu .tendina{
    display:none;position:fixed;left:12px!important;right:12px!important;
    top:calc(var(--ee-language-height,49px) + var(--ee-header-height,112px) + 4px);
    width:auto;min-width:0;max-width:none;max-height:calc(100vh - var(--ee-header-height,112px) - var(--ee-language-height,49px) - 24px);
    max-height:calc(100dvh - var(--ee-header-height,112px) - var(--ee-language-height,49px) - 24px);
    overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px;background:#fff;
    border:1px solid #bfd7e5;box-shadow:0 14px 32px rgba(6,31,58,.2);transform:none
  }
  #testata #menu .voce[aria-expanded="true"]+.tendina{display:block;opacity:1;visibility:visible}
  #testata #menu .tendina a{min-height:44px;padding:11px 12px;font-size:14px;line-height:1.5;white-space:normal;color:#083b66;letter-spacing:.02em}
  #testata .esiti{
    position:fixed;left:12px;right:12px;width:auto;
    top:calc(var(--ee-language-height,49px) + var(--ee-header-height,112px) + 4px);
    max-height:55vh
  }
}
@media(max-width:980px){
  .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:180px;padding-bottom:0;overflow:hidden}
  .hero .racchiusa{position:relative;order:1;padding-top:16px;padding-bottom:28px}
  .hero h1{max-width:20ch;font-size:clamp(34px,6vw,46px);line-height:1.13}
  .hero .sotto{max-width:60ch;margin-top:18px;font-size:17px;line-height:1.65}
  .hero .azioni{margin-top:24px;gap:10px}
  .hero .bottone{display:flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 18px;text-align:center;white-space:normal;line-height:1.4}
  .hero .fluttuanti{
    position:relative!important;inset:auto!important;order:2;display:grid;
    margin:0 var(--gutter) 28px;width:auto;height:auto;pointer-events:none
  }
  .hero .fluttuante{
    position:relative!important;inset:auto!important;grid-area:1/1;width:auto!important;
    min-width:0;max-width:100%;margin:0;padding:18px;transform:none;opacity:0;visibility:hidden
  }
  .hero .fluttuante.accesa{opacity:1;visibility:visible}
  .hero .fluttuante .cosa{font-size:14px;line-height:1.6}
  .testa-pagina{padding:40px 0 36px}
  .testa-pagina h1{font-size:clamp(32px,5vw,42px);line-height:1.15}
  .rete-impianto{scroll-margin-top:0}
  .ee-articolo{padding:36px 20px 56px}
  .ee-articolo h1{font-size:clamp(30px,5vw,42px);margin-bottom:26px}
  .ee-articolo figure{margin-left:0;margin-right:0}
  .ee-articolo .wp-block-embed__wrapper iframe{width:100%;height:auto;aspect-ratio:16/9}
  main p,main h1,main h2,main h3,main li,main label,footer{overflow-wrap:anywhere}
  main img,main video,main iframe{max-width:100%}
  .griglia,.atenei,.loghi-rete,.campi,.colonna-carta,.scheda-coord{min-width:0}
}
@media(max-width:600px){
  :root{--gutter:18px}
  body{font-size:16px;line-height:1.65}
  #testata .racchiusa{grid-template-columns:minmax(0,1fr) 104px;gap:4px 12px;padding-top:9px;padding-bottom:4px}
  #testata .marchio{font-size:13.5px}
  #testata .marchio span{font-size:8px;letter-spacing:.02em}
  #testata #menu .voce{padding-left:10px;padding-right:10px}
  .ee-language-inner{justify-content:center;padding:0 12px;min-height:44px}
  .ee-language-bar a{font-size:12px;min-height:44px;letter-spacing:.04em}
  .hero{padding-top:220px}
  .hero .racchiusa{padding-top:8px}
  .hero h1{font-size:clamp(32px,9vw,40px);max-width:18ch}
  .hero .sotto{font-size:16px}
  .hero .bottone{flex:1 1 140px;font-size:11px;letter-spacing:.05em;padding:12px 14px}
  .sezione{padding:48px 0}
  .sezione h2{font-size:clamp(28px,8vw,36px)}
  .riquadro{padding:22px;font-size:16px}
  .griglia{gap:16px;margin-top:28px}
  .g3,.g4,.campi,.video-griglia{grid-template-columns:minmax(0,1fr)}
  .scheda{padding:22px}
  .schede-moduli{gap:8px;margin-top:24px}
  .linguetta{flex:1 1 auto;min-height:44px;padding:10px 12px;font-size:11px}
  .campi input[type="text"],.campi input[type="email"],.campi input[type="tel"],.campi textarea{font-size:16px}
  .loghi-rete{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
  .tessera-ateneo .nome{font-size:12px}
  .scheda-coord .marca-grande img{max-width:100%}
  .scheda-coord .persona{gap:12px}
  .scheda-coord .persona h3{font-size:23px}
  .scheda-coord .volto{width:64px;height:64px}
  .elenco-coordinatori li{padding:16px 14px;gap:4px 12px}
  .nome-sulla-carta{max-width:calc(100% - 16px);white-space:normal;text-align:center}
  .ee-articolo{padding:30px 18px 48px}
  .ee-articolo h1{font-size:32px}
  footer{padding:44px 0 28px}
  footer .colonne{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  footer a{min-height:44px;padding:10px 0}
  footer .coda{margin-top:28px;padding-top:20px;line-height:1.6}
}
@media(max-width:360px){
  #testata .racchiusa{grid-template-columns:minmax(0,1fr) 94px;gap:4px 10px}
  #testata .marchio{font-size:12.5px}
  .hero .azioni .bottone{flex-basis:100%}
  .hero h1{font-size:32px}
}
@media(prefers-reduced-motion:reduce) and (max-width:980px){
  .hero .fluttuante{grid-area:auto;opacity:1;visibility:visible}
}
@media(max-height:500px) and (max-width:1200px){
  .ee-language-bar~#testata,body.admin-bar .ee-language-bar~#testata{position:relative;top:0}
}
