/* ========================================================== */
/* ================= INTERARTE 2026 BASE CSS =============== */
/* ========================================================== */

@import url("../hero-slider.css");

/* ------- HTML5 display-role reset for older browsers -------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
html,
body {
  margin: 0;
  padding: 0;
}
body {
  line-height: 130%;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  font-size: 16px;
}
h1,
h2,
h3,
h4 {
  color: #565656;
}

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;
}
p,
blockquote,
pre {
  margin-bottom: 12px;
}

/* ------- Tokens globales ------- */
:root {
  --int-color-bg: #f7f2e9;
  --int-color-text: #1f1f1f;
  --int-color-accent: #bc3a2d;

  --int-space-1: 0.5rem;
  --int-space-2: 1rem;
  --int-space-3: 1.5rem;
  --int-space-4: 2rem;

  --int-content-max: 1200px;

  /* COLORES */
  --main-red-color: #a51313;
  --indian-red-color: #882d17;
  --marron-color: #3d1b04cc;
  --miel-color: #d29340;
  --beige-color: #e8c39e;
  --bronce-color: #cd7f32;
  --canela-color: #bd8a3e;
  --caoba-color: #c04000;
  --cobre-color: #cb6e51;
  --chocolate-color: #592e0b;
  --habano-color: #844e34;
  --ocre-color: #b9935a;
  --sepia-color: #663b2a;

  --sombra-red-black: 0px 1px 3px 3px rgba(67, 6, 6, 0.29);
  --sombra-textos: 2px 2px 3px rgb(0 0 0 / 90%);
  --sombra-gris: 0px 1px 16px 0px rgb(0 0 0 / 15%);

  --black: #212529;
  --gray-950: #0f0f0f;
  --gray-900: #1d1d1b;
  --gray-800: #222222;
  --gray-700: #444444;
  --gray-600: #61666b;
  --gray-500: #888888;
  --gray-400: #aaaaaa;
  --gray-300: #bdbdbd;
  --gray-250: #e7ece7;
  --gray-200: #eeeeee;
  --gray-150: #f6f4f4;
  --gray-100: #fbfbfb;
  --gray-050: #fdfdfd;

  --jcg-bio-color: hsla(30, 62%, 76%, 0);

  /* Offcanvas: ancho suficiente para el item mas largo sin desbordar en mobile. */
  --int-offcanvas-width: min(92vw, max(220px, 30ch));

  /* colores por secciones en home */
  --home-events-bg: #f5f0ed;
  --home-agenda-bg: #e7ece7;
  --home-premios-alas-bg: #f3ece1;
}

/* ========================================================== /*
 👉🏼 BOOTSTRAP OVERRIDE aquí hardcoreo el valor !important que trae bootsrap 🤬
/* ========================================================== */
.px-2,
px-3,
.py-2,
py-3 {
  padding: unset !important;
}

hr {
  color: var(--gray-400);
  display: block;
  width: 100%;
}

/* ========================================================== */
/* ============ JOOMLA - HELIX ULTIMATE OVERRIDE ============ */
/* ========================================================== */
.container {
  max-width: 1140px;
}

body.int-home .article-details {
  max-width: 100vw;
  justify-self: unset;
}

body:not(.int-home) .container-inner {
  inline-size: min(100%, 1140px);
}

/* ==== Header === */
#sp-header,
#sp-header .container {
  height: 80px;
  line-height: 80px;
}

#sp-header .container {
  top: -1px;
  position: relative;
}

#sp-header.sombra {
  box-shadow: var(--sombra-red-black);
}

/* --> logo */
#sp-header .logo {
  /*  height: 80px;*/
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#sp-header .logo img {
  /*  width: 180px;*/
  height: 60px;
}

img.sp-default-logo,
img.sp-retina-logo {
  max-height: 80px;
}

/* --- Logotipo --- */
div#sp-logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  /* 👇🏾 temporary color for identify  */
  /* background-color: aqua; */
}

/*  ------> MENU  ------------------- */

/*.sp-megamenu-parent {  margin-right: -15px; }*/
#sp-menu,
.sp-megamenu-parent,
.sp-megamenu-parent li > a {
  text-transform: uppercase;
  height: 80px;
  line-height: 80px;
}

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
  margin-top: 0px;
  font-family: Roboto, sans-serif;
  font-size: 0.9em;
  font-weight: 400;
  color: #696969;
  letter-spacing: 0;
}

/* hover */
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
  text-decoration: none;
  height: 52px;
  line-height: 40px;
}

/*.sp-dropdown  .sp-megamenu-parent li > a{}*/

/* activo */

.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li:hover > a:hover {
  text-decoration: none;
  background-color: var(--main-red-color);
  color: #fff;
  /* letter-spacing: 0.2px; */
}

body.ltr .sp-megamenu-parent > li.sp-has-child > a {
  padding-right: 24px;
}

body.ltr .sp-megamenu-parent > li.sp-has-child > a::after {
  margin-left: 10px;
}

/* 
li.sp-has-child > a {
} */
/* 
.sp-column menu-txt {
  background: #666600 !important;
} */

/* ------------ MENU OFF CANVAS ------------- */
.offcanvas-menu .offcanvas-inner ul.menu li.active > a,
.offcanvas-menu .offcanvas-inner ul.menu li.active ul li.active > a,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .menu-separator > .menu-toggler {
  color: var(--gray-050);
}

#offcanvas-toggler {
  margin-left: 30px;
  margin-right: 15px;
  line-height: 80px;
  font-size: 18px;
}

.offcanvas .body-wrapper {
  right: 0;
  -webkit-transform: translateX(calc(-1 * var(--int-offcanvas-width)));
  transform: translateX(calc(-1 * var(--int-offcanvas-width)));
}

.offcanvas-menu {
  width: var(--int-offcanvas-width);
  background-color: rgba(94, 20, 20, 0.95);
}

.offcanvas .body-wrapper {
  right: 0;
  -webkit-transform: translateX(calc(-1 * var(--int-offcanvas-width)));
  transform: translateX(calc(-1 * var(--int-offcanvas-width)));
}

.offcanvas-menu .offcanvas-inner .sp-module ul > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.offcanvas-menu .offcanvas-inner .sp-module ul > li > a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > span {
  color: var(--gray-050);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.offcanvas-menu .offcanvas-inner .sp-module ul > li > a:hover,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > a:focus-visible,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > span:hover,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > span:focus-visible {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.12);
}

