/* Tema "Prime Care": lo más fiel a la plantilla. Barra transparente, título enorme con flor azul, doctor sin marco,
   pestañas subrayadas con dos fotos, cinta azul, fotos del consultorio en una sola pieza,
   carrusel de reseñas, formulario con foto y pie azul con tarjeta blanca. Entradas con desenfoque. */
.tema-prime { --bg: #f1f4f9; --accent: #0a66ff; --accent-deep: #0050d6; --accent-soft: #e4edff; }

/* Entradas: aparecen desenfocadas y se enfocan, como en la plantilla */
.js .tema-prime [data-reveal] { filter: blur(12px); transition: opacity 1s var(--ease), transform 1s var(--ease), filter 1s var(--ease); }
.js .tema-prime [data-reveal].in, .rv-done .tema-prime [data-reveal] { filter: none; }

/* Barra transparente a todo lo ancho; se vuelve sólida al bajar */
.tema-prime .nav { top: 0; width: 100%; border-radius: 0; padding: 14px var(--pad); background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background-color 0.3s, box-shadow 0.3s; }
.tema-prime .nav.scrolled { background: rgba(241, 244, 249, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 1px 0 var(--line); }
.tema-prime .nav-links { margin-left: 40px; margin-right: auto; }
.tema-prime .nav-links a { color: var(--ink); }
.tema-prime .nav .btn-sm { background: transparent; color: var(--accent); box-shadow: inset 0 0 0 1.5px var(--accent); }
.tema-prime .nav .btn-sm:hover { background: var(--accent); color: #fff; }

/* Portada */
.hero-prime { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 24px; max-width: 1400px; margin: 0 auto; padding: 120px var(--pad) 0; width: 100%; }
.hero-prime .hero-script { top: 110px; color: rgba(255, 255, 255, 0.9); -webkit-text-stroke: 1px #dfe5ef; z-index: 0; }
.hero-prime .hero-copy { position: relative; z-index: 1; padding-bottom: 48px; }
.hero-prime h1 { font-size: clamp(2.8rem, 1.6rem + 4vw, 5.2rem); margin-top: 20px; }
.h1-flower { display: inline-block; width: 0.62em; height: 0.62em; margin-left: 0.08em; vertical-align: -0.04em; stroke: var(--accent); stroke-width: 2.6; fill: none; animation: girar 14s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }
.prime-proof { width: fit-content; margin-top: 26px; padding: 10px 18px 10px 10px; border-radius: 16px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0)); }
.prime-proof .hero-proof { margin: 0; }
.prime-photo { position: relative; margin: 0; align-self: end; height: min(78svh, 760px); }
.prime-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; -webkit-mask-image: radial-gradient(ellipse 62% 78% at 50% 38%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 62% 78% at 50% 38%, #000 62%, transparent 100%); }
.prime-photo .float { left: 6%; bottom: 14%; }

/* Tarjetas bajo la portada */
.tema-prime .duo { max-width: 1400px; margin: 0 auto; padding-top: 48px; }
.tema-prime .duo-card { border-radius: 20px; }
.tema-prime .duo-info { position: relative; }

/* Sobre mí: pestañas subrayadas y dos fotos */
.tema-prime .about-body { grid-template-columns: 1fr 1.1fr; gap: 48px; }
.tema-prime .tabs { padding-right: 24px; }
.tema-prime .tab-list { display: flex; gap: 28px; padding: 0; border-radius: 0; background: none; box-shadow: inset 0 -1px 0 var(--line); }
.tema-prime .tab-list button { padding: 10px 2px; border-radius: 0; }
.tema-prime .tab-list button[aria-selected="true"] { background: none; color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent); }

/* Servicios: encabezado centrado con línea y tarjetas blancas numeradas */
.tema-prime .services .sec-head { flex-direction: column; align-items: center; text-align: center; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.tema-prime .serv-dark { background: var(--card); color: var(--ink); }
.tema-prime .serv-dark p, .tema-prime .serv-dark .serv-n { color: var(--muted); }
.tema-prime .serv-dark .serv-link { background: var(--bg); color: var(--ink); }
.tema-prime .serv-photo { position: relative; }
.tema-prime .serv-photo::after { content: ""; position: absolute; right: 32%; bottom: 22px; width: 48px; height: 48px; border-radius: 50%; background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / 20px no-repeat; }

/* Reseñas: una a la vez, con flechas */
.tema-prime .reviews { display: grid; grid-template-columns: 1fr 2fr; gap: 0 40px; background: #fff; max-width: none; padding: 120px max(var(--pad), calc((100% - 1240px) / 2)); }
.tema-prime .reviews .sec-head { flex-direction: column; align-items: flex-start; grid-row: 1; }
.rev-arrows { grid-row: 2; grid-column: 1; align-self: end; display: flex; gap: 10px; }
.rev-arrows button { width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; box-shadow: inset 0 0 0 1.5px var(--line); color: var(--ink); cursor: pointer; display: grid; place-items: center; transition: background-color 0.2s, color 0.2s; }
.rev-arrows button:hover { background: var(--accent); color: #fff; box-shadow: none; }
.tema-prime .rev-track { grid-row: 1 / span 2; grid-column: 2; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 0; }
.tema-prime .rev-card { flex: 0 0 100%; scroll-snap-align: start; background: transparent; padding: 8px 0 0; }
.tema-prime .rev-card:hover { transform: none; }
.tema-prime .rev-card blockquote { font-size: clamp(1.1rem, 0.9rem + 0.8vw, 1.5rem); line-height: 1.45; order: -1; }
.tema-prime .rev-card blockquote::before { content: "\201C\201C"; display: block; font: 700 64px/0.6 Georgia, serif; letter-spacing: -0.12em; color: var(--accent); margin-bottom: 18px; }
.tema-prime .rev-top { order: 2; }

/* Cinta azul y fotos del consultorio en una sola pieza */
.tema-prime .cinta { background: var(--accent); box-shadow: none; }
.tema-prime .cinta span, .tema-prime .cinta .ico { color: #fff; }
.tema-prime .inst-grid { gap: 0; border-radius: 20px; overflow: hidden; }
.tema-prime .inst-grid figure { border-radius: 0; aspect-ratio: 1; }
.tema-prime .promesas li { border-radius: 20px; }

/* Precios: tarjetas claras con precio azul */
.tema-prime .price-card, .tema-prime .price-main { background: #fff; color: var(--ink); }
.tema-prime .price-main .price, .tema-prime .price-main small, .tema-prime .price-main > p:not(.price) { color: inherit; }
.tema-prime .price-card .price { color: var(--accent); }
.tema-prime .price-main .btn-light { background: var(--accent); color: #fff; }

/* Preguntas: la abierta se marca en azul */
.tema-prime details[open] { box-shadow: inset 0 0 0 1.5px var(--accent); }

/* Agenda como formulario con foto, en claro */
.tema-prime .book-card { display: grid; grid-template-columns: 0.9fr 1.3fr; gap: 0 40px; background: transparent; color: var(--ink); padding: 0; }
.tema-prime .book-card::after { display: none; }
.book-photo { grid-row: 1 / span 3; width: 100%; height: 100%; min-height: 420px; object-fit: cover; border-radius: 20px; }
.tema-prime .book-head { flex-direction: column; align-items: flex-start; }
.tema-prime .book-head p, .tema-prime .book-foot { color: var(--muted); }
.tema-prime .book-hint a { color: var(--accent); }
.tema-prime .booker { grid-template-columns: 1fr 1fr; }
.tema-prime .field { background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.tema-prime .field span, .tema-prime .chev { color: var(--muted); }
.tema-prime .field select { color: var(--ink); }
.tema-prime .send { grid-column: 1 / -1; background: var(--ink); color: #fff; width: fit-content; min-height: 52px; border-radius: 999px; }

/* Pie: degradado azul con tarjeta blanca */
.tema-prime .foot { background: linear-gradient(var(--bg), #b9d0ff 30%, #0a66ff 75%); color: var(--ink); padding-top: 80px; }
.tema-prime .foot-top { background: #fff; border-radius: 22px; padding: 36px; }
.tema-prime .foot .brand-light { color: var(--ink); }
.tema-prime .foot-legal { color: #fff; border-top: 0; }
.tema-prime .foot-legal a { color: #fff; }

@media (max-width: 1100px) {
  .tema-prime .nav { background: rgba(241, 244, 249, 0.92); }
}
@media (max-width: 860px) {
  .hero-prime { grid-template-columns: 1fr; padding-top: 100px; }
  .prime-photo { height: 64svh; }
  .tema-prime .about-body { grid-template-columns: minmax(0, 1fr); }
  .tema-prime .reviews { grid-template-columns: 1fr; padding-inline: var(--pad); }
  .tema-prime .rev-track { grid-column: 1; grid-row: auto; margin: 0; padding: 0; }
  .tema-prime .rev-card { flex-basis: 100%; }
  .rev-arrows { grid-row: auto; margin-top: 16px; }
  .tema-prime .book-card { grid-template-columns: 1fr; gap: 24px; }
  .book-photo { grid-row: auto; min-height: 280px; }
  .tema-prime .booker { grid-template-columns: 1fr; }
}

@media (max-width: 400px) { .hero-prime h1 { font-size: min(2.8rem, 12vw); } }
.tema-prime .book { padding-top: clamp(56px, 7vw, 96px); }
@media (max-width: 860px) { .tema-prime .serv-card h3 { padding-right: 52px; } }
.tema-prime .book-card { overflow: visible; }
