/* =========================================================
   NUEVA LEY / TRANSPARENCIA (SOLO PÁGINAS NUEVAS)
   - Fix navbar fixed-top sin franja blanca (con script)
   - Páginas nuevas con fondo azul (solo nl-page)
   - Menú mobile overlay sin empujar contenido (solo nl-page)
   - Transparencia: cards sólidas tipo Trámites (sin cristal)
   - Tarifas: tablas alineadas (solo nl-page #tv)
========================================================= */

:root {
    --nav-offset: 160px;
    /* fallback, el script lo ajusta */
    --parral-blue: #000f3f;
    /* azul oficial Parral */
    --parral-text-dark: #232323;
}

/* No usar padding-top en body (evita franja blanca) */
body {
    padding-top: 0 !important;
}

/* Empuja SOLO el primer bloque después del menú dentro de páginas nuevas */
section.menu+section,
section.menu+header,
section.menu+main,
section.menu+div {
    margin-top: var(--nav-offset) !important;
}

/* Si el primer bloque es fullscreen, evita descuadre */
section.menu+section.mbr-fullscreen {
    min-height: calc(100vh - var(--nav-offset)) !important;
}

/* =========================================================
   PÁGINAS NUEVAS (FONDO AZUL)
   Activa con: <body class="nl-page">
========================================================= */
body.nl-page {
    background: var(--parral-blue) !important;
    color: #ffffff !important;
}

/* SAFE: no transparentar TODAS las sections (rompe Mobirise)
   Solo transparenta secciones nuevas controladas */
body.nl-page #tp,
body.nl-page #ley-21772,
body.nl-page #tv {
    background-color: transparent !important;
}

/* Texto por defecto en páginas nuevas: blanco */
body.nl-page .mbr-section-title,
body.nl-page .mbr-section-subtitle,
body.nl-page .mbr-text {
    color: #ffffff !important;
}

/* =========================================================
   BOTONES OUTLINE MOBIRISE (por si aparece alguno en nuevas)
========================================================= */
body.nl-page .btn-secondary-outline,
body.nl-page .btn-primary-outline {
    border-color: rgba(255, 255, 255, 0.85) !important;
    color: #ffffff !important;
}

body.nl-page .btn-secondary-outline:hover,
body.nl-page .btn-primary-outline:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.95) !important;
    color: #ffffff !important;
}

/* =========================================================
   TARIFAS: alineación PRO (incluye Vigencia)
   Encapsulado: SOLO páginas nuevas (#tv)
========================================================= */
body.nl-page #tv .tv-table {
    width: 100%;
    table-layout: fixed;
}

body.nl-page #tv .tv-table th,
body.nl-page #tv .tv-table td {
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* 3 columnas default */
body.nl-page #tv .tv-table th:nth-child(1),
body.nl-page #tv .tv-table td:nth-child(1) {
    width: 48%;
}

body.nl-page #tv .tv-table th:nth-child(2),
body.nl-page #tv .tv-table td:nth-child(2) {
    width: 18%;
    white-space: nowrap;
    font-weight: 700;
}

body.nl-page #tv .tv-table th:nth-child(3),
body.nl-page #tv .tv-table td:nth-child(3) {
    width: 34%;
}

/* Vigencia (3 columnas equilibradas) */
body.nl-page #tv .tv-table-vigencia th:nth-child(1),
body.nl-page #tv .tv-table-vigencia td:nth-child(1) {
    width: 60% !important;
}

body.nl-page #tv .tv-table-vigencia th:nth-child(2),
body.nl-page #tv .tv-table-vigencia td:nth-child(2) {
    width: 20% !important;
    white-space: nowrap;
}

body.nl-page #tv .tv-table-vigencia th:nth-child(3),
body.nl-page #tv .tv-table-vigencia td:nth-child(3) {
    width: 20% !important;
    white-space: nowrap;
}

/* Separador elegante */
body.nl-page #tv .tv-sep-row td {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.nl-page #tv .tv-sep {
    height: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.10);
    margin: 10px 0;
}

/* =========================================================
   MENÚ MOBILE EN PÁGINAS NUEVAS: overlay + animación pro
   (evita que el despliegue empuje el contenido)
========================================================= */
body.nl-page .menu .navbar.navbar-fixed-top {
    z-index: 9999;
}

