/* ================================================================
   Destapes y Plomeria - Modal de captacion de leads por WhatsApp
   Color de marca: #004b77  |  Acento: #f7931e  |  WhatsApp: #25d366
   ================================================================ */

.pfw-overlay{
  position:fixed;inset:0;z-index:99999;
  display:none;align-items:center;justify-content:center;
  padding:16px;
  background:rgba(0,25,45,.55);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  opacity:0;transition:opacity .2s ease;
}
.pfw-overlay.pfw-open{display:flex;opacity:1;}

.pfw-modal{
  width:100%;max-width:430px;
  background:#fff;border-radius:18px;
  box-shadow:0 24px 60px rgba(0,25,45,.35);
  overflow:hidden;
  font-family:inherit;
  transform:translateY(14px) scale(.98);
  transition:transform .22s ease;
  max-height:92vh;display:flex;flex-direction:column;
}
.pfw-overlay.pfw-open .pfw-modal{transform:translateY(0) scale(1);}

.pfw-header{
  position:relative;
  background:linear-gradient(135deg,#004b77 0%,#0277b6 100%);
  color:#fff;padding:22px 24px 20px;
}
.pfw-header h3{margin:0;font-size:1.24rem;line-height:1.25;font-weight:800;color:#fff;}
.pfw-header p{margin:6px 0 0;font-size:.9rem;opacity:.92;line-height:1.35;}
.pfw-wa-badge{
  display:inline-flex;align-items:center;gap:7px;
  margin-bottom:10px;font-size:.78rem;font-weight:700;
  background:rgba(255,255,255,.16);padding:5px 11px;border-radius:999px;
}
.pfw-wa-badge svg{width:15px;height:15px;fill:#25d366;}

.pfw-close{
  position:absolute;top:12px;right:12px;
  width:34px;height:34px;border:0;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;
  font-size:20px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease;
}
.pfw-close:hover{background:rgba(255,255,255,.34);}

.pfw-body{padding:20px 24px 8px;overflow-y:auto;}

.pfw-field{margin-bottom:14px;}
.pfw-field label{
  display:block;font-size:.82rem;font-weight:700;
  color:#1b2733;margin-bottom:5px;
}
.pfw-field label .pfw-opt{font-weight:500;color:#7d8794;}
.pfw-field input,
.pfw-field select,
.pfw-field textarea{
  width:100%;box-sizing:border-box;
  padding:11px 13px;font-size:.95rem;
  border:1.5px solid #d8e2ea;border-radius:10px;
  background:#f7fafc;color:#1b2733;
  font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;
}
.pfw-field input:focus,
.pfw-field select:focus,
.pfw-field textarea:focus{
  outline:none;border-color:#004b77;
  box-shadow:0 0 0 3px rgba(0,75,119,.12);
}
.pfw-field textarea{resize:vertical;min-height:64px;}

/* honeypot anti-spam: oculto para humanos */
.pfw-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}

.pfw-error{
  display:none;margin:2px 0 12px;
  font-size:.85rem;color:#c81e3a;font-weight:600;
}

.pfw-footer{padding:4px 24px 22px;}
.pfw-submit{
  width:100%;border:0;border-radius:12px;cursor:pointer;
  padding:14px 16px;font-size:1.02rem;font-weight:800;
  color:#fff;background:#25d366;
  display:flex;align-items:center;justify-content:center;gap:9px;
  transition:background .15s ease,transform .1s ease;
}
.pfw-submit:hover{background:#1fb457;}
.pfw-submit:active{transform:scale(.99);}
.pfw-submit:disabled{opacity:.6;cursor:progress;}
.pfw-submit svg{width:20px;height:20px;fill:#fff;}

.pfw-note{
  margin:12px 2px 0;text-align:center;
  font-size:.76rem;color:#7d8794;line-height:1.4;
}
.pfw-note strong{color:#004b77;}

@media (max-width:480px){
  .pfw-modal{max-width:100%;border-radius:16px;}
  .pfw-header h3{font-size:1.12rem;}
}
