/* =====================================================
   Extras — archivo lateral + Int
   v2 — Int claro + selección aleatoria + blog compacto
   ===================================================== */

.extras-page{
  --extras-max: 1080px;

  /* Referencia directa al sistema visual de Int */
  --extras-int-bg: #fbfbfc;
  --extras-int-soft: #FBFBFC;
  --extras-int-card: #ffffff;
  --extras-int-ink: #0a0a0a;
  --extras-int-ink-2: #2c2c2c;
  --extras-int-ink-3: #555555;
  --extras-int-mute: #8a8a8a;
  --extras-int-line: #e9e9eb;
  --extras-int-line-2: #d1d1d3;
}

.extras-skip{
  position: fixed;
  top: 12px;
  left: 16px;
  z-index: 1000;
  transform: translateY(-180%);
  padding: 10px 14px;
  background: var(--ink);
  color: var(--paper);
  text-decoration: none;
}
.extras-skip:focus{
  transform: translateY(0);
}

.extras-container{
  max-width: var(--extras-max);
}

.extras-eyebrow{
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.extras-eyebrow--light{
  color: var(--extras-int-mute);
}

/* ---------- Entrada ---------- */

.extras-entry{
  padding-bottom: clamp(42px, 7vw, 72px);
}

.extras-entry .entry__defs li{
  max-width: 48ch;
  font-family: var(--font-body);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.72;
  letter-spacing: .01em;
}

.extras-entry .entry__etym,
.extras-entry__notes,
.extras-entry__notes dt,
.extras-entry__notes dd{
  font-family: var(--font-body);
}

.extras-entry__notes{
  margin-top: clamp(28px, 4vw, 42px);
  border-top: 1px solid color-mix(in srgb, var(--rule) 14%, transparent);
}

.extras-entry__notes .entry__row{
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--rule) 10%, transparent);
}

/* ---------- Int: mismo fondo claro de la colección ---------- */

.extras-int{
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr);
  min-height: 520px;
  margin: 0 0 clamp(52px, 8vw, 94px);
  overflow: hidden;
  border: 1px solid var(--extras-int-line-2);
  background: var(--extras-int-bg);
  color: var(--extras-int-ink);
}

.extras-int__copy{
  padding: clamp(28px, 5vw, 58px);
}

.extras-int h2{
  margin: 0;
  max-width: 9ch;
  font-family: var(--font-display);
  font-size: clamp(44px, 7vw, 76px);
  line-height: .96;
  letter-spacing: -.04em;
  color: var(--extras-int-ink);
}
.extras-int h2 span{
  display: block;
  margin-top: 9px;
  color: var(--extras-int-mute);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.extras-int__lead{
  max-width: 54ch;
  margin: 24px 0 0;
  color: var(--extras-int-ink-3);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.78;
}

.extras-int__notes{
  margin: 30px 0 0;
  padding: 0;
  border-top: 1px solid var(--extras-int-line-2);
}
.extras-int__notes > div{
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid var(--extras-int-line);
}
.extras-int__notes dt{
  color: var(--extras-int-ink);
  font-weight: 700;
}
.extras-int__notes dd{
  margin: 0;
  color: var(--extras-int-ink-3);
}

.extras-int__action{
  min-height: 44px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  padding: 8px 0;
  border-bottom: 1px solid var(--extras-int-line-2);
  color: var(--extras-int-ink);
  text-decoration: none;
  transition:
    color var(--duration) var(--ease-out),
    border-color var(--duration) var(--ease-out),
    gap var(--duration) var(--ease-out);
}
.extras-int__action:hover{
  gap: 24px;
  color: var(--accent);
  border-bottom-color: var(--accent);
}

.extras-int__visual{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(118px, .42fr);
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  padding: clamp(18px, 3vw, 30px);
  gap: 12px;
  background: var(--extras-int-soft);
  border-left: 1px solid var(--extras-int-line);
}

.extras-int__image{
  min-width: 0;
  min-height: 0;
  margin: 0;
  align-self: center;
  justify-self: center;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 0;
  background: transparent;
}

.extras-int__image img{
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: initial;
  opacity: 1;
  transition: opacity 180ms ease-out;
}
.extras-int__image img.is-changing{
  opacity: 0;
}

.extras-int__image--main{
  width: 100%;
}

.extras-int__image--main img{
  max-height: 470px;
}

.extras-int__image--secondary{
  align-self: end;
  width: min(100%, 150px);
}

.extras-int__image--secondary img{
  max-height: 230px;
}

.extras-int__caption{
  grid-column: 1 / -1;
  margin: 8px 0 0;
  color: var(--extras-int-mute);
  font-size: 9px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* ---------- Blog: imagen pequeña + entrada ---------- */

.extras-blog{
  margin-top: 0;
  padding-top: clamp(30px, 5vw, 48px);
  border-top: 1px solid color-mix(in srgb, var(--rule) 16%, transparent);
}

.extras-blog__header{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.extras-blog__header h2{
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1;
  letter-spacing: -.025em;
}

.extras-blog__all{
  padding-bottom: 3px;
  border-bottom: 1px solid color-mix(in srgb, var(--rule) 28%, transparent);
  color: var(--ink);
  text-decoration: none;
}
.extras-blog__all:hover{
  color: var(--accent);
  border-bottom-color: var(--accent);
}

.extras-blog .blog-preview__intro{
  max-width: 68ch;
  margin: 18px 0 24px;
  font-family: var(--font-body);
}

/* Sobrescribe las cards grandes de styles.css */
.extras-blog .extra-posts{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin-top: 8px;
}

.extras-blog .extra-post{
  min-width: 0;
  margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--rule) 12%, transparent);
}

.extras-blog .extra-post:nth-last-child(-n + 2){
  border-bottom: 1px solid color-mix(in srgb, var(--rule) 12%, transparent);
}

.extras-blog .extra-post__link{
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  grid-template-rows: none;
  gap: 15px;
  align-items: start;
  min-height: 146px;
  height: 100%;
  padding: 14px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  overflow: visible;
  transition:
    color var(--duration) var(--ease-out),
    padding var(--duration) var(--ease-out);
}

.extras-blog .extra-post__link:hover{
  padding-left: 5px;
  border-color: transparent;
  transform: none;
}

.extras-blog .extra-post__media{
  width: 116px;
  height: 92px;
  aspect-ratio: auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--rule) 10%, transparent);
  background: var(--paper-2);
}

