/*
Theme Name: ARTHUM
Description: Tema para el sitio web de ARTHUM Uniandes
Version: 2.1.18
Author: María Camila Jaramillo
Text Domain: arthum
*/


/*-------------------00. RESET CSS (Meyer Reset)-------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
    background: var(--arthum-white);
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a {
    text-decoration: none;
}

body.single-notas .single-nota-container p a,
body.single-eventos p a,
body.single-anuncios p a,
body.single-clasificados p a,
body.single-notas li:not(.menu-item) a,
body.single-eventos li:not(.menu-item) a:not(.child-event-title):not(.post-button):not(.grid-button):not(.active-anchor),
body.single-anuncios li:not(.menu-item) a,
body.single-clasificados li:not(.menu-item) a {
    text-decoration: underline;
    font-weight: 850;
    color: inherit;
}


p a,
li:not(.menu-item):not(.has-child-anchors):not(.active-section) a:not(.child-event-title):not(.post-button):not(.grid-button):not(.active-anchor) {
    text-decoration: underline;
    font-weight: 600;
    color: inherit;
}


body.single-notas .single-nota-container p strong,
body.single-eventos p strong,
body.single-anuncios p strong,
body.single-clasificados p strong {
    font-weight: 850;
}

body.single-anuncios a strong,
body.single-eventos a strong,
body.single-notas a strong,
body.single-clasificados a strong {
    font-weight: 850;
}

a:focus {
    outline: none;
}

/* Se agregó esta regla para sobreescribir la regla que wordpress agregó en otro css */
html :where(img) {
    max-width: unset
}


/*-------------------00. BOOTSTRAP FIXES-------------------*/
/* Algunas partes del css de bootstrap estaban generando problemas, por lo que las borramos
 * del css de bootstrap y las re escribimos aquí de forma que no alteren nada.
*/

/* Se modificó esta regla para no incluir al side-menu, estaba generando problemas en iOS */
*,
:not(#side-menu *)::after,
:not(#side-menu *)::before {
    box-sizing: inherit
}

/*-------------------------------00. COLORES---------------------------------------*/
:root {
    /* Arthum palette mapped to arqdis variables (do not rename slugs) */
    --arqdis-blue: #73B9FF;
    /* Azul */
    --arqdis-magenta: #FF57A7;
    /* Fucsia */
    --arqdis-cyan: #00FFFF;
    /* Cyan real */
    --arqdis-gray: #5A5A58;
    /* Grey stays as-is unless specified */
    --arqdis-black: #070707;
    /* Negro */
    --arqdis-white: #EFEEE8;
    /* Blanco */
    --arqdis-orange: #FF7300;
    /* Naranja */
    --arqdis-ochre: #AF7300;
    /* Ocre */
    --arqdis-green: #00EA5F;
    /* Verde */
    --arqdis-light-green: #CEFD79;
    /* Verde claro */
    --arqdis-dark-green: #2B4C00;
    /* Verde oscuro */
    --arqdis-red: #AF0022;
    /* Rojo */

    /* Arthum aliases (preferred naming) mapped to the same values */
    --arthum-blue: var(--arqdis-blue);
    --arthum-fuchsia: var(--arqdis-magenta);
    --arthum-cyan: var(--arqdis-cyan);
    --arthum-gray: var(--arqdis-gray);
    --arthum-black: var(--arqdis-black);
    --arthum-white: var(--arqdis-white);
    --arthum-orange: var(--arqdis-orange);
    --arthum-ochre: var(--arqdis-ochre);
    --arthum-green: var(--arqdis-green);
    --arthum-light-green: var(--arqdis-light-green);
    --arthum-dark-green: var(--arqdis-dark-green);
    --arthum-red: var(--arqdis-red);
}

/*-------------------01. TIPOGRAFÍAS Y ESTILOS DE TEXTO----------------------------*/
/* @import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap'); */

:root {
    font-size: 20px;
    /* Variable-font family aliases (Typekit kit provides these names) */
    --arthum-ff-palast: "palast-variable", sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --arthum-ff-mikrobe: "mikrobe-variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --arthum-ff-area: "area-variable", "Inktrap", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    /* Font-axis friendly defaults (used with font-variation-settings where available) */
    --arthum-var-wght-regular: 350;
    --arthum-var-wght-medium: 450;
    --arthum-var-wght-bold: 600;
    /* Font-variation-settings defaults for variable fonts */
    --arthum-var-settings-palast: "wght" 400, "opsz" 48;
    --arthum-var-settings-mikrobe: "wght" 400;
    --arthum-var-settings-area: "wght" 400;
    --arthum-var-opsz-default: 160;
    --arthum-var-wdth-default: 100;

    --fz-8pt: 0.4rem;
    --fz-10pt: 0.5rem;
    --fz-11pt: 0.55rem;
    --fz-12pt: 0.6rem;
    --fz-14pt: 0.7rem;
    --fz-15pt: 0.75rem;
    --fz-16pt: 0.8rem;
    --fz-18pt: 0.9rem;
    --fz-20pt: 1rem;
    --fz-24pt: 1.2rem;
    --fz-27pt: 1.35rem;
    --fz-28pt: 1.4rem;
    --fz-32pt: 1.6rem;
    --fz-36pt: 1.8rem;
    --fz-38pt: 1.9rem;
    --fz-40pt: 2rem;
    --fz-45pt: 2.25rem;
    --fz-48pt: 2.4rem;
    --fz-52pt: 2.6rem;
    --fz-56pt: 2.8rem;
    --fz-64pt: 3.2rem;
    --fz-71pt: 3.55rem;
    --fz-72pt: 3.6rem;
    --fz-80pt: 4rem;
    --fz-96pt: 4.8rem;
    --fz-98pt: 4.9rem;
    --fz-112pt: 5.6rem;
    --fz-120pt: 6rem;
    --fz-135pt: 6.75rem;

    --fz-22pt: 1.1rem;
    --fz-30pt: 1.5rem;
    --fz-33pt: 1.65rem;
    --fz-35pt: 1.75rem;
    --fz-50pt: 2.5rem;
    --fz-60pt: 3rem;
    --fz-240pt: 12rem;


    /* Fluid/clamped typographic tokens (use clamp to keep sizes reasonable) */
    --arthum-fz-h1: clamp(var(--fz-50pt), 12vw, var(--fz-240pt));
    /* display — large but clamped */
    --arthum-fz-h2: clamp(var(--fz-60pt), 6.5vw, var(--fz-96pt));
    /* ~60pt target */
    --arthum-fz-h3: clamp(var(--fz-60pt), 6.5vw, var(--fz-96pt));
    /* ~60pt target */
    --arthum-fz-h4: clamp(var(--fz-33pt), 3.5vw, var(--fz-52pt));
    /* ~33pt */
    --arthum-fz-h5: clamp(var(--fz-32pt), 3.5vw, var(--fz-40pt));
    /* ~33pt */
    --arthum-fz-h6: clamp(var(--fz-32pt), 3vw, var(--fz-40pt));
    /* ~30pt */
    --arthum-fz-body: clamp(var(--fz-20pt), 1.6vw, var(--fz-32pt));
    /* ~20pt */
    --arthum-fz-btn: clamp(var(--fz-24pt), 2.2vw, var(--fz-38pt));
    /* ~24pt */
    --arthum-fz-label: clamp(var(--fz-20pt), 1.8vw, var(--fz-36pt));
    /* ~22pt */
    --arthum-fz-note: clamp(var(--fz-10pt), 1vw, var(--fz-16pt));
    /* ~10pt */
    /*Variables de tamaño de texto*/


    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Variable font examples (provided by user) */
.example-palast {
    font-family: "palast-variable", sans-serif;
    font-variation-settings: 'wght' 500, 'opsz' 160;
}

.example-palast-2 {
    font-family: "palast-variable", sans-serif;
    font-variation-settings: 'wght' 500, 'opsz' 160;
}

.example-mikrobe {
    font-family: "mikrobe-variable", sans-serif;
    font-variation-settings: 'wdth' 75;
}

.example-area {
    font-family: "area-variable", sans-serif;
    font-variation-settings: 'INKT' 0, 'wght' 100, 'wdth' 100, 'slnt' 0;
}

/* Map clamped tokens to semantics (examples) */
/* Headings and semantic classes */
/* H1 - Display: Mikrobe variable. Full-bleed effect: uses 100vw for font-size as requested */


iframe .wp-embedded-content {
    width: 100%;
    height: 100%;
}


h1.display,
.display {
    font-family: var(--arthum-ff-mikrobe);
    font-weight: var(--arthum-fw-regular);
    letter-spacing: var(--arthum-track-minus-5);
    line-height: var(--arthum-lh-100);
    /* Use rem-based clamped token for H1 to keep sizes consistent and accessible */
    font-size: var(--arthum-fz-h1);
    margin: 0.2em 0;
}

h1.hidden-h1 {
    display: none;
}

/* H2 - Titles: Area Variable Inktrap - Bold 60pt */
h2,
.h2,
.title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-var-wght-bold);
    font-size: var(--arthum-fz-h2);
    line-height: var(--arthum-lh-110);
}

/* H3 - Palast */
h3,
.h3 {
    font-family: var(--arthum-ff-palast);
    font-weight: var(--arthum-fw-light);
    font-size: var(--arthum-fz-h3);
    line-height: var(--arthum-lh-110);
}

/* H4 - Subtitles: Area Variable Inktrap bold 33pt */
h4,
.h4,
.subtitle {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-var-wght-bold);
    font-size: var(--arthum-fz-h4);
    line-height: var(--arthum-lh-110);
}

/* H5 - Info highlighted: Palast Var Text light italic 33pt, -1% tracking */
h5,
.h5,
.highlight-info {
    font-family: var(--arthum-ff-palast);
    font-weight: var(--arthum-fw-light);
    font-size: var(--arthum-fz-h5);
    line-height: var(--arthum-lh-110);
    letter-spacing: var(--arthum-track-minus-1);
}

/* H6 - Dates/info: Palast Var Text light 30pt */
h6,
.h6,
.info-dates {
    font-family: var(--arthum-ff-palast);
    font-weight: var(--arthum-fw-light);
    line-height: var(--arthum-lh-110);
    letter-spacing: var(--arthum-track-minus-1);
}

/* Buttons */
.btn-text {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-var-wght-bold);
    font-size: var(--arthum-fz-btn);
    line-height: var(--arthum-lh-110);
}

/* Labels */
.label {
    font-family: var(--arthum-ff-palast);
    font-weight: var(--arthum-fw-light);
    font-size: var(--arthum-fz-label);
    line-height: var(--arthum-lh-110);
    transition: font-variation-settings var(--arthum-var-transition), font-weight var(--arthum-var-transition), font-style var(--arthum-var-transition), letter-spacing var(--arthum-var-transition);
}

/* Hover: attempt smooth variable change (works best with variable fonts that expose wght/ital axes)
   - In practice, if the loaded font exposes 'wght' and 'slnt' or 'ital' axes, the font-variation-settings
     change below will animate smoothly. If not, the browser will fall back to switching weight normally.
*/
.label:hover {
    /* increase weight and slant slightly */
    font-weight: var(--arthum-fw-medium);
    /* try to set variation axis - if available (wght) */
    font-variation-settings: 'wght' var(--arthum-fw-medium);
    letter-spacing: calc(var(--arthum-track-minus-1) - 0.01em);
}

/* Content titles and text */
.content-title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-var-wght-bold);
    font-size: var(--arthum-fz-content-title);
    line-height: var(--arthum-lh-110);
}

.content-text {
    font-family: var(--arthum-ff-palast);
    font-weight: var(--arthum-fw-regular);
    font-size: var(--arthum-fz-content-text);
    line-height: var(--arthum-lh-110);
}

/* Menu */
.menu-title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-fw-semibold);
    font-size: var(--arthum-fz-menu);
}

.menu-text {
    font-family: var(--arthum-ff-palast);
    font-weight: var(--arthum-fw-regular);
    font-size: var(--arthum-fz-menu);
}

/* Footer */
.footer-title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-var-wght-bold);
    font-size: var(--arthum-fz-footer);
}

.footer-text {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-fw-regular);
    font-size: var(--arthum-fz-footer);
}

/* Notes */
.note {
    font-family: var(--arthum-ff-palast);
    font-size: var(--arthum-fz-note);
    line-height: var(--arthum-lh-110);
}

/* Body paragraphs */
body,
p {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-weight: var(--arthum-fw-regular);
}

/* Body strong */
strong,
b {
    font-weight: 700;
}




/* -- SINGLES -- */
.section-title,
.serie-title,
.archive-title,
.tag-archive-title,
.archive-subtitle,
.small-archive-title {
    font-family: var(--arthum-ff-area);
    font-weight: 700;
    font-size: var(--fz-60pt);
    line-height: 1em;
    color: var(--arthum-black);
    text-decoration: none;
    font-variation-settings: 'INKT' 100;
}


.serie-title,
.archive-title,
.tag-archive-title {
    font-size: var(--fz-80pt);
}

.archive-subtitle {
    font-size: var(--fz-30pt);
}

.section-title.long-title {
    font-size: var(--fz-40pt);
}

.serie-title.long-title,
.archive-title.long-title {
    font-size: var(--fz-80pt);
}

.small-archive-title {
    font-size: var(--fz-64pt);
}

h4.post-subtitle,
h2.main-subtitle {
    font-size: var(--fz-22pt);
    line-height: 1.2em;
}

h1.hidden-h1 {
    display: none;
}

h5.post-subtitle,
h4.wp-block-arqdis-plugin-subtitle {
    font-size: var(--fz-30pt);
    line-height: 1.3em
}

h3.post-subtitle,
h2.main-subtitle.long-subtitle,
li.expo-project-title {
    font-size: var(--fz-20pt);
    line-height: 1.2em;
}

h6.post-subtitle,
a.facility-link {
    font-size: var(--fz-16pt);
    line-height: var(--fz-24pt);
}

h6.grid-title,
.grid-subtitle {
    display: inline;
    font-family: var(--arthum-ff-area);
    font-size: var(--fz-18pt);
    line-height: calc(var(--fz-18pt)*1.2);
    font-variation-settings: 'INKT' 100;
    font-weight: 600;
}

.post-subtitle.tiny-subtitle {
    font-size: var(--fz-12pt);
    line-height: 1.3em;
    text-transform: none;
}

a[href].magenta-on-hover {
    color: var(--arthum-black);
    text-decoration: none;
    transition: color 0.3s;
}

a[href].magenta-on-hover:hover {
    color: var(--arqdis-magenta);
}

a.post-button,
button.post-button,
.wp-block-buttons,
a.wp-block-button__link,
.post-body a.wp-block-button__link,
.child-event-addtocal {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-size: var(--fz-14pt);
    line-height: 1.2em;
    font-weight: 700;
    color: var(--arthum-white);
    text-decoration: none;
    text-transform: uppercase;
    font-style: initial;
}

a.wp-block-button__link {
    background-color: var(--arthum-fuchsia);
    color: var(--arthum-black);
    text-transform: none;
    font-size: var(--fz-18pt);
    transition: all 0.3s ease;
}

a.wp-block-button__link:hover,
a.wp-block-button__link:focus {
    background-color: var(--arthum-red);
    color: var(--arthum-white);
    text-transform: none;
    font-size: var(--fz-18pt);
    transform: scale(1.03);
}

.button-hash-active {
    background-color: var(--arthum-black) !important;
    color: var(--arthum-white) !important;
    text-transform: none !important;
    font-size: var(--fz-18pt) !important;
}

.wp-block-buttons {
    margin: var(--arthum-spacing-lg) 0;
}

div#botones-principales a.wp-block-button__link,
div#botones-secundarias a.wp-block-button__link {
    background-color: transparent;
    border: 2px solid var(--arthum-black);
    color: var(--arthum-black);
    transition: all 0.3s ease;

}

div#botones-principales a.wp-block-button__link:hover,
div#botones-secundarias a.wp-block-button__link:hover,
div#botones-principales a.wp-block-button__link:focus,
div#botones-secundarias a.wp-block-button__link:focus {
    background-color: var(--arthum-black);
    border: 2px solid var(--arthum-black);
    transform: scale(1.03);
    color: var(--arthum-white);

}



.post-subtitle {
    display: block;
}

.post-subtitle,
.wp-block-arqdis-plugin-subtitle,
.wp-block-arqdis-plugin-post-date,
.facility-link,
.expo-section-title,
.expo-project-title,
.expo-section-shortcut,
.anuncio-lista-title {
    font-variation-settings: 'INKT' 100;
    font-family: var(--arthum-ff-area);
    color: var(--arthum-black);
    text-transform: uppercase;
}

h2.main-subtitle {
    font-family: var(--arthum-ff-area);
    font-weight: 700;
    text-transform: uppercase;
    font-size: var(--fz-24pt);
    line-height: 1.2em;
    color: var(--arthum-black);
    text-transform: uppercase;
    font-variation-settings: 'INKT' 0;
}

.post-related-people {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    font-size: var(--fz-20pt);
    line-height: var(--fz-24pt);
    font-weight: 400;
}

.related-people-subcurso {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100;
    line-height: 1.2em;
    font-weight: 400;
}



.post-related-people a,
.related-people-subcurso a,
.wp-block-arqdis-plugin-author a,
a.bold-on-hover,
a.bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
    font-style: italic;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--arthum-black);
}

a.bold-on-hover-body,
button.bold-on-hover-body {
    text-transform: initial;
}

.post-body strong,
.post-body b,
.info-page-main strong,
.info-page-main b,
.course-type-desc strong,
.course-type-desc b {
    font-weight: 700;
}

em,
.post-body em,
.post-body i,
.info-page-main em,
.info-page-main i,
.course-type-desc em,
.course-type-desc i {
    font-style: italic;
}


a.bold-on-hover,
a.bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
    font-weight: 400;
}

.wp-block-arqdis-plugin-author a {
    font-weight: 500;
}

.post-body a:not(.not-default-link):not(.wp-block-button__link)[href],
.post-related-people a[href],
.wp-block-arqdis-plugin-author a[href],
a[href].bold-on-hover,
a[href].bold-on-hover-body,
button.bold-on-hover,
button.bold-on-hover-body {
    color: var(--arthum-black);
}

.post-links a {
    text-decoration: underline;
}

h6.wp-block-arqdis-plugin-intitle {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

    font-size: var(--fz-20pt);
    line-height: var(--fz-24pt);
    font-weight: 700;
    text-transform: uppercase;
}

blockquote.wp-block-arqdis-plugin-quote {
    color: var(--arthum-black);
    text-align: right;
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-40pt);
    font-style: italic;
    font-weight: 250;
    line-height: 115%;
    letter-spacing: -0.32px;
    margin-bottom: var(--fz-45pt);
}

figure.wp-block-embed {
    margin-bottom: var(--fz-45pt);
    margin-top: var(--fz-45pt);
}

/* Embeds responsivos: el iframe respeta el aspect ratio aunque tenga width/height fijos en el HTML */
.wp-has-aspect-ratio {
    max-width: 100%;
    overflow: hidden;
}

.wp-has-aspect-ratio .wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
}

.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
    padding-bottom: 56.25%;
    /* 9/16 */
}

.wp-embed-aspect-4-3 .wp-block-embed__wrapper {
    padding-bottom: 75%;
    /* 3/4 */
}

.wp-embed-aspect-1-1 .wp-block-embed__wrapper {
    padding-bottom: 100%;
}

.single-notas .post-body strong em,
.single-notas .post-body em strong,
.single-notas .post-body b em,
.single-notas .post-body em b,
.single-notas .post-body strong i,
.single-notas .post-body i strong,
.single-notas .post-body b i,
.single-notas .post-body i b {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    font-style: initial;
    text-transform: uppercase;
}

/* Moved filter styles to consolidated section below */

.grid-header-container input.search-field,
.grid-header-container form.search-form {
    font-size: var(--fz-30pt);
}

.topics a.program-tag {
    text-transform: uppercase;
}


.evento-fecha-inicio .evento-fecha-mes,
.evento-fecha-fin .evento-fecha-mes {
    font-size: var(--fz-22pt);
}

.evento-fecha-dia {
    font-family: 'Roboto mono', monospace;
    font-weight: 700;
    font-size: var(--fz-50pt);
}

.evento-fecha-inicio .evento-fecha-dia,
.evento-fecha-fin .evento-fecha-dia {
    font-size: var(--fz-35pt);
}

.evento-fecha-ano {
    font-family: var(--arthum-ff-palast);
    font-weight: 350;
    color: var(--arthum-white);
    font-size: var(--fz-71pt);
}

.evento-fecha-hora,
.evento-fecha-zona {
    font-family: var(--arthum-ff-palast);
    font-weight: 350;
    font-size: var(--fz-71pt);
    color: var(--arthum-white);
    font-style: italic;
    text-transform: lowercase;
}

.evento-fecha-zona {
    text-transform: uppercase;
    margin-left: .5em;
}

.evento-fecha-hora::before {
    content: ' ⎯ ';
    font-family: var(--arthum-ff-palast);
    font-weight: 350;
    font-size: var(--fz-71pt);
    color: var(--arthum-white);
    font-style: italic;
}

.post-body .in-body-title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    font-size: var(--fz-14pt);
    line-height: var(--fz-24pt);
    color: var(--arthum-black);
    text-transform: uppercase;
}

.layout-main-bottom .slider-container {
    margin-bottom: var(--fz-45pt);
}

[class *="wp-block"] figcaption,
span.text-caption,
figcaption.text-caption {
    font-size: var(--fz-14pt);
    line-height: 1.2em;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 500;
    color: var(--arthum-black);
}

.datos-semillero,
.datos-clasificado strong,
.classified-label,
 body.single-clasificados .post-intitle{
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-14pt);
    line-height: 1.4em;
    color: var(--arthum-black);
}

.datos-semillero {
    font-weight: 400;
}

div.logos-instituciones span {
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: var(--fz-14pt);
    color: var(--arthum-black);
    line-height: 1.2em;
    text-transform: uppercase;

}

button.expo-index {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

    font-weight: 700;
    font-size: var(--fz-18pt);
    line-height: 1.4em;
    color: var(--arthum-black);
    text-transform: uppercase;
}

li.expo-project-author {
    font-family: 'Roboto Mono', monospace;
    font-weight: 400;
    font-size: var(--fz-16pt);
    font-style: italic;
    line-height: 1.3em;
    text-transform: uppercase;
}

button.show-more-button {
    font-family: "Work Sans", sans-serif;
    font-size: var(--fz-14pt);
}

.expo-section-title,
.expo-section-shortcut {
    font-size: var(--fz-30pt);
    line-height: 1.3em
}

.concurso-side-info,
.anuncio-attachment-links {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

    line-height: 1.2em;
    font-size: var(--fz-16pt);
    color: var(--arthum-black);
}

.anuncio-attachment-links {
    font-size: var(--fz-14pt);
}

.concurso-side-info a,
.anuncio-attachment-links a {
    text-decoration: none;
    color: var(--arthum-black);
}

.anuncio-lista-title,
.anuncio-lista-item-parent {
    font-size: var(--fz-20pt);
}

.anuncio-lista-item-name,
.anuncio-lista-item {
    font-size: var(--fz-15pt);
}

.anuncio-lista-subitem {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

    text-transform: lowercase;
    font-size: var(--fz-10pt);
    font-weight: 600;
}

.anuncio-lista-mes {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

    text-transform: uppercase;
    font-weight: 700;
    font-size: var(--fz-14pt);
}

/* -- SINGLE CURSOS --*/
.metadatos-subcurso {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

    font-weight: 400;
    font-size: var(--fz-12pt);
    line-height: 1em;
}

/* -- SINGLE PODCASTS --*/
.podcast-episode-title,
.podcast-episode-hosts,
.podcast-episode-hosts p {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;

}

.podcast-episode-title {
    font-weight: 700;
    font-size: var(--fz-20pt);
    line-height: 1.2em;
}

.podcast-episode-hosts p strong {
    font-weight: 700;
}

.podcast-episode-hosts p em {
    font-style: italic;
}

.podcast-episode-hosts p a[href] {
    color: var(--arthum-black);
    text-decoration: none;
}


.post-body ol {
    list-style: decimal;
}


/*-------------------02. VARIABLES DE ESPACIADO----------------------------*/
:root {
    /* Espaciado base (1rem = 20px) */
    --arthum-spacing-xs: 0.2rem;
    /* 4px */
    --arthum-spacing-sm: 0.4rem;
    /* 8px */
    --arthum-spacing-md: 0.8rem;
    /* 16px */
    --arthum-spacing-lg: 1.2rem;
    /* 24px */
    --arthum-spacing-xl: 1.6rem;
    /* 32px */
    --arthum-spacing-2xl: 2.4rem;
    /* 48px */
    --arthum-spacing-3xl: 3.2rem;
    /* 64px */
    --arthum-spacing-4xl: 4.8rem;
    /* 96px */
    --arthum-spacing-5xl: 6.4rem;
    /* 128px */
    --arthum-spacing-6xl: 8rem;
    /* 160px */
}

/*-------------------02. VARIABLES DE BORDES----------------------------*/
:root {
    /* Bordes */
    --arthum-border-radius-sm: 0.2rem;
    /* 4px */
    --arthum-border-radius-md: 0.4rem;
    /* 8px */
    --arthum-border-radius-lg: 0.8rem;
    /* 16px */
    --arthum-border-radius-xl: 1.2rem;
    /* 24px */
    --arthum-border-radius-circle: 50%;
}

:root,
html {
    /*Variables de diagramación*/
    --min-side-margin: 3rem;
    /* 60px */
    --thin-content-w: 60rem;
    /* 1200px */
    --normal-content-w: 75rem;
    /* 1500px */
    --medium-content-w: 80rem;
    /* 1600px */
    --large-content-w: 85rem;
    /* 1700px */
    --larger-content-w: 107.5rem;
    /* 2150px */
    --grid-content-w: 115rem;
    /* 2300px */
    --largest-content-w: 125rem;
    /* 2500px */
    --logged-in-h: 1.6rem;
    /* 32px */
}

html {
    /* Forzamos el scroll para evitar layout shifts
     cuando el usuario filtra un grid y los contenidos son tan
     pocos que quita el scrollbar
  */
    overflow-y: scroll;
    /* Ocultamos cualquier scroll que se salga del ancho normal del contenido
     especialmente para el thumbnail de anuncios cuando tienen un badge animado 
  */
    overflow-x: hidden;
}


/* diagramación de la página */

/* -- CONTAINERS -- */
.grid-container,
.grid-object-container,
.single-container,
.facility-single-container,
.wide-single-container,
.midwide-single-container,
.post-related-content,
.post-related-list,
.post-related-grid,
.grid-header-container,
.edco-header-container,
.thin-container {
    padding-left: var(--min-side-margin) !important;
    padding-right: var(--min-side-margin) !important;
}

/* Eliminar padding lateral para grids de contenido relacionado */
body.personas-template-default .container-fluid.grid-container.packery-layout-grid,
body.personas-template-default .container-fluid.single-container .post-related-grid.container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ---------- PACKERY GENERAL LAYOUT ---------*/

.packery-layout-grid .archive-grid-layout {
    opacity: 1;
    transition: opacity 0.3s;
}

.packery-layout-grid .archive-grid-layout.loading-masonry {
    opacity: 0;
}

.packery-layout-grid .grid-archive-col-sizer,
.packery-layout-grid .grid-archive-item,
.packery-layout-grid .stamped-content {
    width: var(--grid-col-sz);
}

body:not(.post-type-archive-audiovisuales) .packery-layout-grid .grid-archive-item.double-width:not(.grid-archive-item.double-width + .grid-archive-item.double-width),
.post-type-archive-audiovisuales .packery-layout-grid .grid-archive-item.double-width:nth-child(8n),
.packery-layout-grid .stamped-content.double-width {
    width: calc(var(--grid-col-sz)*2 + var(--grid-gutter-sz));
}

.packery-layout-grid .grid-archive-gutter-sizer {
    width: var(--grid-gutter-sz);
}

/* ---------- CSS GRID GENERAL LAYOUT ---------*/
.css-layout-grid .archive-grid-layout {
    display: grid;
    grid-template-columns: repeat(var(--grid-col-count), minmax(0, 1fr));
    grid-auto-flow: dense;
    grid-gap: var(--grid-gutter-sz)
}

