/* Trava de guia. Tema por variáveis: defina --gate-* no :root da página para trocar o visual. */
:root{
  --gate-accent:#5A3A26;--gate-accent-fg:#fff;--gate-bg:#fff;--gate-text:#222;--gate-muted:#6b6b6b;
  --gate-border:rgba(0,0,0,.14);--gate-error:#B3261E;--gate-radius:22px;
  --gate-font:inherit;--gate-font-title:inherit;--gate-blur:6px;
}

.gate-borrado{filter:blur(var(--gate-blur));user-select:none;-webkit-user-select:none;cursor:pointer}
.gate-revelando{transition:filter .7s ease}

.gate-travado{position:relative}
.gate-travado::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.4em;vertical-align:-.12em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5zm-3 8V7a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5zm-3 8V7a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E") center/contain no-repeat}

.gate-modal{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:var(--gate-radius);padding:0;background:var(--gate-bg);color:var(--gate-text);font-family:var(--gate-font);box-shadow:0 24px 60px -20px rgba(0,0,0,.45)}
.gate-modal::backdrop{background:rgba(20,12,6,.55);backdrop-filter:blur(2px)}
.gate-modal[open]{animation:gate-sobe .25s ease}
@keyframes gate-sobe{from{transform:translateY(16px);opacity:0}}
.gate-form{position:relative;padding:26px 22px 22px}
.gate-form h2{margin:0 28px 6px 0;font-family:var(--gate-font-title);font-size:25px;line-height:1.2;color:var(--gate-accent)}
.gate-sub{margin:0 0 6px;font-size:15px;color:var(--gate-muted)}
.gate-fechar{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--gate-muted);font-size:28px;line-height:1;cursor:pointer}
.gate-campo{display:block;margin:14px 0 0}
.gate-campo span{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--gate-accent)}
.gate-campo input{width:100%;height:52px;border:1.5px solid var(--gate-border);border-radius:14px;background:#fff;color:var(--gate-text);padding:0 14px;font:inherit;font-size:17px}
.gate-campo input:focus{outline:none;border-color:var(--gate-accent)}
.gate-campo input[aria-invalid=true]{border-color:var(--gate-error)}
.gate-erro{display:block;font-size:13px;color:var(--gate-error);margin-top:4px}
.gate-enviar{width:100%;min-height:54px;margin-top:20px;border:0;border-radius:999px;background:var(--gate-accent);color:var(--gate-accent-fg);font:inherit;font-size:17px;font-weight:600;cursor:pointer}
.gate-enviar[disabled]{opacity:.6;cursor:progress}
.gate-consent{font-size:12.5px;line-height:1.45;color:var(--gate-muted);text-align:center;margin:12px 0 0}
.gate-falha{font-size:14px;color:var(--gate-error);text-align:center;margin:10px 0 0}

.gate-barra{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--gate-bar-bg,rgba(255,255,255,.96)) 70%,transparent)}
.gate-barra button{display:block;width:100%;max-width:520px;margin:0 auto;min-height:52px;border:0;border-radius:999px;background:var(--gate-accent);color:var(--gate-accent-fg);font:inherit;font-weight:600;font-size:16px;cursor:pointer;box-shadow:0 8px 24px -10px rgba(0,0,0,.5)}
html:not(.gate-liberado) body:has(.gate-barra){padding-bottom:84px}
@media (prefers-reduced-motion:reduce){.gate-revelando{transition:none}.gate-modal[open]{animation:none}}
