/* FIT 2026 — Clean responsive stylesheet
   Upload to: public_html/friendshiptournament.com/assets/style.css
   Cleaned to remove repeated/conflicting blocks and keep one source of truth.
*/

/* =========================
   1. Design tokens / base
   ========================= */

:root{
  --navy:#071a3d;
  --navy-2:#0a2d63;
  --blue:#1557a4;
  --sky:#eaf4ff;
  --gold:#d99a16;
  --gold-2:#f5c451;
  --ink:#0c1f3e;
  --muted:#64748b;
  --line:#dbe6f4;
  --paper:#ffffff;
  --soft:#f4f7fb;
  --success:#087443;
  --danger:#b42318;
  --radius:22px;
  --shadow:0 18px 48px rgba(7,26,61,.13);
  --shadow-soft:0 10px 28px rgba(7,26,61,.08);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
  font-weight:400;
  color:var(--ink);
  background:
    radial-gradient(circle at 0 0,rgba(245,196,81,.14),transparent 32rem),
    radial-gradient(circle at 100% 0,rgba(21,87,164,.10),transparent 34rem),
    linear-gradient(180deg,#f9fcff 0%,#f2f6fb 48%,#edf3fa 100%);
}

img{
  max-width:100%;
  height:auto;
}

a{color:inherit}

.wrap{
  width:min(1160px,calc(100% - 32px));
  margin-inline:auto;
}

h1,h2,h3,h4,h5,h6{
  font-weight:650;
  letter-spacing:-.02em;
}

/* =========================
   2. Header / navigation
   ========================= */

.top{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(7,26,61,.94);
  backdrop-filter:blur(5px);
  border-bottom:1px solid rgba(245,196,81,.45);
  box-shadow:0 10px 32px rgba(3,12,30,.22);
}

.nav{
  min-height:72px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  position:relative;
}

.brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  font-weight:650;
  letter-spacing:.01em;
  font-size:16px;
  white-space:nowrap;
}

.brand:before{
  content:none !important;
  display:none !important;
}

.brand-logo{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
  border-radius:10px;
}

.brand-text{
  display:block;
  line-height:1.1;
  font-size:15px;
  font-weight:600;
}

.menu-toggle{display:none}

.menu-button{
  display:none;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.menu-button span,
.menu-button span:before,
.menu-button span:after{
  content:"";
  display:block;
  width:21px;
  height:2px;
  border-radius:99px;
  background:#fff;
  transition:.2s ease;
}

.menu-button span:before{transform:translateY(-7px)}
.menu-button span:after{transform:translateY(5px)}

nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
  min-width:0;
}

nav a{
  text-decoration:none;
  color:#eef6ff;
  font-weight:600;
  font-size:13px;
  padding:9px 11px;
  border-radius:999px;
  transition:.18s ease;
  white-space:nowrap;
}

nav a:hover,
nav a:first-child{
  color:#fff;
  background:rgba(255,255,255,.09);
}

nav a:first-child{
  box-shadow:inset 0 -2px 0 var(--gold-2);
}

.lang select{
  width:auto;
  max-width:120px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-weight:650;
  outline:none;
}

.lang option{
  color:var(--ink);
  background:#fff;
}

/* =========================
   3. Layout / alerts
   ========================= */

main.wrap{
  padding-block:22px 44px;
}

.alert{
  padding:14px 16px;
  border-radius:18px;
  margin-bottom:18px;
  background:#eafbf2;
  border:1px solid #b8edcf;
  color:#075c37;
  font-weight:700;
}

.alert.error{
  background:#fff0f0;
  border-color:#ffd0d0;
  color:#8d1a14;
}

/* =========================
   4. Hero
   ========================= */

.tournament-hero{
  position:relative;
  overflow:hidden;
  min-height:clamp(500px,62vw,660px);
  border-radius:30px;
  box-shadow:var(--shadow);
  color:#fff;
  display:grid;
  align-items:end;
  padding:clamp(18px,4vw,42px);
  background:
    linear-gradient(180deg,rgba(7,26,61,.18) 0%,rgba(7,26,61,.30) 42%,rgba(7,26,61,.82) 100%),
    url("img/fit-prizren-hero.png") center/cover no-repeat,
    linear-gradient(135deg,#bde2ff,#eef7ff 45%,#1d6a43 46%,#0d442d);
}

.tournament-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.20),transparent 18rem),
    linear-gradient(90deg,rgba(7,26,61,.56),transparent 56%);
  pointer-events:none;
}

.hero-panel{
  position:relative;
  z-index:1;
  width:min(680px,100%);
  padding:clamp(18px,3.2vw,30px);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(7,26,61,.56),rgba(7,26,61,.58));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 46px rgba(0,0,0,.22);
  backdrop-filter:blur(1px);
}

.eyebrow,
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  color:#ffe29a;
  background:rgba(245,196,81,.12);
  border:1px solid rgba(245,196,81,.34);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:700;
}

