/* CA.cl masajistas · hoja única. Diseño de Claude Design (01-nov-2026), pasado a WordPress por Claude Code.
   Fuentes Nunito y Pacifico, cargadas en partes.php. */

:root {
  --ms-rosa: #F6BDE0;
  --ms-fucsia: #FF3EB5;
  --ms-fucsia-osc: #D9359A;
  --ms-fucsia-prof: #C2187A;
  --ms-blanco: #FFFFFF;
  --ms-carbon: #333333;
  --ms-negro: #000000;
  --ms-oro: #FACD32;
  --ms-rosa-suave: #FDE6F3;
  --ms-gris-suave: #F3F0F2;
  --ms-linea: #F6DCEB;
  --ms-sombra: 0 14px 34px -14px rgba(194, 24, 122, .45);
  --ms-font-logo: 'Pacifico', cursive;
  --ms-font: 'Nunito', system-ui, sans-serif;
  --ms-radio: 28px;
  --ms-ancho: 1120px;
  --ms-cabecera: 92px;
}

/* Base */
.ms-body { margin: 0; overflow-x: hidden; font-family: var(--ms-font); color: var(--ms-carbon); -webkit-font-smoothing: antialiased;
  background-color: var(--ms-rosa); background-attachment: fixed;
  background-image:
    radial-gradient(circle 120px at 9% 14%, rgba(255,255,255,.55), rgba(255,255,255,0)),
    radial-gradient(circle 70px at 84% 9%, rgba(255,255,255,.6), rgba(255,255,255,0)),
    radial-gradient(circle 160px at 92% 46%, rgba(255,255,255,.35), rgba(255,255,255,0)),
    radial-gradient(circle 46px at 30% 38%, rgba(255,255,255,.5), rgba(255,255,255,0)),
    radial-gradient(circle 100px at 18% 78%, rgba(255,255,255,.4), rgba(255,255,255,0)),
    radial-gradient(circle 54px at 62% 70%, rgba(255,255,255,.45), rgba(255,255,255,0)),
    radial-gradient(circle 140px at 70% 96%, rgba(255,255,255,.35), rgba(255,255,255,0)),
    radial-gradient(circle 34px at 52% 18%, rgba(255,255,255,.55), rgba(255,255,255,0)); }
.ms-body *, .ms-body *::before, .ms-body *::after { box-sizing: border-box; }
.ms-body a { color: var(--ms-fucsia-prof); }
.ms-body a:hover { color: var(--ms-negro); }
.ms-body button, .ms-body textarea { font: inherit; }
.ms-contenedor { max-width: var(--ms-ancho); margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.ms-main { padding-top: var(--ms-cabecera); }
.ms-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Cabecera */
.ms-header { position: fixed; top: 0; left: 0; right: 0; z-index: 40; background: var(--ms-fucsia); box-shadow: 0 8px 24px -12px rgba(120,0,70,.5); }
.ms-header__fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--ms-cabecera); padding-top: 8px; padding-bottom: 8px; }
.ms-logo { display: flex; flex-direction: column; justify-content: center; min-height: 44px; text-decoration: none; }
.ms-logo__palabra { position: relative; z-index: 1; font-family: var(--ms-font-logo); font-size: 38px; line-height: 1; color: var(--ms-blanco); text-shadow: 0 2px 0 rgba(150,0,85,.22); }
/* La firma baja 15px para que la cola de la "j" no la toque */
.ms-logo__firma { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin: 15px 0 0 3px; padding: 4px 10px; border-radius: 100px; background: var(--ms-fucsia-osc); font: 700 12px/1 var(--ms-font); color: var(--ms-blanco); white-space: nowrap; }
.ms-logo__favicon { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--ms-blanco); display: block; flex: none; }
.ms-pill-edad { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--ms-fucsia-osc); color: var(--ms-blanco); font: 800 19px/1 var(--ms-font); white-space: nowrap; }

/* Botones */
.ms-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 0; border-radius: 999px; font: 800 19px/1 var(--ms-font); text-decoration: none; cursor: pointer; transition: background .2s; }
.ms-btn--primario { background: var(--ms-fucsia); color: var(--ms-blanco) !important; box-shadow: 0 8px 18px -8px rgba(194,24,122,.7); }
.ms-btn--primario:hover { background: var(--ms-fucsia-osc); }
.ms-btn--secundario { background: var(--ms-fucsia-osc); color: var(--ms-blanco) !important; }
.ms-btn--blanco { background: var(--ms-blanco); color: var(--ms-fucsia-prof) !important; box-shadow: 0 8px 18px -8px rgba(120,0,70,.5); }
.ms-btn--contorno { background: var(--ms-blanco); color: var(--ms-fucsia-prof) !important; border: 2px solid var(--ms-fucsia); min-height: 54px; }
.ms-btn--contorno:hover { background: var(--ms-rosa-suave); }
.ms-btn--ancho { display: flex; width: 100%; }
.ms-btn--whatsapp { min-height: 62px; font-size: 21px; box-shadow: 0 12px 24px -10px rgba(194,24,122,.8); }

