:root{
  --primary:#1E3A8A;
  --primary-light:#3B5BDB;
  --secondary:#F59E0B;
  --accent:#16A34A;
  --light:#E6F0FF;
  --dark:#1F2937;
  --gray:#6B7280;
  --light-gray:#F3F4F6;
  --line:#dbe3ee;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:linear-gradient(135deg,var(--light) 0%,#D6E4FF 100%);
  color:var(--dark);
  line-height:1.6;
  min-height:100vh;
  padding:24px 12px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  -webkit-font-smoothing:antialiased;
}
input,select,textarea,button{font:inherit}
.page-container{
  width:100%;
  max-width:850px;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 30px 60px rgba(0,0,0,.15);
  margin:0 auto;
}
.template-header{
  width:100%;
  background:var(--primary);
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  border-bottom:4px solid var(--secondary);
}
.header-image{
  width:100%;
  aspect-ratio:4 / 1;
  height:auto;
  object-fit:cover;
  object-position:center center;
  display:block;
  margin:0;
  padding:0;
  border:0;
  background:var(--primary);
}
.template-header-empty{
  width:100%;
  aspect-ratio:4 / 1;
  min-height:150px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
}
.template-header-empty img{max-width:330px;max-height:105px;filter:brightness(0) invert(1)}

.header-text{
  background:rgba(30,58,138,.94);
  color:#fff;
  padding:12px 20px;
  text-align:center;
  width:100%;
}
.header-text h1{font-size:1.28rem;margin:0;font-weight:800}
.form-content{padding:30px}
#templatePublicForm{margin:0}
.model-copy,.event-intro,.selection-copy{
  background:linear-gradient(135deg,#1E3A8A 0%,#3B5BDB 100%);
  color:#fff;
  padding:22px 24px;
  text-align:center;
  border-radius:8px;
  margin:0 0 28px;
}
.model-copy h1,.model-copy h2,.model-copy h3,
.event-intro h1,.event-intro h2,.event-intro h3,
.selection-copy h1,.selection-copy h2,.selection-copy h3{
  color:#fff;
  margin:0 0 10px;
  line-height:1.25;
}
.model-copy h2,.event-intro h1,.selection-copy h2{font-size:1.8rem}
.model-copy p,.event-intro p,.selection-copy p{
  color:#fff;
  font-size:1.02rem;
  margin:8px auto;
  max-width:760px;
}
.event-eyebrow{
  display:inline-block;
  color:#FFE0A0!important;
  font-size:.78rem!important;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.model-date{font-weight:900!important;color:#FFE0A0!important}
.model-link{background:rgba(255,255,255,.12);padding:10px 12px;border-radius:6px}
.form-section{margin-bottom:30px}
.form-section>h2,.form-section>h3,.section-title{
  color:var(--primary);
  font-size:1.3rem;
  margin:0 0 20px;
  padding-bottom:10px;
  border-bottom:2px solid var(--secondary);
  display:flex;
  align-items:center;
  gap:9px;
}
.form-section>h2 i,.form-section>h3 i,.section-title i{color:var(--secondary)}
.form-section>p{color:var(--gray);font-size:.95rem;margin:-8px 0 18px}
.public-grid,.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 22px;
}
.public-grid .full,.public-grid .span-2,.form-grid .full,.form-grid .span-2{grid-column:1/-1}
.public-grid label,.form-grid label,.form-section>label,.payment-panel label,.slot-select-label{
  display:block;
  margin:0;
  font-weight:600;
  color:var(--dark);
  font-size:.95rem;
}
.public-grid input,.public-grid select,.public-grid textarea,
.form-grid input,.form-grid select,.form-grid textarea,
.form-section>label input,.form-section>label select,.form-section>label textarea,
.payment-panel input,.payment-panel select,.payment-panel textarea,
.slot-select-label select{
  width:100%;
  padding:14px 16px;
  border:1px solid #ddd;
  border-radius:8px;
  font-size:1rem;
  transition:.25s ease;
  background:var(--light-gray);
  margin-top:8px;
  color:var(--dark);
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(30,58,138,.18)!important;
  background:#fff!important;
}
textarea{min-height:110px;resize:vertical}
select{
  appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A8A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:16px;
  padding-right:44px!important;
}
.required::after{content:" *";color:#e53e3e}
.info-panel,.event-card,.payment-panel,.blueday-section{
  background:#f8fafc;
  padding:24px;
  border-radius:8px;
  margin:20px 0 28px;
  border:1px solid #e2e8f0;
  border-left:4px solid var(--primary);
}
.info-panel h3,.event-card h2,.payment-panel h3,.blueday-section h3{
  color:var(--primary);
  margin:0 0 12px;
}
.info-panel p,.event-card p,.payment-panel p,.blueday-section p{margin:7px 0;color:#4b5d70}
.payment-grid,.payment-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:15px;
}
.payment-grid>div,.payment-info>div,.qrcode-container,.bank-info{
  background:#fff;
  padding:16px;
  border-radius:8px;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.pix-image,.qrcode-container img{display:block;max-width:200px;width:100%;height:auto;margin:0 auto 10px}
.pix-code{
  background:#f1f5f9;
  padding:12px;
  border-radius:5px;
  margin-top:15px;
  font-family:monospace;
  font-size:.9rem;
  word-break:break-all;
  border:1px dashed #cbd5e0;
}
.time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.time-options label{cursor:pointer}
.time-options input{position:absolute;opacity:0;pointer-events:none}
.time-options span,.time-closed{
  display:grid;
  place-items:center;
  min-height:52px;
  text-align:center;
  padding:10px 7px;
  border:1px solid #d1d9e2;
  border-radius:8px;
  background:#fff;
  color:var(--primary);
  font-weight:800;
}
.time-options input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 6px 14px rgba(30,58,138,.22)}
.time-closed{background:#f1f3f5;color:#8b95a1}
.time-closed small{font-size:.68rem;font-weight:600}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.activity-grid span{padding:12px;background:#fff;border-radius:8px;border:1px solid #dce5ee;color:var(--primary);font-weight:700}
.consent-panel,.terms{
  background:#f8fafc;
  padding:20px;
  border-radius:8px;
  margin:24px 0;
  border-left:4px solid var(--secondary);
}
.consent-panel h3,.terms h3,.terms h4{color:var(--primary);margin:0 0 10px}
.consent-panel p,.terms p{font-size:.9rem;color:#5f6f80}
.consent-row,.consent-line,.radio-option{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:.92rem;
  line-height:1.5;
}
.consent-row input,.consent-line input,.radio-option input{width:auto;margin-top:3px}
.public-submit,.btn[type="submit"],button.public-submit{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
  color:#fff;
  border:0;
  padding:16px 25px;
  font-size:1.08rem;
  border-radius:8px;
  cursor:pointer;
  transition:.25s ease;
  font-weight:700;
  display:block;
  width:100%;
  margin-top:10px;
}
.public-submit:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));transform:translateY(-2px);box-shadow:0 6px 15px rgba(30,58,138,.3)}
.public-submit:disabled{opacity:.65;transform:none}
.template-footer{
  text-align:center;
  color:var(--gray);
  font-size:.9rem;
  padding:20px;
  background:var(--light);
}
.message,.form-message{
  padding:15px;
  margin:0 0 20px;
  border-radius:8px;
  text-align:center;
  background:#FEE2E2;
  color:#B91C1C;
  border:1px solid #FECACA;
}
.message:empty{display:none}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.field-error{border-color:#c94d4d!important}
.field-help{display:block;margin-top:6px;font-size:.8rem;color:var(--gray);font-weight:400}

/* Resultado */
.result-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;width:100%}
.result-card-v5{max-width:620px;width:100%;background:#fff;border-radius:12px;padding:32px;text-align:center;box-shadow:0 25px 55px rgba(0,0,0,.16)}
.result-card-v5>img{max-width:280px;width:70%;height:auto}
.result-ok{width:62px;height:62px;border-radius:50%;background:#D1FAE5;color:#065F46;font-size:30px;font-weight:900;display:grid;place-items:center;margin:20px auto}
.protocol-v5{background:#f8fafc;border:1px dashed #cbd5e0;border-radius:8px;padding:14px;margin:18px 0}
.protocol-v5 small,.protocol-v5 strong{display:block}.protocol-v5 strong{font-size:20px;margin-top:4px;color:var(--primary)}
.result-actions-v5{display:flex;gap:10px;justify-content:center;margin-top:22px}
.result-actions-v5 a{padding:12px 16px;border-radius:8px;text-decoration:none;font-weight:700}
.result-actions-v5 .wa{background:#16A34A;color:#fff}.result-actions-v5 .back{background:#edf2f7;color:#334155}

@media(max-width:900px){
  body{padding:10px}
  .form-content{padding:20px}
  .public-grid,.form-grid,.payment-grid,.payment-info{grid-template-columns:1fr}
  .public-grid .full,.public-grid .span-2,.form-grid .full,.form-grid .span-2{grid-column:auto}
  .template-header-empty{min-height:130px}
  .header-text{padding:10px 15px}.header-text h1{font-size:1.08rem}
  .time-options{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  body{padding:0;align-items:stretch}
  .page-container{border-radius:0;min-height:100vh}
  .form-content{padding:15px}
  .template-header-empty{min-height:105px}
  .header-text{padding:9px 12px}.header-text h1{font-size:.95rem}
  .model-copy,.event-intro,.selection-copy{padding:19px 15px;margin-bottom:22px}
  .model-copy h2,.event-intro h1,.selection-copy h2{font-size:1.5rem}
  input,select,textarea{font-size:16px!important}
  .result-actions-v5{flex-direction:column}
  .result-actions-v5 a{display:block}
}

/* v16.11 • Termos e Política de Privacidade em modal isolado */
.privacy-consent{position:relative;margin-top:26px}
.privacy-consent h3{margin:0 0 8px!important;color:var(--primary)!important;font-size:1.05rem!important;border:0!important;padding:0!important;display:block!important}
.privacy-consent>p{margin:0 0 12px;color:#5d6b7a;font-size:.92rem;line-height:1.55}
.privacy-open{display:inline-flex;align-items:center;justify-content:center;margin:0 0 16px;border:1px solid #b9cae6;background:#fff;color:var(--primary);padding:10px 14px;border-radius:8px;font-weight:800;cursor:pointer;transition:.2s ease;text-decoration:none}
.privacy-open:hover{background:#eef4ff;border-color:var(--primary);transform:translateY(-1px)}
.privacy-modal[hidden]{display:none!important}
body>.privacy-modal{position:fixed!important;inset:0!important;z-index:99999!important;display:flex;align-items:center;justify-content:center;padding:18px;margin:0!important;width:auto!important;height:auto!important;background:transparent!important}
.privacy-modal-backdrop{position:absolute;inset:0;background:rgba(8,23,43,.74);backdrop-filter:blur(4px);cursor:pointer}
.privacy-modal-dialog{position:relative;z-index:2;width:min(780px,calc(100vw - 36px));max-height:86vh;margin:0!important;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.35)}
.privacy-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;flex:0 0 auto}
.privacy-brand{display:flex;align-items:center;gap:15px;min-width:0}
.privacy-brand img{width:68px;height:52px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;flex:0 0 auto}
.privacy-modal-head small{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:900;color:#ffd98a;margin-bottom:4px}
.privacy-modal-head h2{margin:0!important;color:#fff!important;font-size:1.3rem!important;line-height:1.25;border:0!important;padding:0!important}
.privacy-modal-close{border:0;background:rgba(255,255,255,.14);color:#fff;width:40px;height:40px;border-radius:10px;font-size:1.6rem;line-height:1;cursor:pointer;flex:0 0 auto}
.privacy-modal-close:hover{background:rgba(255,255,255,.24)}
.privacy-modal-body{padding:22px 24px;overflow:auto;overscroll-behavior:contain;color:#334155;background:#fff;flex:1 1 auto}
.privacy-modal-body h3{margin:18px 0 6px!important;color:var(--primary)!important;font-size:1rem!important;border:0!important;padding:0!important;display:block!important}
.privacy-modal-body h3:first-of-type{margin-top:12px!important}
.privacy-modal-body p{margin:0 0 11px;line-height:1.68;font-size:.94rem;color:#475569}
.privacy-modal-actions{padding:14px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;background:#f8fafc;flex:0 0 auto}
.privacy-modal-confirm{border:0;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;padding:11px 18px;border-radius:9px;font-weight:800;cursor:pointer}
body.privacy-modal-open{overflow:hidden!important}
@media(max-width:600px){
  body>.privacy-modal{padding:8px}
  .privacy-modal-dialog{width:calc(100vw - 16px);max-height:92vh;border-radius:14px}
  .privacy-modal-head,.privacy-modal-body,.privacy-modal-actions{padding-left:15px;padding-right:15px}
  .privacy-brand{gap:10px}.privacy-brand img{width:50px;height:42px}
  .privacy-modal-head h2{font-size:1.05rem!important}.privacy-modal-head small{font-size:.6rem}
  .privacy-modal-close{width:36px;height:36px}
  .privacy-modal-body{padding-top:16px;padding-bottom:16px}
}

.result-contact-email{margin:16px 0 0!important;font-size:12px!important;color:#66788a!important}.result-contact-email a{color:#1E3A8A;font-weight:800;text-decoration:none}
