.brand a { text-decoration: none; }
.scroll-pan-window-video video { object-position:var(--image-x,50%) var(--video-pan-position,var(--image-y,50%)); }
.page-block { min-width: 0; }
.page-block :is(h2,h3,.rich-text,a) { overflow-wrap: anywhere; }
.custom-grid { display: grid; gap: 1.25rem; }
.custom-heading { margin-bottom: 1.75rem; }
.custom-heading h2 { max-width: none; }
.custom-item { min-width: 0; }
.custom-item .card-number { margin-bottom: 1.5rem; }
.custom-item h3 { margin-bottom: 1rem; }
.custom-layout-dividers { gap: 0; border-block: 1px solid var(--line); }
.custom-layout-dividers .custom-item { padding: 2rem; border-right: 1px solid var(--line); }
.custom-layout-dividers .custom-item:last-child { border-right: 0; }
.custom-layout-cards .custom-item { padding: 2rem; border: 1px solid var(--line); color:var(--text); background: var(--white); border-radius: .6rem 4rem .6rem .6rem; }
.custom-layout-cards .custom-item:nth-child(3n+2) { color: var(--white); background: var(--navy); }
.custom-item h3 { color: inherit; }
.custom-item .rich-text a { color: inherit; }
.columns-1 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text,.section-grid,.story-panel,.election-section,.contact-section) { grid-template-columns: minmax(0,1fr); }
.columns-2 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text,.section-grid,.story-panel,.election-section,.contact-section) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.columns-3 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text,.section-grid,.story-panel,.election-section,.contact-section) { grid-template-columns: repeat(3,minmax(0,1fr)); }
.role-card>.rich-text { color: var(--muted); }
.priority-card>.rich-text { color: var(--muted); }
.priority-card:nth-child(3n+2)>.rich-text { color: var(--white); }
.story-panel>.rich-text { align-self: end; font-size: clamp(1.05rem,1.5vw,1.3rem); }
.builder-create,.preview-actions { display:flex; align-items:end; gap:1rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.builder-create .field,.preview-actions .field { flex:1; min-width:min(15rem,100%); }
.builder-row,.media-row { margin:.65rem 0; border:1px solid #d8dee4; border-radius:.75rem; background:#fff; }
.builder-row>summary,.media-row>summary { display:flex; gap:.75rem; align-items:center; padding:1rem; cursor:pointer; font-weight:750; }
.builder-row>summary::after,.media-row>summary::after { content:'+'; margin-left:auto; color:#df1f2d; }
.builder-row[open]>summary::after,.media-row[open]>summary::after { content:'−'; }
.block-settings,.media-settings { padding:1rem; }
.drag-handle { touch-action:none; cursor:grab; border:1px solid #d8dee4; border-radius:.35rem; padding:.4rem .65rem; background:#f1f3f5; flex-shrink:0; }
.builder-row.is-dragging { opacity:.5; outline:2px solid #df1f2d; }
.block-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0; }
.builder-item { border:1px solid #d8dee4; border-radius:.5rem; margin:.8rem 0; }
.builder-item>summary { cursor:pointer; padding:.8rem; font-weight:700; }
.builder-item>div { padding:1rem; }
details.repeater-card>summary { cursor:pointer; font-weight:750; padding:.25rem 0; }
details.repeater-card>div { padding-top:1rem; }
.builder-theme { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin:1rem 0; }
.color-field input[type=color] { width:100%; min-height:2.5rem; }
.color-favorites { display:flex; gap:.25rem; flex-wrap:wrap; margin:.4rem 0; }
.color-favorites button { width:1.6rem; height:1.6rem; padding:0; border:1px solid #aeb8c1; border-radius:.25rem; }
.swatch-red { background:#df1f2d; }.swatch-navy { background:#0b1f33; }.swatch-white { background:#fff; }.swatch-cream { background:#fbf8f5; }.swatch-mist { background:#f1f3f5; }.swatch-sage { background:#4f8f78; }
.media-guide { background:#f1f3f5; border-radius:.65rem; padding:1.1rem; margin-bottom:1.2rem; }
.media-guide p:last-child { margin-bottom:0; }
.media-group { border:1px solid #d8dee4; border-radius:.65rem; margin:.8rem 0; }
.media-group>summary { display:flex; align-items:center; gap:.5rem; padding:1rem; font-weight:800; cursor:pointer; list-style:none; }
.media-group>summary::-webkit-details-marker { display:none; }
.media-group>summary::after { content:'+'; margin-left:auto; color:#df1f2d; }
.media-group[open]>summary::after { content:'−'; }
.media-group-body { padding:0 1rem 1rem; }
.media-group small { color:#657482; font-weight:500; }
.media-upload-field { display:block; margin-bottom:1.2rem; }
[data-upload-status]:empty,[data-preview-status]:empty { display:none; }
.admin-page-dashboard .admin-titlebar { padding-block:1.4rem; }
.admin-page-dashboard .admin-titlebar h1 { font-size:clamp(2rem,4vw,3rem); }
.admin-page-dashboard .editor-shell { width:min(100%,100rem); padding-top:1rem; }
.editor-navigation { display:flex; flex-wrap:wrap; gap:.4rem; padding:.65rem; margin-bottom:1rem; background:#fff; border:1px solid #d8dee4; border-radius:.75rem; }
.editor-navigation button { border:1px solid transparent; background:transparent; color:#20364c; padding:.65rem .8rem; border-radius:.45rem; font-weight:700; font-size:.9rem; cursor:pointer; }
.editor-navigation button:hover { background:#f1f3f5; }
.editor-navigation button[aria-selected=true] { background:#0b1f33; color:#fff; }
.editor-navigation-hint { display:none; }
.editor-has-navigation>[data-editor-panel]>summary { display:none; }
.editor-panel-title { margin:0; padding:1.1rem 1.4rem; font-size:1.3rem; color:#0b1f33; border-bottom:1px solid #d8dee4; }
.editor-has-navigation>[data-editor-panel] { scroll-margin-top:5.5rem; }
.editor-has-navigation>[data-preview-section]>.editor-section-body { padding:1rem; }
.editor-shell.is-preview-active>.editor-note { display:none; }
.preview-dialog { width:min(100rem,calc(100% - 2rem)); max-width:none; height:calc(100svh - 2rem); max-height:none; padding:1rem; border:1px solid #d8dee4; border-radius:.75rem; background:#fff; color:#0b1f33; overflow:auto; }
.preview-dialog::backdrop { background:rgba(11,31,51,.7); }
.preview-dialog-heading { display:flex; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.preview-dialog-heading h2 { margin:0; font-size:1.25rem; }
.preview-dialog .preview-actions { margin-bottom:.75rem; }
.preview-dialog [data-preview-enlarge] { display:none; }
.has-preview-dialog { overflow:hidden; }
.media-thumb { width:100%; max-height:15rem; object-fit:cover; border-radius:.5rem; margin-bottom:1rem; }
.media-window { width:100%; height:12rem; overflow:hidden; }
.media-window img { width:100%; height:18rem; object-fit:cover; }
.inline-editor .editor-surface { min-height:2.7rem; }
.device-preview { width:100%; margin-inline:auto; overflow:hidden; background:#e5e9ed; border:1px solid #d8dee4; border-radius:.65rem; }
.device-preview iframe { display:block; border:0; transform-origin:top left; background:#fbf8f5; }
[data-upload-progress] { width:100%; }
.editor-shell [hidden] { display:none!important; }
.admin-body [data-rich-editor] .editor-toolbar { flex-wrap:wrap; }
.editor-toolbar button.is-active { background:#0b1f33; color:#fff; }
@media(max-width:1000px) {
 .columns-3 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .editor-navigation { flex-wrap:nowrap; overflow-x:auto; max-width:100%; scrollbar-width:thin; }
 .editor-navigation button { flex:0 0 auto; white-space:nowrap; }
 .editor-navigation-hint { display:block; margin:-.5rem 0 1rem; font-size:.8rem; color:#657482; }
 .editor-panel-title { padding:1rem; font-size:1.1rem; }
 .admin-page-dashboard .admin-titlebar { padding-block:1rem; }
 .preview-dialog { width:calc(100% - .5rem); height:calc(100svh - .5rem); padding:.75rem; }
 .preview-dialog-heading { align-items:start; }
 .preview-dialog-heading h2 { font-size:1rem; }
 .columns-1 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text,.section-grid,.story-panel,.election-section,.contact-section),
 .columns-2 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text,.section-grid,.story-panel,.election-section,.contact-section),
 .columns-3 :is(.custom-grid,.roles-grid,.priority-grid,.about-copy>.rich-text,.section-grid,.story-panel,.election-section,.contact-section) { grid-template-columns:minmax(0,1fr); }
 .builder-theme { grid-template-columns:1fr; }
 .builder-create,.preview-actions { align-items:stretch; }
 .custom-layout-dividers .custom-item { border-right:0; border-bottom:1px solid var(--line); padding:1.5rem; }
 .custom-layout-cards .custom-item { padding:1.5rem; }
}
