/* ==========================================================
   DINNARA CORE · FRONTEND CSS ORDENADO
   Versión visual: identidad Dinnara — blanco/perla + navy + teal logo
   Tipografía: Plus Jakarta Sans (titulares) + Inter (cuerpo)
   ========================================================== */

/* ==========================================================
   01. TOKENS DE MARCA
   ========================================================== */

body.dinnara-template-page {
    /* Paleta nueva: fondo blanco/perla, texto navy, acento teal del logo */
    --dinnara-bg:      #FFFFFF;
    --dinnara-bg-2:    #F8F9FA;
    --dinnara-bg-3:    #F1F4F7;

    --dinnara-ink:        #0A192F;
    --dinnara-ink-strong: #061422;
    --dinnara-ink-soft:   #475569;

    /* Alias de compatibilidad */
    --dinnara-dark:     #0A192F;
    --dinnara-dark-2:   #0E2238;
    --dinnara-surface:  #FFFFFF;
    --dinnara-surface-2:#F8F9FA;
    --dinnara-surface-3:#F1F4F7;
    --dinnara-line:     #E2E8F0;
    --dinnara-line-soft:rgba(39, 247, 194, .18);

    --dinnara-text:   #0A192F;
    --dinnara-muted:  #475569;
    --dinnara-muted-2:#64748B;

    /* Acento teal del logo */
    --dinnara-cyan:    #27F7C2;
    --dinnara-green:   #42D4AE;
    --dinnara-blue:    #38BDF8;
    --dinnara-grad:    linear-gradient(135deg, #27F7C2, #38BDF8);

    /* Cockpit IA (navy profundo) */
    --dinnara-navy:    #0A192F;
    --dinnara-navy-2:  #0E2238;
    --dinnara-navy-3:  #122848;
    --dinnara-navy-line: rgba(39, 247, 194, .18);

    --dinnara-warning: #C2A36A;
    --dinnara-danger:  #B85C5C;

    /* Verde oficial de WhatsApp. Es color de marca ajena, impuesto: no se
       ajusta a la paleta Dinnara a proposito, porque el reconocimiento
       inmediato es justo lo que hace funcionar ese boton (sección 35). */
    --dinnara-whatsapp: #25D366;

    /* Tipografía */
    --dinnara-font-head: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
    --dinnara-font-body: "Inter", system-ui, -apple-system, sans-serif;

    --dinnara-radius-xs: 10px;
    --dinnara-radius-sm: 14px;
    --dinnara-radius-md: 20px;
    --dinnara-radius-lg: 28px;
    --dinnara-radius-xl: 34px;

    --dinnara-shadow-card: 0 22px 70px rgba(10, 25, 47, .08);
    --dinnara-shadow-soft: 0 18px 50px rgba(10, 25, 47, .06);
    --dinnara-shadow-glow: 0 0 42px rgba(39, 247, 194, .20);
    --dinnara-shadow-cta:  0 14px 34px rgba(39, 247, 194, .22);

    background: var(--dinnara-bg) !important;
    color: var(--dinnara-text) !important;
    margin: 0 !important;
    overflow-x: clip !important;
}

/* ==========================================================
   02. NORMALIZACIÓN WORDPRESS / FULL WIDTH
   ========================================================== */

/* clip (no hidden): corta el desbordamiento horizontal sin crear contenedor de
   scroll, que es lo que rompe el position:sticky del header. */
html,
body.dinnara-template-page {
    overflow-x: clip !important;
}

body.dinnara-template-page .wp-site-blocks,
body.dinnara-template-page .entry-content,
body.dinnara-template-page .wp-block-post-content,
body.dinnara-template-page .is-layout-constrained,
body.dinnara-template-page .site-main,
body.dinnara-template-page .content-area,
body.dinnara-template-page .wp-block-template-part + main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--dinnara-dark) !important;
    color: var(--dinnara-text) !important;
}

body.dinnara-template-page header.wp-block-template-part,
body.dinnara-template-page footer.wp-block-template-part,
body.dinnara-template-page .wp-site-blocks > header,
body.dinnara-template-page .wp-site-blocks > footer,
body.dinnara-template-page .site-header,
body.dinnara-template-page .site-footer,
body.dinnara-template-page .entry-title,
body.dinnara-template-page .wp-block-post-title,
body.dinnara-template-page .page-title,
body.dinnara-template-page .wp-block-query-title,
body.dinnara-template-page h1.wp-block-post-title {
    display: none !important;
}

body.dinnara-template-page .entry-content > :not([id^="dinnara-"]):not(:has([id^="dinnara-"])) {
    display: none !important;
}

body.dinnara-template-page .entry-content > :has([id^="dinnara-"]) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================
   03. SCOPE GENERAL Y FONDOS
   ========================================================== */

body.dinnara-template-page :is(
    #dinnara-ai-home,
    #dinnara-myfunds-page,
    #dinnara-hub-fiscal-page,
    #dinnara-placeholder-page,
    #dinnara-buscador-page,
    #dinnara-vigilancia-page,
    #dinnara-observatorio-page,
    #dinnara-modelo-page,
    #dinnara-partner-page,
    #dinnara-login-page,
    #dinnara-fiscal-detail-page,
    #dinnara-404-page
) {
    isolation: isolate !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: clip !important;
    background: var(--dinnara-bg) !important;
    color: var(--dinnara-text) !important;
    font-family: var(--dinnara-font-body) !important;
}

body.dinnara-template-page [id^="dinnara-"] *,
body.dinnara-template-page [id^="dinnara-"] *::before,
body.dinnara-template-page [id^="dinnara-"] *::after {
    box-sizing: border-box !important;
}

body.dinnara-template-page [id^="dinnara-"] :is(a, button, input, select, textarea) {
    font-family: inherit !important;
}

body.dinnara-template-page [id^="dinnara-"] :is(a, button) {
    text-decoration: none !important;
    text-shadow: none !important;
}

body.dinnara-template-page :is(
    #dinnara-ai-home,
    #dinnara-myfunds-page,
    #dinnara-hub-fiscal-page,
    #dinnara-placeholder-page,
    #dinnara-buscador-page,
    #dinnara-vigilancia-page,
    #dinnara-observatorio-page,
    #dinnara-modelo-page,
    #dinnara-partner-page,
    #dinnara-login-page,
    #dinnara-fiscal-detail-page,
    #dinnara-404-page
) > :is(main, footer) {
    position: relative !important;
    z-index: 2 !important;
}

body.dinnara-template-page [id^="dinnara-"] .max-w-7xl,
body.dinnara-template-page [id^="dinnara-"] header .max-w-7xl,
body.dinnara-template-page [id^="dinnara-"] main .max-w-7xl,
body.dinnara-template-page [id^="dinnara-"] footer .max-w-7xl {
    max-width: 86rem !important;
}

.dinnara-bg-premium {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 16% 10%, rgba(39, 247, 194, .07), transparent 28%),
        radial-gradient(circle at 86% 78%, rgba(56, 189, 248, .06), transparent 26%),
        #FFFFFF !important;
}

.dinnara-bg-premium::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    opacity: .35 !important;
    background-image: radial-gradient(rgba(39, 247, 194, .10) 1px, transparent 1px) !important;
    background-size: 28px 28px !important;
    mask-image: linear-gradient(to bottom, black, transparent 72%) !important;
}

/* ==========================================================
   04. ENCABEZADO / NAVEGACIÓN
   ========================================================== */

.dinnara-site-header {
    position: sticky !important;
    position: -webkit-sticky !important;
    z-index: 40 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--dinnara-line) !important;
    background: rgba(255, 255, 255, .92) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
}

.dinnara-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.25rem !important;
    width: min(100%, 1220px) !important;
    min-height: 72px !important;
    margin: 0 auto !important;
    padding: 18px 24px !important;
}

.dinnara-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: max-content !important;
    color: var(--dinnara-text) !important;
}

.dinnara-brand-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, var(--dinnara-cyan), var(--dinnara-green)) !important;
    color: #061422 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
    box-shadow: 0 12px 30px rgba(39, 247, 194, .22) !important;
}

.dinnara-brand-word {
    color: var(--dinnara-text) !important;
    font-size: 19px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    text-transform: lowercase !important;
}

.dinnara-desktop-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 26px !important;
    flex: 1 1 auto !important;
}

.dinnara-nav-item {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.dinnara-nav-link,
.dinnara-header-login {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--dinnara-muted) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transition: color .18s ease, opacity .18s ease, transform .18s ease !important;
}

.dinnara-nav-link:hover,
.dinnara-nav-link:focus-visible,
.dinnara-header-login:hover,
.dinnara-header-login:focus-visible,
.dinnara-nav-link.is-active,
.dinnara-header-login.is-active,
.dinnara-nav-item.is-active > .dinnara-nav-link {
    color: var(--dinnara-navy) !important;
}

.dinnara-nav-chevron {
    position: relative !important;
    top: -1px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    opacity: .76 !important;
}

.dinnara-dropdown {
    position: absolute !important;
    top: calc(100% + 16px) !important;
    left: 50% !important;
    z-index: 60 !important;
    min-width: 256px !important;
    padding: 10px !important;
    border: 1px solid rgba(39, 247, 194, .18) !important;
    border-radius: 18px !important;
    background: rgba(8, 22, 34, .96) !important;
    box-shadow: var(--dinnara-shadow-soft) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) !important;
    transition: opacity .16s ease, transform .16s ease !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

.dinnara-dropdown::before {
    content: "" !important;
    position: absolute !important;
    top: -18px !important;
    left: 0 !important;
    right: 0 !important;
    height: 18px !important;
}

.dinnara-nav-has-menu:hover .dinnara-dropdown,
.dinnara-nav-has-menu:focus-within .dinnara-dropdown {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
}

.dinnara-dropdown-link {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    color: rgba(244, 250, 252, .76) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    transition: background-color .16s ease, color .16s ease, transform .16s ease !important;
}

.dinnara-dropdown-link:hover,
.dinnara-dropdown-link:focus-visible,
.dinnara-dropdown-link.is-active {
    background: rgba(39, 247, 194, .10) !important;
    color: var(--dinnara-green) !important;
    transform: translateX(2px) !important;
}

.dinnara-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    min-width: max-content !important;
}

.dinnara-header-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(39, 247, 194, .40) !important;
    border-radius: 999px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: var(--dinnara-shadow-cta) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.dinnara-header-cta:hover,
.dinnara-header-cta:focus-visible {
    color: #061422 !important;
    filter: saturate(1.08) brightness(1.04) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 42px rgba(39, 247, 194, .24) !important;
}

.dinnara-menu-toggle {
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(39, 247, 194, .18) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .04) !important;
    cursor: pointer !important;
}

.dinnara-menu-toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--dinnara-text) !important;
}

.dinnara-mobile-menu {
    border-top: 1px solid var(--dinnara-line) !important;
    background: rgba(255, 255, 255, .98) !important;
}

.dinnara-mobile-menu.hidden {
    display: none !important;
}

.dinnara-mobile-nav {
    display: grid !important;
    gap: 8px !important;
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
    padding: 16px 24px 22px !important;
}

.dinnara-mobile-section {
    margin-top: 10px !important;
    padding: 8px 2px 2px !important;
    color: var(--dinnara-cyan) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.dinnara-mobile-link,
.dinnara-mobile-cta {
    display: flex !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 14px !important;
    background: var(--dinnara-bg-2) !important;
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.dinnara-mobile-link:hover,
.dinnara-mobile-link.is-active {
    border-color: rgba(39, 247, 194, .34) !important;
    color: var(--dinnara-navy) !important;
}

.dinnara-mobile-cta {
    justify-content: center !important;
    margin-top: 8px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    font-weight: 700 !important;
}

/* ==========================================================
   05. COMPATIBILIDAD TAILWIND / PALETA DEL PLUGIN
   ========================================================== */

body.dinnara-template-page [class~="bg-brand-dark"] {
    background-color: var(--dinnara-navy) !important;
}

body.dinnara-template-page [class*="bg-brand-dark/"] {
    background-color: rgba(10, 25, 47, .90) !important;
}

body.dinnara-template-page [class~="bg-brand-surface"] {
    background-color: var(--dinnara-navy-2) !important;
}

body.dinnara-template-page [class*="bg-brand-surface/"] {
    background-color: rgba(14, 34, 56, .90) !important;
}

body.dinnara-template-page [class~="bg-brand-surface-2"] {
    background-color: var(--dinnara-navy-3) !important;
}

body.dinnara-template-page [class~="bg-brand-cyan"] {
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
}

body.dinnara-template-page [class*="bg-brand-cyan/"] {
    background-color: rgba(39, 247, 194, .08) !important;
}

body.dinnara-template-page [class~="bg-brand-green"] {
    background-color: var(--dinnara-green) !important;
    color: #061422 !important;
}

body.dinnara-template-page [class*="bg-brand-green/"] {
    background-color: rgba(66, 212, 174, .08) !important;
}

body.dinnara-template-page [class~="bg-white"] {
    background-color: #FFFFFF !important;
    color: var(--dinnara-navy) !important;
}

body.dinnara-template-page [class*="bg-white/"],
body.dinnara-template-page [class*="bg-white["] {
    background-color: rgba(255, 255, 255, .04) !important;
}

body.dinnara-template-page [class~="text-brand-text"] {
    color: #F4FAFC !important;
}

body.dinnara-template-page [class~="text-white"] {
    color: #F4FAFC !important;
}

body.dinnara-template-page [class~="text-brand-muted"],
body.dinnara-template-page [class*="placeholder:text-brand-muted"]::placeholder {
    color: #9FB3C8 !important;
}

body.dinnara-template-page [class~="text-brand-cyan"] {
    color: var(--dinnara-cyan) !important;
}

body.dinnara-template-page [class~="text-brand-green"] {
    color: var(--dinnara-green) !important;
}

body.dinnara-template-page [class~="text-brand-dark"] {
    color: #061422 !important;
}

body.dinnara-template-page [class*="border-brand-line"],
body.dinnara-template-page [class*="border-white/10"] {
    border-color: rgba(39, 247, 194, .14) !important;
}

body.dinnara-template-page [class*="border-brand-cyan"] {
    border-color: rgba(39, 247, 194, .34) !important;
}

body.dinnara-template-page [class*="border-brand-green"] {
    border-color: rgba(66, 212, 174, .34) !important;
}

body.dinnara-template-page .from-brand-cyan {
    --tw-gradient-from: var(--dinnara-cyan) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgba(39, 247, 194, 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

body.dinnara-template-page .to-brand-green {
    --tw-gradient-to: var(--dinnara-green) var(--tw-gradient-to-position) !important;
}

body.dinnara-template-page .via-white\/\[0\.04\] {
    --tw-gradient-stops: var(--tw-gradient-from), rgba(244,250,252,.04) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

body.dinnara-template-page .shadow-dinnara-glow,
body.dinnara-template-page .shadow-dinnara-green {
    box-shadow: var(--dinnara-shadow-glow) !important;
}

/* ==========================================================
   06. TIPOGRAFÍA / CHIPS
   ========================================================== */

.dinnara-title {
    color: var(--dinnara-text) !important;
    letter-spacing: -.045em !important;
}

.dinnara-muted {
    color: var(--dinnara-muted) !important;
}

.dinnara-kicker,
.dinnara-eyebrow,
.dinnara-footer-kicker,
.dinnara-chip,
.dinnara-kicker-pill {
    color: var(--dinnara-cyan) !important;
    font-family: var(--dinnara-font-body) !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.dinnara-kicker,
.dinnara-kicker-pill,
body.dinnara-template-page [id^="dinnara-"] [class*="rounded-full"][class*="tracking"] {
    border-color: rgba(39, 247, 194, .26) !important;
    background: rgba(39, 247, 194, .075) !important;
}

.dinnara-gradient-text {
    color: var(--dinnara-cyan) !important;
    background: linear-gradient(90deg, #DDF8FF 0%, var(--dinnara-cyan) 48%, var(--dinnara-green) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* ==========================================================
   07. BOTONES
   ========================================================== */

.dinnara-btn,
.dinnara-btn-primary,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-brand-cyan"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .5rem !important;
    border: 1px solid rgba(66, 212, 174, .30) !important;
    border-radius: var(--dinnara-radius-sm) !important;
    background: linear-gradient(135deg, var(--dinnara-cyan), var(--dinnara-green)) !important;
    color: var(--dinnara-dark) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    cursor: pointer !important;
    user-select: none !important;
    box-shadow: var(--dinnara-shadow-cta) !important;
    transform: translateY(0) !important;
    transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.dinnara-btn *,
.dinnara-btn-primary *,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-brand-cyan"] * {
    color: var(--dinnara-dark) !important;
}

.dinnara-btn:hover,
.dinnara-btn-primary:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-brand-cyan"]:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="hover:bg-brand-green"]:hover {
    color: var(--dinnara-dark) !important;
    filter: brightness(1.04) saturate(1.08) !important;
    border-color: rgba(66, 212, 174, .60) !important;
    box-shadow: 0 18px 42px rgba(66, 212, 174, .20) !important;
    transform: translateY(-1px) !important;
}

.dinnara-btn-secondary,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white/"],
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white["],
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="border-brand-line"] {
    background: rgba(14, 33, 50, .78) !important;
    border-color: rgba(39, 247, 194, .16) !important;
    color: var(--dinnara-text) !important;
    box-shadow: none !important;
}

.dinnara-btn-secondary:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white/"]:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white["]:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="border-brand-line"]:hover {
    background: rgba(39, 247, 194, .10) !important;
    border-color: rgba(39, 247, 194, .36) !important;
    color: var(--dinnara-cyan) !important;
    transform: translateY(-1px) !important;
}

.dinnara-btn-md {
    min-height: 52px !important;
    padding: 14px 22px !important;
}

.dinnara-btn-route {
    width: 100% !important;
    min-height: 64px !important;
    justify-content: flex-start !important;
    padding: 18px 24px !important;
    font-size: 18px !important;
}

body.dinnara-template-page [id^="dinnara-"] button:disabled {
    opacity: .56 !important;
    cursor: not-allowed !important;
}

body.dinnara-template-page [id^="dinnara-"] :is(a, button):focus-visible {
    outline: 2px solid var(--dinnara-green) !important;
    outline-offset: 3px !important;
}

/* ==========================================================
   08. TARJETAS / PANELES
   ========================================================== */

.dinnara-card,
.dinnara-card-strong,
body.dinnara-template-page [id^="dinnara-"] [class*="bg-white/"][class*="border"],
body.dinnara-template-page [id^="dinnara-"] [class*="bg-brand-surface"] {
    background: rgba(14, 33, 50, .76) !important;
    border-color: rgba(39, 247, 194, .14) !important;
    box-shadow: var(--dinnara-shadow-card) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

.dinnara-card,
.dinnara-card-strong {
    border: 1px solid rgba(39, 247, 194, .14) !important;
    border-radius: var(--dinnara-radius-lg) !important;
}

.dinnara-card-strong {
    border-color: rgba(39, 247, 194, .24) !important;
    box-shadow: var(--dinnara-shadow-glow) !important;
}

.dinnara-path-box {
    border: 1px solid rgba(39, 247, 194, .20) !important;
    background: rgba(244, 250, 252, .035) !important;
    color: var(--dinnara-muted) !important;
    border-radius: 16px !important;
    padding: 16px !important;
}

.dinnara-path-box strong {
    color: var(--dinnara-green) !important;
}

/* ==========================================================
   09. FORMULARIOS
   ========================================================== */

.dinnara-field,
.dinnara-input,
.dinnara-select,
.dinnara-textarea,
body.dinnara-template-page [id^="dinnara-"] :is(input, select, textarea) {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid rgba(39, 247, 194, .16) !important;
    border-radius: 16px !important;
    background: rgba(8, 21, 33, .86) !important;
    color: var(--dinnara-text) !important;
    padding: 14px 16px !important;
    outline: none !important;
    box-shadow: none !important;
}

.dinnara-field:focus,
.dinnara-input:focus,
.dinnara-select:focus,
.dinnara-textarea:focus,
body.dinnara-template-page [id^="dinnara-"] :is(input, select, textarea):focus {
    border-color: rgba(39, 247, 194, .58) !important;
    box-shadow: 0 0 0 4px rgba(39, 247, 194, .10) !important;
}

.dinnara-field::placeholder,
.dinnara-input::placeholder,
.dinnara-textarea::placeholder,
body.dinnara-template-page [id^="dinnara-"] :is(input, textarea)::placeholder {
    color: rgba(158, 181, 199, .78) !important;
}

body.dinnara-template-page [id^="dinnara-"] select option {
    background: var(--dinnara-surface) !important;
    color: var(--dinnara-text) !important;
}

/* ==========================================================
   10. AI SEARCH / CHAT / POPUP DE LEAD
   ========================================================== */

#dinnara-search-panel {
    scroll-margin-top: 110px !important;
}

.dinnara-chat-scroll {
    scrollbar-width: thin !important;
    scrollbar-color: var(--dinnara-line) var(--dinnara-dark) !important;
}

.dinnara-chat-scroll::-webkit-scrollbar {
    width: 8px !important;
}

.dinnara-chat-scroll::-webkit-scrollbar-track {
    background: var(--dinnara-dark) !important;
    border-radius: 999px !important;
}

.dinnara-chat-scroll::-webkit-scrollbar-thumb {
    background: var(--dinnara-line) !important;
    border-radius: 999px !important;
}

#dinnara-chat-status {
    color: var(--dinnara-muted) !important;
    font-family: var(--dinnara-font-body) !important;
}

#dinnara-chat-messages {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

#dinnara-chat-messages .dinnara-msg-user,
#dinnara-chat-messages .dinnara-msg-bot {
    width: fit-content !important;
    max-width: 86% !important;
    min-width: 0 !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    color: var(--dinnara-text) !important;
}

#dinnara-chat-messages .dinnara-msg-user {
    align-self: flex-end !important;
    margin-left: auto !important;
    border: 1px solid rgba(244, 250, 252, .14) !important;
    background: rgba(244, 250, 252, .06) !important;
}

#dinnara-chat-messages .dinnara-msg-bot {
    align-self: flex-start !important;
    margin-right: auto !important;
    border: 1px solid rgba(39, 247, 194, .25) !important;
    background: rgba(39, 247, 194, .09) !important;
}

