body {
  height: 100%;
  background-color: #f6f4ef;
}
.search-page{
  margin-top:35px;
  padding:40px 50px 80px;
}

.search-hero{
  margin-bottom:32px;
}

.search-hero-content{
  max-width:1200px;
  margin:auto;
}

.search-label{
  display:inline-block;
  font-size:.75rem;
  letter-spacing:.18em;
  color:#9f8a6a;
  margin-bottom:14px;
}


.search-bar{
  position:relative;
  margin-top:24px;
  max-width:760px;
}

.search-bar-inner{
  display:flex;
  gap:12px;
  align-items:center;
}

.search-input{
  flex:1;
  height:56px;
  border:1px solid #e7e0d6;
  border-radius:16px;
  padding:0 18px;
  font-size:16px;
  outline:none;
  background:#fff;
}

.search-input:focus{
  border-color:#c7a57a;
  box-shadow:0 0 0 4px rgba(199,165,122,.12);
}

.search-btn{
  height:56px;
  padding:0 18px;
  border:none;
  border-radius:16px;
  background:#111;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.search-dropdown{
  position:absolute;
  left:0;
  right:0;
  top:64px;
  z-index:50;
  background:#fff;
  border:1px solid #e7e0d6;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  overflow:hidden;
  max-height:min(420px, 55vh);
  overflow-y:auto;
}

.search-dropdown-empty{
  padding:18px;
  color:#777;
  font-size:.95rem;
}

.search-suggestion{
  width:100%;
  border:none;
  background:#fff;
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  text-align:left;
  cursor:pointer;
  border-bottom:1px solid #f2ece3;
}

.search-suggestion:hover,
.search-suggestion.is-active{
  background:#faf7f2;
}

.search-suggestion-thumb{
  width:56px;
  height:72px;
  border-radius:14px;
  overflow:hidden;
  background:#f4f1ec;
  border:1px solid #ece4d8;
}

