@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap');

*,
*::before,
*::after {
    box-sizing: border-box; /* Asegura que todos los elementos usen border-box */
}

:root {
    --verde: #4C8155;
    --verde_trans: #4C8155E6;
    --blanco: #F5F5F5; 
    --gris: #C0C0C0;
    --negro: #000;
    --secundario: #6c757d;
    --fuente-primaria:'Comfortaa', sans-serif;
}

html,body,span,div,p {
  font-family: var(--fuente-primaria);
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--fuente-primaria);
  font-weight: 400;
  margin: 10px 0
}

a{
  text-decoration: none;
}

.textNormal {
  font-family: var(--fuente-primaria);
  font-size: 16px;
}

button {
   border: none;
   padding: 5px 20px;
   text-align: center;
   
  
}
.card-text-next{
  display: flex;
  align-items: flex-end;
  min-height: 120px;
  padding-bottom: 75px;
}


@media screen and (max-width: 700px) {
   button {
	 border: 0;
     padding: 5px 10px;
     text-align: center;
	}

  .posicioQuedades{
    top: 70px!important;
    padding: 0px 0px 30px 0px;
    
  }

  .alturaCardQuedades{
    /*2*/
    height: 100%;
    box-shadow: 2px 2px 5px #ccc;
  }

}


.logoXarxes{
  width:32px;height:32x;
}

.logoStores{
  width:32px;height:32x;
}


.logosQuedades{
  width:70px;
  max-height:90x;
}


.botoIcones{
   font-size: 12px;
   border-radius: 4px;
   width: 55px;
   padding: 2px;
}

.elFondo{
  background-image:url("images/logo5.webp");
  /* Center and scale the image nicely */  
  background-repeat: no-repeat;
  position: relative;
  height:100%;
  top:5px;
  left:15px;
}
.elLogo{
  height:60px;
}

.colorCF{
	 background-color: rgb(76, 129, 85,0.9);
}

.btn-verd-CF{
  background-color: rgb(76, 129, 85,0.9) !important;
  border-color: rgb(76, 129, 85,0.9) !important;
  color: #fff !important;
}
.btn-verd-CF-next{
  background-color: rgb(76, 129, 85,0.9) !important;
  border-color: rgb(76, 129, 85,0.9) !important;
  color: #fff !important;
}

.colorPF{
	 background-color:rgb(220, 162, 105,0.9); /*dca269;*/
}

.botonsPF{
  color: #fff !important;
  background-color: #dca269 !important;
}

.topnav {
    float: left;
    overflow: hidden;
    /*background-color: rgb(76, 129, 85,0.9);*/
    position: fixed;
    z-index: 10000;
    width: 100%;
  
}

.opciomenu  {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center down;
  padding: 10px 10px 0px 10px;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
  
}

.opciomenu hover {
  /*background-color: #ddd; */
  color: #604842;
}

.topnav a.active {
  /*background-color:#4c8155; /*#4CAF50;*/
  color: white;
}

.topnav .icon {
  display: none;
}