/* Submenu de Concurso: misma estetica, mejor contraste y mas aire vertical */
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul {
  padding-top: 6px;
  padding-bottom: 8px;
}

.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > span,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > a > span,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > span > span {
  color: #f5f5f5;
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 20px;
  line-height: 1.25;
}

.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > a:hover,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > a:focus-visible,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > span:hover,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > span:focus-visible,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > a:hover > span,
.offcanvas-menu .offcanvas-inner .sp-module ul > li > ul > li > a:focus-visible > span {
  color: #ffffff;
}

.offcanvas-menu .offcanvas-inner .search input {
  width: 100%;
  background-color: #fffdfb;
  border-color: rgba(255, 255, 255, 0.68);
  color: #2d2d2d;
}

.offcanvas-menu .close-offcanvas .burger-icon > span {
  background-color: #ffffff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.22);
}

.offcanvas-menu .close-offcanvas:hover .burger-icon > span,
.offcanvas-menu .close-offcanvas:focus-visible .burger-icon > span {
  background-color: #ffe7e7;
}

/* -------> BODY -------------*/

#sp-main-body {
  padding: 50px 15px;
  min-height: 480px;
}

.sp-page-title {
  background-color: var(--main-red-color);
  /* color tentativo  424653*/
  /* background-color: #424653; */
}

body.int-home .int-container {
  width: 100%;
  /* margin-inline: auto; IA no debes centrar con margin, usa FLEX! */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 80px 0;
}

/* ========================================================== */
/* ============ HOME - SCOPE Y ESTRUCTURA (UNICO) =========== */
/* ========================================================== */

body.int-home #sp-main-body {
  padding: 0;
}
body.int-home .article-details .article-can-edit {
  margin: 0;
}

body.int-home .int-home__title {
  margin-bottom: 50px;
  text-align: center;
  font-size: clamp(2.5rem, 5vw, 3rem);
  line-height: 1.1;
}

/* ------  Sección AGENDA ------- */
body.int-home .int-home__section--agenda .int-container {
  background-color: var(--home-agenda-bg);
  & img {
    max-width: 540px;
  }
}

/* ------  Sección EVENTOS ------- */
body.int-home .int-home__section--events .int-container {
  background-color: var(--home-events-bg);
  & img {
    max-width: 540px;
  }
}

body.int-home .int-home__figure {
  margin: 0;
}

body.int-home .int-home__figure img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

/* ------  Sección PREMIOS ALAS ------- */
body.int-home .int-home__section--awards .int-container {
  background-color: var(--home-premios-alas-bg);
}

body.int-home .int-awards__statue {
  margin: 0 0 24px;
}

body.int-home .int-awards__statue img {
  display: block;
  inline-size: min(100%, 240px);
  block-size: auto;
}

body.int-home .int-awards__text {
  max-width: 760px;
  text-align: center;
  color: var(--gray-700);
  line-height: 1.4;
  margin-top: 4px;
}

body.int-home .int-awards__text p {
  margin: 0 0 12px;
}

body.int-home .int-awards-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--int-space-2);
  max-width: 1170px;
  width: 100%;
  margin-top: 28px;
}

body.int-home .int-awards-gallery__item {
  margin: 0;
}

body.int-home .int-awards-gallery__item {
  opacity: 0;
  transform: translateX(0);
}

body.int-home .int-awards-gallery__item--left {
  transform: translateX(-22px);
}

body.int-home .int-awards-gallery__item--right {
  transform: translateX(22px);
}

body.int-home .int-awards-gallery__item--center {
  transform: none;
}

body.int-home .int-awards-gallery__item img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

body.int-home .int-awards-gallery__item.is-visible {
  animation-fill-mode: both;
  animation-timing-function: ease;
}

body.int-home .int-awards-gallery__item--left.is-visible {
  animation-name: intFadeInLeft;
  animation-duration: 1400ms;
  animation-delay: 400ms;
}

body.int-home .int-awards-gallery__item--center.is-visible {
  animation-name: intFadeIn;
  animation-duration: 1000ms;
  animation-delay: 200ms;
}

body.int-home .int-awards-gallery__item--right.is-visible {
  animation-name: intFadeInRight;
  animation-duration: 1400ms;
  animation-delay: 400ms;
}