.css-layout-grid .grid-archive-col-sizer,
.css-layout-grid .grid-archive-gutter-sizer {
    display: none;
}

/* ---------- CONTENIDOS RELACIONADOS LAYOUT ---------*/
.post-related-content,
.post-related-list {
    margin-top: min(5vw, 90px);
    padding-bottom: 3rem;
}

.post-related-grid {
    margin-top: min(5vw, 60px);
}

h6.related-content-title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 600;
    line-height: normal;
    font-size: var(--fz-60pt);
    margin: 2em 0;
}

/* ---------- BOTÓN VOLVER ---------*/
.back-button-container {
    position: absolute;
    top: 7em;
    z-index: 10;
    right: var(--min-side-margin);
}

.post-related-grid .back-button-container {
    margin-bottom: 6rem;
    display: none;
}

.back-button-container a {
    line-height: 1.2em;
    background-color: var(--arthum-light-green);
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-18pt);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    transition: all 0.3s ease;
    text-transform: none;
}

.back-link-text {
    display: inline-block;
}

.back-link-icon {
    font-family: 'Material Symbols Outlined';
    font-size: var(--fz-18pt);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    width: 18px;
    height: 18px;
    font-weight: 700;
    font-variation-settings: 'FILL' 0, 'wght' 700, 'GRAD' 0, 'opsz' 24;
}

.back-button-container a:hover {
    background-color: var(--arthum-dark-green);
    color: var(--arthum-white);
    transform: scale(1.03);
}


#prev-slide-event-body,
#next-slide-event,
#next-slide-event-body,
#prev-slide-event,
#prev-slide,
#next-slide {
    font-family: 'Material Symbols Outlined', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background-color: var(--arthum-white);
    border: 1px solid var(--arthum-black);
    color: var(--arthum-black);
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: var(--fz-24pt);
    font-weight: 600;
    text-align: center;
    z-index: 6;
}

#prev-slide-event-body:hover,
#next-slide-event:hover,
#next-slide-event-body:hover,
#prev-slide-event:hover,
#prev-slide:hover,
#next-slide:hover {
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    border: 1px solid var(--arthum-black);
    transform: scale(1.03);
}




/*===============================
   03.  NAV-BAR
   =============================== */

/*-------------------03. MENU DE NAVEGACIÓN-------------------*/
/* Variables específicas a toda la sección de navegación */
nav#main-nav,
footer,
.nota-banner-container,
main,
body {
    --top-margin: 1rem;
    --logo-h: 65px;
    --main-nav-h: calc(var(--top-margin)*2 + var(--logo-h));
}

/* Estilar la topbar que contiene el logo fijo del sitio */
/* ========== MAIN NAVIGATION ========== */

/* Bloquear scroll cuando el menú está abierto (mantiene posición) */
html.menu-is-open {
    padding-right: var(--scrollbar-w);
    overflow: hidden;
}

html.has-hidden-scrollbar.menu-is-open {
    padding-right: 0;
}

html.menu-is-open:not(.has-hidden-scrollbar) #wpadminbar {
    padding-right: var(--scrollbar-w);
}

nav#main-nav {
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: auto;
    min-height: calc(var(--top-margin)*2 + var(--logo-h));
    z-index: 11;
    display: flex;
    flex-direction: column;
    align-self: center;
    padding: 0;
    margin: auto;
    border-radius: 0px;
    overflow: hidden;
}

nav#main-nav.transparent-header {
    background-color: unset;
}

/* Nav header (logo + controles) - Estado por defecto */
#nav-header {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: center;
    min-height: calc(var(--top-margin)*2 + var(--logo-h));
    align-self: center;
}

/* Estado: Menú expandido */
nav#main-nav.menu-open {
    z-index: 12;
    width: 97vw;
    max-width: 1350px;
    height: auto;
    max-height: 90vh;
    margin-top: 5vh;
    border-radius: 30px;
    overflow-y: auto;
    background-color: var(--arthum-black);
}

nav#main-nav.menu-open #nav-header {
    width: 100%;
    padding: var(--top-margin) 48px;
    gap: var(--fz-24pt);
    box-sizing: border-box;
    padding-bottom: var(--fz-52pt);
}


nav#main-nav.menu-open nav#branding-top {
    grid-column: 1 / span 5;
}

nav#main-nav.menu-open #menu-controls-container {
    grid-column: 7 / span 6;
}

/* Estilar el logo fijo del sitio */
a#home-link {
    padding: var(--top-margin) 0;
    display: grid;
    grid-auto-flow: column;
    width: max-content;
    position: relative;
}

a#home-link div#branding-arthum {
    display: grid;
}

a#home-link img#marca-registrada {
    width: calc(var(--logo-h) * 0.18);
    height: calc(var(--logo-h) * 0.18);
    transform: translateY(1.2em) translateX(-8px);
}

a#home-link img {
    height: calc(var(--logo-h)/1.01);
}

a#home-link div#branding-arthum-container {
    display: flex;
    align-items: center;
}

a#home-link #branding-arthum {
    height: calc(var(--logo-h)/1.31);
    object-fit: cover;
    object-position: center;
}

a#home-link #titulo-arthum {
    height: calc(var(--logo-h)/8);
}


nav#branding-top {
    grid-column: 3 / span 2;
    z-index: 11;
}

aside nav:not(.menu-redes-container)>ul>li.menu-item>a[target="_blank"]::after {
    content: "open_in_new";
    font-family: "Material Symbols Outlined";
    font-size: 1em;
    margin-left: 0.3em;
    vertical-align: middle;
    display: inline-block;
    width: 1em;
    text-align: center;
    line-height: 1;
    font-weight: 600;
}

.links-list a[target="_blank"]::after {
    content: "open_in_new";
    font-family: "Material Symbols Outlined";
    font-size: 1em;
    margin-left: 0.3em;
    vertical-align: middle;
    display: inline-block;
    width: 1em;
    text-align: center;
    line-height: 1;
    font-weight: 600;
}

/* -- INTERSECTION OBSERVER --*/
/* Estilos detector del top */
#top-marker {
    position: absolute;
    height: 1px;
    top: 5px;
    z-index: -100;
}

/* Estado: Mid-scroll (menú compacto) */
body.mid-scroll #main-nav:not(.menu-open) {
    width: fit-content;
    min-height: auto;
    margin: 1em auto;
    border-radius: var(--fz-48pt);
}

body.mid-scroll #main-nav:not(.menu-open) #nav-header {
    padding: 0.3rem 1.5em;
    gap: 4.5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: calc(var(--top-margin) * 0.1 + var(--logo-h));
    align-self: center;
}

body.mid-scroll #main-nav:not(.menu-open) a#home-link {
    padding: 0.5rem 0;

}

body.mid-scroll a#home-link #branding-arthum {
    height: calc(var(--logo-h) / 1.3);
}

/* Ocultar elementos del logo en mid-scroll y menu-open */
body.mid-scroll #branding-uniandes,
body.mid-scroll #titulo-arthum,
body.mid-scroll #marca-registrada,
body.mid-scroll #anos-uniandes,
nav#main-nav.menu-open #branding-uniandes,
nav#main-nav.menu-open #titulo-arthum,
nav#main-nav.menu-open #marca-registrada,
nav#main-nav.menu-open #anos-uniandes {
    display: none;
}

/* ========== MENU BUTTON ========== */
nav#menu-button {
    color: var(--arthum-white);

    z-index: 11;
}

nav#menu-button a {
    display: flex;
    align-items: center;
    height: min-content;
    gap: 0.3rem;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 600;
    font-size: var(--fz-20pt);
    color: inherit;
    text-decoration: none;
    user-select: none;
}

nav#menu-button:hover,
nav#menu-button:focus-within {
    color: var(--arthum-fuchsia);
    cursor: pointer;
}

nav#menu-button .material-symbols-outlined {
    font-size: 1.8em;
    line-height: 1;
    font-weight: 700;
}

/* Menu button en mid-scroll */
body.mid-scroll nav#menu-button {
    top: 0;
    right: 18.95vw;
}

body.mid-scroll nav#menu-button:hover {
    color: var(--arthum-fuchsia);
}

body.admin-bar nav#menu-button {
    top: var(--logged-in-h);
}

/* Contenedor de controles (buscador + botón cerrar) */
#menu-controls-container {
    display: flex;
    align-items: center;
    grid-column: 10 / span 2;
    gap: 20px;
    flex-shrink: 0;
}

/* Buscador expandido (oculto por defecto) */
.expanded-search,
form.search-form.expanded-search {
    display: none !important;
    align-items: center;
    justify-content: space-between;
    background-color: #353534;
    border-radius: 30px;
    padding: 0 20px;
    height: var(--fz-60pt);
    width: 100%;
    flex-shrink: 1;
    box-sizing: border-box;
}

nav#main-nav.menu-open .expanded-search,
nav#main-nav.menu-open form.search-form.expanded-search {
    display: flex !important;
}

.expanded-search label {
    display: flex;
    align-items: center;
    width: 100%;
}

.expanded-search {
    position: relative;
}

.expanded-search input.search-field {
    background-color: transparent;
    border: none;
    color: var(--arthum-white);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-24pt);
    font-weight: 600;
    opacity: 0.5;
    width: 100%;
    padding: 0;
}

.expanded-search input.search-field::placeholder {
    color: var(--arthum-white);
    opacity: 0.5;
}

.expanded-search input.search-field:focus {
    outline: none;
    opacity: 1;
}

.expanded-search input.search-submit {
    background-color: transparent;
    border: none;
    cursor: pointer;
    width: 26px;
    height: 26px;
    padding: 0;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    /* invisible but clickable */
}

.expanded-search .nav-search-icon {
    font-size: var(--fz-35pt);
    color: var(--arthum-fuchsia);
    line-height: 1;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    /* clicks go to the submit */
}

.expanded-search input.search-submit:hover {
    opacity: 0.8;
}

/* Ocultar el botón "Menú" cuando el menú está expandido */
nav#main-nav.menu-open #menu-button {
    display: none;
}

/* Botón de cerrar (oculto por defecto) */
#close-menu-expanded {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
}

nav#main-nav.menu-open #close-menu-expanded {
    display: flex;
}

#close-menu-expanded .material-symbols-outlined {
    font-size: var(--fz-45pt);
    font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24;
    color: var(--arthum-fuchsia);
}

#close-menu-expanded:hover {
    opacity: 0.8;
}

/* Contenido expandido del menú (oculto por defecto) */
#menu-expanded-content {
    height: 100%;
    justify-content: space-between;
    display: none;
    flex-direction: column;
    width: 100%;
    padding: 0 48px 24px 48px;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Scrollbar sutil para el menú */
#menu-expanded-content::-webkit-scrollbar {
    width: 6px;
}

#menu-expanded-content::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

#menu-expanded-content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
    transition: background 0.3s ease;
}

#menu-expanded-content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

/* Firefox scrollbar */
#menu-expanded-content {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.1);
}

nav#main-nav.menu-open #menu-expanded-content {
    display: flex;
}

/* Filas de secciones del menú */
.menu-sections-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--fz-24pt);
    margin-bottom: var(--fz-71pt);
}

.menu-sections-row.menu-main-row {
    gap: 0px;
    margin-bottom: 0;

}

/* Bloques individuales de menú */
.menu-block {
    display: flex;
    flex-direction: column;
    row-gap: var(--fz-22pt);
}

.menu-block h3 {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-27pt);
    font-weight: 700;
    color: var(--arthum-fuchsia);
    margin: 0;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* ========== MEGA MENU - EDUCATION SECTION ========== */
.menu-block-education {
    grid-column: 1 / span 2;
    flex: 1 1 auto;
}

.education-columns {
    display: flex;
    flex-direction: row;
    column-gap: 48px;
}

.education-column {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    row-gap: var(--fz-22pt);
}

a.education-subtitle {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-22pt);
    font-weight: 600;
    color: var(--arthum-fuchsia);
    margin: 0;
    line-height: 1.5;
    text-decoration: none;
    display: block;
    width: fit-content;
    transition: color 0.2s ease, transform 0.2s ease;
}

.education-subtitle:hover {
    color: var(--arthum-white);
    transform: translateX(4px);
}

a.education-subtitle[target="_blank"]::after,
.menu-section li a[target="_blank"]::after {
    content: "open_in_new";
    font-family: "Material Symbols Outlined";
    font-size: 1em;
    margin-left: 0.3em;
    vertical-align: middle;
    display: inline-block;
    width: 1em;
    text-align: center;
    line-height: 1;
    font-weight: 600;
}



.education-submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--fz-10pt);
}

.education-submenu li {
    margin: 0;
}

.education-submenu a,
.simple-menu a {
    max-width: 80%;
    width: fit-content;
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-20pt);
    font-weight: 400;
    color: var(--arthum-white);
    text-decoration: none;
    display: block;
    line-height: 1.2;
    transition: color 0.2s ease, transform 0.2s ease;
    margin-bottom: 0.5em;
}


.education-submenu a:hover,
.simple-menu a:hover {
    color: var(--arthum-fuchsia);
    transform: translateX(4px);
}

/* ========== MEGA MENU - RIGHT COLUMN (Personas & Espacios) ========== */
.menu-block-right {
    grid-column: 3;
    flex: auto 0 1;
    margin-left: 48px;
}

.menu-section {
    display: flex;
    flex-direction: column;
    gap: var(--fz-30pt);
}

.menu-section h3 {
    display: flex;
    align-items: center;
    gap: 0.3em;
}

.menu-section-icon-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--arthum-fuchsia);
    transition: opacity 0.2s;
    display: none;
}

.menu-section-icon-btn:hover {
    opacity: 0.7;
}

.menu-section-icon-btn .material-symbols-outlined {
    font-size: var(--fz-32pt);
}

.simple-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--fz-10pt);
}

 footer.invisible-footer {
    padding: 0;
}

footer.invisible-footer * {
    display: none !important;
}



/* Footer del menú expandido */
.menu-footer,
#menu-footer {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 45px;
}

#menu-footer-contact {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    grid-template-rows: 1fr;
}

.menu-footer-separator {
    display: flex;
    justify-content: space-between;
    align-self: flex-end;
    grid-row: 1;
    justify-self: self-start;
    grid-column: 5 / span 8;
    padding-left: var(--fz-24pt);
    width: 100%;
}

.menu-footer-item:nth-child(1) {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 0 0 auto;
    grid-column: 1 / span 2;
    grid-row: 1;
}

.menu-footer-item:nth-child(2) {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 0 0 auto;
    grid-column: 3 / span 2;
    grid-row: 1;
}


.menu-footer-label {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-14pt);
    font-weight: 700;
    color: var(--arthum-white);
    line-height: normal;
    margin: 0;
}

.menu-footer-value {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-14pt);
    font-weight: 400;
    color: var(--arthum-white);
    line-height: normal;
    margin: 0;
}

.menu-footer-value a {
    color: var(--arthum-white);
    text-decoration: none;
}

.menu-footer-value a:hover {
    color: var(--arthum-fuchsia);
}

#menu-footer-bottom {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--fz-24pt);
}

#menu-footer-legal {
    display: inherit;
    grid-template-columns: repeat(9, 1fr);
    gap: var(--fz-24pt);
    align-items: center;
    font-family: var(--arthum-ff-palast);
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    line-height: normal;
    grid-column: 1 / span 9;
}

#menu-footer-legal a {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-12pt);
    font-weight: 700;
    color: var(--arthum-white);
    text-decoration: underline;
    flex-shrink: 0;
}

#menu-footer-legal p {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-11pt);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.5);
    grid-column: 3 /span 7;
    grid-row: 1;
    text-wrap: wrap;
}

#menu-footer-legal #menu-cookies-config {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-16pt);
    font-weight: 700;
    color: var(--arthum-white);
    text-decoration: underline;
    width: 70%;
    flex-shrink: 0;
    grid-column: 1 / span 2;
    grid-row: 1;
}

#menu-footer-social,
#social-menu-footer {
    grid-column: 10 / span 3;
    grid-row: 1;
    justify-self: end;
}

#menu-footer-legal a:hover {
    color: var(--arthum-fuchsia);
}

#menu-footer-legal p {
    margin: 0;
    line-height: 1.3;
}

#menu-footer-social ul,
#social-menu-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 16px;
}

#menu-footer-social li,
#social-menu-footer li {
    margin: 0;
}

#menu-footer-social a,
#social-menu-footer a {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease;
}

#menu-footer-social a:hover,
#social-menu-footer a:hover,
ul.menu:not(#prg-menu):not(#social-menu)>li>a:hover,
ul.menu:not(#prg-menu):not(#social-menu)>li:focus-within a,
#menu-cookies ul>li>button:hover,
#menu-cookies ul>li:focus-within button {
    opacity: 0.7;
}

#menu-footer-social img,
#social-menu-footer img,
#social-menu-footer svg,
#social-menu-footer i,
#social-menu-footer .menu-image {
    width: auto;
    height: 22px;
    transition: transform 0.2s ease;
}


#menu-footer-social a:hover img,
#menu-footer-social a:focus img,
#social-menu-footer a:hover img,
#social-menu-footer a:focus img,
#social-menu-footer a:hover svg,
#social-menu-footer a:focus svg,
#social-menu-footer a:hover i,
#social-menu-footer a:focus i,
#social-menu-footer a:hover .menu-image,
#social-menu-footer a:focus .menu-image {
    transform: scale(1.03);
}

.menu-footer-separator .menu-footer-item {
    width: auto;
}

.contact-info {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
}

.contact-info p {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-16pt);
    color: var(--arthum-white);
    margin: 0;
    line-height: 1.5;
}

.contact-info strong {
    font-weight: 700;
}

.contact-info a {
    color: var(--arthum-white);
    text-decoration: none;
}

.contact-info a:hover {
    color: var(--arthum-fuchsia);
}

.social-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.social-links li {
    margin: 0;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.1);
    transition: background-color 0.2s ease;
}

.social-links a:hover {
    background-color: var(--arthum-fuchsia);
}

.social-links img {
    width: 20px;
    height: 20px;
}

/* Estilos del overlay invisible que aparece al abrir el menú.
 * este llena todo el espacio no ocupado por el menú y así nos
 * permite detectar cuando alguien hace click por fuera, para
 * cerrar el menú.
 */

span#out-of-menu {
    display: none;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 10;
    transition: opacity 0.3s ease;
}

span#out-of-menu.open-menu {
    z-index: 11;
    display: block;
    pointer-events: all;
    opacity: 1;
    width: 100%;
    height: 100%;
}

/* Estilar la barra lateral */
aside#side-menu {
    --aside-pad-top: 3.5rem;
    --aside-pad: max(2rem, min(5vw, var(--aside-pad-top)));
    /*--aside-pad: clamp(2rem, 5vw, var(--aside-pad-top));*/
    --aside-width: 30rem;
    margin-top: 5em;
    box-sizing: content-box;
    position: fixed;
    top: 0;
    height: fit-content;
    overflow-y: hidden;
    transition: 0.5s;
    z-index: 12;
    display: none !important;
    /* Ocultamos el aside porque ahora usamos el menú expandido dentro del nav */
    grid-template-columns: min-content min-content;
    overscroll-behavior: none;
}


div#side-wrapper {
    position: relative;
    width: var(--aside-width);
    padding: var(--aside-pad);
    padding-top: var(--aside-pad-top);
    min-height: calc(50% - var(--aside-pad) - var(--aside-pad-top));
}

:root {
    --scrollbar-w: 15px;
}

.open-menu div#side-wrapper,
.open-menu a#close-menu {
    margin-right: var(--scrollbar-w);
}

.side-menu-is-open:not(.has-hidden-scrollbar) #wpadminbar {
    padding-right: var(--scrollbar-w);
}

html.side-menu-is-open {
    padding-right: var(--scrollbar-w);
    overflow: hidden;
}

html.has-hidden-scrollbar.side-menu-is-open {
    padding-right: 0;
}

aside#side-menu.open-menu {
    overflow-y: scroll;
}

@media screen and (max-width: 991px) {
    :root {
        --scrollbar-w: 0px;
    }

    aside#side-menu {
        overflow-y: scroll;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    aside#side-menu::-webkit-scrollbar {
        display: none;
    }

    .open-menu div#side-wrapper,
    .open-menu a#close-menu {
        margin-right: 0;
    }

    .side-menu-is-open #wpadminbar {
        padding-right: 0;
    }

    html.side-menu-is-open {
        padding-right: 0;
        overflow: auto;
    }
}

aside#side-menu {
    top: calc((5em + 60vh)*(-1));
    height: min-content;
}

aside#side-menu.open-menu {
    top: 0;
    height: min-content;
}

span#out-of-menu {
    grid-row: 1;
    grid-column: 1;
}

.menu-content-wrapper {
    grid-row: 1;
    grid-column: 2;
    height: min-content;
    border-radius: 1.875rem;
    /* 30px / 16px = 1.875rem */
    background-color: var(--arthum-white);
}

aside#side-menu.open-menu .menu-content-wrapper {
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.2);
}

/* Estilar el botón de cerrar menú */
a#close-menu {
    display: flex;
    grid-row: 1;
    grid-column: 2;
    align-self: flex-start;
    align-items: center;
    justify-content: flex-end;
    color: var(--arthum-black);
    text-decoration: none;
    z-index: 2;
}

a#close-menu img {
    filter: saturate(0) brightness(3);
    transition: 0.2s;
}

a#close-menu:hover,
a#close-menu:focus {
    color: var(--arthum-fuchsia);
}

a#close-menu:hover img,
a#close-menu:focus img {
    filter: saturate(1) brightness(1);
}

a#close-menu img {
    --x-pad: 1rem;
    width: min-content;
    max-width: calc(var(--aside-pad)*1 - var(--x-pad)*2);
    padding: var(--x-pad);
    align-self: center;
}

/* Estilar la barra de búsqueda */
form.search-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    --search-pad: 0.5em;
    padding: var(--search-pad);
    transition: transform 0.2s;
}

#side-wrapper form.search-form {
    border-radius: 1.875rem;
    /* 30px / 16px = 1.875rem */
    ;
}

body.search .container-fluid form.search-form:focus-within {
    background-color: var(--arthum-ochre) !important;
    transform: scale(1.03);
}

body.search .container-fluid form.search-form:focus-within .search-field {
    background-color: var(--arthum-ochre) !important;
}


form.search-form label,
input.search-field {
    width: 100%;
}

#side-wrapper input.search-field {
    background-color: #353534;
}


input.search-field,
form.search-form {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-12pt);
}

input.search-field {
    border: none;
    appearance: none;
}

input.search-field::-webkit-search-cancel-button {
    display: none;
}

input.search-field:focus {
    outline: none;
}

.search-form {
    position: relative;
}

input.search-submit {
    font-size: inherit;
    height: 1.3em;
    width: 1.3em;
    filter: brightness(0);
    transition: 0.2s;
    background-color: unset;
    border: 0;
    --outline-offset: 0.35em;
    padding: 0;
    cursor: pointer;
    position: absolute;
    right: calc(var(--outline-offset));
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    /* invisible but clickable */
}

.search-form .nav-search-icon {
    font-size: var(--fz-35pt);
    color: var(--arthum-fuchsia);
    font-variation-settings: 'FILL' 0, 'wght' 700, 'GRAD' 200, 'opsz' 24;
    position: absolute;
    pointer-events: none;
}

body.search .container-fluid.grid-header-container {
    display: flex;
    justify-content: center;
}

body.search .container-fluid .search-form .nav-search-icon {
    font-size: var(--fz-40pt);
    color: var(--arthum-black);
    font-variation-settings: 'FILL' 0, 'wght' 700, 'GRAD' 200, 'opsz' 24;
    pointer-events: none;
    position: initial;

}

body.search .container-fluid .search-form .search-field {
    opacity: 1;
    font-size: var(--fz-28pt);
    background-color: var(--arthum-blue);
}

body.search .container-fluid .search-form {
    font-size: var(--fz-50pt);
    border-radius: var(--fz-60pt);
    background-color: var(--arthum-blue);
    padding: 0.2em 0.5em;
}

body.search .container-fluid .search-form label {
    display: flex;
}

input.search-submit:hover {
    filter: brightness(1);
    outline: none;
}

input.search-submit:focus {
    filter: brightness(1);
    outline: 1px solid rgba(0, 0, 0, 0.2);
    outline-offset: var(--outline-offset);
}


ul.menu {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-auto-rows: auto;
    grid-row-gap: 20px;
}

a.menu-title {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-14pt);
    font-weight: 700;
    display: block;
    margin-bottom: var(--menu-y-gap);
    text-decoration: none;
    text-transform: uppercase;
    color: var(--arthum-black);
    pointer-events: none;
}

a.menu-title:before {
    content: '_';
}

/* Estilos para aside#side-menu (legacy - ahora oculto) */
aside#side-menu li.menu-item>a,
aside#side-menu li.menu-item>button {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-18pt);
    color: var(--arthum-white);
    font-weight: 400;
    text-decoration: none;
    transition: 0.3s;
}


aside#side-menu ul.sub-menu>li>a {
    padding-top: calc(var(--menu-y-gap)/4);
}

aside#side-menu li.menu-item>button {
    font-size: var(--fz-12pt);
    border: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
}

/*Este menú se agrega desde javascript si tenemos banner de cookies*/
#menu-cookies {
    margin-top: calc(var(--menu-y-gap)*-1);
}

#menu-cookies ul>li>button::before {
    content: '';
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    background-image: url(assets/configurar.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    vertical-align: top;
    margin-right: 0.3em;
}

ul.menu>li a:focus {
    outline: none;
}

/* Sobreescribir los estilos del menu para la sección de educación, que funciona distinto*/
ul#sch-menu {
    margin-bottom: 1.2rem;
}

ul#prg-menu {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, 45%);
    grid-template-rows: repeat(3, auto);
    grid-column-gap: 3rem;
}

ul#prg-menu li:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

ul#prg-menu ul.sub-menu li {
    grid-column: span 2;
    grid-row: span 2;
}

nav #prg-menu-container:not(last-child) {
    margin-bottom: 20px;
}

ul#prg-menu>li a {
    display: block;
    position: relative;
    left: 0;
    transition: 0.3s;
}

ul#prg-menu>li:hover a,
ul#prg-menu>li:focus-within a {
    left: 5px;
}

/* Estilos del menú de redes sociales */
nav#social-menu-container {
    display: flex;
    justify-content: flex-end;
}

#menu-block-redes:last-child nav#social-menu-container {
    /* Posicionar al final del menú si no hay nada más abajo */
    position: absolute;
    bottom: var(--aside-pad);
    right: var(--aside-pad);
}

ul#social-menu {
    display: inline-grid;
    grid-auto-flow: column;
    grid-column-gap: 1rem;
}

ul#social-menu img {
    height: 1.5rem;
    filter: brightness(0);
    transition: 0.2s;
}

ul#social-menu a:hover img,
ul#social-menu a:focus img {
    filter: brightness(1);
}

div#menu-block-redes {
    /* Define el espacio que ocupa el menú absoluto de redes */
    height: 2rem;
    margin-bottom: 1.5rem;
}

#menu-contact-info address {
    display: flex;
    flex-direction: column;

    cursor: text;
}

#menu-contact-info address a,
#menu-contact-info address div {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-14pt);
}

#menu-contact-info address div,
#menu-contact-info address>a {
    margin-bottom: 1em;
}

#menu-contact-info address>a:last-child {
    margin-bottom: 1.3em;
}

#menu-contact-info address a {
    color: var(--arthum-black);
    font-weight: 500;
    text-decoration: none;

    pointer-events: none;
}

#menu-contact-info .tel-contact {
    display: flex;
    justify-content: space-between;
}

#menu-contact-info .menu-contactpoint {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#menu-contact-info .menu-contactpoint::before {
    content: attr(data-contactpoint-label);
    font-size: var(--fz-11pt);
    color: #808080;
    /*text-transform: lowercase;*/
    font-weight: 500;
    margin-bottom: 0.3em;
    line-height: 1.2em;
}

@media screen and (max-width: 450px) {
    .menu-optional-label {
        display: none;
    }

    #menu-arq-ext::before,
    #menu-dis-ext::before {
        width: 3ch;
        overflow: hidden;
    }
}

#menu-contact-info p {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-10pt);
    color: #CBCBCB;
    font-weight: 500;
    line-height: 1.3em;
}

/*===============================
   03.  HOME
   =============================== */

