@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root{
  --blue:#003976;--blue-dark:#002b5c;--orange:#ff5100;--green:#14752a;--green-dark:#075222;--green-deep:#044b12;
  --yellow:#f7d801;--white:#fff;--text:#07340f;--muted:#315631;--border:#dbe8d9;--danger:#b3261e;--success:#0f7b35;
  --shadow:0 22px 52px rgba(0,0,0,.38);--radius-lg:30px;--radius-sm:12px;
}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{min-height:100%;margin:0;font-family:'Montserrat',Arial,Helvetica,sans-serif;color:var(--text);
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.04) 42%,rgba(0,0,0,.20)),url('/assets/img/stadium-bg.jpg') center center/cover fixed no-repeat}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at center 25%,rgba(255,255,255,.08),transparent 28%);pointer-events:none}
a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}
.wrap{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:34px 0 56px}

/* HERO */
.hero.hero-copa{width:min(800px,100%);margin:0 auto 34px;padding:0;text-align:center;overflow:visible}
.hero-yellow-card{position:relative;width:100%;min-height:360px;margin:0 auto;padding:0 16px 54px;border-radius:var(--radius-lg);background:var(--yellow);border:3px solid var(--green);box-shadow:var(--shadow);overflow:visible;display:flex;align-items:flex-end;justify-content:center}
/* =====================================================
   HERO COPA NEW AGE
   ===================================================== */

.hero.hero-copa{
    width:min(800px,100%);
    margin:150px auto 34px;
    padding:0;
}

.hero-yellow-card{
    position:relative;

    width:100%;
    height:300px;

    background:var(--yellow);

    border:3px solid #14752a;
    border-radius:30px;

    box-shadow:0 22px 52px rgba(0,0,0,.38);

    overflow:visible;
}

/* ARTE PRINCIPAL */

.marca-copa{
    position:absolute;

    width:min(1031px,120%);

    left:50%;
    top:-160px;

    transform:translateX(-50%);

    z-index:10;

    pointer-events:none;

    filter:drop-shadow(
        0 20px 30px rgba(0,0,0,.25)
    );
}

