.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
header .navbar-brand img{transition:none!important;}
header .navbar .navbar-brand img{max-height:50px;}
section[id]{scroll-margin-top:80px;}
.scroll-top-arrow{opacity:0;pointer-events:none;transition:opacity 0.4s ease,transform 0.3s ease,box-shadow 0.3s ease!important;}
.scroll-top-arrow.visible{opacity:1;pointer-events:auto;}

@media(max-width:1199px){
	html,body{overflow-x:hidden!important;}
	.nav-header-container{flex-wrap:nowrap!important;gap:0!important;}
	.nav-header-container>.col-auto.menu-order{order:3;flex:0 0 auto;}
	.nav-header-container>.col-auto.col-lg-2:last-child{order:2;flex:0 0 auto;}
	.navbar-toggler{margin:20px 0 20px 6px!important;}
}
@media(max-width:991px){
	.nav-header-container{padding-right:12px!important;padding-left:12px!important;}
	.navbar-toggler{margin:18px 0 18px 4px!important;}
	header .navbar .navbar-brand img{max-height:44px;}
	.btn.btn-very-small{font-size:9px;padding:5px 12px;}
	.whatsapp-float{width:50px!important;height:50px!important;bottom:20px!important;left:16px!important;font-size:28px!important;}
	#cookieBanner{left:12px!important;right:12px!important;bottom:12px!important;max-width:none!important;padding:18px!important;}
}
@media(max-width:767px){
	header .navbar .navbar-brand img{max-height:38px;}
}
@media(max-width:575px){
	.nav-header-container{padding-right:10px!important;padding-left:10px!important;}
	header .navbar .navbar-brand img{max-height:34px;}
	.btn.btn-very-small{font-size:8px;padding:4px 8px;}
	.btn.btn-very-small .fa-calendar-check{display:none;}
	#cookieBanner{left:8px!important;right:8px!important;bottom:8px!important;padding:14px!important;}
	.whatsapp-float{width:46px!important;height:46px!important;bottom:14px!important;left:12px!important;font-size:24px!important;}
	footer h5 a[href^="mailto:"]{font-size:16px!important;letter-spacing:0!important;word-break:break-word;}
}
@media(max-width:374px){
	.nav-header-container{padding-right:8px!important;padding-left:8px!important;}
	header .navbar .navbar-brand img{max-height:30px;}
	.btn.btn-very-small{font-size:7px;padding:3px 7px;}
	footer h5 a[href^="mailto:"]{font-size:14px!important;}
}

/* --- Compensacion automatica de la navbar fija ---------------------------------
   js/custom.js mide la altura real de la navbar y actualiza --have-nav-h. Las
   paginas internas colocan su contenido con padding-top: var(--have-nav-offset)
   (en el mismo elemento con fondo que ya tenian), asi no hay que calcular pixeles
   pagina a pagina: si cambia la navbar, todo se reajusta solo. index.html/404.html
   usan hero a pantalla completa bajo la navbar y NO usan esta variable. */
:root {
	--have-nav-h: 80px; /* valor de reserva; JS lo sobreescribe con la altura real */
	--have-nav-offset: calc(var(--have-nav-h) + 12px); /* navbar + hueco comodo */
}
