.gf-pix-modal{display:none;position:fixed;inset:0;z-index:999999;font-family:Arial,sans-serif}
.gf-pix-modal.is-open{display:block}
.gf-pix-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.gf-pix-box{position:relative;background:#fff;width:min(430px,92vw);margin:9vh auto 5vh;padding:24px;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.28);max-height:86vh;overflow:auto}
.gf-pix-close{position:absolute;right:14px;top:10px;background:transparent;border:0;font-size:28px;line-height:1;cursor:pointer;color:#333}
.gf-pix-box h2{margin:0 0 10px;font-size:24px;text-align:center}
.gf-product-price,.gf-pix-product{text-align:center;font-weight:700;margin-bottom:16px;color:#5b21b6}
#gf-pix-form label{display:block;font-size:14px;font-weight:700;margin:12px 0 6px;color:#222}
#gf-pix-form input{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:13px;font-size:16px}
.gf-primary{width:100%;border:0;border-radius:12px;background:#6d28d9;color:#fff;font-weight:800;padding:14px 18px;font-size:16px;cursor:pointer;margin-top:14px}
.gf-primary:disabled{opacity:.65;cursor:not-allowed}
.gf-secondary{width:100%;border:1px solid #ddd;border-radius:12px;background:#fff;color:#333;font-weight:700;padding:12px 18px;font-size:15px;cursor:pointer;margin-top:10px}
.gf-qr-wrap{text-align:center;margin:16px 0}
.gf-qr{max-width:250px;width:80%;height:auto;border:1px solid #eee;border-radius:12px}
.gf-brcode{width:100%;min-height:88px;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:10px;font-size:12px;resize:none}
.gf-status{text-align:center;font-weight:700;color:#333}
.gf-timer{text-align:center;color:#666}


@media (max-width: 767px){
  .gf-pix-box{
    width:min(430px,92vw);
    margin:10vh auto 4vh;
    left:auto;
    right:auto;
    transform:none;
    max-height:84vh;
  }
}

/* v1.5.1: alinhamento dos botoes PIX e identificacao Brasil nos produtos */
.gf-product-title,
.gf-pix-product{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  text-align:center;
}
.gf-product-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:.82em;
  line-height:1;
  vertical-align:middle;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));
}
.gf-step-pix .gf-copy,
.gf-step-pix .gf-secondary{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:min(100%,320px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.gf-step-pix .gf-copy{
  margin-top:14px !important;
}
.gf-step-pix .gf-secondary{
  margin-top:10px !important;
}

@media (max-width: 767px){
  .gf-step-pix .gf-copy,
  .gf-step-pix .gf-secondary{
    width:min(100%,300px) !important;
  }
}

/* v1.5.2: titulo PIX com area segura e texto dinamico do campo social */
.gf-step-pix .gf-pix-heading{
  box-sizing:border-box;
  width:100%;
  padding:0 52px;
  font-size:22px !important;
  line-height:1.2;
  overflow-wrap:anywhere;
}

#gf-pix-form [name="redesocial"]::placeholder{
  font-size:14px;
}

@media (max-width: 767px){
  .gf-step-pix .gf-pix-heading{
    padding-left:48px;
    padding-right:48px;
    font-size:20px !important;
  }

  #gf-pix-form [name="redesocial"]::placeholder{
    font-size:13px;
  }
}

/* v1.5.4: titulos de pacotes menores e textos sociais legiveis no mobile */
.gf-step-form .gf-product-title{
  box-sizing:border-box;
  width:100%;
  margin:0 0 10px !important;
  padding-left:52px;
  padding-right:72px;
  font-size:34px !important;
  line-height:1.08 !important;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
  word-break:normal;
}

.gf-step-form .gf-product-title .gf-product-name{
  min-width:0;
  max-width:100%;
}

.gf-step-form .gf-product-title .gf-product-flag{
  font-size:24px !important;
}

#gf-pix-form .gf-redesocial-label{
  font-size:14px !important;
  line-height:1.25 !important;
}

#gf-pix-form input[name="redesocial"]{
  font-size:15px !important;
}

#gf-pix-form input[name="redesocial"]::placeholder{
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  opacity:.9;
}

@media (max-width: 767px){
  .gf-step-form .gf-product-title{
    padding-left:34px;
    padding-right:66px;
    font-size:28px !important;
    line-height:1.08 !important;
    gap:5px;
  }

  .gf-step-form .gf-product-title .gf-product-flag{
    font-size:21px !important;
  }

  #gf-pix-form .gf-redesocial-label{
    font-size:13px !important;
  }

  #gf-pix-form input[name="redesocial"]{
    font-size:14px !important;
    padding-left:11px;
    padding-right:11px;
  }

  #gf-pix-form input[name="redesocial"]::placeholder{
    font-size:10.5px !important;
  }
}

@media (max-width: 380px){
  .gf-step-form .gf-product-title{
    padding-left:26px;
    padding-right:62px;
    font-size:25px !important;
  }

  #gf-pix-form input[name="redesocial"]::placeholder{
    font-size:9.5px !important;
  }
}

/* Campos obrigatórios do PagBank em formato compacto */
#gf-pix-form .gf-pagbank-required{margin:10px 0 4px;padding:9px 10px 10px;border:1px solid #e8e3f1;border-radius:12px;background:#faf9fd}
#gf-pix-form .gf-pagbank-required-note{margin:0 0 7px;color:#898492;font-size:10px;font-weight:700}
#gf-pix-form .gf-pagbank-required-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}
#gf-pix-form .gf-compact-field{margin:0;color:#77727f;font-size:11px}
#gf-pix-form .gf-compact-field input{margin-top:5px;padding:10px 11px;border-radius:9px;background:#f6f4f9;font-size:13px}
@media(max-width:430px){#gf-pix-form .gf-pagbank-required-grid{grid-template-columns:1fr 1fr;gap:7px}}
@media(max-width:350px){#gf-pix-form .gf-pagbank-required-grid{grid-template-columns:1fr}}
