/*
 * IMMOBILOG — Public SaaS pages layer (P36)
 * Extends homepage identity to auth / pricing / about / contact / FAQ.
 * Does NOT redesign homepage sections (.wm-home).
 */

/* Shared public page shell (non-home) */
.im-page {
    background: var(--im-bg, #f7f5f0);
    color: var(--im-text, #141414);
    font-family: "DM Sans", system-ui, sans-serif;
}

.im-page .breadcrumb-area,
.authentication-area + .breadcrumb-area,
body:not(.wm-home) .breadcrumb-area {
    background: var(--im-bg-soft, #f1eee7) !important;
    border-bottom: 1px solid var(--im-border, #e2ded5);
}

body:not(.wm-home) .breadcrumb-area .title h2,
body:not(.wm-home) .breadcrumb-area h2 {
    font-family: "DM Sans", system-ui, sans-serif;
    letter-spacing: -0.03em;
    font-weight: 650;
    color: var(--im-text, #141414);
}

/* ------------------------------------------------------------------ */
/* Auth — forgot / reset / register step (legacy markup → Immobilog)  */
/* ------------------------------------------------------------------ */

.authentication-area {
    background: var(--im-bg, #f7f5f0);
    font-family: "DM Sans", system-ui, sans-serif;
    padding-top: 3.5rem !important;
    padding-bottom: 4rem !important;
}

.authentication-area .user-form,
.authentication-area .main-form,
.authentication-area .wrapper {
    background: var(--im-surface, #fff);
    border: 1px solid var(--im-border, #e2ded5);
    border-radius: 12px;
    box-shadow: none;
    padding: 2rem 1.75rem;
}

.authentication-area .wrapper {
    overflow: hidden;
    padding: 0;
}

.authentication-area .wrapper .bg-primary-light,
.authentication-area .col-lg-6.bg-primary-light {
    background: var(--im-text, #141414) !important;
    color: var(--im-bg, #f7f5f0);
    padding: 2.5rem 2rem;
}

.authentication-area .wrapper .bg-primary-light .content .logo img {
    filter: brightness(0) invert(1);
    max-height: 2rem;
}

.authentication-area .main-form {
    border: 0;
    border-radius: 0;
    padding: 2.5rem 2rem;
}

.authentication-area .title h3,
.authentication-area .main-form .title h3 {
    font-size: 1.65rem;
    letter-spacing: -0.03em;
    font-weight: 650;
    color: var(--im-text, #141414);
}

.authentication-area label,
.authentication-area .form-group span,
.authentication-area .form-group label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--im-text, #141414);
}

.authentication-area .form-control {
    border: 1px solid var(--im-border, #e2ded5);
    border-radius: 8px;
    min-height: 2.75rem;
    box-shadow: none;
}

.authentication-area .form-control:focus {
    border-color: var(--im-accent, #b85c45);
    box-shadow: 0 0 0 3px rgba(184, 92, 69, 0.12);
}

.authentication-area .btn-primary,
.authentication-area .btn.btn-primary,
.authentication-area button[type="submit"] {
    background: var(--im-text, #141414) !important;
    border-color: var(--im-text, #141414) !important;
    color: var(--im-bg, #f7f5f0) !important;
    border-radius: 8px !important;
    font-weight: 600;
    min-height: 2.85rem;
    box-shadow: none !important;
}

.authentication-area .btn-primary:hover {
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;
}

.authentication-area .text-primary,
.authentication-area a.text-primary,
.authentication-area strong.text-primary {
    color: var(--im-accent, #b85c45) !important;
}

.authentication-area .icon-link {
    color: var(--im-muted, #6a6862);
    margin-bottom: 1rem;
    display: inline-flex;
}

.authentication-area .svg-image {
    opacity: 0.55;
    filter: grayscale(1);
}

/* Align register brand copy without inventing claims */
.authentication-area .im-register-brand {
    max-width: 22rem;
}

.authentication-area .im-register-brand .wm-brand__name {
    color: #f7f5f0;
}

.authentication-area .im-register-brand h2 {
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    letter-spacing: -0.03em;
    margin-top: 2rem;
    line-height: 1.15;
    color: #f7f5f0 !important;
}

.authentication-area .im-register-brand h2 em {
    font-family: "DM Serif Display", Georgia, serif;
    font-style: italic;
    font-weight: 400;
    display: block;
    color: #f7f5f0 !important;
}

.authentication-area .im-register-brand p {
    color: rgba(247, 245, 240, 0.88) !important;
}

/* ------------------------------------------------------------------ */
/* Pricing page shell (cards stay data-driven)                         */
/* ------------------------------------------------------------------ */

.im-pricing-page,
body .pricing-area {
    background: var(--im-bg, #f7f5f0);
}

.im-pricing-page .card,
.pricing-area .card {
    border: 1px solid var(--im-border, #e2ded5) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: var(--im-surface, #fff);
}

.im-pricing-page .btn-primary,
.pricing-area .btn-primary {
    background: var(--im-text, #141414) !important;
    border-color: var(--im-text, #141414) !important;
}

/* ------------------------------------------------------------------ */
/* About / contact / FAQ content rhythm                                */
/* ------------------------------------------------------------------ */

.about-area,
.contact-area,
.faq-area,
.blog-area {
    font-family: "DM Sans", system-ui, sans-serif;
}

.about-area h2,
.contact-area h2,
.faq-area h2,
.about-area .section-title h2,
.contact-area .section-title h2,
.faq-area .section-title h2 {
    letter-spacing: -0.03em;
    font-weight: 650;
    color: var(--im-text, #141414);
}

.faq-area .accordion .card,
.faq-area .accordion-item {
    border: 1px solid var(--im-border, #e2ded5) !important;
    border-radius: 12px !important;
    margin-bottom: 0.75rem;
    overflow: hidden;
    box-shadow: none !important;
}

.contact-area .form-control,
.contact-area textarea {
    border-radius: 8px;
    border-color: var(--im-border, #e2ded5);
}

.contact-area .btn-primary {
    background: var(--im-text, #141414) !important;
    border-color: var(--im-text, #141414) !important;
    border-radius: 8px;
}

/* ------------------------------------------------------------------ */
/* Error pages                                                         */
/* ------------------------------------------------------------------ */

.error-area {
    font-family: "DM Sans", system-ui, sans-serif;
    background: var(--im-bg, #f7f5f0);
}

.error-area .error-txt h2 {
    letter-spacing: -0.04em;
    font-weight: 650;
    color: var(--im-text, #141414);
}

.error-area .btn-primary {
    background: var(--im-text, #141414) !important;
    border-color: var(--im-text, #141414) !important;
    border-radius: 8px;
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .authentication-area .wrapper .bg-primary-light {
        padding: 1.75rem 1.25rem;
    }

    .authentication-area .main-form,
    .authentication-area .user-form {
        padding: 1.5rem 1.15rem;
    }
}
