
:root{
  --bg:#eff3f6 !important;
  --bg-alt:#f7fafb !important;
  --surface:#ffffff !important;
  --surface-alt:#f8fbfc !important;
  --text:#0f2230 !important;
  --text-soft:#5f7382 !important;
  --line:#d9e3ea !important;
  --line-strong:#c4d2db !important;
  --green:#86d111 !important;
  --green2:#5ea612 !important;
  --green-dark:#315f09 !important;
  --green-soft:#eff8dc !important;
  --navy:#061521 !important;
  --navy-2:#0a2132 !important;
  --navy-3:#0f3042 !important;
  --shadow:0 18px 40px rgba(7, 24, 39, .08) !important;
  --shadow-soft:0 10px 24px rgba(7, 24, 39, .06) !important;
  --radius:22px !important;
}

html,body{overflow-x:hidden}
body{
  background:
    radial-gradient(circle at top right, rgba(134,209,17,.08), transparent 20%),
    linear-gradient(180deg,#f7fafc 0%, #eef3f6 45%, #f5f8fa 100%) !important;
  color:var(--text) !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(transparent 0%, rgba(255,255,255,.16) 100%);
  z-index:-1;
}
.wrap,.container,.site-footer,.nav,.fv63-wrap,.fv-wrap,.page-wrap,.fvj-wrap{width:min(94%,1440px)!important;max-width:1440px!important}
main{position:relative}

h1,h2,h3,.section-title{color:var(--text)!important;letter-spacing:-.04em!important}
h1{font-size:clamp(2rem,4vw,4.25rem)!important;font-weight:900!important}
h2{font-size:clamp(1.65rem,2vw,2.5rem)!important;font-weight:850!important}
h3{font-size:clamp(1.05rem,1.4vw,1.35rem)!important;font-weight:850!important}
p,.muted,.lead{color:var(--text-soft)!important}

.card,.box,.info-card,.fvj-card,.fv154-table-card,.fv200-panel,.fv200-next-card,.fv-series-card,
.fv-table-wrap,.fv-results-block,.fv-teams-block,.club-block-section,.admin-section,.fv-footer-card,
.fv63-grid>.fv124-selector,.fvpush-panel,.fv154-participate,.fvj-related-card,.fvj-action,
.fv-team-card,.fv-team-card-wrap,.fv-game-card,.fv77-result-row,.fv63-col,.fv200-contribute,
.fvj-participate,.fvj-media,.fvj-goal,.fvpush-comp,.fvpush-item,.fvpush-team,
.fv200-competitions a,.fv154-calendar-links a,.fv154-participate-actions a,.fvc-action{
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:var(--surface)!important;
  box-shadow:var(--shadow)!important;
}

.fv200-home,.fv143-simple-hero,.fv-comp-hero,.fvj-hero,.fv154-participate,.fvj-participate,
.contact-hero,.hero-dark,.club-hero,.competition-hero{
  background:
    radial-gradient(circle at 85% 18%, rgba(134,209,17,.18), transparent 24%),
    radial-gradient(circle at 10% 100%, rgba(134,209,17,.12), transparent 20%),
    linear-gradient(118deg, #071722 0%, #0a2133 50%, #0f3042 100%) !important;
  color:#fff!important;
  border:1px solid rgba(105,138,158,.3)!important;
  box-shadow:0 24px 60px rgba(3,14,24,.22)!important;
}
.fv200-home *, .fv143-simple-hero *, .fv-comp-hero *, .fvj-hero *, .fv154-participate *, .fvj-participate * { color:inherit; }
.fv200-home p,.fv143-simple-hero p,.fv-comp-hero p,.fvj-hero p,.fv154-participate p,.fvj-participate p{color:#d2dde4!important}
.fv-pill,.pill,.kicker,.news-date,.news-date-badge,.club-tag,.fv143-kicker,.fv161-version{
  background:var(--green-soft)!important;
  color:var(--green-dark)!important;
  border:1px solid rgba(134,209,17,.24)!important;
  border-radius:999px!important;
  padding:6px 12px!important;
  font-weight:900!important;
}

.btn,.menu a,.tabs a,.comp-nav a,.market-tabs-pro a,.team-tabs-pro a,
button,[type=submit],.fv200-more,.fv154-more,.fvj-back,.fv154-game-detail-link{
  border-radius:14px!important;
  font-weight:850!important;
  transition:all .18s ease!important;
}
.btn.primary,.btn-success,.fv200-more,.fv154-more,.fvpush-enable,.fvj-goal-minute,
.fvj-kickoff,.fv77-score,.score,.badge-score{
  background:linear-gradient(135deg,var(--green) 0%, #9fe31c 100%)!important;
  color:#10202a!important;
  border-color:transparent!important;
}
.btn:hover,.btn.primary:hover,button:hover,[type=submit]:hover,.fv154-more:hover,.fv200-more:hover{transform:translateY(-1px)!important;box-shadow:0 12px 20px rgba(134,209,17,.18)!important}
select,input,textarea{
  min-height:46px!important;
  border-radius:14px!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
textarea{min-height:150px!important}
select:focus,input:focus,textarea:focus,button:focus,a:focus{outline:3px solid rgba(134,209,17,.18)!important;outline-offset:1px}

/* Homepage */
.fv200-home{padding:34px!important;border-radius:28px!important;margin-top:22px!important}
.fv200-home h1,.fv200-home h2,.fv200-next-card h2,.fv200-panel h2{color:#fff!important}
.fv200-home .fv200-grid,.fv200-home .fv200-panels{gap:18px!important}
.fv200-next-card,.fv200-panel{padding:22px!important;border-radius:24px!important;background:rgba(7,22,34,.92)!important;border-color:rgba(120,149,167,.24)!important;box-shadow:0 22px 56px rgba(4,16,26,.18)!important}
.fv200-next-card header h2,.fv200-panel header h2,.fv200-panel h3,.fv200-next-card h3{color:#fff!important}
.fv200-next-card header a,.fv200-panel header a,.fv200-more{color:#9fe31c!important}
.fv200-panel select{background:#081a29!important;border-color:#29495c!important;color:#f5f8fa!important}
.fv200-results a,.fv200-table a,.fv200-clubs a,.fv154-table>div,.fv154-table a,.fv-game-card,.fv77-result-row{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(137,162,177,.16)!important;
  color:#eff5f8!important;
  box-shadow:none!important;
}
.fv200-results a:hover,.fv200-table a:hover,.fv200-clubs a:hover,.fv-game-card:hover,.fv77-result-row:hover{transform:translateY(-2px)!important;border-color:rgba(159,227,28,.4)!important;background:rgba(159,227,28,.08)!important}
.fv200-results strong,.fv200-table strong,.fv200-clubs strong,.fv-game-card strong,.fv77-result-row strong{color:#fff!important}
.fv200-results span,.fv200-table span,.fv200-clubs span,.fv-game-card small,.fv77-result-row small{color:#b7c7d2!important}
.fv200-table em,.fv200-results b,.fv77-score{font-size:1rem!important;font-weight:900!important}
.fv200-contribute{display:grid!important;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)!important;gap:18px!important;padding:24px!important;margin-top:18px!important;background:#fff!important;color:var(--text)!important}
.fv200-contribute p,.fv200-contribute small{color:var(--text-soft)!important}
.fv200-contribute .btn,.fv200-contribute a{min-height:50px!important}
.fv200-competitions{display:grid!important;gap:16px!important}
.fv200-competitions a{padding:18px!important;color:var(--text)!important;box-shadow:var(--shadow-soft)!important}
.fv200-competitions a:hover{border-color:#b6d97a!important;transform:translateY(-2px)!important}

/* Competitions / listings */
.fv143-simple-hero,.fv-comp-hero{padding:32px!important;border-radius:28px!important;margin-top:22px!important}
.fv143-title-row,.fv-comp-nav,.fv143-simple-nav{gap:12px!important}
.fv143-simple-nav a,.fv-comp-nav a,.tabs a,.market-tabs-pro a,.team-tabs-pro a{
  background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important;min-height:44px!important;padding:10px 16px!important
}
.fv143-simple-nav a.active,.fv-comp-nav a.active,.tabs a.active,.market-tabs-pro a.active,.team-tabs-pro a.active{
  background:linear-gradient(135deg,var(--green) 0%, #9fe31c 100%)!important;color:#10202a!important;border-color:transparent!important
}
.fv-series-layout,.fv63-grid,.fv154-portal-grid,.form-grid,.fv-teams-grid,.club-grid,.fvj-grid{gap:18px!important}
.fv-series-card,.fv-results-block,.fv-teams-block,.fv-table-wrap,.club-block-section,.fvj-card{padding:22px!important}
.fv-series-card-head,.fv77-results-head,.fv-section-head,.club-block-head,.fvj-head{align-items:center!important;margin-bottom:16px!important}
.fv-series-card-head h2,.fv77-results-head h2,.fv-section-head h2,.club-block-head h2,.fvj-head h2{font-size:clamp(1.45rem,2vw,2rem)!important;color:var(--text)!important}
.fv-round-games,.fv154-calendar-links,.fv154-participate-actions,.fvj-actions,.fvj-gallery,.fvj-related{gap:12px!important}
.fv-game-card,.fv77-result-row{padding:14px 16px!important;border-radius:18px!important}
.fv-game-team,.fv77-team,.fv-team-cell,.fvj-related-team span{font-size:1rem!important;font-weight:800!important;line-height:1.2!important;color:inherit!important}
.fv-game-time,.fv-round-date,.fv-game-field,.fvj-related-centre small,.fv77-result-round{font-size:.86rem!important;color:var(--text-soft)!important}
.fv-before-start,.status,.fvj-status,.match-status{border-radius:999px!important;padding:7px 12px!important;font-weight:900!important}
.fvj-status.finished{color:#e6ffd2!important}
.fv-table,.fv154-table,.standings-table{border-radius:20px!important;overflow:hidden!important;border:1px solid var(--line)!important;background:#fff!important}
.fv-table table,.standings-table table,table{width:100%;border-collapse:collapse}
.fv-table th,.standings-table th,th{background:#f5f9fb!important;color:#425566!important;font-weight:850!important;font-size:.85rem!important}
.fv-table th,.fv-table td,.standings-table th,.standings-table td,th,td{padding:14px 12px!important;border-bottom:1px solid #edf2f5!important}
.fv-table tbody tr:hover,.standings-table tbody tr:hover,tbody tr:hover{background:#f7fbf1!important}
.fv-table tbody tr.is-viseu,.standings-table tbody tr.is-viseu,.fv154-table a.is-viseu,.fv200-table a.is-viseu{background:linear-gradient(90deg, rgba(134,209,17,.12), rgba(255,255,255,0))!important}

/* Clubs and news */
.fv-team-card,.club-card,.club-stat-card,.news-card,.article-card{padding:18px!important}
.fv-team-card:hover,.club-card:hover,.news-card:hover{transform:translateY(-2px)!important;border-color:#b4d87a!important}
.club-tag{font-size:.72rem!important}
.club-stat-card{background:linear-gradient(135deg,#fff 0%,#f7fbfc 100%)!important;color:var(--text)!important}
.club-stat-card strong,.club-stat-card b{color:var(--text)!important;font-size:clamp(1.5rem,2vw,2rem)!important}

/* Match page */
.fvj-wrap{padding-top:22px!important;padding-bottom:56px!important}
.fvj-back{background:#fff!important;color:var(--text)!important;border:1px solid var(--line)!important}
.fvj-back:hover{border-color:#b5d77b!important;color:var(--green-dark)!important}
.fvj-hero{border-radius:30px!important;overflow:hidden!important}
.fvj-match-strip{background:rgba(4,17,27,.75)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.fvj-club-logo{background:#fff!important;border-color:#fff!important}
.fvj-card{background:#fff!important}
.fvj-goal{background:#f8fbfc!important;border:1px solid #e8eff4!important;color:var(--text)!important}
.fvj-goal strong,.fvj-card h2,.fvj-card h3{color:var(--text)!important}
.fvj-goal small,.fvj-empty,.fvj-related-centre small{color:var(--text-soft)!important}
.fvj-empty{background:#f7fafb!important;border-color:#d6e1e9!important}
.fvj-related-card{background:#fff!important}
.fvj-participate{padding:26px!important;border-radius:26px!important}
.fvj-action{background:#fff!important;color:var(--text)!important}
.fvj-action strong{font-size:.98rem!important;color:var(--text)!important}
.fvj-action small{font-size:.82rem!important;color:var(--text-soft)!important}
.fvj-stadium{background:rgba(255,255,255,.08)!important;color:#dfe8ee!important;border-color:rgba(255,255,255,.14)!important}

/* Footer */
.fv63-footer{margin-top:34px!important;background:linear-gradient(135deg,#071722 0%,#0a2132 45%,#102f42 100%)!important;border-top:3px solid rgba(134,209,17,.7)!important;color:#eaf1f4!important}
.fv63-grid{padding:28px 0 18px!important}
.fv63-grid>.fv124-selector,.fv63-col{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.11)!important;box-shadow:none!important}
.fv63-col strong,.fv63-col a,.fv63-bottom-copy,.fv63-bottom-copy small{color:#eaf1f4!important}
.fv63-col a:hover{background:rgba(159,227,28,.10)!important}
.fv63-socials a{background:#fff!important;color:#10202a!important;border-radius:16px!important;box-shadow:none!important}
.fv63-socials a:hover{transform:translateY(-2px)!important}
.fv63-bottom{border-top:1px solid rgba(255,255,255,.10)!important;padding-bottom:24px!important}
.fv116-social-inline,.fv116-social-inline *{color:#fff!important}

/* Notification panel */
.fvpush-bell{background:linear-gradient(135deg,var(--green) 0%, #9fe31c 100%)!important;color:#0d1c28!important;border-color:#fff!important}
.fvpush-head{background:linear-gradient(135deg,#0a2132 0%, #123248 100%)!important;border-bottom-color:#89d41d!important}
.fvpush-panel{border-radius:24px!important}
.fvpush-team[aria-pressed="true"],.fvpush-item:hover{background:#f6fbec!important}

/* Admin / forms */
.admin-section,.admin-stat,.admin-list-item{background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:var(--shadow-soft)!important}
.notice.ok{background:#eef8de!important;border-color:#cfe7ab!important;color:#315f09!important}
.notice.err,.danger{background:#fff1f1!important;border-color:#f0c7c7!important;color:#a42b2b!important}

/* Generic dark blocks currently too dark */
[class*="hero"] .muted,[class*="hero"] .lead,[class*="hero"] p{color:#d2dde4!important}
[class*="hero"] .btn:not(.primary){background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}

/* Mobile */
@media (max-width: 1024px){
  .wrap,.container,.site-footer,.nav,.fv63-wrap,.fv-wrap,.page-wrap,.fvj-wrap{width:calc(100% - 22px)!important}
  .fv200-contribute{grid-template-columns:1fr!important}
}
@media (max-width: 780px){
  body{font-size:15px!important}
  h1{font-size:clamp(1.8rem,7vw,2.7rem)!important}
  h2{font-size:clamp(1.45rem,5.8vw,2rem)!important}
  .fv200-home,.fv143-simple-hero,.fv-comp-hero,.fvj-hero,.fv154-participate,.fvj-participate{padding:22px!important;border-radius:22px!important}
  .card,.box,.info-card,.fvj-card,.fv154-table-card,.fv200-panel,.fv200-next-card,.fv-series-card,.fv-table-wrap,.fv-results-block,.fv-teams-block,.club-block-section,.admin-section,.fv-footer-card,.fv63-grid>.fv124-selector,.fv200-contribute{padding:16px!important;border-radius:18px!important}
  .fv-team-card,.fv-game-card,.fv77-result-row,.fvj-action,.fvj-related-card,.fvc-action{padding:14px!important}
  .fv154-participate-actions,.fvj-actions,.fvj-gallery,.fvj-related,.form-grid,.fv-teams-grid{grid-template-columns:1fr!important}
  .fv-table th,.fv-table td,.standings-table th,.standings-table td,th,td{padding:11px 8px!important;font-size:.88rem!important}
  .fv-game-team,.fv77-team,.fv-team-cell,.fvj-related-team span{font-size:.95rem!important}
}
@media (max-width: 480px){
  .wrap,.container,.site-footer,.nav,.fv63-wrap,.fv-wrap,.page-wrap,.fvj-wrap{width:calc(100% - 14px)!important}
  .btn,.menu a,.tabs a,.comp-nav a,.market-tabs-pro a,.team-tabs-pro a,button,[type=submit]{min-height:42px!important;padding:10px 14px!important}
  select,input,textarea{min-height:42px!important}
}
