.section-title input {
    display: none;
}

.section-title label {
    font-weight: bold;
    font-size: 1.2rem;
    margin-top: 1.5rem;
    display: block;
    border-bottom: 1px solid #ddd;
    padding-bottom: .25rem;
}

/* ============================================
   OCULTAR TEXTOS DE REGISTRO JOOMLA
   ============================================ */

/* Ocultar "Registration" header */
body.view-registration .page-header,
body.view-registration h1:first-of-type,
.com-users-registration h1:first-of-type {
    display: none !important;
}

/* Ocultar intro de registro en la vista de registro */
body.view-registration .registration-intro,
body.view-registration .registration-header,
body.view-registration .registration-subtitle {
    display: none !important;
}

/* Selectores específicos solo para la vista de registro */
body.view-registration .registration .page-header,
body.view-registration h1.componentheading,
body.view-registration h2.componentheading,
body.view-registration .page-title,
body.view-registration h1.page-title {
    display: none !important;
}

/* Ocultar breadcrumb si existe */
body.view-registration .breadcrumb {
    display: none !important;
}

/* Espaciado global equidistante: header -> contenido -> footer */
#sp-main-body {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

#sp-footer {
    margin-top: 14px !important;
}

@media (max-width: 768px) {
    #sp-main-body {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    #sp-footer {
        margin-top: 10px !important;
    }
}

/* Hotfix espaciado: módulo superior heredado de SP Page Builder */
body.view-registration .sp-module-content-top.clearfix,
body.view-login .sp-module-content-top.clearfix {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    overflow: hidden !important;
}

body.view-registration .sp-module-content-top.clearfix>.sp-module,
body.view-login .sp-module-content-top.clearfix>.sp-module {
    width: min(1110px, 100%) !important;
    max-width: 1110px !important;
    margin: 0 auto !important;
}

/* Elimina márgenes fantasma de addons ocultos (Registration / Sign Up) */
body.view-registration .sp-module-content-top .sppb-addon-wrapper,
body.view-login .sp-module-content-top .sppb-addon-wrapper {
    margin: 0 !important;
}

body.view-registration .sp-module-content-top .sppb-addon,
body.view-login .sp-module-content-top .sppb-addon {
    min-height: 0 !important;
    height: auto !important;
}

/* ============================================
   BUG 724Therapy #1 (2026.07.26): scroll bloqueado en todo el sitio
   ============================================
   Diagnostico (validado en vivo contra https://uat724.724-therapy.com,
   reproducido tanto en Inicio (id=9) como en Nuestro equipo (id=38), es decir,
   no es un problema de una fila/addon puntual sino de comportamiento global):
     - Bootstrap 5 aplica por defecto:
         @media (prefers-reduced-motion: no-preference) { :root { scroll-behavior: smooth } }
     - Con esa regla activa, CUALQUIER intento de scroll programatico o "animado"
       (window.scrollTo/scrollTop sin behavior:'instant', anclas de menu con salto
       nativo, scrollIntoView) queda completamente bloqueado de forma permanente:
       se probo en vivo con esperas de hasta 10s sin ningun avance.
     - Con scroll-behavior:auto (instantaneo) el mismo scrollTo/scrollTop funciona
       de inmediato y de forma estable en el 100% de las pruebas.
     - Se descarto overflow-anchor (scroll anchoring) como causa: deshabilitarlo
       no restaura el scroll. Se descartaron overlays con position:fixed cubriendo
       el viewport, el modulo offcanvas y el widget Wolkvox (no estaba presente en
       las pruebas donde igualmente fallaba).
   No se pudo aislar una unica linea de JS propia del sitio que cancele la
   animacion "smooth" (se revisaron main.js, custom.js, y los assets globales de
   SP Page Builder sin encontrar un handler que reescriba scrollTop). Dado que
   depender de una animacion que ya demostro poder colgar el scroll de TODO el
   sitio (incluyendo el acceso al widget de reservas) es un riesgo funcional
   critico, se desactiva la animacion "smooth" y se deja scroll instantaneo
   (comportamiento estandar de cualquier navegador sin esta regla de Bootstrap).
   Ver DEPLOY-NOTES-v2026.07.26.1 para detalle completo de la investigacion. */
:root,
html {
    scroll-behavior: auto !important;
}

/* ============================================
   BUG General #1 (2026.08.07): active menu indicator con color incorrecto
   ============================================
   Reportado por QA con el hex #30c3ec (cian). Investigado en vivo (Localhost,
   navegador real, con el item "Nuestro equipo" activo -- Itemid=265): ese hex
   exacto no aparece en ningun archivo del repo (scss/css/js) ni en los
   parametros de estilo del template Nuron guardados en BD
   (menu_text_active_color/menu_dropdown_text_active_color SI estaban en un
   azul #0345bf incorrecto -- corregido aparte via UPDATE directo a
   th724_template_styles.params, con backup previo en
   scripts/backups/local/20260807-template_style_13_pre_bug_general1.tsv, no
   requiere cambio de codigo).
   El "indicador" real -- el pequeno triangulo/cuna que aparece bajo el item
   de menu de nivel superior activo, y el equivalente en items de submenu --
   SI se confirmo en vivo via getComputedStyle(): viene hardcodeado en el CSS
   COMPILADO del framework Helix Ultimate (templates/nuron/css/template.css,
   NUNCA editado directamente por regla del proyecto) como rgb(11, 231, 224)
   / #0BE7E0 (la familia de cian del preset "default" de Helix Ultimate) en:
     .sp-megamenu-parent>li:after            (triangulo bajo item de 1er nivel)
     .sp-megamenu-parent .sp-dropdown li.sp-menu-item:after  (triangulo de submenu)
   Ambas reglas del framework fijan el color junto con propiedades de layout
   (border-width/style) en una sola declaracion "border-bottom:7px solid ..."
   / "border-left:7px solid ...", por lo que no hay forma de pisar solo el
   color con una regla de igual especificidad sin repetir todo el shorthand;
   se usa !important como unico camino viable, documentado aqui (regla del
   proyecto: [NEVER] usar !important salvo que sea el unico camino viable).
   Color destino: morado corporativo #6B3FA0 (Manual de Identidad Visual
   Corporativa, linea 28 -- mismo tono ya usado en el fix del correo de
   bienvenida de Persona #5). */
.sp-megamenu-parent > li:after {
    border-bottom-color: #6B3FA0 !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item:after {
    border-left-color: #6B3FA0 !important;
}