@keyframes intFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes intFadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-22px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes intFadeInRight {
  from {
    opacity: 0;
    transform: translateX(22px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes intFadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -18px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes intFadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes intFadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(28px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

body.int-home .int-home__section--awards .int-home__title {
  margin-bottom: 20px;
}

body.int-home .int-home__section--awards .int-home__cta {
  margin-top: 52px;
}

/* ------  Sección CONTACTO ------- */
body.int-home .int-home__section--contact .int-container {
  background-color: var(--gray-100);
  padding-top: 64px;
  padding-bottom: 64px;
}

body.int-home .int-contact__logo-wrap,
body.int-home .int-contact__mail-wrap,
body.int-home .int-contact__socials {
  margin: 0;
  text-align: center;
}

body.int-home .int-contact__logo-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

body.int-home .int-contact__logo {
  display: block;
  inline-size: min(100%, 280px);
  block-size: auto;
}

body.int-home .int-contact__mail-wrap {
  margin-bottom: 18px;
}

body.int-home .int-contact__mail {
  color: var(--gray-700);
  font-size: 1.05rem;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition:
    color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
}

body.int-home .int-contact__mail:hover {
  color: var(--indian-red-color);
  border-color: var(--indian-red-color);
}

body.int-home .int-contact__mail:focus-visible,
body.int-home .int-contact__social-link:focus-visible {
  outline: 2px solid #1d1d1b;
  outline-offset: 2px;
}

body.int-home .int-contact__socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

body.int-home .int-contact__social-link {
  color: var(--gray-700);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 44px;
  block-size: 44px;
  text-decoration: none;
  border: 2px solid #d9d9d9;
  border-radius: 50%;
  background-color: #ffffff;
  transition:
    color 0.15s ease-in-out,
    border-color 0.15s ease-in-out,
    background-color 0.15s ease-in-out;
}

body.int-home .int-contact__social-link svg {
  inline-size: 28px;
  block-size: 28px;
  fill: currentColor;
  position: relative;
  z-index: 1;
}

body.int-home .int-contact__social-link:hover {
  transform: translateY(-1px);
}

body.int-home .int-contact__social-link--facebook {
  color: #3b5998;
  border-color: #3b5998;
}

body.int-home .int-contact__social-link--youtube {
  color: #ff0000;
  border-color: #ff0000;
}

body.int-home .int-contact__social-link--instagram {
  border: none;
  background: linear-gradient(45deg, #feda75 0%, #fa7e1e 30%, #d62976 60%, #962fbf 80%, #4f5bd5 100%);
}

body.int-home .int-contact__social-link--instagram::before {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background-color: #ffffff;
}

/* ------- Grid eventos ------- */

body.int-home .int-events-grid {
  display: grid;
  gap: var(--int-space-2);
  grid-template-columns: repeat(3, minmax(0, 1fr));

  max-width: 1170px;
  width: 100%;
}

body.int-home .int-events-grid__card {
  display: block;
}

body.int-home .int-events-grid__image {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

/* ------- Animaciones EVENTOS (paridad online) ------- */
body.int-home .int-home__section--events .int-anim--event {
  opacity: 0;
  transform: translate3d(0, 0, 0);
}

body.int-home .int-home__section--events .int-anim--event.is-visible {
  animation-fill-mode: both;
  animation-timing-function: ease;
}

body.int-home .int-home__section--events .int-anim--event-section.is-visible {
  animation-name: intFadeIn;
  animation-duration: 900ms;
  animation-delay: 100ms;
}

body.int-home .int-home__section--events .int-anim--event-left.is-visible {
  animation-name: intFadeInDown;
  animation-duration: 1400ms;
  animation-delay: 150ms;
}

body.int-home .int-home__section--events .int-anim--event-center.is-visible {
  animation-name: intFadeInUp;
  animation-duration: 950ms;
  animation-delay: 100ms;
}

body.int-home .int-home__section--events .int-anim--event-right.is-visible {
  animation-name: intFadeInRightBig;
  animation-duration: 1400ms;
  animation-delay: 150ms;
}

body.int-home .int-home__section--events .int-anim--event-cta.is-visible {
  animation-name: intFadeIn;
  animation-duration: 1000ms;
  animation-delay: 300ms;
}

/* ------- CTA Home (Eventos + Premios ALAS) ------- */
body.int-home .int-home__cta {
  margin-top: 80px;
  text-align: center;
}

body.int-home .int-home__cta-link {
  display: inline-block;
  padding: 16px;
  padding-bottom: 14px;
  border: 1px solid #d9d9d9;
  background-color: #ffffff;
  color: var(--gray-600);
  font-size: 0.9em;
  text-decoration: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
}

body.int-home .int-home__cta-link:hover {
  border-color: #6c757d;
  background-color: #6c757d;
  color: #ffffff;
}

body.int-home .int-home__cta-link:focus-visible {
  outline: 2px solid #1d1d1b;
  outline-offset: 2px;
  border-color: #6c757d;
  background-color: #6c757d;
  color: #ffffff;
}

@media (max-width: 991px) {
  body.int-home .int-container {
    padding: 64px 20px;
  }

  body.int-home .int-home__title {
    margin-bottom: 36px;
    font-size: clamp(2.05rem, 8.2vw, 2.5rem);
  }

  body.int-home .int-awards__statue img {
    inline-size: min(100%, 210px);
  }

  body.int-home .int-awards__text {
    max-width: 680px;
  }

  body.int-home .int-events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.int-home .int-awards-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
  }
}

@media (max-width: 640px) {
  body.int-home .int-container {
    padding: 48px 16px;
  }

  body.int-home .int-home__title {
    margin-bottom: 28px;
    font-size: clamp(1.9rem, 10.2vw, 2.2rem);
    line-height: 1.08;
  }

  body.int-home .int-home__section--agenda .int-container,
  body.int-home .int-home__section--events .int-container,
  body.int-home .int-home__section--awards .int-container,
  body.int-home .int-home__section--contact .int-container {
    border-radius: 0;
  }

  body.int-home .int-awards__statue {
    margin-bottom: 18px;
  }

  body.int-home .int-awards__statue img {
    inline-size: min(100%, 176px);
  }

  body.int-home .int-awards__text {
    max-width: 100%;
    line-height: 1.35;
  }

  body.int-home .int-awards__text p {
    margin-bottom: 10px;
  }

  body.int-home .int-events-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.int-home .int-awards-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 18px;
  }

  body.int-home .int-home__cta {
    margin-top: 42px;
  }

  body.int-home .int-home__cta-link {
    inline-size: min(100%, 280px);
    padding: 12px 12px 10px;
  }

  body.int-home .int-home__section--awards .int-home__cta {
    margin-top: 34px;
  }

  body.int-home .int-home__section--contact .int-container {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  body.int-home .int-contact__logo {
    inline-size: min(100%, 190px);
  }

  body.int-home .int-contact__mail {
    font-size: 0.96rem;
    word-break: break-word;
  }

  body.int-home .int-contact__socials {
    gap: 10px;
  }

  body.int-home .int-contact__social-link {
    inline-size: 40px;
    block-size: 40px;
  }

  body.int-home .int-contact__social-link svg {
    inline-size: 24px;
    block-size: 24px;
  }
}

/* ========================================================== */
/* ==================== SCOPE POR PAGINA ==================== */
/* ========================================================== */

/* SCOPE GENERAL PARA TODAS LAS PÁGINAS */
.article-list .article {
  padding: 0;
  margin: 0;
}
.article-list .article-intro-image img {
  border-radius: 0;
  border-bottom: 1px solid var(--gray-200);
}

.article-details {
  position: relative;
  max-width: 1140px;
  justify-self: center;
}

/* ------- H1 de articulo (estilo comun para categorias) ------- */
.article-details .article-header h1 {
  font-size: 24px;
  text-align: center;
}

/* ------- QUIENES SOMOS (scope de pagina en body) ------- */
body.int-quienes-somos {
  display: inherit;
}

.article-details.int-quienes-somos {
  max-width: 940px;
}

/* ------- EVENTOS (scope de pagina en body) ------- */
/* Mapeo Joomla menu:
   - Visualizacion de la pagina -> Clase CSS de la pagina: int-eventos (scope de toda la pagina)
   - Formato tipo blog -> Clase del articulo: int-eventos-article (contenedor del listado blog)
*/
body.int-eventos {
  display: inherit;
}

body.int-eventos #sp-main-body > .row {
  display: flex;
  justify-content: center;
}

body.int-eventos #sp-main-body #sp-component {
  flex: 0 1 1140px;
  max-width: 1140px;
}

body.int-eventos #sp-main-body #sp-component > .sp-column {
  inline-size: 100%;
}

/* ------- EVENTOS listado blog (Helix Ultimate markup) ------- */

body.int-eventos .article-list.int-eventos-article {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
  justify-items: center;
  margin-inline: 0;
}

/* Joomla envuelve items en .row/.col-*; se aplanan para que la grid gobierne directo. */
body.int-eventos .article-list.int-eventos-article > .row {
  display: contents;
}

body.int-eventos .article-list.int-eventos-article > .row > [class*="col-"] {
  inline-size: auto;
  max-inline-size: none;
  margin: 0;
  padding: 0;
}

/* item de cada año en EVENTOS */
/* Cada item visible del listado es .article dentro del contenedor .article-list. */
body.int-eventos .article-list .article {
  width: 100%;
  min-width: 160px;
  max-width: 260px;
  margin: 0;
  border: 1px solid #d8d8d8;
  border-radius: 0 0 6px 6px;
  /* background: #ffffff; */
  overflow: hidden;
  box-shadow: var(--sombra-gris);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

body.int-eventos .article-list .article:hover {
  transform: translateY(-2px);
  border-color: #b7b7b7;
  --sombra-gris: 0px 1px 30px 0px rgb(0 0 0 / 10%);
  filter: brightness(1.2);
}

body.int-eventos .article-list .article-intro-image,
body.int-eventos .article-list .article-header,
body.int-eventos .article-list .article-body {
  margin: 0;
}

body.int-eventos .article-list .article-intro-image img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
}

body.int-eventos .article-list .article-header h2 {
  margin: 0;
  text-align: center;
  line-height: 1.2;
  font-size: 1.25rem;
  letter-spacing: 0.005em;
  color: #565656;
}

body.int-eventos .article-list .article-header h2 a {
  color: #565656;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: 56px;
  padding: 10px 8px;
  text-wrap: balance;
  transition:
    background-color 0.18s ease,
    color 0.18s ease;
  /* border-color 0.18s ease; */
}

body.int-eventos .article-list .article-header h2 a:hover {
  /* background-color: var(--main-red-color);*/
  color: #565656;
}

/* En listado blog mostramos solo imagen + titulo-boton; ocultamos texto de intro. */
body.int-eventos .article-list .article-introtext {
  display: none;
}

body.int-eventos .cat-children {
  margin-top: 28px;
  background-color: #fbfbfb;
  border: 1px solid #ececec;
  padding: 16px;
}

body.int-eventos .cat-children .page-header {
  margin: 0 0 12px;
  border-bottom: 1px solid #ececec;
  text-align: center;
}

body.int-eventos .cat-children h3.page-header {
  float: none;
  display: inline-block;
  margin: 6px;
  padding: 7px 16px;
  border: 1px solid #d8d8d8;
  text-transform: uppercase;
  font-size: 0.8rem;
}

body.int-eventos .pagination-wrapper {
  margin-top: 18px;
}

body.int-eventos .pagination {
  justify-content: center;
  padding: 2rem 0;
}

@media (max-width: 767px) {
  body.int-eventos .article-list.int-eventos-article {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.int-eventos .article-list .article-header h2 a {
    min-block-size: 58px;
  }
}

@media (max-width: 640px) {
  body.int-eventos .sp-page-title {
    padding: 8px 0 16px;
  }

  body.int-eventos .article-list .article-header h2 {
    font-size: clamp(1.35rem, 5vw, 1.4rem);
  }

  body.int-eventos .article-list .article-header h2 a {
    min-block-size: 56px;
    padding: 8px 7px;
  }

  body.int-eventos .cat-children {
    padding: 12px;
  }
}

@media (max-width: 567px) {
  body.int-eventos .article-list.int-eventos-article {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body.int-eventos .article-list.int-eventos-article {
    grid-template-columns: 1fr;
  }
}
/* =============================*/
/* ------- PREMIOS ALAS ------- */
/* =============================*/

body.int-premios-alas #sp-component {
  display: inherit;
}

body.int-premios-alas #sp-main-body > .row {
  display: flex;
  justify-content: center;
}

body.int-premios-alas #sp-main-body #sp-component {
  flex: 0 1 1140px;
  max-width: 1140px;
}

body.int-premios-alas #sp-main-body #sp-component > .sp-column {
  inline-size: 100%;
}

