:root{--navy:#81638b;--orange:#5dc1b9;--teal:#81638b;--purple-soft:#b695c0;--lavender:#dac9df;--aqua-soft:#9ce0db;--gray:#6f6572;--cream:#f8f4f9;--paper:#fff;--line:#e4d9e7;--green:#168b53}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#403745;background:#fff;font-family:"Segoe UI",Arial,sans-serif}.site-header{z-index:1000;background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;min-height:76px;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:.55rem;color:var(--navy);text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand b{font-size:1.05rem}.brand small{margin-top:.3rem;color:var(--gray);font-size:.64rem;text-transform:uppercase;letter-spacing:.09em}.desktop-nav{display:flex;gap:.2rem;margin-left:auto}.desktop-nav a{padding:.65rem .8rem;color:#6f6572;text-decoration:none;font-size:.88rem;font-weight:650}.desktop-nav a:hover{color:var(--teal)}.header-action{display:flex;align-items:center;gap:.45rem;padding:.65rem .85rem;border-radius:9px;background:var(--navy);color:#fff;text-decoration:none;font-size:.82rem;font-weight:700}.header-action:hover{background:var(--teal);color:#fff}
.welcome{padding:68px 0 0;background:var(--cream);border-bottom:1px solid #e7dce9}.welcome-inner{display:grid;grid-template-columns:1fr 300px;align-items:center;gap:2rem}.hello{display:flex;align-items:center;gap:.5rem;margin:0 0 .8rem;color:var(--teal);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.hello span{width:24px;height:2px;background:var(--orange)}.welcome h1{margin:0;color:var(--navy);font-size:clamp(2.7rem,6vw,5rem);font-weight:750;line-height:1.02;letter-spacing:-.045em}.welcome h1 strong{color:var(--teal);font-weight:750}.welcome-copy>p:last-child{max-width:650px;margin:1.2rem 0 0;color:var(--gray);font-size:1.05rem;line-height:1.7}.welcome-mark{text-align:center}.welcome-mark img{width:250px;height:250px;object-fit:contain}.main-search{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;max-width:920px;margin-top:45px;transform:translateY(31px);padding:.55rem .55rem .55rem 1.15rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(3,52,68,.1)}.main-search>i{color:var(--teal);font-size:1.25rem}.main-search input{min-height:50px;padding:.5rem .8rem;border:0;outline:0;color:var(--navy);font-size:1rem}.main-search button{min-height:50px;padding:0 1.6rem;border:0;border-radius:9px;background:var(--orange);color:#403745;font-weight:800}.main-search button:hover{background:#4cada6}
.zones{padding:53px 0 20px;background:#fff}.zones-inner{display:flex;align-items:center;gap:.55rem;overflow:auto}.zones-inner>span{margin-right:.3rem;color:var(--gray);font-size:.78rem;white-space:nowrap}.zone-chip{padding:.48rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:#6f6572;font-size:.78rem;font-weight:650;white-space:nowrap}.zone-chip:hover,.zone-chip.active{border-color:var(--teal);background:#f2ebf4;color:var(--teal)}
.categories{padding:42px 0}.directory,.join{padding:68px 0}.simple-heading,.directory-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:1rem}.simple-heading p,.directory-heading p,.join p{margin:0 0 .25rem;color:var(--orange);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.simple-heading h2,.directory-heading h2{margin:0;color:var(--navy);font-size:1.65rem;font-weight:750}.simple-heading>span,.directory-heading>span{color:var(--gray);font-size:.8rem}.category-list{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.category{display:flex;min-height:74px;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;border:0;border-right:1px solid var(--line);background:#fff;color:#4c6269;font-size:.8rem}.category:last-child{border-right:0}.category i{color:var(--teal);font-size:1.18rem}.category:hover{background:#faf7fb}.category.active{background:var(--navy);color:#fff}.category.active i{color:var(--orange)}
.directory{background:#f7f3f8;border-top:1px solid #e8dfea}.business-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.business{display:grid;grid-template-columns:95px 1fr auto;gap:1.1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:13px;background:#fff;transition:.18s}.business:hover{border-color:#cbb8d0;box-shadow:0 8px 22px rgba(3,52,68,.07)}.business-icon{display:grid;width:95px;height:110px;place-items:center;border-radius:10px;font-size:2.1rem}.type-alimentos{background:#f1e5f4;color:#81638b}.type-ferreterias{background:#e9ddec;color:var(--navy)}.type-servicios{background:#dff5f3;color:var(--teal)}.type-salud{background:#dff5f3;color:#477f7b}.type-comercios{background:#eee4f0;color:#674f71}.business-meta{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.business-meta>span{color:var(--teal);font-size:.68rem;font-weight:800;text-transform:uppercase}.business-meta small{color:var(--green);font-size:.66rem}.business-info h3{margin:.3rem 0;color:var(--navy);font-size:1.12rem;font-weight:750}.business-info>p{margin:0;color:var(--gray);font-size:.8rem;line-height:1.45}.address{margin-top:.65rem;color:#746a77;font-size:.72rem}.address i{margin-right:.3rem;color:var(--orange)}.business-buttons{display:flex;flex-direction:column;gap:.45rem}.business-buttons button,.business-buttons a{display:flex;min-width:104px;min-height:38px;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .65rem;border-radius:8px;font-size:.72rem;font-weight:750;text-decoration:none}.price-button{border:1px solid #d8c8dc;background:#fff;color:var(--navy)}.price-button:hover{border-color:var(--navy)}.whatsapp-button{border:1px solid var(--green);background:var(--green);color:#fff}.whatsapp-button:hover{background:#117444;color:#fff}.empty{padding:4rem;text-align:center}.empty>i{color:var(--teal);font-size:2.4rem}.empty p{color:var(--gray)}
.help-strip{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.help-strip .container{display:flex;align-items:center;justify-content:space-between}.help-strip .container>div{display:flex;align-items:center;gap:.8rem}.help-strip .container>div>i{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f1e5f4;color:var(--orange)}.help-strip span{display:flex;flex-direction:column}.help-strip small{margin-top:.2rem;color:var(--gray)}.help-strip a,.help-action{color:var(--teal);font-size:.8rem;font-weight:750;text-decoration:none}.help-action{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .7rem;border:0;border-radius:9px;background:transparent}.help-action:hover{background:#f3edf5;color:#4f3b57}.join{background:#fff}.join-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:2rem;border:1px solid #d4c1d9;border-left:5px solid var(--teal);border-radius:12px;background:#f3ecf5}.join-icon{display:grid;width:66px;height:66px;place-items:center;border-radius:50%;background:var(--teal);color:#fff;font-size:1.6rem}.join h2{margin:.2rem 0;color:var(--navy);font-size:1.55rem;font-weight:750}.join span{color:var(--gray);font-size:.85rem}.join a{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:9px;background:var(--orange);color:#403745;text-decoration:none;font-size:.82rem;font-weight:800}
footer{padding:2.5rem 0 1.2rem;background:var(--navy);color:#fff}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-brand{color:#fff}.footer-brand small{color:rgba(255,255,255,.58)}.footer-top>p{max-width:430px;margin:0;color:rgba(255,255,255,.62);font-size:.82rem}.footer-zones{color:rgba(255,255,255,.65);font-size:.78rem}.footer-zones span,.footer-bottom a{color:var(--orange)}.footer-bottom{display:flex;justify-content:space-between;margin-top:1.7rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.48);font-size:.7rem}.footer-bottom a{text-decoration:none}.modal-content{border:0;border-radius:13px}.modal-header,.modal-body{padding:1.3rem}.modal-header small{color:var(--teal);font-weight:750}.prices{display:grid;gap:.55rem}.prices div{padding:.8rem;border-radius:8px;background:#f4eef6;color:var(--navy);font-weight:700}.modal-body>p{margin:1rem 0 0;color:var(--gray);font-size:.75rem}
@media(max-width:991.98px){.desktop-nav{display:none}.header-action{margin-left:auto}.welcome-inner{grid-template-columns:1fr 210px}.welcome-mark img{width:200px;height:200px}.category-list{display:flex;overflow:auto}.category{min-width:108px;min-height:72px;border-bottom:0}.business-list{grid-template-columns:1fr}.footer-top{align-items:flex-start;flex-direction:column}}
@media(max-width:767.98px){.header-inner{min-height:68px}.brand img{width:43px;height:43px}.header-action span{display:none}.welcome{padding-top:45px}.welcome-inner{display:block}.welcome-mark{display:none}.welcome h1{font-size:2.8rem}.welcome-copy>p:last-child{font-size:.95rem}.main-search{grid-template-columns:auto 1fr;margin-top:35px;padding:.45rem .45rem .45rem .8rem}.main-search button{padding:0 .9rem}.main-search input{min-width:0;font-size:.88rem}.zones{padding-top:48px}.categories{padding:34px 0}.directory,.join{padding:50px 0}.simple-heading,.directory-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.business{grid-template-columns:72px 1fr}.business-icon{width:72px;height:90px}.business-buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.business-buttons button,.business-buttons a{min-height:42px}.business-meta{align-items:flex-start;flex-direction:column;gap:.15rem}.help-strip .container{align-items:flex-start;flex-direction:column;gap:1rem}.join-inner{grid-template-columns:1fr;text-align:center}.join-icon{margin:auto}.join a{justify-content:center}.footer-bottom{flex-direction:column;gap:.4rem}}

/* Categorías compactas */
.categories{padding:24px 0 28px}
.categories .container{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.25rem}
.categories .simple-heading{display:block;margin:0;min-width:185px}
.categories .simple-heading p{margin-bottom:.15rem;font-size:.62rem}
.categories .simple-heading h2{font-size:1.25rem;white-space:nowrap}
.categories .simple-heading>span{display:none}
.category-carousel{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:.45rem;min-width:0}.category-list{display:flex;gap:.45rem;border:0;border-radius:0;overflow-x:auto;padding:.2rem .05rem;scrollbar-width:none;scroll-snap-type:x proximity}.category-list::-webkit-scrollbar{display:none}.category{scroll-snap-align:start}.category-arrow{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:#81638b;box-shadow:0 3px 10px rgba(65,45,70,.08);transition:.18s}.category-arrow:hover:not(:disabled){border-color:#5dc1b9;background:#e9f8f6;color:#237c76}.category-arrow:disabled{opacity:.25;cursor:default}
.category{min-width:auto;min-height:44px;flex:0 0 auto;flex-direction:row;gap:.4rem;padding:.55rem .8rem;border:1px solid var(--line)!important;border-radius:999px;background:#fff;font-size:.75rem;white-space:nowrap}
.category i{font-size:1rem}
.category:hover{border-color:var(--purple-soft)!important}
.category.active{border-color:var(--navy)!important;box-shadow:0 3px 9px rgba(129,99,139,.16)}
@media(max-width:767.98px){
  .categories{padding:20px 0 22px}
  .categories .container{display:block}
  .categories .simple-heading{margin-bottom:.65rem}
  .categories .simple-heading h2{font-size:1.15rem}
  .category-carousel{display:block}
  .category-arrow{display:none}
  .category-list{margin-right:-.75rem;padding-right:.75rem}
  .category{min-height:40px;padding:.48rem .7rem}
}
/* Hero equilibrado: mayor claridad y contenido visible más pronto */
body{color:#403745}
.welcome{padding:46px 0 0}
.welcome-inner{grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem}
.welcome h1{font-size:clamp(2.55rem,5vw,4.25rem);line-height:1.04;letter-spacing:-.035em}
.welcome-copy>p:last-child{max-width:680px;margin-top:1rem;color:#5f5363;font-size:1rem;line-height:1.6}
.welcome-mark img{width:290px;height:290px}
.main-search{max-width:920px;margin-top:28px;transform:translateY(27px);box-shadow:0 10px 24px rgba(129,99,139,.12)}
.main-search button{background:#5dc1b9;color:#403745;box-shadow:0 3px 8px rgba(93,193,185,.2)}
.main-search button:hover{background:#4cada6;color:#302735}
.zones{padding-top:46px}
@media(max-width:991.98px){
  .welcome-inner{grid-template-columns:minmax(0,1fr) 230px;gap:1.5rem}
  .welcome-mark img{width:225px;height:225px}
}
@media(max-width:767.98px){
  .welcome{padding-top:34px}
  .welcome h1{font-size:clamp(2.25rem,11vw,3rem);line-height:1.04}
  .welcome-copy>p:last-child{font-size:.92rem;line-height:1.55}
  .main-search{margin-top:24px;transform:translateY(24px)}
  .zones{padding-top:40px}
}
/* Alternancia de color: morado, turquesa y neutros */
.brand{color:#674f71}
.desktop-nav a{color:#514754}
.desktop-nav a:hover{color:#359b94}
.header-action{background:#81638b}
.header-action:hover{background:#5dc1b9;color:#302735}
.hello{color:#359b94}
.hello span{background:#5dc1b9}
.welcome h1{color:#403745}
.welcome h1 strong{color:#81638b}
.main-search>i{color:#81638b}
.zone-chip:hover,.zone-chip.active{border-color:#5dc1b9;background:#e7f7f5;color:#347e79}
.simple-heading p,.directory-heading p,.join p{color:#359b94}
.category i{color:#81638b}
.category.active{border-color:#5dc1b9!important;background:#5dc1b9;color:#302735}
.category.active i{color:#403745}
.directory-heading h2{color:#403745}
.empty>i{color:#5dc1b9}
.help-strip .container>div>i{background:#e2f6f4;color:#359b94}
.help-strip a,.help-action{color:#674f71}
.join-inner{border-color:#cce9e6;border-left-color:#5dc1b9;background:linear-gradient(105deg,#edf9f8 0%,#f7f1f8 100%)}
.join-icon{background:#5dc1b9;color:#403745}
.join h2{color:#674f71}
.join a{background:#81638b;color:#fff}
.join a:hover{background:#674f71;color:#fff}
footer{background:#403745}
.footer-zones span,.footer-bottom a{color:#9ce0db}
.header-actions{display:flex;align-items:center;gap:.55rem}.header-login{display:flex;align-items:center;gap:.4rem;padding:.62rem .75rem;border:1px solid #81638b;border-radius:9px;color:#674d70;text-decoration:none;font-size:.82rem;font-weight:700}.header-login:hover{background:#f4edf6;color:#4c3654}@media(max-width:767.98px){.header-actions{margin-left:auto}.header-login span{display:none}.header-login,.header-action{padding:.65rem}}
.business-icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:#fff}.operation-status{font-size:.7rem!important;padding:.2rem .45rem!important;border-radius:999px;background:#dff4e8;color:#17633b}.status-cerrado_temporalmente,.status-vacaciones{background:#fff0cf;color:#7a5200}.status-solo_con_cita{background:#e6e9ff;color:#3d4590}.status-cerrado_permanentemente{background:#f8d7da;color:#842029}
/* Negocios sugeridos */
.random-businesses{padding:36px 0;background:#fff;border-top:1px solid var(--line)}
.random-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.random-heading p{margin:0 0 .2rem;color:#359b94;font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}
.random-heading h2{margin:0;color:var(--navy);font-size:1.45rem}
.random-heading>span{color:var(--gray);font-size:.76rem}
.random-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.random-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:.8rem;min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#fff,#fbf7fc);color:var(--navy);text-decoration:none;transition:.18s}
.random-card:hover{transform:translateY(-2px);border-color:#5dc1b9;box-shadow:0 8px 22px rgba(7,55,70,.08);color:var(--navy)}
.random-card>img,.random-icon{display:grid;width:58px;height:58px;place-items:center;object-fit:contain;border:1px solid #e7dde9;border-radius:12px;background:#fff}
.random-icon{color:#81638b;font-size:1.35rem}
.random-copy{display:flex;min-width:0;flex-direction:column}
.random-copy small{color:#359b94;font-size:.6rem;font-weight:800;text-transform:uppercase}
.random-copy b{overflow:hidden;margin:.15rem 0;color:var(--navy);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}
.random-copy em{overflow:hidden;color:#786e7a;font-size:.67rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.random-copy em i{color:#f36b2c}
.random-arrow{color:#81638b}
@media(max-width:900px){.random-grid{grid-template-columns:1fr}.random-heading{align-items:flex-start;flex-direction:column}.random-heading>span{display:none}}

/* =========================================
   MAPA DE NEGOCIOS
========================================= */

.business-map-section {
    padding: 55px 0 25px;
    background:
        radial-gradient(
            circle at top left,
            rgba(72, 183, 105, 0.08),
            transparent 35%
        ),
        #f7faf9;
}

.map-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    margin-bottom: 20px;
}

.map-heading p {
    margin: 0 0 3px;
    color: #39a968;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.map-heading h2 {
    margin: 0;
    color: #033444;
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 800;
}

.map-heading > span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #547176;
    font-size: 14px;
}

.map-heading > span i {
    color: #38a969;
}


/* CONTENEDOR */

.map-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: #ffffff;
    box-shadow:
        0 24px 65px rgba(2, 52, 68, .12),
        0 4px 15px rgba(2, 52, 68, .05);
    border: 1px solid rgba(3, 52, 68, .08);
}


/* MAPA */

#businessMap {
    width: 100%;
    height: 520px;
    z-index: 1;
}


/* TARJETA FLOTANTE */

.map-floating-title {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 500;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 12px 17px;

    border-radius: 16px;

    background: rgba(255,255,255,.96);

    backdrop-filter: blur(15px);

    box-shadow:
        0 10px 30px rgba(3,52,68,.15);
}

.map-floating-icon {
    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border-radius: 13px;

    color: white;

    background:
        linear-gradient(
            135deg,
            #033444,
            #086985
        );

    font-size: 20px;
}

.map-floating-title div:last-child {
    display: flex;
    flex-direction: column;
}

.map-floating-title small {
    font-size: 11px;

    color: #6a8085;

    text-transform: uppercase;

    letter-spacing: .08em;
}

.map-floating-title strong {
    color: #033444;
    font-size: 15px;
}


/* =========================================
   PIN PERSONALIZADO
========================================= */

.business-map-marker {
    background: transparent !important;
    border: 0 !important;
}

.marker-pin {
    position: relative;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #81638b;

    border: 4px solid #fff;

    border-radius:
        50% 50% 50% 12px;

    transform: rotate(-45deg);

    box-shadow:
        0 7px 20px
        rgba(64,55,69,.35);
}

.marker-pin-inner {

    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    transform: rotate(45deg);

    color: #fff;

    font-size: 19px;
}

.marker-pin-inner i {
    display: block;
}


/* Botón "Ver negocios" */

.map-business-control {
    margin: 0 0 10px 10px;
}

.map-show-businesses {

    display: flex;
    align-items: center;
    gap: 7px;

    padding: 10px 14px;

    border: 0;
    border-radius: 11px;

    background: #81638b;

    color: #fff;

    font-size: 13px;
    font-weight: 700;

    box-shadow:
        0 5px 18px
        rgba(64,55,69,.25);

    cursor: pointer;
}

.map-show-businesses:hover {
    background: #674f71;
}


/* =========================================
   POPUP
========================================= */

.leaflet-popup-content-wrapper {
    padding: 0 !important;

    overflow: hidden;

    border-radius: 20px !important;

    box-shadow:
        0 18px 45px rgba(0,0,0,.15) !important;
}

.leaflet-popup-content {
    margin: 0 !important;
    width: 290px !important;
}

.map-business-popup {
    background: white;
}

.map-popup-logo {
    width: 100%;
    height: 125px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #eef7f5,
            #f8fbfa
        );
}

.map-popup-logo img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    padding: 18px;
}

.map-popup-no-logo {
    font-size: 42px;
    color: #05728c;
}

.map-popup-content {
    padding: 18px;
}

.map-popup-category {
    display: inline-block;

    margin-bottom: 5px;

    color: #3aa969;

    font-size: 11px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .08em;
}

.map-popup-content h3 {
    color: #033444;

    font-size: 19px;

    margin: 0 0 8px;

    font-weight: 800;
}

.map-popup-content p {
    display: flex;

    gap: 6px;

    margin: 0 0 14px;

    color: #667d82;

    font-size: 13px;

    line-height: 1.4;
}

.map-popup-content p i {
    color: #3aa969;
}

.map-popup-button {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    width: 100%;

    padding: 10px 15px;

    color: white !important;

    text-decoration: none !important;

    border-radius: 11px;

    font-size: 13px;

    font-weight: 700;

    background:
        linear-gradient(
            135deg,
            #033444,
            #075d75
        );

    transition: .2s ease;
}

.map-popup-button:hover {
    transform: translateY(-1px);
}


/* ZOOM */

.leaflet-control-zoom {
    border: 0 !important;

    box-shadow:
        0 8px 25px rgba(3,52,68,.18) !important;
}

.leaflet-control-zoom a {
    color: #033444 !important;
}


/* CELULAR */

@media (max-width: 768px) {

    .business-map-section {
        padding-top: 35px;
    }

    .map-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .map-wrapper {
        border-radius: 20px;
    }

    #businessMap {
        height: 430px;
    }

    .map-floating-title {
        left: 12px;
        top: 12px;

        padding: 9px 12px;
    }

    .map-floating-title strong {
        font-size: 13px;
    }

}
/* =========================================
   UBICACION ACTUAL DEL VISITANTE
========================================= */

.user-location-marker {
    background: transparent !important;
    border: 0 !important;
}

.user-location-dot {
    position: relative;

    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(93, 193, 185, .22);

    animation:
        userLocationPulse 2s
        infinite;
}

.user-location-center {

    width: 17px;
    height: 17px;

    border-radius: 50%;

    background: #5dc1b9;

    border: 4px solid white;

    box-shadow:
        0 2px 10px
        rgba(64, 55, 69, .35);

}


@keyframes userLocationPulse {

    0% {

        box-shadow:
            0 0 0 0
            rgba(93, 193, 185, .5);

    }

    70% {

        box-shadow:
            0 0 0 15px
            rgba(93, 193, 185, 0);

    }

    100% {

        box-shadow:
            0 0 0 0
            rgba(93, 193, 185, 0);

    }

}


.user-popup {
    padding: 12px 15px;

    display: flex;
    flex-direction: column;

    min-width: 150px;
}

.user-popup strong {

    display: flex;
    align-items: center;
    gap: 6px;

    color: #81638b;

    font-size: 14px;

}

.user-popup strong i {
    color: #5dc1b9;
}

.user-popup small {

    margin-top: 4px;

    color: #6f6572;

    font-size: 11px;

}
/* Resultados cercanos al centro del mapa */
.map-nearby{display:grid;grid-template-columns:230px 1fr;gap:1rem;align-items:center;margin-top:1rem;padding:1rem;border:1px solid rgba(3,52,68,.09);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(3,52,68,.06)}
.map-nearby-heading{display:flex;align-items:center;gap:.7rem}.map-nearby-heading>span{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;background:#e4f6f3;color:#258a83}.map-nearby-heading>div{display:flex;flex-direction:column}.map-nearby-heading small{color:#3aa099;font-size:.61rem;font-weight:800;text-transform:uppercase}.map-nearby-heading b{color:#033444;font-size:.82rem}
.map-nearby-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.map-nearby-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.55rem;align-items:center;min-width:0;padding:.5rem;border:1px solid #e4dbe7;border-radius:12px;background:#fcf9fd;text-align:left}.map-nearby-card:hover{border-color:#5dc1b9;background:#f0faf8}.map-nearby-card>img,.map-nearby-placeholder{display:grid;width:44px;height:44px;place-items:center;object-fit:contain;border-radius:9px;background:#fff;color:#81638b}.map-nearby-copy{display:flex;min-width:0;flex-direction:column}.map-nearby-copy small{color:#369c95;font-size:.55rem;font-weight:800;text-transform:uppercase}.map-nearby-copy b{overflow:hidden;color:#033444;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.map-nearby-copy em{color:#807482;font-size:.61rem;font-style:normal}.map-nearby-empty{grid-column:1/-1;margin:0;color:#7d707f;font-size:.8rem}
@media(max-width:900px){.map-nearby{grid-template-columns:1fr}.map-nearby-list{overflow-x:auto;grid-template-columns:repeat(3,minmax(190px,1fr))}}@media(max-width:576px){.map-nearby-list{grid-template-columns:1fr;overflow:visible}}
.map-heading-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.map-toggle{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #81638b;border-radius:9px;background:#fff;color:#674d70;padding:.58rem .78rem;font-weight:700;font-size:.82rem}.map-toggle:hover{background:#f4edf6}.map-toggle:focus-visible{outline:3px solid rgba(93,193,185,.35);outline-offset:2px}#mapContent[hidden]{display:none!important}@media(max-width:767.98px){.map-heading-actions{width:100%;justify-content:space-between}.map-toggle{white-space:nowrap}}
.brand-logo-full img{width:118px;height:64px;object-fit:contain}.footer-brand-full img{width:160px;height:105px;object-fit:contain}.footer-institution{display:flex;align-items:center;gap:.75rem;padding-left:1.2rem;border-left:1px solid rgba(255,255,255,.16)}.footer-institution>span{color:rgba(255,255,255,.62);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.footer-institution img{width:145px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.2))}@media(max-width:991.98px){.footer-institution{padding-left:0;border-left:0}}@media(max-width:767.98px){.brand-logo-full img{width:88px;height:56px}.footer-brand-full img{width:145px;height:95px}.footer-institution{width:100%;justify-content:center;flex-direction:column;gap:.25rem}}
.site-footer-compact{}footer{padding:1.15rem 0 .65rem}.footer-top{gap:1.25rem}.footer-brand-full img{width:112px;height:70px}.footer-institution{gap:.55rem;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25);border-radius:12px;background:#fff}.footer-institution>span{color:#675a6b;font-size:.62rem}.footer-institution img{width:118px;height:62px;filter:none}.footer-bottom{margin-top:.8rem;padding-top:.65rem}@media(max-width:991.98px){.footer-top{flex-direction:row;flex-wrap:wrap}.footer-institution{padding:.35rem .7rem;border:1px solid rgba(255,255,255,.25)}}@media(max-width:767.98px){footer{padding:1rem 0 .6rem}.footer-top{flex-direction:column;align-items:center;text-align:center;gap:.7rem}.footer-brand-full img{width:105px;height:65px}.footer-institution{width:auto;flex-direction:row;gap:.5rem}.footer-institution img{width:110px;height:58px}.footer-bottom{margin-top:.65rem;text-align:center}}