
.hfp-overlay,
.hfp-overlay *{
  box-sizing:border-box;
}
.hfp-overlay{
  position:fixed; inset:0; z-index:2147483647 !important;
  display:none; align-items:center; justify-content:center;
  padding:28px; background:rgba(var(--hfp-overlay-rgb,7,9,11),var(--hfp-overlay-opacity,.72)) !important;
  backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
}
.hfp-overlay.hfp-open{display:flex;animation:hfpFade .25s ease both}
.hfp-modal{
  position:relative;
  width:min(var(--hfp-popup-width,1180px),96vw);
  height:min(760px,calc(100vh - 64px));
  max-height:calc(100vh - 64px);
  display:grid;
  grid-template-columns:minmax(0,var(--hfp-left,42fr)) minmax(0,var(--hfp-right,58fr));
  overflow:hidden;
  border-radius:28px;
  background:var(--hfp-bg,#ffffff) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}
.hfp-close{
  position:absolute; top:18px; right:18px; z-index:5;
  width:44px; height:44px; border:0; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(20,20,20,.72); color:#fff;
  font-family:Arial,sans-serif; font-size:29px; font-weight:300; line-height:1;
  cursor:pointer; transition:.2s ease;
}
.hfp-close:hover{transform:scale(1.06);background:rgba(20,20,20,.92)}
.hfp-copy{
  padding:46px 50px 42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
  min-height:0;
  max-width:100%;
  overflow-y:auto;
  overflow-x:hidden;
}
.hfp-logo-wrap{margin-bottom:6px;width:100%;display:flex}
.hfp-logo-align-left{justify-content:flex-start}
.hfp-logo-align-center{justify-content:center}
.hfp-logo-align-right{justify-content:flex-end}
.hfp-logo{
  display:block;
  width:min(var(--hfp-logo-width,210px),100%); height:auto;
  max-width:100%; max-height:110px;
  object-fit:contain;
}
.hfp-eyebrow{
  color:var(--hfp-accent,#c18d36) !important; font-family:var(--hfp-body-font, Arial, sans-serif); font-size:13px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
}
.hfp-align-left{text-align:left}
.hfp-align-center{text-align:center}
.hfp-align-right{text-align:right}
.hfp-align-center .hfp-divider{margin-left:auto;margin-right:auto}
.hfp-align-right .hfp-divider{margin-left:auto;margin-right:0}
.hfp-align-left .hfp-divider{margin-left:0;margin-right:auto}
.hfp-divider{
  display:flex; align-items:center; gap:10px;
  width:130px; margin:18px 0 24px; color:var(--hfp-separator,#4A9EC5);
}
.hfp-divider span{height:1px;background:var(--hfp-separator,#4A9EC5);flex:1}
.hfp-divider i{font-style:normal;font-size:8px;transform:rotate(45deg)}
.hfp-divider em{
  display:flex;
  align-items:center;
  gap:6px;
  font-style:normal;
}
.hfp-divider em b{
  display:block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--hfp-separator,#4A9EC5);
}
.hfp-divider-small{width:104px;margin:22px 0 18px}
.hfp-copy h2{
  margin:0; color:var(--hfp-title-color,#241f1a) !important;
  font-family:var(--hfp-title-font, Georgia, 'Times New Roman', serif);
  font-size:var(--hfp-title-size,58px);
  line-height:1.03; font-weight:400; letter-spacing:-.025em;
  text-transform:none;
}
.hfp-text{
  margin:0 0 26px; color:var(--hfp-body-color,#625b53) !important;
  font-family:var(--hfp-body-font, Arial, sans-serif);
  font-size:var(--hfp-body-size,16px); line-height:1.7;
}
.hfp-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:4px 0 28px;
}
.hfp-feature{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--hfp-body-color,#4e473f);
  font-family:var(--hfp-body-font, Arial, sans-serif);
  font-size:var(--hfp-feature-size,14px);
  line-height:1.35;
}
.hfp-feature-icon{
  color:var(--hfp-accent,#c18d36) !important;
  flex:0 0 auto;
  width:calc(var(--hfp-benefit-icon-size,30px) + 16px);
  height:calc(var(--hfp-benefit-icon-size,30px) + 16px);
  display:grid;
  place-items:center;
}
.hfp-feature-icon svg{
  display:block;
  width:var(--hfp-benefit-icon-size,30px);
  height:var(--hfp-benefit-icon-size,30px);
}

/* Premium card style */
.hfp-features-cards .hfp-feature{
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--hfp-accent,#c18d36) 25%,transparent);
  border-radius:14px;
  background:rgba(255,255,255,.32);
  box-shadow:0 4px 14px rgba(92,70,38,.045);
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.hfp-features-cards .hfp-feature:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--hfp-accent,#c18d36) 45%,transparent);
  background:rgba(255,255,255,.5);
}
.hfp-features-cards .hfp-feature-icon{
  border-radius:50%;
  background:color-mix(in srgb,var(--hfp-accent,#c18d36) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--hfp-accent,#c18d36) 20%,transparent);
}

/* Minimal style */
.hfp-features-minimal{
  gap:10px 20px;
}
.hfp-features-minimal .hfp-feature{
  padding:7px 0;
  border-bottom:1px solid color-mix(in srgb,var(--hfp-accent,#c18d36) 20%,transparent);
}
.hfp-features-minimal .hfp-feature-icon{
  width:var(--hfp-benefit-icon-size,30px);
  height:var(--hfp-benefit-icon-size,30px);
}

/* Alignment */
.hfp-benefits-align-left .hfp-feature{justify-content:flex-start;text-align:left}
.hfp-benefits-align-center .hfp-feature{justify-content:center;text-align:center}
.hfp-benefits-align-right .hfp-feature{justify-content:flex-end;text-align:right}

.hfp-cta{
  display:flex; align-items:center; justify-content:center; gap:14px;
  width:min(var(--hfp-button-width,100%),100%); max-width:100%; min-height:58px; padding:13px 20px;
  border-radius:12px;
  background:var(--hfp-button-bg,#b9822b) !important;
  color:var(--hfp-button-text,#fff) !important; text-decoration:none!important;
  font-size:var(--hfp-button-size,18px) !important; font-weight:600;
  box-shadow:0 10px 26px rgba(148,102,30,.24);
  transition:.2s ease;
}
.hfp-cta:hover{transform:translateY(-1px);filter:brightness(.94);box-shadow:0 14px 32px rgba(148,102,30,.3)}
.hfp-button-align-left{margin-left:0;margin-right:auto}
.hfp-button-align-center{margin-left:auto;margin-right:auto}
.hfp-button-align-right{margin-left:auto;margin-right:0}

.hfp-mobile-media{display:none}

.hfp-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1.35fr 1fr 1fr;
  gap:4px;
  min-height:0;
  height:100%;
  background:#fff;
}
.hfp-photo{position:relative;overflow:hidden;background:#ddd7cd}
.hfp-photo-1{grid-column:1/3}
.hfp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.hfp-photo:hover img{transform:scale(1.025)}
.hfp-placeholder{
  display:flex;align-items:center;justify-content:center;
  color:#81786d;font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  background:linear-gradient(135deg,#ece6db,#d8d0c3);
}
body.hfp-lock{overflow:hidden!important}
@keyframes hfpFade{from{opacity:0}to{opacity:1}}

@media(max-width:980px){
  .hfp-overlay{padding:16px}
  .hfp-modal{
    grid-template-columns:1fr;
    width:min(720px,96vw);
    height:auto;
    max-height:calc(100vh - 32px);
    overflow-y:auto;
  }
  .hfp-copy{padding:40px 34px 30px;overflow:visible}
  .hfp-copy h2{font-size:var(--hfp-title-mobile,38px)}
  .hfp-gallery{height:500px;min-height:500px}
}
@media(max-width:640px){
  .hfp-overlay{padding:8px}
  .hfp-modal{border-radius:20px}
  .hfp-copy{padding:34px 22px 24px}
  .hfp-logo{width:min(var(--hfp-logo-width,170px),100%);max-width:100%;max-height:78px}
  .hfp-text{font-size:max(14px,var(--hfp-body-size));line-height:1.6}
  .hfp-features{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
  .hfp-gallery{grid-template-rows:1.2fr .9fr .9fr;min-height:430px}
  .hfp-close{width:40px;height:40px;font-size:25px;top:12px;right:12px}
}


/* Ajustes para pantallas de poca altura y vista previa del administrador */
@media (min-width:981px) and (max-height:820px){
  .hfp-modal{
    height:calc(100vh - 40px);
    max-height:calc(100vh - 40px);
  }
  .hfp-copy{
    padding:32px 42px 28px;
  }
  .hfp-logo{max-height:70px;max-width:190px}
  .hfp-eyebrow{font-size:12px}
  .hfp-divider{margin:13px 0 17px}
  .hfp-divider-small{margin:16px 0 14px}
  .hfp-copy h2{
    font-size:min(var(--hfp-title-size,58px),48px);
    line-height:1.02;
  }
  .hfp-text{
    margin-bottom:18px;
    line-height:1.55;
  }
  .hfp-features{
    gap:9px 18px;
    margin-bottom:20px;
  }
  .hfp-cta{min-height:52px}
}

body.wp-admin .hfp-admin-preview-overlay{
  top:32px;
}
@media(max-width:782px){
  body.wp-admin .hfp-admin-preview-overlay{top:46px}
}


@media(max-width:640px){
  .hfp-features{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .hfp-features-cards .hfp-feature{
    padding:10px 11px;
    gap:9px;
  }
  .hfp-feature-icon{
    width:calc(var(--hfp-benefit-icon-size,28px) + 12px);
    height:calc(var(--hfp-benefit-icon-size,28px) + 12px);
  }
}
@media(max-width:430px){
  .hfp-features{
    grid-template-columns:1fr;
  }
}


/* ================================================================
   MOBILE LAYOUT — 767px and below
   ================================================================ */
@media(max-width:767px){
  .hfp-overlay{
    padding:10px;
    align-items:center;
  }

  .hfp-modal{
    width:calc(100vw - 20px);
    max-width:430px;
    height:auto;
    max-height:calc(100vh - 20px);
    max-height:calc(100dvh - 20px);
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
    border-radius:var(--hfp-mobile-radius,20px);
    -webkit-overflow-scrolling:touch;
  }

  .hfp-gallery{display:none!important}

  .hfp-mobile-media{
    display:block;
    flex:0 0 auto;
    width:100%;
    background:#f2f2f2;
  }
  .hfp-mobile-media-none{display:none}

  .hfp-mobile-hero{
    width:100%;
    height:var(--hfp-mobile-hero-height,210px);
    overflow:hidden;
    background:#e7e4df;
  }
  .hfp-mobile-hero img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
  }
  .hfp-mobile-hero-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    font-family:var(--hfp-body-font,Arial,sans-serif);
    font-size:12px;
    color:#777;
    text-transform:uppercase;
    letter-spacing:.08em;
  }

  .hfp-mobile-thumbs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:3px;
    padding-top:3px;
    background:var(--hfp-bg,#fff);
  }
  .hfp-mobile-thumb{
    height:68px;
    overflow:hidden;
    background:#eee;
  }
  .hfp-mobile-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .hfp-copy{
    padding:var(--hfp-mobile-padding,20px);
    overflow:visible;
    flex:1 0 auto;
  }

  .hfp-mobile-content-left .hfp-copy{text-align:left}
  .hfp-mobile-content-center .hfp-copy{text-align:center}
  .hfp-mobile-content-right .hfp-copy{text-align:right}

  .hfp-mobile-content-left .hfp-divider{margin-left:0;margin-right:auto}
  .hfp-mobile-content-center .hfp-divider{margin-left:auto;margin-right:auto}
  .hfp-mobile-content-right .hfp-divider{margin-left:auto;margin-right:0}

  .hfp-logo{
    width:min(var(--hfp-mobile-logo-width,165px),100%);
    max-height:82px;
  }
  .hfp-mobile-logo-left .hfp-logo-wrap{justify-content:flex-start}
  .hfp-mobile-logo-center .hfp-logo-wrap{justify-content:center}
  .hfp-mobile-logo-right .hfp-logo-wrap{justify-content:flex-end}

  .hfp-copy h2{
    font-size:var(--hfp-title-mobile,34px);
    line-height:1.08;
    letter-spacing:-.015em;
  }

  .hfp-divider{
    width:92px;
    margin-top:12px;
    margin-bottom:16px;
  }
  .hfp-divider-small{
    width:72px;
    margin-top:14px;
    margin-bottom:14px;
  }
  .hfp-divider span{display:none}
  .hfp-divider em{margin:auto}
  .hfp-divider em b{width:5px;height:5px}

  .hfp-text{
    margin-bottom:18px;
    font-size:var(--hfp-mobile-body-size,15px);
    line-height:1.55;
  }

  .hfp-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:0 0 18px;
  }
  .hfp-mobile-benefits-1 .hfp-features{grid-template-columns:1fr}
  .hfp-mobile-benefits-2 .hfp-features{grid-template-columns:repeat(2,minmax(0,1fr))}

  .hfp-feature{
    font-size:var(--hfp-mobile-feature-size,13px);
  }
  .hfp-features-cards .hfp-feature{
    padding:10px 9px;
    gap:8px;
    min-height:64px;
  }
  .hfp-feature-icon{
    width:38px;
    height:38px;
  }
  .hfp-feature-icon svg{
    width:24px;
    height:24px;
  }

  .hfp-cta{
    width:min(var(--hfp-mobile-button-width,100%),100%);
    min-height:54px;
    font-size:var(--hfp-button-size,18px) !important;
    border-radius:11px;
  }
  .hfp-mobile-button-left .hfp-cta{margin-left:0;margin-right:auto}
  .hfp-mobile-button-center .hfp-cta{margin-left:auto;margin-right:auto}
  .hfp-mobile-button-right .hfp-cta{margin-left:auto;margin-right:0}

  .hfp-mobile-sticky-cta .hfp-cta{
    position:sticky;
    bottom:max(0px,env(safe-area-inset-bottom));
    z-index:30;
    box-shadow:0 -8px 22px rgba(255,255,255,.78),0 10px 26px rgba(148,102,30,.24);
  }

  .hfp-close{
    position:fixed;
    top:max(18px,env(safe-area-inset-top));
    right:18px;
    width:44px;
    height:44px;
    z-index:20;
  }
}

/* ================================================================
   FORCED MOBILE PREVIEW INSIDE WORDPRESS ADMIN
   ================================================================ */
.hfp-force-mobile{
  width:390px!important;
  max-width:calc(100vw - 40px)!important;
  height:min(844px,calc(100vh - 76px))!important;
  max-height:calc(100vh - 76px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-radius:var(--hfp-mobile-radius,20px)!important;
}
.hfp-force-mobile .hfp-gallery{display:none!important}
.hfp-force-mobile .hfp-mobile-media{display:block}
.hfp-force-mobile .hfp-mobile-media-none{display:none}
.hfp-force-mobile .hfp-mobile-hero{
  height:var(--hfp-mobile-hero-height,210px);
  flex:0 0 auto;
  overflow:hidden;
}
.hfp-force-mobile .hfp-mobile-hero img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hfp-force-mobile .hfp-mobile-hero-placeholder{
  width:100%;height:100%;display:grid;place-items:center;color:#777;font-size:12px;
}
.hfp-force-mobile .hfp-mobile-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3px;
  padding-top:3px;
}
.hfp-force-mobile .hfp-mobile-thumb{height:68px;overflow:hidden}
.hfp-force-mobile .hfp-mobile-thumb img{width:100%;height:100%;object-fit:cover}
.hfp-force-mobile .hfp-copy{
  padding:var(--hfp-mobile-padding,20px);
  overflow:visible;
}
.hfp-force-mobile.hfp-mobile-content-left .hfp-copy{text-align:left}
.hfp-force-mobile.hfp-mobile-content-center .hfp-copy{text-align:center}
.hfp-force-mobile.hfp-mobile-content-right .hfp-copy{text-align:right}
.hfp-force-mobile.hfp-mobile-content-left .hfp-divider{margin-left:0;margin-right:auto}
.hfp-force-mobile.hfp-mobile-content-center .hfp-divider{margin-left:auto;margin-right:auto}
.hfp-force-mobile.hfp-mobile-content-right .hfp-divider{margin-left:auto;margin-right:0}
.hfp-force-mobile .hfp-logo{
  width:min(var(--hfp-mobile-logo-width,165px),100%);
  max-height:82px;
}
.hfp-force-mobile.hfp-mobile-logo-left .hfp-logo-wrap{justify-content:flex-start}
.hfp-force-mobile.hfp-mobile-logo-center .hfp-logo-wrap{justify-content:center}
.hfp-force-mobile.hfp-mobile-logo-right .hfp-logo-wrap{justify-content:flex-end}
.hfp-force-mobile .hfp-copy h2{
  font-size:var(--hfp-title-mobile,34px);
  line-height:1.08;
}
.hfp-force-mobile .hfp-divider{width:92px;margin-top:12px;margin-bottom:16px}
.hfp-force-mobile .hfp-divider-small{width:72px;margin-top:14px;margin-bottom:14px}
.hfp-force-mobile .hfp-divider span{display:none}
.hfp-force-mobile .hfp-divider em{margin:auto}
.hfp-force-mobile .hfp-divider em b{width:5px;height:5px}
.hfp-force-mobile .hfp-text{
  margin-bottom:18px;
  font-size:var(--hfp-mobile-body-size,15px);
  line-height:1.55;
}
.hfp-force-mobile .hfp-features{
  gap:9px;
  margin:0 0 18px;
}
.hfp-force-mobile.hfp-mobile-benefits-1 .hfp-features{grid-template-columns:1fr}
.hfp-force-mobile.hfp-mobile-benefits-2 .hfp-features{grid-template-columns:repeat(2,minmax(0,1fr))}
.hfp-force-mobile .hfp-feature{font-size:var(--hfp-mobile-feature-size,13px)}
.hfp-force-mobile .hfp-features-cards .hfp-feature{padding:10px 9px;gap:8px;min-height:64px}
.hfp-force-mobile .hfp-feature-icon{width:38px;height:38px}
.hfp-force-mobile .hfp-feature-icon svg{width:24px;height:24px}
.hfp-force-mobile .hfp-cta{
  width:min(var(--hfp-mobile-button-width,100%),100%);
  min-height:54px;
  font-size:var(--hfp-button-size,18px) !important;
}
.hfp-force-mobile.hfp-mobile-button-left .hfp-cta{margin-left:0;margin-right:auto}
.hfp-force-mobile.hfp-mobile-button-center .hfp-cta{margin-left:auto;margin-right:auto}
.hfp-force-mobile.hfp-mobile-button-right .hfp-cta{margin-left:auto;margin-right:0}
.hfp-force-mobile.hfp-mobile-sticky-cta .hfp-cta{
  position:sticky;
  bottom:0;
  z-index:4;
}


/* v1.8.2 — Dedicated separator/ornament color */
.hfp-modal .hfp-divider{
  color:var(--hfp-separator,#4A9EC5) !important;
}
.hfp-modal .hfp-divider > span{
  background:var(--hfp-separator,#4A9EC5) !important;
}
.hfp-modal .hfp-divider em b{
  background:var(--hfp-separator,#4A9EC5) !important;
}
.hfp-modal .hfp-divider i{
  color:var(--hfp-separator,#4A9EC5) !important;
}


/* v1.9.1 — Aislamiento frente a decoraciones del tema/Divi
   Evita que estilos globales agreguen puntos, líneas o adornos al título. */
#hfp-popup .hfp-copy h2::before,
#hfp-popup .hfp-copy h2::after,
.hfp-admin-preview-overlay .hfp-copy h2::before,
.hfp-admin-preview-overlay .hfp-copy h2::after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
}

/* Los únicos adornos autorizados dentro del popup son .hfp-divider. */
#hfp-popup .hfp-divider::before,
#hfp-popup .hfp-divider::after{
  content:none !important;
  display:none !important;
}


/* v1.9.2 — Botón: tamaño real + prioridad frente a Divi/tema */
#hfp-popup .hfp-cta,
.hfp-admin-preview-overlay .hfp-cta{
  font-size:var(--hfp-button-size,18px) !important;
  line-height:1.2 !important;
}

/* El popup debe quedar por encima de motores de reserva, barras sticky,
   chats y otros widgets fixed mientras esté abierto. */
#hfp-popup.hfp-overlay{
  z-index:2147483647 !important;
}


/* v1.9.3 — Prioridad absoluta del popup sobre barras de reserva móviles */
html body #hfp-popup.hfp-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  isolation:isolate;
}

/* Widgets fixed/sticky del sitio detectados por JS mientras el popup está abierto.
   Se restauran automáticamente al cerrar el popup. */
.hfp-temporarily-hidden-widget{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* v1.9.4 — Protección dinámica contra motores de reserva inyectados tarde */
html body #hfp-popup.hfp-overlay.hfp-open{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
  isolation:isolate !important;
  transform:translateZ(0);
}

/* Se aplica solo mientras el popup está abierto y se remueve al cerrarlo. */
html body .hfp-under-popup-widget{
  z-index:2147483000 !important;
}

html body .hfp-hide-under-popup-widget{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
