/* ============================================================
   FOODSTOCKS — HOME (front-page)
   Layout terinspirasi easylunches.com. Palet: dominan PUTIH + aksen MERAH.
   Hanya dimuat di front page (lihat functions.php).
   ============================================================ */

/* Override: Home dominan putih (bukan cream) */
.fs-home .fs-section{padding-block:var(--fs-s8)}
.fs-home .fs-section--soft{background:#F7F7F7}
.fs-home .fs-section__title{font-size:var(--fs-h2)}

/* ---------- HERO SLIDER (Eiger-style) ---------- */
.fs-hslider-wrap{padding-top:var(--fs-s5)}
.fs-hslider{position:relative;max-width:var(--fs-container);margin-inline:auto;padding-inline:var(--fs-gutter)}
.fs-hslider__viewport{overflow:hidden;border-radius:var(--fs-radius-lg)}
.fs-hslider__track{display:flex;will-change:transform}
.fs-hslide{position:relative;flex:0 0 100%;min-height:clamp(320px,40vw,470px);display:flex;align-items:center;overflow:hidden}
.fs-hslide__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.fs-hslide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.72) 0%,rgba(15,15,15,.3) 45%,rgba(15,15,15,.05) 100%);z-index:1}
.fs-hslide__inner{position:relative;z-index:2;width:100%}
.fs-hslide__card{max-width:540px;color:#fff}
.fs-hslide__eyebrow{display:inline-block;font-family:var(--fs-font-display);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:#fff;background:var(--fs-red);padding:5px 12px;border-radius:var(--fs-radius-sm);margin-bottom:var(--fs-s4)}
.fs-hslide__title{font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.04;color:#fff;margin:0 0 var(--fs-s3);letter-spacing:-.015em}
.fs-hslide__lead{color:rgba(255,255,255,.9);font-size:1.05rem;max-width:46ch;margin:0 0 var(--fs-s5)}
.fs-hslider__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:rgba(255,255,255,.92);color:var(--fs-ink);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease}
.fs-hslider__arrow:hover{border-color:var(--fs-red);color:var(--fs-red);background:#fff}
.fs-hslider__arrow--prev{left:calc(var(--fs-gutter) - 22px)}
.fs-hslider__arrow--next{right:calc(var(--fs-gutter) - 22px)}
.fs-hslider__dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3}
.fs-hslider__dot{width:9px;height:9px;border-radius:var(--fs-radius-pill);background:rgba(255,255,255,.5);border:none;cursor:pointer;padding:0;transition:.2s ease}
.fs-hslider__dot.is-active{background:#fff;width:24px}

/* Slider versi "plain": tampilkan banner penuh tanpa overlay/teks */
.fs-hslider--plain .fs-hslide{min-height:0;display:block;align-items:initial}
.fs-hslide--img{display:block}
.fs-hslide--img::after{content:none}
.fs-hslide--img img{width:100%;height:auto;display:block}

/* ---------- BELANJA PER KATEGORI — single row, lingkaran (benchmark style) ---------- */
.fs-cattiles-section{padding-block:var(--fs-s7) var(--fs-s6)}
/* Heading row: dua warna ALL CAPS + pill CTA kanan */
.fs-cathead{display:flex;align-items:center;justify-content:space-between;gap:var(--fs-s4);margin-bottom:var(--fs-s4)}
.fs-cathead__title{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;letter-spacing:-.03em;color:var(--fs-ink);margin:0;line-height:1.0}
.fs-cathead__cta{display:inline-flex;align-items:center;gap:6px;background:var(--fs-red);color:#fff;border-radius:var(--fs-radius-lg);padding:11px 26px;font-family:var(--fs-font-display);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap;transition:.15s ease;flex-shrink:0}
.fs-cathead__cta:hover{background:var(--fs-red-dark);color:#fff;transform:translateY(-1px);box-shadow:0 6px 14px -6px rgba(214,0,1,.45)}
/* Garis pembatas di bawah heading */
.fs-cat-rule{height:1px;background:var(--fs-line);margin-bottom:var(--fs-s6)}
/* Strip kategori: single row, scroll horizontal di mobile */
.fs-cattiles{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;padding:6px 0 10px}
.fs-cattiles::-webkit-scrollbar{display:none}
.fs-cattile{flex:0 0 auto;width:140px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;text-decoration:none;padding:0 8px}
.fs-cattile__img{width:110px;height:110px;border-radius:50%;background:#f5f5f5;border:2px solid #eaeaea;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:.22s ease;flex-shrink:0}
.fs-cattile__img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.fs-cattile:hover .fs-cattile__img{border-color:var(--fs-red);border-width:2.5px}
.fs-cattile:hover .fs-cattile__img img{transform:scale(1.06)}
.fs-cattile__label{font-size:.82rem;font-weight:500;color:var(--fs-gray-700);line-height:1.3;font-family:var(--fs-font-body)}
.fs-cattile:hover .fs-cattile__label{color:var(--fs-red);font-weight:600}
.fs-cattile__initial{font-size:2.2rem;font-weight:700;color:var(--fs-red);font-family:var(--fs-font-display)}
/* Desktop: center items jika muat dalam 1 baris */
@media (min-width:768px){.fs-cattiles{justify-content:center}}

/* ---------- HERO BANNER (lama, tak dipakai) ---------- */
.fs-hhero{padding:var(--fs-s5) 0 var(--fs-s7)}
.fs-hhero__banner{position:relative;border-radius:var(--fs-radius-lg);overflow:hidden;min-height:clamp(280px,42vw,460px);display:flex;align-items:center;justify-content:center;background:#f0ece6}
.fs-hhero__banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.fs-hhero__banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28));z-index:1}
.fs-hhero__card{position:relative;z-index:2;text-align:center;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--fs-radius-lg);padding:var(--fs-s6) var(--fs-s7);max-width:min(560px,90%);box-shadow:var(--fs-shadow-card)}
.fs-hhero__eyebrow{display:inline-block;font-family:var(--fs-font-display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fs-red);font-size:.8rem;margin-bottom:10px}
.fs-hhero__title{font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:1.05;margin:0 0 var(--fs-s3)}
.fs-hhero__title em{font-style:normal;color:var(--fs-red)}
.fs-hhero__lead{color:var(--fs-gray-700);margin:0 auto var(--fs-s5);max-width:42ch}
.fs-hhero__cta{display:flex;gap:var(--fs-s3);justify-content:center;flex-wrap:wrap}

/* ---------- SECTION HEADER (judul + subjudul inline ala easylunches) ---------- */
.fs-hhead{display:flex;align-items:baseline;gap:var(--fs-s4);flex-wrap:wrap;margin-bottom:var(--fs-s5)}
.fs-hhead h2{margin:0;font-size:var(--fs-h2)}
.fs-hhead p{margin:0;color:var(--fs-gray-500);font-size:1.05rem}
.fs-hhead__link{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--fs-font-display);font-weight:600;color:var(--fs-red);white-space:nowrap;text-decoration:none}

/* ---------- CATEGORY ICON STRIP ---------- */
.fs-hcat{display:flex;gap:var(--fs-s5);overflow-x:auto;padding-bottom:var(--fs-s3);scrollbar-width:none;margin-bottom:var(--fs-s5)}
.fs-hcat::-webkit-scrollbar{display:none}
.fs-hcat__item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:72px;color:var(--fs-ink);border:none;background:none;cursor:pointer}
.fs-hcat__icon{width:54px;height:54px;border-radius:50%;background:#F4F4F4;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:.18s ease}
.fs-hcat__item:hover .fs-hcat__icon{background:var(--fs-red);transform:translateY(-3px)}
.fs-hcat__item.is-active .fs-hcat__icon{background:var(--fs-red);color:#fff;box-shadow:var(--fs-shadow-lift)}
.fs-hcat__label{font-family:var(--fs-font-display);font-weight:600;font-size:.8rem;text-align:center;line-height:1.1}

/* ---------- HORIZONTAL CAROUSEL (produk & brand) ---------- */
.fs-hcar{}
.fs-hcar__viewport{overflow:hidden;position:relative;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}
.fs-hcar .fs-hcar__track{display:flex;flex-wrap:nowrap;gap:20px;padding:4px 0 var(--fs-s4);list-style:none;margin:0;grid-template-columns:none}
.fs-hcar .fs-hcar__track > li,.fs-hcar .fs-hcar__track > .fs-card{flex:0 0 var(--fs-hcar-card-w,250px)}

/* ---- Carousel product card (fs-pcar) ---- */
.fs-pcar{position:relative;background:#fff;border:1px solid #ede8e1;border-radius:var(--fs-radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:.2s ease;box-shadow:0 2px 8px -2px rgba(15,23,42,.06)}
.fs-pcar:hover{border-color:#d8d0c8;box-shadow:0 8px 28px -8px rgba(15,23,42,.13);transform:translateY(-3px)}
.fs-pcar__badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:2}
.fs-pcar__img{display:block;flex-shrink:0;overflow:hidden;background:#f7f5f2}
.fs-pcar__img img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .32s ease}
.fs-pcar:hover .fs-pcar__img img{transform:scale(1.04)}
.fs-pcar__body{padding:10px 14px 0;flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.fs-pcar__title{font-family:var(--fs-font-display);font-size:.82rem;font-weight:600;line-height:1.35;color:var(--fs-ink);margin:0}
.fs-pcar__title a{color:inherit;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fs-pcar__title a:hover{color:var(--fs-red)}
.fs-pcar__price{font-family:var(--fs-font-display);font-size:.85rem;font-weight:700;color:var(--fs-red);margin-top:auto;padding-top:4px}
.fs-pcar__price del{font-weight:400;color:var(--fs-gray-500);font-size:.78em;margin-right:4px}
.fs-pcar__price ins{text-decoration:none}
.fs-pcar__foot{display:flex;align-items:center;gap:8px;padding:12px 14px 14px}
.fs-pcar__view{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--fs-line);color:var(--fs-gray-500);text-decoration:none;transition:.16s ease}
.fs-pcar__view:hover{border-color:var(--fs-red);color:var(--fs-red);background:#fff5f5}
.fs-pcar .fs-btn,.fs-pcar a.button,.fs-pcar button.button{flex:1;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;margin:0!important;background:var(--fs-red)!important;background-image:none!important;box-shadow:none!important;border:none!important;border-radius:var(--fs-radius-pill)!important;color:#fff!important;font-family:var(--fs-font-display)!important;font-weight:700!important;font-size:.88rem!important;padding:11px 16px!important;line-height:1.2!important;transition:.16s ease!important;text-transform:none!important;letter-spacing:0!important}
.fs-pcar .fs-btn:hover,.fs-pcar a.button:hover,.fs-pcar button.button:hover{background:var(--fs-red-dark)!important;box-shadow:0 4px 14px -4px rgba(214,0,1,.35)!important;transform:translateY(-1px)!important}
.fs-hcar .fs-hcar__track > .fs-hbrand{flex:0 0 var(--fs-hcar-card-w,180px)}
.fs-hcar__nav{display:flex;gap:8px;justify-content:flex-end;margin-bottom:var(--fs-s4)}
.fs-hcar__btn{-webkit-appearance:none;appearance:none;width:40px;height:40px;padding:0;border-radius:50%;border:1.5px solid var(--fs-line);background:#fff;cursor:pointer;color:var(--fs-ink);display:flex;align-items:center;justify-content:center;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .14s ease;box-shadow:0 1px 4px -1px rgba(15,23,42,.1);line-height:1}
.fs-hcar__btn:hover{border-color:var(--fs-red);color:var(--fs-red);box-shadow:0 4px 12px -4px rgba(214,0,1,.22);transform:translateY(-1px)}
.fs-hcar__btn:active{transform:scale(.93);box-shadow:none}
.fs-hcar__btn:focus-visible{outline:3px solid rgba(214,0,1,.35);outline-offset:2px}


/* ---------- PROMO BRANDS (2 blok besar) ---------- */
.fs-hpromo{display:grid;grid-template-columns:1fr 1fr;gap:var(--fs-s5)}
.fs-hpromo__card{position:relative;border-radius:var(--fs-radius-lg);overflow:hidden;min-height:clamp(220px,26vw,320px);display:flex;align-items:flex-end;background:#f0ece6}
.fs-hpromo__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.fs-hpromo__card:hover img{transform:scale(1.04)}
.fs-hpromo__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.55));z-index:1}
.fs-hpromo__body{position:relative;z-index:2;padding:var(--fs-s6);color:#fff}
.fs-hpromo__body h3{color:#fff;margin:0 0 4px;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:800}
.fs-hpromo__body p{color:rgba(255,255,255,.8);margin:0 0 16px;font-size:.88rem}
.fs-hpromo__cta{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--fs-red);font-family:var(--fs-font-display);font-weight:700;font-size:.84rem;padding:9px 18px;border-radius:var(--fs-radius-lg);transition:.16s ease;border:none}
.fs-hpromo__card:hover .fs-hpromo__cta{background:var(--fs-red);color:#fff}

/* ---------- ICONIC BRANDS (carousel kartu brand) ---------- */
.fs-hbrand{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;padding:4px;gap:6px}
.fs-hbrand__thumb{width:100%;aspect-ratio:1;border-radius:var(--fs-radius-md);border:1.5px solid var(--fs-line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.18s ease}
.fs-hbrand:hover .fs-hbrand__thumb{border-color:var(--fs-red);box-shadow:0 6px 20px -6px rgba(214,0,1,.2);transform:translateY(-3px)}
.fs-hbrand__thumb img{width:100%;height:100%;object-fit:cover}
.fs-hbrand__initial{font-family:var(--fs-font-display);font-weight:700;font-size:2.2rem;color:var(--fs-red)}
.fs-hbrand__name{font-family:var(--fs-font-display);font-weight:600;color:var(--fs-ink);font-size:.88rem;line-height:1.2}
.fs-hbrand__count{color:var(--fs-gray-500);font-size:.75rem}
.fs-hbrand__cta{display:inline-block;margin-top:auto;font-family:var(--fs-font-display);font-weight:700;font-size:.75rem;color:var(--fs-red);border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-pill);padding:4px 12px;transition:.16s ease}
.fs-hbrand:hover .fs-hbrand__cta{border-color:var(--fs-red);background:var(--fs-red);color:#fff}

/* ---------- SOCIAL / UGC ---------- */
.fs-hsocial__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--fs-s4)}
.fs-hsocial__card{position:relative;border-radius:var(--fs-radius-md);overflow:hidden;aspect-ratio:3/4;background:#111}
.fs-hsocial__card img{width:100%;height:100%;object-fit:cover;opacity:.92}
.fs-hsocial__meta{position:absolute;inset:auto 0 0 0;z-index:2;padding:12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));color:#fff}
.fs-hsocial__handle{font-family:var(--fs-font-display);font-weight:600;font-size:.82rem}
.fs-hsocial__cap{font-size:.74rem;color:rgba(255,255,255,.85);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fs-hsocial__tag{position:absolute;top:10px;left:10px;z-index:2;background:rgba(255,255,255,.92);border-radius:var(--fs-radius-pill);padding:4px 10px;font-size:.72rem;font-weight:700;font-family:var(--fs-font-display);color:var(--fs-ink);display:inline-flex;align-items:center;gap:5px}

/* ---------- HOW IT WORKS ---------- */
.fs-hsteps{background:#F7F7F7;border-radius:var(--fs-radius-lg);padding:var(--fs-s7) var(--fs-s6);display:grid;grid-template-columns:1.1fr 1fr;gap:var(--fs-s7);align-items:center}
.fs-hsteps__copy h2{margin:0 0 var(--fs-s3)}
.fs-hsteps__copy p{color:var(--fs-gray-700);margin:0 0 var(--fs-s5);max-width:46ch}
.fs-hsteps__flow{display:flex;align-items:center;gap:var(--fs-s3);flex-wrap:wrap}
.fs-hstep{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;flex:1;min-width:90px}
.fs-hstep__icon{width:56px;height:56px;border-radius:var(--fs-radius-md);background:#fff;border:1.5px solid var(--fs-line);display:flex;align-items:center;justify-content:center;color:var(--fs-red);flex-shrink:0}
.fs-hstep__text{display:flex;flex-direction:column;gap:2px}
.fs-hstep b{font-family:var(--fs-font-display);font-size:.92rem}
.fs-hstep span{font-size:.78rem;color:var(--fs-gray-500)}
.fs-hsteps__arrow{color:var(--fs-line);display:flex;align-items:center}
.fs-hsteps__media img{border-radius:var(--fs-radius-lg);width:100%;object-fit:cover;aspect-ratio:4/3}

/* ---------- NEWSLETTER (band merah, aksen) ---------- */
.fs-hnews{background:var(--fs-grad-hero);color:#fff;border-radius:var(--fs-radius-lg);padding:var(--fs-s7);display:grid;grid-template-columns:1fr 1fr;gap:var(--fs-s6);align-items:center}
.fs-hnews h2{color:#fff;margin:0 0 8px;font-size:var(--fs-h2)}
.fs-hnews p{color:rgba(255,255,255,.92);margin:0}
.fs-hnews__form{display:flex;gap:var(--fs-s3);flex-wrap:wrap}
.fs-hnews__form input{flex:1 1 220px;border:none;border-radius:var(--fs-radius-lg);padding:14px 20px;font-family:var(--fs-font-body);font-size:1rem}
.fs-hnews__form input:focus,.fs-hnews__form input:focus-visible{outline:none!important;border-radius:var(--fs-radius-lg)!important;box-shadow:0 0 0 3px rgba(255,255,255,.55)!important}
.fs-hnews__form .fs-btn,.fs-btn--news-submit{background:#fff!important;color:var(--fs-red)!important;border-radius:var(--fs-radius-lg)!important;font-family:var(--fs-font-display)!important;font-weight:700!important;font-size:.92rem!important;padding:14px 24px!important;border:none!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;transition:.16s ease!important;background-image:none!important}
.fs-hnews__form .fs-btn:hover,.fs-btn--news-submit:hover{background:#fff!important;color:var(--fs-maroon)!important;box-shadow:0 4px 14px -4px rgba(0,0,0,.2)!important;transform:translateY(-1px)}

/* ---------- TRUST STRIP (mini, di bawah hero) ---------- */
.fs-htrust{display:flex;justify-content:center;gap:var(--fs-s7);flex-wrap:wrap;padding:var(--fs-s4) 0 0;color:var(--fs-gray-700);font-size:.9rem}
.fs-htrust span{display:inline-flex;align-items:center;gap:8px;font-weight:500}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .fs-cattile{width:120px}
  .fs-cattile__img{width:96px;height:96px}
}
@media (max-width:900px){
  .fs-hpromo{grid-template-columns:1fr}
  .fs-hsocial__grid{grid-template-columns:repeat(2,1fr)}
  .fs-hsteps{grid-template-columns:1fr}
  .fs-hsteps__media{order:-1}
  .fs-hnews{grid-template-columns:1fr}
  .fs-hslider__arrow{width:44px;height:44px}
  /* Heading proporsional tablet */
  .fs-home .fs-hhead h2,.fs-cathead__title{font-size:clamp(1.6rem,4.5vw,2.2rem)!important}
  /* CTA pill: min 44px touch target */
  .fs-home .fs-hhead__link{min-height:44px;padding:10px 18px;font-size:.86rem}
  .fs-hcar__btn{width:44px;height:44px}
}
@media (max-width:767px){
  .fs-hslider__arrow{display:none}
  .fs-cathead{gap:8px}
  .fs-hstep__icon{width:46px;height:46px}
  .fs-hcar .fs-hcar__track{gap:12px}
  /* Heading mobile */
  .fs-home .fs-hhead h2,.fs-cathead__title{font-size:clamp(1.4rem,5.5vw,1.9rem)!important}
  /* Hero heading proporsional */
  .fs-hslide__title{font-size:clamp(1.5rem,5vw,2rem)}
  /* Steps: horizontal row (icon kiri + teks kanan) */
  .fs-hsteps__flow{flex-direction:column;align-items:stretch;gap:0}
  .fs-hstep{flex-direction:row;align-items:center;gap:14px;text-align:left;padding:8px 0;flex:none}
  .fs-hsteps__arrow{margin-left:14px;padding:2px 0}
  .fs-hsteps__arrow svg{transform:rotate(90deg)}
}
@media (max-width:520px){
  .fs-hhead p{display:none}
  .fs-htrust{gap:var(--fs-s4)}
  .fs-cattile{width:88px;padding:0 4px}
  .fs-cattile__img{width:72px;height:72px}
  .fs-cattile__label{font-size:.74rem}
  /* Heading kecil tapi tetap terbaca */
  .fs-home .fs-hhead h2,.fs-cathead__title{font-size:clamp(1.3rem,6vw,1.6rem)!important}
  .fs-home .fs-hhead__link{font-size:.82rem;padding:10px 14px}
  .fs-hcar__nav{margin-bottom:var(--fs-s3)}
  .fs-reseller-band{padding:var(--fs-s5)}
  .fs-hnews__form{flex-direction:column}
  .fs-hnews__form input{flex:0 0 auto;width:100%}
  .fs-hnews__form .fs-btn,.fs-btn--news-submit{width:100%;justify-content:center;padding:14px 24px!important}
  .fs-hpromo__card{min-height:200px}
  /* Primary btn min touch target */
  .fs-btn--primary,.fs-btn{min-height:44px}
  /* Section spacing lebih rapat di mobile */
  .fs-home .fs-section{padding-block:clamp(32px,6vw,56px)}
}

/* ============================================================
   MODERN PASS (impeccable bolder) — tipografi berani, whitespace lega,
   header section editorial. Scoped .fs-home. Brand merah/putih dijaga.
   ============================================================ */

/* Whitespace lega & ritme bervariasi antar section */
.fs-home .fs-section{padding-block:clamp(52px,7vw,112px)}
.fs-home .fs-hslider-wrap{padding-top:clamp(16px,2vw,28px)}
.fs-home .fs-cattiles-section{padding-block:clamp(40px,5vw,72px)}

/* Section header lebih berani & editorial */
.fs-home .fs-hhead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--fs-s5);margin-bottom:clamp(28px,3.5vw,56px);flex-wrap:wrap}
.fs-home .fs-hhead h2{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.0;margin:0;text-wrap:balance}
.fs-home .fs-hhead p{font-size:clamp(1rem,1.4vw,1.18rem);color:var(--fs-gray-700);margin:8px 0 0;max-width:48ch}
.fs-home .fs-hhead>div{flex:1 1 auto}
/* Link "Lihat semua" jadi pill berdimensi (bukan teks polos) */
.fs-home .fs-hhead__link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-family:var(--fs-font-display);font-weight:700;font-size:.92rem;color:var(--fs-red);border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:10px 20px;transition:.16s ease}
.fs-home .fs-hhead__link:hover{border-color:var(--fs-red);background:var(--fs-red);color:#fff;transform:translateY(-2px)}

/* Kartu produk: gap disamakan dengan nilai JS (20px) */
.fs-home .fs-hcar__track{gap:20px}

/* Eyebrow: lebih halus, sebagai aksen tunggal (bukan template) */
.fs-home .fs-section__eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--fs-red);font-weight:700;letter-spacing:.04em}
.fs-home .fs-section__eyebrow::before{content:"";width:22px;height:2px;background:var(--fs-red);border-radius:2px}

/* Reseller & newsletter band: lebih dramatis (radius lg, padding besar) */
.fs-home .fs-reseller-band,.fs-home .fs-hnews{border-radius:var(--fs-radius-lg);padding:clamp(28px,4vw,64px)}
.fs-home .fs-reseller-band h2,.fs-home .fs-hnews h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}

/* Section heading umum (fs-section__title) ikut diperbesar */
.fs-home .fs-section__title{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.0}

@media (max-width:600px){
  .fs-home .fs-hhead{align-items:flex-start}
  .fs-home .fs-hhead__link{padding:8px 16px}
}

/* ============================================================
   RALALI-INSPIRED HOME LAYOUT (.fs-rl-*) — isi Foodstocks.
   Ditambah 30 Jun 2026. Dominan putih + aksen merah.
   ============================================================ */

/* — Shared — */
.fs-home .fs-rl-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--fs-red);font-family:var(--fs-font-display);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.fs-home .fs-rl-eyebrow::before{content:"";width:20px;height:2px;background:var(--fs-red);border-radius:2px}
.fs-home .fs-rl-link{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;font-family:var(--fs-font-display);font-weight:700;font-size:.9rem;color:var(--fs-red);transition:.16s ease;white-space:nowrap}
.fs-home .fs-rl-link:hover{gap:10px;color:var(--fs-red-dark)}
.fs-home .fs-rl-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--fs-s5);margin-bottom:clamp(20px,2.5vw,32px);flex-wrap:wrap}
.fs-home .fs-rl-section-head>div{min-width:0}
.fs-home .fs-rl-section-head__title{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:6px 0 0}

/* — Button variants tambahan — */
.fs-btn--outline{background:#fff;color:var(--fs-red);border-color:var(--fs-line)}
.fs-btn--outline:hover{border-color:var(--fs-red);background:var(--fs-red);color:#fff}
.fs-btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.fs-btn--ghost-light:hover{background:#fff;color:var(--fs-red);border-color:#fff}
.fs-btn--light{background:#fff;color:var(--fs-red);border-color:#fff}
.fs-btn--light:hover{background:var(--fs-cream);color:var(--fs-red-dark)}
.fs-btn--wa{background:#25D366;color:#fff;border-color:#25D366}
.fs-btn--wa:hover{background:#1da955;color:#fff;border-color:#1da955}

/* — 1. HERO GRID — */
.fs-rl-hero-wrap{padding-top:clamp(14px,2vw,24px)}
.fs-rl-hero{display:grid;grid-template-columns:2.2fr 1fr;gap:16px;align-items:stretch}
.fs-rl-hero__main{min-width:0}
.fs-rl-hero__main .fs-hslider{padding-inline:0;max-width:none;margin:0}
.fs-rl-hero__main .fs-hslider__viewport{border-radius:var(--fs-radius-lg);overflow:hidden}
.fs-rl-hero__main .fs-hslide--img img,.fs-rl-hero__single img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:2/1}
.fs-rl-hero__single{display:block;border-radius:var(--fs-radius-lg);overflow:hidden}
.fs-rl-hero__side{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-width:0;min-height:0}
.fs-rl-hero__tile{display:block;border-radius:var(--fs-radius-lg);overflow:hidden;position:relative;min-height:0}
.fs-rl-hero__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.fs-rl-hero__tile:hover img{transform:scale(1.05)}
@media(max-width:880px){
  .fs-rl-hero{grid-template-columns:1fr}
  .fs-rl-hero__side{grid-template-rows:none;grid-template-columns:1fr 1fr}
  .fs-rl-hero__tile{aspect-ratio:2/1}
}
@media(max-width:520px){.fs-rl-hero__side{grid-template-columns:1fr}}

/* — 2. SERVICE CARDS — */
.fs-rl-services-wrap{padding-top:clamp(16px,2vw,24px)}
.fs-rl-services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fs-rl-service{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);transition:.18s ease}
.fs-rl-service:hover{border-color:var(--fs-red);box-shadow:var(--fs-shadow-soft);transform:translateY(-2px)}
.fs-rl-service__icon{flex:0 0 auto;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--fs-cream);color:var(--fs-red)}
.fs-rl-service__text{display:flex;flex-direction:column;min-width:0}
.fs-rl-service__text b{font-family:var(--fs-font-display);font-weight:700;font-size:.96rem;color:var(--fs-ink);line-height:1.2}
.fs-rl-service__text span{font-size:.79rem;color:var(--fs-gray-500);line-height:1.3;margin-top:2px}
@media(max-width:900px){.fs-rl-services{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fs-rl-services{grid-template-columns:1fr}}

/* — 3. KATEGORI (kartu) — */
.fs-rl-catcards-wrap{padding-top:clamp(20px,2.5vw,32px)}
.fs-rl-catcards{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.fs-rl-catcard{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);text-align:center;transition:.16s ease}
.fs-rl-catcard:hover{border-color:var(--fs-red);box-shadow:var(--fs-shadow-soft);transform:translateY(-2px)}
.fs-rl-catcard__img{width:54px;height:54px;border-radius:12px;overflow:hidden;background:var(--fs-cream);display:flex;align-items:center;justify-content:center;color:var(--fs-red);flex:0 0 auto}
.fs-rl-catcard__img img{width:100%;height:100%;object-fit:cover;display:block}
.fs-rl-catcard__initial{font-family:var(--fs-font-display);font-weight:800;font-size:1.3rem;color:var(--fs-red)}
.fs-rl-catcard__label{font-family:var(--fs-font-display);font-weight:600;font-size:.82rem;line-height:1.2;color:var(--fs-ink)}
.fs-rl-catcard--all{background:var(--fs-red);border-color:var(--fs-red)}
.fs-rl-catcard--all .fs-rl-catcard__img{background:rgba(255,255,255,.18);color:#fff}
.fs-rl-catcard--all .fs-rl-catcard__label{color:#fff}
.fs-rl-catcard--all:hover{background:var(--fs-red-dark)}
@media(max-width:980px){.fs-rl-catcards{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.fs-rl-catcards{grid-template-columns:repeat(3,1fr);gap:10px}.fs-rl-catcard{padding:14px 8px}}

/* — 4. REKOMENDASI PRODUK (panel peach) — */
.fs-rl-recos-wrap{padding-block:clamp(36px,4.5vw,64px)}
.fs-rl-recos{background:var(--fs-cream);border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:clamp(20px,3vw,36px)}
.fs-rl-recos__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--fs-s5);margin-bottom:clamp(12px,1.5vw,20px);flex-wrap:wrap}
.fs-rl-recos__head>div{min-width:0}
.fs-rl-recos__title{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:6px 0 0}

/* — 5. EKSPLORASI KATEGORI — */
.fs-rl-explore{padding-block:clamp(40px,5vw,80px)}
.fs-rl-explore__head{text-align:center;max-width:640px;margin:0 auto clamp(20px,2.5vw,32px)}
.fs-rl-explore__title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:8px 0 0}
.fs-rl-explore__sub{color:var(--fs-gray-500);font-size:.98rem;margin:10px 0 0;line-height:1.5}
.fs-rl-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:clamp(20px,2.5vw,32px)}
.fs-rl-tab{-webkit-appearance:none;appearance:none;border:1.5px solid var(--fs-line);background:#fff;color:var(--fs-gray-700);font-family:var(--fs-font-display);font-weight:600;font-size:.9rem;padding:9px 18px;border-radius:var(--fs-radius-pill);cursor:pointer;transition:.15s ease}
.fs-rl-tab:hover{border-color:var(--fs-red);color:var(--fs-red)}
.fs-rl-tab.is-active{background:var(--fs-red);border-color:var(--fs-red);color:#fff}
.fs-rl-tab-all{margin-left:6px;font-family:var(--fs-font-display);font-weight:700;font-size:.86rem;color:var(--fs-red);white-space:nowrap}
.fs-rl-explore__panel[hidden]{display:none}
.fs-home .fs-rl-explore ul.products.fs-rl-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;list-style:none;margin:0;padding:0;grid-auto-rows:1fr}
.fs-home .fs-rl-explore ul.products.fs-rl-grid>li.product{float:none;width:auto;max-width:none;margin:0;height:100%}
.fs-rl-explore__more{text-align:center;margin-top:clamp(20px,2.5vw,32px)}
.fs-rl-empty{text-align:center;color:var(--fs-gray-500);padding:40px 0}
@media(max-width:1080px){.fs-home .fs-rl-explore ul.products.fs-rl-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.fs-home .fs-rl-explore ul.products.fs-rl-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.fs-home .fs-rl-explore ul.products.fs-rl-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

/* — 6. FEATURE BAND (Grosir & Reseller) — */
.fs-rl-feature-wrap{padding-block:clamp(40px,5vw,72px)}
.fs-rl-feature{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;background:var(--fs-grad-hero);border-radius:var(--fs-radius-lg);padding:clamp(28px,4vw,56px);color:#fff}
.fs-rl-feature::after{content:"";position:absolute;inset:0;background:url(../img/patterns/doodle.png) center/cover no-repeat;opacity:.14;mix-blend-mode:luminosity;pointer-events:none}
.fs-rl-feature__copy,.fs-rl-feature__media{position:relative;z-index:1}
.fs-rl-feature__badge{display:inline-block;background:rgba(255,255,255,.18);color:#fff;font-family:var(--fs-font-display);font-weight:700;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:var(--fs-radius-pill)}
.fs-rl-feature__title{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.12;margin:14px 0 0;text-wrap:balance}
.fs-rl-feature__desc{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92);margin:14px 0 0;max-width:46ch}
.fs-rl-feature__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(20px,2.5vw,28px)}
.fs-rl-feature__cta .fs-btn--primary{background:#fff;color:var(--fs-red);border-color:#fff}
.fs-rl-feature__cta .fs-btn--primary:hover{background:var(--fs-cream);color:var(--fs-red-dark);box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.fs-rl-savecard{background:#fff;color:var(--fs-ink);border-radius:var(--fs-radius-lg);padding:clamp(20px,2.5vw,28px);box-shadow:var(--fs-shadow-card)}
.fs-rl-savecard__tag{display:inline-block;background:var(--fs-cream);color:var(--fs-maroon);font-weight:700;font-size:.76rem;padding:5px 12px;border-radius:var(--fs-radius-pill);margin-bottom:14px}
.fs-rl-savecard__row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--fs-line);font-size:.94rem;color:var(--fs-gray-700)}
.fs-rl-savecard__row small{color:var(--fs-gray-500);font-weight:400}
.fs-rl-savecard__row--hl{color:var(--fs-red);font-weight:700}
.fs-rl-savecard__total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:4px}
.fs-rl-savecard__total span{font-size:.9rem;color:var(--fs-gray-700);max-width:14ch}
.fs-rl-savecard__total b{font-family:var(--fs-font-display);font-size:1.5rem;color:var(--fs-red);line-height:1}
@media(max-width:820px){.fs-rl-feature{grid-template-columns:1fr}}

/* — 7. BRAND PILIHAN (supplier) — */
.fs-rl-suppliers-wrap{padding-block:clamp(40px,5vw,72px);background:linear-gradient(180deg,#fff 0%,var(--fs-cream) 100%)}
.fs-rl-suppliers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fs-rl-supplier{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:18px;transition:.18s ease}
.fs-rl-supplier:hover{border-color:var(--fs-red);box-shadow:var(--fs-shadow-soft);transform:translateY(-2px)}
.fs-rl-supplier__head{display:flex;align-items:center;gap:12px}
.fs-rl-supplier__logo{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--fs-grad-hero);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fs-font-display);font-weight:800;font-size:1.2rem}
.fs-rl-supplier__meta{display:flex;flex-direction:column;min-width:0}
.fs-rl-supplier__meta b{font-family:var(--fs-font-display);font-weight:700;font-size:1rem;color:var(--fs-ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-rl-supplier__badge{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;color:#16a34a;font-weight:600;margin-top:2px}
.fs-rl-supplier__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fs-rl-supplier__thumb{aspect-ratio:1;border-radius:var(--fs-radius-md);overflow:hidden;background:var(--fs-cream);display:block}
.fs-rl-supplier__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fs-rl-supplier__cta{font-family:var(--fs-font-display);font-weight:700;font-size:.86rem;color:var(--fs-red);margin-top:auto}
@media(max-width:820px){.fs-rl-suppliers{grid-template-columns:1fr}}

/* — 8. BRAND TERSEDIA (logo berjalan / marquee) — */
.fs-rl-logos{padding-block:clamp(28px,3.5vw,48px);overflow:hidden}
.fs-rl-logos__label{text-align:center;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-gray-500);font-weight:600;margin:0 0 22px}
.fs-rl-marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.fs-rl-marquee__track{display:flex;width:max-content;gap:18px;animation:fs-marquee 40s linear infinite;will-change:transform}
.fs-rl-marquee:hover .fs-rl-marquee__track{animation-play-state:paused}
.fs-rl-logo{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:62px;padding:0 26px;border:1px solid var(--fs-line);border-radius:var(--fs-radius-md);background:#fff;font-family:var(--fs-font-display);font-weight:800;font-size:1.02rem;letter-spacing:.01em;color:var(--fs-gray-500);filter:grayscale(1);transition:.18s ease;white-space:nowrap}
.fs-rl-logo:hover{color:var(--fs-red);filter:none;border-color:var(--fs-red)}
@keyframes fs-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.fs-rl-marquee__track{animation:none;flex-wrap:wrap;justify-content:center}}

/* — 9. BERITA & INSIGHT — */
.fs-rl-news-wrap{padding-block:clamp(40px,5vw,72px)}
.fs-rl-news{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fs-rl-newscard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);overflow:hidden;transition:.18s ease}
.fs-rl-newscard:hover{border-color:var(--fs-red);box-shadow:var(--fs-shadow-soft);transform:translateY(-3px)}
.fs-rl-newscard__img{aspect-ratio:16/9;background:var(--fs-cream);display:flex;align-items:center;justify-content:center;overflow:hidden}
.fs-rl-newscard__img img{width:100%;height:100%;object-fit:cover;display:block}
.fs-rl-newscard--ph .fs-rl-newscard__img{background:linear-gradient(135deg,#fde8e8 0%,var(--fs-cream) 100%);position:relative}
.fs-rl-newscard--ph .fs-rl-newscard__img::after{content:"";position:absolute;inset:0;background:url(../img/patterns/doodle.png) center/220px no-repeat;opacity:.16;pointer-events:none}
.fs-rl-newscard__phicon{color:var(--fs-red);opacity:.55;position:relative;z-index:1}
.fs-rl-newscard__body{padding:18px;display:flex;flex-direction:column;gap:8px}
.fs-rl-newscard__date{font-size:.78rem;color:var(--fs-gray-500);font-weight:600}
.fs-rl-newscard__title{font-family:var(--fs-font-display);font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--fs-ink)}
.fs-rl-note{font-size:.76rem;color:var(--fs-gray-500);margin-top:14px}
@media(max-width:820px){.fs-rl-news{grid-template-columns:1fr}}

/* — 10. FAQ — */
.fs-rl-faq-wrap{padding-block:clamp(40px,5vw,72px);background:#fff}
.fs-rl-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,56px);align-items:start}
.fs-rl-faq__title{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:10px 0 0}
.fs-rl-faq__desc{color:var(--fs-gray-700);margin:12px 0 22px;line-height:1.6}
.fs-rl-faq__list{display:flex;flex-direction:column;gap:12px}
.fs-rl-faqitem{background:var(--fs-cream);border:1px solid var(--fs-line);border-radius:var(--fs-radius-md);overflow:hidden}
.fs-rl-faqitem__q{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;font-family:var(--fs-font-display);font-weight:700;font-size:1rem;color:var(--fs-ink);list-style:none}
.fs-rl-faqitem__q::-webkit-details-marker{display:none}
.fs-rl-faqitem__num{flex:0 0 auto;color:var(--fs-red);font-size:.95rem;font-weight:800}
.fs-rl-faqitem__q>span:nth-child(2){flex:1}
.fs-rl-faqitem__icon{flex:0 0 auto;width:20px;height:20px;position:relative}
.fs-rl-faqitem__icon::before,.fs-rl-faqitem__icon::after{content:"";position:absolute;background:var(--fs-red);border-radius:2px;transition:.2s ease}
.fs-rl-faqitem__icon::before{top:9px;left:2px;width:16px;height:2px}
.fs-rl-faqitem__icon::after{top:2px;left:9px;width:2px;height:16px}
.fs-rl-faqitem[open] .fs-rl-faqitem__icon::after{transform:rotate(90deg);opacity:0}
.fs-rl-faqitem__a{padding:0 20px 18px 56px;color:var(--fs-gray-700);line-height:1.6;font-size:.95rem}
.fs-rl-faqitem__a p{margin:0}
@media(max-width:820px){.fs-rl-faq{grid-template-columns:1fr}.fs-rl-faqitem__a{padding-left:20px}}

/* — 11. CTA BAND — */
.fs-rl-cta-wrap{padding-block:clamp(40px,5vw,80px)}
.fs-rl-cta{position:relative;overflow:hidden;background:var(--fs-grad-hero);border-radius:var(--fs-radius-lg);padding:clamp(36px,5vw,72px) clamp(24px,4vw,56px);text-align:center;color:#fff}
.fs-rl-cta__clouds{position:absolute;inset:0;background:url(../img/patterns/clouds.png) center/cover no-repeat;opacity:.12;pointer-events:none}
.fs-rl-cta__inner{position:relative;z-index:1;max-width:680px;margin:0 auto}
.fs-rl-cta__title{font-size:clamp(1.7rem,3.4vw,2.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.12;margin:0;text-wrap:balance}
.fs-rl-cta__sub{font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,.92);margin:14px auto 0;max-width:52ch}
.fs-rl-cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:clamp(22px,3vw,32px)}

/* — Section head centered (testimoni) — */
.fs-rl-section-head--center{justify-content:center;text-align:center}
.fs-rl-section-head--center>div{text-align:center}

/* — KENAPA FOODSTOCKS (reasons) — */
.fs-rl-why-wrap{padding-block:clamp(36px,4.5vw,64px)}
.fs-rl-why{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fs-rl-why__item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:20px;transition:.16s ease}
.fs-rl-why__item:hover{border-color:var(--fs-red);box-shadow:var(--fs-shadow-soft)}
.fs-rl-why__ic{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--fs-cream);color:var(--fs-red);display:flex;align-items:center;justify-content:center}
.fs-rl-why__item b{display:block;font-family:var(--fs-font-display);font-weight:700;font-size:.96rem;color:var(--fs-ink);margin-bottom:3px;line-height:1.25}
.fs-rl-why__item span{font-size:.83rem;color:var(--fs-gray-500);line-height:1.45}
@media(max-width:900px){.fs-rl-why{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fs-rl-why{grid-template-columns:1fr}}

/* — BAR STATISTIK — */
.fs-rl-stats{position:relative;overflow:hidden;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;background:var(--fs-grad-hero);border-radius:var(--fs-radius-lg);padding:clamp(22px,3vw,34px);color:#fff}
.fs-rl-stats::after{content:"";position:absolute;inset:0;background:url(../img/patterns/doodle.png) center/cover no-repeat;opacity:.1;mix-blend-mode:luminosity;pointer-events:none}
.fs-rl-stat{position:relative;z-index:1;text-align:center;padding:4px 6px}
.fs-rl-stat+.fs-rl-stat{border-left:1px solid rgba(255,255,255,.2)}
.fs-rl-stat b{display:block;font-family:var(--fs-font-display);font-weight:800;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1;letter-spacing:-.02em}
.fs-rl-stat span{display:block;font-size:.82rem;color:rgba(255,255,255,.9);margin-top:6px}
@media(max-width:560px){
  .fs-rl-stats{grid-template-columns:repeat(2,1fr);gap:18px 8px}
  .fs-rl-stat+.fs-rl-stat{border-left:none}
  .fs-rl-stat:nth-child(even){border-left:1px solid rgba(255,255,255,.2)}
}

/* — TESTIMONI — */
.fs-rl-testi-wrap{padding-block:clamp(40px,5vw,72px);background:var(--fs-cream)}
.fs-rl-testi{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fs-rl-testicard{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:22px}
.fs-rl-testicard__stars{color:#FFB300;font-size:.98rem;letter-spacing:1.5px;line-height:1}
.fs-rl-testicard__quote{font-size:.94rem;line-height:1.6;color:var(--fs-gray-700);flex:1;margin:0}
.fs-rl-testicard__who{display:flex;align-items:center;gap:10px}
.fs-rl-testicard__av{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--fs-grad-hero);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fs-font-display);font-weight:800}
.fs-rl-testicard__name{display:block;font-family:var(--fs-font-display);font-weight:700;font-size:.9rem;color:var(--fs-ink);line-height:1.2}
.fs-rl-testicard__role{display:block;font-size:.78rem;color:var(--fs-gray-500);margin-top:1px}
@media(max-width:820px){.fs-rl-testi{grid-template-columns:1fr}}

/* ---- ≤480px: cathead + hero edge cases ---- */
@media (max-width:480px){
  /* Category section heading: stack title + CTA pill */
  .fs-cathead{flex-direction:column;align-items:flex-start;gap:var(--fs-s3)}
  .fs-cathead__cta{font-size:.84rem;padding:9px 18px}

  /* Hero slide: ensure text has breathing room */
  .fs-hslide__inner{padding-inline:var(--fs-s4)}
  .fs-hslide__lead{font-size:.95rem;max-width:100%}

  /* How-it-works: tighter */
  .fs-hsteps{padding:var(--fs-s5) var(--fs-s4)}

  /* Reseller + newsletter: less padding */
  .fs-home .fs-reseller-band,.fs-home .fs-hnews{padding:clamp(20px,5vw,32px)}

  /* Social grid: 1-col on very narrow */
  .fs-hsocial__grid{grid-template-columns:1fr 1fr}
}

/* ============================================================
   FLASH SALE (Promo Kilat) — band eksklusif merah + countdown
   ============================================================ */
.fs-flash-wrap{padding-block:clamp(30px,4vw,56px)}
.fs-flash{position:relative;overflow:hidden;border-radius:var(--fs-radius-lg);color:#fff;
  padding:clamp(20px,3vw,34px);
  background:linear-gradient(125deg,#7a0d0d 0%,#B40001 40%,#D60001 72%,#FF3B30 100%);
  box-shadow:0 28px 64px -26px rgba(180,0,1,.6)}
.fs-flash::before{content:"";position:absolute;inset:0;
  background:url(../img/patterns/clouds.png) repeat;background-size:300px auto;opacity:.10;
  mix-blend-mode:screen;pointer-events:none}
.fs-flash::after{content:"";position:absolute;top:-40%;right:-10%;width:340px;height:340px;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 62%);pointer-events:none}
.fs-flash>*{position:relative;z-index:1}
.fs-flash__head{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-bottom:22px}
.fs-flash__heading{display:flex;align-items:center;gap:13px}
.fs-flash__bolt{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:var(--fs-radius-md);background:rgba(255,255,255,.16);color:#fff;flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.fs-flash__titles{display:flex;flex-direction:column;line-height:1.05}
.fs-flash__eyebrow{font-family:var(--fs-font-display);font-weight:700;font-size:.7rem;text-transform:uppercase;
  letter-spacing:.16em;color:#ffd8a8;margin-bottom:4px}
.fs-flash__title{margin:0;font-family:var(--fs-font-display);font-weight:800;
  font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em;color:#fff;text-shadow:0 4px 14px rgba(0,0,0,.18)}
.fs-flash__timer{display:inline-flex;align-items:center;gap:9px;margin-left:auto}
.fs-flash__timer-label{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.9);font-family:var(--fs-font-display)}
.fs-flash__clock{display:inline-flex;align-items:center;gap:4px;font-family:var(--fs-font-display);font-weight:800}
.fs-flash__clock b{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:40px;
  padding:0 6px;background:#fff;color:var(--fs-red);border-radius:var(--fs-radius-sm);font-size:1.2rem;
  font-variant-numeric:tabular-nums;box-shadow:0 6px 14px -6px rgba(0,0,0,.45)}
.fs-flash__clock i{color:#fff;font-style:normal;font-weight:800;opacity:.75}
.fs-flash__link{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;text-decoration:none;
  background:#fff;color:var(--fs-red);font-family:var(--fs-font-display);font-weight:700;font-size:.88rem;
  padding:9px 18px;border-radius:var(--fs-radius-lg);transition:background .15s ease,transform .12s ease}
.fs-flash__link:hover{background:var(--fs-cream);transform:translateY(-1px)}
/* Kartu produk putih di atas band merah + panah carousel kontras */
.fs-flash .fs-hcar__btn{background:#fff;color:var(--fs-red);border-color:#fff;box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.fs-flash .fs-hcar__btn:hover{background:var(--fs-cream)}
/* Badge urgensi "Stok Terbatas" — hanya di kartu Flash Sale */
.fs-card__urgency{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:6px;
  padding:4px 11px;border-radius:var(--fs-radius-pill);
  background:linear-gradient(90deg,#FF6B1A 0%,#FF9A4D 100%);color:#fff;
  font-family:var(--fs-font-display);font-weight:700;font-size:.64rem;line-height:1.3;
  text-transform:uppercase;letter-spacing:.06em;box-shadow:0 4px 10px -4px rgba(255,107,26,.6)}
.fs-card__urgency svg{flex-shrink:0}

/* ============================================================
   VOUCHER STRIP (Klaim Kupon) — band menonjol + kartu tiket
   ============================================================ */
.fs-vouchers-wrap{padding-block:clamp(18px,2.6vw,38px)}
.fs-vouchers{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:linear-gradient(135deg,#fff3f3 0%,#ffe7e3 100%);border:1px solid #ffd0cc;
  border-radius:var(--fs-radius-lg);padding:clamp(16px,2.4vw,24px);
  box-shadow:0 12px 34px -20px rgba(214,0,1,.3)}
.fs-vouchers__intro{display:flex;align-items:center;gap:13px;flex:1 1 210px;min-width:190px}
.fs-vouchers__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:var(--fs-radius-md);background:var(--fs-red);color:#fff;flex-shrink:0;
  box-shadow:0 8px 18px -8px rgba(214,0,1,.6)}
.fs-vouchers__title{margin:0;font-family:var(--fs-font-display);font-weight:800;font-size:1.28rem;color:var(--fs-ink);letter-spacing:-.01em}
.fs-vouchers__sub{margin:3px 0 0;font-size:.85rem;color:var(--fs-gray-700)}
.fs-voucher{display:flex;align-items:stretch;flex:1 1 290px;min-width:260px;position:relative;overflow:hidden;
  background:#fff;border-radius:var(--fs-radius-lg);border:1px solid #ffd0cc;
  box-shadow:0 12px 30px -16px rgba(214,0,1,.4)}
.fs-voucher__info{display:flex;flex-direction:column;justify-content:center;gap:3px;flex:1;min-width:0;
  padding:14px 16px;border-right:2px dashed #ffc9c9}
.fs-voucher__info::before,.fs-voucher__info::after{content:"";position:absolute;right:calc(30% - 7px);
  width:14px;height:14px;border-radius:50%;background:#ffe7e3}
.fs-voucher__info::before{top:-7px}
.fs-voucher__info::after{bottom:-7px}
.fs-voucher__value{font-family:var(--fs-font-display);font-weight:800;font-size:1.18rem;color:var(--fs-red);line-height:1.15}
.fs-voucher__min{font-size:.78rem;color:var(--fs-gray-500);margin-top:2px}
.fs-voucher__copy{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;
  width:30%;min-width:96px;cursor:pointer;border:none;background:var(--fs-red);color:#fff;
  font-family:var(--fs-font-display);transition:background .15s ease}
.fs-voucher__copy:hover{background:var(--fs-red-dark)}
.fs-voucher__code{font-weight:800;font-size:.95rem;letter-spacing:.05em}
.fs-voucher__copy-label{font-size:.66rem;font-weight:600;opacity:.85;text-transform:uppercase;letter-spacing:.06em}
.fs-voucher__copy.is-copied{background:#1f7a3d}
@media(max-width:520px){
  .fs-flash__timer{margin-left:0;width:100%}
  .fs-flash__link{width:100%;justify-content:center}
}
