/* Phase 7F1R5 — portrait-first Grid cards.
   Built around transparent driver cutouts, with graceful legacy-photo fallback. */

.v7007f1r5-main{max-width:1580px!important}
.v7007f1r5-grid{display:grid;gap:28px}
.v7007f1r5-intro{display:grid;justify-items:start;padding:18px 2px 4px}
.v7007f1r5-intro h1{margin:7px 0 8px;font-size:62px;line-height:.93;letter-spacing:-.045em}
.v7007f1r5-intro p{margin:0;color:var(--muted);font-size:15px;line-height:1.45}
.v7007f1r5-context{margin-top:12px;color:rgba(255,255,255,.64);font-size:10px;font-weight:850;letter-spacing:.08em}

.v7007f1r5-team-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.v7007f1r5-team-card{
  grid-column:span 2;position:relative;isolation:isolate;overflow:hidden;min-width:0;
  padding:16px;border:1px solid rgba(255,255,255,.075);border-radius:18px;
  background:linear-gradient(180deg,#0a0f15 0%,#080c12 100%);
  box-shadow:0 14px 34px rgba(0,0,0,.17)
}
.v7007f1r5-team-card:last-child:nth-child(3n+1){grid-column:3/span 2}
.v7007f1r5-team-card:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}
.v7007f1r5-team-card:after{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--team-accent) 7%,transparent) 0%,transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.01),transparent 36%)
}
.v7007f1r5-team-glow{
  position:absolute;z-index:-1;right:-8%;top:-54px;width:285px;height:235px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--team-accent) 56%,transparent) 0%,transparent 72%);
  opacity:.48;filter:blur(30px);pointer-events:none
}

.v7007f1r5-team-head{display:flex;align-items:center;gap:4px;min-height:62px;margin-bottom:13px}
.v7007f1r5-team-logo{width:55px;height:48px;display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto}
.v7007f1r5-team-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}
.v7007f1r5-logo-fallback{font-size:12px;font-weight:900;color:rgba(255,255,255,.55)}
.v7007f1r5-team-head h2{
  margin:0;max-width:calc(100% - 61px);font-size:21px;line-height:1.04;letter-spacing:-.025em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

.v7007f1r5-driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v7007f1r5-driver-link{
  min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--team-accent) 8%,#0b1017) 0%,#090e14 100%);
  color:#fff;text-align:left;cursor:pointer;
  transition:border-color .16s ease,transform .16s ease,background .16s ease,box-shadow .16s ease
}
.v7007f1r5-driver-link:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--team-accent) 45%,rgba(255,255,255,.16));
  background:linear-gradient(180deg,color-mix(in srgb,var(--team-accent) 12%,#0b1017) 0%,#090e14 100%);
  box-shadow:0 10px 24px rgba(0,0,0,.22)
}
.v7007f1r5-driver-link:focus-visible{
  outline:2px solid color-mix(in srgb,var(--team-accent) 68%,#fff);outline-offset:3px
}
.v7007f1r5-driver-link.is-empty{cursor:default;opacity:.5}

.v7007f1r5-driver-media{
  position:relative;display:grid;place-items:end center;height:142px;overflow:hidden;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--team-accent) 10%,#101620) 0%,#0a0f15 100%)
}
.v7007f1r5-driver-media:after{
  content:"";position:absolute;z-index:2;inset:auto 0 0;height:40%;
  background:linear-gradient(180deg,transparent,rgba(7,10,15,.28));pointer-events:none
}
.v7007f1r5-driver-media-glow{
  position:absolute;z-index:0;left:50%;bottom:-20%;width:145%;height:112%;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--team-accent) 48%,transparent) 0%,transparent 69%);
  opacity:.42;filter:blur(22px);pointer-events:none
}
.v7007f1r5-driver-media img{
  position:relative;z-index:1;display:block;max-width:100%;height:100%;margin:0 auto
}
.v7007f1r5-driver-media img.is-cutout{
  width:96%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.32))
}
.v7007f1r5-driver-media img.is-photo{
  width:100%;object-fit:cover;object-position:center 18%;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 74%,rgba(0,0,0,.82) 88%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 74%,rgba(0,0,0,.82) 88%,transparent 100%);
  opacity:.94
}
.v7007f1r5-driver-fallback{
  align-self:center;justify-self:center;font-size:18px;font-weight:900;color:rgba(255,255,255,.26)
}

