/* ═══════════════════════════════════════════════════════════
   DLM — Footer propio (v3.97.0) · handle 'dlm-footer'
   AUTOCONTENIDO: se sirve en TODAS las páginas cuando el footer está
   activo (también legales/contacto, donde dlm-styles.css no carga),
   así que no depende de tokens del core — cada var lleva respaldo.
   Fondos: --dlm-f-news-bg/--dlm-f-bg se inyectan desde el panel (hex)
   o caen al automático (tinte del primario / blanco).
   ═══════════════════════════════════════════════════════════ */

.dlm-site-footer {
    /* v3.99.0 — margin-top 48px RETIRADO: era la "barra gris" entre el
       contenido y la banda (dejaba ver el body de Astra). Tenía sentido
       cuando la banda ARRANCABA en difuminado (v3.97.3); con el divisor
       arriba (v3.97.4) el footer debe ir a ras del contenido. */
    margin-top: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--dlm-f-text, #0f172a);
    /* v3.97.4 — ACENTO en un solo punto: primero el color primario de la
       paleta de ASTRA (el que de verdad manda en cada web), respaldo el
       del plugin, respaldo final azul. Todo el fichero bebe de aquí. */
    --dlm-f-accent:  var(--ast-global-color-0, var(--dlm-primary, #2563eb));
    --dlm-f-accent2: var(--ast-global-color-1, var(--dlm-primary-hover, #6366f1));
}
.dlm-f-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Banda newsletter (v3.97.3, iterado con el dueño): vida estilo hero
   POR SKIN + difuminado superior + divisor premium inferior.
   - El fondo base (clásico) es un lavado limpio del primario con brillos;
     cada skin lo re-pinta con SU textura más abajo (.dlm-fsk-*).
   - ::before = DIFUMINADO superior (la banda nace fundiéndose con la página).
   - ::after = LÍNEA DIVISORIA con brillo (variables por skin).
   - Texturas derivadas del color del TEXTO y brillos de --dlm-f-news-glow:
     todo se adapta solo a fondos oscuros del panel. ── */
.dlm-site-footer .dlm-f-news {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse 900px 480px at 12% -10%,
            color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 22%, transparent), transparent 55%),
        radial-gradient(ellipse 700px 420px at 96% 115%,
            color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 15%, transparent), transparent 60%),
        linear-gradient(160deg,
            var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 13%, #ffffff)) 0%,
            var(--dlm-f-news-bg2, #ffffff) 82%);
    color: var(--dlm-f-news-text, #0f172a);
    padding: 48px 0 64px;
}
/* v3.97.4 (decisión del dueño): AL REVÉS — la LÍNEA con brillo ARRIBA
   (separa el contenido de la página del footer) y el DIFUMINADO ABAJO
   (la banda se disuelve en el cuerpo del footer). */
.dlm-site-footer .dlm-f-news::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--dlm-f-div-h, 2px);
    background: var(--dlm-f-div, linear-gradient(90deg,
        transparent 6%,
        color-mix(in srgb, var(--dlm-f-accent, #2563eb) 70%, transparent) 50%,
        transparent 94%));
    box-shadow: var(--dlm-f-div-glow, 0 0 16px color-mix(in srgb, var(--dlm-f-accent, #2563eb) 40%, transparent));
}
.dlm-site-footer .dlm-f-news::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 110px;
    /* se disuelve hacia el COLOR DEL CUERPO del footer (blanco u oscuro) */
    background: linear-gradient(0deg, var(--dlm-f-fade, var(--dlm-f-bg, #ffffff)), transparent);
    pointer-events: none;
}
.dlm-site-footer .dlm-f-news .dlm-f-wrap {
    position: relative;
    z-index: 1;
}

/* ── Recetas de banda POR SKIN (mismo orden de capas: texturas → brillos →
   lavado; el hex del panel sigue mandando vía --dlm-f-news-bg/-bg2) ── */

/* compacto: plano técnico (rejilla fina 28px) */
.dlm-fsk-compacto .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #0d9488;
    --dlm-f-accent2: #0891b2;
    background:
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 6%, transparent) 0 1px, transparent 1px 28px),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 6%, transparent) 0 1px, transparent 1px 28px),
        radial-gradient(ellipse 900px 480px at 12% -10%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 22%, transparent), transparent 55%),
        radial-gradient(ellipse 700px 420px at 96% 115%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 15%, transparent), transparent 60%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 13%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 82%);
}

/* nitido: rayado técnico diagonal + divisor firme de tinta */
.dlm-fsk-nitido .dlm-f-news {
    /* v3.99.0 — acento del SKIN (recolor): verde técnico de plano */
    --dlm-f-accent: #15803d;
    --dlm-f-accent2: #14532d;
    --dlm-f-div: linear-gradient(90deg, var(--dlm-f-news-text, #0f172a), var(--dlm-f-news-text, #0f172a));
    --dlm-f-div-h: 2px;
    --dlm-f-div-glow: none;
    background:
        repeating-linear-gradient(45deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 4%, transparent) 0 1px, transparent 1px 26px),
        radial-gradient(ellipse 800px 440px at 10% -10%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 18%, transparent), transparent 55%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 10%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 82%);
}

/* editorial: papel con reglas tipográficas + doble filete */
.dlm-fsk-editorial .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #dc2626;
    --dlm-f-accent2: #dc2626;
    --dlm-f-div: linear-gradient(180deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 35%, transparent) 0 1px, transparent 1px 4px, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 35%, transparent) 4px 5px);
    --dlm-f-div-h: 5px;
    --dlm-f-div-glow: none;
    background:
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 5%, transparent) 0 1px, transparent 1px 34px),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 6%, #fffdf8)) 0%, var(--dlm-f-news-bg2, #ffffff) 82%);
}