.tournament-hero h1{
  margin:14px 0 10px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:14px;
  font-size:clamp(28px,5vw,52px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-.04em;
  text-transform:uppercase;
  text-shadow:0 6px 22px rgba(0,0,0,.35);
}

.fit-mark{
  font-size:clamp(62px,11vw,110px);
  line-height:.8;
  letter-spacing:-.07em;
  background:linear-gradient(180deg,#fff6b8,#f1bd3a 52%,#a96e0b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 5px 0 rgba(101,60,0,.28));
}

.title-ribbon{
  display:inline-block;
  max-width:100%;
  margin:4px 0 14px;
  padding:10px 14px;
  background:linear-gradient(90deg,#08285a,#12448e);
  border-left:6px solid var(--gold-2);
  border-radius:0 12px 12px 0;
  font-weight:650;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.translations{
  display:grid;
  gap:7px;
  margin:8px 0 16px;
  color:#f7fbff;
  font-weight:650;
  line-height:1.35;
}

.hero-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}

.hero-meta div{
  padding:13px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
}

.hero-meta strong{
  display:block;
  color:#fff;
  font-size:clamp(15px,2vw,18px);
  font-weight:650;
}

.hero-meta span{
  display:block;
  margin-top:5px;
  color:#dce8f7;
  font-weight:500;
  line-height:1.35;
}

.subtitle{
  margin:12px 0 0;
  max-width:66ch;
  color:#eef6ff;
  line-height:1.6;
  font-size:clamp(15px,2vw,17px);
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.hero-trophy{display:none}

.slogan{
  margin-top:14px;
  display:inline-block;
  padding:10px 18px;
  border-radius:14px;
  border:1px solid rgba(245,196,81,.55);
  color:#ffd96d;
  font-family:Georgia,serif;
  font-size:clamp(18px,3vw,23px);
  font-style:italic;
  font-weight:700;
  background:rgba(7,26,61,.66);
}

/* =========================
   5. Buttons
   ========================= */

.button,
button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  border:0;
  border-radius:12px;
  padding:10px 15px;
  text-decoration:none;
  cursor:pointer;
  font-weight:700;
  font-size:14px;
  transition:.18s ease;
}

.button:hover,
button:hover{
  transform:translateY(-2px);
}

.button.primary,
.primary{
  color:#071a3d;
  background:linear-gradient(180deg,#ffd96b,#e3a21a);
  box-shadow:0 12px 24px rgba(217,154,22,.24);
  text-transform:uppercase;
}

.button.dark{
  color:#fff;
  background:linear-gradient(180deg,#123d7a,#071f47);
  border:1px solid rgba(255,255,255,.16);
}

.button.small{
  min-height:38px;
  padding:9px 12px;
  font-size:13px;
  margin-top:12px;
}

.danger{
  background:linear-gradient(180deg,#e5483f,#b42318);
  color:#fff;
}

/* =========================
   6. Event strip / cards
   ========================= */

.event-strip{
  margin:18px 0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}

.event-strip div{
  min-height:104px;
  padding:18px;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(160deg,var(--navy-2),var(--navy));
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
}

.event-strip div:after{
  content:"";
  position:absolute;
  right:-24px;
  top:-26px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(245,196,81,.15);
}

.event-strip strong{
  display:block;
  color:#ffd66d;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.event-strip span{
  display:block;
  margin-top:7px;
  font-weight:650;
  line-height:1.32;
}

.card{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(219,230,244,.95);
  border-radius:var(--radius);
  padding:clamp(18px,3vw,26px);
  margin-bottom:18px;
  box-shadow:var(--shadow-soft);
}

.card h1,
.card h2{
  margin:0 0 12px;
  color:#08204a;
  text-transform:none;
  letter-spacing:-.01em;
  line-height:1.2;
}

.card h1{
  font-size:26px;
  font-weight:600;
}

.card h2{
  font-size:22px;
  font-weight:600;
}

.card h1:after,
.card h2:after{
  content:"";
  display:block;
  width:48px;
  height:4px;
  border-radius:99px;
  margin-top:10px;
  background:var(--gold);
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
}

.section-lead{
  color:#425a78;
  max-width:780px;
  line-height:1.65;
}

.cards2,
.cards3{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.cards3{
  grid-template-columns:repeat(3,1fr);
}

.feature-card{
  min-height:230px;
  position:relative;
  overflow:hidden;
}

.feature-card:after{
  content:"⚽";
  position:absolute;
  right:16px;
  bottom:4px;
  font-size:86px;
  opacity:.06;
}

.feature-card p{
  line-height:1.65;
  color:#2e405d;
}

/* =========================
   7. Forms
   ========================= */

.gridform{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:end;
}

label{
  display:block;
  font-weight:650;
  color:#263854;
  line-height:1.3;
}

input,
textarea,
select{
  width:100%;
  margin-top:7px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  outline:none;
  font:inherit;
  box-shadow:0 1px 0 rgba(7,26,61,.03);
}

input:focus,
textarea:focus,
select:focus{
  border-color:#5b94d6;
  box-shadow:0 0 0 4px rgba(21,87,164,.12);
}

.gridform .wide{
  grid-column:1/-1;
}

.checkbox-line{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.checkbox-line input{
  width:auto;
  margin:0;
}

/* DOB split fields */
.dob-group>span{
  display:block;
  font-weight:650;
  color:#263854;
  margin-bottom:7px;
}

.dob-inputs{
  display:grid;
  grid-template-columns:1fr 1fr 1.25fr;
  gap:8px;
}

.dob-inputs label{
  font-size:12px;
  color:#64748b;
}

.dob-inputs input{
  margin-top:4px;
}

/* =========================
   8. Tables / utilities
   ========================= */

.split{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
}

.tablewrap{
  overflow:auto;
  border-radius:18px;
  border:1px solid var(--line);
  -webkit-overflow-scrolling:touch;
}

table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  min-width:720px;
}

th,
td{
  padding:14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}

th{
  background:#f3f7fd;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:12px;
  color:#34506d;
}

.avatar{
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  max-width:62px !important;
  min-height:62px !important;
  max-height:62px !important;
  object-fit:cover !important;
  object-position:center center;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  display:block;
}

.muted{color:var(--muted)}

details summary{
  cursor:pointer;
  font-weight:700;
  color:var(--blue);
}

/* =========================
   9. Teams / players
   ========================= */

.teamgrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:14px;
}

.teamtile{
  border:1px solid var(--line);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  display:flex;
  flex-direction:column;
  gap:9px;
  min-height:168px;
  box-shadow:0 9px 22px rgba(7,26,61,.06);
  transition:.18s ease;
}

.teamtile:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(7,26,61,.12);
}

.teamtile img,
.team-placeholder{
  width:78px;
  height:78px;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
  border:1px solid #e5edf7;
}

.team-placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#082a5f,#0d4f9a);
  color:#ffd96d;
  font-weight:700;
  font-size:22px;
}

.teamtile strong{font-size:18px}
.teamtile span{color:var(--muted);font-weight:600}

.players-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px;
}

.player-card{
  display:grid;
  grid-template-columns:72px 1fr auto;
  align-items:center;
  gap:14px;
  text-decoration:none;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 8px 20px rgba(7,26,61,.06);
  transition:.18s ease;
}

.player-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(7,26,61,.11);
}

.player-card .player-photo,
.players-grid .player-photo,
.player-card img.player-photo{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  object-fit:cover !important;
  object-position:center center;
  display:block;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
}

.player-card .dummy-player,
.players-grid .dummy-player{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  display:grid;
  place-items:center;
  font-size:34px;
  background:linear-gradient(145deg,#eaf4ff,#ffffff);
  color:#8aa0bd;
}

.player-card strong{
  display:block;
  font-size:17px;
  color:var(--ink);
}

.player-card span,
.player-card small{
  display:block;
  color:var(--muted);
  font-weight:600;
  margin-top:3px;
}

.player-card em{
  color:var(--blue);
  font-style:normal;
  font-weight:700;
  font-size:13px;
}

/* =========================
   10. Tournament center
   ========================= */

.steps-mini{
  counter-reset:step;
  list-style:none;
  padding:0;
  margin:10px 0 0;
  display:grid;
  gap:12px;
}

.steps-mini li{
  position:relative;
  padding:12px 12px 12px 50px;
  border-radius:16px;
  background:#f7faff;
  border:1px solid var(--line);
  font-weight:650;
}

.steps-mini li:before{
  counter-increment:step;
  content:counter(step);
  position:absolute;
  left:12px;
  top:9px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:#061b3d;
  font-weight:700;
}

.flag-list{
  list-style:none;
  padding:0;
  margin:8px 0 0;
  display:grid;
  gap:8px;
}

.flag-list li{
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-weight:650;
}

.pill{
  display:inline-flex;
  align-items:center;
  padding:6px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}

.pill.pending{background:#fff5dc;color:#875a00}
.pill.approved{background:#e9fff3;color:var(--success)}
.pill.rejected{background:#fff0f0;color:#a11d16}

.inlineform{
  display:grid;
  gap:9px;
  min-width:230px;
}

.winner-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffd96b,#e3a21a);
  color:#071a3d;
  font-weight:700;
  box-shadow:0 12px 24px rgba(217,154,22,.22);
}

.group-box{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 16px;
  background:#f8fbff;
  margin-bottom:12px;
}

.group-box strong{
  display:block;
  color:#08204a;
  margin-bottom:8px;
}

.group-box ul{
  margin:0;
  padding-left:20px;
}

.scorer-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.scorer-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}

.scorer-list span{font-weight:650}

.scorer-list small{
  display:block;
  color:var(--muted);
  font-weight:600;
  margin-top:3px;
}

.scorer-list strong{
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  border-radius:50%;
  background:var(--gold);
  color:#071a3d;
}

.matches-list{
  display:grid;
  gap:12px;
}

.match-card{
  display:grid;
  grid-template-columns:1fr minmax(220px,.42fr);
  gap:18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 20px rgba(7,26,61,.05);
}

.match-card small,
.match-card em{
  display:block;
  color:var(--muted);
  font-style:normal;
  font-weight:600;
}

.match-card strong{
  display:block;
  margin:8px 0;
  font-size:clamp(18px,2.5vw,24px);
  color:#08204a;
}

.match-card strong span{
  display:inline-block;
  margin:0 8px;
  padding:6px 10px;
  border-radius:12px;
  background:#f4f7fb;
  color:#071a3d;
}

.match-card p{
  margin:0;
  color:#354967;
  line-height:1.55;
}

.edit-match-btn{
  width:auto;
  margin:8px 0 10px;
}

.video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  margin-top:12px;
  overflow:hidden;
  border-radius:16px;
  background:#071a3d;
  box-shadow:0 10px 24px rgba(7,26,61,.16);
}

.video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.admin-tools .card{
  min-height:0;
}

/* Referees */
.referee-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
}

.referee-card{
  padding:15px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 8px 20px rgba(7,26,61,.05);
}

.referee-card strong{
  display:block;
  color:#08204a;
  font-size:17px;
}

.referee-card span,
.referee-card small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-weight:600;
}

/* =========================
   11. Social share buttons
   ========================= */

.share-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:10px 0 14px;
}

