/*TYPOGRAPHY*/
body.post-type-archive-location, body.tax-ciudad, body.single-location{
	font-family: Poppins, sans-serif;
	background-color:#F4F1E8;
}

body.post-type-archive-location h1,
body.post-type-archive-location h2,
body.post-type-archive-location h3,
body.post-type-archive-location h4,
body.post-type-archive-location h5,
body.post-type-archive-location h6,
body.tax-ciudad h1,
body.tax-ciudad h2,
body.tax-ciudad h3,
body.tax-ciudad h4,
body.tax-ciudad h5,
body.tax-ciudad h6,
body.single-location h1,
body.single-location h2,
body.single-location h3,
body.single-location h4,
body.single-location h5,
body.single-location h6
{
	font-family: Oswald, sans-serif;
}

body.single-location main#content{
  max-width: 1000px;
  margin: 0 auto;
}


/*LOCATION GRID*/

.kpis-grid-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.kpis-grid {
    display: flex;
    flex-wrap: wrap;
     /*justify-content:space-evenly space-around space-between space-evenly flex-start*/;
    margin: 0;
    width: 100%;
}


.kpis-grid-item {
    display: flex;
    flex-direction: column;
    margin: 10px;
    width: calc(100% - 40px); /* Para desktop, 1 columna */
}
.kpis-card .kpis-card-location_phone_1 a{
    text-decoration: none;
    font-weight: 600;
    color: black;
}
.kpis-card .kpis-card-location_phone_1 a:hover{
    color: #FF7300;
}
.kpis-grid-item-col-2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0px;
    width: 50%; /* Para desktop, 3 columnas */
}

.kpis-grid-item-col-3 {
    display: flex;
    flex-direction: column;
    margin: 0px;
    margin-bottom: 20px;
    padding: 0 10px;
    width: 33.33%; /* Para desktop, 3 columnas */
}


.kpis-card{
    box-shadow: 0px 0px 12px 0px rgb(0, 0, 0, 0.1);
    min-height: 550px;
    border-radius: 10px;
	background-color:white;
    font-size: 0.95rem;
}
.kpis-card .kpis-card-content-details .kpis-card-location_address a{
    color: #000000;
    text-decoration: none;
}
.kpis-card .kpis-card-header{
    background-color: #fff;
    padding: 10px;
    border-radius: 10px 10px 0 0;
}
.kpis-card .kpis-card-header a{
    color: #26170F;
    text-decoration: none;
}
.kpis-card .kpis-card-header h2{
    font-size: 1.5rem;
	color: #C55900;
}
.kpis-card .kpis-card-img{
    margin-bottom: 20px;
}