body.int-premios-alas .int-content-top {
  text-align: center;
}

body.int-premios-alas .int-mod_reglamento {
  text-align: center;
  & a h3 {
    color: var(--main-red-color);
  }
}

body.int-premios-alas .article-list.int-premios-alas-article {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 20px;
  inline-size: 100%;
}

body.int-premios-alas .article-list.int-premios-alas-article .row,
body.int-premios-alas .article-list.int-premios-alas-article [class*="col-"] {
  display: contents;
}

body.int-premios-alas .article-list.int-premios-alas-article .article {
  display: flex;
  justify-content: center;
  border: 0;
  box-shadow: none;
  background-color: transparent;
}

body.int-premios-alas .article-list.int-premios-alas-article .article-header {
  text-align: center;
}

body.int-premios-alas .article-list.int-premios-alas-article .article-header h2 {
  margin: 0;
  line-height: 1.15;
  font-size: 24px;
  font-weight: 400;
  color: #565656;
}

body.int-premios-alas .article-list.int-premios-alas-article .article-header h2 a {
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: 100%;
  min-block-size: 132px;
  max-inline-size: 100%;
  box-sizing: border-box;
  padding: 20px;
  border: 1px solid var(--gray-400);
  background-color: #ffffff;
  color: #565656;
  text-decoration: none;
  box-shadow: var(--sombra-gris);
  border-radius: 4px;
}

body.int-premios-alas .article-list.int-premios-alas-article .article-header h2 a:hover {
  transform: translatey(-4px);
  border-color: var(--main-red-color);
  background-color: var(--main-red-color);
  color: #ffffff;
  --sombra-gris: 0px 1px 30px 0px rgb(0 0 0 / 10%);
}

