/* A fixed-size, labelled break in article text — never beside share/download CTAs. */
.ad-break{width:300px;margin:52px 0 52px calc(50% - 150px);font:12px/1.5 Arial,Helvetica,sans-serif;text-align:center;color:var(--muted)}
.ad-label{font-size:10px;letter-spacing:.16em;line-height:16px;margin-bottom:12px;font-weight:700}
.ad-slot{display:block;width:300px;height:250px;min-width:300px;min-height:250px;background:#ebe8de;contain:layout paint size;overflow:hidden;text-align:left}
.ad-slot>iframe{border:0;display:block;width:300px;height:250px}
.ad-placeholder{display:flex;flex-direction:column;justify-content:center;gap:10px;align-items:center;width:300px;height:250px;box-sizing:border-box;padding:32px!important;margin:0!important;font:14px/1.6 Arial,Helvetica,sans-serif;text-align:center;color:#5e6056}
.ad-placeholder span{font-size:12px}
.ad-controls{margin-top:32px;min-height:76px}
.ad-controls button,.privacy-preferences{min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 14px;font:12px/1.5 Arial,Helvetica,sans-serif}
.ad-controls p{margin:10px 0 0!important;font:11px/1.5 Arial,Helvetica,sans-serif}
.advertising-preferences-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:4px}
.advertising-dialog{color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:4px;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:26px;box-shadow:0 12px 50px #0002;font:14px/1.6 Arial,Helvetica,sans-serif;overflow:auto}
.advertising-dialog::backdrop{background:rgba(32,33,30,.45)}
.advertising-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.advertising-dialog h2{margin:0;font:28px/1.15 Georgia,serif;letter-spacing:-.03em}
.advertising-dialog-heading button{flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);background:none;font:26px/1 Arial,sans-serif;color:var(--ink)}
.advertising-dialog p{margin:14px 0}
.advertising-dialog a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.advertising-choice-status{font-size:12px;font-weight:700}
.advertising-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.advertising-choices button{min-height:48px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:12px 10px;font:700 13px/1.5 Arial,Helvetica,sans-serif}
.advertising-choices button:hover{background:#e7e3d6}
@media(max-width:520px){.advertising-dialog{padding:20px}.advertising-dialog h2{font-size:25px}.advertising-dialog p{font-size:13px;line-height:1.55}.ad-break{margin-top:44px;margin-bottom:44px}.footer-links .advertising-preferences-link{min-height:44px}}

/* One catalogue break between the introduction and the gallery, never in cards. */
.catalog-ad-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:50px}
.catalog-ad-section .ad-break{margin-top:32px;margin-bottom:32px}

/* No empty 300x250 billboard before consent: keep the invitation compact. */
.ad-slot[hidden]{display:none!important}
.ad-break:not([data-ad-active]){width:100%;max-width:690px;margin:28px auto;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;text-align:left}
.ad-break:not([data-ad-active]) .ad-label{margin:0;letter-spacing:.04em;font-size:11px}
.ad-break:not([data-ad-active]) .ad-controls{display:contents}
.ad-break:not([data-ad-active]) .ad-controls button{grid-column:2;grid-row:1 / span 2;margin:0}
.ad-break:not([data-ad-active]) .ad-controls p{grid-column:1;grid-row:2;margin:0!important}
.catalog-ad-section{margin-bottom:28px}
.catalog-ad-section .ad-break:not([data-ad-active]){border:0;margin-top:18px;margin-bottom:18px}
