/* GEC visual revision — content integration pass */

:root {
  --gec-menu-hero-gap: 4.5rem;
}

/* ---------------------------------------------------------
   1. Consistent breathing room below the main navigation
   --------------------------------------------------------- */
.gec-programas-hero,
.gec-conferencias-hero,
.gec-libros-hero,
.gec-recursos-hero,
.gec-conversamos-hero {
  padding-top: var(--gec-menu-hero-gap) !important;
}

.gec-gissela-hero__inner {
  padding-top: var(--gec-menu-hero-gap) !important;
}

.gec-home-hero__content {
  padding-top: var(--gec-menu-hero-gap) !important;
}

@media (max-width: 700px) {
  :root {
    --gec-menu-hero-gap: 3.5rem;
  }
}

/* ---------------------------------------------------------
   2. Home courses — more compact editorial cards
   --------------------------------------------------------- */
.gec-home-courses .gec-programas-grid {
  gap: 1.4rem !important;
}

.gec-home-courses .gec-card--program {
  min-height: 0 !important;
}

.gec-home-courses .gec-card--program .gec-card__media {
  height: 205px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
}

.gec-home-courses .gec-card--program .gec-card__media img,
.gec-home-courses .gec-card--program .gec-media-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gec-home-courses .gec-card--program .gec-card__body {
  min-height: 235px;
  padding: 1.25rem 1.35rem 1.35rem !important;
}

@media (max-width: 700px) {
  .gec-home-courses .gec-card--program .gec-card__media {
    height: 170px !important;
  }

  .gec-home-courses .gec-card--program .gec-card__body {
    min-height: 0;
  }
}

/* ---------------------------------------------------------
   3. Books — covers only
   --------------------------------------------------------- */
.gec-book-covers {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 220px)) !important;
  gap: clamp(1.75rem, 5vw, 4rem) !important;
  align-items: end;
  justify-content: start;
}

.gec-home-books .gec-book-covers {
  grid-template-columns: repeat(2, minmax(0, 185px)) !important;
}

.gec-libros-catalogo--covers {
  padding-block: clamp(4.25rem, 7vw, 6.5rem) !important;
}

.gec-libros-catalogo--covers .gec-book-covers {
  grid-template-columns: repeat(2, minmax(0, 250px)) !important;
  gap: clamp(2.25rem, 6vw, 5rem) !important;
}

.gec-book-cover {
  display: block !important;
  width: 100%;
  color: inherit;
  text-decoration: none;
  line-height: 0;
  transition: transform .25s ease, filter .25s ease;
}

.gec-book-cover > img,
.gec-book-cover > .gec-media-placeholder {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 2px !important;
  box-shadow: 0 16px 34px rgba(32,52,60,.12);
  background: var(--gec-crema);
}

.gec-book-cover:hover {
  opacity: 1;
  transform: translateY(-6px) scale(1.012);
  filter: saturate(1.03);
}

.gec-book-cover:focus-visible {
  outline: 2px solid var(--gec-agua);
  outline-offset: 7px;
}

@media (max-width: 650px) {
  .gec-book-covers,
  .gec-home-books .gec-book-covers,
  .gec-libros-catalogo--covers .gec-book-covers {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.2rem !important;
  }
}

/* ---------------------------------------------------------
   4. Minimal testimonial slider
   --------------------------------------------------------- */
.gec-testimonials-slider {
  width: min(100%, 760px);
}

.gec-testimonials-slider__track {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  border-radius: 20px;
}

.gec-testimonials-slider__track::-webkit-scrollbar {
  display: none;
}

.gec-testimonials-slider__slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  min-height: 215px !important;
  padding: clamp(1.6rem, 3vw, 2.15rem) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  background: rgba(255,255,255,.72) !important;
}

.gec-testimonials-slider__slide .gec-quote__text {
  max-width: 58ch;
}

.gec-testimonials-slider__nav {
  display: flex;
  gap: .55rem;
  margin-top: 1.1rem;
}

.gec-testimonials-slider__nav button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid var(--gec-agua);
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  transition: width .2s ease, background-color .2s ease, transform .2s ease;
}

.gec-testimonials-slider__nav button:hover {
  transform: translateY(-1px);
}

.gec-testimonials-slider__nav button[aria-current="true"] {
  width: 25px;
  background: var(--gec-agua);
}

/* ---------------------------------------------------------
   5. About accordion — no gradient/no focus box
   --------------------------------------------------------- */
.gec-accordion summary {
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: none !important;
}

.gec-accordion summary:hover {
  padding-left: 0 !important;
  background: transparent !important;
}

.gec-accordion summary strong {
  transition: color .2s ease;
}

.gec-accordion summary:hover strong,
.gec-accordion[open] summary strong {
  color: var(--gec-agua);
}