.share-btn,
.native-share,
.wa-share,
.fb-share,
.viber-share,
.copy-share{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(100,116,139,.22) !important;
  background:rgba(255,255,255,.62) !important;
  color:#526174 !important;
  box-shadow:none !important;
  font-size:12px;
  font-weight:650;
  letter-spacing:.01em;
  text-decoration:none;
  cursor:pointer;
  backdrop-filter:blur(1px);
}

.share-btn:hover,
.native-share:hover,
.wa-share:hover,
.fb-share:hover,
.viber-share:hover,
.copy-share:hover{
  background:#fff !important;
  color:#0b2d62 !important;
  border-color:rgba(21,87,164,.28) !important;
  transform:translateY(-1px);
}

.match-card .share-row{
  margin-top:10px;
  padding-top:8px;
  border-top:1px dashed rgba(100,116,139,.22);
}

/* =========================
   12. Footer
   ========================= */

footer{
  border-top:3px solid var(--gold);
  padding:24px 0;
  color:#dbe7f5;
  background:linear-gradient(90deg,var(--navy),#082a5f,var(--navy));
  font-weight:600;
}

/* =========================
   13. Responsive
   ========================= */

@media(max-width:980px){
  .nav{
    grid-template-columns:auto auto auto;
    justify-content:space-between;
  }

  .menu-button{
    display:flex;
    order:3;
  }

  .lang{
    order:2;
    margin-left:auto;
  }

  nav{
    display:none;
    position:absolute;
    top:calc(100% + 1px);
    left:0;
    right:0;
    padding:12px;
    border-radius:0 0 20px 20px;
    background:rgba(7,26,61,.98);
    box-shadow:0 18px 38px rgba(0,0,0,.25);
    flex-direction:column;
    align-items:stretch;
  }

  nav a{
    border-radius:14px;
    padding:13px 14px;
  }

  .menu-toggle:checked ~ nav{
    display:flex;
  }

  .event-strip,
  .cards3{
    grid-template-columns:1fr 1fr;
  }

  .gridform{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .wrap{
    width:min(100% - 22px,1160px);
  }

  main.wrap{
    padding-top:14px;
  }

  .nav{
    min-height:64px;
    gap:10px;
  }

  .brand{
    max-width:calc(100vw - 150px);
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:14px;
  }

  .brand-logo{
    width:40px;
    height:40px;
    border-radius:10px;
  }

  .brand-text{
    font-size:13px;
  }

  .menu-button{
    width:42px;
    height:42px;
  }

  .lang select{
    max-width:72px;
    padding:9px 8px;
  }

  .tournament-hero{
    min-height:600px;
    border-radius:22px;
    padding:12px;
    background-position:95% top;
  }

  .tournament-hero:before{
    background:
      linear-gradient(180deg,rgba(7,26,61,.16) 0%,rgba(7,26,61,.36) 42%,rgba(7,26,61,.92) 100%);
  }

  .hero-panel{
    padding:16px;
    border-radius:20px;
    background:linear-gradient(180deg,rgba(7,26,61,.10),rgba(7,26,61,.20));
  }

  .eyebrow,
  .section-kicker{
    font-size:10px;
    letter-spacing:.10em;
  }

  .tournament-hero h1{
    grid-template-columns:1fr;
    gap:6px;
    font-size:clamp(29px,10.5vw,44px);
  }

  .fit-mark{
    font-size:clamp(72px,24vw,96px);
  }

  .title-ribbon{
    font-size:12px;
    line-height:1.35;
    padding:9px 11px;
  }

  .translations{
    font-size:13px;
  }

  .hero-meta,
  .event-strip,
  .cards2,
  .cards3,
  .gridform{
    grid-template-columns:1fr;
  }

  .hero-meta{
    gap:8px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .button,
  button{
    width:100%;
  }

  .event-strip div{
    min-height:auto;
  }

  .section-head,
  .split{
    align-items:flex-start;
    flex-direction:column;
  }

  .card{
    border-radius:18px;
  }

  .feature-card{
    min-height:0;
  }

  .teamgrid,
  .players-grid,
  .referee-grid{
    grid-template-columns:1fr;
  }

  .inlineform{
    min-width:0;
  }

  table{
    font-size:14px;
    min-width:680px;
  }

  .dob-inputs{
    grid-template-columns:1fr 1fr 1fr;
  }

  .player-card{
    grid-template-columns:64px 1fr;
    align-items:start;
  }

  .player-card em{
    grid-column:2;
  }

  .player-card .player-photo,
  .players-grid .player-photo,
  .player-card img.player-photo,
  .player-card .dummy-player,
  .players-grid .dummy-player{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }

  .match-card{
    grid-template-columns:1fr;
  }

  .edit-match-btn{
    width:100%;
  }

  .share-row,
  .match-card .share-row{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .share-btn,
  .native-share,
  .wa-share,
  .fb-share,
  .viber-share,
  .copy-share{
    width:100%;
  }
}

@media(max-width:380px){
  .wrap{
    width:min(100% - 16px,1160px);
  }

  .brand{
    font-size:13px;
  }

  .brand-text{
    font-size:12px;
  }

  .tournament-hero{
    min-height:630px;
  }

  .hero-panel{
    padding:14px;
  }

  .fit-mark{
    font-size:72px;
  }
}


/* Phase 9: goals are source of truth */
.match-goals{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fbff;
}

.match-goals > strong{
  display:block;
  margin-bottom:8px;
  color:#08204a;
  font-size:14px;
}

.match-goals ul{
  margin:0;
  padding-left:18px;
}

.match-goals li{
  margin:8px 0;
  line-height:1.4;
}

.match-goals small{
  display:block;
  color:var(--muted);
  font-weight:600;
}

.inline-delete-goal{
  display:inline-block;
  margin-top:6px;
}

.tiny-btn{
  min-height:28px;
  padding:5px 8px;
  border-radius:10px;
  font-size:11px;
  width:auto !important;
}

#add-goal .checkbox-line{
  align-self:end;
}


/* Phase 10: in-progress live match state */
.live-badge{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:#e43d30;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  vertical-align:middle;
  animation:fit-live-pulse 1.35s ease-in-out infinite;
}

@keyframes fit-live-pulse{
  0%,100%{opacity:1}
  50%{opacity:.62}
}

.match-card[id] strong span{
  white-space:nowrap;
}


/* Phase 11: public teams and players */
.public-team-grid{
  margin-bottom:24px;
}

.public-team-grid a,
.public-players-grid a{
  text-decoration:none;
}

.public-team-header,
.public-player-header{
  overflow:hidden;
}

.public-team-hero,
.public-player-layout{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:20px;
  align-items:center;
}

.public-team-logo{
  width:110px;
  height:110px;
  object-fit:contain;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}

.public-team-photo{
  width:100%;
  max-height:460px;
  object-fit:cover;
  border-radius:24px;
  margin-top:20px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}

.team-photo-manager{
  display:grid;
  grid-template-columns:minmax(180px,280px) 1fr;
  gap:18px;
  align-items:end;
  margin-top:16px;
}

.team-photo-preview{
  width:100%;
  height:170px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
}

.public-player-photo{
  width:150px;
  height:150px;
  object-fit:cover;
  border-radius:30px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-soft);
  display:grid;
  place-items:center;
  font-size:62px;
}

.player-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:10px;
  margin-top:18px;
}

.player-stat-grid div{
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fbff;
}

.player-stat-grid strong{
  display:block;
  color:#08204a;
  font-size:20px;
  line-height:1.1;
}

.player-stat-grid span{
  display:block;
  color:var(--muted);
  font-weight:600;
  font-size:12px;
  margin-top:5px;
}

.player-card{
  color:inherit;
}

.player-card-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
}

