.elementor-1155 .elementor-element.elementor-element-57bde83{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-d9c398f *//* ================================
   KOAJ CATÁLOGO PREMIUM V2
================================ */

.koaj-shop-layout{
  display:flex;
  gap:24px;
  max-width:1500px;
  margin:0 auto;
  padding:24px 16px;
  background:#f6f7fb;
}

/* ================================
   SIDEBAR / FILTROS
================================ */

.koaj-sidebar{
  width:260px;
  flex-shrink:0;
  background:#fff;
  padding:20px;
  border-radius:22px;
  box-shadow:0 12px 35px rgba(0,0,0,.07);
  height:fit-content;
  position:sticky;
  top:20px;
}

.koaj-sidebar h3{
  font-size:21px;
  font-weight:900;
  margin:0 0 18px;
  color:#101828;
}

.koaj-filter-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 0;
  color:#333;
  text-decoration:none!important;
  border-bottom:1px solid #f0f0f0;
  font-size:14px;
  font-weight:800;
  text-transform:capitalize;
  transition:.2s ease;
}

.koaj-filter-link span{
  font-size:12px;
  color:#888;
  font-weight:800;
}

.koaj-filter-link:hover,
.koaj-filter-link.active{
  color:#ff6500;
}

/* ================================
   MAIN
================================ */

.koaj-shop-main{
  flex:1;
  min-width:0;
}

.koaj-shop-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  margin-bottom:22px;
}

.koaj-title{
  font-size:42px;
  line-height:1;
  font-weight:950;
  margin:0 0 8px;
  color:#101828;
  letter-spacing:-1.5px;
  text-transform:capitalize;
}

.koaj-subtitle{
  margin:0;
  color:#667085;
  font-size:15px;
  font-weight:600;
}

/* ================================
   BUSCADOR PREMIUM
================================ */

.koaj-search-form{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:430px;
  max-width:520px;
}

.koaj-search-form input{
  width:100%;
  height:52px;
  border:1px solid #e4e7ec;
  border-radius:18px;
  padding:0 18px;
  font-size:15px;
  outline:none;
  background:#fff;
  color:#101828;
  box-shadow:0 8px 22px rgba(0,0,0,.045);
}

.koaj-search-form input::placeholder{
  color:#98a2b3;
}

.koaj-search-form input:focus{
  border-color:#ff6500;
  box-shadow:0 0 0 4px rgba(255,101,0,.12);
}

.koaj-search-form button{
  height:52px;
  min-width:118px;
  border:0;
  background:#ff6500;
  color:#fff;
  padding:0 22px;
  border-radius:18px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 10px 20px rgba(255,101,0,.22);
  transition:.2s ease;
}

.koaj-search-form button:hover{
  background:#111827;
  box-shadow:0 10px 20px rgba(17,24,39,.18);
}

/* ================================
   GRID: PC 5 COLUMNAS
================================ */

.koaj-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

/* ================================
   TARJETAS
================================ */

.koaj-card{
  background:#fff;
  border:1px solid #edf0f5;
  border-radius:20px;
  padding:14px;
  text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,.055);
  transition:.25s ease;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:325px;
  overflow:hidden;
}

.koaj-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 35px rgba(0,0,0,.11);
  border-color:rgba(255,101,0,.38);
}

.koaj-img-box{
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
  background:#fff;
}

.koaj-img{
  max-width:100%;
  max-height:135px;
  object-fit:contain;
}

.koaj-no-img{
  height:128px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f4f6f8;
  color:#98a2b3;
  border-radius:14px;
  font-size:13px;
  font-weight:700;
}

.koaj-card h3{
  font-size:15px;
  line-height:1.25;
  font-weight:900;
  color:#101828;
  margin:0 0 8px;
  height:38px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  text-transform:capitalize;
}

.koaj-price{
  font-size:22px;
  line-height:1;
  font-weight:950;
  color:#ff6500;
  margin:5px 0 9px;
}

.koaj-stock{
  font-size:12px;
  font-weight:900;
  margin-bottom:11px;
  min-height:18px;
}

.koaj-stock-ok{
  color:#16803c;
}

.koaj-stock-low{
  color:#d98200;
}

.koaj-stock-off{
  color:#c62828;
}

/* BOTÓN VER PRODUCTO */
.koaj-btn{
  display:block;
  width:100%;
  background:#ff6500;
  color:#fff!important;
  text-decoration:none!important;
  padding:11px 12px;
  border-radius:14px;
  font-size:13px;
  line-height:1;
  font-weight:950;
  transition:.25s ease;
  box-shadow:0 8px 16px rgba(255,101,0,.18);
}

.koaj-btn:hover{
  background:#111827;
  color:#fff!important;
  box-shadow:0 10px 18px rgba(17,24,39,.18);
}

/* ================================
   PAGINACIÓN
================================ */

.koaj-pagination{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:34px;
}

.koaj-pagination a{
  min-width:38px;
  text-align:center;
  padding:9px 12px;
  border-radius:12px;
  text-decoration:none!important;
  background:#fff;
  color:#344054;
  font-weight:900;
  border:1px solid #e4e7ec;
  box-shadow:0 4px 10px rgba(0,0,0,.035);
}

.koaj-pagination a.active,
.koaj-pagination a:hover{
  background:#ff6500;
  color:#fff;
  border-color:#ff6500;
}

.koaj-empty{
  background:#fff;
  padding:30px;
  border-radius:18px;
  text-align:center;
  color:#667085;
  font-weight:800;
}

