:root{
  --brand-yellow:#C4D814;
  --brand-turquoise:#40E0D0;
  --brand-bg:#FDFCFB;
  --brand-text:#424242;
  --muted:#666;
  --card:#ffffff;
  --border:#eaeaea;
  --chip:#f2f6f7;
  --shadow:0 6px 24px rgba(0,0,0,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Nunito',Arial,sans-serif;background:var(--brand-bg);color:var(--brand-text)}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;border-radius:12px}

/* Header / Nav */
.header{position:sticky;top:0;z-index:20;background:rgba(253,252,251,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;gap:12px;align-items:center;padding:12px 0}
.logo{display:flex;gap:10px;align-items:center}
.brand-title{font-family:'Sansita',serif;font-size:22px}
.nav{display:flex;gap:12px;align-items:center;margin-left:auto}
.nav a{padding:8px 10px;border-radius:10px}
.nav a:hover{background:var(--chip)}
.cta{background:var(--brand-yellow);border:1px solid #a1b30f;padding:10px 14px;border-radius:12px;font-weight:800}
.cta.sec{background:var(--brand-turquoise);border:1px solid #22cfc1}

/* Search + filters */
.search-wrap{padding:18px 0 8px;display:grid;gap:12px}
.search-bar{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px;box-shadow:var(--shadow)}
.search-bar input{border:0;outline:0;padding:12px;background:transparent;font-size:16px}
.search-bar button{border:0;padding:12px 16px;border-radius:10px;background:var(--brand-turquoise);font-weight:800}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{background:var(--chip);padding:8px 12px;border-radius:999px;border:1px solid var(--border);display:inline-flex;gap:8px;align-items:center;font-weight:700;font-size:14px}
.select,.range,.toggle{background:#fff;border:1px solid var(--border);padding:8px 12px;border-radius:12px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow)}
.range input{width:160px}

/* Layout principal */
.main-grid{display:grid;grid-template-columns:240px 1fr 240px;gap:16px;align-items:start;padding:12px 0 28px}
.rail{position:sticky;top:88px;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 120px);overflow:auto;padding-right:4px}
.rail-title{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:14px;padding:4px 2px}

.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}
.product-mini{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center}
.price{font-weight:900}
.badge{background:var(--brand-yellow);padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid #a1b30f}

/* Feed estilo “red social” */
.feed{display:grid;gap:16px}
.post-header{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.avatar{width:44px;height:44px;border-radius:999px;background:linear-gradient(135deg,var(--brand-yellow),var(--brand-turquoise));border:2px solid #fff}
.biz{display:flex;flex-direction:column}
.biz .name{font-weight:900}
.biz .meta{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}
.post-media{border-radius:12px;overflow:hidden;margin:8px 0}
.actions{display:flex;gap:10px;align-items:center;padding:6px 0}
.actions button{border:1px solid var(--border);background:#fff;padding:8px 12px;border-radius:10px;display:inline-flex;gap:8px;align-items:center}

/* Footer */
.footer{border-top:1px solid var(--border);padding:24px 0;margin-top:20px;background:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px}
.newsletter{display:flex;gap:8px}
.newsletter input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px}

/* Otros */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:20px 0}
.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#fff}
.small{font-size:12px;color:var(--muted)}
.flag{font-size:16px}

/* Responsive */
@media (max-width:1024px){.main-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.nav .hide-sm{display:none}}