/* FORM */
.main-card{
    width:min(800px,100%);
    margin:0 auto;
    padding:0 0 32px;
    border-radius:var(--radius-lg);
    background:var(--yellow);
    border:3px solid var(--green);
    box-shadow:var(--shadow);
    overflow:hidden
    
}
.main-card>.section-title{display:block;width:calc(100% - 18px);margin:8px auto 25px;padding:20px 22px;border-radius:22px 22px 14px 14px;color:#fff;background:linear-gradient(180deg,#1e8427,var(--green));border:3px solid rgba(255,221,0,.95);box-shadow:inset 0 -4px 0 rgba(0,0,0,.08);font-size:clamp(18px,3vw,24px);font-weight:900;line-height:1.14;text-align:center;letter-spacing:-.3px;text-transform:uppercase}
#copaForm{padding:0 clamp(18px,4vw,36px)}
.form-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:flex;flex-direction:column;gap:7px;text-align:left}.field.full{grid-column:1/-1}
.field label{color:var(--green-deep);font-size:13px;font-weight:900;letter-spacing:.2px;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;color:var(--text);background:rgba(255,255,255,.96);border:2px solid rgba(0,57,118,.18);border-radius:var(--radius-sm);outline:none;font-size:15px;font-weight:700;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(20,117,42,.18)}
.help,.small,.teams-description,.teams-note{color:var(--muted);font-size:13px;font-weight:700;line-height:1.4}.help.ok{color:var(--success)}.help.err,.help.error{color:var(--danger)}
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;opacity:0!important;pointer-events:none!important}
.teams-section{margin-top:28px;padding-top:24px;border-top:2px dashed rgba(7,71,19,.34)}
.teams-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.teams-title{margin:0 0 4px;color:var(--green-deep);font-size:22px;font-weight:900;text-transform:uppercase}.teams-description{margin:0}
.counter,#counter{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border-radius:999px;color:#fff;background:var(--green);border:2px solid rgba(255,255,255,.45);font-size:13px;font-weight:900;white-space:nowrap}
.teams-grid,#teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.team{position:relative;display:flex;align-items:center;gap:9px;min-height:52px;padding:10px 12px;border-radius:14px;border:2px solid rgba(7,71,19,.18);background:rgba(255,255,255,.96);color:var(--text);font-size:14px;font-weight:850;line-height:1.15;cursor:pointer;user-select:none;transition:opacity .18s ease,filter .18s ease,transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}
.team input{position:absolute;opacity:0;pointer-events:none}.team .flag{flex:0 0 auto;font-size:23px;line-height:1}
.team:hover{transform:translateY(-2px);border-color:var(--green);box-shadow:0 8px 18px rgba(0,0,0,.13)}
.team.selected{color:#fff;background:linear-gradient(135deg,var(--green-dark),var(--green));border-color:#fff;box-shadow:0 8px 18px rgba(7,71,19,.28)}
.team.locked{color:#fff;background:linear-gradient(135deg,#0b6d27,#1b8a35);border-color:#fff;cursor:default;box-shadow:0 8px 18px rgba(7,71,19,.28)}
/* .team.locked::after{content:"Obrigatório";margin-left:auto;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;font-size:8px;font-weight:900;text-transform:uppercase} */
.team.disabled,.team.team-limit-disabled,#teams .team.disabled,#teams .team.team-limit-disabled{background:rgba(255,255,255,.96)!important;color:#7a837a!important;border-color:#d6d6d6!important;opacity:.42!important;filter:grayscale(1)!important;pointer-events:none!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}
.team.selected.disabled,.team.locked.disabled{opacity:1!important;filter:none!important;pointer-events:auto!important}.teams-note{margin:12px 0 0}
.actions{margin-top:26px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 28px;border:0;border-radius:999px;color:#fff;background:var(--blue);box-shadow:0 10px 20px rgba(0,57,118,.24);font-size:15px;font-weight:900;letter-spacing:.2px;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,background .18s ease,opacity .18s ease,box-shadow .18s ease}
.btn:hover{background:var(--blue-dark);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn.secondary{color:var(--green);background:#eef7ee;border:2px solid rgba(20,117,42,.25);box-shadow:none}
.alert{margin:16px 0;padding:13px 15px;border-radius:14px;font-size:14px;font-weight:800;line-height:1.35;text-align:left}.alert.ok{color:#0a5f2a;background:#e8f7ed;border:1px solid #bfe8ca}.alert.err,.alert.error{color:#8f1d17;background:#ffebe8;border:1px solid #ffc7c1}

/* Obrigado e admin */
.thanks-card,.verify-box{width:min(800px,100%);margin:0 auto;padding:clamp(22px,4vw,36px);border-radius:var(--radius-lg);background:var(--yellow);border:3px solid var(--green);box-shadow:var(--shadow);text-align:center}
.thanks-title{width:calc(100% - 18px);margin:0 auto 22px;padding:18px 20px;border-radius:22px 22px 14px 14px;color:#fff;background:linear-gradient(180deg,#1e8427,var(--green));border:3px solid rgba(255,221,0,.95);font-size:clamp(24px,3.5vw,38px);font-weight:900;line-height:1.1;text-transform:uppercase;text-align:center}
.thanks-message{color:var(--green-deep);font-size:clamp(18px,2.4vw,26px);font-weight:900;line-height:1.3;text-transform:uppercase}.thanks-small{color:#285026;font-size:16px;font-weight:750;line-height:1.6;margin-top:18px}
.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}th,td{padding:12px 10px;border-bottom:1px solid #e6efe6;font-size:13px;text-align:left;vertical-align:top}th{color:#fff;background:var(--green);font-weight:900;text-transform:uppercase}
.dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.dashboard-card{padding:18px;border-radius:18px;background:#f7fbf7;border:1px solid #dce9dc}.dashboard-card span{display:block;color:#516151;font-size:13px;font-weight:800;text-transform:uppercase}.dashboard-card strong{display:block;margin-top:8px;color:var(--blue);font-size:34px;font-weight:900}.dashboard-card.ok strong{color:#0f7b35}.dashboard-card.pending strong{color:#b87800}

@media(max-width:860px){.form-grid,.settings-grid{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.hero-yellow-card{min-height:310px}.horn{opacity:.88;transform:scale(.86) rotate(-13deg)}.horn-right{transform:scaleX(-1) scale(.86) rotate(-13deg)}.campaign-badge{font-size:15px}}
@media(max-width:520px){.teams-grid,#teams,.dashboard-cards{grid-template-columns:1fr}}
@media (max-width:760px) {
  .marca-copa {
    width: 110% !important;
    max-width: none !important;
    height: auto !important;
    top: -25px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .hero-yellow-card {
    min-height: 190px !important;
    height: 190px !important;
    padding-bottom: 0 !important;
  }

  .hero.hero-copa {
    margin-top: 10px !important;
    margin-bottom: 22px !important;
  }
}
.logo{
    display:block;
    width:80%;
    max-width:260px;
    height:auto;
    margin:0 auto 20px;
}

.flag {
  width: 1.35em;
  height: 1.35em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.45em;
  flex: 0 0 1.35em;
  vertical-align: middle;
}

.flag-emoji {
  font-size: 1.25em;
  line-height: 1;
}

.flag-img {
  object-fit: cover;
  border-radius: 2px;
}
.reg-actions{
    position: relative;
    margin-top:5px;
    margin-bottom:15px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.reg-actions .btn{
    min-width:220px;
}

@media(max-width:600px){
    .reg-actions{
        flex-direction:column;
        gap:10px;
    }

    .reg-actions .btn{
        width:100%;
        min-width:0;
    }
}
