/* Foly snack signature 0.1.2 — explicit preview only. No catalogue or order mutations. */
.foly-snacks-signature {
  --fss-paper: #fffaf2;
  --fss-ink: #2b211c;
  --fss-red: #b8242c;
  --fss-line: #d9cbbb;
  --fss-display: 'Barlow Condensed', Impact, 'Arial Narrow', sans-serif;
}
.foly-snacks-signature .foly-public-main { overflow: clip; }
.foly-snacks-signature .fss { background:var(--fss-paper); color:var(--fss-ink); }
.foly-snacks-signature .fss a { color:inherit; text-decoration:none; }
.foly-snacks-signature .fss a:focus-visible { outline:3px solid var(--fss-red); outline-offset:5px; }
.foly-snacks-signature .fss :is(h1,h2,h3,p,figure) { margin:0; }
.foly-snacks-signature .fss :is(h1,h2) { font-family:var(--fss-display); font-weight:800; letter-spacing:-.035em; }
.foly-snacks-signature .fss .fss-kicker { display:flex; align-items:center; gap:9px; font-size:10px; font-weight:800; line-height:1.4; letter-spacing:1.5px; text-transform:uppercase; }
.fss-dot { width:7px; height:7px; border-radius:50%; background:var(--fss-red); flex-shrink:0; }
.fss-kicker__end { margin-left:auto; font-size:9px; letter-spacing:1.1px; }
.fss-hero { background:#f5ecde; border-bottom:1px solid var(--fss-line); }
.fss-hero__inner { max-width:1200px; margin:auto; padding:27px 20px 0; }
.foly-snacks-signature .fss h1 { font-size:clamp(42px,12.8vw,76px); line-height:.97; margin:22px 0 15px; }
.fss h1>span { color:var(--fss-red); }
.foly-snacks-signature .fss .fss-hero__intro { font-size:15px; line-height:1.55; color:#67594c; }
.fss-hero__jump { display:none; }
.fss-hero__visual { min-width:0; }
.fss-hero__photo { position:relative; display:block; height:210px; isolation:isolate; overflow:hidden; margin-top:5px; background:#f5ecde; }
.fss-hero__oval, .fss-hero__word, .fss-stamp { display:none!important; }
.fss-hero__word { position:absolute; left:50%; top:0; transform:translateX(-50%); color:#e4d4bc; font-family:var(--fss-display); font-weight:800; font-size:clamp(72px,23vw,105px); letter-spacing:-.035em; line-height:1; z-index:-1; white-space:nowrap; }
.fss-hero__photo>picture,.fss-hero__photo>img { position:relative; display:block; width:100%; height:100%; }
.fss-hero__photo img { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; transform:rotate(-7deg) scale(1.03); mix-blend-mode:darken; }
.fss-hero__photo .fss-cutout img { object-fit:cover; mix-blend-mode:normal; filter:drop-shadow(0 14px 10px #5e351426); }
.fss-stamp { position:absolute; right:0; top:24px; display:flex; flex-direction:column; justify-content:center; width:67px; height:67px; padding:7px; border:1px solid var(--fss-red); border-radius:50%; background:#f5ecde; color:var(--fss-red); font-size:8px; font-weight:800; line-height:1.15; text-align:center; letter-spacing:1px; transform:rotate(10deg); }
.fss-stamp>span { font-size:21px; line-height:1; margin-top:3px; }
.fss-hero__visual figcaption { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:9px 0 19px; }
.fss-hero__visual figcaption small { display:block; font-size:8px; font-weight:800; letter-spacing:1.5px; color:#6a594b; margin-bottom:3px; }
.fss-hero__visual figcaption strong { display:block; font-size:16px; line-height:1.2; }
.fss-hero__price { font-family:var(--fss-display); font-size:26px; font-weight:700; white-space:nowrap; }
.fss-hero__bottom { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 20px; max-width:1200px; margin:auto; border-top:1px solid var(--fss-line); font-size:8px; font-weight:800; letter-spacing:1px; line-height:1.5; }
.fss-hero__bottom>span:last-child { text-align:right; }
.fss-hero__bottom>span:last-child>span { margin-left:8px; font-size:15px; }
.fss-families { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:auto; max-width:1160px; padding:18px 20px 0; scroll-margin-top:20px; }
.fss-families a { display:flex; align-items:center; gap:8px; padding:12px 11px; min-height:49px; border-bottom:1px solid var(--fss-line); font-size:13px; font-weight:800; }
.fss-families a:nth-child(odd) { padding-left:0; }
.fss-families a:nth-child(even) { border-left:1px solid var(--fss-line); }
.fss-families a>small { font-family:var(--fss-display); color:#796657; font-size:12px; font-weight:400; }
.fss-families a>span:last-child { margin-left:auto; color:var(--fss-red); }
.fss-families a:active { background:#efdfc9; }
.fss-section { --fss-surface:#f7f2ec; background:var(--fss-surface); padding:34px 20px 30px; scroll-margin-top:16px; }
.fss-section__inner { max-width:1120px; margin:auto; }
.fss-section__heading { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:27px; }
.fss-section__number { font-family:var(--fss-display); font-size:20px; font-weight:700; line-height:1; color:var(--fss-red); letter-spacing:0; }
.foly-snacks-signature .fss h2 { font-size:clamp(32px,8.4vw,56px); line-height:1.05; margin:9px 0 8px; }
.foly-snacks-signature .fss .fss-section__intro { font-size:12px; line-height:1.55; color:#746052; max-width:490px; }
.fss-family-return { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid var(--fss-line); border-radius:50%; font-size:20px; }
.fss-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 17px; list-style:none; margin:0!important; padding:0!important; }
.fss .fss-product { list-style:none; min-width:0; margin:0; padding:0; }
.fss-product__link { display:flex; flex-direction:column; height:100%; }
.fss-product__photo { position:relative; flex-shrink:0; height:clamp(112px,36vw,210px); display:block; isolation:isolate; overflow:hidden; background:var(--fss-surface,var(--fss-paper)); }
/* Keep intrinsic square images out of grid track sizing and inside their reserved space. */
.foly-snacks-signature .fss-product__photo::before,.foly-snacks-signature .fss-product__photo::after { content:none!important; display:none!important; }
.foly-snacks-signature .fss-product__photo>picture { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; min-width:0; min-height:0; margin:0; }
.foly-snacks-signature .fss-product__photo img { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; min-width:0!important; min-height:0!important; max-width:100%!important; max-height:100%!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center; mix-blend-mode:darken!important; transform:none!important; transition:none; background:transparent!important; }
.foly-snacks-signature .fss-product__photo .fss-cutout img { mix-blend-mode:normal!important; }
.fss-stock { position:absolute; left:6px; bottom:5px; background:var(--fss-paper); padding:3px 7px; font-size:10px; border-radius:3px; }
.fss-product__text { position:relative; z-index:1; display:flex; flex-direction:column; flex:1; padding:14px 1px 0; }
.foly-snacks-signature .fss h3 { display:block; font-size:16px; font-weight:800; letter-spacing:-.25px; line-height:1.25; min-height:2.5em; height:auto!important; max-height:none!important; overflow:visible!important; white-space:normal!important; word-break:normal; overflow-wrap:break-word; text-overflow:clip; text-transform:none; margin:0 0 6px; }
.foly-snacks-signature .fss .fss-product__description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.5; height:3em; color:#796656; margin:0; }
.fss-product__bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid var(--fss-line); padding:9px 0 11px; margin-top:auto; }
.fss-product__price { font-family:var(--fss-display); font-size:23px; font-weight:700; line-height:1.15; color:var(--fss-red); }
.fss-product__price :is(del,ins),.fss-hero__price :is(del,ins) { background:transparent; color:inherit; }
.fss-product__price del { font-size:.65em; margin-right:4px; }
.fss-product__arrow { display:grid; place-items:center; width:26px; height:26px; border:1px solid var(--fss-line); border-radius:50%; font-size:14px; }
/* All catalogue photos blend into the same continuous ivory section background. */
.fss-finish { background:var(--fss-red); color:var(--fss-paper); padding:36px 24px 39px; text-align:center; }
.fss-finish .fss-kicker { justify-content:center; }
.foly-snacks-signature .fss .fss-finish h2 { font-size:clamp(44px,12vw,76px); line-height:.98; margin:16px 0 22px; }
.fss-finish>a { display:inline-flex; align-items:center; gap:17px; border-bottom:1px solid #ffffff65; padding:9px 0; font-size:13px; font-weight:700; min-height:44px; }
.foly-snacks-signature .fss-finish>a:focus-visible { outline-color:#fffaf2; }
@media (hover:hover) and (pointer:fine) {
  .fss-product__link:hover .fss-product__arrow { background:var(--fss-red); color:white; border-color:var(--fss-red); }
  .fss-families a:hover { background:#f3e7d7; }
  .fss-family-return:hover { border-color:var(--fss-red); color:var(--fss-red); }
}
@media (max-width:760px) {
  .foly-snacks-signature .foly-public-header__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:10px 16px 0; gap:8px 10px; }
  .foly-snacks-signature .foly-public-brand { gap:7px; min-width:0; }
  .foly-snacks-signature .foly-public-brand .foly-public-logo { width:44px; height:38px; }
  .foly-snacks-signature .foly-public-brand>span { font-size:16px; letter-spacing:-.4px; }
  .foly-snacks-signature .foly-public-brand small { font-size:6px; letter-spacing:1px; margin-top:5px; }
  .foly-snacks-signature .foly-public-header__order { width:auto; padding:8px 10px; min-height:44px; font-size:10px; border-radius:4px; }
  .foly-snacks-signature .foly-public-nav { grid-column:1/-1; width:100%; min-width:0; padding:0 0 8px; scrollbar-width:none; gap:2px; }
  .foly-snacks-signature .foly-public-nav a { padding:10px 11px; min-height:44px; font-size:12px; border-radius:3px; }
}
@media (max-width:359px) {
  .fss-hero__inner { padding-left:16px; padding-right:16px; }
  .foly-snacks-signature .fss h1 { font-size:41px; }
  .fss-kicker__end { display:none; }
  .fss-stamp { width:56px; height:56px; font-size:7px; }
  .fss-hero__photo { height:180px; }
  .fss-section { padding-left:16px; padding-right:16px; }
  .fss-grid { gap:23px 13px; }
  .foly-snacks-signature .fss h3 { font-size:15px; }
  .fss-families { padding-left:16px; padding-right:16px; }
  .fss-families a { font-size:12px; }
  .foly-snacks-signature .foly-public-brand .foly-public-logo { width:35px; }
  .foly-snacks-signature .foly-public-brand>span { font-size:14px; }
  .foly-snacks-signature .foly-public-header__order { padding:8px; font-size:9px; }
}
@media (min-width:601px) {
  .fss-hero__inner { padding:38px 36px 0; }
  .fss-hero__photo { height:310px; }
  .fss-hero__word { font-size:140px; }
  .fss-stamp { width:83px; height:83px; font-size:10px; right:8%; }
  .fss-hero__visual { max-width:600px; margin:auto!important; }
  .fss-hero__bottom { padding:16px 36px; font-size:10px; }
  .fss-families { grid-template-columns:repeat(4,minmax(0,1fr)); padding:24px 30px 0; }
  .fss-families a { padding:13px 17px!important; border-left:1px solid var(--fss-line); }
  .fss-families a:first-child { border-left:0; }
  .fss-section { padding:48px 32px; }
  .fss-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px 25px; }
  .fss-product__photo { height:190px; }
  .foly-snacks-signature .fss h3 { font-size:19px; }
  .foly-snacks-signature .fss .fss-product__description { font-size:12px; }
  .fss-product__price { font-size:26px; }
}
@media (min-width:1000px) {
  .fss-hero__inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:45px; padding:45px 40px 25px; }
  .foly-snacks-signature .fss h1 { font-size:clamp(66px,6.5vw,92px); margin:30px 0 24px; }
  .foly-snacks-signature .fss .fss-hero__intro { font-size:18px; }
  .fss-hero__jump { display:inline-flex; gap:30px; padding:12px 0; margin-top:23px; border-bottom:1px solid var(--fss-ink); font-size:14px; font-weight:700; }
  .fss-hero__visual { width:100%; }
  .fss-hero__photo { height:330px; margin:0; }
  .fss-hero__word { font-size:145px; top:25px; }
  .fss-hero__oval { inset:45px 0 10px; }
  .fss-stamp { right:0; top:25px; }
  .fss-hero__visual figcaption strong { font-size:20px; }
  .fss-hero__price { font-size:32px; }
  .fss-families a { font-size:15px; }
  .fss-section { padding:55px 40px 60px; }
  .fss-section__heading { margin-bottom:34px; }
  .fss-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 30px; }
  .fss-product__photo { height:215px; }
  .foly-snacks-signature .fss h3 { font-size:21px; }
  .foly-snacks-signature .fss .fss-section__intro { font-size:15px; }
  .fss-finish { padding:50px 30px; }
}
@media (prefers-reduced-motion:reduce) {
  .fss *, .fss *::before { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
