.cms-zone { padding-block:22px; overflow-wrap:anywhere; }
.cms-zone h2,.cms-zone h3,.cms-zone h4,.cms-zone h5,.cms-zone h6 { margin-block:1.3em .6em; }
.cms-zone p,.cms-zone li { line-height:1.65; }
.cms-table { overflow:auto; max-width:100%; }.cms-table table { border-collapse:collapse; width:100%; }
.cms-table th,.cms-table td { padding:10px; border:1px solid var(--border); text-align:left; }
.cms-table caption { text-align:left; padding:10px 0; font-weight:700; }
.cms-figure { max-width:100%; margin-block:24px; margin-inline:auto; }.cms-figure img { display:block; width:100%; height:auto; }
.cms-figure--small { width:240px; }.cms-figure--medium { width:480px; }
.cms-align--left { margin-left:0; }.cms-align--right { margin-right:0; }
.cms-figure figcaption { font-size:14px; padding-block:8px; }
.cms-quote { margin:20px 0; border-left:4px solid var(--gold); padding:16px; }
.cms-box,.cms-cta { padding:20px; background:var(--blue-soft); border-radius:12px; margin-block:20px; }
.cms-box--warning { background:#fff8dc; }.cms-box--tip { background:#e6f5ed; }
.cms-admin { padding-block:28px 100px; max-width:1100px; }.cms-admin * { min-width:0; }
.cms-admin h1 { font-size:clamp(26px,4vw,38px); }.cms-admin label { display:grid; gap:6px; font-weight:600; }
.cms-admin input:not([type=checkbox]),.cms-admin textarea,.cms-admin select { width:100%; max-width:100%; padding:10px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--navy); font:inherit; }
.cms-admin textarea { min-height:90px; resize:vertical; }.cms-admin input[type=checkbox] { width:20px; height:20px; }
.cms-admin label:has(input[type=checkbox]) { display:flex; align-items:center; gap:8px; }
.cms-admin button { min-width:44px; min-height:44px; cursor:pointer; }
.cms-admin fieldset { padding:18px; border:1px solid var(--border); border-radius:12px; margin-block:14px; background:#fff; }
.cms-admin legend { padding-inline:8px; font-weight:750; }.cms-admin summary { padding-block:14px; cursor:pointer; font-weight:700; }
.cms-admin details { border-bottom:1px solid var(--border); padding-bottom:14px; }
.cms-tools { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; align-items:center; }
.cms-tools a,.cms-tools button { padding:10px 14px; border:1px solid var(--border); background:#fff; border-radius:8px; color:var(--navy); }
.cms-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cms-list { display:grid; gap:12px; padding:0; list-style:none; }.cms-list > li { padding:18px; border:1px solid var(--border); border-radius:12px; background:white; overflow-wrap:anywhere; }
.cms-help { font-size:14px; color:var(--muted); }.cms-warning { padding:12px; border-left:4px solid #946900; background:#fff8dc; }
.cms-message { padding:14px; background:#e6f5ed; border-radius:8px; }.cms-savebar { display:flex; flex-wrap:wrap; gap:10px; padding-block:18px; }
.cms-block-title { font-weight:700; font-size:18px; }.cms-preview { border:2px dashed var(--border); padding:16px; margin-block:20px; }
.cms-media-thumb { max-width:140px; max-height:100px; object-fit:contain; }
.cms-media-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; }
.cms-block [contenteditable] { border:1px solid var(--border); padding:12px; min-height:80px; border-radius:8px; background:#fff; white-space:pre-wrap; }
.cms-admin :focus-visible { outline:3px solid #0076d6; outline-offset:2px; }
dialog.cms-admin { width:min(560px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid var(--border); border-radius:16px; padding:20px; }
dialog.cms-admin::backdrop { background:rgba(16,42,67,.6); }
.cms-admin [contenteditable] { overflow-wrap:anywhere; }
@media(max-width:600px) { .cms-grid { grid-template-columns:minmax(0,1fr); }.cms-admin fieldset { padding:12px; }.cms-tools a,.cms-tools button { padding:10px; } }
