.om-paid-ad{margin:24px 0;padding:0;background:transparent;border:0;border-radius:0;text-align:center}
.om-paid-ad>small{display:block;font-size:11px;color:#62665f;margin-bottom:8px}
.om-paid-ad>a{display:block;height:250px}
.om-paid-ad>a>img{display:block;width:100%;height:100%;object-fit:contain}
.om-paid-ad a:focus-visible{outline:3px solid #c43a26;outline-offset:4px}
.om-paid-ad-narrow>a{height:280px}
.om-ad-code{max-width:100%;min-width:0}
.om-ad-code img,.om-ad-code iframe{max-width:100%}
.om-ad-code img{display:inline-block}
@media(max-width:600px){.om-paid-ad>a{height:180px}}

/* Sponsored festival destinations adapt to the available slot width. */
.om-paid-ad.om-paid-ad-event{container-type:inline-size;padding:0;overflow:hidden;border:1px solid #ddc9b7;background:#fffaf2;text-align:left;border-radius:10px;color:#292b29}
.om-paid-ad-event>a.om-ad-event-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);height:auto;min-height:230px;color:inherit;text-decoration:none!important}
.om-ad-event-image{position:relative;display:block;min-height:230px;overflow:hidden;background:#f2eee5}
.om-ad-event-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.om-ad-event-pr{position:absolute;left:12px;top:12px;background:#fffaf2f2;color:#786451;border:1px solid #ded2c2;border-radius:3px;padding:1px 7px;font-size:10px;line-height:1.8;letter-spacing:.08em}
.om-ad-event-body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:22px 26px;line-height:1.6}
.om-ad-event-kicker{color:#ad2d1d;font-size:11px;letter-spacing:.08em;font-weight:700}
.om-ad-event-location{font-size:12px;color:#686b62}
.om-ad-event-title{font-size:clamp(19px,2.5cqw,28px);font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.om-ad-event-copy{font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.om-ad-event-copy{white-space:pre-line;overflow-wrap:anywhere}
.om-ad-event-kicker,.om-ad-event-location,.om-ad-event-date,.om-ad-event-link{overflow-wrap:anywhere}
.om-ad-event-date{font-size:12px;color:#686b62;font-variant-numeric:tabular-nums}
.om-ad-event-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;color:#ad2d1d;font-size:12px;font-weight:600}
.om-ad-event-card:hover .om-ad-event-title{color:#ad2d1d}
.om-paid-ad-event a:focus-visible{outline-offset:-4px}
.prose .om-paid-ad-event>a.om-ad-event-card{color:inherit;text-decoration:none}
.om-paid-ad-event.om-paid-ad-narrow>a.om-ad-event-card{grid-template-columns:1fr}
.om-paid-ad-narrow .om-ad-event-image{min-height:0;aspect-ratio:16/9}
.om-paid-ad-narrow .om-ad-event-body{padding:16px 18px}
.om-paid-ad-narrow .om-ad-event-title{font-size:20px}
@container(max-width:540px){
 .om-paid-ad-event>a.om-ad-event-card{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);min-height:180px}
 .om-ad-event-image{min-height:180px}.om-ad-event-body{padding:14px;gap:5px}
 .om-ad-event-title{font-size:18px}.om-ad-event-copy{font-size:12px;-webkit-line-clamp:2}
 .om-ad-event-location,.om-ad-event-date,.om-ad-event-link{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.om-ad-event-image img{transition:none}}
.om-paid-ad{min-width:0;max-width:100%}
@media print{.om-paid-ad{display:none!important}}

/* Optional placements: no placeholder is output without an eligible campaign. */
.om-infeed-card{min-width:0;max-width:100%;align-self:stretch;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;overflow:hidden}
.om-infeed-card>.om-paid-ad{width:100%;margin:0}
.om-infeed-card>.om-paid-ad>a{height:250px}
.om-infeed-card .om-ad-code{width:100%;overflow:hidden}
.blog-list>.om-infeed-card{padding:24px 0;border-block:1px solid #e5e5dd}
.om-ad-rail{display:none}
@media(min-width:1800px) and (min-height:720px){
 .om-ad-rail{display:block;position:fixed;top:100px;width:160px;max-height:calc(100vh - 120px);overflow:auto;z-index:20}
 .om-ad-rail--left{left:12px;right:auto}.om-ad-rail--right{right:12px;left:auto}
 .om-ad-rail>.om-paid-ad{margin:0;width:160px}.om-ad-rail>.om-paid-ad>a{height:600px;max-height:calc(100vh - 150px)}
 .om-ad-rail .om-ad-code{max-width:160px;overflow:hidden}
}
@media print{.om-ad-rail{display:none!important}}
