/* FatPirate Casino IT - sito statico di recensione */
:root{
  --bg:#12222b;
  --bg-2:#162c37;
  --panel:#1b323d;
  --panel-2:#224152;
  --side:#0f1d25;
  --gold:#f0b544;
  --gold-2:#ffd888;
  --wood:#4a2d1b;
  --cta:#1f9d55;
  --cta-hover:#25b863;
  --text:#e8e2d6;
  --muted:#a9bcc5;
  --line:#2f5567;
  --radius:10px;
  --shadow:0 6px 22px rgba(0,0,0,.5);
  --sidebar-w:250px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;
  background:#10202a url("../img/bg-wood.jpg") repeat;
  background-size:760px auto;
  color:var(--text);
  font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
  font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
body::before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(14,32,42,.93),rgba(8,20,27,.97));z-index:-1}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-2)}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.25;margin:0 0 14px;color:#fff}
h1{font-size:2.1rem;letter-spacing:.3px}
h2{font-size:1.65rem;color:var(--gold)}
h3{font-size:1.2rem;color:var(--gold-2)}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin-bottom:7px}
strong{color:#fff}

/* HEADER */
.header{
  position:sticky;top:0;z-index:60;height:72px;
  background:#1a3341 url("../img/bg-header.jpg") repeat-x center/auto 100%;
  border-bottom:2px solid #08141a;
  display:flex;align-items:center;gap:16px;padding:0 18px;
}
.burger{width:44px;height:44px;border:1px solid var(--line);background:rgba(0,0,0,.3);border-radius:8px;color:var(--gold);font-size:20px;cursor:pointer;display:none}
.logo img{height:44px;width:auto}
.header-search{flex:1;max-width:620px;margin:0 auto;position:relative}
.header-search input{
  width:100%;height:42px;border-radius:22px;border:1px solid #3b6a80;
  background:rgba(8,20,27,.6);color:var(--text);padding:0 18px 0 42px;font-size:.95rem;
}
.header-search svg{position:absolute;left:14px;top:11px;opacity:.75}
.header-actions{display:flex;gap:10px;align-items:center}
.btn{
  display:inline-block;border:none;cursor:pointer;text-align:center;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;
  padding:11px 22px;border-radius:8px;color:#fff;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.25),var(--shadow);transition:.18s;
}
.btn-ghost{background:#2a4c5d url("../img/btn-secondary.png") center/100% 100%;color:var(--gold-2)}
.btn-ghost:hover{color:#fff;filter:brightness(1.12)}
.btn-primary{background:var(--cta) url("../img/btn-primary.png") center/100% 100%}
.btn-primary:hover{color:#fff;filter:brightness(1.12)}
.btn-lg{font-size:1rem;padding:15px 34px}
.btn-block{display:block;width:100%}

/* LAYOUT */
.layout{display:flex;min-height:100vh}
.sidebar{
  width:var(--sidebar-w);flex:0 0 var(--sidebar-w);
  background:var(--side) url("../img/bg-wood.jpg") repeat;
  background-blend-mode:multiply;
  border-right:2px solid #08141a;padding:14px 0 90px;
}
.sidebar-sticky{position:sticky;top:72px}
.nav-item{display:flex;align-items:center;gap:12px;padding:11px 18px;color:#dce8ee;font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-left:3px solid transparent}
.nav-item img{width:24px;height:24px;object-fit:contain;flex:0 0 24px}
.nav-item:hover{background:rgba(240,181,68,.1);color:#fff}
.nav-item.active{background:linear-gradient(90deg,rgba(240,181,68,.28),transparent);border-left-color:var(--gold);color:var(--gold)}
.nav-sep{height:1px;margin:10px 18px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.main{flex:1;min-width:0;padding:22px 26px 60px}
.wrap{max-width:1180px;margin:0 auto}

/* HERO */
.hero{position:relative;border-radius:14px;overflow:hidden;border:2px solid #3b6a80;box-shadow:var(--shadow);margin-bottom:26px}
.hero img.hero-bg{width:100%;height:auto;display:block}
.hero-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:0 6%;max-width:62%}
.hero-badge{display:inline-block;background:rgba(6,16,22,.74);color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:5px;width:max-content}
.hero-title{font-size:2.3rem;color:var(--gold);text-shadow:0 3px 0 #5a3410,0 6px 14px rgba(0,0,0,.65);margin:0}
.hero-sub{margin:0;color:#f4ead9;font-size:1rem;max-width:520px}
.hero .btn{width:max-content}

/* CHIPS */
.chips{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;margin-bottom:26px}
.chip{display:flex;align-items:center;gap:8px;white-space:nowrap;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:8px 16px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#e4eef3}
.chip img{width:22px;height:22px;object-fit:contain}
.chip:hover{border-color:var(--gold);color:var(--gold)}

/* SECTIONS */
section{margin-bottom:34px}
.section-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.section-head h2{margin:0;white-space:nowrap}
.section-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card + .card{margin-top:16px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}

/* GAME TILES */
.tile{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid;grid-template-rows:auto minmax(48px,auto);align-content:start;transition:.18s}
.tile img{width:100%;aspect-ratio:2/3;object-fit:cover;background:#0d1a22}
.tile.wide img{aspect-ratio:3/2}
.tile span{display:flex;min-height:48px;align-items:center;justify-content:center;padding:8px 10px;font-size:.78rem;font-weight:700;color:#e4eef3;text-align:center;line-height:1.3}
.tile:hover{border-color:var(--gold);transform:translateY(-3px)}

/* PROMO CARDS */
.promo{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.promo img{width:100%;height:150px;object-fit:cover}
.promo-tag{position:absolute;top:10px;right:10px;background:#b8262b;color:#fff;font-size:.65rem;letter-spacing:.1em;padding:3px 9px;border-radius:4px;text-transform:uppercase}
.promo-media{position:relative}
.promo-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.promo-body h3{margin:0;font-size:1rem}
.promo-body p{margin:0;font-size:.88rem;color:var(--muted)}
.promo-body .more{margin-top:auto;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* TABLES */
table{width:100%;border-collapse:collapse;font-size:.92rem;margin-bottom:14px}
th,td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:rgba(0,0,0,.28);color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}
tbody tr:hover{background:rgba(240,181,68,.06)}
.table-wrap{overflow-x:auto}

/* PROS CONS */
.pros,.cons{border-radius:var(--radius);padding:20px;border:1px solid var(--line)}
.pros{background:rgba(18,122,86,.16);border-color:#1c8a62}
.cons{background:rgba(184,38,43,.13);border-color:#9c3239}
.pros h3{color:#6de0a9}.cons h3{color:#ff9c9c}
.pros ul,.cons ul{list-style:none;padding:0;margin:0}
.pros li,.cons li{padding-left:26px;position:relative}
.pros li::before{content:"+";position:absolute;left:6px;color:#6de0a9;font-weight:700}
.cons li::before{content:"-";position:absolute;left:6px;color:#ff9c9c;font-weight:700}

/* FACTS */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fact{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center}
.fact span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.fact b{display:block;font-size:1.05rem;color:var(--gold);margin-top:6px;font-family:Georgia,serif}

/* FAQ */
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;color:var(--gold-2);font-family:Georgia,serif;font-size:1.02rem}
.faq details[open] summary{margin-bottom:10px}

/* AUTHOR */
.author{display:flex;gap:18px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.author img.avatar{width:96px;height:96px;flex:0 0 96px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;background:#0f1d25}
.author .meta{font-size:.84rem;color:var(--muted)}

/* PAYMENTS */
.pay-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.pay-badge{background:#fff;border-radius:6px;padding:8px 12px;height:42px;display:flex;align-items:center}
.pay-badge img{height:22px;width:auto}
.pay-text{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:9px 14px;font-size:.82rem;font-weight:700;color:#e4eef3}

/* CTA BAR */
.cta-bar{background:#14413a url("../img/border-cta.png") center/100% 100% no-repeat,linear-gradient(180deg,#155c45,#0e3c2e);border:2px solid #1c8a62;border-radius:14px;padding:26px;text-align:center}
.cta-bar h2{color:#fff}
.cta-bar p{color:#d5f2e5;max-width:720px;margin:0 auto 18px}

/* FOOTER */
.footer{background:#0c1c24 url("../img/bg-footer.jpg") center/cover;border-top:3px solid #081419;padding:34px 26px 24px;color:#cbdde5}
.footer a{color:#e8d6a7}
.footer .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-bottom:24px}
.footer h4{color:#ffd888;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.footer ul{list-style:none;padding:0;margin:0;font-size:.86rem}
.footer-bottom{max-width:1180px;margin:0 auto;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:.78rem;line-height:1.7;color:#b8ccd6;text-align:center}
.footer-badges{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.footer-badges img{height:40px;width:auto}
.age{width:46px;height:46px;border-radius:50%;border:2px solid #ffd888;color:#ffd888;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}

/* MISC */
.note{font-size:.84rem;color:var(--muted)}
.updated{font-size:.8rem;color:var(--muted);margin-bottom:18px}
.toc{columns:2;column-gap:28px}
.toc a{font-size:.9rem}
.rating{display:flex;flex-wrap:wrap;gap:12px}
.rating-item{flex:1 1 180px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.rating-item span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.bar{height:8px;border-radius:5px;background:rgba(0,0,0,.35);margin-top:8px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ff9a3c)}
.breadcrumbs{font-size:.8rem;color:var(--muted);margin-bottom:12px}
.sport-band{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sport-card{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#173040 url("../img/sport-card-bg.jpg") center/cover;min-height:150px;display:flex;align-items:flex-end;padding:10px}
.sport-card img{position:absolute;right:4px;bottom:0;height:120px;width:auto;object-fit:contain}
.sport-card b{position:relative;z-index:2;font-family:Georgia,serif;color:var(--gold-2);font-size:1rem}

/* MOBILE EXTRAS */
.scrim{position:fixed;inset:72px 0 0;background:rgba(4,10,14,.62);z-index:50;border:0}
.mobile-cta{display:none}

@media(max-width:1100px){
  .g6{grid-template-columns:repeat(4,1fr)}
  .g4{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:repeat(2,1fr)}
  .sport-band{grid-template-columns:repeat(2,1fr)}
  .footer .wrap{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .burger{display:block}
  .header-search{display:none}
  .sidebar{position:fixed;top:72px;bottom:0;left:0;z-index:55;transform:translateX(-100%);transition:transform .25s;overflow-y:auto;box-shadow:0 0 30px rgba(0,0,0,.6)}
  .sidebar.open{transform:none}
  .nav-item{padding:14px 18px}
  .g3,.g2{grid-template-columns:1fr}
  .main{padding:16px 14px 50px}
  .toc{columns:1}
  body.nav-open{overflow:hidden}
}
@media(max-width:760px){
  html{scroll-padding-top:80px}
  body{font-size:15.5px;line-height:1.62}
  .header{gap:10px;padding:0 10px;height:64px}
  .logo img{height:34px}
  .header-actions{gap:6px}
  .header-actions .btn{padding:10px 11px;font-size:.7rem;letter-spacing:.03em}
  h1{font-size:1.45rem}h2{font-size:1.22rem}h3{font-size:1.05rem}
  .sidebar,.scrim{top:64px}
  .hero{display:flex;flex-direction:column;border-radius:12px}
  .hero img.hero-bg{aspect-ratio:16/9;object-fit:cover;height:auto}
  .hero-inner{position:static;inset:auto;max-width:100%;padding:16px 14px 18px;gap:10px;background:linear-gradient(180deg,rgba(8,20,27,.9),rgba(14,32,42,.96))}
  .hero-title{font-size:1.5rem;line-height:1.2}
  .hero-sub{font-size:.95rem}
  .hero .btn,.hero .btn-lg{width:100%;padding:14px 18px}
  .sidebar{padding-bottom:120px}
  .scrim{bottom:0}
  .g6{grid-template-columns:repeat(3,1fr)}
  .card{padding:16px 14px}
  .pros,.cons{padding:16px 14px}
  .section-head{gap:10px;margin-bottom:12px}
  .section-head h2{white-space:normal}
  .section-head::after{display:none}
  .chips{gap:8px;margin:0 -14px 22px;padding:0 14px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .promo img{height:170px}
  table{font-size:.86rem}
  th,td{padding:9px 10px}
  .table-wrap{margin:0 -14px;padding:0 14px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table-wrap table{min-width:520px}
  .author{flex-direction:column;align-items:center;text-align:center;gap:12px;padding:18px 14px}
  .faq details{padding:12px 14px}
  .cta-bar{padding:20px 14px}
  .cta-bar .btn{width:100%}
  .footer{padding:26px 14px 22px}
  .footer .wrap{gap:18px}
  .pay-badge{height:38px;padding:6px 10px}
  .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  a,button{-webkit-tap-highlight-color:rgba(240,181,68,.25)}
  .mobile-cta{
    display:flex;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:58;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(10,24,32,.96);border-top:1px solid var(--line);backdrop-filter:blur(6px);
  }
  .mobile-cta span{flex:1;min-width:0;font-size:.8rem;font-weight:700;color:var(--gold-2);line-height:1.25}
  .mobile-cta .btn{flex:0 0 auto;padding:12px 18px;font-size:.8rem}
  body{padding-bottom:76px}
  .main{padding-bottom:20px}
}
@media(max-width:560px){
  .g4,.g6{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:1fr}
  .sport-band{grid-template-columns:1fr}
  .footer .wrap{grid-template-columns:1fr}
  .rating-item{flex:1 1 100%}
}

/* Torna su */
.to-top{position:fixed;right:18px;bottom:86px;z-index:57;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(240,181,68,.55);background:rgba(12,28,36,.92);color:#f0b544;display:flex;
  align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.45);
  transition:transform .2s ease,background .2s ease}
.to-top:hover{background:rgba(22,48,60,.96);transform:translateY(-2px)}
.to-top[hidden]{display:none}
@media (min-width:761px){.to-top{bottom:24px;right:24px}}
