.banner-ad[hidden] { display:none !important; }
.banner-ad { margin:1rem auto; max-width:1120px; padding:0 1rem; }
.banner-ad--sidebar { padding:0; max-width:100%; }
.banner-ad__label { display:block; margin-bottom:.3rem; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-text-muted); }
.banner-ad a { display:block; width:fit-content; max-width:100%; margin-inline:auto; border:0; border-radius:0; }
.banner-ad a:focus-visible { outline:3px solid var(--color-primary, #6366f1); outline-offset:3px; }
.banner-ad img { display:block; width:auto; max-width:100%; height:auto; max-height:200px; object-fit:contain; }
.banner-ad--sidebar img { max-height:600px; }
/* Only tighten the hero when its header banner has actually loaded. */
.intel-home .intel-home-hero:has(> .banner-ad--header:not([hidden])) { padding-top:calc(var(--header-height, 72px) + .5rem); }
.intel-home .intel-cases-ticker + .intel-home-hero:has(> .banner-ad--header:not([hidden])) { padding-top:.5rem; }
.intel-home .intel-home-hero > .banner-ad--header { margin-top:0; margin-bottom:.75rem; }
/* Admin creative console: reuse the metrics page hierarchy and shared tokens. */
body.intel-admin .intel-ads-admin { font-size:.85rem; line-height:1.55; }
.intel-ads-admin .ads-eyebrow { margin:0 0 .3rem; color:var(--admin-edge); font-size:.65rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.intel-ads-admin .ads-copy { margin:0; color:var(--admin-muted); font-size:.78rem; line-height:1.65; }
.intel-ads-admin .admin-header .ads-copy { max-width:650px; }
.intel-ads-admin .section-header { display:flex; justify-content:space-between; align-items:center; }
.intel-ads-admin .section-header h2 { margin:0; }
.intel-ads-admin .ads-period { color:var(--admin-muted); font-size:.68rem; white-space:nowrap; }
.intel-ads-admin .ads-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.intel-ads-admin .stat-card h3 { margin:0 0 .5rem; }
.intel-ads-admin .stat-card .value { margin:0 0 .3rem; font-size:clamp(1.5rem,3vw,2rem); font-weight:750; line-height:1.2; letter-spacing:-.03em; }
.intel-ads-admin .ads-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
.intel-ads-admin .ads-editor label { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:.75rem; font-weight:650; }
.intel-ads-admin .ads-editor input:not([type=checkbox]),.intel-ads-admin .ads-editor select { width:100%; min-width:0; min-height:40px; padding:9px 12px; font:inherit; font-weight:450; }
.intel-ads-admin .ads-editor input[type=checkbox] { accent-color:var(--admin-edge); width:16px; height:16px; flex-shrink:0; }
.intel-ads-admin .ads-editor input[type=file] { font-size:.72rem; }
.intel-ads-admin .ads-editor input[type=file]::file-selector-button { margin-right:12px; padding:6px 10px; border:1px solid var(--admin-border); border-radius:5px; background:var(--admin-inset); color:var(--admin-edge); font:inherit; cursor:pointer; }
.intel-ads-admin .ads-editor small { display:block; color:var(--admin-muted); font-size:.68rem; font-weight:400; line-height:1.5; }
.intel-ads-admin .ads-editor fieldset,.intel-ads-admin .ads-wide { grid-column:1/-1; }
.intel-ads-admin .ads-editor fieldset { display:flex; flex-wrap:wrap; gap:8px; min-width:0; margin:0; padding:12px; border:1px solid var(--admin-border); border-radius:8px; background:var(--admin-inset); }
.intel-ads-admin .ads-editor legend { padding:0 6px; color:var(--admin-muted); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.intel-ads-admin .ads-editor fieldset label { flex-direction:row; align-items:center; padding:7px 10px; border:1px solid var(--admin-border); border-radius:6px; font-size:.7rem; }
.intel-ads-admin .ads-editor fieldset label:has(input:checked) { color:var(--admin-edge); background:color-mix(in srgb,var(--admin-edge) 10%,transparent); border-color:color-mix(in srgb,var(--admin-edge) 45%,transparent); }
.intel-ads-admin .ads-editor .ads-check { flex-direction:row; align-items:center; gap:10px; padding:12px; border:1px solid var(--admin-border); border-radius:6px; }
.intel-ads-admin .ads-preview-wrap:has(img[hidden]) { display:none; }
.intel-ads-admin .ads-editor img { display:block; max-width:100%; max-height:220px; object-fit:contain; border-radius:6px; border:1px solid var(--admin-border); }
.intel-ads-admin .ads-editor img[hidden] { display:none; }
.intel-ads-admin .ads-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.intel-ads-admin .ads-form-footer { padding-top:16px; border-top:1px solid var(--admin-border); }
.intel-ads-admin .btn { gap:7px; min-height:38px; padding:9px 14px; font-size:.75rem; font-weight:650; line-height:1.2; box-shadow:none; }
.intel-ads-admin .btn svg { display:block; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.intel-ads-admin .btn:hover { transform:none; }
.intel-ads-admin .btn-primary:hover { background:color-mix(in srgb,var(--admin-edge) 24%,var(--admin-inset)); }
.intel-ads-admin .btn:disabled { opacity:.5; cursor:wait; }
.intel-ads-admin .ads-table-note { margin-bottom:14px; }
.intel-ads-admin .ads-table-wrap { overflow:auto; max-width:100%; border:1px solid var(--admin-border); border-radius:8px; }
.intel-ads-admin .ads-table { width:100%; border-collapse:collapse; font-size:.75rem; }
.intel-ads-admin .ads-table th,.intel-ads-admin .ads-table td { text-align:left; padding:12px; border-bottom:1px solid var(--admin-border); vertical-align:middle; white-space:nowrap; }
.intel-ads-admin .ads-table th { position:sticky; top:0; z-index:1; background:var(--admin-inset); font-size:.63rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; }
.intel-ads-admin .ads-table tbody tr:last-child td { border-bottom:0; }
.intel-ads-admin .ads-table .ads-number { text-align:right; font-variant-numeric:tabular-nums; }
.intel-ads-admin .ads-campaign-name { display:block; max-width:240px; white-space:normal; font-weight:650; }
.intel-ads-admin .ads-advertiser { display:block; color:var(--admin-muted); font-size:.66rem; }
.intel-ads-admin .ads-table .ads-path { max-width:280px; overflow:hidden; text-overflow:ellipsis; color:var(--admin-muted); }
.intel-ads-admin .ads-campaign-heading { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:3px; }
.intel-ads-admin .ads-cell-detail { display:block; margin-top:4px; color:var(--admin-muted); font-size:.66rem; font-weight:400; white-space:normal; }
.intel-ads-admin .ads-placement { text-transform:capitalize; }
.intel-ads-admin .ads-placement .ads-cell-detail { max-width:160px; }
.intel-ads-admin .ads-table .ads-path { display:block; }
.intel-ads-admin .ads-campaign-table tbody td { padding-top:18px; padding-bottom:18px; }
.intel-ads-admin .ads-row-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.intel-ads-admin .ads-row-actions .btn { min-height:32px; padding:7px 9px; font-size:.67rem; }
.intel-ads-admin .ads-row-actions .ads-archive { color:var(--admin-negative); }
.intel-ads-admin .ads-status { display:inline-flex; border:1px solid currentColor; border-radius:5px; padding:3px 7px; font-size:.61rem; font-weight:700; letter-spacing:.03em; color:var(--admin-muted); }
.intel-ads-admin .ads-status--active { color:var(--admin-positive); }
.intel-ads-admin .ads-status--scheduled { color:var(--admin-edge); }
.intel-ads-admin .ads-status--paused { color:var(--admin-warning); }
.intel-ads-admin .ads-message { margin:0 0 16px; padding:10px 12px; font-size:.78rem; color:var(--admin-positive); border:1px solid var(--admin-border); border-radius:6px; background:var(--admin-inset); }
.intel-ads-admin .ads-message:empty { display:none; }
.intel-ads-admin .ads-message[role=alert] { color:var(--admin-negative); }
.intel-ads-admin .ads-analytics { max-height:420px; }
.intel-ads-admin #ads-analytics-section { scroll-margin-top:calc(var(--header-height, 72px) + 16px); }
.intel-ads-admin .ads-table .ads-empty { padding:28px 16px; text-align:center; color:var(--admin-muted); font-size:.78rem; }
@media(max-width:900px) { .intel-ads-admin .ads-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .intel-ads-admin .ads-editor { grid-template-columns:1fr; gap:16px; } .intel-ads-admin .ads-form-footer .btn { flex:1; } }
