/* ==========================================================
   GUIA DE GUARAPARI — AUTH AUDI
   Login + cadastro | first mobile | sem ruído visual
   ========================================================== */

.guia-auth-page,
.guia-auth-page * { box-sizing:border-box; }

.guia-auth-page {
    --auth-ink:#0b1f33;
    --auth-text:#334155;
    --auth-muted:#667085;
    --auth-line:#e4eaf1;
    --auth-soft:#f7f9fc;
    --auth-blue:#0a5ed9;
    --auth-blue-dark:#084eb4;
    --auth-danger:#b42318;
    --auth-danger-bg:#fff7f6;
    --auth-success:#067647;
    --auth-success-bg:#f6fef9;
    background:var(--auth-soft);
    color:var(--auth-text);
    min-height:calc(100vh - 120px);
    padding:48px 20px 64px;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.guia-auth-shell {
    width:min(100%, 520px);
    margin:0 auto;
}

.guia-auth-intro { margin:0 0 22px; }
.guia-auth-kicker {
    margin:0 0 9px;
    color:var(--auth-blue);
    font-size:14px;
    font-weight:750;
    letter-spacing:.075em;
    text-transform:uppercase;
}
.guia-auth-title {
    margin:0;
    color:var(--auth-ink);
    font-size:clamp(2rem, 7.5vw, 2.65rem);
    line-height:1.03;
    letter-spacing:-.045em;
    font-weight:760;
}
.guia-auth-lead {
    margin:12px 0 0;
    max-width:46ch;
    color:var(--auth-muted);
    font-size:1rem;
    line-height:1.58;
}

.guia-auth-card {
    border:1px solid var(--auth-line);
    background:#fff;
    padding:28px;
}

.guia-auth-google-wrap { margin-bottom:22px; }
.guia-auth-google-button {
    min-height:44px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.guia-auth-google-button > div,
.guia-auth-google-button iframe { max-width:100%!important; }

.guia-auth-separator {
    display:flex;
    align-items:center;
    gap:14px;
    margin:20px 0;
    color:var(--auth-muted);
    font-size:14px;
    line-height:1;
}
.guia-auth-separator::before,
.guia-auth-separator::after {
    content:"";
    height:1px;
    flex:1;
    background:var(--auth-line);
}

.guia-auth-status {
    display:none;
    margin:0 0 18px;
    border:1px solid var(--auth-line);
    padding:11px 13px;
    font-size:.875rem;
    line-height:1.45;
}
.guia-auth-status.is-visible { display:block; }
.guia-auth-status.is-error {
    border-color:#fecdca;
    background:var(--auth-danger-bg);
    color:var(--auth-danger);
}
.guia-auth-status.is-success {
    border-color:#abefc6;
    background:var(--auth-success-bg);
    color:var(--auth-success);
}
.guia-auth-status.is-loading {
    background:var(--auth-soft);
    color:var(--auth-ink);
}

.guia-auth-form { display:grid; gap:17px; }
.guia-auth-field { display:grid; gap:7px; }
.guia-auth-field label {
    color:var(--auth-ink);
    font-size:14px;
    line-height:1.25;
    font-weight:680;
}
.guia-auth-field input[type="text"],
.guia-auth-field input[type="email"],
.guia-auth-field input[type="password"] {
    width:100%;
    min-height:48px;
    border:1px solid #d8e0e9;
    border-radius:0;
    background:#fff;
    color:var(--auth-ink);
    padding:11px 13px;
    font:inherit;
    font-size:16px;
    line-height:1.3;
    outline:none;
    transition:border-color .16s ease, box-shadow .16s ease;
}
.guia-auth-field input::placeholder { color:#98a2b3; }
.guia-auth-field input:focus {
    border-color:var(--auth-blue);
    box-shadow:0 0 0 3px rgba(10,94,217,.10);
}
.guia-auth-hint {
    color:var(--auth-muted);
    font-size:14px;
    line-height:1.45;
}

.guia-auth-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-width:0;
}
.guia-auth-check {
    display:inline-flex;
    align-items:flex-start;
    gap:9px;
    color:var(--auth-text);
    font-size:14px;
    line-height:1.45;
    cursor:pointer;
}
.guia-auth-check input {
    width:17px;
    height:17px;
    margin:1px 0 0;
    accent-color:var(--auth-blue);
    flex:0 0 auto;
}
.guia-auth-check a,
.guia-auth-link {
    color:var(--auth-blue-dark);
    text-decoration:none;
    font-weight:650;
}
.guia-auth-check a:hover,
.guia-auth-link:hover { text-decoration:underline; }
.guia-auth-check a:focus-visible,
.guia-auth-link:focus-visible {
    outline:3px solid rgba(10,94,217,.18);
    outline-offset:3px;
}

.guia-auth-submit {
    width:100%;
    min-height:48px;
    border:0;
    border-radius:0;
    background:var(--auth-ink);
    color:#fff;
    padding:12px 18px;
    font:inherit;
    font-size:.92rem;
    font-weight:720;
    cursor:pointer;
    transition:background .16s ease, opacity .16s ease;
}
.guia-auth-submit:hover { background:#071726; }
.guia-auth-submit:focus-visible {
    outline:3px solid rgba(10,94,217,.24);
    outline-offset:3px;
}
.guia-auth-submit:disabled { cursor:wait; opacity:.62; }

.guia-auth-switch {
    margin:21px 0 0;
    padding-top:18px;
    border-top:1px solid var(--auth-line);
    color:var(--auth-muted);
    font-size:.875rem;
    line-height:1.5;
    text-align:center;
}

.guia-auth-privacy {
    margin:18px 0 0;
    color:var(--auth-muted);
    font-size:14px;
    line-height:1.55;
    text-align:center;
}

@media (max-width:560px) {
    .guia-auth-page { padding:30px 16px 48px; }
    .guia-auth-card { padding:22px 18px; }
    .guia-auth-row { align-items:flex-start; flex-direction:column; gap:10px; }
    .guia-auth-title { font-size:2.05rem; }
}

@media (prefers-reduced-motion:reduce) {
    .guia-auth-page * { scroll-behavior:auto!important; transition:none!important; }
}