@media (max-width: 991px) {
    body.nl-page .menu .navbar.navbar-fixed-top .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: rgba(0, 15, 63, 0.92);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
    }

    body.nl-page .menu .navbar.navbar-fixed-top .navbar-collapse.collapsing {
        transition: height .25s ease, opacity .25s ease;
        opacity: 0;
    }

    body.nl-page .menu .navbar.navbar-fixed-top .navbar-collapse.show {
        opacity: 1;
    }
}

body.nl-page .menu .nav-dropdown .link {
    transition: background-color .18s ease, transform .18s ease, color .18s ease;
    border-radius: 10px;
}

body.nl-page .menu .nav-dropdown .link:hover {
    background: rgba(255, 255, 255, 0.10);
    transform: translateY(-1px);
    color: #ffffff !important;
}

/* =========================================================
   TRANSPARENCIA (FINAL): CARDS SÓLIDAS TIPO TRÁMITES
   Aplica SOLO en #tp
========================================================= */
body.nl-page #tp {
    position: relative;
}

body.nl-page #tp .tp-wrap {
    padding: 3rem 0 3.2rem;
    max-width: 1180px;
    margin: 0 auto;
}

body.nl-page #tp .tp-title {
    margin-bottom: 22px !important;
}

/* Grid */
body.nl-page #tp .tp-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px;
}

@media (max-width: 991px) {
    body.nl-page #tp .tp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575px) {
    body.nl-page #tp .tp-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Link wrapper */
body.nl-page #tp .tp-card-link,
body.nl-page #tp .tp-card-link:hover,
body.nl-page #tp .tp-card-link:focus,
body.nl-page #tp .tp-card-link:active {
    color: inherit !important;
    text-decoration: none !important;
    display: block;
    height: 100%;
}

/* Card sólida */
body.nl-page #tp .tp-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    background: rgba(0, 15, 63, 0.97) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.30) !important;

    overflow: hidden;
    transform: translateY(0);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease !important;

    min-height: 255px;
}

/* Hero limpio */
body.nl-page #tp .tp-hero {
    padding: 18px 18px 10px !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;

    display: flex;
    align-items: center;
    gap: 12px;
}

/* Body */
body.nl-page #tp .tp-body {
    padding: 14px 18px 18px !important;
    display: flex;
    flex-direction: column;
    flex: 1;
}

body.nl-page #tp .tp-actions {
    margin-top: auto;
    padding-top: 14px;
}

/* Texto blanco */
body.nl-page #tp .tp-card h1,
body.nl-page #tp .tp-card h2,
body.nl-page #tp .tp-card h3,
body.nl-page #tp .tp-card h4,
body.nl-page #tp .tp-card h5,
body.nl-page #tp .tp-card h6,
body.nl-page #tp .tp-card p,
body.nl-page #tp .tp-card span,
body.nl-page #tp .tp-card div {
    color: #ffffff !important;
}

/* Título más fuerte */
body.nl-page #tp .tp-hero h5 {
    font-weight: 700 !important;
    letter-spacing: .2px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
}

/* Icono badge */
body.nl-page #tp .tp-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;

    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
}

body.nl-page #tp .tp-icon span {
    font-size: 24px;
    color: #fff !important;
}

/* Descripción: 3 líneas máximo */
body.nl-page #tp .tp-body p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    margin-bottom: 0;
    opacity: .95;
}

/* Hover sobrio */
body.nl-page #tp .tp-card:hover {
    transform: translateY(-7px) !important;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.42) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    background: rgba(0, 15, 63, 0.99) !important;
}

/* Marco interno al hover (muy sutil) */
body.nl-page #tp .tp-card::after {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    pointer-events: none;
    transition: inset .25s ease, border-color .25s ease;
}

body.nl-page #tp .tp-card:hover::after {
    inset: 11px;
    border-color: rgba(255, 255, 255, 0.14);
}

/* Botón Abrir */
body.nl-page #tp .tp-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px !important;

    background: rgba(255, 255, 255, 0.05) !important;
    border: 2px solid rgba(255, 255, 255, 0.85) !important;
    color: #fff !important;

    padding: .52rem 1.08rem !important;
    font-family: 'EB Garamond', serif !important;
    font-weight: 600 !important;

    transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

body.nl-page #tp .tp-card:hover .tp-btn {
    background: rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.26);
}

/* Nota final */
body.nl-page #tp .tp-note {
    margin-top: 22px !important;
    padding: 16px 18px !important;
    border-radius: 18px !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    background: rgba(0, 15, 63, 0.86) !important;
    border: 1px dashed rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28) !important;
    color: #fff !important;
}