@media screen and (max-width: 850px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 850px) {
  .topnav.responsive {
     position:fixed; /*relative;*/
   }
  .topnav.responsive .icon {
    position: fixed; /*absolute;*/
    right: 0;
    top: 0;
    /*background-color: rgba(76, 129, 85, 0.5);*/
    
     /*position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(76, 129, 85, 0.5);*/
  
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}

.titularCss{
  font-size: 20px;
}
.comentariCss {
   overflow: auto;
   height: 350px;
}

.charNumStyle{
  font-size: 10px;
  color: #CCCCCC;
}

.charNumStyleMax{
  font-size: 10px;
  color: red;
}

.modalBordes{
  border-radius: 25px;
}

.leaflet-top{
  top:50px !important;
}
.w3-modal {
  padding-top: 70px !important;
}

@media (max-width: 850px){
  .w3-modal {
    padding-top: 60px !important;
  }
}

.clusterFriendly { 

background: green;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgb(46, 194, 126,0.5);
}
			
.clusterUnFriendly { 
	
background: red;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}

.clusterCamperArea { 
	
background: #0073e6;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}

.clusterCamperTaller { 
	
background:#004d99;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(183, 180, 223, 0.5);
				
}

.clusterCamperStop { 
	
background: #426877;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}

.clusterCamperEvent { 
	
background: purple;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}

.clusterPlatges { 
	
background: #f5c211;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}

.clusterCampings { 
	
background: rgb(255, 120, 0);
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}

.clusterRestaurants { 
	
background: rgb(152, 106, 68);
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 1.1em;
text-align: center;
padding: 0.4em;
border: 0.4em solid rgba(225, 207, 207, 0.5); 
				
}



.rss{
  display: flex;
  justify-content: center;
  margin: 0 10px;
  font-size: 150%;
}

.rssBlock{
  padding: 0.8em;
  justify-content: center;
}

.buttonBlock{
  padding: 0.8em; 
  display: flex; 
  justify-content: center;
}

.reportaBlock{
  padding: 0.1em; 
  display: flex; 
  justify-content: center;
	
}
.centrar{
  padding: 0.1em; 
  display: flex; 
  justify-content: center;
}

.centrarRadioButton{
  padding: 0.5em; 
  display: flex; 
  justify-content: center;
}


footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 20px;
  background-color: #333; /* o qualsevol altre color que desitgi */
  color: #fff; /* o qualsevol altre color que desitgi */
  text-align: center; /* o qualsevol altre alineació que desitgi */
}

#cookie-notice {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  /*background-color: rgb(76,129,85,0.9);*/
  color: #fff;
  padding: 10px;
  text-align: center;
  z-index:1000;
}

.QueIconesPF{   
   padding: 2px;
}

.igualarIconesPF{
	width:20px;
}

.textIconesPF{   
   padding: 0px 0px 0px 5px;
}

.radio-inline {
    position: relative;
    display: inline-block;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: 400;
    vertical-align: middle;
    cursor: pointer;
}

/*input[type=text],textarea,select { */
.reportForm{
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  background-color: white;
  background-position: 10px 10px; 
  background-repeat: no-repeat;
  padding: 5px 5px 5px 5px;
}      
	
input[type=radio] {
  width: 5%;
}


.elFondoPF{
  background-image:url("images/lletresLogoPF_petites_trans.png");
  /* Center and scale the image nicely */  
  background-repeat: no-repeat;
  position: relative;
  width:200px;
  top:5px;
  left:15px;
  
}

#switchMapPF{
  position: fixed;
  right: 40px;
  top: 10px;
  width: 40px;
  cursor:pointer;
  z-index:10000;
}
#switchMapPF_2{
  position: fixed;
  right: 87px;
  top: 13px;
  width: 40px;
  cursor: pointer;
  z-index: 10000;
}

#switchMapCF{
  position: fixed;
  right: 40px;
  top: 18px;
  width: 40px;
  cursor:pointer;
  z-index:10000;
}

#calendariEvents{
  position: fixed;
  right: 87px;
  top: 13px;
  width: 40px;
  cursor: pointer;
  z-index: 10000;
}



@media screen and (max-width: 850px) {
  
  #switchMapPF{
	  position: fixed;
	  right: 40px;
	  top: 13px;
	  width: 30px;
	  cursor:pointer;
  }

  #switchMapPF_2{
    position: fixed;
    right: 75px;
    top: 12px;
    width: 35px;
    cursor: pointer;
    z-index: 10000;
  }

  #switchMapCF{
	  position: fixed;
	  right: 40px;
	  top: 18px;
	  width: 30px;
	  cursor:pointer;
  }
  
  #calendariEvents {
    position: fixed;
    right: 75px;
    top: 12px;
    width: 35px;
    cursor: pointer;
    z-index: 10000;
  }


}

.modalShow {
  z-index: 3;
  display: block;
  padding-top: 100px;
  position: fixed;
  left: 10px;
  top: 10px;
  width: 100%;
  height: 100%;
  overflow: auto;
 
  
}

#filtresIBanner{
  
  width: 100%;
  overflow: hidden;
}

#filtres{
	/*display:flex;*/
	float:left;
	/*width:50%;*/
}

#contenidorBanner{
	float:right;
	/*width:50%;*/
	display:none;
}

#banner {
    width: 100%;
    max-width:450px;
	height: 100px;
	/*background-color: #ccc;*/
	color: #000;
	text-align: center;
	padding: 10px;
	display:flex;
	border: 1px solid #ccc;
	float:right;
  }

