/* Sponsor ad spots. Fixed ratios (images carry width/height) so nothing jumps while they load. */
.ad-tag { display: inline-block; align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: var(--green-50); color: var(--color-muted); font-size: var(--xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ad { position: relative; display: flex; flex-direction: column; gap: var(--sp-2); margin-block: var(--sp-6); padding: var(--sp-3); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); box-shadow: var(--shadow); }
.ad a, .ad span[data-ad] { display: block; }
.ad img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }
.ad--article_side { max-width: 320px; margin-block: var(--sp-4); }
.ad--article_bottom, .ad--events_under { margin-top: var(--sp-7); }

/* page-width band (homepage) */
.ad-sec { padding-block: var(--sp-5); background: var(--color-background); }
.ad-sec .ad { margin: 0; max-width: 1200px; margin-inline: auto; }

/* footer sponsor logos */
.ad-sec--footer { background: var(--ivory-deep); border-top: 1px solid var(--color-border); padding-block: var(--sp-6); }
.ad-heading { text-align: center; font-size: var(--xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--color-muted); margin-bottom: var(--sp-4); }
.ad-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--sp-4) var(--sp-6); }
.ad-logo a, .ad-logo span { display: block; }
.ad-logo img { display: block; height: 56px; width: auto; max-width: 160px; object-fit: contain; }
@media (max-width: 559px) { .ad-logo img { height: 44px; max-width: 120px; } .ad-logos { gap: var(--sp-3) var(--sp-5); } }

/* Store: an ad card in the listing grid */
.yellanda-store-page .ys-ad { padding: var(--sp-3); gap: var(--sp-2); justify-content: center; border-left-color: var(--color-border); }
.yellanda-store-page .ys-ad img { width: 100%; height: auto; border-radius: var(--radius-lg); display: block; }
.yellanda-store-page .ys-ad a, .yellanda-store-page .ys-ad span[data-ad] { display: block; }
.yellanda-store-page .ys-grid.is-list .ys-ad { flex-direction: column; align-items: flex-start; }
.yellanda-store-page .ys-grid.is-list .ys-ad img { max-height: 120px; width: auto; max-width: 100%; }
@media (max-width: 899px) { .ad--article_side { max-width: none; } }