.home-banner-container {
    --banner-menu-h: min-content;
    --home-banner-h: calc(100vh - var(--main-nav-h) - var(--banner-menu-h)*2);
    --cols: 12;
    width: 100%;
}

.home-banner-container,
.home-banner-container~.week-events-banner-container {
    /* usamos el margen original que tendría el main si no estuviera el banner */
    margin-bottom: calc(var(--min-side-margin) * 2);
    padding-top: calc(var(--top-margin)*2 + var(--logo-h));
    background-color: var(--arthum-black);
}

.logged-in .home-banner-container {
    --home-banner-h: calc(100vh - var(--main-nav-h) - var(--banner-menu-h)*2 - var(--logged-in-h));
}

.home-banner-story-container {
    display: grid;
    column-gap: 1.5em;
    column-gap: .5em;
    grid-template-columns: repeat(var(--cols), 1fr);
    grid-template-rows: repeat(var(--cols), calc((100vh - 150px) / var(--cols)));
}


.home-banner-story {
    position: absolute;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    z-index: var(--z, 1);
    isolation: isolate;
}

/* Posiciones desktop (≥ 901px) */
.home-banner-story-container :nth-child(1) {
    z-index: 1;
    grid-row: 2 / span 6;
    grid-column: 1 / span 5;
}

.home-banner-story-container :nth-child(2) {
    z-index: 1;
    grid-row: 6 / span 6;
    grid-column: 1 / span 4;
}

.home-banner-story-container :nth-child(3) {
    z-index: 1;
    grid-row: 1 / span 10;
    grid-column: 4 / span 4;
}

.home-banner-story-container :nth-child(4) {
    z-index: 1;
    grid-row: 1 / span 6;
    grid-column: 9 / span 4;
}

.home-banner-story-container :nth-child(5) {
    z-index: 1;
    grid-row: 2/ span 6;
    grid-column: 7 / span 5;
}

.home-banner-story-container :nth-child(6) {
    z-index: 1;
    grid-row: 5 / span 8;
    grid-column: 8 / span 4;
}


.home-banner-story img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.banner-img-mobile {
    display: none;
}


/* -------------------- BANNER META OVERLAY -------------------- */
/* Overlay de título / fecha / descripción para items del home banner */
.home-banner-story .banner-meta {
    box-sizing: border-box;
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: .55em .75em .65em;
    background: var(--arthum-black);
    color: var(--arthum-white);
    font-family: var(--arthum-ff-palast);
    line-height: calc(var(--fz-18pt)*1.2);
    display: inline;
    flex-direction: column;
    gap: .35em;
    pointer-events: none;
    /* Permite click directo al <a> */
    transition: background .3s, opacity .3s;
    text-align: left;

}



.home-banner-story .banner-title,
.home-banner-story .banner-category,
.home-banner-story .banner-date {
    font-size: var(--fz-18pt);
    line-height: calc(var(--fz-18pt)*1.2);
}


.home-banner-story .banner-category,
.home-banner-story .banner-date {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 750;
}

/* Elevación y tintado en hover */
.home-banner-story {
    position: relative;
    transition: z-index 0s, transform .3s, box-shadow .3s;
}

.home-banner-story::before {
    content: '';
    position: absolute;
    inset: 0;
    background: transparent;
    pointer-events: none;
    transition: background .3s, opacity .3s;
    opacity: 0;
    z-index: 1;
}


.home-banner-story:hover::before {
    background: var(--arthum-black);
    opacity: .35;
}

.home-banner-story:hover .banner-meta {
    color: var(--arthum-black);
    background: var(--arthum-light-green);
}

.banner-menu-container {
    position: absolute;
    padding-left: var(--min-side-margin);
    height: var(--banner-menu-h);
    display: flex;
    flex-wrap: wrap;
    align-self: end;
    align-items: flex-end;
    transform: translateY(50%);
    max-width: 50vw;
    gap: 0.5em;
}

.banner-menu-item {
    background-color: var(--arthum-fuchsia);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-24pt);
    width: min-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    transition: all 0.3s ease;
}


.banner-menu-item:hover,
.banner-menu-item:focus {
    background-color: var(--arqdis-red);
    color: var(--arthum-white);
    cursor: pointer;
    transform: scale(1.03);
}

.banner-menu-item::after {
    background-color: transparent;
    cursor: pointer;
}

.banner-menu-item[target="_blank"]::after {
    content: "open_in_new";
    font-family: "Material Symbols Outlined";
    font-size: 1em;
    margin-left: 0.3em;
    vertical-align: middle;
    display: inline-block;
    width: 1em;
    text-align: center;
    line-height: 1;
    font-weight: 600;
}

.scroll-to-main-home {
    margin-left: auto;
    font-size: inherit;
    height: 2em;
    border: none;
    background-color: transparent;
    width: 1.5em;
    background-image: url("assets/Arqdis/arrow-button-down.svg");
    background-repeat: no-repeat;
    background-position: 0 0.2em;
    margin-right: 0.4em;
    transition: background-position 0.2s;
    cursor: pointer;
}

.scroll-to-main-home:hover {
    background-position: 0 0.4em;
}

.home-slogan {
    font-size: var(--fz-71pt);
    height: var(--banner-menu-h);
    display: flex;
    align-items: center;
    margin-bottom: -1px;
    overflow: hidden;
    --offset: 4vw;
    --move-initial: calc(-25% + var(--offset));
    --move-final: calc(-50% + var(--offset));
    --marquee-dur: 30s;
    margin-top: 1.5em;
    margin-bottom: 1em;
    border: none;
}

body.post-type-archive-eventos .home-slogan {
    margin-top: 0.5em;
}

body.post-type-archive-eventos .arthum-week-grid {
    margin-bottom: 3em;
}

body.home .home-slogan:hover {
    color: var(--arthum-orange);
}

.marquee-rango {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-size: var(--fz-64pt);
}

.marquee-texto {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 600;
    font-size: var(--fz-64pt);
    font-variation-settings: 'INKT' 100;
}

body.home .marquee-texto {
    text-decoration: underline;
}

.marquee-slogan {
    display: flex;
    align-items: center;
}

.marquee-bloque {
    display: inline-block;
    gap: .5em;
}

.home-slogan span,
.programa-slogan span,
.marquee-slogan span,
.cinta-en-construccion span {
    white-space: nowrap;
}

.home-slogan,
.programa-slogan,
.marquee-slogan {
    position: relative;
}

.programa-slogan,
.marquee-slogan,
.cinta-en-construccion {
    overflow: hidden;
    --offset: 4vw;
    --move-initial: calc(-25% + var(--offset));
    --move-final: calc(-50% + var(--offset));
    --marquee-dur: 30s;
    margin-bottom: var(--fz-48pt);
    margin-top: 2em;
}

/* Contenedor principal del heading: sin padding horizontal */
.info-page-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Ajuste marquee heading en páginas de información: evitar recorte vertical */
.info-page-heading .home-slogan.info-page-title,
.home-slogan {
    height: auto;
    min-height: 0;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    padding-top: var(--fz-12pt);
    padding-bottom: var(--fz-24pt);

}

.info-page-heading .home-slogan.info-page-title {
    margin-top: calc(var(--min-side-margin) * 2);
    background-color: var(--arthum-light-green);
    border-bottom: var(--arthum-black) 1px solid;
    border-top: var(--arthum-black) 1px solid;
}


.home-slogan-inner {
    display: flex;
    gap: .5em;
}

/* Ajuste para que el marquee recorra todo el ancho y reinicie sin corte */
.home-slogan,
.programa-slogan,
.marquee-slogan,
.cinta-en-construccion {
    /* Override de valores para cubrir todo el recorrido */
    --move-initial: 0;
    --move-final: -100%;
}

/* Duplicamos el contenido para transición continua */
.home-slogan span,
.programa-slogan span,
.marquee-slogan span,
.cinta-en-construccion span {
    display: inline;
    position: relative;
    white-space: nowrap;
    will-change: transform;
    animation: marquee var(--marquee-dur) linear infinite;
    /* Evita pequeños saltos en algunos navegadores */
    backface-visibility: hidden;
    transform: translate3d(var(--move-initial), 0, 0);
}

/* Animación: desplaza todo el bloque (original + clon) una longitud completa */
@keyframes marquee {
    0% {
        transform: translate3d(var(--move-initial), 0, 0);
    }

    100% {
        transform: translate3d(var(--move-final), 0, 0);
    }
}

/* -- BANNER HOVER --*/
.home-banner-story-container {
    background: var(--arthum-white);
    overflow-y: hidden;
}

.home-banner-story::after {
    content: '';
    position: absolute;
    background: #1c1c1c;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.home-banner-story.banner-loading::after,
.home-banner-story.banner-loading~.home-banner-story:not(.banner-loading)::after {
    opacity: 1;
}

.home-banner-story:nth-child(2)::after {
    transition-delay: 0.4s;
}

.home-banner-story:nth-child(3)::after {
    transition-delay: 0.6s;
}

.home-banner-story:nth-child(4)::after {
    transition-delay: 0.8s;
}

.home-banner-story {
    opacity: 1;
    /* transition: opacity 0.3s; */

    background-position: 50% 0px;
    background-size: cover;

    position: relative;
    /* z-index: 0; */
}


.home-banner-story img {
    object-position: 50% 0;
    transition: object-position 0.3s;
}

.home-banner-story[href]:hover img {
    object-position: 50% -5px;
}

/* .home-banner-story-container:hover .home-banner-story:not(:hover){
  opacity: 0.3;
} */

/* Eventos semana */

/* ===============================
   🎯 Esta semana en ArtHum - Nuevo diseño
   =============================== */

/* Marquee superior - margen inferior para semana-arthum */


/* Contenedor principal */

/* ==============================
   03b. GRID DE TARJETAS SEMANA ARTHUM
   =============================== */


.arthum-week-grid {
    position: relative;
}

.arthum-week-grid .slide-button-container {
    display: none;
}

.arthum-week-grid.has-scroll .slide-button-container {
    display: flex !important;
}

.arthum-week-grid>div:first-child {
    display: flex;
    gap: 0;
    background-color: var(--arthum-white);
    margin-bottom: 1.5em;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
}

.arthum-week-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--arthum-black);
    padding-left: 2em;
    padding-right: 2em;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    row-gap: var(--fz-18pt);
    min-width: 280px;
}

.arthum-week-card:hover .arthum-week-card-date,
.arthum-week-card:hover .arthum-week-card-category,
.arthum-week-card:hover .arthum-week-card-location {
    color: var(--arqdis-orange);
}



.arthum-week-card:hover .arthum-week-card-image img {
    filter: grayscale(0%);
    transition: filter 0.3s;
}

.arthum-week-card:last-child {
    border-right: none;
}

/* Header: Fecha y Categoría */
.arthum-week-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--fz-5pt);
    min-height: 48px;
    gap: var(--fz-12pt);
}

.arthum-week-card-date,
.arthum-week-card-location {
    font-size: var(--fz-18pt);
    font-weight: 700;
    line-height: normal;
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    text-transform: uppercase;
    white-space: wrap;
}

.arthum-week-card-date.today {
    color: var(--arqdis-orange);
}

.arthum-week-card-category {
    font-size: var(--fz-18pt);
    font-weight: 300;
    line-height: 1.1;
    color: var(--arthum-black);
    font-family: var(--arthum-ff-palast);
    text-align: right;
    white-space: nowrap;
}

.arthum-week-card-category.today {
    color: var(--arqdis-orange);
}

/* Imagen */
.arthum-week-card-image {
    width: 100%;
    aspect-ratio: 1.56;
    overflow: hidden;
    position: relative;
}

.arthum-week-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: filter 0.3s ease;
}

.arthum-week-card:hover .arthum-week-card-image img,
.arthum-week-card:focus .arthum-week-card-image img {
    filter: grayscale(100%);
}

.arthum-week-card-location.today {
    color: var(--arqdis-orange);
}

/* Título */
.arthum-week-card-title {
    font-size: var(--fz-24pt);
    font-weight: 600;
    line-height: 1.1;
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    margin: 0;
}

/* Descripción */
.arthum-week-card-description {
    flex: 1;
}

.arthum-week-card-description p {
    font-size: var(--fz-18pt);
    line-height: normal;
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 400;
    margin: 0;
}

/* Botón Ver más */
.arthum-week-card-actions {
    display: flex;
    justify-content: flex-end;
}

.arthum-week-card-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: 500px;
    font-size: var(--fz-20pt);
    font-weight: 700;
    line-height: 1.1;
    color: var(--arthum-black);
    background-color: transparent;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    opacity: 0;
}

.arthum-week-card-button::after {
    content: "arrow_forward";
    font-family: "Material Symbols Outlined";
    font-size: 1.2em;
    margin-left: 0.5em;
    vertical-align: middle;
    display: inline-block;
    width: 1.2em;
    text-align: center;
    line-height: 1;
    font-weight: 600;
}

.arthum-week-card-button:hover,
.arthum-week-card-button:focus,
.arthum-week-card:hover .arthum-week-card-button {
    color: var(--arthum-orange);
    transform: scale(1.03);
    opacity: 1;
}

/* Responsive: Carrusel horizontal en tablet y móvil */
@media (max-width: 1200px) {
    .arthum-week-grid>div:first-child {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .arthum-week-card {
        scroll-snap-align: start;
        border-right: 1px solid var(--arthum-black);
    }
}


/* ==============================
   03c. ANTIGUA VISTA SEMANA (OCULTA)
   =============================== */

.arthum-week-events-list-mobile,
.arthum-week-event-item-mobile,
.arthum-week-event-info-mobile {
    display: none;
}

.arthum-week-events-container {
    display: none;
}

/* Estilos antiguos comentados para referencia
.arthum-week-events-container {
    display: flex;
    background-color: var(--arthum-white);
    border-top: 1px solid var(--arthum-black);
    border-bottom: 1px solid var(--arthum-black);
    height: 40vh;
    min-height: 300px;
    max-height: 400px;
    margin-bottom: 5em;
}

.arthum-week-events-list {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--arthum-black);
    width: 50vw;
}

.arthum-week-event-item {
    display: grid;
    grid-template-columns: 1fr .5fr;
    align-items: center;
    gap: var(--fz-24pt);
    border: none;
    border-bottom: 1px solid var(--arthum-black);
    background-color: transparent;
    cursor: pointer;
    transition: background-color 0.2s ease;
    text-align: left;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    padding-left: var(--min-side-margin);
    padding-right: var(--min-side-margin);
    flex: 1;
    min-height: 0;
}

.arthum-week-event-item:last-child {
    border-bottom: none;
}


.arthum-week-event-item.active .arthum-week-event-title,
.arthum-week-event-item.active .arthum-week-event-datetime,
.arthum-week-event-item:focus .arthum-week-event-title,
.arthum-week-event-item:focus .arthum-week-event-datetime {
    color: var(--arqdis-orange);
}

.arthum-week-event-item.today .arthum-week-event-title {
    font-weight: 700;
}

.arthum-week-event-item.past {
    opacity: 0.5;
}

.arthum-week-event-title {
    width: auto;
    font-size: var(--fz-32pt);
    font-weight: 700;
    line-height: 1.1;
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
}

.arthum-week-event-datetime {
    font-size: var(--fz-30pt);
    width: min-content;
    font-weight: 350;
    line-height: 1.1;
    color: var(--arthum-black);
    white-space: nowrap;
    font-family: var(--arthum-ff-palast);
    text-align: left;
}

.arthum-week-event-detail {
    flex: 1;
    display: flex;
}

.arthum-week-event-image {
    position: relative;
    overflow: hidden;
    width: auto;
    height: 100%;
    width: 50%;
}

.arthum-week-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.arthum-week-event-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.arthum-week-event-header {
    border-bottom: 1px solid var(--arthum-black);
    padding: var(--fz-5pt);
    min-height: 66px;
    display: flex;
    align-items: center;
    padding-left: var(--fz-24pt);
    padding-right: var(--min-side-margin);
}

.arthum-week-event-category {
    font-size: var(--fz-32pt);
    font-weight: 300;
    font-style: italic;
    line-height: 1.1;
    color: var(--arqdis-orange);
    font-family: var(--arthum-ff-palast);
}

.arthum-week-event-additional {
    font-size: var(--fz-20pt);
    font-weight: 700;
    line-height: 1.3;
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    padding: var(--fz-16pt) var(--fz-24pt) 0 var(--fz-24pt);
}

.arthum-week-event-description {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--fz-36pt);
    padding: var(--fz-24pt) var(--fz-24pt) 0 var(--fz-24pt);
}

.arthum-week-event-description p {
    font-size: var(--fz-20pt);
    line-height: var(--fz-24pt);
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 400;
    margin: 0;
}

.arthum-week-event-actions,
.arthum-week-event-actions-mobile {
    display: flex;
    gap: var(--fz-24pt);
    padding-left: var(--fz-24pt);
    padding-bottom: var(--fz-24pt);
}

.arthum-week-event-button,
.arthum-week-event-button-mobile {
    background-color: var(--arthum-fuchsia);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-24pt);
    width: min-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    transition: all 0.3s ease;
}

.arthum-week-event-button:hover,
.arthum-week-event-button:focus,
.arthum-week-event-button-mobile:hover,
.arthum-week-event-button-mobile:focus {
    background-color: var(--arqdis-red);
    color: var(--arthum-white);
    cursor: pointer;
    transform: scale(1.03);
}


.arthum-week-event-button-mobile {
    grid-column: 2;
    grid-row: 3;
}
*/


/* ==============================
   04.  FILTER MODULE 
   =============================== */

/* === BASE FILTER STYLES === */
.topics a,
.topics span,
.topics-filter button.topic-button-filter,
.topics-filter,
.show-filters-button,
.switch-type-names {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-size: var(--fz-20pt);
    border-radius: 30px;
    padding: var(--fz-10pt) var(--fz-14pt);
    margin: .1em .1em;
    align-self: center;
    text-wrap: nowrap;
}

.topics-filter button.topic-button-filter,
.show-filters-button,
.switch-type-names {
    font-weight: 300;
}

/* === FILTER CONTAINER === */
.filter-module-container {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-size: var(--fz-20pt);
    height: auto;
    min-height: fit-content;
    overflow: visible !important;
    width: 100vw;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr max-content;
    margin-top: 1.7em;
    position: relative;
}

/* === TOPICS FILTER LAYOUT === */
.topics-filter,
div.topics {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 calc(-1*var(--min-side-margin));
    padding: 0 var(--min-side-margin);
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    height: fit-content;
    /* Firefox */
}

.layout-container div.topics {
    flex-wrap: wrap;
}

.topics-filter::-webkit-scrollbar {
    display: none;
}

/* === FILTER BUTTON BASE === */
.topic-button-filter {
    white-space: nowrap;
    border: none;
    cursor: pointer;
}

/* === FILTER BUTTON STATES === */
/* Default state */
.topics-filter button.topic-button-filter {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    outline-offset: -1px;
}

/* Hover state - general para todos, se puede sobrescribir */
.topics-filter button.topic-button-filter:hover,
.topics-filter button.topic-button-filter:focus {
    background-color: var(--arthum-black) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-black) !important;
    outline-offset: -1px;
    font-style: italic;
    letter-spacing: 0.03333em;
}

/* Active state - para todos los tipos, incluyendo los no especificados */
.topics-filter button.topic-button-filter[status="active"] {
    background-color: var(--arthum-black) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-black) !important;
    font-style: italic;
    letter-spacing: 0.03333em;
    outline-offset: -1px;
}

/* Active state específico - sobrescribe el general para tipos específicos */
.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"][status="active"],
.topics-filter button.topic-button-filter[filter-type="programas"][status="active"],
.topics-filter button.topic-button-filter[filter-type="areas"][status="active"] {
    background-color: var(--arthum-dark-green) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-dark-green) !important;
    font-style: italic;
    letter-spacing: 0.03333em;
    outline-offset: -1px;
}

/* === FILTER TYPE SPECIFIC STYLES === */
/* Departamentos Academicos, Programas y Areas filters - color rojo en todos los estados */
.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"],
.topics-filter button.topic-button-filter[filter-type="programas"],
.topics-filter button.topic-button-filter[filter-type="areas"] {
    background-color: transparent;
    color: var(--arthum-dark-green);
    outline: 1px solid var(--arthum-dark-green);
    outline-offset: -1px;
}

.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"]:hover,
.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"]:focus,
.topics-filter button.topic-button-filter[filter-type="programas"]:hover,
.topics-filter button.topic-button-filter[filter-type="programas"]:focus,
.topics-filter button.topic-button-filter[filter-type="areas"]:hover,
.topics-filter button.topic-button-filter[filter-type="areas"]:focus {
    background-color: var(--arthum-dark-green) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-dark-green) !important;
    font-style: italic;
    letter-spacing: 0.03333em;
    outline-offset: -1px;
}


/* Enfoques filters - color negro en todos los estados */
.topics-filter button.topic-button-filter[filter-type="enfoques"] {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    outline-offset: -1px;
}

.topics-filter button.topic-button-filter[filter-type="enfoques"]:hover,
.topics-filter button.topic-button-filter[filter-type="enfoques"]:focus {
    background-color: var(--arthum-black) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-black) !important;
    font-style: italic;
    letter-spacing: 0.03333em;
    outline-offset: -1px;
}

.topics-filter button.topic-button-filter[filter-type="enfoques"][status="active"] {
    background-color: var(--arthum-black) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-black) !important;
    font-style: italic;
    letter-spacing: 0.03333em;
    outline-offset: -1px;
}

.grid-header-container .topics-filter button.topic-button-filter[filter-type="enfoques"] {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    outline-offset: -1px;
}



/* === DISABLED STATES === */
.topics-filter button.topic-button-filter[disabled]:hover,
.topics-filter button.topic-button-filter[disabled]:focus {
    cursor: progress;
}

.topics-filter button.topic-button-filter[filter-type="enfoques"][status="active"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="enfoques"][status="active"][disabled]:focus {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    outline-offset: -1px;
    cursor: progress;
}

.topics-filter button.topic-button-filter[filter-type="enfoques"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="enfoques"][disabled]:focus {
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    outline: 1px solid transparent;
    outline-offset: -1px;
    cursor: progress;
    border: none;
}

.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"][status="active"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"][status="active"][disabled]:focus,
.topics-filter button.topic-button-filter[filter-type="programas"][status="active"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="programas"][status="active"][disabled]:focus,
.topics-filter button.topic-button-filter[filter-type="areas"][status="active"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="areas"][status="active"][disabled]:focus {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-fuchsia);
    outline-offset: -1px;
    cursor: progress;
}

.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="departamentos_academicos"][disabled]:focus,
.topics-filter button.topic-button-filter[filter-type="programas"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="programas"][disabled]:focus,
.topics-filter button.topic-button-filter[filter-type="areas"][disabled]:hover,
.topics-filter button.topic-button-filter[filter-type="areas"][disabled]:focus {
    background-color: var(--arthum-fuchsia);
    color: var(--arthum-white);
    outline: 1px solid transparent;
    outline-offset: -1px;
    cursor: progress;
    border: none;
}

/* === FILTER TAX DIVIDER === */
.filter-tax-divider {
    height: 2.5em;
    display: none;
    justify-content: center;
    align-items: center;
}

.filter-tax-divider.hidden-divider {
    display: none !important;
}

.filter-tax-divider span {
    height: 0.5em;
    width: 0.5em;
    background-color: var(--arthum-black);
}

/* === LOADING STATES === */
.loading-filtered-grid .filter-module-container::after {
    content: '';
    position: fixed;
    bottom: 0;
    left: 0;
    display: block;
    height: 10px;
    background: var(--arthum-black);
    z-index: 3;
    animation: loading-bar 1.3s infinite;
    pointer-events: none;
}

@keyframes loading-bar {
    0% {
        width: 0;
        left: 0;
    }

    50% {
        width: 100%;
        left: 0;
    }

    100% {
        width: 100%;
        left: 100%;
    }
}

.grid-container {
    transition: opacity 0.3s;
}

.loading-filtered-grid .grid-container {
    opacity: 0.4;
    cursor: progress;
}

.loading-filtered-grid .grid-container>* {
    pointer-events: none;
    user-select: none;
}

/* === RESPONSIVE BEHAVIOR === */
.show-filters-button,
.switch-type-names {
    display: none;
}

.filter-module-container {
    display: block;
}

/* === COURSE TYPE FILTERS === */
.course-type-filter-module {
    --ctype-color: var(--arthum-black);
}

.course-type-filter-module .topics-filter button.topic-button-filter {
    flex-shrink: 0;
    opacity: 1;
    background-color: var(--ctype-color);
    color: var(--arthum-white);
    outline: none;
}

.course-type-filter-module.abbreviated-types .topics-filter button.topic-button-filter {
    text-transform: initial;
    box-sizing: content-box;
    width: 5ch;
}

.course-type-filter-module.has-hover-inside .topics-filter button.topic-button-filter[status="inactive"],
.has-filtered-grid .course-type-filter-module .topics-filter button.topic-button-filter[status="inactive"],
.loading-filtered-grid .course-type-filter-module .topics-filter button.topic-button-filter[status="inactive"] {
    opacity: 0.2;
}

.has-filtered-grid .course-type-filter-module .topics-filter button.topic-button-filter:hover[status="active"],
.has-filtered-grid .course-type-filter-module .topics-filter button.topic-button-filter:focus[status="active"],
.loading-filtered-grid .course-type-filter-module .topics-filter button.topic-button-filter:hover[status="active"],
.loading-filtered-grid .course-type-filter-module .topics-filter button.topic-button-filter:focus[status="active"] {
    opacity: 1;
}

