/* Banner-specific brand treatment; layout and spacing use existing Tailwind utilities. */
.esj-search-ad {
    border-color: #b9d9c8;
    background: linear-gradient(110deg, #edf8f1, #fff 55%, #edf8f1);
    color: #173a2c;
}
.esj-search-ad__label, .esj-search-ad__cta { background: #086d45; color: #fff; }
.esj-search-ad__label { letter-spacing: .04em; }
.esj-search-ad__title { color: #173a2c; margin: 0; }
.esj-search-ad__description { color: #465d50; }
.esj-search-ad__code { position: relative; background: #dceee3; color: #065133; cursor: pointer; }
.esj-search-ad__code code { font: inherit; color: inherit; padding: 0; background: none; }
.esj-search-ad__code:hover { background: #cde5d6; }
.esj-search-ad__cta { width: 100%; text-decoration: none; min-height: 48px; }
.esj-search-ad__cta:hover { background: #065133; color: #fff; }
.esj-search-ad__cta:focus-visible, .esj-search-ad__code:focus-visible { outline: 2px solid #086d45; outline-offset: 3px; }
.esj-search-ad__code[data-feedback]::after {
    content: attr(data-feedback); position: absolute; z-index: 5; left: 0; bottom: calc(100% + 7px);
    width: max-content; max-width: 220px; padding: 6px 9px; border-radius: 5px;
    background: #173a2c; color: #fff; font-size: 12px; font-weight: 500; line-height: 1.5;
    pointer-events: none;
}
@media (min-width: 1024px) {
    .esj-search-ad { align-items: center; }
    .esj-search-ad__cta { width: auto; }
}