/* Links dentro de Transparencia */
body.nl-page #tp a,
body.nl-page #tp a:hover,
body.nl-page #tp a:focus,
body.nl-page #tp a:active {
    color: inherit !important;
    text-decoration: none !important;
}

/* =========================================================
   TRANSPARENCIA: HOVER TIPO TRÁMITES (sale de la pantalla)
   - Sin cristal
   - Lift + scale suave
   - Sombra grande
   - Marco/borde se refuerza
   SOLO afecta: body.nl-page #tp
========================================================= */

body.nl-page #tp .tp-card {
    /* base sobria */
    background: rgba(0, 15, 63, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28) !important;

    /* sin glass */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    /* animación “tramites” */
    transform: translateY(0) scale(1);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease !important;
    will-change: transform, box-shadow;

    overflow: hidden;
}

/* Hover: “sale” hacia adelante */
body.nl-page #tp .tp-card:hover {
    transform: translateY(-10px) scale(1.03) !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.46) !important;
    border-color: rgba(255, 255, 255, 0.26) !important;
    background: rgba(0, 15, 63, 0.99) !important;
}

/* Marco interno (se siente como “cuadro completo” elevándose) */
body.nl-page #tp .tp-card::after {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.00);
    pointer-events: none;
    transition: border-color .25s ease, inset .25s ease;
}

body.nl-page #tp .tp-card:hover::after {
    inset: 11px;
    border-color: rgba(255, 255, 255, 0.14);
}

/* Botón acompaña el hover */
body.nl-page #tp .tp-card:hover .tp-btn {
    background: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.25);
}

/* =========================================================
   TRANSPARENCIA: HOVER TIPO TRÁMITES + SPOTLIGHT SUAVE
   - NO líneas internas (sin ::after)
   - NO cristal
   - Lift + scale (sale de la pantalla)
   - Spotlight superior (no neón)
========================================================= */

/* 1) Asegura que NO exista marco interno (líneas) */
body.nl-page #tp .tp-card::after {
    content: none !important;
}

/* 2) Spotlight superior (muy sutil) */
body.nl-page #tp .tp-card {
    position: relative;
    overflow: hidden;
}

body.nl-page #tp .tp-card::before {
    content: "";
    position: absolute;
    left: -20%;
    right: -20%;
    top: -50px;
    height: 160px;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.14), transparent 70%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}

/* 3) Efecto “sale de la pantalla” (como Trámites) */
body.nl-page #tp .tp-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transform: translateY(0) scale(1);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease !important;

    border-color: rgba(255, 255, 255, 0.13) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28) !important;
}

body.nl-page #tp .tp-card:hover {
    transform: translateY(-10px) scale(1.03) !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.46) !important;
    border-color: rgba(255, 255, 255, 0.30) !important;
    background: rgba(0, 15, 63, 0.99) !important;
}

/* 4) Enciende el spotlight al hover */
body.nl-page #tp .tp-card:hover::before {
    opacity: 1;
}

/* 5) Botón acompaña el hover */
body.nl-page #tp .tp-card:hover .tp-btn {
    background: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.25);
}

/* =========================================================
   TRANSPARENCIA: BORDE QUE RESALTA EN HOVER (tipo Trámites)
   - Sin líneas internas
========================================================= */

/* Borde base */
body.nl-page #tp .tp-card {
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

/* Hover: borde más fuerte + “ring” exterior */
body.nl-page #tp .tp-card:hover {
    border-color: rgba(255, 255, 255, 0.36) !important;
    box-shadow:
        0 26px 60px rgba(0, 0, 0, 0.46),
        0 0 0 2px rgba(255, 255, 255, 0.14) !important;
}

/* =========================================================
   TRANSPARENCIA: acercar el título al menú (solo #tp)
========================================================= */

/* Reduce el “aire” superior del bloque de Transparencia */
body.nl-page #tp .tp-wrap {
    padding-top: 1.8rem !important;
    /* antes estaba ~3rem */
}

/* Si aún se ve lejos, reduce el margen del título */
body.nl-page #tp .tp-title {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

body.nl-page section#tp {
    padding-top: 0 !important;
}

/* =========================================================
   NUEVAS PÁGINAS: TÍTULO A ALTURA UNIFORME (GLOBAL)
   - Reduce el “aire” del primer bloque después del menú
   - SOLO en body.nl-page
========================================================= */

