/* Auth: login, recuperar e redefinir senha */
.home-sales.public-page--auth {
    background:
        radial-gradient(circle at top right, rgba(216, 164, 71, 0.12), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(248, 243, 231, 0.05)),
        url('../images/bg-1.webp') no-repeat center center fixed;
    background-size: cover;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.home-sales.public-page--auth .login-container,
.home-sales.public-page--auth .recover-container,
.home-sales.public-page--auth .reset-container {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: 18px;
    padding: 2rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}
.home-sales.public-page--auth .logo-container,
.home-sales.public-page--auth .logo {
    text-align: center;
    margin-bottom: 1.5rem;
}
.home-sales.public-page--auth .logo-container img {
    height: auto;
    margin-bottom: 1rem;
}
.home-sales.public-page--auth .logo h2 {
    font-family: "Playfair Display", serif;
    color: #b8892e;
    font-weight: 700;
    margin-bottom: 0.25rem;
}
.home-sales.public-page--auth .form-control {
    border-radius: 10px;
    padding: 0.74rem 1rem;
    border: 1px solid #d3dfef;
    min-height: 44px;
}
.home-sales.public-page--auth .form-control:focus {
    border-color: var(--sales-gold, #d8a447);
    box-shadow: 0 0 0 0.2rem rgba(201,162,39,0.18);
}
.home-sales.public-page--auth .btn-login,
.home-sales.public-page--auth .btn-primary {
    background: linear-gradient(135deg, var(--sales-gold, #d8a447), var(--sales-gold-dark, #b87414));
    border: 1px solid #b87414;
    padding: 0.8rem;
    border-radius: 10px;
    font-weight: 700;
    width: 100%;
    margin-top: 0.5rem;
    color: #fff;
    box-shadow: 0 10px 22px rgba(168,131,25,0.28);
}
.home-sales.public-page--auth .btn-login:hover,
.home-sales.public-page--auth .btn-primary:hover {
    background: linear-gradient(135deg, #d1ab34, #b18c1f);
    transform: translateY(-1px);
    color: #fff;
}
.home-sales.public-page--auth .divider {
    text-align: center;
    margin: 1.5rem 0;
    position: relative;
    color: #64748b;
}
.home-sales.public-page--auth .divider::before,
.home-sales.public-page--auth .divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 42%;
    height: 1px;
    background: rgba(0,0,0,0.1);
}
.home-sales.public-page--auth .divider::before { left: 0; }
.home-sales.public-page--auth .divider::after { right: 0; }
.home-sales.public-page--auth .alert {
    border-radius: 10px;
    margin-bottom: 1rem;
}


/* Cadastro */
.home-sales.public-page--cadastro {
background:
    radial-gradient(circle at top right, rgba(201, 162, 39, 0.12), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(248, 243, 231, 0.05)),
    url('../images/bg-1.webp') no-repeat center center fixed;
background-size: cover;
min-height: 100vh;
padding: 28px 20px 48px;
}
.home-sales.public-page--cadastro .cadastro-container {
background: rgba(255, 255, 255, 0.98);
border: 1px solid rgba(201, 162, 39, 0.34);
border-radius: 20px;
padding: 2rem;
box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
width: 100%;
max-width: 980px;
margin: 0 auto;
padding-bottom: 55px;
}
.home-sales.public-page--cadastro .logo-container {
text-align: center;
margin-bottom: 1.3rem;
}
.home-sales.public-page--cadastro .logo-container img {
height: auto;
margin-bottom: 0.8rem;
}
.home-sales.public-page--cadastro .logo-container .h4 {
font-weight: 700;
color: #1f2937;
margin-bottom: 0.4rem;
}
.home-sales.public-page--cadastro .logo-container .h6 {
font-size: 0.95rem;
color: #64748b !important;
}
.home-sales.public-page--cadastro .signup-highlights {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.55rem;
margin: 0 auto 1.5rem;
max-width: 800px;
}
.home-sales.public-page--cadastro .signup-chip {
display: inline-flex;
align-items: center;
gap: 0.45rem;
background: #f8fbff;
color: #334155;
border: 1px solid #dce8f8;
border-radius: 999px;
padding: 0.4rem 0.78rem;
font-size: 0.78rem;
font-weight: 600;
}
.home-sales.public-page--cadastro .signup-chip i {
color: #b48b15;
font-size: 0.84rem;
}
.home-sales.public-page--cadastro .form-control {
border-radius: 10px;
padding: 0.74rem 1rem;
border: 1px solid #d3dfef;
margin-bottom: 0.45rem;
min-height: 44px;
box-shadow: none;
}
.home-sales.public-page--cadastro .form-label {
font-weight: 600;
color: #334155;
font-size: 0.86rem;
margin-bottom: 0.35rem;
}
.home-sales.public-page--cadastro .form-control:focus {
border-color: #c9a227;
box-shadow: 0 0 0 0.2rem rgba(201,162,39,0.18);
}
.home-sales.public-page--cadastro .form-select {
border-radius: 10px;
border: 1px solid #d3dfef;
min-height: 44px;
box-shadow: none;
}
.home-sales.public-page--cadastro .form-select:focus {
border-color: #c9a227;
box-shadow: 0 0 0 0.2rem rgba(201,162,39,0.18);
}
.home-sales.public-page--cadastro .btn-cadastro {
background: linear-gradient(135deg, #c9a227, #a88319);
border: none;
padding: 0.88rem;
border-radius: 10px;
font-weight: 700;
width: 100%;
margin-top: 1rem;
color: #fff;
box-shadow: 0 10px 22px rgba(168,131,25,0.32);
}
.home-sales.public-page--cadastro .btn-cadastro:hover {
background: linear-gradient(135deg, #d1ab34, #b18c1f);
transform: translateY(-1px);
color: #fff;
}
.home-sales.public-page--cadastro .alert {
border-radius: 10px;
margin-bottom: 1rem;
padding: 1rem;
font-size: 1rem;
font-weight: 500;
}
.home-sales.public-page--cadastro .alert-floating {
position: fixed;
top: 20px;
right: 20px;
z-index: 9999;
min-width: 300px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
display: none;
}
.home-sales.public-page--cadastro .password-requirements {
font-size: 0.85rem;
color: #64748b;
margin-top: 0.5rem;
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 10px;
padding: 0.65rem 0.75rem;
}
.home-sales.public-page--cadastro .requirement {
margin-bottom: 0.2rem;
}
.home-sales.public-page--cadastro .requirement i {
margin-right: 0.5rem;
}
.home-sales.public-page--cadastro .valid {
color: #198754;
}
.home-sales.public-page--cadastro .invalid {
color: #dc3545;
}
.home-sales.public-page--cadastro .spinner-border {
margin-right: 8px;
}
.home-sales.public-page--cadastro .form-control.is-invalid,
.home-sales.public-page--cadastro .form-select.is-invalid {
border-color: #dc3545;
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.home-sales.public-page--cadastro .form-control.is-valid,
.home-sales.public-page--cadastro .form-select.is-valid {
border-color: #198754;
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.home-sales.public-page--cadastro .cadastro-container h1,
.home-sales.public-page--cadastro .cadastro-container h2 {
    font-family: "Playfair Display", serif;
}

@media (max-width: 768px) {
.home-sales.public-page--cadastro {
    padding: 12px 12px 26px;
}
.home-sales.public-page--cadastro .cadastro-container {
    border-radius: 16px;
    padding: 1.2rem;
    padding-bottom: 38px;
}
}

/* Legal: politica / termos */
.home-sales.public-page--legal {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(247, 242, 229, 0.05)),
        url('../images/bg-1.webp') no-repeat center center fixed;
    background-size: cover;
    min-height: 100vh;
    padding-top: 88px;
    padding-bottom: 48px;
    color: #243044;
}
.home-sales.public-page--legal .vd-public-navbar {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(201, 162, 39, 0.22);
    box-shadow: 0 4px 18px rgba(41, 34, 24, 0.06);
}
.home-sales.public-page--legal .vd-public-navbar .nav-link {
    color: #453f36 !important;
    font-weight: 600;
}
.home-sales.public-page--legal .content-container {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(205, 178, 106, 0.34);
    border-radius: 20px;
    padding: 2.5rem 2rem;
    box-shadow: 0 14px 38px rgba(19, 25, 39, 0.12);
    margin-top: 2rem;
}
.home-sales.public-page--legal .logo-container {
    text-align: center;
    margin-bottom: 2rem;
}
.home-sales.public-page--legal .logo-container img {
    height: 58px;
    margin-bottom: 0.9rem;
}
.home-sales.public-page--legal h1 {
    color: #856200;
    font-weight: 700;
    margin-bottom: 0.55rem;
    text-align: center;
    letter-spacing: -0.01em;
    font-family: "Playfair Display", serif;
}
.home-sales.public-page--legal .intro-text {
    margin: 0 auto 1.8rem;
    max-width: 780px;
    color: #475569;
    text-align: center;
    line-height: 1.65;
}
.home-sales.public-page--legal .policy-section {
    background: #fff;
    border: 1px solid #ece7d9;
    border-left: 4px solid #c9a227;
    border-radius: 14px;
    padding: 1.2rem 1.2rem 1rem;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.04);
}
.home-sales.public-page--legal h2.h4 {
    color: #7a5b00;
    margin-top: 0;
    font-weight: 700;
    font-size: 1.18rem;
    font-family: "Playfair Display", serif;
}
.home-sales.public-page--legal h3.h5 {
    color: #263247;
    font-weight: 600;
    font-size: 1.03rem;
}
.home-sales.public-page--legal p,
.home-sales.public-page--legal li {
    line-height: 1.72;
    color: #344256;
}
.home-sales.public-page--legal ul {
    padding-left: 1.1rem;
}
.home-sales.public-page--legal li::marker {
    color: #b99624;
}
.home-sales.public-page--legal .btn-voltar {
    background: linear-gradient(135deg, #c9a227, #a88319);
    border: none;
    padding: 0.84rem 2rem;
    border-radius: 10px;
    font-weight: 600;
    color: white;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.25s ease;
    box-shadow: 0 10px 20px rgba(169, 131, 25, 0.28);
}
.home-sales.public-page--legal .btn-voltar:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    color: white;
}
.home-sales.public-page--legal .btn-voltar i {
    margin-right: 0.5rem;
}
@media (max-width: 768px) {
    .home-sales.public-page--legal .content-container {
        padding: 1.5rem 1.1rem;
        border-radius: 16px;
    }
    .home-sales.public-page--legal .policy-section {
        padding: 1rem;
    }
}



/* 404 */
.home-sales.public-page--404 {
    background:
        radial-gradient(circle at top right, rgba(216, 164, 71, 0.12), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(248, 243, 231, 0.05)),
        url('../images/bg-1.webp') no-repeat center center fixed;
    background-size: cover;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.home-sales.public-page--404 .vd-public-navbar {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #ebe3d2;
    box-shadow: 0 4px 18px rgba(41, 34, 24, 0.06);
}
.home-sales.public-page--404 .error-container {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: 18px;
    padding: 2.5rem 2rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
    width: 100%;
    max-width: 560px;
    text-align: center;
}
.home-sales.public-page--404 .logo-container img {
    height: 60px;
    margin-bottom: 1rem;
}
.home-sales.public-page--404 .error-number {
    font-size: 6.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--sales-gold-dark, #b87414);
    margin-bottom: 0.5rem;
    font-family: "Playfair Display", serif;
}
.home-sales.public-page--404 .error-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
    color: var(--sales-gold, #d8a447);
}
.home-sales.public-page--404 .error-message {
    font-size: 1.55rem;
    color: #1f2937;
    margin-bottom: 1rem;
    font-weight: 700;
    font-family: "Playfair Display", serif;
}
.home-sales.public-page--404 .error-description {
    color: #64748b;
    margin-bottom: 1.5rem;
    font-size: 1rem;
}
.home-sales.public-page--404 .btn-voltar {
    background: linear-gradient(135deg, var(--sales-gold, #d8a447), var(--sales-gold-dark, #b87414));
    border: none;
    padding: 0.8rem 2rem;
    border-radius: 10px;
    font-weight: 700;
    color: white;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s ease;
    box-shadow: 0 10px 22px rgba(168,131,25,0.28);
}
.home-sales.public-page--404 .btn-voltar:hover {
    transform: translateY(-2px);
    color: white;
}
.home-sales.public-page--404 .btn-voltar i {
    margin-right: 0.5rem;
}