.gec-accordion summary:focus,
.gec-accordion summary:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.gec-accordion summary:focus-visible strong {
  color: var(--gec-agua);
}

/* Sobre mí — apertura más suave de los desplegables */
.gec-accordion[open] > .gec-accordion__content {
  animation: gecAccordionReveal .32s cubic-bezier(.22, .61, .36, 1) both;
  transform-origin: top;
}

@keyframes gecAccordionReveal {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gec-accordion[open] > .gec-accordion__content {
    animation: none;
  }
}

/* ---------------------------------------------------------
   6. Courses — order + paths as direct questions
   --------------------------------------------------------- */

/* Keep LIBERARTE on the left and La Familia on the right
   everywhere the shared programs grid is used (Home + Cursos). */
.gec-programas-grid > .gec-card--program:has(a[href*="/programas/liberarte/"]) {
  order: 1;
}

.gec-programas-grid > .gec-card--program:has(a[href*="/programas/la-familia-primera-escuela/"]) {
  order: 2;
}

.gec-programas-path__content > strong {
  display: inline-block;
  margin-top: .75rem;
  color: var(--gec-agua);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gec-programas-path:hover .gec-programas-path__content h3 {
  color: var(--gec-agua);
}

/* ---------------------------------------------------------
   7. Conversamos — newsletter in second card
   --------------------------------------------------------- */
.gec-contact-card--newsletter {
  background: var(--gec-menta);
}

.gec-contact-card--newsletter .gec-mini-newsletter {
  display: grid;
  gap: .8rem;
  margin-top: .25rem;
}

.gec-mini-newsletter label {
  display: grid;
  gap: .3rem;
}

.gec-mini-newsletter label span {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gec-agua);
}

.gec-mini-newsletter input {
  width: 100%;
  box-sizing: border-box;
  min-height: 46px;
  padding: 0 .9rem;
  border: 1px solid var(--gec-border);
  border-radius: 12px;
  background: rgba(255,255,255,.8);
  color: var(--gec-tinta);
  font: inherit;
  outline: none;
  transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}

.gec-mini-newsletter input:focus {
  border-color: var(--gec-agua);
  background: #fff;
  transform: translateY(-1px);
}

.gec-mini-newsletter button {
  min-height: 46px;
  margin-top: .2rem;
  padding: 0 1.15rem;
  border: 0;
  border-radius: 999px;
  background: var(--gec-petroleo);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease;
}

.gec-mini-newsletter button:hover {
  transform: translateY(-2px);
  background: var(--gec-agua);
}

/* WordPress may wrap shortcode output in a paragraph. Let the form controls
   participate in the existing grid as if that wrapper did not exist. */
.gec-newsletter__form > p,
.gec-mini-newsletter > p {
  display: contents;
}

.gec-contact-card--newsletter .gec-contact-card__text {
  margin-bottom: .9rem;
}

/* Keep the hero/page section sequence visually tight and predictable. */
.gec-home-main > *,
.gec-gissela-main > *,
.gec-programas-page > *,
.gec-libros-page > *,
.gec-recursos-page > *,
.gec-conversamos-page > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* =========================================================
   HOME — POLISH PASS 2026-09-25
   ========================================================= */

/* Hero: stronger portrait presence */
@media (min-width: 901px) {
  .gec-home-hero__inner {
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr) !important;
    gap: clamp(1.5rem, 3vw, 3rem) !important;
  }

  .gec-home-hero__portrait {
    justify-content: flex-end !important;
    overflow: visible;
  }

  .gec-home-hero__portrait img {
    width: min(132%, 690px) !important;
    max-width: none !important;
    transform: translate(-18px, 72px) !important;
  }
}

/* Books: compact horizontal pair, no extra depth */
.gec-home-books {
  padding-top: clamp(3.25rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(1.5rem, 2.2vw, 2rem) !important;
}

.gec-home-books__intro {
  margin-bottom: 1.8rem !important;
}

.gec-book-covers {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.25rem, 2.5vw, 2.25rem) !important;
  width: min(100%, 430px) !important;
  align-items: end !important;
  justify-content: start !important;
}

.gec-home-books .gec-book-covers {
  width: min(100%, 390px) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.gec-book-cover-item {
  min-width: 0;
}

.gec-book-cover {
  display: block !important;
  width: 100% !important;
  line-height: 0;
}

.gec-book-cover > img,
.gec-book-cover > .gec-media-placeholder {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  object-fit: cover !important;
}

/* Testimonials: 3 visible, compact, distinct section */
.gec-home-testimonials {
  background: var(--gec-crema) !important;
  padding-block: clamp(3.4rem, 5vw, 4.4rem) !important;
}

.gec-home-testimonials .gec-home-section__head {
  margin-bottom: 1.8rem !important;
}

.gec-testimonials-slider {
  width: 100% !important;
  max-width: none !important;
}

.gec-testimonials-slider__track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
  border-radius: 0 !important;
}

