/* Camadas privadas de Páginas, sempre abaixo do header compartilhado. */
:is(#veAiPageModal, #veCreatePageModal, #veEditPageModal) { z-index: calc(var(--ve-header-z-index, 9999) - 1); top: var(--ve-pages-modal-top, var(--ve-sticky-top, 0px)); height: calc(100% - var(--ve-pages-modal-top, var(--ve-sticky-top, 0px))); }
.modal-backdrop.ve-ai-pages-backdrop { z-index: calc(var(--ve-header-z-index, 9999) - 2); top: var(--ve-pages-modal-top, var(--ve-sticky-top, 0px)); height: calc(100% - var(--ve-pages-modal-top, var(--ve-sticky-top, 0px))); }
.ve-ai-page-chips .ve-chip { cursor: pointer; background-color: transparent; background-image: none; border: 1px solid rgba(255,255,255,.35); max-width: 100%; overflow-wrap: anywhere; }
html[data-bs-theme="light"] .ve-ai-page-chips .ve-chip { border-color: rgba(0,0,0,.2); }
.ve-ai-page-chips .btn-check:focus-visible + .ve-chip { outline: 2px solid var(--ve-dark-accent, var(--bs-primary)); outline-offset: 2px; }
.ve-ai-page-chips .btn-check:disabled + .ve-chip { opacity: .45; cursor: not-allowed; pointer-events: none; }
.ve-ai-page-chips .btn-check:checked + .ve-chip,
.ve-ai-page-chips .btn-check:checked + .ve-chip:is(:hover, :focus-visible) { background-color: var(--ve-dark-accent, var(--bs-primary, #0d6efd)); border-color: var(--ve-dark-accent, var(--bs-primary, #0d6efd)); color: #000; background-image: none; }
html[data-bs-theme="light"] .ve-ai-page-chips .btn-check:checked + .ve-chip,
html[data-bs-theme="light"] .ve-ai-page-chips .btn-check:checked + .ve-chip * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html[data-bs-theme="dark"] .ve-ai-page-chips .btn-check:checked + .ve-chip,
html[data-bs-theme="dark"] .ve-ai-page-chips .btn-check:checked + .ve-chip * { color: #000 !important; -webkit-text-fill-color: #000 !important; }
.ve-ai-page-indicator { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 30px; margin-inline-end: .75rem; pointer-events: none; }
.ve-ai-page-indicator .ve-ai-compose__toggle-visual { width: 30px; height: 30px; }
.ve-ai-page-indicator [data-ve-ai-page-static] { font-size: 20px; color: #a78bfa !important; -webkit-text-fill-color: #a78bfa !important; }
@media (prefers-reduced-motion: reduce) { .ve-ai-page-indicator * { transition: none !important; } }

/* Os chips mantêm largura de conteúdo mesmo sob regras globais de formulários. */
html body .ve-ai-page-chips { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center; gap: .5rem; }
html body .ve-ai-page-chips > label.ve-chip { display: inline-flex !important; flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
#veAiPageModal [hidden] { display: none !important; }

/* A largura e a altura pertencem ao painel, não à extensão do formulário. */
#veAiPageModal .modal-dialog { width: calc(100% - 2rem); max-width: 1160px; height: calc(100% - 2rem); min-height: 0; margin: 1rem auto; }
#veAiPageModal .modal-content { width: 100%; max-height: min(720px, 100%) !important; min-height: 0; }
#veAiPageModal .modal-body { min-height: 0; overflow-y: auto; overflow-x: hidden; }
#veAiPageModal .ve-ai-page-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
#veAiPageModal :is(.ve-ai-page-details, fieldset) { min-width: 0; max-width: 100%; }
#veAiPageModal .ve-ai-page-sections-panel { padding-inline-start: 1.5rem; border-inline-start: 1px solid var(--bs-border-color); }
html body #veAiPageModal .ve-ai-page-chips { display: flex !important; flex-flow: row wrap !important; justify-content: flex-start !important; width: 100% !important; min-width: 0 !important; gap: .5rem !important; }
html body #veAiPageModal .ve-ai-page-chips > input[type="radio"] { position: absolute !important; width: 1px !important; height: 1px !important; clip-path: inset(50%) !important; overflow: hidden !important; padding: 0 !important; margin: -1px !important; }
html body #veAiPageModal .ve-ai-page-chips > label.ve-chip { display: inline-flex !important; flex: 0 1 auto !important; width: fit-content !important; min-width: 0 !important; max-width: 100% !important; align-items: center; white-space: normal; }
#veAiPageModal .ve-ai-page-chips .ve-chip__label { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
  #veAiPageModal .modal-dialog { width: calc(100% - 1rem); height: calc(100% - 1rem); margin: .5rem auto; }
  #veAiPageModal .ve-ai-page-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  #veAiPageModal .ve-ai-page-sections-panel { padding-inline-start: 0; border-inline-start: 0; }
}

/* Brief-first composition: one writing surface, compact optional references. */
#veAiPageModal .modal-dialog { max-width: 1040px; }
#veAiPageModal .modal-content { max-height: min(760px, 100%) !important; }
.ve-onepage-modal-mark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--bs-body-color); }
.ve-onepage-modal-mark > i { font-size: 1.5rem; line-height: 1; }
.ve-onepage-type-line { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.ve-onepage-type-line .ve-chip { border: 1px solid var(--bs-border-color); padding: .35rem .75rem; }
.ve-onepage-brief-box { border: 1px solid var(--bs-border-color); border-radius: 1rem; overflow: hidden; background: var(--bs-body-bg); }
.ve-onepage-brief-box:focus-within { border-color: var(--bs-primary); outline: none; box-shadow: none; }
#veAiPageModal .ve-onepage-brief-box textarea.form-control { border: 0; border-radius: 0; resize: vertical; min-height: 150px; max-height: 310px; padding: 1rem; outline: none; box-shadow: none; background: transparent; }
.ve-onepage-attachment-bar { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border-top: 1px solid var(--bs-border-color); min-height: 46px; }
.ve-onepage-attachment-bar > [data-ve-ai-page-file-name] { min-width: 0; max-width: 45%; }
.ve-onepage-attachment-bar label { white-space: nowrap; cursor: pointer; }
.ve-onepage-attachment-bar:has(input[type="file"]:focus-visible) { outline: 2px solid var(--bs-primary); outline-offset: -3px; }
#veAiPageModal [data-ve-page-source] { margin-bottom: 1rem; padding-bottom: .5rem; }
@media (max-width: 575.98px) {
  #veAiPageModal .modal-footer { gap: .5rem; }
  #veAiPageModal .modal-footer > span { flex-basis: 100%; }
  #veAiPageModal .modal-footer > button { width: 100%; }
  .ve-onepage-attachment-bar > [data-ve-ai-page-file-name] { max-width: 35%; }
}

/* Match the icon-only media header, with a genuinely centered type glyph. */
#veAiPageModal .ve-onepage-modal-header { position: relative; min-height: 64px; }
#veAiPageModal .ve-onepage-modal-mark { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0 !important; pointer-events: none; }
.ve-onepage-header-actions { display: inline-flex; align-items: center; gap: .25rem; }
#veAiPageModal .ve-onepage-brief-box { position: relative; }
#veAiPageModal .ve-onepage-brief-box textarea.form-control { padding-bottom: 3.5rem; }
#veAiPageModal .ve-onepage-mic { position: absolute; right: .5rem; bottom: .5rem; width: 40px; height: 40px; border: 0; }
#veAiPageModal .ve-onepage-mic > i { font-size: 1.3rem; }
#veAiPageModal .ve-onepage-mic.is-listening { color: var(--bs-danger); }
#veAiPageModal .ve-onepage-attachment-bar { border: 0; padding: .5rem 0 0; margin: 0; }
#veAiPageModal .ve-onepage-attachment-bar > label { border: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--bs-body-color); padding-inline: 0; }

html[data-bs-theme] body #veAiPageModal .ve-onepage-attachment-bar > label,
html[data-bs-theme] body #veAiPageModal .ve-onepage-attachment-bar > label > i { color: var(--bs-body-color) !important; -webkit-text-fill-color: var(--bs-body-color) !important; }
html[data-bs-theme] body #veAiPageModal .ve-onepage-mic.is-listening > i { color: var(--bs-danger) !important; -webkit-text-fill-color: var(--bs-danger) !important; }

/* Optional source and prompt share one modal; tools stay at the top-right. */
#veAiPageModal .ve-onepage-brief-actions { position: absolute; top: .375rem; right: .375rem; display: inline-flex; align-items: center; gap: .25rem; }
#veAiPageModal .ve-onepage-brief-actions > button { position: static; width: 30px; height: 30px; padding: 0; border: 0; }
#veAiPageModal .ve-onepage-brief-actions > button > i { font-size: 1.25rem; }
#veAiPageModal .ve-onepage-brief-box textarea.form-control { padding-top: 1rem; padding-right: 5.25rem; padding-bottom: 1rem; }
#veAiPageModal [data-ve-onepage-attachment-info][hidden] { display: none !important; }

/* Local schematic previews describe structure independently of visual style. */
#veAiPageModal .ve-onepage-model-preview { margin: 0 0 1rem; padding: .75rem; border-radius: .875rem; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); }
#veAiPageModal .ve-onepage-model-preview__item { display: grid; grid-template-columns: 136px minmax(0, 1fr); gap: 1rem; align-items: center; }
#veAiPageModal .ve-onepage-model-preview__copy { min-width: 0; }
#veAiPageModal .ve-onepage-model-preview__copy > strong { display: block; margin: .125rem 0 .25rem; overflow-wrap: anywhere; color: var(--bs-body-color); }
#veAiPageModal .ve-onepage-model-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; padding: 9px; width: 100%; aspect-ratio: 1.65; border: 1px solid var(--bs-border-color); border-radius: .5rem; background: var(--bs-body-bg); overflow: hidden; }
#veAiPageModal .ve-onepage-model-mini > span { display: block; border-radius: 2px; min-height: 5px; background: var(--bs-secondary-color); opacity: .22; }
#veAiPageModal .ve-onepage-model-mini__nav { grid-column: 1 / -1; max-height: 3px; background: var(--bs-primary) !important; opacity: .7 !important; }
#veAiPageModal .ve-onepage-model-mini__hero { grid-column: 1 / -1; }
#veAiPageModal .ve-onepage-model-mini__line { grid-column: 1 / -1; max-height: 4px; width: 68%; }
#veAiPageModal .ve-onepage-model-mini--cover { grid-template-rows: 3px 1fr 7px 5px; justify-items: center; }
#veAiPageModal .ve-onepage-model-mini--cover .ve-onepage-model-mini__nav { width: 100%; }
#veAiPageModal .ve-onepage-model-mini--cover .ve-onepage-model-mini__hero { align-self: end; width: 65%; height: 16px; }
#veAiPageModal .ve-onepage-model-mini--cover .ve-onepage-model-mini__tile { grid-column: 1 / -1; width: 80%; }
#veAiPageModal .ve-onepage-model-mini--cover .ve-onepage-model-mini__tile:nth-of-type(n+4) { display: none; }
#veAiPageModal .ve-onepage-model-mini--album { grid-template-rows: 3px 12px 1fr 4px; }
#veAiPageModal .ve-onepage-model-mini--product { grid-template-columns: 1fr 1fr; grid-template-rows: 3px 1fr 12px; }
#veAiPageModal .ve-onepage-model-mini--product .ve-onepage-model-mini__hero { grid-column: 1; grid-row: 2; }
#veAiPageModal .ve-onepage-model-mini--product .ve-onepage-model-mini__tile:nth-of-type(3) { grid-column: 2; grid-row: 2; background: var(--bs-primary); }
#veAiPageModal .ve-onepage-model-mini--product .ve-onepage-model-mini__tile:nth-of-type(5), #veAiPageModal .ve-onepage-model-mini--product .ve-onepage-model-mini__line { display: none; }
#veAiPageModal .ve-onepage-model-mini--blog { grid-template-columns: 2fr 1fr; grid-template-rows: 3px 19px 1fr; }
#veAiPageModal .ve-onepage-model-mini--blog .ve-onepage-model-mini__tile:nth-of-type(n+5), #veAiPageModal .ve-onepage-model-mini--blog .ve-onepage-model-mini__line { display: none; }
#veAiPageModal .ve-onepage-model-mini--classic .ve-onepage-model-mini__hero { grid-column: 1 / 3; }
#veAiPageModal .ve-onepage-model-mini--classic .ve-onepage-model-mini__tile:nth-of-type(3) { grid-column: 3; }
@media (max-width: 575.98px) { #veAiPageModal .ve-onepage-model-preview__item { grid-template-columns: 96px minmax(0, 1fr); gap: .75rem; } }
html[data-bs-theme="dark"] .ve-onepage-brief-box:focus-within { border-color: var(--ve-dark-accent, var(--bs-primary)); }

.ve-onepage-draft__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-block: .75rem; }
.ve-onepage-draft__toolbar select { width: auto; }
/* The modal owns scrolling; the draft is one continuous surface. */
.ve-onepage-draft { min-width: 0; width: 100%; color: var(--bs-body-color); background: var(--bs-body-bg); --ve-draft-icon-hover: #e9ecef; }
html[data-bs-theme="dark"] .ve-onepage-draft { --ve-draft-icon-hover: #343a40; }
.ve-onepage-draft__preview { width: 100%; min-width: 0; max-width: 100%; border: 0; border-radius: 0; background: inherit; color: inherit; overflow-x: clip; }
.ve-onepage-advanced { margin-block: 1rem; min-width: 0; }
.ve-onepage-slider-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-block: 1rem; }
.ve-onepage-slider-model { min-width: 0; padding: .5rem; display: grid; gap: .35rem; text-align: start; color: inherit; background: transparent; border: 1px solid var(--bs-border-color); border-radius: .5rem; }
.ve-onepage-slider-model[aria-pressed="true"] { border-color: var(--bs-primary); }
.ve-onepage-slider-model:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
.ve-onepage-slider-model small { overflow-wrap: anywhere; }
.ve-onepage-slider-mini { display: flex; gap: .3rem; height: 3.5rem; overflow: hidden; width: 100%; }
.ve-onepage-slider-mini > span { flex: 0 0 calc((100% - .6rem) / 3); background: var(--bs-secondary-color, #6c757d); border-radius: .2rem; opacity: .35; }
.ve-onepage-slider-mini--wide > span { flex-basis: 80%; }
.ve-onepage-slider-mini--full > span { flex-basis: 100%; border-radius: 0; }
@media (max-width: 575.98px) { .ve-onepage-slider-models { gap: .4rem; } .ve-onepage-slider-model { padding: .35rem; font-size: .8rem; } }

#veEditPageModal .modal-content, #veEditPageModal .modal-body, #veEditPageModal .ve-edit-card { background: var(--bs-body-bg); color: var(--bs-body-color); }
#veEditPageModal .ve-edit-card { border: 0; border-radius: 0; box-shadow: none; padding: 0; min-width: 0; max-width: 100%; }
#veEditPageModal .modal-body { overflow-x: clip; }

/* Animate the shell so the preview keeps its natural padding and borders. */
.ve-onepage-model-preview-motion { overflow: hidden; min-width: 0; box-sizing: border-box; }
.ve-onepage-model-preview-motion[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .ve-onepage-model-preview-motion { animation: none !important; transition: none !important; } }