/* Portada */
.ms-hero { padding-top: 44px; padding-bottom: 12px; }
.ms-etiqueta { margin: 0 0 14px; display: flex; align-items: center; gap: 8px; font: 700 13px/1.3 var(--ms-font); letter-spacing: .08em; text-transform: uppercase; color: var(--ms-negro); }
.ms-etiqueta::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ms-fucsia); flex: none; }
.ms-h1 { margin: 0; font: 900 clamp(40px, 10vw, 72px)/1.02 var(--ms-font); color: var(--ms-negro); letter-spacing: -.015em; text-wrap: balance; max-width: 820px; }
.ms-bajada { margin: 18px 0 0; max-width: 560px; font: 500 18px/1.5 var(--ms-font); color: var(--ms-carbon); text-wrap: pretty; }

/* Encabezado con foto y tinte fucsia (08-nov-2026). El degradado garantiza contraste del texto blanco en toda la altura */
.ms-body--listado .ms-hero { padding-top: 24px; }
.ms-hero__marco { position: relative; overflow: hidden; min-height: 400px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: var(--ms-radio); box-shadow: 0 14px 34px -14px rgba(194, 24, 122, .55); background: #B42A73; }
.ms-hero__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.ms-hero__marco::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(194, 24, 122, .25) 0%, rgba(190, 22, 118, .58) 22%, rgba(178, 20, 112, .80) 45%, rgba(140, 8, 84, .93) 100%); }
.ms-hero__texto { position: relative; z-index: 1; padding: 32px 22px 22px; }
.ms-hero__marco .ms-etiqueta, .ms-hero__marco .ms-h1, .ms-hero__marco .ms-bajada { color: var(--ms-blanco); }
.ms-hero__marco .ms-etiqueta::before { background: var(--ms-blanco); }

/* Botón «Sube un reporte» junto al conteo: blanco con borde fucsia, secundario */
.ms-subir { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 18px; border: 2px solid var(--ms-fucsia); border-radius: 999px; background: var(--ms-blanco); font: 800 15px/1 var(--ms-font); color: var(--ms-fucsia-prof) !important; text-decoration: none; box-shadow: var(--ms-sombra); }
.ms-subir span { font-size: 20px; line-height: 1; }
.ms-subir:hover { background: var(--ms-rosa-suave); }
.ms-vacio .ms-subir { margin-top: 8px; }
@media (min-width: 720px) {
  .ms-hero__marco { min-height: 440px; }
  .ms-hero__texto { padding: 48px 44px 36px; }
}
.ms-h2 { margin: 0 0 18px; font: 900 clamp(30px, 7vw, 40px)/1.1 var(--ms-font); color: var(--ms-negro); }

/* Filtro */
.ms-filtros { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 20px; padding-bottom: 8px; }
.ms-selector { display: flex; gap: 4px; padding: 5px; background: var(--ms-blanco); border-radius: 999px; box-shadow: var(--ms-sombra); }
.ms-selector__opcion { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 999px; font: 800 19px/1 var(--ms-font); color: var(--ms-carbon) !important; text-decoration: none; }
.ms-selector__opcion--activa { background: var(--ms-fucsia); color: var(--ms-blanco) !important; box-shadow: 0 6px 16px -6px rgba(194,24,122,.7); }
.ms-conteo { margin: 0; font: 600 15px/1.3 var(--ms-font); color: var(--ms-carbon); }