body.int-premios-alas .article-list.int-premios-alas-article .article-header h2 a:target,
a:active {
  --sombra-gris: inset 0px 1px 9px 0px rgb(0 0 0 / 20%);
}

/* oculto introtext de los artículos en los listados */
body.int-premios-alas .article-list.int-premios-alas-article .article-introtext {
  display: none;
}

body.int-premios-alas .article-details .article-header h2 {
  font-size: 24px;
  color: #565656;
}

.featured-article-badge {
  display: none;
}

@media (max-width: 991px) {
  body.int-premios-alas .article-list.int-premios-alas-article {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.int-premios-alas .article-list.int-premios-alas-article {
    grid-template-columns: 1fr;
  }
}

/* ---------- PREMIOS ALAS - REGLAMENTO ---------- */
.int-premios-alas__reglamento__intro {
  text-align: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 2rem;
  & h2 {
    text-align: center;
  }
}

.int-premios-alas__reglamento__articulos {
  padding: 2rem;
  background-color: var(--gray-100);
  box-shadow: var(--sombra-gris);
  & h2 {
    text-align: center;
  }
}

/* =========================================================== */
/* ------- CONCURSO DE CANTO (scope de pagina en body) ------- */ /* =========================================================== */

body.int-concurso-canto,
body.int-concurso-canto__winners,
body.int-concurso-canto__bases {
  display: inherit;
}

body.int-concurso-canto .int-concurso-canto__intro-signature {
  max-width: 640px;
}

/* ========================================================== */
/* ======================== FOOTER  ========================= */
/* ========================================================== */
#sp-footer,
#sp-bottom {
  background-color: unset;
}
#sp-footer {
  text-align: center;
  background-color: var(--main-red-color);
  font-size: small;
  /* padding: 12px 0; */
}

#sp-footer .container-inner {
  display: flex;
  justify-content: center;
  padding: 1rem 0;
}

#sp-footer a {
  color: var(--gray-050);
  &:hover {
    text-decoration: underline;
  }
}

span.sp-copyright {
  letter-spacing: -0.4px;
}

/* TEST  */

span.wf_caption {
  font-size: 0.8em;
  font-family: sans-serif;
  /* font-weight: 500; */
  padding: 10px;
  /* background: #e2e0e0; */
  margin-bottom: 10px;
  -webkit-box-shadow: 0px 4px 10px 0px rgba(177, 177, 177, 0.58);
  -moz-box-shadow: 0px 4px 10px 0px rgba(177, 177, 177, 0.58);
  box-shadow: 0px 4px 10px 0px rgba(177, 177, 177, 0.58);
}
.wf_caption > span {
  padding: 50px 0;
}

/* FIN TEST */

/* NAVEGACION GENERAL */

.page-header {
  /* padding-bottom: 15px; */
  text-align: center;
  margin: 0px 0px 20px 0px;
  border-bottom: solid 1px #d1c3c3;
}

/* ESTILOS VIEJOS TEMPORALES COMO REFERENCIA */

/* ðŸš§ ------>   CONCURSO JC GEBELIN 2025 ARTICULO   <-------- ðŸš§  */

/* Legacy mapeado (referencia solo, no activo):
  .header-concurso-jcg-article -> .int-concurso-canto__intro-header
  .container-concurso-jcg-article -> .int-concurso-canto__intro-layout
  .text-concurso-jcg-article -> .int-concurso-canto__intro-text
  .imagen-concurso-jcg-article -> .int-concurso-canto__intro-media
  .jcg-biografia-mod -> .int-concurso-canto__bio
  .jcg-biografia-container -> .int-concurso-canto__bio-layout
  .blend-multiply -> .int-concurso-canto__bio-media
*/

/* Legacy retirado (comentado por trazabilidad):
  .header-concurso-jcg-article {}
  .container-concurso-jcg-article {}
  .text-concurso-jcg-article {}
  .imagen-concurso-jcg-article {}
  .jcg-biografia-mod {}
  .jcg-biografia-container {}
  .blend-multiply {}
*/

/* Intro superior: titulo + rubrica */
.int-concurso-canto__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.int-concurso-canto__intro-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
  inline-size: min(100%, 90%);
}

.int-concurso-canto__intro-title {
  text-align: center;
  margin-bottom: 2rem;
}

.int-concurso-canto__intro-signature {
  display: block;
  width: 100%;
  max-width: 640px;
  /* margin: 30px 0; */
  filter: invert(1);
}

.int-concurso-canto__intro-header p {
  display: flex;
  justify-content: center;
  margin: 0;
}

/* Scope principal de pagina: concurso (portada/base) */
body.int-concurso-canto {
  & #sp-main-body {
    background-color: var(--main-red-color);
    display: flex;
    justify-content: center;
  }

  & #sp-main-body #sp-component {
    margin: 20px 0;
    background-color: #fbfbf8;
    color: #3e4145;
    box-shadow: var(--sombra-gris);
    max-width: min(1140px, 90vw);
  }

  & hr {
    inline-size: min(100%, 80%);
    align-self: center;
  }

  & .page-header {
    margin-bottom: 50px;
  }

  & h1 {
    font-size: 48px;
    padding-top: 25px;
    color: var(--main-red-color);

    @media (width <=767px) {
      font-size: 2rem;
      /* margin-bottom: 0; */
    }
  }

  & p,
  h2,
  h3 {
    text-wrap: pretty;
    max-width: 767px;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
    line-height: 1.4;
  }

  & h2,
  h3 {
    color: var(--main-red-color);
    font-size: 1.6rem;
    font-weight: 400;
  }

  & .full-image img {
    width: auto;
    height: auto;
  }

  & .article-footer-wrap {
    display: none;
  }
}

/* Scope de pagina: ganadores en URL historica de inscripciones */
body.int-concurso-canto__winners {
  & #sp-main-body {
    background-color: var(--gray-100);
    display: flex;
    justify-content: center;
  }

  & #sp-main-body #sp-component {
    margin: 20px 0;
    /* background-color: #fbfbf8; */
    color: #565656;
    box-shadow: none;
    max-width: min(1140px, 90vw);
  }

  & hr {
    inline-size: min(100%, 90%);
    align-self: center;
  }

  & .page-header {
    margin-bottom: 2rem;
  }

  & h1,
  h2,
  h3 {
    color: #565656;
    text-align: center;
    text-wrap: pretty;
    padding-bottom: 8px;
  }
  & h2 {
    font-size: 24px;
  }

  & p {
    color: #565656;
    max-width: 767px;
    text-align: center;
    line-height: 1.4;
    text-wrap: pretty;
  }

  & .article-footer-wrap {
    display: none;
  }
}