.public-stat-list{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
}

.public-stat-list li{
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.public-stat-list strong{
  display:block;
  color:#08204a;
}

.public-stat-list span{
  display:block;
  color:var(--muted);
  font-weight:600;
  margin-top:3px;
}

.delete-inline-form{
  margin-top:14px;
}

/* Keep mobile share buttons compact */
@media(max-width:700px){
  .share-row,
  .match-card .share-row{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin:8px 0 10px !important;
  }

  .share-btn,
  .native-share,
  .wa-share,
  .fb-share,
  .viber-share,
  .copy-share{
    width:auto !important;
    min-height:28px !important;
    padding:5px 9px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:600 !important;
    flex:0 0 auto !important;
  }

  .public-team-hero,
  .public-player-layout,
  .team-photo-manager{
    grid-template-columns:1fr;
  }

  .public-team-logo,
  .public-player-photo{
    width:110px;
    height:110px;
    border-radius:22px;
  }

  .player-card-actions{
    grid-column:1/-1;
    flex-direction:row;
    align-items:center;
  }

  .player-card-actions .button{
    width:auto;
  }

  .team-photo-preview{
    height:150px;
  }
}


/* Phase 12: assists and safer match workflow */
.match-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:10px;
}

.match-admin-actions form{
  margin:0;
}

