/* =====================================================================
   Funzone SI  -  funzoneclub.com
   Temna arkadna soba: barvi iz logotipa, sliva in oranzna. Igre so
   pisane, zato je ozadje mirno in temno, da naslovnice izstopajo.
   ===================================================================== */

:root{
  /* Sliva, iz krmilnika v logotipu */
  --plum-900:#241c2b;
  --plum-800:#2c2335;
  --plum-700:#372c3f;
  --plum-600:#453750;
  --plum-line:#4d3f59;

  /* Oranzna, iz logotipa */
  --orange:#fc7a21;
  --orange-2:#ff9a4d;
  --orange-deep:#d55f0c;
  --orange-wash:rgba(252,122,33,.14);

  --text:#f6f2f8;
  --text-2:#c3b8cd;
  --muted:#9b8ea8;

  /* Kategorije */
  --c-family:#f59f00;
  --c-action:#fa5252;
  --c-puzzle:#4c6ef5;
  --c-sports:#12b886;
  --c-strategy:#7950f2;
  --c-adventure:#e64980;
  --c-match3:#22b8cf;
  --c-cards:#fab005;
  --c-endless:#ff6b6b;
  --c-utilities:#868e96;

  --font:'Sora', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  --r-s:10px;
  --r-m:16px;
  --r-l:22px;
  --r-xl:30px;

  --ease:cubic-bezier(.2,.9,.3,1);
  --shadow:0 2px 4px rgba(0,0,0,.3), 0 18px 40px -20px rgba(0,0,0,.7);
  --glow:0 0 0 1px rgba(252,122,33,.35), 0 12px 30px -12px rgba(252,122,33,.5);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:90px}
