@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&family=Varela+Round&display=swap');.cafesito-directorio,.cafesito-perfil,.cafesito-formulario-registro,.cafesito-panel-dueno{--color-primary:#ea580c;--color-on-primary:#fff;--color-secondary:#f97316;--color-accent:#2563eb;--color-background:#fff7ed;--color-foreground:#0f172a;--color-muted:#fdf4f0;--color-border:#fceae1;--color-destructive:#dc2626;--color-whatsapp:#25d366;--color-whatsapp-hover:#1ebe5a;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(15,23,42,.05);--shadow-md:0 4px 6px rgba(15,23,42,.08);--shadow-lg:0 10px 15px rgba(15,23,42,.1);--font-heading:'Varela Round',system-ui,-apple-system,'Segoe UI',sans-serif;--font-body:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-family:var(--font-body);color:var(--color-foreground)}.cafesito-directorio *,.cafesito-perfil *,.cafesito-formulario-registro *,.cafesito-panel-dueno *{box-sizing:border-box}.cafesito-directorio img,.cafesito-perfil img{max-width:100%;height:auto;display:block}.cafesito-directorio,.cafesito-perfil{max-width:1200px !important;margin-left:auto !important;margin-right:auto !important;padding-left:var(--space-lg) !important;padding-right:var(--space-lg) !important;box-sizing:border-box !important}.cafesito-barra-busqueda{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.cafesito-input-busqueda,.cafesito-select-categoria{box-sizing:border-box !important;width:100% !important;max-width:100% !important;height:auto !important;font-family:var(--font-body) !important;font-size:1rem !important;line-height:1.4 !important;min-height:44px !important;padding:var(--space-sm) var(--space-md) !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-sm) !important;background:#fff !important;color:var(--color-foreground) !important;transition:border-color .2s ease,box-shadow .2s ease}.cafesito-barra-busqueda .cafesito-input-busqueda{width:auto !important;flex:1 1 220px}.cafesito-barra-busqueda .cafesito-select-categoria{width:auto !important;flex:0 1 220px}.cafesito-input-busqueda:focus,.cafesito-select-categoria:focus{outline:none;border-color:var(--color-primary) !important;box-shadow:0 0 0 3px rgba(234,88,12,.2)}.cafesito-btn-buscar{box-sizing:border-box !important;height:auto !important;font-family:var(--font-body) !important;font-weight:700 !important;font-size:1rem !important;line-height:1.4 !important;min-height:44px !important;padding:var(--space-sm) var(--space-lg) !important;background:var(--color-primary) !important;color:var(--color-on-primary) !important;border:none !important;border-radius:var(--radius-sm) !important;cursor:pointer;transition:background .2s ease,transform .2s ease}.cafesito-btn-buscar:hover{background:var(--color-secondary) !important;transform:translateY(-1px)}.cafesito-btn-buscar:focus-visible,.cafesito-input-busqueda:focus-visible,.cafesito-select-categoria:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cafesito-fila-cercania{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.cafesito-btn-cerca-de-mi{box-sizing:border-box !important;min-height:44px !important;padding:var(--space-sm) var(--space-md) !important;background:#fff !important;color:var(--color-primary) !important;border:1px solid var(--color-primary) !important;border-radius:var(--radius-sm) !important;font-family:var(--font-body) !important;font-weight:700 !important;font-size:.9375rem !important;cursor:pointer;transition:background .2s ease}.cafesito-btn-cerca-de-mi:hover,.cafesito-btn-cerca-de-mi:focus-visible{background:var(--color-muted) !important}.cafesito-btn-cerca-de-mi:disabled{opacity:.6;cursor:wait}.cafesito-quitar-cercania{color:var(--color-accent);font-weight:600;font-size:.9375rem;text-decoration:none}.cafesito-quitar-cercania:hover,.cafesito-quitar-cercania:focus-visible{text-decoration:underline}.cafesito-mapa-wrapper{margin-bottom:var(--space-xl)}.cafesito-mapa{width:100%;height:420px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}@media (min-width:1024px){.cafesito-mapa{height:50vh}}.cafesito-mapa-toggle{display:none;width:100%;min-height:44px;margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-muted);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;cursor:pointer}@media (max-width:767px){.cafesito-mapa-toggle{display:block}.cafesito-mapa-wrapper.cafesito-mapa-colapsado .cafesito-mapa{display:none}}.cafesito-popup-mapa{font-family:var(--font-body)}.cafesito-popup-mapa a{color:var(--color-accent);font-weight:600}.cafesito-grid-negocios{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width:768px){.cafesito-grid-negocios{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.cafesito-grid-negocios{grid-template-columns:repeat(3,1fr)}}.cafesito-tarjeta{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.cafesito-tarjeta:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cafesito-tarjeta-imagen{aspect-ratio:4/3;background:var(--color-muted);overflow:hidden}.cafesito-tarjeta-imagen img{width:100%;height:100%;object-fit:cover}.cafesito-tarjeta-contenido{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);flex:1}.cafesito-tarjeta-titulo{font-family:var(--font-heading);font-size:1.125rem;font-weight:400;margin:0;line-height:1.3}.cafesito-tarjeta-titulo a{color:var(--color-foreground);text-decoration:none}.cafesito-tarjeta-titulo a:hover,.cafesito-tarjeta-titulo a:focus-visible{color:var(--color-primary)}.cafesito-tarjeta-categoria{font-size:.875rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.03em}.cafesito-tarjeta-direccion{margin-top:0;font-size:.9375rem;color:#475569;line-height:1.5}.cafesito-tarjeta-pie{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap}.cafesito-badge-precio{display:inline-block;background:var(--color-muted);color:var(--color-primary);border:1px solid var(--color-border);padding:2px 10px;border-radius:var(--radius-pill);font-weight:700;font-size:.875rem;letter-spacing:.02em}.cafesito-badge-distancia{display:inline-block;background:#eff6ff;color:var(--color-accent);border:1px solid #bfdbfe;padding:2px 10px;border-radius:var(--radius-pill);font-weight:700;font-size:.875rem}.cafesito-estrellas{color:var(--color-primary);font-size:1.0625rem;letter-spacing:1px}.cafesito-tarjeta-calificacion{display:flex;align-items:center;gap:var(--space-xs);font-size:.9375rem}.cafesito-tarjeta-calificacion .cafesito-estrellas{font-size:.9375rem}.cafesito-tarjeta-calificacion-numero{color:#64748b;font-weight:600}.cafesito-btn-whatsapp{box-sizing:border-box !important;display:inline-flex !important;align-items:center;justify-content:center;gap:var(--space-xs);min-height:44px !important;padding:var(--space-sm) var(--space-md) !important;background:var(--color-whatsapp) !important;color:#fff !important;border:none !important;border-radius:var(--radius-sm) !important;font-family:var(--font-body) !important;font-weight:700 !important;font-size:.9375rem !important;line-height:1.4 !important;text-decoration:none !important;cursor:pointer;transition:background .2s ease,transform .2s ease}.cafesito-btn-whatsapp:hover,.cafesito-btn-whatsapp:focus-visible{background:var(--color-whatsapp-hover);transform:translateY(-1px);color:#fff}.cafesito-btn-whatsapp svg{width:18px;height:18px;flex-shrink:0}.cafesito-perfil-volver{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);color:var(--color-primary);font-weight:700;text-decoration:none}.cafesito-perfil-volver:hover,.cafesito-perfil-volver:focus-visible{text-decoration:underline}.cafesito-perfil-portada{width:100%;aspect-ratio:16/6;background:var(--color-muted);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-lg)}.cafesito-perfil-portada img{width:100%;height:100%;object-fit:cover}.cafesito-perfil-encabezado{margin-bottom:var(--space-lg)}.cafesito-perfil-titulo{font-family:var(--font-heading);font-weight:400;font-size:2rem;line-height:1.2;margin:0 0 var(--space-sm)}@media (min-width:768px){.cafesito-perfil-titulo{font-size:2.5rem}}.cafesito-perfil-meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.cafesito-perfil-categoria{font-size:.9375rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.03em}.cafesito-perfil-descripcion{max-width:70ch;line-height:1.7;color:var(--color-foreground);margin-bottom:var(--space-xl)}.cafesito-perfil-seccion{margin-bottom:var(--space-xl)}.cafesito-perfil-seccion-titulo{font-family:var(--font-heading);font-weight:400;font-size:1.25rem;margin:0 0 var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.cafesito-perfil-contacto{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.cafesito-perfil-contacto-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-foreground);text-decoration:none}.cafesito-perfil-contacto-item a{color:var(--color-foreground);text-decoration:none}.cafesito-perfil-contacto-item a:hover,.cafesito-perfil-contacto-item a:focus-visible{color:var(--color-primary);text-decoration:underline}.cafesito-perfil-contacto-item svg{width:20px;height:20px;flex-shrink:0;color:var(--color-primary)}.cafesito-redes-sociales{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.cafesito-red-social{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--space-md);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-foreground);font-weight:600;font-size:.9375rem;text-decoration:none;transition:background .2s ease,border-color .2s ease}.cafesito-red-social:hover,.cafesito-red-social:focus-visible{background:#fff;border-color:var(--color-primary)}.cafesito-red-social svg{width:18px;height:18px}.cafesito-perfil-direccion{margin-top:var(--space-sm)}.cafesito-perfil-chips-grupo{margin-bottom:var(--space-sm)}.cafesito-tabla-horarios{margin-top:0;width:100%;max-width:420px;border-collapse:collapse}.cafesito-tabla-horarios th,.cafesito-tabla-horarios td{text-align:left;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);font-size:.9375rem}.cafesito-tabla-horarios th{font-weight:700;width:40%}.cafesito-lista-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.cafesito-chip{display:inline-block;padding:var(--space-xs) var(--space-md);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:.875rem;font-weight:600}.cafesito-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.cafesito-galeria-item{display:block;width:100%;aspect-ratio:1/1;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-muted);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.cafesito-galeria-item:hover,.cafesito-galeria-item:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-md)}.cafesito-galeria-item img{width:100%;height:100%;object-fit:cover}.cafesito-galeria-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:rgba(15,23,42,.85)}.cafesito-galeria-modal[hidden]{display:none}.cafesito-galeria-modal-imagen{max-width:100%;max-height:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.cafesito-galeria-modal-cerrar{position:absolute;top:var(--space-lg);right:var(--space-lg);width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.cafesito-galeria-modal-cerrar:hover,.cafesito-galeria-modal-cerrar:focus-visible{background:rgba(255,255,255,.3)}body.cafesito-galeria-modal-abierto{overflow:hidden}.cafesito-resena-promedio{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.cafesito-resena-promedio .cafesito-estrellas{font-size:1.375rem}.cafesito-resena-promedio-numero{font-weight:700;font-size:1.125rem}.cafesito-resena-promedio-total{color:#64748b}.cafesito-lista-resenas{list-style:none;margin:0 0 var(--space-xl);padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.cafesito-resena{padding:var(--space-md);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.cafesito-resena-encabezado{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-xs)}.cafesito-resena-autor{color:var(--color-foreground)}.cafesito-resena-texto{margin:0 0 var(--space-xs);line-height:1.6}.cafesito-resena-fecha{color:#64748b;font-size:.8125rem}.cafesito-estrellas-input{display:flex;flex-direction:row-reverse;gap:2px;width:fit-content}.cafesito-estrellas-input input{position:absolute;opacity:0;pointer-events:none}.cafesito-estrellas-input label{font-size:1.75rem;line-height:1;color:#d1d5db;cursor:pointer;transition:color .15s ease}.cafesito-estrellas-input input:checked~label,.cafesito-estrellas-input label:hover,.cafesito-estrellas-input label:hover~label{color:var(--color-primary)}.cafesito-estrellas-input input:focus-visible+label{outline:2px solid var(--color-accent);outline-offset:2px}.cafesito-formulario-registro{max-width:560px !important;margin-left:auto !important;margin-right:auto !important;padding-left:var(--space-lg) !important;padding-right:var(--space-lg) !important;box-sizing:border-box !important}.cafesito-campo{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.cafesito-campo label{font-weight:700;font-size:.9375rem}.cafesito-campo-doble{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.cafesito-campo-doble>div{display:flex;flex-direction:column;gap:var(--space-xs)}.cafesito-textarea{box-sizing:border-box !important;width:100% !important;font-family:var(--font-body) !important;font-size:1rem !important;line-height:1.4 !important;padding:var(--space-sm) var(--space-md) !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-sm) !important;background:#fff !important;color:var(--color-foreground) !important;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.cafesito-textarea:focus{outline:none;border-color:var(--color-primary) !important;box-shadow:0 0 0 3px rgba(234,88,12,.2)}.cafesito-formulario-registro input[readonly],.cafesito-panel-dueno input[readonly]{background:var(--color-muted);color:#64748b;cursor:default}.cafesito-campo-error{margin:0;color:var(--color-destructive);font-size:.875rem}.cafesito-mensaje-error-resumen{background:#fef2f2;border:1px solid var(--color-destructive);color:var(--color-destructive);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-weight:600}.cafesito-mensaje-exito{background:var(--color-muted);border:1px solid var(--color-primary);color:var(--color-foreground);padding:var(--space-md);border-radius:var(--radius-sm);font-weight:600}.cafesito-campo-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.cafesito-panel-dueno{max-width:680px !important;margin-left:auto !important;margin-right:auto !important;padding-left:var(--space-lg) !important;padding-right:var(--space-lg) !important;box-sizing:border-box !important}.cafesito-panel-titulo{font-family:var(--font-heading);color:var(--color-foreground);margin-bottom:var(--space-xs)}.cafesito-panel-estado{margin-top:0;margin-bottom:var(--space-lg);color:#64748b}.cafesito-checkbox-inline{display:inline-flex;align-items:center;gap:var(--space-xs);margin-right:var(--space-md);font-weight:400}.cafesito-campo-horario{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.cafesito-campo-horario label{flex:0 0 110px;font-weight:400}@media (max-width:480px){.cafesito-campo-doble{grid-template-columns:1fr}}.cafesito-paginacion{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-top:var(--space-2xl)}.cafesito-paginacion a,.cafesito-paginacion span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-foreground);text-decoration:none;font-weight:600;transition:background .2s ease,border-color .2s ease}.cafesito-paginacion a:hover,.cafesito-paginacion a:focus-visible{background:var(--color-muted);border-color:var(--color-primary)}.cafesito-paginacion .current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.cafesito-sin-resultados{grid-column:1/-1;text-align:center;padding:var(--space-2xl) var(--space-md);color:#64748b;font-size:1.0625rem}@media (prefers-reduced-motion:reduce){.cafesito-directorio *,.cafesito-perfil *{transition-duration:.01ms !important;animation-duration:.01ms !important}}