/* === SWITCH NAMES FUNCTIONALITY === */
.switch-names-icon {
    box-sizing: content-box;
    width: 4ch;
    padding: 0.48em;
    background: lightgray;
    color: var(--arthum-white);
    margin-right: 0.6em;
    margin-left: 1em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.switch-names-icon span {
    overflow: hidden;
    display: inline-block;
    width: 1ch;
}

.abbreviated-types .switch-type-names .switch-names-icon span,
.switch-type-names:hover .switch-names-icon span {
    width: 0;
}

.abbreviated-types .switch-type-names:hover .switch-names-icon span {
    width: 1ch;
}

/* === TOPICS LINKS === */
.topics a:hover,
.topics a:focus {
    font-style: italic;
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    outline: 1px solid var(--arthum-black);
    outline-offset: -2px;
    letter-spacing: 0.03333em;
}

/* === RESPONSIVE FILTER STYLES === */
@media screen and (max-width: 991px) {
    .topics-filter {
        margin: 0 calc(-1*var(--min-side-margin));
        padding: 0 var(--min-side-margin);
    }

    .filter-module-container {
        grid-template-columns: 1fr;
        margin-top: 1.2em;
    }

    .topics-filter button.topic-button-filter {
        font-size: var(--fz-22pt);
        padding: calc(var(--fz-10pt) * 0.8);
    }
}

@media screen and (max-width: 430px) {
    .topics-filter button.topic-button-filter {
        font-size: var(--fz-22pt);
        padding: calc(var(--fz-10pt) * 0.7);
        margin: .05em .05em;
    }
}

/* Touch devices - disable hover effects for filters */
@media (hover: none) and (pointer: coarse) {

    /* Reset all filter button hovers to prevent touch activation issues */
    .topics-filter button.topic-button-filter:hover {
        background-color: transparent !important;
        color: var(--arthum-black) !important;
        font-style: normal !important;
        letter-spacing: normal !important;
    }

    /* Maintain proper border colors by filter type on touch devices */
    .topics-filter button.topic-button-filter[filter-type="departamentos_academicos"]:hover,
    .topics-filter button.topic-button-filter[filter-type="programas"]:hover,
    .topics-filter button.topic-button-filter[filter-type="areas"]:hover {
        outline: 1px solid var(--arthum-dark-green) !important;
    }

    .topics-filter button.topic-button-filter[filter-type="enfoques"]:hover {
        outline: 1px solid var(--arthum-black) !important;
    }

    /* Ensure active states still work correctly on touch */
    .topics-filter button.topic-button-filter[status="active"] {
        background-color: var(--arthum-black) !important;
        color: var(--arthum-white) !important;
        font-style: italic !important;
        letter-spacing: 0.03333em !important;
    }

    .topics-filter button.topic-button-filter[filter-type="departamentos_academicos"][status="active"],
    .topics-filter button.topic-button-filter[filter-type="programas"][status="active"],
    .topics-filter button.topic-button-filter[filter-type="areas"][status="active"] {
        background-color: var(--arthum-dark-green) !important;
        outline: 1px solid var(--arthum-dark-green) !important;
    }
}

/* ==============================
   05.  GRID ARCHIVE
   =============================== */

/* ------ CONTENIDOS RELACIONADOS LAYOUT ------*/
.post-related-content .grid-container {
    --grid-gutter-sz: var(--fz-24pt);
}

.post-related-content .show-in-singles {
    display: initial;
}

.post-related-content {
    margin-top: 0;
    padding-bottom: 0;
}

h6.related-content-title {
    margin-bottom: 1em;
}

/* ------ CONTENIDOS RELACIONADOS PREVIEW ------*/


.post-related-content .grid-archive-item .grid-title {
    margin-top: 0;
}

.post-related-content .grid-title.grid-largest-title {
    text-transform: initial;
}

.post-related-content .grid-post-type-link {
    pointer-events: none;
}

.post-related-content .external-clasificado-wrapper::after,
.post-related-content .enlace-externo-item .grid-post-link::after,
.post-related-content .edco-item .grid-post-link[href]::after,
.post-related-content .evento-item .grid-post-link[target="_blank"]::after,
.post-related-content .generico-item .grid-post-link[target="_blank"]::after,
.post-related-content .persona-item .grid-post-link[target="_blank"]::after,
.post-related-content .documento-item .grid-post-link[target="_blank"]::after {
    content: unset;
}

/*----- INVESTIGACIONES ----*/
body:not(.post-type-archive-investigaciones) .post-related-content .investigacion-item .grid-title::before {
    content: unset;
}

.post-related-content .investigacion-item .grid-post-link:hover .grid-title {
    color: var(--arthum-black);
}

/*----- CLASIFICADOS ----*/
.post-related-content .clasificado-item .grid-post-link {
    border-top: none;
    border-bottom: none;
    padding: 0;
    aspect-ratio: 1/1;
}

.post-related-content .clasificado-item .clasificados-grid-subtitle {
    display: none;
}

.post-related-content .grid-subtitle.clasificados-grid-type {
    font-weight: 400;
    color: var(--arthum-black);
    text-transform: unset;
}

.post-related-content .clasificado-item .grid-post-link {
    flex-direction: column-reverse;
}

.post-related-content .clasificado-item .grid-post-link:hover .grid-title {
    color: var(--arthum-black);
}

.post-related-content .clasificado-item .beca-wrapper {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
}

.post-related-content .external-clasificado-wrapper {
    border: none;
    padding: 0;
    background: none;
}

.post-related-content .external-clasificado-wrapper::after {
    content: unset;
    background-image: none;
}

.post-related-content .external-clasificado .clasificados-grid-type {
    display: initial;
}


.post-related-content .paper-item .grid-post-link {
    box-shadow: none;
    padding: 0;
    position: static;
}


/*----- ANUNCIOS ----*/
.post-related-content .anuncio-item .grid-post-link {
    padding: 0;
    border: none;
}

.post-related-content .anuncio-badge {
    display: none;
}

.post-related-content .anuncio-item .grid-paragraph {
    display: none;
}

.post-related-content .anuncio-item:hover .grid-title {
    color: var(--arthum-black);
}

/*----- VIDEOS ----*/
button.unloaded-video figure::after {
    --play-btn-w: 15%;
}

/* ----- STAMPED BOXES -----*/
.stamped-content.generic-template {
    position: static;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
    grid-auto-flow: unset;
    grid-row-gap: 15px;
}

.is-filtered .stamped-content {
    display: none;
}




/*-------------------- GRID THUMBNAILS -------------------- */
.anuncio-badge {
    transform: translate(15%, -55%) rotate(5deg);
    background: var(--arthum-blue);
    color: var(--arthum-black);
    align-content: center;
    justify-items: center;
    text-align: center;
    position: absolute;
    right: 0;
    text-transform: capitalize;
    font-size: var(--fz-18pt);
    /*aún con el html overflow-x hidden esto se necesita*/
    width: 6ch;
    height: 6ch;
    border-radius: 100px;
    outline: 5px solid var(--arthum-white);
    font-weight: 900 !important;
    animation: badge-rotate 2s infinite;
    z-index: 2;
}

.evento-item .anuncio-badge {
    bottom: -16px;
    right: 24px;
    background-color: var(--arthum-light-green);
    width: 5ch;
    height: 5ch;
    font-size: var(--fz-22pt);
    outline: none;
}

@keyframes badge-rotate {
    0% {
        transform: translate(15%, -55%) rotate(30deg);
    }

    50% {
        transform: translate(15%, -55%) rotate(-30deg);
    }

    100% {
        transform: translate(15%, -55%) rotate(30deg);
    }
}


/* -------------------- ARQDIS GRID -------------------- */
.grid-container {
    --grid-col-count: 4;
    --grid-col-percent: calc(100%/var(--grid-col-count));
    --grid-gutter-sz: var(--fz-24pt);
    --grid-col-sz: calc(var(--grid-col-percent) - var(--grid-gutter-sz)*(var(--grid-col-count))/var(--grid-col-count));
}

.grid-object-container {
    max-width: var(--grid-content-w);
}

.grid-header-container,
.layout-heading {
    max-width: var(--grid-content-w);
    margin-top: calc(var(--top-margin) + var(--logo-h));
    margin-bottom: max(35px, min(4.5vw, 90px));
}

.archive:not(.tax-programas) .grid-header-container,
body.search .grid-header-container{
    margin-top: calc(var(--top-margin)*6 + var(--logo-h));
}

.single-personas .layout-heading {
    margin-top: calc(var(--top-margin)*3 + var(--logo-h));
}


.grid-header-container.programa-top-container {
    max-width: 100%;
}

.program-header-end-marker {
    display: block;
    height: 0;
    margin-top: calc(max(35px, min(4.5vw, 90px)) * -1);
    padding-bottom: max(35px, min(4.5vw, 90px));
}

.grid-header-container input.search-submit {
    margin-right: 0;
}

.grid-header-container form.search-form {
    max-width: 700px;
    margin-bottom: 0;
}

.load-more-posts {
    margin-top: 3em;
    margin-left: var(--min-side-margin) !important;
    margin-right: var(--min-side-margin) !important;
}

.load-more-posts button {
    font-family: var(--arthum-ff-area);
    font-size: var(--fz-20pt);
    font-weight: 700;
    display: block;
    position: relative;
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    padding: 0.5em 1em;
    margin: 0 auto;
    border: none;
    width: 100%;
    max-width: 585px;
    cursor: pointer;
    transition: background-color 0.3s;
    border-radius: 50px;
    box-sizing: border-box;
    height: auto;
}

.load-more-posts button:hover {
    background-color: var(--arthum-orange);
}

.load-more-posts button[disabled],
.load-more-posts button[disabled]:hover {
    background-color: var(--arthum-blue);
    cursor: progress;
    color: var(--arthum-white);
}

.load-more-posts button[disabled]::after {
    content: '';
    display: block;
    position: absolute;
    background-image: url(assets/loading-white.gif);
    height: 100%;
    width: 1.5em;
    right: 0.4em;
    top: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

.small-archive-title {
    margin-top: 1.6em;
    margin-bottom: 1em;
}

/* ---------- PACKERY GENERAL LAYOUT ---------*/

.packery-layout-grid .archive-grid-layout {
    opacity: 1;
    transition: opacity 0.3s;
}

.packery-layout-grid .archive-grid-layout.loading-masonry {
    opacity: 0;
}

.packery-layout-grid .grid-archive-col-sizer,
.packery-layout-grid .grid-archive-item,
.packery-layout-grid .stamped-content {
    width: var(--grid-col-sz);
}

body:not(.post-type-archive-audiovisuales) .packery-layout-grid .grid-archive-item.double-width:not(.grid-archive-item.double-width + .grid-archive-item.double-width),
.post-type-archive-audiovisuales .packery-layout-grid .grid-archive-item.double-width:nth-child(8n),
.packery-layout-grid .stamped-content.double-width {
    width: calc(var(--grid-col-sz)*2 + var(--grid-gutter-sz));
}

.packery-layout-grid .grid-archive-gutter-sizer {
    width: var(--grid-gutter-sz);
}

/* ---------- CSS GRID GENERAL LAYOUT ---------*/
.css-layout-grid .archive-grid-layout {
    display: grid;
    grid-template-columns: repeat(var(--grid-col-count), minmax(0, 1fr));
    grid-auto-flow: dense;
    grid-gap: var(--grid-gutter-sz)
}

.css-layout-grid .grid-archive-col-sizer,
.css-layout-grid .grid-archive-gutter-sizer {
    display: none;
}

/* ---------- CONTENIDOS RELACIONADOS LAYOUT ---------*/
.post-related-content,
.post-related-list {
    margin-top: min(5vw, 90px);
    padding-bottom: 3rem;
}

.post-related-grid {
    margin-top: min(5vw, 60px);
}

h6.related-content-title {
    margin: 2em 0;
}

/* Estilos del botón volver consolidados arriba */

/*------ INFORMACIÓN Y CONTENIDO FIJO THUMBNAIL ------*/
.grid-archive-item.contenido-fijo-item .contenido-fijo-title,
.grid-archive-item.contenido-fijo-item .contenido-fijo-subtitle {
    color: var(--arthum-black);
    font-family: var(--arthum-ff-palast);
    font-variation-settings: 'inkt' 100;
}

.grid-archive-item.contenido-fijo-item .contenido-fijo-title {
    font-size: var(--fz-45pt);
    font-style: italic;
    font-weight: 350;
    line-height: 110%;
}

.grid-archive-item.contenido-fijo-item .contenido-fijo-subtitle {
    font-size: var(--fz-22pt);
    font-weight: 330;
}

/* ------ CONTENIDOS RELACIONADOS PREVIEW ------*/

.post-related-content .grid-archive-item .grid-title {
    margin-top: 0;
}

.post-related-content .grid-title.grid-largest-title {
    text-transform: initial;
}

.post-related-content .grid-post-type-link {
    pointer-events: none;
}

.post-related-content .external-clasificado-wrapper::after,
.post-related-content .enlace-externo-item .grid-post-link::after,
.post-related-content .edco-item .grid-post-link[href]::after,
.post-related-content .evento-item .grid-post-link[target="_blank"]::after,
.post-related-content .generico-item .grid-post-link[target="_blank"]::after,
.post-related-content .persona-item .grid-post-link[target="_blank"]::after,
.post-related-content .documento-item .grid-post-link[target="_blank"]::after {
    content: unset;
}


.evento-item .grid-post-link[target="_blank"] .grid-text::before {
    content: 'open_in_new';
    font-family: 'Material Symbols Outlined';
    font-size: var(--fz-24pt);
    display: inline-block;
    width: var(--fz-20pt);
    text-align: center;
    vertical-align: text-bottom;
    margin-right: 0.2em;
    line-height: 1;
}

/*----- INVESTIGACIONES ----*/
body:not(.post-type-archive-investigaciones) .post-related-content .investigacion-item .grid-title::before {
    content: unset;
}

.post-related-content .investigacion-item .grid-post-link:hover .grid-title {
    color: var(--arthum-black);
}

/*----- CLASIFICADOS ----*/
.post-related-content .clasificado-item .grid-post-link {
    border-top: none;
    border-bottom: none;
    padding: 0;
}

.post-related-content .clasificado-item .clasificados-grid-subtitle {
    display: none;
}

.post-related-content .grid-subtitle.clasificados-grid-type {
    font-weight: 400;
    color: var(--arthum-black);
    text-transform: unset;
}

.post-related-content .clasificado-item .grid-post-link {
    flex-direction: column-reverse;
}

.post-related-content .clasificado-item .grid-post-link:hover .grid-title {
    color: var(--arthum-black);
}

.post-related-content .clasificado-item .beca-wrapper {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
}

.post-related-content .external-clasificado-wrapper {
    border: none;
    padding: 0;
    background: none;
}

.post-related-content .external-clasificado-wrapper::after {
    content: unset;
    background-image: none;
}

.post-related-content .external-clasificado .clasificados-grid-type {
    display: initial;
}


.post-related-content .paper-item .grid-post-link {
    box-shadow: none;
    padding: 0;
    position: static;
}

/*----- ANUNCIOS ----*/
.post-related-content .anuncio-item .grid-post-link {
    padding: 0;
    border: none;
}

.post-related-content .anuncio-badge {
    display: none;
}

.post-related-content .anuncio-item .grid-paragraph {
    display: none;
}

.post-related-content .anuncio-item:hover .grid-title {
    color: var(--arthum-black);
}

/*----- VIDEOS ----*/
button.unloaded-video figure::after {
    --play-btn-w: 15%;
}

/* ----- STAMPED BOXES -----*/
.stamped-content.generic-template {
    position: static;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
    grid-auto-flow: unset;
    grid-row-gap: 15px;
}

.is-filtered .stamped-content {
    display: none;
}

@media (max-width: 430px) {

    /* -- SINGLES ESPACIOS -- */
    .tecnico>span,
    .tecnico>span.nombre {
        display: block;
    }

    .tecnico.post-metadata span:not(:last-child):after {
        content: unset;
    }
}



/* ----------------------- LAYOUT INTERNO ITEMS GENERAL -----------------------*/

.grid-archive-item {
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 0;
    padding: 0;
    text-align: left;
    background: transparent;
    margin-bottom: 5em;
}

.grid-post-link {
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 0;
    padding: 0;
    text-align: left;
    background: transparent;
}

.grid-text {
    display: inline;
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    padding: .55em .75em .65em;
    cursor: pointer;
    z-index: 1;
}

.grid-archive-item:not(.persona-item):not(.paper-item):not(.facility-item):not(.anuncio-item):not(.clasificado-item) .grid-post-link:hover .grid-text {
    display: inline;
    background-color: var(--arthum-fuchsia);
    color: var(--arthum-black);
    padding: .55em .75em .65em;
    cursor: pointer;
}



.grid-text p {
    display: inline;
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-18pt);
    line-height: calc(var(--fz-18pt)*1.2);
}

.grid-text span:not(.gen-position) {
    display: inline;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-18pt);
    font-weight: 600;
    line-height: calc(var(--fz-18pt)*1.2);
    gap: .2em;
}

.grid-post-type-link {
    width: max-content;
    margin-bottom: 0.4em;
}

.grid-post-type-link span {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-15pt);
    font-weight: 300;
    position: relative;
    text-decoration: none;
    color: var(--arthum-black);
    text-transform: lowercase;
}

.grid-post-type-link span:before {
    content: '[';
    white-space: pre;
}

.grid-post-type-link span::after {
    content: ']';
    white-space: pre;
}


.grid-post-type-link[href]:hover span::after {
    width: 100%;
}


.grid-post-type-link span:hover {
    color: var(--arthum-fuchsia);
}

.grid-subtitle>span {
    display: block;
}

.grid-text .grid-subtitle .gen-departments {
    display: none;
}

.show-in-singles {
    display: none;
}

/* ------ ESPACIOS ----------*/

body.single-anuncios .grid-archive-item.facility-item .grid-post-link:hover .grid-text,
body.single-anuncios .grid-archive-item.facility-item .grid-post-link:focus .grid-text {
    color: var(--arthum-dark-green);
}


body.single-notas .grid-archive-item.facility-item .grid-post-link:hover .grid-text,
body.single-notas .grid-archive-item.facility-item .grid-post-link:focus .grid-text {
    color: var(--arthum-white);
}

.facility-item .grid-text {
    padding: 0.5em 0;
    color: var(--arthum-black);
    background-color: transparent;
    align-self: flex-start;
    line-height: normal;
}

.facility-item .grid-title {
    font-weight: 700;
    font-size: var(--fz-20pt);
}

.facility-item .grid-subtitle {
    font-size: var(--fz-20pt);
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
}

.grid-archive-item.facility-item .grid-post-link:hover .grid-text {
    padding: 0.5em 0;
    background-color: transparent;
    color: var(--arthum-fuchsia);
}


body.single-eventos .grid-archive-item.facility-item .grid-post-link:hover .grid-text,
body.single-clasificados .grid-archive-item.facility-item .grid-post-link:hover .grid-text {
    color: var(--arthum-white);
}

anuncios .grid-archive-item.facility-item .grid-post-link:hover .grid-text {
    color: var(--arthum-dark-green);
}




/* ----- GENERIC PREVIEW -----*/
.grid-post-thumbnail img {
    /* display: block;
  max-height: 65vh;
  max-width: 100%;
  width: auto;
  height: auto; */

    object-fit: cover;
    width: 100%;
    height: 100%;
    vertical-align: middle;
}

.grid-post-thumbnail {
    max-width: 100%;
    aspect-ratio: 4 / 3;
    /* Activar ambos para limitar altura 
  max-height: 80vh;
  overflow: hidden; */
}

.notas-item .grid-post-thumbnail {
    aspect-ratio: 3 / 4;
}

.grid-post-thumbnail.blue-on-hover {
    position: relative;
    image-rendering: -webkit-optimize-contrast;
}

/* desactivar webkit image rendering en safari, solo lo necesitamos en chrome */
_::-webkit-full-page-media,
_:future,
:root .grid-post-thumbnail.blue-on-hover {
    image-rendering: initial;
}

.grid-post-thumbnail.blue-on-hover img {
    filter: grayscale(0%);
    transition: filter 0.3s;
}

.grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover img {
    filter: grayscale(100%);
}

.grid-post-thumbnail.blue-on-hover::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: screen;
    left: 0;
    top: 0;
    opacity: 0;
    transition: 0.3s;
}

.grid-post-link[href]:hover .grid-post-thumbnail.blue-on-hover::after {
    opacity: 1;
}

/* ----------------------- PROGRAMA ----------------------- */


/*----------------------- PROGRAM FIXED CONTENT (PREGRADO/POSGRADO/EDCO) ----------------------*/

.programa-contenidos-fijos {
    padding: 0;
    text-align: center;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.caja-contenido-fijo {
    display: inline;
    transition: all 0.2s ease;
}

.enlace-contenido-fijo {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-72pt);
    color: var(--arthum-black);
    text-decoration: none;
    display: inline;
    font-style: normal;
    font-weight: 250;
    line-height: 100%;
    /* 79px */
    letter-spacing: -2.37px;
    transition: opacity 0.2s ease;
    padding: 0.01em;
}

.enlace-contenido-fijo:hover {
    color: var(--arthum-white);
    font-style: italic;
    font-weight: 336;
    letter-spacing: -1.8px;
    line-height: 100%;

}

.enlace-contenido-fijo:hover .program-name {
    color: var(--arthum-white);
}

.enlace-contenido-fijo:hover .program-acronym {
    font-style: normal;
    color: var(--arthum-white);
}

.enlace-contenido-fijo .program-acronym {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-16pt);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    vertical-align: baseline;
    line-height: 0;
    color: inherit;
}

/* Separator dashes between programs */
.caja-contenido-fijo::before {
    content: ' ⎯ ';
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-71pt);
    font-weight: var(--arthum-fw-thin);
    color: var(--arthum-black);
    letter-spacing: -2.3768px;
}

.caja-contenido-fijo:first-child::before {
    content: '';
}

.programa-header {
    display: flex;
    flex-direction: column;
    gap: 3em;
    justify-content: space-between;
    height: 100%;
    align-items: center;
}

.program-title {
    text-align: center;
}

.programa-top-container {
    box-sizing: border-box;
    margin-top: 0px;
    margin-bottom: 0px;
    gap: 10em;
    width: 100vw;
    height: fit-content;
    padding-top: calc(var(--top-margin)*7 + var(--logo-h));
}

.programa-heading-title {
    font-family: var(--arthum-ff-area);
    font-weight: 700;
    font-size: var(--fz-120pt);
    line-height: 1em;
    color: var(--arthum-black);
    text-decoration: none;
    font-variation-settings: 'INKT' 100;
    text-align: center;
}


.programa-info {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-20pt);
    font-style: normal;
    font-weight: 400;
    line-height: var(--fz-32pt);
    width: 50%;
    text-align: center;
}


/*----------------------- SINGLE PROGRAM FIXED CONTENT --------------------*/

.programa-legal-data {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-14pt);
    font-weight: 388;
    line-height: normal;
    font-style: normal;
    color: var(--arthum-black);
    margin-top: 2em;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* -------------------- Material Symbols helpers -------------------- */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: var(--fz-24pt);
    /* Preferred icon size */
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 700, 'GRAD' 200, 'opsz' 20;
}


.programa-child .program-acronym {
    display: none;
}

.programa-child .caja-contenido-fijo::before {
    display: none;
}

.programa-child .program-name {
    color: var(--arthum-black);
    text-align: center;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-24pt);
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: normal;
    transition: all 0.3s ease;
    /* 26.4px */
}

/* Cambia el color del título a blanco en hover/focus */
.programa-child .caja-contenido-fijo:hover .program-name,
.programa-child .caja-contenido-fijo:focus .program-name {
    color: var(--arthum-white);
}

.programa-child .caja-contenido-fijo:hover,
.programa-child .caja-contenido-fijo:focus {
    background-color: var(--arqdis-red);
    cursor: pointer;
    transform: scale(1.03);
}

.programa-child .caja-contenido-fijo {
    background-color: var(--arthum-fuchsia);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-24pt);
    width: fit-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    height: fit-content;
}

.programa-child .caja-contenido-fijo.enlace-contenido-externo {
    background-color: transparent;
    border: 2px solid var(--arthum-black);
    box-shadow: inset 0 0 0 2px var(--arthum-black);
    border: none;
    transition: all 0.3s ease;
}

.programa-child .caja-contenido-fijo.enlace-contenido-externo:hover,
.programa-child .caja-contenido-fijo.enlace-contenido-externo:focus {
    background-color: var(--arthum-black);
    color: var(--arqdis-white);
    box-shadow: inset 0 0 0 2px var(--arqdis-black);
    border: none;
    transform: scale(1.03);
}

.programa-child .caja-contenido-fijo.enlace-contenido-externo:hover .program-name,
.programa-child .caja-contenido-fijo.enlace-contenido-externo:focus .program-name {
    color: var(--arqdis-white);
}

.programa-child .enlace-contenido-externo::after {
    content: 'open_in_new';
    font-family: 'Material Symbols Outlined';
    font-variation-settings: 'FILL' 0, 'wght' 700, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    margin-left: 0.3em;
    font-size: 0.9em;
    vertical-align: -0.15em;
    line-height: 1;
    font-style: normal;
}

.programa-child .caja-contenido-fijo.enlace-contenido-externo:hover::after,
.programa-child .caja-contenido-fijo.enlace-contenido-externo:focus::after {
    color: var(--arqdis-white);
}



.programa-child .programa-contenidos-fijos {
    position: inline-block;
    padding-left: var(--min-side-margin);
    display: flex;
    flex-wrap: wrap;
    align-self: center;
    align-items: center;
    gap: 0.5em;
    max-width: 1500px;
    justify-content: center;
}



/*---------------------------- PLAN DE ESTUDIOS - página de información ----------------------------*/

.info-page-content {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    /* Alinea al inicio para que sticky funcione */
}

.index-track {
    padding-top: var(--fz-32pt);
    position: sticky;
    top: calc(var(--top-margin)*2 + var(--logo-h) + 2em);
    /* Ajusta según altura del nav */
    box-sizing: border-box;
    width: fit-content;
    padding-right: var(--min-side-margin);
    align-self: flex-start;
    /* Importante para sticky */
    flex-shrink: 0;
    /* Evita que se comprima */
    scroll-snap-type: x mandatory;
}

.table-of-contents h6 {
    display: none;
    margin-bottom: var(--fz-32pt);
    margin-top: var(--fz-32pt);
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-24pt);
    font-weight: 500;
    color: var(--arqdis-red);
}

.info-page-main {
    box-sizing: border-box;
    max-width: 40%;
    padding-left: var(--min-side-margin);
    padding-right: var(--min-side-margin);
    flex-shrink: 1;
}

.table-of-contents ul:not(.wp-block-list)>li:not(.has-child-anchors) {
    display: none;
}

ul li.has-child-anchors {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-size: var(--fz-24pt);
    border-radius: 30px;
    padding: var(--fz-10pt);
    margin: .5em .5em;
    display: inline-block;
    background-color: var(--arthum-white);
    color: var(--arthum-black);
    cursor: pointer;
    border: 1px solid var(--arthum-black);
    width: max-content;
    display: block;
}

ul li.has-child-anchors:hover,
ul li.has-child-anchors:focus,
ul li.has-child-anchors.active-section {
    background-color: var(--arthum-fuchsia);
    color: var(--arthum-black);
    border: 1px solid var(--arthum-fuchsia);
    font-style: italic;
    letter-spacing: 0.03333em;
    outline-offset: -1px;
    font-weight: 400;
}

/* Links dentro de has-child-anchors */
ul li.has-child-anchors a {
    color: var(--arthum-black);
    text-decoration: none;
}

#pdf-buttons .pdf-prev-btn {
    display: none;
}

.wp-block-arqdis-plugin-section-title {
    margin-bottom: var(--fz-24pt);
}

.pdf-download-wrapper {
    margin-top: 2em;
    justify-content: end;
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
}

.pdf-download-btn {
    background-color: transparent;
    border: 2px solid var(--arthum-black);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-24pt);
    width: fit-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    height: fit-content;
    transition: all 0.3s ease;
}

.pdf-download-btn:hover,
.pdf-download-btn:focus {
    background-color: var(--arthum-black);
    color: var(--arqdis-white);
    transform: scale(1.03);
}


/* ----- SECCIONES DE CONTENIDO -----*/



.info-section h5,
.info-section p {
    margin-top: var(--fz-24pt);
    margin-bottom: 0;
}

.info-section h5 {
    font-weight: 250;
    font-family: var(--arthum-ff-palast);
    font-style: italic;
    color: var(--arthum-black);
    font-size: var(--fz-40pt);
    line-height: calc(var(--fz-40pt)*1.2);

}

.info-page-main>h5 {

    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    padding-bottom: var(--fz-30pt);
    border-bottom: 1px solid var(--arthum-black);
    margin-bottom: var(--fz-30pt);
    margin-top: var(--fz-24pt);
    font-weight: 600;
    line-height: calc(var(--fz-60pt)*1.2);
    font-size: var(--fz-60pt);
}

.info-section ul {
    padding-top: var(--fz-24pt);
}

.info-page-contact-form-container {
    min-width: 500px;
}

/* JotForm calcula la altura cuando el iframe está fuera del viewport (539px).
   Forzamos min-height para que el formulario no quede cortado. */
.info-page-contact-form-container iframe {
    min-height: 1500px !important;
}

#forms-interno {
    display: none;
}

/* Secciones con figure directo o clase plan ocupan ancho completo */
.info-section.plan,
.info-section:has(> figure > img) {
    display: flex;
    flex-direction: column;
    padding-top: var(--fz-60pt);
    width: 90vw;
    margin-left: calc(45% - 40vw);
    box-sizing: border-box;
}

@media (max-width: 1800px) and (min-width: 1200px) {

    .info-page-contact-form-container {
        min-width: 300px;
    }
}


@media (max-width: 1199px) {

    .info-section.plan,
    .info-section:has(> figure > img) {
        margin-left: calc(25% - 40vw);
    }

    .info-page-main {
        max-width: 70%;
    }

    .info-page-contact-form-container {
        display: none;
    }

    #forms-interno {
        display: block;
    }

}

.info-section li,
body.single-notas .full-container li,
body.single-notas .left-container li {
    list-style-type: none;
    margin-bottom: var(--fz-12pt);
    position: relative;
    padding-left: 1.5em;
}

.info-section li::before,
body.single-notas .full-container li::before,
body.single-notas .left-container li::before {
    content: '⎯';
    position: absolute;
    left: 0;

}

.info-page-main p,
.info-section ul,
body.single-notas ul {
    font-size: var(--fz-20pt);
    line-height: calc(var(--fz-20pt)*1.2);
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}



.info-page-main p strong {
    font-size: var(--fz-20pt);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 650;
    color: var(--arqdis-black);

}

.info-page-main p a {
    font-weight: 500;
    color: var(--arthum-fuchsia);
}

