@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* SIGNA | Seção 12 — estilos isolados */
.s12-section,
.s12-section *,
.signa12-wa-float,
.signa12-wa-float * { box-sizing: border-box; }

.s12-section {
  width: 100%; margin: 0; padding: 5px 0 98px;
  background: transparent !important;
  font-family: 'Montserrat', Arial, sans-serif;
}
.s12-section .s12-shell {
  position: relative; display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  max-width: 1240px; margin: 0 auto; border: 1px solid rgba(59,173,224,.35);
  border-radius: 28px; overflow: hidden;
  background: #071D36;
  box-shadow: 0 25px 56px rgba(5,46,89,.17), 0 6px 18px rgba(5,46,89,.07);
}
.s12-section .s12-heading {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  justify-content: center; gap: 0; min-width: 0;
  padding: clamp(34px,4.6vw,66px) clamp(25px,3.8vw,56px);
  background: radial-gradient(circle at 8% 9%,rgba(19,178,237,.18),transparent 42%), linear-gradient(153deg,#06182E 0%,#082745 63%,#073854 100%);
}
.s12-section .s12-heading::before {
  content:''; position:absolute; z-index:-1; width:270px;height:270px;
  bottom:-170px;left:-90px; border:1px solid rgba(89,209,242,.23);border-radius:50%;
  box-shadow: 0 0 0 38px rgba(24,185,237,.025), 0 0 0 82px rgba(24,185,237,.018);
  pointer-events:none;
}
.s12-section .s12-eyebrow {
  display:inline-flex;align-items:center;align-self:flex-start;gap:8px;
  max-width:100%;padding:8px 12px; margin-bottom:29px;
  border:1px solid rgba(67,200,245,.30);border-radius:30px;
  background:rgba(28,160,220,.095);color:#8BDFFF;
  font-size:10px; font-weight:800; letter-spacing:.10em;line-height:1.45;
}
.s12-section .s12-eyebrow-dot {display:block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#34D4F9;box-shadow:0 0 0 4px rgba(52,212,249,.12)}
.s12-section .s12-heading h2 {
  margin:0!important; padding:0!important; max-width:550px;
  color:#FFFFFF!important; font-family:'Montserrat',Arial,sans-serif!important;
  font-size:clamp(33px,3.35vw,47px)!important;
  line-height:1.18!important;letter-spacing:-.041em;font-weight:800!important;
  text-align:left!important;text-transform:none!important;
  overflow-wrap:break-word;
}
.s12-section .s12-heading h2 span { color: #46D5F8; }
.s12-section .s12-accent { display:flex;gap:7px;align-items:center;margin-top:32px; }
.s12-section .s12-accent span { display:block;height:4px;background:#31C7F2;border-radius:20px; }
.s12-section .s12-accent span:nth-child(1){width:47px}
.s12-section .s12-accent span:nth-child(2){width:15px;opacity:.56}
.s12-section .s12-accent span:nth-child(3){width:7px;opacity:.27}

/* Painel de formulário: azul escuro uniforme, mais claro que a seção */
.s12-section .s12-panel {
  position:relative;min-width:0;padding:clamp(30px,3.25vw,46px);
  background:#153D58; border-left:1px solid rgba(117,211,245,.18);
}
.s12-section .s12-panel-kicker {
  display:block;margin-bottom:10px;color:#73DDF9;
  font-size:10.5px;font-weight:800;line-height:1.45;letter-spacing:.13em;
}
.s12-section .s12-panel-head { margin:0 0 26px; }
.s12-section .s12-panel-head p {
  margin:0!important;padding:0!important;max-width:565px;
  color:#F6FCFF!important;font-family:'Montserrat',Arial,sans-serif!important;
  font-size:clamp(18px,1.55vw,21px)!important;line-height:1.52!important;
  letter-spacing:-.012em;font-weight:700!important;
}
.s12-section .s12-form-surface {position:relative;}
.s12-section .s12-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px;}
.s12-section .s12-field{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;}
.s12-section .s12-field-full {grid-column:1 / -1;}
.s12-section .s12-field label {
  display:block;margin:0!important;padding:0!important;
  color:#F3FAFF!important;font-family:'Montserrat',Arial,sans-serif!important;
  font-size:12px!important;font-weight:700!important;line-height:1.5!important;
  text-align:left!important;
}
.s12-section .s12-required{color:#69D8FF;font-weight:800;}
.s12-section .s12-optional{color:#B9D8E7;font-size:11px;font-weight:500;}
.s12-section .s12-field input,
.s12-section .s12-field textarea {
  display:block; width:100%; margin:0!important;
  border:2px solid #EEF8FF!important; border-radius:11px!important;
  background:#FFFFFF!important;color:#09253C!important;
  font-family:'Montserrat',Arial,sans-serif!important;
  font-size:13px!important;font-weight:600!important;line-height:1.4!important;
  box-shadow:0 3px 10px rgba(6,27,46,.10)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
  outline:none!important;appearance:none;
}
.s12-section .s12-field input {
  min-height:50px;height:50px;padding:12px 14px!important;
}
.s12-section .s12-field textarea {
  min-height:122px;padding:14px!important;resize:vertical;
}
.s12-section .s12-field input::placeholder,
.s12-section .s12-field textarea::placeholder {color:#8395A6;opacity:1;font-weight:500;}
.s12-section .s12-field input:focus,
.s12-section .s12-field textarea:focus {
  border-color:#34CCF2!important;box-shadow:0 0 0 4px rgba(58,205,241,.19),0 3px 10px rgba(6,27,46,.12)!important;
}
.s12-section .s12-field.is-filled input,
.s12-section .s12-field.is-filled textarea {border-color:#C6ECFC!important;}
.s12-section .s12-field.is-invalid input,
.s12-section .s12-field.is-invalid textarea {border-color:#F5989C!important;background:#FFF8F8!important;box-shadow:0 0 0 3px rgba(246,106,115,.14)!important;}
.s12-section .s12-error{display:none;color:#FFD1D4;font-size:11px;font-weight:600;line-height:1.4;}
.s12-section .s12-field.is-invalid .s12-error{display:block;}
.s12-section .s12-submit-row {display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:23px;}
.s12-section .s12-submit {
  display:inline-flex;align-items:center;justify-content:space-between;gap:15px;
  width:auto;min-height:53px;padding:9px 9px 9px 20px;
  border:1px solid rgba(46,207,248,.6)!important;border-radius:13px!important;
  background:linear-gradient(105deg,#0781C3 0%,#11A6DC 58%,#25C8EE 100%)!important;
  color:#FFFFFF!important;font-family:'Montserrat',Arial,sans-serif!important;
  font-size:13.5px!important;font-weight:800!important;letter-spacing:.005em!important;
  line-height:1.3!important;text-transform:none!important;
  box-shadow:0 10px 22px rgba(0,38,76,.18),inset 0 1px rgba(255,255,255,.25);
  cursor:pointer;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
}
.s12-section .s12-submit:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.045);box-shadow:0 15px 28px rgba(0,38,76,.27),inset 0 1px rgba(255,255,255,.25);}
.s12-section .s12-submit:focus-visible {outline:3px solid #8FE9FF!important;outline-offset:3px;}
.s12-section .s12-submit:disabled{cursor:progress;opacity:.83;}
.s12-section .s12-submit-icon {
  display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;
  border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(255,255,255,.16);
}
.s12-section .s12-submit-icon svg {display:block;width:19px;height:19px;transition:transform .24s ease;}
.s12-section .s12-submit:hover:not(:disabled) .s12-submit-icon svg {transform:translateX(3px);}
.s12-section .s12-spinner {display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.38);border-top-color:white;border-radius:50%;animation:signa12-spin .75s linear infinite;}
.s12-section .s12-form.is-sending .s12-spinner{display:block;}
.s12-section .s12-form.is-sending .s12-submit-icon{display:none;}
@keyframes signa12-spin{to{transform:rotate(360deg)}}
.s12-section .s12-privacy {
  flex:1;min-width:160px;max-width:320px;margin:0!important;
  color:#C2DEEA!important;font-family:'Montserrat',Arial,sans-serif!important;
  font-size:11px!important;font-weight:500!important;line-height:1.65!important;
}
.s12-section .s12-notice {
  margin-top:18px;padding:12px 14px;border-radius:11px;border:1px solid rgba(255,185,190,.42);
  background:rgba(162,37,52,.16);color:#FFE4E7;font-size:12px;font-weight:600;line-height:1.6;
}
.s12-section .s12-notice[hidden],.s12-section .s12-success[hidden]{display:none!important;}
.s12-section .s12-honey{position:absolute!important;left:-9999px!important;top:auto!important;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}
.s12-section .s12-success {
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding:28px;border:1px solid rgba(85,218,205,.46);border-radius:17px;
  background:linear-gradient(140deg,rgba(30,138,116,.24),rgba(10,102,107,.12));
  color:#F5FFFD;outline:none;
}
.s12-section .s12-success-icon {
  display:grid;place-items:center;width:51px;height:51px;border-radius:50%;
  background:#31BB93;color:#fff;box-shadow:0 6px 17px rgba(9,80,57,.18);
}
.s12-section .s12-success-icon svg{display:block;width:28px;height:28px;}
.s12-section .s12-success strong{font-family:'Montserrat',Arial,sans-serif;font-size:22px;font-weight:800;color:#fff;}
.s12-section .s12-success p{margin:0!important;color:#E8FAF5!important;font-family:'Montserrat',Arial,sans-serif!important;font-size:14px!important;line-height:1.7!important;}

/* Botão global, com área compacta e posicionamento safe-area. */
a.signa12-wa-float {
  box-sizing:border-box!important;position:fixed!important;right:clamp(15px,2vw,28px)!important;
  bottom:max(17px,env(safe-area-inset-bottom))!important;
  z-index:99991!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  min-height:55px!important;padding:10px 18px 10px 12px!important;
  border:1px solid rgba(255,255,255,.25)!important;border-radius:99px!important;
  background:linear-gradient(125deg,#16B776,#0D955E)!important;
  box-shadow:0 11px 30px rgba(10,84,56,.29),0 3px 10px rgba(0,44,25,.15)!important;
  color:#fff!important;font-family:'Montserrat',Arial,sans-serif!important;
  font-size:12px!important;font-weight:800!important;text-decoration:none!important;line-height:1.3!important;
  white-space:nowrap!important;transition:transform .22s ease,box-shadow .22s ease!important;
}
a.signa12-wa-float svg{display:block!important;width:30px!important;height:30px!important;flex:0 0 30px!important;color:#fff!important;}
a.signa12-wa-float:hover{transform:translateY(-3px)!important;box-shadow:0 15px 34px rgba(10,84,56,.33)!important;}
a.signa12-wa-float:focus-visible{outline:3px solid #92EDD0!important;outline-offset:3px!important;}

@media(max-width:1040px) {
  .s12-section .s12-shell{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-radius:23px;}
  .s12-section .s12-heading{padding:40px 29px;}
  .s12-section .s12-heading h2{font-size:clamp(30px,3.7vw,39px)!important;}
  .s12-section .s12-panel{padding:34px 28px;}
  .s12-section .s12-fields{gap:14px 12px;}
}
@media(max-width:790px) {
  .s12-section .s12-shell{grid-template-columns:1fr;border-radius:22px;}
  .s12-section .s12-heading{padding:35px 30px 34px;}
  .s12-section .s12-eyebrow{margin-bottom:21px;}
  .s12-section .s12-heading h2{max-width:660px;font-size:clamp(30px,5.4vw,41px)!important;}
  .s12-section .s12-accent{margin-top:24px;}
  .s12-section .s12-panel{border-left:0;border-top:1px solid rgba(117,211,245,.18);padding:31px 30px 34px;}
  .s12-section .s12-panel-head{margin-bottom:22px;}
}
@media(max-width:570px){
  .s12-section {padding:0 0 105px;}
  .s12-section .s12-shell{border-radius:19px;}
  .s12-section .s12-heading{padding:29px 21px 30px;}
  .s12-section .s12-eyebrow{font-size:9px;padding:7px 9px;letter-spacing:.055em;}
  .s12-section .s12-heading h2{font-size:clamp(29px,7.7vw,37px)!important;line-height:1.2!important;}
  .s12-section .s12-panel{padding:27px 18px 29px;}
  .s12-section .s12-panel-head p{font-size:17px!important;}
  .s12-section .s12-fields{grid-template-columns:minmax(0,1fr);gap:14px;}
  .s12-section .s12-field-full{grid-column:auto;}
  .s12-section .s12-field input{min-height:52px;height:52px;}
  .s12-section .s12-field label{font-size:12.5px!important;}
  .s12-section .s12-submit-row{gap:13px;}
  .s12-section .s12-submit{width:100%;min-height:54px;font-size:13px!important;}
  .s12-section .s12-privacy{max-width:none;min-width:0;}
  a.signa12-wa-float{width:55px!important;min-width:55px!important;height:55px!important;min-height:55px!important;padding:10px!important;right:14px!important;bottom:max(15px,env(safe-area-inset-bottom))!important;}
  a.signa12-wa-float span{display:none!important;}
  a.signa12-wa-float svg{width:31px!important;height:31px!important;flex-basis:31px!important;}
}
@media(max-width:340px){
  .s12-section .s12-heading{padding:25px 17px;}
  .s12-section .s12-heading h2{font-size:27px!important;}
  .s12-section .s12-panel{padding:23px 15px 25px;}
}
@media(prefers-reduced-motion:reduce){
  .s12-section .s12-field input,.s12-section .s12-field textarea,
  .s12-section .s12-submit,.s12-section .s12-submit-icon svg,
  a.signa12-wa-float{transition:none!important;}
  .s12-section .s12-spinner{animation:none;}
}
