.gfl-wrap{font-family:Poppins,Arial,sans-serif;color:#303943;width:100%;max-width:650px;margin:0 auto;box-sizing:border-box}
.gfl-wrap *,.gfl-dialog *{box-sizing:border-box}
.gfl-wrap .gfl-field{margin:0 0 18px}
.gfl-wrap .gfl-field label{display:block;font-size:14px;font-weight:600;color:#22354f}
.gfl-wrap label span{color:var(--gfl-accent)}
.gfl-wrap .gfl-field input,.gfl-wrap .gfl-field select,.gfl-wrap .gfl-field textarea{display:block;width:100%;font:400 15px Poppins,Arial,sans-serif;color:#233243;background:#fff;border:1px solid #cfdde5;border-radius:14px;min-height:46px;padding:11px 15px;margin:7px 0 0;box-shadow:0 0 18px rgba(0,171,231,.08)}
.gfl-wrap .gfl-field textarea{min-height:110px;resize:vertical}
.gfl-wrap :is(input,textarea,select,button,a):focus-visible,.gfl-dialog :is(button,a):focus-visible{outline:2px solid #007fa3;outline-offset:3px}
.gfl-wrap .gfl-hp{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}
.gfl-wrap .gfl-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:#4d5b69;margin:0 0 18px}
.gfl-wrap .gfl-consent input{width:18px;height:18px;margin:1px 0 0;flex-shrink:0}
.gfl-wrap .gfl-consent span{color:#4d5b69}
.gfl-wrap a{color:#047da8;text-decoration:underline}
.gfl-wrap .gfl-submit,.gfl-dialog .gfl-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 16px Poppins,Arial,sans-serif;line-height:1.4;background:var(--gfl-accent,#00B6FF);border:1px solid var(--gfl-accent,#00B6FF);color:#fff!important;border-radius:60px;padding:14px 28px;cursor:pointer;min-height:50px;text-align:center;max-width:100%;white-space:normal;text-decoration:none!important}
.gfl-wrap .gfl-submit:hover,.gfl-dialog .gfl-whatsapp:hover{filter:brightness(.92);color:#fff!important}
.gfl-wrap button:disabled{opacity:.6;cursor:wait}
.gfl-wrap .gfl-error{font-size:13px;color:#a10015;background:#fff1f1;border:1px solid #f9c1c1;padding:10px 14px;border-radius:10px}
.gfl-wrap [hidden],.gfl-dialog[hidden]{display:none!important}
/* Modal fuera de Elementor: ocupa toda la ventana sin depender del scroll de la página. */
body.gfl-modal-open{overflow:hidden!important}
.gfl-dialog{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px);background:rgba(9,25,39,.74);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;--gfl-accent:#00B6FF}
.gfl-dialog-card{position:relative;width:100%;max-width:530px;margin:auto;padding:clamp(34px,6vw,58px) clamp(22px,5vw,50px);background:#fff;border:1px solid rgba(255,255,255,.65);border-radius:24px;text-align:center;font-family:Poppins,Arial,sans-serif;box-shadow:0 30px 95px rgba(3,18,32,.35)}
.gfl-dialog-close{position:absolute!important;top:12px;right:14px;background:transparent!important;border:0!important;color:#657585!important;width:42px;height:42px;display:grid;place-items:center;font:400 33px/1 Arial,sans-serif!important;cursor:pointer;padding:0!important;box-shadow:none!important}
.gfl-dialog-close:hover{color:#162a3b!important}
.gfl-dialog-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#e1f5ec;color:#187845;font:700 37px/1 Poppins,Arial,sans-serif;margin:0 auto 20px}
.gfl-dialog h3{font:700 clamp(24px,4vw,31px)/1.25 Poppins,Arial,sans-serif!important;color:#193349!important;letter-spacing:-.4px;margin:0 0 12px!important}
.gfl-dialog-reference{font:600 15px/1.5 Poppins,Arial,sans-serif;color:#536675;margin:0 0 30px}
.gfl-dialog .gfl-whatsapp{width:100%;max-width:350px}
@media(max-width:600px){.gfl-wrap .gfl-submit{width:100%;padding:13px 15px}.gfl-dialog-card{border-radius:20px}.gfl-dialog .gfl-whatsapp{padding:14px 17px}}
@media(prefers-reduced-motion:reduce){.gfl-wrap *,.gfl-dialog *{scroll-behavior:auto!important;transition:none!important}}

/* v1.0.6 — CTA flotante de cotización sin interferir con WhatsApp (a la derecha). */
.gfl-floating-cta{
  position:fixed!important;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:22px;right:auto!important;
  z-index:2147482000;display:inline-flex;gap:9px;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.72)!important;border-radius:100px!important;
  background:linear-gradient(108deg,#2fc9ee 0%,#118ac5 49%,#0a3072 100%)!important;
  color:#fff!important;font:700 14px/1.25 Poppins,Arial,sans-serif!important;
  min-height:54px;padding:14px 22px!important;width:auto;max-width:calc(100vw - 110px);
  box-shadow:0 9px 28px rgba(7,65,132,.38),0 2px 5px rgba(0,0,0,.12);
  cursor:pointer;white-space:nowrap;text-transform:none;letter-spacing:0;text-decoration:none;
  transform:none!important;
}
.gfl-floating-cta:hover{background:linear-gradient(108deg,#24b8e2,#0864ad 52%,#08275d)!important;color:#fff!important;box-shadow:0 12px 32px rgba(7,65,132,.46)}
.gfl-floating-cta:focus-visible{outline:3px solid #ffc02e;outline-offset:3px}
.gfl-hidden-mount{display:none!important}
.gfl-form-dialog[hidden]{display:none!important}
.gfl-form-dialog{position:fixed;inset:0;z-index:2147482900;display:flex;align-items:center;justify-content:center;
  padding:clamp(10px,3vw,30px);background:rgba(10,23,33,.74);overflow-y:auto;overscroll-behavior:contain}
body.gfl-form-modal-open{overflow:hidden!important}
.gfl-form-panel{background:#fff;color:#243140;width:min(100%,690px);max-height:calc(100dvh - 32px);
  border-radius:22px;display:flex;flex-direction:column;box-shadow:0 25px 90px rgba(0,0,0,.29);overflow:hidden}
.gfl-form-panel-head{flex:none;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid #e6edf1;padding:16px 22px}
.gfl-form-panel-head h2{font:700 clamp(18px,3vw,23px)/1.3 Poppins,Arial,sans-serif!important;
  color:#173449!important;letter-spacing:0!important;margin:0!important}
.gfl-form-panel-close{appearance:none;background:transparent!important;border:0!important;
  font:400 29px/1 Arial,sans-serif!important;color:#445b68!important;cursor:pointer;
  padding:2px 6px!important;box-shadow:none!important}
.gfl-form-panel-close:hover{color:#111!important}
.gfl-form-panel-body{padding:22px clamp(17px,4vw,32px);overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.gfl-form-panel-body .gfl-wrap{max-width:100%;margin:0 auto}
.gfl-form-panel-body .gfl-field{margin-bottom:13px}
.gfl-form-panel-body .gfl-field textarea{min-height:88px}
.gfl-form-panel-body .gfl-consent{margin-bottom:12px}
@media(max-width:767px){
  .gfl-floating-cta{left:12px;bottom:calc(15px + env(safe-area-inset-bottom,0px));
    max-width:calc(100vw - 110px);min-height:52px;padding:12px 18px!important;font-size:13px!important}
  .gfl-form-dialog{padding:8px;align-items:center}
  .gfl-form-panel{max-height:calc(100dvh - 16px);border-radius:17px}
  .gfl-form-panel-head{padding:13px 17px}
  .gfl-form-panel-body{padding:15px 17px 20px}
  .gfl-floating-cta.gfl-hide-mobile{display:none!important}
}
@media(min-width:768px){.gfl-floating-cta.gfl-hide-desktop{display:none!important}}
@media(prefers-reduced-motion:reduce){.gfl-floating-cta,.gfl-form-dialog *{animation:none!important;transition:none!important}}

/* 1.0.9: aislar los botones de fondos y pseudoelementos del tema. */
.gfl-wrap .gfl-submit,.gfl-dialog .gfl-whatsapp,.gfl-floating-cta,.gfl-floating-cta:hover{background:#007fa3!important;background-image:none!important;color:#fff!important;border-color:transparent!important;text-transform:none!important}
.gfl-wrap .gfl-submit span,.gfl-dialog .gfl-whatsapp span,.gfl-floating-cta span{color:inherit!important;background:transparent!important}
.gfl-wrap .gfl-submit::before,.gfl-wrap .gfl-submit::after,.gfl-dialog .gfl-whatsapp::before,.gfl-dialog .gfl-whatsapp::after,.gfl-floating-cta::before,.gfl-floating-cta::after{content:none!important}
.gfl-floating-cta{border-radius:16px!important;min-height:56px;box-shadow:0 6px 22px rgba(0,60,80,.28);white-space:normal;text-align:center}
.gfl-floating-cta:hover{background:#006780!important}
.gfl-wrap .gfl-submit{width:100%}
