/* Blanco Perla · pop-up de WhatsApp */
.bpwa { position: fixed; right: 22px; bottom: 22px; z-index: 70; font-family: "Nunito Sans", system-ui, sans-serif; }
.bpwa [hidden] { display: none !important; }
html.has-modal-open .bpwa { display: none; }
.bpwa-boton {
	position: relative; width: 60px; height: 60px; border-radius: 50%; border: 0; cursor: pointer;
	display: grid; place-items: center; background: #25d366; color: #fff;
	box-shadow: 0 14px 30px -10px rgba(18, 140, 70, .55); transition: transform .25s, background .25s;
}
.bpwa-boton::before {
	content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366;
	animation: bpwa-onda 2.6s ease-out infinite;
}
@keyframes bpwa-onda { from { transform: scale(1); opacity: .7; } to { transform: scale(1.55); opacity: 0; } }
.bpwa-boton:hover { transform: scale(1.06); }
.bpwa-boton svg { width: 32px; height: 32px; fill: currentColor; }
.bpwa-x { display: none; font-size: 2rem; line-height: 1; }
.bpwa.abierto .bpwa-boton { background: #96545a; box-shadow: 0 0 0 3px rgba(255, 255, 255, .85), 0 14px 30px -12px rgba(74, 46, 51, .6); }
.bpwa.abierto .bpwa-boton::before { display: none; }
.bpwa.abierto .bpwa-boton svg { display: none; }
.bpwa.abierto .bpwa-x { display: block; }
.bpwa-burbuja {
	position: absolute; right: 72px; bottom: 12px; margin: 0; padding: 10px 16px; border-radius: 16px 16px 4px 16px;
	background: #fff; color: #3a2a2c; font-size: .9rem; font-weight: 700; white-space: nowrap; cursor: pointer;
	box-shadow: 0 14px 30px -14px rgba(74, 46, 51, .45); animation: bpwa-entra .4s ease;
}
.bpwa-panel {
	position: absolute; right: 0; bottom: 76px; width: 340px; max-width: calc(100vw - 32px); overflow: hidden;
	border-radius: 14px; background: #fff; box-shadow: 0 30px 70px -30px rgba(74, 46, 51, .55);
	animation: bpwa-entra .3s cubic-bezier(.2, .7, .2, 1);
}
@keyframes bpwa-entra { from { opacity: 0; transform: translateY(10px); } }
.bpwa-cab { display: flex; align-items: center; gap: 12px; padding: 16px 16px 14px; background: #4a2e33; color: #fff; }
.bpwa-logo { width: 44px; height: 44px; border-radius: 50%; background: #f7d6dd; flex: none; }
.bpwa-quien { flex: 1; display: grid; line-height: 1.3; }
.bpwa-quien b { font-family: "Bodoni Moda", Georgia, serif; font-weight: 500; font-size: 1.15rem; }
.bpwa-quien span { font-size: .78rem; opacity: .85; display: flex; align-items: center; gap: 6px; }
.bpwa-quien span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #3cb371; }
.bpwa-quien span.cerrado::before { background: #e8b4bf; }
.bpwa-cerrar { border: 0; background: rgba(255, 255, 255, .12); color: #fff; width: 32px; height: 32px; border-radius: 50%; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.bpwa-cerrar:hover { background: rgba(255, 255, 255, .25); }
.bpwa-cuerpo { padding: 18px 16px 6px; background: #fdf1f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='1.2' fill='%23efdfe2'/%3E%3C/svg%3E"); }
.bpwa-mensaje {
	margin: 0 0 14px; padding: 12px 14px; border-radius: 4px 14px 14px 14px; background: #fff; color: #3a2a2c;
	font-size: .92rem; line-height: 1.5; box-shadow: 0 6px 16px -12px rgba(74, 46, 51, .4); max-width: 92%;
}
.bpwa-opciones { display: grid; gap: 8px; padding-bottom: 12px; }
.bpwa-opciones a {
	display: block; padding: 10px 14px; border-radius: 999px; border: 1px solid #e8b4bf; background: #fff;
	color: #96545a; font-size: .86rem; font-weight: 700; text-decoration: none; text-align: right; transition: background .2s, color .2s;
}
.bpwa-opciones a:hover, .bpwa-opciones a:focus { background: #96545a; color: #fff; border-color: #96545a; }
.bpwa-abrir {
	display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 15px;
	background: #25d366; color: #fff; font-weight: 700; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
}
.bpwa-abrir:hover { background: #1fb457; color: #fff; }
.bpwa-abrir svg { width: 22px; height: 22px; fill: currentColor; }
@media (max-width: 640px) {
	.bpwa { right: 14px; bottom: 14px; }
	.bpwa-boton { width: 56px; height: 56px; }
	.bpwa-panel { width: calc(100vw - 28px); }
}
@media (prefers-reduced-motion: reduce) {
	.bpwa-boton::before { animation: none; }
}
