/* ============================================================
   INVITACIONES DIGITALES V2 — EDITOR
   El aspecto de la invitación lo gobierna invitation.css.
   Este archivo solo gobierna panel, controles y handles.
   ============================================================ */
:root{--ed-ink:#27231f;--ed-paper:#f7f3ec;--ed-champ:#b89562;--ed-line:#e6ded2}
.editor-page{margin:0;background:#efebe4;color:var(--ed-ink);font-family:Montserrat,sans-serif}
.editor-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--ed-line);position:sticky;top:0;z-index:100}
.editor-shell{width:min(1580px,97%);margin:22px auto 70px;display:grid;grid-template-columns:minmax(560px,760px) minmax(480px,1fr);gap:22px;align-items:start}
.editor-panel,.preview-panel{background:#fff;border:1px solid var(--ed-line);box-shadow:0 20px 70px rgba(52,42,31,.08)}
.editor-panel{border-radius:24px;overflow:hidden}.editor-head{padding:32px 34px 22px;background:linear-gradient(135deg,#fff,#f7f2e9)}
.editor-head .badge{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#8a6d45;font-weight:800}.editor-head h1{font:600 46px/1.02 'Cormorant Garamond',serif;margin:8px 0 10px}.editor-head p{margin:0;color:#766e66;line-height:1.65}
.editor-form{padding:0 24px 28px}.editor-group{padding:26px 8px;border-top:1px solid #eee7de}.editor-group h3{font:600 27px 'Cormorant Garamond',serif;margin:0 0 6px}.editor-group h4{margin:0 0 10px}.hint,.editor-group small{color:#7c746d;font-size:12px;line-height:1.5}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field.grow{grid-column:span 2}.field label,.range-grid label,.color-grid label{font-size:11px;font-weight:800;color:#5f5851}
.field input,.field select,.field textarea,.text-control-card input,.text-control-card select,.text-control-card textarea,.preview-item-inspector input,.preview-item-inspector select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #ddd4c8;border-radius:11px;padding:11px 12px;background:#fff;color:#2d2925;font:500 13px Montserrat,sans-serif;outline:none}.field textarea,.text-control-card textarea{resize:vertical;min-height:72px}.field input:focus,.field select:focus,.field textarea:focus,.text-control-card input:focus,.text-control-card select:focus,.text-control-card textarea:focus{border-color:var(--ed-champ);box-shadow:0 0 0 3px rgba(184,149,98,.12)}input[type=color]{height:43px;padding:4px!important;cursor:pointer}
.birthday-options,.religious-fields{display:none;margin-top:15px}.birthday-options.show,.religious-fields.show{display:block}
.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.theme-card{border:1px solid #ded5c9;background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer;display:grid;gap:4px}.theme-card>span{font-size:24px}.theme-card b{font-size:12px}.theme-card small{font-size:10px}.theme-card:hover,.theme-card.active{border-color:var(--ed-champ);background:#faf6ef;box-shadow:0 8px 25px rgba(82,64,43,.08)}
.text-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.text-control-card{border:1px solid #e5ddd2;background:#fbfaf8;border-radius:15px;padding:15px;display:flex;flex-direction:column;gap:8px;min-width:0}.text-control-card h4{font-size:13px}.text-control-card label{font-size:10px;font-weight:800;color:#6d645c}
.font-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.font-sample{min-height:86px;background:#fff;border:1px solid #e1d8cc;border-radius:12px;padding:10px;cursor:pointer;text-align:left}.font-sample:hover{border-color:var(--ed-champ);background:#faf6ef;transform:translateY(-1px)}.font-sample span{display:block;font:700 9px Montserrat,sans-serif;color:#8b8279;margin-bottom:8px}.font-sample b{font-size:17px;font-weight:500}
.range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.range-grid label{display:flex;flex-direction:column;gap:7px}
.frame-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0}.frame-card{border:1px solid #e1d8cc;background:#fff;border-radius:13px;padding:10px;cursor:pointer;text-align:center}.frame-card.active,.frame-card:hover{border-color:var(--ed-champ);background:#faf6ef}.frame-card b,.frame-card small{display:block}.frame-card b{font-size:11px;margin-top:6px}.frame-card small{font-size:9px}.frame-demo{display:grid;place-items:center;height:54px;background:#eee9e2;position:relative;overflow:hidden}.frame-demo i{width:54%;height:72%;background:#b7ada0}.frame-demo.frame-thin i{border:2px solid #5e554c}.frame-demo.frame-champagne i{border:4px double #c5a269}.frame-demo.frame-floral i{border:2px solid #c5a269;box-shadow:inset 0 0 0 4px #eee9e2}.frame-demo.frame-arch i{border:3px solid #c5a269;border-radius:30px 30px 6px 6px}.frame-demo.frame-polaroid i{border:6px solid #fff;border-bottom-width:13px;box-shadow:0 4px 10px #999}.frame-demo.frame-rounded i{border-radius:14px;border:2px solid #b89562}
.color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.color-grid label{border:1px solid #e5ddd2;border-radius:11px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff}.color-grid input{width:54px!important;min-width:54px;border:1px solid #d9d0c5!important;border-radius:9px!important}
.section-color-editor{margin-top:18px;padding:16px;border:1px solid #ded5c9;border-radius:16px;background:#fbfaf8;display:grid;gap:14px}.section-color-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-color-head b{display:block;font-size:13px}.section-color-head small{display:block;margin-top:4px}.section-color-select-label{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px;font-size:11px;font-weight:800}.section-color-select-label select{width:100%;min-width:0;padding:10px 12px;border:1px solid #ddd4c8;border-radius:10px;background:#fff}.section-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section-color-grid label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e5ddd2;border-radius:11px;background:#fff;font-size:11px;font-weight:800}.section-color-grid input[type=color]{flex:0 0 54px;width:54px}
.switch-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:700;padding:12px 0}.ceremony-card{padding:16px;border:1px solid #e2d9cc;border-radius:14px;background:#fbfaf8;margin-top:10px}.group-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.mini-btn{border:1px solid var(--ed-champ);background:#fff;color:#735a39;padding:9px 13px;border-radius:999px;font-weight:800;cursor:pointer}
.dynamic-row{display:grid;grid-template-columns:26px repeat(2,minmax(120px,1fr)) minmax(180px,2fr) auto;gap:8px;align-items:end;padding:12px 0;border-bottom:1px dashed #e2d9cd}.itinerary-row{grid-template-columns:26px repeat(2,minmax(100px,1fr));}.itinerary-row .field.grow{grid-column:auto}.row-drag{align-self:center;color:#a79c91;cursor:grab}.remove-row{width:32px;height:36px;border:0;border-radius:8px;background:#f7e8e5;color:#a34d3f;font-size:20px;cursor:pointer}
.section-order{margin-top:12px;display:grid;gap:7px}.section-row{display:grid;grid-template-columns:28px minmax(120px,1fr) 50px 36px auto;gap:8px;align-items:center;padding:10px 11px;border:1px solid #e5ddd2;background:#fff;border-radius:10px}.section-row label{font-size:12px;font-weight:700}.section-width{font-size:10px;color:#8a8178}.section-actions{display:flex;gap:3px;flex-wrap:wrap}.section-actions button{border:1px solid #ddd4c8;background:#faf8f4;width:29px;height:29px;border-radius:7px;cursor:pointer}.drag-handle{cursor:grab;color:#a3998f}.editor-save{width:100%;padding:15px!important;font-size:14px!important}
.guest-editor-rows{display:grid;gap:10px;margin-top:14px}.guest-editor-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) minmax(170px,1.1fr) 92px minmax(0,.7fr) 38px;gap:10px;align-items:end;padding:14px;border:1px solid #e5ddd2;border-radius:14px;background:#fbfaf8}.guest-status{align-self:center;font-size:10px;color:#7c746d}.guest-editor-row.marked-delete{opacity:.55;background:#fff0ed}.guest-editor-footer{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}

/* Visor */
.preview-panel{border-radius:24px;position:relative;top:auto;overflow:visible;align-self:start}.preview-head{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #e4ddd3;background:#fbfaf8}.preview-head small{display:block;color:#8a8177;font-size:10px;text-transform:uppercase;letter-spacing:1.4px}.preview-head b{display:block;font-size:12px}.preview-mode-label{display:block;margin-top:3px;font-size:10px;color:#8a8177}.preview-toggle{display:flex;background:#eee9e2;padding:3px;border-radius:9px}.preview-toggle button{border:0;background:transparent;padding:8px 11px;border-radius:7px;font-size:10px;font-weight:800;cursor:pointer}.preview-toggle button.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#6e5435}
#previewStage.preview-stage{height:auto;min-height:0;max-height:none;background:#d7d1c9;padding:18px;overflow:visible;display:block;scrollbar-gutter:auto;overscroll-behavior:auto;touch-action:auto}
#previewStage .live-preview{margin:0 auto;min-height:100%;box-shadow:0 8px 36px rgba(0,0,0,.18);overflow:visible;transition:width .18s ease;container-type:inline-size}
#previewStage[data-mode=desktop] .live-preview{width:900px;max-width:900px}
#previewStage[data-mode=mobile] .live-preview{width:390px;max-width:390px}
#previewStage::-webkit-scrollbar{width:13px;height:13px}#previewStage::-webkit-scrollbar-track{background:#c8c0b6}#previewStage::-webkit-scrollbar-thumb{background:#7c7166;border:3px solid #c8c0b6;border-radius:10px}
.preview-help{padding:10px 15px;font-size:10px;color:#786f66;background:#fbfaf8;border-top:1px solid #e4ddd3;text-align:center}

/* El modo móvil del visor replica las reglas de la publicación móvil. */
#previewStage[data-mode=mobile] .inv-section-shell{width:var(--section-mobile-width,var(--sw,100%))!important}
#previewStage[data-mode=mobile] .inv2-section{padding:calc(var(--section-padding,76px)*.72) 16px}
#previewStage[data-mode=mobile] .inv2-photo{height:clamp(380px,calc(var(--hero-scale,74) * 1cqw),620px)}
#previewStage[data-mode=mobile] .inv2-countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#previewStage[data-mode=mobile] .family-grid,#previewStage[data-mode=mobile] .ceremony-grid,#previewStage[data-mode=mobile] .inv2-details-grid{grid-template-columns:1fr}
#previewStage[data-mode=mobile] .timeline-item{grid-template-columns:70px minmax(0,1fr);gap:12px}
#previewStage[data-mode=mobile] .inv2-location-card{padding:34px 22px}#previewStage[data-mode=mobile] .inv2-rsvp-card{padding:28px 18px}#previewStage[data-mode=mobile] .inv2-rsvp-card .form-grid{grid-template-columns:1fr}
#previewStage[data-mode=mobile] .inv2-intro .inv2-wrap{min-height:360px}

/* Edición directa */
.pv-section-shell{position:relative;margin:0 auto;overflow:visible}.pv-section-grip{position:absolute;right:7px;top:7px;z-index:120;width:30px;height:30px;border-radius:9px;background:#27231f;color:#fff;display:grid;place-items:center;cursor:grab;box-shadow:0 3px 12px rgba(0,0,0,.2);font:800 12px Montserrat,sans-serif;touch-action:none}.pv-section-palette-btn{position:absolute;right:44px;top:7px;z-index:120;width:30px;height:30px;border:0;border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.18);cursor:pointer}.pv-section-resizer{position:absolute;right:-5px;top:50%;width:10px;height:54px;transform:translateY(-50%);background:var(--ed-champ);border-radius:8px;cursor:ew-resize;z-index:110;opacity:.35;touch-action:none}.pv-section-shell:hover .pv-section-resizer{opacity:1}
#livePreview .pv-main-text{position:absolute;z-index:80;transform:translate(-50%,-50%);box-sizing:border-box;max-width:96%;border:1px dashed transparent;border-radius:8px;padding:3px 5px;overflow:visible;white-space:pre-line}.pv-main-text:hover,.pv-main-text.is-selected{border-color:var(--ed-champ);outline:1px solid rgba(184,149,98,.2)}.pv-editable{outline:none;cursor:text}.pv-editable:focus{background:rgba(255,255,255,.24);box-shadow:0 0 0 2px rgba(184,149,98,.35);border-radius:4px}
.pv-move-handle,.pv-item-move-handle,.pv-block-move-handle{position:absolute;left:-13px;top:-13px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#27231f;color:#fff;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.24);cursor:grab;touch-action:none;user-select:none;z-index:160;font:800 12px/1 Montserrat,sans-serif}.pv-resize-handle,.pv-item-resize-handle,.pv-block-resize-handle{position:absolute;right:-11px;bottom:-11px;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:var(--ed-champ);color:#fff;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.24);cursor:nwse-resize;touch-action:none;user-select:none;z-index:160;font:800 11px/1 Montserrat,sans-serif}.pv-resize-handle::after{content:'↘'}
#livePreview .pv-free-item{position:relative;display:inline-block;max-width:100%;box-sizing:border-box;border:1px dashed transparent;border-radius:7px;overflow:visible}#livePreview .pv-free-block{position:relative;box-sizing:border-box;max-width:100%;border:1px dashed transparent;overflow:visible}#livePreview .pv-free-item:hover,#livePreview .pv-free-item.is-selected,#livePreview .pv-free-block:hover,#livePreview .pv-free-block.is-selected{border-color:var(--ed-champ);outline:1px solid rgba(184,149,98,.18);z-index:95}
body.is-dragging-preview{user-select:none;cursor:grabbing}.is-drag-source{opacity:.65}.is-drop-target{outline:3px solid var(--ed-champ)!important;outline-offset:-3px}

.preview-item-inspector{margin:0 14px 12px;padding:12px;border:1px solid #ded5c9;border-radius:14px;background:#fffdf9;display:grid;gap:10px}.preview-item-inspector[hidden]{display:none}.preview-item-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.preview-item-inspector-head small{display:block;color:#7c746d;font-size:10px;text-transform:uppercase}.preview-item-inspector-head b{display:block;margin-top:3px;font-size:12px;overflow-wrap:anywhere}.preview-item-inspector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.preview-item-inspector-grid label{display:grid;gap:5px;font-size:10px;font-weight:800}.preview-item-inspector p{margin:0;color:#7c746d;font-size:10px}

@media(max-width:1250px){.editor-shell{grid-template-columns:1fr}.preview-panel{position:relative;top:0}.editor-shell{width:min(980px,97%)}}
@media(max-width:760px){.editor-form{padding:0 14px 22px}.editor-head{padding:24px 20px}.editor-head h1{font-size:38px}.form-grid,.text-control-grid,.range-grid,.theme-grid,.font-gallery,.frame-gallery,.color-grid,.section-color-grid{grid-template-columns:1fr}.field.grow{grid-column:auto}.dynamic-row,.itinerary-row,.guest-editor-row{grid-template-columns:1fr}.row-drag{display:none}.section-row{grid-template-columns:28px minmax(0,1fr) 46px 34px}.section-actions{grid-column:2/-1;justify-content:flex-end}.section-color-head,.group-title-row{align-items:flex-start;flex-direction:column}.section-color-select-label{grid-template-columns:1fr}.preview-item-inspector-grid{grid-template-columns:1fr 1fr}#previewStage.preview-stage{height:auto;min-height:0;max-height:none;overflow:visible;padding:10px}}
/* Resize libre: si JS asignó ancho explícito, no lo recortamos al ancho de la celda original. */
#livePreview .pv-free-block[style*="width"],#livePreview .pv-free-item[style*="width"]{max-width:none}


/* =========================================================
   V2.1 · CONTROLES CONTEXTUALES
   ========================================================= */
#livePreview .pv-main-text > .pv-move-handle,
#livePreview .pv-main-text > .pv-resize-handle,
#livePreview .pv-free-item > .pv-item-move-handle,
#livePreview .pv-free-item > .pv-item-resize-handle,
#livePreview .pv-free-block > .pv-block-move-handle,
#livePreview .pv-free-block > .pv-block-resize-handle{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.82);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}
#livePreview .pv-main-text.is-selected > .pv-move-handle,
#livePreview .pv-main-text.is-selected > .pv-resize-handle,
#livePreview .pv-free-item.is-selected > .pv-item-move-handle,
#livePreview .pv-free-item.is-selected > .pv-item-resize-handle,
#livePreview .pv-free-block.is-selected > .pv-block-move-handle,
#livePreview .pv-free-block.is-selected > .pv-block-resize-handle{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:scale(1)}
#livePreview .pv-main-text.is-selected,#livePreview .pv-free-item.is-selected,#livePreview .pv-free-block.is-selected{outline:2px solid rgba(184,149,98,.58)!important;outline-offset:2px;z-index:120!important}
.preview-bg-control{align-content:start}.preview-transparent-option{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:10px;font-weight:700;color:#6e665e}.preview-transparent-option input{width:auto!important;min-width:0!important;margin:0;accent-color:var(--ed-champ)}
body.is-dragging-preview{user-select:none;cursor:grabbing}body.is-dragging-preview *{cursor:grabbing!important}

/* V2.2 — edición directa estable */
#livePreview .pv-editable[contenteditable="true"]{
  cursor:text;
  user-select:text;
  -webkit-user-select:text;
  min-width:.35em;
  touch-action:manipulation;
}
#livePreview .pv-editable[contenteditable="true"]:focus,
#livePreview .pv-editable[contenteditable="true"].is-editing{
  outline:2px solid rgba(184,149,98,.55);
  outline-offset:2px;
  background:rgba(255,255,255,.16);
}
#livePreview .pv-main-text.is-selected .pv-editable,
#livePreview .pv-free-item.is-selected .pv-editable,
#livePreview .pv-free-block.is-selected .pv-editable{
  pointer-events:auto;
}

/* =========================================================
   V2.3 · POSICIÓN Y TAMAÑO DE PRECISIÓN
   ========================================================= */
.preview-precision-editor{border-top:1px solid #e7ded2;padding-top:10px;display:grid;gap:10px}
.preview-precision-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.preview-precision-head>b{font-size:11px;color:#3b342e}.preview-precision-head label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#6e665e}.preview-precision-head select{width:auto;min-width:78px;padding:7px 9px;border:1px solid #ddd4c8;border-radius:9px;background:#fff;color:#2d2925;font:700 11px Montserrat,sans-serif}
.preview-precision-body{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center}
.preview-nudge-pad{display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,34px);gap:4px;justify-content:center}.preview-nudge-pad button,.preview-size-buttons button{border:1px solid #d8cec1;background:#fff;color:#302923;border-radius:9px;font:800 15px Montserrat,sans-serif;cursor:pointer;touch-action:none;user-select:none;transition:.12s ease}.preview-nudge-pad button:hover,.preview-size-buttons button:hover{border-color:var(--ed-champ);background:#fff9ef}.preview-nudge-pad button:active,.preview-size-buttons button:active{transform:scale(.94);background:#f5ead8}.preview-nudge-center{display:grid;place-items:center;color:var(--ed-champ);font-size:13px;font-weight:900}
.preview-size-buttons{display:grid;gap:7px}.preview-size-buttons>div{display:grid;grid-template-columns:minmax(50px,1fr) 34px 34px;gap:5px;align-items:center}.preview-size-buttons span{font-size:10px;font-weight:800;color:#6e665e}.preview-size-buttons button{height:32px;font-size:16px}.preview-size-buttons button:disabled{opacity:.35;cursor:not-allowed;background:#f5f2ee}
#livePreview .pv-move-handle,#livePreview .pv-item-move-handle,#livePreview .pv-block-move-handle,#livePreview .pv-resize-handle,#livePreview .pv-item-resize-handle,#livePreview .pv-block-resize-handle{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}
@media(max-width:760px){.preview-precision-body{grid-template-columns:1fr}.preview-nudge-pad{justify-content:start}.preview-size-buttons>div{grid-template-columns:minmax(70px,1fr) 40px 40px}}

/* =========================================================
   V2.4 · GESTOS SIN CONFLICTO CON SCROLL + ITINERARIO
   ========================================================= */
#livePreview .pv-move-handle,
#livePreview .pv-item-move-handle,
#livePreview .pv-block-move-handle,
#livePreview .pv-resize-handle,
#livePreview .pv-item-resize-handle,
#livePreview .pv-block-resize-handle,
#livePreview .pv-section-grip,
#livePreview .pv-section-resizer{
  touch-action:none!important;
  -webkit-user-drag:none;
}
.preview-nudge-pad button,.preview-size-buttons button{
  position:relative;
  z-index:2;
  min-width:34px;
  min-height:34px;
}
.itinerary-row{
  grid-template-columns:26px minmax(140px,.9fr) minmax(150px,1.2fr) minmax(105px,.7fr) minmax(105px,.7fr) minmax(140px,1fr) minmax(180px,1.3fr) minmax(150px,1fr) minmax(180px,1.3fr) auto;
  align-items:end;
}
.itinerary-row .itinerary-emoji-field select{font-size:14px}
.itinerary-row .itinerary-title-field,.itinerary-row .itinerary-address-field,.itinerary-row .itinerary-notes-field{min-width:0}
@media(max-width:1250px){
  .itinerary-row{grid-template-columns:26px repeat(2,minmax(150px,1fr)) repeat(2,minmax(110px,.7fr));}
  .itinerary-row .itinerary-address-field,.itinerary-row .itinerary-notes-field{grid-column:span 2}
}
@media(max-width:760px){
  .itinerary-row{grid-template-columns:1fr!important}
  .itinerary-row .itinerary-address-field,.itinerary-row .itinerary-notes-field{grid-column:auto}
}

/* V2.5 · visor completo sin scroll interno */
#previewStage.preview-stage{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important}
#previewStage .live-preview{min-height:0!important;height:auto!important;overflow:visible!important}
body.is-dragging-preview{overflow:visible!important;user-select:none}
#livePreview .pv-main-text.is-selected,#livePreview .pv-free-item.is-selected,#livePreview .pv-free-block.is-selected{overflow:visible!important}

/* =========================================================
   V2.6 · PESTAÑAS + PREVIEW A TODO EL ANCHO + GESTOS ESTABLES
   ========================================================= */
.editor-workspace-tabs{width:min(1580px,97%);margin:22px auto 0;display:flex;gap:8px;padding:7px;background:#eee9e2;border:1px solid #dfd6ca;border-radius:16px;position:sticky;top:8px;z-index:500;box-shadow:0 8px 24px rgba(52,42,31,.08)}
.editor-workspace-tabs button{flex:1;border:0;border-radius:11px;padding:12px 18px;background:transparent;color:#6e665e;font:800 12px Montserrat,sans-serif;cursor:pointer}.editor-workspace-tabs button.active{background:#fff;color:#3c332b;box-shadow:0 3px 12px rgba(0,0,0,.09)}
.editor-shell{display:block!important;width:min(1580px,97%)!important;margin-top:12px!important}
.editor-shell[data-active-tab="form"] .preview-panel{display:none!important}.editor-shell[data-active-tab="preview"] .editor-panel{display:none!important}
.editor-shell[data-active-tab="form"] .editor-panel{display:block;width:min(980px,100%);margin:0 auto}.editor-shell[data-active-tab="preview"] .preview-panel{display:block;width:min(1180px,100%);margin:0 auto;overflow:visible}
.editor-shell[data-active-tab="preview"] .preview-head{position:sticky;top:66px;z-index:420}.editor-shell[data-active-tab="preview"] .preview-item-inspector:not([hidden]){position:sticky;top:126px;z-index:410;box-shadow:0 8px 20px rgba(52,42,31,.08)}
#previewStage.preview-stage{width:100%;box-sizing:border-box;overflow-x:auto!important;overflow-y:visible!important;padding:22px!important}
#previewStage[data-mode="desktop"] .live-preview{width:min(900px,100%)!important;max-width:900px!important}#previewStage[data-mode="mobile"] .live-preview{width:min(390px,100%)!important;max-width:390px!important}
.preview-gesture-active,.preview-gesture-active body{overscroll-behavior:none}body.is-dragging-preview{user-select:none!important;-webkit-user-select:none!important}
#livePreview .pv-move-handle,#livePreview .pv-item-move-handle,#livePreview .pv-block-move-handle,#livePreview .pv-resize-handle,#livePreview .pv-item-resize-handle,#livePreview .pv-block-resize-handle{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}
.preview-nudge-pad button.is-pressing,.preview-size-buttons button.is-pressing{background:#ead9bf!important;border-color:var(--ed-champ)!important}
@media(max-width:760px){.editor-workspace-tabs{width:calc(100% - 20px);top:6px}.editor-shell{width:100%!important}.editor-shell[data-active-tab="form"] .editor-panel,.editor-shell[data-active-tab="preview"] .preview-panel{width:100%;border-radius:0}.editor-shell[data-active-tab="preview"] .preview-head{top:64px}.editor-shell[data-active-tab="preview"] .preview-item-inspector:not([hidden]){top:126px;margin-left:8px;margin-right:8px}#previewStage.preview-stage{padding:8px!important}}

/* V2.6.1 · El inspector no debe cubrir los tiradores del lienzo. */
.editor-shell[data-active-tab="preview"] .preview-head,
.editor-shell[data-active-tab="preview"] .preview-item-inspector:not([hidden]){
  position:relative!important;
  top:auto!important;
}

/* V2.6.2 · Inspector lateral: flechas visibles sin tapar el lienzo */
.editor-shell[data-active-tab="preview"] .preview-panel{width:min(1360px,100%)}
.preview-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start;padding:14px;background:#d7d1c9}
.preview-inspector-column{position:sticky;top:74px;z-index:30;min-width:0}
.preview-inspector-column:has(.preview-item-inspector[hidden]){display:none}
.preview-workspace:has(.preview-item-inspector[hidden]){grid-template-columns:1fr}
.preview-inspector-column .preview-item-inspector{margin:0!important;position:relative!important;top:auto!important;max-height:calc(100vh - 100px);overflow:auto}
.preview-canvas-column{min-width:0}
.preview-canvas-column #previewStage.preview-stage{background:transparent;padding:8px!important}
@media(max-width:900px){.preview-workspace{grid-template-columns:1fr;padding:8px}.preview-inspector-column{position:relative;top:auto}.preview-inspector-column .preview-item-inspector{max-height:none;overflow:visible}.preview-workspace:has(.preview-item-inspector[hidden]){grid-template-columns:1fr}}


/* V2.7 · diseño único responsive + catálogo visual de emojis */
.itinerary-emoji-field{position:relative;min-width:115px}.itinerary-emoji-toggle{width:100%;min-height:44px;border:1px solid #d8cec3;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.itinerary-emoji-toggle span{font-size:24px;line-height:1}.itinerary-emoji-toggle b{font-size:11px;color:#6f6257}.itinerary-emoji-panel{position:absolute;z-index:260;left:0;top:calc(100% + 6px);width:min(420px,82vw);padding:12px;background:#fff;border:1px solid #d8cec3;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.itinerary-emoji-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.itinerary-emoji-option{border:1px solid #eee4db;background:#fff;border-radius:11px;padding:8px 5px;cursor:pointer;display:grid;gap:3px;place-items:center}.itinerary-emoji-option span{font-size:22px}.itinerary-emoji-option small{font-size:9px;line-height:1.15;text-align:center;color:#786b61}.itinerary-emoji-option:hover,.itinerary-emoji-option.active{border-color:#b89562;background:#fbf6ee}.itinerary-custom-emoji{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}.itinerary-custom-emoji input{min-width:0}.itinerary-custom-emoji button{border:0;border-radius:10px;padding:0 14px;background:#2d2925;color:#fff;cursor:pointer}
#previewStage[data-mode="mobile"] .pv-free-block,#previewStage[data-mode="mobile"] .pv-free-item{max-width:100%!important}
#previewStage[data-mode="mobile"] .pv-free-block[style*="width"],#previewStage[data-mode="mobile"] .pv-free-item[style*="width"]{max-width:100%!important}
@media(max-width:760px){.itinerary-emoji-panel{position:fixed;left:10px;right:10px;top:auto;bottom:12px;width:auto;max-height:60vh;overflow:auto}.itinerary-emoji-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V2.8 · feedback del inspector de color */
#livePreview .pv-free-block.is-selected{
  transition:background-color .12s ease,color .12s ease;
}
.preview-item-inspector-grid label>span:first-child{
  display:block;
}