/* Texto de registro calificado - responsive */
.has-fit-text {
    font-family: var(--arthum-ff-area) !important;
    font-size: clamp(var(--fz-8pt), 2vw, var(--fz-11pt)) !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    display: block !important;
    margin: 0 !important;
}


/* ----- VIDEO PREVIEW -----*/


button.unloaded-video figure::after {
    content: '';
    position: absolute;
    display: inline;
    --play-btn-w: 10%;
    width: var(--play-btn-w);
    height: calc(16*var(--play-btn-w)/9);
    background-image: url(./assets/ArqDis/video-play.svg);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: saturate(0);
    transition: filter 0.3s;
}

.vertical-video button.unloaded-video figure::after {
    content: '';
    position: absolute;
    display: inline;
    --play-btn-w: 10%;
    width: var(--play-btn-w);
    height: calc(5*var(--play-btn-w)/9);
    background-image: url(./assets/ArqDis/video-play.svg);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: saturate(0);
    transition: filter 0.3s;
}

button.unloaded-video:hover figure::after {
    filter: saturate(1);
    cursor: pointer;
}

button.video-load-button figure {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    height: 0;
    width: 100%;
}

button.video-load-button figure img,
button.video-load-button figure iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

button.video-load-button[video-uri*="vimeo"] figure iframe {
    width: 100%;
    height: 100%;
}

.grid-archive-item.video-item.double-width {
    display: flex;
}

.grid-archive-item.video-item.vertical-video {
    display: flex;
    flex-direction: column;
}

.grid-archive-item.video-item.vertical-video .grid-post-thumbnail {
    aspect-ratio: unset;
    width: 100%;
    overflow: hidden;
}

/* Override the 16:9 padding trick for vertical (9:16) videos */
.grid-archive-item.video-item.vertical-video button.video-load-button figure {
    padding-bottom: 177.78%;
    /* 9:16 */
}

.grid-archive-item.video-item.vertical-video .grid-post-thumbnail img.wp-post-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.grid-archive-item.video-item.double-width:hover {
    display: flex;
}

.grid-archive-item.video-item.double-width:hover .grid-text {
    background-color: var(--arthum-fuchsia);
    color: var(--arthum-black);
}

.grid-archive-item.video-item.double-width .attachment-arqdis-flex-cvr-lg.size-arqdis-flex-cvr-lg.wp-post-image {
    filter: grayscale(0%);
    transition: filter 0.3s ease;
}

.grid-archive-item.video-item.double-width:hover .attachment-arqdis-flex-cvr-lg.size-arqdis-flex-cvr-lg.wp-post-image {
    filter: grayscale(100%);
}

/* ----------------------- EVENTOS ----------------------- */

.evento-item .grid-post-thumbnail {
    aspect-ratio: 1 / 1;
    overflow: visible;
    z-index: 0;
    margin-bottom: -2px;
}

.evento-item .grid-post-thumbnail img {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
    height: 100.1%;
}

/* ----------------------- ESPACIOS ----------------------- */

/* Thumbnail */

body.single-espacios grid-text {
    line-height: normal;
}


/* -- SINGLES ESPACIOS -- */
.single-espacios main {
    margin-top: 0;
    position: relative;
    /* overflow-x: hidden; */
    overflow: visible;
}

.container-fluid.facility-single-container {
    margin-top: calc(var(--top-margin)*10 + var(--logo-h));
    width: 40vw;
    max-width: 600px;
    height: min-content;
    padding-bottom: calc(var(--top-margin)*10 + var(--logo-h));
}

.container-fluid.facility-single-container * {
    max-width: 100%;
    box-sizing: border-box;
}

#espacios-main-info {
    gap: var(--fz-24pt);
    display: flex;
    flex-direction: column;
    padding-bottom: 2rem;

}

.col-xl-6 {
    display: inherit;
    flex-direction: inherit;
    gap: inherit;

}

.col-xl-5 {
    display: inherit;
    flex-direction: inherit;
    gap: inherit;

}

.col-xl-5 div:nth-child(2) {
    display: inherit;
    flex-direction: inherit;
    gap: inherit
}


#facility-slider-container {
    position: absolute;
    width: 60vw;
    height: 100%;
    top: 0;
    left: 40vw;
}

div.top-margin-espacios {
    height: max(1rem, min(3vw, 5rem));
    /*height: clamp(1rem, 3vw, 5rem);*/
}

div.draggable-bounds {
    height: 100%;
    width: 300%;
    position: absolute;
    left: -100%;
    top: 0;
}

#espacios-main-info p,
#espacios-main-info span,
#espacios-main-info a,
#espacios-main-info h1 {
    position: relative;
    z-index: 2;
}

#espacios-main-info .col-xl-6>h6:nth-child(1) span {
    font-family: var(--arthum-ff-palast);
    font-style: italic;
    font-size: var(--fz-35pt);
    font-weight: 400;
    line-height: var(--fz-35pt);
    color: var(--arthum-red);
}

#espacios-main-info h1 {
    pointer-events: none;
}

#espacios-main-info .post-body p {
    margin-bottom: 0;
}

.tecnico .nombre {
    display: block;
    margin-bottom: 0.4em;
}

.tecnico .nombre:before {
    font-weight: 700;
    content: 'Técnico: '
}

.tecnico .email:before {
    font-weight: 700;
    content: 'Correo: '
}

.tecnico.coordinador .nombre:before {
    font-weight: 700;
    content: 'Coordinador: '
}

.tecnico .extension:before {
    font-weight: 700;
    content: 'Ext: '
}

.tecnico .extension {
    white-space: nowrap;
}


a.facility-link {
    display: inline-flex;
    text-decoration: none;
    transition: 0.3s;
    padding: var(--fz-12pt) var(--fz-18pt);
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--arthum-black);
    border-radius: 50px;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    font-size: var(--fz-20pt);
    text-transform: unset;
    color: var(--arthum-black);
    width: fit-content;
    margin-top: 3em;
}

a.facility-link:hover {
    background-color: var(--arthum-black);
    border-color: var(--arthum-black);
    color: var(--arthum-white);
    cursor: pointer;
    scale: 1.02;
}

a.facility-link span.material-symbols-outlined {
    font-size: var(--fz-22pt);
    vertical-align: middle;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 200, 'opsz' 20;
}

a.facility-link:hover span {
    color: var(--arthum-white);

}

a.facility-link:first-child:not(:last-child) {
    margin-right: auto;
    margin-left: auto;
}

a.facility-link:nth-child(2) {
    margin-top: 0.5em;
    margin-right: auto;
    margin-left: auto;
}

a.facility-link img {
    display: none;
}


a.facility-link:hover,
a.facility-link:focus {
    color: var(--arthum-black);
}

a.facility-link:hover img,
a.facility-link:focus img {
    filter: brightness(1);
}


.col-xl-6 span {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-20pt);
    font-weight: 700;
    line-height: calc(var(--fz-20pt)*1.2);
    color: var(--arthum-black);
}


#facility-image-container {
    --longest-side: 28vmax;
    height: 100%;
    position: relative;
    z-index: 1;
    margin-top: 5em;
}

#facility-image-container>div {
    height: 100%;
    width: 100%;
    position: relative;
}

.facility-image {
    position: absolute;
    left: 45%;
    transition: opacity 0.3s;
}

.facility-image.loading-image {
    opacity: 0;
    /*poner transition: 2s si se quiere la animación inicial de moviemiento de las fotos*/
}

.facility-image:not(.loading-image) {
    opacity: 1;
}

.facility-image:hover {
    cursor: grab;
}

.facility-image.ui-draggable-dragging {
    cursor: grabbing;
}

.facility-image.landscape-img {
    width: var(--longest-side);
    max-width: 800px;
    height: auto;
}

.facility-image.portrait-img {
    height: var(--longest-side);
    max-height: 800px;
    width: auto;
}

.facility-image img {
    object-fit: cover;
}

.facility-image.landscape-img img {
    width: 100%;
}

.facility-image.portrait-img img {
    height: 100%;
}

#facility-slider-container .gallery-nav {
    display: none;
}

#anuncio-slider-container {
    position: absolute;
    width: 60vw;
    height: 100%;
    top: 0;
    left: 40vw;
}

#anuncio-image-container {
    --longest-side: 20vmax;
    height: 100%;
    position: relative;
    margin-top: 5em;
}

#anuncio-image-container>div {
    height: 100%;
    width: 100%;
    position: relative;
}

.anuncio-main-wrapper {
    position: relative;
    min-height: 100vh;
}

.anuncio-paper-doc-content p,
.anuncio-paper-doc-content span,
.anuncio-paper-doc-content a,
.anuncio-paper-doc-content h1,
.anuncio-paper-doc-content h2,
.anuncio-paper-doc-content h3,
.anuncio-paper-doc-content h6 {
    position: relative;
    z-index: 9999 !important;
}

.anuncio-paper-doc-content h1 {
    pointer-events: none;
}

/* Wrapper que contiene la máscara y recibe la rotación */
.grid-post-thumbnail .thumbnail-mask-wrapper {
    width: 100%;
    height: 100%;
    overflow: visible;
}

/* 5 máscaras diferentes para eventos - aplicadas al wrapper */
.evento-item.mask-1 .thumbnail-mask-wrapper {
    clip-path: url(#evento-mask-1);
    -webkit-clip-path: url(#evento-mask-1);
}

.evento-item.mask-2 .thumbnail-mask-wrapper {
    clip-path: url(#evento-mask-2);
    -webkit-clip-path: url(#evento-mask-2);
}

.evento-item.mask-3 .thumbnail-mask-wrapper {
    clip-path: url(#evento-mask-3);
    -webkit-clip-path: url(#evento-mask-3);
}

.evento-item.mask-4 .thumbnail-mask-wrapper {
    clip-path: url(#evento-mask-4);
    -webkit-clip-path: url(#evento-mask-4);
}

.evento-item.mask-5 .thumbnail-mask-wrapper {
    clip-path: url(#evento-mask-5);
    -webkit-clip-path: url(#evento-mask-5);
}

/* Rotaciones aplicadas al wrapper con máscara */
.evento-item.rotate-90 .thumbnail-mask-wrapper {
    transform: rotate(-90deg);
    transform-origin: center;
}

.evento-item.rotate-180 .thumbnail-mask-wrapper {
    transform: rotate(-180deg);
    transform-origin: center;
}

.evento-item.rotate-270 .thumbnail-mask-wrapper {
    transform: rotate(-270deg);
    transform-origin: center;
}

/* Contrarotar la imagen para mantenerla derecha */
.evento-item.rotate-90 .thumbnail-mask-wrapper img {
    transform: rotate(90deg);
    transform-origin: center;
}

.evento-item.rotate-180 .thumbnail-mask-wrapper img {
    transform: rotate(180deg);
    transform-origin: center;
}

.evento-item.rotate-270 .thumbnail-mask-wrapper img {
    transform: rotate(270deg);
    transform-origin: center;
}

/* La imagen dentro del wrapper permanece sin transformaciones */
.grid-post-thumbnail .thumbnail-mask-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*----------------------- DOCUMENTOS ----------------------*/

.paper-item .grid-post-link {
    overflow: visible;
}

.paper-item .grid-post-link .grid-text {
    height: 100%;
    overflow: visible;
    display: flex;
    flex-direction: column;
    background-color: var(--arthum-light-green);
    color: var(--arthum-black);
    padding: var(--fz-16pt);
    justify-content: left;
    letter-spacing: 0px;

}

.paper-item .grid-post-link:hover .grid-text {
    height: 100%;
    overflow: visible;
    display: flex;
    flex-direction: column;
    background-color: var(--arthum-orange);
    color: var(--arthum-black);
    padding: var(--fz-16pt);
    justify-content: left;
    letter-spacing: 0px;
}

.paper-item .grid-post-link:hover .grid-text .topics span {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    font-style: italic;
    letter-spacing: 0.03333em;
}

.paper-item .grid-post-link .grid-text .topics span {
    font-family: var(--arthum-ff-palast);
    font-weight: 350;
    font-size: var(--fz-24pt);
    font-style: normal;
    border-radius: 30px;
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    outline-offset: -1px;
    display: inline-block;
    align-self: flex-end;
    width: fit-content;
    height: fit-content;
}

.paper-item .topics {
    display: flex;
    padding-bottom: var(--fz-16pt);
    justify-content: flex-end;
    flex-wrap: wrap;
}

.paper-item .grid-title {
    margin-top: var(--fz-16pt);
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-45pt);
    font-weight: 350;
    line-height: 100%;
    letter-spacing: -0.9px;
    margin: 0;
}


.paper-item .grid-subtitle {
    margin-top: var(--fz-16pt);
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-45pt);
    font-style: italic;
    font-weight: 350;
    line-height: 100%;
    letter-spacing: -0.9px;
    margin: 0;
    margin-bottom: 3.5em;

}

.paper-item .grid-text p strong {
    font-size: var(--fz-22pt);
    line-height: calc(var(--fz-22pt)*1.2);
    font-weight: 640;
}


.paper-item .grid-text p {
    font-size: var(--fz-22pt);
    line-height: calc(var(--fz-22pt)*1.2);
    font-weight: 380;
}




/*----------------------- PROFESSORS ----------------------*/

.persona-item .grid-post-thumbnail {
    aspect-ratio: 1 / 1;
    background-color: var(--arthum-green);
}

.persona-item .grid-post-link {
    flex-direction: column;
}

.persona-item .grid-text {
    display: flex;
    flex-direction: column;
    gap: .2em;
    background-color: transparent;
    color: var(--arthum-black);
    padding: .75em 0;
    line-height: 110%;
    height: auto;
    justify-content: end;
}

.persona-item .grid-text h6 {
    font-family: var(--arthum-ff-palast);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-38pt);
    font-style: italic;
    font-weight: 350;
    line-height: 110%;
}

.persona-item .grid-post-link:hover .grid-text,
.persona-item .grid-post-link:hover .grid-subtitle,
.persona-item .grid-post-link:hover .gen-position {
    color: var(--arthum-fuchsia);
}

body.single-notas .persona-item .grid-post-link:hover .grid-text,
body.single-notas .persona-item .grid-post-link:hover .grid-subtitle,
body.single-notas .persona-item .grid-post-link:hover .gen-position,
body.single-eventos .persona-item .grid-post-link:hover .grid-text,
body.single-eventos .persona-item .grid-post-link:hover .grid-subtitle,
body.single-eventos .persona-item .grid-post-link:hover .gen-position {
    color: var(--arthum-white);
}

.persona-item .grid-text .grid-subtitle,
.persona-item .grid-text .gen-position {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-22pt);
    font-style: normal;
    line-height: normal;
    font-weight: 350;
    color: var(--arthum-black);

}

/* Máscaras base para personas - estado inicial sin máscara */
.persona-item .grid-post-thumbnail img {
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-origin: center;
    filter: grayscale(0%);

}

/*
@keyframes organicMorph1 {
    0% {
        clip-path: inset(0);
        filter: grayscale(0%);
    }
    25% {

        filter: grayscale(25%);
    }
    50% {

        filter: grayscale(50%);
    }
    75% {
        filter: grayscale(75%);
    }
    100% {
        clip-path: url('assets/evento-mask-1.svg#evento-mask');

        filter: grayscale(100%);
    }
}

@keyframes organicMorph2 {
    0% {
        clip-path: inset(0);

        filter: grayscale(0%);
    }
    30% {

        filter: grayscale(30%);
    }
    60% {
        filter: grayscale(60%);
    }
    80% {
        filter: grayscale(80%);
    }
    100% {
        clip-path: url('assets/evento-mask-2.svg#evento-mask');

        filter: grayscale(100%);
    }
}

@keyframes organicMorph3 {
    0% {
        clip-path: inset(0);
        filter: grayscale(0%);
    }
    20% {
        filter: grayscale(20%);
    }
    45% {
        filter: grayscale(45%);
    }
    70% {
        filter: grayscale(70%);
    }
    100% {
        clip-path: url('assets/evento-mask-3.svg#evento-mask');
        filter: grayscale(100%);
    }
}

@keyframes organicMorph4 {
    0% {
        clip-path: inset(0);
        filter: grayscale(0%);
    }
    35% {
        filter: grayscale(35%);
    }
    55% {
        filter: grayscale(55%);
    }
    85% {
        filter: grayscale(85%);
    }
    100% {
        clip-path: url('assets/evento-mask-4.svg#evento-mask');
        filter: grayscale(100%);
    }
}

@keyframes organicMorph5 {
    0% {
        clip-path: inset(0);
        transform: scale(1);
        filter: grayscale(0%);
    }
    28% {
        transform: scale(1.04);
        filter: grayscale(28%);
    }
    48% {
        transform: scale(0.96);
        filter: grayscale(48%);
    }
    78% {
        transform: scale(1.01);
        filter: grayscale(78%);
    }
    100% {
        clip-path: url('assets/evento-mask-5.svg#evento-mask');
        transform: scale(1);
        filter: grayscale(100%);
    }
}

/*-----------------------------FOOTER-----------------------------*/
footer {
    background-color: var(--arthum-white);
    padding: var(--min-side-margin);
    position: relative;
    margin-top: 5rem;
    z-index: 2;
    padding-bottom: 0;
    overflow: hidden;
}

footer>div:first-child {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    grid-auto-rows: minmax(var(--fz-48pt), auto);
    grid-auto-flow: row dense;
    row-gap: var(--fz-24pt);
    column-gap: var(--fz-48pt);
    justify-content: stretch;
    align-items: start;
    width: 100%;
    margin: 0 auto;
    overflow-x: auto;
    box-sizing: border-box;
}

footer.white-footer {
    background-color: var(--arthum-white);
}


[id*="footer_col_"] {
    max-width: 100%;
}


.footer-text-title {
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-12pt);
    font-weight: 700;
    line-height: normal;
    white-space: nowrap;
}

.footer-text-subtitle {
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-12pt);
    font-weight: 400;
    line-height: normal;
    white-space: normal;
}


div#footer-social {
    grid-row: 3;
    grid-column: 1;
}

a#footer-logo {
    display: flex;
    align-items: center;
    margin-right: 4rem;
    width: min-content;
    --logo-h: 60px;
}

a#footer-logo img {
    height: var(--logo-h);
    filter: none;
}

/* Marca registrada - solo visible en desktop sin scroll */
#marca-registrada {
    position: absolute;
    right: -1.2rem;
    top: 0;
    height: 1em;
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Ocultar en mobile */
@media screen and (max-width: 880px) {
    #marca-registrada {
        display: none;
    }
}

/* Ocultar cuando se hace scroll en desktop */
nav#main-nav #marca-registrada {
    opacity: 1;
    pointer-events: none;
}

/* Footer social (logos in a row below the main logos) */


ul#social-menu-footer {
    display: inline-grid;
    grid-auto-flow: column;
    grid-column-gap: 1rem;
}

ul#social-menu-footer img {
    height: 2rem;
}

/* White variant when explicitly requested */
footer.white-footer {
    background-color: var(--arthum-white);
}

footer.white-footer #footer_bottom {
    color: var(--arthum-black);
}

/* Full-width footer logo (breaks out of padding) */
.footer-full-width-logo {
    position: relative;
    width: 102vw;
    left: 49%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 3rem;
    padding: 0;
    bottom: 0px;
    height: fit-content;
}

/* Desktop logo - oculto en mobile */
.footer-full-width-logo.desktop {
    display: block;
}

/* Mobile logo - oculto en desktop */
.footer-full-width-logo.mobile {
    display: none;
}

@media screen and (max-width: 768px) {
    .footer-full-width-logo.desktop {
        display: none;
    }

    .footer-full-width-logo.mobile {
        display: block;
    }
}

.footer-full-width-logo a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.footer-full-width-logo img {
    width: 100%;
    height: auto;
    display: block;
}

footer.white-footer a#footer-logo img {
    filter: unset;
}

#footer_bottom {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
    display: flex;
    justify-content: left;
    color: var(--arthum-black);
}

#footer_bottom .footer-text-legal a {
    color: var(--arthum-black);
    text-decoration: underline;
}

#footer_bottom .footer-text-legal {
    max-width: 1500px;
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-11pt);
    font-style: normal;
    font-weight: 388;
    line-height: normal;
    text-wrap: wrap;
}

.scroll-top-icon {
    display: none;
    position: absolute;
    left: 3vw;
    top: 0;
    width: 3rem;
    transform: translate(0, -70%);
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.no-scroll-up-arrow .scroll-top-icon {
    display: none;
}

svg#scroll-to-top line,
svg#scroll-to-top polyline {

    fill: none;
    stroke: cyan;
    stroke-width: 1.6;
    transition: 0.3s;
}

.scroll-top-icon:hover line,
.scroll-top-icon:hover polyline {
    transform: translate(0, -10px);
}



/*------------------------------- RELATED CONTENT STYLES ------------------------------*/

.post-related-content,
.post-related-list,
.post-related-grid {
    padding-left: var(--min-side-margin) !important;
    padding-right: var(--min-side-margin) !important;
}


.post-related-list {
    max-width: var(--grid-content-w);
}

.post-related-content .grid-container,
.post-related-grid .grid-container {
    padding: 0 !important;
}

.post-related-content,
.post-related-list {
    margin-top: min(5vw, 90px);
    padding-bottom: 3rem;
}

.post-related-grid {
    margin-top: min(5vw, 60px);
}


.post-related-grid .back-button-container {
    margin-bottom: 6rem;
}

/*------------------------------- PROFESORES INTERNA y THUMBNAILS ------------------------------*/


 .tax-cargos .persona-item {
        aspect-ratio: 3/4.2;
        margin-bottom: 0px;
    }

.layout-container {
    display: grid;
    flex-direction: row;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content min-content 1fr;
}

.layout-aside {
    margin-left: calc(var(--min-side-margin)*(-1));
    width: 100%;
    height: 100vh;
    position: sticky;
    top: 0;
    align-self: flex-start;
    overflow: hidden;
    grid-row: 1 / span 3;
}


.layout-aside img {
    object-fit: cover;
    height: 100%;
    width: 100%;

}

.cover-container {
    background-color: var(--arthum-green);
    width: 100%;
    height: 100%;
}

.cover-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cover-container .topics {
    width: 105%;
    height: fit-content;
    position: absolute;
    bottom: 3em;
    align-self: flex-start;
    overflow: hidden;
    z-index: 1;
    padding-left: calc(var(--min-side-margin)*2);
    padding-right: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.topics a {
    font-size: var(--fz-24pt);
    padding: var(--fz-14pt) var(--fz-28pt);
    background-color: var(--arthum-white);
    stroke-width: 2px var(--arthum-black);
    color: var(--arthum-black);
    border: 1px solid black;
    cursor: pointer;
    width: fit-content;
}

/* Back button styles consolidated above - removed duplicate */

/* Event metadata sticky container */
.event-metadata {
    display: flex;
    gap: 3em;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    max-width: 100%;
}

.event-metadata h4,
.event-metadata h6 {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-16pt);
    font-weight: 400;
    line-height: calc(var(--fz-16pt)*1.2);
    color: var(--arthum-black);
    flex: 1;
}

.layout-heading {
    padding: 0;
    width: 100%;
    height: fit-content;
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: 1fr 1fr .5fr .5fr;
    column-gap: var(--fz-28pt);
}

.layout-heading h1 {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-52pt);
    font-weight: 600;
    line-height: 1em;
    color: var(--arthum-black);
    grid-column: 1 / span 4;
    grid-row: 2;
    margin-bottom: var(--fz-48pt);
    padding: 0;
}

.classified-image-fixed.grayed-out-banner img {
    filter: grayscale(100%);
}


.layout-heading h5.post-subtitle {
    font-family: var(--arthum-ff-palast);
    font-style: italic;
    font-size: var(--fz-28pt);
    font-weight: 350;
    line-height: calc(var(--fz-24pt)*1.2);
    color: var(--arqdis-red);
    grid-column: 1 / span 4;
    grid-row: 1;
    margin-top: var(--fz-16pt);
    text-transform: none;
    margin-bottom: var(--fz-36pt);
}

h6.post-metadata {
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-16pt);
    font-weight: 400;
    line-height: calc(var(--fz-16pt)*1.2);
    color: var(--arthum-black);
    grid-column: 4;
    grid-row: 2;
    justify-self: flex-start;
    text-transform: none;
}


.layout-heading h6.post-subtitle:nth-child(2) {
    font-family: var(--arthum-ff-palast);
    font-style: italic;
    font-size: var(--fz-24pt);
    font-weight: 400;
    line-height: calc(var(--fz-24pt)*1.2);
    color: var(--arqdis-red);
    grid-column: 3 / span 2;
    grid-row: 1;
    margin-top: var(--fz-16pt);
    text-transform: none;
}

.layout-heading h6.post-subtitle-wrapper:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
}

.layout-heading h6.post-subtitle:nth-child(4) {
    display: flex;
    grid-column: 1/ span 2;
    grid-row: 4;
    justify-content: space-between;
}

.layout-heading h6.post-subtitle-wrapper:nth-child(5) {
    display: flex;
    grid-column: 3;
    grid-row: 3;
    justify-content: space-between;
}

.layout-heading h6.post-subtitle:nth-child(6) {
    display: flex;
    grid-column: 3;
    grid-row: 4;
    justify-content: space-between;
}


.layout-heading h6.post-subtitle-wrapper:nth-child(7) {
    display: flex;
    grid-column: 4;
    grid-row: 3;
    justify-content: space-between;
}

.layout-heading h6.post-subtitle:nth-child(8) {
    display: flex;
    grid-column: 4;
    grid-row: 4;
    justify-content: space-between;
}

.layout-main-top {
    grid-column: 2;
    grid-row: 2;
}

.layout-main {
    padding: var(--fz-60pt);
}


.post-body p {
    font-size: var(--fz-20pt);
    line-height: calc(var(--fz-20pt)*1.5);
    margin-bottom: var(--fz-24pt);
}

body.single-personas .post-extra-info__list li::before,
body.single-personas .post-extra-info__list p::before {
    content: "⎯ ";
    font-weight: 700;
}

.links-section ul {

    display: flex;
    flex-direction: row;
    gap: var(--fz-18pt);
    margin-bottom: var(--fz-24pt);
    line-height: normal;
    flex-wrap: wrap;
}

.links-section li a,
.links-section ul {
    color: var(--arthum-fuchsia) !important;
}


.content-wrapper {
    position: relative;
    overflow: visible;
}

.content-wrapper.collapsed .content-inner {
    max-height: calc(100vh - 40vh - var(--min-side-margin)*4);
    overflow: hidden;
}

.content-wrapper:not(.collapsed) .content-inner {
    max-height: none;
    overflow: visible;
}

.content-inner {
    transition: max-height 0.3s ease;
}

.expand-content-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: fit-content;
    padding: var(--fz-14pt) var(--fz-28pt);
    margin: var(--fz-24pt) 0px;
    background-color: var(--arthum-fuchsia);
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-20pt);
    font-weight: 700;
    color: var(--arthum-black);
    transition: all 0.3s;
    z-index: 10;
}

.expand-content-btn:hover {
    background-color: var(--arqdis-red);
    color: var(--arthum-white);
    transform: scale(1.03);
}

.post-extra-info__section {
    break-inside: avoid;
    margin-bottom: 2em;
}


.post-extra-info__title,
h6.post-subtitle-wrapper {
    font-family: var(--arthum-ff-area);
    font-size: var(--fz-18pt);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.post-extra-info__list {
    margin-top: var(--fz-16pt);
    display: flex;
    flex-direction: column;
    gap: var(--fz-12pt);
    padding-top: var(--fz-12pt);
    font-size: var(--fz-16pt);
}

.post-extra-info li {
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-16pt);
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    color: var(--arthum-black);
}

.content-inner .post-extra-info a,
.content-inner .post-links a,
.post-extra-info__list a {
    color: var(--arthum-fuchsia) !important;
    font-family: var(--arthum-ff-palast);
    font-style: normal;
    font-weight: 388;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;

}

/*------------------------------- CARRUSEL PARA EVENTOS ------------------------------*/


.slide-button-container {
    position: absolute;
    top: 50%;
    display: flex;
    width: 100%;
    justify-content: space-between;
    box-sizing: border-box;
}


.arthum-week-grid.has-scroll .slide-button-container {
    position: static;
    display: flex;
    width: 100%;
    justify-content: flex-end;
    gap: .5em;
    box-sizing: border-box;
    padding-right: var(--min-side-margin);
}


