/* A photographic discovery game within the existing editorial charter. */
body.mbp-editorial #main.mbp-sortie-page { width:min(1200px,calc(100% - 64px)); max-width:1200px; margin-inline:auto; padding-block:24px 60px; padding-inline:0; float:none; }
.mbp-sortie-page > .mbp-breadcrumb { margin:0 0 28px; font:400 12px/1.6 var(--mbp-font-sans); }
.mbp-sortie { color:var(--mbp-color-text); font:400 16px/1.7 var(--mbp-font-sans); }
.mbp-sortie *, .mbp-sortie *::before, .mbp-sortie *::after { box-sizing:border-box; }
.mbp-sortie [hidden] { display:none!important; }
.mbp-sortie button { text-transform:none; letter-spacing:normal; cursor:pointer; }
.mbp-sortie :is(button,a,summary):focus-visible { outline:2px solid var(--mbp-color-accent); outline-offset:5px; }
.mbp-sortie :is(h2,h3)[tabindex] { scroll-margin-top:100px; }
.mbp-sortie-intro { text-align:center; max-width:900px; margin:0 auto 28px; }
.mbp-sortie .mbp-sortie-kicker { display:flex; align-items:center; justify-content:center; gap:9px; margin:0 0 14px; color:var(--mbp-color-accent); font:600 11px/1.6 var(--mbp-font-sans); letter-spacing:1.3px; text-transform:uppercase; }
.mbp-sortie .mbp-sortie-intro h1 { color:var(--mbp-color-heading); font:500 clamp(36px,4vw,54px)/1.13 var(--mbp-font-serif); letter-spacing:-1px; margin:0 0 16px; }
.mbp-sortie .mbp-sortie-intro-text { color:var(--mbp-color-text-muted); font:400 15px/1.8 var(--mbp-font-sans); margin:0; }
.mbp-sortie-trail { display:flex; align-items:center; justify-content:center; gap:34px; list-style:none; padding:0 0 24px; margin:0 0 30px; border-bottom:1px solid var(--mbp-color-border); }
.mbp-sortie-trail li, .mbp-sortie-trail button { display:flex; align-items:center; gap:9px; color:var(--mbp-color-text-muted); font:500 12px/1.5 var(--mbp-font-sans); margin:0; }
.mbp-sortie-trail button { background:none; border:0; padding:5px 0; min-height:44px; }
.mbp-sortie-trail-number { display:grid; place-items:center; width:26px; height:26px; border:1px solid var(--mbp-color-border); border-radius:50%; font:500 12px var(--mbp-font-sans); }
.mbp-sortie-trail [aria-current] .mbp-sortie-trail-number { background:var(--mbp-color-accent-solid); color:var(--mbp-color-on-accent); border-color:var(--mbp-color-accent-solid); }
.mbp-sortie-trail [aria-current], .mbp-sortie-trail [aria-current] button { color:var(--mbp-color-heading); }
.mbp-sortie-trail button:disabled { cursor:default; }
.mbp-sortie-scene-head, .mbp-sortie-result-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.mbp-sortie .mbp-sortie-scene-head h2, .mbp-sortie .mbp-sortie-result-head h2 { font:500 32px/1.25 var(--mbp-font-serif); color:var(--mbp-color-heading); margin:0; }
.mbp-sortie-step-mark { color:var(--mbp-color-text-muted); font:400 12px var(--mbp-font-sans); }
.mbp-sortie-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.mbp-sortie .mbp-sortie-choice { display:flex; position:relative; flex-direction:column; padding:0; width:100%; height:100%; min-width:0; background:var(--mbp-color-surface); color:var(--mbp-color-heading); border:1px solid var(--mbp-color-border); border-radius:5px; text-align:left; overflow:hidden; box-shadow:none; transition:transform .18s ease,border-color .18s ease; }
.mbp-sortie-choice-photo { display:block; width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--mbp-color-surface-soft); }
.mbp-sortie-choice-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.mbp-sortie-choice-copy { display:flex; flex-direction:column; gap:7px; padding:20px 22px 24px; min-width:0; }
.mbp-sortie-choice-name { color:inherit; font:500 26px/1.2 var(--mbp-font-serif); }
.mbp-sortie-choice-hint { color:var(--mbp-color-text-muted); font:400 13px/1.6 var(--mbp-font-sans); }
.mbp-sortie-destination .mbp-sortie-choice-copy { padding-right:52px; }
.mbp-sortie-choice-arrow { position:absolute; right:20px; bottom:28px; color:var(--mbp-color-accent); }
.mbp-sortie-moods { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.mbp-sortie-moods[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mbp-sortie-mood .mbp-sortie-choice-photo { aspect-ratio:4/3; }
.mbp-sortie-mood .mbp-sortie-choice-name { font-size:24px; }
.mbp-sortie .mbp-sortie-mood.is-surprise { background:var(--mbp-color-accent-solid); color:var(--mbp-color-on-accent); border-color:var(--mbp-color-accent-solid); }
.mbp-sortie .is-surprise .mbp-sortie-choice-hint { color:var(--mbp-color-on-accent); }
.mbp-sortie-surprise-art { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:4/3; overflow:hidden; }
.mbp-sortie-surprise-art > svg { width:56%; height:56%; opacity:.3; transform:rotate(-18deg); stroke-width:1; }
.mbp-sortie-surprise-art > span { position:absolute; font:400 68px/1 var(--mbp-font-serif); }
.mbp-sortie-surprise-art::before,.mbp-sortie-surprise-art::after { content:''; position:absolute; border:1px solid currentColor; opacity:.14; border-radius:50%; width:75%; aspect-ratio:1; }
.mbp-sortie-surprise-art::after { width:100%; }
.mbp-sortie .mbp-sortie-back { display:inline-flex; align-items:center; padding:6px 0; min-height:44px; background:transparent; color:var(--mbp-color-accent); border:0; font:500 13px/1.5 var(--mbp-font-sans); text-decoration:underline; text-underline-offset:5px; }
.mbp-sortie-current-place,.mbp-sortie-recap { display:block; font:500 12px/1.6 var(--mbp-font-sans); color:var(--mbp-color-accent); margin:0 0 8px; }
.mbp-sortie-status { color:var(--mbp-color-heading); font:500 14px/1.7 var(--mbp-font-sans); margin:20px 0; }
.mbp-sortie-status:empty { margin:0; }
.mbp-sortie.is-busy .mbp-sortie-moods { opacity:.65; }
.mbp-sortie.is-busy .mbp-sortie-status::before { content:''; display:inline-block; width:15px; height:15px; border:2px solid var(--mbp-color-border); border-top-color:var(--mbp-color-accent); border-radius:50%; margin-right:12px; vertical-align:middle; animation:mbp-sortie-spin .8s linear infinite; }
.mbp-sortie.is-busy button { cursor:progress; }
.mbp-sortie-replay { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.mbp-sortie-pick { min-width:0; }
.mbp-sortie-pick.is-featured { display:grid; grid-template-columns:1.15fr 1fr; border:1px solid var(--mbp-color-border); border-radius:5px; overflow:hidden; background:var(--mbp-color-surface); }
.mbp-sortie-pick-photo { display:block; min-width:0; background:var(--mbp-color-surface-soft); overflow:hidden; }
.mbp-sortie-pick-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.mbp-sortie-pick.is-featured .mbp-sortie-pick-photo { min-height:400px; }
.mbp-sortie-pick-copy { min-width:0; padding:32px; }
.mbp-sortie .mbp-sortie-pick-copy .mbp-sortie-kicker { justify-content:flex-start; font-size:10px; }
.mbp-sortie .mbp-sortie-pick h3 { font:500 clamp(27px,2.5vw,34px)/1.22 var(--mbp-font-serif); margin:0 0 14px; color:var(--mbp-color-heading); }
.mbp-sortie .mbp-sortie-pick :is(h3,h4) a { color:inherit; }
.mbp-sortie .mbp-sortie-pick :is(h3,h4) a:hover { color:var(--mbp-color-accent); }
.mbp-sortie-kind { display:inline-block; font:500 11px/1.5 var(--mbp-font-sans); padding:4px 9px; color:var(--mbp-color-accent); background:var(--mbp-color-accent-subtle); border-radius:3px; }
.mbp-sortie .mbp-sortie-why-label { font:600 12px/1.6 var(--mbp-font-sans); color:var(--mbp-color-heading); margin:24px 0 7px; }
.mbp-sortie .mbp-sortie-reason { font:400 15px/1.8 var(--mbp-font-sans); color:var(--mbp-color-text-muted); margin:0 0 26px; }
.mbp-sortie-pick-links { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.mbp-sortie-pick-links .mbp-ed-button { gap:12px; padding-inline:18px; }
.mbp-sortie .mbp-sortie-alternatives-title { font:500 25px/1.3 var(--mbp-font-serif); color:var(--mbp-color-heading); margin:36px 0 20px; }
.mbp-sortie-alternatives { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.mbp-sortie-pick.is-alternative { display:grid; grid-template-columns:40% 1fr; border-top:1px solid var(--mbp-color-border); padding-top:20px; gap:20px; }
.mbp-sortie-pick.is-alternative .mbp-sortie-pick-photo { aspect-ratio:1; border-radius:3px; align-self:start; }
.mbp-sortie-pick.is-alternative .mbp-sortie-pick-copy { padding:0; }
.mbp-sortie .mbp-sortie-pick h4 { font:500 22px/1.25 var(--mbp-font-serif); color:var(--mbp-color-heading); margin:0 0 12px; }
.mbp-sortie-pick.is-alternative .mbp-sortie-pick-links { margin-top:12px; }
.mbp-sortie-share { display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.mbp-sortie-exhausted { padding:20px 24px; margin-bottom:24px; border-left:3px solid var(--mbp-color-accent); background:var(--mbp-color-accent-subtle); color:var(--mbp-color-text); }
.mbp-sortie-exhausted p { margin:0 0 8px; }
.mbp-sortie[data-state=result] .mbp-sortie-intro h1 { font-size:32px; }
.mbp-sortie[data-state=result] .mbp-sortie-intro-text { display:none; }
@media(hover:hover) { .mbp-sortie .mbp-sortie-choice:hover { transform:translateY(-4px); border-color:var(--mbp-color-accent); } .mbp-sortie-choice:hover img { transform:scale(1.035); } .mbp-sortie-choice:hover .mbp-sortie-choice-arrow { transform:translateX(3px); } }
@media(max-width:960px) {
 body.mbp-editorial #main.mbp-sortie-page { width:calc(100% - 40px); }
 .mbp-sortie-moods { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mbp-sortie-choice-name { font-size:23px; }
 .mbp-sortie-choice-copy { padding:16px; }
 .mbp-sortie-pick-copy { padding:24px; }
 .mbp-sortie-result-head { align-items:flex-start; }
 .mbp-sortie-replay { justify-content:flex-end; gap:4px; }
 .mbp-sortie-pick.is-alternative { grid-template-columns:1fr; }
 .mbp-sortie-pick.is-alternative .mbp-sortie-pick-photo { aspect-ratio:3/2; }
}
@media(max-width:768px) {
 .mbp-sortie .mbp-sortie-intro h1 { font-size:38px; }
 .mbp-sortie-intro { text-align:left; margin-bottom:20px; }
 .mbp-sortie .mbp-sortie-intro > .mbp-sortie-kicker { justify-content:flex-start; }
 .mbp-sortie-trail { justify-content:flex-start; gap:20px; }
 .mbp-sortie-trail li, .mbp-sortie-trail button { font-size:11px; gap:6px; }
 .mbp-sortie-destinations { gap:14px; }
 .mbp-sortie-destination .mbp-sortie-choice-copy { padding-right:16px; }
 .mbp-sortie-choice-arrow { display:none; }
 .mbp-sortie-pick.is-featured { grid-template-columns:1fr; }
 .mbp-sortie-pick.is-featured .mbp-sortie-pick-photo { min-height:0; aspect-ratio:16/10; }
 .mbp-sortie .mbp-sortie-scene-head h2, .mbp-sortie .mbp-sortie-result-head h2 { font-size:28px; }
 .mbp-sortie-result-head { flex-direction:column; gap:16px; }
 .mbp-sortie-replay { justify-content:flex-start; gap:16px; }
}
@media(max-width:480px) {
 body.mbp-editorial #main.mbp-sortie-page { width:calc(100% - 32px); padding-top:18px; }
 .mbp-sortie-page > .mbp-breadcrumb { font-size:10px; margin-bottom:20px; }
 .mbp-sortie .mbp-sortie-intro h1 { font-size:34px; }
 .mbp-sortie .mbp-sortie-intro-text { font-size:14px; }
 .mbp-sortie-trail { gap:12px; padding-bottom:16px; margin-bottom:22px; }
 .mbp-sortie-trail li, .mbp-sortie-trail button { font-size:10px; gap:5px; }
 .mbp-sortie-trail-number { width:22px; height:22px; flex-shrink:0; }
 .mbp-sortie-trail li { min-width:0; }
 .mbp-sortie-destinations { grid-template-columns:1fr; }
 .mbp-sortie .mbp-sortie-destination { display:grid; grid-template-columns:38% 1fr; align-items:center; }
 .mbp-sortie-destination .mbp-sortie-choice-photo { aspect-ratio:1; height:100%; }
 .mbp-sortie-destination .mbp-sortie-choice-name { font-size:24px; }
 .mbp-sortie-destination .mbp-sortie-choice-hint { font-size:12px; }
 .mbp-sortie-moods, .mbp-sortie-moods[data-count="3"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .mbp-sortie-mood.is-surprise { grid-column:1/-1; display:grid; grid-template-columns:34% 1fr; align-items:center; }
 .mbp-sortie-mood.is-surprise .mbp-sortie-surprise-art { aspect-ratio:1; }
 .mbp-sortie-moods[data-count="4"] .is-surprise { grid-column:auto; display:flex; }
 .mbp-sortie-moods[data-count="4"] .is-surprise .mbp-sortie-surprise-art { aspect-ratio:4/3; }
 .mbp-sortie-mood .mbp-sortie-choice-name { font-size:22px; }
 .mbp-sortie-mood .mbp-sortie-choice-copy { padding:14px; }
 .mbp-sortie-mood .mbp-sortie-choice-hint { font-size:12px; }
 .mbp-sortie-surprise-art > span { font-size:52px; }
 .mbp-sortie-alternatives { grid-template-columns:1fr; gap:22px; }
 .mbp-sortie-pick.is-alternative { grid-template-columns:35% 1fr; gap:16px; }
 .mbp-sortie-pick.is-alternative .mbp-sortie-pick-photo { aspect-ratio:1; }
 .mbp-sortie-pick-copy { padding:22px; }
 .mbp-sortie .mbp-sortie-pick h4 { font-size:21px; }
 /* Reserve the touch target before wrapping the translated article label. */
 .mbp-sortie-pick.is-alternative .mbp-sortie-pick-links { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; }
 .mbp-sortie-pick.is-alternative .mbp-sortie-pick-links > a { min-width:0; gap:6px; overflow-wrap:anywhere; }
 .mbp-sortie-pick.is-alternative .mbp-sortie-pick-links > a span { flex-shrink:0; }
}
@keyframes mbp-sortie-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:no-preference) { .mbp-sortie-pick.is-featured { animation:mbp-sortie-reveal .24s ease-out; } @keyframes mbp-sortie-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } } }
@media(prefers-reduced-motion:reduce) { .mbp-sortie * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

#mbp-sortie :is(.mbp-sortie-scene-head,.mbp-sortie-result-head) { scroll-margin-top:110px; }

/* Persist the chosen context when returning to a previous step. */
#mbp-sortie .mbp-sortie-choice[aria-pressed=true] { border-color:var(--mbp-color-accent); box-shadow:0 0 0 1px var(--mbp-color-accent); }
#mbp-sortie .mbp-sortie-retry { margin:0 0 24px; }

/* A small optional refinement inside the existing step, with native radio keyboard behaviour. */
.mbp-sortie .mbp-sortie-horizons { border:0; padding:0; margin:0 0 26px; min-width:0; }
.mbp-sortie-horizons legend { font:500 13px/1.6 var(--mbp-font-sans); color:var(--mbp-color-text-muted); margin:0 0 10px; padding:0; }
.mbp-sortie-horizon-options { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.mbp-sortie-horizon-options label { position:relative; display:flex; min-width:0; cursor:pointer; }
.mbp-sortie-horizon-options input { position:absolute; opacity:0; width:1px; height:1px; }
.mbp-sortie-horizon-options span { display:flex; align-items:center; justify-content:center; min-height:44px; border:1px solid var(--mbp-color-border); border-radius:24px; padding:9px 17px; font:500 12px/1.5 var(--mbp-font-sans); color:var(--mbp-color-heading); background:var(--mbp-color-surface); }
.mbp-sortie-horizon-options input:checked + span { background:var(--mbp-color-accent-solid); border-color:var(--mbp-color-accent-solid); color:var(--mbp-color-on-accent); }
.mbp-sortie-horizon-options input:focus-visible + span { outline:2px solid var(--mbp-color-accent); outline-offset:3px; }
@media(max-width:480px) { .mbp-sortie-horizon-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .mbp-sortie-horizon-options span { width:100%; padding-inline:8px; } }

/* Useful context after the game, rendered on the server in every language. */
.mbp-sortie-page .mbp-sortie-details { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px 56px; margin-top:48px; padding-top:32px; border-top:1px solid var(--mbp-color-border); color:var(--mbp-color-text-muted); font:400 14px/1.8 var(--mbp-font-sans); }
.mbp-sortie-details > * { min-width:0; }
.mbp-editorial .mbp-sortie-details h2 { margin:0 0 16px; font:500 28px/1.3 var(--mbp-font-serif); color:var(--mbp-color-heading); }
.mbp-sortie-details p { margin:0 0 16px; }
.mbp-sortie-details-questions details { border-bottom:1px solid var(--mbp-color-border); }
.mbp-sortie-details summary { padding:14px 0; cursor:pointer; color:var(--mbp-color-heading); font-weight:500; }
.mbp-sortie-details summary:focus-visible,.mbp-sortie-details a:focus-visible { outline:2px solid var(--mbp-color-accent); outline-offset:4px; }
.mbp-sortie-details-questions p { margin:0 0 18px; }
.mbp-sortie-explore { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; }
.mbp-sortie-explore a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--mbp-color-accent); text-decoration:underline; text-underline-offset:4px; }
.mbp-sortie-explore svg { width:16px; height:16px; }
@media(max-width:768px) {
 .mbp-sortie-page .mbp-sortie-details { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:36px; }
 .mbp-sortie-explore > span { flex-basis:100%; }
}

.mbp-sortie-moods[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }

.mbp-sortie-moods[data-count="1"] { grid-template-columns:minmax(0,1fr); max-width:450px; }

/* Keep portrait snapshots inside the existing card dimensions. */
.mbp-sortie-pick.is-instagram .mbp-sortie-pick-photo { position:relative; }
.mbp-sortie-pick.is-instagram .mbp-sortie-pick-photo img { position:absolute; inset:0; object-fit:cover; }
.mbp-sortie .mbp-sortie-source-note { font:400 12px/1.5 var(--mbp-font-sans); color:var(--mbp-color-text-muted); margin:0 0 16px; }

/* The draw: the chosen card waits, the featured photo develops like a print, the other ideas follow. */
@media(prefers-reduced-motion:no-preference) {
 .mbp-sortie.is-revealing .mbp-sortie-pick-photo img { opacity:0; }
 .mbp-sortie.is-revealing .mbp-sortie-pick-photo img.is-loaded { opacity:1; animation:mbp-sortie-develop 1s cubic-bezier(.2,.7,.2,1) both; }
 .mbp-sortie.is-revealing .mbp-sortie-pick.is-alternative .mbp-sortie-pick-photo img.is-loaded { animation-duration:.7s; }
 .mbp-sortie.is-revealing .mbp-sortie-alternatives-title, .mbp-sortie.is-revealing .mbp-sortie-alternatives > .mbp-sortie-pick { animation:mbp-sortie-reveal .35s ease-out both; animation-delay:.15s; }
 .mbp-sortie.is-revealing .mbp-sortie-alternatives > .mbp-sortie-pick:nth-child(2) { animation-delay:.28s; }
 .mbp-sortie.is-busy .mbp-sortie-results-grid { opacity:.4; filter:saturate(.3); transition:opacity .2s ease,filter .2s ease; }
 .mbp-sortie.is-busy [data-sortie-more] svg { animation:mbp-sortie-spin 1.1s cubic-bezier(.5,0,.5,1) infinite; }
 .mbp-sortie-surprise-art > svg { transition:transform .6s cubic-bezier(.2,.7,.2,1); }
 .mbp-sortie[data-drawing=surprise] .is-surprise .mbp-sortie-surprise-art > svg { animation:mbp-sortie-spin 1.1s cubic-bezier(.5,0,.5,1) infinite; }
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) { .mbp-sortie .mbp-sortie-mood.is-surprise:hover .mbp-sortie-surprise-art > svg { transform:rotate(150deg); } }
@keyframes mbp-sortie-develop { from { filter:grayscale(1) contrast(.7) brightness(1.25); transform:scale(1.05); } 55% { filter:grayscale(.25) contrast(.95) brightness(1.05); } to { filter:none; transform:none; } }
/* The choice being drawn stays marked while the others step back. */
.mbp-sortie.is-busy[data-drawing] .mbp-sortie-moods { opacity:1; }
.mbp-sortie.is-busy[data-drawing] .mbp-sortie-mood { opacity:.5; transition:opacity .2s ease; }
#mbp-sortie[data-drawing=gourmandise] .mbp-sortie-mood[value=gourmandise], #mbp-sortie[data-drawing=culture] .mbp-sortie-mood[value=culture], #mbp-sortie[data-drawing=balade] .mbp-sortie-mood[value=balade], #mbp-sortie[data-drawing=jeu] .mbp-sortie-mood[value=jeu], #mbp-sortie[data-drawing=surprise] .mbp-sortie-mood[value=surprise] { opacity:1; border-color:var(--mbp-color-accent); box-shadow:0 0 0 1px var(--mbp-color-accent); }
