/* Contenus en mode « match » + page article façon Calm (v251) */
#screen-explore.cm-on{--cm-serif:'Fraunces',Didot,"Bodoni 72",Georgia,serif;background:radial-gradient(ellipse 130% 60% at 50% 0%,#5a2d36 0%,#3b1c27 38%,#26131c 100%) fixed,#26131c!important;color:#fbefe3;min-height:100vh;min-height:100dvh}
#screen-explore.cm-on:not(.cm-night){background:#f8ede1!important;color:#2f1a14}
#screen-explore.cm-on:not(.cm-library)>*:not(.cm){display:none!important}
#screen-explore.cm-library>.cm{display:none}
#screen-explore.cm-library{background:#fbf4ec!important;color:#2f1a14}
.cm-back{display:block;margin:calc(14px + var(--sat,0px)) 16px 0;padding:9px 14px;border:0;border-radius:999px;background:#f3e2d4;color:#9b4d35;font:600 12.5px/1 var(--sans);cursor:pointer}

.cm{display:flex;flex-direction:column;min-height:calc(100dvh - 76px);padding:calc(14px + var(--sat,0px)) 16px 12px;box-sizing:border-box}
.cm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.cm-head h1{margin:0;font:400 clamp(28px,8vw,34px)/1.05 var(--cm-serif)!important;color:inherit;letter-spacing:-.01em}
.cm-head p{margin:5px 0 0;font-size:12.5px;line-height:1.4;opacity:.75}
.cm-later-chip{flex:0 0 auto;padding:8px 12px;border:0;border-radius:999px;background:#ffffff14;box-shadow:0 0 0 1px #ffffff24;color:inherit;font:600 11.5px/1 var(--sans);cursor:pointer;white-space:nowrap}
#screen-explore:not(.cm-night) .cm-later-chip{background:#f3e2d4;box-shadow:none;color:#9b4d35}

/* Le paquet : une carte plein écran à la fois */
.cm-stack{position:relative;flex:1;min-height:clamp(380px,62dvh,560px);margin-top:16px}
.cm-card{--depth:0;--like:0;--pass:0;position:absolute;inset:0;border-radius:28px;background:#3b1c27 center/cover no-repeat;overflow:hidden;box-shadow:0 18px 40px #0000004d;transform:translateY(calc(var(--depth) * 12px)) scale(calc(1 - var(--depth) * .05));transition:transform .3s ease;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.cm-card.is-under{pointer-events:none;filter:brightness(.8)}
.cm-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,#1a0c1100 35%,#1a0c11b3 68%,#1a0c11f2 100%)}
.cm-card-text{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 24px;color:#fff3e6}
.cm-card-text small{display:block;font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#f1c99d}
.cm-card-text h2{margin:8px 0 8px;font:400 clamp(24px,7vw,30px)/1.12 var(--cm-serif)!important;color:#fff3e6!important}
.cm-card-text p{margin:0;font-size:14px;line-height:1.5;color:#f6dcc9;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cm-stamp{position:absolute;top:26px;padding:8px 14px;border-radius:12px;font:700 15px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.cm-stamp-like{left:22px;color:#b9cf9c;box-shadow:0 0 0 2px #b9cf9c;transform:rotate(-12deg);opacity:var(--like)}
.cm-stamp-pass{right:22px;color:#f2a58c;box-shadow:0 0 0 2px #f2a58c;transform:rotate(12deg);opacity:var(--pass)}
.cm-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;border-radius:28px;background:#ffffff0d;box-shadow:0 0 0 1px #ffffff1a}
.cm-empty h2{margin:0;font:400 22px/1.25 var(--cm-serif)!important;color:inherit!important}
.cm-empty p{margin:10px 0 0;font-size:13.5px;line-height:1.5;opacity:.8}

/* Boutons sous la carte */
.cm-actions{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:20px}
.cm-btn{border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .15s}
.cm-btn:active{transform:scale(.9)}
.cm-btn-pass,.cm-btn-like{width:62px;height:62px;font-size:24px}
.cm-btn-pass{background:#ffffff12;color:#f2a58c;box-shadow:0 0 0 1px #ffffff26}
.cm-btn-like{background:#c9614d;color:#fff3e6;box-shadow:0 10px 22px #c9614d55;font-size:26px}
.cm-btn-read{width:auto;height:44px;padding:0 20px;border-radius:999px;background:#ffffff14;color:inherit;font:600 13px/1 var(--sans);box-shadow:0 0 0 1px #ffffff26}
#screen-explore:not(.cm-night) .cm-btn-pass,#screen-explore:not(.cm-night) .cm-btn-read{background:#fffaf3;box-shadow:0 0 0 1px #e6cdb8}
.cm-library-link{display:block;margin:16px auto 0;padding:6px;border:0;background:none;color:#f2a58c;font:500 12.5px/1 var(--sans);cursor:pointer}
#screen-explore:not(.cm-night) .cm-library-link{color:#a2553d}

/* Après un ♥ */
.cm-sheet{position:fixed;left:12px;right:12px;bottom:calc(88px + var(--sab,0px));z-index:120;max-width:500px;margin:0 auto;padding:16px 18px;border-radius:22px;background:#fff8f0f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 32px #0000004d;color:#2f1a14;transform:translateY(140%);transition:transform .35s cubic-bezier(.3,.7,.3,1)}
.cm-sheet.is-in{transform:none}
.cm-sheet-kicker{margin:0;font:600 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#a2553d}
.cm-sheet strong{display:block;margin-top:6px;font:400 18px/1.25 Fraunces,Georgia,serif;color:#2f1a14}
.cm-sheet-actions{display:flex;gap:8px;margin-top:12px}
.cm-sheet-actions button{flex:1;padding:11px;border:0;border-radius:999px;font:600 13px/1 var(--sans);cursor:pointer;background:#f3e2d4;color:#9b4d35}
.cm-sheet-actions button:first-child{background:#c9614d;color:#fff8f1}
.cm-sheet-note{margin:9px 0 0;font-size:11.5px;color:#8a6a5a}

/* À lire plus tard */
.cm-later{position:fixed;inset:auto 0 0 0;z-index:125;max-height:80dvh;overflow:auto;padding:16px 18px calc(22px + var(--sab,0px));border-radius:26px 26px 0 0;background:#2c1620;color:#fbefe3;box-shadow:0 -14px 34px #00000066}
.cm-later-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cm-later-head h2{margin:0;font:400 22px/1.2 Fraunces,Georgia,serif;color:#fff3e6}
.cm-later-head button{width:36px;height:36px;border:0;border-radius:50%;background:#ffffff14;color:#fbefe3;font-size:22px;cursor:pointer}
.cm-later-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #ffffff14}
.cm-later-open{flex:1;display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.cm-later-open span{grid-row:1/3;width:56px;height:56px;border-radius:14px;background:center/cover no-repeat}
.cm-later-open b{font:400 15px/1.25 Fraunces,Georgia,serif;color:#fff3e6}
.cm-later-open small{font-size:11.5px;color:#d9b8a6}
.cm-later-rm{width:32px;height:32px;border:0;border-radius:50%;background:#ffffff12;color:#f1d0b8;cursor:pointer}
.cm-later-empty{margin:6px 0;font-size:13.5px;line-height:1.5;color:#e9cbb8}

/* ───────────── Page article façon Calm ───────────── */
#screen-detail.cd-on{--cd-serif:'Fraunces',Didot,"Bodoni 72",Georgia,serif}
#screen-detail.cd-on>header,#screen-detail.cd-on .page>.link-btn:first-child,#screen-detail.cd-on .eyebrow,#screen-detail.cd-on .page-title,#screen-detail.cd-on .page-subtitle{display:none!important}
.cd-hero{position:relative;height:min(78dvh,640px);min-height:440px;background:#3b1c27 center/cover no-repeat}
.cd-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#1a0c1166 0%,#1a0c1100 22%,#1a0c1100 45%,#26131ccc 75%,#26131c 100%)}
#screen-detail:not(.cd-night) .cd-hero-shade{background:linear-gradient(180deg,#1a0c1166 0%,#1a0c1100 22%,#1a0c1100 45%,#fbf4ecd9 78%,#fbf4ec 100%)}
.cd-round{position:absolute;top:calc(14px + var(--sat,0px));width:44px;height:44px;border:0;border-radius:50%;background:#1a0c1155;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff3e6;display:grid;place-items:center;cursor:pointer;z-index:2}
.cd-round svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cd-back{left:16px}
.cd-heart{right:16px;font-size:20px}
.cd-heart.is-on{background:#c9614d;color:#fff3e6}
.cd-hero-text{position:absolute;left:0;right:0;bottom:0;padding:0 22px 22px;color:#fff3e6;z-index:1}
#screen-detail:not(.cd-night) .cd-hero-text{color:#2f1a14}
.cd-hero-text small{display:block;font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#f1c99d}
#screen-detail:not(.cd-night) .cd-hero-text small{color:#a2553d}
.cd-hero-text h1{margin:10px 0 10px;font:400 clamp(28px,8.4vw,36px)/1.1 var(--cd-serif)!important;color:inherit!important;letter-spacing:-.01em}
.cd-hero-text p{margin:0;font-size:15px;line-height:1.55;opacity:.88}
.cd-later{margin-top:14px;padding:9px 16px;border:0;border-radius:999px;background:#ffffff1c;box-shadow:0 0 0 1px #ffffff33;color:inherit;font:600 12.5px/1 var(--sans);cursor:pointer}
#screen-detail:not(.cd-night) .cd-later{background:#f3e2d4;box-shadow:none;color:#9b4d35}

/* Lecture épurée en nuit */
#screen-detail.cd-night{background:#26131c!important;color:#f1d9c8}
#screen-detail.cd-night .page{background:none!important;padding-top:6px!important}
#screen-detail.cd-night .heritage-note{background:#ffffff0d!important;box-shadow:0 0 0 1px #ffffff1a!important;border:0!important;border-radius:18px!important;color:#f1d9c8!important}
#screen-detail.cd-night .heritage-note *,#screen-detail.cd-night .article-content *{color:#f1d9c8!important}
#screen-detail.cd-night .heritage-note h3,#screen-detail.cd-night .heritage-note strong,#screen-detail.cd-night .article-content h3,#screen-detail.cd-night .article-content h2,#screen-detail.cd-night .article-content strong{color:#fff3e6!important;font-family:var(--cd-serif)!important;font-weight:400!important}
#screen-detail.cd-night .article-content p,#screen-detail.cd-night .article-content li{font-size:15px!important;line-height:1.7!important}
#screen-detail.cd-night .article-content *[style*="background"]{background:#ffffff0d!important}
#screen-detail.cd-night .btn:not(.btn-primary){background:#ffffff14!important;color:#f6dcc9!important;border:1px solid #ffffff2e!important}
#screen-detail.cd-night .btn-primary{background:#b46a54!important;color:#fff8f1!important}
#screen-detail.cd-on .page>img{display:none!important} /* la photo est déjà en grand dans l’en-tête */

/* Ingrédients à cocher (reliés à la liste de courses) */
.cd-ing{display:grid;gap:4px;margin:6px 0 4px}
.cd-ing-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff0c;cursor:pointer;font-size:15px;line-height:1.4}
.cd-ing-row input{appearance:none;-webkit-appearance:none;flex:0 0 22px;width:22px;height:22px;margin:0;border-radius:7px;border:1.5px solid #e8b99a;background:none;display:grid;place-items:center;cursor:pointer}
.cd-ing-row input:checked{background:#b46a54;border-color:#b46a54}
.cd-ing-row input:checked:after{content:"✓";color:#fff8f1;font:700 13px/1 var(--sans)}
#screen-detail:not(.cd-night) .cd-ing-row{background:#f6e9dd}
.cd-ing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cd-ing-actions button{flex:1;min-width:150px;padding:11px 12px;border:0;border-radius:999px;font:600 12.5px/1.2 var(--sans);cursor:pointer;background:#ffffff14;color:#f6dcc9;box-shadow:0 0 0 1px #ffffff26}
.cd-ing-actions .cd-ing-all{background:#b46a54;color:#fff8f1;box-shadow:none}
#screen-detail:not(.cd-night) .cd-ing-actions button:not(.cd-ing-all){background:#f3e2d4;color:#9b4d35;box-shadow:none}
.cd-courses-count{opacity:.8;font-weight:500}
/* La liste de courses */
.cm-courses-group{margin:14px 0 6px;font:600 10.5px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#e8b99a}
.cm-courses-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid #ffffff12;font-size:15px;color:#fbefe3;cursor:pointer}
.cm-courses-row input{appearance:none;-webkit-appearance:none;flex:0 0 24px;width:24px;height:24px;margin:0;border-radius:50%;border:1.5px solid #e8b99a;display:grid;place-items:center;cursor:pointer}
.cm-courses-row input:checked{background:#6f8456;border-color:#6f8456}
.cm-courses-row input:checked:after{content:"✓";color:#fff8f1;font:700 13px/1 var(--sans)}
.cm-courses-row.is-done span{text-decoration:line-through;opacity:.5}
.cm-courses-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cm-courses-actions button{flex:1;min-width:120px;padding:11px;border:0;border-radius:999px;background:#ffffff14;color:#f6dcc9;font:600 12.5px/1.2 var(--sans);cursor:pointer}
.cm-courses-actions button:first-child{background:#6f8456;color:#fff8f1}

/* Loupe dans Découvrir */
.cm-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.cm-search-btn{width:40px;height:40px;border:0;border-radius:50%;background:#ffffff14;box-shadow:0 0 0 1px #ffffff24;color:inherit;display:grid;place-items:center;cursor:pointer}
.cm-search-btn svg,.cm-search-bar svg,.cm-favs-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#screen-explore:not(.cm-night) .cm-search-btn{background:#f3e2d4;box-shadow:none;color:#9b4d35}

/* Recherche plein écran */
.cm-search{position:fixed;inset:0;z-index:130;display:flex;flex-direction:column;padding:calc(12px + var(--sat,0px)) 16px 0;background:#26131c;color:#fbefe3}
.cm-search-bar{display:flex;align-items:center;gap:10px;padding:0 4px 0 14px;border-radius:16px;background:#ffffff12;box-shadow:0 0 0 1px #ffffff22}
.cm-search-bar svg{flex:0 0 20px;color:#e8b99a}
.cm-search-bar input{flex:1;min-width:0;height:48px;border:0;background:none;color:#fff3e6;font:500 16px/1 var(--sans);outline:none}
.cm-search-bar input::placeholder{color:#c9a99b}
.cm-search-bar button{border:0;background:none;color:#f2a58c;font:600 13.5px/1 var(--sans);padding:10px;cursor:pointer}
.cm-search-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cm-search.has-query .cm-search-chips{display:none}
.cm-search-chips button{padding:9px 14px;border:0;border-radius:999px;background:#ffffff12;box-shadow:0 0 0 1px #ffffff1f;color:#f6dcc9;font:500 13px/1 var(--sans);cursor:pointer}
.cm-search-results{flex:1;overflow:auto;margin-top:10px;padding-bottom:calc(20px + var(--sab,0px))}
.cm-search-row{display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;width:100%;padding:10px 0;border:0;border-bottom:1px solid #ffffff12;background:none;color:inherit;text-align:left;cursor:pointer}
.cm-search-row span{grid-row:1/3;width:60px;height:60px;border-radius:14px;background:center/cover no-repeat}
.cm-search-row b{font:400 16px/1.25 Fraunces,Georgia,serif;color:#fff3e6}
.cm-search-row small{font-size:12px;color:#d9b8a6}
.cm-search-none{margin:20px 4px;font-size:14px;line-height:1.5;color:#e9cbb8}

/* Mes favoris : plein écran, grille de cartes images */
.cm-favs{position:fixed;inset:0;z-index:125;overflow:auto;padding:calc(10px + var(--sat,0px)) 16px calc(24px + var(--sab,0px));background:#26131c;color:#fbefe3}
.cm-favs-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center}
.cm-favs-head h2{margin:0;text-align:center;font:400 24px/1.1 Fraunces,Georgia,serif;color:#fff3e6}
.cm-favs-close{width:42px;height:42px;border:0;border-radius:50%;background:#ffffff12;color:#e8b99a;display:grid;place-items:center;cursor:pointer}
.cm-favs-tabs{display:flex;gap:4px;margin:16px 0;padding:4px;border-radius:999px;background:#ffffff12}
.cm-favs-tabs button{flex:1;padding:10px 8px;border:0;border-radius:999px;background:none;color:#c9a99b;font:600 13px/1 var(--sans);cursor:pointer}
.cm-favs-tabs button.is-on{background:#f3e2d4;color:#2c1620}
.cm-favs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cm-fav{position:relative}
.cm-fav-open{position:relative;display:block;width:100%;aspect-ratio:4/5;padding:0;border:0;border-radius:20px;overflow:hidden;background:#3b1c27 center/cover no-repeat;cursor:pointer;text-align:left}
.cm-fav-open:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1a0c1100 40%,#1a0c11e6 100%)}
.cm-fav-text{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:4px;padding:12px}
.cm-fav-text small{font:600 9.5px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#f1c99d}
.cm-fav-text b{font:400 15px/1.2 Fraunces,Georgia,serif;color:#fff3e6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cm-fav-rm{position:absolute;top:8px;right:8px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:#1a0c1166;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f2a58c;font-size:16px;cursor:pointer}
.cm-favs-empty{margin-top:30px;text-align:center}
.cm-favs-empty p{margin:0 auto;max-width:300px;font-size:14px;line-height:1.55;color:#e9cbb8}
.cm-favs-empty button{margin-top:18px;padding:12px 18px;border:0;border-radius:999px;background:#b46a54;color:#fff8f1;font:600 13px/1 var(--sans);cursor:pointer}