.slider-container {
    position: relative;
    width: 100%;
    left: 0;
    display: inline-grid;
    max-height: 100%;
}

.image-container {
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;
    position: static;
    scroll-snap-type: x mandatory;
}

.image-container>div {
    height: auto;
    width: min-content;
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    --longest-side: 60vmin;
}

.image-container>div:has(.single-image) {
    width: 100% !important;
    justify-content: center;
}

#image-container-body {
    height: 100%;
    width: 100%;
    position: relative;

}

#image-container-body .slide-image-wrapper.portrait-img {
    max-height: 100%;
    height: var(--longest-side);
    object-fit: contain;
}

#image-container-body .slide-image-wrapper.landscape-img {
    max-height: 100%;
    width: var(--longest-side);
    object-fit: contain;
}

.image-container:not(#image-container-body) .slide-image-wrapper {
    margin: 0px 15px;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    width: var(--longest-side);
    object-fit: cover;
}


.slide-image-wrapper {
    position: static;
    margin: 0px 15px;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    overflow: hidden;
}

#image-container-body .portrait-img .event-image {
    height: 100%;
    object-fit: cover;
    max-width: unset;
    width: unset;
}

#image-container-body .landscape-img .event-image {
    object-fit: cover;
    max-width: unset;
    width: 100%;

}

.event-image {
    object-fit: cover;
    max-width: unset;
    width: 100%;

}




/*------------------------------- ANUNCIOS, EVENTOS, NOTAS Y CLASIFICADOS ------------------------------*/

/*thumbnail anuncios*/
.anuncio-item .grid-post-thumbnail {
    display: none;
}

.anuncio-item .grid-text {
    padding: var(--fz-16pt);
    background-color: var(--arthum-green);
    color: var(--arthum-black);
    height: 100%;
    display: grid;
}

.anuncio-item .grid-subtitle {
    grid-row: 1;
    font-weight: 800;
    font-size: var(--fz-20pt);
    font-variation-settings: 'INKT' 0;
    font-family: var(--arthum-ff-area);
    text-transform: uppercase;
    padding-bottom: var(--fz-24pt);
}

.anuncio-item .grid-title,
.clasificado-item .grid-title {
    font-family: var(--arthum-ff-palast);
    grid-row: 2;
    font-size: var(--fz-30pt);
    line-height: 100%;
    font-weight: 350;
    padding-bottom: var(--fz-24pt);
    text-transform: uppercase;
    text-wrap: wrap;
    -webkit-hyphens: manual;
    -ms-hyphens: manual;
    hyphens: manual;
}

.anuncio-item .grid-paragraph {
    font-family: var(--arthum-ff-area);
    grid-row: 3;
    font-size: var(--fz-18pt);
    line-height: 140%;
    font-weight: 700;
}

.grid-archive-item.anuncio-item .grid-post-link:hover .grid-text {
    background-color: var(--arthum-dark-green);
    color: var(--arthum-white);
    cursor: pointer;
}

/*thumbnail clasificados*/
.clasificado-item .grid-post-thumbnail {
    display: none;

}

.clasificado-item .grid-text {
    padding: var(--fz-16pt);
    background-color: var(--arthum-blue);
    color: var(--arthum-black);
    height: 100%;
    display: grid;
}

.external-clasificado-wrapper {
    display: grid;
    position: relative;
}

.external-clasificado-wrapper::after {
    content: 'open_in_new';
    font-family: 'Material Symbols Outlined';
    font-size: var(--fz-36pt);
    color: var(--arthum-black);
    display: inline;
    text-decoration: none;
    position: absolute;
    top: 0;
    right: 0;
}

.clasificado-item .grid-subtitle.clasificados-grid-type {
    grid-row: 1;
    font-weight: 350;
    font-size: var(--fz-30pt);
    font-variation-settings: 'INKT' 0;
    font-family: var(--arthum-ff-palast);
    font-style: italic;
    padding-bottom: var(--fz-24pt);
    line-height: 100%;
}

.clasificado-item .grid-subtitle.clasificados-grid-subtitle {
    display: flex;
    flex-direction: column;
    align-self: end;
    justify-self: end;
    font-size: var(--fz-18pt);
    font-weight: 700;
    font-variation-settings: 'INKT' 0;
    font-family: var(--arthum-ff-area);

}


.clasificado-item .grid-subtitle strong {
    display: block;
    text-align: end;
    font-weight: inherit;
}

.clasificado-item .grid-subtitle time {
    display: block;
    text-align: end;
    font-weight: inherit;
}


.clasificado-item .grid-paragraph {
    font-family: var(--arthum-ff-area);
    grid-row: 3;
    font-size: var(--fz-18pt);
    line-height: 140%;
    font-weight: 700;
}


.grid-archive-item.clasificado-item .grid-post-link:hover .grid-text {
    background-color: var(--arthum-ochre);
    color: var(--arthum-white);
    cursor: pointer;
}



body.single-anuncios .anuncio-banner,
body.single-clasificados .anuncio-banner {
    display: none;
}

.classified-image-sticky {
    position: sticky;
    top: 300px;
    display: flex;
    justify-content: flex-end;
    height: min-content;
}

.classified-image-sticky img,
.classified-banner {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    align-self: baseline;
}

body.single-anuncios .anuncio-main-wrapper,
body.single-clasificados .anuncio-main-wrapper {
    z-index: 3;
}

body.single-anuncios .container-fluid .layout-container,
body.single-clasificados .container-fluid .layout-container,
body.single-eventos .container-fluid .layout-container {
    display: grid;
    grid-template-columns: 3fr 2fr;
    column-gap: 2em;

}

body.single-anuncios .container-fluid .layout-container {
    min-height: 100vh;
}

body.single-anuncios .container-fluid .layout-heading,
body.single-clasificados .container-fluid .layout-heading {
    display: flex;
    flex-direction: column;
    grid-column: 1 / span 2;
    grid-row: 1;
    max-width: none;
    width: 85vw;
    margin-top: calc(var(--top-margin)*8 + var(--logo-h));

}


body.single-eventos .container-fluid .layout-heading {
    display: flex;
    flex-direction: column;
    grid-column: 1 / span 2;
    grid-row: 1;
    max-width: none;
    width: 100%;
    margin-top: calc(var(--top-margin)*8 + var(--logo-h));
    margin-bottom: 0;
}

body.single-anuncios .post-body p,
body.single-clasificados .post-body p,
body.single-notas .single-nota-container p,
body.single-eventos .post-body p,
body.single-notas ul,
body.single-clasificados .classified-timeframe-item time {
    font-weight: 700;
    line-height: 140%;
    font-size: var(--fz-24pt);
}



body.single-eventos .post-body p {
    margin-bottom: var(--fz-24pt);
}

body.single-eventos .post-body p:last-child {
    margin-bottom: var(--fz-50pt);
}

body.single-anuncios {
    background-color: var(--arthum-green);
}

body.single-eventos {
    background-color: var(--arthum-ochre);
}

body.single-clasificados {
    background-color: var(--arthum-blue);
}

body.single-anuncios .container-fluid .layout-main-top {
    grid-column: 2;
    grid-row: 2;
    max-width: none;
}

body.single-clasificados .container-fluid .layout-main-top,
body.single-eventos .container-fluid .layout-main-top {
    grid-column: 2;
    grid-row: 2 / span 2;
    max-width: none;


}

body.single-eventos .container-fluid .layout-main-bottom {
    grid-column: 2;
    grid-row: 4;
    max-width: none;
}

body.single-anuncios .container-fluid .topics {
    overflow-x: visible;
}


body.single-anuncios #anuncio-slider-container {
    left: 0px;
    width: 50vw;
    height: 60vh;
    top: 500px;
}

body.single-anuncios .slide-button-container {
    display: none;
}

body.single-anuncios div.draggable-bounds {
    height: 120%;
}


body.single-notas .wp-block-arqdis-plugin-post-date span,
body.single-notas .wp-block-arqdis-plugin-author,
time.wp-block-arqdis-plugin-post-date span,
body.single-notas .wp-block-arqdis-plugin-subtitle,
body.single-notas .nota-meta-wrapper {
    font-weight: 800;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 0;
    margin-bottom: var(--fz-45pt);
    text-transform: uppercase;
}

body.single-notas .nota-meta-wrapper,
body.single-anuncios .post-subtitle,
body.single-anuncios .anuncio-attachment-link {
    font-size: var(--fz-36pt);
}

body.single-anuncios .post-subtitle,
body.single-anuncios .anuncio-attachment-link {
    font-weight: 800;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 0;
    text-transform: uppercase;
}

body.single-anuncios .topics a,
body.single-eventos .topics a {
    background-color: transparent;
    color: var(--arthum-black);
    outline: 1px solid var(--arthum-black);
    outline-offset: -1px;
    transition: none;
    border: none;

}

body.single-anuncios .topics a:hover,
body.single-eventos .topics a:hover {
    background-color: var(--arthum-black) !important;
    color: var(--arthum-white) !important;
    outline: 1px solid var(--arthum-black) !important;
    font-style: italic;
    letter-spacing: 0.03333em;

}

.grid-button.child-event-video-button::after,
.post-button::after,
.child-event-addtocal::after {
    content: 'open_in_new';
    font-family: 'Material Symbols Outlined';
    font-size: 20px;
    font-weight: 400;
}


body.single-anuncios .layout-container .anuncio-attachments-container {
    position: sticky;
    bottom: var(--fz-60pt);
    font-variation-settings: 'INKT' 0;
    z-index: 10;
    align-self: flex-end;
    grid-row: 3;
    text-transform: uppercase;
}

body.single-anuncios .layout-container .anuncio-attachment-link,
body.single-anuncios .post-body a:not(.not-default-link):not(.wp-block-button__link) {
    font-weight: 800;
    color: var(--arthum-black);
    text-decoration: underline;
    display: inline;
    position: relative;
}

body.single-anuncios .layout-container .anuncio-attachment-link::after {
    content: 'open_in_new';
    font-family: 'Material Symbols Outlined';
    font-size: var(--fz-36pt);
    color: var(--arthum-black);
    display: inline;
    text-decoration: none;
}

body.single-anuncios footer {
    background-color: var(--arthum-green) !important;
}

body.single-eventos footer {
    background-color: var(--arthum-ochre) !important;
}


body.single-clasificados .layout-heading h1,
body.single-eventos .layout-heading h1,
body.single-anuncios .layout-heading h1 {
    font-size: var(--fz-80pt);
    font-weight: 350;
    font-family: var(--arthum-ff-palast);
    color: var(--arthum-black);
    text-transform: uppercase;
    margin-top: 0;
}


body.single-clasificados .datos-clasificado {
    display: flex;
    flex-direction: row;
    gap: var(--fz-28pt);
    justify-content: space-between;
    width: 100%;
    margin-bottom: var(--fz-45pt);
}

body.single-clasificados .datos-clasificado span {
    display: flex;
    flex-direction: column;
}

body.single-clasificados .datos-clasificado span,
body.single-clasificados .datos-clasificado span strong {
    font-family: var(--arthum-ff-area);
    font-size: var(--fz-20pt);
    font-weight: 700;
}


body.single-clasificados .datos-clasificado span a {
    color: var(--arthum-black);
    text-transform: uppercase;
    font-weight: 800;
    text-decoration: underline;
}

body.single-clasificados .datos-clasificado span a::after {
    content: 'open_in_new';
    font-family: 'Material Symbols Outlined';
    font-size: var(--fz-20pt);
    margin-left: var(--fz-8pt);
    color: var(--arthum-black);
    display: inline-block;
    width: var(--fz-20pt);
    text-align: center;
}

body.single-clasificados .datos-clasificado span time {
    color: var(--arthum-white);
    font-weight: 800;
    text-decoration: underline;
}


body.single-clasificados .classified-label,
body.single-clasificados .post-intitle {
    font-family: var(--arthum-ff-palast);
    font-style: italic;
    font-size: var(--fz-30pt);
    font-weight: 350;
    display: block;
    margin-bottom: 1em;
}

body.single-clasificados footer {
    background-color: var(--arthum-blue) !important;
}

body.single-eventos .evento-fecha-completa,
body.single-clasificados .post-subtitle {
    display: inline-block;
    color: var(--arthum-white);
    font-family: var(--arthum-ff-palast);
    font-size: var(--fz-60pt);
    font-weight: 350;
    line-height: 100%;
    font-style: italic;
}

/* margen inferior para títulos y contenidos de eventos, notas, anuncios y clasificados */

body.single-eventos .layout-left-bar,
body.single-clasificados .layout-heading h1,
body.single-eventos .layout-heading h1,
body.single-anuncios .layout-heading h1,
body.single-notas .section-title,
body.single-notas .post-subtitle,
body.single-clasificados .post-subtitle,
body.single-anuncios .post-subtitle,
body.single-eventos .event-topics,
body.single-eventos .slider-container,
body.single-eventos .event-metadata {
    margin-bottom: var(--fz-45pt);
}

body.single-eventos h4.post-subtitle:not(.grid-title),
body.single-eventos h6.post-metadata:not(.grid-title) {
    color: var(--arthum-black);
    font-family: var(--arthum-ff-area);
    font-size: var(--fz-20pt);
    text-transform: none;
    font-weight: 800;
    margin: 0;
    line-height: 1.2em;

}

body.single-eventos .event-topics {
    width: 100%;
}

body.single-eventos .container-fluid .layout-main-top {
    width: 100%;
}

body.single-eventos h6:not(.grid-title):not(.grid-subtitle):not(.post-metadata):not(.related-content-title),
body.single-eventos .main-subtitle:not(.grid-title):not(.grid-subtitle),
body.single-eventos .in-body-title:not(.grid-title):not(.grid-subtitle)
 {
    font-family: var(--arthum-ff-area);
    font-weight: 700;
    font-size: var(--fz-24pt);
    line-height: 1.2em;
    color: var(--arthum-black);
    text-transform: uppercase;
    font-variation-settings: 'INKT' 0;
    margin-bottom: var(--fz-50pt);
}

.classified-timeframe-item {
    display: flex;
  flex-direction: column-reverse;
  margin-bottom: 3em;
  gap: .5em;
}

body.single-eventos .event-itinerary-date,
.classified-timeframe-item span {
    font-weight: 800;
    color: var(--arthum-white);
    font-size: var(--fz-24pt);
    margin-bottom: var(--fz-50pt);
    padding-bottom: 9px;
    border-bottom: var(--arthum-black) 1px solid;
    text-transform: uppercase;
}



.classified-timeframe-item span{
    margin-bottom: var(--fz-20pt);
}

body.single-eventos .post-bottom-content li:not(.event-itinerary-date) {
    display: flex;
    flex-direction: row;
    margin-bottom: var(--fz-50pt);
}

body.single-eventos .post-bottom-content li:not(.event-itinerary-date):last-child {
    margin-bottom: var(--fz-50pt);
    display: flex;
    flex-direction: row;
}

body.single-eventos .child-event-time {
    min-width: max-content;
    font-family: var(--arthum-ff-palast);
    font-weight: 350;
    font-size: var(--fz-20pt);
    margin-right: var(--fz-35pt);
}

body.single-eventos .child-event-title  {
    display: inline-grid;
    font-family: var(--arthum-ff-area);
    font-weight: 350;
    font-size: var(--fz-20pt);
    line-height: 140%;
    font-variation-settings: 'INKT' 0;
}

body.single-eventos .child-event-prefix {
    font-weight: 800;
    text-transform: uppercase;
}

body.single-eventos .child-event-speakers {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-size: var(--fz-20pt);
    font-style: italic;
}

body.single-eventos .child-event-data {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.layout-main-top .child-event-addtocal {
    margin-top: var(--fz-24pt);
}


.grid-button.child-event-video-button,
.post-button,
.child-event-addtocal {
    line-height: 1.2em;
    align-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    padding: var(--fz-12pt) var(--fz-18pt);
    border: 1px solid var(--arthum-white);
    border-radius: var(--fz-32pt);
    background-color: transparent;
    color: var(--arthum-white);
    width: min-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-size: var(--fz-18pt);
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: var(--fz-30pt);
}

.event-buttons-wrapper {
    display: flex;
    flex-direction: row;
    gap: var(--fz-16pt);
    justify-content: flex-end;
    margin-bottom: var(--fz-50pt);

}

a.post-button,
.grid-button.child-event-video-button,
.child-event-addtocal {
    line-height: 1.2em;
    background-color: var(--arthum-blue);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-18pt);
    width: min-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    transition: all 0.3s ease;
    border: none;
    text-transform: none;
}

a.post-button:hover,
.grid-button.child-event-video-button:hover,
.child-event-addtocal:hover {
    background-color: var(--arthum-black);
    color: var(--arthum-white);
    cursor: pointer;
    transform: scale(1.03);
}


div.logos-instituciones img {
    max-height: 65px;
    max-width: 100%;
    width: auto;
    height: auto;
    padding-right: 30px;
    padding-bottom: 15px;
    box-sizing: content-box;
}

/*------------------------------- NOTAS ------------------------------*/

body.single-notas::-webkit-scrollbar {
    width: 12px;
    /* width of the entire scrollbar */
}

body.single-notas::-webkit-scrollbar-track {
    background: var(--arthum-red);
    /* color of the tracking area */
}

body.single-notas::-webkit-scrollbar-thumb {
    background-color: var(--arthum-light-green);
    /* color of the scroll thumb */
    border-radius: 20px;
    /* roundness of the scroll thumb */
}

body.single-notas {
    background-color: var(--arthum-fuchsia);
}

body.single-notas footer {
    background-color: var(--arthum-fuchsia) !important;
}

body.single-notas .grid-archive-item:not(.persona-item):not(.paper-item):not(.facility-item):not(.anuncio-item):not(.clasificado-item) .grid-post-link:hover .grid-text,
body.single-notas .grid-archive-item.video-item.double-width:hover .grid-text {
    background-color: var(--arthum-white);
    color: var(--arthum-black);
    cursor: pointer;
}

body.single-notas .grid-archive-item.facility-item .grid-post-link:hover .grid-text {
    color: var(--arthum-white);
}


body.single-notas .back-button-container {
    position: absolute;
    top: 7em;
    z-index: 10;
    right: 52%;
}

body.single-notas {
    scrollbar-color: var(--arthum-light-green) var(--arthum-red);
    scrollbar-width: auto;
    scrollbar-gutter: stable;
    overflow: -moz-scrollbars-vertical;
    overflow-y: scroll;
    overflow-x: hidden;

}

body.single-notas .single-nota-container.nota-two-column-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100vh;
    gap: 0;
}


/* Aspect ratio 16:9 para iframes (YouTube, Vimeo, etc) en la columna derecha */
body.single-notas .single-nota-container .right-container iframe,
body.single-notas .single-nota-container .full-container iframe {
    display: block;
    width: 100% !important;
    height: auto;
    aspect-ratio: 16/9;
    max-width: 100%;
    border: none;
    background: #000;
}

/* Fallback para navegadores sin aspect-ratio */
@supports not (aspect-ratio: 16/9) {

    body.single-notas .single-nota-container .right-container iframe,
    body.single-notas .single-nota-container .full-container iframe {
        width: 100% !important;
        height: 0 !important;
        padding-bottom: 56.25%;
        /* 16:9 */
        position: relative;
        display: block;
    }
}

body.single-notas .single-nota-container .right-container {
    padding-top: calc(var(--top-margin)*4);
    background-color: var(--arthum-black);
}

body.single-notas .single-nota-container .left-container,
body.single-notas .single-nota-container .right-container,
body.single-notas .single-nota-container .full-container {
    overflow-y: auto;
    height: 100vh;

}

body.single-notas .single-nota-container .left-container,
body.single-notas .single-nota-container .full-container {
    padding-left: var(--min-side-margin);
    padding-top: calc(var(--top-margin)*8 + var(--logo-h));
    display: grid;
    padding-right: var(--min-side-margin);
    height: auto;
    grid-auto-rows: max-content;
    gap: 1em;
    background-color: var(--arthum-fuchsia);
    padding-bottom: var(--fz-120pt);
}

body.single-notas .single-nota-container .full-container {
    display: none;
}

@media (max-width: 1050px) {


    body.single-notas .single-nota-container .full-container {
        display: grid;
        flex-direction: column;
    }

    body.single-notas .single-nota-container.nota-two-column-layout {
        display: block;
        height: auto;

    }

    body.single-notas .single-nota-container .left-container,
    body.single-notas .single-nota-container .right-container {
        display: none;

    }

    body.single-notas .single-nota-container .wp-block-image img {
        aspect-ratio: unset;
        width: 100%;
    }

    body.single-notas .topics {
        margin-bottom: var(--fz-25pt);
        padding-left: inherit;
    }


    body.single-notas .wp-block-arqdis-plugin-author,
    body.single-notas .wp-block-arqdis-plugin-post-date {
        display: none;
    }

}



body.single-notas .section-title {
    font-size: var(--fz-60pt);
    font-family: var(--arthum-ff-palast);
    font-weight: 350;
    text-transform: uppercase;
    grid-row: 2;
}

body.single-notas .single-nota-container p,
body.single-notas .single-nota-container ul {
    width: 90%;
    margin-bottom: var(--fz-24pt);
}

body.single-notas strong {
    font-weight: 800;
    color: var(--arthum-black);
}

body.single-notas .topics {
    grid-row: 3;
    margin-bottom: var(--fz-50pt);
    flex-wrap: wrap;
}


body.single-notas .topics a {
    background-color: transparent;
}

body.single-notas .topics a:hover {
    background-color: var(--arthum-black);
}

body.single-notas .wp-block-arqdis-plugin-subtitle {
    grid-row: 4;
}


body.single-notas .nota-meta-wrapper .wp-block-arqdis-plugin-post-date,
body.single-notas .nota-meta-wrapper .wp-block-arqdis-plugin-author {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: normal;
}

.nota-meta-wrapper {
    grid-row: 1;
    display: block;
    flex-direction: row;
    gap: var(--fz-12pt);
}

body.single-notas .single-nota-container .right-container img,
body.single-notas .single-nota-container .right-container figure:not(.is-type-video),
body.single-notas .single-nota-container .right-container .wp-block-image,
body.single-notas .single-nota-container .right-container .wp-block-gallery {
    aspect-ratio: revert-layer;
    max-width: 100%;
    width: 100% !important;
}


body.single-notas .single-nota-container .right-container figure {
    margin: 0 !important;
    border: none !important;
    padding: 0 !important;

}


/*------------------------------- EN CONSTRUCCIÓN ------------------------------*/


.arqdis-boton-flotante {
    display: none;
}

/* Botón flotante: construcción — esquina inferior izquierda */
.arqdis-boton-construccion {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 52px;
    height: 52px;
    border-radius: 100px;
    background-color: #73b9ff;
    color: #070707;
    text-decoration: none;
    z-index: 9999;
    overflow: visible;
    cursor: pointer;
}

body.single-clasificados .arqdis-boton-construccion {
    background-color: var(--arthum-ochre);
}



.arqdis-boton-construccion span.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-size: 32px;
    font-style: normal;
    line-height: 1;
    user-select: none;
    font-variation-settings: "FILL" 0, "GRAD" 200, "opsz" 20, "wght" 300 !important;

}

.arqdis-boton-construccion:hover,
.arqdis-boton-construccion:focus,
body.single-clasificados .arqdis-boton-construccion:hover,
body.single-clasificados .arqdis-boton-construccion:focus {
    color: #070707;
    background-color: var(--arthum-fuchsia);
    cursor: pointer;
}

.construccion-tooltip {
    font-family: var(--arthum-ff-palast);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background-color: #73b9ff;
    color: #070707;
    border-radius: 60px;
    padding: 12px 20px;
    position: absolute;
    right: calc(100% + 12px);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    text-decoration: none;
}

.construccion-tooltip:hover .construccion-tooltip-email-text {
    text-decoration: underline;
}

body.single-clasificados .construccion-tooltip {
    background-color: var(--arthum-ochre);
    color: var(--arthum-black);
}


.construccion-tooltip:hover .construccion-tooltip-email span.material-symbols-outlined {
    display: inline-block;
    text-decoration: none !important;
}

.arqdis-boton-construccion.is-open .construccion-tooltip {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.construccion-tooltip-text {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-size: var(--fz-16pt);
    line-height: 1.2;
    display: block;
}

.construccion-tooltip-email {
    font-family: var(--arthum-ff-palast);
    font-weight: 300;
    font-style: italic;
    font-size: var(--fz-16pt);
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.2;
}

.construccion-tooltip-email span.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-size: 18px;
    font-style: normal;
    font-weight: 100;
    font-variation-settings: "FILL" 0, "GRAD" 200, "opsz" 20, "wght" 300;
}

/*------------------------------- MEDIA QUERIES ------------------------------*/

/* ===============================
   📱 Breakpoints base
   =============================== */

/* Desktop Max (1920px y más) */
@media (min-width: 1650px) {
    :root {
        font-size: 18px;
    }

    /* 20px */

    .arthum-week-event-image {
        position: relative;
        overflow: hidden;
        aspect-ratio: 1 / 1;
        width: auto;
        height: 100%;
    }

}

/* Desktop Min (1260px a 1615px) */

@media (min-width: 1250px) and (max-width: 1650px) {
    :root {
        font-size: 18px;
        --min-side-margin: 60px;
    }

    .home-banner-story-container {
        grid-template-rows: repeat(var(--cols), calc((100vh - 110px) / var(--cols)));

    }

    .grid-container {
        --grid-col-count: 3;
    }

    a#footer-logo {
        --logo-h: 45px;
    }


}

/*-- Media querys específicos para página de programas --*/



@media (min-width: 1128px) and (max-width: 1649px) {
    :root {
        font-size: 16px;
        --min-side-margin: 50px;
    }


    /* 18px */

    /* Ajustes específicos para este rango de pantalla */
    /* main-nav */


    .arthum-week-event-title {
        font-size: var(--fz-27pt);
    }

    .programa-contenidos-fijos {
        max-width: 1090px;
    }

    #anuncio-image-container {
        --longest-side: 28vmax;
    }


    .image-container>div {
        --longest-side: 30vmin;
    }


}

@media (min-width: 1050px) {



    .slide-button-container.switch {
        display: none;
    }

    /* Caso especial: una sola imagen */
    .slider-container .image-container.switch:has(.single-image) {
        height: fit-content;
    }

    .slider-container .image-container.switch img.single-image:only-child,
    .classified-image-sticky img,
    .classified-banner {
        position: static;
        width: auto;
        max-width: 100%;
        max-height: 60vh;
        height: auto;
        object-fit: contain;
        align-self: first baseline;
    }

    /* Contenedor principal con sticky */
    .slider-container .image-container.switch {
        position: sticky;
        top: 400px;
        height: fit-content;
        min-height: 400px;
        overflow: visible;
    }

    /* Div interno que contiene las imágenes absolute */
    .slider-container .image-container.switch>div {
        position: relative;
        width: 100%;
        height: 100%;
        min-height: 400px;
        justify-content: end;
    }

    /* Estilos base para todas las imágenes (múltiples) */
    .slider-container .image-container.switch .slide-image-wrapper {
        position: absolute;
        height: auto;
        width: auto;
        max-width: 45%;
        max-height: 90vh;
        object-fit: contain;
    }

    /* Posiciones específicas para cada imagen */
    .slider-container .image-container.switch .slide-image-wrapper:nth-child(1) {
        right: 0;
        top: 10px;
        z-index: 2;
        max-width: 40%;
        height: auto;
    }

    .slider-container .image-container.switch .slide-image-wrapper:nth-child(2) {
        left: 25%;
        top: 30px;
        z-index: 3;
        max-width: 40%;
        height: auto;
    }

    .slider-container .image-container.switch .slide-image-wrapper:nth-child(3) {
        left: 0;
        top: 8px;
        z-index: 1;
        max-width: 40%;
        height: auto;
    }
}



@media (min-width: 1050px) and (max-width: 1128px) {

    .programa-contenidos-fijos {
        max-width: 1040px;
    }

    .image-container>div {
        --longest-side: 30vmin;
    }

}


@media (min-width: 881px) and (max-width: 1050px) {

    .programa-contenidos-fijos {
        max-width: 800px;
    }



}

