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

/* Premium card style */
.hgp-features-cards .hgp-feature{
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--hgp-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;
}
.hgp-features-cards .hgp-feature:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--hgp-accent,#c18d36) 45%,transparent);
  background:rgba(255,255,255,.5);
}
.hgp-features-cards .hgp-feature-icon{
  border-radius:50%;
  background:color-mix(in srgb,var(--hgp-accent,#c18d36) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--hgp-accent,#c18d36) 20%,transparent);
}

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

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

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

.hgp-mobile-media{display:none}

.hgp-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1.35fr 1fr 1fr;
  gap:4px;
  min-height:0;
  height:100%;
  background:#fff;
}
.hgp-photo{position:relative;overflow:hidden;background:#ddd7cd}
.hgp-photo-1{grid-column:1/3}
.hgp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.hgp-photo:hover img{transform:scale(1.025)}
.hgp-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.hgp-lock{overflow:hidden!important}
@keyframes hfpFade{from{opacity:0}to{opacity:1}}

@media(max-width:980px){
  .hgp-overlay{padding:16px}
  .hgp-modal{
    grid-template-columns:1fr;
    width:min(720px,96vw);
    height:auto;
    max-height:calc(100vh - 32px);
    overflow-y:auto;
  }
  .hgp-copy{padding:40px 34px 30px;overflow:visible}
  .hgp-copy h2{font-size:var(--hgp-title-mobile,38px)}
  .hgp-gallery{height:500px;min-height:500px}
}
@media(max-width:640px){
  .hgp-overlay{padding:8px}
  .hgp-modal{border-radius:20px}
  .hgp-copy{padding:34px 22px 24px}
  .hgp-logo{width:min(var(--hgp-logo-width,170px),100%);max-width:100%;max-height:78px}
  .hgp-text{font-size:max(14px,var(--hgp-body-size));line-height:1.6}
  .hgp-features{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
  .hgp-gallery{grid-template-rows:1.2fr .9fr .9fr;min-height:430px}
  .hgp-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){
  .hgp-modal{
    height:calc(100vh - 40px);
    max-height:calc(100vh - 40px);
  }
  .hgp-copy{
    padding:32px 42px 28px;
  }
  .hgp-logo{max-height:70px;max-width:190px}
  .hgp-eyebrow{font-size:12px}
  .hgp-divider{margin:13px 0 17px}
  .hgp-divider-small{margin:16px 0 14px}
  .hgp-copy h2{
    font-size:min(var(--hgp-title-size,58px),48px);
    line-height:1.02;
  }
  .hgp-text{
    margin-bottom:18px;
    line-height:1.55;
  }
  .hgp-features{
    gap:9px 18px;
    margin-bottom:20px;
  }
  .hgp-cta{min-height:52px}
}

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


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


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

  .hgp-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(--hgp-mobile-radius,20px);
    -webkit-overflow-scrolling:touch;
  }

  .hgp-gallery{display:none!important}

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

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

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

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

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

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

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

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

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

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

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

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

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

  .hgp-mobile-sticky-cta .hgp-cta{
    position:sticky;
    bottom:0;
    z-index:4;
    box-shadow:0 -8px 22px rgba(255,255,255,.78),0 10px 26px rgba(148,102,30,.24);
  }

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


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


/* v1.9.3 — Prioridad absoluta del popup sobre barras de reserva móviles */
html body #hgp-popup.hgp-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. */
.hgp-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 #hgp-popup.hgp-overlay.hgp-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 .hgp-under-popup-widget{
  z-index:2147483000 !important;
}

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


/* Hotel Germania — ajuste de identidad */
.hgp-hero-modal .hgp-hero-content h2{
  max-width:820px;
}
.hgp-hero-modal .hgp-hero-eyebrow{
  color:#E7D3B5;
}
.hgp-hero-modal .hgp-hero-cta{
  letter-spacing:.01em;
}
@media(max-width:767px){
  .hgp-hero-modal .hgp-hero-content h2{
    max-width:340px;
    margin-left:auto;
    margin-right:auto;
  }
}
