/* ================= FORMULARZ WYCENY ================= */
.gb-form{
  position:relative;max-width:760px;margin:0 auto;padding:44px 40px;
  background:rgba(255,255,255,.045);border:1px solid transparent;border-radius:24px;
  background:linear-gradient(#0F0916,#0F0916) padding-box,
             linear-gradient(100deg,#FF1F7A,#FF4FD8 45%,#8B3DFF) border-box;
  box-shadow:0 0 60px rgba(255,31,122,.18);overflow:hidden}
.gb-form__glow{position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(100px);
  background:rgba(255,31,122,.3);top:-180px;right:-140px;pointer-events:none}

.gb-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gb-field{display:block;margin-bottom:16px;position:relative;z-index:2}
.gb-field__l{display:block;color:#C9BED0;font-size:13px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.gb-field__l b{color:#FF4FD8}

.gb-form input[type="text"],.gb-form input[type="email"],.gb-form input[type="tel"],
.gb-form select,.gb-form textarea{
  width:100%;padding:15px 18px;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  color:#fff;font-size:15px;font-family:inherit;box-sizing:border-box;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.gb-form textarea{resize:vertical;min-height:120px}
.gb-form select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF4FD8' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px}
.gb-form select option{background:#0F0916;color:#fff}
.gb-form ::placeholder{color:#6E6379}
.gb-form input:focus,.gb-form select:focus,.gb-form textarea:focus{
  outline:none;border-color:#FF4FD8;background:rgba(255,255,255,.07);
  box-shadow:0 0 0 3px rgba(255,79,216,.18)}
.gb-form input:user-invalid,.gb-form textarea:user-invalid,.gb-form select:user-invalid{
  border-color:#FF4D4D;box-shadow:0 0 0 3px rgba(255,77,77,.14)}

.gb-check{display:flex;gap:12px;align-items:flex-start;position:relative;z-index:2;
  margin:6px 0 24px;cursor:pointer}
.gb-check input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#FF1F7A;cursor:pointer}
.gb-check span{color:#A99DB2;font-size:14px;line-height:1.55}
.gb-check b{color:#FF4FD8}

/* Pułapka na boty — niewidoczna, ale obecna w DOM */
.gb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.gb-form__submit{
  position:relative;z-index:2;width:100%;padding:19px 32px;border:0;border-radius:99px;cursor:pointer;
  background:linear-gradient(100deg,#FF1F7A,#FF4FD8 45%,#8B3DFF);background-size:220% auto;
  color:#fff;font-weight:900;font-size:16px;letter-spacing:.05em;text-transform:uppercase;
  font-family:inherit;box-shadow:0 12px 34px rgba(255,31,122,.42);
  transition:transform .2s ease,box-shadow .2s ease,background-position .5s ease}
.gb-form__submit:hover:not(:disabled){transform:translateY(-3px);background-position:100% center;
  box-shadow:0 18px 46px rgba(255,79,216,.6)}
.gb-form__submit:disabled{opacity:.6;cursor:wait;transform:none}

.gb-form__note{position:relative;z-index:2;color:#6E6379;font-size:13px;text-align:center;margin:16px 0 0}
.gb-form__err{position:relative;z-index:2;margin:16px 0 0;padding:14px 18px;border-radius:12px;
  background:rgba(255,77,77,.12);border:1px solid rgba(255,77,77,.4);color:#FFB3B3;font-size:14px}

/* Ekran potwierdzenia */
.gb-form__ok{position:relative;z-index:2;text-align:center;padding:30px 0}
.gb-form__ok[hidden]{display:none}
.gb-form__tick{width:76px;height:76px;margin:0 auto 22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:38px;color:#fff;
  background:linear-gradient(100deg,#FF1F7A,#8B3DFF);
  box-shadow:0 0 40px rgba(255,31,122,.5);animation:gbTick .5s cubic-bezier(.16,.84,.24,1) both}
@keyframes gbTick{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}
.gb-form__ok h3{color:#fff;font-size:26px;font-weight:900;margin:0 0 10px;
  text-transform:uppercase;letter-spacing:-.02em}
.gb-form__ok p{color:#A99DB2;font-size:16px;margin:0}

@media(max-width:700px){
  .gb-form{padding:32px 22px;border-radius:20px}
  .gb-form__row{grid-template-columns:1fr;gap:0}
}
@media (prefers-reduced-motion:reduce){
  .gb-form__submit,.gb-form__tick{transition:none!important;animation:none!important}
}

/* ================= SKÓRKA CONTACT FORM 7 ================= */
/* CF7 renderuje własny markup — nadajemy mu ten sam wygląd co formularzowi wtyczki. */
.wpcf7{
  position:relative;max-width:760px;margin:0 auto;padding:44px 40px;
  border:1px solid transparent;border-radius:24px;
  background:linear-gradient(#0F0916,#0F0916) padding-box,
             linear-gradient(100deg,#FF1F7A,#FF4FD8 45%,#8B3DFF) border-box;
  box-shadow:0 0 60px rgba(255,31,122,.18);overflow:hidden}

.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],.wpcf7 input[type="number"],.wpcf7 input[type="date"],
.wpcf7 select,.wpcf7 textarea{
  width:100%;padding:15px 18px;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  color:#fff;font-size:15px;font-family:inherit;box-sizing:border-box;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.wpcf7 textarea{resize:vertical;min-height:120px}
.wpcf7 select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF4FD8' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:44px}
.wpcf7 select option{background:#0F0916;color:#fff}
.wpcf7 ::placeholder{color:#6E6379}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
  outline:none;border-color:#FF4FD8;background:rgba(255,255,255,.07);
  box-shadow:0 0 0 3px rgba(255,79,216,.18)}
.wpcf7 .wpcf7-form-control-wrap{display:block}

/* Zgoda RODO */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-acceptance label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.wpcf7 input[type="checkbox"],.wpcf7 input[type="radio"]{
  width:20px;height:20px;flex:none;margin-top:2px;accent-color:#FF1F7A;cursor:pointer}
.wpcf7 .gb-check{color:#A99DB2;font-size:14px;line-height:1.55;margin:6px 0 24px}
.wpcf7 .gb-check b{color:#FF4FD8}

/* Przycisk wysyłki */
.wpcf7 input[type="submit"],.wpcf7 .gb-form__submit{
  width:100%;padding:19px 32px;border:0;border-radius:99px;cursor:pointer;
  background:linear-gradient(100deg,#FF1F7A,#FF4FD8 45%,#8B3DFF);background-size:220% auto;
  color:#fff;font-weight:900;font-size:16px;letter-spacing:.05em;text-transform:uppercase;
  font-family:inherit;box-shadow:0 12px 34px rgba(255,31,122,.42);
  transition:transform .2s ease,box-shadow .2s ease,background-position .5s ease}
.wpcf7 input[type="submit"]:hover{transform:translateY(-3px);background-position:100% center;
  box-shadow:0 18px 46px rgba(255,79,216,.6)}

/* Kręciołek podczas wysyłki */
.wpcf7 .wpcf7-spinner{background:#FF4FD8}

/* Komunikaty */
.wpcf7 form .wpcf7-response-output{
  margin:20px 0 0;padding:14px 18px;border-radius:12px;border-width:1px;
  font-size:14.5px;line-height:1.55}
.wpcf7 form.sent .wpcf7-response-output{
  background:rgba(255,31,122,.12);border-color:rgba(255,79,216,.5);color:#fff}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{
  background:rgba(255,77,77,.12);border-color:rgba(255,77,77,.45);color:#FFB3B3}
.wpcf7 .wpcf7-not-valid-tip{color:#FF8FB0;font-size:13px;margin-top:7px}
.wpcf7 .wpcf7-not-valid{border-color:#FF4D4D!important;box-shadow:0 0 0 3px rgba(255,77,77,.14)!important}

@media(max-width:700px){
  .wpcf7{padding:32px 22px;border-radius:20px}
}
