/* Meraki World - catalogo moderno y responsive */
:root{
  --mw-cat-ink:#37235a;
  --mw-cat-pink:#ee5aa8;
  --mw-cat-lilac:#b86df3;
  --mw-cat-sky:#90e5f1;
  --mw-cat-soft:#fff5fb;
}

/* Encabezado del catalogo */
.mw-catalog-title{
  max-width: 980px !important;
  margin: 2.2rem auto 1rem !important;
  padding: 0 1rem !important;
  text-align: center !important;
}
.mw-catalog-title .mw2-label,
.mw2-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.35rem !important;
  background:linear-gradient(120deg,rgba(238,90,168,.16),rgba(184,109,243,.16),rgba(144,229,241,.18)) !important;
  color:var(--mw-cat-pink) !important;
  border:1px solid rgba(238,90,168,.24) !important;
  border-radius:999px !important;
  padding:.38rem .78rem !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  font-size:.78rem !important;
}
.mw-catalog-title h2{
  color:var(--mw-cat-ink) !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  margin:.55rem 0 .2rem !important;
  line-height:1.04 !important;
}
.mw-catalog-title p{
  color:#7f708f !important;
  font-weight:600 !important;
  margin:0 !important;
}

/* Filtros mas limpios */
.mw-filter-card,
.card.mw-filter-card{
  max-width:1080px !important;
  margin:0 auto 1.35rem !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(184,109,243,.18) !important;
  border-radius:26px !important;
  box-shadow:0 18px 42px rgba(61,35,90,.08) !important;
  backdrop-filter:blur(12px) !important;
}
.mw-filter-card .form-control,
.mw-filter-card .form-select,
.mw-filter-card .input-group-text{
  border-color:rgba(184,109,243,.20) !important;
  border-radius:16px !important;
  min-height:48px !important;
}
.mw-filter-card .input-group .input-group-text{border-radius:16px 0 0 16px !important;background:#fff8fd !important;color:var(--mw-cat-ink) !important;font-weight:800 !important;}
.mw-filter-card .input-group .form-control{border-radius:0 16px 16px 0 !important;}
.mw-filter-card .btn{
  border:0 !important;
  border-radius:16px !important;
  min-height:48px !important;
  background:linear-gradient(100deg,var(--mw-cat-pink),var(--mw-cat-lilac)) !important;
  box-shadow:0 12px 28px rgba(238,90,168,.20) !important;
  font-weight:900 !important;
}

/* Grilla moderna */
.mw-products-grid,
.row.mw-products-grid{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1.15rem !important;
}
.mw-products-grid > [class*="col-"]{
  width:100% !important;
  max-width:none !important;
  flex:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* Tarjetas de producto */
.product-card,
.mw-product-card{
  position:relative !important;
  height:100% !important;
  overflow:hidden !important;
  border:1px solid rgba(184,109,243,.14) !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fff8fd 58%,#f9f2ff 100%) !important;
  box-shadow:0 16px 35px rgba(55,35,90,.09) !important;
  transition:transform .16s ease, box-shadow .16s ease !important;
}
.product-card:hover,
.mw-product-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 22px 48px rgba(55,35,90,.14) !important;
}
.product-card .badge,
.mw-product-card .badge{
  z-index:3 !important;
  border-radius:999px !important;
  padding:.42rem .62rem !important;
  background:linear-gradient(100deg,var(--mw-cat-pink),var(--mw-cat-lilac)) !important;
  box-shadow:0 8px 18px rgba(238,90,168,.22) !important;
}
.mw-product-image-link,
.product-card > a:first-of-type{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:220px !important;
  height:220px !important;
  margin:.85rem .85rem 0 !important;
  padding:.75rem !important;
  border-radius:24px !important;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.98),rgba(255,240,248,.86) 42%,rgba(236,248,255,.82) 100%) !important;
  overflow:hidden !important;
}
.product-card img,
.mw-product-card img,
.mw-product-image-link img{
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  border-radius:18px !important;
  filter:saturate(1.04) contrast(1.02) !important;
}
.product-card .card-body,
.mw-product-card .card-body{
  padding:1rem .95rem .95rem !important;
}
.product-card .card-title,
.mw-product-card .card-title{
  margin-bottom:.35rem !important;
  min-height:2.6em !important;
  font-size:1rem !important;
  line-height:1.22 !important;
  font-weight:850 !important;
  color:var(--mw-cat-ink) !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.product-card .card-title a,
.mw-product-card .card-title a{color:var(--mw-cat-ink) !important;}
.product-card .card-text,
.mw-product-card .card-text{
  color:var(--mw-cat-pink) !important;
  font-size:1.08rem !important;
  font-weight:950 !important;
  margin-bottom:.85rem !important;
}
.product-card .btn-primary,
.mw-product-card .btn-primary{
  border:0 !important;
  border-radius:16px !important;
  min-height:44px !important;
  background:linear-gradient(100deg,var(--mw-cat-pink),var(--mw-cat-lilac)) !important;
  box-shadow:0 12px 24px rgba(238,90,168,.18) !important;
  font-weight:900 !important;
  color:#fff !important;
}
.product-card .btn-primary i,
.mw-product-card .btn-primary i{margin-right:.25rem !important;}
.mw-heart-btn,
.product-card .btn-outline-danger{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-color:rgba(216,57,104,.40) !important;
  color:#d83968 !important;
  background:#fff !important;
}

@media (max-width:991.98px){
  .mw-products-grid,
  .row.mw-products-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:1rem !important;padding:0 .85rem !important;}
  .mw-product-image-link,
  .product-card > a:first-of-type{height:190px !important;min-height:190px !important;}
}