/* El primer bloque (después del menú) NO debe traer padding gigante */
body.nl-page section.menu+section {
    padding-top: 0 !important;
}

/* Contenedores principales: acercar contenido al menú */
body.nl-page #tp .tp-wrap,
body.nl-page #ley-21772 .l21772-wrap,
body.nl-page #tv .tv-wrap {
    padding-top: 1.6rem !important;
    /* ajusta aquí para TODAS */
}

/* Títulos principales: margen uniforme */
body.nl-page #tp .tp-title,
body.nl-page #ley-21772 .mbr-section-title,
body.nl-page #tv .mbr-section-title {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

/* Si Mobirise (content5) mete padding extra en nuevas páginas, lo neutralizamos */
body.nl-page section.content5 {
    padding-top: 0 !important;
}

/* =========================================================
   BLOQUE INSTITUCIONAL FINAL (PÁGINAS NUEVAS)
   - Callout sobrio, homogéneo
   - Sin foto
========================================================= */

body.nl-page .nl-callout {
    margin-top: 22px;
    padding: 18px 18px;
    border-radius: 18px;

    background: rgba(0, 15, 63, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.30);
}

body.nl-page .nl-callout h4 {
    margin-bottom: 10px;
    color: #ffffff !important;
}

body.nl-page .nl-callout p {
    margin-bottom: 14px;
    color: rgba(255, 255, 255, 0.95) !important;
}

body.nl-page .nl-callout-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Botones dentro del callout: sin márgenes grandes de Mobirise */
body.nl-page .nl-callout .btn-secondary-outline {
    margin: 0 !important;
}

/* =========================================================
   TRANSPARENCIA: ACCENTS FIJOS POR CATEGORÍA (data-tp)
   - No depende del orden
   - Sin imágenes
   - Se aplica solo a #tp
========================================================= */

/* Base del badge */
body.nl-page #tp .tp-card[data-tp] .tp-icon {
    position: relative;
    overflow: hidden;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* Línea superior sutil en el badge */
body.nl-page #tp .tp-card[data-tp] .tp-icon::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    opacity: .95;
    background: rgba(255, 255, 255, 0.20);
}

/* Acento sutil arriba de cada card */
body.nl-page #tp .tp-card[data-tp] {
    position: relative;
}

body.nl-page #tp .tp-card[data-tp]::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    opacity: .85;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

/* =========================
   COLORES POR CATEGORÍA
========================= */

/* Ley 21.772 */
body.nl-page #tp .tp-card[data-tp="ley"] .tp-icon {
    background: rgba(90, 160, 255, 0.18) !important;
    border-color: rgba(90, 160, 255, 0.35) !important;
}

body.nl-page #tp .tp-card[data-tp="ley"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="ley"]::before {
    background: rgba(90, 160, 255, 0.60) !important;
}

/* Trámites y requisitos */
body.nl-page #tp .tp-card[data-tp="tramites"] .tp-icon {
    background: rgba(70, 190, 140, 0.18) !important;
    border-color: rgba(70, 190, 140, 0.35) !important;
}

body.nl-page #tp .tp-card[data-tp="tramites"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="tramites"]::before {
    background: rgba(70, 190, 140, 0.60) !important;
}

/* Tarifas */
body.nl-page #tp .tp-card[data-tp="tarifas"] .tp-icon {
    background: rgba(210, 170, 80, 0.18) !important;
    border-color: rgba(210, 170, 80, 0.38) !important;
}

body.nl-page #tp .tp-card[data-tp="tarifas"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="tarifas"]::before {
    background: rgba(210, 170, 80, 0.65) !important;
}

/* Autoridades / calidad */
body.nl-page #tp .tp-card[data-tp="autoridades"] .tp-icon {
    background: rgba(170, 130, 230, 0.18) !important;
    border-color: rgba(170, 130, 230, 0.36) !important;
}

body.nl-page #tp .tp-card[data-tp="autoridades"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="autoridades"]::before {
    background: rgba(170, 130, 230, 0.60) !important;
}

/* Consultas y reclamos */
body.nl-page #tp .tp-card[data-tp="reclamos"] .tp-icon {
    background: rgba(230, 95, 95, 0.18) !important;
    border-color: rgba(230, 95, 95, 0.36) !important;
}

body.nl-page #tp .tp-card[data-tp="reclamos"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="reclamos"]::before {
    background: rgba(230, 95, 95, 0.60) !important;
}

