/* =====================================================================
   TEMA FANGO · Tornei Storici · Subbuteo.org
   Sfondo e "carta" condivisi con torneistorici/cover_tornei_storici.html.
   Si applica solo a schermo: la stampa resta quella originale delle pagine.
   Uso: <link rel="stylesheet" href="torneistorici/tema_fango.css"> dopo lo <style> della pagina.
   ===================================================================== */
@media screen {

:root{
  --tf-fango:#4a3421; --tf-fango2:#5c422a;
  --tf-carta:#ecdfbf; --tf-carta2:#dccb9f; --tf-inchiostro:#2a2116; --tf-seppia:#6e5a3e;
  --tf-ottone:#c9a24a; --tf-rosso:#8e2a1c; --tf-verde:#3d5f2a; --tf-verde2:#2f4a20; --tf-marrone:#4a3218;
  --tf-grana:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .36  0 0 0 0 .2  0 0 0 .22 0'/></filter><rect width='100%' height='100%' filter='url(%23p)'/></svg>");
}

/* ---------- campo infangato ---------- */
body{
  position:relative; color:var(--tf-carta);
  background-color:var(--tf-fango);
  background-image:
    radial-gradient(ellipse 120% 70% at 50% 8%, rgba(150,112,70,.42), transparent 62%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .24  0 0 0 0 .16  0 0 0 0 .08  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1600' height='1600'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.008' numOctaves='4' seed='7'/><feColorMatrix values='0 0 0 0 .52  0 0 0 0 .39  0 0 0 0 .24  0 0 0 .9 -.35'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>");
  background-size:auto, 300px 300px, cover;
  background-repeat:no-repeat, repeat, no-repeat;
  background-attachment:scroll, scroll, fixed;
}
/* vignettatura e pioggia sottile, sempre dietro ai contenuti */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at 50% 40%, transparent 45%, rgba(22,13,5,.72) 100%)}
body::after{content:"";position:fixed;inset:-50% 0 0 0;pointer-events:none;z-index:0;opacity:.09;
  background-image:repeating-linear-gradient(103deg, transparent 0 22px, rgba(220,215,200,.55) 22px 23px, transparent 23px 61px);
  animation:tf-piove .55s linear infinite}
@keyframes tf-piove{to{transform:translate(-14px,60px)}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}}
.header-bar,.novita-banner,.container{position:relative;z-index:1}

/* ---------- intestazione ---------- */
.header-bar{background:transparent !important;box-shadow:none;padding-top:34px}
.cup-logo-header{filter:drop-shadow(0 10px 16px rgba(20,12,4,.65))}
.header-bar .subtitle{font-family:'IM Fell English SC',Georgia,serif;letter-spacing:3px;color:var(--tf-ottone);opacity:1;font-size:1.05em}
.header-bar .logo-text{font-family:'Playfair Display SC',Georgia,serif;color:var(--tf-carta);text-shadow:0 2px 0 rgba(0,0,0,.6)}

.novita-banner{background:rgba(30,20,10,.55);border-bottom:1px solid rgba(201,162,74,.35)}
.novita-banner-inner{color:var(--tf-carta2)}
.novita-banner-inner a,.novita-banner-close{color:var(--tf-ottone)}

/* ---------- pulsanti di navigazione ---------- */
.nav-btn{background:rgba(30,20,10,.55) !important;border:1px solid var(--tf-ottone) !important;color:var(--tf-carta) !important;
  font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1.5px;border-radius:3px}
.nav-btn:hover{background:var(--tf-ottone) !important;color:var(--tf-inchiostro) !important}

/* ---------- riquadri di carta ---------- */
.info-box, .nazione-section, section.blocco, .select-toolbar, .player-toolbar, .lightbox-box{
  background-color:var(--tf-carta);
  background-image:var(--tf-grana), radial-gradient(ellipse at 85% 100%, rgba(110,80,40,.22), transparent 55%);
  color:var(--tf-inchiostro);
  border-radius:3px;
  box-shadow:0 10px 26px rgba(0,0,0,.5), inset 0 0 0 1px rgba(110,90,62,.25);
}
.info-box h2, section.blocco > h2, .bracket-header-row h2{
  font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1.5px;color:var(--tf-marrone)}