.match-admin-actions .button,
.match-admin-actions button{
  width:auto;
  margin:0;
}

#goalAssistSelect:disabled{
  opacity:.55;
  cursor:not-allowed;
}

@media(max-width:700px){
  .match-admin-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .match-admin-actions .button,
  .match-admin-actions button{
    width:100% !important;
  }
}


/* Phase 13: awards */
.awards-hero{
  background:
    radial-gradient(circle at 15% 10%,rgba(245,196,81,.18),transparent 22rem),
    linear-gradient(180deg,#fff,#f8fbff);
}

.awards-grid .award-card{
  position:relative;
  overflow:hidden;
}

.award-card:after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-28px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(245,196,81,.12);
}

.award-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(180deg,#ffd96b,#e3a21a);
  box-shadow:0 10px 24px rgba(217,154,22,.20);
  font-size:28px;
  margin-bottom:14px;
}

.award-person{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:12px;
  align-items:center;
  margin:16px 0;
}

.award-person img,
.award-person .team-placeholder,
.award-person .player-photo,
.friend-avatar{
  width:70px !important;
  height:70px !important;
  border-radius:18px;
  object-fit:cover;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  place-items:center;
}

.friend-avatar{
  background:linear-gradient(145deg,#eaf4ff,#ffffff);
  font-size:32px;
}

.award-person strong{
  display:block;
  color:#08204a;
  font-size:18px;
}

.award-person span{
  display:block;
  color:var(--muted);
  font-weight:600;
  margin-top:4px;
}

.award-badge-on-player{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:8px 0 10px;
  padding:9px 13px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffd96b,#e3a21a);
  color:#071a3d;
  font-weight:800;
  box-shadow:0 10px 22px rgba(217,154,22,.22);
}

.award-note{
  padding:12px 14px;
  border-radius:16px;
  background:#fff8df;
  border:1px solid rgba(217,154,22,.28);
  color:#5d4210;
  line-height:1.55;
}

@media(max-width:700px){
  .award-person{
    grid-template-columns:58px 1fr;
  }

  .award-person img,
  .award-person .team-placeholder,
  .award-person .player-photo,
  .friend-avatar{
    width:58px !important;
    height:58px !important;
    border-radius:16px;
  }
}


/* Phase 14: homepage tournament summary */
.home-tournament-summary{
  margin:22px 0;
}

.home-tournament-summary .section-head{
  margin-bottom:16px;
}

.home-summary-grid{
  align-items:stretch;
}

.compact-summary-card{
  min-height:100%;
}

.compact-summary-card h2{
  margin-bottom:14px;
}

.mini-table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.mini-table{
  min-width:0;
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.mini-table th,
.mini-table td{
  padding:10px 9px;
  border-bottom:1px solid var(--line);
}

.mini-table th{
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#34506d;
  background:#f3f7fd;
}

.mini-table tr:last-child td{
  border-bottom:0;
}

.summary-ranking{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}

.summary-ranking li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.summary-ranking li:last-child{
  border-bottom:0;
}

.summary-ranking span{
  min-width:0;
  font-weight:650;
  color:#08204a;
}

.summary-ranking small{
  display:block;
  color:var(--muted);
  font-weight:600;
  margin-top:3px;
}

.summary-ranking strong{
  min-width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:#071a3d;
}

@media(max-width:700px){
  .home-tournament-summary .section-head .button{
    width:100%;
  }

  .mini-table{
    font-size:13px;
  }

  .summary-ranking li{
    padding:9px 0;
  }
}


/* Phase 15: public polish and navigation cleanup */
.home-quick-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:22px 0;
}

.quick-link-card{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:14px;
  align-items:start;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}

.quick-link-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(180deg,#ffd96b,#e3a21a);
  color:#071a3d;
  font-size:26px;
  box-shadow:0 10px 22px rgba(217,154,22,.18);
}

.quick-link-card h2{
  margin:0 0 6px;
  color:#08204a;
  font-size:20px;
  font-weight:650;
}

.quick-link-card p{
  margin:0 0 12px;
  color:var(--muted);
  line-height:1.5;
}

.public-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:14px 0 0;
  align-items:center;
}

