/* Shared controls: public forms and admin use the same local design tokens. */
.primary-button,.secondary-button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;max-width:100%;padding:.55rem .85rem;border:1px solid var(--cms-line,#ccd5df);border-radius:var(--cms-radius-control,8px);font:inherit;font-size:.88rem;font-weight:700;line-height:1.35;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.primary-button{background:var(--cms-accent,#455b70);border-color:var(--cms-accent,#455b70);color:var(--cms-on-accent,#fff)}
.secondary-button{background:var(--cms-surface,#fff);color:var(--cms-text,#172033)}
.secondary-button:hover{background:var(--cms-surface-soft,#f3f6f9)}
.primary-button:hover{filter:brightness(.94)}
button:disabled{opacity:.6;cursor:not-allowed}
.form-control{display:block;width:100%;min-width:0;min-height:44px;margin:0;padding:.6rem .7rem;border:1px solid var(--cms-line,#ccd5df);border-radius:var(--cms-radius-control,8px);background:var(--cms-surface,#fff);color:var(--cms-text,#172033);font:inherit;font-size:.92rem;line-height:1.4}
textarea.form-control{min-height:100px;resize:vertical}
.field-block{min-width:0}
.field-block>label:not(.cms-inline-field){display:block;margin:0 0 .35rem;font-size:.85rem;font-weight:650;line-height:1.4}
.v1-form{gap:.75rem}
.v1-form .field-block+.field-block{margin-top:0}
.v1-form .cms-inline-field{margin:0}
.v1-form-actions{gap:.6rem;margin-top:.3rem}
.v1-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.v1-actions>.v1-form{display:inline-flex;margin:0;gap:0}
.v1-actions>.v1-form>.v1-form-actions{margin:0;padding:0}
.v1-color-control{display:flex;align-items:center;gap:.8rem;min-height:44px;padding:.3rem .65rem;border:1px solid var(--cms-line,#ccd5df);border-radius:var(--cms-radius-control,8px);background:var(--cms-surface,#fff)}
.v1-color-control>input[type=color]{width:64px;min-width:64px;height:32px;min-height:32px;padding:2px;border:1px solid var(--cms-line,#ccd5df);border-radius:5px;background:var(--cms-surface,#fff);cursor:pointer}
.v1-color-control>output{font-size:.86rem;font-family:ui-monospace,monospace;color:var(--cms-text,#172033)}
.v1-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:start}
.v1-form .v1-field-group{padding:.75rem 0;border:0;border-bottom:1px solid var(--cms-line,#ccd5df);border-radius:0;margin:0}
.v1-field-group>legend{padding:0!important;font-size:.9rem;font-weight:750}
.v1-field-grid>.wide,.v1-field-grid>.cms-upload-zone{grid-column:1/-1}
.v1-disclosure{margin:.4rem 0;border:0;border-bottom:1px solid var(--cms-line,#ccd5df)}
.v1-disclosure>summary{padding:.8rem 0;font-size:.92rem;font-weight:750;cursor:pointer}
.v1-disclosure-body{padding:.1rem 0 .9rem}
.v1-tabs{min-width:0}
.v1-tabs-nav{display:flex;gap:.35rem;max-width:100%;overflow-x:auto;align-items:stretch;border-bottom:1px solid var(--cms-line,#ccd5df);margin:0 0 1.1rem;padding:.1rem 0 0}
.v1-tabs-nav>a{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:.65rem .8rem;border:0;border-bottom:3px solid transparent;color:var(--cms-muted,#586a79);text-decoration:none;font-size:.86rem;font-weight:700;white-space:nowrap}
.v1-tabs-nav>a:hover{color:var(--cms-text,#172033);background:var(--cms-surface-soft,#f3f6f9)}
.v1-tabs-nav>a[aria-selected=true]{color:var(--cms-text,#172033);border-bottom-color:var(--cms-accent,#455b70)}
.v1-tab-panel{min-width:0;scroll-margin-top:1rem}
.v1-tab-panel[hidden]{display:none!important}
.v1-tab-panel .v1-form:first-child{margin-top:0}
.v1-empty{padding:1.5rem .3rem;color:var(--cms-muted,#586a79);font-size:.92rem}
.cms-modal{padding:0}
.cms-modal-header{position:sticky;top:0;z-index:3;padding:.9rem 1rem;border-bottom:1px solid var(--cms-line,#ccd5df);background:var(--cms-surface,#fff)}
.cms-modal-header h2{margin:0;font-size:1.08rem}
.cms-modal-body{padding:1rem}
.cms-modal-header>[data-cms-modal-close]{min-width:40px;width:40px;padding:.4rem;font-size:1.1rem}
.site-app .v1-consent-banner{line-height:1.55}
.site-app .v1-legal{gap:.5rem 1rem}
.site-app .v1-legal>.secondary-button{border:0;background:transparent;padding:.25rem 0;min-height:40px;color:var(--cms-accent,#455b70);text-decoration:underline;font-weight:500}
.site-app .v1-account-links{display:flex;gap:.6rem 1rem;flex-wrap:wrap;margin-top:1rem}
.site-app .v1-account-links a{display:inline-flex;min-height:36px;align-items:center}
.site-app .v1-search-form{display:flex;align-items:end;flex-wrap:wrap;gap:.75rem}
.site-app .v1-search-form>.field-block{flex:1 1 220px}
.site-app .v1-search-form .cms-inline-field{margin:0}
.site-app .cms-widget form{display:grid;gap:.65rem}
.site-app .cms-widget input{display:block;width:100%;min-height:42px;padding:.6rem;border:1px solid var(--cms-line);border-radius:var(--cms-radius-control);background:var(--cms-surface);color:var(--cms-text);font:inherit}
.site-app .cms-playlist-tracks button{padding:.65rem;border:1px solid var(--cms-line);border-radius:var(--cms-radius-control);background:var(--cms-surface);color:var(--cms-text);font:inherit}
.site-app :is(.v1-content,.v1-community){width:min(100%,900px);margin-left:auto;margin-right:auto}
.site-app .cms-modal :is(.v1-form fieldset){margin:0;padding:.8rem;border-radius:8px}
@media(max-width:700px){.v1-field-grid{grid-template-columns:1fr}.v1-field-grid>.wide{grid-column:auto}.v1-tabs-nav>a{padding:.65rem}.v1-actions{gap:.5rem}.site-app .v1-search-form{align-items:stretch}.site-app .v1-search-form>button{align-self:end}}
@media print{.v1-tabs-nav{display:none!important}.v1-tab-panel[hidden]{display:block!important}}
