/**
 * Landing (Bootstrap 5) — global responsive fixes not tied to the Vite marketing bundle.
 */

html {
    -webkit-text-size-adjust: 100%;
}

.landing-navbar.fixed-top .container {
    padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
}

/* Navbar logos: templates use inline max-width:120px — shrink slightly on phones */
@media (max-width: 767.98px) {
    .landing-navbar .navbar-brand img.landing-logo-mobile-dark,
    .landing-navbar .navbar-brand img.landing-logo-mobile-light {
        max-width: 100px !important;
        width: auto !important;
        height: auto !important;
    }
}

/* Collapsed navbar (below Bootstrap lg): stack Entrar + CTA buttons full width */
@media (max-width: 991.98px) {
    .landing-navbar .landing-navbar__header-controls {
        gap: 0.5rem;
    }

    .landing-navbar .landing-navbar__theme-toggle {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .landing-navbar .navbar-nav {
        align-items: center;
        width: 100%;
        text-align: center;
    }

    .landing-navbar .navbar-nav .nav-link {
        text-align: center;
        width: 100%;
    }

    .landing-navbar .landing-navbar__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        margin-top: 0.75rem;
        gap: 0.5rem;
    }

    .landing-navbar .landing-navbar__login-group {
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 0.125rem;
        text-align: center;
    }

    /* Phase 1b (shadcn markup redesign): navbar CTAs render via the shadcn
       Button macro (templates/components/ui/button.html.twig), which no
       longer emits .btn-landing-outline-nav/.btn-landing-primary. Both
       buttons carry the shared .landing-navbar-cta hook class instead —
       see .docs/specs/2026-09-18-shadcn-nav-footer-markup/spec.md. */
    .landing-navbar .landing-navbar__actions .landing-navbar-cta {
        width: 100%;
        text-align: center;
    }
}

/* Expanded navbar at tablet (lg–below xl): stack login hint above Entrar; CTA stays beside group */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .landing-navbar .landing-navbar__login-group {
        flex-direction: column;
        align-items: center;
        gap: 0.125rem;
        text-align: center;
    }

    .landing-navbar .landing-navbar__actions {
        align-items: center;
        gap: 0.5rem;
    }
}

.landing-main img,
.landing-hero img,
.landing-section img {
    max-width: 100%;
    height: auto;
}

.landing-main,
.landing-hero {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
}

/* CRO: mobile sticky signup bar — .docs/marketing/landing/landing-cro-plan.md */
.landing-mobile-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    padding: 0.65rem max(0.75rem, env(safe-area-inset-left, 0px)) calc(0.65rem + env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-right, 0px));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid var(--color-border-light, #e2e8f0);
    box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.1);
}

html[data-theme="dark"] .landing-mobile-sticky-cta,
[data-theme="dark"] .landing-mobile-sticky-cta {
    background: rgba(15, 23, 42, 0.96);
}

@media (min-width: 992px) {
    .landing-mobile-sticky-cta {
        display: none !important;
    }
}