.public-page-actions .button{
  width:auto;
}

.top nav a{
  font-weight:600;
}

@media(max-width:980px){
  .home-quick-links{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .quick-link-card{
    grid-template-columns:44px 1fr;
    padding:15px;
    border-radius:18px;
  }

  .quick-link-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:22px;
  }

  .public-page-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .public-page-actions .button{
    width:100%;
  }
}

@media(max-width:380px){
  .public-page-actions{
    grid-template-columns:1fr;
  }
}




/* Header logo fix */
.brand{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0;
}

.brand:before{
  content:none !important;
  display:none !important;
}

.brand-logo{
  width:38px !important;
  height:38px !important;
  object-fit:contain !important;
  display:block !important;
  flex:0 0 auto !important;
  border-radius:9px;
  background:rgba(255,255,255,.08);
}

.brand-text{
  display:block;
  line-height:1.1;
  font-size:15px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

@media(max-width:700px){
  .brand-logo{
    width:34px !important;
    height:34px !important;
    border-radius:8px;
  }

  .brand-text{
    font-size:14px;
    max-width:230px;
  }
}

@media(max-width:390px){
  .brand-text{
    max-width:185px;
  }
}




/* Hero logo small fix — keeps hero logo separate from header logo */
.hero-title-compact{
  grid-template-columns:auto 1fr !important;
  gap:10px !important;
}

.hero-logo-wrap{
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  max-width:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  border-radius:13px !important;
  padding:4px !important;
}

.hero-logo{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
}

@media(max-width:700px){
  .hero-logo-wrap{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    border-radius:11px !important;
    padding:3px !important;
  }

  .hero-title-compact{
    font-size:clamp(21px,6.5vw,34px) !important;
    gap:9px !important;
  }
}

@media(max-width:380px){
  .hero-logo-wrap{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    min-height:38px !important;
    max-height:38px !important;
  }
}



@media(max-width:700px){
  .tournament-hero{
    min-height:auto !important;
    padding:52px 12px 12px !important;
    align-items:end !important;
    background-position:68% top !important;
  }

  .hero-panel.hero-panel-compact{
    margin-top:0 !important;
  }
}

@media(max-width:420px){
  .tournament-hero{
    padding-top:42px !important;
    background-position:70% top !important;
  }
}

@media(max-width:360px){
  .tournament-hero{
    padding-top:34px !important;
    background-position:72% top !important;
  }
}

.map-link{
  display:inline-flex;
  margin-top:8px;
  color:#ffd66d;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(255,214,109,.65);
}

.map-link:hover{
  color:#fff;
  border-bottom-color:#fff;
}

/* Homepage registered team tiles clickable */
.teams-card .teamgrid a.teamtile{
  color:inherit;
  text-decoration:none;
}

.teams-card .teamgrid a.teamtile:hover{
  text-decoration:none;
}

/* Referee edit/photo + match cards */
.referee-card-top{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:12px;
  align-items:center;
}

.referee-photo{
  width:58px;
  height:58px;
  border-radius:16px;
  object-fit:cover;
  border:1px solid var(--line);
  background:#fff;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}

.referee-photo-placeholder{
  background:linear-gradient(145deg,#eaf4ff,#ffffff);
  color:#7b8fa8;
  font-size:26px;
}

.referee-photo-preview{
  width:100%;
  max-width:180px;
  height:130px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  margin:8px 0 12px;
  display:block;
}

.referee-card-stats{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:10px 0;
}

.referee-card-stats span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:#f3f7fd;
  border:1px solid var(--line);
  color:#24364e;
  font-weight:700;
  font-size:12px;
}

.match-cards{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fffaf2;
}

.match-cards > strong{
  display:block;
  margin-bottom:8px;
  color:#08204a;
  font-size:14px;
}

.match-cards ul{
  margin:0;
  padding-left:18px;
}

.match-cards li{
  margin:8px 0;
  line-height:1.4;
}

.match-cards small{
  display:block;
  color:var(--muted);
  font-weight:600;
}

#add-card .wide{
  grid-column:1/-1;
}

@media(max-width:700px){
  .referee-card-top{
    grid-template-columns:52px 1fr;
  }

  .referee-photo{
    width:52px;
    height:52px;
    border-radius:14px;
  }

  .referee-card .button.small{
    width:100%;
  }
}

/* Match workflow buttons */
.match-admin-actions form{
  display:inline-flex;
  margin:0;
}

.match-admin-actions form .button,
.match-admin-actions form button.button{
  border:0;
  cursor:pointer;
}

@media(max-width:700px){
  .match-admin-actions form,
  .match-admin-actions form .button,
  .match-admin-actions form button.button{
    width:100%;
  }
}

/* Cleaner goal/card event lines */
.event-main{
  display:block;
  font-weight:800;
  color:#10223f;
  line-height:1.35;
}

.event-subline{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}

.match-goals li,
.match-cards li{
  padding-bottom:4px;
}

/* Competition foundation */
.competition-context-card{
  background:linear-gradient(135deg,#ffffff,#f5f9ff);
  border:1px solid var(--line);
}

.competition-context-card h1{
  margin:4px 0 4px;
  font-size:clamp(22px,3vw,34px);
}

@media(max-width:700px){
  .competition-context-card .split{
    gap:12px;
  }
}

/* Phase 2: competition stages */
.competition-context-card{
  background:linear-gradient(135deg,#ffffff,#f5f9ff);
  border:1px solid var(--line);
}

.competition-context-card h1{
  margin:4px 0 4px;
  font-size:clamp(22px,3vw,34px);
}

.stage-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}

.stage-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fff;
}

.stage-card strong,
.stage-card span{
  display:block;
}

.stage-card span{
  color:var(--muted);
  font-size:13px;
  margin-top:4px;
}

.stage-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.stage-actions form{
  margin:0;
}

@media(max-width:700px){
  .competition-context-card .split{
    gap:12px;
  }

  .stage-actions,
  .stage-actions .button,
  .stage-actions form,
  .stage-actions button{
    width:100%;
  }
}

/* Phase 3: knockout tools */
.knockout-tool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
}