section.blocco > h2, .ng-header{border-bottom:2px dashed rgba(42,33,22,.3)}
.info-box p{color:#4a3c2a}
.stat-pill{background:transparent;border:1px solid rgba(110,90,62,.5);color:var(--tf-seppia);font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1px}
.footnote, footer{color:var(--tf-carta2)}
footer a{color:var(--tf-ottone)}

/* schede squadre (pagina coppa) */
.team-nome{font-family:'Playfair Display',Georgia,serif;color:var(--tf-inchiostro);font-size:1.12em}
.team-count{color:var(--tf-seppia)}
.team-meta{color:var(--tf-seppia);font-style:italic}
.team-block + .team-block{border-top:1px dashed rgba(42,33,22,.25);padding-top:14px}
.var-card{background:rgba(255,250,235,.45);border:1px solid rgba(110,90,62,.25);border-radius:3px}
.var-ref{color:var(--tf-inchiostro)}
.var-colori{color:#4a3c2a}
.var-extra{color:var(--tf-seppia)}
.lightbox-nome{color:var(--tf-marrone);font-family:'Playfair Display',Georgia,serif}
.lightbox-meta{color:#4a3c2a}

/* banner campionato manuale: biglietto scuro con bordo in ottone */
.completo-banner{background:rgba(30,20,10,.62) !important;border:1px dashed var(--tf-ottone);border-radius:3px;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.completo-banner .cb-title{font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1.5px;color:var(--tf-carta)}
.completo-banner .cb-sub{color:var(--tf-carta2)}
.champ-btn{background:var(--tf-carta);color:var(--tf-inchiostro);border-radius:3px;font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1px}
.champ-btn:hover{background:var(--tf-ottone)}

.back-to-top{background:var(--tf-ottone);color:var(--tf-inchiostro)}
.back-to-top:hover{background:var(--tf-carta)}

/* ---------- campionato manuale ---------- */
.select-toolbar .sel-count{color:var(--tf-marrone)}
.sel-bracket-hint,.bracket-note,.legend,.empty-hint,.player-note{color:var(--tf-seppia)}
.legend b{color:var(--tf-inchiostro)}
.btn-reset-bracket{padding:7px 14px;font-size:.85em;font-weight:700;cursor:pointer}
.select-toolbar .sel-btn, .btn-reset-bracket{background:rgba(255,250,235,.5);border:1px solid rgba(110,90,62,.45);color:var(--tf-marrone);border-radius:3px}
.select-toolbar .sel-btn:hover, .btn-reset-bracket:hover{background:rgba(201,162,74,.35)}
.select-toolbar .gen-btn, .save-bar .sb-primary, .clash-confirm-btn{background:var(--tf-verde);border-color:var(--tf-verde);color:var(--tf-carta);border-radius:3px}
.select-toolbar .gen-btn:hover, .save-bar .sb-primary:hover, .clash-confirm-btn:hover{background:var(--tf-verde2)}
.select-toolbar .gen-btn:disabled{background:#a39478;color:#efe6d0}
.player-toolbar .pt-label, .player-toolbar select{color:var(--tf-marrone)}
.player-tab{background:rgba(255,250,235,.5);border-color:rgba(110,90,62,.4);color:var(--tf-seppia)}
.player-tab.active{background:var(--tf-verde);border-color:var(--tf-verde);color:var(--tf-carta)}

.ng-name{color:var(--tf-marrone);font-family:'IM Fell English SC',Georgia,serif;letter-spacing:1px}
.ng-count{background:rgba(110,90,62,.15);color:var(--tf-seppia)}
.ng-toggle{border-color:rgba(110,90,62,.45);color:var(--tf-seppia)}
.ng-toggle:hover, .team-check-item:hover{background:rgba(201,162,74,.2)}
.team-check-item{color:var(--tf-inchiostro)}
.team-check-item.in-catalogo span{color:var(--tf-rosso)}
.team-check-item input, .score-box{accent-color:var(--tf-verde)}

.roster-card{background:rgba(255,250,235,.45);border:1px solid rgba(110,90,62,.25);border-radius:3px}
.roster-card .rc-team,.match-row .home,.match-row .away,table.tbl tbody td.team{color:var(--tf-inchiostro)}
.roster-card .rc-nation,table.tbl tbody td.team .rc-nation{color:var(--tf-seppia)}
.giornata h3{color:var(--tf-seppia);font-family:'IM Fell English SC',Georgia,serif;letter-spacing:1.5px}
.match-row{border-bottom-color:rgba(42,33,22,.12)}
.score-box{background:rgba(255,250,235,.6);border-color:rgba(110,90,62,.45)}

table.tbl thead th{background:var(--tf-marrone);color:var(--tf-carta);font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1px}
table.tbl tbody td{border-bottom-color:rgba(42,33,22,.12)}
table.tbl tbody tr:nth-child(odd){background:rgba(255,250,235,.35)}
table.tbl tbody td.pos{color:var(--tf-seppia)}

.bracket-round-title{color:var(--tf-marrone);font-family:'IM Fell English SC',Georgia,serif;font-weight:400;letter-spacing:1.5px}
.bracket-match{background:rgba(255,250,235,.5);border-color:rgba(110,90,62,.35);border-radius:3px}
.bracket-match.decisa{border-color:rgba(61,95,42,.6)}
.bracket-match.bye-match{background:rgba(110,90,62,.08)}
.bracket-round:not(:last-child) .bracket-match::after,
.bracket-round:not(:first-child) .bracket-match::before{background:rgba(42,33,22,.35)}
.bracket-slot{border-bottom-color:rgba(42,33,22,.12)}
.bracket-slot .bs-name{color:var(--tf-inchiostro)}
.bracket-slot .bs-name.bs-winner{color:var(--tf-verde)}
.bracket-slot .bs-name.bs-tbd,.bracket-slot .bs-name.bs-loser{color:#9a8a6e}
.bracket-slot .bs-name.bs-clickable:hover{background:rgba(201,162,74,.25)}
.bs-score-input{background:rgba(255,250,235,.8);border-color:rgba(110,90,62,.45);color:var(--tf-inchiostro)}

.save-bar{background:rgba(255,250,235,.4);border:1px dashed rgba(110,90,62,.45);border-radius:3px}
.save-bar .sb-lbl{color:var(--tf-marrone)}
.save-bar .sb-btn:not(.sb-primary){background:rgba(255,250,235,.7);color:var(--tf-marrone);border-color:rgba(110,90,62,.45)}
.save-bar .sb-btn:not(.sb-primary):hover{background:rgba(201,162,74,.35)}
.save-bar .sb-status{color:var(--tf-seppia)}
.save-bar .sb-help{color:var(--tf-seppia)}

}