.search-suggestion-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.search-suggestion-content{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.search-suggestion-content strong{
  font-size:15px;
  color:#1b1b1b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.search-suggestion-content small{
  font-size:12px;
  color:#7b746d;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.search-suggestion-price{
  font-weight:700;
  color:#111;
  white-space:nowrap;
}

.search-results{
  max-width:1300px;
  margin:auto;
}

.search-topbar{
  margin-bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.search-count{
  color:#777;
  font-size:.95rem;
}

.catalog-empty{
  text-align:center;
  padding:80px 20px;
}

.catalog-empty-icon{
  font-size:3rem;
  margin-bottom:16px;
}

@media (max-width:768px){
  .search-page{
    padding:20px 16px 60px;
  }

  .search-bar-inner{
    flex-direction:column;
    align-items:stretch;
  }

  .search-btn{
    width:100%;
  }

  .search-dropdown{
    top:124px;
  }

  .search-suggestion{
    grid-template-columns:48px 1fr;
    grid-template-areas:
      "thumb content"
      "thumb price";
  }

  .search-suggestion-thumb{
    width:48px;
    height:64px;
  }

  .search-suggestion-price{
    grid-column:2;
  }
}
/* =========================================
   HEADER SEARCH PREMIUM
========================================= */

.buscador-wrap{
  position:relative;
  width:100%;
  max-width:310px;
}

.buscador{
  width:100%;
}

.header-search-dropdown{

  position:absolute;

  top:62px;
  left:0;

  width:100%;

  background:#fff;

  border:1px solid #ece7df;

  border-radius:22px;

  overflow:hidden;

  z-index:9999;

  box-shadow:
  0 20px 50px rgba(0,0,0,.08);

  max-height:420px;

  overflow-y:auto;
}

.header-search-item{

  width:100%;

  border:none;

  background:#fff;

  display:grid;

  grid-template-columns:60px 1fr auto;

  gap:14px;

  align-items:center;

  padding:14px;

  cursor:pointer;

  transition:background .2s ease;
}

.header-search-item:hover{
  background:#faf7f2;
}

.header-search-item img{
  width:60px;
  height:60px;
  object-fit:cover;
  border-radius:14px;
}
@media(max-width:768px){
  .header-search-item img{
    width:40px;
    height:20px !important;
  }
}

.header-search-info{

  display:flex;
  flex-direction:column;
  gap:4px;
}

.header-search-info strong{

  font-size:14px;
  color:#111;
}

.header-search-info span{

  font-size:12px;
  color:#777;
}

.header-search-price{

  font-weight:700;
  color:#111;

  font-size:14px;
}

@media(max-width:768px){

  .buscador-wrap{
    display:none;
  }

}
.header-search-empty {
  text-align: center;
  padding: 10px;
}
.search-hero{
  margin-bottom:24px;
}

.search-hero-content{
  max-width:1300px;
  margin:auto;
}

.search-label{
  display:inline-block;
  font-size:.75rem;
  letter-spacing:.18em;
  color:#9f8a6a;
  margin-bottom:14px;
}

.search-title{
  font-size:45px;
  font-family: 'Playfair Display', serif;
  margin:0;
  font-weight:700;
}
@media (max-width: 768px) {
  .search-title{
    font-size:30px;
    margin:0;
    font-weight:700;
  }
}

.search-description{
  margin-top:14px;
  color:#666;
  font-size:15px;
  max-width:760px;
}

.search-hero-meta{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.search-count{
  color:#777;
  font-size:.95rem;
}

.search-query-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#f5efe6;
  color:#7b6344;
  font-size:.85rem;
  font-weight:600;
}

.search-filters-panel{
  max-width:1300px;
  margin:0 auto 28px;
  padding:18px;
  background:#fff;
  border:1px solid #ece7df;
  border-radius:24px;
  box-shadow:0 12px 30px rgba(0,0,0,.04);
  position:sticky;
  top:12px;
  z-index:20;
  backdrop-filter:blur(10px);
}

.search-filters-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.search-filters-head h2{
  font-size:1rem;
  margin:0;
}

.search-clear-btn{
  border:none;
  background:#f4efe8;
  color:#222;
  font-weight:600;
  height:38px;
  padding:0 14px;
  border-radius:12px;
  cursor:pointer;
}

.search-chips{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.search-chip{
  border:1px solid #e6ddd0;
  background:#fff;
  color:#333;
  padding:9px 14px;
  border-radius:999px;
  cursor:pointer;
  font-size:.88rem;
  font-weight:600;
  transition:.2s ease;
}

.search-chip:hover{
  border-color:#c7a57a;
  transform:translateY(-1px);
}

.search-chip.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.search-controls{
  display:grid;
  grid-template-columns:1.2fr 1.2fr auto auto;
  gap:12px;
  align-items:end;
}

.search-control-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.search-control-group label{
  font-size:.85rem;
  color:#555;
  font-weight:600;
}

.search-select{
  height:48px;
  border:1px solid #e4ddd3;
  border-radius:14px;
  padding:0 14px;
  background:#fff;
  outline:none;
  font-size:15px;
}

.search-select:focus{
  border-color:#c7a57a;
  box-shadow:0 0 0 4px rgba(199,165,122,.12);
}

.search-check{
  height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #e4ddd3;
  border-radius:14px;
  padding:0 14px;
  background:#fff;
  cursor:pointer;
  user-select:none;
  font-weight:600;
  color:#333;
}

.search-check input{
  width:16px;
  height:16px;
  accent-color:#111;
}

.search-results{
  max-width:1300px;
  margin:auto;
}

.search-empty{
  margin:24px 0 0;
  text-align:center;
  padding:64px 20px;
  border:1px dashed #e1d7ca;
  border-radius:24px;
  background:#fcfbf9;
  color:#666;
}

.search-empty h3{
  margin:12px 0 0;
  font-size:1.1rem;
}

.catalog-empty-icon{
  font-size:3rem;
  margin-bottom:14px;
}

@media (max-width: 980px){
  .search-controls{
    grid-template-columns:1fr 1fr;
  }

  .search-check{
    justify-content:center;
  }
}

@media (max-width: 768px){
  .search-page{
    padding:20px 16px 60px;
  }

  .search-filters-panel{
    position:static;
    padding:14px;
  }

  .search-controls{
    grid-template-columns:2fr auto;
    
  }

  .search-chip{
    padding:8px 12px;
    font-size:.84rem;
  }
}