/* LP Portada Pro (desde cero) */
.lp2-wrap{ position:relative; margin:0; }
.lp2-wrap.is-bleed{
  --overscan: 1px;
  position:relative;
  left:50%; right:50%;
  width:calc(100vw + var(--overscan)*2);
  margin-left:calc(50% - 50vw - var(--overscan));
  margin-right:calc(50% - 50vw - var(--overscan));
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x: clip;
}
@supports not (overflow: clip){
  .lp2-wrap.is-bleed{ overflow-x:hidden; }
}
@supports (width: 100svw){
  .lp2-wrap.is-bleed{
    width:calc(100svw + var(--overscan)*2);
    margin-left:calc(50% - 50svw - var(--overscan));
    margin-right:calc(50% - 50svw - var(--overscan));
  }
}
@supports (width: 100dvw){
  .lp2-wrap.is-bleed{
    width:calc(100dvw + var(--overscan)*2);
    margin-left:calc(50% - 50dvw - var(--overscan));
    margin-right:calc(50% - 50dvw - var(--overscan));
  }
}
.lp2-cover{ position:relative; width:100%; aspect-ratio:18/5; overflow:hidden; background:transparent; }
.lp2-cover img{ display:block; width:100%; height:100%; object-fit:cover; border:none !important; outline:none !important; }

/* Título centrado Montserrat */
.lp2-title{
  position:absolute; inset:0; z-index:1;
  display:flex; align-items:center; justify-content:center;
  text-align:center; color:#fff; padding:16px 20px;
  font-family:'Roboto', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  font-weight: 600; letter-spacing:.1px; text-shadow:0 2px 10px rgba(0,0,0,.35);
  font-size: 30px; line-height:1.15;
  opacity:1; /* visible siempre */
}

/* Botón editar discreto (icon-only) */
.lp2-edit-fab{
  position:absolute; right:10px; bottom:10px; z-index:2;
  display:inline-flex; align-items:center; justify-content:center;
  inline-size:36px; block-size:36px; padding:0;
  border-radius:999px; border:1px solid rgba(255,255,255,.9);
  background:#d9125e; color:#fff;
  box-shadow:0 3px 14px rgba(0,0,0,.35);
  transition:transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.lp2-edit-fab:hover{ transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.38); background:#100f24; border-color:rgba(255,255,255,.5); }
.lp2-edit-fab svg{ width:16px; height:16px; display:block; }

/* Overlay */
.lp2-overlay{
  position:fixed; inset:0; z-index:9999;
  display:grid; grid-template-rows:auto 1fr auto;
  background:rgba(0,0,0,.85); opacity:0; pointer-events:none; transition:opacity .15s ease;
}
.lp2-overlay.is-open{ opacity:1; pointer-events:auto; }
.lp2-topbar, .lp2-bottombar{
  display:flex; align-items:center; justify-content:space-between; padding:12px 14px; color:#fff;
}
.lp2-stage{ position:relative; width:100%; height:100%; display:grid; place-items:center; }
#lp2-canvas{ background:#111; border:none !important; outline:none !important; max-width:96vw; max-height:70vh; }

/* Marco sin borde punteado; solo viñeta */
.lp2-frame{
  position:absolute; pointer-events:none;
  width:min(96vw, 1200px); height:calc(min(96vw, 1200px) * (5/18));
  border:2px solid rgba(255,255,255,.95);
  background:transparent;
  /* Darken ONLY the outside (no inset) */
  box-shadow:0 0 0 9999px rgba(0,0,0,.6);
}

/* Botones */
.lp2-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; border-radius:10px; border:0; background:#2c2a5f; color:#fff; font-weight:700;
}
.lp2-btn.ghost{ background:#6b7280; }

/* Blindar contra bordes/outline punteados del tema */
.lp2-cover, .lp2-cover *, .lp2-overlay, .lp2-overlay *{
  outline:none !important;
  border-style:solid !important;
  border-color:transparent !important;
}
.lp2-edit-fab, .lp2-btn{ border-color:rgba(255,255,255,.35) !important; }

/* Hint / instrucciones */
.lp2-hint{
  position:absolute; top:12px; left:50%; transform:translateX(-50%);
  background:rgba(0,0,0,.55); color:#fff; padding:6px 10px; border-radius:999px; font-size:13px;
  font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  pointer-events:none;
}
/* Prevent background scroll when overlay is open */
.lp2-no-scroll{ overflow:hidden; }

/* Strong overrides */
.lp2-wrap .lp2-cover #lp2-edit.lp2-edit-fab{
  position:absolute; right:10px; bottom:10px; z-index:2;
  display:inline-flex; align-items:center; justify-content:center;
  inline-size:36px; block-size:36px; padding:0;
  border-radius:999px; border:1px solid rgba(255,255,255,.9);
  background:#d9125e; color:#fff;
  box-shadow:0 3px 14px rgba(0,0,0,.35);
  transition:transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.lp2-overlay .lp2-stage #lp2-frame{ border:2px solid rgba(255,255,255,.95) !important; background:rgba(0,0,0,.6) !important; box-shadow:none !important; }
/* Fallback hover */
#lp2-edit.lp2-edit-fab:hover{ background:#b80f4b !important; }
/* Ensure no theme borders leak */
.lp2-cover, .lp2-cover *, .lp2-overlay, .lp2-overlay *{ outline:none !important; border-style:solid !important; }

/* Strong overrides 2.1.4 */
.lp2-wrap .lp2-cover #lp2-edit.lp2-edit-fab{ right:10px !important; bottom:10px !important; inline-size:36px !important; block-size:36px !important; background:#d9125e !important; border:1px solid rgba(255,255,255,.9) !important; color:#fff !important; }
.lp2-overlay .lp2-stage #lp2-frame{ border:2px solid rgba(255,255,255,.95) !important; background:transparent !important; box-shadow:0 0 0 9999px rgba(0,0,0,.6) !important; }

/* Floating action bar over the editor */
.lp2-bottombar{
  position:absolute; right:14px; bottom:14px; left:auto; top:auto;
  background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.2);
  border-radius:12px; padding:8px; z-index:10001;
  box-shadow:0 6px 24px rgba(0,0,0,.35);
}
.lp2-bottombar .lp2-actions{ display:flex; gap:8px; align-items:center; }
.lp2-bottombar .lp2-btn{ padding:10px 14px; border-radius:10px; }


/* Ensure image fills fully */
.lp2-cover, .lp2-cover img{
  display:block; width:100%; height:100%; object-fit:cover; border:0; outline:0;
}