/* Scope de pagina: bases del concurso */
body.int-concurso-canto__bases {
  & #sp-main-body {
    background-color: var(--gray-100);
    display: flex;
    justify-content: center;
  }

  & #sp-main-body #sp-component {
    margin: 20px 0;
    background-color: #fbfbf8;
    color: #3e4145;
    box-shadow: none;
    max-width: min(1140px, 90vw);
  }

  & .header-concurso-jcg-article {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 0.8rem;
  }

  & .header-concurso-jcg-article p {
    display: flex;
    justify-content: center;
    margin: 0;
  }

  & .jcg-rubrica {
    display: block;
    inline-size: min(100%, 630px);
    block-size: auto;
    margin: 1.2rem 0;
  }

  & h1,
  & h2 {
    text-align: center;
    color: #484848;
    text-wrap: pretty;
  }

  & h1 {
    padding-top: 0;
    margin: 0;
  }

  & h2 {
    margin-bottom: 0.8rem;
  }

  & h3,
  & h4 {
    font-size: 24px;
    text-wrap: pretty;
    margin-top: 1.7rem;
    margin-bottom: 0.7rem;
  }

  & h4 {
    font-size: 1.5rem;
  }

  & p {
    color: #3e4145;
    max-width: none;
    text-align: left;
    line-height: 1.42;
    text-wrap: pretty;
    margin-bottom: 0.9rem;
  }

  & > p:first-of-type {
    text-align: center;
    font-size: 1.05rem;
    margin-bottom: 1.3rem;
  }

  & .article-footer-wrap {
    display: none;
  }
}

/* Bloque presentacion: texto + flyer */
.int-concurso-canto__intro-layout {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;

  @media (width <=767px) {
    flex-direction: column;
    gap: 0px;
    flex-wrap: nowrap;
  }
}

/* Columna textual del bloque de apertura */
.int-concurso-canto__intro-text {
  max-width: 50%;

  @media (width <=767px) {
    max-width: 100%;
  }
}

.int-concurso-canto__intro-highlight {
  font-size: 18px;
}

/* Columna de flyer del bloque de apertura */
.int-concurso-canto__intro-media {
  display: flex;
  justify-content: center;
}

.int-concurso-canto__intro-media img {
  min-width: 230px;

  @media (width <=992px) {
    width: 280px;
  }

  @media (width <=767px) {
    width: 90%;
    margin: 0 0 40px 0;
  }
}

/* Biografia Juan Carlos Gebelin */

.int-concurso-canto__bio {
  background-color: var(--jcg-bio-color);
  /* padding: 60px 15px; */
  /* color: white; */

  & .int-concurso-canto__bio-image-wrap {
    background-color: var(--jcg-bio-color);
  }

  @media (max-width: 800px) {
    padding-top: 15px;
  }
}

.int-concurso-canto__bio-media img {
  mix-blend-mode: multiply;
  filter: saturate(0.75);
}

.int-concurso-canto__bio-layout {
  margin-bottom: 50px;
  align-items: center;
  justify-content: center;

  & .int-concurso-canto__bio-title {
    font-size: 28px;
    /* color: #f1f1f1; */
    text-align: left;
    margin: 0 0 15px 0;

    @media (max-width: 800px) {
      font-size: 22px;
    }
  }

  & .int-concurso-canto__bio-text {
    font-family: var(--bs-font-sans-serif);
    font-size: 16px;
    max-width: max-content;
    text-align: left;
    text-wrap: pretty;
    padding-right: 16px;
  }

  & a {
    /* color: whitesmoke; */
    /* text-decoration: underline; */
    cursor: pointer;
  }

  /* background-color: rgb(201, 201, 201); */
  /* padding: 15px; */
}

.int-concurso-canto__bio-row {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  column-gap: 3rem;
  align-items: start;
  padding: 2rem;
}

.int-concurso-canto__bio-col {
  min-width: 0;
}

.int-concurso-canto__bio-col--media {
  justify-self: center;
  align-self: center;
  /* Animacion de entrada de la imagen: abajo -> centro */
  opacity: 0;
  transform: translateY(28px);
}

.int-concurso-canto__bio-content {
  max-width: 700px;
  /* Animacion opuesta del bloque textual: arriba -> centro */
  opacity: 0;
  transform: translateY(-28px);
}

