.site-ad-notice { margin-block: 16px 0; color: #655122; font-size: .8rem; }
.banner-ad { clear: both; margin: 40px 0; padding: 20px 0; border-block: 1px solid #d6dfe0; text-align: center; background: #f7f8f6; }
.banner-ad--home { margin: 0 0 32px; border: 1px solid #d6dfe0; border-radius: 10px; }
.banner-ad .banner-label { margin: 0 0 12px; color: #655122; font-size: .75rem; line-height: 1.6; }
.banner-creative { width: min(100%, var(--banner-width)); margin: auto; }
.banner-creative > a { display: flex; align-items: center; width: 100%; min-height: 48px; aspect-ratio: var(--banner-ratio); }
.banner-creative > a img { display: block; width: 100%; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; }
.banner-creative > a:focus-visible { outline: 3px solid #ad852e; outline-offset: 4px; }
.banner-creative > img[width="1"][height="1"] { display: block; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; }
.general-advertising { margin-top: 32px; padding: 36px 0; border-top: 1px solid #d6dfe0; background: #f7f8f6; }
.general-advertising .ad-label { display: inline-block; margin: 0 0 8px; padding: 3px 10px; border: 1px solid #8f7849; border-radius: 4px; color: #645024; background: #fff9ec; font-size: .8rem; font-weight: 700; }
.general-advertising h2 { margin: 0 0 12px; font-size: clamp(1.3rem, 2vw, 1.65rem); }
.general-ad-intro { max-width: 72ch; margin: 0 0 24px; color: #526063; font-size: .88rem; line-height: 1.8; }
.general-ad-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.general-ad-card { min-width: 0; display: flex; flex-direction: column; padding: 24px; border: 1px solid #d6dfe0; border-radius: 10px; background: #fff; }
.general-ad-card h3 { margin: 0 0 10px; font-size: 1.05rem; }
.general-ad-card p { flex: 1; margin: 0 0 20px; color: #526063; font-size: .9rem; line-height: 1.8; }
.ad-creative > a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 12px 20px; border: 1px solid #176a63; border-radius: 6px; background: #176a63; color: #fff; font-weight: 700; line-height: 1.6; text-decoration: none; text-align: center; overflow-wrap: anywhere; box-sizing: border-box; }
.general-ad-card .ad-creative > a { width: 100%; }
.ad-creative > a:hover { background: #10554f; }
.ad-creative > a:focus-visible { outline: 3px solid #ad852e; outline-offset: 4px; }
.ad-creative > img[width="1"][height="1"] { width: 1px; height: 1px; max-width: 1px; padding: 0; margin: 0; border: 0; }
.ad-privacy { margin: 20px 0 0; font-size: .8rem; }
@media (max-width: 760px) { .general-ad-grid { grid-template-columns: 1fr; } .general-advertising { padding: 28px 0; } .general-ad-card { padding: 20px; } }

/* Empty/disabled slots emit no markup. Issued text creatives only. */
.inline-related-ad{clear:both;margin:36px 0;padding:20px;border:1px solid #d4ded6;border-radius:12px;background:#f5f8f3;break-inside:avoid}.inline-related-ad .inline-ad-label{margin:0 0 12px;font-size:.8125rem;font-weight:700;line-height:1.6;color:#655122}.inline-related-ad .ad-creative{min-width:0}.inline-related-ad .ad-creative>a{max-width:100%;min-height:48px}.inline-related-ad .ad-creative>img[width="1"][height="1"]{display:block;width:1px;height:1px;max-width:1px;margin:0;padding:0;border:0}@media(max-width:420px){.inline-related-ad{padding:16px;margin-block:28px}}