/* calido: lavado de revista + doble filete tostado */
.dlm-fsk-calido .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #b45309;
    --dlm-f-accent2: #fb923c;
    --dlm-f-div: linear-gradient(180deg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 55%, transparent) 0 1px, transparent 1px 4px, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 55%, transparent) 4px 5px);
    --dlm-f-div-h: 5px;
    --dlm-f-div-glow: none;
    background:
        radial-gradient(ellipse 900px 500px at 14% -12%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 24%, transparent), transparent 58%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 15%, #fffaf5)) 0%, var(--dlm-f-news-bg2, #ffffff) 85%);
}

/* suave: dos burbujas de color grandes y difusas */
.dlm-fsk-suave .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #fb7185;
    --dlm-f-accent2: #fb923c;
    --dlm-f-div-glow: 0 0 22px color-mix(in srgb, var(--dlm-f-accent, #2563eb) 30%, transparent);
    background:
        radial-gradient(ellipse 1000px 560px at 8% -20%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 28%, transparent), transparent 60%),
        radial-gradient(ellipse 860px 520px at 100% 125%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 20%, transparent), transparent 62%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 16%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 85%);
}

/* elevado: lámina con sombra interior superior */
.dlm-fsk-elevado .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #7c3aed;
    --dlm-f-accent2: #4f46e5;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 7%, transparent) 0, transparent 26px),
        radial-gradient(ellipse 900px 480px at 12% -10%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 20%, transparent), transparent 55%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 14%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 82%);
}