.v7007f1r5-driver-copy{
  display:grid;align-content:start;gap:5px;min-height:78px;padding:12px 13px 13px;
  border-top:1px solid rgba(255,255,255,.055);background:rgba(8,12,18,.82)
}
.v7007f1r5-driver-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:16px}
.v7007f1r5-driver-meta small{font-size:10px;font-weight:850;letter-spacing:.05em;color:rgba(255,255,255,.68)}
.v7007f1r5-driver-arrow{
  font-size:16px;line-height:1;color:rgba(255,255,255,.62);
  transition:color .16s ease,transform .16s ease
}
.v7007f1r5-driver-arrow.is-media{
  position:absolute;z-index:4;top:10px;right:10px;width:30px;height:30px;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.38);border-radius:6px;
  background:rgba(8,12,18,.34);color:rgba(255,255,255,.9)
}
.v7007f1r5-driver-link:hover .v7007f1r5-driver-arrow{
  color:color-mix(in srgb,var(--team-accent) 62%,#fff);transform:translateX(2px)
}
.v7007f1r5-driver-copy strong{
  max-width:100%;font-size:16px;line-height:1.08;letter-spacing:-.015em;
  white-space:normal;overflow-wrap:break-word
}

@media(max-width:1220px){
  .v7007f1r5-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v7007f1r5-team-card,.v7007f1r5-team-card:last-child:nth-child(3n+1),.v7007f1r5-team-card:nth-last-child(2):nth-child(3n+1){grid-column:auto}
  .v7007f1r5-driver-media{height:160px}
}
@media(max-width:760px){
  .v7007f1r5-grid{gap:22px}
  .v7007f1r5-intro h1{font-size:48px}
  .v7007f1r5-intro p{font-size:14px}
  .v7007f1r5-team-grid{grid-template-columns:1fr}
  .v7007f1r5-team-card{padding:15px;border-radius:16px}
  .v7007f1r5-team-head{margin-bottom:12px}
  .v7007f1r5-team-head h2{font-size:19px}
  .v7007f1r5-driver-media{height:156px}
}
@media(max-width:480px){
  .v7007f1r5-intro h1{font-size:42px}
  .v7007f1r5-context{font-size:9px}
  .v7007f1r5-driver-grid{gap:8px}
  .v7007f1r5-driver-link{border-radius:11px}
  .v7007f1r5-driver-media{height:130px}
  .v7007f1r5-driver-copy{min-height:72px;padding:10px 10px 11px}
  .v7007f1r5-driver-meta small{font-size:9px}
  .v7007f1r5-driver-copy strong{font-size:14px}
  .v7007f1r5-team-logo{width:55px;height:42px}
}
/* 7F1R6R1 additions outside frozen R5 Grid cards. */
.v7007f1r6r1-header-shell{width:min(1400px,100%);justify-self:center}
.v7007f1r6r1-grid-hero .v7007d1-season-title-row{justify-content:flex-start}
.v7007f1r6r1-grid-hero .v7007d1-season-leaders strong{font-size:11px;letter-spacing:.08em;color:var(--muted)}

body.v7007f1r6r1-modal-open{overflow:hidden}
.v7007f1r6r1-seat-modal[hidden]{display:none}
.v7007f1r6r1-seat-modal{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;padding:20px}
.v7007f1r6r1-seat-backdrop{position:absolute;inset:0;background:rgba(1,4,8,.78);backdrop-filter:blur(10px)}
.v7007f1r6r1-seat-dialog{
  position:relative;z-index:1;width:min(560px,100%);display:grid;gap:12px;padding:26px;
  border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#0b1017;
  box-shadow:0 28px 80px rgba(0,0,0,.55)
}
.v7007f1r6r1-seat-dialog h2{margin:2px 0 0;font-size:28px;letter-spacing:-.03em}
.v7007f1r6r1-seat-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.v7007f1r6r1-seat-dialog label{display:grid;gap:7px;margin-top:4px}
.v7007f1r6r1-seat-dialog label>span{font-size:8px;font-weight:900;letter-spacing:.1em;color:var(--muted)}
.v7007f1r6r1-seat-dialog textarea{width:100%;resize:vertical;min-height:150px;border:1px solid var(--line);border-radius:11px;background:#080c12;color:#fff;padding:12px;font:inherit;line-height:1.45}
.v7007f1r6r1-seat-dialog textarea:focus{outline:2px solid rgba(255,255,255,.45);outline-offset:2px}
.v7007f1r6r1-seat-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:50%;padding:0;font-size:20px;background:#ffffff08}
.v7007f1r6r1-seat-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
@media(max-width:720px){
  .v7007f1r6r1-seat-actions{display:grid;grid-template-columns:1fr}
  .v7007f1r6r1-seat-actions button{width:100%}
}
@media(max-width:480px){
  .v7007f1r6r1-seat-dialog{padding:22px 18px}
  .v7007f1r6r1-seat-dialog h2{font-size:24px}
}

/* 7F1R7R1H3: Open-seat CTA uses the GPB brand red without changing card geometry. */
.v7007f1r5-driver-link[data-v7007f1r6r1-open-seat] .v7007f1r5-driver-meta small{color:#F20B17}


/* Phase 7F2: trophy-backed title defenders in the Grid header. */
.v7007f2-champions>div{padding:14px!important;gap:8px!important;overflow:hidden}
.v7007f2-champion-card>small{font-size:8px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.v7007f2-champion-main{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;min-height:92px}
.v7007f2-champion-trophy{display:block;width:58px;height:92px;object-fit:contain;object-position:center}
.v7007f2-champion-copy{display:grid;gap:6px;align-content:center;min-width:0}
.v7007f2-champion-copy .v7007d1-driver-id,.v7007f2-champion-copy .v7007d1-team-id{gap:8px}
.v7007f2-champion-copy .v7007d1-driver-id>img,.v7007f2-champion-copy .v7007d1-avatar-fallback{width:42px;height:42px}
.v7007f2-champion-copy .v7007d1-team-mark{width:42px;height:42px}
.v7007f2-champion-copy .v7007d1-driver-id b,.v7007f2-champion-copy .v7007d1-team-id b{font-size:14px}
.v7007f2-champion-role{font-size:9px;font-weight:900;letter-spacing:.09em;color:#fff}
.v7007f2-champion-count{display:inline-flex;width:max-content;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 7px;color:rgba(255,255,255,.72);font-size:8px;font-weight:900;letter-spacing:.06em}
.v7007f2-champion-card.is-empty{opacity:.55}
@media(max-width:480px){.v7007f2-champion-main{grid-template-columns:48px minmax(0,1fr);min-height:82px}.v7007f2-champion-trophy{width:48px;height:80px}}


/* Phase 7F3: approved Grid micro-polish only. */
.v7007f3-champion-id{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;min-width:0}
.v7007f3-champion-id>b{min-width:0;font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v7007f3-champion-visual{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.v7007f3-champion-visual.is-driver{border-radius:50%;background:#252a33}
.v7007f3-champion-visual.is-driver img{width:100%;height:100%;object-fit:cover}
.v7007f3-champion-visual.is-team{border-radius:10px;border:1px solid color-mix(in srgb,var(--team-accent) 42%,transparent);background:color-mix(in srgb,var(--team-accent) 9%,transparent)}
.v7007f3-champion-visual.is-team img{display:block;max-width:78%;max-height:72%;object-fit:contain}
.v7007f3-champion-id.is-empty{opacity:.65}
