/* Sólo encabezados configurados desde Inicio, Página o Módulo. */
html body .one-titulo-diseno {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
html body .one-titulo-diseno::before,
html body .one-titulo-diseno::after { content: none !important; }
/* El mínimo comparte el contenedor del sitio aunque el módulo sea de ancho completo. */
html body .one-titulo-diseno .one-titulo-carril {
    display: block;
    width: 100vw;
    flex-shrink: 0;
    align-self: center;
    min-width: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    text-align: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
}
html body #pt-pageContent .one-titulo-diseno.one-titulo-ancho-sitio {
    display: flex !important;
    justify-content: center;
}
html body #pt-pageContent .one-titulo-diseno .one-titulo-carril {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: inherit !important;
}
html body .modulo-home.container .one-titulo-ancho-sitio .one-titulo-carril,
html body .one-fila-modulos .one-titulo-ancho-sitio .one-titulo-carril,
html body #pt-pageContent .container > .pt-block-title > .one-titulo-ancho-sitio .one-titulo-carril {
    width: 100%;
}
/* Si el título ya está en el contenedor central, no duplicar sus márgenes interiores. */
html body #pt-pageContent .container > .pt-block-title > .one-titulo-ancho-sitio .one-titulo-carril {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
html body .one-titulo-diseno .one-titulo-decoracion {
    display: inline-flex;
    flex-direction: column;
    vertical-align: top;
    max-width: 100%;
    box-sizing: border-box;
    text-align: inherit;
    font: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
}
html body .one-titulo-diseno .one-titulo-contenido {
    display: block;
    max-width: 100%;
    min-width: 0;
    font: inherit !important;
    color: inherit !important;
    text-align: inherit;
    letter-spacing: inherit !important;
    box-sizing: border-box;
}
html body .one-titulo-decorado .one-titulo-decoracion::before,
html body .one-titulo-decorado .one-titulo-decoracion::after {
    display: block;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    height: 0;
    box-sizing: content-box;
    border: 0;
    border-top: var(--one-titulo-grosor, 2px) solid var(--one-titulo-color-linea, currentColor);
}
html body .one-titulo-posicion-top .one-titulo-decoracion::before,
html body .one-titulo-posicion-both .one-titulo-decoracion::before {
    content: '';
    margin-bottom: var(--one-titulo-separacion, 8px);
}
html body .one-titulo-posicion-bottom .one-titulo-decoracion::after,
html body .one-titulo-posicion-both .one-titulo-decoracion::after {
    content: '';
    margin-top: var(--one-titulo-separacion, 8px);
}
html body .one-titulo-ancho-module .one-titulo-decoracion,
html body .one-titulo-ancho-inset .one-titulo-decoracion,
html body .one-titulo-ancho-short .one-titulo-decoracion { width: 100%; }
html body .one-titulo-ancho-inset .one-titulo-decoracion::before,
html body .one-titulo-ancho-inset .one-titulo-decoracion::after {
    width: calc(100% - 40px);
    align-self: center;
}
html body .one-titulo-ancho-short .one-titulo-decoracion::before,
html body .one-titulo-ancho-short .one-titulo-decoracion::after { width: var(--one-titulo-largo, 60px); }
html body .one-titulo-diseno[style*="text-align:center"] .one-titulo-decoracion::before,
html body .one-titulo-diseno[style*="text-align:center"] .one-titulo-decoracion::after { align-self: center; }
html body .one-titulo-diseno[style*="text-align:right"] .one-titulo-decoracion::before,
html body .one-titulo-diseno[style*="text-align:right"] .one-titulo-decoracion::after { align-self: flex-end; }
html body .one-titulo-ancho-inset .one-titulo-decoracion::before,
html body .one-titulo-ancho-inset .one-titulo-decoracion::after { align-self: center !important; }
html body .one-titulo-estilo-double .one-titulo-decoracion::before,
html body .one-titulo-estilo-double .one-titulo-decoracion::after {
    border-top-style: double;
    border-top-width: max(3px, var(--one-titulo-grosor, 2px));
}
html body .one-titulo-estilo-dotted .one-titulo-decoracion::before,
html body .one-titulo-estilo-dotted .one-titulo-decoracion::after { border-top-style: dotted; }
html body .one-titulo-estilo-dashed .one-titulo-decoracion::before,
html body .one-titulo-estilo-dashed .one-titulo-decoracion::after { border-top-style: dashed; }
html body .one-titulo-estilo-gradient .one-titulo-decoracion::before,
html body .one-titulo-estilo-gradient .one-titulo-decoracion::after {
    height: var(--one-titulo-grosor, 2px);
    border: 0;
    background: linear-gradient(90deg, transparent, var(--one-titulo-color-linea, currentColor), transparent);
}
html body .one-titulo-estilo-background .one-titulo-decoracion::before,
html body .one-titulo-estilo-background .one-titulo-decoracion::after,
html body .one-titulo-estilo-accent .one-titulo-decoracion::before,
html body .one-titulo-estilo-accent .one-titulo-decoracion::after { content: none; }
html body .one-titulo-estilo-background .one-titulo-contenido {
    background: var(--one-titulo-color-linea, transparent);
    padding: var(--one-titulo-separacion, 8px) max(8px, var(--one-titulo-separacion, 8px));
}
html body .one-titulo-estilo-accent .one-titulo-contenido {
    border-left: var(--one-titulo-grosor, 2px) solid var(--one-titulo-color-linea, currentColor);
    padding-left: var(--one-titulo-separacion, 8px);
}
/* El carril mantiene la alineación; el título/fondo puede ocupar sólo su texto. */
html body :is(.one-titulo-estilo-none, .one-titulo-estilo-background, .one-titulo-estilo-accent).one-titulo-texto-ancho-text .one-titulo-decoracion {
    width: fit-content;
    margin-left: 0;
    margin-right: 0;
}
html body :is(.one-titulo-estilo-none, .one-titulo-estilo-background, .one-titulo-estilo-accent).one-titulo-texto-ancho-module .one-titulo-decoracion {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
html body :is(.one-titulo-estilo-none, .one-titulo-estilo-background, .one-titulo-estilo-accent).one-titulo-texto-ancho-inset .one-titulo-decoracion {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
}
html body :is(.one-titulo-estilo-none, .one-titulo-estilo-background, .one-titulo-estilo-accent).one-titulo-ancho-sitio .one-titulo-decoracion {
    width: 100%;
}
