.banner-slot{box-sizing:border-box;padding:12px 0;text-align:center}
.banner-slot small{display:block;margin-bottom:4px;font-size:11px}
.banner-preview{box-sizing:border-box;display:grid;place-items:center;width:min(100%,300px);aspect-ratio:300/250;margin:auto;border:1px dashed #809b8d;border-radius:6px;background:#edf5ef;color:#345849;font:600 14px system-ui,sans-serif}
.banner-desktop{display:none}
@media(min-width:900px){
 .banner-preview{width:min(100%,728px);aspect-ratio:728/90}
 .banner-mobile{display:none}
 .banner-desktop{display:inline}
}
.banner-link{display:block;width:min(100%,300px);margin:auto}
.banner-link picture{display:block;aspect-ratio:300/250}
.banner-link img{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px}
.banner-caption{width:min(100%,300px);margin:8px auto 0;text-align:left;font-size:.9rem}
@media(min-width:900px){.banner-link,.banner-caption{width:min(100%,728px)}.banner-link picture{aspect-ratio:728/90}}

/* Owner-preview mockup: no advertiser, link or production placement changes. */
.side-ad-demo,.side-ad-rail{display:none}
@media(min-width:1200px) and (min-height:500px){
 .home-layout{display:grid;grid-template-columns:minmax(0,1160px) 160px;gap:20px;max-width:1364px;box-sizing:border-box;padding:0 12px;margin:12px auto;align-items:stretch}
 .home-layout .site-shell{min-width:0;width:100%;margin:0}
 .home-layout #keiba-preview{min-width:0;padding:0}
 .home-layout #keiba-preview article{max-width:none;width:100%}
 .side-ad-rail{display:block;min-width:0;padding-top:var(--side-ad-offset,0px)}
 .side-ad-demo{display:block;position:sticky;top:18px;width:160px;z-index:5;box-sizing:border-box;text-align:center;font-family:system-ui,sans-serif}
 .side-ad-demo>small{display:block;height:18px;color:#486257;font-size:10px;text-align:left}
 .side-ad-creative{height:min(600px,calc(100dvh - 54px));min-height:380px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;background:#103e32;color:#fff;border:1px solid #c7a66a;box-shadow:0 4px 18px #173f3320}
 .side-ad-brand{font-weight:800;font-size:21px;letter-spacing:.05em;margin:20px 0 12px}
 .side-ad-tag{font-size:10px;color:#ead7af;border-block:1px solid #c7a66a70;padding:8px 0;width:calc(100% - 24px)}
 .side-ad-creative strong{width:calc(100% - 24px);font-size:18px;line-height:1.75;letter-spacing:0;position:relative;z-index:1;margin:24px 0;text-align:left}
 .side-ad-photo{width:100%;flex:1;min-height:80px;background:linear-gradient(#103e3200,#103e3260),url('/column-stakes.webp') 62% center/auto 100% no-repeat}
 .side-ad-size{color:#ead7af;font-size:20px;letter-spacing:.08em;margin-top:18px}
 .side-ad-note{font-size:10px;color:#cadbd2;margin:7px 0 18px}
}

/* Full-width separator between race selection and the selected race. */
#keiba-preview .race-top-banner{padding:12px 14px;border-bottom:1px solid #dce8e0;background:#fff}

.grade-prediction-ad[hidden]{display:none}
.grade-prediction-ad:not([hidden]){margin:0 0 .75rem;padding-top:0}
