/* Botón de reserva ([bcr_boton], bloque, widget y Elementor).
   Todo el estilo va en variables, para que el shortcode, el bloque, el widget y Elementor las cambien igual:
   --bcr-btn (fondo), --bcr-btn-text, --bcr-btn-hover, --bcr-btn-hover-text, --bcr-btn-border, --bcr-btn-bw (grosor),
   --bcr-btn-radius, --bcr-btn-fs (tamaño de letra), --bcr-btn-fw (grosor de letra), --bcr-btn-py / --bcr-btn-px (relleno). */
.bcr-btnwrap { margin: 0 0 1em; }
.bcr-btnwrap--izquierda { text-align: left; }
.bcr-btnwrap--centro { text-align: center; }
.bcr-btnwrap--derecha { text-align: right; }
.bcr-btn {
	--bcr-btn: var(--bcr-brand, #008088);
	--_py: .75em; --_px: 1.5em; --_fs: 16px;
	display: inline-flex; align-items: center; justify-content: center; gap: .5em; box-sizing: border-box;
	border: var(--bcr-btn-bw, 2px) solid var(--bcr-btn-border, var(--bcr-btn));
	border-radius: var(--bcr-btn-radius, 8px);
	padding: var(--bcr-btn-py, var(--_py)) var(--bcr-btn-px, var(--_px));
	font-family: inherit; font-size: var(--bcr-btn-fs, var(--_fs)); font-weight: var(--bcr-btn-fw, 600); line-height: 1.2;
	text-decoration: none !important; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s;
}
.bcr-btn--relleno { background: var(--bcr-btn); color: var(--bcr-btn-text, #fff) !important; }
.bcr-btn--relleno:hover, .bcr-btn--relleno:focus-visible { background: var(--bcr-btn-hover, color-mix(in srgb, var(--bcr-btn) 86%, #000)); border-color: var(--bcr-btn-hover-border, var(--bcr-btn-hover, color-mix(in srgb, var(--bcr-btn) 86%, #000))); color: var(--bcr-btn-hover-text, var(--bcr-btn-text, #fff)) !important; }
.bcr-btn--contorno { background: transparent; color: var(--bcr-btn-text, var(--bcr-btn)) !important; }
.bcr-btn--contorno:hover, .bcr-btn--contorno:focus-visible { background: var(--bcr-btn-hover, var(--bcr-btn)); border-color: var(--bcr-btn-hover-border, var(--bcr-btn-hover, var(--bcr-btn))); color: var(--bcr-btn-hover-text, #fff) !important; }
.bcr-btn:focus-visible { outline: 2px solid var(--bcr-btn); outline-offset: 3px; }
.bcr-btn--pequeno { --_py: .5em; --_px: 1em; --_fs: 14px; }
.bcr-btn--mediano { --_py: .75em; --_px: 1.5em; --_fs: 16px; }
.bcr-btn--grande { --_py: .95em; --_px: 2em; --_fs: 18px; }
.bcr-btn--block { display: flex; width: 100%; }
.bcr-btn--mayusculas { text-transform: uppercase; letter-spacing: .04em; }
.bcr-btn--sombra-suave { box-shadow: 0 2px 8px rgba(16, 18, 20, .14); }
.bcr-btn--sombra-fuerte { box-shadow: 0 10px 26px rgba(16, 18, 20, .26); }
.bcr-btn--sombra-suave:hover, .bcr-btn--sombra-fuerte:hover { transform: translateY(-1px); }
.bcr-btn__icon { flex: none; width: 1.1em; height: 1.1em; }

/* Botón flotante «Reservar» (Configuración → Web y páginas). */
.bcr-float { position: fixed; bottom: 22px; z-index: 99990; }
.bcr-float--derecha { right: 22px; }
.bcr-float--izquierda { left: 22px; }
.bcr-float .bcr-btnwrap { margin: 0; }
.bcr-float .bcr-btn { border-radius: 999px; padding: .85em 1.4em; box-shadow: 0 8px 24px rgba(16, 18, 20, .22); }
.bcr-float--mobile { display: none; }
@media (max-width: 782px) {
	.bcr-float { bottom: 16px; }
	.bcr-float--derecha { right: 16px; }
	.bcr-float--izquierda { left: 16px; }
	.bcr-float--mobile { display: block; }
}
@media print { .bcr-float { display: none; } }