/* Informes */
body.nl-page #tp .tp-card[data-tp="informes"] .tp-icon {
    background: rgba(90, 210, 220, 0.18) !important;
    border-color: rgba(90, 210, 220, 0.35) !important;
}

body.nl-page #tp .tp-card[data-tp="informes"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="informes"]::before {
    background: rgba(90, 210, 220, 0.60) !important;
}

/* Índices */
body.nl-page #tp .tp-card[data-tp="indices"] .tp-icon {
    background: rgba(200, 210, 225, 0.16) !important;
    border-color: rgba(200, 210, 225, 0.30) !important;
}

body.nl-page #tp .tp-card[data-tp="indices"] .tp-icon::before,
body.nl-page #tp .tp-card[data-tp="indices"]::before {
    background: rgba(200, 210, 225, 0.55) !important;
}

/* Hover: el acento se nota un poquito más */
body.nl-page #tp .tp-card:hover::before {
    opacity: 1 !important;
}

/* =========================================================
   NUEVAS PÁGINAS: MISMA SEPARACIÓN QUE TRÁMITES BAJO EL MENÚ
   (evita doble espacio: margin-top + padding de content5)
========================================================= */

/* Mantén el empuje por navbar (solo margen), pero quita padding extra del bloque */
body.nl-page section.menu+section.content5 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Ajusta el espacio interno del contenedor de cada página nueva
   (esta es LA perilla para igualar Trámites) */
body.nl-page #tp .tp-wrap,
body.nl-page #ley-21772 .l21772-wrap,
body.nl-page #tv .tv-wrap {
    padding-top: 1.25rem !important;
    /* prueba 1.25rem (muy parecido a Trámites) */
}

/* Título más pegado, uniforme */
body.nl-page #tp .tp-title {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

/* =========================================================
   AJUSTE FINO: acercar el contenido al menú (solo nl-page)
   - Compensa el margin-top que viene de --nav-offset
========================================================= */

/* Baja todo el primer bloque después del menú un poco menos */
body.nl-page section.menu+section {
    margin-top: calc(var(--nav-offset) - 48px) !important;
    /* <-- aquí ajustas */
}

body.nl-page section.menu+section.content5 {
    padding-top: 0 !important;
}

/* =========================================================
   PEGAR EL TÍTULO JUSTO BAJO LA LÍNEA DEL MENÚ (solo nl-page)
========================================================= */

/* Quita padding del primer bloque (Mobirise content5) */
body.nl-page section.menu+section.content5 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Quita “aire” extra del container interno SOLO en #tp */
body.nl-page #tp .tp-wrap {
    padding-top: 0rem !important;
    /* <-- AJUSTE FINO */
}

/* Quita margen superior del título */
body.nl-page #tp .tp-title {
    margin-top: 0 !important;
}

/* =========================================================
   HOMOLOGAR ALTURA DE TÍTULOS (páginas nuevas)
   - Transparencia (#tp) y Ley (#ley-21772) misma altura
   - Evita padding extra de content5
========================================================= */

/* Quita padding-top del primer bloque en páginas nuevas */
body.nl-page section.menu+section.content5 {
    padding-top: 0 !important;
}

/* Mismo “aire” superior para los contenedores principales */
body.nl-page #tp .tp-wrap,
body.nl-page #ley-21772 .l21772-wrap {
    padding-top: 0 !important;
    /* deja el título pegado al mismo punto */
}

/* Si aún quieres un mínimo aire (opcional), usa 0.35rem en ambas */
/*
body.nl-page #tp .tp-wrap,
body.nl-page #ley-21772 .l21772-wrap{
  padding-top: 0.35rem !important;
}
*/

/* Títulos sin margen superior para que queden alineados */
body.nl-page #tp .tp-title,
body.nl-page #ley-21772 .mbr-section-title {
    margin-top: 0 !important;
}

/* =========================================================
   TRÁMITES Y REQUISITOS (GLOBAL)
   Base reutilizable para páginas nuevas del módulo trámites
   Aplica solo en:
   - #tramites-escrituras
   - #tramites-meson
   - #tramites-otros
========================================================= */

