/* « Filtrer », « Idées cadeaux », « Coffrets », « Nos engagements », « Comment l'utiliser » (budget 10 KB): one sheet for every theme, its tokens only (Gifts\*). */
.gf{position:relative;margin:0 0 16px}
.gf__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gf__open{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--pill,999px);background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);font-size:var(--t-sm,.875rem);font-weight:800;text-decoration:none;-webkit-tap-highlight-color:transparent}
.gf__open:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.gf__badge,.gf__dot{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:800;line-height:1}
.gf__badge[hidden],.gf__dot[hidden]{display:none}
.gf__count{margin:0;color:var(--muted);font-size:var(--t-sm,.875rem);font-weight:700}
.gf__count--big{color:var(--ink);font-size:var(--t-lg,1.125rem);font-weight:800;letter-spacing:-.01em}
.gf__sheet{position:fixed;z-index:95;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:86vh;max-height:86dvh;background:var(--paper);color:var(--ink);border-radius:var(--r-lg,22px) var(--r-lg,22px) 0 0;box-shadow:0 -12px 40px -8px rgb(0 0 0 / .3);transform:translateY(105%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s .32s}
.gf__sheet.is-open,.gf__sheet:target{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.gf-shade{position:fixed;z-index:94;inset:0;background:rgb(0 0 0 / .42)}
.gf__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.gf__h{margin:0;font-size:var(--t-lg,1.125rem);font-weight:800}
.gf__x{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink);font-size:20px;text-decoration:none}
.gf__x:hover{background:var(--surface)}
.gf__groups{flex:1;overflow:auto;overscroll-behavior:contain;padding:0 16px}
.gf__group{border-bottom:1px solid var(--line)}
.gf__sum{display:flex;align-items:center;gap:8px;min-height:52px;font-weight:800;cursor:pointer;list-style:none}
.gf__sum::-webkit-details-marker{display:none}
.gf__sum::after{content:"";width:8px;height:8px;margin-left:auto;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .16s}
.gf__group[open]>.gf__sum::after{transform:rotate(-135deg)}
.gf__sorted{color:var(--muted);font-weight:600}
.gf__chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 14px}
.gf__chip{display:inline-flex;flex:none;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--pill,999px);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-size:var(--t-sm,.875rem);font-weight:700;line-height:1.1;text-decoration:none;-webkit-tap-highlight-color:transparent}
.gf__chip:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.gf__chip:active{transform:scale(.97)}
.gf__chip:focus-visible,.gf__open:focus-visible,.gf__sum:focus-visible{outline:3px solid var(--brand-text);outline-offset:2px}
.gf__chip.is-on{background:var(--ink);color:var(--paper);box-shadow:none}
.gf__chip.is-zero{opacity:.45}
.gf__chip--sm{min-height:34px;padding:0 12px;font-size:var(--t-xs,.75rem)}
.gf__ico{font-size:1.05em}
.gf__n{font-size:12px;font-weight:800;opacity:.7}
.gf__foot{display:flex;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
.gf__clear{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.gf__clear[hidden]{display:none}
.gf__see{flex:1}
html.gf-lock{overflow:hidden}
@media (min-width:900px){
  .gf--bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .gf--bar .gf__open{display:none}
  .gf--bar .gf__top{order:2;margin-left:auto}
  .gf--bar .gf__sheet{position:static;display:flex;flex-direction:row;align-items:center;max-height:none;background:none;border-radius:0;box-shadow:none;transform:none;visibility:visible;transition:none}
  .gf--bar .gf__head,.gf--bar .gf__see{display:none}
  .gf--bar .gf__groups{display:flex;flex-wrap:wrap;gap:8px;padding:0;overflow:visible}
  .gf--bar .gf__group{position:relative;border:0}
  .gf--bar .gf__sum{min-height:40px;padding:0 16px;border-radius:var(--pill,999px);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--t-sm,.875rem)}
  .gf--bar .gf__group[open]>.gf__sum{box-shadow:inset 0 0 0 1.5px var(--ink)}
  .gf--bar .gf__group[open]>.gf__chips{position:absolute;z-index:35;top:calc(100% + 8px);left:0;width:max-content;max-width:min(460px,80vw);padding:14px;border-radius:var(--r-md,16px);background:var(--paper);box-shadow:0 12px 40px -10px rgb(0 0 0 / .3),inset 0 0 0 1px var(--line)}
  .gf--bar .gf__group--sort>.gf__chips{flex-direction:column;align-items:stretch}
  .gf--bar .gf__foot{padding:0;border:0;background:none}
}
/* Rows of « Idées cadeaux » and « Coffrets » */
.gf__row{margin:0 0 6px}
.gf__rowh{margin:0 0 6px;color:var(--muted);font-size:var(--t-xs,.75rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gf--rows .gf__chips,.gfs__row .gf__chips{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--gutter,16px) * -1);padding:2px var(--gutter,16px) 12px;scrollbar-width:none}
.gf--rows .gf__chips::-webkit-scrollbar,.gfs__row .gf__chips::-webkit-scrollbar{display:none}
@media (min-width:900px){.gf--rows .gf__chips,.gfs__row .gf__chips{flex-wrap:wrap;margin:0;padding:2px 0 10px}}
.gf__summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin:4px 0 16px;padding-top:12px;border-top:1px solid var(--line)}
.gfp{padding-top:calc(64px + var(--s3,32px))}
.gfp__head{max-width:760px;margin:0 0 20px}
.gfp__head .section__title{margin:0 0 8px}
.gfp__lead{margin:0;color:var(--muted)}
.gfp__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.gfp__links .btn{min-height:44px}
.gfp__empty{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.gfp__empty .empty__title{flex-basis:100%;text-align:center}
.grid.gfp__boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.gfp-box{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-md,16px);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
.gfp-box[hidden]{display:none!important}
.gfp-box__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden}
.gfp-box__media img{width:100%;height:100%;object-fit:cover}
.gfp-box__body{display:flex;flex:1;flex-direction:column;gap:6px;padding:14px 16px 16px}
.gfp-box__name{margin:0;font-size:var(--t-lg,1.125rem);line-height:1.2;letter-spacing:-.01em}
.gfp-box__name a{color:inherit;text-decoration:none}
.gfp-box__h{margin:4px 0 0;color:var(--muted);font-size:var(--t-xs,.75rem);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.gfp-box__list{margin:0;padding:0;list-style:none;font-size:var(--t-sm,.875rem)}
.gfp-box__list li{padding:2px 0}
.gfp-box__qty{color:var(--brand-text);font-weight:800}
.gfp-box__pitch{margin:0;color:var(--muted);font-size:var(--t-sm,.875rem)}
.gfp-box__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px}
.gfp-box__foot .price{margin:0}
.gfp-box__add{min-height:44px}
.gfp-box__sold{color:var(--muted);font-weight:700}
/* Home sections */
.gfs__head{margin-bottom:12px}
.gfs__lead{margin:0;color:var(--muted)}
.gfs__grid{margin-top:12px}
.gfs__more{margin:20px 0 0;text-align:center}
.gpl__head{text-align:center}
.gpl__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.gpl__list--1{grid-template-columns:1fr}
@media (min-width:900px){.gpl__list--3{grid-template-columns:repeat(3,minmax(0,1fr))}.gpl__list--4{grid-template-columns:repeat(4,minmax(0,1fr))}.gpl__list{gap:16px}}
.gpl__item{padding:18px 14px;border-radius:var(--r-md,16px);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);text-align:center}
.gpl__ico{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:color-mix(in srgb,var(--brand) 14%,var(--surface));font-size:26px;line-height:1}
.gpl__title{margin:0;font-weight:800;line-height:1.2}
.gpl__text{margin:6px 0 0;color:var(--muted);font-size:var(--t-sm,.875rem);line-height:1.4}
/* Product page */
.gmk{margin:0 0 12px}
.gmk__list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.usage__steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.usage__step{display:flex;align-items:flex-start;gap:12px}
.usage__n{display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:14px;font-weight:800}
@media (prefers-reduced-motion:reduce){.gf__sheet,.gf__sheet.is-open{transition:none}}