@media (max-width:767.98px){
  .mw-catalog-title{margin:1.6rem auto .85rem !important;text-align:left !important;padding:0 1.15rem !important;}
  .mw-catalog-title h2{font-size:1.65rem !important;}
  .mw-catalog-title p{font-size:.92rem !important;}
  .mw-filter-card,
  .card.mw-filter-card{margin:0 .85rem 1rem !important;border-radius:24px !important;}
  .mw-filter-card .card-body{padding:1rem !important;}
  .mw-products-grid,
  .row.mw-products-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:.85rem !important;padding:0 .85rem !important;}
  .mw-product-image-link,
  .product-card > a:first-of-type{height:148px !important;min-height:148px !important;margin:.58rem .58rem 0 !important;padding:.48rem !important;border-radius:20px !important;}
  .product-card,
  .mw-product-card{border-radius:23px !important;}
  .product-card .card-body,
  .mw-product-card .card-body{padding:.78rem .72rem .72rem !important;}
  .product-card .card-title,
  .mw-product-card .card-title{font-size:.86rem !important;min-height:2.25em !important;line-height:1.16 !important;margin-bottom:.25rem !important;}
  .product-card .card-text,
  .mw-product-card .card-text{font-size:.95rem !important;margin-bottom:.6rem !important;}
  .product-card .btn-primary,
  .mw-product-card .btn-primary{min-height:36px !important;border-radius:13px !important;font-size:0 !important;padding:.45rem .55rem !important;}
  .product-card .btn-primary::after,
  .mw-product-card .btn-primary::after{content:'Comprar';font-size:.78rem !important;}
  .product-card .btn-primary i,
  .mw-product-card .btn-primary i{font-size:.88rem !important;margin-right:.18rem !important;}
  .mw-heart-btn,
  .product-card .btn-outline-danger{width:36px !important;height:36px !important;min-width:36px !important;border-radius:13px !important;}
  .product-card .badge,
  .mw-product-card .badge{font-size:.64rem !important;padding:.32rem .48rem !important;margin:.45rem !important;}
}

@media (max-width:365px){
  .mw-products-grid,
  .row.mw-products-grid{gap:.7rem !important;padding:0 .65rem !important;}
  .mw-product-image-link,
  .product-card > a:first-of-type{height:132px !important;min-height:132px !important;}
  .product-card .card-title,
  .mw-product-card .card-title{font-size:.8rem !important;}
}

/* Busqueda publica simple - Meraki World */
.mw-search-card{
  max-width:860px !important;
  margin:0 auto 1.35rem !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(185,156,255,.20) !important;
  border-radius:30px !important;
  box-shadow:0 18px 42px rgba(61,43,98,.08) !important;
  padding:.7rem !important;
  backdrop-filter:blur(12px) !important;
}
.mw-search-form{display:flex !important;align-items:center !important;gap:.65rem !important;}
.mw-search-input-wrap{flex:1 !important;display:flex !important;align-items:center !important;gap:.7rem !important;background:#fff !important;border:1px solid rgba(185,156,255,.24) !important;border-radius:999px !important;padding:.25rem .35rem .25rem 1rem !important;min-height:58px !important;}
.mw-search-input-wrap i{font-size:1.25rem !important;color:#3d2b62 !important;}
.mw-search-input{border:0 !important;box-shadow:none !important;outline:0 !important;width:100% !important;font-size:1rem !important;background:transparent !important;color:#3d2b62 !important;}
.mw-search-input::placeholder{color:#9a8aaa !important;}
.mw-search-btn{border:0 !important;border-radius:999px !important;min-width:58px !important;height:58px !important;padding:0 1.2rem !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:.45rem !important;font-weight:950 !important;color:#fff !important;background:linear-gradient(100deg,#ee5aa8,#b86df3) !important;box-shadow:0 12px 28px rgba(238,90,168,.22) !important;}
.mw-search-clear{display:inline-flex !important;align-items:center !important;justify-content:center !important;border-radius:999px !important;padding:.75rem 1rem !important;font-weight:850 !important;color:#3d2b62 !important;text-decoration:none !important;background:#fff !important;border:1px solid rgba(185,156,255,.22) !important;white-space:nowrap !important;}
.mw-search-status{max-width:860px !important;margin:-.55rem auto 1rem !important;color:#7e7294 !important;font-weight:700 !important;padding:0 .35rem !important;}
@media(max-width:575.98px){
  .mw-search-card{margin:0 .85rem 1rem !important;border-radius:24px !important;padding:.55rem !important;}
  .mw-search-form{gap:.45rem !important;}
  .mw-search-input-wrap{min-height:54px !important;padding-left:.85rem !important;}
  .mw-search-btn{height:54px !important;min-width:54px !important;padding:0 .95rem !important;}
  .mw-search-btn span{display:none !important;}
  .mw-search-clear{padding:.68rem .8rem !important;font-size:.86rem !important;}
  .mw-search-status{margin:.15rem .85rem 1rem !important;padding:0 !important;}
}
