/* ===== Giải đấu · giấy khen · chia sẻ bàn ===== */
.t-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:clamp(16px,3vw,26px);border-radius:16px;border:1px solid var(--goldline);
  background:radial-gradient(500px 180px at 10% 0,rgba(227,194,122,.16),transparent 70%),linear-gradient(180deg,var(--lacquer1),var(--lacquer2))}
.t-hero h1{margin:0 0 4px;font-size:clamp(24px,4vw,34px)}.t-hero p{margin:0;max-width:640px;color:var(--muted)}
.t-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--goldline);background:rgba(0,0,0,.25);color:var(--pearl);cursor:pointer;font:inherit;font-size:13.5px}
.chip.on{background:linear-gradient(180deg,#f6dc9c,#c99a3c);color:var(--ink);font-weight:600;border-color:transparent}
.t-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
a.t-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;border:1px solid var(--goldline);text-decoration:none;color:inherit;
  background:linear-gradient(180deg,var(--lacquer1),var(--lacquer2));transition:transform .15s,border-color .15s}
a.t-card:hover{transform:translateY(-2px);border-color:var(--jade)}
.t-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.t-card-top b{font:700 19px var(--serif);color:var(--gold)}
.t-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:rgba(241,236,224,.82)}
.t-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.12);overflow:hidden}.t-bar i{display:block;height:100%;background:linear-gradient(90deg,#59e0a5,#e3c27a)}
.t-card-act{margin-top:auto;font-size:13px}.t-joined{color:#59e0a5;font-weight:600}.t-can{color:var(--gold)}.t-cant{font-size:12.5px}
.t-badge{flex:none;padding:2px 10px;border-radius:999px;font:600 11.5px var(--sans,inherit);border:1px solid}
.t-badge.open{color:#59e0a5;border-color:rgba(89,224,165,.5);background:rgba(89,224,165,.1)}.t-badge.running{color:#f6c36b;border-color:rgba(246,195,107,.5);background:rgba(246,195,107,.1)}.t-badge.done{color:#aab4c0;border-color:rgba(170,180,192,.4)}
.t-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px}.t-head h1{margin:0 0 4px;font-size:clamp(24px,4vw,34px)}.t-head p{margin:4px 0}
.t-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.t-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 16px}
.t-facts>div{padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid rgba(227,194,122,.22)}.t-facts small{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.t-facts b{font-weight:600;font-size:14px}
.t-panel{margin:0 0 16px;padding:14px 16px;border-radius:14px;border:1px solid var(--goldline);background:linear-gradient(180deg,var(--lacquer1),var(--lacquer2))}.t-panel h3{margin:0 0 10px;color:var(--gold)}
.t-alert{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 16px;padding:12px 16px;border-radius:12px;border:1px solid rgba(246,195,107,.5);background:rgba(246,195,107,.1)}
.t-alert.go{border-color:#ff6b5b;background:rgba(255,107,91,.14);animation:tglow 1.6s infinite}@keyframes tglow{50%{box-shadow:0 0 22px rgba(255,107,91,.4)}}
.t-table td,.t-table th{padding:8px 10px}.t-table tr.me td{background:rgba(227,194,122,.12)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6b7683;margin-right:7px}.dot.on{background:#59e0a5;box-shadow:0 0 6px #59e0a5}
a.t-pl{color:inherit;font-weight:600;text-decoration:none}a.t-pl:hover{color:var(--gold)}
.t-round{margin-bottom:14px}.t-round h4{margin:0 0 6px;color:var(--pearl)}.t-round h4 small{color:var(--jade);font-weight:400}
.t-pair{display:grid;grid-template-columns:70px 1fr 110px 1fr auto;gap:8px;align-items:center;padding:7px 10px;border-radius:10px;background:rgba(0,0,0,.22);margin-bottom:5px;font-size:14px}
.t-pair .bd{color:var(--muted);font-size:12px}.t-pair .res{text-align:center;color:var(--gold)}.t-pair small.red{color:#ff8f8f}
@media (max-width:720px){.t-pair{grid-template-columns:1fr 1fr;}.t-pair .bd{grid-column:1/-1}.t-pair .res{text-align:left}}
.t-form label{margin-top:10px}.t-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.t-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.t-hint{font-size:12.5px;margin:6px 0 0}
.t-chk{display:flex!important;gap:8px;align-items:center;color:var(--pearl)!important}.t-chk input{width:auto!important;margin:0!important}
.modal.wide{max-width:560px;width:calc(100vw - 24px);max-height:92vh;overflow:auto}
@media (max-width:520px){.t-2,.t-3{grid-template-columns:1fr}}
/* Giấy khen */
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:0 0 14px}
a.cert-card{display:block;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;border:1px solid var(--goldline);background:rgba(0,0,0,.25);transition:transform .15s}
a.cert-card:hover{transform:translateY(-2px)}a.cert-card img{display:block;width:100%;height:auto}a.cert-card span{display:block;padding:7px 10px;font-size:13px;color:var(--gold);text-align:center}
.cert-view{max-width:980px;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.5);border:1px solid var(--goldline)}.cert-view img{display:block;width:100%;height:auto}
@media print{header.top,.foot,.mist,main p,main h1,main .inline{display:none!important}.cert-view{box-shadow:none;border:0;max-width:none}body{background:#fff!important}}
/* Link chia sẻ bàn + trang vào bàn */
.sharebox{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 0;padding:9px 12px;border-radius:12px;border:1px dashed rgba(127,214,194,.6);background:rgba(8,28,38,.6)}
.sharebox.hide{display:none}.sharebox span{font-size:13px;color:var(--jade);white-space:nowrap}.sharebox input{flex:1;min-width:160px;padding:7px 10px;font-size:13px}
.join-card{max-width:520px;margin:40px auto}.join-card h1{margin-top:0}

/* ===== Menu "Giải đấu" nổi bật ===== */
nav a.nav-hot{position:relative;display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-weight:700;color:#2a1a02!important;
  background:linear-gradient(180deg,#f9e3a3,#d9a93f);box-shadow:0 0 0 1px rgba(255,235,170,.6),0 4px 14px rgba(217,169,63,.45);animation:hotglow 2.4s ease-in-out infinite}
nav a.nav-hot:hover{filter:brightness(1.08)}
nav a.nav-hot i{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#c0352b;color:#fff;font:700 12px/20px var(--sans,inherit);text-align:center}
@keyframes hotglow{50%{box-shadow:0 0 0 1px rgba(255,235,170,.9),0 4px 22px rgba(255,200,80,.75)}}
/* ===== Khung Giải đấu ở trang chủ ===== */
.t-banner{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(14px,3vw,30px);margin:0 0 22px;padding:clamp(18px,3vw,30px);border-radius:18px;overflow:hidden;
  border:2px solid #e3c27a;background-size:cover;background-position:center;background-color:#2b1a0a;
  background-image:radial-gradient(620px 240px at 0 0,rgba(255,214,120,.3),transparent 70%),linear-gradient(120deg,#4a2a0c,#1e1208 72%);
  box-shadow:inset 0 0 0 3px rgba(20,12,4,.9),inset 0 0 0 4px rgba(227,194,122,.45),0 18px 40px rgba(0,0,0,.5),0 0 34px rgba(227,194,122,.2)}
.t-banner.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,8,2,.82),rgba(14,8,2,.5))}
.t-banner>*{position:relative}
.t-kicker{display:inline-block;padding:3px 12px;border-radius:999px;background:rgba(227,194,122,.18);border:1px solid rgba(227,194,122,.6);color:#f6dc9c;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.t-banner h2{margin:10px 0 6px;font:700 clamp(24px,3.6vw,38px)/1.15 var(--serif);color:#f9e3a3;text-shadow:0 3px 14px rgba(0,0,0,.6)}
.t-banner p{margin:0 0 12px;color:rgba(241,236,224,.88);max-width:560px}
.t-banner-stats{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 14px;font-size:14px;color:#f1ece0}.t-banner-stats b{color:#f9e3a3;font-size:20px;margin-right:4px}
.t-banner-cta{display:flex;gap:10px;flex-wrap:wrap}
.t-banner-list{display:flex;flex-direction:column;gap:8px;justify-content:center}
.t-banner-list a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 14px;border-radius:12px;text-decoration:none;color:inherit;background:rgba(0,0,0,.4);border:1px solid rgba(227,194,122,.35);transition:border-color .15s,transform .15s}
.t-banner-list a:hover{border-color:#f6dc9c;transform:translateX(3px)}.t-banner-list b{color:#f9e3a3}.t-banner-list span{grid-column:1;font-size:12.5px;color:rgba(241,236,224,.8)}
.t-banner-list em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:#7fd6c2;font-weight:600;font-size:13px}
@media (max-width:820px){.t-banner{grid-template-columns:1fr}}
/* ===== Chia sẻ mạng xã hội ===== */
.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0}
.share-row:empty{display:none}.sh-lbl{font-size:13px;color:var(--muted);margin-right:2px}
.sh{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:var(--pearl);font:500 12.5px var(--sans,inherit);text-decoration:none;cursor:pointer}
.sh:hover{border-color:var(--gold);color:var(--gold)}
.sh-facebook{background:#1877f2;border-color:#1877f2;color:#fff}.sh-zalo{background:#0068ff;border-color:#0068ff;color:#fff}.sh-telegram{background:#229ed9;border-color:#229ed9;color:#fff}
.sh-x{background:#111;border-color:#444;color:#fff}.sh-messenger{background:#0084ff;border-color:#0084ff;color:#fff}.sh-whatsapp{background:#25d366;border-color:#25d366;color:#04230f}.sh-linkedin{background:#0a66c2;border-color:#0a66c2;color:#fff}
.sh-facebook:hover,.sh-zalo:hover,.sh-telegram:hover,.sh-x:hover,.sh-messenger:hover,.sh-whatsapp:hover,.sh-linkedin:hover{filter:brightness(1.12);color:#fff}
.invite-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;margin:26px 0 8px;padding:12px;border-radius:14px;border:1px dashed var(--goldline);background:rgba(0,0,0,.2)}.invite-share .share-row{margin:0}
.sharebox .share-row{flex-basis:100%;margin:6px 0 0}