body{
  margin:0; background:var(--plum-900); color:var(--text);
  font-family:var(--font); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
svg{display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0; font-weight:700; line-height:1.08; letter-spacing:-.03em}
p{margin:0}
ul,ol{margin:0}

.wrap{width:min(1180px, calc(100% - 2.4rem)); margin-inline:auto}

.skip-link{position:absolute; left:-9999px; top:0; z-index:200; background:var(--orange); color:#fff; padding:.8rem 1.1rem}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--orange-2); outline-offset:3px; border-radius:6px}

/* ================================ GUMBI ================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:52px; padding:.85rem 1.7rem; border:0; border-radius:999px;
  font-family:var(--font); font-size:1rem; font-weight:700; letter-spacing:-.01em;
  text-decoration:none; cursor:pointer;
  background:linear-gradient(180deg, var(--orange-2), var(--orange));
  color:#20161a; box-shadow:0 6px 18px -8px rgba(252,122,33,.8);
  transition:transform .14s var(--ease), box-shadow .14s var(--ease), filter .14s var(--ease);
}
.btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px -10px rgba(252,122,33,.9)}
.btn:active{transform:translateY(0)}
.btn-lg{min-height:60px; padding:1rem 2.1rem; font-size:1.08rem}
.btn-block{width:100%}
.btn-ghost{
  background:transparent; color:var(--text); box-shadow:inset 0 0 0 1.5px var(--plum-line);
}
.btn-ghost:hover{background:var(--plum-700); box-shadow:inset 0 0 0 1.5px var(--orange)}

/* =============================== GLAVA =============================== */
.top{
  position:sticky; top:0; z-index:100;
  background:rgba(36,28,43,.86); backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid var(--plum-line);
}
.bar{display:flex; align-items:center; gap:1rem; padding:.6rem 0}
.logo{display:inline-flex; align-items:center; flex:0 0 auto; text-decoration:none}
.logo img{height:36px; width:auto}

.burger{
  display:none; margin-left:auto; width:48px; height:48px; padding:0; cursor:pointer;
  border:1px solid var(--plum-line); border-radius:var(--r-s); background:var(--plum-800);
  align-items:center; justify-content:center;
}
.burger span{position:relative; display:block; width:19px; height:2.5px; border-radius:2px; background:var(--text)}
.burger span::before,.burger span::after{content:""; position:absolute; left:0; width:19px; height:2.5px; border-radius:2px; background:var(--text); transition:.2s var(--ease)}
.burger span::before{top:-6.5px} .burger span::after{top:6.5px}
.top[data-open="true"] .burger span{background:transparent}
.top[data-open="true"] .burger span::before{top:0; transform:rotate(45deg)}
.top[data-open="true"] .burger span::after{top:0; transform:rotate(-45deg)}

.nav{margin-left:auto}
.nav ul{display:flex; align-items:center; gap:.1rem; list-style:none; padding:0; margin:0}
.nav a{display:block; text-decoration:none; color:var(--text-2); font-size:.93rem; font-weight:600; padding:.6rem .75rem; border-radius:var(--r-s)}
.nav a:hover{color:var(--text); background:var(--plum-700)}
.nav a[aria-current="page"]{color:var(--orange-2); background:var(--orange-wash)}
.nav-cta-li{margin-left:.5rem}
.nav .nav-cta{
  color:#20161a; padding:.7rem 1.2rem; min-height:46px; display:flex; align-items:center; border-radius:999px;
  background:linear-gradient(180deg, var(--orange-2), var(--orange)); font-weight:700;
}
.nav .nav-cta:hover{color:#20161a; background:linear-gradient(180deg, var(--orange-2), var(--orange))}

/* ================================ HERO ================================ */
.hero{position:relative; overflow:hidden; padding-block:clamp(2.6rem,6vw,4.4rem) 0}
.hero::before{
  content:""; position:absolute; inset:-40% -20% auto -20%; height:90%;
  background:radial-gradient(50% 60% at 50% 45%, rgba(252,122,33,.24), transparent 70%);
  pointer-events:none;
}
.hero-inner{position:relative; max-width:44rem}
.eyebrow{
  display:inline-flex; align-items:center; gap:.55rem; padding:.35rem .8rem .35rem .55rem;
  border-radius:999px; background:var(--orange-wash); color:var(--orange-2);
  font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:1.1rem;
}
.eyebrow::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--orange)}
.hero h1{font-size:clamp(2.4rem,6.4vw,4.2rem); letter-spacing:-.045em; text-wrap:balance}
.hero h1 em{font-style:normal; color:var(--orange)}
.hero-sub{margin-top:1.2rem; font-size:clamp(1.02rem,1.7vw,1.15rem); color:var(--text-2); max-width:40rem}
.hero-cta{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.9rem}
.price-tag{
  display:inline-flex; align-items:baseline; gap:.5rem; flex-wrap:wrap;
  margin-top:1.4rem; padding:.7rem 1.1rem; border-radius:var(--r-m);
  background:var(--plum-800); border:1px solid var(--plum-line);
  font-size:.92rem; color:var(--text-2);
}
.price-tag b{font-size:1.1rem; color:var(--text); letter-spacing:-.02em}

/* Tekoci trak z naslovnicami */
.marquee{margin-top:clamp(2.2rem,4vw,3rem); position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-row{display:flex; gap:1rem; width:max-content; animation:slide 60s linear infinite}
.marquee-row.rev{animation-direction:reverse; animation-duration:76s; margin-top:1rem}
.marquee-row img{
  width:184px; height:117px; object-fit:cover; border-radius:var(--r-m);
  border:1px solid var(--plum-line); background:var(--plum-700);
}
@keyframes slide{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.marquee:hover .marquee-row{animation-play-state:paused}

/* ================================ PASOVI ================================ */
.section{padding-block:clamp(2.8rem,5.5vw,4.4rem)}
.band{background:var(--plum-800); border-block:1px solid var(--plum-line)}
.band-glow{background:linear-gradient(180deg, var(--plum-800), var(--plum-900))}

.sec-head{max-width:44rem; margin-bottom:clamp(1.7rem,3vw,2.4rem)}
.sec-head h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.sec-head p{margin-top:.85rem; color:var(--text-2)}
.sec-head.center{margin-inline:auto; text-align:center}

/* ================================ STEVILKE ================================ */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.stat{
  background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-l);
  padding:1.4rem 1.2rem; text-align:center;
}
.stat b{display:block; font-size:clamp(1.7rem,3.4vw,2.3rem); letter-spacing:-.04em; color:var(--orange)}
.stat span{display:block; margin-top:.25rem; font-size:.85rem; color:var(--muted); font-weight:600}

/* ============================== KATEGORIJE ============================== */
.cats{display:grid; grid-template-columns:repeat(auto-fill,minmax(206px,1fr)); gap:.85rem}
.cat{
  display:flex; align-items:center; gap:.8rem; text-decoration:none;
  background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-m);
  padding:.95rem 1.05rem; transition:transform .14s var(--ease), border-color .14s var(--ease);
}
.cat:hover{transform:translateY(-2px); border-color:var(--orange)}
.cat-dot{width:38px; height:38px; border-radius:12px; flex:0 0 auto; display:grid; place-items:center; color:#fff}
.cat-dot svg{width:20px; height:20px}
.cat-name{display:block; font-weight:700; letter-spacing:-.02em}
.cat-count{display:block; font-size:.82rem; color:var(--muted); font-weight:500}

/* ================================= IGRE ================================= */
.filters{display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.5rem}
.chip{
  border:1px solid var(--plum-line); background:var(--plum-800); color:var(--text-2);
  font-family:var(--font); font-size:.86rem; font-weight:600; cursor:pointer;
  padding:.5rem 1rem; border-radius:999px; transition:.14s var(--ease);
}
.chip:hover{color:var(--text); border-color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--orange); border-color:var(--orange); color:#20161a}

.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem}
.tile{
  display:block; text-decoration:none; background:var(--plum-800);
  border:1px solid var(--plum-line); border-radius:var(--r-m); overflow:hidden;
  transition:transform .14s var(--ease), border-color .14s var(--ease);
}
.tile:hover{transform:translateY(-3px); border-color:var(--orange)}
.tile-art{display:block; position:relative; aspect-ratio:440/280; overflow:hidden; background:var(--plum-700)}
.tile-art img{width:100%; height:100%; object-fit:cover}
.tile-tag{
  position:absolute; left:.5rem; top:.5rem; padding:.2rem .55rem; border-radius:6px;
  font-size:.67rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#fff; background:rgba(36,28,43,.8); backdrop-filter:blur(4px);
}
.tile-body{display:block; padding:.7rem .85rem .85rem}
.tile-name{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font-weight:700; font-size:.93rem; letter-spacing:-.02em; line-height:1.25;
  color:var(--text); min-height:2.5em;
}
.tile-play{margin-top:.5rem; display:flex; align-items:center; gap:.35rem; font-size:.82rem; font-weight:700; color:var(--orange-2)}
.tile-play svg{width:14px; height:14px}

/* ================================ KORAKI ================================ */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; counter-reset:s}
.step{
  background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-l);
  padding:1.6rem 1.4rem; counter-increment:s;
}
.step::before{
  content:counter(s); display:grid; place-items:center; width:40px; height:40px; border-radius:12px;
  margin-bottom:1rem; background:var(--orange-wash); color:var(--orange-2); font-weight:700; font-size:1.1rem;
}
.step h3{font-size:1.1rem; margin-bottom:.5rem}
.step p{color:var(--text-2); font-size:.96rem}