#dinnara-chat-messages .dinnara-msg-label,
#dinnara-chat-messages .dinnara-msg-user .dinnara-msg-label,
#dinnara-chat-messages .dinnara-msg-bot .dinnara-msg-label {
    display: block !important;
    margin: 0 0 8px 0 !important;
    color: var(--dinnara-text) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    letter-spacing: -.015em !important;
    line-height: 1.25 !important;
    text-transform: none !important;
}

#dinnara-chat-messages .dinnara-msg-bot .dinnara-msg-label,
#dinnara-chat-messages strong {
    color: var(--dinnara-green) !important;
}

#dinnara-chat-messages .dinnara-msg-text {
    display: block !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
    line-height: 1.55 !important;
    white-space: pre-wrap !important;
}

#dinnara-lead-wall {
    display: none !important;
}

html.dinnara-modal-open,
html.dinnara-modal-open body,
.dinnara-modal-open,
.dinnara-modal-open body {
    overflow: hidden !important;
}

#dinnara-lead-modal {
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

#dinnara-lead-modal .dinnara-modal-backdrop {
    background:
        radial-gradient(circle at 20% 15%, rgba(39, 247, 194, .14), transparent 28%),
        radial-gradient(circle at 84% 80%, rgba(66, 212, 174, .12), transparent 26%) !important;
}

#dinnara-lead-modal .dinnara-lead-field span {
    display: block !important;
    margin-bottom: .5rem !important;
    color: var(--dinnara-muted) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

#dinnara-lead-modal .dinnara-modal-close {
    min-width: 44px !important;
    width: auto !important;
}

/* ==========================================================
   11. LOGIN WORDPRESS INTEGRADO
   ========================================================== */

.dinnara-login-form form {
    display: grid !important;
    gap: 1rem !important;
}

.dinnara-login-form p {
    margin: 0 !important;
}

.dinnara-login-form label {
    display: block !important;
    margin-bottom: .5rem !important;
    color: var(--dinnara-muted) !important;
    font-size: .75rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.dinnara-login-form input[type="text"],
.dinnara-login-form input[type="password"] {
    width: 100% !important;
    min-height: 52px !important;
    border: 1px solid rgba(39, 247, 194, .16) !important;
    border-radius: 16px !important;
    background: rgba(8, 21, 33, .86) !important;
    color: var(--dinnara-text) !important;
    padding: 14px 16px !important;
    box-shadow: none !important;
    outline: none !important;
}

.dinnara-login-form input[type="text"]:focus,
.dinnara-login-form input[type="password"]:focus {
    border-color: rgba(39, 247, 194, .58) !important;
    box-shadow: 0 0 0 4px rgba(39, 247, 194, .10) !important;
}

.dinnara-login-form .login-remember label {
    display: flex !important;
    align-items: center !important;
    gap: .6rem !important;
    color: var(--dinnara-muted) !important;
    font-size: .9rem !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.dinnara-login-form input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
}

.dinnara-login-form input[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    border: 1px solid rgba(66, 212, 174, .30) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--dinnara-cyan), var(--dinnara-green)) !important;
    color: var(--dinnara-dark) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.dinnara-login-form input[type="submit"]:hover {
    filter: brightness(1.04) saturate(1.08) !important;
    box-shadow: var(--dinnara-shadow-cta) !important;
    transform: translateY(-1px) !important;
}

/* ==========================================================
   12. MYFUNDS / EXPEDIENTES / DOCUMENTOS
   ========================================================== */

#dinnara-myfunds-page aside :is(a, button):not([class*="bg-brand-cyan"]),
#dinnara-myfunds-page nav :is(a, button):not([class*="bg-brand-cyan"]) {
    color: var(--dinnara-muted) !important;
}

#dinnara-myfunds-page aside :is(a, button):not([class*="bg-brand-cyan"]):hover,
#dinnara-myfunds-page nav :is(a, button):not([class*="bg-brand-cyan"]):hover {
    color: var(--dinnara-cyan) !important;
}

.dinnara-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    border: 1px solid rgba(244, 250, 252, .14) !important;
    border-radius: 999px !important;
    padding: 9px 14px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.dinnara-status-inicio {
    background: rgba(39, 247, 194, .10) !important;
    border-color: rgba(39, 247, 194, .30) !important;
    color: #9CEEFF !important;
}

.dinnara-status-subsanacion {
    background: rgba(242, 184, 75, .14) !important;
    border-color: rgba(242, 184, 75, .42) !important;
    color: #FDE7A0 !important;
}

.dinnara-status-concedida {
    background: rgba(66, 212, 174, .13) !important;
    border-color: rgba(66, 212, 174, .40) !important;
    color: #A0F5D8 !important;
}

.dinnara-application-card {
    display: block !important;
    color: inherit !important;
}

.dinnara-doc-row {
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease !important;
}

.dinnara-doc-row:hover {
    border-color: rgba(39, 247, 194, .28) !important;
    transform: translateY(-1px) !important;
}

.dinnara-upload-form .dinnara-file-input {
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px !important;
    border: 1px solid rgba(39, 247, 194, .16) !important;
    border-radius: 14px !important;
    background: rgba(8, 21, 33, .86) !important;
    color: var(--dinnara-text) !important;
}

.dinnara-upload-form .dinnara-file-input::file-selector-button {
    margin-right: 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, var(--dinnara-cyan), var(--dinnara-green)) !important;
    color: var(--dinnara-dark) !important;
    padding: 9px 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

/* ==========================================================
   13. FOOTER / 404
   ========================================================== */

body.dinnara-template-page [id^="dinnara-"] footer {
    border-top-color: rgba(39, 247, 194, .14) !important;
    background: rgba(5, 16, 27, .92) !important;
}

#dinnara-404-page .dinnara-btn-route {
    background: linear-gradient(135deg, var(--dinnara-cyan), var(--dinnara-green)) !important;
    color: var(--dinnara-dark) !important;
}

#dinnara-404-page .dinnara-btn-route:hover {
    color: var(--dinnara-dark) !important;
    filter: brightness(1.04) saturate(1.08) !important;
}

/* ==========================================================
   14. RESPONSIVE / ACCESIBILIDAD
   ========================================================== */

@media (max-width: 1180px) {
    .dinnara-desktop-nav,
    .dinnara-header-actions {
        display: none !important;
    }

    .dinnara-menu-toggle {
        display: inline-flex !important;
    }
}

@media (max-width: 1023px) {
    #dinnara-search-panel {
        max-width: none !important;
        margin-left: 0 !important;
    }
}

@media (max-width: 782px) {
    body.dinnara-template-page.admin-bar [id^="dinnara-"] {
        min-height: calc(100vh - 46px) !important;
    }

    .dinnara-header-inner,
    .dinnara-mobile-nav {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .dinnara-brand-word {
        font-size: 18px !important;
    }

    #dinnara-chat-messages .dinnara-msg-user,
    #dinnara-chat-messages .dinnara-msg-bot {
        max-width: 94% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.dinnara-template-page *,
    body.dinnara-template-page *::before,
    body.dinnara-template-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ==========================================================
   15. TEMA CLARO DINNARA · BLANCO + BEIGE LOGO
   Sobrescribe restos de la versión dark y mantiene el layout actual.
   ========================================================== */

body.dinnara-template-page,
body.dinnara-template-page .wp-site-blocks,
body.dinnara-template-page .entry-content,
body.dinnara-template-page .wp-block-post-content,
body.dinnara-template-page .is-layout-constrained,
body.dinnara-template-page .site-main,
body.dinnara-template-page .content-area,
body.dinnara-template-page .wp-block-template-part + main {
    background: var(--dinnara-bg) !important;
    color: var(--dinnara-ink) !important;
}

body.dinnara-template-page :is(
    #dinnara-ai-home,
    #dinnara-myfunds-page,
    #dinnara-hub-fiscal-page,
    #dinnara-placeholder-page,
    #dinnara-buscador-page,
    #dinnara-vigilancia-page,
    #dinnara-observatorio-page,
    #dinnara-modelo-page,
    #dinnara-partner-page,
    #dinnara-login-page,
    #dinnara-fiscal-detail-page,
    #dinnara-404-page
) {
    background: var(--dinnara-bg) !important;
    color: var(--dinnara-ink) !important;
}

.dinnara-bg-premium {
    background:
        radial-gradient(circle at 18% 8%, rgba(39, 247, 194, .07), transparent 30%),
        radial-gradient(circle at 82% 78%, rgba(56, 189, 248, .06), transparent 30%),
        #FFFFFF !important;
}

.dinnara-bg-premium::after {
    opacity: .30 !important;
    background-image: radial-gradient(rgba(39, 247, 194, .10) 1px, transparent 1px) !important;
    background-size: 30px 30px !important;
    mask-image: linear-gradient(to bottom, black, transparent 86%) !important;
}

.dinnara-site-header {
    border-bottom: 1px solid var(--dinnara-line) !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 10px 34px rgba(10, 25, 47, .05) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}

.dinnara-brand,
.dinnara-brand-word,
.dinnara-title,
body.dinnara-template-page [class~="text-brand-text"],
body.dinnara-template-page [class~="text-white"] {
    color: var(--dinnara-ink) !important;
}

.dinnara-brand-mark {
    background: var(--dinnara-cyan) !important;
    color: #FFFFFF !important;
    box-shadow: 0 12px 26px rgba(39, 247, 194, .25) !important;
}

.dinnara-nav-link,
.dinnara-header-login {
    color: rgba(10, 25, 47, .72) !important;
}

.dinnara-nav-link:hover,
.dinnara-nav-link:focus-visible,
.dinnara-header-login:hover,
.dinnara-header-login:focus-visible,
.dinnara-nav-link.is-active,
.dinnara-header-login.is-active,
.dinnara-nav-item.is-active > .dinnara-nav-link {
    color: var(--dinnara-cyan) !important;
}

.dinnara-dropdown {
    border: 1px solid rgba(39, 247, 194, .24) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 22px 60px rgba(10, 25, 47, .13) !important;
}

.dinnara-dropdown-link {
    color: rgba(10, 25, 47, .78) !important;
}

.dinnara-dropdown-link:hover,
.dinnara-dropdown-link:focus-visible,
.dinnara-dropdown-link.is-active {
    background: rgba(39, 247, 194, .12) !important;
    color: var(--dinnara-ink-strong) !important;
}

.dinnara-header-cta,
.dinnara-mobile-cta,
.dinnara-btn,
.dinnara-btn-primary,
.dinnara-login-form input[type="submit"],
#dinnara-404-page .dinnara-btn-route,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-brand-cyan"] {
    border-color: rgba(39, 247, 194, .52) !important;
    background: linear-gradient(135deg, #27F7C2 0%, #42D4AE 100%) !important;
    color: var(--dinnara-ink-strong) !important;
    box-shadow: var(--dinnara-shadow-cta) !important;
}

.dinnara-header-cta:hover,
.dinnara-header-cta:focus-visible,
.dinnara-mobile-cta:hover,
.dinnara-btn:hover,
.dinnara-btn-primary:hover,
.dinnara-login-form input[type="submit"]:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-brand-cyan"]:hover {
    color: var(--dinnara-ink-strong) !important;
    border-color: rgba(39, 247, 194, .72) !important;
    box-shadow: 0 18px 42px rgba(39, 247, 194, .30) !important;
}

.dinnara-btn *,
.dinnara-btn-primary *,
.dinnara-header-cta *,
.dinnara-mobile-cta *,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-brand-cyan"] * {
    color: var(--dinnara-ink-strong) !important;
}

.dinnara-menu-toggle {
    border-color: rgba(39, 247, 194, .30) !important;
    background: rgba(255, 255, 255, .72) !important;
}

.dinnara-menu-toggle span {
    background: var(--dinnara-ink) !important;
}

.dinnara-mobile-menu {
    border-top: 1px solid rgba(39, 247, 194, .24) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 22px 55px rgba(10, 25, 47, .12) !important;
}

.dinnara-mobile-section {
    color: var(--dinnara-cyan) !important;
}

.dinnara-mobile-link,
.dinnara-btn-secondary,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white/"],
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white["],
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="border-brand-line"] {
    border-color: rgba(39, 247, 194, .24) !important;
    background: rgba(255, 255, 255, .82) !important;
    color: var(--dinnara-ink) !important;
    box-shadow: none !important;
}