@media screen and (max-width: 850px) {
	#banner {
     width: 100%;
    max-width:450px;
	height: 100px;
	/*background-color: #ccc;*/
	color: #000;
	text-align: center;
	padding: 10px;
	display:flex;
	border: 1px solid #ccc;
	float:right;
  }
  
 

	#filtres{
		display:flex;
		
	}
	
	#contenidorBanner{
	  display:none;
	}
  
  
  .separador{
    padding:1px;
  }

 

  .alturaCardQuedades{
    /*3*/
    height: 100%;
    box-shadow: 2px 2px 5px #ccc;
  }
}
  
  
#descripcioProducte{
	font-size:10px;
	padding: 1px 5px 1px 5px;
}  
	
.botoAmazon {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  border: 1px solid #000;
  color: #000;
  background: transparent;
  text-decoration: none;
}
.botoAmazon:hover:after {
  top: 0;
  left: 0;
}
.botoAmazon:after {
  content: "";
  width: 100%;
  z-index: -1;
  position: absolute;
  height: 100%;
  top: 5px;
  left: 5px;
  transition: 0.2s;
  background-color: #ffe566;
  text-decoration: none;
}  	

#linkImatgeBanner {
  max-height: 80px;
}

 .rating {
    display: flex;
    align-items: center;
    padding: 6px;
  }

  .rating i {
    font-size: 12px;
    color: #ddd;
  }

  .rating i.active {
    color: #ffc107;
  }

  .posicioQuedades{
    top: 80px;
    position: relative;
    padding: 0px 0px 30px 0px;
  }
  
  .alturaCardQuedades{
    /*1*/
    height: 100%;
    box-shadow: 2px 2px 5px #ccc;
  }


  .titolQuedada{
    width:80%;
    min-height:80px;
  }
  .imgQuedada{
    position:absolute;
    top:10px;
    right: 10px;
  }

  .botoKdd {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
  }
  
  .espai{
    
    padding:10px;
    
  
  }

  .espai:hover,
@media only screen and (max-width: 767px) {
  .espai {
    padding:10px;
    transition: transform 0.3s ease-in-out; /* Afegim una transició per un efecte suau */
  }

  .espai:hover {
    padding:10px;
    transform: scale(1.1); /* Efecte de zoom al posar el cursor sobre l'element */
  }
}
				


.navbar{

  display: flex;
  justify-content: space-between;
  background-color: var(--verde);
  overflow: hidden;
  position: fixed; /* Fija la barra en la parte superior */
  top: 0; /* Posición en la parte superior */
  width: 100%; /* Ancho completo */
  height: 3.4rem;
  z-index: 1000; /* Asegura que esté por encima de otros elementos */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); /* Sombra en la parte inferior */

}

.logo{

  margin-left: 1rem;
 

}

.logo img{
  height: 100%; /* Hace que la imagen ocupe toda la altura de la barra */
  width: auto;  /* Mantiene la proporción de la imagen */
 

}

.menu-icon {
  display: flex; /* Usar flexbox para apilar líneas */
  flex-direction: column; /* Apilar verticalmente */
  justify-content: center; /* Centrar verticalmente */
  cursor: pointer; /* Cambiar el cursor al pasar sobre el ícono */
  margin-right: 1rem;
}

.line {
  width: 25px; /* Ancho de las líneas */
  height: 3px; /* Alto de las líneas */
  background-color: var(--blanco); /* Color de las líneas */
  margin: 2px 0; /* Espacio entre las líneas */
}

.dropdown-menu {
  display: none; /* Oculta el menú por defecto */
  position: absolute; /* Para que se superponga al contenido */
  top: 3.4rem; /* Alineado debajo de la barra de navegación */
  right: 0; /* Alineado a la derecha */
  background-color: var(--blanco); /* Color de fondo del menú */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Sombra */
  z-index: 999; /* Asegura que esté por encima del contenido */
  width: 100%;
  height: auto;
  
}

.dropdown-menu ul {
  list-style: none; /* Elimina las viñetas */
  padding: 0; /* Elimina el padding */
  margin: 0; /* Elimina el margen */
}

.dropdown-menu li {
  padding: 10px; /* Espaciado interno */
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
  text-align: center; /* Centra horizontalmente el contenido */

}


