.market-home{background:#f5faf8;min-height:calc(100vh - 72px);padding-top:72px}.market-header{background:rgba(255,255,255,.96)}.market-icon{position:relative;color:var(--deep);text-decoration:none;font-size:20px;width:35px;height:35px;display:grid;place-items:center}.cart-count{position:absolute;right:-3px;top:-3px;background:var(--coral);color:#fff;border-radius:50%;font-size:9px;min-width:15px;height:15px;text-align:center;padding-top:2px}.market-hero{background:linear-gradient(120deg,#073e35,#0d6b58);color:#fff;padding:27px max(18px,calc((100% - 1200px)/2)) 34px}.market-search{display:flex;max-width:720px;background:#fff;border-radius:13px;overflow:hidden;margin-bottom:28px}.market-search span{color:var(--muted);padding:13px 0 13px 15px;font-size:21px}.market-search input{border:0;outline:0;flex:1;padding:12px;font:14px inherit;color:var(--ink)}.market-search button{border:0;background:var(--gold);color:#173e35;font-weight:850;padding:0 20px;cursor:pointer}.market-hero-copy .eyebrow{color:#9de1cf}.market-hero h1{font-size:clamp(30px,5vw,52px);margin:10px 0}.market-hero h1 strong{color:#b9efdf}.market-hero p{opacity:.8}.ad-carousel{max-width:1200px;margin:18px auto 0;padding:0 18px;position:relative}.ad-carousel.hidden{display:none}.ad-slide{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);height:118px}.ad-slide img{width:46%;height:100%;object-fit:cover;background:var(--mint)}.ad-slide>div{padding:15px}.ad-slide span{display:inline-block;background:#ffebe7;color:#c55f50;border-radius:5px;padding:3px 7px;font-size:9px;font-weight:900;letter-spacing:.1em}.ad-slide b{display:block;font-size:19px;margin:8px 0 4px;letter-spacing:-.02em}.ad-slide small{color:var(--muted);font-size:11px}.ad-dots{position:absolute;bottom:9px;left:64%;display:flex;gap:5px}.ad-dots i{width:6px;height:6px;border-radius:50%;background:#cfe4dd}.ad-dots i.on{background:var(--deep);width:16px;border-radius:5px}
.feed-section{max-width:1200px;margin:26px auto 0;padding:0 18px}.feed-head{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.feed-head h2{margin:0;font-size:23px}.feed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.time-feed{background:linear-gradient(120deg,#f2fbf8,#e7f6f1);border:1px solid #d9efe8;border-radius:22px;padding:20px 18px 24px}.shop-name a{color:inherit;text-decoration:none}.cart-count.pulse-on{transform:scale(1.35)}
@media(max-width:700px){.ad-slide{height:96px}.ad-slide img{width:52%}.ad-slide b{font-size:15px}.ad-slide small{display:none}.ad-dots{left:auto;right:14px;bottom:7px}.feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-section{padding:0 12px}.feed-head h2{font-size:18px}.time-feed{margin-top:20px;border-radius:18px;padding:16px 12px 20px}}.market-shell{max-width:1200px;margin:0 auto;padding:22px 18px 110px;display:grid;grid-template-columns:210px 1fr;gap:25px}.market-sidebar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;height:max-content;box-shadow:var(--shadow)}.market-sidebar h3{margin:0 0 13px;font-size:15px}.market-cat{display:block;width:100%;border:0;background:transparent;text-align:left;color:var(--muted);padding:10px;border-radius:9px;font:600 12px inherit;cursor:pointer}.market-cat.active,.market-cat:hover{background:var(--mint);color:var(--deep)}.market-sidebar hr{border:0;border-top:1px solid var(--line);margin:15px 0}.seller-link{color:var(--deep);font-size:12px;font-weight:800;text-decoration:none}.market-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.market-toolbar h2{margin:6px 0;font-size:25px}.market-toolbar select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px;color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 6px 20px rgba(13,107,88,.06);transition:.2s}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-photo{position:relative;height:155px;display:block;background:var(--mint)}.product-photo img{width:100%;height:100%;object-fit:cover}.product-photo span{position:absolute;left:9px;top:9px;background:#fff;color:var(--deep);border-radius:5px;padding:4px 6px;font-size:9px;font-weight:850}.product-body{padding:12px}.shop-name{color:var(--teal);font-size:10px;font-weight:800}.product-body h3{font-size:14px;margin:6px 0}.product-body p{font-size:11px;color:var(--muted);line-height:1.4;height:31px}.product-price{color:var(--deep);font-size:15px}.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#f0a52c;font-size:10px}.cart-add{border:0;border-radius:7px;background:var(--mint);color:var(--deep);padding:7px;font:800 10px inherit;cursor:pointer}@media(max-width:900px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.market-shell{grid-template-columns:1fr;padding-top:14px}.market-sidebar{display:flex;gap:5px;overflow:auto;padding:9px}.market-sidebar h3,.market-sidebar hr,.seller-link{display:none}.market-cat{white-space:nowrap;width:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-photo{height:140px}.market-toolbar{align-items:start}.market-toolbar h2{font-size:20px}}
.feed-section .feed-grid,.feed-grid{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:6px}.feed-section .feed-grid::-webkit-scrollbar{display:none}.feed-section .product-card{flex:0 0 40%;min-width:0;scroll-snap-align:start;border-radius:13px}.feed-section .product-photo{height:128px}.feed-section .product-body{padding:10px}.feed-section .product-body h3{font-size:12.5px;margin:6px 0 4px;line-height:1.3}.feed-section .product-body p{font-size:10px;height:28px;line-height:1.4}.feed-section .shop-name{font-size:9px}.feed-section .product-price{font-size:13.5px}.feed-section .product-footer{margin-top:10px;font-size:9.5px}.feed-section .cart-add{padding:6px 8px;font-size:9.5px}.feed-section .product-photo span{font-size:8.5px;padding:4px 6px}@media(min-width:1001px){.feed-section .product-card{flex-basis:17.6%;max-width:17.6%}}
/* Batasi deskripsi produk maksimal 2 baris pada semua kartu */
.product-body p,.product-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:auto;max-height:calc(1.4em * 2);text-overflow:ellipsis}
.feed-section .product-body p{-webkit-line-clamp:2;height:auto;max-height:calc(1.4em * 2)}

/* Produk dan Layanan: full width, grid 5 kolom wrap (tanpa scroll) */
.market-shell{grid-template-columns:1fr;gap:0}
.market-content{width:100%;min-width:0}
.market-content .product-grid,.market-content .product-card{min-width:0}
.market-content .product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;overflow:visible}
@media(max-width:1200px){.market-content .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.market-content .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.market-content .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Select urutan diperpendek agar judul tidak turun 2 baris */
.market-toolbar h2{white-space:nowrap}
.market-toolbar select{width:112px;padding:8px 6px;text-align:center}
.market-toolbar{gap:12px}

/* Nama & deskripsi produk dapat diklik — tampilan tetap identik */
.product-title-link,.product-desc-link{color:inherit;text-decoration:none;cursor:pointer;transition:color .15s}
.product-title-link:hover{color:var(--deep)}
.product-body p a.product-desc-link{color:inherit}
.product-body p a.product-desc-link:hover{color:var(--teal)}
/* ================= SECTION PROMO — latar berbeda, kartu horizontal ================= */
.promo-band{margin-top:24px;padding:26px 0 30px;background:linear-gradient(135deg,#052f29 0%,#0a6a56 55%,#13927a 100%);position:relative;overflow:hidden}
.promo-band:before{content:"";position:absolute;right:-120px;top:-90px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.06)}
.promo-band:after{content:"";position:absolute;left:-70px;bottom:-120px;width:260px;height:260px;border-radius:50%;background:rgba(255,190,80,.10)}
.promo-inner{max-width:1200px;margin:0 auto;padding:0 18px;position:relative;z-index:1}
.promo-head .eyebrow{color:#ffd98a}.promo-head h2{color:#fff;font-size:clamp(23px,3vw,31px);margin:9px 0 6px;letter-spacing:-.03em}
.promo-head p{color:#bfe9dd;font-size:12.5px;margin:0 0 19px}
.promo-rail{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;scroll-snap-type:x mandatory}
.promo-rail::-webkit-scrollbar{display:none}
.promo-card{flex:0 0 88%;max-width:640px;display:flex;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 16px 34px rgba(3,44,36,.28);scroll-snap-align:start;transition:transform .2s}
.promo-card:hover{transform:translateY(-3px)}
.promo-thumb{position:relative;flex:0 0 42%}
.promo-thumb img{width:100%;height:100%;min-height:170px;object-fit:cover;background:var(--mint)}
.promo-pct{position:absolute;left:11px;top:11px;background:linear-gradient(135deg,#ffb545,#ff7a4d);color:#fff;font-weight:900;font-size:12px;padding:6px 10px;border-radius:8px;box-shadow:0 6px 14px rgba(255,122,77,.4)}
.promo-info{flex:1;padding:15px 16px;display:flex;flex-direction:column;min-width:0}
.promo-shop{color:var(--teal);font-size:9.5px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.promo-info h3{font-size:15px;margin:7px 0 9px;line-height:1.3}
.promo-prices{display:flex;align-items:baseline;gap:9px}
.promo-prices b{color:var(--deep);font-size:20px;letter-spacing:-.03em}
.promo-prices s{color:#a7b8b3;font-size:12px}
.promo-meta{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding-top:12px}
.promo-dots{color:#e8863c;font-size:9.5px;font-weight:750}
.promo-tag{position:absolute;right:9px;top:9px;background:linear-gradient(135deg,#ffb545,#ff7a4d);color:#fff;font-weight:900;font-size:9.5px;padding:4px 7px;border-radius:6px;z-index:2}
.price-old{color:#a7b8b3;font-weight:600;font-size:10.5px;margin-right:4px}
@media(min-width:1001px){.promo-card{flex-basis:30.6%;max-width:none}.promo-thumb img{min-height:150px}}
@media(max-width:640px){.promo-card{flex-basis:90%}.promo-thumb{flex-basis:44%}.promo-thumb img{min-height:150px}.promo-info{padding:12px}.promo-prices b{font-size:17px}}