.extras-blog .extra-post__media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.extras-blog .extra-post__media--fallback{
  font-size: 10px;
  letter-spacing: .12em;
}

.extras-blog .extra-post__body{
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
  padding: 0;
}

.extras-blog .extra-post__date{
  font-size: 9px;
  line-height: 1.35;
  letter-spacing: .09em;
}

.extras-blog .extra-post__title{
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(17px, 1.65vw, 21px);
  line-height: 1.18;
}

.extras-blog .extra-post__excerpt{
  margin: 2px 0 0;
  color: var(--muted);
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1.52;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.extras-blog .extra-post__more{
  width: fit-content;
  margin-top: 4px;
  padding: 0 0 1px;
  border-bottom: 1px solid color-mix(in srgb, var(--rule) 24%, transparent);
  color: var(--ink);
  font-size: 10px;
}

.extras-blog .extra-post__link:hover .extra-post__title,
.extras-blog .extra-post__link:hover .extra-post__more{
  color: var(--accent);
}

.extras-blog__status{
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px 0;
  color: var(--muted);
  border-top: 1px solid color-mix(in srgb, var(--rule) 10%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--rule) 10%, transparent);
}
.extras-blog__status a{
  color: var(--ink);
}

@media (max-width: 860px){
  .extras-int{
    grid-template-columns: 1fr;
  }

  .extras-int__visual{
    min-height: 420px;
    border-left: 0;
    border-top: 1px solid var(--extras-int-line);
  }

  .extras-blog .extra-posts{
    grid-template-columns: 1fr;
  }

  .extras-blog .extra-post:nth-last-child(-n + 2){
    border-bottom: 0;
  }

  .extras-blog .extra-post:last-child{
    border-bottom: 1px solid color-mix(in srgb, var(--rule) 12%, transparent);
  }
}

@media (max-width: 640px){
  .extras-entry .entry__defs li{
    font-size: clamp(16px, 4.4vw, 19px);
    line-height: 1.68;
  }

  .extras-int{
    min-height: 0;
  }

  .extras-int__copy{
    padding: 26px 20px 30px;
  }

  .extras-int h2{
    max-width: none;
    font-size: clamp(42px, 13vw, 62px);
  }

  .extras-int__notes > div{
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .extras-int__visual{
    grid-template-columns: 1fr 110px;
    min-height: 330px;
    padding: 14px;
  }

  .extras-int__image--main img{
    max-height: 390px;
  }

  .extras-int__image--secondary{
    width: min(100%, 120px);
  }

  .extras-int__image--secondary img{
    max-height: 180px;
  }

  .extras-blog__header{
    display: grid;
    align-items: start;
  }
}

@media (max-width: 480px){
  .extras-blog .extra-post__link{
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
    min-height: 122px;
    padding: 12px 0;
  }

  .extras-blog .extra-post__media{
    width: 86px;
    height: 72px;
  }

  .extras-blog .extra-post__excerpt{
    -webkit-line-clamp: 2;
  }
}

@media (max-width: 430px){
  .extras-int__visual{
    grid-template-columns: 1fr;
  }

  .extras-int__image--secondary{
    display: none;
  }

  .extras-int__image--main img{
    max-height: 360px;
  }
}
