/* ==========================================================
   CEVICHERIA GALAPAGOS - Cronologia 2016 -> hoy
   Bloques nativos de Gutenberg (core/*) + este CSS.
   Tipografia y color heredados de Astra:
     titulares  Bebas Neue   cuerpo  Noto Sans
     --ast-global-color-0  azul de marca  #0170B9
     --ast-global-color-3  texto suave    #4B4F58
     --ast-global-color-6  fondo suave    #F2F5F7
   IMPORTANTE: todo es visible por defecto. La animacion solo
   se activa si el JS anade .cg-anim al contenedor raiz.
   ========================================================== */

.cg-tl,
.cg-tl .wp-block-group{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.cg-tl{
  --cg-azul:var(--ast-global-color-0,#0170B9);
  --cg-azul-osc:#015A94;
  --cg-azul-claro:#E3F0F9;
  --cg-tinta:#16283A;
  --cg-tinta-suave:var(--ast-global-color-3,#4B4F58);
  --cg-linea:#D4DFE8;
  --cg-marco:#FFFFFF;
  --cg-radio:1.5rem;
  --cg-ease:cubic-bezier(.32,.72,0,1);
  --cg-display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  --cg-texto:'Noto Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-family:var(--cg-texto);
  color:var(--cg-tinta);
  padding:2.5rem 0 1rem;
  width:100%;
  max-width:1120px;
  margin-inline:auto;
  overflow-x:clip;
  overflow-y:visible;
}
.cg-tl *{box-sizing:border-box;min-width:0;}
.cg-tl img{max-width:100%;}
.cg-tl a{color:var(--cg-azul);text-decoration:underline;text-underline-offset:3px;}

.cg-tl .wp-block-group,
.cg-tl .wp-block-image,
.cg-tl p,
.cg-tl h3,
.cg-tl figure{margin-block:0;}

/* ---------- Entradilla ---------- */
.cg-tl .cg-intro{
  max-width:60ch;
  margin:0 0 3.5rem;
  color:var(--cg-tinta-suave);
  font-size:1.05rem;
  line-height:1.75;
}
.cg-tl .cg-intro strong{color:var(--cg-tinta);font-weight:600;}

/* ---------- Capitulo: rail y punto ---------- */
.cg-tl .cg-chapter{
  position:relative;
  padding:0 0 4rem 2.25rem;
  margin:0;
}
.cg-tl .cg-chapter.cg-ultimo{padding-bottom:0;}

.cg-tl .cg-chapter::before,
.cg-tl .cg-chapter::after{
  content:"";position:absolute;left:7px;top:14px;width:2px;
  height:calc(100% - 14px);border-radius:2px;
}
.cg-tl .cg-chapter::before{background:var(--cg-linea);}
.cg-tl .cg-chapter::after{background:var(--cg-azul);transform-origin:top;}
.cg-tl .cg-chapter.cg-ultimo::before,
.cg-tl .cg-chapter.cg-ultimo::after{display:none;}

.cg-tl .cg-dot-anchor{
  position:absolute;left:0;top:6px;width:16px;height:16px;
  margin:0;padding:0;pointer-events:none;
}
.cg-tl .cg-dot-anchor::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:var(--cg-azul);border:2px solid var(--cg-azul);
  box-shadow:0 0 0 5px rgba(1,112,185,.15);
}

/* ---------- Media ---------- */
.cg-tl .cg-media{
  position:relative;
  width:100%;
  max-width:var(--mw,560px);
  margin:0 0 3rem;
}
.cg-tl .cg-media.cg-sola{margin-bottom:2.25rem;}

.cg-tl .cg-ar-16-9{--ar:16/9;}
.cg-tl .cg-ar-4-3{--ar:4/3;}
.cg-tl .cg-ar-3-4{--ar:3/4;}
.cg-tl .cg-mw-560{--mw:560px;}
.cg-tl .cg-mw-380{--mw:380px;}
.cg-tl .cg-mw-340{--mw:340px;}

.cg-tl .cg-shell{
  background:rgba(1,112,185,.06);
  border:1px solid rgba(1,112,185,.14);
  border-radius:var(--cg-radio);
  padding:.4rem;
  margin:0;
}
.cg-tl .cg-shell .wp-block-image,
.cg-tl .cg-shell figure{margin:0;width:100%;}
.cg-tl .cg-shell img{
  display:block;width:100%;height:auto;
  aspect-ratio:var(--ar,4/3);
  object-fit:cover;object-position:center;
  border-radius:calc(var(--cg-radio) - .4rem);
}
.cg-tl .cg-media.cg-completa .cg-shell{background:var(--cg-marco);}
.cg-tl .cg-media.cg-completa .cg-shell img{object-fit:contain;}

.cg-tl .cg-mini{
  position:absolute;right:0;bottom:-2.4rem;width:40%;margin:0;
  background:var(--cg-marco);border:1px solid rgba(1,112,185,.14);
  border-radius:1.1rem;padding:.32rem;
  box-shadow:0 16px 36px -16px rgba(2,45,80,.30);
}
.cg-tl .cg-mini .wp-block-image,
.cg-tl .cg-mini figure{margin:0;width:100%;}
.cg-tl .cg-mini img{
  display:block;width:100%;height:auto;
  aspect-ratio:1/1;object-fit:cover;
  border-radius:calc(1.1rem - .32rem);
}

/* ---------- Texto ---------- */
.cg-tl .cg-texto{position:relative;}

.cg-tl .cg-year{
  font-family:var(--cg-display);
  font-weight:400;
  font-size:clamp(3.4rem,9vw,6rem);
  line-height:.82;
  letter-spacing:.01em;
  color:var(--cg-azul);
  margin:0 0 .6rem;
}

.cg-tl .cg-fecha{
  font-family:var(--cg-texto);
  font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--cg-azul);margin:0 0 .55rem;
}

.cg-tl h3.cg-h3{
  font-family:var(--cg-display);
  font-weight:400;
  font-size:clamp(1.7rem,3.4vw,2.3rem);
  letter-spacing:.02em;
  line-height:1.05;
  margin:0 0 .7rem;
  text-wrap:balance;
  color:var(--cg-tinta);
}

.cg-tl p.cg-p{
  color:var(--cg-tinta-suave);line-height:1.75;font-size:1rem;max-width:54ch;margin:0;
}

/* ---------- Chips ---------- */
.cg-tl .cg-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;}
.cg-tl p.cg-chip{
  font-family:var(--cg-texto);
  font-size:.78rem;font-weight:600;color:var(--cg-azul-osc);
  background:var(--cg-azul-claro);padding:.34rem .8rem;border-radius:.5rem;
  margin:0;line-height:1.4;
}

