.sponsor-directory{margin:20px 0;padding:22px;border:1px solid #b8cfc3;border-radius:12px;background:#fff;color:#174b43}.sponsor-directory h3{margin:0 0 8px}.sponsor-directory p,.sponsor-tools p{font-size:.94rem;line-height:1.75}.sponsor-directory details{margin-top:16px}.sponsor-directory summary{cursor:pointer;min-height:48px;padding:10px 14px;border:1px solid #9dbbab;border-radius:8px;font-weight:700;background:#edf4ef}.sponsor-directory ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;list-style:none;padding:14px 0 0;margin:0}.sponsor-directory li{min-width:0}.sponsor-directory a{display:block;min-height:44px;padding:8px 10px;overflow-wrap:anywhere;text-decoration:underline}.sponsor-tools{margin:20px 0}.sponsor-tools button{font:inherit;min-height:48px;padding:10px 16px;border:1px solid #7b9d8a;border-radius:8px;color:#174b43;background:#fff;cursor:pointer}.sponsor-tools button:disabled{opacity:.6;cursor:default}.sponsor-caption{width:100%;margin-top:12px!important}.sponsor-caption a{display:block;min-height:44px;padding:10px 8px;line-height:1.6;color:#174b43;text-decoration:underline;font-weight:700;overflow-wrap:anywhere}.sponsor-image-status{font-size:.85rem!important;line-height:1.6!important}.sponsor-image-status:empty{display:none}.partner-tile>img[width="1"][height="1"]{width:1px!important;height:1px!important;max-width:1px;min-height:0;align-self:flex-start}.sponsor-directory :focus-visible,.sponsor-tools :focus-visible{outline:3px solid #b18132;outline-offset:3px}@media(max-width:600px){.sponsor-directory{padding:16px}.sponsor-directory ul{grid-template-columns:1fr}.sponsor-tools button{width:100%}}

.partner-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.partner-tile{min-height:170px}.partner-tile img[data-sponsored-banner]{max-width:100%;height:auto}.partner-tile img[data-load-state="failed"]{min-height:100px}@media(max-width:760px){.partner-gallery{grid-template-columns:1fr}.partner-tile{min-height:170px}}

/* Preserve the full banner area while mobile image requests are pending. */
.partner-tile img[data-sponsored-banner],.ad img:not([width="1"]){max-width:100%;height:auto;object-fit:contain}
.partner-tile img[data-load-state="loading"],.partner-tile img[data-load-state="stalled"],.partner-tile img[data-load-state="failed"],.ad img[data-ad-load-state="loading"],.ad img[data-ad-load-state="stalled"],.ad img[data-ad-load-state="failed"]{min-height:100px}
.site-qr-last>*{min-width:0;max-width:100%}
.site-qr-last img{max-width:100%;height:auto}
@media(max-width:480px){.site-qr-last{grid-template-columns:minmax(0,1fr)}}

/* Customer view stays quiet; ?debug exposes diagnostic controls. */
.sponsor-tools[hidden]{display:none!important}
.sponsor-image-status,.ad-image-status{display:none!important}
.sponsor-image-unavailable,.sponsor-empty-link{display:none!important}
.partner-tile.sponsor-compact,.ad.sponsor-compact{min-height:0!important;padding:16px!important}
.partner-gallery{align-items:start}
.sponsor-card-link{max-width:100%;overflow-wrap:anywhere}
.sponsor-name{display:block;font-size:15px;line-height:1.6;color:#174b43}
.sponsor-detail{display:inline-block;margin-top:8px;padding:10px 18px;border:1px solid #7b9d8a;border-radius:8px;background:#fff;color:#174b43;font-size:14px;line-height:1.5;text-decoration:none;min-height:44px;box-sizing:border-box}
.ad-caption,.sponsor-caption{line-height:1.6!important;text-decoration:none!important}
.sponsor-link-compact{min-height:0!important;line-height:1.6!important}
.sponsor-notice{font-size:14px;line-height:1.8;overflow-wrap:anywhere;margin:14px 0}
.ad.sponsor-compact p:has(>.sponsor-link-compact){margin:8px 0}
@media(max-width:480px){.ad,.partner-tile{min-width:0;box-sizing:border-box}.sponsor-card-link,.sponsor-name{max-width:100%}}
.partner-tile.sponsor-compact .sponsor-caption{margin:0!important}
.partner-tile.sponsor-compact .sponsor-caption a{padding:0}
