/* ===== MARKETPLACE ===== */
#marketplace { background: #fff; }
.mfilters { display: flex; gap: .6rem; flex-wrap: wrap; margin-bottom: 1.5rem; justify-content: center; }
.fb2 { padding: .4rem 1.1rem; border-radius: 22px; border: 1px solid var(--borde); background: #fff; font-size: .85rem; color: var(--gris-t); cursor: pointer; transition: all .2s; }
.fb2:hover, .fb2.on { background: var(--verde); border-color: var(--verde); color: #fff; font-weight: 600; }
.msearch { display: flex; gap: .7rem; max-width: 520px; margin: 0 auto 1.5rem; }
.msearch input { flex: 1; padding: .6rem 1rem; border: 1px solid var(--borde); border-radius: 8px; outline: none; }
.msearch input:focus { border-color: var(--verde); }
.mgrid { display: grid; grid-template-columns: repeat(auto-fill,minmax(230px,1fr)); gap: 1.3rem; }
.ac { border: 1px solid var(--borde); border-radius: 14px; overflow: hidden; transition: transform .22s, box-shadow .22s; background: #fff; }
.ac:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(26,122,60,.11); }
.ac-img { height: 160px; display: flex; align-items: center; justify-content: center; font-size: 3.8rem; position: relative; overflow: hidden; }
.ac-img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.ac-img .ac-emoji { position: relative; z-index: 1; }
.abadge { position: absolute; top: .6rem; right: .6rem; font-size: .68rem; font-weight: 700; padding: .2rem .6rem; border-radius: 10px; text-transform: uppercase; z-index: 2; }
.bv { background: #e7f0ea; color: var(--verde); }
.br { background: #fff3cd; color: #856404; }
.bn { background: #e6f0f8; color: #1a5a7a; }
.ac-info { padding: .85rem 1rem .95rem; }
.ac-tipo { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--verde); margin-bottom: .2rem; }
.ac-nom { font-size: .98rem; font-weight: 700; color: var(--texto); margin-bottom: .3rem; }
.ac-desc { font-size: .82rem; color: var(--gris-t); line-height: 1.5; margin-bottom: .65rem; }
.ac-precio { font-size: 1.18rem; font-weight: 900; color: var(--verde-o); }
.ac-foot { display: flex; align-items: center; justify-content: space-between; margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--borde); }
.ac-loc { font-size: .78rem; color: var(--gris-t); }
.btn-ask { background: var(--verde); color: #fff; font-weight: 700; font-size: .78rem; padding: .35rem .85rem; border-radius: 7px; border: none; cursor: pointer; }
.btn-ask:hover { background: var(--verde-o); }
.mempty, .mloading { text-align: center; padding: 3rem; color: var(--gris-t); }
