.freezin-section-frame{display:block;width:100%;max-width:none;margin:0;border:0;overflow:hidden;background:transparent;vertical-align:top;line-height:0}
.freezin-frame-header{height:160px;position:sticky;top:0;z-index:9999}
.freezin-frame-body{min-height:700px}
.freezin-frame-footer{min-height:500px}

/* Remove any Elementor spacing (old sections/columns AND new flexbox containers)
   around whichever wrapper holds one of our iframes. */
.elementor-widget-shortcode:has(.freezin-section-frame),
.elementor-widget-shortcode:has(.freezin-section-frame) > .elementor-widget-container,
.elementor-column:has(.freezin-section-frame),
.elementor-column:has(.freezin-section-frame) > .elementor-widget-wrap,
.elementor-container:has(.freezin-section-frame),
.elementor-section:has(.freezin-section-frame),
.elementor-top-section:has(.freezin-section-frame),
.e-con:has(.freezin-section-frame),
.e-con-inner:has(.freezin-section-frame),
.e-con:has(> .e-con:has(.freezin-section-frame)){
  margin:0!important;
  padding:0!important;
  gap:0!important;
  row-gap:0!important;
  column-gap:0!important;
  min-height:0!important;
}
/* Elementor sometimes keeps a small min-height on empty-looking sections before the iframe reports its size */
.elementor-section:has(.freezin-section-frame){min-height:0!important}

@media(max-width:767px){.freezin-frame-header{height:130px}}


/* ==========================================================================
   BOTÓN DE VOLVER ARRIBA
   Lo inyecta frame-bridge.js en la página de WordPress. Los estilos tienen que
   estar aquí y no en embed-fixes.css, porque ese solo se carga dentro de los
   iframes y el botón vive fuera.
   El tema trae .back-to-top-wrapper / .scroll-to-top, pero están scopeados a
   .coolex-content (que solo existe dentro de los iframes) y su position:fixed
   se anclaría al iframe del footer en lugar de a la ventana.
   ========================================================================== */
.freezin-to-top{
  align-items:center;
  background:#ff5500;
  border:0;
  border-radius:50%;
  bottom:0;
  box-shadow:0 8px 16px rgba(3,4,28,.3);
  color:#fff;
  cursor:pointer;
  display:flex;
  height:46px;
  justify-content:center;
  opacity:0;
  padding:0;
  pointer-events:none;
  position:fixed;
  right:30px;
  transition:opacity .35s ease,bottom .35s ease,background .25s ease,transform .25s ease;
  visibility:hidden;
  width:46px;
  /* El iframe del header pegajoso usa z-index 9999; con 9998 el botón queda
     por encima del contenido pero nunca tapa el menú */
  z-index:9998;
}
.freezin-to-top.is-visible{
  bottom:30px;
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}
.freezin-to-top:hover{
  background:#010f34;
  transform:translateY(-4px);
}
.freezin-to-top:focus-visible{
  outline:3px solid #ff5500;
  outline-offset:3px;
}
@media (max-width:767px){
  .freezin-to-top{height:42px;right:18px;width:42px}
  .freezin-to-top.is-visible{bottom:18px}
}
/* Respeta a quien haya pedido menos animación en su sistema */
@media (prefers-reduced-motion:reduce){
  .freezin-to-top{transition:opacity .2s ease}
  .freezin-to-top:hover{transform:none}
}
