/* ===== Editor visual del sitio ===== */
html.ed-open{--ed-w:340px}
@media (min-width:960px){html.ed-open body{padding-right:var(--ed-w)}html.ed-open .ed-bar{right:var(--ed-w)}}
body.has-ed{padding-bottom:62px}
html.ed-preview .ed-panel,html.ed-preview .ed-tool{display:none}
html.ed-preview body{padding-right:0}
/* elementos ocultados por el editor */
[data-ed-hidden]{display:none!important}
html.iml-admin [data-ed-hidden]{display:revert!important;opacity:.32;outline:1px dashed var(--line-strong);position:relative}
html.ed-preview [data-ed-hidden]{display:none!important}
/* resaltado al pasar y al seleccionar */
html.iml-admin:not(.ed-preview) h1:hover,html.iml-admin:not(.ed-preview) h2:hover,html.iml-admin:not(.ed-preview) h3:hover,
html.iml-admin:not(.ed-preview) p:hover,html.iml-admin:not(.ed-preview) img:hover,html.iml-admin:not(.ed-preview) li:hover{outline:1px solid rgba(94,148,136,.5);outline-offset:2px;cursor:text}
html.iml-admin:not(.ed-preview) img:hover{cursor:pointer}
[data-ed-sel]{outline:2px solid #2F6B5E!important;outline-offset:2px;border-radius:2px}
[data-ed-flash]{animation:edFlash .9s ease}
@keyframes edFlash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 4px rgba(94,148,136,.5)}}
/* ---- barra inferior ---- */
.ed-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:#1E2328;color:#fff;padding:11px clamp(14px,2.5vw,26px);font-family:"Montserrat",sans-serif;box-shadow:0 -8px 26px rgba(0,0,0,.22);transition:right .26s}
.ed-bar__b{font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:#2F6B5E;padding:6px 11px;border-radius:100px}
.ed-bar__hint{font-size:12px;color:rgba(255,255,255,.6)}
.ed-bar__acts{margin-left:auto;display:flex;gap:8px}
.ed-bar .ed-btn{border-color:rgba(255,255,255,.28);color:#fff;background:transparent}
.ed-bar .ed-btn:hover{background:rgba(255,255,255,.14)}
/* ---- panel lateral ---- */
.ed-panel{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:88vw;z-index:305;background:#FBFAF6;border-left:1px solid #E2DDD3;
  display:flex;flex-direction:column;font-family:"Montserrat",sans-serif;transform:translateX(100%);transition:transform .26s cubic-bezier(.4,.05,.2,1);box-shadow:-12px 0 34px rgba(43,47,54,.1)}
html.ed-open .ed-panel{transform:none}
.ed-panel__top{display:flex;align-items:center;gap:8px;padding:12px 12px 0;border-bottom:1px solid #E2DDD3;background:#fff}
.ed-tabs{display:flex;gap:2px;flex:1;min-width:0}
.ed-tabs button{flex:1;font-family:inherit;font-size:11.5px;letter-spacing:.02em;border:0;background:transparent;color:#5A6068;padding:11px 4px;cursor:pointer;border-bottom:2px solid transparent;transition:.16s;white-space:nowrap}
.ed-tabs button:hover{color:#2B2F36}
.ed-tabs button.on{color:#2F6B5E;font-weight:600;border-bottom-color:#2F6B5E}
.ed-x{border:0;background:transparent;color:#8C8E89;font-size:22px;line-height:1;cursor:pointer;padding:6px 8px;border-radius:4px}
.ed-x:hover{background:rgba(0,0,0,.06);color:#2B2F36}
.ed-panel__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 20px}
.ed-panel__foot{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid #E2DDD3;background:#fff}
.ed-state{flex:1;font-size:11px;letter-spacing:.02em;color:#8C8E89}
/* ---- grupos ---- */
.ed-grp{padding:18px 16px;border-bottom:1px solid #EFEBE3}
.ed-grp h4{font-family:inherit;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8C8E89;margin:0 0 12px;font-weight:600;display:flex;justify-content:space-between;gap:8px}
.ed-grp h4 b{color:#2F6B5E;font-weight:600;letter-spacing:0;text-transform:none;font-size:11.5px}
.ed-help{font-size:11.5px;line-height:1.55;color:#8C8E89;margin:0 0 12px}
.ed-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:#5A6068;word-break:break-all}
/* ---- listas ---- */
.ed-list{display:flex;flex-direction:column;gap:4px}
.ed-item{display:flex;align-items:center;gap:9px;font-family:inherit;font-size:13px;color:#2B2F36;background:#fff;border:1px solid #E2DDD3;
  border-radius:5px;padding:10px 12px;text-decoration:none;cursor:pointer;transition:.15s;text-align:left;width:100%}
.ed-item:hover{border-color:#2F6B5E;color:#2F6B5E;text-decoration:none}
.ed-item.on{background:#E7EFEA;border-color:#2F6B5E;color:#2F6B5E;font-weight:600}
.ed-item svg{width:14px;height:14px;flex:none;opacity:.6}
.ed-sec{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E2DDD3;border-radius:5px;padding:9px 10px;font-size:12.5px;cursor:grab}
.ed-sec.dragging{opacity:.45}
.ed-sec.off{opacity:.5;background:#F4F1EC}
.ed-sec__g{color:#CFC9BC;font-size:11px;letter-spacing:-2px;flex:none}
.ed-sec__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2B2F36}
.ed-mini{border:0;background:transparent;color:#8C8E89;font-size:13px;line-height:1;cursor:pointer;padding:4px 5px;border-radius:3px;flex:none}
.ed-mini:hover{background:#E7EFEA;color:#2F6B5E}
/* ---- campos ---- */
.ed-f{display:block;margin-bottom:12px}
.ed-f>span{display:flex;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.03em;color:#5A6068;margin-bottom:5px}
.ed-f>span b{color:#2F6B5E;font-weight:600}
.ed-f input[type=text],.ed-f select,.ed-ta{width:100%;font-family:inherit;font-size:13px;padding:9px 10px;border:1px solid #CFC9BC;border-radius:4px;background:#fff;color:#2B2F36}
.ed-f input:focus,.ed-f select:focus,.ed-ta:focus{outline:none;border-color:#2F6B5E;box-shadow:0 0 0 3px rgba(94,148,136,.16)}
.ed-ta{resize:vertical;line-height:1.55;font-family:"Lato",sans-serif;font-size:13.5px}
input[type=range]{width:100%;accent-color:#2F6B5E;margin:2px 0}
/* ---- swatches ---- */
.ed-sw{display:flex;flex-wrap:wrap;gap:6px}
.ed-sw__i{width:26px;height:26px;border-radius:5px;border:1px solid rgba(0,0,0,.14);cursor:pointer;padding:0;transition:.14s}
.ed-sw__i:hover{transform:scale(1.12)}
.ed-sw__i.on{box-shadow:0 0 0 2px #2F6B5E;border-color:#fff}
.ed-sw__n{background:#fff;color:#8C8E89;font-size:12px;line-height:1}
.ed-sw__c{position:relative;width:26px;height:26px;border-radius:5px;border:1px dashed #CFC9BC;display:grid;place-items:center;cursor:pointer;overflow:hidden}
.ed-sw__c input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.ed-sw__c span{font-size:14px;color:#8C8E89;pointer-events:none}
/* ---- botones ---- */
.ed-btn{font-family:"Montserrat",sans-serif;font-size:11.5px;letter-spacing:.04em;padding:9px 13px;border-radius:4px;border:1px solid #CFC9BC;
  background:#fff;color:#2B2F36;cursor:pointer;transition:.15s;white-space:nowrap;text-decoration:none;display:inline-block;text-align:center}
.ed-btn:hover{background:#F4F1EC;text-decoration:none}
.ed-btn--go{background:#2F6B5E;border-color:#2F6B5E;color:#fff;font-weight:600}
.ed-btn--go:hover{background:#2F6B5E;filter:brightness(1.12)}
.ed-btn--go.is-dirty{box-shadow:0 0 0 3px rgba(94,148,136,.3)}
.ed-btn--bad{color:#B4483C;border-color:#E4C6C1}
/* ---- burbujas flotantes ---- */
.ed-fab{border:1px solid #E4DED2;border-radius:5px;margin-bottom:8px;background:#FBF9F5;overflow:hidden}
.ed-fab.is-on{border-color:#BFD6CD;background:#fff}
.ed-fab__h{display:flex;align-items:center;gap:8px;padding:9px 10px;cursor:pointer;font-size:12.5px;color:#2B2F36}
.ed-fab__h input{accent-color:#2F6B5E;margin:0}
.ed-fab__h b{font-weight:600;flex:1}
.ed-fab__dot{width:14px;height:14px;border-radius:50%;flex:none;opacity:.32}
.ed-fab.is-on .ed-fab__dot{opacity:1}
.ed-fab__dot--whatsapp{background:#25D366}
.ed-fab__dot--instagram{background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF)}
.ed-fab__dot--facebook{background:#1877F2}
.ed-fab__dot--tiktok{background:#111}
.ed-fab__dot--youtube{background:#FF0000}
.ed-fab__dot--linkedin{background:#0A66C2}
.ed-fab__dot--x{background:#000}
.ed-fab__dot--telegram{background:#229ED9}
.ed-fab__dot--phone{background:#2F6B5E}
.ed-fab__dot--email{background:#2B2F36}
.ed-fab__dot--maps{background:#0F9D58}
.ed-fab__dot--web{background:#5E9488}
.ed-fab__b{display:none;padding:0 10px 10px;gap:6px;flex-direction:column}
.ed-fab.is-on .ed-fab__b{display:flex}
.ed-fab__b input{width:100%;font-family:inherit;font-size:12.5px;padding:8px 9px;border:1px solid #CFC9BC;border-radius:4px;background:#fff;color:#2B2F36}
.ed-fab__b input:focus{outline:none;border-color:#2F6B5E;box-shadow:0 0 0 3px rgba(94,148,136,.16)}
.ed-btn--bad:hover{background:#FBEEEC}
.ed-btn--w{width:100%;margin-top:4px}
.ed-btn:disabled{opacity:.55;cursor:default}
.ed-acts{display:flex;flex-wrap:wrap;gap:6px}
.ed-acts .ed-btn{flex:1;min-width:84px}
.ed-kv{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#5A6068;padding:6px 0;border-bottom:1px dotted #E2DDD3}
.ed-kv b{color:#2B2F36}
.ed-kv b.bad{color:#9A5A32}
.ed-thumb{background:#F4F1EC;border:1px solid #E2DDD3;border-radius:5px;overflow:hidden;margin-bottom:10px;aspect-ratio:16/10}
.ed-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ed-empty{padding:44px 24px;text-align:center;color:#8C8E89;display:flex;flex-direction:column;align-items:center;gap:14px}
.ed-empty svg{width:34px;height:34px;stroke:#CFC9BC}
.ed-empty p{font-size:12.5px;line-height:1.6;margin:0;max-width:26ch}
/* ---- barra flotante junto al elemento ---- */
.ed-tool{position:absolute;z-index:299;display:none;gap:1px;background:#1E2328;border-radius:5px;padding:3px;box-shadow:0 6px 18px rgba(0,0,0,.26)}
.ed-tool.on{display:flex}
.ed-tool button{border:0;background:transparent;color:rgba(255,255,255,.78);font-size:13px;line-height:1;cursor:pointer;padding:7px 9px;border-radius:3px}
.ed-tool button:hover{background:rgba(255,255,255,.16);color:#fff}
/* ---- ingreso ---- */
.ed-gate{position:fixed;inset:0;z-index:320;background:rgba(30,35,40,.62);display:grid;place-items:center;padding:24px;backdrop-filter:blur(3px)}
.ed-gate__box{background:#FBFAF6;border-radius:9px;box-shadow:0 24px 60px rgba(0,0,0,.3);padding:34px;width:min(390px,100%);font-family:"Montserrat",sans-serif;text-align:center}
.ed-gate__box img{width:52px;height:60px;object-fit:contain;margin:0 auto 18px;display:block}
.ed-gate__box h3{font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:23px;color:#2B2F36;margin:0 0 7px}
.ed-gate__box p{font-size:13px;line-height:1.6;color:#5A6068;margin:0 0 22px}
.ed-gate .ed-f{text-align:left}
.ed-gate__err{font-size:12px;color:#B4483C;margin-top:-4px;margin-bottom:10px}
.ed-gate__row{display:flex;gap:8px;margin-top:18px}
.ed-gate__row .ed-btn{flex:1}
/* ---- avisos ---- */
.ed-toast{position:fixed;left:50%;bottom:78px;transform:translate(-50%,10px);z-index:330;background:#1E2328;color:#fff;
  font-family:"Montserrat",sans-serif;font-size:12.5px;line-height:1.5;padding:13px 20px;border-radius:5px;box-shadow:0 12px 30px rgba(0,0,0,.3);
  opacity:0;pointer-events:none;transition:.2s;max-width:min(440px,88vw);text-align:center}
.ed-toast.on{opacity:1;transform:translate(-50%,0)}
.ed-toast.bad{background:#8F3B31}
@media (max-width:1099px){
  .ed-panel{width:min(340px,92vw)}
  .ed-bar__hint{display:none}
}
