/* Buenacarters (paginas/buenacarters.php) */
.bcs { padding: 8px 0 72px; }
.bcs-filtros { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 10px; background: #fff; border: 1px solid var(--bc-borde); border-radius: var(--bc-radio); padding: 12px; box-shadow: var(--bc-sombra); }
.bcs-campo { position: relative; margin: 0; }
.bcs-campo select, .bcs-campo input { width: 100%; height: 48px; border: 1px solid var(--bc-borde); border-radius: 12px; padding: 0 14px; background-color: #fff; font: inherit; color: var(--bc-tinta); }
.bcs-campo select { appearance: none; padding-right: 34px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235f6b5a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; }
.bcs-campo select:disabled { background-color: var(--bc-fondo); color: var(--bc-gris-claro); }
.bcs-campo select:focus, .bcs-campo input:focus { outline: none; border-color: var(--bc-verde); box-shadow: 0 0 0 3px rgba(68, 176, 2, .15); }
.bcs-buscar i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--bc-gris-claro); }
.bcs-buscar input { padding-left: 42px; }

.bcs-barra { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 22px 0 14px; }
.bcs-total { margin: 0; color: var(--bc-gris); }
.bcs-total strong { color: var(--bc-tinta); }
.bcs-vista { display: inline-flex; background: #fff; border: 1px solid var(--bc-borde); border-radius: 999px; padding: 4px; }
.bcs-vista button { border: 0; background: none; border-radius: 999px; padding: 7px 16px; font-weight: 600; color: var(--bc-gris); }
.bcs-vista button.active { background: var(--bc-verde); color: #fff; }

.bcs-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; transition: opacity .2s; }
.bcs.cargando .bcs-lista { opacity: .45; }
.bcs-tarjeta { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--bc-borde); border-radius: 16px; padding: 14px; color: var(--bc-tinta); transition: box-shadow .2s, transform .2s, border-color .2s; }
.bcs-tarjeta:hover { text-decoration: none; color: var(--bc-tinta); box-shadow: var(--bc-sombra-hover); transform: translateY(-2px); border-color: rgba(68, 176, 2, .35); }
.bcs-logo { width: 64px; height: 64px; flex: none; border-radius: 14px; object-fit: contain; background: #fff; border: 1px solid var(--bc-borde); }
.bcs-inicial { display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 800; color: var(--bc-verde-oscuro); background: var(--bc-verde-claro); border-color: transparent; }
.bcs-texto { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bcs-texto strong { font-size: 1.02rem; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bcs-lugar { font-size: .85rem; color: var(--bc-gris); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bcs-sellos { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; font-size: .75rem; font-weight: 600; color: var(--bc-gris); }
.bcs-sellos i { margin-right: 3px; }
.bcs-sellos .sello-mapa, .bcs-sellos .sello-reservas { color: var(--bc-verde-oscuro); }
.bcs-vacio { text-align: center; color: var(--bc-gris); padding: 40px 0; }

.bcs-mapa { height: min(70vh, 620px); border-radius: var(--bc-radio); border: 1px solid var(--bc-borde); background: var(--bc-fondo); z-index: 0; }
.bcs-mapa .leaflet-popup-content a { color: var(--bc-verde-oscuro); }
.bcs-nota { font-size: .85rem; color: var(--bc-gris); margin: 10px 0 0; }
.bcs-nota i { color: var(--bc-verde); margin-right: 4px; }

@media (max-width: 991.98px) { .bcs-filtros { grid-template-columns: 1fr 1fr; } .bcs-buscar { grid-column: 1 / -1; } }
@media (max-width: 575.98px) {
	.bcs-filtros { grid-template-columns: 1fr; }
	.bcs-barra { flex-wrap: wrap; }
	.bcs-lista { grid-template-columns: 1fr; }
}

/* Puntos del mapa: verde con marca = confirmado por el propietario; claro = aproximado */
.bcs-punto, .bcs-leyenda { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #9fd27a; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); }
.bcs-punto.confirmado, .bcs-leyenda.confirmado { background: var(--bc-verde-oscuro); color: #fff; font-size: 9px; }
.bcs-leyenda { vertical-align: -3px; margin: 0 4px 0 10px; }
.bcs-nota .bcs-leyenda:first-child { margin-left: 0; }
.bcs-nota .bcs-leyenda i { color: #fff; margin: 0; }
