/* Applied only when the operator publishes a public appearance configuration. */
body[data-site-appearance] .main-header { background:var(--color-header); color:var(--color-header-text); }
body[data-site-appearance] .main-header small { color:inherit; }
body[data-site-appearance] .main-header .category-toggle,
body[data-site-appearance] .main-header .search-form { color:var(--color-text); }
body[data-site-appearance] .site-footer { background:var(--color-footer); color:var(--color-footer-text); }
body[data-site-appearance] .site-footer h2,
body[data-site-appearance] .site-footer nav a,
body[data-site-appearance] .site-footer p { color:inherit; }
body[data-site-appearance] .button-dark,
body[data-site-appearance] .purchase-primary,
body[data-site-appearance] .search-form button { background:var(--color-buttons); color:var(--color-button-text); border-color:var(--color-buttons); }
body[data-site-appearance] .button-dark:hover,
body[data-site-appearance] .purchase-primary:not(:disabled):hover,
body[data-site-appearance] .search-form button:hover { background:var(--color-buttons); box-shadow:inset 0 0 0 2px var(--color-button-text); }
body[data-site-appearance] .text-link,
body[data-site-appearance] .cart-text-button,
body[data-site-appearance] .institution-content a,
body[data-site-appearance] .institution-breadcrumb a,
body[data-site-appearance] .product-breadcrumb a { color:var(--color-links); }
.promotional-banners { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; margin-top:18px; }
.promotional-banner { min-width:0; padding:18px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-white); color:var(--color-text); overflow-wrap:anywhere; }
.promotional-banner img { width:100%; height:auto; max-height:360px; object-fit:contain; margin-bottom:12px; border-radius:8px; }
.promotional-banner h2 { font-size:20px; }
.promotional-banner p { margin-top:8px; }
.promotional-banner:focus-visible { outline:3px solid var(--color-links); outline-offset:3px; }
@media (max-width:600px) { .promotional-banners { grid-template-columns:minmax(0,1fr); } }
