/* BuscaYa v2 — sistema de diseño (vanilla CSS, mobile-first) */
:root{
  --brand:#ffde59; --brand-2:#ffd400; --brand-ink:#2b2300;
  --ink:#1c1d21; --ink-2:#4a4d55; --muted:#5f6470; --line:#e6e7ea; --line-2:#f0f1f3;
  --bg:#f3f3f5; --card:#fff;
  --primary:#2459d6; --primary-h:#1b47b0; --primary-soft:#e8efff;
  --ok:#0f8a45; --ok-soft:#e3f6ea; --warn:#a15c00; --warn-soft:#fff3d6; --err:#c42b1c; --err-soft:#fde8e6;
  --wa:#15803d; --wa-h:#116632; --hot:#ff5a3c;
  --r-sm:8px; --r:12px; --r-lg:18px; --pill:999px;
  --sh-1:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  --sh-2:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.05);
  --sh-3:0 12px 28px rgba(16,24,40,.14);
  --font:'Questrial',sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ring:0 0 0 3px rgba(36,89,214,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.25;margin:0;letter-spacing:-.01em}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:#000;color:#fff;padding:8px 12px;border-radius:var(--r-sm);z-index:100}.skip:focus{left:8px}
.wrap{max-width:1200px;margin:0 auto;padding:16px}
.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.ta-r{text-align:right}
small.muted,td small{display:block;font-size:.8rem;color:var(--muted)}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--brand);box-shadow:0 1px 0 rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.06)}
.hdr-in{max-width:1200px;margin:0 auto;padding:10px 16px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"logo right" "search search";gap:10px 12px;align-items:center}
.logo{grid-area:logo;display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none!important;font-weight:800;font-size:1.35rem;letter-spacing:-.03em}
.logo-img{display:block;height:46px;width:auto}
@media(max-width:420px){.logo-img{height:38px}}
.logo-sub{font-size:.7rem;font-weight:600;letter-spacing:.02em;background:rgba(0,0,0,.82);color:var(--brand);padding:3px 8px;border-radius:var(--pill);margin-left:2px}
.hdr-right{grid-area:right;justify-self:end;display:flex;gap:8px}
.hdr-link{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:.88rem;padding:8px 12px;border-radius:var(--pill);background:rgba(255,255,255,.55)}
.hdr-link:hover{background:#fff;text-decoration:none}
.hdr-search{grid-area:search;display:flex;flex-direction:column;gap:8px}
.sbar{display:flex;background:#fff;border-radius:var(--r-sm);box-shadow:var(--sh-1);overflow:hidden}
.sbar input{flex:1;border:0;padding:12px 14px;font:inherit;font-size:16px;min-width:0;background:transparent}
.sbar input:focus{outline:none}.sbar:focus-within{box-shadow:var(--sh-1),var(--ring)}
.sbar-btn{border:0;border-left:1px solid var(--line);background:#fff;color:var(--ink-2);width:52px;cursor:pointer;display:grid;place-items:center}
.sbar-btn:hover{color:var(--primary)}
.loc{display:flex;align-items:center;gap:6px;color:var(--ink);cursor:pointer;order:2}
.loc-ico{font-size:1.05rem}.loc-txt{display:flex;align-items:baseline;gap:6px;font-size:.85rem}
.loc-txt small{color:rgba(0,0,0,.6);font-size:.78rem}
.loc select{border:0;background:transparent;font:inherit;font-weight:700;color:var(--ink);padding:2px 18px 2px 0;cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 6px center,right 2px center;background-size:4px 4px;background-repeat:no-repeat}
.catnav{background:var(--brand);border-top:1px solid rgba(0,0,0,.06)}
.catnav-in{max-width:1200px;margin:0 auto;padding:6px 12px 8px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.catnav-in::-webkit-scrollbar{display:none}
.catnav a,.catnav-geo{flex:none;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:var(--pill);color:rgba(0,0,0,.78);font-size:.84rem;white-space:nowrap;text-decoration:none!important;border:0;background:none;font-family:inherit;cursor:pointer}
.catnav a:hover,.catnav-geo:hover{background:rgba(255,255,255,.6);color:#000}
.catnav a.on{background:var(--ink);color:#fff}
.catnav-geo{font-weight:600;background:rgba(255,255,255,.55)}
@media(min-width:900px){
  .hdr-in{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo search right";gap:20px;padding:12px 16px}
  .hdr-search{flex-direction:row;align-items:center;gap:14px}
  .sbar{flex:1;max-width:640px}
  .loc{order:-1;flex-direction:row;line-height:1.1}.loc-txt{flex-direction:column;gap:0}
}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:.95rem;line-height:1;padding:12px 18px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;text-decoration:none!important;transition:background .15s,box-shadow .15s,transform .05s;background:var(--ink);color:#fff;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-h)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000}
.btn-sec{background:var(--primary-soft);color:var(--primary)}.btn-sec:hover{background:#d8e4ff}
.btn-ghost{background:transparent;border-color:rgba(0,0,0,.2);color:var(--ink)}.btn-ghost:hover{background:rgba(255,255,255,.6)}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:var(--wa-h)}
.btn-g{background:var(--ok);color:#fff}.btn-r{background:var(--err);color:#fff}
.btn-danger-ghost{background:transparent;color:var(--err);border-color:#f3c3be}.btn-danger-ghost:hover{background:var(--err-soft)}
.btn-sm{padding:8px 12px;font-size:.85rem}.btn-block{width:100%}
.link{background:none;border:0;color:var(--primary);cursor:pointer;font:inherit;font-size:.88rem;padding:0}

/* ---------- Formularios ---------- */
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);width:100%;padding:11px 12px;border:1px solid #cfd2d8;border-radius:var(--r-sm);background:#fff;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#a9adb6}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--primary)}
textarea{resize:vertical}
.fld{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.fld small{font-weight:400}
.check{display:flex;align-items:center;gap:8px;font-weight:500;font-size:.92rem;cursor:pointer}
.check input{width:18px;height:18px}
.file{padding:9px;background:var(--line-2);border-style:dashed}
.inpre{display:flex;align-items:stretch}.inpre span{display:grid;place-items:center;padding:0 12px;background:var(--line-2);border:1px solid #cfd2d8;border-right:0;border-radius:var(--r-sm) 0 0 var(--r-sm);color:var(--muted)}
.inpre input{border-radius:0 var(--r-sm) var(--r-sm) 0}
.fgrid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:700px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .span2{grid-column:1/-1}.fgrid-1{grid-template-columns:1fr}}
.form-acts{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}

/* ---------- Chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}
.chips-l{font-size:.85rem;color:var(--muted);font-weight:600}
.chip,.chips a{display:inline-block;padding:7px 13px;border-radius:var(--pill);background:#fff;color:var(--ink-2);font-size:.85rem;border:1px solid var(--line);text-decoration:none!important}
.chip:hover,.chips a:hover{border-color:var(--primary);color:var(--primary)}
.chip-on,.chips a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg{margin:0 0 16px}

/* ---------- Hero / home ---------- */
.hero{position:relative;overflow:hidden;border-radius:var(--r-lg);margin-top:8px;padding:28px 22px;color:#3d0d23;
  background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.55) 0 60px,transparent 61px),radial-gradient(circle at 70% 95%,rgba(255,255,255,.3) 0 90px,transparent 91px),linear-gradient(120deg,#ffd1dc 0%,#ffb3c7 45%,#ffcf73 100%);box-shadow:var(--sh-2);display:grid;gap:16px}
.hero-kicker{display:inline-block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.7);color:#8a1f45;padding:5px 10px;border-radius:var(--pill)}
.hero h1{font-size:1.7rem;font-weight:800;margin:12px 0 8px;letter-spacing:-.03em;max-width:16ch}
.hero p{margin:0 0 18px;max-width:46ch;color:#5a1e36}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.hero-art{position:relative;height:120px}
.hero-art span{position:absolute;display:grid;place-items:center;background:#fff;border-radius:24px;box-shadow:var(--sh-3);font-size:2.2rem;width:72px;height:72px}
.hero-art .b1{left:4%;top:20px;transform:rotate(-8deg)}.hero-art .b2{left:30%;top:0;width:90px;height:90px;font-size:2.8rem;transform:rotate(5deg)}
.hero-art .b3{left:58%;top:34px;transform:rotate(-4deg)}.hero-art .b4{left:80%;top:4px;width:60px;height:60px;font-size:1.8rem;transform:rotate(10deg)}
@media(min-width:900px){.hero{grid-template-columns:1.2fr 1fr;padding:44px 48px;align-items:center}.hero h1{font-size:2.4rem}.hero-art{height:220px}
  .hero-art span{width:96px;height:96px;font-size:3rem}.hero-art .b2{width:130px;height:130px;font-size:4rem;top:30px}.hero-art .b1{top:100px}.hero-art .b3{top:120px}.hero-art .b4{top:10px;width:80px;height:80px}}
.sec{margin:28px 0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.sec-h h2{font-size:1.2rem;font-weight:700}.sec-h small{font-weight:400;color:var(--muted);font-size:.8rem}
.count{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:.75rem;font-weight:700;vertical-align:2px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(min-width:600px){.tiles{grid-template-columns:repeat(5,1fr)}}
.tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);color:var(--ink);font-size:.82rem;font-weight:600;text-align:center;text-decoration:none!important;transition:box-shadow .15s,transform .15s}
.tile:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.tile-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff7cc;font-size:1.6rem}
.promo{display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-content:space-between;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:24px;margin:28px 0}
.promo h2{font-size:1.2rem}.promo p{margin:6px 0 0;color:#e3e5ea;max-width:60ch}
.promo .btn-dark{background:var(--brand);color:var(--ink)}.promo .btn-dark:hover{background:var(--brand-2)}
@media(min-width:700px){.promo{flex-direction:row;align-items:center;padding:28px 32px}}
.promo-sm{background:#fff;color:var(--ink);box-shadow:var(--sh-1);border:1px solid var(--line)}.promo-sm p{color:var(--muted)}
.promo-sm .btn-dark{background:var(--ink);color:#fff}

/* ---------- Resultados ---------- */
.crumbs{font-size:.82rem;color:var(--muted);margin:4px 0 12px}
.results{display:grid;gap:16px}
@media(min-width:900px){.results{grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}}
.filters details{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:4px 16px}
.filters summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;font-weight:700;cursor:pointer}
.filters summary::-webkit-details-marker{display:none}
.filters summary::after{content:"▾";color:var(--muted)}.filters details[open] summary::after{content:"▴"}
.filters-n{font-weight:500;font-size:.8rem;color:var(--muted);margin-left:auto}
.res-title{display:none;font-size:1.4rem;font-weight:700;text-transform:none}
.res-count{display:none;margin:2px 0 12px;color:var(--muted);font-size:.85rem}
.factive{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}.factive .chip{padding:4px 10px;font-size:.78rem}
.fgroup{border-top:1px solid var(--line-2);padding:12px 0}
.fgroup h3{font-size:.9rem;font-weight:700;margin-bottom:8px}
.fgroup ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:280px;overflow:auto}
.fgroup li a{display:block;padding:5px 8px;border-radius:6px;color:var(--ink-2);font-size:.88rem;text-decoration:none}
.fgroup li a:hover{background:var(--line-2);color:var(--ink)}
.fgroup li a.on{background:var(--primary-soft);color:var(--primary);font-weight:600}
.ftoggle{display:flex;align-items:center;gap:10px;padding:6px 0;color:var(--ink-2);font-size:.9rem;text-decoration:none!important}
.sw{position:relative;width:34px;height:20px;border-radius:var(--pill);background:#cfd2d8;flex:none;transition:background .15s}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--sh-1);transition:left .15s}
.ftoggle.on .sw{background:var(--primary)}.ftoggle.on .sw::after{left:16px}
@media(min-width:900px){.filters{position:sticky;top:150px}.filters details{background:transparent;box-shadow:none;padding:0}.filters summary{display:none}.res-title,.res-count{display:block}}
.res-main .sec:first-child{margin-top:0}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:700px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:1100px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pcard{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:var(--sh-3);transform:translateY(-2px)}
.pcard-img{position:relative;aspect-ratio:1/1;background:linear-gradient(135deg,#fffbe6,#fff2b3);border-bottom:1px solid var(--line-2)}
.pcard-img img{width:100%;height:100%;object-fit:cover}
.ph{display:grid;place-items:center;height:100%;font-size:3.6rem;filter:saturate(1.1)}
.ribbon{position:absolute;left:8px;top:8px;max-width:calc(100% - 16px);background:var(--hot);color:#fff;font-size:.72rem;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--sh-1)}
.pcard-body{padding:12px;display:flex;flex-direction:column;gap:2px;flex:1}
.pcard-t{font-size:.92rem;font-weight:500;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}
.old{color:var(--muted);font-size:.8rem}
.price{margin:0;font-size:1.45rem;font-weight:500;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.off{font-size:.8rem;font-weight:600;color:var(--ok)}
.ship{margin:0;font-size:.8rem;font-weight:600;color:var(--ok)}
.nostock{margin:0;font-size:.8rem;color:var(--err)}
.seller{margin:8px 0 0;font-size:.8rem;color:var(--ink-2);font-weight:600}
.zone{margin:0;font-size:.8rem;color:var(--muted)}
.pcard .btn{margin-top:auto;padding:10px;font-size:.88rem}.pcard .zone{margin-bottom:10px}
.vbadge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:2px 7px;border-radius:var(--pill);vertical-align:1px;white-space:nowrap}
.bgrid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:700px){.bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.bgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.bcard{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:16px;display:flex;flex-direction:column;gap:10px}
.bcard-top{display:flex;gap:12px;align-items:flex-start}.bcard h3{font-size:1rem;font-weight:700}
.bcats{margin:0;font-size:.8rem;color:var(--ink-2)}.bdesc{margin:0;font-size:.88rem;color:var(--ink-2)}
.blinks{margin:0;display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem}.blinks:empty{display:none}
.bcard .btn{margin-top:auto}
.avatar{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--brand),#ffb347);color:var(--brand-ink);font-weight:800;font-size:1.05rem;letter-spacing:-.02em;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.avatar-sm{width:36px;height:36px;font-size:.8rem}.avatar-dark{background:var(--ink);color:var(--brand)}
.avatar-g{background:#e8f0fe;color:#4285f4}.gcard{border-left:3px solid #4285f4}.rating{margin:2px 0 0;font-size:.85rem}
.empty{text-align:center;padding:32px 20px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1)}
.fcard .empty{box-shadow:none}
.empty-ico{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff7cc;font-size:2rem;margin-bottom:10px}
.empty h3{font-size:1.05rem;margin-bottom:6px}.empty p{margin:0 auto 14px;color:var(--muted);max-width:44ch}
.empty-cta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.more-g{text-align:center;margin:20px 0}

/* ---------- Dashboard (panel y admin) ---------- */
.wrap-dash{padding-top:20px}
.dash{display:grid;gap:16px}.dash>*,.results>*,.split>*,.form-cards>*{min-width:0}
@media(min-width:900px){.dash{grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}}
.side{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:12px}
.side-biz{display:flex;gap:10px;align-items:center;padding:6px 6px 12px;border-bottom:1px solid var(--line-2);margin-bottom:8px}
.side-biz b{display:block;font-size:.95rem;line-height:1.2;word-break:break-word}
.side-biz .avatar{width:44px;height:44px;font-size:.95rem}
.side-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.side-nav a{flex:none;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);color:var(--ink-2);font-weight:500;font-size:.9rem;text-decoration:none!important;white-space:nowrap}
.side-nav a:hover{background:var(--line-2);color:var(--ink)}
.side-nav a.on{background:#fff7cc;color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--brand-2)}
.side-out{color:var(--muted)!important}
@media(min-width:900px){.side{position:sticky;top:84px}.side-nav{flex-direction:column;overflow:visible}.side-out{margin-top:8px;border-top:1px solid var(--line-2);border-radius:0!important;padding-top:14px!important}}
.page-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.page-h h1{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.page-h p{margin:4px 0 0}
.h-sec{font-size:1.1rem;margin:24px 0 12px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
@media(min-width:700px){.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}}
.stat{position:relative;display:flex;flex-direction:column;gap:2px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:16px;color:var(--ink);text-decoration:none!important;transition:box-shadow .15s}
a.stat:hover{box-shadow:var(--sh-2)}
.stat b{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}.stat b.stat-sm{font-size:1.05rem;padding:8px 0 5px}
.stat>span:last-child{font-size:.82rem;color:var(--muted)}
.stat-ico{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff7cc}
.stat-hot{box-shadow:inset 0 0 0 2px var(--hot),var(--sh-1)}
.status,.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:var(--pill);background:var(--line-2);color:var(--ink-2);white-space:nowrap;margin-top:2px}
.st-ok,.st-activo{background:var(--ok-soft);color:var(--ok)}.st-warn,.st-pendiente{background:var(--warn-soft);color:var(--warn)}
.st-err,.st-rechazado{background:var(--err-soft);color:var(--err)}.st-mute,.st-pausado{background:var(--line-2);color:var(--muted)}
.alert{padding:12px 14px;border-radius:var(--r-sm);margin-bottom:16px;font-size:.92rem;border:1px solid}
.alert-warn{background:var(--warn-soft);border-color:#f5d48a;color:#6b3d00}.alert-err{background:var(--err-soft);border-color:#f3c3be;color:#8a1d12}
.fcard{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:20px;margin-bottom:16px}
.fcard h2{font-size:1.02rem;font-weight:700;margin-bottom:16px}.fcard h2 small{font-weight:400;font-size:.8rem}
.fcard-flush{padding:0;overflow:hidden}
.form-cards{display:grid;gap:0 16px}
@media(min-width:1000px){.form-cards{grid-template-columns:1fr 1fr}.fcard-wide,.savebar{grid-column:1/-1}}
.savebar{display:flex;justify-content:flex-end;padding:4px 0 12px}.savebar .btn{min-width:200px}
.catpick{display:grid;gap:8px}
@media(min-width:700px){.catpick{grid-template-columns:1fr 1fr}}
.catpick details{border:1px solid var(--line);border-radius:var(--r-sm);padding:0 12px}
.catpick details[open]{background:#fcfcfd}
.catpick summary{padding:10px 0;font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:6px}
.catpick summary .count{margin-left:auto;background:var(--primary)}
.pills{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px}
.pill{cursor:pointer}.pill input{position:absolute;opacity:0;width:1px;height:1px}
.pill span{display:inline-block;padding:6px 11px;border-radius:var(--pill);border:1px solid var(--line);background:#fff;font-size:.82rem;color:var(--ink-2)}
.pill input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.pill input:focus-visible+span{box-shadow:var(--ring)}
.split{display:grid;gap:0 16px}
@media(min-width:1100px){.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start}}
.tbl,.adm-t,table{width:100%;border-collapse:collapse;background:var(--card)}
.tbl th,.adm-t th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:12px 16px;background:#fafafb;border-bottom:1px solid var(--line)}
.tbl td,.adm-t td{padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle;font-size:.9rem}
.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover{background:#fafbff}.row-on{background:#fff9db!important}
.prow{display:flex;align-items:center;gap:12px}.prow b{display:block}
.thumb{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;object-fit:cover;background:linear-gradient(135deg,#fffbe6,#fff2b3);font-size:1.5rem}
.acts,.adm-acc{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.acts form,.adm-acc form{margin:0;display:flex;gap:6px}
.adm-acc{justify-content:flex-start}.adm-acc input{width:auto;min-width:150px;padding:7px 10px;font-size:14px}
@media(max-width:699px){
  .tbl thead{display:none}.tbl tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px;border-bottom:1px solid var(--line-2)}
  .tbl td{padding:0;border:0}.tbl td:first-child{grid-column:1/-1}.tbl td.ta-r{grid-column:1/-1}.acts{justify-content:flex-start}
  .tbl td[data-l]::before{content:attr(data-l)": ";color:var(--muted);font-size:.78rem}
  .adm-t td{display:block}.adm-t tr:not(:first-child) td{border-bottom:0}
}
.acc{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:12px 16px;margin-bottom:8px}
.acc summary{cursor:pointer}.acc ul{margin:10px 0 4px;padding-left:20px;columns:2 220px;font-size:.88rem}

/* ---------- Toasts ---------- */
.toast{position:fixed;z-index:200;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);background:var(--ink);color:#fff;padding:12px 14px 12px 12px;border-radius:var(--r);box-shadow:var(--sh-3);font-size:.92rem;font-weight:500;animation:tin .25s ease-out;transition:opacity .3s,transform .3s}
.toast>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ok);font-weight:800;flex:none}
.toast-warn>span{background:#e8a200;color:#000}
.toast-x{background:none;border:0;color:#5f6470;font-size:1.2rem;cursor:pointer;padding:0 0 0 6px}
.toast.out{opacity:0;transform:translate(-50%,10px);pointer-events:none}
@media(min-width:900px){.toast{left:auto;right:24px;top:84px;bottom:auto;transform:none}.toast.out{transform:translateY(-10px)}}
@keyframes tin{from{opacity:0;transform:translate(-50%,10px)}}
@media(min-width:900px){@keyframes tin{from{opacity:0;transform:translateY(-10px)}}}

/* ---------- Auth ---------- */
.auth{min-height:calc(100vh - 220px);padding:24px 16px}
.auth-in{max-width:980px;margin:0 auto;display:grid;gap:20px;align-items:start}
@media(min-width:900px){.auth-in{grid-template-columns:1fr 1fr;gap:40px;padding-top:24px}}
.auth-narrow{max-width:420px}@media(min-width:900px){.auth-narrow{grid-template-columns:1fr}}
.auth-brand{border-radius:var(--r-lg);padding:24px;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.6) 0 50px,transparent 51px),linear-gradient(135deg,var(--brand),#ffc94d);color:var(--brand-ink)}
.auth-brand h1{font-size:1.5rem;font-weight:800;margin:12px 0;letter-spacing:-.02em}
@media(min-width:900px){.auth-brand{padding:40px}.auth-brand h1{font-size:2rem}}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:center;font-weight:500}
.ticks li::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--brand);font-weight:800;font-size:.8rem;flex:none}
.tabs{display:flex;background:#e4e5e9;border-radius:var(--r-sm);padding:4px;margin-bottom:12px}
.tabs button{flex:1;border:0;background:none;font:inherit;font-weight:600;padding:10px;border-radius:6px;cursor:pointer;color:var(--ink-2)}
.tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}
.auth-forms .fcard{padding:24px}.auth-forms .btn-block{margin-top:18px}.auth-forms p{margin:14px 0 0}
.auth-ico{font-size:2.2rem;text-align:center;margin-bottom:6px}

/* ---------- Footer ---------- */
.ftr{background:#fff;border-top:1px solid var(--line);margin-top:40px;color:var(--muted);font-size:.85rem}
.ftr-in{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:flex-start;justify-content:space-between;padding:24px 16px}
.ftr .logo-img{height:40px;border-radius:8px}
.ftr p{margin:8px 0 0;max-width:40ch}.ftr nav{display:flex;flex-direction:column;gap:6px}.ftr nav a{color:var(--ink-2)}
.adm .ftr{display:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:420px){.logo-sub{display:none}.hdr-link{padding:7px 10px;font-size:.82rem}}

/* toggle contraseña */
.pass-wrap{position:relative;display:block;width:100%}
.pass-wrap input{width:100%;padding-right:44px!important;box-sizing:border-box}
.pass-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:8px;color:#666;cursor:pointer;padding:0}
.pass-eye:hover,.pass-eye:focus-visible{color:#3483fa;background:rgba(52,131,250,.08);outline:none}

/* Fotos del emprendimiento: portada + avatar (estilo tienda) */
.profile-hero{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden;margin-bottom:16px}
.cover{position:relative;aspect-ratio:3/1;max-height:260px;width:100%;background:linear-gradient(135deg,var(--brand),#ffb347) center/cover no-repeat;display:grid;place-items:center}
.cover-empty{color:var(--brand-ink);opacity:.7;font-weight:600;font-size:.9rem;padding:0 12px;text-align:center}
.cover-acts{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}
.cover-acts .btn,.hero-btns .btn{cursor:pointer}
.hero-row{display:flex;gap:16px;align-items:flex-end;padding:0 20px 18px;flex-wrap:wrap}
.hero-av{position:relative;margin-top:-48px}
.avatar-xl{width:112px;height:112px;font-size:2rem;border:4px solid #fff;box-shadow:var(--sh-1)}
.av-btn{position:absolute;right:2px;bottom:4px;width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:var(--sh-1);cursor:pointer;font-size:1rem}
.hero-info{flex:1;min-width:200px}.hero-info h2{font-size:1.25rem;margin:0 0 2px}
.hero-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
@media(max-width:600px){.hero-av{margin-top:-40px}.avatar-xl{width:88px;height:88px}.cover-acts .btn{font-size:.75rem}}
.bcard.has-cover{padding-top:0;overflow:hidden}
.bcard-cover{height:84px;margin:0 -16px 0;background:center/cover no-repeat}
.bcard.has-cover .bcard-top .avatar{margin-top:-26px;border:3px solid #fff}

/* Modal confirmación registro + pantalla de éxito */
.modal{position:fixed;inset:0;z-index:100;background:rgba(17,17,17,.55);display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:var(--r);box-shadow:0 20px 50px rgba(0,0,0,.25);padding:24px;width:100%;max-width:440px}
.modal-box h2{font-size:1.2rem;margin:0 0 4px}
.rm-list{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:16px 0;padding:14px;background:var(--line-2,#f3f3f3);border-radius:10px}
.rm-list dt{color:#666;font-size:.85rem}.rm-list dd{margin:0;font-weight:600;word-break:break-word}
.modal-acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:480px){.modal-acts .btn{flex:1}}
.ok-screen{display:grid;place-items:center;min-height:50vh;padding:24px}
.ok-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh-1);padding:32px 28px;text-align:center;max-width:420px}
.ok-card h1{font-size:1.4rem;margin:12px 0 6px}.ok-card .btn{margin-top:10px}
.ok-ico{width:64px;height:64px;margin:0 auto;border-radius:50%;background:#00a650;color:#fff;font-size:2rem;display:grid;place-items:center;animation:okpop .4s ease}
@keyframes okpop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
/* Panel: formularios de alta (ofertas/productos) */
.fcard-form{padding:22px 24px}
.fcard-h{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.fcard-h h2{margin:0}.fcard-h p{margin:2px 0 0}
.fcard-ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff7cc;font-size:1.3rem}
.form-acts-r{justify-content:flex-end;border-top:1px solid var(--line-2);padding-top:16px;margin-top:18px}
.check-box{align-self:end;min-height:44px;padding:0 12px;border:1px solid #cfd2d8;border-radius:var(--r-sm)}
.list-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 2px 10px}
.list-h h2{font-size:1.05rem;font-weight:700;margin:0}
.empty-sm{display:flex;align-items:center;gap:14px;text-align:left;padding:18px 20px}
.empty-sm .empty-ico{width:48px;height:48px;font-size:1.4rem;margin:0;flex:none}
.empty-sm h3{margin-bottom:2px}.empty-sm p{margin:0;max-width:none}
.csv-card{padding:14px 20px}.csv-card summary{cursor:pointer;font-weight:600;font-size:.92rem}
.csv-form{margin-top:12px}.csv-form .file{max-width:420px}
@media(min-width:1100px){.fcard-form .fgrid{gap:16px 20px}}
@media(max-width:699px){.fcard-form{padding:18px}.form-acts-r .btn{flex:1}}

/* ===== Inicio tipo asistente (chat) ===== */
.ch-body{background:#f6f5ef}
.ch-body .ftr{display:none}
.ch-body .hdr-in{grid-template-areas:"logo right"}
.ch-body .hdr-right{align-items:center}
.ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ch-loc{display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 6px 6px 12px;font-size:.88rem;box-shadow:0 2px 8px rgba(16,24,40,.08);max-width:62vw}
.ch-loc-l{color:#6b7079;white-space:nowrap}
.ch-loc select{border:0;background:transparent;font:inherit;font-weight:700;color:#2459d6;cursor:pointer;padding:2px 4px;max-width:180px;text-overflow:ellipsis}
.ch-loc select:focus-visible{outline:2px solid #2459d6;border-radius:6px}
.ch-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding:18px 18px calc(150px + env(safe-area-inset-bottom))}
.ch-wrap.ch-noside{grid-template-columns:minmax(0,1fr)}
.ch-main{max-width:760px;width:100%;margin:0 auto;min-width:0}
.ch-hero{text-align:center;padding:22px 6px 8px;transition:opacity .25s}
.ch-mascot{width:84px;height:84px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.12));animation:chbob 3s ease-in-out infinite}
@keyframes chbob{50%{transform:translateY(-5px)}}
.ch-hero h1{font-family:'Questrial',sans-serif;font-size:1.9rem;font-weight:400;margin:12px 0 6px;line-height:1.25}
.ch-hero h1 span{background:linear-gradient(transparent 60%,#ffde59 60%)}
.ch-hero p{color:#6b7079;margin:0 0 18px}
.ch-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ch-chip{font:inherit;background:#fff;border:1px solid #e6e7ea;border-radius:999px;padding:9px 14px;font-size:.9rem;color:#4a4d55;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.ch-chip:hover{border-color:#e0b800;background:#fffbe6;text-decoration:none;transform:translateY(-1px)}
.ch-chip:focus-visible,.ch-cat:focus-visible,.ch-ib:focus-visible{outline:3px solid #2459d6;outline-offset:2px}
.ch-chip-dark{background:#1c1d21;color:#fff;border-color:#1c1d21}.ch-chip-dark:hover{background:#000;color:#fff;border-color:#000}
.ch-explore{margin:22px auto 0;background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(16,24,40,.08);text-align:left;overflow:hidden}
.ch-explore summary{list-style:none;padding:14px 18px;display:flex;justify-content:space-between;cursor:pointer;font-size:.95rem}
.ch-explore summary::-webkit-details-marker{display:none}
.ch-explore[open] .ch-caret{transform:rotate(180deg)}.ch-caret{transition:transform .2s}
.ch-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;padding:0 12px 16px}
.ch-cat{font:inherit;background:none;border:0;border-radius:12px;padding:8px 4px;cursor:pointer;font-size:.78rem;color:#4a4d55;text-align:center}
.ch-cat:hover{background:#fffbe6}
.ch-cat i{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 5px;border-radius:14px;background:#fff6cc;font-style:normal;font-size:22px}
.ch-emp-m{display:none;margin-top:14px;font-size:.9rem;color:#1c1d21;font-weight:600}
.ch-conv .ch-hero{display:none}
.ch-msgs{display:flex;flex-direction:column;gap:14px;padding-top:4px}
.ch-reset{text-align:center}.ch-reset button{font:inherit;font-size:.85rem;background:#fff;border:1px solid #e6e7ea;border-radius:999px;padding:6px 14px;cursor:pointer;color:#4a4d55}
.ch-row{display:flex;gap:10px;align-items:flex-end;animation:chin .35s ease both;scroll-margin-top:90px}
.ch-block{margin-left:44px;animation:chin .4s ease both;min-width:0}
.ch-noanim .ch-row,.ch-noanim .ch-block{animation:none}
@keyframes chin{from{opacity:0;transform:translateY(8px)}}
.ch-me{justify-content:flex-end}
.ch-av{width:34px;height:34px;flex:none}
.ch-bub{max-width:82%;padding:11px 15px;border-radius:18px;font-size:.98rem;line-height:1.45;overflow-wrap:anywhere}
.ch-bot .ch-bub{background:#fff;box-shadow:0 4px 14px rgba(16,24,40,.08);border-bottom-left-radius:6px}
.ch-me .ch-bub{background:#1c1d21;color:#fff;border-bottom-right-radius:6px}
.ch-typing span{display:inline-block;width:7px;height:7px;background:#bbb;border-radius:50%;margin:0 2px;animation:chdot 1s infinite}
.ch-typing span:nth-child(2){animation-delay:.15s}.ch-typing span:nth-child(3){animation-delay:.3s}
@keyframes chdot{50%{transform:translateY(-4px);background:#888}}
.ch-lbl{font-size:.75rem;color:#6b7079;text-transform:uppercase;letter-spacing:.06em;margin:6px 0 8px}
.ch-car{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.ch-car::-webkit-scrollbar{height:6px}.ch-car::-webkit-scrollbar-thumb{background:#ddd;border-radius:9px}
.ch-pc{flex:0 0 190px;scroll-snap-align:start;background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(16,24,40,.08);overflow:hidden;display:flex;flex-direction:column}
.ch-ph{flex:none;height:auto;aspect-ratio:4/3;display:grid;place-items:center;font-size:52px;position:relative;overflow:hidden;background:#fff6cc;border:0;padding:0;margin:0;width:100%;cursor:pointer}
.ch-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s}.ch-ph:hover img{transform:scale(1.04)}
.ch-off{position:absolute;top:8px;left:8px;background:#ff5a3c;color:#fff;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px}
.ch-pb{padding:10px 12px 12px;display:flex;flex-direction:column;flex:1}
.ch-pn{font-size:.9rem;font-weight:400;margin:0 0 4px;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ch-old{color:#6b7079;font-size:.78rem}.ch-pr{font-size:1.25rem;margin:0}
.ch-biz{font-size:.78rem;color:#4a4d55;margin:4px 0 0}.ch-z{font-size:.75rem;color:#6b7079;margin:2px 0 8px}
.ch-ver{color:#2459d6;font-size:.75rem;white-space:nowrap}
.ch-wa{margin-top:auto;display:inline-flex;gap:6px;align-items:center;justify-content:center;background:#15803d;color:#fff;border-radius:10px;padding:8px 10px;font-size:.82rem;font-weight:600;text-decoration:none;white-space:nowrap}
.ch-wa:hover{background:#178c44;color:#fff;text-decoration:none}
.ch-bc{background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(16,24,40,.08);margin-bottom:10px;overflow:hidden}
.ch-cover{height:70px;background:#fff6cc center/cover}
.ch-bc-in{display:flex;gap:12px;align-items:center;padding:12px}
.ch-cover+.ch-bc-in .ch-bl{margin-top:-30px;border:3px solid #fff}
.ch-bl{width:52px;height:52px;border-radius:14px;flex:none;object-fit:cover;background:#fff}
.ch-ini{display:grid;place-items:center;background:#ffde59;font-weight:700;color:#1c1d21}
.ch-g{display:grid;place-items:center;background:#e8efff;color:#2459d6;font-weight:700}
.ch-bc-t{min-width:0;flex:1}.ch-bc-t h3{margin:0;font-size:1rem;font-weight:400}
.ch-bc-t small{color:#6b7079;display:block}.ch-bc-t p{margin:4px 0 0;font-size:.82rem;color:#4a4d55}
.ch-bc-a{display:flex;flex-direction:column;gap:6px;flex:none}
.ch-go{background:#fff6cc;border-radius:999px;padding:7px 12px;font-size:.82rem;color:#1c1d21;text-align:center;text-decoration:none}
.ch-fu{justify-content:flex-start;margin-top:6px}
.ch-side .ch-card{background:#fff;border-radius:18px;box-shadow:0 4px 14px rgba(16,24,40,.08);padding:16px;position:sticky;top:84px}
.ch-side h2{margin:0 0 10px;font-weight:400;font-size:1.05rem}
.ch-of{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #e6e7ea;font-size:.86rem;color:#1c1d21;text-decoration:none}
.ch-of:hover{text-decoration:none;background:#fffdf3}
.ch-of-i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:#fff6cc;flex:none;overflow:hidden}
.ch-of-i img{width:100%;height:100%;object-fit:cover}
.ch-of-t{min-width:0;flex:1}.ch-of-t small{display:block;color:#6b7079}
.ch-of-p{text-align:right;flex:none}.ch-of-p s{display:block;font-size:.7rem;color:#6b7079}.ch-of-p b{font-weight:600}
.ch-promo{margin-top:14px;background:#1c1d21;color:#fff;border-radius:14px;padding:14px}.ch-promo p{margin:4px 0 10px;font-size:.82rem;opacity:.8}
.ch-promo a{display:inline-block;background:#ffde59;color:#1c1d21;border-radius:999px;padding:8px 14px;font-size:.85rem;text-decoration:none}
.ch-composer{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 18px calc(14px + env(safe-area-inset-bottom));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));background:linear-gradient(rgba(246,245,239,0),#f6f5ef 35%)}
.ch-in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 6px 6px 20px;box-shadow:0 12px 28px rgba(16,24,40,.14);border:2px solid #ffde59;transition:border-color .15s,box-shadow .15s}
.ch-in:focus-within{border-color:#e0b800;box-shadow:0 12px 28px rgba(16,24,40,.18),0 0 0 4px rgba(255,222,89,.35)}
.ch-in input:focus,.ch-in input:focus-visible{outline:0!important;box-shadow:none!important;border:0!important}
.ch-in input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;background:none;padding:8px 0}
.ch-ib{width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:#f3f3f5;color:#1c1d21;cursor:pointer;flex:none;position:relative;transition:background .15s,transform .1s}
.ch-ib:hover{background:#e9e9ee}.ch-ib:active{transform:scale(.94)}
.ch-send{background:#1c1d21;color:#ffde59}.ch-send:hover{background:#000}
.ch-mic.rec{background:#ff3b30;color:#fff}
.ch-mic.rec::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid #ff3b30;animation:chpulse 1.2s ease-out infinite}
@keyframes chpulse{from{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}
.ch-hint{text-align:center;font-size:.75rem;color:#6b7079;margin:7px auto 0;max-width:760px}
@media(prefers-reduced-motion:reduce){.ch-mascot,.ch-row,.ch-block,.ch-mic.rec::after{animation:none}}
@media(max-width:900px){
  .ch-wrap{grid-template-columns:minmax(0,1fr);padding:10px 12px calc(130px + env(safe-area-inset-bottom))}
  .ch-side{display:none}
  .ch-emp-m{display:inline-block}
  .ch-block{margin-left:0}
  .ch-bub{max-width:88%}
  .ch-composer{padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#f6f5ef;border-top:1px solid #e6e7ea}
}
@media(max-width:600px){
  .ch-loc-l,.ch-emp-t{display:none}
  .ch-loc{font-size:.82rem;padding:5px 4px 5px 10px}
  .ch-loc select{max-width:130px}
  .ch-hero{padding-top:10px}.ch-mascot{width:68px;height:68px}
  .ch-hero h1{font-size:1.4rem}
  .ch-pc{flex-basis:160px}
  .ch-bc-a .ch-wa span{display:none}
  .ch-hint{display:none}
}

/* ---- Farmacia de turno (dato de v1) ---- */
.ch-turno,.turno{background:#fff;border:2px solid #16a34a;border-radius:16px;padding:14px 16px;margin:0 0 14px;box-shadow:0 4px 14px rgba(22,163,74,.12)}
.turno{margin-bottom:20px}
.ch-turno-h,.turno-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:#166534;margin-bottom:10px;font-weight:600}
.ch-turno-tag,.turno-tag{background:#15803d;color:#fff;border-radius:999px;padding:3px 10px;font-weight:700;letter-spacing:.2px}
.ch-turno-b,.turno-b{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ch-turno-b img,.turno-b img,.ch-turno-i,.turno-i{width:56px;height:56px;border-radius:12px;object-fit:contain;background:#f0fdf4;border:1px solid #dcfce7;display:flex;align-items:center;justify-content:center;font-size:28px;flex:none}
.ch-turno h3,.turno h2{margin:0 0 2px;font-size:1.08rem}
.ch-turno p,.turno p{margin:2px 0;color:#374151;font-size:.92rem}
.turno-b>div:nth-child(2){flex:1;min-width:200px}
.ch-turno-a,.turno-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.turno-a{margin-top:0}
.ch-turno-call{background:#15803d!important;color:#fff!important;border-color:#15803d!important}
.ch-turno-n,.turno-n{font-size:.82rem!important;color:#92400e!important;background:#fffbeb;border-radius:8px;padding:6px 8px;margin-top:8px!important}
.ch-turno-p,.turno-p{font-size:.8rem!important;color:#6b7280!important;margin-top:8px!important}
.ch-turno-off,.turno-off{border-color:#d1d5db;box-shadow:none}
.ch-turno-badge,.turno-badge{display:inline-block;background:#15803d;color:#fff;font-size:.7rem;border-radius:999px;padding:2px 8px;vertical-align:middle;font-weight:700}

/* v9: separación turno, íconos Google */
.ch-turno-d,.turno-d{color:#166534}
.ch-turno-b img,.turno-b img{max-width:56px;max-height:56px}
.ch-g,.avatar-g{position:relative;font-size:1.5rem;overflow:visible}
.ch-g img,.avatar-g img{display:block}
.ch-gtag{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);background:#fff;color:#4285f4;border:1px solid #d2e3fc;border-radius:999px;font-size:.55rem;font-style:normal;font-weight:700;padding:0 5px;line-height:1.5;letter-spacing:.2px}
.ch-turno-a .ch-go,.turno-a .btn{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;font-weight:600}

/* Remises de la zona (Infoguía) */
.rm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:0 0 8px}
.rm-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #FFD200;border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rm-img{width:56px;height:56px;border-radius:50%;background:#ffde59;box-shadow:inset 0 0 0 3px #fff,0 0 0 1px #f2c200;display:flex;align-items:center;justify-content:center;font-size:26px;flex:none}
.rm-t{flex:1;min-width:150px;display:flex;flex-direction:column;gap:2px}
.rm-t h3{margin:0;font-size:1rem}
.rm-t small{color:#6b7280;font-size:.84rem}
.rm-a{display:flex;gap:8px;flex-wrap:wrap}
.rm-call{background:#111!important;color:#fff!important;border-color:#111!important}
.rm-wa{background:#15803d!important;color:#fff!important;border-color:#15803d!important}
.rm-src{font-size:.75rem;color:#5f6470;margin:2px 0 14px}.rm-src a{color:inherit}
@media(max-width:560px){.rm-list{grid-template-columns:1fr}.rm-a{width:100%}.rm-a a{flex:1;text-align:center}}
.of-bio{color:#4b5563!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gu-card .rm-a a{white-space:nowrap}

/* Mapa (Leaflet + OSM) */
.map-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.res-map,.ch-mapwrap{margin:0 0 16px}
.by-map-box{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06);font-family:'Questrial',system-ui,sans-serif}
.by-map{height:420px;width:100%;z-index:0}
.by-map-st{padding:10px 14px;font-size:.88rem;color:#374151;border-bottom:1px solid #f1f1f1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.by-map-spin{width:12px;height:12px;border:2px solid #ffde59;border-top-color:#111;border-radius:50%;display:inline-block;animation:byspin .8s linear infinite}
@keyframes byspin{to{transform:rotate(360deg)}}
.by-pin-w{background:none;border:0}
.by-pin{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#ffde59;border:2px solid #111;box-shadow:0 3px 8px rgba(0,0,0,.3)}
.by-pin i{transform:rotate(45deg);font-style:normal;font-size:18px;line-height:1}
.by-pin-buscaya{background:#111;border-color:#ffde59}.by-pin-google{background:#fff;border-color:#f2c200}
.by-pop{font-family:'Questrial',system-ui,sans-serif;min-width:190px}.by-pop b{display:block;font-size:1rem}.by-pop small{display:block;color:#6b7280;margin:2px 0}
.by-pop-t{display:block;font-style:normal;font-size:.72rem;color:#5f6470;margin-bottom:6px}
.by-pop-a{display:flex;gap:6px;flex-wrap:wrap}.by-pop-a a{font-size:.8rem;padding:5px 9px;border-radius:999px;background:#fff8d6;color:#111!important;text-decoration:none;border:1px solid #f2d65a}
.by-pop-a a.by-pop-call{background:#111;color:#fff!important;border-color:#111}.by-pop-a a.by-pop-wa{background:#15803d;color:#fff!important;border-color:#15803d}
.leaflet-container{font-family:'Questrial',system-ui,sans-serif}
@media(max-width:640px){.by-map{height:62vh}.ch-mapwrap{margin-left:-12px;margin-right:-12px}.res-map{margin-left:-16px;margin-right:-16px}.by-map-box{border-radius:0;border-left:0;border-right:0}}

/* Distancias */
.dist{display:inline-block;font-size:.72rem;font-weight:700;color:#111;background:#ffde59;border-radius:999px;padding:2px 8px;vertical-align:middle;white-space:nowrap;letter-spacing:.2px}
.ch-chip-near.on,#nearBtn.on{background:#111;color:#fff}
.by-pop .dist{margin-left:4px;font-size:.7rem}
.dist:empty{display:none}
.map-tog[hidden]{display:none!important}

/* Nueva búsqueda: siempre a mano en el compositor (solo con conversación iniciada) */
.ch-new{display:none!important;flex:none;align-items:center;gap:4px;height:40px;padding:0 12px 0 9px!important;width:auto!important;border-radius:999px!important;background:#fff8d6!important;color:#111!important;border:1px solid #f2d65a!important;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}
.ch-new:hover,.ch-new:focus-visible{background:#ffde59!important}
.ch-conv .ch-new{display:inline-flex!important}
.ch-conv .ch-in{padding-left:6px}
@media(max-width:560px){.ch-new{width:40px!important;padding:0!important;justify-content:center}.ch-new-t{display:none}}
/* Selector de ubicación exacta (panel / admin) */
.geopick{display:flex;flex-direction:column;gap:8px}.geopick-acts{display:flex;gap:8px;flex-wrap:wrap}
.geopick-map{height:300px;border-radius:14px;border:1px solid #e3e5e8;z-index:0;background:#f3f4f6}
.geopick-st{font-size:.85rem;color:#4b5563;min-height:1.2em}
@media(max-width:600px){.geopick-map{height:260px}.geopick-acts .btn{flex:1 1 auto}}

/* Admin · Productos y ofertas: miniatura + detalle "Ver" */
.cv-item{display:flex;gap:12px;align-items:flex-start}
.cv-th{position:relative;flex:none;width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--line-2);border:1px solid var(--line);display:grid;place-items:center;font-size:1.6rem;cursor:pointer;padding:0}
.cv-th img{width:100%;height:100%;object-fit:cover}
.cv-th em{position:absolute;right:3px;bottom:3px;background:rgba(17,17,17,.75);color:#fff;font-style:normal;font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:var(--pill)}
.cv-th:hover{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,222,89,.45)}
.cv-t td>.adm-acc+.adm-acc{margin-top:6px}
.cv-modal{align-items:start;overflow-y:auto}
.cv-box{position:relative;max-width:680px;margin:24px auto}
.cv-k{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.cv-box h2{padding-right:36px}
.cv-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--line-2);font-size:1rem;cursor:pointer;color:var(--ink,#111)}
.cv-x:hover{background:var(--brand)}
.cv-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:14px 0}
.cv-img{display:block;border-radius:12px;overflow:hidden;background:var(--line-2);aspect-ratio:1/1;cursor:zoom-in}
.cv-img img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.cv-img:hover img{transform:scale(1.03)}
.cv-gal .cv-img:only-child{grid-column:1/-1;aspect-ratio:auto;max-height:420px}.cv-gal .cv-img:only-child img{object-fit:contain;max-height:420px}
.cv-nofoto{margin:14px 0;padding:28px;border:2px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted)}
.cv-nofoto span{font-size:2.6rem}.cv-nofoto p{margin:6px 0 0}
.cv-sub{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:4px 0 6px}
.cv-desc{white-space:normal;line-height:1.5;padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;word-break:break-word}
.cv-acts{padding-top:14px;border-top:1px solid var(--line-2)}
.cv-zoom{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:16px;cursor:zoom-out}
.cv-zoom[hidden]{display:none}.cv-zoom img{max-width:100%;max-height:92vh;border-radius:8px}
.cv-zoom .cv-x{position:fixed;background:#fff}
@media(max-width:600px){.cv-box{margin:0 auto;padding:18px}.cv-modal{padding:8px}.cv-gal{grid-template-columns:1fr 1fr}.cv-acts form{flex-wrap:wrap}.cv-acts input{flex:1}}
.rm-list.cv-dl{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;align-items:baseline}.cv-dl dt,.cv-dl dd{margin:0}
@media(max-width:420px){.rm-list.cv-dl{grid-template-columns:100px 1fr}}

/* ---- v19: tarjetas de producto, detalle (modal) y página del emprendimiento ---- */
.ch-pn a,.ng-pb h3 a{color:inherit;text-decoration:none}.ch-pn a:hover,.ng-pb h3 a:hover{text-decoration:underline}
.ch-prw{min-height:2.6em;display:flex;flex-direction:column;justify-content:flex-end}.ch-pr{font-weight:700;line-height:1.2}
.ch-biz a{color:inherit;text-decoration:none}.ch-biz a:hover{text-decoration:underline}
.ch-pa{margin-top:auto;display:flex;gap:6px}.ch-pa .ch-wa{margin:0;padding:8px 10px;flex:none}
.ch-det{flex:1;border:1px solid #e3e5ea;background:#fff;border-radius:10px;padding:8px 6px;font:inherit;font-size:.82rem;cursor:pointer;color:#1c1d21}.ch-det:hover{border-color:#1c1d21}
.ch-bc-t h3 a{color:inherit;text-decoration:none}.ch-bc-t h3 a:hover{text-decoration:underline}.ch-bl-a{flex:none;display:block;position:relative;z-index:1}
.ch-dir{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.ch-cat{display:inline-block;margin-top:6px;font-size:.82rem;font-weight:700;color:#1c1d21;background:#ffde59;border-radius:999px;padding:4px 11px;text-decoration:none}a.ch-cat:hover{background:#ffd42a;text-decoration:none}
body.pf-open{overflow:hidden}
.pf{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.pf[hidden]{display:none}
.pf-bg{position:absolute;inset:0;background:rgba(17,17,17,.6)}
.pf-box{position:relative;background:#fff;border-radius:20px;width:100%;max-width:920px;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:pfIn .18s ease-out}
@keyframes pfIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pf-x{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.18);font-size:1rem;cursor:pointer}
.pf-c{display:flex;align-items:flex-start}.pf-left{flex:1.1 1 0;min-width:0;position:sticky;top:0}.pf-info{flex:1 1 0;min-width:0;padding:26px 26px 22px}
.pf-load{grid-column:1/-1;padding:60px 20px;text-align:center;color:#6b7079}
.pf-gal{position:relative;background:#f6f6f4;aspect-ratio:1/1;overflow:hidden;border-radius:20px 0 0 0}
.pf-nofoto{display:grid;place-content:center;justify-items:center;font-size:90px;background:#fff6cc;border-radius:20px 0 0 20px}.pf-nofoto small{font-size:.85rem;color:#6b7079}
.pf-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.pf-track::-webkit-scrollbar{display:none}
.pf-sl{flex:0 0 100%;scroll-snap-align:center;border:0;padding:0;background:none;cursor:zoom-in}.pf-sl img{width:100%;height:100%;object-fit:contain}
.pf-offb{position:absolute;top:12px;left:12px;background:#ff5a3c;color:#fff;font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px}
.pf-cnt{position:absolute;bottom:10px;right:12px;background:rgba(17,17,17,.7);color:#fff;font-size:.75rem;padding:2px 9px;border-radius:999px}
.pf-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:1.5rem;line-height:1;cursor:pointer}.pf-prev{left:10px}.pf-next{right:10px}
.pf-th{display:flex;gap:8px;padding:10px 12px;overflow-x:auto}.pf-th button{flex:none;width:58px;height:58px;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;background:#eee;cursor:pointer}.pf-th button.on{border-color:#1c1d21}.pf-th img{width:100%;height:100%;object-fit:cover}
.pf-cat{margin:0 0 4px;font-size:.8rem;color:#6b7079}.pf-n{font-size:1.45rem;font-weight:400;margin:0 40px 10px 0;line-height:1.25}
.pf-old{color:#6b7079;font-size:.9rem}.pf-pr{font-size:2rem;margin:0 0 6px;line-height:1.1}.pf-offt{font-size:.95rem;color:#16a34a;vertical-align:middle}
.pf-ofe{background:#fff6cc;border-radius:12px;padding:9px 12px;font-size:.88rem;margin:8px 0}
.pf-stock{font-size:.88rem;margin:6px 0 14px}.pf-stock.ok{color:#16a34a}.pf-stock.no{color:#b45309}
.pf-acts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.pf-btn{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 14px;font-weight:700;font-size:.95rem;text-decoration:none!important}
.pf-wa{background:#15803d;color:#fff!important}.pf-wa:hover{background:#178c44}
.pf-sec{background:#ffde59;color:#1c1d21!important}.pf-sec:hover{background:#ffd42a}
.pf-h{font-size:1rem;margin:4px 0 6px}.pf-desc{font-size:.92rem;color:#3d4048;line-height:1.55;margin:0 0 16px}
.pf-seller{display:flex;gap:12px;align-items:center;border:1px solid #eceef2;border-radius:14px;padding:10px 12px;color:inherit;text-decoration:none!important}.pf-seller:hover{border-color:#1c1d21}
.pf-seller img,.pf-ini{width:46px;height:46px;border-radius:12px;object-fit:cover;flex:none}.pf-ini{display:grid;place-items:center;background:#ffde59;font-weight:700}
.pf-seller>span:not(.pf-ini){flex:1;min-width:0}.pf-seller small{display:block;color:#6b7079;font-size:.8rem}.pf-seller em{font-style:normal;font-size:1.4rem;color:#9aa0a8}
.pf-lb{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.92);display:grid;place-items:center;cursor:zoom-out}.pf-lb img{max-width:96vw;max-height:92vh;object-fit:contain}
@media (max-width:720px){.pf{padding:0;align-items:end}.pf-box{border-radius:20px 20px 0 0;max-height:94vh}.pf-c{display:block}.pf-left{position:static}.pf-gal{border-radius:20px 20px 0 0;aspect-ratio:4/3}.pf-info{padding:16px 18px 22px}.pf-n{font-size:1.25rem}.pf-pr{font-size:1.7rem}
  .pf-acts{position:sticky;bottom:0;background:#fff;padding:8px 0;margin:0 0 12px;z-index:2}}
.ng-crumbs{margin-top:14px}
.ng-hero{background:#fff;border-radius:20px;box-shadow:0 4px 14px rgba(16,24,40,.08);overflow:hidden;margin-bottom:18px}
.ng-cover{height:170px;background:#fff6cc center/cover}
.ng-hd{display:flex;gap:18px;align-items:center;padding:20px;flex-wrap:wrap}
.has-cover .ng-logo{margin-top:-54px;border:4px solid #fff}
.ng-logo{width:96px;height:96px;border-radius:22px;object-fit:cover;flex:none;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.ng-ini{display:grid;place-items:center;background:#ffde59;font-size:2rem;font-weight:700;color:#1c1d21}
.ng-tt{flex:1;min-width:220px}.ng-tt h1{font-size:1.6rem;font-weight:400;margin:0 0 4px}
.ng-cats{margin:0;color:#4a4d55}.ng-meta{margin:4px 0 0;color:#6b7079;font-size:.92rem}
.ng-acts{display:flex;gap:8px;flex-wrap:wrap}.ng-acts .btn{display:inline-flex;align-items:center;gap:6px}
.ng-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;margin-bottom:30px}
.ng-card{background:#fff;border-radius:18px;box-shadow:0 4px 14px rgba(16,24,40,.08);padding:16px 18px;margin-bottom:14px}.ng-card h2{font-size:1.05rem;margin:0 0 8px}
.ng-desc{margin:0;font-size:.92rem;color:#3d4048;line-height:1.55}
.ng-ct{list-style:none;margin:0;padding:0;font-size:.9rem}.ng-ct li{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #f1f2f4;word-break:break-word}.ng-ct li:last-child{border:0}.ng-ct svg{color:#1faa53;flex:none}
.ng-map{margin-top:10px}.ng-map .by-map{height:200px}
.ng-cat-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.ng-cat-h h2{margin:0;font-size:1.3rem}
.ng-q{border:1px solid #e3e5ea;border-radius:999px;padding:9px 16px;font:inherit;min-width:240px;background:#fff}
.ng-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip.on{background:#1c1d21;color:#fff;border-color:#1c1d21}button.chip{cursor:pointer;font:inherit;font-size:.85rem}
.ng-ofs{display:grid;gap:8px;margin-bottom:12px}.ng-of{display:flex;gap:12px;align-items:center;background:#fff6cc;border-radius:14px;padding:10px 14px}.ng-of>div{flex:1}.ng-of small{color:#4a4d55}
.ng-prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.ng-pc{background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(16,24,40,.08);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.ng-pc:hover{box-shadow:0 8px 24px rgba(16,24,40,.14)}.ng-pc[hidden]{display:none}
.ng-ph{position:relative;aspect-ratio:1/1;border:0;padding:0;background:#fff6cc;display:grid;place-items:center;font-size:56px;cursor:pointer;overflow:hidden;width:100%}
.ng-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ng-nf{position:absolute;right:8px;bottom:8px;background:rgba(17,17,17,.7);color:#fff;font-style:normal;font-size:.72rem;padding:2px 8px;border-radius:999px}
.ng-pb{padding:10px 12px 12px}.ng-pb h3{font-size:.92rem;font-weight:400;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.ng-ns{color:#b45309;font-weight:400}.ng-none{color:#6b7079;text-align:center;padding:20px}
@media (max-width:860px){.ng-grid{grid-template-columns:1fr}.ng-side{order:2}.ng-cover{height:120px}.ng-logo{width:76px;height:76px}.ng-tt h1{font-size:1.3rem}
  .ng-acts{width:100%}.ng-acts .btn{flex:1;justify-content:center}.ng-prods{grid-template-columns:repeat(2,1fr);gap:10px}.ng-q{min-width:0;width:100%}}
/* Promoción propia del producto (panel «Destacar con promoción») */
.pbadges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;z-index:2;max-width:calc(100% - 16px);pointer-events:none}
.pbadges .ch-off,.pbadges .pf-offb{position:static}
.pf-badges{top:12px;left:12px}
.pbadge{display:inline-block;background:#111;color:#ffde59;font:700 .7rem/1 Questrial,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pb-oferta,.pb-descuento{background:#e5322d;color:#fff}
.pb-liquidacion{background:#ffde59;color:#111;border:1px solid #111}
.pb-2x1{background:#7c3aed;color:#fff}
.pb-nuevo{background:#15803d;color:#fff}
.pb-custom{background:#111;color:#ffde59;text-transform:none;letter-spacing:.02em}
.pbadge-sm{font-size:.6rem;padding:3px 6px;margin-bottom:2px}
.poff{display:inline-block;vertical-align:middle;background:#fdecea;color:#c62828;font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:5px}
.phasta{margin:2px 0 0;font-size:.74rem;color:#c62828;font-weight:600}
.ch-of-p em.pbadge{font-style:normal}
/* Panel: sección promo + vista previa */
.promo-card{margin-top:14px;border:1px dashed #e8c93a;background:#fffbea;border-radius:14px;padding:0}
.promo-card>summary{cursor:pointer;padding:12px 14px;font-weight:700;list-style:none;display:flex;align-items:center;gap:8px}
.promo-card>summary::-webkit-details-marker{display:none}
.promo-card>summary small{font-weight:400}
.promo-in{display:grid;grid-template-columns:1fr 220px;gap:16px;padding:0 14px 14px}
.promo-in .fgrid{margin:0}
.promo-err{color:#c62828;font-size:.8rem;min-height:1em;margin:4px 0 0}
.promo-prev{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);align-self:start}
.promo-prev .pv-ph{position:relative;aspect-ratio:4/3;background:#fff6cc;display:grid;place-items:center;font-size:44px;overflow:hidden}
.promo-prev .pv-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.promo-prev .pv-b{padding:10px 12px}
.promo-prev .pv-n{font-size:.9rem;margin:0 0 4px;font-weight:700}
.promo-prev .pv-k{font-size:.7rem;color:#6b7079;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px 0;margin:0}
@media (max-width:720px){.promo-in{grid-template-columns:1fr}.promo-prev{max-width:240px}}
/* ===== Iconos SVG (Lucide, sprite inline) ===== */
.ic{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
button .ic,.btn .ic,a .ic{pointer-events:none}
.btn .ic,.ch-chip .ic,.ch-go .ic,.pf-btn .ic,.hdr-link .ic{width:18px;height:18px;vertical-align:-4px}
.btn,.ch-chip,.ch-go,.pf-btn{gap:6px}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.22);vertical-align:1px;margin-right:4px;animation:livep 1.8s ease-in-out infinite}
@keyframes livep{50%{box-shadow:0 0 0 6px rgba(22,163,74,.08)}}
@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}
.tile-ico .ic,.ch-cat i .ic,.ch-of-i .ic,.fcard-ico .ic,.stat-ico .ic,.thumb .ic,.empty-ico .ic{width:22px;height:22px;stroke-width:1.9;color:#1a1a1a}
.empty-ico .ic{width:30px;height:30px}.empty-sm .empty-ico .ic{width:22px;height:22px}
.rm-img .ic{width:26px;height:26px;color:#1a1a1a}
.avatar-g .ic{width:24px;height:24px}
.ph .ic,.ch-ph>span .ic,.ng-ph>span .ic,.pf-nofoto>span .ic,.cv-th>.ic,.cv-nofoto>.ic{box-sizing:content-box;width:34px;height:34px;padding:16px;border-radius:50%;background:#ffde59;color:#1a1a1a;stroke-width:1.8;box-shadow:inset 0 0 0 3px #fff,0 0 0 1px #f2c200}
.cv-th>.ic{width:20px;height:20px;padding:8px}
.pf-nofoto>span .ic{width:44px;height:44px;padding:22px}
.by-pin i .ic{width:18px;height:18px;vertical-align:0;display:block;color:#111}
.by-pin-buscaya i .ic{color:#ffde59}
.side-nav a .ic{width:18px;height:18px;margin-right:10px;vertical-align:-4px}
.side-out .ic{width:18px;height:18px}
.hero-art span .ic{width:.9em;height:.9em;stroke-width:1.6;color:#1a1a1a}
.hero-art span{background:#ffde59}
.auth-ico .ic,.ok-ico .ic{width:40px;height:40px;stroke-width:1.7}
.vbadge .ic,.ch-ver .ic{width:14px;height:14px;vertical-align:-2px;color:#1d9bf0}
.ct-emojis button .ic{width:20px;height:20px}
.ch-lbl .ic,.sec-h h2 .ic{width:20px;height:20px;vertical-align:-3px;color:#1a1a1a;background:#ffde59;box-sizing:content-box;padding:5px;border-radius:50%}
.ribbon .ic,.pbadge .ic{width:14px;height:14px;vertical-align:-2px}
.rating .ic,small .ic{width:14px;height:14px;vertical-align:-2px}
.ch-of h2 .ic,.turno-h .ic,.ch-turno-h .ic{vertical-align:-3px}
.ng-info li .ic{width:16px;height:16px;margin-right:4px;color:#6b6b6b}
.ng-nf .ic{width:12px;height:12px}
.turno-tag .live-dot,.ch-turno-tag .live-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35);animation:none}
/* --- Reseñas (login con Google) --- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rs-st{position:relative;display:inline-block;color:#d9dbe0;letter-spacing:1px;line-height:1;font-size:.95rem;vertical-align:middle}
.rs-st-on{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:#f5a800}
.rs-st-lg{font-size:1.25rem}
.rs{margin-bottom:30px;padding:20px 22px}
.rs-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.rs-h h2{margin:0 0 4px}
.rs-sum{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem}.rs-sum b{font-size:1.6rem;line-height:1}
.rs-few{margin:0}
.rs-cta{display:inline-flex;align-items:center;gap:6px}
.rs-form{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fffdf3}
.rs-login{display:flex;gap:12px;align-items:flex-start}.rs-login p{margin:4px 0 10px}
.rs-login-ico{flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center}
.rs-gbtn{min-height:44px}
.rs-who{margin:0 0 8px}.rs-link{background:none;border:0;padding:0;color:var(--primary);cursor:pointer;font:inherit;text-decoration:underline}
.rs-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px;font-size:.92rem}
.rs-pick{border:0;padding:0;margin:0 0 10px}.rs-pick legend{font-weight:600;margin-bottom:4px;padding:0}
.rs-stars{display:inline-flex;flex-direction:row-reverse;gap:2px}
.rs-stars input{position:absolute;opacity:0;width:1px;height:1px}
.rs-stars label{cursor:pointer;font-size:2.1rem;line-height:1;color:#d9dbe0;padding:2px;transition:color .12s,transform .12s}
.rs-stars label:hover,.rs-stars label:hover~label,.rs-stars input:checked~label{color:#f5a800}
.rs-stars label:hover{transform:scale(1.12)}
.rs-stars input:focus-visible+label{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}
.rs-f .fld{display:block}.rs-f textarea{width:100%;box-sizing:border-box;margin-top:4px;resize:vertical}
.rs-cnt{display:block;text-align:right}
.rs-acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.rs-msg{margin:0;font-size:.9rem}.rs-msg.ok{color:#137a3a}.rs-msg.err{color:#b42318}
.rs-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0}
.rs-it{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line-2)}
.rs-av{flex:none;width:38px;height:38px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:700;font-size:.85rem}
.rs-it-h{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rs-tx{margin:4px 0 0;color:var(--ink-2);line-height:1.45}
.rs-empty{margin:14px 0 0}
.rs-hero{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;font-size:.9rem;margin:2px 0}.rs-hero span{color:var(--muted)}
.rs-mini{display:inline-flex;align-items:center;gap:3px;font-size:.82rem;font-weight:600}.rs-mini>span{color:#f5a800}.rs-mini i{font-style:normal;color:var(--muted);font-weight:400}
.rs-adm-tx{max-width:520px;white-space:normal}.rs-adm-tx p{margin:4px 0 0}
.rs-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
@media (max-width:600px){.rs{padding:16px}.rs-cta{width:100%;justify-content:center}.rs-stars label{font-size:2.4rem}.rs-login{flex-direction:column}}

/* Login con Google en el panel */
.gauth{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:20px 24px;margin-bottom:14px;border:2px solid #ffde59}
.gauth-hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.gauth-rec{display:inline-flex;align-items:center;gap:4px;background:#ffde59;color:#1a1a1a;font-weight:700;font-size:.74rem;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
.gauth-rec .ic{width:13px;height:13px}
.gauth-btn{min-height:44px;display:flex;justify-content:center}.gauth-btn.is-busy{opacity:.5;pointer-events:none}
.gauth-msg{color:#b42318;font-size:.86rem;margin:10px 0 0;text-align:center}
.auth-forms .gauth-note{margin:12px 0 0}
.or-div{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:.82rem;margin:4px 0 14px}
.or-div::before,.or-div::after{content:"";flex:1;height:1px;background:#d9dbe0}
/* IA: nota sutil bajo la respuesta del asistente */
.ia-note{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:7px;border-top:1px dashed #e6e1cc;font-size:.82rem;color:#7a7460}
.ia-note .ic{width:14px;height:14px;color:#c9a800;flex:none}

/* === Categorías home: grilla de tarjetas compactas === */
.ch-hero .ch-chips{gap:8px;max-width:640px;margin:0 auto}
.ch-hero .ch-chip{padding:7px 14px;font-size:.86rem;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.ch-hero .ch-chip .ic{width:16px;height:16px;vertical-align:-3px;color:#8a6d00}
.ch-explore summary{font-weight:600;align-items:center}
.ch-explore summary>span:first-child{display:inline-flex;align-items:center;gap:8px}
.ch-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;padding:2px 16px 18px}
.ch-cats .ch-cat{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;height:100%;min-height:96px;margin:0;padding:14px 8px 12px;background:#fff;border:1px solid #eceef1;border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04);font:inherit;font-size:.8rem;line-height:1.25;color:#2b2d33;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.ch-cats .ch-cat:hover{background:#fff;border-color:#ffde59;box-shadow:0 6px 16px rgba(16,24,40,.09);transform:translateY(-2px)}
.ch-cats .ch-cat i{display:grid;place-items:center;flex:none;width:42px;height:42px;margin:0;border-radius:12px;background:#ffde59;font-style:normal}
.ch-cats .ch-cat i .ic{width:21px;height:21px;color:#1c1d21}
.ch-cats .ch-cat span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;word-break:break-word}
@media(max-width:640px){.ch-cats{grid-template-columns:repeat(3,1fr);gap:8px;padding:2px 12px 14px}.ch-cats .ch-cat{min-height:88px;padding:12px 4px 10px;font-size:.76rem}.ch-cats .ch-cat i{width:38px;height:38px}
 .ch-hero .ch-chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:2px 2px 4px;-webkit-overflow-scrolling:touch}.ch-hero .ch-chips::-webkit-scrollbar{display:none}.ch-hero .ch-chip{flex:none}}
/* === Panel: selector de categorías tipo acordeón === */
.catpick{display:block}
.cp-top{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.cp-sel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r-sm);background:#fffdf3;min-height:46px}
.cp-sel-t{font-size:.82rem;font-weight:600;color:var(--ink-2);margin-right:4px}
.cp-sel-e{font-size:.82rem;color:var(--muted,#8a8f98)}
.cp-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;border-radius:999px;background:#ffde59;color:#1c1d21;font-size:.8rem;font-weight:600;border:0;font-family:inherit;cursor:pointer}
.cp-tag .ic{width:14px;height:14px}.cp-tag:hover{background:#ffd42a}
.cp-q{position:relative}.cp-q .ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#8a8f98}
.cp-q input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;font-size:.9rem}
.cp-list{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.catpick .cp-list details{border:0;border-radius:0;padding:0;border-top:1px solid var(--line)}
.catpick .cp-list details:first-child{border-top:0}
.catpick .cp-list details[open]{background:#fcfcfd}
.catpick .cp-list summary{list-style:none;padding:12px 14px;font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:10px}
.catpick .cp-list summary::-webkit-details-marker{display:none}
.catpick .cp-list summary:hover{background:#fffbe6}
.cp-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff6cc;flex:none}.cp-ico .ic{width:17px;height:17px;color:#1c1d21}
.cp-n{flex:1;min-width:0}
.catpick summary .count{margin-left:0;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#ffde59;color:#1c1d21;font-size:.75rem;display:inline-grid;place-items:center}
.catpick summary .count[data-n="0"]{display:none}
.cp-car{width:18px;height:18px;color:#8a8f98;transition:transform .2s;flex:none}
.catpick details[open] .cp-car{transform:rotate(180deg)}
.catpick .cp-list .pills{padding:2px 14px 14px 54px}
.catpick .pill input:checked+span{background:#ffde59;border-color:#ffde59;color:#1c1d21;font-weight:600}
.cp-none{padding:14px;font-size:.88rem;color:#5f6470;text-align:center}
@media(max-width:640px){.catpick .cp-list .pills{padding-left:14px}}
.catpick [hidden]{display:none!important}

/* v26: avatares de emprendedores siempre circulares */
.avatar,.ch-bl,.ch-ini,.pf-seller img,.pf-ini,.ng-logo,.ng-ini{border-radius:50%!important;object-fit:cover;aspect-ratio:1/1;overflow:hidden;box-sizing:border-box}
.avatar,.ch-bl,.pf-seller img,.pf-ini,.ng-logo{border:1px solid rgba(28,29,33,.12)}
.ch-bl{width:56px;height:56px}
.ch-ini,.pf-ini,.ng-ini,.avatar:not(img):not(.avatar-dark):not(.avatar-g){display:grid;place-items:center;text-align:center;line-height:1;background:#ffde59;color:#1c1d21}
.ch-g{overflow:visible}.ch-g img{border-radius:50%}
.ch-cover+.ch-bc-in .ch-bl,.has-cover .ng-logo,.bcard.has-cover .bcard-top .avatar{border-color:#fff}

/* v27: nota "lo más parecido" sobre comercios por sinónimo */
.gu-nota{display:flex;align-items:flex-start;gap:8px;margin:6px 0 10px;padding:10px 12px;background:#fffbea;border:1px solid #f3e3a0;border-left:4px solid #ffde59;border-radius:8px;color:#5c4a00;font-size:.92rem;line-height:1.35}
.gu-nota .ic{flex:none;width:18px;height:18px;margin-top:1px;color:#b38f00}

/* v28: Ampliar búsqueda (localidades cercanas 10/20/40 km) */
.amp-cta{margin:4px 0 10px}
.amp-btn{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;text-align:left;padding:10px 14px;background:#fff;border:1px solid #e6e6e6;border-radius:12px;font:inherit;font-weight:700;color:#1c1d21;cursor:pointer;list-style:none;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.amp-btn::-webkit-details-marker{display:none}
.amp-btn>.ic:first-child{grid-row:1/3;width:20px;height:20px;padding:7px;box-sizing:content-box;border-radius:50%;background:#ffde59;color:#1c1d21}
.amp-btn small{grid-column:2;font-weight:400;color:#6b6f76;font-size:.82rem}
.amp-btn .amp-chev{grid-column:3;grid-row:1/3;width:18px;height:18px;color:#6b6f76;transition:transform .2s}
.amp-btn[aria-expanded=true] .amp-chev,.amp-det[open] .amp-chev{transform:rotate(180deg)}
.amp-btn:hover,.amp-btn:focus-visible{border-color:#ffde59;outline:none;box-shadow:0 0 0 3px rgba(255,222,89,.45)}
.amp-cta-big .amp-btn{border:2px solid #ffde59;background:#fffbea}
.amp-panel{margin:8px 0 12px;padding:12px 14px;background:#fff;border:1px solid #e6e6e6;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.amp-h{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.amp-h span{color:#6b6f76;font-size:.85rem}
.amp-g{border:0;margin:0;padding:8px 0 4px;border-top:1px solid #f0f0f0}.amp-g:first-of-type{border-top:0}
.amp-g legend{padding:0;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b6f76}
.amp-it{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;border-radius:8px;cursor:pointer}
.amp-it:hover{background:#fafafa}
.amp-it input{width:20px;height:20px;margin:0;accent-color:#1c1d21;flex:none}
.amp-n{flex:1;font-weight:600}.amp-km{font-size:.82rem;color:#6b6f76;background:#f4f4f5;border-radius:999px;padding:2px 8px}
.amp-a{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:10px}
.amp-ok{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#ffde59;color:#1c1d21;font:inherit;font-weight:700;cursor:pointer}
.amp-ok .ic,.amp-on .ic{width:18px;height:18px}
.amp-ok:hover{filter:brightness(.96)}
.amp-lnk{background:none;border:0;padding:4px 2px;font:inherit;font-weight:600;color:#3483fa;cursor:pointer;text-decoration:none}
.amp-lnk:hover{text-decoration:underline}
.amp-on{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px;padding:8px 12px;background:#fffbea;border:1px solid #f3e3a0;border-left:4px solid #ffde59;border-radius:8px;font-size:.9rem;color:#1c1d21}
.amp-on>span:first-of-type{flex:1 1 auto}.amp-on .ic{color:#b38f00;flex:none}
.amp-det{margin-top:8px}.amp-det .amp-panel{box-shadow:none}
.btn.amp-go{display:inline-flex;align-items:center;gap:6px;background:#ffde59;color:#1c1d21;font-weight:700}
.filters .amp-det>summary.amp-btn{display:grid;padding:10px 12px;justify-content:stretch;gap:0 10px}
.filters .amp-det>summary.amp-btn::after{content:none}
.filters .amp-det>summary.amp-btn small{grid-row:2}
@media(min-width:900px){.filters .amp-det>summary.amp-btn{display:grid}}
/* Volver (páginas secundarias; la PWA instalada no tiene botón atrás) */
.hdr-l{grid-area:logo;display:flex;align-items:center;gap:6px;min-width:0}.hdr-l .logo{grid-area:auto}
.hdr-back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:50%;background:#1c1d21;color:#ffde59;text-decoration:none!important;transition:transform .15s,background .15s}
.hdr-back .ic{width:22px;height:22px}.hdr-back:hover{background:#000}.hdr-back:active{transform:scale(.92)}.hdr-back:focus-visible{outline:3px solid #1c1d21;outline-offset:2px}

/* avatares siempre círculos fijos: nunca se estiran en filas flex */
.pf-seller img,.pf-ini{width:46px!important;height:46px!important;min-width:46px;max-width:46px;flex:0 0 46px!important;aspect-ratio:1/1;border-radius:50%!important;object-fit:cover}
.avatar,.ch-ini,.ch-bl,.ng-logo,.ng-ini{flex-shrink:0!important;aspect-ratio:1/1}
/* Apertura del asistente y "por qué" en las tarjetas */
.ai-intro{display:block;font-family:'Questrial',sans-serif;font-size:1rem;line-height:1.4;color:#1c1d21}
.ai-why{display:flex;align-items:flex-start;gap:6px;margin:4px 0 2px;font-family:'Questrial',sans-serif;font-size:.82rem;line-height:1.35;color:#5b5440;background:#fff8d6;border-radius:8px;padding:5px 8px;width:fit-content;max-width:100%}
.ai-why .ic{width:13px;height:13px;color:#c9a800;flex:none;margin-top:2px}
.ai-fade{animation:aiF .35s ease}@keyframes aiF{from{opacity:.25}to{opacity:1}}
/* Cerca tuyo (con ubicación): grupo arriba de cada lista */
.ch-list>[hidden],.rm-list>[hidden]{display:none!important}
.near-lbl{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:#111;margin:2px 2px 0;grid-column:1/-1}
.near-lbl .ic{width:15px;height:15px;color:#111;background:#ffde59;border-radius:999px;padding:3px;box-sizing:content-box}
.near-lbl small{font-weight:400;color:#666;font-size:.74rem}
.near-lbl.near-rest{color:#666;font-weight:600;margin-top:8px;padding-top:8px;border-top:1px dashed #e5e5e5}
.ch-cats-in{margin-top:10px}

/* Contraste AA (revisión 10/2026): textos chicos grises y botones verdes con texto blanco >= 4,5:1 */
/* Acciones de tarjeta uniformes (Calificar igual a las demás) */
.rm-a{gap:6px;align-items:center}
.rm-a .ch-go,.ch-bc-a .ch-go{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:34px;box-sizing:border-box;padding:0 11px;border:1px solid transparent;border-radius:999px;font:600 .8rem/1 'Questrial',sans-serif;white-space:nowrap;-webkit-appearance:none;appearance:none;margin:0}
.rm-a .ch-go .ic,.ch-bc-a .ch-go .ic{width:15px;height:15px;vertical-align:0}
button.ch-go.ce-open{background:#ffde59;color:#1c1d21;border-color:#ffde59;cursor:pointer}
button.ch-go.ce-open:hover{background:#ffd52e}
@media(max-width:560px){.rm-a .ch-go{flex:1 1 auto;padding:0 8px}}
.rm-a:has(>.ch-go:nth-child(4)){display:grid;grid-template-columns:1fr 1fr;width:100%}
.rm-a:has(>.ch-go:nth-child(4)) .ch-go{width:100%}
.rm-a .ce-badge{grid-column:1/-1;justify-self:start;width:auto}

.ch-guia p{margin:0 0 8px}.ch-guia ol{margin:0 0 10px;padding-left:20px}.ch-guia li{margin:0 0 6px}.ch-guia-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.ch-guia-btn{display:inline-block;background:#ffde59;color:#1c1d21;font-weight:700;padding:9px 16px;border-radius:999px;text-decoration:none}.ch-guia-l{color:#1c1d21;font-weight:600}
/* Calificaciones en tarjetas y "Mejor calificados" del rubro */
.by-cst{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;color:#3d4250;margin:2px 0}.by-cst .rs-st{font-size:.85rem}.by-cst small{color:#6b7280}
.by-top{background:#fffbea;border:1px solid #ffe88a;border-left:4px solid #ffde59;border-radius:14px;padding:10px 14px;margin:8px 0 10px;font-family:Questrial,system-ui,sans-serif}
.by-top-h{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.92rem;margin-bottom:4px}.by-top-h .ic{color:#c99a00}
.by-top ol{margin:0;padding-left:20px;display:grid;gap:4px}.by-top li{font-size:.9rem}.by-top a{color:#1c1d21;font-weight:600;text-decoration:none}.by-top a:hover{text-decoration:underline}
/* Horario y promo en tarjetas, filtro Abierto ahora, promos de hoy en el inicio */
.by-hor{display:flex;align-items:center;gap:4px;font-size:.8rem;margin:1px 0}.by-hor.on{color:#116632}.by-hor.off{color:#9a3412}.by-hor .ic{width:14px;height:14px}
.by-promo{display:inline-flex;align-items:center;gap:5px;background:#ffde59;color:#1c1d21;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;margin:3px 0;max-width:100%}.by-promo .ic{width:14px;height:14px}
.ch-chip.on[data-abierto]{background:#1c1d21;color:#ffde59;border-color:#1c1d21}
.by-abn{font-size:.85rem;color:#6b7280;background:#f6f7f9;border-radius:10px;padding:8px 12px;margin:6px 0}
.by-ph{margin:14px 0;text-align:left}.by-ph h2{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin:0 0 8px}.by-ph h2 .ic{color:#c99a00}
.by-ph-l{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding-bottom:4px}
.by-ph-c{background:#fff;border:1px solid #eceef2;border-top:5px solid #ffde59;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;font-family:Questrial,system-ui,sans-serif}
.by-ph-n{font-size:.8rem;color:#6b7280;text-decoration:none}.by-ph-c b{font-size:.95rem}.by-ph-p{font-weight:700;color:#116632}.by-ph-c small{color:#5f6673}.by-ph-wa{align-self:flex-start;margin-top:4px}
/* Horarios en el panel */
.hr-grid{display:grid;gap:6px;margin:6px 0}.hr-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.hr-row b{width:90px}.hr-r{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.hr-r input{padding:6px 8px;border:1px solid #d9dbe0;border-radius:10px;font:inherit}
/* Ficha: horarios y promo del día */
.ng-hor{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:.9rem}.ng-hor li{display:flex;justify-content:space-between;gap:10px}.ng-hor li.hoy{font-weight:700}
.ng-promo{display:flex;gap:10px;align-items:flex-start;background:#fff8d6;border:1px solid #ffe88a;border-left:5px solid #ffde59;border-radius:14px;padding:10px 14px;margin:10px 0}.ng-promo .ic{color:#c99a00;flex:none;margin-top:2px}
/* Pedí presupuesto a varios */
.by-pre{margin:8px 0 12px;font-family:Questrial,system-ui,sans-serif}
.by-pre-open{display:flex;align-items:center;gap:8px;width:100%;justify-content:center;background:#ffde59;color:#1c1d21;border:0;border-radius:14px;padding:11px 14px;font:inherit;font-weight:700;cursor:pointer}
.by-pre-f{background:#fff;border:1px solid #eceef2;border-radius:14px;padding:12px 14px;margin-top:8px;display:grid;gap:10px}
.by-pre-l{display:grid;gap:4px;font-size:.88rem;font-weight:600}.by-pre-l textarea{font:inherit;font-weight:400;border:1px solid #d9dbe0;border-radius:10px;padding:8px 10px;resize:vertical}
.by-pre-who{border:0;margin:0;padding:0;display:grid;gap:5px}.by-pre-who legend{font-size:.88rem;font-weight:600;margin-bottom:4px}.by-pre-who label{display:flex;gap:8px;align-items:center;font-size:.9rem}.by-pre-who small{color:#6b7280}
.by-pre-out{display:flex;flex-wrap:wrap;gap:8px}.by-pre-msg{width:100%;margin:0;font-size:.85rem;color:#5f6673}.by-pre .by-pre-wa.ok{background:#e7f6ec!important;color:#116632!important;border-color:#b7e2c4!important;text-decoration:none}.by-pre-wa.nx{box-shadow:0 0 0 3px #ffde59;position:relative}.by-pre-nx{background:#ffde59;color:#1c1d21;font-size:.7rem;font-weight:700;border-radius:999px;padding:2px 7px;margin-right:2px}.by-pre-bar{width:100%;height:6px;border-radius:9px;background:#eceef2;overflow:hidden}.by-pre-bar i{display:block;height:100%;background:#25a35a;transition:width .3s}.by-pre-out{flex-direction:column;align-items:stretch}.by-pre-wa{justify-content:center}
/* "Ver ficha" en tarjetas y popups del mapa */
.ch-fic{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ch-fic .ic{width:15px;height:15px}
.by-pop-fic{font-weight:600}
/* Entrada suave del inicio (sin movimiento si el sistema pide reducirlo) */
@keyframes byIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){body:not(.ch-conv) .ch-hero>*{animation:byIn .55s cubic-bezier(.2,.7,.2,1) both}body:not(.ch-conv) .ch-hero>*:nth-child(2){animation-delay:.08s}body:not(.ch-conv) .ch-hero>*:nth-child(3){animation-delay:.16s}body:not(.ch-conv) .ch-hero>*:nth-child(n+4){animation-delay:.24s}}
.ch-cancel{color:#6b6f76;font-size:.92em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ch-cancel .ic{width:15px;height:15px}.ch-retry{font:inherit;font-size:.92em;border:1px solid #e3e0d6;background:#ffde59;color:#1c1d21;border-radius:999px;padding:3px 10px;cursor:pointer}

.by-pre-h{font-weight:400;color:#6b7280;font-size:.8rem;line-height:1.3}.of-card .by-cst{margin:2px 0}

/* Farmacia de turno sin conexión */
.ch-turno-s{font-size:.8rem!important;color:#6b7280!important;display:flex;align-items:center;gap:6px;margin-top:8px!important}
.ch-turno-s .ic{width:14px;height:14px}
.gu-turno{display:inline-flex;width:fit-content;align-self:flex-start;align-items:center;gap:6px;background:#15803d;color:#fff;border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:700;margin-bottom:4px}
.gu-card:has(.gu-turno){border-color:#16a34a;box-shadow:0 0 0 2px rgba(22,163,74,.18)}
.gu-turno .live-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