.kpis-card .kpis-card-content{
    padding: 20px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.kpis-card .kpis-card-content a.kpis-card-link{
    display: block;
    color: #C55900;
    width: 100%;
    font-weight: 600;
    margin-top: 20px;
    text-align: center;
    padding: 10px;
    text-decoration: none;
    text-transform: uppercase;
    border: 3px solid #C55900;
    border-radius: 6px;
}
.kpis-card .kpis-card-content a.kpis-card-link:hover{
    color: #26170F;
    border: 3px solid #C55900;
    background-color: #C55900;
}


@media (max-width: 991.98px) { /* Para tablet */
    .kpis-card{
    min-height: 500px;
    }
    .kpis-card .kpis-card-content{
    min-height: 230px;
    }
	.kpis-grid {
	justify-content: space-around!important;
	}

    .kpis-grid-item-col-3 {
    width: calc(50% - 40px); /* 2 columnas */
    }

}

@media (max-width: 767.98px) { /* Para móvil */
    .kpis-card .kpis-card-content{
    min-height: 0;
    }
    .kpis-grid-item-col-3 {
        width: calc(100% - 20px); /* 1 columna */
    }
    .kpis-grid{
        margin: 0 -20px 0 0;}
}

/*GENERAL*/

.kpis-text-center{text-align:center;}
.kpis-icon {
display: inline;
width: 17px;
height: 17px;
border-radius: 3px;
}
.kpis-icon img{
    width: auto;
    height: 17px;
    margin-right: 10px;
}
.kpis-card-content-details div{
    margin-bottom: 10px;
}

/*PARALLAX*/

.kpis-parallax-height-archive {
  height: 300px; /* o la altura que desees */
}

.kpis-parallax-height-tax {
  height: 500px; /* o la altura que desees */
}


.kpis-parallax-header {
    color: white;
  position: relative;
  margin-bottom:30px;
}

.kpis-parallax-header .kpis-parallax-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.kpis-parallax-header .kpis-parallax-content h1{
	color:white;
}
.kpis-parallax-header .kpis-parallax-content p{
	font-size:1.2rem;
}

.kpis-parallax-header {
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.kpis-parallax-background{
    height: 100%;
    background-color: #00000069;
}
/*SINGLE LOCATION*/
.kpis-negative-40{
    margin-top: -40px;
}
section#product .kpis-grid-item, section#reviews .kpis-grid-item{
    align-items: center;
}
section#reviews{
    margin-bottom:70px;
}
section#ubicacion{
    padding: 50px 10px;
}
section#ubicacion .kpis-heading-title{
    font-size: 1.6rem;
    color: #C35800;
    text-transform: uppercase;
    margin: 0;
    font-weight: bold;
}
section#ubicacion .kpis-heading-subtitle{
    font-size: 25px;
}
section#ubicacion .kpis-content-text{
    text-align: justify;
}
.kpis-content-btn{
    display: flex;
}
.kpis-content-btn a:first-child{
    margin-right: 20px;
}
.kpis-content-btn a{
    display: block;
    color: #26170F;
    background-color: #FF7300;
    width: 50%;
    font-weight: 600;
    margin-top: 10px;
    text-align: center;
    padding: 10px;
    text-decoration: none!important;
    text-transform: uppercase;
    border-radius: 6px;
	font-size: 15px;
}
.kpis-content-btn a:hover{
    color: #26170F;
    background-color: #FF7300;
}
section#ubicacion .kpis-grid{
    margin: 0;
}
section#ubicacion .kpis-text-center{
    text-align: center;
}
section#ubicacion #kpis-local-img img{
    width: 100%;
}
section#ubicacion .kpis-alt-img{
    color: white;
    background-color: rgba(0, 0,0, 0.8);
    padding: 10px;
}

section#ubicacion .kpis-grid-item-col-2:last-child{
    padding-left: 30px;
}
section#address, section#product, section#reviews{
    width: 100%;
    padding: 15px 10px;
}
section#address .kpis-grid{
	background-color: white;
    box-shadow: 0px 0px 11px 0px rgb(0 0 0 / 20%);
    border-radius: 6px;
    justify-content: space-between;
    width: 100%;
    margin: 0;
}
section#address .kpis-grid .kpis-grid-item-col-2{
    justify-content: center;
    margin: 0;
}
section#address .kpis-grid .kpis-grid-item-col-2:first-child{
    padding: 30px;
    text-align: center;
}
section#address .kpis-heading-subtitle{
    font-size: 30px;
    color: #C55900;
}
section#address .kpis-heading-subtitle a{
    color: #FF7300;
    text-decoration: none;
}
section#address .kpis-card-content-link{
    display: flex;
    justify-content: center;
}
section#address .kpis-card-link-whatsapp{ /*boton whatsapp*/
    margin-left:20px;
}
section#address .kpis-card-link{
    display: block;
    color: white;
    background-color: #FF7300;
    width: 40%;
    font-weight: 600;
    margin-top: 20px;
    text-align: center;
    padding: 10px;
    text-decoration: none!important;
    text-transform: uppercase;
    border-radius: 6px;
}
section#address .kpis-card-link:hover{
    color: white;
    background-color: #FF7300;
}
section#address .kpis-card-link-whatsapp{ /*boton whatsapp*/
    display: block;
    color: white;
    background-color: #008000;
    width: 40%;
    font-weight: 600;
    margin-top: 20px;
    text-align: center;
    padding: 10px;
    text-decoration: none!important;
    text-transform: uppercase;
    border-radius: 6px;
}
section#address .kpis-card-link-whatsapp:hover{ /*boton whatsapp*/
    color: white;
    background-color: #008000bd;
}
section#address iframe{ /* mapa */
    border: none;
    border-radius: 0 6px 6px 0;
}
.kpis-heading-title-related{
    color: #C35800;
    font-size: 30px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 15px;
}

