/* Zilch referral offer. Local branding assets; no third-party ad scripts. */
.zilch-promo-slot { padding: 0 0 48px; }
.zilch-promo {
    --zilch-ink: #123e36;
    display: grid;
    gap: 16px 28px;
    min-width: 0;
    padding: 28px 30px 22px;
    border: 1px solid #c5ded2;
    border-radius: 18px;
    background: linear-gradient(115deg, #eef8ef 0%, #f8fcf7 100%);
    color: var(--zilch-ink);
}
.zilch-promo--banner { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
.zilch-promo__brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.zilch-promo__icon { flex: 0 0 52px; width: 52px; height: 52px; padding: 8px; border: 1px solid #c5ded2; border-radius: 13px; background: #fff; }
.zilch-promo__name { display: block; color: var(--zilch-ink); font-size: 22px; font-weight: 700; letter-spacing: -.6px; line-height: 1.3; }
.zilch-promo__label { display: block; margin-top: 4px; color: #3e6055; font-size: 11px; font-weight: 500; letter-spacing: .2px; }
.zilch-promo .zilch-promo__title { margin: 0 0 6px; color: var(--zilch-ink); font-size: 22px; font-weight: 600; line-height: 1.35; letter-spacing: -.4px; border: 0; padding: 0; }
.zilch-promo__title span { font-weight: 800; }
.zilch-promo .zilch-promo__description { margin: 0; color: #3e6055; font-size: 13px; line-height: 1.7; }
.zilch-promo .zilch-promo__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--zilch-ink);
    border-radius: 50px;
    background: var(--zilch-ink);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s ease;
}
.zilch-promo .zilch-promo__cta:hover { background: #205b4e; color: #fff; }
.zilch-promo__cta svg { flex-shrink: 0; }
.zilch-promo .zilch-promo__terms { grid-column: 1 / -1; margin: 0; padding-top: 14px; border-top: 1px solid #d4e5d9; color: #49675c; font-size: 12px; line-height: 1.75; }
.zilch-promo__terms a { display: inline-block; color: var(--zilch-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.zilch-promo a:focus-visible { outline: 3px solid #126f57; outline-offset: 4px; }
.zilch-promo--card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 24px; margin-bottom: 28px; }
.zilch-promo--card .zilch-promo__title { font-size: 24px; }
.zilch-promo--card .zilch-promo__cta { width: 100%; }
.post-content .zilch-promo-slot { padding-bottom: 12px; }

/* Give narrower article columns the same compact layout as phones. */
.post-content .zilch-promo--banner { grid-template-columns: minmax(0, 1fr) auto; }
.post-content .zilch-promo--banner .zilch-promo__brand { grid-column: 1 / -1; }
.travel-guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 56px; align-items: start; }
.travel-guide-layout > article { min-width: 0; }
.guide-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.guide-table-scroll:focus-visible { outline: 3px solid var(--blue-mid); outline-offset: 3px; }
.travel-guide-sidebar { position: sticky; top: 88px; }
.travel-guide-layout article .zilch-promo { grid-template-columns: minmax(0, 1fr) auto; }
.travel-guide-layout article .zilch-promo .zilch-promo__brand { grid-column: 1 / -1; }

@media (max-width: 1050px) {
    .zilch-promo--banner { grid-template-columns: minmax(0, 1fr) auto; }
    .zilch-promo--banner .zilch-promo__brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .travel-guide-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .travel-guide-sidebar { position: static; }
}
@media (max-width: 600px) {
    .zilch-promo-slot { padding-bottom: 32px; }
    .zilch-promo,
    .post-content .zilch-promo--banner,
    .travel-guide-layout article .zilch-promo { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 22px; }
    .zilch-promo .zilch-promo__title { font-size: 23px; }
    .zilch-promo__cta { width: 100%; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .zilch-promo__cta { transition: none; }
}
