
/* Three sponsor columns across mobile sizes, preserving the desktop order. */
@media (max-width: 900px) {
  .sponsor-list { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 7px !important; }
  .sponsor-card { min-width: 0; }
}
@media (max-width: 640px) {
  .sponsor-card .sponsor-main { width: 100%; padding: 8px 6px !important; }
  .sponsor-card .sponsor-title-row { gap: 3px; align-items: start; }
  .sponsor-card .sponsor-title-row h3 { font-size: clamp(11px,3vw,15px) !important; overflow-wrap: anywhere; }
  .sponsor-card .sponsor-title-row strong { font-size: 11px !important; }
  .sponsor-card .sponsor-title-row span { font-size: 6px !important; letter-spacing: 0; }
  .sponsor-card .bonus-copy { font-size: 9px !important; overflow-wrap: anywhere; }
  .sponsor-card .sponsor-facts { grid-template-columns: 1fr !important; font-size: 8px; }
  .sponsor-card .sponsor-actions { padding: 4px 5px 8px !important; }
  .sponsor-card .sponsor-actions .primary-button { padding: 8px 3px !important; font-size: 9px !important; }
}
.sponsor-placeholder .vacant-ad { display: flex; flex-direction: column; width: 100%; height: 100%; text-align: center; }
.vacant-ad-art { aspect-ratio: 1; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: radial-gradient(circle,#48202b,#100d13); border-bottom: 1px solid #654147; padding: 8px; }
.vacant-ad-art>span { font-size: 48px; line-height: 1; color: #d8c18b; }
.vacant-ad-art>b { font-size: clamp(10px,1.5vw,18px); color: #d8c18b; }
.vacant-ad-art>small { font-size: 11px; }
.vacant-ad-copy { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.vacant-ad-copy p { font-size: 12px; color: #b8adb4; }
.vacant-ad-copy .primary-button { margin-top: auto; }
@media(max-width:640px) {
  .vacant-ad-art { gap: 4px; }
  .vacant-ad-art>span { font-size: 28px; }
  .vacant-ad-art>small { font-size: 8px; }
  .vacant-ad-copy { padding: 8px 5px; font-size: 10px; }
  .vacant-ad-copy p { font-size: 9px; }
  .vacant-ad-copy .primary-button { font-size: 8px; padding: 9px 2px; }
}

/* Optional 3:1 advertisements occupy one full sponsor row. */
.sponsor-list>.sponsor-banner,.entry-grid>.sponsor-banner { grid-column: 1 / -1 !important; width: 100%; padding: 0 !important; }
.sponsor-banner .horizontal-ad,.sponsor-banner .horizontal-ad .sponsor-picture { display: block; width: 100%; aspect-ratio: 3 / 1; overflow: hidden; }
.sponsor-banner .horizontal-ad img { width: 100% !important; height: 100% !important; aspect-ratio: 3 / 1 !important; object-fit: contain !important; padding: 0 !important; }
.sponsor-banner .vacant-ad { aspect-ratio: 3 / 1; flex-direction: row; align-items: center; background: radial-gradient(ellipse at left,#48202b,#100d13); }
.sponsor-banner .vacant-ad-art { width: 42%; aspect-ratio: auto; height: 100%; background: transparent; border: 0; }
.sponsor-banner .vacant-ad-copy { width: 58%; flex: 1; justify-content: center; align-items: center; }
.sponsor-banner .vacant-ad-copy .primary-button { margin-top: 4px; }
@media(max-width:640px) {
 .sponsor-banner .vacant-ad-art>span { font-size: 24px; }
 .sponsor-banner .vacant-ad-copy p { margin: 4px 0; }
 .sponsor-banner .vacant-ad-copy .primary-button { min-height: 30px; }
}

/* Compact mobile sponsor cards: artwork, verification, name and one CTA. */
.sponsor-card .sponsor-mobile-verification { display: none !important; }
@media (max-width: 900px) {
  .sponsor-card .sponsor-rank,
  .sponsor-card .sponsor-title-row > strong,
  .sponsor-card .bonus-copy,
  .sponsor-card .sponsor-facts,
  .sponsor-card .sponsor-desktop-verification { display: none !important; }
  .sponsor-card .sponsor-mobile-verification { display: inline !important; font-size: 8px !important; letter-spacing: 0 !important; line-height: 1.3; }
  .sponsor-card .sponsor-main { width: 100%; padding: 9px 5px 6px !important; text-align: center; }
  .sponsor-card .sponsor-title-row { display: block; width: 100%; }
  .sponsor-card .sponsor-title-row h3 { margin: 5px 0 0; font-size: clamp(11px,3vw,16px) !important; line-height: 1.25; }
  .sponsor-card .sponsor-actions { margin-top: auto; }
}

.sponsor-title-row .sponsor-decorated-name { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; }
.sponsor-title-row .sponsor-name-label,.sponsor-title-row .sponsor-name-emoji { font-size: inherit !important; font-weight: inherit; color: inherit !important; letter-spacing: 0 !important; line-height: inherit; }
.sponsor-title-row .sponsor-name-label { min-width: 0; overflow-wrap: anywhere; }
.sponsor-title-row .sponsor-name-emoji { flex: 0 0 auto; }
@media(max-width:900px) {
 .sponsor-card .sponsor-title-row h3 { font-size: clamp(12px,3.6vw,16px) !important; }
 .sponsor-title-row .sponsor-decorated-name { justify-content: center; gap: 2px; }
}

.sponsor-card .sponsor-mobile-bonus { display: none !important; }
@media(max-width:900px) {
 .sponsor-card .sponsor-mobile-bonus { display: block !important; margin: 7px 0 0; min-height: 0; color: #e8cb8c; font-size: clamp(9px,2.4vw,12px); font-weight: 700; line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
}

@media(max-width:900px) {
 .sponsor-card .sponsor-title-row>div { width: 100%; text-align: center; }
 .sponsor-card .sponsor-title-row h3 { display: flex; align-items: center; justify-content: center; min-height: 0; margin: 5px 0 0; text-align: center; font-weight: 850; }
 .sponsor-card .sponsor-title-row .sponsor-decorated-name { width: 100%; justify-content: center; align-items: center; text-align: center; gap: 3px; }
 .sponsor-card .sponsor-title-row .sponsor-name-label { text-align: center; line-height: 1.2; }
 .sponsor-card .sponsor-title-row .sponsor-name-emoji { font-size: .78em !important; }
}

/* Set the name itself: the old mobile span rule otherwise forces 6px text. */
@media(max-width:900px) {
 .sponsor-card .sponsor-title-row h3 { min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 5px 0 0 !important; }
 .sponsor-card .sponsor-title-row .sponsor-name-label { font-size: 14px !important; line-height: 1.15 !important; font-weight: 850 !important; text-align: center; text-transform: none !important; letter-spacing: -.25px !important; }
 .sponsor-card .sponsor-title-row .sponsor-name-emoji { display: none !important; }
 .sponsor-card .sponsor-title-row .sponsor-decorated-name { font-size: 14px !important; gap: 0; }
}

/* Desktop: let each image set its own height; no fixed crop or frame. */
@media(min-width:901px) {
 .sponsor-list .sponsor-card:not(.sponsor-banner)[data-visual-slot]>.sponsor-image {
  display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important; align-self: stretch; flex: 0 0 auto !important;
 }
 .sponsor-list .sponsor-card:not(.sponsor-banner)[data-visual-slot]>.sponsor-image .sponsor-picture {
  display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important;
 }
 .sponsor-list .sponsor-card:not(.sponsor-banner)[data-visual-slot]>.sponsor-image .sponsor-picture img {
  display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; max-width: none !important; aspect-ratio: auto !important; padding: 0 !important; margin: 0 !important; object-fit: contain !important; object-position: center !important; border-radius: 0 !important;
 }
}

@media(min-width:901px) {
 .sponsor-list>.sponsor-card:not(.sponsor-banner) { padding: 0 !important; gap: 0 !important; }
 .sponsor-list>.sponsor-card:not(.sponsor-banner)>.sponsor-main { width: 100%; padding: 11px 12px 7px !important; }
 .sponsor-list>.sponsor-card:not(.sponsor-banner) .bonus-copy { min-height: 0 !important; margin: 6px 0 8px !important; }
 .sponsor-list>.sponsor-card:not(.sponsor-banner) .sponsor-facts { gap: 5px; }
 .sponsor-list>.sponsor-card:not(.sponsor-banner)>.sponsor-actions { padding: 3px 12px 12px !important; }
}

.sponsor-card .sponsor-actions { display: block !important; width: 100% !important; align-self: stretch !important; padding: 4px 16px 18px !important; }
.sponsor-card .sponsor-actions .primary-button { display: flex !important; width: 100% !important; min-width: 0; min-height: 42px; margin: 0; text-align: center; }
@media(max-width:900px) { .sponsor-card .sponsor-actions { padding: 4px 5px 8px !important; } .sponsor-card .sponsor-actions .primary-button { min-height: 36px; padding: 8px 3px !important; font-size: 9px !important; } }
@media(min-width:901px) { .sponsor-list>.sponsor-card:not(.sponsor-banner)>.sponsor-actions { padding: 3px 12px 12px !important; } }