.dinnara-mobile-link:hover,
.dinnara-mobile-link.is-active,
.dinnara-btn-secondary:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white/"]:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="bg-white["]:hover,
body.dinnara-template-page [id^="dinnara-"] :is(a, button)[class*="border-brand-line"]:hover {
    border-color: rgba(39, 247, 194, .42) !important;
    background: rgba(39, 247, 194, .10) !important;
    color: var(--dinnara-ink-strong) !important;
}

body.dinnara-template-page [class~="bg-brand-dark"],
body.dinnara-template-page [class*="bg-brand-dark/"],
body.dinnara-template-page [class~="bg-brand-surface"],
body.dinnara-template-page [class*="bg-brand-surface/"],
body.dinnara-template-page [class~="bg-brand-surface-2"] {
    background-color: var(--dinnara-surface) !important;
}

body.dinnara-template-page [class*="bg-white/"],
body.dinnara-template-page [class*="bg-white["] {
    background-color: rgba(255, 255, 255, .78) !important;
}

body.dinnara-template-page [class~="bg-white"] {
    background-color: #FFFFFF !important;
    color: var(--dinnara-ink) !important;
}

body.dinnara-template-page [class~="bg-brand-cyan"],
body.dinnara-template-page [class~="bg-brand-green"] {
    background: linear-gradient(135deg, #27F7C2, #42D4AE) !important;
    color: var(--dinnara-ink-strong) !important;
}

body.dinnara-template-page [class*="bg-brand-cyan/"],
body.dinnara-template-page [class*="bg-brand-green/"] {
    background-color: rgba(39, 247, 194, .12) !important;
}

body.dinnara-template-page [class~="text-brand-dark"] {
    color: var(--dinnara-ink-strong) !important;
}

body.dinnara-template-page [class~="text-brand-muted"],
body.dinnara-template-page [class*="placeholder:text-brand-muted"]::placeholder,
.dinnara-muted {
    color: var(--dinnara-muted) !important;
}

body.dinnara-template-page [class~="text-brand-cyan"],
body.dinnara-template-page [class~="text-brand-green"],
.dinnara-kicker,
.dinnara-eyebrow,
.dinnara-footer-kicker,
.dinnara-chip,
.dinnara-kicker-pill {
    color: var(--dinnara-cyan) !important;
}

body.dinnara-template-page [class*="border-brand-line"],
body.dinnara-template-page [class*="border-white/10"] {
    border-color: rgba(39, 247, 194, .24) !important;
}

body.dinnara-template-page [class*="border-brand-cyan"],
body.dinnara-template-page [class*="border-brand-green"] {
    border-color: rgba(39, 247, 194, .42) !important;
}

.dinnara-kicker,
.dinnara-kicker-pill,
body.dinnara-template-page [id^="dinnara-"] [class*="rounded-full"][class*="tracking"] {
    border-color: rgba(39, 247, 194, .28) !important;
    background: rgba(39, 247, 194, .10) !important;
}

.dinnara-gradient-text {
    color: var(--dinnara-cyan) !important;
    background: linear-gradient(90deg, var(--dinnara-navy) 0%, var(--dinnara-cyan) 60%, var(--dinnara-blue) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.dinnara-card,
.dinnara-card-strong,
body.dinnara-template-page [id^="dinnara-"] [class*="bg-white/"][class*="border"],
body.dinnara-template-page [id^="dinnara-"] [class*="bg-brand-surface"] {
    background: rgba(255, 255, 255, .86) !important;
    border-color: rgba(39, 247, 194, .24) !important;
    box-shadow: var(--dinnara-shadow-card) !important;
    color: var(--dinnara-ink) !important;
}

.dinnara-card,
.dinnara-card-strong {
    border: 1px solid rgba(39, 247, 194, .24) !important;
}

.dinnara-card-strong {
    border-color: rgba(39, 247, 194, .34) !important;
    box-shadow: var(--dinnara-shadow-glow) !important;
}

.dinnara-path-box {
    border-color: rgba(39, 247, 194, .28) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--dinnara-muted) !important;
}

.dinnara-path-box strong {
    color: var(--dinnara-ink-strong) !important;
}

.dinnara-field,
.dinnara-input,
.dinnara-select,
.dinnara-textarea,
body.dinnara-template-page [id^="dinnara-"] :is(input, select, textarea),
.dinnara-login-form input[type="text"],
.dinnara-login-form input[type="password"],
.dinnara-upload-form .dinnara-file-input {
    border-color: rgba(39, 247, 194, .30) !important;
    background: rgba(255, 255, 255, .82) !important;
    color: var(--dinnara-ink) !important;
}

.dinnara-field:focus,
.dinnara-input:focus,
.dinnara-select:focus,
.dinnara-textarea:focus,
body.dinnara-template-page [id^="dinnara-"] :is(input, select, textarea):focus,
.dinnara-login-form input[type="text"]:focus,
.dinnara-login-form input[type="password"]:focus {
    border-color: rgba(39, 247, 194, .62) !important;
    box-shadow: 0 0 0 4px rgba(39, 247, 194, .16) !important;
}

.dinnara-field::placeholder,
.dinnara-input::placeholder,
.dinnara-textarea::placeholder,
body.dinnara-template-page [id^="dinnara-"] :is(input, textarea)::placeholder {
    color: rgba(110, 120, 131, .72) !important;
}

body.dinnara-template-page [id^="dinnara-"] select option {
    background: #FFFFFF !important;
    color: var(--dinnara-ink) !important;
}

.dinnara-chat-scroll {
    scrollbar-color: rgba(39, 247, 194, .45) var(--dinnara-bg) !important;
}

.dinnara-chat-scroll::-webkit-scrollbar-track {
    background: var(--dinnara-bg) !important;
}

.dinnara-chat-scroll::-webkit-scrollbar-thumb {
    background: rgba(39, 247, 194, .45) !important;
}

#dinnara-chat-status,
#dinnara-lead-modal .dinnara-lead-field span,
.dinnara-login-form label,
.dinnara-login-form .login-remember label {
    color: var(--dinnara-muted) !important;
}

#dinnara-chat-messages .dinnara-msg-user,
#dinnara-chat-messages .dinnara-msg-bot {
    color: var(--dinnara-ink) !important;
}

#dinnara-chat-messages .dinnara-msg-user {
    border-color: rgba(39, 247, 194, .30) !important;
    background: rgba(255, 255, 255, .72) !important;
}

#dinnara-chat-messages .dinnara-msg-bot {
    border-color: rgba(39, 247, 194, .34) !important;
    background: rgba(39, 247, 194, .12) !important;
}

#dinnara-chat-messages .dinnara-msg-label,
#dinnara-chat-messages .dinnara-msg-user .dinnara-msg-label,
#dinnara-chat-messages .dinnara-msg-bot .dinnara-msg-label {
    color: var(--dinnara-ink-strong) !important;
}

#dinnara-chat-messages .dinnara-msg-bot .dinnara-msg-label,
#dinnara-chat-messages strong {
    color: var(--dinnara-cyan) !important;
}

#dinnara-lead-modal .dinnara-modal-backdrop {
    background:
        radial-gradient(circle at 20% 15%, rgba(39, 247, 194, .18), transparent 28%),
        radial-gradient(circle at 84% 80%, rgba(39, 247, 194, .18), transparent 26%) !important;
}

#dinnara-myfunds-page aside :is(a, button):not([class*="bg-brand-cyan"]),
#dinnara-myfunds-page nav :is(a, button):not([class*="bg-brand-cyan"]) {
    color: var(--dinnara-muted) !important;
}

#dinnara-myfunds-page aside :is(a, button):not([class*="bg-brand-cyan"]):hover,
#dinnara-myfunds-page nav :is(a, button):not([class*="bg-brand-cyan"]):hover {
    color: var(--dinnara-cyan) !important;
}

.dinnara-status-pill {
    border-color: rgba(39, 247, 194, .30) !important;
    color: var(--dinnara-ink-strong) !important;
}

.dinnara-status-inicio {
    background: rgba(39, 247, 194, .14) !important;
    border-color: rgba(39, 247, 194, .38) !important;
    color: #356C70 !important;
}

.dinnara-status-subsanacion {
    background: #C2A36A29 !important;
    border-color: #C2A36A6B !important;
    color: #8A6D2F !important;
}

.dinnara-status-concedida {
    background: rgba(143, 216, 196, .18) !important;
    border-color: rgba(143, 216, 196, .44) !important;
    color: #3F765F !important;
}

.dinnara-doc-row:hover {
    border-color: rgba(39, 247, 194, .36) !important;
}

.dinnara-upload-form .dinnara-file-input::file-selector-button {
    background: linear-gradient(135deg, #27F7C2, #42D4AE) !important;
    color: var(--dinnara-ink-strong) !important;
}

body.dinnara-template-page [id^="dinnara-"] footer {
    border-top-color: rgba(39, 247, 194, .24) !important;
    background: rgba(255, 255, 255, .76) !important;
    color: var(--dinnara-ink) !important;
}

body.dinnara-template-page [id^="dinnara-"] :is(a, button):focus-visible {
    outline-color: var(--dinnara-cyan) !important;
}

body.dinnara-template-page .from-brand-cyan {
    --tw-gradient-from: #27F7C2 var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgba(39, 247, 194, 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

body.dinnara-template-page .to-brand-green {
    --tw-gradient-to: #42D4AE var(--tw-gradient-to-position) !important;
}


/* ==========================================================
   16. AJUSTES DINNARA · LOGO REAL, HEADER SIMPLIFICADO Y CHAT LEGIBLE
   ========================================================== */

.dinnara-brand {
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.dinnara-brand-logo {
    display: block !important;
    width: clamp(110px, 10vw, 140px) !important;
    height: auto !important;
    max-height: 40px !important;
    object-fit: contain !important;
}

.dinnara-header-inner {
    min-height: 78px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.dinnara-desktop-nav {
    justify-content: center !important;
    gap: clamp(24px, 3.4vw, 46px) !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.dinnara-nav-link,
.dinnara-header-login {
    color: rgba(10, 25, 47, .76) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}

.dinnara-nav-link:hover,
.dinnara-nav-link:focus-visible,
.dinnara-header-login:hover,
.dinnara-header-login:focus-visible,
.dinnara-nav-link.is-active,
.dinnara-header-login.is-active {
    color: var(--dinnara-navy) !important;
}

.dinnara-header-actions {
    gap: 18px !important;
}

.dinnara-header-login {
    color: var(--dinnara-ink) !important;
}

.dinnara-site-header {
    background: rgba(255, 255, 255, .92) !important;
}

/* El cockpit del home tiene su propio estilo navy; estos overrides solo aplican fuera del home */
#dinnara-buscador-page #dinnara-search-panel,
#dinnara-buscador-page #dinnara-search-panel > div {
    color: var(--dinnara-ink) !important;
}

#dinnara-buscador-page #dinnara-search-panel h2,
#dinnara-buscador-page #dinnara-search-panel h3,
#dinnara-buscador-page #dinnara-search-panel strong {
    color: var(--dinnara-ink-strong) !important;
}

#dinnara-buscador-page #dinnara-chat-messages {
    border-color: var(--dinnara-line) !important;
    background: var(--dinnara-bg-2) !important;
    color: var(--dinnara-ink) !important;
}

#dinnara-chat-messages > div,
#dinnara-chat-messages .dinnara-msg-user,
#dinnara-chat-messages .dinnara-msg-bot,
#dinnara-chat-messages [class*="text-slate"] {
    color: var(--dinnara-ink) !important;
}

#dinnara-chat-messages > div {
    border-color: rgba(39, 247, 194, .38) !important;
    background: rgba(39, 247, 194, .12) !important;
}

#dinnara-chat-messages > div strong,
#dinnara-chat-messages .dinnara-msg-bot .dinnara-msg-label,
#dinnara-chat-messages strong {
    color: #059669 !important;
}

#dinnara-chat-messages .dinnara-msg-text {
    color: var(--dinnara-ink) !important;
}

#dinnara-chat-status {
    border-color: rgba(39, 247, 194, .30) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--dinnara-ink-soft) !important;
}

#dinnara-query,
#dinnara-isla,
#dinnara-sector,
#dinnara-cif,
#dinnara-email {
    border-color: rgba(39, 247, 194, .30) !important;
    background: rgba(255, 255, 255, .82) !important;
    color: var(--dinnara-ink) !important;
}

#dinnara-query::placeholder,
#dinnara-cif::placeholder,
#dinnara-email::placeholder {
    color: rgba(110, 120, 131, .68) !important;
}

#dinnara-query:focus,
#dinnara-isla:focus,
#dinnara-sector:focus,
#dinnara-cif:focus,
#dinnara-email:focus {
    border-color: rgba(39, 247, 194, .66) !important;
    box-shadow: 0 0 0 4px rgba(39, 247, 194, .16) !important;
}

#dinnara-ai-form button[type="submit"],
#dinnara-lead-form button[type="submit"] {
    background: linear-gradient(135deg, #27F7C2 0%, #42D4AE 100%) !important;
    color: var(--dinnara-ink-strong) !important;
    box-shadow: 0 14px 34px rgba(39, 247, 194, .24) !important;
}

#dinnara-ai-form button[type="submit"]:hover,
#dinnara-lead-form button[type="submit"]:hover {
    filter: brightness(1.06) saturate(1.08) !important;
    color: var(--dinnara-ink-strong) !important;
}

#dinnara-lead-wall {
    border-color: rgba(39, 247, 194, .34) !important;
    background: rgba(39, 247, 194, .10) !important;
    color: var(--dinnara-ink) !important;
}

@media (max-width: 980px) {
    .dinnara-brand-logo {
        width: 120px !important;
    }
}

@media (max-width: 760px) {
    .dinnara-brand-logo {
        width: 110px !important;
    }
}

/* ==========================================================
   17. PÁGINA MODELO DINNARA · SUCCESS FEE + DASHBOARD B2B
   ========================================================== */

#dinnara-modelo-page.dinnara-modelo-page {
    min-height: 100vh !important;
    background:
        radial-gradient(circle at 16% 4%, rgba(39, 247, 194, .15), transparent 30%),
        radial-gradient(circle at 88% 14%, rgba(39, 247, 194, .16), transparent 28%),
        linear-gradient(180deg, #F1F4F7 0%, #FFFFFF 34%, #F8F9FA 100%) !important;
    color: var(--dinnara-ink) !important;
}

#dinnara-modelo-page .dinnara-bg-premium {
    background:
        radial-gradient(circle at 12% 8%, rgba(39, 247, 194, .16), transparent 27%),
        radial-gradient(circle at 84% 18%, rgba(39, 247, 194, .18), transparent 24%),
        linear-gradient(180deg, rgba(241, 244, 247, .96) 0%, rgba(255, 255, 255, .95) 48%, rgba(248, 249, 250, .98) 100%) !important;
}

#dinnara-modelo-page .dinnara-bg-premium::after {
    opacity: .18 !important;
    background-image: radial-gradient(rgba(39, 247, 194, .22) 1px, transparent 1px) !important;
    background-size: 30px 30px !important;
    mask-image: linear-gradient(to bottom, black, transparent 86%) !important;
}

#dinnara-modelo-page .dinnara-modelo-main {
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
    padding: clamp(54px, 7vw, 92px) 24px 96px !important;
}

#dinnara-modelo-page .dinnara-eyebrow {
    margin: 0 0 16px !important;
    color: #059669 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

#dinnara-modelo-page h1,
#dinnara-modelo-page h2,
#dinnara-modelo-page h3,
#dinnara-modelo-page strong {
    color: var(--dinnara-ink-strong) !important;
}

#dinnara-modelo-page p {
    color: var(--dinnara-muted) !important;
}

#dinnara-modelo-page .dinnara-modelo-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    gap: clamp(28px, 5vw, 64px) !important;
    align-items: center !important;
    min-height: clamp(540px, 72vh, 760px) !important;
}

#dinnara-modelo-page .dinnara-modelo-hero-copy h1 {
    max-width: 820px !important;
    margin: 0 !important;
    font-size: clamp(44px, 6vw, 82px) !important;
    font-weight: 900 !important;
    letter-spacing: -.065em !important;
    line-height: .98 !important;
}

#dinnara-modelo-page .dinnara-modelo-lead {
    max-width: 760px !important;
    margin: 26px 0 0 !important;
    font-size: clamp(17px, 1.7vw, 21px) !important;
    line-height: 1.75 !important;
}

#dinnara-modelo-page .dinnara-modelo-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-top: 34px !important;
}

#dinnara-modelo-page .dinnara-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 13px 20px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}

#dinnara-modelo-page .dinnara-button:hover {
    transform: translateY(-1px) !important;
}

#dinnara-modelo-page .dinnara-button-primary {
    border: 1px solid rgba(39, 247, 194, .72) !important;
    background: linear-gradient(135deg, #27F7C2 0%, #42D4AE 100%) !important;
    color: var(--dinnara-ink-strong) !important;
    box-shadow: var(--dinnara-shadow-cta) !important;
}

#dinnara-modelo-page .dinnara-button-secondary {
    border: 1px solid rgba(39, 247, 194, .34) !important;
    background: rgba(255, 255, 255, .78) !important;
    color: var(--dinnara-ink-strong) !important;
    box-shadow: 0 12px 30px rgba(10, 25, 47, .08) !important;
}

#dinnara-modelo-page .dinnara-modelo-summary,
#dinnara-modelo-page .dinnara-modelo-panel,
#dinnara-modelo-page .dinnara-modelo-card,
#dinnara-modelo-page .dinnara-dashboard-mock,
#dinnara-modelo-page .dinnara-modelo-feature-list article,
#dinnara-modelo-page .dinnara-modelo-steps article,
#dinnara-modelo-page .dinnara-modelo-automation-grid article,
#dinnara-modelo-page .dinnara-modelo-audience-grid article,
#dinnara-modelo-page .dinnara-modelo-final-cta {
    border: 1px solid rgba(39, 247, 194, .24) !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: var(--dinnara-shadow-card) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

#dinnara-modelo-page .dinnara-modelo-summary {
    padding: clamp(22px, 3vw, 32px) !important;
    border-radius: 34px !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(39, 247, 194, .24) !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-head span {
    color: var(--dinnara-muted) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-head strong {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(39, 247, 194, .30) !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .10) !important;
    color: #059669 !important;
    font-size: 12px !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 20px !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-grid article {
    min-height: 178px !important;
    padding: 18px !important;
    border: 1px solid rgba(39, 247, 194, .20) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .74), rgba(248, 249, 250, .54)) !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-grid span,
#dinnara-modelo-page .dinnara-modelo-steps span {
    color: #059669 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-grid h2,
#dinnara-modelo-page .dinnara-modelo-summary-grid h3 {
    margin: 10px 0 8px !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

#dinnara-modelo-page .dinnara-modelo-summary-grid p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

#dinnara-modelo-page .dinnara-modelo-section {
    margin-top: clamp(72px, 9vw, 116px) !important;
}

#dinnara-modelo-page .dinnara-section-heading {
    max-width: 850px !important;
    margin-bottom: 28px !important;
}

#dinnara-modelo-page .dinnara-section-heading h2 {
    margin: 0 !important;
    font-size: clamp(34px, 4vw, 56px) !important;
    font-weight: 900 !important;
    letter-spacing: -.055em !important;
    line-height: 1.04 !important;
}

#dinnara-modelo-page .dinnara-modelo-text-block {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

#dinnara-modelo-page .dinnara-modelo-text-block p {
    margin: 0 !important;
    padding: 24px !important;
    border-left: 3px solid #27F7C2 !important;
    border-radius: 0 22px 22px 0 !important;
    background: rgba(255, 255, 255, .58) !important;
    font-size: 17px !important;
    line-height: 1.78 !important;
}

#dinnara-modelo-page .dinnara-modelo-problem-grid,
#dinnara-modelo-page .dinnara-modelo-automation-grid,
#dinnara-modelo-page .dinnara-modelo-audience-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