@media (max-width: 1649px) {
    /*------------------------------- ANUNCIOS, CLASIFICADOS, EVETOS Y NOTAS (Font-sizes) ------------------------------*/

    body.single-anuncios .container-fluid .layout-heading {
        width: 100%;
    }

    body.single-clasificados .layout-heading h1,
    body.single-eventos .layout-heading h1,
    body.single-anuncios .layout-heading h1 {
        font-size: var(--fz-60pt);
    }

    body.single-anuncios .post-subtitle,
    body.single-anuncios .anuncio-attachment-link {
        font-size: var(--fz-36pt);
    }

    body.single-anuncios .post-body p,
    body.single-clasificados .post-body p,
    body.single-notas .single-nota-container p,
    body.single-eventos .post-body p,
    body.single-notas .single-nota-container ul,
    body.single-clasificados .classified-timeframe-item time {
        font-size: var(--fz-20pt);
    }

    body.single-eventos .evento-fecha-completa,
    body.single-eventos .evento-fecha-hora,
    body.single-eventos .evento-fecha-zona,
    body.single-eventos .evento-fecha-hora::before,
    body.single-clasificados .post-subtitle,
    .evento-fecha-ano,
    .evento-fecha-hora,
    .evento-fecha-zona {
        font-size: var(--fz-50pt);
    }
}


@media (max-width: 1050px) {


    body {
        overflow-x: hidden;
    }

    .draggable-bounds {
        display: none;
    }


    .arthum-week-event-actions-mobile {
        grid-column: 2;
        grid-row: 3;
        display: flex;
        gap: var(--fz-24pt);
        padding-right: var(--min-side-margin);
        justify-content: flex-end;
        align-items: flex-end;
    }


    body.single-notas .wp-block-image {
        margin-bottom: var(--fz-45pt);
    }


    body.single-anuncios .post-subtitle,
    body.single-anuncios .anuncio-attachment-link,
    body.single-anuncios .post-subtitle,
    body.single-notas .nota-meta-wrapper,
    body.single-anuncios .post-subtitle,
    body.single-anuncios .anuncio-attachment-link {
        font-size: var(--fz-30pt);
    }


    /*-------------------- Sin backlink --------------------*/

    .back-button-container {
        display: none;
    }

    /*-------------------- ANUNCIOS, EVENTOS, NOTAS Y CONVOCATORIAS--------------------*/


    /*-------------------- Layouts y typo  --------------------*/

    body.single-eventos .container-fluid .layout-heading,
    body.single-anuncios .container-fluid .layout-heading,
    body.single-notas .container-fluid .layout-heading,
    body.single-convocatorias .container-fluid .layout-heading,
    body.single-clasificados .container-fluid .layout-heading,
    body.single-notas .single-nota-container .full-container {
        margin-top: 0;
        padding-top: calc(var(--top-margin)*3 + var(--logo-h));
        gap: 0;
    }

    body.single-clasificados .layout-heading h1,
    body.single-eventos .layout-heading h1,
    body.single-anuncios .layout-heading h1,
    body.single-notas .section-title {
        font-size: var(--fz-50pt);
        font-weight: 350;
        font-family: var(--arthum-ff-palast);
        color: var(--arthum-black);
        text-transform: uppercase;
        margin-top: 0;
    }

    body.single-eventos .evento-fecha-completa,
    body.single-clasificados .post-subtitle,
    .evento-fecha-hora::before,
    body.single-eventos .evento-fecha-hora,
    body.single-eventos .evento-fecha-zona,
    body.single-clasificados .post-subtitle {
        font-size: var(--fz-40pt);
    }

    body.single-anuncios .container-fluid .layout-container,
    body.single-clasificados .container-fluid .layout-container,
    body.single-eventos .container-fluid .layout-container {
        gap: 1;
    }


    .event-metadata {
        max-width: fit-content;
        gap: 1em;
    }



    /*------------------------------- CARRUSEL EVENTOS ------------------------------*/

    .slider-container .image-container.switch:has(.single-image)>div {
        justify-content: center;
    }

    .slide-button-container.switch {
        display: flex;
    }

    .slider-container .image-container:has(.single-image) {
        height: fit-content;
    }

    .slider-container .image-container .slide-image-wrapper:only-child {
        width: auto;
        max-width: 100%;
        max-height: 60vh;
        position: static;
        justify-self: end;
        width: auto;
        object-fit: cover;
        margin: 0;
    }


    /*------------------------------- ANUNCIOS TABLET ------------------------------*/

    body.single-anuncios .container-fluid .layout-container,
    body.single-eventos .container-fluid .layout-container {
        display: flex;
        flex-direction: column;
        min-height: auto;
    }


    body.single-anuncios .container-fluid .layout-heading {
        width: 100%;
    }

    body.single-anuncios .section-title {
        font-size: var(--fz-80pt);
    }


    body.single-anuncios main {
        display: flex;
        flex-direction: column;
    }

    body.single-anuncios .anuncio-main-wrapper {
        order: 1;
    }

    body.single-anuncios #anuncio-slider-container {
        position: relative;
        width: 100%;
        left: 0;
        height: auto;
        left: 0;
        width: 100%;
        top: 0;
    }

    body.single-anuncios .layout-container .anuncio-attachments-container {
        position: static;
        bottom: 0;
        margin-top: var(--fz-60pt);
    }


    body.single-eventos img:not(.single-image) #slider-images-sticky {
        display: flex;
    }

    .distribute-eventos {
        display: flex;
        flex-direction: column;
    }

    /*--------------------- ANUNCIOS CARRUSEL --------------------*/
    #anuncio-image-container {
        --longest-side: 90vw;
        height: auto;
        overflow-x: auto;
        overflow-y: hidden;
        position: static;
        scroll-snap-type: x mandatory;
    }

    #anuncio-image-container>div:has(.facility-image:only-child) {
        justify-content: center;
        width: 100%;
    }

    #anuncio-slider-container:has(.facility-image:only-child) .slide-button-container {
        display: none;
    }

    #anuncio-image-container>div {
        height: auto;
        width: min-content;
        position: static;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    #anuncio-slider-container {
        position: relative;
        width: 100%;
        left: 0;
        height: auto;
    }

    #anuncio-slider-container .facility-image {
        position: static;
        margin: 0 15px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        overflow: hidden;
    }

    #anuncio-slider-container .gallery-nav {
        display: flex;
    }

    #anuncio-slider-container .slide-button-container {
        display: flex;
        justify-content: space-between;
        position: absolute;
        width: 100%;
        top: 50%;
    }


    /*--------------------- CLASIFICADOS TABLET --------------------*/


    body.single-clasificados .container-fluid .layout-container {
        grid-template-columns: 1fr 2fr;
        margin: auto;
    }

    body.single-clasificados .container-fluid .layout-heading {
        width: 100%;
    }


    body.single-clasificados .datos-clasificado {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--fz-30pt);
        height: fit-content;
    }

    body.single-clasificados .layout-main-top {
        width: 100%;
    }

    body.single-clasificados div.topics {
        justify-content: center;
    }

    body.single-clasificados .container-fluid {
        display: flex;
        flex-direction: column;
    }

    .classified-image-sticky {
        left: 0px;
        top: 300px;
        width: 100%;

    }


}

@media (min-width: 850px) and (max-width: 1279px) {
    :root {
        font-size: 16px;
        --min-side-margin: 40px;
    }

}

@media (min-width: 768px) and (max-width: 849px) {
    :root {
        font-size: 16px;
        --min-side-margin: 30px;
    }

    .education-submenu a,
    .simple-menu a {
        font-size: var(--fz-20pt);
        max-width: none;
    }

    .menu-footer-separator .menu-footer-item {
        width: 13%;
    }

}

@media (min-width: 767px) and (max-width: 1128px) {
    :root {
        font-size: 15px;
        --min-side-margin: 20px;
    }

    #menu-footer-legal p {
        grid-column: 3 / span 6;
    }


    /*
    .menu-sections-row.menu-main-row {
        gap: 23px;
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
    }

   
    .menu-block-right {
        flex-direction: row;
        flex: 1 1 auto;
        gap: 0px;

    }
       


    .menu-block-right {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 0px;
         row-gap: var(--fz-22pt);
    }

    .education-columns {
        gap: 0px;
    }



    .menu-section {
        flex: 1 1 0;
    }


    .education-submenu,
    .simple-menu {
        gap: .7em;
    }
         */




}




/* Tablet (768px a 1279px) */
@media (min-width: 767px) and (max-width: 1279px) and (hover: none) and (pointer: coarse) {

    :root {
        --min-side-margin: var(--fz-24pt);
    }

    nav#main-nav,
    footer,
    .nota-banner-container,
    main,
    body {
        --top-margin: 1rem;
        --logo-h: 60px;
        --main-nav-h: calc(var(--top-margin)*2 + var(--logo-h));
    }

    /*-------------------- MENU ICONS --------------------*/

    /* Dropdowns removidos de tablet - solo en mobile */

    /*-------------------- HOME BANNER --------------------*/

    .home-banner-story-container {
        display: flex;
        flex-wrap: wrap;
        gap: 0px;
    }

    .home-banner-story {
        position: relative;
        align-items: center;
    }

    .home-banner-story .banner-meta {
        height: 3.5em;
        justify-content: center;
    }

    .home-banner-story:nth-child(1),
    .home-banner-story:nth-child(2),
    .home-banner-story:nth-child(3),
    .home-banner-story:nth-child(4),
    .home-banner-story:nth-child(5),
    .home-banner-story:nth-child(6) {
        flex: 1 1 calc(50% - 0.25em);
        min-width: calc(50% - 0.25em);
    }

    .banner-menu-container {
        position: absolute;
        padding-left: var(--min-side-margin);
        height: var(--banner-menu-h);
        display: flex;
        flex-wrap: wrap;
        align-self: end;
        align-items: flex-end;
        transform: translateY(150%);
        max-width: 100vw;
        gap: 0.5em;
    }

    .home-banner-story-container img {
        height: 100%;
        width: 100%;
        aspect-ratio: 16/9;
        object-fit: cover;
        object-position: center;
    }

    /* Ocultar últimos elementos si el alto es reducido */
    @media (max-height: 800px) {

        .home-banner-story:nth-child(5),
        .home-banner-story:nth-child(6) {
            display: none;
        }
    }

    @media (max-height: 600px) {

        .home-banner-story:nth-child(3),
        .home-banner-story:nth-child(4),
        .home-banner-story:nth-child(5),
        .home-banner-story:nth-child(6) {
            display: none;
        }
    }

    .banner-menu-item {
        font-size: var(--fz-18pt);
    }


    /*-------------------- EVENTOS SEMANA ARTHUM --------------------*/


    .arthum-week-events-list {
        width: 40vw;
    }

    .arthum-week-event-item {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .arthum-week-event-title {
        font-size: var(--fz-20pt);
        width: auto;

    }

    .arthum-week-event-header {
        padding-left: var(--fz-24pt);
        min-width: none;
    }

    .arthum-week-event-category {
        font-size: var(--fz-24pt);
        padding-top: var(--fz-18pt);
        padding-bottom: var(--fz-18pt);
    }

    .arthum-week-event-datetime {
        font-size: var(--fz-20pt);
    }

    .arthum-week-event-description {
        padding: 0px;
        padding-left: var(--fz-24pt);
        padding-right: var(--min-side-margin);
    }

    .arthum-week-event-additional {
        font-size: var(--fz-16pt);
        line-height: var(--fz-20pt);
        padding-bottom: var(--fz-14pt);
    }

    .arthum-week-event-description p {
        font-size: var(--fz-16pt);
        line-height: var(--fz-20pt);
    }


    .arthum-week-event-actions {
        padding-left: var(--fz-24pt);
    }

    .arthum-week-event-button {
        font-size: var(--fz-18pt);
    }


    /*-------------------- ARCHIVE --------------------*/

    .grid-container {
        --grid-col-count: 2;
        --grid-col-percent: calc(100% / var(--grid-col-count));
        --grid-gutter-sz: var(--fz-24pt);
        --grid-col-sz: calc(var(--grid-col-percent) - var(--grid-gutter-sz) * (var(--grid-col-count)) / var(--grid-col-count));
    }

    .packery-layout-grid .archive-grid-layout {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: var(--grid-gutter-sz);
    }

    .packery-layout-grid .grid-archive-col-sizer,
    .packery-layout-grid .grid-archive-item,
    .packery-layout-grid .stamped-content {
        width: var(--grid-col-sz);

    }

    .packery-layout-grid .grid-archive-gutter-sizer {
        width: var(--grid-gutter-sz);
    }
}


/* Tablet (768px a 1279px) */
@media (min-width: 767px) and (max-width: 1250px) {


    :root {
        --min-side-margin: var(--fz-24pt);
    }

    /*-------------------- MAIN NAV --------------------*/

    nav#main-nav,
    footer,
    .nota-banner-container,
    main,
    body {
        --top-margin: 1rem;
        --logo-h: 60px;
        --main-nav-h: calc(var(--top-margin)*2 + var(--logo-h));
    }

    /*-------------------- RELATED CONTENT TABLET --------------------*/

    h6.related-content-title {
        font-size: var(--fz-45pt);
    }

    /*-------------------- MENU ICONS --------------------*/

    /* Dropdowns removidos de tablet - solo en mobile */

    /*-------------------- HOME BANNER --------------------*/

    .home-banner-story-container {
        display: flex;
        flex-wrap: wrap;
        gap: 0px;
    }

    .home-banner-story {
        position: relative;
        align-items: center;
    }

    .home-banner-story .banner-meta {
        height: 3.5em;
    }

    .home-banner-story:nth-child(1),
    .home-banner-story:nth-child(2),
    .home-banner-story:nth-child(3),
    .home-banner-story:nth-child(4),
    .home-banner-story:nth-child(5),
    .home-banner-story:nth-child(6) {
        flex: 1 1 calc(50% - 0.25em);
        min-width: calc(50% - 0.25em);
    }

    .banner-menu-container {
        position: absolute;
        padding-left: var(--min-side-margin);
        height: var(--banner-menu-h);
        display: flex;
        flex-wrap: wrap;
        align-self: end;
        align-items: flex-end;
        transform: translateY(150%);
        max-width: 100vw;
        gap: 0.5em;
    }

    .home-banner-story-container img {
        height: 100%;
        width: 100%;
        aspect-ratio: 16/9;
        object-fit: cover;
        object-position: center;
    }

    .banner-img-desktop {
        display: none;
    }

    .banner-img-mobile {
        display: block;
    }

    /*-------------- heading agrupador programas ---------------*/
    .programa-info {
        width: 80%;
    }

    /* Ocultar últimos elementos si el alto es reducido */
    @media (max-height: 800px) {

        .home-banner-story:nth-child(5),
        .home-banner-story:nth-child(6) {
            display: none;
        }
    }

    @media (max-height: 600px) {

        .home-banner-story:nth-child(3),
        .home-banner-story:nth-child(4),
        .home-banner-story:nth-child(5),
        .home-banner-story:nth-child(6) {
            display: none;
        }
    }

    .banner-menu-item {
        font-size: var(--fz-22pt);
    }


    /*-------------------- FOOTER --------------------*/

    footer>div:first-child {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-auto-rows: auto;
    }

    a#footer-logo {
        --logo-h: 40px;
        grid-row: 1;
        grid-column: 1 / span 2;
    }

    #footer_bottom {
        grid-column: 3 / span 2;
        grid-row: 1;
    }

    div#footer-social {
        grid-row: 4;
        grid-column: 1;
    }

    .footer-text-title {
        white-space: wrap;
        width: 80%;
    }



    /*-------------------- EVENTOS SEMANA ARTHUM --------------------*/


    .arthum-week-events-list {
        width: 40vw;
    }

    .arthum-week-event-item {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .arthum-week-event-title {
        font-size: var(--fz-24pt);
        width: auto;

    }

    .arthum-week-event-header {
        padding-left: var(--fz-24pt);
        min-width: none;
    }

    .arthum-week-event-category {
        font-size: var(--fz-27pt);
        padding-top: var(--fz-18pt);
        padding-bottom: var(--fz-18pt);
    }

    .arthum-week-event-datetime {
        font-size: var(--fz-24pt);
    }

    .arthum-week-event-description {
        padding: 0px;
        padding-left: var(--fz-24pt);
        padding-right: var(--min-side-margin);
    }

    .arthum-week-event-additional {
        font-size: var(--fz-18pt);
        line-height: var(--fz-20pt);
        padding-bottom: var(--fz-14pt);
    }

    .arthum-week-event-description p {
        font-size: var(--fz-18pt);
        line-height: var(--fz-20pt);
    }

    .arthum-week-event-image {
        width: 50%;
    }

    .arthum-week-event-actions {
        padding-left: var(--fz-24pt);
    }

    .arthum-week-event-button {
        font-size: var(--fz-22pt);
    }


    /*-------------------- ARCHIVE --------------------*/

    .grid-container {
        --grid-col-count: 2;
        --grid-col-percent: calc(100% / var(--grid-col-count));
        --grid-gutter-sz: var(--fz-24pt);
        --grid-col-sz: calc(var(--grid-col-percent) - var(--grid-gutter-sz) * (var(--grid-col-count)) / var(--grid-col-count));
    }

    /* Packery maneja el layout automáticamente, no usar display: grid */

    .packery-layout-grid .grid-archive-col-sizer,
    .packery-layout-grid .grid-archive-item,
    .packery-layout-grid .stamped-content {
        width: var(--grid-col-sz);

    }

    .packery-layout-grid .grid-archive-gutter-sizer {
        width: var(--grid-gutter-sz);
    }


}

@media (max-width: 990px) {


    /*--------------------- EDIFICIOS INTERNA --------------------*/
    #facility-image-container {
        --longest-side: 90vw;
        height: auto;
        overflow-x: auto;
        overflow-y: hidden;
        position: static;
        scroll-snap-type: x mandatory;
    }

    #facility-image-container>div {
        height: auto;
        width: min-content;
        position: static;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    #facility-slider-container {
        position: relative;
        width: 100%;
        left: 0;
    }

    .facility-image {
        position: static;
        margin: 0 15px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        overflow: hidden;
    }

    #facility-slider-container .gallery-nav {
        display: flex;
    }



    #prev-slide {
        left: 3em;
        position: absolute;
    }

    #next-slide {
        right: 3em;
        position: absolute;
    }

    .container-fluid.facility-single-container {
        width: 100%;
        max-width: 100vw;
        height: min-content;
        overflow-x: hidden;
        box-sizing: border-box;
        margin-top: calc(var(--top-margin)*4 + var(--logo-h));
        padding-bottom: 0;

    }

    .container-fluid.facility-single-container * {
        max-width: 100%;
        box-sizing: border-box;
    }

}

/* Estilos globales para imágenes en info-section */