/* Reset visual seguro para el bloque nuevo */
body.nl-page section#tramites-escrituras .mbr-section-title,
body.nl-page section#tramites-escrituras .mbr-text,
body.nl-page section#tramites-escrituras .mbr-fonts-style,
body.nl-page section#tramites-escrituras .trp-card,
body.nl-page section#tramites-escrituras .trp-head,
body.nl-page section#tramites-escrituras .trp-body,
body.nl-page section#tramites-escrituras .trp-muted,
body.nl-page section#tramites-escrituras .trp-gap,
body.nl-page section#tramites-escrituras .accordion,
body.nl-page section#tramites-escrituras .accordion-item,
body.nl-page section#tramites-escrituras .accordion-header,
body.nl-page section#tramites-escrituras .accordion-button,
body.nl-page section#tramites-escrituras .accordion-collapse,
body.nl-page section#tramites-escrituras .accordion-body,

body.nl-page section#tramites-meson .mbr-section-title,
body.nl-page section#tramites-meson .mbr-text,
body.nl-page section#tramites-meson .mbr-fonts-style,
body.nl-page section#tramites-meson .trp-card,
body.nl-page section#tramites-meson .trp-head,
body.nl-page section#tramites-meson .trp-body,
body.nl-page section#tramites-meson .trp-muted,
body.nl-page section#tramites-meson .trp-gap,
body.nl-page section#tramites-meson .accordion,
body.nl-page section#tramites-meson .accordion-item,
body.nl-page section#tramites-meson .accordion-header,
body.nl-page section#tramites-meson .accordion-button,
body.nl-page section#tramites-meson .accordion-collapse,
body.nl-page section#tramites-meson .accordion-body,

body.nl-page section#tramites-otros .mbr-section-title,
body.nl-page section#tramites-otros .mbr-text,
body.nl-page section#tramites-otros .mbr-fonts-style,
body.nl-page section#tramites-otros .trp-card,
body.nl-page section#tramites-otros .trp-head,
body.nl-page section#tramites-otros .trp-body,
body.nl-page section#tramites-otros .trp-muted,
body.nl-page section#tramites-otros .trp-gap,
body.nl-page section#tramites-otros .accordion,
body.nl-page section#tramites-otros .accordion-item,
body.nl-page section#tramites-otros .accordion-header,
body.nl-page section#tramites-otros .accordion-button,
body.nl-page section#tramites-otros .accordion-collapse,
body.nl-page section#tramites-otros .accordion-body {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* Quitar aire superior heredado */
body.nl-page section#tramites-escrituras,
body.nl-page section#tramites-meson,
body.nl-page section#tramites-otros {
    padding-top: 0 !important;
}

/* Contenedor principal */
body.nl-page section#tramites-escrituras .trp-wrap,
body.nl-page section#tramites-meson .trp-wrap,
body.nl-page section#tramites-otros .trp-wrap {
    padding-top: 12.5rem !important;
    padding-bottom: 2.8rem;
    margin-top: -200px;
}

/* Texto introductorio */
body.nl-page section#tramites-escrituras .trp-lead,
body.nl-page section#tramites-meson .trp-lead,
body.nl-page section#tramites-otros .trp-lead {
    margin-bottom: 1rem;
    color: #ffffff !important;
}

/* Card principal */
body.nl-page section#tramites-escrituras .trp-card,
body.nl-page section#tramites-meson .trp-card,
body.nl-page section#tramites-otros .trp-card {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 18px !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    overflow: hidden !important;
}

/* Cabecera del card */
body.nl-page section#tramites-escrituras .trp-head,
body.nl-page section#tramites-meson .trp-head,
body.nl-page section#tramites-otros .trp-head {
    padding: 1.2rem 1.25rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
    background: transparent !important;
}

/* Cuerpo del card */
body.nl-page section#tramites-escrituras .trp-body,
body.nl-page section#tramites-meson .trp-body,
body.nl-page section#tramites-otros .trp-body {
    padding: 1.25rem !important;
    color: #ffffff !important;
    background: transparent !important;
}

/* Asegurar tipografía blanca */
body.nl-page section#tramites-escrituras .trp-head h4,
body.nl-page section#tramites-escrituras .trp-card,
body.nl-page section#tramites-escrituras .trp-card p,
body.nl-page section#tramites-escrituras .trp-card strong,
body.nl-page section#tramites-escrituras .trp-card li,
body.nl-page section#tramites-escrituras .trp-card h6,
body.nl-page section#tramites-escrituras .trp-badge,
body.nl-page section#tramites-escrituras .trp-body,

body.nl-page section#tramites-meson .trp-head h4,
body.nl-page section#tramites-meson .trp-card,
body.nl-page section#tramites-meson .trp-card p,
body.nl-page section#tramites-meson .trp-card strong,
body.nl-page section#tramites-meson .trp-card li,
body.nl-page section#tramites-meson .trp-card h6,
body.nl-page section#tramites-meson .trp-badge,
body.nl-page section#tramites-meson .trp-body,