#dinnara-modelo-page .dinnara-modelo-audience-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#dinnara-modelo-page .dinnara-modelo-card,
#dinnara-modelo-page .dinnara-modelo-automation-grid article,
#dinnara-modelo-page .dinnara-modelo-audience-grid article {
    min-height: 220px !important;
    padding: 24px !important;
    border-radius: 26px !important;
}

#dinnara-modelo-page .dinnara-modelo-card h3,
#dinnara-modelo-page .dinnara-modelo-feature-list h3,
#dinnara-modelo-page .dinnara-modelo-steps h3,
#dinnara-modelo-page .dinnara-modelo-automation-grid h3,
#dinnara-modelo-page .dinnara-modelo-audience-grid h3 {
    margin: 0 0 12px !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

#dinnara-modelo-page .dinnara-modelo-card p,
#dinnara-modelo-page .dinnara-modelo-feature-list p,
#dinnara-modelo-page .dinnara-modelo-steps p,
#dinnara-modelo-page .dinnara-modelo-automation-grid p,
#dinnara-modelo-page .dinnara-modelo-audience-grid p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

#dinnara-modelo-page .dinnara-modelo-split {
    display: grid !important;
    grid-template-columns: .82fr 1.18fr !important;
    gap: 32px !important;
    align-items: start !important;
}

#dinnara-modelo-page .dinnara-modelo-panel {
    padding: clamp(26px, 4vw, 42px) !important;
    border-radius: 32px !important;
}

#dinnara-modelo-page .dinnara-modelo-panel p {
    margin: 0 0 18px !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
}

#dinnara-modelo-page .dinnara-modelo-panel p:last-child {
    margin-bottom: 0 !important;
}

#dinnara-modelo-page .dinnara-modelo-note {
    margin-top: 24px !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(39, 247, 194, .34) !important;
    border-left: 4px solid #C2A36A !important;
    border-radius: 18px !important;
    background: rgba(39, 247, 194, .11) !important;
    color: var(--dinnara-ink) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

#dinnara-modelo-page .dinnara-modelo-dashboard-layout {
    display: grid !important;
    grid-template-columns: minmax(380px, .95fr) minmax(0, 1.05fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

#dinnara-modelo-page .dinnara-dashboard-mock {
    padding: 26px !important;
    border-radius: 32px !important;
    overflow: hidden !important;
}

#dinnara-modelo-page .dinnara-dashboard-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 26px !important;
}

#dinnara-modelo-page .dinnara-dashboard-topbar span {
    color: var(--dinnara-ink-strong) !important;
    font-size: 24px !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
}

#dinnara-modelo-page .dinnara-dashboard-topbar strong {
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .13) !important;
    color: #059669 !important;
    font-size: 12px !important;
}

#dinnara-modelo-page .dinnara-dashboard-timeline {
    display: grid !important;
    gap: 10px !important;
    position: relative !important;
}

#dinnara-modelo-page .dinnara-dashboard-timeline div {
    position: relative !important;
    padding: 14px 16px 14px 44px !important;
    border: 1px solid rgba(39, 247, 194, .25) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .58) !important;
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

#dinnara-modelo-page .dinnara-dashboard-timeline div::before {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    margin-top: -6px !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .35) !important;
}

#dinnara-modelo-page .dinnara-dashboard-timeline .is-done,
#dinnara-modelo-page .dinnara-dashboard-timeline .is-active {
    color: var(--dinnara-ink-strong) !important;
    border-color: rgba(39, 247, 194, .40) !important;
    background: rgba(39, 247, 194, .11) !important;
}

#dinnara-modelo-page .dinnara-dashboard-timeline .is-done::before,
#dinnara-modelo-page .dinnara-dashboard-timeline .is-active::before {
    background: #27F7C2 !important;
    box-shadow: 0 0 0 5px rgba(39, 247, 194, .14) !important;
}

#dinnara-modelo-page .dinnara-dashboard-widgets {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 24px !important;
}

#dinnara-modelo-page .dinnara-dashboard-widgets article {
    padding: 16px !important;
    border: 1px solid rgba(39, 247, 194, .22) !important;
    border-radius: 18px !important;
    background: rgba(248, 249, 250, .72) !important;
}

#dinnara-modelo-page .dinnara-dashboard-widgets span {
    display: block !important;
    color: var(--dinnara-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

#dinnara-modelo-page .dinnara-dashboard-widgets strong {
    display: block !important;
    margin-top: 8px !important;
    font-size: 22px !important;
    font-weight: 950 !important;
    letter-spacing: -.045em !important;
}

#dinnara-modelo-page .dinnara-modelo-feature-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

#dinnara-modelo-page .dinnara-modelo-feature-list article {
    padding: 24px !important;
    border-radius: 26px !important;
}

#dinnara-modelo-page .dinnara-modelo-steps {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

#dinnara-modelo-page .dinnara-modelo-steps article {
    min-height: 230px !important;
    padding: 24px !important;
    border-radius: 26px !important;
}

#dinnara-modelo-page .dinnara-modelo-final-cta {
    margin-top: clamp(74px, 9vw, 118px) !important;
    padding: clamp(34px, 6vw, 64px) !important;
    border-radius: 38px !important;
    text-align: center !important;
    background:
        radial-gradient(circle at 12% 20%, rgba(39, 247, 194, .18), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(248, 249, 250, .86)) !important;
}

#dinnara-modelo-page .dinnara-modelo-final-cta h2 {
    max-width: 880px !important;
    margin: 0 auto !important;
    font-size: clamp(34px, 4.4vw, 62px) !important;
    font-weight: 950 !important;
    line-height: 1.02 !important;
    letter-spacing: -.06em !important;
}

#dinnara-modelo-page .dinnara-modelo-final-cta p:not(.dinnara-eyebrow) {
    max-width: 760px !important;
    margin: 22px auto 30px !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

@media (max-width: 1120px) {
    #dinnara-modelo-page .dinnara-modelo-hero,
    #dinnara-modelo-page .dinnara-modelo-split,
    #dinnara-modelo-page .dinnara-modelo-dashboard-layout {
        grid-template-columns: 1fr !important;
    }

    #dinnara-modelo-page .dinnara-modelo-problem-grid,
    #dinnara-modelo-page .dinnara-modelo-automation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    #dinnara-modelo-page .dinnara-modelo-main {
        padding: 42px 18px 74px !important;
    }

    #dinnara-modelo-page .dinnara-modelo-hero {
        min-height: auto !important;
    }

    #dinnara-modelo-page .dinnara-modelo-summary-grid,
    #dinnara-modelo-page .dinnara-modelo-text-block,
    #dinnara-modelo-page .dinnara-modelo-feature-list,
    #dinnara-modelo-page .dinnara-modelo-steps,
    #dinnara-modelo-page .dinnara-modelo-audience-grid {
        grid-template-columns: 1fr !important;
    }

    #dinnara-modelo-page .dinnara-dashboard-widgets {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    #dinnara-modelo-page .dinnara-modelo-problem-grid,
    #dinnara-modelo-page .dinnara-modelo-automation-grid {
        grid-template-columns: 1fr !important;
    }

    #dinnara-modelo-page .dinnara-modelo-actions {
        flex-direction: column !important;
    }

    #dinnara-modelo-page .dinnara-button {
        width: 100% !important;
    }
}

/* ==========================================================
   18. DINNARA · PÁGINAS INFORMATIVAS, HEADER Y FOOTER CLARO
   v1.0.53
   ========================================================== */

body.dinnara-template-page #dinnara-contacto-page,
body.dinnara-template-page .dinnara-info-page {
    isolation: isolate !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(39, 247, 194, .06), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(56, 189, 248, .05), transparent 24%),
        #FFFFFF !important;
    color: var(--dinnara-text) !important;
    font-family: var(--dinnara-font-body) !important;
}

body.dinnara-template-page .dinnara-site-header {
    border-bottom: 1px solid var(--dinnara-line) !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 10px 34px rgba(10, 25, 47, .05) !important;
}

body.dinnara-template-page .dinnara-header-inner {
    width: min(100%, 1240px) !important;
    min-height: 78px !important;
    padding: 16px 24px !important;
}

body.dinnara-template-page .dinnara-brand-logo {
    display: block !important;
    width: 140px !important;
    height: auto !important;
    max-height: 40px !important;
    object-fit: contain !important;
}

body.dinnara-template-page .dinnara-desktop-nav {
    gap: clamp(16px, 2.1vw, 30px) !important;
}

body.dinnara-template-page .dinnara-nav-link,
body.dinnara-template-page .dinnara-header-login {
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.dinnara-template-page .dinnara-nav-link:hover,
body.dinnara-template-page .dinnara-nav-link:focus-visible,
body.dinnara-template-page .dinnara-header-login:hover,
body.dinnara-template-page .dinnara-header-login:focus-visible,
body.dinnara-template-page .dinnara-nav-link.is-active,
body.dinnara-template-page .dinnara-header-login.is-active {
    color: #059669 !important;
}

body.dinnara-template-page .dinnara-header-cta {
    border-color: rgba(39, 247, 194, .52) !important;
    background: linear-gradient(135deg, #27F7C2 0%, #42D4AE 100%) !important;
    color: #061422 !important;
    box-shadow: 0 14px 28px rgba(39, 247, 194, .22) !important;
}

body.dinnara-template-page .dinnara-menu-toggle {
    border-color: rgba(39, 247, 194, .34) !important;
    background: rgba(255, 255, 255, .72) !important;
}

body.dinnara-template-page .dinnara-menu-toggle span {
    background: #0A192F !important;
}

body.dinnara-template-page .dinnara-mobile-menu {
    border-top: 1px solid rgba(39, 247, 194, .24) !important;
    background: rgba(255, 255, 255, .98) !important;
}

body.dinnara-template-page .dinnara-mobile-link,
body.dinnara-template-page .dinnara-mobile-cta {
    border-color: rgba(39, 247, 194, .26) !important;
    background: rgba(248, 249, 250, .72) !important;
    color: #0A192F !important;
}

body.dinnara-template-page .dinnara-mobile-link.is-active,
body.dinnara-template-page .dinnara-mobile-link:hover {
    border-color: rgba(39, 247, 194, .50) !important;
    color: #059669 !important;
}

body.dinnara-template-page .dinnara-mobile-cta {
    background: linear-gradient(135deg, #27F7C2 0%, #42D4AE 100%) !important;
    color: #061422 !important;
}

.dinnara-info-main {
    width: min(100%, 1120px) !important;
    margin: 0 auto !important;
    padding: clamp(52px, 7vw, 92px) 24px clamp(70px, 8vw, 118px) !important;
}

.dinnara-info-hero {
    max-width: 900px !important;
    margin: 0 auto clamp(52px, 6vw, 82px) !important;
    text-align: center !important;
}

.dinnara-info-hero-compact {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 880px !important;
}

.dinnara-info-kicker {
    margin: 0 0 14px !important;
    color: var(--dinnara-cyan) !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.dinnara-info-hero h1,
.dinnara-info-section h2,
.dinnara-info-cta h2 {
    margin: 0 !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
}

.dinnara-info-hero h1 {
    max-width: 980px !important;
    font-size: clamp(42px, 6vw, 76px) !important;
    line-height: .98 !important;
}

.dinnara-info-hero p:not(.dinnara-info-kicker) {
    max-width: 780px !important;
    margin: 22px 0 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: clamp(17px, 2vw, 20px) !important;
    line-height: 1.72 !important;
}

.dinnara-info-section {
    margin-top: clamp(42px, 6vw, 78px) !important;
}

.dinnara-info-split {
    display: grid !important;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
    gap: clamp(24px, 4vw, 52px) !important;
    align-items: start !important;
}

.dinnara-info-heading h2 {
    font-size: clamp(30px, 4vw, 48px) !important;
    line-height: 1.05 !important;
}

.dinnara-info-text,
.dinnara-info-panel,
.dinnara-info-card,
.dinnara-info-examples,
.dinnara-info-form {
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 28px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 54px rgba(10, 25, 47, .06) !important;
}

.dinnara-info-text,
.dinnara-info-panel {
    padding: clamp(24px, 3vw, 36px) !important;
}

.dinnara-info-text p,
.dinnara-info-panel p {
    margin: 0 0 18px !important;
    color: var(--dinnara-muted) !important;
    font-size: 16px !important;
    line-height: 1.78 !important;
}

.dinnara-info-text p:last-child,
.dinnara-info-panel p:last-child {
    margin-bottom: 0 !important;
}

.dinnara-info-grid {
    display: grid !important;
    gap: 18px !important;
    margin-top: clamp(24px, 4vw, 38px) !important;
}

.dinnara-info-grid-1 {
    grid-template-columns: 1fr !important;
    margin-top: 0 !important;
}

.dinnara-info-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dinnara-info-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.dinnara-info-card {
    padding: 24px !important;
}

.dinnara-info-card span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin-bottom: 18px !important;
    border-radius: 14px !important;
    background: rgba(39, 247, 194, .12) !important;
    color: #059669 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.dinnara-info-card h3 {
    margin: 0 0 10px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
}

.dinnara-info-card p {
    margin: 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.dinnara-info-examples {
    display: grid !important;
    gap: 12px !important;
    padding: 22px !important;
}

.dinnara-info-examples p {
    margin: 0 !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(39, 247, 194, .22) !important;
    border-radius: 18px !important;
    background: rgba(39, 247, 194, .08) !important;
    color: #475569 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.dinnara-info-cta {
    margin-top: clamp(58px, 7vw, 96px) !important;
    padding: clamp(30px, 5vw, 54px) !important;
    border: 1px solid rgba(39, 247, 194, .24) !important;
    border-radius: 34px !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(39, 247, 194, .10), transparent 28%),
        #FFFFFF !important;
    box-shadow: 0 22px 70px rgba(10, 25, 47, .08) !important;
}

.dinnara-info-cta h2 {
    max-width: 800px !important;
    font-size: clamp(30px, 4vw, 52px) !important;
    line-height: 1.06 !important;
}

.dinnara-info-cta p {
    max-width: 720px !important;
    margin: 18px 0 28px !important;
    color: var(--dinnara-muted) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
}

.dinnara-info-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border: 1px solid rgba(39, 247, 194, .40) !important;
    border-radius: 999px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 30px rgba(39, 247, 194, .18) !important;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

.dinnara-info-button:hover,
.dinnara-info-button:focus-visible {
    color: #061422 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 20px 40px rgba(39, 247, 194, .24) !important;
}

.dinnara-info-form-section {
    display: grid !important;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
    gap: clamp(24px, 4vw, 52px) !important;
    align-items: start !important;
}

.dinnara-info-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: clamp(22px, 3vw, 34px) !important;
}

.dinnara-info-form label {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
}

.dinnara-info-form label span {
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.dinnara-info-form-full,
.dinnara-info-form .dinnara-info-button,
.dinnara-info-form-response {
    grid-column: 1 / -1 !important;
}

.dinnara-info-form textarea.dinnara-field {
    min-height: 128px !important;
    resize: vertical !important;
}

.dinnara-info-form-response {
    min-height: 22px !important;
    margin: 0 !important;
    color: var(--dinnara-cyan) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* ==========================================================
   CONTACTO — PILARES + LAYOUT FORMULARIO + PANEL RÁPIDO
   ========================================================== */

/* Botón hero */
.dinnara-contacto-hero-btn {
    margin-top: 8px !important;
    align-self: flex-start !important;
}

/* Pilares: icono */
.dinnara-contacto-pilar-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
    background: rgba(39, 247, 194, .08) !important;
    border: 1px solid rgba(39, 247, 194, .18) !important;
    color: var(--dinnara-cyan) !important;
    margin-bottom: 20px !important;
    flex-shrink: 0 !important;
    transition: background .2s ease, box-shadow .2s ease !important;
}

.dinnara-contacto-pilar:hover .dinnara-contacto-pilar-icon {
    background: rgba(39, 247, 194, .14) !important;
    box-shadow: 0 0 20px rgba(39, 247, 194, .18) !important;
}

/* Acciones dentro del form */
.dinnara-contacto-form-actions {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* ── Banda de contacto rápido (debajo del formulario, ancho completo) ── */
.dinnara-contacto-quick-band {
    border-top: 1px solid var(--dinnara-line) !important;
    background: var(--dinnara-bg-2) !important;
    padding: clamp(48px, 6vw, 80px) clamp(20px, 4vw, 40px) !important;
}

.dinnara-contacto-quick-band-inner {
    display: flex !important;
    align-items: center !important;
    gap: clamp(32px, 5vw, 64px) !important;
    flex-wrap: wrap !important;
    width: min(100%, 1100px) !important;
    margin: 0 auto !important;
}

.dinnara-contacto-quick-copy {
    flex: 1 1 280px !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.dinnara-contacto-quick-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--dinnara-cyan) !important;
    margin: 0 !important;
}

.dinnara-contacto-quick-title {
    margin: 0 !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(22px, 2.4vw, 30px) !important;
    font-weight: 800 !important;
    color: var(--dinnara-navy) !important;
    letter-spacing: -.03em !important;
    line-height: 1.15 !important;
}

.dinnara-contacto-quick-sub {
    margin: 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    max-width: 380px !important;
}

.dinnara-contacto-quick-actions {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    flex-shrink: 0 !important;
}

.dinnara-contacto-quick-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

.dinnara-contacto-quick-btn--call {
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    border: 1px solid rgba(39, 247, 194, .30) !important;
    box-shadow: 0 8px 24px rgba(39, 247, 194, .18) !important;
}

.dinnara-contacto-quick-btn--call:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(39, 247, 194, .28) !important;
    color: #061422 !important;
}

.dinnara-contacto-quick-btn--chat {
    background: var(--dinnara-bg) !important;
    color: var(--dinnara-navy) !important;
    border: 1px solid var(--dinnara-line) !important;
}

.dinnara-contacto-quick-btn--chat:hover {
    border-color: rgba(39, 247, 194, .34) !important;
    color: var(--dinnara-cyan) !important;
    transform: translateY(-2px) !important;
}

.dinnara-contacto-quick-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding-left: clamp(24px, 4vw, 48px) !important;
    border-left: 1px solid var(--dinnara-line) !important;
    flex-shrink: 0 !important;
}

.dinnara-contacto-quick-meta span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--dinnara-muted) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.dinnara-contacto-quick-meta svg {
    color: var(--dinnara-cyan) !important;
    flex-shrink: 0 !important;
}