.int-concurso-canto__bio.is-visible .int-concurso-canto__bio-col--media {
  animation:
    intBioFadeIn 960ms cubic-bezier(0.22, 1, 0.36, 1) forwards,
    intBioSlideInFromBottom 960ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.int-concurso-canto__bio.is-visible .int-concurso-canto__bio-content {
  animation:
    intBioFadeIn 960ms cubic-bezier(0.22, 1, 0.36, 1) forwards,
    intBioSlideInFromTop 960ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.int-concurso-canto__bio-media {
  margin: 0;
}

.int-concurso-canto__bio-image {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.int-concurso-canto__bio-content .int-concurso-canto__bio-text {
  max-width: none;
  padding-right: 0;
}

@keyframes intBioFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes intBioSlideInFromBottom {
  from {
    transform: translateY(28px);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes intBioSlideInFromTop {
  from {
    transform: translateY(-28px);
  }
  to {
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .int-concurso-canto__bio-row {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .int-concurso-canto__bio-col--media {
    inline-size: min(100%, 280px);
    justify-self: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .int-concurso-canto__bio-col--media,
  .int-concurso-canto__bio-content {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Ganadores del concurso: grilla simple de cards */
.int-concurso-canto__winners-container {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  inline-size: min(100%, 1140px);
  /* padding: 0 2rem 2.5rem; */
}

.int-concurso-canto__winners-heading {
  margin: 0;
  text-align: center;
  font-size: clamp(1.5rem, 2.2vw, 2.1rem);
  color: #505050;
  font-weight: 400;
}

.int-concurso-canto__winners-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.8rem;
}

.int-concurso-canto__winner-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 8px;
  background-color: #f7f7f4;
  box-shadow: var(--sombra-gris);
}

.int-concurso-canto__winner-media {
  margin: 0;
}

.int-concurso-canto__winner-image {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.int-concurso-canto__winner-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 1rem 0.8rem 0.9rem;
  text-align: center;
}

.int-concurso-canto__winner-name,
.int-concurso-canto__winner-award,
.int-concurso-canto__winner-voice {
  margin: 0;
  max-width: none;
}

.int-concurso-canto__winner-name {
  color: #565656;
  font-size: 24px;
  line-height: 1.1;
}

.int-concurso-canto__winner-award {
  color: #535353;
  font-size: 1.05rem;
  line-height: 1.2;
}

.int-concurso-canto__winner-voice {
  color: #535353;
  font-size: 1.02rem;
  line-height: 1.2;
}

@media (max-width: 991px) {
  .int-concurso-canto__winners-container {
    padding-inline: 1rem;
  }

  .int-concurso-canto__winners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .int-concurso-canto__winners-container {
    padding-inline: 0.75rem;
  }

  .int-concurso-canto__winners-grid {
    grid-template-columns: 1fr;
  }
}

/* ðŸš§  BASES DEL CONCURSO ARTÃCULO */
.jurados-container {
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    "Open Sans",
    "Helvetica Neue",
    sans-serif;
  flex-direction: row;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 10px;

  @media (width > 1000px) {
    justify-content: space-evenly;
  }
}

.jurados-foto {
  overflow: hidden;
  margin: 0;
  text-align: center;

  & img {
    border: solid 1px #ccc;
    margin-bottom: 5px;
    max-width: 160px;
  }

  & figcaption {
    font-size: 14px;
    font-weight: bold;
    padding: 5px 0;
    margin-bottom: 2px;
  }

  & span {
    border-top: solid 1px #ccc;
    padding-top: 5px;
    display: block;
    font-weight: 400;
    font-size: 12px;
  }
}

/* ðŸš§ ------>   CONCURSO JC GEBELIN 2025 PROGRAMA   <-------- ðŸš§  */
body.concurso-jcg-programa {
  margin: 0;
  padding: 0;
  background-color: #eee;

  & * {
    font-family: Montserrat, sans-serif;
  }

  & #sp-main-body {
    padding: 0;
    margin: 0;
  }

  & .cjcg-titulo {
    padding-top: 80px;
    font-size: 36px;
    padding-bottom: 20px;
    font-family: "Playfair Display", sans-serif;
  }

  & .page-header,
  .entry-header {
    display: none;
    padding: 0;
    margin: 0;
  }

  & .programa-contenido {
    padding: 0 30px;
  }

  & .cjcg-flyer img {
    width: 100vw;
    padding: 0;
  }

  & .cjcg-menciones {
    /*seccion*/
    font-size: 1.2em;
    color: #333333;
    padding: 50px 0;
    border-top: 1px solid #ccc;
  }

  & h3.cjcg-menciones-titulo {
    font-weight: bold;
    text-transform: uppercase;
    color: #760c07;
  }

  & span.cjcg-auspicio-premio {
    font-size: 20px;
    display: block;
    padding-bottom: 10px;
  }

  & .cjcg-nombre-cantante {
    font-size: 24px;
    font-weight: bold;
    margin: 15px 0 0 0;
  }

  & .cjcg-nacionalidad-cantante,
  .cjcg-nombre-obra {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 25px;
  }

  & .cjcg-nombre-compositor {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 5px;
  }

  & .cjcj-nombre-pianista {
    font-size: 16px;
    padding-top: 25px;
  }

  & .cjcg-sponsors {
    width: 100%;
  }
}

/* ðŸš§ â˜ðŸ½ ----------->  CONCURSO JC GEBELIN 2025 <------------- â˜ðŸ½ ðŸš§  */

/* PORTADA AGENDA */
.sp-page-builder .page-content section#agenda {
  background-color: #e7ece7;
  padding: 80px 0px;
}

.sppb-article-info-wrap h3 {
  display: none;
}

/*EVENTOS*/
.sp-page-builder .page-content #eventos {
  padding: 80px 0px;
}

.sp-page-builder .page-content section#eventos h2 {
  margin-bottom: 60px;
}

/* PORTADA PREMIOS ALAS */
.sp-page-builder .page-content section#premiosalas {
  /* padding-top: 160px; */
  padding-bottom: 80px;
}

/* âš ï¸ SEPARADOR suma 160px de padding y borde gris top */
.padding-160-bdtop {
  padding-top: 160px;
  border-top: solid 1px #ccc;
}

/*BOTONES vermas*/
.sp-page-builder .page-content .vermas {
  margin-top: 80px;
  padding: 18px 18px 12px 18px;
}

/*CONTACTO*/
#contacto .logo-interarte img {
  max-width: 280px;
}

/* ---> topbar ---------*/
#sp-top-bar {
  padding: 6px 0;
  font-size: 0.95em;
}

/* ------------ BOTONES ----------- */
.btn,
.sppb-btn {
  margin: 10px 0px;
  padding: 12px 12px 7px 12px;
  /* border-radius: 0; */
  font-size: 0.9em;
}

.btn-primary li.active > a {
  background: aquamarine;
}

/* info */

/*.sppb-btn-info {}
  .sppb-btn-info:hover {}
  .sppb-btn-info:focus, .sppb-btn-info:active {}
*/

.btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}

/* primary */

.btn-primary,
.sppb-btn-primary,
.btn-info,
.sppb-btn-info {
  color: #61666b;
  background-color: #ffffff;
  background-image: none;
  border-color: #d9d9d9;
}

.btn-primary:hover,
.sppb-btn-primary:hover,
.btn-info:hover,
.sppb-btn-info:hover {
  border-color: #6c757d;
  background-color: #6c757d;
  color: #ffffff;
}

/*  ANEXOS LEGACY OPERA WS */

/* ARTICULOS DOCENTES */

/* .docentes-articulo {
} */

.docentes-articulo div[itemprop="articleBody"] {
  border: solid 1px #ccc;
  background-color: #feffff;
  padding: 20px;
}

.docentes-articulo .page-header {
  border: none;
}

