/* css/mercado.css */

:root {
    --text-primary: #1d1d1f;
    --text-secondary: #58585d;
    --bg-modal: #ffffff;
    --bg-glass: #ffffff;
    --border-color: #d1d1d6;
    
    --brand-blue: #0A84FF;
    --brand-orange: #ff9f0a;
    
    /* Modal / Tarjetas CSS variables */
    --bg-card: #ffffff;
    --border-light: #eee;
    --bg-btn-horario: #f8f9fa;
    
    /* Colores del Mapa SVG */
    --map-base: #f9f9fb;
    --map-wall: #e5e5ea;
    --map-corridor: #e0f0ff;
    --map-text: #1d1d1f;
    --map-line: #c7c7cc;
    --map-compass: #1d1d1f;
    --map-corridor-text: #005bb5;
}

body.dark-theme {
    background-color: #050505 !important;
    background-image: none !important; 
    --text-primary: #ffffff;
    --text-secondary: #a1a1a6;
    --bg-modal: #1c1c1e;
    --bg-glass: rgba(28, 28, 30, 0.85);
    --border-color: #38383a;
    
    --bg-card: #1c1c1e;
    --border-light: rgba(255,255,255,0.1);
    --bg-btn-horario: rgba(255,255,255,0.05);
    
    /* Colores del Mapa SVG en Modo Oscuro */
    --map-base: #1c1c1e;
    --map-wall: #2c2c2e;
    --map-corridor: #0a3d6e;
    --map-text: #ffffff;
    --map-line: #3a3a3c;
    --map-compass: #ffffff;
    --map-corridor-text: #64d2ff;
}

