/* Shared responsive layout rules loaded on every ESTVELO page. */
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;min-width:0;overflow-x:clip}
body,header,main,footer,section,article,aside,nav,form,fieldset,details,
.wrap,.container,.ev-wrap,[class*="wrap"],[class*="container"],[class*="grid"],[class*="card"],[class*="panel"],[class*="table"],[class*="compare"]{min-width:0}
.wrap,.container,.ev-wrap,[class*="wrap"],[class*="container"],[class*="grid"],[class*="card"],[class*="panel"],[class*="table"],[class*="compare"]{max-width:100%}
:is([class*="grid"],[class*="cols"],.daily-top,.facts,.event-list,.event) > *,
:is([class*="flex"],.actions,.partner-actions,.ev-actions,header nav,.section-title) > *{min-width:0;max-width:100%}
img,picture,video,iframe,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%}
p,li,td,th,a,button,small,strong,h1,h2,h3,h4,summary{overflow-wrap:anywhere;word-break:normal}
pre,code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
main :is(.table,.compare,.estvelo-table-scroll,.ev-tablewrap,[class*="table-wrap"],[class*="tablewrap"],[class*="table-scroll"],[class*="compare-wrap"],[class*="compare-scroll"]){
  width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin
}
main :where(div,section,article,figure):has(> table){
  width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch
}
main table{max-width:100%;border-collapse:collapse}
main th,main td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}

@media(max-width:760px){
  .grid,.grid2,[class*="grid"],.daily-top,.facts,.ev-inline,.ev-stats,.ev-regulators,.event-list{
    grid-template-columns:minmax(0,1fr)!important
  }
  .wrap,.container,.ev-wrap,[class*="wrap"],[class*="container"]{width:calc(100% - 24px);margin-inline:auto}
  header nav:not(:has(.estvelo-quick-nav,.mobile-nav-panel)){height:auto;min-height:60px;flex-wrap:wrap;padding-block:8px}
  header nav:not(:has(.estvelo-quick-nav,.mobile-nav-panel)) .navlinks{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;padding-block:4px
  }
  header nav:not(:has(.estvelo-quick-nav,.mobile-nav-panel)) .navlinks>*{min-width:0}
  main .hero{padding-top:38px;padding-bottom:22px}
  main .hero h1{font-size:clamp(1.85rem,8vw,3rem);line-height:1.12;letter-spacing:-.035em}
  main h1{font-size:clamp(1.85rem,8vw,3rem);line-height:1.12;letter-spacing:-.035em}
  main .card h2,main .section-title h2,main h2{font-size:clamp(1.25rem,5.4vw,1.75rem);line-height:1.25;letter-spacing:-.015em}
  main .card h3,main h3{font-size:clamp(1.05rem,4.7vw,1.4rem);line-height:1.3}
  main .section{padding-bottom:36px}
  main .card,main .ev-card,main .ev-panel{padding:16px;border-radius:16px}
  main .actions,main .partner-actions,main .ev-actions{gap:8px;flex-wrap:wrap}
  main .actions>a,main .partner-actions>a,main .ev-actions>a{min-width:0;max-width:100%;white-space:normal}
  main table[data-mobile-columns="1"],main table[data-mobile-columns="2"]{
    width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed
  }
  main table[data-mobile-columns="2"] tr>*:first-child{width:30%}
  main table[data-mobile-columns="1"] th,main table[data-mobile-columns="1"] td,
  main table[data-mobile-columns="2"] th,main table[data-mobile-columns="2"] td{padding:9px 8px}
  .estvelo-country-context{grid-template-columns:minmax(0,1fr)}
  .estvelo-country-context strong{white-space:normal}
  .estvelo-newsletter{max-width:calc(100% - 24px);margin-inline:auto;padding:16px}
  .estvelo-newsletter-button{min-width:0;max-width:100%;width:100%}
}
@media(max-width:420px){
  .wrap,.container,.ev-wrap,[class*="wrap"],[class*="container"]{width:calc(100% - 20px)}
  main .card,main .ev-card,main .ev-panel{padding:14px}
  main table[data-mobile-columns="1"] th,main table[data-mobile-columns="1"] td,
  main table[data-mobile-columns="2"] th,main table[data-mobile-columns="2"] td{padding:8px 7px}
}

/* Home header: preserve a readable layout on medium-width computer windows. */
@media (min-width:761px) and (max-width:1200px){
  header .wrap.nav{gap:10px}
  header .wrap.nav>.logo{flex:0 0 auto;white-space:nowrap}
  header .wrap.nav>.links{display:none!important}
  header .wrap.nav>.nav-controls{flex:0 0 auto;gap:7px}
  header .wrap.nav .search-trigger{display:none!important}
  header .wrap.nav .select{flex:0 0 auto}
  header .wrap.nav .hamburger{display:flex!important;flex:0 0 42px}
}

/* Desktop homepage navigation: reserve fixed space for controls and prevent label wrapping. */
@media (min-width:901px){
  header .wrap.nav{gap:12px}
  header .wrap.nav>.logo{flex:0 0 auto;white-space:nowrap}
  header .wrap.nav>.links{flex:0 0 auto;gap:12px;margin-left:6px;white-space:nowrap}
  header .wrap.nav>.links>a{flex:0 0 auto;max-width:none;white-space:nowrap;overflow-wrap:normal;word-break:normal}
  header .wrap.nav>.nav-controls{flex:0 0 auto;gap:6px}
  header .wrap.nav>.nav-controls>*{flex:0 0 auto;max-width:none;white-space:nowrap}
  header .wrap.nav .nav-controls .country{width:145px;min-width:145px}
  header .wrap.nav .nav-controls #lang{width:125px;min-width:125px}
  header .wrap.nav .search-trigger{gap:5px;padding-inline:8px}
  header .wrap.nav .search-trigger kbd{display:none}
}