.docentes-articulo .entry-image img {
  max-width: 220px;
  height: initial;
  object-fit: unset;
  box-shadow: 0px 0px 6px 0px #482c0066;
}

.docentes-articulo .entry-header h2 a {
  color: #424242;
}

.docentes-articulo p {
  max-width: 640px;
  margin: auto;
  text-align: center;
  margin-bottom: 10px;
}

.fotos-docentes-articulo {
  box-shadow: 1px 1px 5px #555;
  border-radius: 5px;
}

.docentes-articulo article.item.column-1 h2,
.docentes-articulo article.item.column-2 h2,
.docentes-articulo article.item.column-3 h2,
.docentes-articulo article.item.column-4 h2,
.docentes-articulo article.item.column-5 h2,
.docentes-articulo article.item.column-6 h2 {
  border-top: solid 1px #ff9c00;
  padding-top: 5px;
  max-width: 220px;
  margin: auto;
  display: block;
}
/* ========================================================*/
/* ------- ANEXO RETROCOMPAT:  OPERA WORKSHOP 2022 ------- */
/* ========================================================*/

/* ---------- OPERA WORKSHOP 2022 / HOME  ----------- */
.int-opera-ws-home__hero {
  margin-bottom: 4rem;
}
section.int-opera-ws-home__intro.textos-portada-opera {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* background-color: red; */
}
.int-opera-ws-home__gallery {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  padding: 4rem 1rem;
}

.int-opera-ws-home__gallery-item {
  max-width: 600px;
}
.int-opera-ws-home__sponsors.logos-pie-container {
  /* background-color: yellow; */
  padding: 2rem;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  & figure img {
    max-height: 80px;
    max-width: 200px;
  }
}
/* ---------- OPERA WORKSHOP 2022 / DOCENTES ------- */

body.docentes-articulo .blogdocentes-articulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}

body.docentes-articulo .blogdocentes-articulo > .page-header {
  border: none;
  margin: 0;
}
.docentes-articulo h1 {
  font-family: "EB Garamond", serif;
}

.docentes-articulo .contenedor-grid,
.contenedor-grid__item-datos,
.contenedor-grid__item-redes,
.contenedor-grid__p {
  display: flex;
  flex-direction: column;
  justify-content: baseline;
  align-items: center;
  text-align: center;
}

body.docentes-articulo .blogdocentes-articulo > .page-header h1 {
  font-family: "EB Garamond", serif;
  margin: 0;
  text-align: center;
  font-size: 54px;
  line-height: 1.08;
  color: #2f2f2f;
}

body.docentes-articulo .article-list.operaws-docentes {
  inline-size: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

body.docentes-articulo .article-list.operaws-docentes > .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -14px;
  row-gap: 36px;
}

body.docentes-articulo .article-list.operaws-docentes > .row > [class*="col-"] {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0 2rem;
}

body.docentes-articulo .article-list.operaws-docentes .article {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  margin: 0;
  border: 0;
  background-color: transparent;
  box-shadow: none;
  transition: transform 180ms ease;
}

body.docentes-articulo .article-list.operaws-docentes .article:hover {
  transform: translateY(-4px);
}

body.docentes-articulo .article-list.operaws-docentes .item {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  margin: 0;
  border: 0;
  background-color: transparent;
}

body.docentes-articulo .article-list.operaws-docentes .article-body {
  border: 0;
  background-color: transparent;
  box-shadow: none;
  padding: 0;
}

body.docentes-articulo .article-list.operaws-docentes .system-unpublished {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  border: 0;
  background-color: transparent;
}

body.docentes-articulo .article-list.operaws-docentes .entry-image,
body.docentes-articulo .article-list.operaws-docentes .article-intro-image {
  order: 1;
  display: block;
  inline-size: 100%;
  margin: 0;
}

body.docentes-articulo .article-list.operaws-docentes .entry-image a,
body.docentes-articulo .article-list.operaws-docentes .article-intro-image a {
  display: block;
}

body.docentes-articulo .article-list.operaws-docentes .entry-image img,
body.docentes-articulo .article-list.operaws-docentes .article-intro-image img {
  display: block;
  inline-size: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  box-shadow: 0px 0px 6px 0px #482c0066;
}

body.docentes-articulo .article-list.operaws-docentes .article-body {
  order: 2;
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  padding-bottom: 4rem;
}

body.docentes-articulo .article-list.operaws-docentes .entry-header,
body.docentes-articulo .article-list.operaws-docentes .article-header {
  display: block;
  margin: 1rem 0 0;
  position: static;
  inline-size: 100%;
  text-align: center;
  border: 0;
}

body.docentes-articulo .article-list.operaws-docentes .entry-header h2,
body.docentes-articulo .article-list.operaws-docentes .article-header h2 {
  margin: 0;
  padding: 0;
  border: 0;
  text-align: center;
  font-family: "EB Garamond", serif;
  font-size: 24px;
  line-height: 1.1;
}

body.docentes-articulo .article-list.operaws-docentes .entry-header h2 a,
body.docentes-articulo .article-list.operaws-docentes .article-header h2 a {
  display: block;
  margin: 0;
  font-family: "EB Garamond", serif;
  font-size: 24px;
  line-height: 1.1;
  color: #4b4b4b;
  text-decoration: none;
}

/* En listado ocultamos la biografia larga para evitar duplicado visual. */
body.docentes-articulo .article-list.operaws-docentes .article-introtext {
  display: none;
}

@media (max-width: 1200px) {
  body.docentes-articulo .article-list.operaws-docentes > .row {
    margin: 0 -12px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row > [class*="col-"] {
    padding: 0 12px;
  }
}

@media (max-width: 991px) {
  body.docentes-articulo .blogdocentes-articulo > .page-header h1 {
    font-size: 44px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row {
    row-gap: 30px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row > [class*="col-"] {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
}

@media (max-width: 768px) {
  body.docentes-articulo .blogdocentes-articulo > .page-header h1 {
    font-size: 34px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row {
    margin: 0 -10px;
    row-gap: 24px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row > [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 10px;
  }
}

@media (max-width: 480px) {
  body.docentes-articulo .blogdocentes-articulo > .page-header h1 {
    font-size: 30px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row {
    margin: 0;
    row-gap: 20px;
  }

  body.docentes-articulo .article-list.operaws-docentes > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
  }
}