.gec-testimonials-slider__slide {
  min-height: 0 !important;
  height: auto !important;
  padding: 1.25rem 1.3rem 1.35rem !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(50,81,94,.12) !important;
}

.gec-testimonials-slider__slide .gec-quote__mark {
  font-size: 2.35rem !important;
  margin-bottom: .25rem;
}

.gec-testimonials-slider__slide .gec-quote__text {
  font-size: 1rem !important;
  line-height: 1.42 !important;
}

.gec-testimonials-slider__slide footer {
  margin-top: .9rem !important;
}

.gec-testimonials-slider__nav {
  display: none !important;
}


/* Home — Medios: fila de programas con logos */
.gec-home-media__programs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(.9rem, 1.8vw, 1.35rem);
  align-items: stretch;
}

.gec-home-media__program {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1.15rem;
  min-width: 0;
  padding: 1rem .75rem .9rem;
  border-radius: 18px;
  color: var(--gec-petroleo);
  text-decoration: none;
  transition: transform .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.gec-home-media__program:hover {
  transform: scale(1.055);
  background: rgba(231,239,235,.58);
  box-shadow: 0 12px 28px rgba(49,89,102,.08);
}

.gec-home-media__program:focus-visible {
  outline: 2px solid var(--gec-agua);
  outline-offset: 4px;
}

.gec-home-media__logo-placeholder,
.gec-home-media__logo {
  width: 100%;
  aspect-ratio: 3 / 1.15;
  border-radius: 14px;
}

.gec-home-media__logo-placeholder {
  display: grid;
  place-items: center;
  border: 1px dashed rgba(49,89,102,.28);
  background:
    linear-gradient(145deg, rgba(231,239,235,.75), rgba(248,232,215,.45));
  color: rgba(49,89,102,.46);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.gec-home-media__program {
  overflow: hidden;
}

.gec-home-media__logo {
  display: block;
  box-sizing: border-box;
  height: 112px;
  width: 100%;
  padding: 0;
  object-fit: contain;
  background: transparent;
  transform: scale(2.05);
  transform-origin: center;
  transition: transform .22s ease;
}

.gec-home-media__program:nth-child(2) .gec-home-media__logo {
  transform: scale(2.15);
}

.gec-home-media__program:nth-child(3) .gec-home-media__logo {
  transform: scale(2.25);
}

.gec-home-media__program:nth-child(4) .gec-home-media__logo {
  transform: scale(2.2);
}

.gec-home-media__program:nth-child(5) .gec-home-media__logo {
  transform: scale(2.05);
}

.gec-home-media__program:hover .gec-home-media__logo {
  transform: scale(2.2);
}

.gec-home-media__program:nth-child(2):hover .gec-home-media__logo {
  transform: scale(2.3);
}

.gec-home-media__program:nth-child(3):hover .gec-home-media__logo {
  transform: scale(2.4);
}

.gec-home-media__program:nth-child(4):hover .gec-home-media__logo {
  transform: scale(2.35);
}

.gec-home-media__program:nth-child(5):hover .gec-home-media__logo {
  transform: scale(2.2);
}

.gec-home-media__program em {
  display: block;
  margin: 0;
  text-align: center;
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: clamp(1.28rem, 1.7vw, 1.6rem);
  line-height: 1.14;
  color: var(--gec-petroleo);
}

@media (max-width: 900px) {
  .gec-home-media__programs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .gec-home-media__programs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
  }

  .gec-home-media__program {
    padding: .75rem .55rem;
  }
}

/* Less dead air before Media */
.gec-home-media {
  background: #fff !important;
  padding-block: clamp(3.5rem, 5.5vw, 4.75rem) !important;
}

@media (max-width: 900px) {
  .gec-testimonials-slider__track {
    grid-template-columns: 1fr !important;
  }

  .gec-book-covers,
  .gec-home-books .gec-book-covers {
    width: min(100%, 420px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Header brand — approved horizontal lockup */
.gec-brand--header {
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
}

.gec-brand--header img {
  display: block !important;
  width: clamp(220px, 16vw, 270px) !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
}

@media (max-width: 1100px) {
  .gec-brand--header img {
    width: 205px !important;
    max-height: 42px !important;
  }
}

@media (max-width: 650px) {
  .gec-brand--header img {
    width: 178px !important;
    max-height: 38px !important;
  }
}

/* =========================================================
   GLOBAL HERO + FOCUS POLISH — 2026-09-25
   ========================================================= */

/* Same vertical breathing room between navigation and hero content. */
.gec-programas-hero,
.gec-conferencias-hero,
.gec-libros-hero,
.gec-recursos-hero,
.gec-conversamos-hero {
  padding-top: 5.25rem !important;
}

.gec-gissela-hero__inner,
.gec-home-hero__content {
  padding-top: 5.25rem !important;
}

/* One typographic language for every main hero: based on Conversamos. */
.gec-home-hero h1,
.gec-gissela-hero h1,
.gec-programas-hero h1,
.gec-conferencias-hero h1,
.gec-libros-hero h1,
.gec-recursos-hero h1,
.gec-conversamos-hero h1 {
  font-family: var(--gec-display-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-variation-settings: "opsz" 1000, "wght" 400 !important;
  font-size: clamp(3.3rem, 5vw, 5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.018em !important;
  color: var(--gec-petroleo) !important;
  text-wrap: balance;
}

/* Sobre mí hero: lock the approved headline line breaks. */
.gec-gissela-title-line {
  display: block;
}

.gec-gissela-title-line--nowrap {
  white-space: nowrap;
}

/* Home hero: more room for the headline without shrinking Gissela again. */
.gec-nowrap {
  white-space: nowrap;
}

@media (min-width: 901px) {
  .gec-home-hero__inner {
    grid-template-columns: minmax(535px, 1.08fr) minmax(390px, .92fr) !important;
    gap: clamp(1rem, 2vw, 2rem) !important;
  }

  .gec-home-hero__portrait img {
    width: min(134%, 670px) !important;
    transform: translate(6px, 72px) !important;
  }
}

/* Books page: text and covers belong to one cream editorial block. */
.gec-libros-hero--with-covers {
  padding-top: clamp(3.25rem, 4.5vw, 4.5rem) !important;
  padding-bottom: clamp(3rem, 4.2vw, 4.25rem) !important;
}

.gec-libros-hero__covers {
  margin-top: clamp(2rem, 4vw, 3rem);
}

.gec-libros-hero__covers .gec-book-covers {
  width: min(100%, 520px) !important;
  grid-template-columns: repeat(2, minmax(0, 220px)) !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

/* No black click/focus rectangles anywhere; keep focus feedback through color/motion. */
:where(a, button, summary):focus,
:where(a, button, summary):focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

a:focus-visible {
  opacity: .82;
}

button:focus-visible {
  transform: translateY(-1px);
}

.gec-brand--header:focus,
.gec-brand--header:focus-visible,
.gec-brand--header img:focus {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

@media (max-width: 700px) {
  .gec-programas-hero,
  .gec-conferencias-hero,
  .gec-libros-hero,
  .gec-recursos-hero,
  .gec-conversamos-hero {
    padding-top: 3.75rem !important;
  }

  .gec-gissela-hero__inner,
  .gec-home-hero__content {
    padding-top: 3.75rem !important;
  }

  .gec-home-hero h1,
  .gec-gissela-hero h1,
  .gec-programas-hero h1,
  .gec-conferencias-hero h1,
  .gec-libros-hero h1,
  .gec-recursos-hero h1,
  .gec-conversamos-hero h1 {
    font-size: clamp(2.7rem, 12vw, 4rem) !important;
  }

  .gec-nowrap {
    white-space: normal;
  }

  .gec-libros-hero__covers .gec-book-covers {
    width: min(100%, 420px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =========================================================
   PAGE SPACING + COURSE/BOOK DETAIL POLISH
   ========================================================= */

/* Match the breathing room visible on Libros before the first hero block. */
.gec-recursos-page,
.gec-conversamos-page {
  padding-top: 0 !important;
  background: #fff;
}

/* Medios: clear IA between owned programs and external appearances. */
.gec-medios-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 2rem;
}

.gec-medios-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .65rem 1rem;
  border: 1px solid rgba(49,89,102,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  color: var(--gec-petroleo);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.gec-medios-jump a:hover {
  border-color: var(--gec-agua);
  color: var(--gec-agua);
  background: #fff;
}

.gec-medios-programs,
.gec-medios-appearances {
  padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-medios-programs {
  background: #fff;
}

.gec-medios-appearances {
  background: var(--gec-menta);
}

.gec-medios-section__inner {
  width: min(calc(100% - 48px), 1040px);
  margin-inline: auto;
}

.gec-medios-section__head {
  max-width: 830px;
  margin-bottom: clamp(2.4rem, 5vw, 4rem);
}

.gec-medios-section__head h2 {
  margin: .35rem 0 0;
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: clamp(2.6rem, 4.6vw, 4.35rem);
  line-height: 1.03;
  color: var(--gec-petroleo);
  text-wrap: balance;
}

.gec-medios-section__head > p:last-child {
  max-width: 720px;
  margin: 1.15rem 0 0;
  font-size: 1.04rem;
  line-height: 1.65;
  color: rgba(32,52,60,.72);
}

.gec-medios-program {
  padding: clamp(1.7rem, 3.3vw, 2.5rem) 0;
  border-top: 1px solid var(--gec-border);
}

.gec-medios-program:last-child {
  border-bottom: 1px solid var(--gec-border);
}

.gec-medios-program__intro {
  display: grid;
  grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr);
  gap: clamp(1.8rem, 5vw, 4.5rem);
  align-items: start;
}

.gec-medios-eyebrow,
.gec-media-type {
  margin: 0 0 .65rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--gec-agua);
}

.gec-medios-program__intro h3 {
  margin: 0;
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: clamp(2.1rem, 3.8vw, 3.4rem);
  line-height: 1.02;
  color: var(--gec-petroleo);
}

.gec-medios-program__intro > p {
  margin: 0;
  max-width: 650px;
  font-size: 1.03rem;
  line-height: 1.68;
  color: rgba(32,52,60,.74);
}

.gec-media-feature,
.gec-medios-subfeature {
  margin-top: 1.6rem;
  padding: 1.35rem 1.45rem;
  border-radius: 18px;
  background: var(--gec-crema);
}

.gec-media-feature {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1.5rem;
  align-items: end;
}

.gec-media-feature h4,
.gec-medios-subfeature h4,
.gec-media-card h3,
.gec-media-card h4 {
  margin: 0;
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  color: var(--gec-petroleo);
}

.gec-media-feature h4,
.gec-medios-subfeature h4 {
  font-size: clamp(1.45rem, 2.6vw, 2.15rem);
  line-height: 1.08;
}

.gec-media-feature p:not(.gec-media-type),
.gec-medios-subfeature p:not(.gec-media-type) {
  margin: .65rem 0 0;
  max-width: 720px;
  line-height: 1.6;
  color: rgba(32,52,60,.7);
}

.gec-media-feature a,
.gec-media-card a {
  color: var(--gec-petroleo);
  font-weight: 700;
  text-decoration: none;
  transition: color .2s ease;
}

.gec-media-feature a:hover,
.gec-media-card a:hover {
  color: var(--gec-agua);
}

.gec-medios-subfeature {
  background: #eef5f3;
}

.gec-medios-episodes,
.gec-medios-appearances__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.gec-media-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.35rem 1.4rem;
  border: 1px solid rgba(49,89,102,.14);
  border-radius: 18px;
  background: #fff;
}

.gec-media-card h3,
.gec-media-card h4 {
  font-size: clamp(1.35rem, 2.3vw, 1.85rem);
  line-height: 1.08;
}

.gec-media-card > p:not(.gec-media-type) {
  margin: .75rem 0 0;
  font-size: .96rem;
  line-height: 1.58;
  color: rgba(32,52,60,.68);
}

.gec-media-card a {
  display: inline-flex;
  margin-top: auto;
  padding-top: 1.15rem;
}

.gec-medios-appearances__grid {
  margin-top: 0;
}

.gec-medios-appearances .gec-media-card {
  background: rgba(255,255,255,.84);
}

@media (max-width: 760px) {
  .gec-medios-section__inner {
    width: calc(100% - 40px);
  }

  .gec-medios-program__intro,
  .gec-media-feature,
  .gec-medios-episodes,
  .gec-medios-appearances__grid {
    grid-template-columns: 1fr;
  }

  .gec-media-feature {
    align-items: start;
  }
}

/* Course pages: full-width image + editorial information strip. */
.gec-course-extended {
  gap: 0 !important;
}

.gec-course-extended__feature {
  display: grid;
  gap: 0;
}

.gec-course-extended__media {
  width: 100% !important;
  aspect-ratio: 16 / 6 !important;
  max-height: 430px;
  border-radius: 24px 24px 0 0 !important;
  overflow: hidden;
}

.gec-course-extended__media img,
.gec-course-extended__media .gec-media-placeholder {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.gec-course-extended__strap {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr);
  gap: 1.5rem;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-radius: 0 0 24px 24px;
  background: var(--gec-menta);
  border-top: 1px solid rgba(49,89,102,.12);
}

.gec-course-extended__strap > div {
  display: grid;
  gap: .25rem;
}

.gec-course-extended__strap span {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--gec-agua);
}

.gec-course-extended__strap strong {
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.08;
  color: var(--gec-petroleo);
}

.gec-course-extended__content {
  width: min(100%, 920px) !important;
  margin: 2.25rem auto 0 !important;
}

.gec-course-extended__facts {
  margin-top: clamp(3.5rem, 6vw, 5rem);
}

/* Reduce excess spacing inherited from the generic single template. */
.gec-section:has(.gec-course-extended) {
  padding-top: clamp(2.25rem, 4vw, 3.25rem) !important;
}

.gec-single-header + .gec-section:has(.gec-course-extended) {
  margin-top: 0 !important;
}

/* LIBERARTE — course-specific refinements */
.postid-27 .gec-course-extended__media img {
  object-position: center 22% !important;
}

:is(.postid-27, .postid-59) .gec-course-detail__first-edition {
  grid-template-columns: minmax(0, 1.55fr) minmax(230px, .45fr);
  gap: 1.25rem;
  align-items: start;
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule-wrap {
  min-width: 0;
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule {
  list-style: none;
  margin: .55rem 0 0;
  padding: 0;
  display: grid;
  gap: .72rem;
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule li {
  display: grid;
  grid-template-columns: 10px 82px minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  min-height: 58px;
  padding: .82rem 1rem;
  border: 1px solid rgba(49,89,102,.12);
  border-radius: 15px;
  background: #fff;
  line-height: 1.42;
  box-shadow: 0 5px 16px rgba(32,52,60,.025);
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gec-agua);
  align-self: center;
  justify-self: center;
  transition: transform .2s ease, background-color .2s ease;
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule li:hover {
  transform: translateX(6px);
  border-color: rgba(83,135,148,.32);
  background: rgba(248,238,227,.46);
  box-shadow: 0 10px 24px rgba(32,52,60,.07);
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule li:hover::before {
  transform: scale(1.35);
  background: var(--gec-petroleo);
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule strong {
  color: var(--gec-petroleo);
  font-weight: 600;
}

:is(.postid-27, .postid-59) .gec-course-detail__schedule span {
  color: rgba(32,52,60,.72);
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-card {
  align-self: start;
  min-height: 0;
  padding: 1.35rem 1.35rem 1.25rem;
  border: 1px solid rgba(49,89,102,.10);
  border-radius: 20px;
  background: var(--gec-crema);
  box-shadow: 0 8px 22px rgba(32,52,60,.04);
  gap: .55rem;
  transition: transform .2s ease, box-shadow .2s ease;
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(32,52,60,.08);
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-head {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .25rem;
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-head > span:last-child {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--gec-agua);
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-icon {
  position: relative;
  width: 24px;
  height: 18px;
  border: 1.5px solid var(--gec-agua);
  border-radius: 5px;
  flex: 0 0 auto;
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-icon::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gec-agua);
  left: 5px;
  top: 5px;
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-icon::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 4px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid var(--gec-agua);
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-card > p:first-of-type {
  margin: 0;
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-card > p:first-of-type strong {
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: 1.6rem;
  line-height: 1.08;
  color: var(--gec-petroleo);
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-card > p:nth-of-type(2) {
  margin: -.1rem 0 .45rem;
  color: rgba(32,52,60,.72);
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

:is(.postid-27, .postid-59) .gec-course-detail__mode-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 .65rem;
  border-radius: 999px;
  background: rgba(169,208,211,.36);
  color: var(--gec-petroleo);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
}

:is(.postid-27, .postid-59) .gec-course-detail__checks li {
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

:is(.postid-27, .postid-59) .gec-course-detail__checks li:hover {
  transform: translateY(-3px);
  background: #fff;
  box-shadow: 0 10px 24px rgba(32,52,60,.08);
}

:is(.postid-27, .postid-59) .gec-course-detail__final-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

:is(.postid-27, .postid-59) .gec-course-detail__final-card {
  display: grid;
  align-content: start;
  gap: 1rem;
  min-height: 260px;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: var(--gec-petroleo);
  color: #fff;
  box-shadow: 0 12px 30px rgba(32,52,60,.08);
  transition: transform .22s ease, box-shadow .22s ease;
}

:is(.postid-27, .postid-59) .gec-course-detail__final-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(32,52,60,.14);
}

:is(.postid-27, .postid-59) .gec-course-detail__final-card .gec-kicker {
  color: rgba(255,255,255,.68);
}

:is(.postid-27, .postid-59) .gec-course-detail__final-card h2 {
  margin: 0;
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.04;
  color: #fff;
  text-wrap: balance;
}

:is(.postid-27, .postid-59) .gec-course-detail__final-card > p:not(.gec-kicker) {
  margin: 0;
  line-height: 1.6;
  color: rgba(255,255,255,.76);
}

:is(.postid-27, .postid-59) .gec-course-detail__final-subtitle {
  font-size: 1rem;
}

:is(.postid-27, .postid-59) .gec-course-detail__final-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  align-self: end;
  min-height: 50px;
  margin-top: .4rem;
  padding: 0 1.45rem;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  color: var(--gec-petroleo);
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

:is(.postid-27, .postid-59) .gec-course-detail__final-button:hover {
  opacity: 1;
  transform: translateY(-2px);
  background: var(--gec-crema);
  border-color: var(--gec-crema);
  color: var(--gec-petroleo);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

@media (max-width: 700px) {
  :is(.postid-27, .postid-59) .gec-course-detail__first-edition {
    grid-template-columns: 1fr;
  }

  :is(.postid-27, .postid-59) .gec-course-detail__schedule li {
    grid-template-columns: 10px minmax(0, 1fr);
    gap: .25rem .75rem;
    align-items: start;
  }

  :is(.postid-27, .postid-59) .gec-course-detail__schedule li::before {
    grid-row: 1 / span 2;
    margin-top: .42rem;
  }

  :is(.postid-27, .postid-59) .gec-course-detail__schedule strong,
  :is(.postid-27, .postid-59) .gec-course-detail__schedule span {
    grid-column: 2;
  }

  :is(.postid-27, .postid-59) .gec-course-detail__final-options {
    grid-template-columns: 1fr;
  }

  :is(.postid-27, .postid-59) .gec-course-detail__final-card {
    min-height: 0;
  }
}

/* LA FAMILIA — tighten the bottom of the editions panel. */
.postid-59 .gec-course-detail__edition-note {
  padding-bottom: clamp(1.25rem, 2vw, 1.6rem);
}

/* Medios — archivo/podcast conservado pero oculto temporalmente. */
.gec-medios-library--disabled {
  display: none !important;
}

/* Brand teal sections requested by Gissela */
.gec-newsletter,
.gec-programas-paths,
.gec-medios-appearances {
  background: #548c92 !important;
}

/* Home — Sigamos en contacto */
.gec-newsletter {
  color: #fff;
}

.gec-newsletter .gec-kicker,
.gec-newsletter__form label,
.gec-newsletter__note {
  color: rgba(255,255,255,.78);
}

.gec-newsletter h2 {
  color: #fff;
}

.gec-newsletter__form input {
  border-color: rgba(255,255,255,.38);
  background: rgba(255,255,255,.10);
  color: #fff;
}

.gec-newsletter__form input::placeholder {
  color: rgba(255,255,255,.58);
}

.gec-newsletter__form button {
  background: #fff;
  border-color: #fff;
  color: var(--gec-petroleo);
}

.gec-newsletter__form button:hover {
  background: var(--gec-crema);
  border-color: var(--gec-crema);
  color: var(--gec-petroleo);
}

/* Cursos — ¿Necesitas ayuda para empezar? */
.gec-programas-paths .gec-kicker {
  color: rgba(255,255,255,.72);
}

.gec-programas-paths__head h2 {
  color: #fff;
}

.gec-programas-paths__list {
  border-top-color: rgba(255,255,255,.28);
}

.gec-programas-path {
  border-bottom-color: rgba(255,255,255,.28);
  color: #fff;
}

.gec-programas-path__number,
.gec-programas-path__arrow,
.gec-programas-path__content > strong {
  color: var(--gec-crema);
}

.gec-programas-path__content h3 {
  color: #fff;
}

.gec-programas-path__content p {
  color: rgba(255,255,255,.82);
}

.gec-programas-path:hover {
  background: rgba(255,255,255,.055);
}

.gec-programas-path:hover .gec-programas-path__content h3 {
  color: var(--gec-crema);
}

/* Medios — Entrevistas, apariciones y publicaciones */
.gec-medios-appearances .gec-kicker {
  color: rgba(255,255,255,.72);
}

.gec-medios-appearances .gec-medios-section__head h2 {
  color: #fff;
}

.gec-medios-appearances .gec-medios-section__head > p:last-child {
  color: rgba(255,255,255,.82);
}

.gec-medios-appearances .gec-media-card {
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.34);
  box-shadow: 0 10px 24px rgba(32,52,60,.07);
}

.gec-medios-appearances .gec-media-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(32,52,60,.12);
}

/* Shared dark closing block — Home + Cursos */
.gec-home-contact--dark {
  background: var(--gec-petroleo) !important;
  color: #fff;
}

.gec-home-contact--dark .gec-kicker {
  color: rgba(255,255,255,.68);
}

.gec-home-contact--dark h2 {
  color: #fff !important;
}

.gec-home-contact--dark .gec-home-contact__cta {
  background: #fff;
  border-color: #fff;
  color: var(--gec-petroleo);
}

.gec-home-contact--dark .gec-home-contact__cta:hover {
  background: var(--gec-crema);
  border-color: var(--gec-crema);
  color: var(--gec-petroleo);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

/* Huella sutil — ornamental fragments inspired by the Gissela symbol.
   Lightweight SVG theme assets: easy to tune or remove after review. */
.gec-home-hero {
  background-image: url("../images/gec-ornament-home.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.gec-gissela-hero {
  background-image: url("../images/gec-ornament-about.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.gec-libros-hero--with-covers {
  background-image: url("../images/gec-ornament-books.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.gec-footer {
  background-image: url("../images/gec-ornament-footer.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

@media (max-width: 760px) {
  .gec-home-hero,
  .gec-gissela-hero,
  .gec-libros-hero--with-covers,
  .gec-footer {
    background-size: auto 100%;
  }
}

/* Books: restore the editable metadata card + purchase CTA at the end. */
.gec-book-detail {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(2.25rem, 5vw, 4.5rem);
  align-items: start;
}

.gec-book-detail__cover {
  width: 100%;
  max-width: 410px;
  justify-self: start;
}

.gec-book-detail__cover img,
.gec-book-detail__cover .gec-media-placeholder {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 16px 34px rgba(32,52,60,.10);
}

.gec-book-detail__info {
  display: grid;
  gap: 1.4rem;
}

.gec-book-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  border-top: 1px solid var(--gec-border);
  border-left: 1px solid var(--gec-border);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.gec-book-meta > div {
  min-height: 92px;
  padding: 1rem 1.1rem;
  display: grid;
  align-content: center;
  gap: .35rem;
  border-right: 1px solid var(--gec-border);
  border-bottom: 1px solid var(--gec-border);
}

.gec-book-meta__wide {
  grid-column: 1 / -1;
}

.gec-book-meta span {
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gec-agua);
}

.gec-book-meta strong {
  font-weight: 600;
  line-height: 1.35;
  color: var(--gec-petroleo);
}

.gec-book-detail__buy {
  margin-top: .25rem;
}

.gec-book-detail__buy .gec-button {
  margin-top: 0 !important;
}

@media (max-width: 800px) {
  .gec-course-extended__strap,
  .gec-book-detail {
    grid-template-columns: 1fr;
  }

  .gec-course-extended__media {
    aspect-ratio: 16 / 9 !important;
  }

  .gec-book-detail__cover {
    max-width: 360px;
  }
}

@media (max-width: 600px) {
  .gec-recursos-page,
  .gec-conversamos-page {
    padding-top: 10px !important;
  }

  .gec-book-meta {
    grid-template-columns: 1fr;
  }

  .gec-book-meta__wide {
    grid-column: auto;
  }
}

/* Sobre mí — hero split 65/35 de borde a borde. */
.gec-gissela-main {
  overflow-x: hidden;
}

.gec-gissela-main > .gec-gissela-hero--split {
  position: relative;
  left: 50%;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateX(-50%);
  overflow: hidden;
  background: var(--gec-crema);
}

.gec-gissela-hero--split .gec-gissela-hero__inner {
  display: grid !important;
  grid-template-columns: 72% 28% !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gec-gissela-hero--split .gec-gissela-hero__content {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-width: 0;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(48px, 5vw, 84px) clamp(48px, 7vw, 120px) !important;
  overflow: hidden;
  background: var(--gec-crema);
}

.gec-gissela-hero--split .gec-gissela-hero__text {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 820px;
}

.gec-gissela-hero--split .gec-kicker {
  margin: 0 0 1.35rem !important;
}

.gec-gissela-hero--split h1 {
  margin: 0 !important;
  max-width: 12.5ch !important;
  font-family: var(--gec-display-font);
  font-style: normal;
  font-weight: 400;
  font-variation-settings: "opsz" 1000, "wght" 400;
  font-size: clamp(3.5rem, 5vw, 6rem) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  color: var(--gec-petroleo);
}

.gec-gissela-hero--split .gec-gissela-hero__portrait {
  position: relative !important;
  align-self: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.gec-gissela-hero--split .gec-gissela-hero__portrait img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
}

.gec-gissela-hero--split .gec-gissela-hero__ornament {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .42;
  transform: scaleX(-1);
  transform-origin: center;
  pointer-events: none;
  z-index: 1;
  background-image: url("../images/gissela-hero-ornament.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}

@media (max-width: 900px) {
  .gec-gissela-hero--split .gec-gissela-hero__inner {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  .gec-gissela-hero--split .gec-gissela-hero__content {
    min-height: 0 !important;
    padding: 64px 28px 72px !important;
  }

  .gec-gissela-hero--split h1 {
    max-width: 12ch !important;
    font-size: clamp(3rem, 10vw, 5rem) !important;
  }

  .gec-gissela-hero--split .gec-gissela-hero__portrait {
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
}
