.bg-primary {
  background-color: #fafafa;
}

.agrupation-title {
  color: #909090;
  font-size: calc(42 * var(--global-base-font-size) / 16);
}

.agrupation-type {
  color: #fff;
  font-size: calc(22 * var(--global-base-font-size) / 16);
  padding: 0 28px 350px 28px;
  max-width: 165px;
}

.agrupation-type.collection {
  background: transparent
    linear-gradient(0deg, #fff 0%, #fad84f 71%, #fad74a 100%) 0% 0%;
}

/* ===== SECTION BREADCRUMB ===== */
.section-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(6 * var(--global-layout-unit));
  width: 100%;
  max-width: 1312px;
  margin: 0 auto;
  padding: calc(8 * var(--global-layout-unit)) 0;
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(18 * var(--global-base-font-size) / 16);
  font-weight: 700;
  line-height: 1.5;
  background: none;
  box-sizing: border-box;
}

.section-breadcrumb .breadcrumb-item {
  color: #094385;
  text-decoration: underline;
  text-underline-offset: 2px;
  list-style: none;
}

.section-breadcrumb .breadcrumb-item.active {
  color: #4C4C4C;
  text-decoration: none;
}

.section-breadcrumb .breadcrumb-separator {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
}

/* ===== SECTION BANNERS ===== */
.section-banner {
  display: flex;
  align-items: flex-end;
  width: 100%;
  max-width: 1312px;
  margin: calc(25 * var(--global-layout-unit)) auto 0;
  height: calc(151 * var(--global-layout-unit));
  background-color: #EFF2FC; /* Colecciones default */
  border-radius: 16px;
  overflow: visible;
  padding: 0 calc(40 * var(--global-layout-unit));
  gap: calc(32 * var(--global-layout-unit));
  box-sizing: border-box;
}

/* ── Banner color variants ── */
.section-banner--colecciones {
  background-color: #EFF2FC; /* Azul claro */
}
.section-banner--colecciones .section-banner__title {
  color: #0943B5;
}

.section-banner--podcast {
  background-color: #FDEDF2; /* Rosado suave */
}
.section-banner--podcast .section-banner__title {
  color: #0943B5;
}

.section-banner--buscador {
  background-color: #FEF6D5; /* Amarillo cálido */
}
.section-banner--buscador .section-banner__title {
  color: #0943B5;
}

.section-banner__image {
  flex-shrink: 0;
  width: calc(185 * var(--global-layout-unit));
  height: calc(151 * var(--global-layout-unit));
  object-fit: contain;
  object-position: left bottom;
  align-self: flex-end;
  margin-left: calc(-24 * var(--global-layout-unit));
  pointer-events: none;
}

.section-banner__text {
  flex: 1;
  min-width: 0;
  align-self: center;
}

.section-banner__title {
  font-size: calc(48 * var(--global-base-font-size) / 16);
  font-weight: 700;
  color: #0943B5;
  margin-bottom: calc(4 * var(--global-layout-unit));
  line-height: 1.2;
}

.section-banner__subtitle {
  font-size: calc(22 * var(--global-base-font-size) / 16);
  font-weight: 700;
  color: #4C4C4C;
  line-height: 1.5;
}

.section-banner__count {
  font-size: calc(16 * var(--global-base-font-size) / 16);
  font-weight: 400;
  color: #8C8C8C;
  line-height: 1.5;
  margin-top: calc(4 * var(--global-layout-unit));
}