body.nl-page section#tramites-otros .trp-head h4,
body.nl-page section#tramites-otros .trp-card,
body.nl-page section#tramites-otros .trp-card p,
body.nl-page section#tramites-otros .trp-card strong,
body.nl-page section#tramites-otros .trp-card li,
body.nl-page section#tramites-otros .trp-card h6,
body.nl-page section#tramites-otros .trp-badge,
body.nl-page section#tramites-otros .trp-body {
    color: #ffffff !important;
}

/* Badge */
body.nl-page section#tramites-escrituras .trp-badge,
body.nl-page section#tramites-meson .trp-badge,
body.nl-page section#tramites-otros .trp-badge {
    display: inline-block;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .10) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    font-size: .85rem;
    margin-left: .5rem;
    color: #ffffff !important;
}

/* Caja informativa */
body.nl-page section#tramites-escrituras .trp-muted,
body.nl-page section#tramites-meson .trp-muted,
body.nl-page section#tramites-otros .trp-muted {
    padding: .95rem 1rem !important;
    border-radius: 14px !important;
    border: 1px dashed rgba(255, 255, 255, .22) !important;
    background: transparent !important;
    margin-top: 1rem !important;
    color: #ffffff !important;
}

/* Separación */
body.nl-page section#tramites-escrituras .trp-gap,
body.nl-page section#tramites-meson .trp-gap,
body.nl-page section#tramites-otros .trp-gap {
    margin-bottom: 1.35rem !important;
}

/* Link dentro de notas */
body.nl-page section#tramites-escrituras .trp-note-link,
body.nl-page section#tramites-meson .trp-note-link,
body.nl-page section#tramites-otros .trp-note-link {
    text-decoration: none !important;
    border-bottom: 1px solid currentColor !important;
    font-weight: 700 !important;
    color: inherit !important;
}

body.nl-page section#tramites-escrituras .trp-note-link strong,
body.nl-page section#tramites-meson .trp-note-link strong,
body.nl-page section#tramites-otros .trp-note-link strong {
    text-decoration: none !important;
}

body.nl-page section#tramites-escrituras .trp-note-link:hover,
body.nl-page section#tramites-meson .trp-note-link:hover,
body.nl-page section#tramites-otros .trp-note-link:hover {
    opacity: .85;
}

/* =========================================================
   ACORDEÓN GLOBAL DEL MÓDULO TRÁMITES
========================================================= */
body.nl-page section#tramites-escrituras .accordion,
body.nl-page section#tramites-meson .accordion,
body.nl-page section#tramites-otros .accordion {
    --bs-accordion-color: #ffffff;
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: rgba(255, 255, 255, .14);
    --bs-accordion-border-width: 1px;
    --bs-accordion-border-radius: 14px;
    --bs-accordion-inner-border-radius: 14px;
    --bs-accordion-btn-padding-x: 1.15rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: #ffffff;
    --bs-accordion-btn-bg: rgba(255, 255, 255, .02);
    --bs-accordion-active-color: #ffffff;
    --bs-accordion-active-bg: rgba(255, 255, 255, .06);
    --bs-accordion-body-padding-x: 1.15rem;
    --bs-accordion-body-padding-y: 1rem;
}

body.nl-page section#tramites-escrituras .accordion-item,
body.nl-page section#tramites-meson .accordion-item,
body.nl-page section#tramites-otros .accordion-item {
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    margin-bottom: .75rem !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.nl-page section#tramites-escrituras .accordion-button,
body.nl-page section#tramites-meson .accordion-button,
body.nl-page section#tramites-otros .accordion-button {
    font-family: 'EB Garamond', serif !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, .03) !important;
    background-color: rgba(255, 255, 255, .04) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    box-shadow: none !important;
}

body.nl-page section#tramites-escrituras .accordion-button:not(.collapsed),
body.nl-page section#tramites-meson .accordion-button:not(.collapsed),
body.nl-page section#tramites-otros .accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .05) !important;
    background-color: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    box-shadow: none !important;
}

body.nl-page section#tramites-escrituras .accordion-button:hover,
body.nl-page section#tramites-meson .accordion-button:hover,
body.nl-page section#tramites-otros .accordion-button:hover {
    background: rgba(255, 255, 255, .07) !important;
    background-color: rgba(255, 255, 255, .08) !important;
}