@media (max-width: 991.98px) { /* Para tablet */

    section#ubicacion .kpis-grid {
    display: block;
    }

    section#ubicacion .kpis-grid-item-col-2 {
        width: 100%;
        margin: 0;
    }
    section#ubicacion .kpis-alt-img, section#ubicacion #kpis-local-img img{
        width: 100%;
    }
    section#ubicacion .kpis-grid-item-col-2:last-child{
    padding-left: 0px;
    margin-top: 30px;
    }
    section#address .kpis-grid .kpis-grid-item-col-2:first-child {
    padding: 25px;
    }
    section#address .kpis-card-content-link{
    display: block;
    margin-top: 20px;
    }
    section#address .kpis-card-link, section#address .kpis-card-link-whatsapp{
    width: 100%;
    margin: 10px 0;
    }
    section#address .kpis-grid {
    width: 100%;
    margin: 0;
    justify-content: space-between;
    }
    section#address .kpis-grid-item-col-2:first-child{
    width: 55%;
    }
    section#address .kpis-grid-item-col-2:last-child{
    width: 45%;
    }
}

@media (max-width: 767.98px) { /* Para móvil */
    section#ubicacion, section#address {padding: 20px 20px;}
    
    .kpis-content-btn{
        display: block;
    }
    .kpis-content-btn a{
        width: 100%;
    }
    section#address .kpis-grid{
        display: block;
    }
    section#address .kpis-grid-item-col-2:first-child, section#address .kpis-grid-item-col-2:last-child{
        width: 100%;
    }
    section#address .kpis-card-content-link{
    display: block;
    margin-top: 20px;
    }
    section#address .kpis-card-link, section#address .kpis-card-link-whatsapp{
    width: 100%;
    margin: 10px 0;
    }
    section#address .kpis-card-link-whatsapp {
    margin-left: 0;
    }
}
.kpis-card .kpis-card-img{
    position: relative;
    overflow: hidden;
}
.kpis-card .kpis-card-img img{
    transition: 0.3s;
}
.kpis-card .kpis-card-img img:hover {
  transform: scale(1.1);
}
section#relacionadas{
	margin-bottom:30px;
}

#kpis-atencion_hours{
padding:0 15px;
list-style-type: none;
text-align: left;
}
#kpis-atencion_hours li{
margin-bottom: 5px;
}
.additional-hours-container{
    border-radius: 5px;
    box-shadow: 0px 0px 9px 0px rgb(0 0 0 / 15%);
    background-color: rgb(254 254 254 / 95%);
    z-index: 99;
}



.kpis-listado-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 30px 0;
}

.kpis-listado-item {
	display: flex;
	align-items: center;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 15px;
	flex: 1 1 calc(100% - 20px); /* fallback mobile */
	box-sizing: border-box;
	gap: 15px;
	background: #fff;
	max-width: 100%;
}


/* thumbnail */
.kpis-listado-item .kpis-card-img img,
.kpis-listado-item .kpis-listado-thumb img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    border-radius: 6px;
}


/* info */
.kpis-listado-info {
	flex-grow: 1;
}

.kpis-listado-info h3 {
	margin: 0 0 6px;
	font-size: 18px;
	font-family: Oswald, sans-serif;
}

.kpis-listado-info p {
	font-size: 14px;
	color: #666;
	margin: 0 0 10px;
	font-family: Poppins, sans-serif;
}

.kpis-listado-btn {
	background: #f47b20;
	color: #fff;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 14px;
	text-decoration: none;
	display: inline-block;
}

/* tablet: 2 colunas */
@media (min-width: 768px) {
	.kpis-listado-item {
		flex: 1 1 calc(50% - 20px);
		max-width: calc(50% - 20px);
	}
}

