/* =========================================================
   CONTMARJO - styles.css (minificado y comentado)
   Paleta extraída del logo:
   - Primario (naranja): #F28C1B
   - Secundario (azul profundo): #0F4C81
   - Acento (azul vivo): #2D7DD2
   ========================================================= */
:root {
    --primary: #F28C1B;
    --secondary: #0F4C81;
    --accent: #2D7DD2;
    --dark: #0b1220;
    --muted: #6c757d;
    --bg: #f8fafc;
    --white: #fff;
    --shadow: 0 10px 25px rgba(0, 0, 0, .08);
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    color: #1d1f23;
    background: #fff;
}

img {
    max-width: 100%;
    height: auto
}

/* Utilidades */
.text-accent {
    color: var(--accent) !important
}

.bg-hero {
    background: linear-gradient(135deg, var(--secondary) 0%, #0b3c66 100%);
}

.bg-accent {
    background: var(--accent)
}

.btn-accent {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff
}

.btn-accent:hover {
    filter: brightness(.95);
    color: #fff
}

.btn-primary {
    background: var(--secondary);
    border-color: var(--secondary)
}

.btn-primary:hover {
    filter: brightness(1.1)
}

.section-padding {
    padding: 4rem 0
}

.section-header p {
    max-width: 720px;
    margin-inline: auto
}

/* Navbar */
.header .navbar {
    background: rgba(255, 255, 255, .85);
    backdrop-filter: saturate(180%) blur(8px)
}

.header.scrolled .navbar {
    background: #fff;
    box-shadow: var(--shadow)
}

.navbar .brand-text {
    color: var(--secondary)
}

.nav-link {
    color: #2b2f36
}

.nav-link:hover,
.nav-link:focus {
    color: var(--secondary)
}

/* Cards y hover states */
.card-hover {
    transition: transform .2s ease, box-shadow .2s ease
}

.card-hover:hover,
.card-hover:focus-within {
    transform: translateY(-2px);
    box-shadow: var(--shadow)
}

/* Clientes */
.client-box {
    display: grid;
    place-items: center;
    height: 80px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: .75rem;
    color: #6c757d
}

/* Reveal on scroll */
.reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s ease, transform .6s ease
}

.reveal.visible {
    opacity: 1;
    transform: none
}

/* Contadores */
.counter {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--secondary)
}

/* Footer */
.footer a {
    opacity: .9
}

.footer a:hover {
    opacity: 1
}

/* Focus visible accesible */
:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 2px
}

/* Form mensajes */
#formMsg {
    transition: opacity .2s ease
}

.mini-form .form-mini-msg {
    min-height: 1.25rem
}

/* Redondeados */
.rounded-4 {
    border-radius: 1rem
}

/* Media queries mínimas */
@media (min-width:992px) {
    .section-padding {
        padding: 5rem 0
    }
}

/* Pequeñas mejoras */
.lead {
    color: #edf2f7
}

.bg-light {
    background: var(--bg) !important
}

/*WhatsApp */
.whatsapp-float {
    position: fixed;
    width: 56px;
    height: 56px;
    bottom: 20px;
    right: 20px;
    background-color: #25d366;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover,
.whatsapp-float:focus {
    transform: scale(1.08);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
    color: #fff;
    text-decoration: none;
}

.btn-login {
    background: linear-gradient(90deg, #6C63FF, #9A55E5);
    color: #fff;
    border: none;
    box-shadow: 0 2px 6px rgba(108, 99, 255, 0.4);
    transition: all 0.3s ease;
}

.btn-login:hover {
    background: linear-gradient(90deg, #5b54d9, #8348c7);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(108, 99, 255, 0.5);
    color: #fff;
    text-decoration: none;
}