/* Core 4.20.14 Campaign Experience runtime. Canonical shared Campaign CSS. */
.core-campaign-slot[hidden]{display:none!important}
.core-campaign-slot{box-sizing:border-box;max-width:100%;min-width:0}
.campaign-bridge-flow-start,.campaign-bridge-flow-end{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;clear:both}
.campaign-bridge-flow-start .campaign-bridge-slot,.campaign-bridge-flow-end .campaign-bridge-slot{width:100%;max-width:100%;box-sizing:border-box;padding:0 16px;margin:10px auto}
.campaign-bridge-slot.slot-top_banner,.campaign-bridge-slot.slot-bottom_banner{width:100%;padding:0 16px;margin:10px auto}
.core-campaign-card{position:relative;display:flex;gap:14px;align-items:center;width:min(100%,var(--campaign-preferred-width,100%));max-width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:12px;background:#111827;color:#e5edf8;overflow:hidden;box-shadow:0 8px 28px rgba(15,23,42,.12);margin-inline:auto}
.core-campaign-media{display:flex;align-items:center;justify-content:center;flex:0 1 auto;max-width:min(44%,520px);min-width:0;text-decoration:none;color:inherit;overflow:hidden;border-radius:10px}
.core-campaign-media img,.core-campaign-media video{display:block;max-width:100%;width:100%;height:auto;max-height:220px;object-fit:contain;object-position:center;border-radius:10px}
.core-campaign-copy{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.core-campaign-copy small{opacity:.78}.core-campaign-copy strong{font-size:1rem}.core-campaign-copy span{line-height:1.4}
.core-campaign-dismiss{position:absolute;top:6px;right:8px;border:0;background:rgba(15,23,42,.78);color:#fff;border-radius:50%;width:28px;height:28px;cursor:pointer;z-index:4}
.core-campaign-slot.slot-floating{position:fixed;right:22px;bottom:22px;z-index:9990;width:min(420px,calc(100vw - 28px))}
.core-campaign-slot.slot-popup{position:fixed;inset:0;z-index:9995;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,23,.45)}
.core-campaign-slot.slot-popup[hidden]{display:none!important}.core-campaign-slot.slot-popup .core-campaign-card{width:min(680px,100%)}
.core-campaign-slot.slot-left_rail .core-campaign-card,.core-campaign-slot.slot-right_rail .core-campaign-card{flex-direction:column;align-items:stretch}
.core-campaign-slot.slot-left_rail .core-campaign-media,.core-campaign-slot.slot-right_rail .core-campaign-media{max-width:100%}

/* Admin Campaign placement manager: never hide action controls off-screen. */
.campaign-editor-grid{grid-template-columns:minmax(0,1fr)!important}
.campaign-placement-manager{min-width:0}
.campaign-placement-table-wrap{overflow-x:auto;max-width:100%;scrollbar-gutter:stable}
.campaign-placement-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0}
.campaign-placement-table th,.campaign-placement-table td{vertical-align:top;white-space:normal}
.campaign-placement-table th:last-child,.campaign-placement-table td:last-child{position:sticky;right:0;z-index:3;background:var(--card-bg,#fff);box-shadow:-10px 0 16px -16px rgba(15,23,42,.7);min-width:190px}
.campaign-placement-media{display:flex!important;align-items:center;gap:8px;max-width:220px!important;overflow:hidden!important}
.campaign-placement-media img{display:block!important;width:56px!important;height:40px!important;min-width:56px!important;max-width:56px!important;max-height:40px!important;object-fit:cover!important;border-radius:8px}
.campaign-placement-media small{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.campaign-placement-table .actions{position:relative;z-index:4;display:flex;gap:6px;flex-wrap:wrap}
.campaign-media-preview img,.campaign-media-preview video{display:block;max-width:100%!important;max-height:320px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto}
.campaign-media-upload-button{color:#fff!important;opacity:1!important;visibility:visible!important;min-height:42px!important;font-weight:700!important}
.campaign-audience-select{min-height:150px}
.campaign-analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:16px}
.campaign-analytics-summary .metric{padding:14px;border:1px solid rgba(148,163,184,.25);border-radius:12px}
.campaign-analytics-summary .metric strong{display:block;font-size:1.35rem}
.campaign-preview-card{margin:12px auto}.campaign-preview-shell{padding:16px;background:#f1f5f9;min-height:100vh}
.campaign-preview-shell .preview-header{padding:16px;background:#0f172a;color:#fff;border-radius:10px;margin-bottom:12px}
.campaign-preview-shell .preview-content{max-width:1200px;margin:auto}
.campaign-auto-custom-note{display:none}.campaign-display-dirty .campaign-auto-custom-note{display:block}

@media(max-width:900px){
  .core-campaign-card{align-items:stretch;flex-direction:column}
  .core-campaign-media{max-width:100%;width:100%}
  .core-campaign-media img,.core-campaign-media video{max-width:100%;width:100%}
  .campaign-placement-table{min-width:820px}
}