.agrupation-type.chronology {
  background: transparent
    linear-gradient(0deg, #fff 0%, #1bb6dc 71%, #0095b9 100%) 0% 0%;
}

.agrupation-type.destilation {
  background: transparent
    linear-gradient(0deg, #fff 0%, #36eedc 71%, #1dc9b7 100%) 0% 0%;
}

.subtitle {
  font-size: calc(16 * var(--global-base-font-size) / 16);
  color: #6b6b6b;
  letter-spacing: 0;
}

.text-blue {
  color: #4a77b4;
}

.comment-color {
  color: #6b6b6b;
}

.comment-color:hover {
  color: #4a77b4;
}

.object-description {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  color: #606060;
}

.keyword {
  margin: 2px;
  padding: 7px 11px;
  font-size: calc(13 * var(--global-base-font-size) / 16);
  color: #676767;
  border: 0.5px solid #676767;
}

.second-title {
  color: #909090;
  font-size: calc(32 * var(--global-base-font-size) / 16);
}

.points-decorations {
  margin-top: 20px;
  margin-right: 200px;
  height: 50px;
  width: 50px;
}

.bc-item {
  max-width: 100%;
}

.ff-ws {
  font-family: "Work Sans";
  letter-spacing: 0;
}

.ff-rb {
  font-family: Roboto;
  letter-spacing: 0;
}

.custom-background-landing {
  margin-top: -4%;
  margin-left: -2%;
  width: 106%;
  background-image: url("/static/images/catalog-header-bg.png");
  background-size: contain;
  background-position-x: 100%;
  background-color: rgb(229, 233, 237);
  background-repeat: no-repeat;
}

.fc-487 {
  color: #487bb0;
}

.fc-666 {
  color: #666;
}

.fc-link-4a7 {
  color: #4a77b4;
}

.fs-30 {
  font-size: calc(30 * var(--global-base-font-size) / 16);
}

.fs-18 {
  font-size: calc(18 * var(--global-base-font-size) / 16);
}

.btn-56c {
  color: #fff;
  background-color: #56cc69;
  border-color: #56cc69;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),
    0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),
    0 1px 1px rgba(0, 0, 0, 0.075);
}

.mx-9 {
  margin-left: 5rem;
  margin-right: 5rem;
}

.height-15 {
  height: 7rem;
}

.border-666 {
  border-color: #676767;
}

.breadcrumb-arrow {
  padding: 0;
  background: 0 0;
}

.breadcrumb-arrow li.active {
  font-weight: 500;
  opacity: 0.5;
}

.breadcrumb-arrow li a {
  color: #fff;
  display: inline-block;
  background: #487bb0;
  text-decoration: none;
  position: relative;
  height: 2.5em;
  line-height: 2.5em;
  padding: 0 10px 0 5px;
  text-align: center;
  margin-right: 22px;
}

.breadcrumb-arrow li:nth-child(even) a {
  background-color: #487bb0;
}

.breadcrumb-arrow li:nth-child(even) a:before {
  border-color: #487bb0;
  border-left-color: transparent;
}

.breadcrumb-arrow li:nth-child(even) a:after {
  border-left-color: #487bb0;
}

.breadcrumb-arrow li:first-child a {
  padding-left: 0.938em;
  border-radius: 4px 0 0 4px;
}

.breadcrumb-arrow li:first-child a:before {
  border: none;
}

.breadcrumb-arrow li:last-child a {
  padding-right: 0.938em;
  border-radius: 0 4px 4px 0;
}

.breadcrumb-arrow li:last-child a:after {
  border: none;
}

.breadcrumb-arrow li a:after,
.breadcrumb-arrow li a:before {
  content: "";
  position: absolute;
  top: 0;
  border: 0 solid #487bb0;
  border-width: 1.25em 10px;
  width: 0;
  height: 0;
}

.breadcrumb-arrow li a:before {
  left: -20px;
  border-left-color: transparent;
}

.breadcrumb-arrow li a:after {
  left: 100%;
  border-color: transparent;
  border-left-color: #487bb0;
}

.breadcrumb-arrow li a:hover {
  background-color: #325080;
}

.breadcrumb-arrow li a:hover:before {
  border-color: #325080;
  border-left-color: transparent;
}

.breadcrumb-arrow li a:hover:after {
  border-left-color: #325080;
}

.breadcrumb-arrow li a:active {
  background-color: #487bb0;
}

.breadcrumb-arrow li a:active:before {
  border-color: #487bb0;
  border-left-color: transparent;
}

.breadcrumb-arrow li a:active:after {
  border-left-color: #487bb0;
}

.subheader-title {
  font-size: calc(20 * var(--global-base-font-size) / 16);
  color: #757575;
}

.pagination {
  font-size: calc(16 * var(--global-base-font-size) / 16);
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 4px;
}

.page-number {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  color: #6b6b6b;
  background-color: #fff;
}

.pagination .page-number {
  border-radius: 4px;
}

.page-item.active .page-number,
.pagination .page-number:hover {
  color: #fff;
  background-color: #fac600;
}

.page-number.controls {
  background-color: #e8eeed;
}

@media (min-width: 1100px) {
  .height-lg-5 {
    height: 3rem;
  }
  .height-lg-10 {
    height: 4.25rem;
  }
  .page-content {
    padding: 0;
    width: 100%;
    max-width: 1320px;
    margin-inline: auto;
  }
}

.create-button {
  color: white;
  background-color: #467700;
}

.create-button:hover {
  color: white;
  background-color: #3e6b00;
}

.header-icon {
  height: 3rem;
  line-height: 3rem;
}

.header-icon,
.text-header {
  color: #325080;
  font-size: calc(14 * var(--global-base-font-size) / 16);
}

.header-bottom-line {
  left: 0;
  width: 100%;
  height: 10px;
  background: #fac600;
  opacity: 1;
}

.p-t-25px {
  padding-top: 25px;
}

.search-panel {
  left: 0;
  width: 100%;
  min-height: 88px;
  background: #fac600;
  opacity: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 920px) {
  .search-panel {
    flex-direction: column;
  }
  .search-panel-decoration {
    margin-left: 0;
  }
}

.search-panel-decoration {
  margin-left: 110px;
}

@media only screen and (max-width: 1100px) {
  .page-wrapper .page-content {
    padding: 0;
  }
}

.page-header {
  height: auto;
  min-height: 4.125rem;
}

@media (max-width: 768px) {
  .page-header {
    flex-direction: column;
  }
}

.page-header,
.search-panel {
  padding-left: 40px;
  padding-right: 40px;
}

.landing-recommended-left {
  background: #007e9a;
  color: #ffffff;
  padding: 30px;
}

.checked {
  color: #fff100;
}

.landing-recommended-left .recommended-left-title {
  font-size: calc(28 * var(--global-base-font-size) / 16);
}

.landing-recommended-right {
  background: #ffffff 0 0 no-repeat padding-box;
  color: #606060;
  padding: 30px 30px 0 30px;
}

.landing-recommended-right .row {
  margin: 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.mb-25px {
  margin-bottom: 25px;
}

body {
  font-size: calc(14 * var(--global-base-font-size) / 16);
  font-family: 'Nunito Sans', sans-serif;
}

.resources-title {
  text-align: left;
  font-family: "Work Sans", Roboto, sans-serif;
  font-size: calc(40 * var(--global-base-font-size) / 16);
  font-weight: 800;
  letter-spacing: 0;
  color: #909090;
  opacity: 1;
}

.my-group-title {
  font-size: calc(16 * var(--global-base-font-size) / 16);
  font-weight: 600;
  color: #666;
}

.my-group-text {
  font-size: calc(14 * var(--global-base-font-size) / 16);
  color: #606060;
}

.my-group-body {
  height: 130px;
}

@media (max-width: 575.98px) {
  .my-group-body {
    height: 150px;
  }
}

.no-resources-message {
  color: #666;
}

.resource-card-average-ranking {
  margin-bottom: 5px;
}

.resource-card-average-ranking > span {
  font-size: calc(12 * var(--global-base-font-size) / 16);
}

.resource-format-counter-container {
  flex: 0 0 197px;
  width: 197px;
  height: 265px;
  border-radius: 25px;
  border: 1px solid #B5C7E9;
  background-color: var(--color-white);
  overflow: hidden;
  margin: 0;
  box-shadow: 0 2px 12px rgba(9, 67, 181, 0.08);
}

.resource-format-counter-container .bc-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 20px 40px;
  text-decoration: none;
  box-sizing: border-box;
}

.format-card-img {
  width: 102px;
  height: 121px;
  object-fit: contain;
}

.resource-format-counter-icon {
  width: 33px;
}

.resource-format-counter-description {
  font-family: "Work Sans", Roboto, sans-serif;
  font-size: calc(40 * var(--global-base-font-size) / 16);
  font-weight: 500;
  color: #6199ab;
}

.resource-format-counter-description-downloadable {
  font-family: "Work Sans", Roboto, sans-serif;
  font-size: calc(15 * var(--global-base-font-size) / 16);
  font-weight: 400;
  color: #6199ab;
}

.breadcrumb {
  padding: 30px;
  background-color: #ffffff;
  color: #35608c;
  text-decoration: underline;
}

.breadcrumb-item {
  color: #35608c;
}

.breadcrumb-item.active {
  color: #6b7279;
}

.breadcrumb-item i {
  padding-right: 5px;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #35608c;
}


.bg-yellow {
  background-color: #fac600;
  color: #ffffff;
}

.accordion .card .card-header .card-title {
  font-size: calc(20 * var(--global-base-font-size) / 16);
  font-family: "Work Sans", sans-serif;
  color: #2d62b7;
}

.accordion .card .card-header .card-title.collapsed {
  color: #676767;
}

.page-footer {
  height: auto;
}

.about {
  color: #676767;
  font-size: calc(16 * var(--global-base-font-size) / 16);
}

.about-title {
  font-size: calc(20 * var(--global-base-font-size) / 16);
}

.simple-ul {
  list-style: none;
  display: contents;
  float: right;
  margin: 0;
  padding: 0;
}


/* NO MODIFICAR LA PARTE INFERIOR */
/* Utilidades reutilizables */


:root {
  /* Espaciados - simplificado con calc() */
  --sp-unit: 8px;
  --sp-x2: calc(var(--sp-unit) * 2);
  --sp-x3: calc(var(--sp-unit) * 3);
  --sp-x4: calc(var(--sp-unit) * 4);
  --sp-x5: calc(var(--sp-unit) * 5);
  --sp-x6: calc(var(--sp-unit) * 6);
  --sp-x7: calc(var(--sp-unit) * 7);
  --sp-x8: calc(var(--sp-unit) * 8);
  --sp-x9: calc(var(--sp-unit) * 9);
  --sp-x10: calc(var(--sp-unit) * 10);
  
  /* Global Base Font Size */
  --global-base-font-size: 16px;

  --global-layout-unit: calc(var(--global-base-font-size) / 16);
  --banner-unit: var(--global-layout-unit);

  /* Tamaños de texto - simplificado */
  --text-xs: calc(var(--global-base-font-size) - 4px);
  --text-sm: calc(var(--global-base-font-size) - 2px);
  --text-base: var(--global-base-font-size);
  --text-lg: calc(var(--global-base-font-size) + 2px);
  --text-xl: calc(var(--global-base-font-size) + 4px);
  --text-2xl: calc(var(--global-base-font-size) + 6px);
  --text-3xl: calc(var(--global-base-font-size) + 8px);
  --text-4xl: calc(var(--global-base-font-size) + 16px);
  --text-5xl: calc(var(--global-base-font-size) + 18px);
  --text-big: calc(var(--global-base-font-size) + 56px);
  
  /* Colores - agrupados semánticamente */
  --color-primary: #0943B5;
  --color-background: #F4F4F4;
  --color-neutral: #4C4C4C;
  --color-border: #B5C7E9;
  --color-accent: #FEE697;
  --color-white: #fff;
  --color-black: #000;
  
  /* Colores derivados */
  --color-text: var(--color-neutral);
  --color-text-inverted: var(--color-white);
}

nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
a, abbr, acronym, address, applet, article, aside, audio,
b, big, blockquote, body, canvas, caption, center, cite,
code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset,
figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header,
hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark,
menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section,
small, span, strike, strong, sub, summary, sup, table, tbody, td,
tfoot, th, thead, time, tr, tt, u, ul, var, video
{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-family: 'Nunito Sans', sans-serif;
    /*font: inherit;*/
    vertical-align: baseline;
}


/* Landing general */
html, body {
  overflow-x: hidden;
  position: relative;
}

.landing {
  font-family: 'Nunito Sans', sans-serif;
}

/* Banner principal */
.landing-banner {
  margin: var(--sp-x4) auto;
  max-width: 1320px;
  width: calc(100% - 64px); /* Alinear con los 32px de margen de content-pwa */
  position: relative;
  overflow: hidden;
}

/* Carousel wrapper */
.landing-carousel,
.landing-carousel .carousel-inner {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

/* Slides */
.landing-slide {
  height: 438px; /* Altura FIJA: no cambia aunque la imagen no cargue */
  min-height: 438px;
  max-height: 438px;
  position: relative;
  overflow: hidden;
}

.carousel-item.landing-slide.active,
.carousel-item.landing-slide.carousel-item-next,
.carousel-item.landing-slide.carousel-item-prev {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.carousel-item.landing-slide.carousel-item-next,
.carousel-item.landing-slide.carousel-item-prev {
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 1;
}

.landing-slide-content {
  display: flex;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  min-height: 100%;
  height: auto;
  padding-left: calc(109 * var(--banner-unit));
  padding-bottom: calc(46 * var(--banner-unit));
  gap: calc(80 * var(--banner-unit));
  box-sizing: border-box;
  position: relative;
}

.landing-slide-content::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(46 * var(--banner-unit));
  height: 1px;
  background: rgba(0, 0, 0, 0.13);
  z-index: 3;
  pointer-events: none;
}

.landing-slide-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: calc(36 * var(--banner-unit));
  padding-bottom: calc(36 * var(--banner-unit));
  gap: calc(16 * var(--banner-unit));
  z-index: 1;
}

.landing-slide-image {
  flex-shrink: 0;
  height: 100%; /* Ocupa toda la altura del slide */
  min-height: 392px; /* Nunca colapsa aunque la imagen no cargue */
  display: flex;
  align-items: flex-end;
  align-self: flex-end;
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .landing-slide-image img {
    max-height: 700px; /* larger image for mobile */
    width: auto;
    object-fit: contain;
    display: block;
  }
}

.landing-slide-image img {
  max-height: 392px;
  width: auto;
  object-fit: contain;
  display: block;
}

.landing-slide-tag-icon {
  width: calc(16 * var(--banner-unit));
  height: calc(16 * var(--banner-unit));
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

/* Tag pill */
.landing-slide-tag {
  display: inline-flex;
  align-items: center;
  gap: calc(5 * var(--banner-unit));
  background-color: #CADBFA;
  border-radius: calc(16 * var(--banner-unit));
  padding: calc(4 * var(--banner-unit)) calc(8 * var(--banner-unit));
  font-size: calc(14 * var(--banner-unit));
  color: #0943B5;
  font-weight: 600;
  font-family: 'Nunito Sans', sans-serif;
  width: fit-content;
  border: none;
}

/* Slide title */
.landing-slide-title {
  color: #0943B5;
  font-size: calc(40 * var(--banner-unit));
  font-weight: 700;
  font-family: 'Nunito Sans', sans-serif;
  line-height: 1.2;
  margin: 0;
}

/* Slide description */
.landing-slide-desc {
  font-family: 'Roboto', sans-serif;
  font-size: calc(18 * var(--banner-unit));
  font-weight: 400;
  line-height: 1.5;
  color: #222222;
  margin: 0;
  max-width: calc(487 * var(--banner-unit));
}

/* Slide CTA button */
.landing-slide-btn {
  display: inline-flex;
  align-items: center;
  gap: calc(24 * var(--banner-unit));
  background-color: #0943B5;
  color: #fff;
  border-radius: calc(25 * var(--banner-unit));
  padding: calc(12 * var(--banner-unit)) calc(30 * var(--banner-unit)) calc(12 * var(--banner-unit)) calc(24 * var(--banner-unit));
  font-weight: 700;
  font-size: calc(16 * var(--banner-unit));
  font-family: 'Nunito Sans', sans-serif;
  width: fit-content;
  text-decoration: none;
}

.landing-slide-btn:hover {
  background-color: #0636a0;
  color: #fff;
  text-decoration: none;
}

.landing-slide-btn:focus {
  outline: 2px solid #0943B5;
  outline-offset: 2px;
}

/* Placeholder invisible para mantener altura consistente cuando no hay CTA (desktop) */
.landing-slide-btn-placeholder {
  display: inline-flex;
  align-items: center;
  gap: calc(12 * var(--banner-unit));
  padding: calc(12 * var(--banner-unit)) calc(24 * var(--banner-unit));
  font-size: calc(16 * var(--banner-unit));
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  width: fit-content;
  min-width: 180px;
  min-height: 48px;
  visibility: hidden;
  pointer-events: none;
  flex-shrink: 0;
}

/* Slide 2 — Banner principal (existing content) */
.landing-slide--main {
  text-align: center;
  background-color: #F4F4F4;
  justify-content: center;
  flex-direction: column;
}

.landing-slide-main-title {
  color: var(--color-primary);
  font-size: var(--text-big);
  font-weight: bold;
  margin: 0 30% var(--sp-x2);
  position: relative;
  z-index: 1;
}

.landing-slide-main-subtitle {
  color: var(--color-primary);
  font-size: var(--text-xl);
  margin: var(--sp-x2) 30%;
  position: relative;
  z-index: 1;
}

.landing-slide-main-subtitle span {
  background-color: var(--color-accent);
  font-weight: bold;
}

.landing-slide-main-subtitle b {
  font-weight: bold;
}

.landing-slide-main-btn {
  display: inline-block;
  background-color: var(--color-primary);
  border-radius: 25px;
  border: 1px solid var(--color-primary);
  font-size: var(--text-base);
  color: var(--color-white);
  font-weight: 700;
  padding: 12px 24px;
  margin-top: var(--sp-x2);
  position: relative;
  z-index: 1;
  text-decoration: none;
}

.landing-slide-main-btn:hover {
  background-color: #0636a0;
  color: var(--color-white);
  text-decoration: none;
}

/* Ilustraciones del slide 2 */
.landing-banner-illustration {
  position: absolute;
  top: 0;
  width: 30%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  z-index: 0;
}

.landing-banner-illustration--left { left: 0; }
.landing-banner-illustration--right { right: 0; }

/* Flechas del carousel */
.landing-carousel-prev,
.landing-carousel-next {
  display: block;
  width: calc(51 * var(--global-layout-unit));
  height: calc(51 * var(--global-layout-unit));
  border: none;
  padding: 0;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  background: url("/static/images/rework/Banner/Button.svg") center / contain no-repeat;
  box-shadow: none;
  filter: none;
  z-index: 20;
}

.landing-carousel-prev { left: 16px; }
.landing-carousel-next { right: 16px; transform: translateY(-50%) scaleX(-1); }

.landing-carousel-prev:hover,
.landing-carousel-next:hover,
.landing-carousel-prev:focus,
.landing-carousel-next:focus {
  background: url("/static/images/rework/Banner/ButtonH.svg") center / contain no-repeat;
  box-shadow: none;
  filter: none;
  opacity: 1;
  outline: none;
}

/* Indicadores (dots) */
.landing-carousel-indicators {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 10;
  width: auto;
}

.landing-carousel-indicators li {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: transparent;
  border: 1.5px solid #0943B5;
  cursor: pointer;
  text-indent: 0;
  opacity: 1;
  margin: 0;
  flex: none;
  box-sizing: border-box;
}

.landing-carousel-indicators li.active {
  background-color: #0943B5;
  border-color: #0943B5;
}

/* Botón pausar */
.landing-carousel-bottom {
  position: absolute;
  bottom: 12px;
  left: 40px;
  z-index: 15;
}

.landing-carousel-pause-btn {
  background: none;
  border: none;
  color: var(--color-primary);
  font-size: var(--text-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-family: 'Nunito Sans', sans-serif;
  text-decoration: none;
  padding: 0;
}

.landing-carousel-pause-btn:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Secciones de contenido */
.landing-featured {
  padding: var(--sp-x5) 0;
}



.landing-recommended {
  color: var(--color-primary);
  font-weight: bold;
  font-size: var(--text-xl);
  text-align: center;
  margin-bottom: var(--sp-x2);
}



.content-pwa {
  margin: var(--sp-x4) var(--sp-x4) 0;
}

.objeto-pwa {
  padding: 0;
}

.more-collect{
  color: var(--color-primary);
  padding: 12px 24px;
  border-radius: 25px;
  border: var(--color-primary) 1px solid;
  width: fit-content;
  place-self: center;
  margin-top: 34px;
  font-size: var(--text-base);
}

.more-collect a{
  color: var(--color-primary);
}

/* Secciones educativas */
.landing-education-fase,
.landing-joinus {
  margin: var(--sp-x4) 0;
}



.landing-joinus{
  padding-left: 150px;
  padding-top: 100px;
  padding-right: 50px;
}

.joinus-content {
  background-color: var(--color-accent);
  color: var(--color-primary);
  border-radius: 150px;
  padding: 0 var(--sp-x4) 0 390px;
  min-height: 298px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.joinus-content::before{
  content: none;
}

/* Ilustración real (reemplaza ::before para poder usar alt) */
.joinus-illustration{
  position: absolute;
  top: -130px;
  left: -80px;
  width: 460px;
  height: 430px;
  object-fit: contain;
  pointer-events: none;
}

.joinus-content h1 {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.625);
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.2;
  margin: 0 0 4px;
}

.joinus-content h2 {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.375);
  font-weight: 300;
  color: #000000;
  line-height: 1.2;
  margin: 0 0 20px;
}

.joinus-content a {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.125);
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 25px;
  padding: 0 32px;
  min-width: 240px;
  height: 51px;
  line-height: 51px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  align-self: flex-start;
}

.content-education-fase {
  background-color: #DEE7FB;
  border-radius: 20px;
  padding: 45px 40px 50px;
  text-align: center;
  overflow: hidden;
}

.content-education-fase h2 {
  font-size: calc(var(--text-base) * 1.625);
  line-height: 1.2;
  margin: 0 0 68px;
  font-weight: 700;
  color: #0943B5;
}

.images-education-fase {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-top: 0;
  gap: 0;
  padding: 0;
}

.howlearn {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  padding: 16px 0 8px;
}
/* Fases educativas - patron común */
.primary-fase,
.basic-fase,
.superior-fase,
.work-fase {
  box-sizing: border-box;
  flex: 1 1 252px;
  max-width: 252px;
  min-height: 111px;
  height: auto;
  padding: 20px 82px 20px 20px;
  margin-right: 50px;
  border-radius: 16px;
  color: #222222;
  font-size: calc(var(--text-base) * 1.375);
  font-weight: 700;
  position: relative;
  line-height: 1;
  align-content: center;
  text-align: left;
  text-decoration: none;
  overflow: visible;
  box-shadow: 0 4px 20px 0 rgba(9, 67, 181, 0.15);
}

.primary-fase:hover,
.basic-fase:hover,
.superior-fase:hover,
.work-fase:hover{
  color: #222222;
  text-decoration: none;
}

.primary-fase::after,
.basic-fase::after,
.superior-fase::after,
.work-fase::after {
  position: absolute;
  right: -50px;
  top: -30px;
  width: 119px;
  height: 140px;
  content: "";
  background: 50% 50%/contain no-repeat;
}

/* Ilustración real (reemplaza ::after para poder usar alt) */
.fase-illustration{
  position: absolute;
  right: -50px;
  top: -30px;
  width: 119px;
  height: 140px;
  object-fit: contain;
  pointer-events: none;
}

.primary-fase {
  background-color: #FFF7DF;
}

.primary-fase::after { 
  content: none;
}

.basic-fase {
  background-color: #FDEEEB;
}

.basic-fase::after {
  content: none;
}

.superior-fase {
  background-color: #EFF6F1;
}

.superior-fase::after {
  content: none;
}

.work-fase {
  background-color: #EFF2FC;
  font-size: calc(var(--text-base) * 1.25);
  padding-top: 10px;
  padding-bottom: 10px;
}

.work-fase::after {
  content: none;
}

/* Secciones adicionales */
.counters-section {
  text-align: center;
  justify-content: space-around;
  margin: var(--sp-x3) 0;
  font-size: var(--text-4xl);
}

.counters-section h2 {
  color: var(--color-primary);
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.625); /* 26px */
  line-height: 1.2;
  text-align: center;
  margin-bottom: var(--sp-x2);
}