/* marcado: neobrutalista — lavado franco y divisor SÓLIDO de tinta */
.dlm-fsk-marcado .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #facc15;
    --dlm-f-accent2: #facc15;
    --dlm-f-div: linear-gradient(90deg, var(--dlm-f-news-text, #0f172a), var(--dlm-f-news-text, #0f172a));
    --dlm-f-div-h: 3px;
    --dlm-f-div-glow: none;
    background:
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 20%, #ffffff)) 0%, var(--dlm-f-news-bg2, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 8%, #ffffff)) 100%);
}

/* futurista: malla de puntos + doble brillo frío */
.dlm-fsk-futurista .dlm-f-news {
    /* acento del SKIN (v3.97.5): el color con el que su hero da la vida */
    --dlm-f-accent: #2563eb;
    --dlm-f-accent2: #7c3aed;
    --dlm-f-div-glow: 0 0 20px color-mix(in srgb, var(--dlm-f-accent, #2563eb) 50%, transparent);
    background:
        radial-gradient(circle 1px at 1px 1px, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 10%, transparent) 1px, transparent 1.5px),
        radial-gradient(ellipse 900px 480px at 10% -10%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 24%, transparent), transparent 55%),
        radial-gradient(ellipse 700px 420px at 96% 115%, color-mix(in srgb, var(--dlm-f-accent2, #6366f1) 16%, transparent), transparent 60%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 15%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 82%);
    background-size: 22px 22px, auto, auto, auto;
}

/* atlas: anillos concéntricos (motivo pin/mapa) */
.dlm-fsk-atlas .dlm-f-news {
    /* v3.99.0 — acento del SKIN (recolor): petróleo; la siena queda para el
       divisor, nunca de suelo (regla del director de arte). */
    --dlm-f-accent: #155e75;
    --dlm-f-accent2: #9a3412;
    background:
        repeating-radial-gradient(circle at 88% 18%, transparent 0 26px, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 4%, transparent) 26px 27px),
        radial-gradient(ellipse 900px 480px at 12% -10%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 20%, transparent), transparent 55%),
        linear-gradient(160deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 12%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 82%);
}

/* sereno: lavado calmo y divisor de brillo amplio */
.dlm-fsk-sereno .dlm-f-news {
    /* v3.99.0 — acento del SKIN (recolor): salvia y salvia honda */
    --dlm-f-accent: #4d7c6f;
    --dlm-f-accent2: #3f6f64;
    --dlm-f-div-glow: 0 0 24px color-mix(in srgb, var(--dlm-f-accent, #2563eb) 35%, transparent);
    background:
        radial-gradient(ellipse 1000px 520px at 50% -20%, color-mix(in srgb, var(--dlm-f-news-glow, var(--dlm-f-accent, #2563eb)) 16%, transparent), transparent 60%),
        linear-gradient(180deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 11%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 88%);
}

/* lineal: mínimo — lavado tenue y hairline sin brillo */
.dlm-fsk-lineal .dlm-f-news {
    /* v3.99.0 — acento del SKIN (recolor): burdeos de autor (el lavado al
       6% es tenue: el vino solo asoma, doctrina de masa contenida). */
    --dlm-f-accent: #9f1239;
    --dlm-f-accent2: #7f1032;
    --dlm-f-div: linear-gradient(90deg, color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 18%, transparent), color-mix(in srgb, var(--dlm-f-news-text, #0f172a) 18%, transparent));
    --dlm-f-div-h: 1px;
    --dlm-f-div-glow: none;
    background:
        linear-gradient(180deg, var(--dlm-f-news-bg, color-mix(in srgb, var(--dlm-f-accent, #2563eb) 6%, #ffffff)) 0%, var(--dlm-f-news-bg2, #ffffff) 90%);
}

/* Newsletter: estilos mínimos propios (el core puede no estar cargado) */
.dlm-site-footer .dlm-newsletter { max-width: none; }
.dlm-site-footer .dlm-newsletter-title {
    margin: 0 0 6px;
    font-size: 1.5rem;
    font-weight: 700;
    color: inherit;
}
.dlm-site-footer .dlm-newsletter-subtitle {
    margin: 0 0 18px;
    opacity: 0.85;
    color: inherit;
}
.dlm-site-footer .dlm-newsletter-fields {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.dlm-site-footer .dlm-newsletter-field {
    flex: 1 1 260px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.dlm-site-footer .dlm-newsletter-field label {
    font-weight: 600;
    font-size: 0.9rem;
    color: inherit;
}
.dlm-site-footer .dlm-newsletter-field input {
    width: 100%;
    box-sizing: border-box;
    height: 52px;
    padding: 12px 16px;
    font-size: 16px;
    color: #0f172a;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}
.dlm-site-footer .dlm-newsletter-field input:focus {
    outline: none;
    border-color: var(--dlm-f-accent, #2563eb);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dlm-f-accent, #2563eb) 15%, transparent);
}
.dlm-site-footer .dlm-newsletter-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 16px;
    font-size: 0.9rem;
    color: inherit;
}
.dlm-site-footer .dlm-newsletter-consent a { color: inherit; text-decoration: underline; }
/* Botón: sobre el degradado del primario, TINTA oscura por defecto (el
   primario se fundiría); con hex oscuro del panel se inyecta la inversión
   blanca (revisión). */
.dlm-site-footer .dlm-newsletter button,
.dlm-site-footer .dlm-newsletter [type="submit"] {
    padding: 12px 28px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--dlm-f-news-btn-text, #ffffff);
    background: var(--dlm-f-news-btn, #0f172a);
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    transition: opacity 0.15s ease;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.25);
}
.dlm-site-footer .dlm-newsletter button:hover { opacity: 0.88; }

/* ── Cuerpo: rejilla de 3 columnas ── */
.dlm-site-footer .dlm-f-main {
    background: var(--dlm-f-bg, #ffffff);
    /* sin borde superior: la banda ya se difumina hacia este fondo (v3.97.4) */
    padding: 36px 0 36px;
}
.dlm-site-footer .dlm-f-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1.2fr;
    gap: 40px;
}
.dlm-site-footer .dlm-f-title,
.dlm-site-footer .dlm-f-col .widget-title,
.dlm-site-footer .dlm-widget-cities-title {
    margin: 0 0 14px;
    font-size: 1.25rem;
    font-weight: 700;
    color: inherit;
}
.dlm-site-footer .dlm-f-links,
.dlm-site-footer .dlm-widget-cities {
    list-style: none;
    margin: 0;
    padding: 0;
}
.dlm-site-footer .dlm-f-links li,
.dlm-site-footer .dlm-widget-city-item {
    margin: 0 0 9px;
}
.dlm-site-footer .dlm-f-links a,
.dlm-site-footer .dlm-widget-cities a,
.dlm-site-footer .dlm-f-col a {
    color: inherit;
    text-decoration: none;
    opacity: 0.82;
    transition: opacity 0.15s ease, color 0.15s ease;
}
.dlm-site-footer .dlm-f-links a:hover,
.dlm-site-footer .dlm-widget-cities a:hover,
.dlm-site-footer .dlm-f-col a:hover {
    opacity: 1;
    color: var(--dlm-f-accent, #2563eb);
}

/* Columna de marca (widget existente: respeta sus clases) */
.dlm-site-footer .dlm-footer-brand-desc { margin: 10px 0 14px; opacity: 0.85; }
.dlm-site-footer .dlm-footer-brand-stats {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: color-mix(in srgb, var(--dlm-f-text, #0f172a) 6%, transparent);
    border-radius: 10px;
    font-size: 0.95rem;
}
.dlm-site-footer .dlm-footer-brand-social { margin-top: 14px; }

/* ── Barra de copyright ── */
.dlm-site-footer .dlm-f-copy {
    background: var(--dlm-f-bg, #ffffff);
    border-top: 1px solid color-mix(in srgb, var(--dlm-f-text, #0f172a) 10%, transparent);
    padding: 18px 0;
    text-align: center;
    font-size: 0.9rem;
    opacity: 0.8;
}
.dlm-site-footer .dlm-f-copy p { margin: 0; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .dlm-site-footer .dlm-f-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    /* alineación única explícita: sin esto, reglas de tema/widget centraban
       unas columnas sí y otras no (revisión) */
    .dlm-site-footer .dlm-f-col,
    .dlm-site-footer .dlm-f-title,
    .dlm-site-footer .dlm-f-links,
    .dlm-site-footer .dlm-widget-cities { text-align: left; }
}
@media (max-width: 600px) {
    .dlm-site-footer .dlm-f-grid { grid-template-columns: 1fr; gap: 28px; }
    .dlm-site-footer .dlm-f-news { padding: 32px 0 36px; }
    .dlm-site-footer .dlm-f-main { padding: 32px 0 24px; }
    .dlm-site-footer .dlm-newsletter-fields { gap: 12px; }
}
