/* ==========================================================================
   Mostbet FI — ilofestival — "versus" split-screen -asu
   ========================================================================== */

:root{
  /* brändin värit (officiaali) */
  --sini-tumma:#003266;
  --sini:#094B95;
  --sini-vaalea:#428CDC;
  --sini-vaalea2:#509AEA;
  --oranssi:#FA4D00;
  --oranssi-2:#FA5E00;
  --kulta:#FFBA00;
  --harmaa-vaalea:#DDE4EC;
  --harmaa:#E8ECF1;
  --tumma:#02101F;
  --valkoinen:#FFFFFF;
  --vihrea:#88C504;

  /* tila-asteikko */
  --tila-1:4px; --tila-2:8px; --tila-3:12px; --tila-4:16px;
  --tila-6:24px; --tila-8:32px; --tila-12:48px; --tila-16:64px;

  /* kerrokset (z-index) */
  --kerros-pudotus:100;
  --kerros-tarttuva:200;
  --kerros-paalla:900;
  --kerros-huippu:1000;

  --fontti: "Roboto", Arial, Helvetica, sans-serif;
  --reunapyoristys-kortti:15px;
  --reunapyoristys-nappi:50px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--fontti);
  background:var(--valkoinen);
  color:var(--tumma);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--fontti);color:var(--sini-tumma);line-height:1.25;margin:0 0 var(--tila-4)}
h1{font-size:clamp(1.75rem,4vw + 1rem,2.75rem)}
h2{font-size:clamp(1.4rem,2.6vw + 1rem,2rem)}
h3{font-size:clamp(1.15rem,1.6vw + 1rem,1.5rem)}
p{margin:0 0 var(--tila-4)}
ul{margin:0;padding:0;list-style:none}

:focus-visible{outline:3px solid var(--kulta);outline-offset:2px}

.hyppylinkki{
  position:absolute;left:var(--tila-3);top:-100px;
  background:var(--sini-tumma);color:#fff;padding:var(--tila-2) var(--tila-4);
  border-radius:8px;z-index:var(--kerros-huippu);transition:top .2s;
}
.hyppylinkki:focus{top:var(--tila-3)}

.vertailu-kehys{
  max-width:1200px;
  margin-inline:auto;
  padding-inline:var(--tila-4);
}

/* ---------- yläosa / header ---------- */
.yla-osa{
  background:var(--sini-tumma);
  color:#fff;
  position:sticky;
  top:0;
  z-index:var(--kerros-tarttuva);
  box-shadow:0 2px 12px rgba(0,0,0,.25);
}
.yla-rivi{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--tila-4);
  padding-block:var(--tila-3);
}
.vertailu-tunnus{display:inline-flex;flex-shrink:0}
.vertailu-tunnus img{width:150px;height:auto}

