.home-page .hero{background:linear-gradient(135deg,#ff007f,#9b4dca 50%,#7b2cbf);padding:4rem 0;color:white;text-align:center;margin-bottom:var(--spacing-xl)}@media (max-width:768px){.home-page .hero{padding:2.5rem 0}}.home-page .hero h1{font-size:2rem;margin-bottom:var(--spacing-md)}@media (max-width:768px){.home-page .hero h1{font-size:1.5rem;padding:0 var(--spacing-sm)}}.home-page .search-bar-large{background:white;padding:var(--spacing-xs);border-radius:var(--radius-md);max-width:800px;margin:0 auto;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.home-page .search-form{display:flex;width:100%;gap:4px;align-items:center}.home-page .search-input-query{flex:1.5 1;border:none;padding:12px;font-size:1rem;outline:none;background:transparent}.home-page .location-input-wrapper{flex:1 1}@media (max-width:768px){.home-page .search-bar-large{margin:0 var(--spacing-md);padding:var(--spacing-sm)}.home-page .search-form{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.home-page .location-input-wrapper input,.home-page .search-input-query{width:100%;border:1px solid var(--border)!important;border-radius:var(--radius-sm);padding:12px}.home-page .btn-primary{width:100%;padding:14px}}.home-page .section{margin-bottom:var(--spacing-2xl)}.home-page h2{margin-bottom:var(--spacing-lg);font-size:1.5rem;color:var(--text-main)}.home-page .category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.home-page .category-card{display:flex;flex-direction:column;align-items:center;background:var(--surface);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border);transition:transform .2s,box-shadow .2s}.home-page .category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);color:var(--primary)}.home-page .cat-icon{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.home-page .cat-name{font-weight:600;text-align:center;font-size:.9rem}.home-page .section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.home-page .featured-badge{background:var(--secondary);color:var(--text-main);padding:2px 8px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;text-transform:uppercase}.home-page .items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}@media (max-width:480px){.home-page .items-grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr));gap:var(--spacing-sm)}}.home-page .item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s;display:flex;flex-direction:column}.home-page .item-card:hover{box-shadow:var(--shadow-md)}.home-page .featured-card{border:2px solid var(--secondary)}.home-page .item-image{height:180px;background:#eee;position:relative}.home-page .item-image img{width:100%;height:100%;object-fit:cover}.home-page .featured-tag{position:absolute;top:8px;left:8px;background:var(--secondary);color:var(--text-main);padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:700}.home-page .item-details{padding:var(--spacing-md);display:flex;flex-direction:column;gap:4px}.home-page .item-title{font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-page .item-price{color:var(--primary-dark);font-weight:700;font-size:1.1rem}.home-page .item-meta{color:var(--text-muted);font-size:.85rem;display:flex;justify-content:space-between;margin-top:auto}.home-page .overflow-hidden{overflow:hidden}.home-page .marquee-container{display:flex;overflow:hidden;width:100%;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,black 1%,black 99%,transparent);mask-image:linear-gradient(90deg,transparent,black 1%,black 99%,transparent);padding:10px 0}.home-page .marquee-track{display:flex;gap:var(--spacing-md);width:max-content;animation:scroll-left 40s linear infinite}.home-page .marquee-track:hover{animation-play-state:paused}.home-page .marquee-item{width:250px;flex-shrink:0}@keyframes scroll-left{0%{transform:translateX(0)}to{transform:translateX(calc(-50% - (var(--spacing-md) / 2)))}}