/* ============================================================
   Padel54 — Tournaments index + single tournament
   (loaded after style.css and news.css)
   ============================================================ */

/* featured upcoming (reuses .feature) */
.tfeat-up{height:clamp(500px,84vh,760px)}
.tfeat-up .cap{display:block;max-width:800px}
.tfeat-up .cap .tag{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;color:var(--ink);background:var(--signal);padding:6px 12px;border-radius:2px}
.tfeat-up .cap h2,.tfeat-up .cap h1{margin-top:16px;font-weight:900;text-transform:uppercase;font-size:clamp(34px,5.6vw,86px);line-height:.88;letter-spacing:-.03em}
.tfeat-up .cap p{margin-top:14px;max-width:52ch;color:#e7e6e2;font-size:15.5px}
.tfeat-up .cap .date{margin-top:16px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--paper-dim)}
.tfeat-up .cap .cta{margin-top:24px;display:flex;gap:14px;flex-wrap:wrap}

/* upcoming 2-up (reuses .tile from style.css) */
.tup{padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(70px,9vw,120px)}
.tup .grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
@media(max-width:820px){.tup .grid2{grid-template-columns:1fr}}
.tup .tile{min-height:clamp(400px,48vw,540px)}
.tile .tag{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--ink);background:var(--signal);padding:5px 10px;border-radius:2px;align-self:flex-start;margin-bottom:14px}
.tile .date{margin-top:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;color:var(--paper-dim)}

/* past tournaments band */
.tpast{padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(70px,9vw,120px)}

/* on-the-calendar: row list (accent bar + logo + copy + date) */
.cal-sec{padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(70px,9vw,120px)}
.t-rows{margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--line)}
.t-row{position:relative;display:flex;align-items:center;gap:clamp(28px,4.4vw,56px);padding:clamp(32px,4.6vw,52px) 28px clamp(32px,4.6vw,52px) 28px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .3s}
.t-row:hover{background:rgba(244,243,240,.06)}
.t-row .bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--signal);border-radius:2px;transition:width .3s}
.t-row:hover .bar{width:6px}
.t-row .lead{display:flex;align-items:center;gap:16px;width:clamp(200px,22vw,300px);flex:none}
.t-row .lead .logo-dot{width:10px;height:10px;border-radius:50%;background:var(--signal);flex:none}
.t-row.past .lead .logo-dot{background:var(--paper-dim)}
.t-row .lead h3{font-weight:800;text-transform:uppercase;font-size:clamp(15px,1.6vw,18px);letter-spacing:-.005em;line-height:1.15}
.t-row .lead .sub{margin-top:6px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;color:var(--signal)}
.t-row .desc{flex:1;color:var(--paper-dim);font-size:14px;max-width:46ch}
.t-row .rt{flex:none;text-align:right}
.t-row .rt .dt{font-weight:900;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.02em;line-height:1}
.t-row .rt .dt .s{margin-left:6px;font-weight:700;font-size:13px;text-transform:uppercase;color:var(--signal);letter-spacing:.04em}
.t-row .rt .yr{margin-top:4px;font-weight:600;font-size:11px;color:var(--paper-dim);letter-spacing:.06em}
.t-row.past .bar{background:var(--paper-dim)}
.t-row.past .lead .sub{color:var(--paper-dim)}
.t-row.past .rt .dt .s{color:var(--paper-dim)}
@media(max-width:760px){
  .t-row{flex-wrap:wrap}
  .t-row .lead{width:100%}
  .t-row .desc{order:3;max-width:none}
  .t-row .rt{margin-left:auto}
}
.cal-note{margin-top:22px;color:var(--paper-dim);font-size:13.5px}
.sec-light .t-rows,.sec-light .t-row{border-color:rgba(12,13,15,.14)}
.sec-light .t-row:hover{background:rgba(12,13,15,.05)}
.sec-light .t-row .desc,.sec-light .t-row .rt .yr{color:#6c6b65}

/* single tournament info bar */
.tinfo-sec{padding-top:clamp(60px,7vw,90px);padding-bottom:clamp(20px,3vw,40px)}
.tinfo{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:820px){.tinfo{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tinfo{grid-template-columns:1fr}}
.tinfo .ti{padding:28px 22px 28px 0;border-left:1px solid var(--line-2)}
.tinfo .ti:first-child{border-left:0}
.tinfo .ti:nth-child(n+2){padding-left:22px}
.tinfo .ti .k{font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;color:var(--paper-dim)}
.tinfo .ti .v{margin-top:12px;font-weight:800;text-transform:uppercase;font-size:clamp(17px,1.9vw,23px);letter-spacing:-.01em;line-height:.98}
.tinfo .ti .v .s{color:var(--signal)}