.valikkovalitsin{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;border:0;background:transparent;cursor:pointer;
  margin-left:auto;order:2;
}
.valikkovalitsin span{display:block;width:26px;height:3px;background:#fff;border-radius:2px;margin-inline:auto}

.yla-valikko{
  display:none;
  flex-direction:column;
  gap:var(--tila-1);
  padding:0 var(--tila-4) var(--tila-4);
  background:var(--sini-tumma);
}
.yla-valikko.auki{display:flex}
.yla-valikko a{
  color:#fff;
  text-decoration:none;
  padding:var(--tila-2) var(--tila-3);
  border-radius:8px;
  font-size:.95rem;
}
.yla-valikko a:hover,.yla-valikko a:focus-visible{background:rgba(255,255,255,.12)}

@media (min-width:64em){
  .valikkovalitsin{display:none}
  .yla-valikko{
    display:flex !important;
    flex-direction:row;
    flex-wrap:wrap;
    gap:var(--tila-2);
    padding:0 var(--tila-4) var(--tila-3);
    justify-content:center;
    background:var(--sini);
  }
}

/* ---------- napit ---------- */
.toimintonappi{
  display:inline-block;
  border:0;
  border-radius:var(--reunapyoristys-nappi);
  background:linear-gradient(0deg,var(--oranssi),var(--oranssi-2));
  color:#fff;
  font-weight:500;
  text-transform:uppercase;
  text-decoration:none;
  letter-spacing:.02em;
  padding:14px 28px;
  font-size:16px;
  box-shadow:0 10px 30px rgba(250,65,0,.4);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.toimintonappi:hover,.toimintonappi:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(250,65,0,.5)}
.toimintonappi--suuri{font-size:18px;padding:16px 36px}
.toimintonappi--pieni{font-size:14px;padding:8px 20px}
.toimintonappi--keski{display:block;width:max-content;margin:var(--tila-6) auto 0}

/* ---------- vertailu-lohko (sektiot) ---------- */
.vertailu-lohko{padding-block:clamp(40px,6vw,88px)}
.vertailu-lohko--tumma{background:var(--sini-tumma);color:#fff}
.vertailu-lohko--tumma h1,.vertailu-lohko--tumma h2,.vertailu-lohko--tumma h3{color:#fff}
.vertailu-lohko--vaalea{background:var(--harmaa-vaalea);color:var(--tumma)}
.vertailu-lohko--vaalea h1,.vertailu-lohko--vaalea h2,.vertailu-lohko--vaalea h3{color:var(--sini-tumma)}

.paneeli-otsikko{
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.9rem;
  color:var(--sini-vaalea2);
  border-top:1px solid rgba(255,255,255,.25);
  padding-top:var(--tila-3);
  margin:var(--tila-8) 0 var(--tila-3);
}
.vertailu-lohko--vaalea .paneeli-otsikko{color:var(--sini);border-top-color:var(--sini-vaalea)}

/* ---------- puoli-pari : "versus" jakonäkymä ---------- */
.puoli-pari{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--tila-6);
  align-items:start;
}
.puoli{min-width:0}
.puoli-erotin{
  width:100%;
  height:2px;
  background:linear-gradient(to right, transparent, currentColor, transparent);
  opacity:.35;
}
.vertailu-lohko--tumma .puoli-erotin{color:#fff}
.vertailu-lohko--vaalea .puoli-erotin{color:var(--sini)}

@media (min-width:48em){
  .puoli-pari{grid-template-columns:1fr 2px 1fr;gap:var(--tila-8);align-items:stretch}
  .puoli-erotin{width:2px;height:auto}
}

.puoli-pari--hero{align-items:center}
.puoli-pari--hero .puoli--oikea{display:flex;flex-direction:column;gap:var(--tila-4)}

/* hero-tilannekortit */
.tilannekortti{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--reunapyoristys-kortti);
  padding:var(--tila-4);
  display:flex;
  flex-direction:column;
  gap:var(--tila-1);
}
.tilannekortti-aika{font-weight:700;font-size:1.2rem;color:var(--kulta)}
.tilannekortti-kuvaus{font-size:.95rem;opacity:.9}

/* aikajana */
.aikajana{display:flex;flex-direction:column;gap:var(--tila-3)}
.aikajana-kohta{
  display:flex;
  gap:var(--tila-3);
  align-items:baseline;
  border-left:3px solid var(--kulta);
  padding-left:var(--tila-3);
}
.aikajana-paiva{font-weight:700;color:var(--kulta);white-space:nowrap}
.aikajana-kuvaus{opacity:.9}

/* bonuskortti / arviokortti */
.bonuskortti{
  background:#fff;
  border-radius:var(--reunapyoristys-kortti);
  padding:var(--tila-6);
  text-align:center;
  box-shadow:0 8px 24px rgba(0,50,102,.12);
  display:flex;
  flex-direction:column;
  gap:var(--tila-4);
  align-items:center;
}
.bonuskortti-merkki{
  display:inline-block;
  background:linear-gradient(to right,var(--kulta),#ffd257);
  color:var(--sini-tumma);
  font-weight:700;
  padding:var(--tila-2) var(--tila-4);
  border-radius:var(--reunapyoristys-nappi);
}
.arviokortti{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--reunapyoristys-kortti);
  padding:var(--tila-3) var(--tila-4);
  display:flex;
  justify-content:space-between;
  gap:var(--tila-3);
  margin-bottom:var(--tila-3);
}
.arviokortti-lahde{font-weight:500}
.arviokortti-luku{font-weight:700;color:var(--kulta)}

/* ---------- taulukot ---------- */
.taulukko-reuna{
  overflow-x:auto;
  margin-block:var(--tila-4);
  border-radius:var(--reunapyoristys-kortti);
  border:1px solid rgba(9,75,149,.15);
}
table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  color:var(--tumma);
  min-width:480px;
}
.vertailu-lohko--tumma .taulukko-reuna{border-color:rgba(255,255,255,.2)}
th,td{
  text-align:left;
  padding:var(--tila-3) var(--tila-4);
  border-bottom:1px solid var(--harmaa);
  font-size:.95rem;
}
thead th{
  background:var(--sini-tumma);
  color:#fff;
  font-weight:700;
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:.03em;
}
tbody tr:nth-child(even){background:var(--harmaa)}

/* korosta "versus"-sarakkeet kahdessa vertailutaulukossa */
#taulukko-kasino-veto td:nth-child(2),
#taulukko-sovellus-selain td:nth-child(2){background-color:rgba(66,140,220,.10)}
#taulukko-kasino-veto td:nth-child(3),
#taulukko-sovellus-selain td:nth-child(3){background-color:rgba(250,77,0,.08)}
#taulukko-kasino-veto thead th:nth-child(2),
#taulukko-sovellus-selain thead th:nth-child(2){background:var(--sini)}
#taulukko-kasino-veto thead th:nth-child(3),
#taulukko-sovellus-selain thead th:nth-child(3){background:linear-gradient(0deg,var(--oranssi),var(--oranssi-2))}

.maksutapa-rivi--ei-vahvistettu td{opacity:.65;font-style:italic}

@media (max-width:640px){
  .taulukko-reuna table,
  .taulukko-reuna thead,
  .taulukko-reuna tbody,
  .taulukko-reuna tr,
  .taulukko-reuna td{display:block;width:100%;min-width:0}
  .taulukko-reuna thead{display:none}
  .taulukko-reuna tr{margin-bottom:var(--tila-3);border-bottom:2px solid var(--harmaa)}
  .taulukko-reuna td{
    display:flex;
    justify-content:space-between;
    gap:var(--tila-3);
    text-align:right;
    border-bottom:1px solid var(--harmaa);
  }
  .taulukko-reuna td::before{
    content:attr(data-label);
    font-weight:700;
    color:var(--sini);
    text-align:left;
  }
}

/* ---------- peliruudut (pelikortit) ---------- */
.peliruudut{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(180px,100%), 1fr));
  gap:var(--tila-4);
  margin-block:var(--tila-4);
}
.peliruutu{
  position:relative;
  display:block;
  border-radius:var(--reunapyoristys-kortti);
  overflow:hidden;
  background:var(--sini-tumma);
  text-decoration:none;
  aspect-ratio:5/7;
}
.peliruutu img{width:100%;height:100%;object-fit:cover}
.peliruutu-pelaa{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:700;
  background:rgba(2,16,31,.55);
  opacity:0;
  transition:opacity .2s ease;
}
.peliruutu:hover .peliruutu-pelaa,
.peliruutu:focus-visible .peliruutu-pelaa,
.peliruutu.kosketettu .peliruutu-pelaa{opacity:1}
.peliruutu-nimi{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:var(--tila-2) var(--tila-3);
  background:linear-gradient(to top, rgba(0,0,0,.75), transparent);
  color:#fff;
  font-size:.85rem;
}

