/* ============================================================
   CBD · SD COUTURE · v1 — capa de pulido para landings de servicio
   Cristina Beauty Designer · cargada al final de la cascada
   ============================================================ */

/* — Tipografía editorial — */
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: rgba(122, 7, 18, 0.16); }

/* — CTAs: una sola línea, jamás partidos — */
.hyb-btn, .sd-nav-cta, .sd-back, .lg-back { white-space: nowrap; }
.hyb-btn { gap: 0.65rem; }

@media (max-width: 480px) {
  .hyb-hero-cta { width: 100%; }
  .hyb-hero-cta .hyb-btn {
    width: 100%;
    justify-content: center;
    font-size: 0.78rem;
  }
}

/* — Microinteracción refinada de botones — */
.hyb-btn { transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.3s ease; }
.hyb-btn:active { transform: scale(0.98); }

/* — Imágenes con zoom sutil al hover (solo dispositivos con cursor) — */
@media (hover: hover) {
  .hyb-hero-fig { overflow: hidden; }
  .hyb-hero-fig img { transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1); }
  .hyb-hero-stage:hover .hyb-hero-fig img { transform: scale(1.035); }
}

/* — Focus visible consistente (accesibilidad premium) — */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid rgba(201, 162, 78, 0.85);
  outline-offset: 3px;
  border-radius: 4px;
}

/* — Tablet: el hero de servicio respira mejor entre 768–1023 — */
@media (min-width: 768px) and (max-width: 1023px) {
  .hyb-hero-grid { gap: 2.5rem; align-items: center; }
}

/* — Reduced motion absoluto — */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