.dropdown-menu li a {
  text-decoration: none; /* Elimina el subrayado */
  color: var(--negro); /* Color del texto */
  display: block; /* Asegura que el enlace ocupe todo el ancho del li */
  padding: 10px; /* Espaciado interno para el enlace */
  font-size: 1rem; /* Tamaño de fuente */
}

.icono-regalo {
  width: 1.3rem;  /* Ajusta el tamaño del ícono */
  height: auto; /* Ajusta el tamaño del ícono */
  vertical-align: middle; /* Alinea la imagen con el texto */
  margin-right: 5px; /* Espacio entre el ícono y el texto */
  margin-bottom: 5px;
}

/* Enlaces del menú (se mostrarán a la derecha en pantallas grandes) */
.nav-links {
  display: none; /* Oculto por defecto en pantallas pequeñas */
}

/* Media query para pantallas grandes */
@media (min-width: 1024px) {

  .menu-icon {
      display: none; /* Oculta el ícono del menú hamburguesa en pantallas grandes */
  }

  .dropdown-menu {
      display: none; /* Oculta el menú desplegable en pantallas grandes */
  }

  .nav-links {
      display: flex; /* Muestra los enlaces del menú en fila */
      justify-content: flex-end; /* Alinea los enlaces a la derecha */
      align-items: center;
      margin-right: 2rem;
  }

  .nav-links a {
      text-decoration: none;
      color: var(--blanco); /* Color del texto en el menú */
      font-size: 1rem;
      font-weight: bold;
      color: var(--blanco); /* Color blanco para los enlaces */
      margin-left: 50px; /* Espacio entre los enlaces */
  }

  .navbar{
    

    width: 100%; /* Ancho completo */
    height: 4rem;

  }
  
  .icono-regalo {
      filter: brightness(0) invert(1); /* Cambia el ícono a blanco */
  }

} /* tanca @media (min-width: 1024px) */

/* ========================================
   NOU POPUP - MODERN CARD DESIGN v2
   ======================================== */

/* Estil per al contenidor del popup de Leaflet */
.leaflet-popup-content {
  margin: 0 !important;
  width: auto !important;
  min-width: 260px;
}

.leaflet-popup-content-wrapper {
  border-radius: 12px;
  padding: 0 !important;
  overflow: hidden;
}

.leaflet-popup-close-button {
  display: none !important;
}

/* Contenidor principal del popup custom */
.custom-popup {
  font-family: var(--fuente-primaria), 'Comfortaa', sans-serif;
  min-width: 260px;
  position: relative;
}

/* Header del popup */
.popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  gap: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.popup-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  flex: 1;
  line-height: 1.4;
  color: inherit !important;
}

.popup-close-btn {
  display: none;
}

/* Aspa de tancament del popup - tipus modal */
.popup-close-x {
  position: absolute;
  top: 4px;
  right: 8px;
  font-size: 22px;
  font-weight: bold;
  color: #888;
  cursor: pointer;
  z-index: 10;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 4px;
  transition: color 0.2s ease, background 0.2s ease;
}

.popup-close-x:hover {
  color: #333;
  background: rgba(0, 0, 0, 0.08);
}

/* Contingut del popup */
.popup-content {
  padding: 4px 20px 20px;
  background: white;
}

/* Caixa de coordenades */
.coord-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  background: #f5f5f5;
  border-radius: 10px;
  margin: 16px 0;
}

.coord-labels {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  align-items: baseline;
}

.coord-label {
  font-family: var(--fuente-primaria), 'Comfortaa', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.coord-value {
  font-family: 'Monaco', 'Menlo', 'Courier New', monospace;
  font-size: 13px;
  color: #444;
}

.coord-copy {
  background: none;
  border: 2px solid #e0e0e0;
  cursor: pointer;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--verde);
  border-radius: 8px;
  transition: all 0.2s ease;
  font-size: 15px;
  flex-shrink: 0;
}

.coord-copy:hover {
  background: rgba(76, 129, 85, 0.1);
  border-color: var(--verde);
}

/* Enllaç del popup */
.popup-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--verde);
  text-decoration: none;
  font-size: 14px;
  padding: 10px 0;
  transition: opacity 0.2s ease;
}

