#productDescriptionEditor, [data-description-editor] {
    border-radius: 0 0 12px 12px;
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111827);
    font-family: inherit;
}
#productDescriptionEditor .ql-editor, [data-description-editor] .ql-editor {
    min-height: 260px;
    font-family: inherit;
    font-size: 16px;
    line-height: 2;
    text-align: right;
    overflow-wrap: anywhere;
}
.product-editor-field .ql-toolbar, [data-rich-description] .ql-toolbar {
    border-radius: 12px 12px 0 0;
    background: var(--card-bg, #fff);
    direction: ltr;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.product-editor-field .ql-toolbar .ql-formats, [data-rich-description] .ql-toolbar .ql-formats { margin-right: 8px; }
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before { content: attr(data-value); }
.ql-snow .ql-picker.ql-size .ql-picker-label:not([data-value])::before,
.ql-snow .ql-picker.ql-size .ql-picker-item:not([data-value])::before { content: 'پیش‌فرض'; }
.product-description-body.ql-editor {
    padding: 0;
    height: auto;
    direction: rtl;
    text-align: right;
    overflow-wrap: anywhere;
    font-family: inherit;
}
.product-description-body.ql-editor a { color: var(--primary, #6d28d9); text-decoration: underline; }
.product-description-body.ql-editor blockquote { border-right: 4px solid #ccc; padding-right: 16px; }
.product-description-body.ql-editor ul > li { list-style-type: disc; }
.product-description-body.ql-editor ol > li { list-style-type: decimal; }
.product-description-body.ql-editor ul,
.product-description-body.ql-editor ol { padding-left: 0; padding-right: 1.5em; }
.product-description-body.ql-editor li { padding-left: 0; padding-right: .25em; }
@media (max-width: 900px) {
    .product-editor-admin-layout { grid-template-columns: minmax(0, 1fr) !important; }
}

.catalog-seo-content { margin-top: 2rem; padding: 1.5rem !important; border-radius: 12px; background: var(--card-bg, #fff); }
.catalog-pagination { display: flex; justify-content: center; gap: 1rem; padding: 1rem; }

/* Media stays within the description column; tooltips stay above sticky actions. */
.product-description-body img, .product-description-body video,
[data-description-editor] img, [data-description-editor] video,
#productDescriptionEditor img, #productDescriptionEditor video { max-width:100%; }
#productDescriptionEditor, [data-description-editor] { overflow:visible; position:relative; }
.ql-snow .ql-tooltip { z-index:110; max-width:calc(100vw - 24px); white-space:normal; }
.ql-snow .ql-tooltip input[type=text] { max-width:calc(100vw - 140px); }
.product-faq { border-bottom:1px solid var(--border-color,#ddd); padding:1rem 0; }
.product-faq summary { cursor:pointer; font-weight:700; }
.product-faq summary:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.product-faq div { padding-top:.75rem; line-height:1.9; }
.product-faq-row { padding:1rem; border:1px solid var(--border-color,#ddd); border-radius:12px; margin-bottom:1rem; }

[data-gallery-move] { min-width:44px!important; min-height:44px!important; cursor:pointer; }
.product-images-admin--compact [data-gallery-row] { height:auto!important; min-height:170px; overflow:visible!important; display:flex; flex-direction:column; padding:8px!important; gap:6px; }
.product-images-admin--compact [data-gallery-row] img { height:96px!important; order:-1; }
.product-images-admin--compact [data-gallery-row] .image-admin-delete { position:static; font-size:12px; }
.gallery-row-controls { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
[data-gallery-row] .product-upload-format { display:none; }
#productDescriptionEditor, [data-description-editor] { height:auto; }

/* Block alignment applies to the media itself, independently of paragraph text. */
:is(.ql-editor, .product-description-content) img.description-media-left, :is(.ql-editor, .product-description-content) video.description-media-left { display:block; margin-left:0; margin-right:auto; }
:is(.ql-editor, .product-description-content) img.description-media-center, :is(.ql-editor, .product-description-content) video.description-media-center { display:block; margin-left:auto; margin-right:auto; }
:is(.ql-editor, .product-description-content) img.description-media-right, :is(.ql-editor, .product-description-content) video.description-media-right { display:block; margin-left:auto; margin-right:0; }
.ql-editor table { width:100%; border-collapse:collapse; table-layout:fixed; margin:1rem 0; }
.ql-editor th, .ql-editor td { border:1px solid var(--border-color,#bbb); padding:.5rem; overflow-wrap:anywhere; }
.ql-editor th { font-weight:700; background:var(--card-bg,#f3f4f6); }

/* One canvas; insertion and contextual controls belong to the editor. */
.description-studio{position:relative;isolation:isolate;min-width:0;border:1px solid var(--border,#cbd5e1);border-radius:16px;background:var(--card-bg,#fff)}
.description-studio .ql-toolbar{border:0;border-bottom:1px solid var(--border,#cbd5e1);border-radius:0;background:transparent}
.description-studio .ql-container{border:0!important;background:transparent!important;border-radius:0!important}
.description-widget-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px;border-bottom:1px solid var(--border,#cbd5e1);direction:rtl}
.description-tools-spacer{flex:1}
.description-widget-tools button,.description-widget-context button,.description-faq-popover button,.description-preview-dialog button{min-height:38px;padding:6px 12px;border:1px solid var(--border,#cbd5e1);border-radius:9px;background:var(--card-bg,#fff);color:var(--text-primary,#172033);font:inherit;cursor:pointer}
.description-insert-menu{position:relative;z-index:12}.description-insert-menu summary{cursor:pointer;padding:8px 12px;border-radius:9px;color:white;background:var(--primary,#6d28d9);font-weight:700;list-style:none}.description-insert-menu>div{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;display:grid;gap:4px;padding:8px;border:1px solid var(--border,#cbd5e1);border-radius:12px;background:var(--card-bg,#fff);box-shadow:0 12px 30px #0002}.description-insert-menu button{text-align:right}
.description-widget-context{position:absolute;z-index:15;display:flex;flex-wrap:wrap;gap:4px;max-width:calc(100% - 8px);padding:4px;border-radius:12px;border:1px solid #6366f1;background:var(--card-bg,#fff);box-shadow:0 5px 20px #0002}
.description-widget-context[hidden],.description-resize-handle[hidden],.description-faq-popover[hidden]{display:none!important}
.description-widget-selected{outline:2px solid #6366f1;outline-offset:3px}
.description-resize-handle{position:absolute;z-index:16;width:36px;height:36px;min-width:36px!important;padding:0;border:2px solid white;border-radius:10px;background:#4f46e5;color:white;font:24px sans-serif;cursor:sw-resize;touch-action:none}
.description-status{font-size:13px;padding:0 12px;min-height:0}.description-status:empty{display:none}
.description-faq-popover{max-height:360px;overflow-y:auto;position:absolute;inset-inline:12px;z-index:20;max-width:480px;padding:16px;border:1px solid #6366f1;border-radius:14px;background:var(--card-bg,#fff);box-shadow:0 12px 30px #0003}.description-faq-popover label{display:grid;gap:6px;margin-bottom:12px;font-size:14px}.description-faq-popover input,.description-faq-popover textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid var(--border,#cbd5e1);border-radius:8px;background:transparent;color:inherit;font:inherit}
.description-faq{margin:16px 0;border:1px solid var(--border,#cbd5e1);border-radius:12px;padding:14px;white-space:normal}.description-faq summary{cursor:pointer;font-weight:700}.description-faq>div{padding-top:12px;line-height:1.9;white-space:pre-wrap}.ql-editor .description-faq{cursor:pointer}
.description-preview-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--bg-primary,#f8fafc);color:var(--text-primary,#172033);overflow:auto}.description-preview-dialog::backdrop{background:#0009}.description-preview-dialog header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border,#cbd5e1);background:var(--card-bg,#fff);direction:rtl}.description-preview-dialog header>div{display:flex;flex-wrap:wrap;gap:6px}.description-preview-dialog main.product-description-body{width:min(900px,calc(100% - 40px));margin:32px auto;padding:0;height:auto}.description-preview-dialog main.is-mobile{width:min(375px,calc(100% - 32px))}.description-preview-dialog img,.description-preview-dialog video{max-width:100%}
@media(max-width:600px){.description-widget-tools{padding:8px}.description-widget-tools button{font-size:12px;padding:6px 8px}.description-preview-dialog header{padding:12px}.description-faq-popover{max-width:calc(100% - 24px)}}

/* Quill's default white popup and dark icons must follow the editing surface. */
.description-studio .ql-snow .ql-picker { color: var(--text-primary); }
.description-studio .ql-snow .ql-stroke { stroke: var(--text-primary); }
.description-studio .ql-snow .ql-fill { fill: var(--text-primary); }
.description-studio .ql-snow .ql-picker-options,
.description-studio .ql-snow .ql-tooltip {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border-color);
    box-shadow: var(--shadow-subtle);
}
.description-studio .ql-snow .ql-tooltip input[type=text] { background: var(--bg-primary); color: var(--text-primary); border-color: var(--border-color); }
.description-studio .ql-snow .ql-picker.ql-expanded .ql-picker-label { border-color: var(--border-color); color: var(--text-primary); }
.description-studio .ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { stroke: var(--text-primary); }
.description-studio .ql-snow button:is(:hover, :focus, .ql-active) .ql-stroke { stroke: var(--primary); }
.description-studio .ql-snow button:is(:hover, :focus, .ql-active) .ql-fill { fill: var(--primary); }
.description-studio .ql-snow :is(.ql-picker-label, .ql-picker-item):is(:hover, .ql-selected) { color: var(--primary); }
