:root{
  --bg:#0b0b0b;
  --text:#111;
  --white:#ffffff;
  --muted:#6b6b6b;
  --brand:#0f0f10;
  --accent:#0a84ff; /* para focus y botones */
  --soft:#f3f3f3;
  --panel: rgba(255,255,255,.88);
  --panel-dark: rgba(0,0,0,.65);
  --maxw:1200px;
  --radius:18px;
  --radius-sm:12px;
  --shadow: 0 10px 28px rgba(0,0,0,.22);
}

/* -------------------------------------------- */
/* FONT FAMILY */
/* -------------------------------------------- */
/* https://fonts.google.com/specimen/Space+Grotesk */
@font-face {
  font-family: "MonumentGrotesk";
  src: url("/assets/fonts/ABC Monument Grotesk/MonumentGrotesk-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "MonumentGrotesk";
  src: url("/assets/fonts/ABC Monument Grotesk/MonumentGrotesk-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* https://fonts.google.com/specimen/Cormorant+Garamond */
@font-face {
  font-family: "Garamond";
  src: url("/assets/fonts/ITC Garamond/GaramondStd-BkCond.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* -------------------------------------------- */
/* GENERAL */
/* -------------------------------------------- */
*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
}
body{
  margin:0; font-family: "MonumentGrotesk";
  color:#111; background:#ffffff;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px}
strong.semantic {
  font-weight: inherit;
}
.hidden { display: none !important; }
.mobile-only { display: none;}
.desktop-only { display: flex; }
@media (max-width:980px){
  .desktop-only { display: none !important; }
  .mobile-only { display: block; }
}

/* -------------------------------------------- */
/* NAV */
/* -------------------------------------------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  backdrop-filter:saturate(120%) blur(1px);
  background:rgba(255,255,255,.4);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.nav-inner{
  display:flex; 
  align-items:center; 
  justify-content:flex-start; /* Cambiado de space-between a flex-start */
  gap:40px; /* Añadido espacio entre logo y menú */
  height:60px;
  margin: 0 20px 0 20px;
}
.brand{
  display:flex; align-items:center; gap:12px; letter-spacing:.02em;
}
.brand img{height:50px; width:auto}
.menu{
  display:flex; 
  align-items:center; 
  gap:18px; 
  flex-wrap:wrap;
  margin-right:auto;
}
.menu a{
  padding:10px 12px; border-radius:999px;
}
.menu a:hover{
  background:rgba(0,0,0,.2)
}
.nav-cita{
  padding:8px 32px;
  border:1px solid #111; 
  border-radius:50%; /* Bordes redondeados pero mantiene forma oblonga */
  font-family:"Garamond"; 
  font-size:24px;
  background:#111; 
  color:#fff;
  white-space:nowrap;
}
.nav-cita:hover{opacity:.8}

/* Selector de idioma en la cabecera */
.lang-selector {
  position: relative;
}
.lang-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 3px;
  border: 1px solid #111;
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
}
.lang-icon {
  width: 18px;
  height: 18px;
}
.lang-btn .arrow {
  display: inline-block;
  transition: transform .25s ease;
}
.lang-selector.active .arrow {
  transform: rotate(90deg);
}
.lang-menu {
  position: absolute;
  top: 48px;
  right: 0;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  padding: 10px 0;
  display: none;
  flex-direction: column;
  min-width: 150px;
  z-index: 999;
  box-shadow: 0px 8px 28px rgba(0,0,0,.15);
}
.lang-selector.active .lang-menu {
  display: flex;
}
.lang-menu a {
  padding: 10px 16px;
  color: #111;
  text-decoration: none;
  transition: background .15s;
}
.lang-menu a:hover {
  background: #f1f1f1;
}
/* Idioma seleccionado (desactivado) */
.lang-menu .active-lang {
  background: #e9e9e9;
  font-weight: 700;
  cursor: default;
  pointer-events: none;
}
.lang-menu .active-lang:hover {
  background: #e9e9e9;
}
/* -------------------------------------------- */
/* NAV MÓVIL                                    */
/* -------------------------------------------- */
@media (max-width:980px){
  .nav-inner{
	height: 60px;
	padding: 0 5px;
    justify-content: flex-start;
    gap: 10px;
  }
  .brand img{
	height: 40px;
  }
  .menu{
    display:none;
  }
  /* selector idioma */
  .lang-selector{
    margin-left: auto;
    margin-right: 8px;
    display: flex;
    align-items: center;
  }
  .lang-icon {
	width: 20px;
	height: 20px;
  }
  .lang-btn{
	width: 40px;
	height: 30px;
	gap: 4px;
	padding: 0px 0px;
	border-radius: 999px;
	justify-content:center;
	cursor:pointer;
	font-family: inherit;
  }
  .lang-menu{
	position:absolute;
	top:30px;
	right:0;
	background:#111;
	padding:10px 0;
	border-radius:10px;
	display:none;
	flex-direction:column;
	min-width:120px;
	z-index:99999;
  }
  .lang-menu a{
	color:#fff;
	padding:10px 14px;
	display:block;
	font-size:18px;
  }
  .lang-menu a.active{
	opacity:.4;
	pointer-events:none;
  }
  /* Burger */
  .nav-burger{
	background:#111;
	border-radius:50%;
	width:45px;
	height:45px;
	border:none;
	display:flex;
	align-items:center;
	justify-content:center;
  }
  .nav-burger img{
	width:35px;
	height:35px;
  }
  /* MENU OVERLAY */
  .mobile-menu-overlay{
	position:fixed;
	inset:0;
	background:#0b0b0b;
	display:none;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	padding-top:100px;
	z-index:9999;
  }
  .mobile-menu-overlay.active{
	display:flex;
  }
  .close-mobile-menu{
	position:absolute;
	top:20px;
	right:20px;
	width:44px;
	height:44px;
	border-radius:50%;
	border:none;
	background:#111;
	color:#fff;
	font-size:28px;
	line-height:0;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
  }
  .mobile-menu-list{
	list-style:none;
	margin:0;
	padding:0;
	text-align:center;
  }
  .mobile-menu-list li{
	margin:20px 0;
  }
  .mobile-menu-list a{
	color:#fff;
	font-family:"Garamond", serif;
	font-size:28px;
  }
  hr{
	width:70%;
	margin:20px auto 25px;
	border:0;
	border-top:1px solid #fff;
	opacity:.4;
  }
  .mobile-cita-btn{
	background:#fff;
	margin-top:20px;
	padding:8px 32px;
    border:1px solid #111; 
    border-radius:50%;
	color:#000;
	font-family:"Garamond";
	font-size:24px;
  }
}

/* -------------------------------------------- */
/* SECTIONS (cada “ventana”) */
/* -------------------------------------------- */
section{min-height: 100dvh; display:flex; align-items:stretch}
.section-inner{margin: 0 70px 0 70px; display:grid; gap:24px; grid-template-columns: repeat(24, 1fr); width:100%}
.col-12{grid-column: span 24}
@media (max-width: 980px){
  .section-inner{margin: 0 10px 0 10px; grid-template-columns: repeat(6, 1fr)}
  .col-12{grid-column: span 6}
}

/* -------------------------------------------- */
/* HERO (VENTANA 1) */
/* -------------------------------------------- */
.hero{
  position:relative;
  background: url("/assets/img/Chica_Sonriendo.webp") center/cover no-repeat;
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: flex-end;
}
.hero-content{
  margin: 0 30px 0 30px;
  z-index:1; position:relative; width:100%;
  display:grid; gap:32px; grid-template-columns: repeat(12, 1fr);
  align-items:end; padding:40px 40px 40px; /* arriba laterales debajo*/
}
.hero-img {
  width: 100%;
  height: auto;
  display: block;
}
.logo-block{grid-column: 1 / span 7}
.logo-block img {
  width: 90%;
  height: auto;
  display: block;
}
.hero-side {
  grid-column: 10 / span 3;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-align: left;
}
.hero-horario {
  align-self: flex-start;
  text-align: left;
}
.hero-horario p {
  margin: 5px;
  font-size: 20px;
}
.hero-contact {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 30px;
  position: absolute;
  bottom: 0;
  right: 0;
  text-align: right;
}
.hero-contact p {
  font-size: 20px;
  margin: 0px;
  line-height: 1.4;
}
.hero-side p {
  color: #000; /* f5f5f5 */
}
.wa-ico {
  width: 18px;
  height: 18px;
  background: url("/assets/img/ico-whatsapp.svg") center/contain no-repeat;
  display: inline-block;
}

@media (max-width:1500px){
  .hero-contact {
	position: static;
  }
}
/* -------------------------------------------- */
/* HERO (VENTANA 1) MOVIL */
/* -------------------------------------------- */
@media (max-width:980px){
  /* Fuerza que hero ocupe 100% del ancho */
  .hero {
    min-height: 100dvh;
	background: url("/assets/img/Chica_Sonriendo_mvl.webp") center/cover no-repeat;
    display: felx;
	flex-direction: column;
	justify-content: flex-end;
  }
  .hero-side {
	width: 100%;
  }
  /* Arregla hero-content para que no genere columnas irreales */
  .hero-content {
    display: flex;
    width: 100%;
	flex-direction: column;
    gap: 20px;
    padding:10px 10px 20px 10px;
    margin: 0 !important;
  }
  .hero-horario {
    align-self: flex-end;
    text-align: left;
    max-width: 260px;
  }
  .panel {
    display: flex;
    flex-direction: row;
    justify-content: space-between;  /* LOGO izquierda / CONTACTO derecha */
    align-items: flex-end;
    gap: 20px;
    background: none; /* sin fondo si no quieres panel */
    padding: 0;
  }
  .logo-block img {
    width: 80%;
  }
  .hero-contact {
    display: flex;
	align-items: flex-end;
    justify-content: space-between;
	position: static;
    gap: 12px;
  }
  .hero-contact p {
    font-size:12px;
    color: #f5f5f5; /* f5f5f5 */
  }
  .hero-horario p {
    font-size:12px;
    color: #f5f5f5;
    margin: 0px;
  }
}

/* -------------------------------------------- */
/* TRATAMIENTOS (VENTANA 2) */
/* -------------------------------------------- */
#tratamientos{background:#0b0b0b; color:#fff}
#tratamientos .section-inner{padding:70px 70px}
.title-xl{
  font-family: "Garamond", serif; font-weight: 400; font-size: clamp(2.5vw, 3vw, 4vw);
  text-align:center; margin:10px 0 40px; letter-spacing:.02em;
}
.treatments{
  font-family: "Garamond", serif; font-weight: 400;
  display:grid; gap:24px; grid-template-columns: repeat(24, 1fr); align-items:start;
}
.t-list{grid-column: 14 / span 10}
.t-media{grid-column: 2 / span 11; overflow:hidden;}
.t-media .ph{aspect-ratio: 4/3; background:#1b1b1b; display:grid; place-items:center; color:#aaa}

details.t-item + details.t-item{margin-top:8px}
.t-item summary{
  cursor:pointer; list-style:none; padding:0px 16px; display:flex; align-items:center; justify-content:space-between; font-size: clamp(1.5vw, 2vw, 3.5vw);
}
.t-item summary::-webkit-details-marker{display:none}
.t-item .arrow{transition:transform .25s ease}
.t-item[open] .arrow{transform:rotate(90deg)}
.t-item .content{padding:0 16px 14px; color:#d7d7d7; font-size: clamp(1vw, 1.5vw, 3vw);}
.muted{color:#000}
.t-item.extra-gap{
  margin-bottom:30px;
}
.t-item .content p {
  margin: 5px 10px;
}
/* -------------------------------------------- */
/* TRATAMIENTOS (VENTANA 2) MOVIL */
/* -------------------------------------------- */
@media (max-width:980px){
	#tratamientos .section-inner{padding:70px 10px 10px 10px}
	.title-xl{
	  font-size: clamp(7vw, 9vw, 11vw);
	  margin:5px 0 10px; letter-spacing:.02em;
	}
	.treatments{
	  font-family: "Garamond", serif; font-weight: 400;
	  display:grid; gap:0px; grid-template-columns: repeat(6, 1fr);
	}
	.t-list{grid-column: 1 / -1; padding:15px 0px}
	.t-media{grid-column: 1 / -1;}
	.t-item summary{
	  cursor:pointer; list-style:none; padding:0px 16px; display:flex; align-items:center; justify-content:space-between; font-size: clamp(4vw, 6vw, 8vw);
	}
	.t-item .content{padding:0 16px 14px; color:#d7d7d7; font-size: clamp(3.5vw, 5vw, 7.5vw);}
}

/* -------------------------------------------- */
/* SOBRE NOSOTROS (VENTANA 3) */
/* -------------------------------------------- */
#sobre-nosotros{background:#ffffff; color:#111}
#sobre-nosotros .section-inner{align-items:center; padding:70px 70px}
.about-text{grid-column: 2 / span 10; font-size:20px; text-align:justify}
.about-img{grid-column: 13 / span 11; overflow:hidden; border-radius: 50px;}
.about-img .ph{aspect-ratio: 4/3; background:#e8e8e8; display:grid; place-items:center; color:#777}
#tit-about{text-align:left}
/* -------------------------------------------- */
/* SOBRE NOSOTROS (VENTANA 3) MOVIL */
/* -------------------------------------------- */
@media (max-width:980px){
	#sobre-nosotros .section-inner{padding:70px 10px}
	#tit-about{text-align:center}
	.about-text{grid-column: 1 / span 6; text-align:center}
	.about-img{grid-column: 1 / span 6;}
}

/* -------------------------------------------- */
/* CITA (VENTANA 4) */
/* -------------------------------------------- */
#cita{background:#0b0b0b; color:#fff}
#cita .section-inner{align-items:center; padding:70px 70px}
.appointment-media{grid-column: 2 / span 9; overflow:hidden;}
.appointment-media .ph{aspect-ratio: 4/3; background:#171717; display:grid; place-items:center; color:#9b9b9b}
.appointment-form{grid-column: 12 / span 12}
.appointment-form .intro{margin-bottom:12px; font-size:20px;}
form{display:grid; gap:12px}
input, textarea{
  width:100%; padding:14px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.06); color:#fff
}
textarea{border-radius:16px; min-height:120px; resize:vertical}
input::placeholder, textarea::placeholder{color:#c9c9c9}
input:focus, textarea:focus{outline:none; border-color:#fff}
.btn-primary{
  margin-top:5px; padding:12px 48px; margin-left: auto; border-radius:999px; border:1px solid #fff; background:#fff; color:#000; font-weight:700; cursor:pointer
}
.btn-primary:hover{filter:brightness(.95)}
#tit-cita1{text-align:right; margin:10px 0 10px;}
#tit-cita2{text-align:right; margin:10px 0 10px;}
/* -------------------------------------------- */
/* CITA (VENTANA 4) MOVIL */
/* -------------------------------------------- */
@media (max-width:980px){
	#tit-cita1{text-align:center; margin:10px 0 5px;}
	#tit-cita2{text-align:center; margin:5px 0 10px;}
	.appointment-media .p{text-align:center}
	#cita .section-inner{padding:70px 10px}
	.appointment-media{grid-column: 1 / span 6; order: 2;}
	.appointment-form{grid-column: 1 / span 6; order: 1;}
	.appointment-form .intro{font-size:18px; text-align:center;}
	form{gap:6px}
	.btn-primary{
	  padding:8px 40px; margin-left: 0; margin-right: 0; display: block; margin-inline: auto;
	}
}

.direct-cita {
  margin-top: 20px;
  text-align: center;
}
.direct-cita p {
  margin-bottom: 10px;
  font-family: "Garamond", serif; font-weight: 400; font-size: clamp(1.8vw, 2vw, 2.5vw);
}
@media (max-width:980px){
	.direct-cita p {
	  font-size: clamp(5vw, 7vw, 9vw);
	}
}
.btn-direct-cita {
  display: inline-block;
  padding: 10px 28px;
  border-radius: 999px;
  border: 1px solid #fff;
  background: #fff;
  color: #000;
  font-weight: 600;
  transition: all .2s ease;
}
.btn-direct-cita:hover {filter:brightness(.95)}


/* -------------------------------------------- */
/* CONTACTO (BARRA FINAL) */
/* -------------------------------------------- */
#contacto{background:#e2e2e2; color:#111; min-height:auto}
#contacto .section-inner{padding:40px 40px}
.contact-cards{display:grid; gap:18px; grid-template-columns: repeat(24, 1fr); align-items:stretch}
.contact-card{grid-column: span 6; border-radius:16px; padding:10px 18px; display:flex; flex-direction:column; align-items:center; text-align:center}
.gap1{grid-column: span 1;}
.gap2{grid-column: span 2;}
.contact-card .icon{width:60px; height:60px; display:flex; justify-content:center; align-items:center; margin-bottom:8px;}
.contact-card .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
.contact-card .btn{margin-top:10px; display:inline-block; padding:10px 14px; border-radius:999px; border:1px solid #111; background:#111; color:#fff; white-space:nowrap;}
.contact-card small{display:block; margin-top:6px; color:#555}
.contact-card a:hover {
  color: #808080;
  opacity: 0.8;
}
.contact-card-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
/* -------------------------------------------- */
/* CONTACTO (BARRA FINAL) MOVIL */
/* -------------------------------------------- */
@media (max-width:980px){
	#contacto{background:#e2e2e2; color:#111; min-height:auto}
	#contacto .section-inner{padding:70px 10px}
	.contact-cards{display:grid; gap:18px; grid-template-columns: repeat(9, 1fr);}
	.contact-card{grid-column: span 3; border-radius:16px; padding:0px 0px; display:flex; flex-direction:column; align-items:center; text-align:center}
	.gap1{display: none;}
	.gap2{display: none;}
	.contact-card .icon{width:40px; height:40px; display:flex; justify-content:center; align-items:center; margin-bottom:0px;}
	.contact-card .icon img {
	  width: 90%;
	  height: 90%;
	}
	.contact-card .btn{width:100%; margin-top:5px; display:inline-block; padding:2px 5px; font-size:11px;}
	.contact-card small{margin-top:4px; font-size:10px;}
}

/* === POPUP CITA (reutiliza #cita) === */
#cita.popup-mode {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}
#cita.popup-mode .appointment-media {
  display: none;
}
#cita.popup-mode .appointment-form {
  grid-column: 1 / 12;
}
#cita.popup-mode .section-inner {
	grid-template-columns: 1fr;
  background: #111;
  max-width: 900px;
  width: 95%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}
/* Botón cerrar */
#cita .close-cita {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: 0;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  z-index: 10;
}

/* -------------------------------------------- */
/* FOOTER MARCA */
/* -------------------------------------------- */
footer{padding: 40px 20px; background:#ffffff; color:#111}
.footer-inner{margin: 0 20px 0 20px;}
.footer-top{padding:30px 20px}
.footer-brand{display:grid; gap:24px; grid-template-columns: repeat(14, 1fr); align-items:start}
.footer-logo{grid-column: 1 / span 7}
.footer-logo .ph{height:60px; background:#111; color:#fff; display:grid; place-items:center; border-radius:8px}
.footer-info{grid-column: 13 / span 2; text-align:left; display:flex; flex-direction:column; height:100%;}
.footer-info small{display:block; color:#666; line-height:1.4}
.footer-bottom {
  text-align: center;
  margin-top: 30px;
}
.footer-info small:nth-child(2) {
  margin-top: auto;
}
/* -------------------------------------------- */
/* FOOTER MARCA MOVIL */
/* -------------------------------------------- */
@media (max-width:980px){
  footer{padding: 40px 20px 90px 20px;}
  .footer-brand {
    display: flex !important;
    flex-direction: column;
    gap: 20px;
  }
  .footer-inner{margin: 0}
  .footer-logo,
  .footer-info {
    width: 100% !important;
  }
  .footer-info {
    text-align: left;
	margin-left: 10px;
  }
  .footer-top {
    padding: 0;
  }
  .footer-bottom {
    margin-top: 20px;
  }
  .footer-info small:nth-child(2) {
    margin-top: 8px;
  }
}


/* Botones legales */
.legal-btn {
  background: none;
  border: none;
  color: #bbb;
  cursor: pointer;
  font-size: 14px;
  transition: opacity .2s;
  padding: 0;
}
.footer-links {
  display: flex;
  justify-content: center;
  gap: 24px;
  font-size: 14px;
}
.footer-links button {
  color: #bbb;
  text-decoration: none;
  transition: opacity .2s;
}
.footer-links button:hover {
  opacity: .6;
  transform: translateY(-2px);
}
/* Fondo del modal */
.legal-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(4px);
  justify-content: center;
  align-items: center;
  z-index: 2000;
}
/* Contenedor del contenido */
.legal-modal-content {
  background: #111;
  border: 1px solid rgba(255,255,255,.15);
  max-width: 700px;
  width: 90%;
  border-radius: 12px;
  padding: 40px;
  max-height: 80vh;
  overflow-y: auto;
  color: #ddd;
  position: relative;
}
/* Título */
.legal-modal-content h2 {
  margin-top: 0;
  color: #fff;
}
/* Botón cerrar */
.close-legal {
  position: absolute;
  top: 14px;
  right: 18px;
  cursor: pointer;
  font-size: 26px;
  color: #aaa;
  transition: .2s;
}
/* POPUP (mismo estilo que aviso legal) */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.popup-overlay.active {
  display: flex;
}
.popup-box {
  background: #ffffff;
  color: #000;
  padding: 30px 40px;
  width: min(90%, 420px);
  border-radius: 12px;
  position: relative;
  box-shadow: 0 0 40px rgba(0,0,0,0.4);
}
.popup-box h3 {
  margin-top: 0;
  font-size: 22px;
}
.popup-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
}

.close-legal:hover { color: #fff; }
@media (max-width:980px){
  .footer-logo,.footer-info{grid-column: 1 / span 12; text-align:left}
}

/* ACCESIBILIDAD */
:focus-visible{outline:3px solid var(--accent); outline-offset:2px}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}


/* BOTÓN WHATSAPP FLOTANTE (GLOBAL) */
.wa-floating {
  position: fixed;
  right: 15px;
  bottom: 15px;
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  transition: background 0.25s ease, transform 0.15s ease;
  border-radius: 25%;
  background: rgba(204, 204, 204, 0.25); /* fondo por defecto (claro) */
}
.wa-floating:hover {
  transform: translateY(-2px);
}
.wa-floating .wa-icon {
  width: 45px;
  height: 45px;
  pointer-events: none;
  transition: filter 0.25s ease;
}
.wa-floating.wa-dark {
  background: rgba(51, 51, 51, 0.25);
}
.wa-floating.wa-dark .wa-icon {
  filter: invert(1);
}

/* COOKIES */
.cookie-banner {
  border: 1px solid rgba(255,255,255,0.8);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  flex-direction: column;
  position: fixed;
  bottom: 10px;
  left: 20vw;
  right: 20vw;
  background: #111;
  color: #fff;
  padding: 8px;
  border-radius: 12px;
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width:980px){
  .cookie-banner{
	  left: 10px;
	  right: 10px;
  }
}
.cookie-banner p {
  margin: 5px;
}
.cookie-banner button {
  padding: 8px 14px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
}
.cookie-banner .hidden {
  display: none;
}
.cookie-actions {
  display: flex;
  gap: 20px; /* separación entre botones */
  justify-content: center;
}
@media (max-width: 600px) {
  .cookie-actions {
    flex-direction: column-reverse;
    gap: 8px;
  }
}
#accept-cookies {
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 600;
}
#reject-cookies {
  padding: 6px 16px;
  font-size: 15px;
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
}