body.nl-page section#tramites-escrituras .accordion-button:focus,
body.nl-page section#tramites-meson .accordion-button:focus,
body.nl-page section#tramites-otros .accordion-button:focus {
    box-shadow: none !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

body.nl-page section#tramites-escrituras .accordion-button::after,
body.nl-page section#tramites-meson .accordion-button::after,
body.nl-page section#tramites-otros .accordion-button::after {
    filter: brightness(0) invert(1);
    opacity: .95;
}

body.nl-page section#tramites-escrituras .accordion-body,
body.nl-page section#tramites-meson .accordion-body,
body.nl-page section#tramites-otros .accordion-body {
    color: #ffffff !important;
    background: transparent !important;
}

body.nl-page section#tramites-escrituras .accordion-body p,
body.nl-page section#tramites-escrituras .accordion-body li,
body.nl-page section#tramites-escrituras .accordion-body strong,

body.nl-page section#tramites-meson .accordion-body p,
body.nl-page section#tramites-meson .accordion-body li,
body.nl-page section#tramites-meson .accordion-body strong,

body.nl-page section#tramites-otros .accordion-body p,
body.nl-page section#tramites-otros .accordion-body li,
body.nl-page section#tramites-otros .accordion-body strong {
    color: #ffffff !important;
}



/* =========================================================
   SCROLL TO TOP
   Mantiene el estilo original de Mobirise
   y solo controla visibilidad / transición
========================================================= */
body.nl-page #scrollToTop.scrollToTop.mbr-arrow-up {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
    transition:
        opacity .28s ease,
        transform .28s ease,
        visibility .28s ease !important;
}

body.nl-page #scrollToTop.scrollToTop.mbr-arrow-up.active,
body.nl-page #scrollToTop.scrollToTop.mbr-arrow-up.show,
body.nl-page #scrollToTop.scrollToTop.mbr-arrow-up.visible,
body.nl-page #scrollToTop.scrollToTop.mbr-arrow-up[style*="display: block"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* =========================================================
   FONDO BASE DEL MÓDULO TRÁMITES
   Evita que Mobirise pinte blanco el contenido central
========================================================= */

body.nl-page section#tramites-escrituras,
body.nl-page section#tramites-escrituras .container,
body.nl-page section#tramites-escrituras .row,
body.nl-page section#tramites-escrituras [class*="col-"],

body.nl-page section#tramites-meson,
body.nl-page section#tramites-meson .container,
body.nl-page section#tramites-meson .row,
body.nl-page section#tramites-meson [class*="col-"],

body.nl-page section#tramites-otros,
body.nl-page section#tramites-otros .container,
body.nl-page section#tramites-otros .row,
body.nl-page section#tramites-otros [class*="col-"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 991px) {

    body.nl-page section#tramites-escrituras .trp-wrap,
    body.nl-page section#tramites-meson .trp-wrap,
    body.nl-page section#tramites-otros .trp-wrap {
        padding-top: 11.2rem !important;
        margin-top: -170px;
    }
}

@media (max-width: 767px) {

    body.nl-page section#tramites-escrituras .trp-wrap,
    body.nl-page section#tramites-meson .trp-wrap,
    body.nl-page section#tramites-otros .trp-wrap {
        padding-top: 10.4rem !important;
        padding-bottom: 2.2rem;
        margin-top: -145px;
    }

    body.nl-page section#tramites-escrituras .trp-head,
    body.nl-page section#tramites-meson .trp-head,
    body.nl-page section#tramites-otros .trp-head,
    body.nl-page section#tramites-escrituras .trp-body,
    body.nl-page section#tramites-meson .trp-body,
    body.nl-page section#tramites-otros .trp-body {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    body.nl-page section#tramites-escrituras .accordion-button,
    body.nl-page section#tramites-meson .accordion-button,
    body.nl-page section#tramites-otros .accordion-button {
        font-size: 1rem !important;
    }
}

/* =========================================================
   AJUSTE MOBILE: misma sensación visual que en PC
   - Solo corrige el empuje del primer bloque bajo el menú
========================================================= */
@media (max-width: 991px) {
    body.nl-page section.menu+section {
        margin-top: calc(var(--nav-offset) - 75px) !important;
    }
}

@media (max-width: 575px) {
    body.nl-page section.menu+section {
        margin-top: calc(var(--nav-offset) - 91px) !important;
    }
}