:root {
     --bg:#0b0f14;
     --card:#111923;
     --fg:#e6eef7;
     --muted:#9db1c7;
     --ok:#2ecc71;
     --err:#ff5c5c;
     --accent:#4da3ff;
}
 * {
     box-sizing: border-box;
}
 html, body {
     height:100%;
}
 body {
     margin:0;
     font-family:system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
     background:var(--bg);
     color:var(--fg);
     display:flex;
     align-items:center;
     justify-content:center;
}
 .container {
     width:100%;
     max-width:640px;
     padding:24px;
}
 .card {
     background:var(--card);
     border:1px solid #1d2a38;
     border-radius:16px;
     padding:24px;
     box-shadow:0 10px 30px rgba(0,0,0,.35);
}
 h1 {
     margin:0 0 12px;
     font-size:1.6rem;
}
 h2 {
     font-size:1.1rem;
     color:var(--muted);
     margin-top:16px;
}
 p {
     color:#dbe8f5;
}
 .field {
     margin:12px 0;
}
 label {
     display:block;
     font-size:1rem;
     margin-bottom:6px;
     color:var(--muted);
}
 input {
     width:100%;
     padding:12px 14px;
     border-radius:10px;
     border:1px solid #2a3a4d;
     background:#0f1722;
     color:var(--fg);
}
 button {
     margin-top:8px;
     padding:12px 16px;
     border:0;
     border-radius:12px;
     background:var(--accent);
     color:#fff;
     font-weight:600;
     cursor:pointer;
}
 button[disabled]{
     opacity:.6;
     cursor:not-allowed;
}
 .msg {
     margin-top:10px;
     min-height:1.2em;
}
 .msg.success {
     color:var(--ok);
}
 .msg.error {
     color:var(--err);
}
 .countdown {
     margin-top:8px;
     font-weight:700;
     font-size:1.2rem;
}
 .hp {
     position:absolute;
     left:-10000px;
     width:1px;
     height:1px;
     overflow:hidden;
}
 hr {
     border:0;
     border-top:1px solid #1e2a39;
     margin:16px 0;
}
 .success {
     color:var(--ok);
}

.cookie-banner {
     position: fixed;
     left: 0;
     right: 0;
     bottom: 0;
     z-index: 9999;
     background: #0e1620;
     border-top: 1px solid #1d2a38;
     padding: 12px;
     box-shadow: 0 -6px 20px rgba(0,0,0,.35);
}
 .cookie-content {
     max-width: 960px;
     margin: 0 auto;
     display: flex;
     gap: 12px;
     align-items: center;
}
 .cookie-content p {
     margin: 0;
     flex: 1;
     color: #dbe8f5;
     font-size: .95rem;
}
 .cookie-actions {
     display: flex;
     gap: 8px;
}
 .btn-primary, .btn-secondary {
     padding: 10px 14px;
     border-radius: 10px;
     font-weight: 600;
     border: 0;
     cursor: pointer;
}
 .btn-primary {
     background: var(--accent);
     color: #fff;
}
 .btn-secondary {
     background: #2a3a4d;
     color: #e6eef7;
}
 @media (max-width: 640px){
     .cookie-content {
         flex-direction: column;
         align-items: stretch;
    }
     .cookie-actions {
         justify-content: flex-end;
    }
}

.msg { 
    margin-top: 10px; 
    min-height: 1.2em; 
}
.msg.success { 
    color: var(--ok); 
}
.msg.error { 
    color: var(--err); 
}

.hidden { 
    display: none !important; 
}

label[for="name"]::after { 
    content:" *"; color:#ff9d9d; 
}

label[for="email"]::after { 
    content:" *"; color:#ff9d9d; 
}

label[for="phone"]::after { 
    content:" *"; color:#ff9d9d; 
}

.rodape {
    display: block;
    width: 100%;
    color: white;
    margin: auto;
}

.titulo-wl {
    display: flex;
    justify-content: left;
    align-items: center;
}

.titulo-wl > img {
    margin-right: 1em;
}

.hint { 
    opacity: .6; 
}