.info-section:has(> figure) figure {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* SVG images should not be constrained by inline width/height styles */
.wp-block-image img[src*=".svg"] {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
}


@media (max-width: 880px) {


    :root {
        font-size: 15px;
        --min-side-margin: var(--fz-24pt);
    }


    /*-------------------- EVENTOS SEMANA ARTHUM --------------------*/

    .home-slogan {
        padding-top: var(--fz-12pt);
        margin-top: 1em;
    }

    .grid-header-container,
    .layout-heading {
        max-width: var(--grid-content-w);
        margin-bottom: max(35px, min(4.5vw, 90px));
    }

    .marquee-rango {
        font-size: var(--fz-50pt);
    }

    .marquee-texto {
        font-size: var(--fz-50pt);
    }

    .arthum-week-events-list,
    .arthum-week-event-item,
    .arthum-week-event-info,
    .arthum-week-event-detail {
        display: none;
    }

    .arthum-week-events-list-mobile,
    .arthum-week-event-item-mobile,
    .arthum-week-event-info-mobile {
        display: block;
    }


    .arthum-week-events-container {
        display: flex;
        flex-direction: column;
        height: auto;
        max-height: none;
        border-bottom: none;
    }

    /* Lista de eventos (izquierda) */
    .arthum-week-events-list-mobile {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .arthum-week-event {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid var(--arthum-black);
        padding: var(--fz-30pt) 0;
        gap: var(--fz-16pt);
    }

    .arthum-week-event:nth-child(4),
    .arthum-week-event:nth-child(5),
    .arthum-week-event:nth-child(6) {
        display: none;
    }

    .arthum-week-event-item-mobile {
        display: flex;
        gap: var(--fz-8pt);
        flex-direction: column;
        height: auto;
        align-items: self-start;
        border: none;
        background-color: transparent;
        cursor: pointer;
        transition: background-color 0.2s ease;
        text-align: left;
        font-family: var(--arthum-ff-area);
        font-variation-settings: 'inkt' 100;
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
        min-height: 0;
        justify-content: space-between;

    }


    .arthum-week-event-item.active .arthum-week-event-title,
    .arthum-week-event-item-mobile.active .arthum-week-event-title,
    .arthum-week-event-item-mobile.active .arthum-week-event-datetime,
    .arthum-week-event-item-mobile:focus .arthum-week-event-title,
    .arthum-week-event-item-mobile:focus .arthum-week-event-datetime {
        color: var(--arqdis-orange);
    }

    .arthum-week-event-item-mobile.today .arthum-week-event-title-mobile {
        font-weight: 700;
    }

    .arthum-week-event-item-mobile.past {
        opacity: 0.5;
    }

    .arthum-week-event-title-mobile {
        width: 100%;
        font-weight: 700;
        line-height: 1.1;
        color: var(--arthum-black);
        font-family: var(--arthum-ff-area);
        font-variation-settings: 'inkt' 100;
        font-size: var(--fz-30pt);
    }

    .arthum-week-event-datetime-mobile {
        font-size: var(--fz-27pt);
        width: min-content;
        font-weight: 350;
        line-height: 1.1;
        color: var(--arthum-black);
        white-space: nowrap;
        font-family: var(--arthum-ff-palast);
        text-align: right;
    }

    /* Panel de detalle (derecha) */
    .arthum-week-event-detail-mobile {
        flex: 1;
        display: flex;
    }


    .arthum-week-event-info-mobile {
        flex: 1;
        display: grid;
        grid-template-columns: 1fr auto;
        row-gap: var(--fz-8pt);
        justify-content: space-between;
    }

    .arthum-week-event-header-mobile {
        grid-column: span 2;
        padding: var(--fz-5pt);
        height: auto;
        display: flex;
        align-items: center;
        padding-left: var(--min-side-margin);
    }

    .arthum-week-event-category-mobile {
        font-size: var(--fz-27pt);
        font-weight: 300;
        font-style: italic;
        line-height: 1.1;
        color: var(--arqdis-orange);
        font-family: var(--arthum-ff-palast);
    }

    .arthum-week-event-additional-mobile {
        display: none;
    }

    .arthum-week-event-description-mobile {
        grid-column: 1;
        grid-row: 3;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: var(--fz-36pt);
        padding-left: var(--min-side-margin);
        padding-right: calc(var(--min-side-margin) * 2);
    }

    .arthum-week-event-description-mobile p {
        font-size: var(--fz-18pt);
        line-height: var(--fz-24pt);
        color: var(--arthum-black);
        font-family: var(--arthum-ff-area);
        font-variation-settings: 'inkt' 100;
        font-weight: 400;
        margin: 0;
    }



    .arthum-week-event-item:last-child {
        border-bottom: 1px solid var(--arthum-black);
    }

    .arthum-event-detail-category-mobile {
        font-size: var(--fz-18pt);
    }

    /*-------------------- PROGRAMAS MADRE --------------------*/

    body.tax-programas .container-fluid.grid-header-container.programa-top-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.tax-programas .container-fluid.grid-header-container.programa-top-container .program-title,
    body.tax-programas .container-fluid.grid-header-container.programa-top-container .programa-info {
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
    }

    .programa-contenidos-fijos {
        margin: 0;
    }

    .tax-programas .programa-top-container:not(.programa-child) .caja-contenido-fijo {
        border-top: 1px solid var(--arthum-black);
        padding: var(--min-side-margin) var(--min-side-margin);
        margin: 0;
    }


    .caja-contenido-fijo:last-child {
        border-bottom: 1px solid var(--arthum-black);
    }


    /*-------------------- PLAN DE ESTUDIOS --------------------*/
    /*-------------------- ÍNDICE PLAN DE ESTUDIOS --------------------*/

    .home-banner-container,
    .home-banner-container~.week-events-banner-container {
        /* usamos el margen original que tendría el main si no estuviera el banner */
        margin-bottom: 5em;
        padding-top: calc(var(--top-margin)*1 + var(--logo-h));
        background-color: var(--arthum-black);
    }

    .index-track {
        display: none;
    }

    .info-page-main {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px;
        max-width: none;
    }

    .pdf-download-wrapper {

        padding-right: var(--min-side-margin);
    }





    /*-------------------- PÁGINA DE INFORMACIÓN --------------------*/
    /* Agregar ícono de "más" a los títulos h5 excepto el último */

    .info-page-main h5 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        /* texto a la izquierda, ícono a la derecha */
        width: 100%;
    }

    .info-page-main>h5::after {
        content: "add_circle";
        font-family: 'Material Symbols Outlined';
        font-size: var(--fz-32pt);
        margin-left: 0.5em;
        display: inline-block;
        vertical-align: middle;
        align-self: flex-end;
        font-variation-settings: 'wght' 500;
    }

    /*-------------------- PÁGINA DE INFORMACIÓN - EXPANDIR/COLAPSAR SECCIONES --------------------*/


    .info-page-main>.wp-block-arqdis-plugin-section-title {
        cursor: pointer;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: var(--min-side-margin) var(--min-side-margin);
        border-bottom: 1px solid var(--arthum-gray);
        margin: 0px;
        background-color: var(--arthum-white);
        z-index: 10;
        box-sizing: border-box;
    }

    .info-page-main>h5.wp-block-arqdis-plugin-section-title[aria-expanded="true"]::after {
        content: "cancel";
    }

    .info-section {
        max-height: 0;
        padding: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
        box-sizing: border-box;
    }

    .info-section.open {
        max-height: fit-content;
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
        border-bottom: 1px solid var(--arthum-gray);
    }

    /* Secciones con figure, plan y formulario interno siempre visibles */
    .info-section:has(> figure > img),
    .info-section.plan {
        flex-direction: column;
        max-height: fit-content !important;
        overflow: visible !important;
        padding-left: 0px !important;
        padding-right: 0px !important;
        width: 100vw;
        position: relative;
        left: 0;
        margin-left: calc(-1 * var(--min-side-margin));
        margin-right: calc(-1 * var(--min-side-margin));
    }

    .info-section:has(> figure) figure,
    .info-section.plan figure {
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
        width: 100vw;
    }

    .info-section.open #forms-interno,
    .info-section.open .info-section {
        max-width: none;
        width: 100%;
        max-height: fit-content;
        overflow: visible;
    }

    .info-section:has(> figure) figure img,
    .wp-block-image img {
        width: 100%;

    }

    .info-page-main>.wp-block-arqdis-plugin-section-title:nth-child(1) {
        border-top: 1px solid var(--arthum-gray);
    }


    .info-page-main>h5 {
        font-size: var(--fz-32pt);
        line-height: 1.2;
    }

    body.informacion-template-default div.single-container.container-fluid {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .info-page-main>.wp-block-arqdis-plugin-section-title:nth-child(1) {
        border-top: 1px solid var(--arthum-gray);
    }




    /*--------------------- CONTENIDO DE LA SECCIÓN DE INFORMACIÓN --------------------*/

    .info-section h5 {
        margin-top: calc(var(--min-side-margin)*2);
    }

    .info-section p,
    .info-section li,
    body.single-notas li {
        margin-top: calc(var(--min-side-margin)/1.5);
    }


    .info-section> :last-child {
        margin-bottom: calc(var(--min-side-margin)*2);
    }


    .info-page-main p {
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
    }

    .has-fit-text {
        font-size: clamp(var(--fz-8pt), 2vw, var(--fz-11pt)) !important;
        line-height: 1.3;
        padding: 0 var(--min-side-margin);
    }


    /*-------------------- FORMULARIOS EN PLAN DE ESTUDIO --------------------*/

    .info-page-content {
        display: block;
    }

    #forms-interno {
        display: none;
    }

    .info-page-contact-form-container {
        display: block;
    }



    /*------- heading agrupador programas de estudio -------*/

    .programa-header {
        align-items: self-start;
    }

    body.tax-programas .grid-header-container:has(.small-archive-title) {

        margin-top: calc(var(--top-margin) * 2 + var(--logo-h));
    }

    .info-page-heading .home-slogan.info-page-title {
        line-height: 1;
        padding-top: 0;
        padding-bottom: var(--fz-32pt);
    }

    .programa-top-container {
        padding-top: calc(var(--top-margin)*2 + var(--logo-h))
    }

    .programa-heading-title {
        font-size: var(--fz-71pt);

    }

    .enlace-contenido-fijo {
        font-size: var(--fz-64pt);
    }

    .enlace-contenido-fijo .program-acronym {
        font-size: var(--fz-14pt);
    }

    .programa-info {
        width: 80%;
        text-align: left;
    }

    .programa-contenidos-fijos {
        display: flex;
        flex-direction: column;
        text-align: left;
    }

    .programa-child .programa-contenidos-fijos {
        flex-direction: row;
    }


    div.programa-child .programa-header {
        align-items: center;

    }

    div.programa-child .programa-info {
        text-align: center;

    }

    .programa-top-container:not(.programa-child) .programa-heading-title {
        text-align: left;
    }

    .caja-contenido-fijo::before {
        display: none;
    }





}


/* Mobile (hasta 767px) - Touch devices */
@media (max-width: 768px) {

    :root {
        font-size: 14px;
        --min-side-margin: var(--fz-24pt);
    }

    /*-------------------- HOME BANNER --------------------*/

    .banner-img-mobile {
        display: block;
    }

    .banner-img-desktop {
        display: none;
    }

    /*-------------------- NAV BAR --------------------*/

    .footer-full-width-logo.mobile {
        display: block;
    }


    /*-------------------- GRID LAYOUT --------------------*/

    .grid-archive-item {
        margin-bottom: 2em;
    }


    /*-------------------- PROFESORES LAYOUT --------------------*/

    .layout-container {
        display: flex;
        flex-direction: column;
        gap: var(--fz-24pt);
        grid-template-columns: none;
        grid-template-rows: none;
    }

    .layout-aside {
        margin-left: calc(var(--min-side-margin) * -1);
        margin-right: calc(var(--min-side-margin) * -1);
        width: calc(100% + var(--min-side-margin) * 2);
        height: fit-content;
        position: relative;
        top: auto;
        order: -1;
        grid-row: auto;
    }

    .layout-heading {
        order: 0;
        grid-column: auto;
        grid-row: auto;
        max-width: none;
        margin-top: auto;
        margin-bottom: var(--fz-12pt);
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto auto;
        column-gap: var(--fz-24pt);
    }

    .layout-main {
        order: 1;
        padding: 0 var(--min-side-margin);
    }

    .layout-heading h5.post-subtitle {
        font-size: var(--fz-24pt);
        margin-bottom: 0;
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    .layout-heading h1 {
        font-size: var(--fz-32pt);
        margin-bottom: 0;
        grid-column: 1 / span 2;
        grid-row: 2;
        margin-top: 1em;
        margin-bottom: 1em;
    }



    body.single-anuncios .layout-heading h1 {
        margin-top: 0;
        margin-bottom: var(--fz-45pt);
    }

    .layout-heading h6.post-subtitle-wrapper,
    .layout-heading h6.post-metadata {
        grid-row: 3;
        margin: 0;
    }


    .layout-heading h6.post-subtitle:nth-child(4) {
        margin-bottom: 1em;
    }

    .layout-heading h6.post-subtitle-wrapper:nth-child(5) {
        grid-column: 1;
        grid-row: 5;
    }

    .layout-heading h6.post-subtitle:nth-child(6) {
        grid-column: 1;
        grid-row: 6;
    }

    .layout-heading h6.post-subtitle-wrapper:nth-child(7) {
        grid-column: 2;
        grid-row: 5;
    }

    .layout-heading h6.post-subtitle:nth-child(8) {
        grid-column: 2;
        grid-row: 6;
    }

    .single-personas .layout-heading{
        margin-top: auto;
    }


    .cover-container {
        background-color: var(--arthum-white);
    }

    .cover-container .topics {
        position: absolute;
        bottom: var(--fz-24pt);
        width: 100%;
        left: 0;
    }

    .event-topics div.topics,
    body.single-anuncios div.topics {
        padding: 0 var(--min-side-margin);
    }

    div.topics {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
    }

    .topics a {

        font-size: var(--fz-20pt);
        padding: var(--fz-14pt) var(--fz-28pt);
        background-color: var(--arthum-white);
        stroke-width: 2px var(--arthum-black);
        color: var(--arthum-black);
        border: 1px solid black;
        cursor: pointer;
        width: fit-content;
    }

    .layout-container .topics a,
    .full-container .topics a {
        font-size: var(--fz-22pt);
        padding: calc(var(--fz-10pt) * 1);
    }


    /*------Thumbnails profesores ---------*/

    .tax-cargos .persona-item {
        aspect-ratio: unset;
        margin-bottom: 2em;
    }

    .persona-item .grid-text {
        height: auto;
    }


    /*-------------------- RELATED CONTENT MOBILE --------------------*/

    h6.related-content-title {
        font-size: var(--fz-35pt);
        margin-bottom: 1em;
    }

    /*-------------------- MAIN NAV --------------------*/

    nav#main-nav {
        --logo-h: 50px;
    }

    #nav-header {
        display: flex;
        align-items: center;
        gap: 10vw;
        justify-content: center;
    }

    /*-------------------- MENU ICONS --------------------*/

    .menu-section-icon-btn {
        display: flex;
    }

    /* Hacer todo el h3 clickeable en mobile */
    .menu-section>h3,
    .menu-block-education>h3 {
        cursor: pointer;
        user-select: none;
        -webkit-user-select: none;
    }

    /*-------------------- MENU ACCORDION --------------------*/

    /* Ocultar contenidos de menú por defecto en mobile */
    .menu-block-education .education-columns,
    .menu-section .simple-menu {
        display: none !important;
    }

    /* Mostrar contenidos cuando la sección está abierta */
    .menu-block-education.menu-section-open .education-columns {
        display: flex !important;
        flex-direction: column;
        row-gap: var(--fz-22pt);
    }

    .menu-section.menu-section-open .simple-menu {
        display: flex !important;
    }

    /*-------------------- MENU LAYOUT --------------------*/

    .menu-sections-row.menu-main-row {
        display: flex;
        flex-direction: column;
        gap: 0;

    }

    .menu-block-education {
        width: 100%;
    }

    .menu-block-right {
        width: 100%;
        gap: 0;
        margin: 0px;
    }

    .menu-open a#home-link div#branding-arthum-container {
        display: none;
    }

    nav#main-nav.menu-open #menu-controls-container {
        display: flex;
        width: 100%;
        padding: 0px var(--min-side-margin);
        padding-bottom: 0px;
    }

    nav#main-nav.menu-open {
        width: 100vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0px;
        margin-top: 0;
    }

    #menu-expanded-content {
        width: 100%;
        padding: 0px;
    }

    nav#main-nav.menu-open #nav-header {
        padding: var(--fz-48pt) 0px var(--fz-52pt) 0px;
        gap: 0px;
    }

    nav#main-nav.menu-open .expanded-search,
    nav#main-nav.menu-open form.search-form.expanded-search {
        grid-row: 2;
        width: 100%;
        max-width: 100%;
        padding: 0 15px;
        height: var(--fz-48pt);
    }

    .expanded-search input.search-field {
        font-size: var(--fz-24pt);
    }

    .expanded-search .nav-search-icon {
        font-size: var(--fz-32pt);
    }

    nav#main-nav.menu-open #close-menu-expanded {
        justify-self: end;
    }


    .menu-block-education,
    .menu-section {
        padding: var(--fz-24pt) var(--min-side-margin);
        border-bottom: 1px solid var(--arthum-gray);
    }

    .education-submenu {
        gap: .5em
    }


    /*-------------------- MENU FOOTER --------------------*/

    .menu-footer,
    #menu-footer {
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
        padding: 45px var(--min-side-margin);
    }

    #menu-footer-contact {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        gap: 5%;
        row-gap: var(--fz-14pt);
        align-items: flex-start;
        width: 100%;
        overflow: hidden;
    }


    #menu-footer-bottom {
        grid-template-columns: repeat(2, 1fr);
        border-top: 1px solid var(--arthum-black);
        padding-top: var(--fz-16pt);
        margin-top: var(--fz-16pt);
    }

    .menu-footer-separator {
        width: 100%;
        grid-column: 1 / span 2;
        grid-row: 2 / span 2;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, auto);
        justify-self: start;
        gap: inherit;
        row-gap: var(--fz-14pt);
        padding-left: 0;
    }

    .menu-footer-separator .menu-footer-item {
        width: 100%;
    }

    #menu-footer-contact .menu-footer-item:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    #menu-footer-contact .menu-footer-item:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
    }

    #menu-footer-contact .menu-footer-separator .menu-footer-item:nth-child(1) {
        grid-column: 3;
        grid-row: 1;
    }

    #menu-footer-contact .menu-footer-separator .menu-footer-item:nth-child(2) {
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    #menu-footer-contact .menu-footer-separator .menu-footer-item:nth-child(3) {
        grid-column: 4;
        grid-row: 1;
        width: fit-content;

    }

    #menu-footer-contact .menu-footer-separator .menu-footer-item:nth-child(4) {
        grid-column: 1 / span 2;
        grid-row: 2;
    }

    #menu-footer-contact .menu-footer-separator .menu-footer-item:nth-child(5) {
        grid-column: 3;
        grid-row: 2;
    }


    #menu-footer-bottom {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, auto);
        text-align: left;
    }

    #menu-footer-legal {
        display: flex;
        flex-direction: column;

    }

    #menu-footer-legal #menu-cookies-config {
        align-self: flex-start;
        width: 100%;
        font-size: var(--fz-12pt);
    }

    nav#social-menu-footer-container {
        margin: 0;
    }

    ul#social-menu-footer img {
        height: 1.5rem;
    }

    #menu-footer-social {
        grid-row: 1;
        justify-self: start;
        grid-column: 1;
        align-content: center;
    }


    /*-------------------- FOOTER --------------------*/

    footer>div:first-child {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: auto;
    }

    a#footer-logo {
        --logo-h: 35px;
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    #footer_bottom {
        grid-column: 1 / span 2;
        grid-row: auto;
    }

    div#footer-social {
        grid-row: 1;
        grid-column: 2;
        align-self: center;
    }

    .footer-text-title {
        white-space: wrap;
        width: 80%;
    }


    /*-------------------- HOME BANNER --------------------*/

    .home-banner-story-container {
        display: flex;
        flex-direction: column;
    }

    .home-banner-story .banner-meta {
        padding-right: 20px;
    }

    .banner-menu-container {
        display: none;
    }

    .home-banner-story-container img {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .home-banner-story:nth-child(4),
    .home-banner-story:nth-child(5),
    .home-banner-story:nth-child(6) {
        display: none;
    }


    .home-banner-container,
    .home-banner-container~.week-events-banner-container {
        /* usamos el margen original que tendría el main si no estuviera el banner */
        margin-bottom: 3em;
        padding-top: calc(var(--top-margin)*1 + var(--logo-h));
        background-color: var(--arthum-black);
    }

    /*-------------------- EVENTOS SEMANA ARTHUM --------------------*/




    .archive .grid-header-container:not(.programa-top-container) {
        max-width: var(--grid-content-w);
        margin-top: calc(var(--top-margin) * 2 + var(--logo-h));
        ;
        margin-bottom: max(35px, min(4.5vw, 90px));
    }

    .marquee-rango {
        font-size: var(--fz-50pt);
    }

    .marquee-texto {
        font-size: var(--fz-50pt);
    }

    .arthum-week-events-list,
    .arthum-week-event-item,
    .arthum-week-event-info,
    .arthum-week-event-detail {
        display: none;
    }

    .arthum-week-events-list-mobile,
    .arthum-week-event-item-mobile,
    .arthum-week-event-info-mobile {
        display: block;
    }


    .arthum-week-events-container {
        display: flex;
        flex-direction: column;
        height: auto;
        max-height: none;
        border-bottom: none;
    }

    /* Lista de eventos (izquierda) */
    .arthum-week-events-list-mobile {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .arthum-week-event {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid var(--arthum-black);
        padding: var(--fz-30pt) 0;
        gap: var(--fz-16pt);
    }

    .arthum-week-event:nth-child(4),
    .arthum-week-event:nth-child(5),
    .arthum-week-event:nth-child(6) {
        display: none;
    }

    .arthum-week-event-item-mobile {
        display: flex;
        gap: var(--fz-8pt);
        flex-direction: column;
        height: auto;
        align-items: self-start;
        border: none;
        background-color: transparent;
        cursor: pointer;
        transition: background-color 0.2s ease;
        text-align: left;
        font-family: var(--arthum-ff-area);
        font-variation-settings: 'inkt' 100;
        padding-left: var(--min-side-margin);
        padding-right: var(--min-side-margin);
        min-height: 0;
        justify-content: space-between;

    }


    .arthum-week-event-item.active .arthum-week-event-title,
    .arthum-week-event-item-mobile.active .arthum-week-event-title,
    .arthum-week-event-item-mobile.active .arthum-week-event-datetime,
    .arthum-week-event-item-mobile:focus .arthum-week-event-title,
    .arthum-week-event-item-mobile:focus .arthum-week-event-datetime {
        color: var(--arqdis-orange);
    }

    .arthum-week-event-item-mobile.today .arthum-week-event-title-mobile {
        font-weight: 700;
    }

    .arthum-week-event-item-mobile.past {
        opacity: 0.5;
    }

    .arthum-week-event-title-mobile {
        width: 100%;
        font-weight: 700;
        line-height: 1.1;
        color: var(--arthum-black);
        font-family: var(--arthum-ff-area);
        font-variation-settings: 'inkt' 100;
        font-size: var(--fz-30pt);
    }

    .arthum-week-event-datetime-mobile {
        font-size: var(--fz-27pt);
        width: min-content;
        font-weight: 350;
        line-height: 1.1;
        color: var(--arthum-black);
        white-space: nowrap;
        font-family: var(--arthum-ff-palast);
        text-align: right;
    }

    /* Panel de detalle (derecha) */
    .arthum-week-event-detail-mobile {
        flex: 1;
        display: flex;
    }


    .arthum-week-event-info-mobile {
        flex: 1;
        display: grid;
        grid-template-columns: 1fr auto;
        row-gap: var(--fz-8pt);
        justify-content: space-between;
    }

    .arthum-week-event-header-mobile {
        grid-column: span 2;
        padding: var(--fz-5pt);
        height: auto;
        display: flex;
        align-items: center;
        padding-left: var(--min-side-margin);
    }

    .arthum-week-event-category-mobile {
        font-size: var(--fz-27pt);
        font-weight: 300;
        font-style: italic;
        line-height: 1.1;
        color: var(--arqdis-orange);
        font-family: var(--arthum-ff-palast);
    }

    .arthum-week-event-additional-mobile {
        display: none;
    }

    .arthum-week-event-description-mobile {
        grid-column: 1;
        grid-row: 3;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: var(--fz-36pt);
        padding-left: var(--min-side-margin);
        padding-right: calc(var(--min-side-margin) * 2);
    }

    .arthum-week-event-description-mobile p {
        font-size: var(--fz-18pt);
        line-height: var(--fz-24pt);
        color: var(--arthum-black);
        font-family: var(--arthum-ff-area);
        font-variation-settings: 'inkt' 100;
        font-weight: 400;
        margin: 0;
    }


    .arthum-week-event-item:last-child {
        border-bottom: 1px solid var(--arthum-black);
    }

    .arthum-event-detail-category-mobile {
        font-size: var(--fz-18pt);
    }


    /*---------------------- GRID ARCHIVE --------------------*/

    .packery-layout-grid .archive-grid-layout {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: var(--grid-gutter-sz);
    }

    .packery-layout-grid .grid-archive-col-sizer,
    .packery-layout-grid .grid-archive-gutter-sizer {
        display: none;
    }

    .packery-layout-grid .archive-grid-layout .grid-archive-item,
    .packery-layout-grid .archive-grid-layout .grid-archive-item.double-width,
    body:not(.post-type-archive-audiovisuales) .packery-layout-grid .grid-archive-item.double-width:not(.grid-archive-item.double-width + .grid-archive-item.double-width),
    .packery-layout-grid .grid-archive-item.double-width:not(.grid-archive-item.double-width + .grid-archive-item.double-width),
    .post-type-archive-audiovisuales .packery-layout-grid .grid-archive-item.double-width:nth-child(8n),
    .packery-layout-grid .stamped-content.double-width {
        width: 100%;
    }

    .grid-container {
        --grid-col-count: 1;
    }

    /*-------------------- INTERNA PROGRAMA --------------------*/


    .programa-child .enlace-contenido-fijo {
        font-size: var(--fz-18pt);
    }

    .programa-child .programa-contenidos-fijos {
        padding: 0;
    }

    .programa-child .enlace-contenido-externo::after {
        font-size: var(--fz-24pt);
    }

    .programa-info {
        width: 100%;
    }

    .info-section.open p {
        padding-left: 0;
        padding-right: 0;
    }

    .info-section.open .info-section {
        max-width: fit-content;

    }


    .info-section p,
    .info-section li,
    body.single-notas li {
        margin-top: calc(var(--min-side-margin)/1.5);
    }

    .wp-block-list {
        margin-top: auto;

    }

    .info-section h5 {
        font-size: var(--fz-32pt);
        line-height: 1.2;
    }

    .info-section ul {
        padding-top: 0;
    }


    .wpcf7-form-control-wrap {
        width: 100%;
    }



    /* Estilos responsivos para formulario de contacto info-page */
    .info-page-contact-form {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .info-page-contact-form .wpcf7-form {
        width: 100%;
        max-width: 100%;
        padding: 0 var(--min-side-margin);
        box-sizing: border-box;
    }

    .info-page-contact-form .wpcf7-form p {
        width: 100%;
        margin: 0 0 1rem 0;
    }

    .info-page-contact-form .wpcf7-form label {
        width: 100%;
        display: block;
        box-sizing: border-box;
    }

    .info-page-contact-form input.wpcf7-text,
    .info-page-contact-form input.wpcf7-email,
    .info-page-contact-form textarea.wpcf7-textarea {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 10px;
        border: 1px solid #ddd;
        font-size: var(--fz-14pt);
        margin-top: 5px;
    }

    .info-page-contact-form input.wpcf7-submit {
        width: auto;
        min-width: 120px;
        padding: 12px 24px;
        box-sizing: border-box;
    }

    .info-page-contact-form .wpcf7-form-control-wrap {
        width: 100%;
        display: block;
    }

    /* Asegurar que el contenedor no se desborde */
    .info-page-contact-form-container {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        padding: 0;
        margin: 2rem 0;
        box-sizing: border-box;
    }


    /*----- anuncios responsivos -----*/

    body.single-anuncios .layout-main-top {
        width: 90%;
    }

    /*----- clasificados responsivos -----*/

    body.single-clasificados .container-fluid .layout-container {
        display: flex;
    }

    body.single-clasificados .datos-clasificado {
        flex-direction: column;
    }

    .classified-image-sticky {
        position: static;
    }





    /*----- Menú mobile -----*/


    .education-submenu a,
    .simple-menu a {
        font-size: var(--fz-22pt);
        margin-bottom: 0.5em;
    }

    .menu-footer-label {
        font-size: var(--fz-18pt);
    }

    .menu-footer-value {
        font-size: var(--fz-18pt);
    }

    .menu-footer,
    #menu-footer {
        padding-bottom: 0;
    }

    .footer-full-width-logo.mobile {
        margin-top: 0;
    }

    #menu-footer-legal #menu-cookies-config {
        font-size: var(--fz-16pt);
    }

    #menu-footer-legal p {
        font-size: var(--fz-16pt);
    }

}



/* Accessibility: reduce extreme scaling for very small screens for display H1 */
@media (max-width: 500px) {

    nav#main-nav {
        --logo-h: 35px;
    }

    /* Estilos específicos para móvil muy pequeño - formulario info-page */
    .info-page-contact-form .wpcf7-form {
        padding: 0 10px;
    }

    .info-page-contact-form input.wpcf7-text,
    .info-page-contact-form input.wpcf7-email,
    .info-page-contact-form textarea.wpcf7-textarea {
        font-size: var(--fz-12pt);
        padding: 8px;
    }

    .info-page-contact-form textarea.wpcf7-textarea {
        min-height: 120px;
    }

    .info-page-contact-form input.wpcf7-submit {
        width: 100%;
        padding: 14px 20px;
        font-size: var(--fz-14pt);
    }

    /* Asegurar que no haya desbordamiento horizontal */
    .info-page-contact-form,
    .info-page-contact-form * {
        max-width: 100%;
        box-sizing: border-box;
    }


    /* formulario */
    .info-page-contact-form-container {
        min-width: 100%;
    }


    h1.display,
    .display {
        /* scale H1 down slightly on very small screens while keeping the clamp behavior */
        font-size: calc(var(--arthum-fz-h1) * 0.9);
    }

    footer>div:first-child {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: auto;
    }


    a#footer-logo {
        --logo-h: 25px;
    }

    ul#social-menu-footer {
        grid-column-gap: 0.6rem;
    }

    /*

    #footer_bottom {
        grid-column: 1 / span 2;
        grid-row: auto;
    }

    div#footer-social {
        grid-row: 5;
        grid-column: 1 / span 2;
    }

    */

    .footer-text-title {
        white-space: wrap;
        width: 80%;
    }

    .scroll-top-icon {
        display: none;
    }

    /* -- SINGLES ESPACIOS -- */
    .facility-single-container .post-body {
        margin-top: 1rem;
    }


    #facility-image-container {
        --longest-side: 90vw;
        height: auto;
        overflow-x: auto;
        overflow-y: hidden;
        position: static;
        scroll-snap-type: x mandatory;
    }

    #facility-image-container>div {
        height: auto;
        width: min-content;
        position: static;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .facility-image {
        position: static;
        margin: 0 15px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        overflow: hidden;
    }

    #prev-slide {
        left: 1em;
        position: absolute;
    }

    #next-slide {
        right: 1em;
        position: absolute;
    }

    #facility-slider-container {
        position: relative;
    }




    .facility-image:hover {
        cursor: ew-resize;
    }



    body.single-anuncios .layout-main-top {
        width: 100%;
    }

    /*----- clasificados responsivos -----*/

    body.single-clasificados .container-fluid .layout-container {
        display: flex;
        width: 100%;
    }

    body.single-clasificados .datos-clasificado {
        flex-direction: column;
        margin-bottom: 0px;
    }

    .classified-image-sticky {
        position: static;
    }



    .enlace-contenido-fijo {
        font-size: var(--fz-56pt);
    }

    .enlace-contenido-fijo .program-acronym {
        font-size: var(--fz-14pt);
    }

    .programa-heading-title {
        font-size: var(--fz-64pt);

    }



    /*----- Menú mobile -----*/

    .education-submenu {
        gap: 1rem;
    }


    .education-submenu a,
    .simple-menu a {
        font-size: var(--fz-22pt);
        margin-bottom: 0.5em;
    }

    .menu-footer-label {
        font-size: var(--fz-18pt);
    }

    .menu-footer-value {
        font-size: var(--fz-18pt);
    }

    .menu-footer,
    #menu-footer {
        padding-bottom: 0;
    }

    .footer-full-width-logo.mobile {
        margin-top: 0;
    }

    #menu-footer-legal #menu-cookies-config {
        font-size: var(--fz-16pt);
    }

    #menu-footer-legal p {
        font-size: var(--fz-16pt);
    }

}


@media (max-width: 450px) {

    .programa-child .caja-contenido-fijo {
        justify-content: center;
        width: 80%;
    }

    .archive-title,
    .tag-archive-title {
        font-size: var(--fz-64pt);
    }

    /*-------------------- ESTAMOS EN CONSTRUCCIÓN --------------------*/

    .construccion-tooltip {
        display: flex;
        bottom: 4em;
        right: -6px;
    }

    .arqdis-boton-construccion.is-open .construccion-tooltip {
        transform: translateX(0);
        pointer-events: auto;
    }

    .arqdis-boton-construccion {
        right: calc(100% -50%);
    }

}



@media (max-width: 300px) {

    .programa-child .caja-contenido-fijo {
        justify-content: center;
        width: 100%;
    }



}

@media (max-width: 991px) and (pointer: coarse) {

    /* -- SINGLES ESPACIOS -- */
    .facility-single-container .post-body {
        margin-top: 1rem;
    }

    #facility-image-container {
        --longest-side: 90vw;
        height: auto;
        overflow-x: auto;
        overflow-y: hidden;
        position: static;
        scroll-snap-type: x mandatory;
    }

    #facility-image-container>div {
        height: auto;
        width: min-content;
        position: static;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .facility-image {
        position: static;
        margin: 0 15px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        overflow: hidden;
    }

    #facility-slider-container {
        position: relative;
    }

    #facility-slider-container .gallery-nav {
        display: flex;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        transition: 0.3s;
    }

    #facility-slider-container .gallery-nav>img {
        height: 3rem;
    }

    #facility-slider-container #prev-slide {
        left: 20px;
    }

    #facility-slider-container #prev-slide:hover {
        left: 10px;
    }

    #facility-slider-container #next-slide {
        right: 20px;
    }

    #facility-slider-container #next-slide:hover {
        right: 10px;
    }

    .facility-image:hover {
        cursor: ew-resize;
    }




}

/* =============== 404 ERROR PAGE - Diseño Figma con interacción =============== */

body.error404 .home-slogan {
    margin: 0;
}

.error-404-container {
    height: fit-content;
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--arthum-white);
    padding: 0;
    position: relative;
    overflow: hidden;
    flex-direction: column;
    padding-top: 1em;
}

.error-404-number {
    position: static;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'INKT' 100, 'wdth' 100, 'wght' 1000, 'slnt' 0;
    font-size: 40vw;
    /* Ocupa todo el ancho del viewport */
    line-height: 1;
    color: var(--arthum-black);
    margin: 0;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
    width: 100vw;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.error-404-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    background-color: var(--arthum-white);
    height: fit-content;
    padding: 3rem var(--min-side-margin);
    gap: 3rem;
}

.error-404-text {
    font-family: var(--arthum-ff-area);
    font-weight: 800;
    font-variation-settings: 'wght' 800, 'slnt' 0;
    text-transform: uppercase;
    font-size: var(--fz-32pt);
    line-height: 1.1;
    color: var(--arthum-black);
    width: fit-content;
    text-align: center;
    margin: 0;
}

.error-404-link {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: var(--fz-14pt) var(--fz-20pt);
    border-radius: var(--fz-32pt);
    font-size: var(--fz-24pt);
    width: min-content;
    height: fit-content;
    font-family: var(--arthum-ff-area);
    font-variation-settings: 'inkt' 100;
    font-weight: 700;
    text-decoration: none;
    color: var(--arthum-black);
    background-color: var(--arthum-fuchsia);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.error-404-link:hover {
    background-color: var(--arthum-red);
    transform: scale(1.03);
}

@media screen and (max-width: 1200px) {
    .error-404-number {
        font-size: 40vw;
    }

    .error-404-container {
        padding-top: 5em;
    }


    .error-404-link {
        left: auto;
        right: 2rem;
        bottom: 3rem;
    }
}

@media screen and (max-width: 768px) {
    .error-404-number {
        font-size: 40vw;
    }

    .error-404-text {
        text-align: left;
    }

    .error-404-container {
        padding-top: 5em;

    }



}

/* Interactive 404 - Cambio de colores en hover */
.error-404-container.error-404-hover .error-404-number,
.error-404-container.error-404-hover .error-404-text,
.error-404-container.error-404-hover .error-404-link {
    color: var(--arthum-white);
    transition: color 0.3s ease;
}

.error-404-container.error-404-hover .error-404-link {
    background-color: var(--arthum-white);
    color: var(--arthum-black);
}

.error-404-container.error-404-hover .error-404-link:hover {
    background-color: var(--arthum-black);
    color: var(--arthum-white);
}

/* Arrow down button en 404 */
.error-404-scroll-down {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    vertical-align: middle;
    color: inherit;
    font-size: var(--fz-24pt);
}

.error-404-scroll-down:hover {
    transform: translateY(4px);
}

.error-404-container.error-404-hover .error-404-scroll-down {
    color: var(--arthum-white);
}