:root{
  --phc-bg:#ffffff;--phc-bg-soft:#f7faff;--phc-text:#0b1220;--phc-soft:#475569;--phc-muted:#64748b;--phc-line:rgba(15,23,42,.09);
  --phc-blue:#1769ff;--phc-blue2:#00a7ff;--phc-fuchsia:#f72585;--phc-purple:#7c3aed;--phc-lime:#8ac900;--phc-lime2:#a7e600;
  --phc-brand:linear-gradient(135deg,#1769ff 0%,#00a7ff 35%,#f72585 72%,#7c3aed 100%);
  --phc-lime-grad:linear-gradient(135deg,var(--phc-lime),var(--phc-lime2));
  --phc-shadow:0 22px 60px rgba(15,23,42,.08);--phc-card-shadow:0 14px 34px rgba(15,23,42,.07);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 6% 2%,rgba(247,37,133,.10),transparent 28%),radial-gradient(circle at 83% 0%,rgba(23,105,255,.12),transparent 34%),linear-gradient(180deg,#fff 0%,#f9fbff 54%,#fff 100%);color:var(--phc-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.page-glow{display:none}.section{width:min(1260px,calc(100% - 32px));margin:42px auto}.topbar{position:sticky;top:0;z-index:900;padding:12px 0;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.07)}.topbar-inner{width:min(1260px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0f172a}.brand-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;background:var(--phc-brand);box-shadow:0 14px 30px rgba(23,105,255,.18),0 8px 22px rgba(247,37,133,.16)}.brand-icon span{filter:drop-shadow(0 6px 8px rgba(15,23,42,.22))}.brand-text strong{display:block;font-weight:950;letter-spacing:-.045em;font-size:1.18rem}.brand-text small{display:block;color:var(--phc-muted);font-weight:850;margin-top:2px}.nav-search{flex:1;max-width:580px;min-height:48px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:18px;background:#f8fafc;border:1px solid rgba(15,23,42,.07)}.nav-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#0f172a;font-weight:780}.filter-icon,.theme-dot{border:0;background:#fff;border-radius:999px;min-width:36px;min-height:36px;box-shadow:0 8px 18px rgba(15,23,42,.05);cursor:pointer}.top-actions{display:flex;align-items:center;gap:8px}.ghost-btn,.primary-btn,.whatsapp-btn,.details-btn,.phc-modern-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;font-weight:950;text-decoration:none;white-space:nowrap}.ghost-btn{background:#fff;color:#334155;border:1px solid var(--phc-line);box-shadow:0 10px 24px rgba(15,23,42,.05)}.ghost-btn:hover,.ghost-btn.active{background:rgba(138,201,0,.13);color:#163204}.primary-btn,.whatsapp-btn,.phc-modern-btn.primary{border:0;color:#143000;background:var(--phc-lime-grad);box-shadow:0 14px 30px rgba(138,201,0,.24)}.details-btn,.phc-modern-btn.secondary{background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.09)}.gl-hero{position:relative;isolation:isolate;width:min(1260px,calc(100% - 32px));margin:0 auto;padding:44px 0 20px}.gl-hero:before{content:"";position:absolute;inset:0 auto auto 45%;width:min(720px,62vw);height:420px;border-radius:999px;background:radial-gradient(circle at 50% 44%,rgba(247,37,133,.14),transparent 40%),radial-gradient(circle at 62% 48%,rgba(23,105,255,.13),transparent 48%),linear-gradient(135deg,rgba(23,105,255,.05),rgba(247,37,133,.04));filter:blur(2px);z-index:-1}.gl-hero-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);gap:clamp(28px,5vw,62px);align-items:center}.eyebrow,.gl-eyebrow{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:9px 13px;border-radius:999px;background:rgba(23,105,255,.07);border:1px solid rgba(23,105,255,.12);color:#1451c5;font-weight:950;font-size:.86rem}.gl-hero h1{margin:18px 0 0;max-width:700px;font-size:clamp(2.55rem,6vw,5.4rem);line-height:.94;letter-spacing:-.075em;color:#08111f}.gl-gradient{color:transparent;background:var(--phc-brand);-webkit-background-clip:text;background-clip:text}.gl-lead{max-width:620px;margin-top:18px;color:var(--phc-soft);font-size:clamp(1rem,1.8vw,1.16rem);line-height:1.65}.gl-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}.gl-search-panel{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;margin-top:26px;max-width:760px;padding:10px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-shadow);backdrop-filter:blur(16px)}.gl-search-field,.gl-location-field{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border-radius:17px;background:#f8fafc;border:1px solid rgba(15,23,42,.06);color:#334155;font-weight:760}.gl-search-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#0f172a;font-weight:780}.gl-location-field{border:0;cursor:pointer}.popular-tags,.gl-popular-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;color:#475569;font-weight:850;font-size:.9rem}.tag-mini,.gl-tag-mini{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid var(--phc-line);color:#334155;font-weight:850;box-shadow:0 8px 18px rgba(15,23,42,.04)}.quick-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;padding:10px;width:max-content;max-width:100%;border-radius:24px;background:rgba(255,255,255,.76);border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 28px rgba(15,23,42,.055);backdrop-filter:blur(14px)}.filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border-radius:999px;background:#fff;color:#334155;border:1px solid rgba(15,23,42,.08);font-size:.82rem;font-weight:950;box-shadow:0 7px 16px rgba(15,23,42,.04);transition:.2s ease;cursor:pointer}.filter-chip:hover,.filter-chip.active{color:#143000;background:var(--phc-lime-grad);border-color:transparent;transform:translateY(-1px)}.location-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;padding:12px;width:max-content;max-width:100%;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 28px rgba(15,23,42,.06)}.location-summary strong{color:#0f172a}.location-summary span{color:var(--phc-muted);font-weight:850;font-size:.86rem}.gl-visual{position:relative;min-height:470px;display:grid;place-items:center}.gl-map-card{position:relative;width:min(640px,100%);min-height:430px;border-radius:42px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.48)),radial-gradient(circle at 52% 45%,rgba(247,37,133,.17),transparent 24%),radial-gradient(circle at 62% 42%,rgba(23,105,255,.13),transparent 34%);border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-shadow);backdrop-filter:blur(14px)}.gl-map-grid{position:absolute;inset:0;opacity:.55;background-image:linear-gradient(rgba(23,105,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(247,37,133,.08) 1px,transparent 1px);background-size:42px 42px;transform:perspective(720px) rotateX(58deg) scale(1.32) translateY(52px);transform-origin:center}.gl-big-pin{position:absolute;left:50%;top:46%;width:122px;height:122px;transform:translate(-50%,-62%) rotate(45deg);border-radius:68px 68px 68px 14px;background:linear-gradient(135deg,var(--phc-fuchsia),var(--phc-purple) 58%,var(--phc-blue));box-shadow:0 28px 58px rgba(124,58,237,.22),0 18px 46px rgba(247,37,133,.24)}.gl-big-pin:before{content:"";position:absolute;width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.92);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 8px rgba(23,105,255,.08)}.gl-pin-ring{position:absolute;left:50%;top:60%;width:230px;height:78px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(23,105,255,.20)}.gl-pin-ring:after{content:"";position:absolute;inset:16px 38px;border-radius:50%;border:2px solid rgba(247,37,133,.16)}.gl-float-icon{position:absolute;display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 38px rgba(15,23,42,.08);backdrop-filter:blur(12px);font-size:2rem}.gl-float-icon.tech{right:80px;top:78px;color:var(--phc-blue)}.gl-float-icon.food{left:92px;top:92px;color:var(--phc-fuchsia)}.gl-float-icon.car{left:70px;bottom:112px;color:var(--phc-blue2)}.gl-float-icon.home{right:96px;bottom:104px;color:var(--phc-lime)}.gl-trust-panel{position:absolute;right:-12px;top:78px;width:min(260px,42vw);display:grid;gap:10px;padding:16px;border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);box-shadow:0 22px 54px rgba(15,23,42,.10);backdrop-filter:blur(18px)}.gl-trust-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:8px;border-radius:18px;background:rgba(248,250,252,.72)}.gl-trust-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--phc-brand)}.gl-trust-item strong{display:block;font-size:.88rem}.gl-trust-item span{display:block;margin-top:2px;color:var(--phc-muted);font-size:.76rem;line-height:1.25}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}.section-head h2,.section-title{font-size:clamp(1.35rem,2.6vw,2.05rem);line-height:1.1;letter-spacing:-.05em;font-weight:950;color:#0f172a;margin:0}.section-head p,.section-subtitle{color:var(--phc-muted);line-height:1.45;margin-top:5px;max-width:620px}.see-all{display:inline-flex;align-items:center;gap:7px;color:#1759d7;font-weight:950;white-space:nowrap;text-decoration:none}.gl-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,340px);gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:4px 2px 22px;scrollbar-width:thin}.gl-rail::-webkit-scrollbar{height:8px}.gl-rail::-webkit-scrollbar-thumb{background:rgba(15,23,42,.12);border-radius:999px}.business-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.business-card{--c1:#1769ff;--c2:#f72585;position:relative;isolation:isolate;min-height:292px;height:100%;scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:16px;border-radius:28px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-card-shadow);overflow:hidden;transition:.24s ease}.business-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(15,23,42,.12)}.business-card:before{content:"";position:absolute;inset:0 0 auto;height:82px;background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 22%,transparent),color-mix(in srgb,var(--c2) 18%,transparent)),linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,0));z-index:-1}.business-card:after{content:"";position:absolute;right:-52px;top:-52px;width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2));opacity:.13;z-index:-1}.business-cover{position:absolute;top:14px;right:14px;z-index:3;display:flex;align-items:center;gap:8px;max-width:calc(100% - 28px);height:auto;background:transparent!important;padding:0!important}.business-cover>span:first-child,.business-cover .card-distance{display:inline-flex;align-items:center;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.06);backdrop-filter:blur(10px);color:#475569;font-size:.72rem;font-weight:900;white-space:nowrap}.business-main{display:flex;align-items:flex-start;gap:12px;min-width:0;padding-top:24px}.business-logo,.business-cover-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;border-radius:20px;font-size:1.7rem;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 16px 28px color-mix(in srgb,var(--c1) 22%,transparent)}.business-info{min-width:0;flex:1 1 auto}.business-card h3{color:#0f172a;font-size:clamp(1.02rem,1.9vw,1.16rem);letter-spacing:-.035em;line-height:1.08;margin:0 0 5px;max-width:100%;min-height:2.16em;max-height:2.16em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;word-break:normal;hyphens:auto}.business-card p{color:var(--phc-muted);font-size:.84rem;line-height:1.38;margin:0}.business-meta-line{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-height:1.38em}.business-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.76em}.verified-pill{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;margin-top:7px;padding:5px 8px;border-radius:999px;background:rgba(23,105,255,.07);color:#1451c5;border:1px solid rgba(23,105,255,.10);font-size:.7rem;font-weight:950}.rating-row,.business-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;min-height:64px;align-content:flex-start;color:#334155;font-weight:850;font-size:.82rem}.rating-score{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;white-space:nowrap}.tag,.badge-featured,.open-badge,.plan-note,.promo-badge,.vip-badge,.activity-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:.72rem;font-weight:900;white-space:nowrap}.tag{background:#f5f7fb;color:#475569;border:1px solid rgba(15,23,42,.06)}.badge-featured{background:rgba(138,201,0,.14);color:#477200;border:1px solid rgba(138,201,0,.22)}.open-badge,.activity-pill{background:#f8fafc;color:#64748b;border:1px solid rgba(15,23,42,.07)}.open-badge.is-open,.activity-pill.activo,.activity-pill.delivery{color:#376500;background:rgba(138,201,0,.14);border-color:rgba(138,201,0,.24)}.open-badge.is-closed,.activity-pill.cerrado,.activity-pill.inactivo,.activity-pill.ocupado{color:#9f1239;background:rgba(244,63,94,.09);border-color:rgba(244,63,94,.16)}.promo-badge{color:#9a3412;background:linear-gradient(135deg,rgba(255,138,0,.14),rgba(247,37,133,.12));border:1px solid rgba(247,37,133,.18);box-shadow:0 8px 18px rgba(247,37,133,.08)}.vip-badge{color:#fff;background:linear-gradient(135deg,#111827,#7c3aed 48%,#f72585);border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 24px rgba(124,58,237,.18)}.plan-note{background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.07);color:#64748b}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.readonly-contact{min-height:40px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 10px;border-radius:14px;color:#334155;background:#f8fafc;border:1px dashed rgba(15,23,42,.16);font-size:.78rem;font-weight:950;line-height:1.25;user-select:all}.category-grid,.gl-category-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.cat-card,.gl-category-card{position:relative;min-height:122px;display:grid;align-content:center;justify-items:center;gap:7px;text-align:center;padding:18px 14px;border-radius:24px;color:#0f172a;background:linear-gradient(135deg,color-mix(in srgb,var(--c1,#1769ff) 12%,#fff),color-mix(in srgb,var(--c2,#f72585) 10%,#fff));border:1px solid color-mix(in srgb,var(--c1,#1769ff) 16%,rgba(15,23,42,.06));box-shadow:0 16px 32px rgba(15,23,42,.045);overflow:hidden;text-decoration:none;transition:.22s ease}.cat-card:hover,.gl-category-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(15,23,42,.08)}.cat-card i,.gl-category-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:17px;color:#fff;background:linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));font-size:1.55rem;box-shadow:0 12px 24px color-mix(in srgb,var(--c1,#1769ff) 18%,transparent);font-style:normal}.cat-card strong{font-size:.97rem;letter-spacing:-.02em}.cat-card small{color:var(--phc-muted);font-size:.78rem;font-weight:800}.quick-strip{width:min(1260px,calc(100% - 32px));margin:34px auto;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:12px}.callout-main,.callout-small{border-radius:26px;background:rgba(255,255,255,.86);border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-card-shadow);padding:18px}.callout-main{display:flex;align-items:center;gap:12px}.callout-main .pin{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:var(--phc-brand);color:#fff}.callout-main strong{font-size:1.1rem;letter-spacing:-.03em}.callout-main span{color:var(--phc-fuchsia)}.callout-small{display:flex;align-items:center;gap:10px;font-weight:950;color:#334155}.callout-small i{font-style:normal;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(138,201,0,.15);color:#365c00}.promo-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.big-promo,.side-card{border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-card-shadow);padding:24px}.big-promo{position:relative;overflow:hidden;color:#fff;background:var(--phc-brand)}.big-promo:after{content:"";position:absolute;right:-40px;top:-60px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.18)}.big-promo small{font-weight:950;text-transform:uppercase;letter-spacing:.08em}.big-promo strong{display:block;max-width:620px;margin:12px 0 20px;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1;letter-spacing:-.06em}.promo-side{display:grid;gap:12px}.side-card strong{display:block;font-size:1.05rem;letter-spacing:-.03em}.side-card p{color:var(--phc-muted);line-height:1.45}.form-page{max-width:1080px}.phc-form{display:grid;gap:18px}.form-block-title,.form-section{border-radius:28px;padding:20px;background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 34px rgba(15,23,42,.06)}.form-block-title strong{display:block;color:#0f172a;font-size:1.15rem;letter-spacing:-.035em}.form-block-title span{display:block;color:var(--phc-muted);margin-top:4px;line-height:1.45}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:grid;gap:7px;color:#334155;font-size:.82rem;font-weight:950}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);color:#0f172a;outline:none;font-weight:780}.form-grid textarea{min-height:110px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:rgba(23,105,255,.38);box-shadow:0 0 0 4px rgba(23,105,255,.09);background:#fff}.plan-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.plan-option{position:relative;display:grid;gap:8px;padding:16px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 26px rgba(15,23,42,.045);cursor:pointer}.plan-option input{position:absolute;opacity:0;pointer-events:none}.plan-option:has(input:checked){border-color:rgba(138,201,0,.38);background:linear-gradient(135deg,rgba(138,201,0,.12),rgba(255,255,255,.96));box-shadow:0 16px 34px rgba(138,201,0,.12)}.plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.plan-top strong{font-size:1rem;letter-spacing:-.03em}.plan-top em{font-style:normal;font-size:.75rem;padding:6px 8px;border-radius:999px;color:#143000;background:rgba(138,201,0,.16);font-weight:950}.plan-option small{color:var(--phc-muted);line-height:1.35}.plan-benefits-public{display:grid;gap:6px;margin-top:8px;color:#475569;font-size:.8rem;font-weight:850}.plan-benefits-public span{display:flex;gap:6px}.plan-benefits-public span:before{content:"✓";color:#477200;font-weight:950}.legal-note{padding:16px 18px;border-radius:22px;background:rgba(23,105,255,.06);border:1px solid rgba(23,105,255,.10);color:#31527a;line-height:1.5}.mobile-cta{position:sticky;bottom:12px;z-index:800;width:min(520px,calc(100% - 24px));margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 44px rgba(15,23,42,.12);backdrop-filter:blur(18px)}.mobile-cta span{font-weight:900;color:#334155}.mobile-cta a{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:var(--phc-lime-grad);color:#143000;font-weight:950;text-decoration:none}.footer-phc{width:min(1260px,calc(100% - 32px));margin:42px auto 22px;padding:24px;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-card-shadow);display:flex;justify-content:space-between;gap:18px}.footer-phc strong{display:block}.footer-phc span{display:block;color:var(--phc-muted);margin-top:4px}.footer-links{display:flex;gap:10px;align-items:center}.footer-links a{font-weight:900;color:#1759d7;text-decoration:none}.empty-state{border-radius:28px;padding:28px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:var(--phc-card-shadow)}.flash{width:min(1260px,calc(100% - 32px));margin:18px auto;padding:14px 16px;border-radius:18px;font-weight:900}.flash-ok{background:rgba(138,201,0,.15);color:#365c00;border:1px solid rgba(138,201,0,.24)}.flash-error{background:rgba(244,63,94,.10);color:#9f1239;border:1px solid rgba(244,63,94,.18)}@supports not (color:color-mix(in srgb,white,black)){.business-card:before,.cat-card{background:#fff}.business-logo,.business-cover-icon,.cat-card i{box-shadow:none}}@media(max-width:1080px){.gl-hero-layout{grid-template-columns:1fr}.gl-visual{min-height:380px}.gl-trust-panel{right:14px}.quick-strip,.promo-grid{grid-template-columns:1fr}.plan-picker{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.topbar-inner{align-items:flex-start;flex-direction:column}.nav-search{order:3;width:100%;max-width:none}.top-actions{width:100%;overflow-x:auto}.gl-search-panel{grid-template-columns:1fr}.gl-location-field,.gl-search-panel .primary-btn{width:100%}.gl-hero h1{font-size:clamp(2.45rem,12vw,4.2rem)}.gl-map-card{min-height:330px}.gl-trust-panel{position:relative;right:auto;top:auto;width:100%;margin-top:14px}.gl-visual{min-height:auto}.business-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.plan-picker{grid-template-columns:1fr}.footer-phc{display:grid}.gl-rail{grid-auto-columns:minmax(310px,86%)}}@media(max-width:520px){.section,.gl-hero,.topbar-inner,.quick-strip,.footer-phc{width:min(100% - 24px,1260px)}.brand-text small{display:none}.gl-map-card{min-height:290px;border-radius:30px}.gl-big-pin{width:94px;height:94px}.gl-float-icon{width:56px;height:56px;font-size:1.55rem;border-radius:18px}.gl-float-icon.tech{right:36px;top:52px}.gl-float-icon.food{left:38px;top:58px}.gl-float-icon.car{left:34px;bottom:82px}.gl-float-icon.home{right:44px;bottom:78px}.business-card{min-height:306px;padding:15px}.business-main{gap:10px}.business-logo,.business-cover-icon{width:52px;height:52px;flex-basis:52px;border-radius:18px;font-size:1.5rem}.business-card h3{font-size:1.02rem;min-height:2.2em;max-height:2.2em}.rating-row,.business-meta{min-height:72px}.card-actions{grid-template-columns:1fr}.quick-filter-bar{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.quick-filter-bar::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto}.category-grid{grid-template-columns:1fr}.mobile-cta{border-radius:24px;align-items:flex-start;display:grid}}

/* Ficha pública: fusión visual clara sin cambiar datos dinámicos */
.phc-profile{background:radial-gradient(circle at 6% 2%,rgba(247,37,133,.10),transparent 28%),radial-gradient(circle at 83% 0%,rgba(23,105,255,.12),transparent 34%),linear-gradient(180deg,#fff 0%,#f9fbff 54%,#fff 100%)!important;color:#0b1220!important}.phc-profile-shell{width:min(1180px,calc(100% - 32px))!important;margin:0 auto!important;padding:34px 0!important}.phc-business-hero,.phc-card,.phc-trust-strip article{background:rgba(255,255,255,.9)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:var(--phc-card-shadow)!important;color:#0b1220!important}.phc-business-hero{border-radius:36px!important;overflow:hidden!important;position:relative!important}.phc-business-hero:before{content:"";position:absolute;inset:0 0 auto;height:120px;background:var(--phc-brand);opacity:.14}.phc-business-logo-card,.phc-business-main,.phc-business-contact{position:relative;z-index:2}.phc-business-logo-circle{background:linear-gradient(135deg,#1769ff,#f72585)!important;color:#fff!important;box-shadow:0 22px 54px rgba(23,105,255,.18)!important}.phc-business-main h1{color:#08111f!important;letter-spacing:-.06em!important}.phc-category-line,.phc-location-mini,.phc-business-description,.phc-contact-item small,.phc-contact-item strong,.phc-note,.phc-week-line,.phc-map-footer strong,.phc-card p,.phc-trust-strip span{color:#475569!important}.phc-tag-list span{background:#f5f7fb!important;color:#475569!important;border:1px solid rgba(15,23,42,.06)!important}.phc-open-pill.activo,.phc-open-pill.delivery{color:#376500!important;background:rgba(138,201,0,.14)!important;border-color:rgba(138,201,0,.24)!important}.phc-open-pill.cerrado,.phc-open-pill.inactivo,.phc-open-pill.ocupado{color:#9f1239!important;background:rgba(244,63,94,.09)!important;border-color:rgba(244,63,94,.16)!important}.phc-business-contact{background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:28px!important;box-shadow:0 16px 34px rgba(15,23,42,.06)!important}.phc-big-btn.whatsapp{background:var(--phc-lime-grad)!important;color:#143000!important}.phc-big-btn.call,.phc-big-btn.ghost{background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.09)!important}.phc-readonly-contact{display:grid;gap:5px;padding:14px;border-radius:18px;background:#f8fafc;border:1px dashed rgba(15,23,42,.16);user-select:all}.phc-readonly-contact small{color:#64748b;font-weight:900}.phc-readonly-contact strong{color:#0f172a;font-size:1rem}.phc-section-title h2,.phc-card h2{color:#0f172a!important;letter-spacing:-.04em}.phc-title-icon{background:linear-gradient(135deg,#1769ff,#f72585)!important;color:#fff!important}.phc-today-banner{background:linear-gradient(135deg,rgba(138,201,0,.14),rgba(255,255,255,.92))!important;border:1px solid rgba(138,201,0,.22)!important;color:#143000!important}.phc-week-line{background:#fff!important;border-color:rgba(15,23,42,.07)!important}.phc-week-line.is-today{box-shadow:0 0 0 3px rgba(23,105,255,.08)!important}.phc-promo-slide{background:linear-gradient(135deg,#1769ff,#7c3aed 52%,#f72585)!important;color:#fff!important}.phc-promo-slide p,.phc-promo-slide span{color:rgba(255,255,255,.85)!important}.phc-map-preview{background:linear-gradient(135deg,#eef6ff,#fff0f8)!important}.phc-one-page-web{display:grid;gap:18px}.phc-onepage-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:center;padding:24px;border-radius:30px;color:#fff;background:radial-gradient(circle at 84% 16%,rgba(255,255,255,.25),transparent 24%),linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));box-shadow:0 20px 48px rgba(23,105,255,.14)}.phc-onepage-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-weight:950}.phc-onepage-hero h3{font-size:clamp(2rem,5vw,4rem);line-height:.92;letter-spacing:-.075em;margin:14px 0 10px}.phc-onepage-hero p{color:rgba(255,255,255,.86)!important;font-size:1rem;line-height:1.55;max-width:640px}.phc-onepage-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.phc-onepage-showcase{min-height:230px;display:grid;place-items:center;text-align:center;padding:18px;border-radius:28px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px)}.phc-onepage-showcase span{font-size:4rem}.phc-onepage-showcase strong{display:block;font-size:1.3rem;letter-spacing:-.04em}.phc-onepage-showcase small{color:rgba(255,255,255,.8);font-weight:900}.phc-onepage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.phc-onepage-grid article{padding:16px;border-radius:20px;background:#f8fafc;border:1px solid rgba(15,23,42,.07)}.phc-onepage-grid strong{display:block;color:#0f172a;margin-bottom:7px}.phc-onepage-grid p{color:#475569!important}@media(max-width:820px){.phc-profile-shell{width:min(100% - 24px,1180px)!important}.phc-business-hero,.phc-profile-grid{grid-template-columns:1fr!important}.phc-onepage-hero,.phc-onepage-grid{grid-template-columns:1fr}.phc-onepage-showcase{min-height:170px}.phc-business-contact{order:-1}}

/* ===== Ajustes finos: adaptación mejorada desde el HTML premium ===== */
.gl-rail-wrap{
  position:relative;
  isolation:isolate;
}
.gl-rail-wrap.has-rail-controls{
  padding-inline:2px;
}
.rail-arrow{
  position:absolute;
  top:50%;
  z-index:20;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#334155;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  backdrop-filter:blur(12px);
  font-size:1.25rem;
  font-weight:950;
  cursor:pointer;
  transform:translateY(-50%);
  transition:.2s ease;
}
.rail-arrow:hover{
  color:#143000;
  background:var(--phc-lime-grad);
  transform:translateY(-50%) scale(1.04);
}
.rail-arrow:disabled{
  opacity:.24;
  pointer-events:none;
}
.rail-prev{left:-10px}.rail-next{right:-10px}
.gl-rail-wrap:before,
.gl-rail-wrap:after{
  content:"";
  position:absolute;
  top:0;
  bottom:16px;
  z-index:10;
  width:42px;
  pointer-events:none;
}
.gl-rail-wrap:before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.gl-rail-wrap:after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.results-filter-bar{margin:14px 0 20px}
.business-card{
  grid-template-rows:auto 1fr auto!important;
  min-height:306px!important;
}
.business-card.is-vip{
  border-color:rgba(247,37,133,.18)!important;
  box-shadow:0 18px 44px rgba(247,37,133,.09), var(--phc-card-shadow)!important;
}
.business-card.is-vip:after{
  opacity:.18!important;
}
.business-info h3,
.business-card h3{
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.rating-row{
  min-height:72px!important;
}
.card-actions .whatsapp-btn,
.card-actions .details-btn,
.card-actions .readonly-contact{
  min-width:0;
}
.card-actions .details-btn,
.card-actions .whatsapp-btn{
  padding-inline:10px;
}
.category-grid{
  align-items:stretch;
}
.cat-card{
  min-height:132px;
}
.form-page .section-head{
  align-items:flex-start;
  border-radius:34px;
  padding:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--phc-card-shadow);
}
.plan-option{
  min-height:210px;
}
.plan-option.free-plan{--plan-c1:#64748b;--plan-c2:#94a3b8}
.plan-option.paid-plan{--plan-c1:#1769ff;--plan-c2:#f72585}
.plan-option:before{
  content:"";
  position:absolute;
  right:-42px;
  top:-48px;
  width:126px;
  height:126px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--plan-c1,#1769ff),var(--plan-c2,#f72585));
  opacity:.10;
  pointer-events:none;
}
.plan-option:has(input:checked):before{opacity:.18}
.phc-onepage-body{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) 340px;
  gap:18px;
  align-items:start;
}
.phc-onepage-main,
.phc-onepage-side{
  display:grid;
  gap:16px;
}
.phc-onepage-panel{
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 30px rgba(15,23,42,.055);
}
.phc-onepage-panel>strong,
.phc-onepage-cta-box>strong{
  display:block;
  color:#0f172a;
  font-size:1.12rem;
  letter-spacing:-.04em;
  margin-bottom:8px;
}
.phc-onepage-services{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.phc-onepage-services span{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:10px 12px;
  border-radius:16px;
  color:#0f172a;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
  font-weight:900;
}
.phc-onepage-services span:before{
  content:"✓";
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:999px;
  color:#143000;
  background:var(--phc-lime-grad);
  font-size:.75rem;
}
.phc-onepage-gallery{
  position:relative;
  overflow:hidden;
  margin-top:12px;
  border-radius:26px;
  background:#0f172a;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 42px rgba(15,23,42,.10);
}
.phc-onepage-gallery-track{
  display:flex;
  width:100%;
  transition:transform .42s ease;
  will-change:transform;
}
.phc-onepage-photo{
  position:relative;
  min-width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#fff;
  background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.18),transparent 26%),linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
}
.phc-onepage-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(15,23,42,.78),rgba(15,23,42,.18) 48%,transparent 72%);
}
.phc-onepage-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.phc-onepage-photo-icon{
  position:relative;
  z-index:0;
  font-size:clamp(3rem,8vw,5rem);
  font-weight:950;
  text-shadow:0 18px 38px rgba(15,23,42,.22);
}
.phc-onepage-photo-caption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:2;
  padding:13px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
}
.phc-onepage-photo-caption strong{
  display:block;
  color:#fff;
  font-size:.96rem;
  margin-bottom:4px;
  letter-spacing:-.02em;
}
.phc-onepage-photo-caption span{
  display:block;
  color:rgba(255,255,255,.84);
  font-size:.84rem;
  line-height:1.4;
}
.phc-onepage-gallery-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:1.2rem;
  font-weight:950;
  backdrop-filter:blur(12px);
  cursor:pointer;
}
.phc-onepage-gallery-arrow:hover{background:var(--phc-lime-grad);color:#143000}
.phc-onepage-gallery-arrow.prev{left:12px}.phc-onepage-gallery-arrow.next{right:12px}
.phc-onepage-thumbs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.phc-onepage-thumbs button{
  min-height:50px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#fff;
  color:#475569;
  font-weight:900;
  cursor:pointer;
}
.phc-onepage-thumbs button span{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
  color:#fff;
  font-size:.78rem;
}
.phc-onepage-thumbs button.active{
  border-color:rgba(138,201,0,.35);
  box-shadow:0 12px 26px rgba(138,201,0,.12);
  color:#143000;
}
.phc-onepage-cta-box{
  position:sticky;
  top:90px;
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:26px;
  color:#fff;
  background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.22),transparent 30%),linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
  box-shadow:0 20px 48px rgba(23,105,255,.14);
}
.phc-onepage-cta-box>strong{color:#fff;margin:0}
.phc-onepage-cta-box p{color:rgba(255,255,255,.82)!important;margin:0}
@media(max-width:820px){
  .rail-arrow{display:none}
  .gl-rail-wrap:before,.gl-rail-wrap:after{display:none}
  .phc-onepage-body{grid-template-columns:1fr}
  .phc-onepage-side{order:-1}
  .phc-onepage-cta-box{position:relative;top:auto}
  .phc-onepage-services{grid-template-columns:1fr}
  .phc-onepage-photo{aspect-ratio:4/3}
  .phc-onepage-thumbs{display:flex;overflow-x:auto;scrollbar-width:none}
  .phc-onepage-thumbs::-webkit-scrollbar{display:none}
  .phc-onepage-thumbs button{flex:0 0 72%}
}
@media(max-width:520px){
  .business-card{min-height:316px!important}
  .business-cover{top:12px!important;right:12px!important}
  .business-main{padding-top:28px!important}
  .rating-row{min-height:78px!important}
  .phc-onepage-photo-caption{left:10px;right:10px;bottom:10px;padding:10px 12px;border-radius:16px}
  .phc-onepage-photo-caption strong{font-size:.84rem}
  .phc-onepage-photo-caption span{font-size:.75rem}
}

/* =========================================================
   Detalle negocio como página completa, inspirado en Ver detalles HTML5
   ========================================================= */
.gl-detail-page{
  --text-soft:#475569;
  --muted:#64748b;
  background:
    radial-gradient(circle at 6% 2%,rgba(247,37,133,.10),transparent 28%),
    radial-gradient(circle at 83% 0%,rgba(23,105,255,.12),transparent 34%),
    linear-gradient(180deg,#fff 0%,#f9fbff 54%,#fff 100%)!important;
}
.gl-detail-shell{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:32px 0 44px;
}
.gl-detail-card{
  overflow:hidden;
  border-radius:36px;
  background:
    radial-gradient(circle at top right,color-mix(in srgb,var(--c2,#f72585) 14%,transparent),transparent 34%),
    radial-gradient(circle at top left,color-mix(in srgb,var(--c1,#1769ff) 13%,transparent),transparent 34%),
    #fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 34px 90px rgba(15,23,42,.16);
}
.gl-detail-page .profile-cover{
  position:relative;
  overflow:hidden;
  min-height:265px;
  padding:24px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 24%,rgba(255,255,255,.24),transparent 28%),
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.16),transparent 26%),
    linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
}
.gl-detail-page .profile-cover:after{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-90px;
  width:270px;
  height:270px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}
.gl-detail-page .profile-top-actions{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.gl-detail-page .profile-back{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  color:#0f172a;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.28);
  font-weight:950;
  box-shadow:0 12px 24px rgba(15,23,42,.10);
}
.gl-detail-page .profile-back-soft{
  color:#fff;
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
  backdrop-filter:blur(12px);
}
.gl-detail-page .profile-hero-info{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:16px;
  align-items:end;
  margin-top:54px;
}
.gl-detail-page .profile-logo{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:28px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(12px);
  font-size:2.6rem;
  box-shadow:0 18px 34px rgba(15,23,42,.16);
}
.gl-detail-page .profile-hero-info h1{
  max-width:760px;
  color:#fff;
  font-size:clamp(2rem,4vw,3.55rem);
  line-height:.95;
  letter-spacing:-.07em;
  margin:0 0 8px;
}
.gl-detail-page .profile-hero-info p{
  max-width:680px;
  color:rgba(255,255,255,.86)!important;
  line-height:1.5;
}
.gl-detail-page .profile-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.gl-detail-page .profile-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-size:.78rem;
  font-weight:950;
  backdrop-filter:blur(10px);
}
.gl-detail-page .profile-badge.is-open{background:rgba(138,201,0,.22);border-color:rgba(255,255,255,.24)}
.gl-detail-page .profile-badge.is-closed{background:rgba(244,63,94,.20);border-color:rgba(255,255,255,.22)}
.gl-detail-page .profile-body{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) 340px;
  gap:20px;
  padding:22px;
}
.gl-detail-page .profile-main-column,
.gl-detail-page .profile-side-column{
  display:grid;
  gap:18px;
  align-content:start;
}
.gl-detail-page .profile-panel{
  border-radius:28px;
  padding:20px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}
.gl-detail-page .profile-panel h3{
  color:#0f172a;
  font-size:1.18rem;
  letter-spacing:-.035em;
  margin-bottom:12px;
}
.gl-detail-page .profile-panel p{
  color:var(--text-soft);
  line-height:1.6;
}
.gl-detail-page .profile-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.gl-detail-page .profile-info-grid.one-col{grid-template-columns:1fr}
.gl-detail-page .profile-info-item{
  padding:14px;
  border-radius:20px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
}
.gl-detail-page .profile-info-item strong{
  display:block;
  color:#0f172a;
  margin-bottom:4px;
  font-size:.9rem;
}
.gl-detail-page .profile-info-item span{
  color:#64748b;
  font-size:.86rem;
  line-height:1.35;
}
.gl-detail-page .profile-promo{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:15px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,138,0,.12),rgba(247,37,133,.10));
  border:1px dashed rgba(247,37,133,.24);
}
.gl-detail-page .profile-promo-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#ff8a00,#f72585);
  color:#fff;
  font-size:1.35rem;
}
.gl-detail-page .profile-promo strong{display:block;color:#be185d;margin-bottom:3px}
.gl-detail-page .profile-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.gl-detail-page .profile-actions{display:grid;gap:10px}
.gl-detail-page .profile-action-btn,
.gl-detail-page .miniweb-btn{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:16px;
  font-weight:950;
  color:#143000;
  background:var(--phc-lime-grad);
  box-shadow:0 14px 28px rgba(138,201,0,.20);
}
.gl-detail-page .profile-action-btn.secondary{
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.09);
  box-shadow:none;
}
.gl-detail-page .miniweb-btn{
  color:#fff;
  background:linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
  box-shadow:0 14px 28px color-mix(in srgb,var(--c1,#1769ff) 18%,transparent);
}
.gl-detail-page .profile-readonly-contact{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:18px;
  background:#f8fafc;
  border:1px dashed rgba(15,23,42,.16);
  color:#334155;
  font-weight:850;
  user-select:all;
}
.gl-detail-page .profile-readonly-contact strong{color:#0f172a;font-size:.86rem}
.gl-detail-page .profile-readonly-contact span{color:#475569;font-size:1rem;letter-spacing:.01em}
.gl-detail-page .profile-tier-panel{
  padding:14px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(138,201,0,.12),rgba(255,255,255,.92));
  border:1px solid rgba(138,201,0,.22);
  color:#365c00;
  font-size:.86rem;
  line-height:1.45;
  font-weight:850;
}
.gl-detail-page .profile-tier-panel strong{
  display:block;
  color:#143000;
  margin-bottom:4px;
  font-size:.95rem;
}
.gl-detail-page .profile-map{
  position:relative;
  min-height:180px;
  overflow:hidden;
  border-radius:24px;
  background:
    radial-gradient(circle at center,color-mix(in srgb,var(--c1,#1769ff) 18%,transparent),transparent 28%),
    linear-gradient(135deg,#eef6ff,#fff0f8);
  border:1px solid rgba(15,23,42,.08);
}
.gl-detail-page .profile-map iframe{
  width:100%;
  height:100%;
  min-height:180px;
  border:0;
  display:block;
}
.gl-detail-page .profile-map:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.62;
  pointer-events:none;
  background-image:linear-gradient(rgba(23,105,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(247,37,133,.10) 1px,transparent 1px);
  background-size:28px 28px;
}
.gl-detail-page .profile-map iframe + .profile-map:before{display:none}
.gl-detail-page .profile-map-pin{
  position:absolute;
  left:50%;
  top:48%;
  width:54px;
  height:54px;
  transform:translate(-50%,-50%) rotate(45deg);
  border-radius:30px 30px 30px 8px;
  background:linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
  box-shadow:0 16px 30px rgba(15,23,42,.16);
}
.gl-detail-page .profile-map-pin:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}
.gl-detail-page .profile-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.gl-detail-page .profile-gallery-item{
  position:relative;
  overflow:hidden;
  min-height:132px;
  border-radius:22px;
  display:grid;
  place-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 70% 18%,rgba(255,255,255,.22),transparent 26%),
    linear-gradient(135deg,var(--c1,#1769ff),var(--c2,#f72585));
  font-size:1.8rem;
  box-shadow:0 12px 24px color-mix(in srgb,var(--c1,#1769ff) 16%,transparent);
}
.gl-detail-page .profile-gallery-item:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(15,23,42,.70),rgba(15,23,42,.08) 54%,transparent);
  z-index:1;
}
.gl-detail-page .profile-gallery-item img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.gl-detail-page .profile-gallery-item>span{position:relative;z-index:2;font-size:2rem}
.gl-detail-page .profile-gallery-caption{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:2;
  padding:9px 10px;
  border-radius:15px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}
.gl-detail-page .profile-gallery-caption strong{display:block;color:#fff;font-size:.82rem;line-height:1.15}
.gl-detail-page .profile-gallery-caption small{display:block;margin-top:3px;color:rgba(255,255,255,.82);font-size:.72rem;line-height:1.25}
.gl-detail-page .gl-detail-today{margin:0 0 12px}
.gl-detail-page .gl-detail-week{display:grid;gap:8px}
.gl-vip-onepage{margin-top:22px;border-radius:34px!important}
.gl-detail-trust-strip{margin-top:22px}
@media(max-width:900px){
  .gl-detail-page .profile-body{grid-template-columns:1fr}
  .gl-detail-page .profile-side-column{order:-1}
  .gl-detail-page .profile-info-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .gl-detail-shell{width:100%;padding:0 0 24px}
  .gl-detail-card{border-radius:0;border-left:0;border-right:0;box-shadow:none}
  .gl-detail-page .profile-cover{min-height:auto;padding:14px 14px 18px}
  .gl-detail-page .profile-cover:after{width:170px;height:170px;right:-70px;bottom:-78px}
  .gl-detail-page .profile-top-actions{align-items:center}
  .gl-detail-page .profile-back{min-height:34px;padding:0 11px;font-size:.78rem}
  .gl-detail-page .profile-hero-info{grid-template-columns:62px 1fr;align-items:center;gap:12px;margin-top:24px}
  .gl-detail-page .profile-logo{width:62px;height:62px;border-radius:20px;font-size:1.75rem}
  .gl-detail-page .profile-hero-info h1{font-size:clamp(1.55rem,8vw,2.15rem);line-height:.98;margin-bottom:5px}
  .gl-detail-page .profile-hero-info p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.86rem;line-height:1.35}
  .gl-detail-page .profile-badges{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:4px 0 2px;scrollbar-width:none}
  .gl-detail-page .profile-badges::-webkit-scrollbar{display:none}
  .gl-detail-page .profile-badge{flex:0 0 auto;padding:6px 8px;font-size:.68rem}
  .gl-detail-page .profile-body{display:flex;flex-direction:column;padding:12px;gap:12px}
  .gl-detail-page .profile-main-column,.gl-detail-page .profile-side-column{gap:12px}
  .gl-detail-page .profile-panel{border-radius:22px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.055)}
  .gl-detail-page .profile-panel h3{font-size:1rem;margin-bottom:10px}
  .gl-detail-page .profile-info-panel{padding:13px}
  .gl-detail-page .profile-info-panel h3{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
  .gl-detail-page .profile-info-panel h3:after{content:"Resumen";padding:5px 8px;border-radius:999px;background:rgba(23,105,255,.07);color:#1451c5;font-size:.68rem;font-weight:950;letter-spacing:0}
  .gl-detail-page .profile-info-panel .profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gl-detail-page .profile-info-panel .profile-info-item{min-height:58px;padding:10px;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.045)}
  .gl-detail-page .profile-info-panel .profile-info-item:nth-child(2),.gl-detail-page .profile-info-panel .profile-info-item:nth-child(3){grid-column:1/-1}
  .gl-detail-page .profile-info-panel .profile-info-item strong{margin-bottom:3px;color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.035em}
  .gl-detail-page .profile-info-panel .profile-info-item span{display:block;color:#0f172a;font-size:.78rem;font-weight:850;line-height:1.32}
  .gl-detail-page .profile-actions{grid-template-columns:1fr}
  .gl-detail-page .profile-action-btn,.gl-detail-page .miniweb-btn{min-height:46px;border-radius:15px}
  .gl-detail-page .profile-readonly-contact{padding:12px;border-radius:16px}
  .gl-detail-page .profile-readonly-contact strong{font-size:.78rem}
  .gl-detail-page .profile-readonly-contact span{font-size:.92rem}
  .gl-detail-page .profile-promo{grid-template-columns:38px 1fr;gap:10px;padding:12px;border-radius:18px}
  .gl-detail-page .profile-promo-icon{width:38px;height:38px;border-radius:14px;font-size:1.1rem}
  .gl-detail-page .profile-map,.gl-detail-page .profile-map iframe{min-height:130px;border-radius:20px}
  .gl-detail-page .profile-gallery{grid-template-columns:1fr 1fr;gap:8px}
  .gl-detail-page .profile-gallery-item{min-height:110px;border-radius:17px}
  .gl-detail-page .profile-tags{gap:6px}
  .gl-detail-page .profile-tags .tag{font-size:.72rem;padding:6px 8px}
}


/* Grupos primarios + subgrupos */
.cat-card .category-count{
  display:inline-flex;
  width:max-content;
  margin-top:7px;
  padding:5px 8px;
  border-radius:999px;
  color:#143000;
  background:rgba(138,201,0,.16);
  border:1px solid rgba(138,201,0,.24);
  font-size:.72rem;
  font-style:normal;
  font-weight:950;
}
.subgroup-strip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin:14px 0 18px;
  padding:12px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}
.subgroup-strip>span{
  color:#64748b;
  font-size:.82rem;
  font-weight:950;
}
.subgroup-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:0 11px;
  border-radius:999px;
  background:#fff;
  color:#334155;
  border:1px solid rgba(15,23,42,.08);
  font-size:.82rem;
  font-weight:950;
  box-shadow:0 7px 16px rgba(15,23,42,.04);
  transition:.2s ease;
}
.subgroup-chip:hover{
  color:#143000;
  background:var(--phc-lime-grad,linear-gradient(135deg,#8ac900,#a7e600));
  border-color:transparent;
  transform:translateY(-1px);
}
.subgroup-chip small{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  color:#1451c5;
  background:rgba(23,105,255,.08);
  font-size:.72rem;
  font-weight:950;
}
.phc-form select optgroup{
  font-weight:950;
  color:#0f172a;
}
@media(max-width:520px){
  .subgroup-strip{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .subgroup-strip::-webkit-scrollbar{display:none}
  .subgroup-chip{flex:0 0 auto}
}

/* Horarios compactos por comercio */
.business-hours-mini{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:fit-content;
  max-width:100%;
  margin-top:7px;
  padding:6px 9px;
  border-radius:999px;
  color:#475569;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.07);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  font-size:.72rem;
  font-weight:950;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compact-hours-panel{
  display:grid;
  gap:12px;
}
.compact-hours-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.compact-hours-head h3{
  margin:0!important;
}
.compact-hours-summary{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:12px;
  align-items:center;
  padding:13px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(138,201,0,.13),rgba(255,255,255,.92));
  border:1px solid rgba(138,201,0,.23);
}
.compact-hours-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:17px;
  color:#143000;
  background:var(--phc-lime-grad,linear-gradient(135deg,#8ac900,#a7e600));
  font-size:1.25rem;
  box-shadow:0 12px 22px rgba(138,201,0,.18);
}
.compact-hours-summary strong{
  display:block;
  color:#0f172a;
  font-size:1rem;
  line-height:1.3;
}
.compact-hours-summary small{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.78rem;
  font-weight:850;
  line-height:1.35;
}
.compact-hours-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.compact-hours-chips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 11px;
  border-radius:999px;
  color:#334155;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 8px 18px rgba(15,23,42,.045);
  font-size:.8rem;
  font-weight:950;
}
.compact-hours-details{
  border-radius:20px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.07);
  overflow:hidden;
}
.compact-hours-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  color:#1451c5;
  cursor:pointer;
  font-size:.84rem;
  font-weight:950;
  list-style:none;
}
.compact-hours-details summary::-webkit-details-marker{display:none}
.compact-hours-details summary:after{
  content:'+';
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  color:#143000;
  background:rgba(138,201,0,.16);
}
.compact-hours-details[open] summary:after{content:'−'}
.compact-week-list{
  padding:0 12px 12px;
}
.compact-week-list .phc-week-line{
  grid-template-columns:80px 1fr auto;
  min-height:42px;
  padding:8px 10px!important;
  border-radius:14px!important;
}
.compact-week-list .phc-day-hours,
.compact-week-list .phc-day-state{
  font-size:.78rem;
}
.profile-badge.is-open,
.open-badge.is-open{
  color:#376500!important;
  background:rgba(138,201,0,.16)!important;
  border-color:rgba(138,201,0,.26)!important;
}
.profile-badge.is-closed,
.open-badge.is-closed{
  color:#9f1239!important;
  background:rgba(244,63,94,.10)!important;
  border-color:rgba(244,63,94,.18)!important;
}
@media(max-width:520px){
  .business-hours-mini{
    max-width:100%;
    font-size:.68rem;
    padding:5px 8px;
  }
  .compact-hours-summary{
    grid-template-columns:40px 1fr;
    padding:11px;
    border-radius:18px;
  }
  .compact-hours-icon{
    width:40px;
    height:40px;
    border-radius:15px;
    font-size:1.05rem;
  }
  .compact-hours-summary strong{
    font-size:.9rem;
  }
  .compact-hours-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .compact-hours-chips::-webkit-scrollbar{display:none}
  .compact-hours-chips span{flex:0 0 auto;font-size:.74rem;min-height:32px}
  .compact-week-list .phc-week-line{
    grid-template-columns:62px 1fr;
    gap:6px;
  }
  .compact-week-list .phc-day-state{
    grid-column:2;
  }
}

/* =========================================================
   MODO DESARROLLADOR EXTREMO — Responsive PRO phone/tablet
   Capa final de ajuste visual. No cambia rutas ni funciones.
   ========================================================= */
:root{
  --phc-safe: max(14px, env(safe-area-inset-left));
  --phc-mobile-radius: 24px;
  --phc-touch: 46px;
}

body{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Header más estable en escritorio/tablet */
.topbar{
  box-shadow: 0 10px 30px rgba(15,23,42,.045);
}
.topbar-inner{
  min-height: 64px;
}
.nav-search{
  transition: box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.nav-search:focus-within{
  background:#fff;
  border-color: rgba(23,105,255,.26);
  box-shadow: 0 0 0 4px rgba(23,105,255,.08), 0 14px 34px rgba(15,23,42,.08);
}
.top-actions .ghost-btn,
.top-actions .primary-btn{
  min-height: 42px;
}

/* Home más limpio */
.gl-hero{
  padding-top: clamp(24px, 4vw, 50px);
}
.gl-hero h1{
  text-wrap: balance;
}
.gl-lead,
.section-head p,
.section-subtitle{
  text-wrap: pretty;
}
.gl-actions .primary-btn,
.gl-actions .details-btn,
.gl-search-panel .primary-btn,
.gl-location-field{
  min-height: var(--phc-touch);
}
.quick-filter-bar{
  scroll-snap-type: inline proximity;
}
.filter-chip{
  scroll-snap-align: start;
}

/* Carruseles con sensación de app */
.gl-rail,
.category-grid,
.business-grid{
  scroll-padding-inline: 12px;
}
.gl-rail{
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.gl-rail::-webkit-scrollbar{display:none}
.rail-arrow{
  width:42px;
  height:42px;
}

/* Tarjetas: diseño regular, moderno y robusto */
.business-card{
  min-height: 318px!important;
  border-radius: 30px!important;
  padding: 16px!important;
  isolation: isolate;
}
.business-card::before{
  height: 92px!important;
}
.business-card:hover{
  transform: translateY(-4px);
}
.business-cover{
  max-width: calc(100% - 28px);
}
.card-distance{
  max-width: 150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.business-main{
  align-items:flex-start!important;
  padding-top:30px!important;
}
.business-logo{
  box-shadow:0 14px 28px color-mix(in srgb,var(--c1,#1769ff) 20%,transparent)!important;
}
.business-info{
  min-width:0;
}
.business-info h3,
.business-card h3{
  letter-spacing:-.04em!important;
  line-height:1.08!important;
  min-height:2.16em!important;
  max-height:2.16em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.business-meta-line,
.business-desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.business-meta-line{
  -webkit-line-clamp:1;
}
.business-desc{
  -webkit-line-clamp:2;
  min-height:2.72em;
}
.verified-pill,
.business-hours-mini{
  margin-right:6px;
}
.rating-row{
  min-height:74px!important;
  gap:6px!important;
}
.badge-featured,
.open-badge,
.vip-badge,
.promo-badge,
.plan-note,
.tag{
  max-width:100%;
}
.card-actions{
  align-items:stretch;
}
.card-actions .whatsapp-btn,
.card-actions .details-btn,
.card-actions .readonly-contact{
  min-height:44px;
  border-radius:15px;
}
.business-card.is-vip{
  background:
    radial-gradient(circle at 90% 0%, color-mix(in srgb,var(--c2,#f72585) 12%, transparent), transparent 34%),
    #fff!important;
}
.business-card.is-vip .badge-featured{
  color:#fff!important;
  background:linear-gradient(135deg,#111827,#7c3aed 48%,#f72585)!important;
  border-color:transparent!important;
}

/* Grupos/categorías: más tocables */
.category-grid{
  gap:16px!important;
}
.cat-card{
  min-height:140px!important;
  border-radius:28px!important;
  padding:18px 14px!important;
}
.cat-card i{
  width:50px!important;
  height:50px!important;
  border-radius:18px!important;
}
.cat-card strong{
  line-height:1.12;
  text-wrap:balance;
}
.category-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  margin-top:7px;
  padding:5px 8px;
  border-radius:999px;
  color:#1451c5;
  background:rgba(23,105,255,.08);
  border:1px solid rgba(23,105,255,.10);
  font-style:normal;
  font-size:.72rem;
  font-weight:950;
}

/* Resultados y páginas internas */
.results-page .section-head,
.form-page .section-head{
  display:flex;
  align-items:flex-start;
  border-radius:34px;
  padding:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--phc-card-shadow);
}
.results-page .business-grid{
  gap:16px;
}
.subgroup-strip{
  position:relative;
}

/* Formulario: mejor lectura y toque */
.phc-form{
  gap:20px!important;
}
.form-block-title{
  position:relative;
  overflow:hidden;
}
.form-block-title::after{
  content:"";
  position:absolute;
  right:-44px;
  top:-48px;
  width:128px;
  height:128px;
  border-radius:50%;
  background:var(--phc-brand);
  opacity:.08;
}
.form-grid input,
.form-grid select,
.form-grid textarea{
  min-height:50px!important;
}
.public-days span{
  min-height:36px;
  background:#fff!important;
  color:#334155!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045);
}
.public-days input{
  accent-color: var(--phc-lime);
}
.plan-picker{
  align-items:stretch;
}
.plan-option{
  overflow:hidden;
  border-radius:26px!important;
}
.plan-benefits-public span{
  align-items:flex-start;
}
.form-submit{
  min-height:52px;
  font-size:1rem;
}

/* Detalle como app: mejor jerarquía */
.gl-detail-shell{
  padding-top:24px!important;
}
.gl-detail-card{
  border-radius:38px!important;
}
.gl-detail-page .profile-cover{
  min-height:285px!important;
}
.gl-detail-page .profile-hero-info h1{
  text-wrap:balance;
}
.gl-detail-page .profile-body{
  align-items:start;
}
.gl-detail-page .profile-side-column{
  position:relative;
}
.gl-detail-page .profile-side-column > .profile-panel:first-child{
  position:sticky;
  top:94px;
  z-index:3;
}
.gl-detail-page .profile-action-btn,
.gl-detail-page .miniweb-btn{
  min-height:50px;
}
.gl-detail-page .profile-info-panel .profile-info-item:nth-child(3){
  grid-column:1/-1;
}
.gl-detail-page .profile-gallery{
  gap:12px!important;
}
.gl-detail-page .profile-gallery-item{
  border-radius:24px!important;
}
.compact-hours-summary strong{
  text-wrap:balance;
}

/* VIP one page */
.gl-vip-onepage{
  margin-top:22px!important;
  border-radius:36px!important;
  overflow:hidden;
}
.phc-onepage-hero{
  border-radius:30px!important;
}
.phc-onepage-hero h3{
  text-wrap:balance;
}
.phc-onepage-panel{
  border-radius:26px!important;
}
.phc-onepage-gallery-arrow{
  width:42px!important;
  height:42px!important;
}

/* Tablet horizontal / vertical */
@media (min-width:821px) and (max-width:1180px){
  .topbar-inner{
    display:grid;
    grid-template-columns:auto minmax(260px,1fr) auto;
    gap:12px;
  }
  .brand-text strong{font-size:1.05rem}
  .brand-text small{font-size:.75rem}
  .top-actions .ghost-btn{padding-inline:12px}
  .gl-hero-layout{
    grid-template-columns:1fr;
  }
  .gl-visual{
    min-height:330px;
  }
  .gl-map-card{
    min-height:320px;
  }
  .gl-trust-panel{
    position:absolute;
    right:16px;
    top:34px;
    width:min(320px,44vw);
  }
  .business-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .promo-grid{
    grid-template-columns:1fr!important;
  }
  .quick-strip{
    grid-template-columns:1fr 1fr!important;
  }
  .gl-detail-page .profile-body{
    grid-template-columns:minmax(0,1fr) 320px!important;
    gap:16px!important;
  }
  .gl-detail-page .profile-panel{
    padding:18px!important;
  }
  .plan-picker{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Tablet chica y celulares grandes */
@media (max-width:820px){
  .topbar{
    position:sticky;
    top:0;
    padding:10px 0;
  }
  .topbar-inner{
    display:grid!important;
    grid-template-columns:1fr auto;
    align-items:center!important;
    gap:10px!important;
  }
  .brand{
    min-width:0;
  }
  .brand-icon{
    width:42px!important;
    height:42px!important;
    border-radius:15px!important;
  }
  .brand-text strong{
    max-width:190px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:1rem!important;
  }
  .brand-text small{
    font-size:.72rem;
  }
  .top-actions{
    width:auto!important;
    max-width:100%;
    order:2;
    justify-self:end;
    overflow:visible!important;
  }
  .top-actions .ghost-btn:first-child{
    display:none;
  }
  .top-actions .ghost-btn.active{
    min-height:40px;
    padding:0 12px;
    font-size:.82rem;
  }
  .nav-search{
    grid-column:1/-1;
    order:3;
    min-height:46px;
    border-radius:17px;
  }
  .gl-hero{
    padding-top:18px!important;
  }
  .gl-hero h1{
    max-width:680px;
  }
  .gl-hero-layout{
    gap:22px!important;
  }
  .gl-visual{
    display:none!important;
  }
  .gl-search-panel{
    border-radius:22px;
  }
  .gl-popular-tags{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .gl-popular-tags::-webkit-scrollbar{display:none}
  .gl-tag-mini{
    flex:0 0 auto;
  }
  .quick-strip{
    display:flex!important;
    overflow-x:auto;
    gap:10px!important;
    scrollbar-width:none;
    padding-bottom:3px;
  }
  .quick-strip::-webkit-scrollbar{display:none}
  .callout-main,.callout-small{
    flex:0 0 auto;
    min-width:230px;
    border-radius:22px!important;
  }
  .section-head,
  .results-page .section-head,
  .form-page .section-head{
    display:grid!important;
    gap:10px!important;
    padding:18px!important;
    border-radius:28px!important;
  }
  .section-head h2,
  .section-title{
    font-size:clamp(1.45rem,5vw,2rem)!important;
  }
  .see-all{
    width:max-content;
  }
  .gl-rail{
    grid-auto-columns:minmax(300px,86%)!important;
  }
  .business-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .cat-card{
    min-height:126px!important;
    border-radius:24px!important;
  }
  .promo-grid{
    grid-template-columns:1fr!important;
  }
  .promo-side{
    grid-template-columns:1fr!important;
  }
  .gl-detail-page .profile-body{
    display:flex!important;
    flex-direction:column!important;
    padding:14px!important;
    gap:14px!important;
  }
  .gl-detail-page .profile-side-column{
    order:-1;
    gap:14px!important;
  }
  .gl-detail-page .profile-side-column > .profile-panel:first-child{
    position:relative!important;
    top:auto!important;
  }
  .gl-detail-page .profile-main-column{
    gap:14px!important;
  }
  .gl-detail-page .profile-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .gl-detail-page .profile-info-item:nth-child(2),
  .gl-detail-page .profile-info-item:nth-child(3){
    grid-column:1/-1;
  }
  .phc-onepage-body{
    grid-template-columns:1fr!important;
  }
  .phc-onepage-side{
    order:-1;
  }
  .phc-onepage-cta-box{
    position:relative!important;
    top:auto!important;
  }
  .footer-phc{
    border-radius:26px;
  }
}

/* Celular */
@media (max-width:560px){
  body{
    background:
      radial-gradient(circle at 20% 0%,rgba(247,37,133,.08),transparent 32%),
      radial-gradient(circle at 88% 2%,rgba(23,105,255,.10),transparent 34%),
      #fbfdff!important;
  }
  .section,.gl-hero,.topbar-inner,.quick-strip,.footer-phc,.gl-detail-shell{
    width:min(100% - 22px,1260px)!important;
  }
  .topbar{
    border-bottom:1px solid rgba(15,23,42,.06);
  }
  .brand-text strong{
    max-width:145px;
  }
  .top-actions .ghost-btn.active{
    font-size:0;
    width:42px;
    padding:0;
  }
  .top-actions .ghost-btn.active::before{
    content:'⊕';
    font-size:1.1rem;
  }
  .gl-eyebrow,.eyebrow{
    font-size:.78rem;
    padding:8px 11px;
  }
  .gl-hero h1{
    font-size:clamp(2.35rem,12.8vw,3.75rem)!important;
    line-height:.92!important;
  }
  .gl-lead{
    font-size:.98rem!important;
    line-height:1.55!important;
  }
  .gl-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px!important;
  }
  .gl-actions .primary-btn,
  .gl-actions .details-btn{
    min-width:0;
    padding-inline:10px;
    font-size:.86rem;
  }
  .gl-search-panel{
    margin-top:18px!important;
    padding:8px!important;
    gap:8px!important;
    border-radius:22px!important;
  }
  .gl-search-field,
  .gl-location-field{
    min-height:46px!important;
    border-radius:16px!important;
  }
  .location-summary{
    width:100%!important;
    border-radius:20px!important;
    padding:10px!important;
  }
  .location-summary span{
    font-size:.78rem!important;
  }
  .quick-filter-bar{
    margin-top:12px!important;
    padding:8px!important;
    border-radius:20px!important;
  }
  .filter-chip{
    min-height:36px!important;
    padding:0 11px!important;
    font-size:.78rem!important;
  }
  .business-card{
    min-height:326px!important;
    border-radius:26px!important;
    padding:14px!important;
  }
  .business-cover{
    top:12px!important;
    right:12px!important;
  }
  .card-distance{
    max-width:122px;
    font-size:.68rem!important;
  }
  .business-main{
    gap:10px!important;
    padding-top:30px!important;
  }
  .business-logo{
    width:50px!important;
    height:50px!important;
    flex-basis:50px!important;
    border-radius:18px!important;
    font-size:1.45rem!important;
  }
  .business-info h3,
  .business-card h3{
    font-size:1.03rem!important;
  }
  .business-meta-line,
  .business-desc{
    font-size:.8rem!important;
  }
  .business-hours-mini{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    justify-content:flex-start;
    border-radius:14px!important;
    white-space:nowrap;
  }
  .rating-row{
    min-height:78px!important;
    max-height:98px;
    overflow:hidden;
  }
  .badge-featured,.open-badge,.vip-badge,.promo-badge,.plan-note,.tag{
    font-size:.68rem!important;
    padding:5px 7px!important;
  }
  .card-actions{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .card-actions .readonly-contact,
  .card-actions .whatsapp-btn,
  .card-actions .details-btn{
    min-height:42px!important;
    font-size:.82rem!important;
  }
  .category-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .cat-card{
    min-height:118px!important;
    padding:14px 10px!important;
  }
  .cat-card i{
    width:42px!important;
    height:42px!important;
    border-radius:16px!important;
    font-size:1.35rem!important;
  }
  .cat-card strong{
    font-size:.88rem!important;
  }
  .cat-card small{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .big-promo,.side-card{
    border-radius:24px!important;
    padding:18px!important;
  }
  .form-page .section-head,
  .results-page .section-head{
    margin-bottom:14px;
  }
  .form-grid{
    gap:10px!important;
  }
  .form-block-title,.form-section{
    border-radius:24px!important;
    padding:16px!important;
  }
  .form-grid input,.form-grid select,.form-grid textarea{
    border-radius:15px!important;
  }
  .public-days{
    display:flex!important;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
    padding-bottom:3px;
  }
  .public-days::-webkit-scrollbar{display:none}
  .public-days span{flex:0 0 auto}
  .plan-option{
    min-height:auto!important;
    padding:15px!important;
  }
  .legal-note{
    border-radius:20px!important;
    font-size:.86rem;
  }
  .form-submit{
    width:100%;
    border-radius:18px!important;
  }
  .gl-detail-shell{
    padding:12px 0 28px!important;
  }
  .gl-detail-card{
    border-radius:28px!important;
  }
  .gl-detail-page .profile-cover{
    min-height:auto!important;
    padding:14px 14px 18px!important;
  }
  .gl-detail-page .profile-top-actions{
    align-items:center;
  }
  .gl-detail-page .profile-back{
    min-height:34px!important;
    padding:0 11px!important;
    font-size:.78rem!important;
  }
  .gl-detail-page .profile-back-soft{
    max-width:118px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .gl-detail-page .profile-hero-info{
    grid-template-columns:60px 1fr!important;
    align-items:center!important;
    gap:11px!important;
    margin-top:24px!important;
  }
  .gl-detail-page .profile-logo{
    width:60px!important;
    height:60px!important;
    border-radius:20px!important;
    font-size:1.7rem!important;
  }
  .gl-detail-page .profile-hero-info h1{
    font-size:clamp(1.55rem,8.5vw,2.25rem)!important;
    line-height:.98!important;
    margin-bottom:5px!important;
  }
  .gl-detail-page .profile-hero-info p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:.86rem!important;
    line-height:1.35!important;
  }
  .gl-detail-page .profile-badges{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    gap:6px!important;
    padding:4px 0 2px!important;
    scrollbar-width:none;
  }
  .gl-detail-page .profile-badges::-webkit-scrollbar{display:none}
  .gl-detail-page .profile-badge{
    flex:0 0 auto;
    padding:6px 8px!important;
    font-size:.68rem!important;
  }
  .gl-detail-page .profile-panel{
    border-radius:22px!important;
    padding:14px!important;
  }
  .gl-detail-page .profile-panel h3{
    font-size:1rem!important;
  }
  .gl-detail-page .profile-info-grid{
    grid-template-columns:1fr!important;
  }
  .profile-action-btn,.miniweb-btn{
    border-radius:15px!important;
  }
  .compact-hours-summary{
    grid-template-columns:38px 1fr!important;
  }
  .compact-hours-icon{
    width:38px!important;
    height:38px!important;
  }
  .gl-detail-page .profile-gallery{
    grid-template-columns:1fr!important;
  }
  .gl-detail-page .profile-gallery-item{
    min-height:165px!important;
  }
  .phc-onepage-hero{
    padding:18px!important;
    border-radius:26px!important;
  }
  .phc-onepage-hero h3{
    font-size:clamp(2rem,12vw,3rem)!important;
  }
  .phc-onepage-showcase{
    min-height:150px!important;
  }
  .phc-onepage-panel,.phc-onepage-cta-box{
    border-radius:22px!important;
    padding:14px!important;
  }
  .phc-onepage-services{
    grid-template-columns:1fr!important;
  }
  .phc-onepage-photo{
    aspect-ratio:4/3!important;
  }
  .phc-onepage-photo-caption{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
  }
  .phc-onepage-thumbs{
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:none;
  }
  .phc-onepage-thumbs::-webkit-scrollbar{display:none}
  .phc-onepage-thumbs button{
    flex:0 0 74%;
  }
  .mobile-cta{
    bottom:10px!important;
    width:min(100% - 20px,520px)!important;
    border-radius:22px!important;
    padding:9px 10px!important;
    grid-template-columns:1fr auto;
    align-items:center!important;
  }
  .mobile-cta span{
    font-size:.82rem!important;
  }
  .mobile-cta a{
    min-height:38px;
    padding:0 12px!important;
    font-size:.82rem!important;
  }
  .footer-phc{
    margin-bottom:84px!important;
  }
}

/* Celulares muy pequeños */
@media (max-width:380px){
  .category-grid{grid-template-columns:1fr!important}
  .gl-actions{grid-template-columns:1fr!important}
  .card-actions{grid-template-columns:1fr!important}
  .business-card{min-height:350px!important}
  .rating-row{max-height:none!important}
  .brand-text strong{max-width:118px}
}

/* === Ajuste galería destacada grande: fotos/promociones con leyenda transparente === */
.profile-gallery-featured-panel,
.phc-onepage-gallery-panel{
  padding:24px!important;
  overflow:hidden;
}
.profile-gallery-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.profile-gallery-head h3{
  margin-bottom:6px!important;
}
.profile-gallery-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(247,37,133,.10);
  color:#be185d;
  border:1px solid rgba(247,37,133,.16);
  font-size:.78rem;
  font-weight:950;
  white-space:nowrap;
}
.profile-feature-gallery,
.phc-onepage-gallery-panel .phc-onepage-gallery{
  margin-top:16px!important;
  border-radius:34px!important;
  box-shadow:0 28px 70px rgba(15,23,42,.16)!important;
}
.profile-feature-photo,
.phc-onepage-gallery-panel .phc-onepage-photo{
  aspect-ratio:16/8.2!important;
  min-height:420px!important;
}
.profile-feature-photo img,
.phc-onepage-gallery-panel .phc-onepage-photo img{
  transform:scale(1.01);
}
.profile-feature-photo:before,
.phc-onepage-gallery-panel .phc-onepage-photo:before{
  background:linear-gradient(to top,rgba(15,23,42,.78),rgba(15,23,42,.24) 44%,rgba(15,23,42,.04) 72%)!important;
}
.profile-feature-caption,
.phc-onepage-gallery-panel .phc-onepage-photo-caption{
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  min-height:86px;
  display:grid;
  align-content:center;
  padding:18px 20px!important;
  border-radius:22px!important;
  background:rgba(15,23,42,.42)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.20);
}
.profile-feature-caption strong,
.phc-onepage-gallery-panel .phc-onepage-photo-caption strong{
  font-size:1.18rem!important;
  line-height:1.12!important;
}
.profile-feature-caption span,
.phc-onepage-gallery-panel .phc-onepage-photo-caption span{
  max-width:850px;
  font-size:.94rem!important;
  line-height:1.45!important;
}
.profile-feature-thumbs,
.phc-onepage-gallery-panel .phc-onepage-thumbs{
  gap:10px!important;
  margin-top:14px!important;
}
.profile-feature-thumbs button,
.phc-onepage-gallery-panel .phc-onepage-thumbs button{
  min-height:66px!important;
  border-radius:18px!important;
}
.profile-feature-gallery .phc-onepage-gallery-arrow,
.phc-onepage-gallery-panel .phc-onepage-gallery-arrow{
  width:48px!important;
  height:48px!important;
  background:rgba(255,255,255,.22)!important;
}
.profile-feature-gallery .phc-onepage-gallery-arrow:hover,
.phc-onepage-gallery-panel .phc-onepage-gallery-arrow:hover{
  background:var(--phc-lime-grad)!important;
  color:#143000!important;
}
@media (max-width:1080px){
  .profile-feature-photo,
  .phc-onepage-gallery-panel .phc-onepage-photo{
    min-height:360px!important;
    aspect-ratio:16/9!important;
  }
}
@media (max-width:720px){
  .profile-gallery-featured-panel,
  .phc-onepage-gallery-panel{
    padding:14px!important;
  }
  .profile-gallery-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .profile-feature-gallery,
  .phc-onepage-gallery-panel .phc-onepage-gallery{
    border-radius:24px!important;
  }
  .profile-feature-photo,
  .phc-onepage-gallery-panel .phc-onepage-photo{
    min-height:300px!important;
    aspect-ratio:4/3!important;
  }
  .profile-feature-caption,
  .phc-onepage-gallery-panel .phc-onepage-photo-caption{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    min-height:74px;
    padding:12px 13px!important;
    border-radius:18px!important;
  }
  .profile-feature-caption strong,
  .phc-onepage-gallery-panel .phc-onepage-photo-caption strong{
    font-size:.95rem!important;
  }
  .profile-feature-caption span,
  .phc-onepage-gallery-panel .phc-onepage-photo-caption span{
    font-size:.78rem!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .profile-feature-gallery .phc-onepage-gallery-arrow,
  .phc-onepage-gallery-panel .phc-onepage-gallery-arrow{
    width:38px!important;
    height:38px!important;
  }
  .profile-feature-thumbs,
  .phc-onepage-gallery-panel .phc-onepage-thumbs{
    display:flex!important;
    overflow-x:auto;
    gap:8px!important;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .profile-feature-thumbs::-webkit-scrollbar,
  .phc-onepage-gallery-panel .phc-onepage-thumbs::-webkit-scrollbar{display:none}
  .profile-feature-thumbs button,
  .phc-onepage-gallery-panel .phc-onepage-thumbs button{
    flex:0 0 70%;
    min-height:58px!important;
  }
}

/* === PHC category palette correction: cards + profile/details === */
.business-card,
.gl-detail-page,
.cat-card,
.subgroup-chip,
.gl-vip-onepage {
  --category-glow: color-mix(in srgb, var(--c1,#1769ff) 18%, transparent);
}

.business-card::before {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--c1,#1769ff) 24%, transparent), color-mix(in srgb, var(--c2,#f72585) 18%, transparent)),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0)) !important;
}

.business-logo,
.business-cover-icon,
.gl-detail-page .profile-logo,
.gl-detail-page .profile-map-pin,
.cat-card i,
.subgroup-chip i,
.phc-onepage-showcase,
.phc-onepage-photo-icon {
  background: linear-gradient(135deg, var(--c1,#1769ff), var(--c2,#f72585)) !important;
}

.business-logo,
.business-cover-icon,
.gl-detail-page .profile-logo,
.cat-card i,
.subgroup-chip i {
  box-shadow: 0 16px 30px color-mix(in srgb, var(--c1,#1769ff) 22%, transparent) !important;
}

.business-hours-mini,
.verified-pill,
.gl-detail-page .profile-info-panel h3:after {
  background: color-mix(in srgb, var(--c1,#1769ff) 9%, #fff) !important;
  color: color-mix(in srgb, var(--c1,#1769ff) 72%, #0f172a) !important;
  border-color: color-mix(in srgb, var(--c1,#1769ff) 16%, rgba(15,23,42,.08)) !important;
}

.badge-featured,
.plan-note,
.gl-detail-page .profile-tier-panel,
.category-count {
  background: color-mix(in srgb, var(--c1,#1769ff) 12%, #fff) !important;
  color: color-mix(in srgb, var(--c1,#1769ff) 68%, #143000) !important;
  border-color: color-mix(in srgb, var(--c1,#1769ff) 22%, rgba(15,23,42,.08)) !important;
}

.gl-detail-page .profile-cover,
.gl-vip-onepage .phc-onepage-hero,
.phc-onepage-hero {
  background:
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.24), transparent 28%),
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.13), transparent 24%),
    linear-gradient(135deg, var(--c1,#1769ff), var(--c2,#f72585)) !important;
}

.gl-detail-page .profile-panel,
.phc-onepage-panel,
.profile-gallery-featured-panel {
  border-color: color-mix(in srgb, var(--c1,#1769ff) 12%, rgba(15,23,42,.08)) !important;
}

.gl-detail-page .profile-map {
  background:
    radial-gradient(circle at center, color-mix(in srgb, var(--c1,#1769ff) 20%, transparent), transparent 28%),
    linear-gradient(135deg, color-mix(in srgb, var(--c1,#1769ff) 9%, #eef6ff), color-mix(in srgb, var(--c2,#f72585) 8%, #fff)) !important;
}

.subgroup-chip:hover,
.cat-card:hover,
.business-card:hover {
  box-shadow: 0 24px 54px color-mix(in srgb, var(--c1,#1769ff) 14%, rgba(15,23,42,.10)) !important;
}

/*
 * Custom card tweaks for improved design
 * The info-mini container groups verification and hour pills on a single row
 * The contact-number replaces the old WhatsApp and read‑only buttons
 * Card actions layout is adjusted to allocate a smaller details button
 */
.info-mini {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.card-actions {
  grid-template-columns: 1fr auto !important;
}

.card-actions .contact-number {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px dashed rgba(15,23,42,.16);
  color: #334155;
  font-size: .78rem;
  font-weight: 950;
  line-height: 1.25;
  user-select: all;
}

.card-actions .contact-number svg {
  width: 16px;
  height: 16px;
  display: inline-block;
}

.card-actions .contact-number .whatsapp-icon svg {
  fill: #25D366;
}

.card-actions .contact-number .contact-icon svg {
  fill: #334155;
}

/* When used inside the mini-info row, the hour pill should size to content */
.info-mini .business-hours-mini {
  width: auto !important;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
}

/* === New card design styles === */
.business-card{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}
.business-card .card-top{
  position:relative;
}
.business-card .card-gradient{
  background:linear-gradient(135deg,var(--c1),var(--c2));
  border-radius:24px;
  padding:14px 14px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  color:#fff;
}
.business-card .card-header-content{
  display:flex;
  align-items:center;
  gap:10px;
}
.business-card .card-icon{
  width:52px;
  height:52px;
  flex:0 0 auto;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:1.5rem;
  color:#fff;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.business-card .card-title{
  font-size:1.05rem;
  font-weight:950;
  line-height:1.2;
  color:#fff;
  max-width:16ch;
  overflow-wrap:anywhere;
}
.business-card .card-location{
  align-self:flex-start;
  background:color-mix(in srgb,var(--c1) 10%,#fff);
  color:var(--c1);
  border:1px solid color-mix(in srgb,var(--c1) 20%,transparent);
  padding:4px 9px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:950;
  white-space:nowrap;
}
.business-card .info-panels{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:-20px;
  position:relative;
  z-index:2;
  padding:0 4px;
}
.business-card .info-panel{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:18px;
  font-size:.78rem;
  font-weight:900;
}
.business-card .category-panel{
  background:color-mix(in srgb,var(--c1) 7%,#fff);
  border:1px solid color-mix(in srgb,var(--c1) 18%,transparent);
  color:var(--c1);
}
.business-card .verify-panel{
  background:color-mix(in srgb,var(--c2) 7%,#fff);
  border:1px solid color-mix(in srgb,var(--c2) 18%,transparent);
  color:var(--c2);
}
.business-card .panel-icon{
  width:28px;
  height:28px;
  flex:0 0 auto;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:.9rem;
  color:#fff;
  background:linear-gradient(135deg,var(--c1),var(--c2));
}
.business-card .verify-panel .panel-icon{
  background:linear-gradient(135deg,var(--c2),var(--c1));
}
.business-card .panel-text strong{
  display:block;
  font-size:.8rem;
  font-weight:950;
  color:#0f172a;
  line-height:1.1;
}
.business-card .panel-text small{
  display:block;
  margin-top:2px;
  font-size:.68rem;
  font-weight:850;
  color:var(--phc-muted);
}
.business-card .card-desc{
  color:var(--phc-soft);
  font-size:.9rem;
  line-height:1.4;
  min-height:2.4em;
  margin-top:8px;
  max-height:4.8em;
  overflow:hidden;
}
.business-card .card-hours{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  padding:6px 10px;
  border-radius:16px;
  background:color-mix(in srgb,var(--c1) 6%,#fff);
  border:1px solid color-mix(in srgb,var(--c1) 16%,transparent);
  font-size:.78rem;
  font-weight:950;
  color:var(--c1);
}
.business-card .hours-icon{
  font-size:.9rem;
}
.business-card .card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.business-card .badge-featured{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--c1) 6%,#fff);
  border:1px solid color-mix(in srgb,var(--c1) 18%,transparent);
  font-size:.75rem;
  font-weight:950;
  color:var(--c1);
}
.business-card .promo-badge{
  background:color-mix(in srgb,var(--c2) 6%,#fff);
  border:1px solid color-mix(in srgb,var(--c2) 18%,transparent);
  color:var(--c2);
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:950;
}
.business-card .tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--c2) 4%,#fff);
  border:1px solid color-mix(in srgb,var(--c2) 16%,transparent);
  font-size:.75rem;
  font-weight:900;
  color:color-mix(in srgb,var(--c2) 30%,#0f172a);
}
.business-card .card-footer{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.business-card .contact-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:16px;
  background:color-mix(in srgb,var(--c1) 5%,#fff);
  border:1px solid color-mix(in srgb,var(--c1) 14%,transparent);
  font-size:.85rem;
  font-weight:950;
  color:var(--c1);
  white-space:nowrap;
}
.business-card .contact-icon,
.business-card .whatsapp-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.business-card .whatsapp-icon{
  color:#22c55e;
}
.business-card .number-text{
  font-weight:950;
  font-size:.85rem;
  color:var(--c1);
}
.business-card .details-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 16px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.09);
  background:#fff;
  color:var(--phc-text);
  font-size:.85rem;
  font-weight:950;
  text-decoration:none;
  white-space:nowrap;
}
.business-card .details-link:hover{
  background:rgba(138,201,0,.14);
  border-color:rgba(138,201,0,.22);
  color:#143000;
}

/* === Enhanced card design overrides === */
/* Location pill with icon */
.business-card .card-location{
  background:#fff;
  color:#f72585;
  border:1px solid #f72585;
  padding:3px 8px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:950;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.business-card .card-location:before{
  content:'\1F4CD';
  font-size:.85rem;
  line-height:1;
  display:inline-block;
}

/* Info panels layout and separator */
.business-card .info-panels{
  display:flex;
  justify-content:space-between;
  gap:0;
  position:relative;
  margin-top:-24px;
  padding:0 4px;
}
.business-card .info-panels::before{
  content:"";
  position:absolute;
  top:10px;
  bottom:10px;
  left:50%;
  width:1px;
  background:rgba(15,23,42,.07);
  transform:translateX(-0.5px);
}

/* Info panel base */
.business-card .info-panel{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:14px 6px 10px;
  gap:6px;
  border-radius:18px;
  font-size:.78rem;
}

/* Category panel colours */
.business-card .category-panel{
  background:color-mix(in srgb,var(--c1) 4%,#fff);
  border:1px solid color-mix(in srgb,var(--c1) 14%,transparent);
}
/* Verify panel colours */
.business-card .verify-panel{
  background:color-mix(in srgb,#f72585 4%,#fff);
  border:1px solid color-mix(in srgb,#f72585 14%,transparent);
}

/* Panel icons */
.business-card .panel-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:1rem;
  color:#fff;
  background:linear-gradient(135deg,var(--c1),var(--c2));
}
.business-card .verify-panel .panel-icon{
  background:#f72585;
}

/* Panel text styles */
.business-card .panel-text strong{
  display:block;
  font-size:.82rem;
  font-weight:950;
  color:#0f172a;
}
.business-card .panel-text small{
  display:block;
  font-size:.7rem;
  font-weight:850;
  color:#64748b;
}

/* Description truncation */
.business-card .card-desc{
  margin-top:12px;
  font-size:.9rem;
  line-height:1.4;
  color:#334155;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Schedule row */
.business-card .card-hours{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:6px 10px;
  border-radius:16px;
  background:color-mix(in srgb,var(--c1) 6%,#fff);
  border:1px solid color-mix(in srgb,var(--c1) 16%,transparent);
  font-size:.78rem;
  font-weight:950;
  color:var(--c1);
}
.business-card .card-hours .hours-icon{
  width:20px;
  height:20px;
  border-radius:50%;
  background:color-mix(in srgb,var(--c1) 14%,#fff);
  display:grid;
  place-items:center;
  font-size:.85rem;
  color:var(--c1);
}
.business-card .card-hours .hours-text{
  font-weight:950;
}

/* Tags row */
.business-card .card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.business-card .badge-featured{
  padding:5px 12px;
  border-radius:999px;
  background:color-mix(in srgb,#f72585 7%,#fff);
  border:1px solid color-mix(in srgb,#f72585 20%,transparent);
  color:#f72585;
  font-size:.75rem;
  font-weight:950;
}
.business-card .open-badge{
  padding:5px 12px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:950;
}
.business-card .open-badge.is-open{
  background:color-mix(in srgb,#22c55e 7%,#fff)!important;
  border:1px solid color-mix(in srgb,#22c55e 20%,transparent)!important;
  color:#22c55e!important;
}
.business-card .open-badge.is-closed{
  background:color-mix(in srgb,#e11d48 7%,#fff)!important;
  border:1px solid color-mix(in srgb,#e11d48 20%,transparent)!important;
  color:#e11d48!important;
}
.business-card .promo-badge{
  padding:5px 12px;
  border-radius:999px;
  background:color-mix(in srgb,var(--c2) 7%,#fff);
  border:1px solid color-mix(in srgb,var(--c2) 20%,transparent);
  color:var(--c2);
  font-size:.75rem;
  font-weight:950;
}
.business-card .tag{
  padding:5px 12px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(100,116,139,.2);
  color:#475569;
  font-size:.75rem;
  font-weight:900;
}

/* Card footer and contact group */
.business-card .card-footer{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.business-card .contact-group{
  display:flex;
  align-items:center;
  gap:8px;
}
.business-card .call-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#22c55e;
  color:#fff;
}
.business-card .number-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
}
.business-card .number-pill .number-text{
  font-size:.85rem;
  font-weight:950;
  color:#0f172a;
}
.business-card .number-pill .whatsapp-icon{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  color:#22c55e;
}

/* Details link button */
/* Details link button */
.business-card .details-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid #f72585;
  color:#f72585;
  font-size:.85rem;
  font-weight:950;
  text-decoration:none;
  white-space:nowrap;
}
.business-card .details-link .details-arrow{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#f72585;
  color:#fff;
  font-size:.78rem;
  line-height:1;
}
.business-card .details-link:hover{
  background:color-mix(in srgb,#f72585 8%,#fff);
  border-color:#f72585;
  color:#f72585;
}

/* =========================================================
   Buscameya Card Final - diseño idéntico a preview HTML
   Scope: .bmy-local-card
   No toca funciones, JS, filtros ni base de datos.
   ========================================================= */
.business-card.bmy-local-card{
  --pink:#f72585;
  --green:#45c85a;
  --text:#121827;
  --muted:#536174;
  --soft:#f6f8fb;
  --tint:color-mix(in srgb,var(--c1,#f72585) 8%,#fff);
  display:block!important;
  grid-template-rows:none!important;
  gap:0!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  background:#fff!important;
  border-radius:16px!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(15,23,42,.12)!important;
  border:1px solid #edf0f4!important;
  color:var(--text)!important;
  font-family:Poppins,Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}

.bmy-local-card .bmy-card-head{
  height:106px!important;
  padding:14px 13px 16px!important;
  position:relative!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--c1,#ff2346),var(--c2,#ff9d19))!important;
  border-radius:16px 16px 0 0!important;
}

.bmy-local-card .bmy-pin{
  position:absolute!important;
  top:11px!important;
  right:10px!important;
  background:#fff!important;
  color:#1f2937!important;
  border-radius:999px!important;
  padding:4px 9px 4px 7px!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 3px 9px rgba(0,0,0,.12)!important;
  white-space:nowrap!important;
  max-width:145px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.bmy-local-card .bmy-pin:before{content:'📍 ';}

.bmy-local-card .bmy-head-row{
  display:flex!important;
  gap:12px!important;
  align-items:center!important;
  height:100%!important;
  padding-top:2px!important;
}

.bmy-local-card .bmy-main-icon{
  width:56px!important;
  height:56px!important;
  border-radius:13px!important;
  border:2px solid rgba(255,255,255,.86)!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 56px!important;
  background:rgba(255,255,255,.08)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1!important;
  text-shadow:0 1px 0 rgba(0,0,0,.12)!important;
}

.bmy-local-card .bmy-head-title{
  margin:0!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.08!important;
  text-transform:uppercase!important;
  letter-spacing:-.03em!important;
  max-width:160px!important;
  color:#fff!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}

.bmy-local-card .bmy-info-box{
  margin-top:-1px!important;
  background:#fff!important;
  border-radius:0 0 14px 14px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  position:relative!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
  overflow:hidden!important;
}
.bmy-local-card .bmy-info-box:before{
  content:""!important;
  position:absolute!important;
  top:18px!important;
  bottom:18px!important;
  left:50%!important;
  width:1px!important;
  background:#dfe5ee!important;
}

.bmy-local-card .bmy-info{
  min-height:96px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  padding:12px 8px 10px!important;
}

.bmy-local-card .bmy-small-icon{
  width:45px!important;
  height:45px!important;
  border-radius:13px!important;
  background:var(--tint)!important;
  display:grid!important;
  place-items:center!important;
  margin-bottom:7px!important;
  color:var(--c1,#f72585)!important;
  font-size:24px!important;
  line-height:1!important;
}
.bmy-local-card .bmy-small-icon svg{
  width:24px!important;
  height:24px!important;
  stroke:#f72585!important;
  fill:none!important;
  stroke-width:2.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.bmy-local-card .bmy-info strong{
  display:block!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1.05!important;
  margin-bottom:3px!important;
  max-width:105px!important;
  color:#111827!important;
}
.bmy-local-card .bmy-info small{
  display:block!important;
  font-size:8.7px!important;
  color:#6b7280!important;
  font-weight:800!important;
  line-height:1.05!important;
  max-width:115px!important;
}

.bmy-local-card .bmy-card-body{padding:15px 13px 12px!important;}

.bmy-local-card .bmy-desc{
  margin:0!important;
  color:#344155!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.45!important;
  height:47px!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
}

.bmy-local-card .bmy-hours{
  margin:12px 0 14px!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,var(--tint),#fff)!important;
  color:var(--c1,#f72585)!important;
  font-size:10px!important;
  font-weight:900!important;
  padding:8px 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:34px!important;
}
.bmy-local-card .bmy-clock{
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  border:2px solid currentColor!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 18px!important;
  font-size:9px!important;
  line-height:1!important;
}

.bmy-local-card .bmy-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 7px!important;
  margin-bottom:20px!important;
  min-height:28px!important;
}
.bmy-local-card .bmy-chip{
  display:inline-flex!important;
  align-items:center!important;
  font-size:9px!important;
  font-weight:900!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  line-height:1!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
}
.bmy-local-card .bmy-basic{background:#fff0f6!important;color:var(--pink)!important;border-color:#ffd6e7!important;}
.bmy-local-card .bmy-open.is-open{background:#edfbdc!important;color:#2b7a16!important;border-color:#d8f3bf!important;}
.bmy-local-card .bmy-open.is-closed{background:#fff1f2!important;color:#e11d48!important;border-color:#ffe4e6!important;}
.bmy-local-card .bmy-promo{background:#fff7ed!important;color:#ea580c!important;border-color:#fed7aa!important;}
.bmy-local-card .bmy-tag{background:#f5f7fa!important;color:#4b5563!important;border-color:#e8edf2!important;}

.bmy-local-card .bmy-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.bmy-local-card .bmy-phone{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.bmy-local-card .bmy-wa{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  background:#25d366!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 26px!important;
  font-size:16px!important;
  font-weight:900!important;
  text-decoration:none!important;
  line-height:1!important;
}
.bmy-local-card .bmy-number{
  font-size:13px!important;
  font-weight:900!important;
  color:#0b1220!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.bmy-local-card .bmy-details{
  height:43px!important;
  min-width:112px!important;
  border-radius:8px!important;
  border:2px solid var(--pink)!important;
  color:var(--pink)!important;
  background:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  padding:0 12px!important;
}
.bmy-local-card .bmy-details span{font-size:19px!important;line-height:1!important;margin-top:-1px!important;}

@media(max-width:1040px){
  .business-grid .business-card.bmy-local-card,
  .gl-rail .business-card.bmy-local-card{max-width:340px;}
}
@media(max-width:600px){
  .business-card.bmy-local-card{border-radius:18px!important;}
  .bmy-local-card .bmy-card-head{height:108px!important;}
  .bmy-local-card .bmy-head-title{font-size:18px!important;}
  .bmy-local-card .bmy-desc{font-size:11px!important;height:auto!important;min-height:46px!important;}
  .bmy-local-card .bmy-details{min-width:118px!important;}
  .bmy-local-card .bmy-number{font-size:13px!important;}
}
@media(max-width:360px){
  .bmy-local-card .bmy-actions{gap:8px!important;}
  .bmy-local-card .bmy-details{min-width:105px!important;padding:0 9px!important;}
  .bmy-local-card .bmy-number{max-width:112px!important;}
}

/* BúscameYa - Control comercial de contacto directo */
.bmy-local-card .bmy-wa.is-locked{
  background:#eef2f7!important;
  color:#94a3b8!important;
  border:1px solid rgba(15,23,42,.08)!important;
}
.gl-detail-page .profile-readonly-contact.profile-contact-locked{
  background:linear-gradient(135deg, rgba(247,37,133,.08), rgba(255,255,255,.94));
  border:1px solid rgba(247,37,133,.18);
  user-select:none;
}
.gl-detail-page .profile-readonly-contact.profile-contact-locked strong{
  color:#be185d;
}
.gl-detail-page .profile-readonly-contact.profile-contact-locked span{
  color:#64748b;
  font-size:.88rem;
  line-height:1.35;
}
