.elementor-5199 .elementor-element.elementor-element-53e98a4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:35px;--padding-right:35px;}.elementor-5199 .elementor-element.elementor-element-9838f0c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:80px;--margin-bottom:0px;--margin-left:13px;--margin-right:13px;--padding-top:0px;--padding-bottom:100px;--padding-left:40px;--padding-right:40px;}@media(max-width:1024px){.elementor-5199 .elementor-element.elementor-element-53e98a4{--margin-top:25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-5199 .elementor-element.elementor-element-db2dbb4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5199 .elementor-element.elementor-element-9838f0c{--margin-top:35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(max-width:767px){.elementor-5199 .elementor-element.elementor-element-53e98a4{--margin-top:-8px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-5199 .elementor-element.elementor-element-9838f0c{--margin-top:-48px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-db2dbb4 *//* 0. ENVOLTORIO GENERAL */
.elk-filter-wrapper {
    display: block;
    width: fit-content;
    margin-left: 0;
    padding-left: 5px;
    font-family: 'Barlow Semi Condensed', sans-serif;
}

/* TÍTULO */
.elk-filter-title {
    font-family: 'Barlow', sans-serif;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    color: #333;
    margin: 0 0 25px 0;
}

/* 1. CONTENEDOR DE BOTONES */
.elk-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    justify-content: flex-start; /* siempre alineados a la izquierda */
    max-width: 900px;
}

/* 2. ESTILO BASE DE CADA BOTÓN */
.elk-tags-container .elk-tag-button {
    background: linear-gradient(to bottom,
       #53181F 0%,   /* parte superior 
        #53181F 50%,  /* desde la mitad */
        #53181F 100%  /* parte inferior sólida */
    );
    border: 1px solid #53181F;
    color: #fff !important;
    
    text-align: center;
    text-transform: uppercase;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border-radius: 60px;
    transition: all 0.1s ease-in-out;
    cursor: pointer;
    text-decoration: none !important;
    white-space: nowrap;
    height: 52px;
    width: auto;
    flex: 0 0 auto;
    font-family: 'Barlow Semi Condensed', sans-serif;
}

/* 5. ICONOS + y − */
.elk-tags-container .elk-tag-button i {
    font-size: 14px;
    margin-left: 8px;
    line-height: 1;
}

/* 6. BOTÓN CONTENEDOR */
.elk-button-cont a.button {
    background: linear-gradient(to bottom,
        #ef7923 0%,   /* parte superior sólida */
        #ef7923 50%,  /* hasta la mitad */
        #f3944f 50%,  /* desde la mitad */
        #f3944f 100%  /* parte inferior sólida */
    );
    color: #fff !important;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 12px 16px;
    display: inline-block;
    text-align: center;
    transition: transform 0.15s ease;
}

.elk-button-cont a.button:hover,
.elk-tags-container .elk-tag-button:hover {
    transform: scale(1.02);
}


/* 5. ICONOS + y − */
.elk-tags-container .elk-tag-button i {
    font-size: 14px;
    margin-left: 8px;
    line-height: 1;
    
}

.elk-button-cont a.button{
    background: linear-gradient(
  to bottom,
  rgba(239,121,35,1) 0%,
  rgba(239,121,35,1) 50%,
  rgba(243,148,79,1) 50%,
  rgba(243,148,79,1) 100%
);

}


/* ----------------------------------------------------------------- */
/* ADAPTACIÓN TABLET: réplica de desktop con salto controlado */
/* ----------------------------------------------------------------- */
@media (max-width: 768px) {
    .elk-filter-wrapper {
        width: auto; /* evita limitar el ancho del contenedor en tablet */
    }

    .elk-tags-container {
        max-width: 100%;
        justify-content: flex-start; /* igual que PC */
        align-items: flex-start;
    }

    .elk-tags-container .elk-tag-button {
        font-size: 16px;
        height: 48px;
        padding: 10px 14px;
        width: auto; /* mantiene ancho natural */
    }

    /* Forzar salto de línea tras el 3er y 6to botón manteniendo anchos naturales */
    .elk-tags-container .elk-tag-button:nth-child(3)::after,
    .elk-tags-container .elk-tag-button:nth-child(6)::after {
        content: "";
        display: block;
        flex-basis: 100%;
        height: 0;
    }
}

/* ----------------------------------------------------------------- */
/* ADAPTACIÓN MÓVIL PEQUEÑO */
/* ----------------------------------------------------------------- */


/* Fuerza alineación izquierda dentro del widget que renderiza el shortcode */
:where(.elementor) .elementor-section :where(.elementor-container) 
  :where(.elementor-column) .elementor-widget-shortcode 
  :where(.elementor-widget-container) .elk-filter-wrapper {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 !important;
  text-align: left !important;
}

:where(.elementor) .elementor-section :where(.elementor-container) 
  :where(.elementor-column) .elementor-widget-shortcode 
  :where(.elementor-widget-container) .elk-tags-container {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 900px !important;
}

:where(.elementor) .elementor-section :where(.elementor-container) 
  :where(.elementor-column) .elementor-widget-shortcode 
  :where(.elementor-widget-container) .elk-tag-button {
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap !important;
}

/* ESPACIO CONTENEDOR */

.elk-filters-section .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Override de padding vertical en botones de filtros */
.elk-tags-container .elk-tag-button {
  padding-top: 18px !important;  /* más espacio arriba */
  padding-bottom: 18px !important; /* más espacio abajo */
  height: auto !important;        /* libera la altura fija de 52px */
}

/* Ajuste coherente en tablet/móvil */
@media (max-width: 768px) {
  .elk-tags-container .elk-tag-button {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    height: auto !important;      /* libera la altura fija de 48px */
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-abc2113 *//* ================================================================
   ESTILOS PARA RESTAURANTES (RÉPLICA EXACTA DEL DISEÑO UNIFICADO)
   ================================================================ */

/* Contenedor de la lista */
.elk-posts-list-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
  font-family: "Oswald", "Roboto Condensed", sans-serif;
}

/* Tarjeta individual */
.elk-restaurant-card {
  padding: 28px 23px;
  width: 100%;
  display: flex;
  align-items: flex-start; /* 🔥 alinea arriba */
  gap: 30px;
  background: #fff;
  border: 1px solid #e5e5e5;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  border-radius: 2px;
  box-sizing: border-box;
  position: relative;
}

/* Imagen */
.elk-image-wrapper {
  width: 170px;
  height: 170px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border: 1px solid #eee;
  flex-shrink: 0;
  display: block;
}

/* Texto */
.elk-text-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: flex-start; /* 🔥 alinea con el título */
}

/* Fila superior: teléfono + distancia */
.elk-details-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 16px !important;
  color: #888;
  font-weight: 700;
  text-transform: uppercase;
  align-items: center;
  margin-bottom: 5px;
}

/* Icono teléfono */
.elk-details-row span.phone::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  margin-right: 5px;
  color: #888;
}

/* Título */
.elk-text-content h3 {
  margin: 0 0 5px 0 !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 28px !important;
  color: #333132 !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.5px !important;
}

/* Dirección */
.elk-text-content p {
  margin: 0 0 8px 0;
  font-size: 14px;
  color: #666;
}

/* Enlace GET DIRECTIONS */
.elk-text-content a.blue {
  color: #1c34e5 !important;
  text-decoration: underline !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Botón */
.elk-button-cont {
  flex-shrink: 0;
  width: 230px;
  margin-top: 0 !important;
  align-self: flex-start; /* 🔥 alinea con el título */
}

.elk-button-cont a.button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 58px;
  background: linear-gradient(to bottom, #53181F 0%, #53181F 100%);
  color: #fff !important;
  border: 0;
  padding: 10px 30px;
  text-align: left;
  text-transform: uppercase;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 17px !important;
  font-weight: 800;
  line-height: 1.1;
  position: relative;
  padding-right: 35px;
  border-radius: 60px;
  transition: transform 0.15s ease;
}

.elk-button-cont a.button:after {
  content: "\203A";
  font-size: 26px;
  position: absolute;
  right: 21px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-weight: 400;
  border-radius: 12px;
  transition: transform 0.15s ease;
}

.elk-button-cont a.button:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 0 #693339;
}

/* Responsive tablet */
@media (max-width: 768px) {
  .elk-restaurant-card {
    padding: 20px;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
  }

  .elk-image-wrapper {
    width: 140px;
    height: 140px;
    background-size: cover;
    background-position: center center;
    flex-shrink: 0;
  }

  .elk-text-content {
    flex-grow: 1;
    min-width: 200px;
  }

  .elk-text-content h3 {
    font-size: 22px !important;
  }

  .elk-text-content p {
    font-size: 13px;
  }

  .elk-text-content a.blue {
    font-size: 15px !important;
  }

  .elk-details-row {
    font-size: 14px !important;
    gap: 8px;
    flex-wrap: wrap;
  }

  .elk-button-cont {
    width: 100%;
    max-width: 230px;
    margin-top: 0 !important;
  }

  .elk-button-cont a.button {
    height: 48px;
    font-size: 16px !important;
    padding: 10px 15px;
    text-align: left;
  }

  .elk-button-cont a.button:after {
    right: 10px;
    font-size: 22px;
  }
}

/* Neutraliza márgenes heredados */
.elk-posts-list-wrapper .elk-restaurant-card .row,
.elk-restaurant-card .row,
.elk-restaurant-card .elk-details-row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Ritmo vertical */
.elk-text-content > * {
  margin-bottom: 8px;
}

.elk-text-content > *:last-child {
  margin-bottom: 0 !important;
}

/* Fuente condensada */
@import url('https://fonts.googleapis.com/css?family=Barlow+Condensed:500,700');


/* 🔧 Corrige imágenes pequeñas en tarjetas de restaurantes */
.elk-restaurant-card .elk-image-wrapper {
  width: 150px !important;
  height: 150px !important;
  background-size: cover !important;
  background-position: center center !important;
}

.elk-button-cont {
  align-self: center; /* 🔧 centrado verticalmente en la tarjeta */
}/* End custom CSS */