/* Responsive contacto */
@media (max-width: 760px) {
    .dinnara-contacto-quick-band-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .dinnara-contacto-quick-meta {
        padding-left: 0 !important;
        border-left: none !important;
        border-top: 1px solid var(--dinnara-line) !important;
        padding-top: 20px !important;
        width: 100% !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
    }
}

.dinnara-site-footer {
    border-top: 1px solid var(--dinnara-line) !important;
    background: var(--dinnara-bg-2) !important;
    color: var(--dinnara-text) !important;
}

.dinnara-footer-inner {
    display: grid !important;
    grid-template-columns: minmax(260px, 1.3fr) repeat(4, minmax(148px, .7fr)) !important;
    gap: clamp(20px, 3vw, 40px) !important;
    width: min(100%, 1240px) !important;
    margin: 0 auto !important;
    padding: 54px 24px 44px !important;
}

.dinnara-footer-logo img {
    display: block !important;
    width: 148px !important;
    max-width: 100% !important;
    height: auto !important;
}

.dinnara-footer-brand-block p {
    max-width: 390px !important;
    margin: 20px 0 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.dinnara-footer-title {
    margin: 0 0 14px !important;
    color: var(--dinnara-cyan) !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.dinnara-footer-column {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.dinnara-footer-column a {
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.dinnara-footer-column a:hover,
.dinnara-footer-column a:focus-visible {
    color: var(--dinnara-navy) !important;
}

.dinnara-footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: min(100%, 1240px) !important;
    margin: 0 auto !important;
    padding: 22px 24px !important;
    border-top: 1px solid var(--dinnara-line) !important;
    color: var(--dinnara-muted-2) !important;
    font-size: 12px !important;
}

.dinnara-footer-bottom p {
    margin: 0 !important;
}

@media (max-width: 1120px) {
    body.dinnara-template-page .dinnara-desktop-nav,
    body.dinnara-template-page .dinnara-header-actions {
        display: none !important;
    }

    body.dinnara-template-page .dinnara-menu-toggle {
        display: inline-flex !important;
    }

    .dinnara-info-split,
    .dinnara-info-form-section,
    .dinnara-footer-inner {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 820px) {
    .dinnara-info-main {
        padding: 42px 18px 78px !important;
    }

    .dinnara-info-grid-2,
    .dinnara-info-grid-3,
    .dinnara-info-form {
        grid-template-columns: 1fr !important;
    }

    .dinnara-info-hero h1 {
        font-size: clamp(38px, 12vw, 54px) !important;
    }

    .dinnara-footer-bottom {
        flex-direction: column !important;
    }
}


/* ==========================================================
   19. AJUSTE FONDO PÁGINAS INFORMATIVAS · v1.0.54
   Modelo, Buscador y Vigilancia heredan el mismo fondo claro.
   ========================================================== */

body.dinnara-template-page #dinnara-modelo-page,
body.dinnara-template-page #dinnara-buscador-page,
body.dinnara-template-page #dinnara-vigilancia-page,
body.dinnara-template-page #dinnara-subvenciones-empresas-page,
body.dinnara-template-page #dinnara-gestion-tramitacion-page,
body.dinnara-template-page #dinnara-consultoria-page,
body.dinnara-template-page #dinnara-justificacion-page,
body.dinnara-template-page #dinnara-plan-vivienda-page,
body.dinnara-template-page #dinnara-linea-3-feder-page,
body.dinnara-template-page #dinnara-comunidades-page,
body.dinnara-template-page #dinnara-guias-page,
body.dinnara-template-page #dinnara-guia-single {
    background:
        radial-gradient(circle at 12% 8%, rgba(39, 247, 194, .13), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(39, 247, 194, .10), transparent 24%),
        linear-gradient(180deg, #FFFFFF 0%, #F8F9FA 50%, #F1F4F7 100%) !important;
}

/* ==========================================================
   20. HEADER STICKY — TODAS LAS PÁGINAS DEL PLUGIN
   Con la plantilla canvas el header es el único cromado:
   position:sticky funciona correctamente porque no hay ningún
   ancestor con overflow oculto del tema.
   ========================================================== */

body.dinnara-template-page .dinnara-site-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    z-index: 99990 !important;
    transform: none !important;
    margin: 0 !important;
}

body.admin-bar.dinnara-template-page .dinnara-site-header {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar.dinnara-template-page .dinnara-site-header {
        top: 46px !important;
    }
}

/* Kickers en teal */
body.dinnara-template-page .dinnara-info-kicker {
    color: var(--dinnara-cyan) !important;
}

/* Padding para páginas de info */
body.dinnara-template-page .dinnara-info-main {
    padding-top: clamp(52px, 7vw, 92px) !important;
}

@media (max-width: 760px) {
    body.dinnara-template-page .dinnara-info-main {
        padding-top: clamp(42px, 8vw, 62px) !important;
    }
}

/* Botón volver arriba */
.dinnara-scroll-top {
    position: fixed !important;
    right: clamp(18px, 2.2vw, 32px) !important;
    bottom: clamp(18px, 2.2vw, 32px) !important;
    z-index: 99980 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;

    height: 52px !important;
    border: 1px solid rgba(39, 247, 194, .40) !important;
    border-radius: 999px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    box-shadow: 0 18px 42px rgba(10, 25, 47, .14), 0 10px 30px rgba(39, 247, 194, .22) !important;
    text-decoration: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(14px) scale(.96) !important;
    transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.dinnara-scroll-top span {
    color: inherit !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
}

.dinnara-scroll-top.is-visible,
.dinnara-scroll-top:focus-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

.dinnara-scroll-top:hover {
    box-shadow: 0 22px 48px rgba(10, 25, 47, .18), 0 12px 34px rgba(39, 247, 194, .30) !important;
    transform: translateY(-3px) scale(1.02) !important;
}

@media (max-width: 760px) {
    .dinnara-scroll-top {
        right: 16px !important;
        bottom: 16px !important;
        width: 48px !important;
        height: 48px !important;
    }
}


/* ==========================================================
   23. RESPONSIVE FLUIDO HOME + CORTE DE TEXTO · v1.0.58
   Ajuste de escalado por viewport para evitar que la home se vea
   sobredimensionada en portátiles y pantallas intermedias.
   También corrige el recorte inferior del texto con gradiente.
   ========================================================== */

body.dinnara-template-page #dinnara-ai-home {
    overflow-x: clip !important;
}

/* También suaviza titulares de páginas informativas en pantallas medias. */
@media (max-width: 1440px) {
    .dinnara-info-hero h1 {
        font-size: clamp(2.75rem, 4.7vw, 4.25rem) !important;
        line-height: 1.05 !important;
        padding-bottom: .08em !important;
    }
}

@media (max-width: 782px) {
    .dinnara-info-hero h1 {
        font-size: clamp(2.15rem, 10vw, 3.4rem) !important;
        line-height: 1.08 !important;
    }
}

/* ==========================================================
   NUEVO HOME — PÁGINA CLARA
   ========================================================== */

.dinnara-page-light {
    background: var(--dinnara-bg) !important;
    color: var(--dinnara-text) !important;
}

/* Hero section */
.dinnara-hero-section {
    position: relative !important;
    z-index: 2 !important;
    padding: clamp(64px, 8vw, 96px) 0 clamp(52px, 7vw, 80px) !important;
}

.dinnara-hero-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: clamp(32px, 4vw, 64px) !important;
    align-items: center !important;
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 40px) !important;
}

.dinnara-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 16px !important;
    border: 1px solid rgba(39, 247, 194, .30) !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .08) !important;
    color: #059669 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.dinnara-hero-h1 {
    margin: 20px 0 0 !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(2.4rem, 4.2vw, 4rem) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
}

.dinnara-hero-sub {
    margin: 20px 0 0 !important;
    max-width: 540px !important;
    color: var(--dinnara-muted) !important;
    font-size: clamp(16px, 1.8vw, 19px) !important;
    line-height: 1.72 !important;
}

.dinnara-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 28px !important;
}

.dinnara-hero-cta-primary {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border: 1px solid rgba(39, 247, 194, .40) !important;
    border-radius: 999px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(39, 247, 194, .20) !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

.dinnara-hero-cta-primary:hover {
    color: #061422 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(39, 247, 194, .26) !important;
}

.dinnara-hero-cta-secondary {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: border-color .18s ease, color .18s ease !important;
}

.dinnara-hero-cta-secondary:hover {
    border-color: rgba(39, 247, 194, .40) !important;
    color: var(--dinnara-navy) !important;
}

.dinnara-hero-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 24px !important;
}

.dinnara-hero-chip {
    padding: 5px 14px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 999px !important;
    background: var(--dinnara-bg-2) !important;
    color: var(--dinnara-muted-2) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Cockpit IA (navy panel) */
.dinnara-cockpit {
    border-radius: 28px !important;
    border: 1.5px solid rgba(39, 247, 194, .22) !important;
    padding: 4px !important;
    background: linear-gradient(145deg, rgba(39, 247, 194, .14), rgba(56, 189, 248, .10)) !important;
    box-shadow: 0 32px 80px rgba(10, 25, 47, .16), 0 0 0 1px rgba(39, 247, 194, .10) !important;
}

.dinnara-cockpit-inner {
    border-radius: 24px !important;
    background: var(--dinnara-navy) !important;
    padding: 24px !important;
}

.dinnara-cockpit-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}

.dinnara-cockpit-kicker {
    color: var(--dinnara-cyan) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

.dinnara-cockpit-title {
    margin: 6px 0 0 !important;
    color: #F4FAFC !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
}

.dinnara-cockpit-status {
    flex-shrink: 0 !important;
    padding: 4px 12px !important;
    border: 1px solid rgba(39, 247, 194, .18) !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .06) !important;
    color: #9FB3C8 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

.dinnara-cockpit-messages {
    min-height: 240px !important;
    max-height: 320px !important;
    overflow-y: auto !important;
    border-radius: 16px !important;
    border: 1px solid rgba(39, 247, 194, .12) !important;
    background: rgba(6, 21, 37, .80) !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(39, 247, 194, .20) transparent !important;
}

.dinnara-cockpit-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.dinnara-cockpit-textarea {
    width: 100% !important;
    min-height: 100px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(39, 247, 194, .16) !important;
    background: rgba(39, 247, 194, .04) !important;
    color: #F4FAFC !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    padding: 14px 16px !important;
    resize: vertical !important;
    outline: none !important;
    transition: border-color .18s ease !important;
}

.dinnara-cockpit-textarea::placeholder {
    color: #9FB3C8 !important;
}

.dinnara-cockpit-textarea:focus {
    border-color: rgba(39, 247, 194, .40) !important;
}

.dinnara-cockpit-selects {
    display: grid !important;
    grid-template-columns: 1fr 1fr auto !important;
    gap: 10px !important;
    align-items: stretch !important;
}

.dinnara-cockpit-select {
    border-radius: 12px !important;
    border: 1px solid rgba(39, 247, 194, .16) !important;
    background: rgba(39, 247, 194, .04) !important;
    color: #F4FAFC !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 13px !important;
    padding: 10px 14px !important;
    outline: none !important;
    cursor: pointer !important;
}

.dinnara-cockpit-submit {
    border-radius: 12px !important;
    border: none !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 0 20px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: transform .18s ease, filter .18s ease !important;
}

.dinnara-cockpit-submit:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.06) !important;
}

/* Mensajes del chat (versión cockpit) */
#dinnara-ai-home .dinnara-msg-bot,
#dinnara-ai-home .dinnara-msg-user {
    margin-top: 12px !important;
}

#dinnara-ai-home .dinnara-msg-label {
    display: block !important;
    margin-bottom: 4px !important;
    color: var(--dinnara-cyan) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

#dinnara-ai-home .dinnara-msg-text {
    color: #D4E2EC !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

/* ==========================================================
   CAMINO DINNARA 360º
   ========================================================== */

/* --- Sección --- */
.dinnara-camino-section {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    padding: clamp(64px, 8vw, 112px) 16px !important;
}

/* Fondo decorativo: gradiente radial + grid de puntos */
.dinnara-camino-bg {
    pointer-events: none !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    opacity: .5 !important;
    background-image:
        radial-gradient(ellipse 60% 40% at 50% 0%, rgba(16, 185, 129, .10), transparent 70%),
        radial-gradient(circle at 1px 1px, rgba(15, 23, 42, .06) 1px, transparent 0) !important;
    background-size: auto, 28px 28px !important;
}

/* Wrapper centrado */
.dinnara-camino-inner {
    position: relative !important;
    z-index: 1 !important;
    max-width: 1152px !important;
    margin: 0 auto !important;
}

/* --- Cabecera --- */
.dinnara-camino-header {
    text-align: center !important;
}

/* Kicker pill */
.dinnara-camino-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(16, 185, 129, .30) !important;
    background: rgba(16, 185, 129, .07) !important;
    padding: 6px 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: #059669 !important;
    opacity: 0 !important;
    transform: translateY(10px) !important;
    transition: opacity 600ms ease-out, transform 600ms ease-out !important;
}