/* ---------- tarjoajat / maksutavat -rivit ---------- */
.tarjoajat-rivi,.maksuvertailu{
  display:flex;
  flex-wrap:wrap;
  gap:var(--tila-6);
  align-items:center;
  padding:var(--tila-4) 0;
}
.tarjoaja,.maksutapa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:10px;
  padding:var(--tila-2) var(--tila-3);
  min-height:44px;
}
.vertailu-lohko--tumma .tarjoaja,.vertailu-lohko--tumma .maksutapa{background:rgba(255,255,255,.9)}

/* ---------- vertailu-vaihdin (signature-ominaisuus) ---------- */
.vertailu-vaihdin{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--reunapyoristys-kortti);
  padding:var(--tila-6);
}
.vertailu-vaihdin label{display:block;margin-bottom:var(--tila-2);font-weight:500}
.vertailu-vaihdin-valitsin{
  width:100%;
  max-width:420px;
  padding:12px 16px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.3);
  background:#fff;
  color:var(--tumma);
  font-size:1rem;
  font-family:var(--fontti);
}
.vertailu-vaihdin-tulos{margin-top:var(--tila-6)}
.puoli-pari--vaihdin .puoli{
  background:rgba(255,255,255,.05);
  border-radius:12px;
  padding:var(--tila-4);
}
.vertailu-vaihdin-nimike{
  display:block;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--kulta);
  margin-bottom:var(--tila-2);
}
.vertailu-vaihdin-lista li{
  display:flex;
  justify-content:space-between;
  gap:var(--tila-3);
  padding:var(--tila-2) 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:.92rem;
}
.vertailu-vaihdin-lista li:last-child{border-bottom:0}
.vertailu-vaihdin-lista li span:first-child{opacity:.75}
.vertailu-vaihdin-lista li span:last-child{font-weight:600;text-align:right}

