/* CholloPrinting · segunda pasada visual móvil · v1.0.2 */

/* Contraste correcto del hero actual. */
.cp-visual-coherence .cp-premium-hero-copy h1{color:#fff!important}
.cp-visual-coherence .cp-premium-hero-copy h1 span{color:var(--cpv-primary)!important}

/* La navegación contextual siempre ocupa su propia fila. */
.cp-visual-coherence .cp-print-index-hero .cp-back-link,
.cp-visual-coherence .cp-stamp-family-page .cp-back-link{
  display:flex!important;
  margin:0 0 16px!important;
}
.cp-visual-coherence .cp-print-index-hero .cp-eyebrow,
.cp-visual-coherence .cp-stamp-family-page .cp-eyebrow{
  display:block!important;
  margin:0 0 9px!important;
}

/* Cabeceras de familia más limpias y con menos efecto caja-dentro-de-caja. */
.cp-visual-coherence .cp-print-index-hero{
  box-shadow:none!important;
}
.cp-visual-coherence .cp-print-index-hero h1{
  max-width:820px;
  margin-top:0!important;
  margin-bottom:14px!important;
}
.cp-visual-coherence .cp-print-index-hero p{
  max-width:820px;
  margin-bottom:0!important;
  line-height:1.58!important;
}
.cp-visual-coherence .cp-section-head{
  align-items:end!important;
  gap:20px!important;
}
.cp-visual-coherence .cp-section-head h2{margin-top:5px!important;margin-bottom:0!important}
.cp-visual-coherence .cp-section-head>p{max-width:560px;margin-bottom:0!important;color:var(--cpv-muted)!important}

/* Catálogo/familias: una única gramática de tarjeta. */
.cp-visual-coherence .cp-print-catalog-card{
  overflow:hidden!important;
  border:1px solid var(--cpv-border)!important;
  border-radius:var(--cpv-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--cpv-shadow-sm)!important;
}
.cp-visual-coherence .cp-print-catalog-media{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  background:#F8FAFC!important;
  overflow:hidden!important;
}
.cp-visual-coherence .cp-print-catalog-media>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.cp-visual-coherence .cp-print-catalog-media>span:not(.cp-media-placeholder){
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--cpv-text)!important;
  border:1px solid rgba(225,230,237,.85)!important;
  box-shadow:0 2px 8px rgba(7,26,61,.05)!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.cp-visual-coherence .cp-print-catalog-body{padding:18px!important}
.cp-visual-coherence .cp-print-catalog-body h2{
  color:var(--cpv-text)!important;
  margin:0 0 7px!important;
  font-size:21px!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
.cp-visual-coherence .cp-print-catalog-body>p{
  margin:0 0 10px!important;
  color:var(--cpv-muted)!important;
  font-size:15px!important;
  line-height:1.48!important;
}
.cp-visual-coherence .cp-print-use-chips{gap:7px!important}
.cp-visual-coherence .cp-print-use-chips>span{
  min-height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 10px!important;
  border:1px solid var(--cpv-border)!important;
  border-radius:999px!important;
  background:#F8FAFC!important;
  color:var(--cpv-body)!important;
  font-size:12px!important;
  font-weight:700!important;
}
.cp-visual-coherence .cp-print-card-foot{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid var(--cpv-border)!important;
  gap:12px!important;
  align-items:center!important;
}
.cp-visual-coherence .cp-print-card-foot>strong{
  color:var(--cpv-text)!important;
  font-size:14px!important;
  line-height:1.15!important;
}
.cp-visual-coherence .cp-print-card-foot>strong small{
  display:block!important;
  margin-top:5px!important;
  color:var(--cpv-muted)!important;
  font-size:12px!important;
  font-weight:600!important;
}
.cp-visual-coherence .cp-print-card-foot .cp-btn{
  min-height:44px!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
}

/* Banda de ayuda alineada con el resto de la retícula. */
.cp-visual-coherence .cp-print-help-band{
  border:1px solid var(--cpv-border)!important;
  border-radius:var(--cpv-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--cpv-shadow-sm)!important;
}
.cp-visual-coherence .cp-print-help-band h2{color:var(--cpv-text)!important}
.cp-visual-coherence .cp-print-help-band p{color:var(--cpv-muted)!important}

/* La tarjeta Sellos de Home usa exactamente el componente de Imprenta. */
.cp-visual-coherence .cpvc-home-stamp-card .cp-premium-print-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:10px!important;
}

/* Botones: mismo peso y altura en componentes públicos. */
.cp-visual-coherence :where(.cp-print-card-foot .cp-btn,.cp-print-help-band .cp-btn,.cp-premium-btn,.cp-premium-print-copy em){
  font-weight:750!important;
}

@media(max-width:760px){
  /* Cabecera móvil más compacta. */
  .cp-visual-coherence .cp-site-nav{
    min-height:68px!important;
    padding:8px 16px!important;
    gap:12px!important;
  }
  .cp-visual-coherence .cp-brand{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
  }
  .cp-visual-coherence .cp-brand img{
    display:block!important;
    width:auto!important;
    height:44px!important;
    max-width:70px!important;
    object-fit:contain!important;
  }
  .cp-visual-coherence .cp-menu-toggle{
    min-height:44px!important;
    padding:0 12px!important;
    gap:8px!important;
    border:1px solid var(--cpv-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--cpv-text)!important;
    box-shadow:none!important;
  }
  .cp-visual-coherence .cp-menu-toggle b{font-size:12px!important;letter-spacing:.02em!important}

  /* Familias: menos aire y jerarquía idéntica. */
  .cp-visual-coherence .cp-print-index-hero{
    padding:20px!important;
    border-radius:16px!important;
  }
  .cp-visual-coherence .cp-print-index-hero .cp-back-link{
    min-height:38px!important;
    margin-bottom:15px!important;
  }
  .cp-visual-coherence .cp-print-index-hero h1{
    font-size:clamp(36px,10.6vw,43px)!important;
    line-height:1.01!important;
    letter-spacing:-.045em!important;
    margin-bottom:14px!important;
  }
  .cp-visual-coherence .cp-print-index-hero p{
    font-size:16px!important;
    line-height:1.52!important;
  }
  .cp-visual-coherence .cp-print-index-products{
    padding-top:28px!important;
  }
  .cp-visual-coherence .cp-section-head{
    display:block!important;
    margin-bottom:18px!important;
  }
  .cp-visual-coherence .cp-section-head h2{
    font-size:clamp(30px,8.7vw,38px)!important;
    line-height:1.04!important;
    letter-spacing:-.04em!important;
  }
  .cp-visual-coherence .cp-section-head>p{
    margin-top:12px!important;
    font-size:16px!important;
    line-height:1.48!important;
  }

  /* Las imágenes dejan de convertir cada tarjeta en una pantalla completa. */
  .cp-visual-coherence .cp-print-catalog-grid{gap:14px!important}
  .cp-visual-coherence .cp-print-catalog-card{border-radius:14px!important}
  .cp-visual-coherence .cp-print-catalog-media{
    height:220px!important;
    aspect-ratio:auto!important;
  }
  .cp-visual-coherence .cp-print-catalog-media>img{
    padding:12px!important;
    object-fit:contain!important;
  }
  .cp-visual-coherence .cp-print-catalog-body{padding:16px!important}
  .cp-visual-coherence .cp-print-catalog-body h2{
    font-size:20px!important;
    margin-bottom:6px!important;
  }
  .cp-visual-coherence .cp-print-catalog-body>p{
    font-size:14px!important;
    line-height:1.43!important;
    margin-bottom:9px!important;
  }
  .cp-visual-coherence .cp-print-card-foot{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    margin-top:12px!important;
    padding-top:12px!important;
  }
  .cp-visual-coherence .cp-print-card-foot .cp-btn{
    min-width:132px!important;
    justify-content:center!important;
  }

  .cp-visual-coherence .cp-print-help-band{
    display:block!important;
    padding:22px!important;
    border-radius:14px!important;
  }
  .cp-visual-coherence .cp-print-help-band h2{
    font-size:29px!important;
    line-height:1.05!important;
    margin-bottom:10px!important;
  }
  .cp-visual-coherence .cp-print-help-band .cp-btn{
    width:100%!important;
    justify-content:center!important;
    margin-top:18px!important;
  }

  /* Home: secciones más compactas sin rehacer su estructura. */
  .cp-visual-coherence .cp-premium-hero-copy h1{
    color:#fff!important;
    letter-spacing:-.045em!important;
  }
  .cp-visual-coherence .cp-premium-hero-copy h1 span{color:var(--cpv-primary)!important}
  .cp-visual-coherence .cp-premium-section-head{gap:10px!important}
  .cp-visual-coherence .cp-premium-section-head h2{letter-spacing:-.04em!important}

  /* Imprenta en Home pasa a tarjeta horizontal compacta. */
  .cp-visual-coherence .cp-premium-print-grid{gap:12px!important}
  .cp-visual-coherence .cp-premium-print-card{
    display:grid!important;
    grid-template-columns:124px minmax(0,1fr)!important;
    min-height:138px!important;
    overflow:hidden!important;
    border-radius:14px!important;
  }
  .cp-visual-coherence .cp-premium-print-media{
    width:124px!important;
    min-height:138px!important;
    height:100%!important;
    aspect-ratio:auto!important;
    border-radius:0!important;
  }
  .cp-visual-coherence .cp-premium-print-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    padding:8px!important;
  }
  .cp-visual-coherence .cp-premium-print-copy{
    padding:14px!important;
    min-width:0!important;
  }
  .cp-visual-coherence .cp-premium-print-copy strong{
    font-size:18px!important;
    line-height:1.15!important;
  }
  .cp-visual-coherence .cp-premium-print-copy p{
    margin:6px 0 8px!important;
    font-size:13px!important;
    line-height:1.36!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .cp-visual-coherence .cp-premium-print-copy em{font-size:13px!important}

  /* Reduce ruido de sombras en móvil. */
  .cp-visual-coherence :where(.cp-premium-print-card,.cp-premium-case,.cp-premium-product,.cp-print-catalog-card){
    box-shadow:none!important;
  }
}
