/* Shared product behaviour and layout; runtime tokens remain in tokens.css. */
html{scrollbar-gutter:stable;scrollbar-color:var(--color-metal) var(--color-surface);scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--color-surface)}*::-webkit-scrollbar-thumb{background:var(--color-metal);border:2px solid var(--color-surface);border-radius:var(--radius-md)}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*::-webkit-scrollbar-thumb:active{background:var(--color-burgundy)}
.admin-body h1,.admin-body h2,.admin-guest h1,.admin-guest h2{color:var(--color-text)}
.admin-sidebar{overflow-y:auto;max-height:calc(100dvh - 56px);position:sticky;top:56px}.admin-main{width:100%}.admin-sidebar__logout{padding-top:var(--space-4)}
.cms-toolbar,.cms-actions,.cms-search,.cms-pagination{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.cms-toolbar{justify-content:space-between;margin-bottom:var(--space-4)}.cms-search{flex:1}.cms-search input{width:min(100%,300px)}.cms-actions a{min-height:44px;display:inline-flex;align-items:center}.cms-pagination{margin-block:var(--space-4)}[aria-current=page]{font-weight:var(--font-weight-bold);outline:2px solid var(--color-burgundy)}
.cms-form{max-width:850px;display:grid;gap:var(--space-4)}.cms-field{position:relative;min-width:0}.cms-field label{display:block;font-weight:var(--font-weight-medium)}.cms-field textarea,textarea.form-control{resize:none;min-height:120px;line-height:var(--line-height-body)}.cms-field input:not([type=checkbox]),.cms-field select,.cms-field button,.cms-search input{min-height:44px}.cms-field input[type=checkbox]{width:22px;height:22px;cursor:pointer}.cms-field [aria-invalid=true]{border-color:var(--color-error)}.cms-error{color:var(--color-error);margin-block:var(--space-2)}.cms-error-summary{border:2px solid var(--color-error);padding:var(--space-3);margin-bottom:var(--space-4);color:var(--color-error)}.cms-error-summary a{color:inherit}.cms-preserve{white-space:pre-wrap;overflow-wrap:anywhere}
.cms-table-wrap{overflow:auto;min-height:160px;max-width:100%}.cms-table-wrap table{min-width:600px}.cms-thumb{object-fit:contain;margin-inline-end:var(--space-2);background:var(--color-surface)}.cms-seo{border-block:1px solid var(--color-border);padding-block:var(--space-3)}.cms-seo summary{cursor:pointer;min-height:44px}.cms-reveal{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);border-radius:var(--radius-md);margin-top:var(--space-2);min-height:44px;padding-inline:var(--space-3)}
.cms-btn-danger{background:var(--color-error);color:var(--color-text-on-dark);min-height:44px}.cms-btn-danger:hover{background:var(--color-burgundy-dark);color:var(--color-text-on-dark)}button,a.btn{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button[aria-busy=true]{opacity:.65}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-burgundy);outline-offset:3px}
dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);max-width:min(480px,calc(100% - 32px));color:var(--color-text);background:var(--color-surface-alt)}dialog::backdrop{background:var(--overlay-dark-55)}
.cms-public-message{border-inline-start:4px solid var(--color-burgundy);padding:var(--space-3);background:var(--color-surface);margin-block:var(--space-3)}.cms-honeypot{position:absolute;inset-inline-start:-10000px}.cms-catalog-empty{padding:var(--space-5);border:1px solid var(--color-border)}.cms-description{line-height:var(--line-height-body)}.cms-description img{max-width:100%;height:auto}.cms-gallery{display:flex;gap:var(--space-3);flex-wrap:wrap}.cms-gallery img{width:160px;height:120px;object-fit:contain}.cms-field-help{font-size:var(--font-size-sm);color:var(--color-text-muted)}
@media(max-width:991.98px){.admin-sidebar{position:fixed;overflow-y:auto;max-height:calc(100dvh - 56px)}.cms-toolbar{align-items:stretch}.cms-toolbar>*{max-width:100%}.admin-main{padding:var(--space-3)}.cms-search{width:100%}.cms-form{padding:var(--space-3)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(forced-colors:active){html{scrollbar-color:auto}.cms-error-summary{border-color:CanvasText}button,a{forced-color-adjust:auto}}


/* Context and media selection share the existing admin form and token owners. */
.cms-section-context,.cms-publication { max-width:850px; border-inline-start:4px solid var(--color-burgundy); background:var(--color-surface); padding:16px; margin-bottom:20px; overflow-wrap:anywhere; }
.cms-section-context p,.cms-publication p { margin-bottom:8px; }
.cms-section-context a,.cms-publication a,.cms-field-help a { text-decoration:underline; text-underline-offset:4px; }
.cms-publication-warning { border-color:var(--color-error); }
.cms-section-path { font-weight:700; }
.cms-search.cms-section-filters { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:12px; width:100%; }
.cms-filter { min-width:0; }
.cms-filter label { display:block; margin-bottom:6px; font-weight:500; }
.cms-filter select { width:100%; min-height:44px; }
.cms-media-preview { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.cms-media-preview figure { width:160px; max-width:100%; margin:0; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-white); overflow:hidden; }
.cms-media-preview img { display:block; width:160px; max-width:100%; height:120px; object-fit:contain; }
.cms-media-preview figcaption { padding:8px; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.cms-description { overflow-wrap:anywhere; min-width:0; max-width:100%; }
.cms-field-help { overflow-wrap:anywhere; }
@media(max-width:767.98px) {
  .cms-search.cms-section-filters { grid-template-columns:1fr 1fr; }
  .cms-section-filters>input,.cms-section-filters>.cms-filter { grid-column:1/-1; }
  .cms-section-context,.cms-publication { padding:12px; }
}
