.cvl-editor {
    width: min(100% - 32px, 840px);
    margin: 0 auto;
    color: var(--ln-menu-text);
}

.cvl-editor h1 {
    margin: 18px 0 6px;
    font-size: clamp(1.85rem, 4vw, 2.6rem);
    line-height: 1.17;
}

.cvl-editor h2, .cvl-editor h3 { margin: 0; line-height: 1.3; }
.cvl-editor h2 { font-size: 1.28rem; }
.cvl-editor h3 { font-size: 1.07rem; }
.cvl-editor p { margin: 0; overflow-wrap: anywhere; }
.cvl-editor > p { margin: 8px 0 22px; }
.cvl-editor-card {
    display: grid;
    gap: 12px;
    min-width: 0;
    background: var(--panel-surface);
    color: var(--panel-ink);
    border: 1px solid var(--panel-line);
    border-radius: 16px;
    padding: clamp(16px, 3vw, 26px);
}

.cvl-editor-form { display: grid; gap: 18px; margin: 18px 0 24px; }
.cvl-editor label { font-weight: 650; }
.cvl-editor :is(input:not([type=checkbox]), select, textarea) {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    background: var(--panel-raised);
    color: var(--panel-ink);
    border: 1px solid var(--panel-line);
    border-radius: 9px;
}

.cvl-editor :is(input,textarea)::placeholder { color: var(--panel-muted); }
.cvl-editor input[type=file] { font-size: .9rem; overflow: hidden; }
.cvl-editor textarea { resize: vertical; }
.cvl-editor label + input, .cvl-editor label + textarea, .cvl-editor label + select { margin-top: -6px; }
.cvl-editor label.cvl-check { display: flex; gap: 10px; align-items: center; min-height: 44px; }
.cvl-check input { width: 19px; height: 19px; flex: none; }
.cvl-editor-order { list-style: none; display: grid; gap: 6px; padding: 0; margin: 0 0 10px; }
.cvl-editor-order li, .cvl-editor-image {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--panel-line);
    border-radius: 10px;
    background: var(--panel-raised);
}

.cvl-editor-thumb { width: 124px; max-width: 100%; aspect-ratio: 4 / 3; object-fit: contain; border-radius: 8px; }
.cvl-editor-image label:not(.cvl-check) { flex: 1 1 180px; }
.cvl-editor-image input:not([type=checkbox]) { margin-top: 4px; }
.cvl-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr)); gap: 10px; margin: 0; }
.cvl-stats div { background: var(--panel-raised); border-radius: 10px; padding: 12px; }
.cvl-stats dt { font-size: .9rem; }
.cvl-stats dd { margin: 4px 0 0; font-size: 1.55rem; font-weight: 750; }
.cvl-error { border: 2px solid #c45b63; }
.cvl-error ul { margin: 0; padding-inline-start: 22px; }
.cvl-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cvl-actions :is(a,button), .cvl-toolbar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    padding: 8px 13px;
    font: 700 .89rem/1.4 Inter, system-ui, sans-serif;
    color: #f8f7fa;
    background: #3b3448;
    border: 1px solid #605570;
    border-radius: 9px;
    text-decoration: none;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.cvl-actions :is(a,button):hover, .cvl-toolbar-link:hover { background: #50445e; color: #fff; }
.cvl-actions .cvl-primary { background: #194c40; border-color: #487b6b; color: #fff; }
.cvl-actions .cvl-primary:hover { background: #236353; }
.cvl-actions button:disabled { opacity: .55; cursor: default; }
.cvl-actions [hidden] { display: none; }
.cvl-editor :focus-visible, .cvl-actions :focus-visible, .cvl-toolbar-link:focus-visible { outline: 3px solid #5c9cdb; outline-offset: 3px; }
.cvl-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 18px; }
.cvl-toolbar.cvl-default-section { background: var(--ln-preview-surface, #fff); color: var(--ln-preview-text, #202632); border-radius: 16px; padding: 14px; }
.cvl-toolbar .cvl-address { font-weight: 600; }
.cvl-toolbar [data-cvl-share-status]:empty { display: none; }
.cvl-title-image { display: block; width: min(340px, 100%); max-height: 100px; object-fit: contain; }
.cvl-custom-title { font-size: clamp(1.6rem, 5vw, 3rem) !important; line-height: 1.12 !important; text-transform: none !important; }
.cvl-header-edit.ln-profile-read { background: #3b3448; }
.cvl-presentation-text { white-space: pre-wrap; }
.cvl-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr)); gap: 10px; }
.cvl-gallery a { display: block; min-width: 0; }
.cvl-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.cvl-media + .cvl-media { margin-top: 12px; }
.cvl-media iframe { display: block; width: 100%; margin-top: 10px; border: 0; border-radius: 10px; }
.cvl-media-section { container-type: inline-size; }
.cvl-media[data-cvl-provider=youtube] iframe { aspect-ratio: 16 / 9; min-height: 200px; }
.cvl-media[data-cvl-provider=spotify] iframe { height: 352px; }
@container (max-width: 279px) {
    .cvl-media[data-cvl-provider=spotify] [data-cvl-embed] { display: none; }
}