@media (prefers-reduced-motion: no-preference){
  .vertailu-vaihdin-tulos{transition:opacity .2s ease}
}

/* ---------- kysymysosio / FAQ ---------- */
.kysymys-lista{display:flex;flex-direction:column;gap:var(--tila-3);margin-top:var(--tila-4)}
.kysymys{
  background:#fff;
  border-radius:12px;
  padding:var(--tila-4);
  border:1px solid rgba(9,75,149,.12);
}
.kysymys summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--tila-3);
}
.kysymys summary::-webkit-details-marker{display:none}
.kysymys summary h3{margin:0;font-size:1.05rem}
.kysymys summary::after{
  content:"+";
  font-size:1.4rem;
  color:var(--oranssi);
  flex-shrink:0;
  transition:transform .2s ease;
}
.kysymys[open] summary::after{transform:rotate(45deg)}
.kysymys p{margin-top:var(--tila-3)}

/* ---------- alaosa / footer ---------- */
.ala-osa{background:var(--tumma);color:#fff;padding-block:var(--tila-12)}
.ala-rivi{display:flex;flex-direction:column;align-items:flex-start;gap:var(--tila-3)}
.ala-osa .vertailu-tunnus img{width:130px}
.ala-ikaraja{
  display:inline-block;
  border:2px solid var(--kulta);
  color:var(--kulta);
  font-weight:700;
  padding:2px 10px;
  border-radius:8px;
}
.ala-lakiteksti{font-size:.85rem;opacity:.75;max-width:70ch}
.ala-copy{font-size:.8rem;opacity:.6}

/* ---------- evästepalkki ---------- */
.evastepalkki{
  position:fixed;
  left:0;right:0;bottom:0;
  background:var(--sini-tumma);
  color:#fff;
  z-index:var(--kerros-paalla);
  box-shadow:0 -4px 20px rgba(0,0,0,.3);
}
.evastepalkki-sisalto{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--tila-3);
  padding-block:var(--tila-3);
}
.evastepalkki p{margin:0;font-size:.9rem}

/* ---------- ylöspainike ---------- */
.ylospainike{
  position:fixed;
  right:var(--tila-4);
  bottom:var(--tila-4);
  width:48px;height:48px;
  border-radius:50%;
  border:0;
  background:linear-gradient(0deg,var(--oranssi),var(--oranssi-2));
  color:#fff;
  font-size:1.3rem;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(250,65,0,.4);
  z-index:var(--kerros-paalla);
}

@media (prefers-reduced-motion: no-preference){
  .toimintonappi,.peliruutu-pelaa,.kysymys summary::after{transition-duration:.2s}
}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important}
}