/* ================================= CENA ================================= */
.pricebox{
  display:grid; grid-template-columns:1.05fr 1fr;
  background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-xl); overflow:hidden;
}
.pricebox-main{padding:clamp(1.7rem,3.2vw,2.5rem)}
.pricebox-side{
  padding:clamp(1.7rem,3.2vw,2.5rem); background:var(--plum-700);
  border-left:1px solid var(--plum-line); display:flex; align-items:center;
}
.pricebox-side .factrow{width:100%}
.amount{display:flex; align-items:baseline; gap:.5rem; margin:.4rem 0 .3rem}
.amount .num{font-size:clamp(2.5rem,5.6vw,3.5rem); font-weight:700; letter-spacing:-.05em}
.amount .per{color:var(--muted); font-weight:600}
.amount-sub{font-size:.9rem; color:var(--muted)}
.lines{list-style:none; padding:0; display:grid; gap:.55rem; margin-top:1.2rem}
.lines li{position:relative; padding-left:1.7rem; color:var(--text-2); font-size:.96rem}
.lines li::before{
  content:""; position:absolute; left:0; top:.45em; width:15px; height:8px;
  border-left:2.5px solid var(--orange); border-bottom:2.5px solid var(--orange); transform:rotate(-45deg);
}
.fine{margin-top:1.2rem; font-size:.81rem; line-height:1.6; color:var(--muted)}
.factrow{display:grid; gap:.85rem}
.fact{display:flex; gap:.8rem; align-items:flex-start}
.fact-ic{
  width:36px; height:36px; flex:0 0 auto; border-radius:11px; display:grid; place-items:center;
  background:var(--plum-800); border:1px solid var(--plum-line); color:var(--orange-2);
}
.fact-ic svg{width:18px; height:18px}
.fact b{display:block; font-size:.94rem}
.fact > div > span{display:block; font-size:.89rem; color:var(--text-2); margin-top:.1rem}