.popup-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/* Botons d'acció */
.popup-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  justify-content: center;
}

.btn-action {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border: none;
  border-radius: 10px;
  color: white;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: var(--fuente-primaria), 'Comfortaa', sans-serif;
  text-decoration: none;
}

.btn-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  color: white !important;
}

.btn-action i {
  font-size: 16px;
}

/* Descripció del popup */
.popup-description {
  margin: 16px 0;
  padding: 14px 16px;
  background: #f8f9fa;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
}

/* Badges */
.popup-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 12px;
  margin-left: 10px;
  background: rgba(255, 255, 255, 0.6);
  color: #333;
}

.popup-pf-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 12px;
  margin-left: 10px;
}

.popup-pf-badge.yes {
  background: rgba(46, 125, 50, 0.15);
  color: #2e7d32;
}

.popup-pf-badge.no {
  background: rgba(198, 40, 40, 0.15);
  color: #c62828;
}

/* Colors segons tipus - Headers (Pastel) */
.popup-header.friendly {
  background: #d4e8d4 !important;
  color: #2d5a2d !important;
}

.popup-header.unfriendly {
  background: #f5d4d4 !important;
  color: #8b2a2a !important;
}

.popup-header.camperstop {
  background: #d4e0e8 !important;
  color: #2a3d4a !important;
}

.popup-header.taller {
  background: #cce0f5 !important;
  color: #1a3d5c !important;
}

.popup-header.event {
  background: #ebd4f0 !important;
  color: #5a2a6b !important;
}

.popup-header.camperarea {
  background: #d4e0f5 !important;
  color: #1a3d6b !important;
}

.popup-header.platja {
  background: #fff0d4 !important;
  color: #8b6a1a !important;
}

.popup-header.camping {
  background: #ffe4d4 !important;
  color: #8b3a1a !important;
}

.popup-header.restaurant {
  background: #f0e4d4 !important;
  color: #6b4a2a !important;
}

/* Colors dels botons */
.btn-action.primary {
  background: #2D5A36;
  color: white !important;
}

.btn-action.primary:hover {
  background: #3A6B44;
}

.btn-action.secondary {
  background: #495057;
  color: white !important;
}

.btn-action.secondary:hover {
  background: #3D4349;
}

/* Responsiu per a mòbils */
@media screen and (max-width: 600px) {
  /* Forçar popup de Leaflet a ser ample */
  .leaflet-popup-content-wrapper {
    border-radius: 12px !important;
  }

  /*.leaflet-popup-content {
    min-width: unset !important;
  }*/

  .custom-popup {
    min-width: unset;
    max-width: calc(100vw - 60px);
  }

  .popup-header {
    padding: 14px 16px;
  }

  .popup-title {
    font-size: 15px;
  }

  .popup-content {
    padding: 0 16px 16px;
  }

  .popup-actions {
    flex-direction: column;
    gap: 8px;
  }

  .custom-popup .btn-action {
    padding: 12px 16px;
    font-size: 14px;
    gap: 8px;
    border-radius: 10px;
  }

  .custom-popup .btn-action i {
    font-size: 15px;
  }

  .coord-value {
    font-size: 12px;
  }

  .coord-label {
    font-size: 9px;
  }

  .coord-box {
    padding: 10px 12px;
    gap: 8px;
  }

  .coord-labels {
    flex-direction: column;
    gap: 4px;
  }

  .popup-badge, .popup-pf-badge {
    font-size: 10px;
    padding: 3px 7px;
  }

  .popup-close-x {
    top: 2px;
    right: 6px;
    font-size: 20px;
    padding: 4px 6px;
  }
}

/* Mòbils molt petits - ajustos extra */
@media screen and (max-width: 360px) {
  .popup-header {
    padding: 12px 14px;
  }

  .popup-title {
    font-size: 14px;
  }

  .popup-content {
    padding: 0 14px 14px;
  }

  .custom-popup .btn-action {
    padding: 11px 14px;
    font-size: 13px;
  }
}

/* Desktop - popup amplada controlada */
@media screen and (min-width: 601px) {
  .custom-popup {
    min-width: 280px;
    max-width: 340px;
  }

  .coord-labels {
    flex-wrap: nowrap;
    gap: 6px 12px;
  }
}

/* ========================================
   COMMENTS MODAL - Modern Card Design
   ======================================== */

