.catlo-discover-layout {
  --catlo-feed-primary:#087f6f;
  --catlo-feed-primary-hover:#06675b;
  --catlo-feed-tab-bg:#e8eef3;
  --catlo-feed-tab-text:#334155;
  --catlo-feed-tab-active-bg:#087f6f;
  --catlo-feed-tab-active-text:#fff;
  --catlo-feed-border:#dbe4ec;
  --catlo-feed-muted:#526477;
  --catlo-feed-card-bg:#fff;
  --catlo-feed-fallback-bg:linear-gradient(145deg,#e8f5f2,#e9eef5);
  width:100%;
  max-width:1280px;
  margin:32px auto 36px;
  padding:0 16px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:24px;
  align-items:start;
}
.catlo-feed {
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.catlo-discover-layout__feed{min-width:0}
.catlo-feed>header {
  display:flex;
  gap:12px;
  margin-bottom:16px;
  align-items:flex-start;
  justify-content:flex-start;
  flex-direction:column;
}
.catlo-feed h2 {
  margin:2px 0 0;
  color:var(--catlo-feed-primary);
  font-size:clamp(1.35rem,3vw,2rem);
  line-height:1.2;
}
.catlo-feed header span {
  color:var(--catlo-feed-primary);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.catlo-feed nav {
  display:flex;
  width:100%;
  max-width:100%;
  gap:7px;
  justify-content:flex-start;
  flex-wrap:wrap;
  overflow:visible;
}
.catlo-feed nav button,
.catlo-feed-card button {
  min-height:42px;
  border:1px solid transparent;
  border-radius:999px;
  cursor:pointer;

  font-weight:700;
  white-space:nowrap;
}
.catlo-feed nav button {
  padding:9px 14px;
  background:var(--catlo-feed-tab-bg);
  color:var(--catlo-feed-tab-text);
}
.catlo-feed nav button:hover {
  border-color:#b8c8d5;
  background:#dce6ed;
  text-decoration:none;
}
.catlo-feed nav button[aria-selected=true] {
  border-color:var(--catlo-feed-tab-active-bg);
  background:var(--catlo-feed-tab-active-bg);
  color:var(--catlo-feed-tab-active-text);
}
.catlo-feed nav button:disabled {
  background:#f1f4f7;
  color:#8491a0;
  cursor:not-allowed;
}
.catlo-feed button:focus-visible,
.catlo-feed a:focus-visible {
  outline:3px solid rgba(8,127,111,.3);
  outline-offset:3px;
}
.catlo-feed a:hover,
.catlo-feed button:hover {
  text-decoration:none;
}
.catlo-feed__grid {
  display:grid;
  min-height:240px;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
}
.catlo-feed-card {
  display:flex;
  position:relative;
  z-index:1;
  min-width:0;
  overflow:visible;
  flex-direction:column;
  border:1px solid var(--catlo-feed-border);
  border-radius:14px;
  background:var(--catlo-feed-card-bg);
  box-shadow:0 4px 14px rgba(15,23,42,.035);
}
.catlo-feed-card.is-overlay-open,
.catlo-feed-card:focus-within {
  z-index:50;
}
.catlo-feed-card__media {
  display:grid;
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:13px 13px 0 0;
  place-items:center;
  background:var(--catlo-feed-fallback-bg);
  color:var(--catlo-feed-primary);
  text-decoration:none;
}
.catlo-feed-card__media img {
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  background:#eef2f5;
}
.catlo-feed-card__media img.is-broken {display:none}
.catlo-feed-card__fallback {
  display:flex;
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  padding:18px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:9px;
  color:#28665e;
  text-align:center;
  background:var(--catlo-feed-fallback-bg,#e8f5f2);
}
.catlo-feed-card__fallback .catlo-text-cover{width:100%;height:100%;border-radius:0}
.catlo-feed-card__fallback--tone-1{background:linear-gradient(145deg,#e8f2ff,#e9eef8)}
.catlo-feed-card__fallback--tone-2{background:linear-gradient(145deg,#f5edff,#eeeaf8)}
.catlo-feed-card__fallback--tone-3{background:linear-gradient(145deg,#fff2df,#f5eadc)}
.catlo-feed-card__fallback--tone-4{background:linear-gradient(145deg,#e8f7ef,#e3f0e9)}
.catlo-feed-card__fallback svg {
  width:31px;
  height:31px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.6;
}
.catlo-feed-card__fallback>span {
  display:-webkit-box;
  overflow:hidden;
  color:#385f5a;
  font-size:.78rem;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-transform:none;
}
.catlo-feed-card__body {
  display:flex;
  min-height:0;
  padding:12px;
  flex:1;
  flex-direction:column;
}
.catlo-feed-card__reason {
  color:var(--catlo-feed-primary);
  font-size:12.5px;
  line-height:1.35;
  font-weight:700;
}
.catlo-feed-card h3 {
  display:-webkit-box;
  min-height:2.7em;
  max-height:4.05em;
  margin:5px 0 0;
  overflow:hidden;
  color:#172033;
  font-size:1rem;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.catlo-feed-card h3 a {color:inherit;text-decoration:none}
.catlo-feed-card h3 a:hover {color:var(--catlo-feed-primary-hover)}
.catlo-feed-card__price {
  display:block;
  margin-top:8px;
  overflow:hidden;
  color:#172033;
  font-size:.95rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.catlo-feed-card__seller {
  position:relative;
  min-height:1.35em;
  margin:6px 0 0;
}
.catlo-feed-card__seller-trigger{display:flex;min-height:44px!important;padding:4px 0!important;align-items:center;gap:7px;border:0!important;background:transparent!important;color:var(--catlo-feed-muted);font-size:.82rem;text-decoration:none}
.catlo-feed-card__seller-trigger img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.catlo-feed-card__seller-identity{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden}
.catlo-feed-card__seller-name,.catlo-feed-card__seller-location{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catlo-feed-card__seller-name{flex:0 1 auto}
.catlo-feed-card__seller-location{flex:1 1 auto}
.catlo-feed-card__seller-separator{flex:0 0 auto}
.catlo-feed-card__verified{display:inline-grid;width:17px;height:17px;border-radius:50%;place-items:center;background:#087f6f;color:#fff;font-size:.7rem}
.catlo-feed .catlo-feed-card__actions {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
  overflow:visible;
}
.catlo-feed-card__menu{position:relative;width:42px;flex:0 0 42px}.catlo-feed-card__menu summary{font-size:18px;font-weight:700;line-height:1}.catlo-feed-card__menu summary::-webkit-details-marker{display:none}.catlo-feed-card__menu>div{position:absolute;z-index:20;right:0;bottom:44px;width:230px;padding:6px;border:1px solid var(--catlo-feed-border);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18)}.catlo-feed-card__menu button{display:flex;width:100%;min-height:44px;margin:0;padding:10px 12px;box-sizing:border-box;align-items:center;border:0;border-radius:8px;background:#fff;color:#334155;font-size:13px;font-weight:600;line-height:1.35;text-align:left;white-space:normal}.catlo-feed-card__menu button:hover{background:#eef7f5;color:#06675b}
.catlo-feed-card__menu:not([open])>div{display:none}
.catlo-feed-card__menu[open]{z-index:60}
.catlo-feed__more-row{display:flex;width:100%;margin-top:18px;align-items:center;justify-content:center}
.catlo-feed__more[hidden] {display:none}
.catlo-feed-card--removing {
  opacity:0;
  transform:scale(.97);
  transition:opacity .18s ease,transform .18s ease;
}
.catlo-feed__skeleton {
  aspect-ratio:4/3;
  border-radius:14px;
  background:linear-gradient(90deg,#edf2f5 25%,#f7f9fa 50%,#edf2f5 75%);
  background-size:200% 100%;
  animation:catlo-feed-shimmer 1.2s linear infinite;
}
.catlo-feed-error {grid-column:1/-1;text-align:center}
.catlo-feed__status{min-height:1.4em;margin:10px auto 0;color:#526477;text-align:center;font-size:.84rem}.catlo-feed__status:empty{margin:0;min-height:0}.catlo-feed__status[data-kind=error]{color:#b42318}
@keyframes catlo-feed-shimmer {to{background-position:-200% 0}}
@media(max-width:1199px) and (min-width:900px) {
  .catlo-discover-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}
  .catlo-feed__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media(max-width:1100px) {
  .catlo-feed>header {align-items:flex-start;flex-direction:column}
  .catlo-feed nav {flex-wrap:wrap}
}
@media(max-width:900px) {
  .catlo-discover-layout{grid-template-columns:1fr;margin:28px auto 30px}
  .catlo-feed__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .catlo-discover-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:599px) {
  .catlo-discover-layout{margin:24px auto 26px;padding:0 14px}
  .catlo-feed>header {display:block;margin-bottom:14px}
  .catlo-feed nav {
    width:100%;
    margin-top:11px;
    padding-bottom:3px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:0 24px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .catlo-feed nav::-webkit-scrollbar {display:none}
  .catlo-feed nav button{flex:0 0 auto;min-height:42px;padding:0 16px;font-size:14px;scroll-snap-align:start}
  .catlo-feed nav button:last-child{margin-right:24px}
  .catlo-feed-card__body {padding:10px}
  .catlo-feed .catlo-feed-card__actions {gap:8px}
}

@media(max-width:599px) {
  .catlo-homepage.catlo-discover-layout{display:block;width:100vw;min-width:0;max-width:none;margin:24px 0 28px calc(50% - 50vw);padding:0 16px}
  .catlo-homepage.catlo-discover-layout .catlo-discover-layout__feed{width:100%;min-width:0}
  .catlo-homepage.catlo-discover-layout .catlo-feed>header{margin-bottom:16px}
  .catlo-homepage.catlo-discover-layout .catlo-feed h2{margin:0;font-size:23px;line-height:1.25}
  .catlo-homepage.catlo-discover-layout .catlo-feed nav{margin:12px 0 0;padding:0 16px 4px 0;gap:8px;overflow-x:auto;overflow-y:hidden}
  .catlo-homepage.catlo-discover-layout .catlo-feed__grid{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;gap:16px;min-height:280px}
  .catlo-homepage.catlo-discover-layout .catlo-discover-sidebar{width:100%;min-width:0;margin-top:24px;grid-template-columns:1fr}
  .catlo-homepage.catlo-discover-layout .catlo-feed-card{width:100%;min-width:0;max-width:none;border-radius:14px}
  .catlo-homepage.catlo-discover-layout .catlo-feed-card__media{width:100%;aspect-ratio:4/3;border-radius:13px 13px 0 0}
  .catlo-feed-card__fallback{padding:24px}
  .catlo-feed-card__fallback svg{width:42px;height:42px}
  .catlo-feed-card__fallback>span{font-size:13px;line-height:1.35}
  .catlo-feed-card__body{padding:14px 16px 16px}
  .catlo-feed-card__reason{display:inline-flex;width:fit-content;max-width:100%;min-height:24px;padding:0 9px;align-items:center;border-radius:999px;background:#e8f5f2;font-size:12.5px;line-height:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .catlo-feed-card h3{min-height:2.8em;max-height:2.8em;margin-top:8px;font-size:16px;line-height:1.4;-webkit-line-clamp:2}
  .catlo-feed-card__price{min-height:1.4em;margin-top:10px;font-size:18px;line-height:1.4;font-weight:700}
  .catlo-feed-card__seller{margin-top:12px}
  .catlo-feed-card__seller-trigger{min-height:44px!important;padding:4px 0!important;gap:8px;font-size:14px;line-height:1.35}
  .catlo-feed-card__seller-trigger img{width:30px;height:30px;flex:0 0 30px}
  .catlo-feed-card__seller-identity{gap:6px}
  .catlo-feed .catlo-feed-card__actions{gap:10px;padding-top:14px}
  .catlo-feed-card__actions>.catlo-ui-button--follow-compact{width:auto;min-width:0;min-height:42px;padding:0 16px;font-size:14px;line-height:1.3}
  .catlo-feed-card.is-overlay-open{z-index:10030}
  .catlo-feed-card__menu{width:42px;flex-basis:42px}
  .catlo-feed-card__menu summary{width:42px;min-height:42px;box-sizing:border-box}
  .catlo-feed-card__menu>div{position:fixed;z-index:10031;right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:auto;padding:8px;border-radius:16px;box-shadow:0 18px 44px rgba(15,23,42,.28)}
  .catlo-feed-card__menu button{min-height:48px;padding:12px 14px;font-size:14px}
  .catlo-feed__more-row{margin-top:20px}.catlo-feed__more{width:auto;min-height:44px;font-size:14px}
  body:has(.catlo-homepage) .catlo-floating-chat{right:16px;bottom:calc(72px + env(safe-area-inset-bottom));transition:opacity .15s ease,transform .15s ease}
  body:has(.catlo-feed-card__menu[open]) .catlo-floating-chat,
  body .catlo-floating-chat.catlo-floating-chat--avoid-feed-action{opacity:0;pointer-events:none;transform:translateX(calc(100% + 24px))}
}

.catlo-homepage .catlo-discover-sidebar{display:grid;min-width:0;gap:15px;align-items:start}
.catlo-homepage .catlo-discover-sidebar__card{min-width:0;padding:14px;border:1px solid var(--catlo-feed-border);border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.catlo-homepage .catlo-discover-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
.catlo-homepage .catlo-discover-sidebar__header h3{margin:0;color:#172033;font-size:17px;line-height:1.3;font-weight:700}
.catlo-homepage .catlo-discover-people{display:grid;margin:0;padding:0;gap:2px;list-style:none}
.catlo-homepage .catlo-discover-person{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;margin:0;padding:7px 4px;border-radius:8px;transition:background-color .16s ease}
.catlo-homepage .catlo-discover-person:hover{background:#f2f8f6}
.catlo-homepage .catlo-discover-person__avatar{display:grid;position:relative;width:42px;height:42px;overflow:hidden;border-radius:50%;place-items:center;background:#e7f3f0;color:#087f6f;font-weight:700;text-decoration:none}
.catlo-homepage .catlo-discover-person__avatar--business{border-radius:9px}
.catlo-homepage .catlo-discover-person__avatar img{position:absolute;inset:0;width:42px;height:42px;margin:0;object-fit:cover}
.catlo-homepage .catlo-discover-person__body{display:grid;min-width:0;gap:1px}
.catlo-homepage .catlo-discover-person__name{overflow:hidden;color:#172033;font-size:16px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.catlo-homepage .catlo-discover-person__body span,.catlo-homepage .catlo-discover-person__body small{display:block;overflow:hidden;color:#526477;font-size:14px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.catlo-homepage .catlo-discover-person__body small{color:#087f6f}
.catlo-homepage .catlo-discover-person__action{min-height:38px;padding:9px 5px;color:#087f6f;font-size:12.5px;font-weight:600;white-space:nowrap}
.catlo-homepage .catlo-discover-sidebar a:hover,.catlo-homepage .catlo-discover-sidebar a:focus{text-decoration:none}
.catlo-homepage .catlo-discover-sidebar a:focus-visible{outline:3px solid rgba(8,127,111,.3);outline-offset:2px}
.catlo-homepage .catlo-discover-person__action:hover,.catlo-homepage .catlo-discover-person__name:hover{color:#06675b}
.catlo-homepage .catlo-discover-sidebar__empty{margin:0;color:#526477;font-size:13px;line-height:1.5}
.catlo-homepage .catlo-discover-tips{display:grid;gap:2px}
.catlo-homepage .catlo-discover-tips a{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:9px;align-items:center;min-height:44px;padding:9px 4px;border-radius:8px;color:#34495a;font-size:13.5px}
.catlo-homepage .catlo-discover-tips a:hover{background:#f2f8f6;color:#06675b}
.catlo-homepage .catlo-discover-tips i{color:#087f6f;text-align:center}
.catlo-homepage .catlo-discover-tips b{font-size:1.25rem;font-weight:400;transition:transform .16s ease}
.catlo-homepage .catlo-discover-tips a:hover b{transform:translateX(2px)}
.catlo-homepage .catlo-social-stats__list{margin:0}
.catlo-homepage .catlo-today-events{margin-top:14px;padding-top:13px;border-top:1px solid var(--catlo-feed-border)}
.catlo-homepage .catlo-today-events h4{margin:0 0 9px;color:#172033;font-size:14px;line-height:1.35}
.catlo-homepage .catlo-today-events>p{margin:0;color:#64748b;font-size:13px;line-height:1.45}
.catlo-homepage .catlo-today-events ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.catlo-homepage .catlo-today-events li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:start;min-width:0}
.catlo-homepage .catlo-today-events li>a{display:grid;min-width:0;color:#344054;font-size:13px;line-height:1.4;text-decoration:none}
.catlo-homepage .catlo-today-events li strong{font-size:13px;font-weight:700}
.catlo-homepage .catlo-today-events li span{color:#64748b;font-size:12.5px;overflow-wrap:break-word}
.catlo-homepage .catlo-social-stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0}
.catlo-homepage .catlo-social-stat-row dt{color:#526477;font-size:13.5px;line-height:1.4}
.catlo-homepage .catlo-social-stat-row dd{margin:0;color:#172033;font-size:17px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}
.catlo-homepage .catlo-latest-member{margin-top:5px;padding-top:12px;border-top:1px solid #e4ebf0}
.catlo-homepage .catlo-latest-member__label{display:block;margin-bottom:7px;color:#526477;font-size:12.5px}
.catlo-homepage .catlo-latest-member>a{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:9px;align-items:center;min-height:42px;padding:4px;border-radius:8px;color:#172033;font-size:14px;font-weight:600}
.catlo-homepage .catlo-latest-member>a:hover{background:#f2f8f6;color:#06675b}
.catlo-homepage .catlo-latest-member__avatar{display:grid;position:relative;width:34px;height:34px;overflow:hidden;border-radius:50%;place-items:center;background:#e7f3f0;color:#087f6f;font-weight:700}
.catlo-homepage .catlo-latest-member__avatar img{position:absolute;inset:0;width:34px;height:34px;object-fit:cover}
@media(max-width:899px) {
  .catlo-homepage .catlo-discover-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:639px) {
  .catlo-homepage .catlo-discover-sidebar{grid-template-columns:1fr;gap:14px}
}
@media(prefers-reduced-motion:reduce) {
  .catlo-discover-person,.catlo-discover-tips b{transition:none}
  .catlo-discover-tips a:hover b{transform:none}
}
.catlo-nearby-picker{display:flex;margin:14px 0;padding:14px 16px;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe4ea;border-radius:12px;background:#f8fafc}
.catlo-nearby-picker[hidden]{display:none}
.catlo-nearby-picker label{margin:0;color:#334155;font-size:14px;font-weight:700}
.catlo-nearby-picker select{float:none;width:min(100%,260px);height:42px;margin:0;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.catlo-nearby-empty{display:flex;grid-column:1/-1;min-height:120px;padding:24px;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;text-align:center}
.catlo-nearby-empty strong{color:#334155}