.landing-areas {
  margin: var(--sp-x3) 0;
  padding: 0 15px;
  text-align: center;
}

.landing-areas h2 {
  color: var(--color-primary);
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.625);
  line-height: 1.2;
  text-align: center;
  margin-bottom: var(--sp-x2);
}

.landing-areas>.elements,
.landing-areas>.elements-2 {
  justify-content: center;
  margin-bottom: 30px;
  gap: 30px;
  flex-wrap: wrap;
}

/* Espacio extra en la primera fila para compensar el overflow de -55px de las imágenes */
.landing-areas>.elements {
  margin-top: 75px;
}

/* Card = fondo fuerte (detrás), sin overflow:hidden para que imagen sobresalga arriba */
.area-item {
  flex: 1 1 350px;
  max-width: 418px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(9, 67, 181, 0.12);
  position: relative;
}

/* Header zone: 103px visibles de fondo fuerte */
.area-card-header {
  height: 103px;
  flex-shrink: 0;
}

/* Imagen: sobresale 30px arriba del card (top:-30px), border-radius redondea sus esquinas superiores */
.area-card-header img {
  position: absolute;
  top: -55px;
  left: 0;
  width: 100%;
  height: 242px;
  object-fit: cover;
  display: block;
  z-index: 2;
  border-radius: 16px 16px 0 0;
}