.comments-modal .w3-modal-content {
  border-radius: 16px;
  overflow: hidden;
  max-width: 500px;
  margin: 0 auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}

.comments-header{
  background: #2D5A36;
  color: white;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.comments-header h3{
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.comments-header h3 i{
  font-size: 18px;
}

.comments-close{
  position: static;
  font-size: 24px;
  font-weight: bold;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 4px;
  transition: color 0.2s ease, background 0.2s ease;
  background: none;
  border: none;
}

.comments-close:hover{
  color: white;
  background: rgba(255,255,255,0.15);
}

.comments-body{
  padding: 20px;
  background: white;
}

.comments-coords{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f5f5f5;
  border-radius: 10px;
  margin-bottom: 16px;
  font-size: 13px;
}

.comments-coords .coord-copy{
  background: none;
  border: 2px solid #e0e0e0;
  cursor: pointer;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2D5A36;
  border-radius: 8px;
  transition: all 0.2s ease;
  font-size: 14px;
  flex-shrink: 0;
}

.comments-coords .coord-copy:hover{
  background: rgba(76, 129, 85, 0.1);
  border-color: #2D5A36;
}

.comments-actions{
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}

.comments-list{
  max-height: 300px;
  overflow-y: auto;
}

.comments-list::-webkit-scrollbar{
  width: 6px;
}

.comments-list::-webkit-scrollbar-thumb{
  background: #ccc;
  border-radius: 3px;
}

.comment-item{
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.comment-item:last-child{
  border-bottom: none;
}

.comment-date{
  font-weight: 700;
  font-size: 12px;
  color: #666;
}

.comment-text{
  font-style: italic;
  font-size: 14px;
  color: #444;
  margin-top: 4px;
  line-height: 1.5;
}

.comment-empty{
  text-align: center;
  padding: 30px 0;
  color: #999;
  font-style: italic;
  font-size: 14px;
}

.comments-add-form textarea{
  width: 100%;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  padding: 12px;
  font-family: var(--fuente-primaria), 'Comfortaa', sans-serif;
  font-size: 14px;
  resize: vertical;
  transition: border-color 0.2s ease;
}

.comments-add-form textarea:focus{
  border-color: #2D5A36;
  outline: none;
}

.comments-add-form .charNumStyle{
  text-align: right;
  margin-top: 6px;
}

.comments-add-form .submit-btn{
  margin-top: 12px;
}

/* Responsive - Comments Modal */
@media screen and (max-width: 600px){
  .comments-modal .w3-modal-content{
    max-width: calc(100vw - 32px);
  }
  .comments-header{
    padding: 12px 14px;
  }
  .comments-header h3{
    font-size: 13px;
    gap: 6px;
  }
  .comments-close{
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
  }
  .comments-body{
    padding: 14px;
  }
  .comments-coords{
    font-size: 11px;
    padding: 8px 10px;
  }
  .comments-list{
    max-height: 250px;
  }
}

/* Teclat mobil obert - reduir llista */
@media (max-height: 500px){
  .comments-list{
    max-height: 150px;
  }
}
/* Comerços */
.clusterShops {
	background: #e67e22;
	border-radius: 50%;
	color: white;
	font-weight: bold;
	font-size: 0.9em;
	text-align: center;
	padding: 0.4em;
	border: 0.4em solid rgba(230, 126, 34, 0.5);
}
.popup-header.shop {
	background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
}
.shop-horari {
	padding: 8px 0;
	color: #555;
	font-size: 0.9rem;
}
.shop-type-badge {
	margin-bottom: 8px;
}
.btn-action.info {
	background: transparent;
	color: var(--verde);
	font-size: 1rem;
	padding: 8px 10px;
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.7;
	transition: opacity 0.2s;
}
.btn-action.info:hover {
	opacity: 1;
}
.shop-info-float {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 22px;
	height: 22px;
	background: var(--verde);
	color: white;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	box-shadow: 0 2px 6px rgba(0,0,0,0.3);
	z-index: 10;
	text-decoration: none;
	transition: transform 0.2s, background 0.2s;
}
.shop-info-float:hover {
	transform: scale(1.1);
	background: var(--verde-hover);
}
.shop-info-float i {
	color: white !important;
}