.knockout-tool-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:16px;
}

.knockout-tool-card h3,
.group-ranking-preview h3{
  margin-top:0;
}

.checkline{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  color:#25364d;
}

.checkline input{
  width:auto;
}

.mini-ranking{
  margin:10px 0 0;
  padding-left:20px;
}

.mini-ranking li{
  margin:6px 0;
}

.mini-ranking span{
  display:inline;
  color:#13233c;
  font-size:13px;
}

.mini-ranking strong{
  float:right;
  font-size:12px;
}

.match-winner-line{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff7d8;
  border:1px solid rgba(202,161,54,.35);
  color:#392c04;
}

.match-winner-form{
  margin:12px 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f7fbff;
}

.match-winner-form label{
  display:block;
  margin-bottom:8px;
}

@media(max-width:700px){
  .knockout-tool-card .primary,
  .match-winner-form .button{
    width:100%;
  }
}

/* Phase 4: group + match generator */
.generator-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
}

.generator-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:16px;
}

.generator-card h3{
  margin-top:0;
}

.generator-note{
  margin-top:14px;
}

@media(max-width:700px){
  .generator-card .primary{
    width:100%;
  }
}

/* Phase 5: schedule tools */
.schedule-tool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
}

.schedule-tool-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:16px;
}

.schedule-tool-card h3{
  margin-top:0;
}