/* ============================== VPRASANJA ============================== */
.qa{display:grid; gap:.65rem; max-width:52rem}
.qa details{background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-m); overflow:hidden}
.qa summary{cursor:pointer; list-style:none; padding:1rem 2.8rem 1rem 1.2rem; font-weight:700; letter-spacing:-.02em; position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{
  content:""; position:absolute; right:1.2rem; top:1.35rem; width:9px; height:9px;
  border-right:2.5px solid var(--orange); border-bottom:2.5px solid var(--orange);
  transform:rotate(45deg); transition:transform .18s var(--ease);
}
.qa details[open] summary::after{transform:rotate(-135deg); top:1.6rem}
.qa .a{padding:0 1.2rem 1.1rem; color:var(--text-2); font-size:.96rem}
.qa .a a{color:var(--orange-2)}

/* =============================== ZAKLJUCEK =============================== */
.close{text-align:center; max-width:44rem; margin-inline:auto}
.close h2{font-size:clamp(1.9rem,4.4vw,2.9rem)}
.close p{margin-top:.9rem; color:var(--text-2)}
.close .hero-cta{justify-content:center; margin-top:1.6rem}
.close .price-tag{margin-inline:auto}

/* ================================ VSEBINA ================================ */
.page-hero{padding-block:clamp(2rem,4.4vw,3.2rem); border-bottom:1px solid var(--plum-line)}
.page-hero .back{display:inline-flex; align-items:center; gap:.4rem; text-decoration:none; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-2)}
.page-hero .back::before{content:"\2190"}
.page-hero h1{margin-top:.9rem; font-size:clamp(1.9rem,4.4vw,2.9rem)}
.page-hero .lead{margin-top:.9rem; color:var(--text-2); max-width:50rem}
.page-hero .updated{margin-top:.8rem; font-size:.82rem; color:var(--muted)}

.doc{padding-block:clamp(2rem,4.4vw,3.2rem)}
.doc-card{max-width:54rem}
.doc-card h2{font-size:clamp(1.2rem,2.3vw,1.55rem); margin-top:2.3rem}
.doc-card h2:first-of-type{margin-top:0}
.note + h2, .info-cards + h2, .toc + h2{margin-top:2.3rem}
.doc-card h3{font-size:1.02rem; margin-top:1.4rem}
.doc-card p{margin-top:.85rem; color:var(--text-2)}
.doc-card ul,.doc-card ol{margin-top:.85rem; padding-left:1.25rem; display:grid; gap:.45rem; color:var(--text-2)}
.doc-card a{color:var(--orange-2)}
.doc-card hr{border:0; border-top:1px solid var(--plum-line); margin:2.2rem 0}