/* Efecto Aurora de Fondo */
.aurora-container-public { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity 0.5s ease; }
body.dark-theme .aurora-container-public { opacity: 1; }
.blob-public { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.5; animation: float-public 20s infinite alternate ease-in-out; }
.b1-public { background: #0A84FF; width: 45vw; height: 45vw; top: -10%; left: -10%; }
.b2-public { background: #bf5af2; width: 40vw; height: 40vw; bottom: -10%; right: -5%; animation-delay: -5s; }
@keyframes float-public { from { transform: translate(0, 0) scale(1); } to { transform: translate(10%, 10%) scale(1.1); } }

* { -webkit-tap-highlight-color: transparent; }

body, html {
    margin: 0; padding: 0;
    background-color: #f2f2f7;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Poppins", sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.main-wrapper { width: 100%; min-height: 100vh; display: flex; flex-direction: column; position: relative; z-index: 1; overflow-x: hidden; }

.header-mercado {
    background: rgba(44, 62, 80, 0.85); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px);
    padding-top: calc(env(safe-area-inset-top, 20px) + 35px); padding-bottom: 25px;
    padding-left: 20px; padding-right: 20px; z-index: 1000; border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); text-align: center;
}

.header-mercado h1 { font-size: 2.2rem; color: #ffffff; margin: 0; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 12px; letter-spacing: -0.5px; }

/* Controles Superior */
.controles-superior { display: flex; justify-content: flex-start; align-items: center; width: 100%; max-width: 1050px; margin: 20px auto 10px auto; padding: 0 15px; box-sizing: border-box; gap: 15px; }

.btn-volver-app { color: #ffffff !important; text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 30px; transition: 0.2s; font-size: 1rem; background: rgba(29, 29, 31, 0.9); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); cursor: pointer; }
.btn-volver-app:active { transform: scale(0.95); }

.filtros-wrapper { position: relative; max-width: 1050px; margin: 0 auto 15px auto; width: 100%; }
.scroll-hint { text-align: center; font-size: 0.8rem; color: var(--text-secondary); margin-bottom: 5px; font-weight: 500; animation: pulse-hint 2s infinite; }
@keyframes pulse-hint { 0% { opacity: 0.6; transform: translateX(0); } 50% { opacity: 1; transform: translateX(3px); } 100% { opacity: 0.6; transform: translateX(0); } }

.filtros-scroll { display: flex; gap: 12px; overflow-x: auto; padding: 10px 20px 15px 20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
.filtros-scroll::-webkit-scrollbar { display: none; }

.btn-filtro { scroll-snap-align: start; white-space: nowrap; padding: 10px 20px; border-radius: 30px; background: rgba(255, 255, 255, 0.65); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border: 1px solid rgba(255, 255, 255, 0.8); color: #1d1d1f; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04); display: flex; align-items: center; gap: 6px; }
.btn-filtro:hover { background: rgba(255, 255, 255, 0.95); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); }
.btn-filtro.activo { background: #1d1d1f; color: #ffffff; border-color: #1d1d1f; box-shadow: 0 8px 20px rgba(29, 29, 31, 0.3); }
body.dark-theme .btn-filtro { background: rgba(255, 255, 255, 0.1); color: #ffffff; border-color: rgba(255, 255, 255, 0.15); }
body.dark-theme .btn-filtro:hover { background: rgba(255, 255, 255, 0.2); }
body.dark-theme .btn-filtro.activo { background: #0a84ff; border-color: #0a84ff; color: #ffffff; }

@media (min-width: 768px) {
    .filtros-scroll { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 15px; }
    .scroll-hint { display: block !important; }
    .btn-filtro { scroll-snap-align: none; }
    
    .filtros-scroll::-webkit-scrollbar { display: block; height: 8px; }
    .filtros-scroll::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.05); border-radius: 10px; }
    body.dark-theme .filtros-scroll::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); }
    .filtros-scroll::-webkit-scrollbar-thumb { background: rgba(134, 134, 139, 0.4); border-radius: 10px; }
    .filtros-scroll::-webkit-scrollbar-thumb:hover { background: rgba(134, 134, 139, 0.7); }
}

/* ÁREA DEL CROQUIS EN SVG */
.map-outer-container { position: relative; width: calc(100% - 30px); max-width: 1200px; margin: 0 auto 20px auto; border-radius: 24px; border: 1px solid var(--border-color); background: var(--bg-glass); box-shadow: 0 10px 40px rgba(0,0,0,0.1); overflow: hidden; }
.visor-croquis-wrapper { width: 100%; height: 65vh; min-height: 400px; overflow: auto; position: relative; background: transparent; -webkit-overflow-scrolling: touch; scrollbar-width: none; touch-action: none; }
.visor-croquis-wrapper::-webkit-scrollbar { display: none; }
.croquis-container { position: relative; display: inline-block; width: 100%; transform-origin: top left; transition: width 0.1s ease-out; }
.edificio-mercado { fill: var(--map-base); }

.map-zoom-controls { position: absolute; bottom: 20px; right: 20px; display: flex; flex-direction: column; gap: 12px; z-index: 1000; }
.btn-zoom { width: 45px; height: 45px; border-radius: 50%; background: var(--bg-glass); backdrop-filter: blur(15px); border: 1px solid var(--border-color); color: var(--text-primary); font-size: 1.2rem; display: flex; justify-content: center; align-items: center; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition: transform 0.2s, background 0.3s; }
.btn-zoom:active { transform: scale(0.9); }
.btn-zoom:hover { background: var(--text-primary); color: var(--bg-modal); }

/* PINES DEL MAPA */
.pin-croquis { position: absolute; transform: translate(-50%, -100%); cursor: pointer; z-index: 10; display: flex; flex-direction: column; align-items: center; transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s; user-select: none; }
.pin-croquis::after { content: ''; position: absolute; top: -20px; left: -20px; right: -20px; bottom: -10px; z-index: 1; }
.pin-croquis:active, .pin-croquis:focus-visible { transform: translate(-50%, -110%) scale(1.15); z-index: 20; outline: none; }
.pin-icon { color: #FF453A; font-size: 38px; filter: drop-shadow(0 6px 10px rgba(0,0,0,0.4)); position: relative; z-index: 2; }
.pin-label { background: var(--bg-glass); backdrop-filter: blur(10px); padding: 5px 12px; border-radius: 15px; font-size: 0.85rem; font-weight: 700; color: var(--text-primary); margin-top: -6px; white-space: nowrap; box-shadow: 0 4px 15px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.05); position: relative; z-index: 2; }
.pin-croquis.abierto .pin-icon { color: #34c759; } 
.pin-croquis.cerrado .pin-icon { color: #86868b; } 

/* ANIMACION PARA EL TITULO SVG */
@keyframes neon-glow-svg {
    0% { filter: drop-shadow(0 0 5px var(--brand-blue)) drop-shadow(0 0 10px var(--brand-blue)); }
    100% { filter: drop-shadow(0 0 15px var(--brand-blue)) drop-shadow(0 0 30px var(--brand-blue)); }
}
.glowing-title-svg {
    animation: neon-glow-svg 2s infinite alternate ease-in-out;
}

/* =======================================================
   BUSCADOR
   ======================================================= */
.buscador-wrapper-mini { max-width: 500px; margin: 0 auto 20px auto; position: relative; padding: 0 20px; }
.input-contenedor-visual { 
    position: relative; width: 100%; height: 54px; 
    background: rgba(255, 255, 255, 0.98); 
    backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); 
    border-radius: 18px; border: 2px solid var(--brand-blue); 
    box-shadow: 0 0 15px rgba(10, 132, 255, 0.2); 
    transition: 0.3s; display: flex; align-items: center; justify-content: center; 
    cursor: text; 
    box-sizing: border-box;
}
body.dark-theme .input-contenedor-visual { background: rgba(28, 28, 30, 0.98); }
.input-contenedor-visual:focus-within { background: #ffffff; border-color: #0A84FF; box-shadow: 0 0 25px rgba(10, 132, 255, 0.4); transform: translateY(-2px); }
body.dark-theme .input-contenedor-visual:focus-within { background: #1c1c1e; }
.icono-buscar { color: #0A84FF; font-size: 1.2rem; margin-right: 10px; margin-left: 15px; transition: all 0.3s ease; }
#inputBuscador { 
    width: 100%; height: 100%; border: none; background: transparent; 
    font-size: 16px; font-weight: 600; color: var(--text-primary); 
    outline: none; -webkit-appearance: none; padding-right: 15px;
    box-sizing: border-box;
}
#inputBuscador::placeholder { font-weight: 500; color: var(--text-secondary); }

#listaResultados { position: absolute; top: calc(100% + 10px); left: 20px; right: 20px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); border-radius: 20px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15); display: none; text-align: left; border: 1px solid rgba(0, 0, 0, 0.1); padding: 10px; z-index: 1000; max-height: 400px; overflow-y: auto; }
body.dark-theme #listaResultados { background: rgba(28, 28, 30, 0.95); border-color: rgba(255,255,255,0.1); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); }
.resultado-item { padding: 12px 15px; cursor: pointer; display: flex; align-items: center; gap: 15px; transition: all 0.3s ease; border-radius: 15px; margin-bottom: 5px; color: var(--text-primary); text-decoration: none; border: 1px solid transparent; }
.resultado-item:hover, .resultado-item:focus-visible { background: var(--bg-glass); border-color: var(--brand-blue); box-shadow: 0 0 15px rgba(10, 132, 255, 0.15); transform: translateX(5px); }

/* =======================================================
   CONTENEDOR CON BRILLO PARA EL GRID
   ======================================================= */
.contenedor-scroll-locales-mercado {
    width: 92%;
    max-width: 1050px;
    margin: 0 auto 40px auto;
    padding: 25px 25px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    border: 2px solid rgba(10, 132, 255, 0.5);
    border-radius: 35px;
    box-shadow: 0 0 25px rgba(10, 132, 255, 0.2);
    animation: resplandor-mercado 4s infinite alternate ease-in-out;
    box-sizing: border-box;
}
body.dark-theme .contenedor-scroll-locales-mercado {
    background: rgba(28, 28, 30, 0.4);
    box-shadow: 0 0 30px rgba(10, 132, 255, 0.3);
}
@keyframes resplandor-mercado {
    0% { box-shadow: 0 0 15px rgba(10, 132, 255, 0.2); border-color: rgba(10, 132, 255, 0.4); }
    100% { box-shadow: 0 0 30px rgba(10, 132, 255, 0.6); border-color: rgba(10, 132, 255, 0.8); }
}

/* =======================================================
   GRID TARJETAS Y SCROLL INFINITO
   ======================================================= */
.grid-negocios { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); 
    gap: 20px; 
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

.negocio-item { 
    width: 100%;
    background: rgba(255, 255, 255, 0.55); 
    backdrop-filter: blur(20px); 
    -webkit-backdrop-filter: blur(20px); 
    border: 1px solid rgba(10, 132, 255, 0.4); 
    border-radius: 24px; 
    overflow: hidden; 
    cursor: pointer; 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); 
    box-shadow: 0 0 15px rgba(10, 132, 255, 0.15); 
    display: flex; 
    flex-direction: column; 
    text-decoration: none; 
    color: inherit; 
}
body.dark-theme .negocio-item { 
    background: var(--bg-glass); 
    border-color: rgba(10, 132, 255, 0.5); 
    box-shadow: 0 0 15px rgba(10, 132, 255, 0.2); 
}

.negocio-item:hover, .negocio-item:active { 
    transform: translateY(-5px) scale(1.02); 
    background: rgba(255, 255, 255, 0.95); 
    border-color: var(--brand-blue); 
    box-shadow: 0 0 30px rgba(10, 132, 255, 0.4); 
}
body.dark-theme .negocio-item:hover { 
    background: #1c1c1e; 
    box-shadow: 0 0 30px rgba(10, 132, 255, 0.5); 
}

.img-negocio { width: 100%; height: 160px; object-fit: cover; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
.info-negocio { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; }
.info-negocio h2 { font-size: 1.15rem; color: var(--text-primary); margin: 0 0 5px 0; font-weight: 600; letter-spacing: -0.2px; display: flex; align-items: center; gap: 6px; }
.info-negocio p { font-size: 0.85rem; color: var(--text-secondary); margin: 0 0 15px 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.status-badge { padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.status-open { background: #eafaf1; color: #27ae60; }
.status-closed { background: #fdeaea; color: #e74c3c; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.badge-ambulante { background-color: rgba(255, 159, 10, 0.15) !important; color: var(--brand-orange) !important; border: 1px solid rgba(255, 159, 10, 0.3) !important; }

.btn-share-card { background: rgba(0, 0, 0, 0.05); border: none; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #1d1d1f; cursor: pointer; transition: 0.2s; font-size: 1.1rem; }
body.dark-theme .btn-share-card { background: rgba(255,255,255,0.1); color: white; }
.btn-share-card:hover { background: rgba(0, 0, 0, 0.1); transform: scale(1.1); color: var(--brand-blue); }

/* =======================================================
   ESTILOS DEL MODAL
   ======================================================= */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 2000; align-items: flex-end; justify-content: center; opacity: 0; transition: opacity 0.3s ease; }
.modal-glass { background: var(--bg-card); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); width: 100%; max-width: 600px; max-height: 90vh; border-radius: 30px 30px 0 0; overflow-y: auto; position: relative; transform: translateY(100%); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.2); padding-bottom: 40px; }
.modal-glass::-webkit-scrollbar { display: none; }
.modal-drag-area { position: sticky; top: 0; left: 0; width: 100%; height: 30px; background: transparent; z-index: 2010; display: flex; align-items: center; justify-content: center; }
.modal-drag-handle { width: 50px; height: 6px; background: rgba(255, 255, 255, 0.8); border-radius: 6px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }
.btn-cerrar-modal { position: absolute; top: 20px; right: 20px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(0, 0, 0, 0.1); width: 40px; height: 40px; border-radius: 50%; font-size: 1.2rem; font-weight: bold; color: #1d1d1f; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2020; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); transition: all 0.2s; }
.btn-cerrar-modal:active { transform: scale(0.9); background: #e2e8f0; }
.modal-header-img { width: 100%; height: 220px; object-fit: cover; margin-top: -30px; }
.modal-body { padding: 25px 30px; background: var(--bg-card); border-radius: 30px 30px 0 0; margin-top: -20px; position: relative; z-index: 10; }
.modal-title { font-size: 1.6rem; font-weight: 700; color: var(--text-primary); margin-bottom: 5px; margin-top: 10px; display: flex; align-items: center; gap: 8px; }
.modal-desc { font-size: 0.95rem; color: var(--text-secondary); line-height: 1.5; margin-bottom: 25px; white-space: pre-wrap; }

.action-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-bottom: 10px; }
.btn-action { width: calc(50% - 7.5px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 15px; border-radius: 20px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: 0.2s; border: none; cursor: pointer; box-sizing: border-box; }
.btn-action.mapa { background: #0A84FF; color: white; box-shadow: 0 8px 20px rgba(10, 132, 255, 0.3); }
.btn-action.whats { background: #30D158; color: white; box-shadow: 0 8px 20px rgba(48, 209, 88, 0.3); }
.btn-action.llamar { background: #1d1d1f; color: white; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); }
body.dark-theme .btn-action.llamar { background: #ffffff; color: #1d1d1f; }
.btn-action.compartir { background: #bf5af2; color: white; box-shadow: 0 8px 20px rgba(191, 90, 242, 0.3); }

.btn-comprar-redes { width: 100%; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 10px; padding: 18px; border-radius: 20px; text-decoration: none; font-weight: 700; font-size: 1.1rem; transition: 0.2s; border: none; cursor: pointer; box-sizing: border-box; margin-bottom: 15px; }
.btn-comprar-redes:hover { opacity: 0.9; transform: translateY(-2px); }

.seccion-galeria h3 { font-size: 1.1rem; margin-bottom: 15px; color: var(--text-primary); font-weight: 700; display: flex; align-items: center; gap: 8px; }
.seccion-galeria.bf-active { background: linear-gradient(135deg, rgba(228, 0, 43, 0.05) 0%, rgba(255, 0, 85, 0.05) 100%); border: 1px solid rgba(228, 0, 43, 0.2); }
.galeria-scroll { display: flex; gap: 15px; overflow-x: auto; padding-bottom: 15px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.galeria-scroll::-webkit-scrollbar { display: none; }
.img-galeria { width: 150px; height: 150px; object-fit: cover; border-radius: 20px; scroll-snap-align: center; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); flex-shrink: 0; cursor: pointer; transition: transform 0.2s; }
.seccion-galeria.bf-active .img-galeria { border: 2px solid rgba(228, 0, 43, 0.3); }

@media (min-width: 768px) {
    .modal-overlay { align-items: center; }
    .modal-glass { border-radius: 30px; transform: scale(1); height: auto; max-height: 85vh; padding-bottom: 0; }
    .modal-drag-area { display: none; }
    .modal-header-img { margin-top: 0; }
    .btn-cerrar-modal { top: 20px; right: 20px; }
}

/* CARRUSEL VISUALIZADOR */
.carrusel-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); z-index: 3000; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; flex-direction: column; }
.carrusel-img-container { width: 100%; flex-grow: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; touch-action: none;}
.img-carrusel-activa { max-width: 90%; max-height: 85vh; object-fit: contain; border-radius: 12px; cursor: zoom-in; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); user-select: none; -webkit-user-drag: none; transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); }
.btn-cerrar-carrusel { position: absolute; top: 25px; right: 25px; background: rgba(255, 255, 255, 0.15); border: none; color: white; width: 45px; height: 45px; border-radius: 50%; font-size: 1.2rem; cursor: pointer; z-index: 3010; transition: 0.2s; }
.btn-cerrar-carrusel:hover { background: rgba(255, 255, 255, 0.3); transform: scale(1.1); }
.carrusel-controles-inferiores { position: absolute; bottom: 40px; left: 0; width: 100%; display: flex; justify-content: center; gap: 40px; z-index: 3010; }
.btn-nav-carrusel { background: rgba(255, 255, 255, 0.15); border: none; color: white; width: 55px; height: 55px; border-radius: 50%; font-size: 1.5rem; cursor: pointer; transition: 0.2s; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); }
.btn-nav-carrusel:hover { background: rgba(255, 255, 255, 0.3); transform: scale(1.1); }

.btn-website-link { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 20px; background: rgba(10, 132, 255, 0.1); color: #0A84FF; text-decoration: none; font-weight: 600; font-size: 0.9rem; border-radius: 20px; transition: all 0.2s ease; border: 1px solid rgba(10, 132, 255, 0.2); }
.btn-website-link:hover { background: rgba(10, 132, 255, 0.2); transform: translateY(-2px); }

.mensaje-no-resultados { text-align: center; color: var(--text-secondary); padding: 40px; font-size: 1.1rem; grid-column: 1 / -1; }