/* ================================
   TABLET GRANDE: 4 COLUMNAS
================================ */

@media(max-width:1300px){
  .koaj-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* ================================
   TABLET: 3 COLUMNAS
================================ */

@media(max-width:1050px){
  .koaj-shop-layout{
    flex-direction:column;
    padding:18px 12px;
  }

  .koaj-sidebar{
    width:100%;
    position:relative;
    top:auto;
  }

  .koaj-shop-header{
    flex-direction:column;
    align-items:stretch;
  }

  .koaj-search-form{
    min-width:0;
    max-width:none;
    width:100%;
  }

  .koaj-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* ================================
   MÓVIL: FILTROS FLOTANTES + 2 COLUMNAS
================================ */

@media(max-width:768px){

  .koaj-shop-layout{
    padding:12px 8px;
    gap:14px;
    background:#f6f7fb;
  }

  /* FILTROS COMO BARRA FLOTANTE HORIZONTAL */
  .koaj-sidebar{
    width:100%;
    position:sticky;
    top:0;
    z-index:50;
    padding:12px;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.10);
  }

  .koaj-sidebar h3{
    font-size:15px;
    margin:0 0 10px;
  }

  .koaj-sidebar{
    display:block;
  }

  .koaj-sidebar .koaj-filter-link{
    display:inline-flex;
    width:auto;
    white-space:nowrap;
    border:0;
    margin:0 7px 0 0;
    padding:8px 12px;
    border-radius:999px;
    background:#f3f4f6;
    font-size:12px;
    color:#344054;
  }

  .koaj-sidebar .koaj-filter-link span{
    margin-left:6px;
    font-size:10px;
  }

  .koaj-sidebar .koaj-filter-link.active{
    background:#ff6500;
    color:#fff;
  }

  .koaj-sidebar .koaj-filter-link.active span{
    color:#fff;
  }

  .koaj-sidebar{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .koaj-sidebar::-webkit-scrollbar{
    display:none;
  }

  .koaj-title{
    font-size:26px;
    letter-spacing:-.8px;
  }

  .koaj-subtitle{
    font-size:12.5px;
  }

  /* BUSCADOR EN UNA SOLA LÍNEA */
  .koaj-search-form{
    display:grid;
    grid-template-columns:1fr 86px;
    gap:8px;
    width:100%;
  }

  .koaj-search-form input{
    height:42px;
    font-size:13px;
    border-radius:14px;
    padding:0 12px;
  }

  .koaj-search-form button{
    height:42px;
    min-width:86px;
    padding:0;
    font-size:12px;
    border-radius:14px;
    white-space:nowrap;
  }

  /* 2 PRODUCTOS POR FILA */
  .koaj-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .koaj-card{
    padding:9px;
    border-radius:16px;
    min-height:250px;
  }

  .koaj-img-box{
    height:102px;
    margin-bottom:8px;
  }

  .koaj-img{
    max-height:98px;
  }

  .koaj-no-img{
    height:96px;
    font-size:11px;
  }

  .koaj-card h3{
    font-size:12px;
    height:31px;
    margin-bottom:6px;
  }

  .koaj-price{
    font-size:17px;
    margin:3px 0 6px;
  }

  .koaj-stock{
    font-size:10.5px;
    margin-bottom:8px;
    line-height:1.2;
  }

  .koaj-btn{
    padding:9px 6px;
    font-size:11.5px;
    border-radius:12px;
  }

  .koaj-pagination{
    margin-top:24px;
    gap:6px;
  }

  .koaj-pagination a{
    min-width:32px;
    padding:8px 9px;
    font-size:12px;
  }
}

/* ================================
   MÓVIL PEQUEÑO
================================ */

@media(max-width:380px){
  .koaj-grid{
    gap:8px;
  }

  .koaj-card{
    min-height:240px;
  }

  .koaj-price{
    font-size:16px;
  }

  .koaj-search-form{
    grid-template-columns:1fr 78px;
  }

  .koaj-search-form button{
    min-width:78px;
    font-size:11px;
  }
}
.koaj-mobile-filter-btn,
.koaj-close-filter,
.koaj-filter-overlay{
  display:none;
}

@media(max-width:768px){

  .koaj-mobile-filter-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    position:sticky;
    top:140px;
    z-index:60;
    background:#ff6500;
    color:#fff;
    border:0;
    padding:11px 18px;
    border-radius:14px;
    font-size:14px;
    font-weight:900;
    margin:0 0 12px 8px;
    box-shadow:0 10px 24px rgba(255,101,0,.25);
  }

  .koaj-filter-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:998;
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
  }

  .koaj-sidebar{
    position:fixed!important;
    top:0!important;
    left:-320px;
    width:300px!important;
    height:100vh!important;
    z-index:999;
    border-radius:0 22px 22px 0!important;
    overflow-y:auto;
    transition:.3s ease;
  }

  body.koaj-filter-open .koaj-sidebar{
    left:0;
  }

  body.koaj-filter-open .koaj-filter-overlay{
    opacity:1;
    visibility:visible;
  }

  .koaj-close-filter{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:14px;
    right:14px;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:#f3f4f6;
    color:#111;
    font-size:24px;
    font-weight:800;
  }

  .koaj-sidebar h3{
    padding-right:45px;
  }

  .koaj-sidebar .koaj-filter-link{
    display:flex;
    width:100%;
    border-bottom:1px solid #f0f0f0;
    border-radius:0;
    background:transparent;
    padding:13px 0;
    font-size:14px;
  }
}/* End custom CSS */