.dinnara-camino-section.is-visible .dinnara-camino-kicker {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Ping animado del kicker */
.dinnara-camino-ping {
    position: relative !important;
    display: inline-flex !important;
    width: 8px !important;
    height: 8px !important;
}

.dinnara-camino-ping-outer {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 50% !important;
    background: #34d399 !important;
    opacity: .75 !important;
    animation: dinnara-ping 1.2s cubic-bezier(0,0,.2,1) infinite !important;
}

.dinnara-camino-ping-dot {
    position: relative !important;
    display: inline-flex !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #10b981 !important;
}

/* Título */
.dinnara-camino-h2 {
    margin: 20px 0 0 !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(1.9rem, 3.8vw, 3rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
    line-height: 1.12 !important;
    color: #0f172a !important;
    opacity: 0 !important;
    transform: translateY(15px) !important;
    transition: opacity 700ms ease-out 100ms, transform 700ms ease-out 100ms !important;
}

.dinnara-camino-section.is-visible .dinnara-camino-h2 {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.dinnara-camino-gradient-text {
    background: linear-gradient(90deg, #059669, #10b981, #14b8a6) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Lema */
.dinnara-camino-lema {
    margin: 20px auto 0 !important;
    max-width: 640px !important;
    color: #475569 !important;
    font-size: clamp(15px, 1.7vw, 18px) !important;
    line-height: 1.65 !important;
    opacity: 0 !important;
    transform: translateY(15px) !important;
    transition: opacity 700ms ease-out 200ms, transform 700ms ease-out 200ms !important;
}

.dinnara-camino-section.is-visible .dinnara-camino-lema {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* --- Timeline container --- */
.dinnara-camino {
    position: relative !important;
    margin-top: 80px !important;
}

/* Barra de progreso (desktop) */
.dinnara-camino-track {
    pointer-events: none !important;
    position: absolute !important;
    /* centrada verticalmente en los nodos (40px = mitad del nodo de 80px) */
    top: 40px !important;
    /* empieza y termina en el centro del primer/último nodo */
    left: calc(100% / 10) !important;
    right: calc(100% / 10) !important;
    height: 4px !important;
    display: none !important;
}

@media (min-width: 768px) {
    .dinnara-camino-track {
        display: block !important;
    }
}

/* Fondo gris de la barra */
.dinnara-camino-bar-bg {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 999px !important;
    background: #e2e8f0 !important;
}

/* Relleno verde que crece */
.dinnara-camino-bar-fill {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    width: 0% !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #10b981, #34d399, #5eead4) !important;
    box-shadow: 0 0 12px rgba(16, 185, 129, .50) !important;
    transition: width 600ms cubic-bezier(0.65, 0, 0.35, 1) !important;
}

.dinnara-camino-line-base,
.dinnara-camino-line-fill,
.dinnara-camino-head,
.dinnara-camino-svg {
    display: none !important;
}

/* Línea vertical mobile */
.dinnara-camino-vline {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    width: 1px !important;
    height: 100% !important;
    transform: translateX(-50%) !important;
    background: linear-gradient(to bottom, transparent, #10b981 10%, #5eead4 90%, transparent) !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 0 !important;
    transition: opacity 1s ease-out 400ms !important;
}

.dinnara-camino-section.is-visible .dinnara-camino-vline {
    opacity: 1 !important;
}

@media (min-width: 768px) {
    .dinnara-camino-vline {
        display: none !important;
    }
}

/* --- Lista de pasos --- */
.dinnara-camino-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 48px !important;
}

@media (min-width: 768px) {
    .dinnara-camino-list {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 16px !important;
    }
}

/* --- Paso individual --- */
.dinnara-camino-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    cursor: default !important;
    opacity: 0 !important;
    transform: translateY(25px) !important;
}

/* entrada escalonada por step */
.dinnara-camino-section.is-visible .dinnara-camino-step:nth-child(1) { opacity: 1 !important; transform: translateY(0) !important; transition: opacity 700ms cubic-bezier(.22,1,.36,1) 500ms, transform 700ms cubic-bezier(.22,1,.36,1) 500ms !important; }
.dinnara-camino-section.is-visible .dinnara-camino-step:nth-child(2) { opacity: 1 !important; transform: translateY(0) !important; transition: opacity 700ms cubic-bezier(.22,1,.36,1) 680ms, transform 700ms cubic-bezier(.22,1,.36,1) 680ms !important; }
.dinnara-camino-section.is-visible .dinnara-camino-step:nth-child(3) { opacity: 1 !important; transform: translateY(0) !important; transition: opacity 700ms cubic-bezier(.22,1,.36,1) 860ms, transform 700ms cubic-bezier(.22,1,.36,1) 860ms !important; }
.dinnara-camino-section.is-visible .dinnara-camino-step:nth-child(4) { opacity: 1 !important; transform: translateY(0) !important; transition: opacity 700ms cubic-bezier(.22,1,.36,1) 1040ms, transform 700ms cubic-bezier(.22,1,.36,1) 1040ms !important; }
.dinnara-camino-section.is-visible .dinnara-camino-step:nth-child(5) { opacity: 1 !important; transform: translateY(0) !important; transition: opacity 700ms cubic-bezier(.22,1,.36,1) 1220ms, transform 700ms cubic-bezier(.22,1,.36,1) 1220ms !important; }

/* --- Nodo circular --- */
.dinnara-camino-node {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 80px !important;
    height: 80px !important;
    flex-shrink: 0 !important;
    margin-bottom: 24px !important;
}

/* Anillo giratorio (visible en is-active) */
.dinnara-camino-ring {
    position: absolute !important;
    inset: -6px !important;
    border-radius: 50% !important;
    opacity: 0 !important;
    background: conic-gradient(from 0deg, #10b981, #5eead4, #10b981, transparent 70%) !important;
    -webkit-mask-image: radial-gradient(circle, transparent 60%, black 62%) !important;
    mask-image: radial-gradient(circle, transparent 60%, black 62%) !important;
    transition: opacity .5s ease !important;
}

/* Ping de fondo del nodo */
.dinnara-camino-node-ping {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    border-radius: 50% !important;
    background: rgba(16, 185, 129, .25) !important;
    opacity: 0 !important;
}

/* Círculo interior blanco */
.dinnara-camino-circle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #FFFFFF !important;
    box-shadow: 0 2px 8px rgba(10, 25, 47, .06) !important;
    transition: border-color .5s ease, box-shadow .5s ease, transform .5s ease !important;
}

/* Icono SVG */
.dinnara-camino-icon {
    color: #94a3b8 !important;
    line-height: 0 !important;
    transition: color .5s ease, filter .5s ease !important;
}

/* Badge numérico */
.dinnara-camino-badge {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #0f172a !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-family: var(--dinnara-font-body) !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    transition: background .5s ease, transform .5s ease, box-shadow .5s ease !important;
}

/* --- Card de texto --- */
.dinnara-camino-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 8px 12px !important;
    transition: transform .5s ease !important;
}

.dinnara-camino-titulo {
    display: block !important;
    color: #0f172a !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: color .3s ease !important;
}

.dinnara-camino-subtitulo {
    display: inline-block !important;
    margin-top: 2px !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

.dinnara-camino-copy {
    margin: 12px auto 0 !important;
    max-width: 220px !important;
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

/* ---- Estado activo ---- */
.dinnara-camino-step.is-active .dinnara-camino-ring {
    opacity: 1 !important;
    animation: dinnara-spin 3s linear infinite !important;
}

.dinnara-camino-step.is-active .dinnara-camino-node-ping {
    opacity: 1 !important;
    animation: dinnara-ping 1.2s cubic-bezier(0,0,.2,1) infinite !important;
}

.dinnara-camino-step.is-active .dinnara-camino-circle {
    border-color: rgba(16, 185, 129, .45) !important;
    box-shadow: 0 10px 40px -5px rgba(16, 185, 129, .55) !important;
    transform: scale(1.1) !important;
}

.dinnara-camino-step.is-active .dinnara-camino-icon {
    color: #10b981 !important;
    filter: drop-shadow(0 2px 8px rgba(16, 185, 129, .50)) !important;
}

.dinnara-camino-step.is-active .dinnara-camino-badge {
    background: linear-gradient(135deg, #10b981, #14b8a6) !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, .40) !important;
    transform: scale(1.1) !important;
}

.dinnara-camino-step.is-active .dinnara-camino-titulo {
    color: #065f46 !important;
}

.dinnara-camino-step.is-active .dinnara-camino-card {
    transform: translateY(-4px) !important;
}

/* Hover (escritorio) */
@media (hover: hover) {
    .dinnara-camino-step:hover .dinnara-camino-circle {
        border-color: rgba(16, 185, 129, .28) !important;
    }

    .dinnara-camino-step:hover .dinnara-camino-icon {
        color: #10b981 !important;
    }
}

/* --- CTA --- */
/* Vídeo corporativo (solo home, justo encima del CTA "Activar Radar de Proyectos") */
.dinnara-home-video {
    display: flex !important;
    justify-content: center !important;
    margin-top: 80px !important;
}

.dinnara-home-video-media {
    display: block !important;
    width: 100% !important;
    max-width: 860px !important;
    border-radius: 24px !important;
    background: var(--dinnara-navy) !important;
    box-shadow: 0 24px 70px rgba(10, 25, 47, .18) !important;
}

.dinnara-camino-cta {
    display: flex !important;
    justify-content: center !important;
    margin-top: 80px !important;
    opacity: 0 !important;
    transform: translateY(15px) !important;
    transition: opacity 700ms ease-out 1600ms, transform 700ms ease-out 1600ms !important;
}

/* Con vídeo delante, el CTA no necesita tanto aire por arriba. */
.dinnara-home-video + .dinnara-camino-cta {
    margin-top: 40px !important;
}

.dinnara-camino-section.is-visible .dinnara-camino-cta {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.dinnara-camino-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #10b981, #14b8a6) !important;
    color: #FFFFFF !important;
    padding: 16px 32px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: 0 8px 28px rgba(16, 185, 129, .30) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}

.dinnara-camino-button:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 16px 40px rgba(16, 185, 129, .50) !important;
    color: #FFFFFF !important;
}

.dinnara-camino-button-text,
.dinnara-camino-button svg {
    position: relative !important;
    z-index: 1 !important;
}

.dinnara-camino-button:hover svg {
    transform: translateX(3px) !important;
    transition: transform .3s ease !important;
}

/* Efecto shimmer al hacer hover */
.dinnara-camino-button-shimmer {
    position: absolute !important;
    inset: 0 !important;
    transform: translateX(-100%) !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .40), transparent) !important;
    transition: transform 1s ease !important;
}

.dinnara-camino-button:hover .dinnara-camino-button-shimmer {
    transform: translateX(100%) !important;
}

/* --- Keyframes --- */
@keyframes dinnara-spin {
    to { transform: rotate(360deg); }
}

@keyframes dinnara-ping {
    75%, 100% { transform: scale(2); opacity: 0; }
}

/* ==========================================================
   HOME — PROPUESTA DE VALOR
   ========================================================== */

.dinnara-props-section {
    padding: clamp(52px, 7vw, 80px) 0 !important;
    background: var(--dinnara-bg) !important;
    border-top: 1px solid var(--dinnara-line) !important;
    border-bottom: 1px solid var(--dinnara-line) !important;
}

.dinnara-props-inner {
    display: grid !important;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
    gap: clamp(32px, 5vw, 64px) !important;
    align-items: start !important;
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 40px) !important;
}

.dinnara-props-copy h2 {
    margin: 0 !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
    line-height: 1.1 !important;
}

.dinnara-props-copy p {
    margin: 14px 0 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

.dinnara-props-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
}

.dinnara-prop-card {
    padding: 22px !important;
    border-radius: 18px !important;
    border: 1px solid var(--dinnara-line) !important;
    background: var(--dinnara-bg-2) !important;
}

.dinnara-prop-card h3 {
    margin: 0 0 8px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.dinnara-prop-card p {
    margin: 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

@media (max-width: 900px) {
    .dinnara-props-inner {
        grid-template-columns: 1fr !important;
    }

    .dinnara-props-cards {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   HOME — TRES RAZONES
   ========================================================== */

.dinnara-reasons-section {
    padding: clamp(52px, 7vw, 80px) 0 !important;
    background: var(--dinnara-bg) !important;
}

.dinnara-reasons-inner {
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 40px) !important;
}

.dinnara-reasons-header {
    max-width: 780px !important;
    margin: 0 auto clamp(36px, 5vw, 54px) !important;
    text-align: center !important;
}

.dinnara-reasons-header h2 {
    margin: 0 !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
    line-height: 1.15 !important;
}

.dinnara-reasons-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
}

.dinnara-reason-card {
    padding: 28px !important;
    border-radius: 22px !important;
    border: 1px solid var(--dinnara-line) !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 20px rgba(10, 25, 47, .05) !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

.dinnara-reason-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(39, 247, 194, .30) !important;
    box-shadow: 0 12px 36px rgba(10, 25, 47, .10) !important;
}

.dinnara-reason-num {
    display: inline-block !important;
    margin-bottom: 14px !important;
    color: var(--dinnara-cyan) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.dinnara-reason-card h3 {
    margin: 0 0 10px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.dinnara-reason-card p {
    margin: 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

@media (max-width: 768px) {
    .dinnara-reasons-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   HOME — CTA FINAL
   ========================================================== */

.dinnara-home-cta-section {
    padding: clamp(52px, 7vw, 80px) 0 clamp(64px, 9vw, 100px) !important;
    background: var(--dinnara-bg) !important;
}

.dinnara-home-cta-box {
    width: min(calc(100% - 2 * clamp(20px, 4vw, 40px)), 1220px) !important;
    margin: 0 auto !important;
    padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 56px) !important;
    border-radius: 28px !important;
    border: 1px solid rgba(39, 247, 194, .22) !important;
    background:
        radial-gradient(circle at 8% 20%, rgba(39, 247, 194, .08), transparent 30%),
        #FFFFFF !important;
    box-shadow: 0 24px 72px rgba(10, 25, 47, .08) !important;
}

.dinnara-home-cta-box h2 {
    margin: 0 !important;
    max-width: 820px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(1.8rem, 3.2vw, 3rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
    line-height: 1.1 !important;
}

.dinnara-home-cta-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 28px !important;
}

.dinnara-home-cta-secondary {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--dinnara-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: border-color .18s ease, color .18s ease !important;
}

.dinnara-home-cta-secondary:hover {
    border-color: rgba(39, 247, 194, .40) !important;
    color: var(--dinnara-navy) !important;
}

/* ==========================================================
   ESPECIALISTAS
   ========================================================== */

.dinnara-especialistas-section {
    padding: clamp(64px, 8vw, 96px) 0 !important;
    background: var(--dinnara-navy) !important;
}

.dinnara-especialistas-inner {
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 4vw, 40px) !important;
}

.dinnara-especialistas-header {
    text-align: center !important;
    max-width: 760px !important;
    margin: 0 auto clamp(40px, 5vw, 60px) !important;
}

.dinnara-especialistas-header .dinnara-info-kicker {
    color: var(--dinnara-cyan) !important;
}

.dinnara-especialistas-header h2 {
    margin: 0 !important;
    color: #F4FAFC !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(2rem, 3.6vw, 3.2rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
    line-height: 1.1 !important;
}

.dinnara-especialistas-sub {
    margin: 18px 0 0 !important;
    color: #9FB3C8 !important;
    font-size: 17px !important;
    line-height: 1.72 !important;
}

.dinnara-especialistas-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}

.dinnara-especialistas-card {
    padding: 28px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(39, 247, 194, .14) !important;
    background: var(--dinnara-navy-2) !important;
    transition: border-color .22s ease, transform .22s ease !important;
}

.dinnara-especialistas-card:hover {
    border-color: rgba(39, 247, 194, .32) !important;
    transform: translateY(-2px) !important;
}

.dinnara-especialistas-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
    background: rgba(39, 247, 194, .10) !important;
    color: var(--dinnara-cyan) !important;
    margin-bottom: 18px !important;
}

.dinnara-especialistas-card h3 {
    margin: 0 0 10px !important;
    color: #F4FAFC !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.dinnara-especialistas-card p {
    margin: 0 !important;
    color: #9FB3C8 !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

@media (max-width: 768px) {
    .dinnara-especialistas-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Hero responsive */
@media (max-width: 900px) {
    .dinnara-hero-inner {
        grid-template-columns: 1fr !important;
    }

    .dinnara-cockpit {
        max-width: 100% !important;
    }
}

@media (max-width: 640px) {
    .dinnara-cockpit-selects {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   BANNER "EL RADAR DINNARA" (página Radar)
   ========================================================== */

.dinnara-radar-banner {
    width: 100% !important;
    margin: 0 0 clamp(32px, 5vw, 48px) !important;
    border-radius: var(--dinnara-radius-lg) !important;
    overflow: hidden !important;
    border: 1px solid var(--dinnara-line) !important;
    box-shadow: var(--dinnara-shadow-card) !important;
    background: var(--dinnara-bg-2) !important;
}

.dinnara-radar-banner img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1774 / 887 !important;
    object-fit: cover !important;
}

/* ==========================================================
   HEADER PREMIUM — estado al hacer scroll
   ========================================================== */

.dinnara-site-header {
    transition: background-color .22s ease, box-shadow .22s ease, backdrop-filter .22s ease !important;
}

.dinnara-header-inner {
    transition: min-height .22s ease, padding-top .22s ease, padding-bottom .22s ease !important;
}

.dinnara-site-header.is-scrolled {
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 12px 32px rgba(10, 25, 47, .10) !important;
    backdrop-filter: blur(22px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
}

.dinnara-site-header.is-scrolled .dinnara-header-inner {
    min-height: 60px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.dinnara-site-header.is-scrolled .dinnara-brand-logo {
    width: clamp(96px, 8vw, 116px) !important;
}

/* El header es sticky: está en el flujo, no necesita compensación extra en el hero. */
body.dinnara-template-page #dinnara-ai-home .dinnara-hero-section {
    padding-top: clamp(20px, 4vw, 40px) !important;
}

body.admin-bar.dinnara-template-page #dinnara-ai-home .dinnara-hero-section {
    padding-top: clamp(20px, 4vw, 40px) !important;
}

@media (prefers-reduced-motion: reduce) {
    .dinnara-site-header,
    .dinnara-header-inner {
        transition: none !important;
    }
}

/* ==========================================================
   24. BARRA DE PROGRESO DE SCROLL (HEADER)
   ========================================================== */

.dinnara-header-progress {
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--dinnara-cyan, #27F7C2), var(--dinnara-green, #42D4AE)) !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;
    will-change: transform !important;
    pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .dinnara-header-progress {
        display: none !important;
    }
}

/* ==========================================================
   24b. ANIMACIÓN DE ENTRADA AL SCROLL · ESPECIALISTAS Y CIFRAS
   ========================================================== */

/* El ocultado inicial va SIEMPRE acotado a [data-dinnara-reveal]. Sin este acotado,
   una sección que olvide el atributo deja sus tarjetas en opacity:0 para siempre
   (ocurrió en la franja de elegibilidad de /linea-3-feder-canarias/). */
[data-dinnara-reveal] .dinnara-especialistas-card,
[data-dinnara-reveal] .dinnara-cifras-card {
    opacity: 0 !important;
    transform: translateY(16px) !important;
    transition: opacity .4s ease-out, transform .4s ease-out !important;
}

[data-dinnara-reveal].is-visible .dinnara-especialistas-card,
[data-dinnara-reveal].is-visible .dinnara-cifras-card {
    opacity: 1 !important;
    transform: none !important;
}

[data-dinnara-reveal] .dinnara-especialistas-card:nth-child(1),
[data-dinnara-reveal] .dinnara-cifras-card:nth-child(1) { transition-delay: 0ms !important; }
[data-dinnara-reveal] .dinnara-especialistas-card:nth-child(2),
[data-dinnara-reveal] .dinnara-cifras-card:nth-child(2) { transition-delay: 80ms !important; }
[data-dinnara-reveal] .dinnara-especialistas-card:nth-child(3),
[data-dinnara-reveal] .dinnara-cifras-card:nth-child(3) { transition-delay: 160ms !important; }

@media (prefers-reduced-motion: reduce) {
    .dinnara-especialistas-card,
    .dinnara-cifras-card {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ==========================================================
   25. CONTADOR DE CIFRAS CLAVE (HOME)
   ========================================================== */

.dinnara-cifras-section {
    padding: clamp(48px, 7vw, 88px) clamp(20px, 4vw, 40px) !important;
}

.dinnara-cifras-inner {
    width: min(100%, 1220px) !important;
    margin: 0 auto !important;
}

.dinnara-cifras-title-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

.dinnara-cifras-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(20px, 3vw, 32px) !important;
}

.dinnara-cifras-card {
    background: #FFFFFF !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: var(--dinnara-radius-lg) !important;
    box-shadow: var(--dinnara-shadow-soft) !important;
    padding: clamp(28px, 4vw, 40px) clamp(20px, 3vw, 28px) !important;
    text-align: center !important;
}

.dinnara-cifras-number {
    margin: 0 0 8px !important;
    font-family: var(--dinnara-font-head) !important;
    font-weight: 800 !important;
    font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
    line-height: 1.1 !important;
    color: var(--dinnara-text) !important;
}

.dinnara-cifras-number span:last-child {
    font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important;
    color: var(--dinnara-cyan) !important;
    margin-left: 2px !important;
}

.dinnara-cifras-label {
    margin: 0 !important;
    font-size: 0.98rem !important;
    color: var(--dinnara-muted) !important;
}

@media (max-width: 768px) {
    .dinnara-cifras-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   26. MICROINTERACCIONES DE FORMULARIO (VALIDACIÓN + ÉXITO)
   ========================================================== */

.dinnara-field.has-error {
    border-color: var(--dinnara-danger) !important;
}

.dinnara-field-error {
    display: block !important;
    margin-top: 4px !important;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
    color: var(--dinnara-danger) !important;
    min-height: 1.1em !important;
}

.dinnara-form-success-icon {
    display: inline-flex !important;
    vertical-align: middle !important;
    margin-right: 6px !important;
    color: var(--dinnara-green) !important;
    opacity: 0 !important;
    transform: scale(.6) !important;
    transition: opacity .25s ease, transform .25s ease !important;
}

.dinnara-form-success-icon.is-success {
    opacity: 1 !important;
    transform: scale(1) !important;
}

.dinnara-form-success-icon svg path {
    stroke-dasharray: 20 !important;
    stroke-dashoffset: 20 !important;
    transition: stroke-dashoffset .4s ease .15s !important;
}

.dinnara-form-success-icon.is-success svg path {
    stroke-dashoffset: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
    .dinnara-form-success-icon,
    .dinnara-form-success-icon svg path {
        transition: none !important;
    }
}

/* ==========================================================
   26b. INDICADOR DE HORARIO (CONTACTO RÁPIDO)
   ========================================================== */

.dinnara-status-dot {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    margin-right: 6px !important;
    background: var(--dinnara-muted-2) !important;
    vertical-align: middle !important;
}

.dinnara-status-dot.is-online {
    background: var(--dinnara-green) !important;
    box-shadow: 0 0 0 3px rgba(66, 212, 174, .18) !important;
}

/* ==========================================================
   27. CONTENIDO LEGAL (AVISO / PRIVACIDAD / COOKIES)
   ========================================================== */

.dinnara-legal-content {
    max-width: 860px !important;
    margin: 0 auto !important;
}

.dinnara-legal-content .dinnara-info-text {
    text-align: left !important;
}

.dinnara-legal-content h2 {
    margin: 38px 0 14px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(20px, 2.4vw, 26px) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.dinnara-legal-content h2:first-child {
    margin-top: 0 !important;
}

.dinnara-legal-content h3 {
    margin: 22px 0 10px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

.dinnara-legal-content ul,
.dinnara-legal-content ol {
    margin: 0 0 18px !important;
    padding-left: 22px !important;
    color: var(--dinnara-muted) !important;
    font-size: 16px !important;
    line-height: 1.78 !important;
}

.dinnara-legal-content li {
    margin-bottom: 8px !important;
}

.dinnara-legal-content li:last-child {
    margin-bottom: 0 !important;
}

.dinnara-legal-content strong {
    color: var(--dinnara-ink) !important;
}

.dinnara-legal-admin-notice {
    margin-bottom: 24px !important;
    padding: 14px 18px !important;
    border: 1px solid rgba(194, 163, 106, .4) !important;
    border-radius: 14px !important;
    background: rgba(194, 163, 106, .12) !important;
    color: #8A6A2E !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
}

.dinnara-legal-content .dinnara-legal-placeholder {
    padding: 1px 6px !important;
    border-radius: 6px !important;
    background: rgba(194, 163, 106, .18) !important;
    color: #8A6A2E !important;
    font-weight: 700 !important;
}

.dinnara-legal-content table {
    width: 100% !important;
    margin: 0 0 18px !important;
    border-collapse: collapse !important;
    font-size: 14px !important;
}

.dinnara-legal-content table caption {
    margin-bottom: 10px !important;
    color: var(--dinnara-muted) !important;
    font-size: 13px !important;
    text-align: left !important;
}

.dinnara-legal-content th,
.dinnara-legal-content td {
    padding: 12px 14px !important;
    border: 1px solid var(--dinnara-line) !important;
    text-align: left !important;
    vertical-align: top !important;
    color: var(--dinnara-muted) !important;
}

.dinnara-legal-content th {
    background: var(--dinnara-bg-2) !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-weight: 700 !important;
}

.dinnara-legal-content table {
    overflow-x: auto !important;
    display: block !important;
}

.dinnara-legal-content thead,
.dinnara-legal-content tbody {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
}

@media (max-width: 640px) {
    .dinnara-legal-content table {
        font-size: 13px !important;
    }
}

/* El banner de cookies es site-wide (también fuera de las páginas-template Dinnara, donde
   este frontend.css no se carga), así que su CSS vive inline en el propio partial:
   templates/frontend/partials/cookie-banner.php */

/* ==========================================================
   28. DINNARA · PRESUPUESTOS COMUNIDADES (/presupuestos/)
   ========================================================== */

.dinnara-presu-step-kicker {
    margin-bottom: 10px !important;
}

.dinnara-presu-select-panel {
    max-width: 620px !important;
}

.dinnara-presu-select-panel label span {
    display: block !important;
    margin-bottom: 8px !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.dinnara-presu-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(18px, 3vw, 28px) !important;
    margin-top: clamp(24px, 4vw, 38px) !important;
}

@media (max-width: 860px) {
    .dinnara-presu-cards {
        grid-template-columns: 1fr !important;
    }
}

.dinnara-presu-card {
    display: flex !important;
    flex-direction: column !important;
    padding: clamp(22px, 3vw, 32px) !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 28px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 54px rgba(10, 25, 47, .06) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.dinnara-presu-card.is-selected {
    border-color: rgba(39, 247, 194, .55) !important;
    box-shadow: 0 22px 64px rgba(39, 247, 194, .16) !important;
}

.dinnara-presu-card-badge {
    display: inline-flex !important;
    align-self: flex-start !important;
    margin-bottom: 14px !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .12) !important;
    color: #059669 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.dinnara-presu-card h3 {
    margin: 0 0 10px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(19px, 2vw, 22px) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.dinnara-presu-card > p {
    margin: 0 0 20px !important;
    color: var(--dinnara-muted) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.dinnara-presu-select-btn {
    margin-top: auto !important;
    align-self: flex-start !important;
}

.dinnara-presu-card.is-selected .dinnara-presu-select-btn {
    background: var(--dinnara-navy) !important;
    color: #FFFFFF !important;
}

.dinnara-presu-aviso {
    max-width: 880px !important;
    margin: 22px 0 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 12.5px !important;
    font-style: italic !important;
    line-height: 1.6 !important;
}

.dinnara-presu-cta {
    text-align: left !important;
}

.dinnara-presu-cta .dinnara-info-button {
    margin: 0 !important;
}

.dinnara-info-button[disabled] {
    pointer-events: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.dinnara-presu-cta .dinnara-presu-cta-hint {
    max-width: none !important;
    margin: 16px 0 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
}

.dinnara-presu-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99995 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}

.dinnara-presu-modal.is-open {
    display: flex !important;
}

.dinnara-presu-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(10, 25, 47, .55) !important;
    backdrop-filter: blur(6px) !important;
}

.dinnara-presu-modal-panel {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 560px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    padding: clamp(24px, 3.5vw, 40px) !important;
    border-radius: 28px !important;
    background: #FFFFFF !important;
    box-shadow: 0 40px 120px rgba(10, 25, 47, .28) !important;
}

.dinnara-presu-modal-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

.dinnara-presu-modal-head h3 {
    margin: 0 !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(20px, 2.4vw, 26px) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.dinnara-presu-modal-close {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    color: var(--dinnara-navy) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.dinnara-presu-modal-close:hover,
.dinnara-presu-modal-close:focus-visible {
    border-color: rgba(39, 247, 194, .5) !important;
    color: #059669 !important;
}

.dinnara-presu-form {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.dinnara-presu-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.dinnara-presu-success {
    text-align: center !important;
    padding: clamp(20px, 3vw, 32px) 0 !important;
}

.dinnara-presu-success .dinnara-form-success-icon {
    display: inline-flex !important;
    width: 56px !important;
    height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 16px !important;
    border-radius: 50% !important;
    background: rgba(39, 247, 194, .12) !important;
    color: #059669 !important;
}

.dinnara-presu-success p {
    max-width: 480px !important;
    margin: 0 auto !important;
    color: var(--dinnara-muted) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   29. FAQ REUTILIZABLE, ANCLAS Y ENLACES EN TARJETA
   ========================================================== */

.dinnara-faq-list {
    margin-top: clamp(20px, 3vw, 30px) !important;
    gap: 14px !important;
}

.dinnara-info-card p + p {
    margin-top: 12px !important;
}

/* Enlaces dentro de las respuestas de la FAQ. Debe ganar a la regla de :161-164,
   que impone text-decoration:none !important sobre cualquier enlace dentro de un
   contenedor con id^="dinnara-". */
body.dinnara-template-page .dinnara-info-card p a {
    color: #059669 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

body.dinnara-template-page .dinnara-info-card p a:hover,
body.dinnara-template-page .dinnara-info-card p a:focus-visible {
    color: var(--dinnara-navy) !important;
}

/* Contraste del item activo del desplegable "Servicios": el cian de :1241 da ~1.7:1
   sobre el panel blanco de :1247. Se sustituye por el mismo verde que ya usan los
   demás enlaces activos del tema claro. */
body.dinnara-template-page .dinnara-nav-item.is-active > .dinnara-nav-link {
    color: #059669 !important;
}

/* Anclas bajo el header sticky (78px + margen). 110px es la convención ya existente
   en #dinnara-search-panel (:801-803); se generaliza a cualquier ancla nueva. */
body.dinnara-template-page [id] {
    scroll-margin-top: 110px !important;
}

body.admin-bar.dinnara-template-page [id] {
    scroll-margin-top: 142px !important;
}

@media (max-width: 782px) {
    body.admin-bar.dinnara-template-page [id] {
        scroll-margin-top: 156px !important;
    }
}

/* Enlace de cierre en las tarjetas de Especialistas (home) */
.dinnara-especialistas-card {
    display: flex !important;
    flex-direction: column !important;
}

.dinnara-especialistas-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    color: #059669 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.dinnara-especialistas-link:hover,
.dinnara-especialistas-link:focus-visible {
    color: var(--dinnara-navy) !important;
}

/* Contenedor de la FAQ en la home: su <main> no tiene ancho propio, cada sección
   de home.php aporta el suyo (ver .dinnara-especialistas-inner, .dinnara-home-cta-box). */
.dinnara-home-faq-inner {
    width: min(calc(100% - 2 * clamp(20px, 4vw, 40px)), 1220px) !important;
    margin: 0 auto !important;
}

/* CLS del vídeo de la home: los atributos width/height no bastan porque
   .dinnara-home-video-media fuerza width:100% !important (:3766-3773). */
.dinnara-home-video-media {
    aspect-ratio: 16 / 9 !important;
}

/* Wrapper para dos botones dentro de un .dinnara-info-cta (mismo patrón que .dinnara-hero-actions) */
.dinnara-info-cta-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.dinnara-info-button-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: border-color .18s ease, color .18s ease !important;
}

.dinnara-info-button-secondary:hover,
.dinnara-info-button-secondary:focus-visible {
    border-color: rgba(39, 247, 194, .5) !important;
    color: #059669 !important;
}

/* Línea de "última revisión" en páginas con datos normativos vivos (Plan de Vivienda) */
.dinnara-info-revision-note {
    margin-top: 10px !important;
    color: var(--dinnara-muted-2) !important;
    font-size: 12.5px !important;
}

/* Panel-CTA tras la cuadrícula de tarjetas de comunidades (Plan de Vivienda) */
.dinnara-plan-vivienda-cta-panel {
    margin-top: 24px !important;
}

/* ==========================================================
   30. LANDING LÍNEA 3 FEDER — REDISEÑO DE CAMPAÑA (mailing)
   Pegamento de espaciado del "sándwich" hero/cifras/split + franja
   navy (.dinnara-especialistas-*) + gastos/metodología/form/FAQ/anexo.
   No define ningún componente nuevo: reutiliza el sistema existente.
   ========================================================== */

.dinnara-linea3-main-top {
    padding-bottom: clamp(40px, 5vw, 64px) !important;
}

.dinnara-linea3-main-bottom {
    padding-top: clamp(40px, 5vw, 64px) !important;
}

.dinnara-linea3-main-bottom > .dinnara-info-section:first-child {
    margin-top: 0 !important;
}

#dinnara-linea-3-feder-page .dinnara-cifras-section {
    padding: 0 !important;
    margin-top: clamp(36px, 5vw, 56px) !important;
}

.dinnara-linea3-hero-actions {
    margin-top: clamp(26px, 3vw, 34px) !important;
}

/* Corrige un problema de especificidad ya existente en Plan de Vivienda:
   .dinnara-info-hero p:not(.dinnara-info-kicker) (:2418) gana a
   .dinnara-info-revision-note (:4919) y la nota se ve como texto de cuerpo. */
.dinnara-info-hero p.dinnara-info-revision-note {
    margin-top: 18px !important;
    font-size: 12.5px !important;
}

/* ==========================================================
   31. VÍDEO CORPORATIVO EMBEBIDO (YOUTUBE)
   ========================================================== */

/* .dinnara-home-video-media pasa de ser el propio <video> a ser el contenedor
   del <iframe>. Hereda sin cambios ancho, max-width, radio, sombra, fondo navy
   y el aspect-ratio 16/9 declarado en la sección 29; aquí solo se recorta el
   iframe al radio y se le hace llenar la caja. */
.dinnara-home-video-media {
    position: relative !important;
    overflow: hidden !important;
}

.dinnara-home-video-media iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

/* ==========================================================
   32. SÁNDWICH DE COMUNIDADES DE PROPIETARIOS · franja oscura a sangre
   Mismo patrón que la sección 30 (Línea 3 FEDER): <main> sin clase +
   dos .dinnara-info-main a los lados de la franja .dinnara-especialistas-section.
   ========================================================== */

.dinnara-comunidades-main-top {
    padding-bottom: clamp(40px, 5vw, 64px) !important;
}

.dinnara-comunidades-main-bottom {
    padding-top: clamp(40px, 5vw, 64px) !important;
}

.dinnara-comunidades-main-bottom > .dinnara-info-section:first-child {
    margin-top: 0 !important;
}

#dinnara-comunidades-page .dinnara-cifras-section {
    padding: 0 !important;
    margin-top: clamp(36px, 5vw, 56px) !important;
}

/* Separación de los botones del hero cuando lleva .dinnara-info-cta-actions
   (patrón ya usado en la home y en Línea 3 FEDER; sin margen propio la
   fila de botones queda pegada al párrafo). */
.dinnara-info-hero .dinnara-info-cta-actions {
    margin-top: clamp(26px, 3vw, 34px) !important;
}

/* ==========================================================
   33. GUÍAS (BLOG) · tipografía de texto largo + tarjetas del archivo + nav
   ========================================================== */

.dinnara-article {
    width: min(100%, 760px) !important;
    margin: 0 auto !important;
}

.dinnara-article-header {
    margin-bottom: clamp(28px, 4vw, 40px) !important;
}

.dinnara-article-meta {
    margin: 14px 0 0 !important;
    color: var(--dinnara-muted) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
}

.dinnara-article-featured-image {
    margin: 0 0 clamp(28px, 4vw, 40px) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

.dinnara-article-featured-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

.dinnara-article-body p {
    margin: 0 0 20px !important;
    color: var(--dinnara-muted) !important;
    font-size: 17px !important;
    line-height: 1.78 !important;
}

.dinnara-article-body h2 {
    margin: 40px 0 16px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: clamp(22px, 2.6vw, 28px) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.dinnara-article-body h2:first-child {
    margin-top: 0 !important;
}

.dinnara-article-body h3 {
    margin: 28px 0 12px !important;
    color: var(--dinnara-navy) !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.dinnara-article-body ul,
.dinnara-article-body ol {
    margin: 0 0 20px !important;
    padding-left: 22px !important;
    color: var(--dinnara-muted) !important;
    font-size: 17px !important;
    line-height: 1.78 !important;
}

/* El preflight de Tailwind (cdn.tailwindcss.com, que se inyecta en linea y en
   tiempo de ejecucion) aplica "menu, ol, ul { list-style: none }" a todo el sitio.
   Consecuencia: estas listas se venian pintando sangradas pero SIN vinetas ni
   numeros desde el lote J -- el padding-left de arriba reservaba hueco para un
   marcador que nunca llegaba a aparecer. En el cuerpo de un articulo el marcador
   es informacion, no decoracion, y el lote N estrena listas numeradas donde el
   orden significa algo ("tres comprobaciones", "cuatro preguntas"), asi que se
   restituye aqui, acotado al articulo.
   El <ol> de las migas de pan NO entra: alli la ausencia de marcador es
   deliberada y los separadores los pone li + li::before. */
.dinnara-article-body ul {
    list-style: disc outside !important;
}

.dinnara-article-body ol {
    list-style: decimal outside !important;
}

.dinnara-article-body li {
    margin-bottom: 10px !important;
}

.dinnara-article-body li:last-child {
    margin-bottom: 0 !important;
}

.dinnara-article-body strong {
    color: var(--dinnara-ink) !important;
}

.dinnara-article-body blockquote {
    margin: 0 0 20px !important;
    padding: 4px 0 4px 22px !important;
    border-left: 3px solid rgba(39, 247, 194, .5) !important;
    color: var(--dinnara-navy) !important;
    font-style: italic !important;
}

.dinnara-article-body figure {
    margin: 0 0 20px !important;
}

.dinnara-article-body img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 20px !important;
}

.dinnara-article-body code {
    padding: 2px 6px !important;
    border-radius: 6px !important;
    background: rgba(10, 25, 47, .06) !important;
    font-size: 14px !important;
}

.dinnara-article-body table {
    width: 100% !important;
    margin: 0 0 20px !important;
    border-collapse: collapse !important;
}

.dinnara-article-body th,
.dinnara-article-body td {
    padding: 10px !important;
    border: 1px solid var(--dinnara-line) !important;
    text-align: left !important;
    font-size: 15px !important;
}

/* Los enlaces del cuerpo deben ir subrayados: gana a :160-163, que impone
   text-decoration:none !important con especificidad (0,2,2). */
body.dinnara-template-page [id^="dinnara-"] .dinnara-article-body a {
    color: #059669 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.dinnara-article-pager {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: clamp(36px, 5vw, 56px) !important;
    padding-top: clamp(20px, 3vw, 28px) !important;
    border-top: 1px solid var(--dinnara-line) !important;
}

.dinnara-article-pager a {
    color: #059669 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.dinnara-article-pager-prev {
    text-align: left !important;
}

.dinnara-article-pager-next {
    margin-left: auto !important;
    text-align: right !important;
}

.dinnara-guia-card {
    display: flex !important;
    flex-direction: column !important;
}

.dinnara-guia-card-date {
    margin: 0 0 10px !important;
    color: var(--dinnara-cyan) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.dinnara-guias-empty {
    text-align: center !important;
}

#dinnara-guias-page .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    margin: 4px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--dinnara-line) !important;
    color: var(--dinnara-navy) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

#dinnara-guias-page .page-numbers.current {
    background: var(--dinnara-navy) !important;
    border-color: var(--dinnara-navy) !important;
    color: #FFFFFF !important;
}

#dinnara-guias-page .page-numbers.dots {
    border-color: transparent !important;
    background: transparent !important;
}

#dinnara-guias-page nav.pagination,
.dinnara-guias-pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    margin-top: clamp(32px, 4vw, 48px) !important;
}

/* Blindaje del wrap de la nav de escritorio: "Guías" añade un 6º ítem cerca del punto
   de corte a 1120px (:2892). Medido sobre el CSS real hay margen, pero se fija igual. */
body.dinnara-template-page .dinnara-desktop-nav {
    flex-wrap: nowrap !important;
}

body.dinnara-template-page .dinnara-nav-link {
    white-space: nowrap !important;
}

@media (min-width: 1121px) and (max-width: 1279px) {
    body.dinnara-template-page .dinnara-desktop-nav {
        gap: 15px !important;
    }
}

/* ==========================================================
   34. MENÚ MÓVIL ACOTADO AL VIEWPORT + MIGAS DE PAN
   ========================================================== */

/*
   El panel vivía en flujo dentro del header sticky: al abrirlo, el header pasaba a medir ~823px en
   un iPhone 16 Pro y los últimos ítems quedaban permanentemente fuera de alcance (el header está
   clavado a top:0, así que no hay gesto que los recupere). Ahora el panel es una capa absoluta
   colgada del header, con tope de altura y scroll propio.

   top:100% y max-height:calc(100dvh - 100%) se resuelven contra la caja de relleno del header
   (78px normal, 60px con .is-scrolled — frontend.css:1611/2302 y :4231), así que los dos estados se
   siguen solos y no hace falta escribir a mano ninguna altura de header. Como efecto colateral el
   header vuelve a medir su altura normal con el menú abierto, así que .dinnara-header-progress
   (:4260, absolute/bottom:0 respecto del header) recupera su sitio sin tocar JS.

   dvh y no vh: en iOS Safari 100vh equivale a 100lvh (viewport con las barras retraídas), que es
   justo la medida que producía el corte con las barras visibles. La línea en vh queda como
   respaldo para navegadores sin soporte de dvh.
*/
body.dinnara-template-page .dinnara-mobile-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 79px) !important;
    max-height: calc(100dvh - 100%) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #FFFFFF !important;
    box-shadow: 0 26px 60px rgba(10, 25, 47, .18) !important;
}

/* Fondo opaco a propósito: fuera de la caja del header, su backdrop-filter (:220, :1212) ya no
   desenfoca detrás del panel, y el rgba(255,255,255,.98) heredado de :1305/:2352 dejaba traslucir
   el contenido oscuro de la página por debajo. */

/* Con la barra de admin el header no arranca en y=0: hay que descontar su altura del hueco. */
body.admin-bar.dinnara-template-page .dinnara-mobile-menu {
    max-height: calc(100vh - 111px) !important;
    max-height: calc(100dvh - 100% - 32px) !important;
}

@media (max-width: 782px) {
    body.admin-bar.dinnara-template-page .dinnara-mobile-menu {
        max-height: calc(100vh - 125px) !important;
        max-height: calc(100dvh - 100% - 46px) !important;
    }
}

/* Colchón inferior en píxeles literales: env(safe-area-inset-bottom) vale 0 sin viewport-fit=cover,
   y viewport-fit=cover no se añade a propósito (metería contenido bajo el notch en las 26
   plantillas del plugin a cambio de nada aquí). */
body.dinnara-template-page .dinnara-mobile-nav {
    padding-bottom: 28px !important;
}

body.dinnara-template-page .dinnara-menu-toggle.is-menu-open {
    border-color: rgba(39, 247, 194, .60) !important;
    background: rgba(39, 247, 194, .12) !important;
}

body.dinnara-template-page .dinnara-site-header.is-menu-open {
    box-shadow: 0 18px 44px rgba(10, 25, 47, .14) !important;
}

@media (prefers-reduced-motion: reduce) {
    body.dinnara-template-page .dinnara-mobile-menu {
        scroll-behavior: auto !important;
    }
}

/*
   Migas de pan. Barra discreta bajo el header, alineada con .dinnara-header-inner
   (width: min(100%,1240px), :2301), con su propio JSON-LD renderizado por
   Dinnara_Breadcrumbs::render(). El separador "›" es CSS, nunca marcado — mismo criterio que las
   flechas de paginación de guías.
*/
.dinnara-breadcrumbs {
    width: min(100%, 1240px) !important;
    margin: 0 auto !important;
    padding: 14px 24px 0 !important;
}

.dinnara-breadcrumbs ol {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dinnara-breadcrumbs li {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: var(--dinnara-muted) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}

.dinnara-breadcrumbs li + li::before {
    content: "\203A" !important;
    color: var(--dinnara-line) !important;
    font-weight: 700 !important;
}

.dinnara-breadcrumbs a {
    color: var(--dinnara-muted) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.dinnara-breadcrumbs a:hover,
.dinnara-breadcrumbs a:focus-visible {
    color: #059669 !important;
    text-decoration: underline !important;
}

.dinnara-breadcrumbs [aria-current="page"] {
    color: var(--dinnara-ink) !important;
}

.dinnara-breadcrumbs + main.dinnara-info-main {
    padding-top: clamp(28px, 4vw, 48px) !important;
}

@media (max-width: 782px) {
    .dinnara-breadcrumbs {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ==========================================================
   35. ACCIONES FLOTANTES: WHATSAPP, CHAT Y VOLVER ARRIBA
   ========================================================== */
/*
   Reparto de esquinas: WhatsApp abajo a la izquierda, chat abajo a la derecha y
   "volver arriba" encima del chat. Los tres son position:fixed independientes,
   sin contenedor comun: envolverlos obligaria a pelear con el position:fixed que
   .dinnara-scroll-top ya trae de la seccion 20.

   Toda la geometria cuelga de tres variables para que el desplazamiento por el
   banner de cookies sea UNA sola escritura desde JS. Van SIN !important a
   proposito: son custom properties, siguen la convencion de los 29 tokens de
   marca, y ademas un !important aqui ganaria al valor en linea que escribe
   initFloatingActions() y romperia el desplazamiento.
*/

body.dinnara-template-page {
    --dinnara-fab-side: clamp(18px, 2.2vw, 32px);
    --dinnara-fab-offset: clamp(18px, 2.2vw, 32px);
    --dinnara-fab-chat: 58px;
}

/* --- Base comun de los botones flotantes --- */

.dinnara-fab {
    position: fixed !important;
    z-index: 99980 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}

.dinnara-fab:focus-visible {
    outline: 3px solid var(--dinnara-navy) !important;
    outline-offset: 3px !important;
}

/* --- WhatsApp: esquina inferior izquierda --- */

.dinnara-fab-whatsapp {
    left: var(--dinnara-fab-side) !important;
    bottom: var(--dinnara-fab-offset) !important;
    width: 56px !important;
    height: 56px !important;
    background: var(--dinnara-whatsapp) !important;
    color: #FFFFFF !important;
    box-shadow: 0 16px 38px rgba(10, 25, 47, .16), 0 8px 24px rgba(37, 211, 102, .34) !important;
}

.dinnara-fab-whatsapp:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow: 0 20px 46px rgba(10, 25, 47, .20), 0 12px 30px rgba(37, 211, 102, .44) !important;
}

/* --- Lanzador del chat: esquina inferior derecha --- */

.dinnara-fab-chat {
    right: var(--dinnara-fab-side) !important;
    bottom: var(--dinnara-fab-offset) !important;
    width: var(--dinnara-fab-chat) !important;
    height: var(--dinnara-fab-chat) !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    box-shadow: 0 18px 42px rgba(10, 25, 47, .16), 0 10px 30px rgba(39, 247, 194, .28) !important;
}

.dinnara-fab-chat:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow: 0 22px 48px rgba(10, 25, 47, .20), 0 12px 34px rgba(39, 247, 194, .38) !important;
}

.dinnara-fab-icon {
    position: relative !important;
    z-index: 1 !important;
    display: inline-flex !important;
    color: inherit !important;
}

.dinnara-fab-icon-close {
    display: none !important;
}

.dinnara-fab-chat.is-open .dinnara-fab-icon-open {
    display: none !important;
}

.dinnara-fab-chat.is-open .dinnara-fab-icon-close {
    display: inline-flex !important;
}

/* Punto latiendo. CSS puro, sin JS, mismo principio que .dinnara-camino-ping. */
.dinnara-fab-ping {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .55) !important;
    pointer-events: none !important;
    animation: dinnara-fab-ping 2.6s cubic-bezier(0, 0, .2, 1) infinite !important;
}

.dinnara-fab-chat.is-open .dinnara-fab-ping,
.dinnara-fab-chat.is-dismissed .dinnara-fab-ping {
    display: none !important;
}

@keyframes dinnara-fab-ping {
    0%   { transform: scale(1);    opacity: .55; }
    70%  { transform: scale(1.6);  opacity: 0; }
    100% { transform: scale(1.6);  opacity: 0; }
}

/* --- Volver arriba: cede la esquina y sube por encima del chat ---
   Gana a la regla de la seccion 20 (:2999) y a su media query de 760px por venir
   despues en el fichero con la misma especificidad. Por eso las medidas moviles
   se vuelven a declarar mas abajo: la media query original ya no alcanza. */

.dinnara-scroll-top {
    right: var(--dinnara-fab-side) !important;
    bottom: calc(var(--dinnara-fab-offset) + var(--dinnara-fab-chat) + 12px) !important;
    width: 44px !important;
    height: 44px !important;
}

.dinnara-scroll-top span {
    font-size: 20px !important;
}

/* Con el chat abierto el boton de subir estorba: el panel nace justo ahi. */
body.dinnara-chat-open .dinnara-scroll-top {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* --- Globo de aviso, una vez por sesion --- */

.dinnara-chat-tip {
    position: fixed !important;
    right: calc(var(--dinnara-fab-side) + var(--dinnara-fab-chat) + 12px) !important;
    bottom: calc(var(--dinnara-fab-offset) + 9px) !important;
    z-index: 99980 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    max-width: min(240px, calc(100vw - var(--dinnara-fab-side) * 2 - var(--dinnara-fab-chat) - 28px)) !important;
    padding: 10px 8px 10px 14px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 14px !important;
    background: var(--dinnara-bg) !important;
    box-shadow: 0 16px 40px rgba(10, 25, 47, .14) !important;
    animation: dinnara-tip-in .34s ease both !important;
}

.dinnara-chat-tip[hidden] {
    display: none !important;
}

.dinnara-chat-tip p {
    margin: 0 !important;
    color: var(--dinnara-ink) !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.dinnara-chat-tip-close {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--dinnara-muted-2) !important;
    cursor: pointer !important;
}

.dinnara-chat-tip-close:hover {
    background: var(--dinnara-bg-3) !important;
    color: var(--dinnara-ink) !important;
}

@keyframes dinnara-tip-in {
    from { opacity: 0; transform: translateY(8px) scale(.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* --- Panel del chat --- */

.dinnara-chat-panel {
    position: fixed !important;
    right: var(--dinnara-fab-side) !important;
    bottom: calc(var(--dinnara-fab-offset) + var(--dinnara-fab-chat) + 14px) !important;
    z-index: 99981 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(360px, calc(100vw - var(--dinnara-fab-side) * 2)) !important;
    /* La primera es el respaldo para navegadores sin dvh; la segunda gana donde
       las barras de Safari se contraen. Misma tecnica que la seccion 34. */
    max-height: calc(100vh - var(--dinnara-fab-offset) - var(--dinnara-fab-chat) - 40px) !important;
    max-height: calc(100dvh - var(--dinnara-fab-offset) - var(--dinnara-fab-chat) - 40px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 20px !important;
    background: var(--dinnara-bg) !important;
    box-shadow: 0 30px 80px rgba(10, 25, 47, .22) !important;
    animation: dinnara-tip-in .26s ease both !important;
}

.dinnara-chat-panel[hidden] {
    display: none !important;
}

.dinnara-chat-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 15px 14px 14px 16px !important;
    border-bottom: 1px solid var(--dinnara-line) !important;
    background: var(--dinnara-navy) !important;
}

.dinnara-chat-avatar {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 999px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
}

.dinnara-chat-head-text {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.dinnara-chat-name {
    color: #F4FAFC !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.dinnara-chat-status {
    color: #9FB3C8 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

.dinnara-chat-close {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #9FB3C8 !important;
    cursor: pointer !important;
    transition: background .18s ease, color .18s ease !important;
}

.dinnara-chat-close:hover {
    background: rgba(255, 255, 255, .10) !important;
    color: #F4FAFC !important;
}

.dinnara-chat-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
    padding: 16px 16px 4px !important;
}

.dinnara-chat-msg {
    max-width: 88% !important;
    padding: 10px 13px !important;
}

.dinnara-chat-msg p {
    margin: 0 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

.dinnara-chat-msg--bot {
    align-self: flex-start !important;
    border-radius: 14px 14px 14px 4px !important;
    background: var(--dinnara-bg-3) !important;
    color: var(--dinnara-ink) !important;
}

.dinnara-chat-msg--user {
    align-self: flex-end !important;
    border-radius: 14px 14px 4px 14px !important;
    background: var(--dinnara-navy) !important;
    color: #F4FAFC !important;
}

/* --- Indicador de "escribiendo" ---
   Reutiliza la burbuja del bot (fondo, radio asimetrico y align-self): lo unico
   propio son los tres puntos. El div lo inserta el JS con aria-hidden, porque un
   lector de pantalla no debe anunciar tres puntos; lo que se anuncia es el
   mensaje cuando llega, por el aria-live="polite" de .dinnara-chat-body. */

.dinnara-chat-typing {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 13px 15px !important;
}

.dinnara-chat-typing span {
    display: block !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: var(--dinnara-muted-2) !important;
    animation: dinnara-chat-typing 1.25s ease-in-out infinite !important;
}

.dinnara-chat-typing span:nth-child(2) {
    animation-delay: .18s !important;
}

.dinnara-chat-typing span:nth-child(3) {
    animation-delay: .36s !important;
}

@keyframes dinnara-chat-typing {
    0%, 60%, 100% { transform: translateY(0);    opacity: .35; }
    30%           { transform: translateY(-4px); opacity: 1;   }
}

/* Los mensajes de bienvenida esperan su turno con el atributo hidden. La regla
   se declara en vez de confiar en el [hidden] del navegador: el preflight de
   Tailwind se inyecta en linea y en tiempo de ejecucion, y el Lote N ya demostro
   que puede tumbar una suposicion de esa clase sin avisar. */

.dinnara-chat-msg[hidden] {
    display: none !important;
}

.dinnara-chat-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 3px !important;
}

.dinnara-chat-chips[hidden] {
    display: none !important;
}

.dinnara-chat-chip {
    padding: 9px 14px !important;
    border: 1px solid rgba(5, 150, 105, .38) !important;
    border-radius: 999px !important;
    background: rgba(39, 247, 194, .10) !important;
    color: #047857 !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background .18s ease, transform .18s ease !important;
}

.dinnara-chat-chip:hover {
    background: rgba(39, 247, 194, .20) !important;
    transform: translateY(-1px) !important;
}

/* --- Formulario --- */

.dinnara-chat-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 12px 16px 16px !important;
}

.dinnara-chat-form[hidden] {
    display: none !important;
}

/* Honeypot: fuera de pantalla, nunca display:none, que los bots detectan. */
.dinnara-chat-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.dinnara-chat-label {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.dinnara-chat-label span {
    color: var(--dinnara-muted) !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}

.dinnara-chat-field {
    width: 100% !important;
    padding: 11px 12px !important;
    border: 1px solid var(--dinnara-line) !important;
    border-radius: 11px !important;
    background: var(--dinnara-bg-2) !important;
    color: var(--dinnara-ink) !important;
    font-family: var(--dinnara-font-body) !important;
    /* 16px es deliberado: por debajo, iOS hace zoom automatico al enfocar. */
    font-size: 16px !important;
    line-height: 1.45 !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

.dinnara-chat-field:focus {
    outline: none !important;
    border-color: rgba(5, 150, 105, .55) !important;
    box-shadow: 0 0 0 3px rgba(39, 247, 194, .20) !important;
}

.dinnara-chat-field.is-invalid {
    border-color: var(--dinnara-danger) !important;
    box-shadow: 0 0 0 3px rgba(184, 92, 92, .16) !important;
}

textarea.dinnara-chat-field {
    min-height: 76px !important;
    resize: vertical !important;
}

.dinnara-chat-send {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--dinnara-grad) !important;
    color: #061422 !important;
    font-family: var(--dinnara-font-head) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

.dinnara-chat-send:hover:not(:disabled) {
    transform: translateY(-1px) !important;
    box-shadow: var(--dinnara-shadow-cta) !important;
}

.dinnara-chat-send:disabled {
    opacity: .55 !important;
    cursor: progress !important;
    transform: none !important;
}

.dinnara-chat-legal {
    margin: 0 !important;
    color: var(--dinnara-muted-2) !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

/* Gana a :160-163, que impone text-decoration:none con especificidad (0,2,2). */
body.dinnara-template-page [id^="dinnara-"] .dinnara-chat-legal a {
    color: #047857 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* --- Pie del panel --- */

.dinnara-chat-foot {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 2 !important;
    padding: 11px 16px !important;
    border-top: 1px solid var(--dinnara-line) !important;
    background: var(--dinnara-bg-2) !important;
    text-align: center !important;
}

.dinnara-chat-foot a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #128C7E !important;
    font-family: var(--dinnara-font-body) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.dinnara-chat-foot a:hover {
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* --- Movil --- */

@media (max-width: 760px) {
    body.dinnara-template-page {
        --dinnara-fab-side: 14px;
        --dinnara-fab-offset: 14px;
        --dinnara-fab-chat: 54px;
    }

    .dinnara-fab-whatsapp {
        width: 52px !important;
        height: 52px !important;
    }

    .dinnara-scroll-top {
        width: 40px !important;
        height: 40px !important;
    }

    .dinnara-scroll-top span {
        font-size: 18px !important;
    }

    .dinnara-chat-panel {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
    }

    /* Con el panel abierto en movil ocupa casi toda la pantalla: el boton de
       WhatsApp de la otra esquina solo anade ruido. */
    body.dinnara-chat-open .dinnara-fab-whatsapp {
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dinnara-fab-ping {
        animation: none !important;
        opacity: 0 !important;
    }

    .dinnara-chat-typing span,
    .dinnara-chat-tip,
    .dinnara-chat-panel {
        animation: none !important;
    }

    .dinnara-fab,
    .dinnara-chat-chip,
    .dinnara-chat-send {
        transition: none !important;
    }

    .dinnara-fab:hover,
    .dinnara-chat-chip:hover,
    .dinnara-chat-send:hover:not(:disabled) {
        transform: none !important;
    }
}