/* Body = caja clara (z=1); padding-top=84 (=242-55-103) empuja texto bajo la imagen */
.area-card-body {
  position: relative;
  z-index: 1;
  flex: 1;
  padding: 84px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 10px;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}

.area-item h3 {
  color: var(--color-primary);
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.375);
  line-height: 1.2;
  text-align: left;
  margin: 0;
}

.area-item p {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: calc(var(--text-base) * 1.125);
  line-height: 1.5;
  color: #000000;
  margin: 0;
  flex: 1;
  text-align: left;
}

.area-item a {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.125);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-primary);
  background-color: var(--color-white);
  border: 1px solid var(--color-primary);
  border-radius: 25px;
  padding: 8px 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  white-space: nowrap;
}

.area-item a:focus {
  outline: 2px solid var(--color-neutral);
  outline-offset: 2px;
}

/* Fondo fuerte en el card completo */
.science-area  { background-color: #FFD7D7; }
.language-area { background-color: #E0E8F9; }
.habits-area   { background-color: #C5E8D7; }
.art-area      { background-color: #FEE697; }
.health-area   { background-color: #FFD7D7; }

/* Fondo claro en la caja de contenido */
.science-area  .area-card-body { background-color: #FEF6F6; }
.language-area .area-card-body { background-color: #F5F8FE; }
.habits-area   .area-card-body { background-color: #F0FAF5; }
.art-area      .area-card-body { background-color: #FEFEF0; }
.health-area   .area-card-body { background-color: #FEF6F6; }

/* ── Bottom row (Arte, Salud): layout horizontal ────────────────────── */
.landing-areas>.elements-2 {
  margin-top: 30px;
}

.landing-areas>.elements-2 .area-item {
  flex-direction: row;
  min-height: 255px;
  flex: 1 1 560px;
  max-width: 643px;
}

.landing-areas>.elements-2 .area-card-header {
  width: 225px;
  min-width: 225px;
  height: auto;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

/* Card bg = fuerte; body = claro con esquinas izq redondeadas (curva divisoria en lo claro) */
.landing-areas>.elements-2 .art-area    { background-color: #FEE697; }
.landing-areas>.elements-2 .health-area { background-color: #FFD7D7; }
.landing-areas>.elements-2 .art-area    .area-card-header { background-color: transparent; border-radius: 0; }
.landing-areas>.elements-2 .health-area .area-card-header { background-color: transparent; border-radius: 0; }
.landing-areas>.elements-2 .art-area    .area-card-body   { background-color: #FEFEF0; }
.landing-areas>.elements-2 .health-area .area-card-body   { background-color: #FEF6F6; }

.landing-areas>.elements-2 .area-card-header img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 2;
  border-radius: 0;
}

.landing-areas>.elements-2 .area-card-body {
  padding: 30px 24px 24px;
  border-radius: 16px 0 0 16px;
  justify-content: center;
  overflow: hidden;
}

.landing-areas>.elements-2 .area-item p {
  flex: 0 0 auto;
}


.resource-format-count {
  display: block;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: calc(14 * var(--global-base-font-size) / 16);
  line-height: 1.5;
  color: #4C4C4C;
  text-align: center;
  margin: 0;
}

.resource-format-counter-title {
  display: inline-block;
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.125); /* 18px */
  font-weight: 700;
  color: var(--color-primary);
  background-color: var(--color-white);
  border: 1px solid var(--color-primary);
  border-radius: 20px;
  padding: 0 20px;
  height: 35px;
  line-height: 33px;
  text-align: center;
  white-space: nowrap;
  margin: 0;
}

.howlearn-disclaimer {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(14 * var(--global-base-font-size) / 16);
  font-weight: 400;
  line-height: 1.5;
  color: #4C4C4C;
  text-align: center;
  margin-top: 16px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Estilos para el footer del sitio */
.site-footer {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  width: 100%;
  max-width: 1320px;
  padding-bottom: var(--sp-x5);
  margin-inline:auto;
  margin-top: var(--sp-x8);
  border: 1px solid #83a0da;
  border-radius: 10px 10px 0 0;
  background: #fff;
  overflow: hidden;
  text-align: left;
  font-family: 'Nunito Sans', sans-serif;
  height: auto;
  order: 4;
}

.site-footer::before {
  display: inline-block;
  background: url(/static/images/rework/logo-mineducacion.jpg) 50% 50%/contain no-repeat;
  width: 200px;
  height: 117px;
  grid-column: 5;
  grid-row: 2;
  content: "";
  display: block;
  margin-top: var(--sp-x6);
}

/* Navegación del mapa del sitio */
.site-footer .sitemap-nav {
  grid-column: 2/span 4;
  grid-row: 1;
  display: grid;
  grid-template-columns: subgrid;
  grid-auto-flow: dense;
  gap: 10px 20px;
  padding-right: var(--sp-x6);
  padding-block:var(--sp-x3);
  background-color: #f3f7fd;
  color: var(--color-primary);
}

.site-footer .sitemap-nav h2 {
  grid-row: 1;
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: var(--sp-x2);
}

.site-footer .sitemap-nav ul {
  grid-row: 2;
}

.site-footer .sitemap-nav a {
  display: block;
  font-size: var(--text-sm);
  padding: calc(var(--sp-unit) * 1.5) 0;
  text-decoration: none;
  color: var(--color-black);
}

.site-footer .sitemap-nav a:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.site-footer .sitemap-nav a:not(:hover) {
  text-decoration: none;
}

/* Sección de dirección */
.site-footer address {
  grid-column: 1/span 4;
  grid-row: 2;
  padding-top: var(--sp-x6);
  padding-left: var(--sp-x6);
  margin-top: 20px;
  line-height: 1.5;
  font-size: var(--text-base);
}

.site-footer address h2 {
  font-size: var(--text-2xl);
  font-weight: 700;
  color: var(--color-primary);
  width: 99%;
}

.site-footer address p span:nth-child(odd) {
  font-weight: 700;
}

.site-footer address a {
  color: var(--color-primary);
  font-weight: 700;
}

.site-footer address a:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Navegación simple (social y adicional) */
.site-footer .simple-nav {
  padding-left: var(--sp-x6);
}

.site-footer .simple-nav ul {
  display: flex;
  gap: 1em;
}

.site-footer .simple-nav a {
  color: var(--color-primary);
}

.site-footer .simple-nav a:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Navegación de redes sociales */
.site-footer .social-nav {
  grid-column: 1/span 5;
  grid-row: 3;
  margin-top: var(--sp-x3);
  font-size: var(--text-base);
}

.site-footer .social-nav a::before {
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "";
  vertical-align: middle;
  margin-inline-end:0.25em;
  background: 50% 50%/contain no-repeat;
}

.site-footer .social-nav a[href*="facebook.com"]::before { background-image: url(/static/images/rework/icon-facebook.svg); }
.site-footer .social-nav a[href*="instagram.com"]::before { background-image: url(/static/images/rework/icon-instagram.svg); }
.site-footer .social-nav a[href*="x.com"]::before { background-image: url(/static/images/rework/icon-x.svg); }
.site-footer .social-nav a[href*="youtube.com"]::before { background-image: url(/static/images/rework/icon-youtube.svg); }
.site-footer .social-nav a[href*="linkedin.com"]::before { background-image: url(/static/images/rework/icon-linkedin.svg); }

/* Navegación adicional */
.site-footer .additional-nav {
  grid-column: 1/span 5;
  font-size: var(--text-base);
  grid-row: 4;
  margin-top: var(--sp-x3);
}

/* Texto de derechos de autor */
.site-footer .copy-colombia-aprende {
  font-size: var(--text-base);
  grid-column: 1;
  grid-row: 1;
  padding-left: var(--sp-x6);
  font-weight: 700;
  padding-block:var(--sp-x3);
  background-color: #f3f7fd;
}

.site-footer .copy-colombia-aprende a {
  display: inline-block;
  background: url(/static/images/rework/logo-colombia-aprende.png) 50% 50%/contain no-repeat;
  width: 150px;
  height: 44px;
  display: block;
  font-size: 0;
  margin-top: var(--sp-unit);
}

.page-content-wrapper{
  min-height: 100vh;
  padding-bottom: 70px;
  position: relative;
  background: linear-gradient(to top, var(--color-primary) 0 70px, #b43737 70px 600px, transparent 600px);
}

main.page-content {
  min-height: 100vh;
}

/* Logo del background convertido en enlace */
.govco-footer-logos {
  position: absolute;
  left: var(--sp-unit);
  bottom: 0;
  height: 70px;
  display: flex;
  align-items: center;
  z-index: 2;
}

.govco-footer-logos img {
  display: block;
}

.govco-footer-logos .divider {
  width: 1px;
  height: 32px;
  background-color: white;
  margin: 0 16px;
}

.set-contrast{
  filter: invert(1);
  background-color: #fff;
}

@media only screen and (max-width: 1100px) {
  @media (min-width: 481px) {
    .counters-section {
      max-width: 600px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }
  /* Fix iOS horizontal scroll bug during transform */
  .landing-banner {
    width: 100% !important;
    overflow: hidden !important;
    position: relative;
    box-sizing: border-box;
  }

  /* Wrapper: restaurar para clip en iOS */
  .landing-carousel-wrapper {
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
  }

  /* Carrusel: overflow:hidden + border-radius del CSS desktop siguen activos.
     iOS fix con translateZ. La slide extiende 491px = altura total del card. */
  .landing-carousel {
    transform: translateZ(0);
    width: 100% !important;
    overflow: hidden !important;
  }

  .landing-slide {
    height: 450px !important;
    min-height: auto !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .landing-slide-content {
    flex-direction: column !important;
    height: 394px !important;
    min-height: 0 !important;
    max-height: 394px !important;
    padding: 10px 16px 0 !important;
    gap: 4px !important;
    align-items: flex-start !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .landing-slide::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 56px;
    background-color: inherit;
    border-top: 1px solid rgba(0, 0, 0, 0.18);
    z-index: 5;
    pointer-events: none;
  }
  
  .landing-slide-content::before {
    display: none !important;
  }

  .landing-slide-btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }

  .landing-slide-btn-placeholder {
    display: inline-flex;
    align-items: center;
    gap: calc(12 * var(--banner-unit));
    padding: calc(12 * var(--banner-unit)) calc(24 * var(--banner-unit));
    font-size: calc(16 * var(--banner-unit));
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
    min-height: 48px;
    visibility: hidden;
    pointer-events: none;
    flex-shrink: 0;
  }

  .landing-slide-text {
    flex: 0 0 auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    gap: 8px !important;
  }

  .landing-slide-image {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100px !important;
    max-height: none !important;
    justify-content: center;
    overflow: hidden;
    align-self: center;
    margin-top: auto !important;
    margin-bottom: 0 !important;
  }

  .landing-slide-image img {
    height: 100%;
    width: 100%;
    max-width: none;
    object-fit: contain !important;
    object-position: center bottom;
    display: block;
    margin: 0 auto;
  }

  @media (min-width: 600px) {
    .landing-banner {
      width: calc(100% - 64px) !important;
      margin: 32px auto !important;
      border-radius: 16px;
    }
    .landing-slide {
      height: 600px !important;
      max-height: none !important; 
    }
    .landing-slide-content {
      height: 544px !important;
      max-height: 544px !important;
      padding: 32px 48px 0 !important;
    }
    .landing-slide-image {
      max-height: none !important; 
      margin-bottom: 0 !important;
    }
    .landing-slide-title {
      font-size: 32px !important;
    }
    .landing-slide-desc {
      font-size: 18px !important;
    }
  }

  .landing-slide-title {
    font-size: calc(24 * var(--global-base-font-size) / 16);
    font-weight: 700;
    line-height: 1.2;
    color: #0943B5;
  }

  .landing-slide-desc {
    font-family: 'Nunito Sans', sans-serif;
    font-size: calc(14 * var(--global-base-font-size) / 16);
    font-weight: 400;
    line-height: 1.5;
    color: #222222;
  }

  /* Controles superpuestos en los últimos 56px del slide (azul).
     bottom relativo a .landing-carousel (height auto = 491px de la slide) */
  .landing-carousel-prev {
    top: auto;
    bottom: 12px;
    left: 16px;
    width: 32px !important;
    height: 32px !important;
    transform: none;
    background: url("/static/images/rework/Banner/ButtonH.svg") center / contain no-repeat !important;
  }

  .landing-carousel-next {
    top: auto;
    bottom: 12px;
    right: 16px;
    width: 32px !important;
    height: 32px !important;
    transform: scaleX(-1);
    background: url("/static/images/rework/Banner/ButtonH.svg") center / contain no-repeat !important;
  }

  .landing-carousel-bottom {
    bottom: 12px;
    left: 60px;
    height: 32px;
    display: flex;
    align-items: center;
  }

  .landing-carousel-indicators {
    bottom: 22px;
  }

  .landing-slide-main-title {
    font-size: var(--text-2xl);
    margin: 0;
    padding: 0 var(--sp-x3);
  }
  .landing-slide-main-subtitle {
    font-size: var(--text-base);
    margin: 0;
    padding: 0 var(--sp-x3);
  }
  .landing-banner-illustration--right {
    display: none;
  }
  .landing-banner-illustration--left {
    position: relative;
    width: 80%;
    height: 200px;
    top: auto;
    left: auto;
  }
  .landing-featured {
    padding: var(--sp-x3);
  } 
  .landing-education-fase,
  .landing-joinus {
    margin: var(--sp-x4) 16px;
  }
  
  /* Contenedor: permitir que ilustración sobresalga */
  .content-education-fase {
    overflow: visible;
    padding: 32px 0 50px;
  }

  .content-education-fase h2 {
    max-width: 292px;
    margin: 0 auto 32px;
    font-size: calc(26 * var(--global-base-font-size) / 16);
    line-height: 1.2;
  }

  .images-education-fase {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    gap: 50px;
    width: 100%;
  }

  .primary-fase,
  .basic-fase,
  .superior-fase,
  .work-fase {
    font-family: 'Nunito Sans', sans-serif;
    font-size: calc(24 * var(--global-base-font-size) / 16);
    font-weight: 700;
    line-height: 1.1;
    color: #222222;
    position: relative;
    display: flex;
    align-items: center;
    flex: none;
    width: 280px;
    height: auto;
    min-height: 120px;
    margin: 0;
    padding: 24px 90px 24px 32px;
    overflow: visible;
    box-sizing: border-box;
  }

  /* Último card: texto más largo → fuente más pequeña y crece en alto */
  .work-fase {
    font-size: calc(18 * var(--global-base-font-size) / 16);
    padding: 20px 90px 20px 24px;
    min-height: 120px;
  }

  /* Imagen desde abajo, sobresale arriba y un poco a la derecha */
  .fase-illustration {
    position: absolute !important;
    width: 130px;
    height: 150px;
    right: -40px;
    bottom: 0;
    top: auto;
    object-fit: contain;
    pointer-events: none;
  }

  @media (min-width: 481px) and (max-width: 1100px) {
    .images-education-fase,
    .landing-areas>.elements, 
    .landing-areas>.elements-2 {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      gap: 48px 30px;
    }
    .images-education-fase {
      gap: 48px 40px;
      transform: translateX(-20px);
    }
    .landing-education-fase,
    .landing-areas,
    .landing-featured .content-pwa,
    .landing-banner,
    .landing-joinus,
    .site-footer {
      max-width: 740px !important;
      margin-left: auto !important;
      margin-right: auto !important;
      border-radius: 16px;
    }
    .landing-banner {
      width: 100% !important;
      overflow: hidden !important;
      box-sizing: border-box;
    }
    .primary-fase,
    .basic-fase,
    .superior-fase,
    .work-fase {
      width: 310px;
    }
  }

  @media (max-width: 480px) {
    .images-education-fase,
    .landing-areas>.elements, 
    .landing-areas>.elements-2 {
      flex-direction: column;
    }
    .primary-fase,
    .basic-fase,
    .superior-fase,
    .work-fase {
      width: 260px;
      padding: 20px 80px 20px 24px;
      font-size: calc(22 * var(--global-base-font-size) / 16);
    }
    .work-fase {
      font-size: calc(17 * var(--global-base-font-size) / 16);
      padding: 16px 80px 16px 20px;
    }
    .fase-illustration {
      width: 110px;
      height: 130px;
      right: -30px;
    }
  }


  /* Cards principales (elements): 317×353px según Figma */
  .landing-areas>.elements {
    margin-top: 0;
    align-items: center;
  }

  .landing-areas>.elements .area-item {
    flex: none;
    width: 100%;
    max-width: 325px;
  }

  .landing-areas>.elements .area-card-header {
    height: 230px;
    position: relative;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
  }

  /* Imagen contenida en el header, sin overflow arriba */
  .landing-areas>.elements .area-card-header img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
  }

  /* Body sin el padding-top de 84px del escritorio */
  .landing-areas>.elements .area-card-body {
    padding: 24px;
    border-radius: 0 0 16px 16px;
  }

  /* Cards segunda fila (elements-2): 317×482px según Figma */
  .landing-areas>.elements-2 {
    align-items: center;
  }

  .landing-areas>.elements-2 .area-item {
    flex: none;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    max-width: 325px;
    height: 482px;
  }

  .landing-areas>.elements-2 .area-card-header {
    position: relative;
    width: 100%;
    min-width: 0;
    height: 230px;
    flex-shrink: 0;
    align-self: auto;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
  }

  /* Imagen vertical (122×227): contain para mostrar completa con fondo de color */
  .landing-areas>.elements-2 .area-card-header img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
  }

  .landing-areas>.elements-2 .area-card-body {
    padding: 24px;
    border-radius: 0 0 16px 16px;
    justify-content: flex-start;
  }

  /* Mobile: colores iguales a tarjetas normales (header = fuerte, body = claro) */
  .landing-areas>.elements-2 .art-area    { background-color: #FEFEF0; }
  .landing-areas>.elements-2 .health-area { background-color: #FEF6F6; }
  .landing-areas>.elements-2 .art-area    .area-card-header { background-color: #FEE697; border-radius: 16px 16px 0 0; }
  .landing-areas>.elements-2 .health-area .area-card-header { background-color: #FFD7D7; border-radius: 16px 16px 0 0; }
  .landing-areas>.elements-2 .art-area    .area-card-body   { background-color: #FEFEF0; }
  .landing-areas>.elements-2 .health-area .area-card-body   { background-color: #FEF6F6; }

  /* Botón "Ver recursos": 269×42px en móvil */
  .area-item a {
    width: 269px;
    height: 42px;
    box-sizing: border-box;
    justify-content: center;
  }

  .primary-fase::after,
  .basic-fase::after,
  .superior-fase::after,
  .work-fase::after {
    right: -30px;
    top: -30px;
    width: 100px;
    height: 100px;
  }

  .landing-areas>.elements, .landing-areas>.elements-2 {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }

  .howlearn {
    gap: 12px;
  }

  .resource-format-counter-container {
    flex: 0 0 155px;
    width: 155px;
    height: 260px;
  }

  .resource-format-counter-container .bc-link {
    padding: 16px 12px;
  }

  .format-card-img {
    width: 102px;
    height: 121px;
  }



  .landing-joinus{
    padding: 100px 0 0 0;
  }

  .joinus-content{
    padding: 180px 30px 40px;
    min-height: auto;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .joinus-content h1 { 
    font-size: var(--text-base);
    text-align: center;
  }
  .joinus-content h2 {
    font-size: var(--text-base);
    margin: 10px 0 0;
    text-align: center;
  } 
  
  .joinus-content a {
    font-size: var(--text-sm);
    margin-top: 20px;
    align-self: center;
  }

  .joinus-content::before{
    content: none;
  }

  .joinus-illustration{
    top: -120px;
    width: 300px;
    height: 300px;
    left: 50%;
    transform: translateX(-50%);
    object-position: center bottom;
  }
  .page-content-wrapper {
      background: linear-gradient(to top, var(--color-primary) 0 70px, #b43737 70px 1500px, transparent 1500px);
  }
  .govco-footer-logos {
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      justify-content: center;
      transform: none;
  }

  /* ── Footer mobile: single-column stack ── */
  .site-footer {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      width: calc(100% - 32px);
      margin-inline: auto;
      border: 1px solid #83a0da;
      border-radius: 10px 10px 0 0;
      margin-top: var(--sp-x4);
      padding-bottom: var(--sp-x3);
      overflow: hidden;
  }

  /* 1 · "Una plataforma de" + logo Colombia Aprende */
  .site-footer .copy-colombia-aprende {
      grid-column: 1;
      grid-row: 1;
      padding: 44px 16px 20px 16px;
      text-align: left;
      font-size: 18px;
      font-weight: 700;
      color: #4C4C4C;
  }
  .site-footer .copy-colombia-aprende a {
      width: 288px;
      height: 44px;
      margin-top: 10px;
      background-position: left center;
  }

  /* 2 · Sitemap nav: all sections stacked */
  .site-footer .sitemap-nav {
      grid-column: 1;
      grid-row: 2;
      display: block;
      padding: 0 16px 24px 16px;
  }
  .site-footer .sitemap-nav h2 {
      margin-top: 24px;
      margin-bottom: 16px;
      font-size: 18px;
      font-weight: 700;
      color: #0943B5;
  }
  .site-footer .sitemap-nav h2:first-of-type {
      margin-top: 0;
  }
  .site-footer .sitemap-nav ul {
      grid-row: auto;
      display: flex;
      flex-direction: column;
      gap: 10px;
  }
  .site-footer .sitemap-nav a {
      font-size: 14px;
      font-weight: 400;
      padding: 0;
      text-decoration: none;
      color: #000000;
  }
  .site-footer .sitemap-nav a[href^="http"] {
      text-decoration: underline !important;
  }

  /* 3 · Address: Ministerio de Educación Nacional */
  .site-footer address {
      grid-column: 1;
      grid-row: 3;
      padding: var(--sp-x4) 16px 44px;
      text-align: center;
  }
  .site-footer address h2 {
      font-size: 22px;
      text-align: center;
      width: 100%;
  }
  .site-footer address>h2::after {
      background: url(/static/images/rework/logo-mineducacion.jpg) 50% 50%/contain no-repeat;
      height: 90px;
      content: "";
      display: block;
      margin: var(--sp-x2) auto 0;
  }
  .site-footer address p {
      text-align: left;
  }
  .site-footer address p span,
  .site-footer address p a {
      font-size: var(--text-xs);
  }
  .site-footer address p span {
      display: inline;
  }

  /* 4 · Social nav: stacked vertically with icons */
  .site-footer .social-nav {
      grid-column: 1;
      grid-row: 4;
      display: block;
      padding: 0 16px;
  }
  .site-footer .social-nav ul {
      flex-direction: column;
      gap: 0.5em;
  }
  .site-footer .social-nav a {
      font-size: 14px;
      color: #0943B5 !important;
      text-decoration: underline !important;
  }
  .site-footer .social-nav a::before {
      width: 24px;
      height: 24px;
  }

  /* 5 · Additional nav: inline horizontal */
  .site-footer .additional-nav {
      grid-column: 1;
      grid-row: 5;
      padding: var(--sp-x2) 16px var(--sp-x4);
  }
  .site-footer .additional-nav ul {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap;
      gap: 0.75em 1.5em;
  }
  .site-footer .additional-nav a {
      font-size: 14px;
      font-weight: 700;
      color: #0943B5 !important;
      text-decoration: underline !important;
  }

  /* 6 · Simple nav shared reset */
  .site-footer .simple-nav {
      padding-left: var(--sp-x3);
  }

  /* Sitemap: ensure left alignment */
  .site-footer .sitemap-nav,
  .site-footer .sitemap-nav h2,
  .site-footer .sitemap-nav ul,
  .site-footer .sitemap-nav li {
      text-align: left;
  }

  /* Hide the desktop ::before logo (shown via address h2::after instead) */
  .site-footer::before {
      display: none;
  }

  /* ===== COLLECTIONS SECTION MOBILE ===== */

  /* Breadcrumb */
  .section-breadcrumb {
    padding-left: 16px;
    padding-right: 16px;
    font-size: calc(14 * var(--global-base-font-size) / 16);
  }

  /* Banner */
  .section-banner {
    height: calc(110 * var(--global-layout-unit));
    padding: 0 calc(16 * var(--global-layout-unit));
    gap: calc(16 * var(--global-layout-unit));
    margin-top: calc(12 * var(--global-layout-unit));
  }
  .section-banner__image {
    width: calc(100 * var(--global-layout-unit));
    height: calc(110 * var(--global-layout-unit));
    margin-left: calc(-8 * var(--global-layout-unit));
  }
  .section-banner__title {
    /* Figma: Heading/Mobile/H2 — 22px, Bold, #0943B5, lh 120% */
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #0943B5 !important;
    letter-spacing: 0 !important;
  }
  .section-banner__subtitle {
    /* Figma: Heading/Desktop/H6 — 16px, Bold, #444444, lh 140% */
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #444444 !important;
    letter-spacing: 0 !important;
  }

  /* Top bar */
  .collections-top-bar {
    padding: 0 16px;
    gap: 8px;
  }
  /* Toggle Recurso/Agrupación se oculta del top bar (vive en el drawer) */
  .filter-panel__type-toggle {
    display: none;
  }
  /* Quitar el padding-left que compensaba la sidebar */
  .collections-results-count {
    padding-left: 0;
  }

  /* Page wrapper: columna en mobile */
  .collections-page-wrapper {
    flex-direction: column;
    padding: 0 16px calc(24 * var(--global-layout-unit));
    gap: 0;
  }

  /* Grid: 1 columna */
  .collections-grid {
    grid-template-columns: 1fr;
    gap: calc(16 * var(--global-layout-unit));
  }

  /* Tarjeta: alto auto, ajustar padding y fuentes */
  .collection-card {
    height: auto;
  }
  .collection-card__body {
    padding: calc(12 * var(--global-layout-unit));
  }
  .collection-card__title {
    font-size: calc(18 * var(--global-base-font-size) / 16);
  }
  .collection-card__description {
    font-size: calc(16 * var(--global-base-font-size) / 16);
    -webkit-line-clamp: 4;
  }

  /* Paginación */
  .collections-pagination {
    margin-top: calc(16 * var(--global-layout-unit));
    padding: calc(8 * var(--global-layout-unit)) 0;
    gap: calc(6 * var(--global-layout-unit));
    flex-wrap: wrap;
  }

  /* ABC filter: padding lateral con !important para sobrescribir el <style> inline del template */
  .collections-abc-filter {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

}

@media (min-width: 768px) and (max-width: 1099px) {
  .collections-grid {
    grid-template-columns: repeat(2, 316px);
    justify-content: center;
    gap: calc(24 * var(--global-layout-unit));
  }

  .collections-grid > li {
    width: 316px;
    max-width: 100%;
  }
  .collection-card {
    width: 316px;
    max-width: 100%;
    height: auto;
    min-height: calc(522 * var(--global-layout-unit));
  }

  .collections-page-wrapper {
    padding: 0 20px calc(24 * var(--global-layout-unit));
  }
}

.row{
  margin-left: 0;
  margin-right: 0;
}
/* Estilos para tarjetas de colección */
.card-collec{
  border-color:#B5C7E9;
  border-width: 1px;
  border-style: solid;
  border-radius: 16px;
}
.card-collec a{
  display: flex;
}

.collect-img{
  border-radius: 16px 16px 0 0;
}

.card-body{
  border-top: var(--color-black) 1px solid;
}

/* Área de etiquetas */
.tag-area{
  display: flex;
}

.tag-item{
  background-color: #f4f4f4;
  border-radius: 16px;
  padding: 4px 8px;
  color: var(--color-neutral);
  font-size: var(--text-base);
}

/* Título del enlace en la tarjeta */
h5.link-pwa {
  font-size: var(--text-lg);
  /* Permitir hasta 3 líneas y truncar con "…" */
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  min-height: calc(var(--text-lg) * 3 + var(--text-lg));
  margin: 10px 0;
  font-family: 'Nunito Sans', sans-serif;
  text-align: left;
  font-weight: bold;
  letter-spacing: 0;
  color: var(--color-primary);
  opacity: 1;
}

/* Contador de recursos */
.resources-count{
  text-align: left;
  color: var(--color-neutral);
  font-size: var(--text-base);
}

/* Colección de texto */
.text-collec{
  font-size: var(--text-base);
  color: var(--color-primary);
  text-align: left;
  gap: 10px;
  display: flex;
  font-weight: bold;
  margin-top: 40px;
  align-items: center;
}
.text-collec a{
  color: var(--color-primary);
}

.text-collec>span{
  text-decoration: underline;
}

/* Texto concatenado/truncado */
.text-concat {
  position: relative;
  display: inline-block;
  word-wrap: break-spaces;
  overflow: hidden;
  max-height: calc(var(--text-base) *1.5 * 3); /* (Number of lines you want visible) * (line-height) */
  font-size: var(--text-base);
  line-height: calc(var(--text-base)* 1.5);
  text-align: left;
  font-family: 'Nunito Sans', sans-serif;
  color: black;
  opacity: 1;
}

/* Estrellas de puntuación */
.stars-pwa {
  color: var(--color-primary);
  text-align: left;
  font-family: 'Nunito Sans', sans-serif;
  font-size: var(--text-sm);
  font-weight: bold;
  letter-spacing: 0;
  opacity: 1;
  margin-left: 10px;
}

.stars-icon-pwa {
  display: flex;
  margin: 15px 0;
}

/* Contenedor de objeto de PWA */
.objeto-pwa {
  padding: 0 0 0 0;
}



.landing-featured .card-collec-rework {
  width: 100%;
  max-width: 316px;
  min-height: 523px;
  background: #FFFFFF;
  border: 1px solid #E6E6E6;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
}

.landing-featured .card-collec-rework:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: box-shadow 0.2s ease-in-out;
}

.landing-featured .card-collec-img-link {
  display: block;
  overflow: hidden;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.landing-featured .card-collec-rework-img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.landing-featured .card-collec-img-placeholder {
  display: none !important;
}

.landing-featured .card-collec-rework-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.landing-featured .card-collec-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #F4F4F4;
  border-radius: 16px;
  padding: 4px 8px;
  width: fit-content;
  color: #4C4C4C;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: calc(var(--text-base) * 0.875) !important;
  line-height: 1.5;
}

.landing-featured .card-collec-title {
  color: #0943B5;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.375) !important;
  line-height: 1.2;
  margin-bottom: 8px;
  margin-top: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.landing-featured .card-collec-title-link:hover .card-collec-title {
  text-decoration: underline;
}

.landing-featured .card-collec-resources-count {
  color: #4C4C4C;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: calc(var(--text-base) * 0.875) !important;
  line-height: 1.5;
  margin-bottom: 8px;
}

.landing-featured .card-collec-stars {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 12px;
}
.landing-featured .card-collec-stars i {
  font-size: var(--text-base) !important;
}

.landing-featured .card-collec-stars-text {
  color: #0943B5;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.125) !important;
  margin-left: 4px;
}

.landing-featured .card-collec-description {
  color: #000000;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: calc(var(--text-base) * 1.125) !important;
  line-height: 1.5;
  margin-bottom: 16px;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.landing-featured .card-collec-format {
  display: inline-flex;
  align-items: center;
  background-color: #ECF2FF;
  border-radius: 16px;
  padding: 4px 8px;
  gap: 5px;
  width: fit-content;
  color: #0943B5;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 400;
  font-size: calc(var(--text-base) * 0.875) !important;
  line-height: 1.5;
  margin-top: 8px;
  margin-bottom: 0;
}
.landing-featured .card-collec-format img {
  width: 16px;
  height: 16px;
}

.landing-featured .card-collec-spacer {
  display: block;
  flex: 1;
  min-height: 16px;
}

.landing-featured .card-collec-link {
  color: #0943B5;
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.125) !important;
  line-height: 1.5;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}
.landing-featured .card-collec-link-text {
  text-decoration: underline;
}
.landing-featured .card-collec-link:hover .card-collec-link-text {
  text-decoration: none;
}
.landing-featured .card-collec-link i {
  font-size: calc(var(--text-base) * 1.25) !important;
  text-decoration: none;
}

#featured-content-title {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  font-size: calc(var(--text-base) * 1.625) !important;
  line-height: 1.2;
  color: #0943B5;
  text-align: center;
  display: block;
  width: 100%;
  margin-top: 0;
  margin-bottom: 2em;
}

.btn-explore-collections {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75em 1.5em;
  font-family: 'Nunito Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: calc(var(--text-base) * 1.125) !important;
  line-height: 1.5;
  color: #0943B5 !important;
  border: 1px solid #0943B5 !important;
  border-radius: 25px;
  text-decoration: none;
  background-color: #FFFFFF;
  transition: all 0.2s ease-in-out;
}

.btn-explore-collections:hover {
  background-color: #ECF2FF;
  color: #0943B5;
  text-decoration: none;
}

.btn-explore-collections:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(9, 67, 181, 0.4);
}

/* ===== COLLECTIONS PAGE LAYOUT ===== */
.collections-top-bar {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1312px;
  margin: 0 auto 0;
  gap: calc(32 * var(--global-layout-unit));
}

.collections-page-wrapper {
  display: flex;
  gap: calc(32 * var(--global-layout-unit));
  width: 100%;
  max-width: 1312px;
  margin: 0 auto;
  padding: 0 0 calc(32 * var(--global-layout-unit)) 0;
  align-items: flex-start;
}

/* ===== FILTER PANEL ===== */
.filter-panel {
  flex: 0 0 260px;
  width: 260px;
  background: #fff;
}

.filter-panel__type-toggle {
  display: flex;
  flex: 0 0 260px;
  border-bottom: 1px solid #E0E0E0;
  padding: calc(12 * var(--global-layout-unit)) calc(16 * var(--global-layout-unit));
  gap: calc(24 * var(--global-layout-unit));
}

.filter-panel__type-toggle label {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--global-layout-unit));
  font-size: calc(16 * var(--global-base-font-size) / 16);
  font-weight: 400;
  color: #4C4C4C;
  cursor: pointer;
}

.filter-panel__type-toggle input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #B5C7E9;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}
.filter-panel__type-toggle input[type="checkbox"]:checked,
.filter-panel__type-toggle input[type="checkbox"]:checked:disabled {
  background: #0943B5;
  border-color: #0943B5;
  opacity: 1;
}
.filter-panel__type-toggle input[type="checkbox"]:checked::after,
.filter-panel__type-toggle input[type="checkbox"]:checked:disabled::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

.filter-accordion {
  border-bottom: 1px solid #E0E0E0;
}

.filter-accordion:last-child {
  border-bottom: none;
}

.filter-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: calc(12 * var(--global-layout-unit)) calc(16 * var(--global-layout-unit));
  font-size: calc(16 * var(--global-base-font-size) / 16);
  font-weight: 700;
  color: #4C4C4C;
  text-align: left;
  cursor: pointer;
  font-family: 'Nunito Sans', sans-serif;
}

.filter-accordion__trigger .chevron {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url('/static/images/rework/chevron-down.svg') center/contain no-repeat;
  transition: transform 0.2s;
  flex-shrink: 0;
}

.filter-accordion__trigger[aria-expanded="true"] .chevron {
  transform: rotate(180deg);
}

.filter-accordion__body {
  display: none;
  padding: 0 calc(16 * var(--global-layout-unit)) calc(16 * var(--global-layout-unit));
  flex-direction: column;
  gap: calc(10 * var(--global-layout-unit));
}

.filter-accordion__body.is-open {
  display: flex;
}

.filter-accordion__option {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--global-layout-unit));
  font-size: calc(14 * var(--global-base-font-size) / 16);
  color: #4C4C4C;
  cursor: pointer;
}

.filter-accordion__option input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #0943B5;
  flex-shrink: 0;
}

/* ===== CARD GRID AREA ===== */
.collections-grid-area {
  flex: 1;
  min-width: 0;
  min-height: calc(600 * var(--global-layout-unit));
  overflow: hidden;
}

.collections-results-count {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(16 * var(--global-base-font-size) / 16);
  color: #013B8F;
  display: flex;
  align-items: center;
  gap: calc(8 * var(--global-layout-unit));
  margin: 0;
  padding: calc(12 * var(--global-layout-unit)) 0 calc(12 * var(--global-layout-unit)) calc(32 * var(--global-layout-unit));
}

.collections-count-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: #013B8F;
  border-radius: 2px;
  flex-shrink: 0;
}

.collections-empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(400 * var(--global-layout-unit));
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(16 * var(--global-base-font-size) / 16);
  color: #8C8C8C;
}
.collections-empty-state p { margin: 0; }

.collections-abc-filter {
  margin-bottom: calc(20 * var(--global-layout-unit));
}

/* DESKTOP COLLECTIONS GRID (1100px+) */
@media (min-width: 1100px) {
  .collections-grid {
    display: grid;
    grid-template-columns: repeat(3, 316px);
    gap: calc(24 * var(--global-layout-unit));
    align-items: start;
    list-style: none;
    padding: 0;
    margin: 0;
  }
}

/* BASE COLLECTIONS GRID (all viewports) */
.collections-grid {
  display: grid;
  gap: calc(24 * var(--global-layout-unit));
  align-items: start;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ===== PAGINATION ===== */
.collections-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--global-layout-unit));
  width: 100%;
  margin: calc(24 * var(--global-layout-unit)) 0 0;
  padding: calc(16 * var(--global-layout-unit)) 0;
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(16 * var(--global-base-font-size) / 16);
}

.collections-pagination__nav {
  color: #0943B5;
  font-weight: 700;
  text-decoration: none;
  padding: 0 calc(4 * var(--global-layout-unit));
}
.collections-pagination__nav.disabled {
  color: #B5C7E9;
  cursor: default;
}

.collections-pagination__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(32 * var(--global-layout-unit));
  height: calc(32 * var(--global-layout-unit));
  border-radius: 6px;
  font-weight: 400;
  color: #4C4C4C;
  text-decoration: none;
  padding: 0 calc(6 * var(--global-layout-unit));
}
.collections-pagination__page.active {
  background: #0943B5;
  color: #fff;
  font-weight: 700;
}
.collections-pagination__page:not(.active):hover {
  background: #EFF2FC;
  color: #0943B5;
}

/* ===== COLLECTION CARD ===== */
.collection-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid #E0E0E0;
  background: #fff;
  transition: box-shadow 0.2s;
  text-decoration: none !important;
  color: inherit !important;
  width: 100%;
  height: auto;
  min-height: calc(522 * var(--global-layout-unit));
}

.collection-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}

.collection-card__image {
  width: 100%;
  height: calc(151.79 * var(--global-layout-unit));
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

.collection-card__image-placeholder {
  width: 100%;
  height: calc(151.79 * var(--global-layout-unit));
  background-color: #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9CA3AF;
  flex-shrink: 0;
}

.collection-card__body {
  padding: calc(16 * var(--global-layout-unit));
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--global-layout-unit));
  flex: 1;
  min-height: 0;
}

.collection-card__meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 * var(--global-layout-unit));
}

.collection-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.collection-card__rating-value {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(18 * var(--global-base-font-size) / 16);
  font-weight: 700;
  color: #013B8F;
  line-height: 1.5;
  letter-spacing: 0;
}

.collection-card__area-tag {
  font-size: calc(14 * var(--global-base-font-size) / 16);
  color: #4C4C4C;
  background: #F4F4F4;
  border-radius: 16px;
  padding: 4px 8px;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 70%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
}

.collection-card__title {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(22 * var(--global-base-font-size) / 16);
  font-weight: 700;
  color: #222222;
  line-height: 1.4;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.collection-card__count {
  font-size: calc(13 * var(--global-base-font-size) / 16);
  color: #4C4C4C;
}

.collection-card__description {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(18 * var(--global-base-font-size) / 16);
  font-weight: 400;
  color: #222222;
  line-height: 1.5;
  letter-spacing: 0;
  max-height: 9em;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.collection-card__spacer {
  display: block;
  flex: 1;
  min-height: 0;
}

.collection-card__tags-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 * var(--global-layout-unit));
  flex-wrap: wrap;
}

.collection-card__podcast-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(14 * var(--global-base-font-size) / 16);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
  color: #FCC3D4;
  background-color: #0943B5;
  border-radius: 16px;
  padding: 4px 8px;
  width: fit-content;
  margin: 0;
}

.collection-card__podcast-tag img {
  width: 16px;
  height: 16px;
}

.collection-card__format-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 0.875);
  font-weight: 400;
  line-height: 1.5;
  color: #0943B5;
  background-color: #ECF2FF;
  border-radius: 16px;
  padding: 4px 8px;
  width: fit-content;
  margin: 0;
}

.collection-card__format-tag img {
  width: 16px;
  height: 16px;
}

.collection-card__cta {
  font-family: 'Nunito Sans', sans-serif;
  font-size: calc(var(--text-base) * 1.125);
  font-weight: 700;
  color: #0943B5;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.5;
}

.collection-card__cta {
  text-decoration: none;
}

.collection-card__cta-text {
  text-decoration: underline;
}

.collection-card__cta:hover .collection-card__cta-text {
  text-decoration: none;
}

.collection-card__cta i {
  font-size: calc(var(--text-base) * 1.25);
  text-decoration: none;
}

/* ===== MOBILE COLLECTIONS — BASE (all viewports) ===== */
/* En desktop: drawer es wrapper transparente que contiene el aside sidebar */
.mobile-filter-drawer {
  flex: 0 0 260px;
  width: 260px;
}
/* En desktop: nunca mostrar el botón de filtros mobile */
.collections-mobile-filter-btn { display: none; }
/* En desktop: header y toggle del drawer siempre ocultos */
.mobile-filter-drawer__header { display: none; }
.mobile-filter-type-toggle { display: none; }
/* En desktop: backdrop nunca visible */
.mobile-filter-backdrop { display: none !important; }

@media (max-width: 1099px) {
  /* ===== TABLET & MOBILE FILTER DRAWER ===== */

  /* Botón "Filtros" en el top bar */
  .collections-mobile-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #0943B5;
    border-radius: 25px;
    padding: 6px 14px;
    background: none;
    color: #0943B5;
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    font-size: calc(14 * var(--global-base-font-size) / 16);
    cursor: pointer;
    margin-left: auto;
    flex-shrink: 0;
  }

  /* Backdrop semitransparente */
  .mobile-filter-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1000;
  }
  .mobile-filter-backdrop.is-open {
    display: block;
  }

  /* Drawer: full screen mobile */
  .mobile-filter-drawer {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 0;
    z-index: 10000;
    max-height: 100%;
    overflow-y: auto;
    padding: 20px 16px 32px;
  }
  .mobile-filter-drawer.is-open {
    display: block;
  }

  /* Header del drawer (Filtros / Limpiar todo / ×) */
  .mobile-filter-drawer__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 0;
  }
  .mobile-filter-drawer__title {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    font-size: calc(18 * var(--global-base-font-size) / 16);
    color: #222;
    flex: 1;
  }
  .mobile-filter-drawer__clear {
    color: #0943B5;
    font-family: 'Nunito Sans', sans-serif;
    font-size: calc(14px * var(--global-layout-unit));
    font-weight: 700;
    text-decoration: none;
  }
  .mobile-filter-drawer__close {
    background: none;
    border: none;
    font-size: calc(22 * var(--global-base-font-size) / 16);
    cursor: pointer;
    color: #4C4C4C;
    padding: 0 4px;
    line-height: 1;
  }

  /* Toggle Recurso/Agrupación dentro del drawer */
  .mobile-filter-type-toggle {
    display: flex;
    gap: 24px;
    padding: 12px 0;
    border-bottom: 1px solid #E0E0E0;
    margin-bottom: 8px;
  }
  .mobile-filter-type-toggle label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: calc(16 * var(--global-base-font-size) / 16);
    font-weight: 400;
    color: #4C4C4C;
    cursor: pointer;
    font-family: 'Nunito Sans', sans-serif;
  }
  .mobile-filter-type-toggle input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #B5C7E9;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
  }
  .mobile-filter-type-toggle input[type="checkbox"]:checked {
    background: #0943B5;
    border-color: #0943B5;
  }
  .mobile-filter-type-toggle input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
  }

  /* Dentro del drawer: el aside ya tiene sus estilos — solo override del display */
  .mobile-filter-drawer .filter-panel {
    display: block;
    width: 100%;
    flex: none;
  }
}

/* MOBILE ONLY (<768px) */
@media (max-width: 767px) {
  /* GRID DE TARJETAS EN MOBILE */
  .collections-grid {
    grid-template-columns: 1fr !important; /* 1 COLUMNA */
  }
}
