/* Santa Fe Core: WhatsApp flotante, aviso de cookies y barra de anuncio. */
:root {
	--sf-m-navy: var(--wp--preset--color--primary, #13294d);
	--sf-m-blue: var(--wp--preset--color--secondary, #2f5597);
	--sf-m-green: var(--wp--preset--color--accent, #3f9a1f);
}

/* Barra de anuncio */
.sf-announce {
	position: relative;
	z-index: 60;
	padding: .55rem 1rem;
	background: linear-gradient(90deg, var(--sf-m-navy), var(--sf-m-blue));
	color: #fff;
	text-align: center;
	font-size: .875rem;
	font-weight: 600;
}
.sf-announce a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* WhatsApp flotante */
.sf-wa-float {
	position: fixed;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	z-index: 80;
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .8rem 1.15rem .8rem .9rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #2bd46a, #1aa851);
	color: #fff;
	font: 600 .95rem/1 system-ui, sans-serif;
	text-decoration: none;
	box-shadow: 0 10px 30px -8px rgba(26, 168, 81, .65), 0 2px 6px rgba(0, 0, 0, .12);
	transition: transform .2s ease, box-shadow .2s ease;
}
.sf-wa-float::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: 0 0 0 0 rgba(43, 212, 106, .55);
	animation: sf-wa-ring 2.6s ease-out 1.5s 3;
	pointer-events: none;
}
.sf-wa-float:hover { transform: translateY(-2px); box-shadow: 0 14px 34px -8px rgba(26, 168, 81, .75), 0 2px 6px rgba(0, 0, 0, .12); color: #fff; }
.sf-wa-float:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.sf-wa-float__icon { width: 1.6rem; height: 1.6rem; stroke-width: 2; }
@keyframes sf-wa-ring {
	0% { box-shadow: 0 0 0 0 rgba(43, 212, 106, .55); }
	100% { box-shadow: 0 0 0 16px rgba(43, 212, 106, 0); }
}
@media (max-width: 640px) {
	.sf-wa-float { padding: .9rem; }
	.sf-wa-float span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
body.has-sf-cookies .sf-wa-float { bottom: 7.5rem; }

/* Aviso de cookies */
.sf-cookies {
	position: fixed;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	z-index: 90;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1.25rem;
	max-width: 46rem;
	margin-inline: auto;
	padding: 1rem 1.15rem;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 18px;
	background: rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	box-shadow: 0 20px 50px -20px rgba(19, 41, 77, .45);
	color: #0f1f38;
	font-size: .9rem;
}
.sf-cookies[hidden] { display: none; }
.sf-cookies p { flex: 1 1 18rem; margin: 0; }
.sf-cookies a { color: var(--sf-m-blue); }
.sf-cookies__actions { display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.sf-cookies__actions .sf-cookies__btn { flex: 1 1 auto; }
.sf-cookies { box-sizing: border-box; max-width: min(46rem, calc(100% - 2rem)); }
.sf-cookies p { min-width: 0; overflow-wrap: break-word; }
.sf-cookies__btn {
	padding: .6rem 1.1rem;
	border: 1px solid #cdd8e6;
	border-radius: 999px;
	background: #fff;
	color: #13294d;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.sf-cookies__btn--accept {
	border-color: transparent;
	background: linear-gradient(135deg, var(--sf-m-navy), var(--sf-m-blue));
	color: #fff;
}
.sf-cookies__btn:focus-visible { outline: 3px solid var(--sf-m-blue); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
	.sf-wa-float, .sf-wa-float::before { animation: none; transition: none; }
}
