/* Optional geo-targeted sponsorship. Isolated from gameplay layout. */
.geo-sponsor{
  position:relative;
  z-index:1;
  width:100%;
  margin:16px 0 18px;
  min-height:92px;
  border:1px solid rgba(207,73,255,.62);
  border-radius:14px;
  overflow:hidden;
  background:#150b22;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.geo-sponsor-art{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.9;
}
.geo-sponsor-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(24,7,38,.96) 0%,rgba(35,8,61,.84) 38%,rgba(24,8,49,.76) 66%,rgba(12,11,24,.92) 100%);
}
.geo-sponsor-inner{
  position:relative;
  z-index:1;
  min-height:92px;
  padding:12px 18px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
}
.geo-sponsor-left{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.geo-sponsor-kicker{
  width:118px;
  font-size:10px;
  line-height:1.45;
  font-weight:900;
  letter-spacing:.14em;
  color:#ff9a36;
}
.geo-sponsor-divider{
  width:2px;
  height:45px;
  border-radius:999px;
  background:linear-gradient(180deg,#e452ff,#8e43ff);
  box-shadow:0 0 12px rgba(203,76,255,.45);
}
.geo-sponsor-logo{
  display:block;
  width:68px;
  height:68px;
  object-fit:contain;
  flex:none;
}
.geo-sponsor-copy{
  position:relative;
  min-width:0;
  padding-right:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.geo-sponsor-title{
  font-size:17px;
  line-height:1.2;
  font-weight:850;
  color:#fff;
}
.geo-sponsor-body{
  font-size:13px;
  line-height:1.35;
  color:rgba(255,255,255,.82);
}
.geo-sponsor-youtube{
  position:absolute;
  right:0;
  bottom:1px;
  width:24px;
  height:17px;
  border-radius:5px;
  background:#ff0033;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.geo-sponsor-youtube i{
  position:absolute;
  left:9px;
  top:5px;
  width:0;
  height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:7px solid #fff;
}
.geo-sponsor-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.geo-sponsor-label{
  font-size:10px;
  line-height:1;
  color:rgba(255,255,255,.68);
}
.geo-sponsor-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:172px;
  padding:10px 15px;
  border:2px solid #a94cff;
  border-radius:8px;
  background:rgba(76,21,116,.2);
  color:#d985ff;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.03em;
  white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.geo-sponsor-cta:hover,
.geo-sponsor-cta:focus-visible{
  background:rgba(112,36,164,.32);
  border-color:#cf75ff;
  box-shadow:0 0 18px rgba(180,62,255,.18);
  transform:translateY(-1px);
  outline:none;
}

@media(max-width:820px){
  .geo-sponsor-inner{grid-template-columns:auto minmax(0,1fr);gap:12px 14px;padding:12px 14px}
  .geo-sponsor-right{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}
  .geo-sponsor-label{justify-self:start}
}

@media(max-width:650px){
  .geo-sponsor{
    display:block;
    width:100%;
    margin:12px 0 16px;
    min-height:0;
    border-radius:13px;
  }
  .geo-sponsor-art{background-position:center}
  .geo-sponsor-art::after{background:linear-gradient(100deg,rgba(23,7,38,.97),rgba(31,9,58,.86) 58%,rgba(13,11,27,.94))}
  .geo-sponsor-inner{
    min-height:0;
    padding:12px;
    grid-template-columns:54px minmax(0,1fr);
    gap:9px 12px;
  }
  .geo-sponsor-left{
    grid-column:1;
    grid-row:1;
    display:block;
  }
  .geo-sponsor-kicker,
  .geo-sponsor-divider{display:none}
  .geo-sponsor-logo{
    width:54px;
    height:54px;
  }
  .geo-sponsor-copy{
    grid-column:2;
    grid-row:1;
    padding-right:0;
    gap:3px;
  }
  .geo-sponsor-title{font-size:14px;line-height:1.2}
  .geo-sponsor-body{font-size:11px;line-height:1.3}
  .geo-sponsor-youtube{display:none}
  .geo-sponsor-right{
    grid-column:1/-1;
    grid-row:2;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:7px;
  }
  .geo-sponsor-label{
    font-size:9px;
    text-align:right;
  }
  .geo-sponsor-cta{
    width:100%;
    min-width:0;
    padding:10px 12px;
    font-size:11px;
  }
}

@media(max-width:380px){
  .geo-sponsor-inner{grid-template-columns:48px minmax(0,1fr);padding:10px}
  .geo-sponsor-logo{width:48px;height:48px}
  .geo-sponsor-title{font-size:13px}
  .geo-sponsor-body{font-size:10.5px}
}