/* ---------- Firma ---------- */
.cg-tl .cg-firma{margin-top:1.2rem;}
.cg-tl .cg-firma img{width:104px;height:auto;opacity:.85;}

/* ---------- Cierre ---------- */
.cg-tl .cg-cierre{
  margin-top:3rem;padding-top:2.5rem;
  border-top:1px solid var(--cg-linea);
}
.cg-tl .cg-cierre p{
  font-family:var(--cg-display);
  font-weight:400;
  font-size:clamp(1.5rem,3vw,2rem);
  letter-spacing:.02em;
  line-height:1.15;
  color:var(--cg-tinta);max-width:34ch;margin:0;
}

/* ==========================================================
   ANIMACION - opt-in. Sin .cg-anim todo se ve siempre.
   ========================================================== */
.cg-tl.cg-anim .cg-chapter::after{
  transform:scaleY(0);
  transition:transform 1.3s var(--cg-ease) .3s;
}
.cg-tl.cg-anim .cg-chapter.is-visible::after{transform:scaleY(1);}

.cg-tl.cg-anim .cg-dot-anchor::before{
  background:var(--cg-marco);border-color:var(--cg-linea);
  box-shadow:none;
  transition:border-color .6s var(--cg-ease),background .6s var(--cg-ease),
             transform .6s var(--cg-ease),box-shadow .6s var(--cg-ease);
}
.cg-tl.cg-anim .cg-chapter.is-visible .cg-dot-anchor::before{
  background:var(--cg-azul);border-color:var(--cg-azul);
  transform:scale(1.15);box-shadow:0 0 0 6px rgba(1,112,185,.15);
}

.cg-tl.cg-anim .cg-reveal{
  opacity:0;transform:translateY(2rem);
  transition:opacity .85s var(--cg-ease),transform .85s var(--cg-ease);
}
.cg-tl.cg-anim .cg-media.cg-reveal{transition-delay:.08s;}
.cg-tl.cg-anim .cg-texto.cg-reveal{transition-delay:.2s;}
.cg-tl.cg-anim .cg-reveal.is-visible{opacity:1;transform:translateY(0);}

/* ================= TABLET >=700px ================= */
@media (min-width:700px){
  .cg-tl{padding:3.5rem 0 1.5rem;}
  .cg-tl .cg-chapter{padding-left:3rem;padding-bottom:5rem;}
  .cg-tl .cg-chapter.cg-ultimo{padding-bottom:0;}
  .cg-tl .cg-mini{transform:rotate(2.5deg);}
  .cg-tl .cg-chapter.cg-par .cg-mini{transform:rotate(-2.5deg);}
}

/* ================= ESCRITORIO >=1024px ================= */
@media (min-width:1024px){
  .cg-tl .cg-chapter{
    display:grid;
    grid-template-columns:1fr 88px 1fr;
    align-items:center;
    padding:0 0 6rem 0;
  }
  .cg-tl .cg-chapter.cg-ultimo{padding-bottom:0;}
  .cg-tl .cg-chapter::before,
  .cg-tl .cg-chapter::after{
    left:50%;margin-left:-1px;top:22px;height:calc(100% - 22px);
  }
  .cg-tl .cg-dot-anchor{left:50%;top:14px;margin-left:-8px;}

  .cg-tl .cg-media{grid-column:1;grid-row:1;margin-bottom:0;justify-self:end;}
  .cg-tl .cg-media.cg-sola{margin-bottom:0;}
  .cg-tl .cg-texto{grid-column:3;grid-row:1;padding-left:.5rem;}

  .cg-tl .cg-chapter.cg-par .cg-media{grid-column:3;justify-self:start;}
  .cg-tl .cg-chapter.cg-par .cg-texto{grid-column:1;padding-left:0;padding-right:.5rem;}
}

/* ---------- Accesibilidad ---------- */
@media (prefers-reduced-motion:reduce){
  .cg-tl.cg-anim .cg-reveal,
  .cg-tl.cg-anim .cg-dot-anchor::before,
  .cg-tl.cg-anim .cg-chapter::after{
    transition:none !important;opacity:1 !important;transform:none !important;
  }
  .cg-tl.cg-anim .cg-chapter::after{transform:scaleY(1) !important;}
  .cg-tl.cg-anim .cg-dot-anchor::before{
    background:var(--cg-azul) !important;border-color:var(--cg-azul) !important;
  }
}

/* ---------- Editor de bloques ---------- */
.editor-styles-wrapper .cg-tl .cg-dot-anchor{outline:1px dashed var(--cg-linea);}
.editor-styles-wrapper .cg-tl .cg-chapter{display:block;}
