/* Medellín Hair Transplant — hoja de estilos compartida */
html { scroll-behavior: smooth; }
body { margin: 0; background: #FBFBFA; color: #1B1D1F; font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; font-size: 16px; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
summary::-webkit-details-marker { display: none; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}

/* ── Cabecera ── */
.site-header { position: sticky; top: 0; z-index: 50; background: #002E59; border-bottom: 1px solid #001F3D; height: 130px; }
.header-inner { max-width: 1160px; margin: 0 auto; padding: 0 24px 6px; height: 130px; box-sizing: border-box; display: flex; align-items: flex-end; gap: 16px; position: relative; }
.brand { flex-shrink: 1; min-width: 0; display: flex; align-items: center; gap: 14px; min-height: 48px; text-decoration: none; color: #FFFFFF; font-size: 19px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; outline: none; width: 467px; max-width: 60vw; }
.brand:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.brand img { display: block; height: 112px; width: auto; object-fit: contain; flex-shrink: 0; }
.site-nav { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 2px; }
.nav-link { display: flex; align-items: center; min-height: 44px; padding: 0 13px; text-decoration: none; color: #FFFFFF; font-size: 17px; letter-spacing: 0.02em; white-space: nowrap; outline: none; transition: color 120ms; font-weight: 700; }
.nav-link:hover { color: #FFFFFF; }
.nav-link:focus-visible { outline: 2px solid #FFFFFF; outline-offset: -2px; }
.nav-link[aria-current="page"] { color: #FFFFFF; box-shadow: inset 0 -2px 0 #95811C; }
.lang-switch { flex-shrink: 0; display: flex; align-items: center; gap: 0; margin-left: auto; }
.lang-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 10px; text-decoration: none; font-size: 15px; font-weight: 600; letter-spacing: 0.06em; color: rgba(255,255,255,0.55); outline: none; }
.lang-link.is-active { color: #FFFFFF; }
.lang-link:hover { color: #FFFFFF; }
.lang-link:focus-visible { outline: 2px solid #FFFFFF; outline-offset: -2px; }
.lang-sep { color: rgba(255,255,255,0.5); font-size: 12px; }
.nav-toggle { display: none; }

@media (min-width: 768px) {
  .site-nav { margin-left: auto; }
  .lang-switch { margin-left: 0; }
}

@media (max-width: 767px) {
  .site-header { height: 84px; }
  .header-inner { height: 84px; padding: 0 12px; gap: 8px; align-items: center; }
  .brand { font-size: 13px; letter-spacing: 0.1em; gap: 10px; width: auto; max-width: none; flex-shrink: 1; min-width: 0; }
  .brand img { height: 68px; width: auto; max-width: 100%; }
  .nav-toggle { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 48px; height: 48px; min-width: 44px; min-height: 44px; margin-left: auto; background: none; border: 1px solid rgba(255,255,255,0.35); border-radius: 4px; cursor: pointer; padding: 0; flex-shrink: 0; }
  .nav-toggle .bar { display: block; width: 20px; height: 2px; background: #FFFFFF; transition: transform 160ms, opacity 160ms; }
  .nav-toggle[aria-expanded="true"] .bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .bar:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] .bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .lang-switch { margin-left: 0; }
  .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; padding: 8px 16px 16px; background: #002E59; border-bottom: 1px solid #001F3D; box-shadow: 0 12px 24px rgba(0,0,0,0.18); }
  .site-nav.is-open { display: flex; }
  .site-nav .nav-link { min-height: 48px; border-top: 1px solid rgba(255,255,255,0.12); white-space: normal; }
  .site-nav .nav-link:first-child { border-top: none; }
}

/* ── Marcadores de posición de imágenes ── */
.slot-ph { display: flex; align-items: center; justify-content: center; background: #EDEFF1; border: 1px dashed #C6CACD; color: #8A9096; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; padding: 16px; }

/* ── Estados hover/focus/active (equivalentes a los originales) ── */
.ps0:hover { background: var(--accent, #3E5C76) !important }
.ps1:focus { outline: 2px solid var(--accent, #3E5C76) !important; outline-offset: 3px !important }
.ps2:hover { border-color: #17191B !important }
.ps3:hover { background: #F2F3F4 !important }
.ps4:focus { outline: 2px solid var(--accent, #3E5C76) !important; outline-offset: -2px !important }
.ps5:hover { border-color: #141618 !important }
.ps6:focus { outline: 2px solid var(--accent, #1F5384) !important; outline-offset: 3px !important }
.ps7:hover { background: var(--accent, #1F5384) !important }
.ps8:focus { outline: 2px solid var(--accent, #1F5384) !important; outline-offset: -2px !important }
.ps9:focus { border-color: var(--accent, #1F5384) !important; box-shadow: 0 0 0 2px rgba(31,83,132,0.2) !important }

/* ── Accesibilidad: enlace para saltar al contenido ── */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 300; display: inline-block; background: #17191B; color: #FFFFFF; padding: 14px 22px; font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; text-decoration: none; }
.skip-link:focus { left: 0; outline: 2px solid #FFFFFF; outline-offset: -4px; }

/* ── Enlaces del pie (fondo azul) ── */
.psA:hover { border-color: #FFFFFF !important; color: #FFFFFF !important }

@keyframes sciBob { 0%, 100% { transform: translateY(0); opacity: 0.5; } 50% { transform: translateY(10px); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
