/* « Pack à composer », « Options de commande » and « Chiffres clés » on every theme (one shared sheet, the theme's
   tokens: --brand, --brand-ink, --brand-text, --accent, --ink, --paper, --surface, --line, --muted, radii, type scale).
   The composer: tiers with their bars, chips, soft cards with − n +, the bar fixed at the bottom (safe area).
   Touch targets ≥ 44 px; nothing moves in reduced motion; no horizontal scroll at 320 px. */
.page-compose main{padding-bottom:190px}
.has-cp-dock .pill{display:none !important}
.cp{padding-top:var(--s3,24px)}
.cp__head{text-align:center;max-width:720px;margin:0 auto var(--s2,16px)}
.cp__title{margin:0;font-family:var(--serif,inherit);font-size:clamp(2rem,9vw,3.6rem);line-height:1.02;letter-spacing:-.02em;color:var(--ink,#111);overflow-wrap:anywhere}
.cp__intro{margin:10px auto 0;color:var(--muted,#555);font-size:var(--t-md,1rem)}
.cp__choose{margin:var(--s3,24px) 0 0;font-family:var(--serif,inherit);font-size:clamp(1.3rem,5.6vw,1.9rem);line-height:1.15;color:var(--ink,#111)}
.cp__nojs{text-align:center}
.cp-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;max-width:720px;margin:0 auto var(--s3,24px);padding:0;list-style:none}
.cp-tier{display:grid;gap:8px;justify-items:stretch;text-align:center;min-width:0}
.cp-tier__badge{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 8px;border-radius:var(--r-md,12px);background:color-mix(in srgb,var(--ink,#111) 7%,var(--paper,#fff));color:color-mix(in srgb,var(--ink,#111) 55%,var(--paper,#fff));font-weight:800;font-size:var(--t-md,1rem);transition:background var(--m,.2s),color var(--m,.2s);overflow-wrap:anywhere}
.cp-tier.is-on .cp-tier__badge{background:var(--accent,var(--brand,#e8b23a));color:var(--ink,#111)}
.cp-tier__bar{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink,#111) 8%,var(--paper,#fff));overflow:hidden}
.cp-tier__bar span{display:block;height:100%;background:var(--accent,var(--brand,#e8b23a));transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--ease,ease)}
.cp-tier__min{font-size:var(--t-sm,.9rem);color:var(--ink,#111);overflow-wrap:anywhere}
.cp-chips{display:flex;gap:10px;margin:0 calc(-1 * var(--gutter,16px)) var(--s2,16px);padding:2px var(--gutter,16px) 6px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.cp-chips::-webkit-scrollbar{display:none}
.cp-chip{flex:none;min-height:48px;padding:0 18px;border:0;border-radius:var(--r-md,12px);background:color-mix(in srgb,var(--ink,#111) 8%,var(--paper,#fff));color:var(--ink,#111);font:inherit;font-weight:700;scroll-snap-align:start;cursor:pointer}
.cp-chip.is-on{background:var(--ink,#111);color:var(--paper,#fff)}
.cp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
@media (min-width:700px){.cp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media (min-width:1100px){.cp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cp-card{--cp-bg:#d9d3ec;display:flex;flex-direction:column;min-width:0}
.cp-card[style*="--cp-tint: 1"]{--cp-bg:#c9dfe9}.cp-card[style*="--cp-tint: 2"]{--cp-bg:#f6dcc8}.cp-card[style*="--cp-tint: 3"]{--cp-bg:#d3ead9}.cp-card[style*="--cp-tint: 4"]{--cp-bg:#f3e7b8}
.cp-card[hidden]{display:none}
.cp-card__media{position:relative;aspect-ratio:1;border-radius:var(--r-lg,18px);overflow:hidden;background:color-mix(in srgb,var(--cp-bg) 70%,var(--paper,#fff))}
.cp-card__media img{width:100%;height:100%;object-fit:contain;padding:8%}
.cp-card.is-picked .cp-card__media{box-shadow:inset 0 0 0 3px var(--brand,#0f766e)}
.cp-card__badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:var(--danger,#d4452b);color:#fff;font-size:var(--t-xs,.78rem);font-weight:800}
.cp-card__body{display:flex;flex-direction:column;gap:6px;flex:1;padding:10px 4px 0}
.cp-card__tag{align-self:flex-start;max-width:100%;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent,#f1d34b) 55%,var(--paper,#fff));color:var(--ink,#111);font-size:var(--t-xs,.78rem);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-card__name{margin:0;font-size:var(--t-md,1rem);line-height:1.25;color:var(--ink,#111);overflow-wrap:anywhere}
.cp-card__price{margin:0;color:var(--ink,#111);font-size:var(--t-sm,.92rem)}
.cp-card__sold{margin:auto 0 0;color:var(--muted,#666);font-weight:700}
.cp-step{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--accent,var(--brand,#e8b23a)) 22%,var(--paper,#fff))}
.cp-step__btn{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--paper,#fff);color:var(--ink,#111);cursor:pointer}
.cp-step__btn--add{background:var(--accent,var(--brand,#e8b23a));color:var(--ink,#111)}
.cp-step__btn:disabled{opacity:.38;cursor:default}
.cp-step__btn svg{width:18px;height:18px}
.cp-step__qty{min-width:2ch;text-align:center;font-weight:800;font-size:var(--t-md,1rem);color:var(--ink,#111)}
.cp-dock{position:fixed;z-index:46;left:0;right:0;bottom:0;padding:10px var(--gutter,16px) max(12px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--paper,#fff);color:var(--ink,#111);box-shadow:0 -10px 34px -12px rgb(0 0 0 / .32)}
.cp-dock[hidden]{display:none}
.cp-dock>*{max-width:720px;margin-left:auto;margin-right:auto}
.cp-dock__toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;border:0;background:none;color:var(--ink,#111);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.cp-dock__toggle::after{content:"˄";text-decoration:none}
.cp-dock__toggle[aria-expanded="true"]::after{content:"˅"}
.cp-dock__panel{max-height:40vh;overflow:auto;padding:4px 0 8px;border-bottom:1px solid var(--line,#e5e5e5)}
.cp-dock__list{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:var(--t-sm,.92rem)}
.cp-dock__list span{font-weight:800}
.cp-dock__empty{color:var(--muted,#666)}
.cp-dock__price{margin:8px 0 0;font-size:var(--t-md,1rem)}
.cp-was{color:var(--muted,#666);font-size:.9em}
.cp-dock .cp-dock__go{display:flex;width:100%;margin:4px auto 0}
.cp-dock__go:disabled{opacity:1;background:color-mix(in srgb,var(--accent,var(--brand,#e8b23a)) 45%,var(--paper,#fff));color:color-mix(in srgb,var(--ink,#111) 60%,var(--paper,#fff))}
.cp-dock__hint{min-height:1.4em;margin:8px auto 0;font-size:var(--t-sm,.9rem);text-align:center;overflow-wrap:anywhere}
.cp-parts{margin:2px 0 6px;color:var(--muted,#666);font-size:var(--t-xs,.8rem);line-height:1.35;overflow-wrap:anywhere}
.cp-gift .sheet__body{padding-top:0}
/* Options of the order (cart, the pack's gift question). */
.oc-list{display:grid;gap:8px;margin:8px 0;padding:0;list-style:none}
.oc-list .oc-opt{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-radius:var(--r-md,12px);background:var(--surface,#f6f6f6);box-shadow:inset 0 0 0 1.5px var(--line,#e5e5e5);cursor:pointer}
.oc-list .oc-opt:has(input:checked){box-shadow:inset 0 0 0 2px var(--brand,#0f766e)}
.oc-list .oc-opt input{width:20px;height:20px;accent-color:var(--brand,#0f766e)}
.oc-opt__icon{font-size:1.3rem}
.oc-opt__text{display:grid;min-width:0;overflow-wrap:anywhere}
.oc-opt__text small{color:var(--muted,#666);font-size:var(--t-xs,.8rem);font-weight:500}
.oc-opt__price{font-weight:800;white-space:nowrap}
.oc [hidden]{display:none}
/* « Cadeau d'entreprise »: the quote form. */
.gq{max-width:720px;margin:var(--s5,48px) auto 0;padding:var(--s3,24px);border-radius:var(--r-lg,18px);background:var(--surface,#f6f6f6)}
.gq__title{margin:0;font-size:var(--t-lg,1.25rem)}
.gq__lead{margin:6px 0 14px;color:var(--muted,#555)}
.gq__form{display:grid;gap:12px}
@media (min-width:700px){.gq__form{grid-template-columns:1fr 1fr}.gq__form .field:has(textarea),.gq__form .btn,.gq__form .check{grid-column:1/-1}}
/* The home section « Composez votre pack ». */
.cp-band{margin:var(--s4,32px) auto}
.cp-band__in{display:grid;gap:12px;align-items:center;padding:var(--s3,24px);border-radius:var(--r-xl,24px);background:color-mix(in srgb,var(--accent,var(--brand,#e8b23a)) 22%,var(--paper,#fff));color:var(--ink,#111)}
@media (min-width:800px){.cp-band__in{grid-template-columns:1fr auto;padding:var(--s4,32px) var(--s5,48px)}}
.cp-band__title{margin:0;font-family:var(--serif,inherit);font-size:clamp(1.5rem,6vw,2.4rem);line-height:1.08}
.cp-band__text{margin:4px 0 0;color:color-mix(in srgb,var(--ink,#111) 78%,var(--paper,#fff))}
.cp-band__tiers{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.cp-band__tiers li{padding:4px 10px;border-radius:999px;background:var(--paper,#fff);font-size:var(--t-xs,.8rem);font-weight:800}
.cp-band .btn{justify-self:start}
/* « Chiffres clés »: the band under the opening and the small line of the product page. */
.kf{margin:var(--s3,24px) auto}
.kf__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.kf__item{display:grid;align-content:start;gap:2px;padding:12px 10px;border-radius:var(--r-md,14px);background:var(--surface,#f6f6f6);box-shadow:inset 0 0 0 1.5px var(--line,#e8e8e8);text-align:center;min-width:0}
.kf__value{font-family:var(--serif,inherit);font-size:clamp(1.25rem,5.4vw,2.2rem);font-weight:800;line-height:1.05;color:var(--brand-text,var(--ink,#111));overflow-wrap:anywhere}
.kf__label{font-weight:700;font-size:var(--t-sm,.9rem);line-height:1.25;color:var(--ink,#111);overflow-wrap:anywhere}
.kf__note{font-size:var(--t-xs,.75rem);color:var(--muted,#666)}
.kf--small{margin:14px 0 0}
.kf--small .kf__list{display:flex;flex-wrap:wrap;gap:6px 14px}
.kf--small .kf__item{display:block;padding:0;background:none;box-shadow:none;text-align:left;font-size:var(--t-sm,.88rem)}
.kf--small .kf__value{display:inline;font-family:inherit;font-size:inherit}
.kf--small .kf__label{display:inline;font-weight:600}
.kf--small .kf__note{display:inline}
@media (prefers-reduced-motion:reduce){.cp-tier__bar span,.cp-tier__badge{transition:none}}
.recap__parts{display:block;margin-top:2px;color:var(--muted,#666);font-size:var(--t-xs,.8rem);font-weight:500;overflow-wrap:anywhere}