/* desktop: 3 colunas */
@media (min-width: 992px) {
	.kpis-listado-item {
		flex: 1 1 calc(33.333% - 20px);
		max-width: calc(33.333% - 20px);
	}
}



/* linhas com ícone + texto */
.kpis-info-row{
  display: grid;
  grid-template-columns: 20px 1fr; /* 1ª col = ícone; 2ª col = texto */
  column-gap: 10px;
  align-items: start;
}

.kpis-icon{
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 3px; /* mantém seu estilo */
}

.kpis-icon img{
  display: block;
  width: auto;
  height: 20px;
  margin: 0; /* sem deslocar o grid */
}

.kpis-info-text a{
  color: inherit;
  text-decoration: none;
}

/* igualar alturas dos cards na linha */
.kpis-grid{
  align-items: stretch; /* estica os itens na cross-axis */
}

.kpis-grid-item-col-3{
  display: flex; /* permite o .kpis-card ocupar 100% da altura do item */
}

.kpis-card{
  display: flex;
  flex-direction: column;
  height: 100%;          /* ocupa toda a altura do item */
  min-height: 550px;     /* seu fallback atual; pode reduzir se quiser */
}

.kpis-card-content{
  flex: 1 1 auto;        /* empurra o botão "readme more" para baixo */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}


/* links dentro do texto seguem a cor atual */
.kpis-info-row .kpis-card-location_address a,
.kpis-info-row .kpis-card-location_phone_1 a{ color: inherit; text-decoration: none; }

/* espaçamento entre linhas do bloco de detalhes */
.kpis-card-content-details .kpis-info-row{ margin-bottom:10px; }


/* Hanging indent: só dentro das linhas de info */
.kpis-info-row{
  display: grid;
  grid-template-columns: 20px 1fr;
  column-gap: 10px;
  align-items: start;
}

.kpis-info-row .kpis-icon{        /* ícone apenas aqui */
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 3px;
}
.kpis-info-row .kpis-icon img{
  display: block;
  width: auto;
  height: 20px;
  margin: 0;
}

/* opcional: deixa claro que links nas linhas usam a cor atual */
.kpis-info-row .kpis-card-location_address a,
.kpis-info-row .kpis-card-location_phone_1 a{
  color: inherit;
  text-decoration: none;
}


.kpis-content-btn a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;              /* espaço entre ícone e texto */
}
.kpis-content-btn a .kpis-icon,
.kpis-content-btn a .kpis-icon img{
  display: inline-block;  /* volta a ser inline dentro do botão */
  height: 1em;
}

.kpis-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; }
.kpis-btn .kpis-icon{ display:inline-block; width:20px; height:20px; }
.kpis-btn .kpis-icon img{ display:block; width:auto; height:20px; margin:0; }


/* garante âncora e não quebra layout do texto */
.hours-wrap{ position: relative; display: inline-block; }
.kpis-card-location_address{ position: relative; } /* já tinha, mas reforça */

/* ícone ao lado do texto */
.hours-wrap .zoom-icon{
  cursor: pointer;
  vertical-align: -3px;
  margin-left: 6px;
}

/* popover (fica acima do texto, como no seu) */
.hours-popover{
  position: absolute;
  bottom: calc(100% + 8px); /* acima */
  left: 0;
  width: 260px;
  padding: 12px 14px;
  border-radius: 8px;
  background: rgba(255,255,255,0.98);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
  backdrop-filter: blur(2px);
}

/* mostrar no hover (e teclado: focus-within) */
.hours-wrap:hover .hours-popover,
.hours-wrap:focus-within .hours-popover{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* setinha apontando para o texto */
.hours-popover::before,
.hours-popover::after{
  content: "";
  position: absolute;
  left: 16px;
  width: 0; height: 0;
  border: 8px solid transparent;
}
.hours-popover::before{
  bottom: -16px;
  border-top-color: rgba(0,0,0,0.08);
}
.hours-popover::after{
  bottom: -15px;
  border-top-color: rgba(255,255,255,0.98);
}

.hours-popover__header{
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #ddd;
  text-align: center;
}

.hours-popover__list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.hours-popover__list li{
  margin: 6px 0;
  color: #333;
}
