/* Directorio multi-vertical Nexus — estilos compartidos. Color por página vía --acc/--acc2. */
:root{--ink:#1b2130;--muted:#5c6678;--line:#e7eaf1;--acc:#3f7d8a;--acc2:#2d5a64;--bg:#f3f5f9;--ok:#0f9d6b}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;min-height:100dvh}
a{color:inherit;text-decoration:none}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(14px,4vw,40px);background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.logo{display:flex;align-items:center;gap:9px;font-weight:800}
.logo-ic{width:28px;height:28px;border-radius:8px;background:conic-gradient(from 210deg,#3f7d8a,#9a5b7c,#a9924f,#bb7c54,#3f7d8a)}
.nav-r{display:flex;align-items:center;gap:4px}
.nav-r a{font-size:.86rem;font-weight:700;padding:9px 13px;border-radius:9px;color:var(--muted)}
.nav-r a:hover{color:var(--ink)}
.nav-r a.active{color:var(--acc)}
.nav-r a.pro{border:1px solid var(--line);color:var(--ink)}
@media(max-width:560px){.nav-r a.hidem{display:none}}
.hero{position:relative;overflow:hidden;padding:clamp(34px,7vw,64px) clamp(16px,4vw,40px) clamp(24px,4vw,36px);text-align:center;background:radial-gradient(900px 420px at 50% -10%,#eef3f6,transparent),linear-gradient(180deg,#fff,var(--bg));border-bottom:1px solid var(--line)}
.hero h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(1.9rem,5.5vw,3rem);letter-spacing:-.02em;line-height:1.03}
.hero h1 em{font-style:italic;color:var(--acc)}
.hero p{color:var(--muted);margin-top:10px;font-size:clamp(.92rem,2.4vw,1.08rem)}
.search{display:flex;gap:8px;max-width:640px;margin:22px auto 0;flex-wrap:wrap}
.search .country{position:relative;flex:0 0 auto}
.search select{height:100%;min-height:50px;padding:0 34px 0 16px;border:1px solid var(--line);border-radius:13px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--ink);cursor:pointer;appearance:none;box-shadow:0 6px 18px -12px rgba(20,30,60,.3)}
.search .country::after{content:'▾';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search .in{flex:1;position:relative;min-width:180px}
.search .in svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.search input{width:100%;padding:15px 16px 15px 42px;border:1px solid var(--line);border-radius:13px;font-size:1rem;font-family:inherit;background:#fff;box-shadow:0 6px 18px -12px rgba(20,30,60,.3)}
.search input:focus{outline:2px solid var(--acc);border-color:var(--acc)}
.search button{padding:0 22px;min-height:50px;border:0;border-radius:13px;background:var(--acc);color:#fff;font-weight:800;cursor:pointer;font-family:inherit}
.search button:hover{background:var(--acc2)}
.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.chip{font-size:.82rem;font-weight:700;color:var(--acc);background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:99px;cursor:pointer}
.chip:hover{border-color:var(--acc)}
.wrap{max-width:1080px;margin:0 auto;padding:24px clamp(14px,4vw,40px) 60px}
.count{color:var(--muted);font-size:.9rem;margin-bottom:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.shop{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.22s}
.shop:hover{border-color:var(--acc);box-shadow:0 20px 40px -22px rgba(20,30,60,.45);transform:translateY(-4px)}
.shop .ph{height:110px;position:relative;display:grid;place-items:center;color:#fff}
.shop .ph .ini{font-family:Fraunces,serif;font-size:2.4rem;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.shop .ph .state{position:absolute;top:10px;right:10px;font-size:.72rem;font-weight:800;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.92)}
.shop .ph .ctry{position:absolute;top:10px;left:10px;font-size:.72rem;font-weight:800;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.92);color:var(--acc2)}
.shop .ph .state.on{color:var(--ok)} .shop .ph .state.off{color:#8a93a6}
.shop .b{padding:16px 18px;display:flex;flex-direction:column;flex:1}
.shop h3{font-size:1.12rem;font-weight:800}
.shop .addr{color:var(--muted);font-size:.86rem;margin-top:4px}
.shop .desc{color:var(--muted);font-size:.85rem;margin-top:8px;flex:1;line-height:1.45}
.shop .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.shop .tag{font-size:.76rem;font-weight:700;color:var(--muted);background:#f1f4f8;padding:5px 10px;border-radius:99px}
.shop .tag.price{color:var(--acc);background:#eef3f5}
.shop .foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:10px}
.shop .hours{font-size:.8rem;color:var(--muted)}
.shop .btn{background:var(--acc);color:#fff;font-weight:800;padding:11px 18px;border-radius:11px;font-size:.9rem;white-space:nowrap}
.shop .btn:hover{background:var(--acc2)}
.empty{text-align:center;color:var(--muted);padding:50px 10px;background:#fff;border:1px dashed var(--line);border-radius:16px}
.foot-legal{text-align:center;font-size:.76rem;color:var(--muted);padding:20px}
.foot-legal a{margin:0 3px}
