.mall-shell{background:var(--color-bg,#fff);min-height:100dvh}.mall-shell__header{z-index:500;padding:max(16px,calc(env(safe-area-inset-top,0px) + 8px))max(20px,calc(env(safe-area-inset-right,0px) + 4px))14px max(20px,calc(env(safe-area-inset-left,0px) + 4px));background:var(--color-bg,#fff);border-bottom:1px solid var(--color-border,#f1f5f9);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.mall-shell__brand{min-width:0;color:inherit;flex:1;padding-right:8px;text-decoration:none}.mall-shell__right{flex-shrink:0;align-items:center;gap:6px;display:flex}.mall-shell__name{letter-spacing:-.03em;color:var(--color-text,#0f172a);margin:0;font-size:1.35rem;font-weight:700}.mall-shell__tagline{color:var(--color-muted,#64748b);white-space:nowrap;margin:2px 0 0;font-size:.8rem}@media (max-width:768px){.mall-shell__header{padding-top:max(12px,calc(env(safe-area-inset-top,0px) + 4px));padding-left:max(16px,calc(env(safe-area-inset-left,0px) + 4px));padding-right:max(16px,calc(env(safe-area-inset-right,0px) + 4px));justify-content:flex-start}}.mall-shell__tabs{background:var(--color-bg-muted,#f8fafc);z-index:1;border-radius:10px;gap:4px;padding:4px;display:flex;position:relative}.mall-shell__tab{color:var(--color-text-muted,#64748b);pointer-events:auto;z-index:1;border-radius:8px;padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;position:relative}.mall-shell__tab:hover{color:var(--color-text);background:#fffc}.mall-shell__tab--active{color:var(--color-text);background:#fff;box-shadow:0 1px 2px #0000000d}.mall-shell__tab--cta{color:#4f46e5;font-weight:600}.mall-shell__profile-link{background:var(--color-bg-muted,#f1f5f9);width:36px;height:36px;color:inherit;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex;overflow:hidden}.mall-shell__profile-img{object-fit:cover;width:100%;height:100%}.mall-shell__profile-fallback{color:#6366f1;font-size:1rem;font-weight:600}.mall-shell__top-nav{padding:0 max(20px,calc(env(safe-area-inset-right,0px) + 4px))12px max(20px,calc(env(safe-area-inset-left,0px) + 4px));background:var(--color-bg,#fff);border-bottom:1px solid var(--color-border,#f1f5f9);align-items:center;gap:4px;display:flex}.mall-shell__top-nav-item{color:var(--color-text-muted,#64748b);border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.mall-shell__top-nav-item:hover{color:var(--color-text,#0f172a);background:var(--color-bg-muted,#f8fafc)}.mall-shell__top-nav-item--active{color:var(--color-primary,#4f46e5);background:#4f46e514}.mall-shell__top-nav-item--active:hover{color:var(--color-primary,#4338ca);background:#4f46e51f}.mall-shell__top-nav-item--cta{color:var(--color-primary,#4f46e5);font-weight:600}.mall-shell__top-nav-item--cta:hover{color:var(--color-primary,#4338ca)}@media (max-width:768px){.mall-shell__top-nav{display:none}}.mall-shell__search{padding:10px max(16px,calc(env(safe-area-inset-right,0px) + 16px))12px max(16px,calc(env(safe-area-inset-left,0px) + 16px));background:var(--color-bg,#fff);max-width:1200px;margin:0 auto}.mall-shell__content{padding:0 max(16px,calc(env(safe-area-inset-right,0px) + 16px))max(48px,calc(env(safe-area-inset-bottom,0px) + 24px))max(16px,calc(env(safe-area-inset-left,0px) + 16px));max-width:1200px;margin:0 auto}.mall-shell__footer{padding:16px max(16px,calc(env(safe-area-inset-right,0px) + 16px))max(20px,calc(env(safe-area-inset-bottom,0px) + 16px))max(16px,calc(env(safe-area-inset-left,0px) + 16px));border-top:1px solid var(--color-border,#f1f5f9);text-align:center;background:var(--color-bg,#fff)}.mall-shell__footer-links{justify-content:center;gap:24px;display:flex}.mall-shell__footer-links a{color:var(--color-text-muted,#64748b);font-size:.9rem;text-decoration:none}.mall-shell__footer-links a:hover{color:var(--color-text)}.mall-shell__bottom-nav,.global-bottom-nav{display:none}@media (max-width:767px){.mall-shell__bottom-nav,.global-bottom-nav{z-index:200;padding:8px 0 max(8px,env(safe-area-inset-bottom));background:#000000f2;border-top:1px solid #ffffff14;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mall-shell__bottom-item{color:#fff9;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.mall-shell__bottom-item:hover,.mall-shell__bottom-item--active{color:#fff}.mall-shell__bottom-item svg{flex-shrink:0}.mall-shell__bottom-avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.mall-shell__bottom-item--cta{color:var(--color-primary,#6366f1)}.mall-shell__bottom-item--cta:hover{color:var(--color-primary,#818cf8)}.mall-shell:has(.mall-shell__bottom-nav):not([data-page=showcase]) .mall-shell__content{padding-bottom:72px}#page-root.has-global-bottom-nav{padding-bottom:max(72px,calc(72px + env(safe-area-inset-bottom)))}}.mall__header{margin-top:16px;margin-bottom:20px}.mall__title{margin:0 0 4px;font-size:1.5rem;font-weight:700}.mall__subtitle{color:var(--color-muted);margin:0;font-size:.95rem}.mall__clear-search{color:var(--color-primary);margin-top:8px;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-block}.mall__clear-search:hover{text-decoration:underline}.mall__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}@media (max-width:768px){.mall__grid{grid-template-columns:1fr;gap:16px}}@media (min-width:768px){.mall__grid.mall__grid--fav{grid-template-columns:repeat(3,1fr);gap:16px}.mall__grid--fav .mall-card{border-radius:10px}}@media (min-width:1024px){.mall__grid.mall__grid--fav{grid-template-columns:repeat(4,1fr);gap:16px}}@media (min-width:1280px){.mall__grid.mall__grid--fav{grid-template-columns:repeat(5,1fr);gap:18px}}.mall .mall__grid.mall__grid--compact{margin-left:-16px;margin-right:-16px;padding-left:6px;padding-right:6px;grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.mall .mall__grid.mall__grid--compact .mall-card-wrapper{flex-direction:column;min-height:0;display:flex!important}.mall .mall__grid.mall__grid--compact .mall-card{flex-direction:column;flex:1;min-width:0;display:flex!important}.mall .mall__grid.mall__grid--compact .mall-card__cover{flex-shrink:0;overflow:hidden;aspect-ratio:1!important}.mall .mall__grid.mall__grid--compact .mall-card__body{flex-direction:column;flex:1;min-height:72px!important;padding:10px 8px 12px!important;display:flex!important}.mall .mall__grid.mall__grid--compact .mall-card__logo{margin:-28px 0 6px;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}.mall .mall__grid.mall__grid--compact .mall-card__name{-webkit-line-clamp:2;margin:0 0 2px;font-size:.78rem!important}.mall .mall__grid.mall__grid--compact .mall-card__tagline{-webkit-line-clamp:2;margin:0 0 4px;line-height:1.3;font-size:.72rem!important}.mall .mall__grid.mall__grid--compact .mall-card__location,.mall .mall__grid.mall__grid--compact .mall-card__rating{margin-top:2px;font-size:.7rem!important}@media (max-width:767px){.mall .mall__grid.mall__grid--compact{grid-template-columns:repeat(2,1fr)!important}}@media (min-width:768px){.mall .mall__grid.mall__grid--compact{margin-left:0;margin-right:0;padding-left:0;padding-right:0;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.mall .mall__grid.mall__grid--compact .mall-card__body{min-height:72px!important;padding:10px 8px 12px!important}}@media (min-width:1024px){.mall .mall__grid.mall__grid--compact{grid-template-columns:repeat(4,1fr)!important;gap:16px!important}.mall .mall__grid.mall__grid--compact .mall-card{border-radius:10px}.mall .mall__grid.mall__grid--compact .mall-card__cover{border-radius:10px 10px 0 0}.mall .mall__grid.mall__grid--compact .mall-card__body{min-height:80px!important;padding:12px 10px 14px!important}.mall .mall__grid.mall__grid--compact .mall-card__name{font-size:.82rem!important}}@media (min-width:1280px){.mall .mall__grid.mall__grid--compact{grid-template-columns:repeat(5,1fr)!important;gap:18px!important}}.mall-card-wrapper{position:relative}.mall-card__fav-wrap{z-index:2;position:absolute;top:8px;right:8px}.mall-card__fav{cursor:pointer;width:36px;height:36px;color:var(--color-text-muted,#64748b);background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex}.mall-card__fav:hover{color:#e11d48;background:#fff}.mall-card__fav[aria-pressed=true]{color:#e11d48}.mall-card{background:var(--color-bg);border:1px solid var(--color-border,#e2e8f0);color:inherit;border-radius:12px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block;overflow:hidden}.mall-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.mall-card__cover{aspect-ratio:16/10;background:var(--color-bg-muted,#f1f5f9);position:relative}.mall-card__img{object-fit:cover}.mall-card__placeholder{background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%);width:100%;height:100%}.mall-card__body{padding:16px}.mall-card__logo{border:2px solid var(--color-bg);background:var(--color-bg-muted,#f1f5f9);border-radius:50%;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px;margin:-32px 0 8px;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 2px 4px #0000001a}.mall-card__logo-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.mall-card__name{margin:0 0 4px;font-size:1rem;font-weight:600}.mall-card__tagline{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.mall-card__location{color:var(--color-muted);font-size:.8rem}.mall-card__rating{color:var(--color-muted);margin-top:8px;font-size:.8rem}.mall-card__reviews{margin-left:4px}.mall__empty{text-align:center;background:var(--color-bg-muted);border-radius:12px;grid-column:1/-1;padding:48px 24px}.mall__empty p{color:var(--color-muted);margin:0 0 16px}.mall__cta{color:#fff;background:#4f46e5;border-radius:8px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.mall__cta:hover{background:#4338ca}