.schedule-note{
  margin-top:14px;
}

@media(max-width:700px){
  .schedule-tool-card .primary{
    width:100%;
  }
}

/* Phase 5.5: sponsors */
.home-sponsors{margin:28px 0;}
.sponsor-empty-card{border:1px dashed var(--line);border-radius:24px;padding:22px;background:rgba(255,255,255,.72);}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;}
.sponsor-card{min-height:150px;border:1px solid var(--line);border-radius:24px;background:#fff;padding:16px;text-align:center;text-decoration:none;color:#071a3d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.sponsor-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(8,31,73,.11);border-color:rgba(213,148,0,.35);}
.sponsor-card img{max-width:130px;max-height:64px;object-fit:contain;display:block;}
.sponsor-card strong{font-size:15px;line-height:1.25;}
.sponsor-type{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;background:#fff5d6;color:#6e4a00;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}
.sponsor-logo-placeholder{width:70px;height:70px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd86b,#e1a20d);color:#071a3d;font-size:30px;font-weight:900;}
.sponsor-admin-preview{display:flex;align-items:center;gap:12px;}
.sponsor-admin-preview img,.sponsor-admin-logo{width:74px;height:46px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff;padding:6px;}
@media(max-width:700px){
  .home-sponsors{margin:20px 0;}
  .sponsor-card{min-height:132px;}
  .sponsor-admin-table .match-admin-actions,.sponsor-admin-table .match-admin-actions a,.sponsor-admin-table .match-admin-actions form,.sponsor-admin-table .match-admin-actions button{width:100%;}
}

/* Sponsor logo guardrail */
.home-sponsors .sponsor-card img,
.sponsor-grid .sponsor-card img,
.sponsor-card img{
  max-width:130px !important;
  max-height:64px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  margin-left:auto;
  margin-right:auto;
}

.sponsor-card{
  min-height:150px;
  overflow:hidden;
}

.sponsor-admin-logo,
.sponsor-admin-preview img{
  width:74px !important;
  height:46px !important;
  max-width:74px !important;
  max-height:46px !important;
  object-fit:contain !important;
  background:#fff;
  padding:6px;
  border-radius:12px;
  box-sizing:border-box;
}

@media(max-width:700px){
  .home-sponsors .sponsor-card img,
  .sponsor-grid .sponsor-card img,
  .sponsor-card img{
    max-width:112px !important;
    max-height:58px !important;
  }
}
