/*
 * servicio.css — piezas comunes de las páginas de servicios/ (generado a partir de ellas).
 * Cada página conserva en su <style> su paleta (:root) y da valor a las variables
 * --ps-* de esta hoja; solo lo que es propio de una página se queda en ella.
 */
.ps-rule { height: 1px; background: var(--ps-hair); width: 100%; }
.ps-btn--solid { background: var(--ps-solido); color: #fff; }
.ps-btn--outline { border: 1px solid var(--ps-ink); color: var(--ps-ink); }
.ps-btn--pos { border: 1px solid rgba(255, 255, 255, 0.4); color: #fff; }
.ps-inc svg { color: var(--ps-terra); flex: none; margin-top: 2px; }
.ps-inc span span { display: block; font-size: 13px; color: var(--ps-muted); margin-top: 0.2rem; }
.ps-type:last-child { border-bottom: 1px solid var(--ps-hair); }
.ps-navy { background: var(--ps-navy); color: var(--ps-navy-texto); }
.ps-faq details:last-child { border-bottom: 1px solid var(--ps-hair); }
.ps-faq summary::-webkit-details-marker { display: none; }
.ps-faq .ps-faq__pm { color: var(--ps-terra); font-size: 22px; line-height: 1; }
.ps-faq details[open] .ps-faq__pm-plus { display: none; }
.ps-faq .ps-faq__pm-minus { display: none; }
.ps-faq details[open] .ps-faq__pm-minus { display: inline; }
.ps-faq details p { margin: 0.9rem 0 0; padding-left: calc(15px + 1rem); font: 400 15px/1.7 "Archivo", sans-serif; color: var(--ps-muted); }

@media (hover: hover) {
    .ps-btn--solid:hover { background: var(--ps-terra-dk); transform: translateY(-2px); }
    .ps-btn--outline:hover { border-color: var(--ps-terra); color: var(--ps-terra); }
    .ps-btn--pos:hover { background: #fff; color: var(--ps-navy); }
}
.ps-mobilebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; gap: 0.5rem; padding: 0.6rem 0.8rem calc(0.6rem + env(safe-area-inset-bottom, 0px)); background: rgba(251, 246, 241, 0.94); backdrop-filter: blur(12px); border-top: 1px solid var(--ps-hair); }
.ps-mobilebar .is-primary { background: var(--ps-solido); color: #fff; }
.ps-mobilebar .is-ghost { border: 1px solid var(--ps-ink); color: var(--ps-ink); }

@media (min-width: 1024px) {
    .ps-mobilebar { display: none; }
}

/* Testimonio real de Google en las páginas de servicio (src/datos/resenas.json) */
.ps-testimonio { border-top: 1px solid var(--ps-hair, var(--ot-outline-variant)); border-bottom: 1px solid var(--ps-hair, var(--ot-outline-variant)); }
.ps-testimonio__q {
  font-family: "Instrument Serif", Georgia, serif;
  font-style: italic;
  line-height: 1.3;
  color: var(--ps-ink, var(--ot-on-surface));
  font-size: clamp(24px, 3.4vw, 40px);
}
.ps-testimonio__src {
  font: 600 12px/1.6 "Archivo", sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ps-muted, var(--ot-on-surface-variant));
}