/* Foto de relleno */
.ms-foto { position: relative; overflow: hidden; aspect-ratio: 3 / 4; background: linear-gradient(165deg, #FF9AD2, #B42A73); }
.ms-foto--2x3 { aspect-ratio: 2 / 3; }
.ms-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ms-foto--relleno::before { content: ""; position: absolute; left: 50%; top: 24%; width: 30%; aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%; background: rgba(255,255,255,.26); }
.ms-foto--relleno::after { content: ""; position: absolute; left: 50%; bottom: -6%; width: 78%; height: 44%; transform: translateX(-50%); border-radius: 50% 50% 0 0; background: rgba(255,255,255,.22); }
.ms-foto--t1 { background: linear-gradient(165deg, #FF9AD2, #B42A73); }
.ms-foto--t2 { background: linear-gradient(165deg, #E9B2E0, #7C3F86); }
.ms-foto--t3 { background: linear-gradient(165deg, #F7B4D6, #8E3A78); }
.ms-foto--t4 { background: linear-gradient(165deg, #FFA8C8, #B0365E); }

/* Píldoras y chips */
.ms-nivel { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 14px; border-radius: 999px; background: var(--ms-blanco); color: var(--ms-fucsia-prof); font: 800 14px/1 var(--ms-font); letter-spacing: .05em; text-transform: uppercase; }
.ms-nivel::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ms-fucsia); }
.ms-foto .ms-nivel { position: absolute; top: 14px; left: 14px; z-index: 1; box-shadow: 0 4px 12px -4px rgba(0,0,0,.25); }
.ms-sello { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 14px; border-radius: 999px; background: var(--ms-blanco); color: var(--ms-carbon); font: 700 14px/1 var(--ms-font); }
.ms-sello::before { content: "✓"; color: var(--ms-fucsia-prof); font-weight: 900; }
.ms-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; }
.ms-chip { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 12px; border-radius: 999px; font: 700 13px/1.2 var(--ms-font); background: var(--ms-rosa-suave); color: var(--ms-fucsia-prof); }
.ms-chip--no { background: var(--ms-gris-suave); color: var(--ms-carbon); }
.ms-estrellas { color: var(--ms-fucsia); letter-spacing: 1px; }
.ms-estrellas__vacia { color: #F6D3E7; }

/* Bloque Premium */
.ms-premium { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; padding-top: 16px; padding-bottom: 56px; }
.ms-card { background: var(--ms-blanco); border-radius: var(--ms-radio); overflow: hidden; box-shadow: var(--ms-sombra); display: flex; flex-direction: column; }
.ms-card__cuerpo { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 10px; }
.ms-card__fila { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ms-card__nombre { margin: 0; font: 900 28px/1.1 var(--ms-font); color: var(--ms-carbon); }
.ms-card__edad { font: 600 16px/1 var(--ms-font); white-space: nowrap; }
.ms-card__sector { margin: 0; font: 500 15px/1.3 var(--ms-font); }
.ms-card__nota { margin: 0; display: flex; align-items: center; gap: 8px; font: 600 14px/1 var(--ms-font); }
.ms-card__nota strong { font-weight: 900; font-size: 16px; }
.ms-card .ms-btn { margin-top: 8px; }

/* Banda "¿Eres masajista?" */
.ms-banda { background: var(--ms-fucsia); }
.ms-banda__fila { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-top: 48px; padding-bottom: 48px; }
.ms-banda__texto { flex: 1 1 300px; max-width: 600px; }
.ms-banda__titulo { margin: 0; font: 900 clamp(36px, 8vw, 52px)/1.05 var(--ms-font); color: var(--ms-blanco); }
.ms-banda__bajada { margin: 14px 0 0; font: 600 17px/1.5 var(--ms-font); color: var(--ms-blanco); text-wrap: pretty; }
.ms-banda__acciones { display: flex; flex-wrap: wrap; gap: 10px; }

/* Más masajistas */
.ms-resto { padding-top: 48px; padding-bottom: 24px; }
.ms-grilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.ms-card--compacta { border-radius: 22px; text-decoration: none; color: var(--ms-carbon) !important; transition: transform .2s; }
.ms-card--compacta:hover { transform: translateY(-2px); }
.ms-card--compacta .ms-card__cuerpo { padding: 12px 12px 14px; gap: 5px; }
.ms-card--compacta .ms-card__nombre { font-size: 18px; }
.ms-card--compacta .ms-card__edad { font-size: 13px; }
.ms-card--compacta .ms-card__sector { font-size: 13px; }
.ms-card--compacta .ms-card__nota { font-size: 12px; gap: 5px; }
.ms-card--compacta .ms-card__nota strong { font-size: 13px; }
.ms-card--compacta .ms-chips { gap: 4px; margin-top: 3px; }
.ms-card--compacta .ms-chip { min-height: 24px; padding: 3px 9px; font-size: 11px; }

/* Preguntas frecuentes */
.ms-faq { max-width: 820px; padding-top: 48px; padding-bottom: 40px; }
.ms-acordeon { background: var(--ms-blanco); border-radius: var(--ms-radio); box-shadow: var(--ms-sombra); overflow: hidden; }
.ms-acordeon__item { border-top: 1px solid var(--ms-linea); }
.ms-acordeon__item:first-child { border-top: 0; }
.ms-acordeon__pregunta { list-style: none; min-height: 64px; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; font: 800 18px/1.3 var(--ms-font); color: var(--ms-carbon); }
.ms-acordeon__pregunta::-webkit-details-marker { display: none; }
.ms-acordeon__pregunta::after { content: "+"; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--ms-rosa-suave); color: var(--ms-fucsia-prof); display: flex; align-items: center; justify-content: center; font: 800 24px/1 var(--ms-font); transition: transform .25s; }
.ms-acordeon__item[open] .ms-acordeon__pregunta::after { transform: rotate(45deg); }
.ms-acordeon__respuesta { margin: 0; padding: 0 20px 22px; font: 400 16px/1.6 var(--ms-font); text-wrap: pretty; }

/* Pie */
.ms-pie { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 28px; padding-bottom: 40px; border-top: 1px solid rgba(0,0,0,.1); font: 500 13px/1.5 var(--ms-font); color: var(--ms-carbon); }
.ms-pie p { margin: 0; }
.ms-pie__nav { display: flex; flex-wrap: wrap; gap: 0 4px; }
.ms-pie__nav a { color: var(--ms-negro); display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }

/* Ficha */
.ms-ficha { padding-top: 8px; padding-bottom: 48px; }
.ms-volver { display: inline-flex; align-items: center; min-height: 48px; padding: 0 4px; font: 700 16px/1 var(--ms-font); color: var(--ms-negro) !important; text-decoration: none; }
.ms-ficha__grilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 4px; }
.ms-ficha__info { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ms-ficha__pildoras { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-ficha__pildoras .ms-nivel { min-height: 34px; }
.ms-ficha__nombre { margin: 0; font: 900 clamp(44px, 11vw, 64px)/1 var(--ms-font); color: var(--ms-negro); }
.ms-ficha__datos { margin: 12px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font: 600 17px/1.3 var(--ms-font); color: var(--ms-negro); }
.ms-verificada { display: inline-flex; align-items: center; gap: 6px; }
.ms-verificada::before { content: "✓"; width: 22px; height: 22px; border-radius: 50%; background: var(--ms-blanco); color: var(--ms-fucsia-prof); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; }
.ms-ficha__desc { margin: 0; font: 400 17px/1.6 var(--ms-font); text-wrap: pretty; }

/* Galería */
.ms-galeria { min-width: 0; }
.ms-galeria__marco { position: relative; border-radius: var(--ms-radio); overflow: hidden; box-shadow: var(--ms-sombra); background: var(--ms-blanco); }
.ms-galeria__portada { display: block; width: 100%; padding: 0; border: 0; cursor: zoom-in; }

/* Álbum «Fotos» con el formato de escort (08-nov-2026): la siguiente foto asoma para que se note que hay más */
.ms-album { margin-top: 18px; background: var(--ms-blanco); border-radius: var(--ms-radio); box-shadow: var(--ms-sombra); padding: 16px 0 14px; }
.ms-album__cabeza { display: flex; justify-content: space-between; align-items: baseline; padding: 0 18px; }
.ms-album__titulo { margin: 0; font: 900 22px/1.1 var(--ms-font); color: var(--ms-carbon); }
.ms-album__conteo { font: 700 14px/1 var(--ms-font); color: var(--ms-fucsia-prof); }
.ms-album__envoltura { position: relative; }
.ms-album__pista { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px 18px 4px; scroll-padding: 0 18px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ms-album__pista::-webkit-scrollbar { display: none; }
.ms-album__foto { position: relative; flex: 0 0 72%; max-width: 260px; aspect-ratio: 3 / 4; padding: 0; border: 0; border-radius: 18px; overflow: hidden; cursor: zoom-in; scroll-snap-align: start; background: linear-gradient(165deg, #FF9AD2, #B42A73); }
.ms-album__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ms-album__flecha { display: none; }
@media (pointer: fine) {
  .ms-album__flecha { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: var(--ms-fucsia); color: var(--ms-blanco); font: 800 24px/1 var(--ms-font); cursor: pointer; box-shadow: 0 4px 12px -4px rgba(0,0,0,.35); align-items: center; justify-content: center; }
  .ms-album__flecha:hover { background: var(--ms-fucsia-osc); }
  .ms-album__flecha--ant { left: 8px; }
  .ms-album__flecha--sig { right: 8px; }
  .ms-album--ant .ms-album__flecha--ant, .ms-album--sig .ms-album__flecha--sig { display: flex; }
}

/* Visor a pantalla completa */
.ms-visor-abierto, .ms-visor-abierto body { overflow: hidden; }
.ms-visor { position: fixed; inset: 0; z-index: 1000; background: rgba(20, 4, 14, .96); }
.ms-visor[hidden] { display: none; }
.ms-visor__pista { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ms-visor__pista::-webkit-scrollbar { display: none; }
.ms-visor__foto { flex: 0 0 100%; scroll-snap-align: center; display: flex; align-items: center; justify-content: center; padding: 56px 12px; box-sizing: border-box; }
.ms-visor__foto img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 12px; }
.ms-visor__cerrar { position: absolute; top: 14px; right: 14px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--ms-fucsia); color: var(--ms-blanco); font: 800 18px/1 var(--ms-font); cursor: pointer; }
.ms-visor__nav { display: none; }
@media (pointer: fine) {
  .ms-visor__nav { display: flex; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--ms-fucsia); color: var(--ms-blanco); font: 800 28px/1 var(--ms-font); cursor: pointer; align-items: center; justify-content: center; }
  .ms-visor__nav:hover { background: var(--ms-fucsia-osc); }
  .ms-visor__nav--ant { left: 18px; }
  .ms-visor__nav--sig { right: 18px; }
}
.ms-visor__conteo { position: absolute; bottom: 18px; left: 0; right: 0; margin: 0; text-align: center; font: 700 15px/1 var(--ms-font); color: var(--ms-blanco); }

/* Paneles */
.ms-panel { background: var(--ms-blanco); border-radius: var(--ms-radio); box-shadow: var(--ms-sombra); padding: 24px 22px; }
.ms-panel__titulo { margin: 0 0 14px; font: 900 24px/1.1 var(--ms-font); color: var(--ms-carbon); }
.ms-incluye__lista { list-style: none; margin: 0; padding: 0; }
.ms-incluye__item { display: flex; align-items: center; gap: 12px; min-height: 46px; border-top: 1px solid var(--ms-linea); font: 600 16px/1.35 var(--ms-font); }
.ms-incluye__item::before { content: "✓"; flex: none; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 900 14px/1 var(--ms-font); background: var(--ms-rosa-suave); color: var(--ms-fucsia-prof); }
.ms-incluye__item--no::before { content: "–"; background: var(--ms-gris-suave); color: var(--ms-carbon); }

/* Reportes */
.ms-reportes { display: flex; flex-direction: column; gap: 22px; }
.ms-reportes__cabeza { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.ms-reportes__cabeza .ms-panel__titulo { margin: 0; }
.ms-reportes__conteo { font: 600 14px/1.3 var(--ms-font); }
.ms-nota-general { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 22px; background: var(--ms-rosa-suave); }
.ms-nota-general__numero { font: 900 56px/1 var(--ms-font); color: var(--ms-carbon); }
.ms-nota-general .ms-estrellas { font-size: 22px; letter-spacing: 2px; }
.ms-nota-general p { margin: 4px 0 0; font: 600 14px/1.35 var(--ms-font); }
.ms-criterios__titulo { margin: 0 0 10px; font: 800 17px/1.2 var(--ms-font); color: var(--ms-fucsia-prof); }
.ms-criterios__lista { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ms-criterio__fila { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; font: 600 15px/1.3 var(--ms-font); }
.ms-criterio__fila strong { font-weight: 900; }
.ms-barra { display: block; width: 100%; height: 10px; border: 0; border-radius: 999px; background: #FCE3F1; overflow: hidden; -webkit-appearance: none; appearance: none; }
.ms-barra::-webkit-progress-bar { background: #FCE3F1; border-radius: 999px; }
.ms-barra::-webkit-progress-value { background: var(--ms-fucsia); border-radius: 999px; }
.ms-barra::-moz-progress-bar { background: var(--ms-fucsia); border-radius: 999px; }
.ms-reporte { padding: 18px 0; border-top: 1px solid var(--ms-linea); display: flex; flex-direction: column; gap: 8px; }
.ms-reporte__cabeza { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.ms-reporte__fecha { font: 600 13px/1 var(--ms-font); }
.ms-reporte__texto { margin: 0; font: 400 16px/1.55 var(--ms-font); text-wrap: pretty; }
.ms-reporte__coincide { margin: 0; font: 700 13px/1.3 var(--ms-font); color: var(--ms-fucsia-prof); }
.ms-reporte__coincide--no { color: var(--ms-carbon); }
.ms-etiqueta-reporte { display: inline-flex; align-items: center; min-height: 30px; padding: 0 13px; border-radius: 999px; font: 800 14px/1 var(--ms-font); }
.ms-etiqueta-reporte--excelente { background: var(--ms-fucsia); color: var(--ms-negro); }
.ms-etiqueta-reporte--buena { background: var(--ms-rosa-suave); color: var(--ms-fucsia-prof); }
.ms-etiqueta-reporte--regular { background: #F1ECEF; color: var(--ms-carbon); }
.ms-etiqueta-reporte--no { background: var(--ms-carbon); color: var(--ms-blanco); }

/* Formulario de reporte (dentro de <details>) */
.ms-dejar > summary { list-style: none; }
.ms-dejar > summary::-webkit-details-marker { display: none; }
.ms-form { margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--ms-linea); display: flex; flex-direction: column; gap: 26px; }
.ms-form fieldset { border: 0; margin: 0; padding: 0; }
.ms-form__titulo { padding: 0; margin-bottom: 12px; font: 800 18px/1.3 var(--ms-font); color: var(--ms-carbon); }
.ms-form__titulo--rosa { color: var(--ms-fucsia-prof); margin-bottom: 6px; }
.ms-opciones { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-opcion input { position: absolute; opacity: 0; pointer-events: none; }
.ms-opcion span { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 96px; padding: 0 18px; border-radius: 999px; border: 2px solid #F3C9DF; background: var(--ms-blanco); color: var(--ms-carbon); font: 800 19px/1 var(--ms-font); cursor: pointer; }
.ms-opcion input:checked + span { background: var(--ms-fucsia); border-color: var(--ms-fucsia); color: var(--ms-blanco); }
.ms-opcion input:focus-visible + span { outline: 3px solid var(--ms-fucsia-prof); outline-offset: 2px; }
.ms-calificar { padding: 10px 0; border-top: 1px solid var(--ms-linea); }
.ms-calificar__nombre { font: 600 16px/1.3 var(--ms-font); }
.ms-estrellas-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; margin: 4px 0 0 -6px; }
.ms-estrellas-input input { position: absolute; opacity: 0; pointer-events: none; }
.ms-estrellas-input label { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; font-size: 32px; line-height: 1; color: #F6D3E7; cursor: pointer; }
.ms-estrellas-input input:checked ~ label,
.ms-estrellas-input label:hover, .ms-estrellas-input label:hover ~ label { color: var(--ms-fucsia); }
.ms-estrellas-input input:focus-visible + label { outline: 3px solid var(--ms-fucsia-prof); border-radius: 12px; }
.ms-campo { display: flex; flex-direction: column; gap: 10px; }
.ms-campo textarea { width: 100%; padding: 14px 16px; border-radius: 20px; border: 2px solid #F3C9DF; font: 400 16px/1.5 var(--ms-font); color: var(--ms-carbon); resize: vertical; outline-color: var(--ms-fucsia); }
.ms-form__nota { margin: -12px 0 0; text-align: center; font: 500 13px/1.4 var(--ms-font); }

/* Botón WhatsApp fijo en celular */
.ms-cta-fija { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(246,189,224,.9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ms-cta-fija .ms-btn { max-width: 560px; margin: 0 auto; }
.ms-body--ficha .ms-pie { padding-bottom: 120px; }

/* Escritorio */
@media (min-width: 720px) {
  .ms-premium { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 820px) {
  .ms-ficha__grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ms-cta-fija { position: static; padding: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ms-cta-fija .ms-btn { max-width: none; }
  .ms-body--ficha .ms-pie { padding-bottom: 40px; }
}
@media (min-width: 1000px) {
  .ms-grilla { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Ajustes para WordPress (Claude Code, 01-nov) ---------- */

a.ms-foto, span.ms-foto { display: block; }
.ms-card--compacta .ms-card__sector { display: block; }
.ms-card--premium .ms-card__nombre { font-size: 28px; }
.ms-vacio { margin-top: 24px; margin-bottom: 24px; padding: 32px 20px; border-radius: var(--ms-radio); background: var(--ms-blanco); box-shadow: var(--ms-sombra); text-align: center; }
.ms-vacio p { margin: 8px 0 0; }
.ms-sin-reportes { margin: 0; font: 500 15px/1.5 var(--ms-font); }
.ms-ficha__desc p { margin: 0; }
.ms-ficha__desc p + p { margin-top: 10px; }
.ms-saltar { position: absolute; left: -999px; top: 8px; z-index: 60; padding: 10px 14px; border-radius: 999px; background: var(--ms-negro); color: var(--ms-blanco) !important; }
.ms-saltar:focus { left: 8px; }
.ms-body :focus-visible { outline: 3px solid var(--ms-fucsia-prof); outline-offset: 2px; }
/* Barra negra de WordPress, solo para administradores */
.admin-bar .ms-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ms-header { top: 46px; } }

/* Formulario de reporte: el fragmento 101 imprime sus propias clases; aquí toman el diseño nuevo */
.ms-reportar { margin-top: 6px; }
.ms-reportar > summary { list-style: none; }
.ms-reportar > summary::-webkit-details-marker { display: none; }
.ms-boton { display: flex; width: 100%; align-items: center; justify-content: center; min-height: 54px; padding: 0 26px; border: 2px solid var(--ms-fucsia); border-radius: 999px; background: var(--ms-blanco); color: var(--ms-fucsia-prof); font: 800 19px/1 var(--ms-font); cursor: pointer; }
.ms-boton--principal { background: var(--ms-fucsia); border-color: var(--ms-fucsia); color: var(--ms-blanco); box-shadow: 0 8px 18px -8px rgba(194,24,122,.7); }
.ms-reportar[open] > summary { background: var(--ms-rosa-suave); }
.ms-form .ms-campo legend, .ms-form .ms-campo__rotulo { padding: 0; margin-bottom: 12px; font: 800 18px/1.3 var(--ms-font); color: var(--ms-carbon); }
.ms-form__grupo { margin: 0 0 -14px; font: 800 17px/1.2 var(--ms-font); color: var(--ms-fucsia-prof); }
.ms-form .ms-campo--estrellas { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; padding: 8px 0; border-top: 1px solid var(--ms-linea); }
.ms-form .ms-campo--estrellas legend { float: left; margin: 0; font: 600 16px/1.3 var(--ms-font); }
.ms-form .ms-estrellas { display: inline-flex; flex-direction: row-reverse; letter-spacing: 0; }
.ms-form .ms-estrellas input { position: absolute; opacity: 0; pointer-events: none; }
.ms-form .ms-estrellas label { display: flex; align-items: center; justify-content: center; width: 44px; height: 48px; font-size: 30px; line-height: 1; color: #F6D3E7; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ms-form .ms-estrellas input:checked ~ label { color: var(--ms-fucsia); }
@media (hover: hover) { .ms-form .ms-estrellas label:hover, .ms-form .ms-estrellas label:hover ~ label { color: var(--ms-fucsia); } }
.ms-form .ms-estrellas input:focus-visible + label { outline: 3px solid var(--ms-fucsia-prof); border-radius: 12px; }
.ms-form .ms-campo { gap: 0; }
.ms-form .ms-campo textarea { margin-top: 0; }
.ms-trampa { position: absolute; left: -9999px; }
.ms-aviso { margin: 0 0 12px; padding: 14px 16px; border-radius: 20px; font: 700 15px/1.4 var(--ms-font); }
.ms-aviso--ok { background: var(--ms-rosa-suave); color: var(--ms-fucsia-prof); }
.ms-aviso--error { background: var(--ms-carbon); color: var(--ms-blanco); }

@media (prefers-reduced-motion: reduce) {
  .ms-body *, .ms-body *::before, .ms-body *::after { transition: none !important; }
}

/* Todas las tarjetas miden igual, tengan más o menos datos (Nico, 01-nov) */
.ms-grilla, .ms-premium { align-items: stretch; }
.ms-card--compacta { height: 100%; }
.ms-card--compacta .ms-card__cuerpo { flex: 1; }
.ms-card__sector { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ms-card .ms-chip { white-space: nowrap; }
.ms-card--premium .ms-card__cuerpo { flex: 1; }
.ms-card--premium .ms-btn { margin-top: auto; }
/* Un nombre largo se corta con «…» en una sola línea, para no agrandar la tarjeta */
.ms-card__fila { min-width: 0; }
.ms-card__nombre { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ms-card__edad { flex: none; }
/* La línea de nota mide lo mismo con estrellas o con «Nueva» */
.ms-card__nota { min-height: 18px; }

/* Formulario de inscripción dentro de la banda fucsia (01-nov) */
.ms-inscribir { flex: 0 1 auto; }
.ms-inscribir:has(details[open]) { flex-basis: 100%; }
.ms-inscribir > details > summary { list-style: none; }
.ms-inscribir > details > summary::-webkit-details-marker { display: none; }
.ms-inscribir > details[open] > summary { display: none; }
.ms-inscribir .ms-aviso { max-width: 560px; }
.ms-inscribir__form { max-width: 560px; margin-top: 0; padding: 24px 22px; border-top: 0; border-radius: var(--ms-radio); background: var(--ms-blanco); box-shadow: 0 14px 34px -14px rgba(120,0,70,.55); gap: 18px; color: var(--ms-carbon); }
.ms-inscribir__intro { margin: 0; font: 700 17px/1.45 var(--ms-font); }
.ms-inscribir .ms-campo { gap: 8px; }
.ms-inscribir .ms-campo__rotulo { margin: 0; font: 800 16px/1.3 var(--ms-font); color: var(--ms-carbon); }
.ms-inscribir .ms-campo__rotulo small { font-weight: 600; color: #6B5A64; }
.ms-campo__ayuda { font: 500 14px/1.45 var(--ms-font); color: #5E4A56; }
.ms-inscribir input[type="text"], .ms-inscribir input[type="number"], .ms-inscribir input[type="tel"] { width: 100%; min-height: 50px; padding: 0 16px; border: 2px solid #F3C9DF; border-radius: 999px; font: 500 16px/1 var(--ms-font); color: var(--ms-carbon); background: var(--ms-blanco); }
.ms-inscribir input[type="file"] { width: 100%; padding: 12px; border: 2px dashed #F3C9DF; border-radius: 20px; font: 600 15px/1.3 var(--ms-font); color: var(--ms-carbon); background: var(--ms-rosa-suave); }
.ms-inscribir input:focus { outline: none; border-color: var(--ms-fucsia); }
.ms-casilla { display: flex; align-items: center; gap: 12px; min-height: 44px; font: 700 16px/1.35 var(--ms-font); cursor: pointer; }
.ms-casilla input { flex: none; width: 24px; height: 24px; accent-color: var(--ms-fucsia-prof); }
.ms-banda .ms-aviso--ok { background: var(--ms-blanco); color: var(--ms-fucsia-prof); }
.ms-inscribir input[type="file"]::file-selector-button { margin-right: 12px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--ms-fucsia); color: var(--ms-blanco); font: 800 15px/1 var(--ms-font); cursor: pointer; }

/* Panel «Cómo es la sesión» (01-nov) */
.ms-sesion__lista { margin: 0; }
.ms-sesion__fila { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 12px 0; border-top: 1px solid var(--ms-linea); }
.ms-sesion__fila dt { font: 800 14px/1.3 var(--ms-font); color: var(--ms-fucsia-prof); }
.ms-sesion__fila dd { margin: 0; font: 600 16px/1.4 var(--ms-font); color: var(--ms-carbon); }

/* Página «Subir reporte de masajista» (08-nov) */
.ms-nuevo { padding-bottom: 32px; }
.ms-nuevo .ms-aviso, .ms-nuevo__ya, .ms-nuevo .ms-inscribir__form { max-width: 640px; }
.ms-nuevo .ms-inscribir__form { margin-top: 18px; }
.ms-nuevo__titulo { margin: 10px 0 0; padding-top: 14px; border-top: 1px solid var(--ms-linea); font: 900 22px/1.15 var(--ms-font); color: var(--ms-fucsia-prof); }
.ms-nuevo__titulo:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.ms-nuevo__ya { padding: 14px 18px; border-radius: 22px; background: var(--ms-blanco); box-shadow: var(--ms-sombra); }
.ms-nuevo__ya summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font: 800 16px/1.3 var(--ms-font); color: var(--ms-carbon); }
.ms-nuevo__ya .ms-chips { margin-top: 8px; }
.ms-nuevo__ya .ms-chip a { color: var(--ms-fucsia-prof); text-decoration: none; }
.ms-nuevo .ms-campo legend { font: 800 16px/1.3 var(--ms-font); margin-bottom: 10px; }
.ms-nuevo .ms-campo legend small { font-weight: 600; color: #6B5A64; }
.ms-nuevo .ms-opcion span { min-height: 44px; font-size: 16px; }
.ms-nuevo__volver { margin: 22px 0 0; font: 700 15px/1.4 var(--ms-font); }
.ms-nuevo__volver a { color: var(--ms-negro); }
.ms-enlace-reporte { display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; font: 700 15px/1.35 var(--ms-font); color: var(--ms-negro) !important; text-decoration: underline; text-underline-offset: 3px; }

/* «Enviando…»: nada carga en silencio (regla de Nico, 02-nov) */
.ms-body button[disabled] { opacity: .85; cursor: progress; }
.ms-giro { display: inline-block; width: 18px; height: 18px; margin-right: 8px; border: 3px solid rgba(255,255,255,.45); border-top-color: var(--ms-blanco); border-radius: 50%; vertical-align: -3px; animation: ms-giro .8s linear infinite; }
.ms-btn--contorno .ms-giro, .ms-boton .ms-giro { border-color: rgba(194,24,122,.3); border-top-color: var(--ms-fucsia-prof); }
@keyframes ms-giro { to { transform: rotate(360deg); } }
.ms-envio { margin-top: 10px; }
.ms-envio[hidden] { display: none; }
.ms-envio__pista { height: 10px; border-radius: 999px; background: #FCE3F1; overflow: hidden; }
.ms-envio__pista span { display: block; height: 100%; width: 4%; border-radius: inherit; background: var(--ms-fucsia); transition: width .25s ease; }
.ms-envio__texto { margin: 6px 0 0; text-align: center; font: 700 14px/1.3 var(--ms-font); color: var(--ms-carbon); }
