/* PsicoSuite · estilos públicos autónomos para shortcodes
   Funciona en cualquier tema. Namespace .ps- para no colisionar.
   Dissenyat per Marketizados */

.ps-reserva,.ps-faq,.ps-contacto{
	--ps-primary:#1f5461;--ps-acento:#c96f4f;--ps-tinta:#16333e;--ps-suave:#5b6f76;
	--ps-borde:rgba(22,51,62,.12);--ps-bruma:#e3efec;--ps-carta:#fff;
	max-width:640px;margin:0 auto;font-family:inherit;color:var(--ps-tinta);box-sizing:border-box
}
.ps-reserva *,.ps-faq *,.ps-contacto *{box-sizing:border-box}

/* --- Reserva --- */
.ps-reserva{background:var(--ps-carta);border:1px solid var(--ps-borde);border-radius:18px;padding:1.8rem}
.ps-r-titulo{font-size:1.4rem;margin:0 0 .3rem;color:var(--ps-tinta)}
.ps-r-sub{color:var(--ps-suave);margin:0 0 1.4rem}
.ps-reserva label{display:block;font-weight:600;font-size:.85rem;margin:0 0 .4rem;color:var(--ps-tinta)}
.ps-reserva select,.ps-reserva input,.ps-reserva textarea{
	width:100%;padding:.7rem .9rem;border:1.5px solid var(--ps-borde);border-radius:12px;
	font:inherit;margin-bottom:1rem;background:#fff;color:var(--ps-tinta)
}
.ps-r-modalidad{display:flex;gap:.6rem;margin-bottom:1.2rem}
.ps-r-modalidad button,.ps-r-mod{flex:1;padding:.7rem;border:1.5px solid var(--ps-borde);border-radius:12px;background:#fff;cursor:pointer;font-weight:600;color:var(--ps-suave)}
.ps-r-modalidad .on,.ps-r-mod.on{background:var(--ps-bruma);border-color:var(--ps-primary);color:var(--ps-primary)}
.ps-r-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-bottom:1.2rem}
.ps-r-slot{padding:.6rem;text-align:center;border:1.5px solid var(--ps-borde);border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;background:#fff}
.ps-r-slot:hover{border-color:var(--ps-primary)}
.ps-r-slot.on{background:var(--ps-primary);color:#fff;border-color:var(--ps-primary)}
.ps-btn,.ps-reserva button[type=submit]{
	display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
	background:var(--ps-acento);color:#fff;border:none;border-radius:99px;
	padding:.85rem 1.6rem;font-weight:700;font-size:1rem;cursor:pointer;width:100%
}
.ps-btn:hover{filter:brightness(1.06)}
.ps-r-ok{background:var(--ps-bruma);border-radius:12px;padding:1.2rem;text-align:center;color:var(--ps-primary);font-weight:600}

/* --- FAQ --- */
.ps-faq{display:grid;gap:.7rem}
.ps-faq-item{border:1px solid var(--ps-borde);border-radius:14px;overflow:hidden;background:var(--ps-carta)}
.ps-faq-item summary{cursor:pointer;padding:1.1rem 1.3rem;font-weight:600;list-style:none;position:relative;color:var(--ps-tinta)}
.ps-faq-item summary::-webkit-details-marker{display:none}
.ps-faq-item summary::after{content:"+";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--ps-acento);transition:transform .2s}
.ps-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.ps-faq-r{padding:0 1.3rem 1.2rem;color:var(--ps-suave);line-height:1.6}

/* --- Contacto --- */
.ps-contacto{background:var(--ps-carta);border:1px solid var(--ps-borde);border-radius:18px;padding:1.8rem;text-align:center}
.ps-contacto h3{margin:0 0 .3rem;font-size:1.4rem}
.ps-c-titulo{color:var(--ps-suave);margin:0 0 1.2rem}
.ps-c-datos{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.6rem}
.ps-c-datos a{color:var(--ps-primary);text-decoration:none}
.ps-c-wa{display:inline-flex;align-items:center;gap:.5rem;background:#25d366;color:#fff;padding:.8rem 1.5rem;border-radius:99px;font-weight:700;text-decoration:none}
.ps-c-wa:hover{filter:brightness(1.05)}