.toc{background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-m); padding:1.2rem 1.35rem; margin-bottom:2.2rem}
.toc h2{font-size:.73rem!important; margin:0!important; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.toc ol{margin-top:.8rem; columns:2; column-gap:2rem; gap:0}
.toc li{margin-bottom:.4rem; break-inside:avoid}
.toc a{font-size:.93rem}

.note{
  background:var(--orange-wash); border:1px solid rgba(252,122,33,.3); border-left:4px solid var(--orange);
  border-radius:var(--r-s); padding:1rem 1.2rem; margin-top:1.5rem; font-size:.96rem; color:var(--text-2);
}
.note strong{color:var(--text)}

.info-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:.85rem; margin-bottom:2rem}
.info-cards .ic{background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-m); padding:1rem 1.1rem}
.info-cards .l{font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.info-cards .v{margin-top:.25rem; font-weight:700; letter-spacing:-.02em}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.6rem}
.contact-card{background:var(--plum-800); border:1px solid var(--plum-line); border-radius:var(--r-l); padding:1.5rem}
.contact-card h2{margin-top:0!important; font-size:1.1rem}
.contact-row{display:flex; gap:.75rem; align-items:flex-start; margin-top:1rem}
.contact-row .ic{width:34px; height:34px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center; background:var(--orange-wash); color:var(--orange-2)}
.contact-row .ic svg{width:17px; height:17px}
.contact-row .l{font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--muted)}
.contact-row .v{font-weight:600; font-size:.96rem}
.contact-row .v a{color:var(--orange-2)}

.end-cta{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem}

/* ================================= NOGA ================================= */
.foot{background:var(--plum-800); border-top:1px solid var(--plum-line); color:var(--text-2); padding-block:clamp(2.4rem,5vw,3.4rem) 1.8rem}
.foot-grid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:2rem}
.foot h4{color:var(--text); font-size:.73rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:.85rem}
.foot ul{list-style:none; padding:0; margin:0}
.foot li a{display:flex; align-items:center; min-height:42px; text-decoration:none; color:var(--text-2); font-size:.93rem}
.foot li a:hover{color:var(--orange-2)}
.foot-brand .logo{margin-bottom:1rem}
.foot-tag{font-size:.92rem; max-width:36ch; color:var(--muted)}
.foot-contact{margin-top:.9rem; display:grid; gap:.15rem; font-size:.92rem}
.foot-contact a{color:var(--text-2); text-decoration:none}
.foot-contact a:hover{color:var(--orange-2)}
.foot-base{margin-top:2.4rem; padding-top:1.5rem; border-top:1px solid var(--plum-line); display:grid; gap:.65rem; text-align:center}
.foot-disc{font-size:.8rem; line-height:1.62; color:var(--muted); max-width:940px; margin-inline:auto}
.foot-disc a{color:var(--text-2)}
.foot-copy{font-size:.85rem; font-weight:700; color:var(--text)}
.foot-addr{font-size:.78rem; color:var(--muted)}

/* ================================= MALO ================================= */
@media (max-width:1000px){
  .pricebox{grid-template-columns:1fr}
  .pricebox-side{border-left:0; border-top:1px solid var(--plum-line)}
  .steps{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .burger{display:flex}
  .nav{position:absolute; left:0; right:0; top:100%; display:none; background:var(--plum-900);
       border-bottom:1px solid var(--plum-line); padding:.6rem 0 1.1rem; box-shadow:var(--shadow)}
  .top[data-open="true"] .nav{display:block}
  .nav ul{flex-direction:column; align-items:stretch; gap:.15rem; width:min(1180px,calc(100% - 2.4rem)); margin-inline:auto}
  .nav a{padding:.85rem .8rem; font-size:1rem; min-height:48px; display:flex; align-items:center}
  .nav-cta-li{margin-left:0; margin-top:.5rem}
  .nav .nav-cta{justify-content:center}
  .chip{padding:.7rem 1.05rem; min-height:44px; display:inline-flex; align-items:center}
  .stats{grid-template-columns:1fr 1fr}
  .info-cards{grid-template-columns:1fr}
  .toc ol{columns:1}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{width:calc(100% - 1.8rem)}
  .grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:.7rem}
  .marquee-row img{width:146px; height:93px}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .marquee-row{animation:none}
}
