/* ============================================================
   CROUSTILLE : design system partagé (site et espace gérant)
   Fredoka (display rond) · Caveat (accent manuscrit) · Inter (texte).
   Polices servies localement (licence SIL Open Font License).
   ============================================================ */

@font-face{font-family:'Caveat';font-style:normal;font-weight:600 700;font-display:swap;src:url(../../fonts/caveat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:400 700;font-display:swap;src:url(../../fonts/fredoka-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:400 700;font-display:swap;src:url(../../fonts/fredoka-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../../fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../../fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  /* Couleurs : chaudes & ensoleillées */
  --corail:#F0533B;
  --corail-deep:#D63A22;
  --ember:#F7823E;
  --miel:#F7B733;        /* jaune miel, soleil */
  --peche:#FBD1AE;       /* pêche douce */
  --cream:#FBEFD9;
  --cream-2:#FEF7EA;
  --cream-3:#FFFCF5;
  --cocoa:#3C2416;       /* brun chaud (pas noir) pour contraste */
  --cocoa-2:#4A2F1D;
  --caramel:#C0803F;
  --caramel-2:#E0A968;
  --pistache:#9BC24B;
  --ink:#3A2418;
  --ink-soft:#8A6E58;
  --line:rgba(192,128,63,.24);

  /* Motion */
  --ease:cubic-bezier(.34,.7,.2,1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --spring:cubic-bezier(.34,1.4,.5,1);

  /* Élévation : ombres douces & chaudes */
  --sh-sm:0 6px 18px rgba(120,72,30,.10);
  --sh-md:0 18px 46px rgba(120,72,30,.16);
  --sh-lg:0 34px 84px rgba(120,72,30,.22);
  --r:22px;
  --r-lg:32px;
  --maxw:1200px;
  --pad:26px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);
  background:var(--cream-2);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* Typo */
.display{font-family:'Fredoka',sans-serif;font-weight:600;line-height:1.05;letter-spacing:-.01em}
.h1{font-size:clamp(2.7rem,6.6vw,5rem);font-weight:700}
.h2{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:600}
.h3{font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:600}
.script{font-family:'Caveat',cursive;font-weight:700}
.kicker{font-family:'Fredoka',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--corail);margin:0 0 14px}
.kicker--light{color:var(--miel)}
.lead{font-size:1.14rem;line-height:1.7;color:var(--ink-soft);max-width:52ch}
.lead--light{color:rgba(251,239,217,.86)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);width:100%}
.section{padding:100px 0;position:relative}
.u-coral{color:var(--corail)}
.u-miel{color:var(--miel)}

/* Marque wordmark */
.brand{--corail:#EE4B33;font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.6rem;color:var(--corail);letter-spacing:-.01em;display:inline-flex;align-items:baseline}
.brand__o{position:relative;color:inherit}
.brand__o::after{content:"";position:absolute;left:14%;right:14%;bottom:.16em;height:.11em;background:currentColor;border-radius:2px}

/* Boutons : arrondis, doux, avec rebond */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:'Fredoka',sans-serif;font-weight:500;font-size:1rem;
  padding:.9em 1.7em;border-radius:100px;cursor:pointer;border:2.5px solid transparent;line-height:1;white-space:nowrap;
  transition:transform .2s var(--spring),background .2s,color .2s,box-shadow .2s,border-color .2s;will-change:transform}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(-1px) scale(.97)}
.btn--primary{background:var(--corail);color:#fff;box-shadow:0 10px 22px rgba(240,83,59,.32)}
.btn--primary:hover{background:var(--corail-deep);box-shadow:0 16px 30px rgba(240,83,59,.42)}
.btn--miel{background:var(--miel);color:var(--cocoa);box-shadow:0 10px 22px rgba(247,183,51,.34)}
.btn--miel:hover{box-shadow:0 16px 30px rgba(247,183,51,.44)}
.btn--cream{background:var(--cream);color:var(--corail);box-shadow:var(--sh-sm)}
.btn--cream:hover{box-shadow:var(--sh-md)}
.btn--dark{background:var(--cocoa);color:var(--cream)}
.btn--dark:hover{box-shadow:var(--sh-md)}
.btn--ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--cream)}
.btn--ghost-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn--ghost-light:hover{background:#fff;color:var(--corail)}
.btn--block{width:100%}
.btn--sm{padding:.62em 1.2em;font-size:.9rem;border-width:2px}

/* Puce label */
.pill{display:inline-flex;align-items:center;gap:.5em;font-family:'Fredoka',sans-serif;font-weight:500;font-size:.86rem;
  padding:.45em 1.05em;border-radius:100px;background:#fff;color:var(--corail-deep);box-shadow:var(--sh-sm)}
.pill--light{background:rgba(255,255,255,.16);color:#fff;border:1.5px solid rgba(255,255,255,.28);box-shadow:none;backdrop-filter:blur(6px)}
.pill--miel{background:var(--miel);color:var(--cocoa);box-shadow:none}

/* Sticker rond façon autocollant */
.sticker{display:inline-grid;place-items:center;text-align:center;font-family:'Fredoka',sans-serif;font-weight:600;
  background:var(--miel);color:var(--cocoa);border-radius:50%;box-shadow:var(--sh-md);transform:rotate(-8deg)}

/* Grain papier discret */
.grain::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E")}

/* Motif gaufre (texture douce) */
.waffle{--wc:rgba(192,128,63,.14);background-image:
  linear-gradient(var(--wc) 2px,transparent 2px),
  linear-gradient(90deg,var(--wc) 2px,transparent 2px);
  background-size:30px 30px}

/* Vague décorative (séparateur chaleureux) */
.wave{display:block;width:100%;height:60px;line-height:0}

/* Reveal motion */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Sections tonales */
.bg-cream{background:var(--cream-2)}
.bg-cream-3{background:var(--cream-3)}
.bg-peche{background:linear-gradient(180deg,var(--peche),var(--cream-2))}
.bg-dark{background:var(--cocoa);color:var(--cream)}
.bg-coral{background:linear-gradient(160deg,var(--ember),var(--corail));color:#fff}
.bg-miel{background:linear-gradient(160deg,var(--miel),var(--ember));color:var(--cocoa)}
