/* Le fil de plats reprend la palette claire de l'accueil. */
body.pdj-swipe-page {
    --pdj-ink:#242723;
    --pdj-muted:#65685f;
    --pdj-orange:#c44720;
    --pdj-paper:#fffdf9;
    --pdj-soft:#f5f1e9;
    --pdj-line:#e6e3d9;
    margin:0;
    background:var(--pdj-paper);
    color:var(--pdj-ink);
    font-family:'DM Sans',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.pdj-swipe-page *, .pdj-swipe-page *::before, .pdj-swipe-page *::after { box-sizing:border-box; }
.pdj-swipe-page [hidden] { display:none !important; }
.pdj-swipe-page :is(a,button,.pdj-swipe-card):focus-visible { outline:3px solid var(--pdj-orange); outline-offset:4px; }
.pdj-swipe-page .r64-site-header { border-bottom:1px solid var(--pdj-line); box-shadow:none; }
.pdj-intro, .pdj-discover { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.pdj-intro { padding:44px 0 27px; border-bottom:1px solid var(--pdj-line); }
.pdj-intro-inner { max-width:970px; }
.pdj-eyebrow { margin:0; color:var(--pdj-orange); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.pdj-intro h1 { max-width:880px; margin:12px 0 15px; color:var(--pdj-ink); font-family:Manrope,'DM Sans',sans-serif; font-size:clamp(36px,5vw,64px); font-weight:800; letter-spacing:-.06em; line-height:1.08; text-wrap:balance; }
.pdj-intro h1 span { color:var(--pdj-orange); }
.pdj-intro-inner > p:not(.pdj-eyebrow) { max-width:700px; margin:0; color:var(--pdj-muted); font-size:15px; line-height:1.65; }
.pdj-intro-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; }
.pdj-intro-meta > span, .pdj-intro-meta > a { display:inline-flex; min-height:36px; align-items:center; gap:8px; padding:7px 13px; border:1px solid var(--pdj-line); border-radius:100px; background:#fff; color:var(--pdj-ink); font-size:11px; font-weight:800; text-decoration:none; }
.pdj-intro-meta > a:hover { border-color:var(--pdj-orange); color:var(--pdj-orange); }
.pdj-intro-meta > a span { color:var(--pdj-orange); font-size:16px; line-height:0; }
.pdj-discover { padding:31px 0 58px; }
.pdj-discover-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:22px; }
.pdj-discover-head h2 { margin:7px 0 4px; color:var(--pdj-ink); font-family:Manrope,'DM Sans',sans-serif; font-size:clamp(27px,3vw,38px); font-weight:800; letter-spacing:-.05em; }
.pdj-discover-head > div > p:last-child { margin:0; color:var(--pdj-muted); font-size:13px; line-height:1.55; }
.pdj-count { flex-shrink:0; padding:8px 11px; border-radius:8px; background:#fff0e5; color:#a64220; font-size:11px; font-weight:800; }
.pdj-deck { max-width:550px; margin-inline:auto; }
.pdj-stack { position:relative; width:100%; }
.pdj-swipe-card { overflow:hidden; margin:0 0 16px; border:1px solid #e2d8cd; border-radius:23px; background:#fff; box-shadow:0 18px 48px #342b211c; color:var(--pdj-ink); user-select:none; -webkit-user-select:none; touch-action:pan-y; }
.pdj-deck.is-enhanced .pdj-swipe-card { position:absolute; top:0; left:0; width:100%; margin:0; transition:transform .32s ease,opacity .32s ease; }
.pdj-deck.is-enhanced .pdj-swipe-card.is-active { z-index:3; transform:translateX(0) rotate(0); opacity:1; visibility:visible; }
.pdj-deck.is-enhanced .pdj-swipe-card.is-next { z-index:2; transform:translate(12px,12px) scale(.975); opacity:.53; visibility:visible; pointer-events:none; }
.pdj-deck.is-enhanced .pdj-swipe-card:not(.is-active):not(.is-next) { z-index:1; opacity:0; visibility:hidden; pointer-events:none; }
.pdj-deck.is-enhanced .pdj-swipe-card.is-flying-like { transform:translate(120%, -25px) rotate(15deg) !important; opacity:0; }
.pdj-deck.is-enhanced .pdj-swipe-card.is-flying-pass { transform:translate(-120%, -25px) rotate(-15deg) !important; opacity:0; }
.pdj-card-photo { position:relative; height:clamp(260px,34vw,385px); overflow:hidden; background:#ece4d8; }
.pdj-card-photo img { display:block; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.pdj-card-placeholder { display:grid; width:100%; height:100%; place-items:center; background:linear-gradient(145deg,#f8ecdb,#ead8bd); font-size:82px; }
.pdj-card-type { position:absolute; top:18px; left:18px; max-width:calc(100% - 140px); padding:9px 12px; border-radius:8px; background:#fffdf9f2; color:var(--pdj-ink); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; box-shadow:0 4px 14px #0002; }
.pdj-card-price { position:absolute; right:18px; bottom:18px; padding:9px 12px; border-radius:8px; background:#fffdf9f5; color:var(--pdj-orange); font-size:20px; font-weight:900; box-shadow:0 4px 14px #0002; }
.pdj-swipe-stamp { position:absolute; top:60px; z-index:4; padding:7px 13px; border:4px solid currentColor; border-radius:8px; background:#fffdf9ee; font-size:23px; font-weight:900; letter-spacing:.07em; opacity:0; pointer-events:none; transform:rotate(-13deg); }
.pdj-swipe-stamp--like { left:22px; color:#15803d; }
.pdj-swipe-stamp--pass { right:22px; color:#a64220; transform:rotate(13deg); }
.pdj-swipe-card.is-dragging-like .pdj-swipe-stamp--like,
.pdj-swipe-card.is-flying-like .pdj-swipe-stamp--like,
.pdj-swipe-card.is-dragging-pass .pdj-swipe-stamp--pass,
.pdj-swipe-card.is-flying-pass .pdj-swipe-stamp--pass { opacity:1; }
.pdj-card-body { min-height:196px; padding:20px 23px 0; }
.pdj-card-meta { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 10px; }
.pdj-card-meta span { padding:6px 9px; border-radius:6px; background:var(--pdj-soft); color:#5e6259; font-size:10px; font-weight:800; }
.pdj-card-body h3 { margin:0; color:var(--pdj-ink); font-family:Manrope,'DM Sans',sans-serif; font-size:clamp(22px,2.5vw,29px); font-weight:800; letter-spacing:-.04em; line-height:1.15; }
.pdj-card-restaurant { margin:7px 0 0; color:var(--pdj-orange); font-size:12px; font-weight:800; }
.pdj-card-description { display:-webkit-box; overflow:hidden; margin:9px 0 0; color:var(--pdj-muted); font-size:12px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.pdj-card-detail { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:49px; margin-top:16px; border-top:1px solid var(--pdj-line); color:var(--pdj-ink); font-size:12px; font-weight:800; text-decoration:none; }
.pdj-card-detail span { color:var(--pdj-orange); font-size:21px; font-weight:400; }
.pdj-card-detail:hover { color:var(--pdj-orange); }
.pdj-actions { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; margin-top:20px; }
.pdj-action { display:inline-flex; min-height:56px; align-items:center; justify-content:center; gap:10px; padding:10px 15px; border:1px solid var(--pdj-line); border-radius:12px; background:#fff; color:var(--pdj-ink); font:800 12px 'DM Sans',sans-serif; cursor:pointer; transition:transform .2s,border-color .2s,background .2s; }
.pdj-action:hover { transform:translateY(-2px); border-color:var(--pdj-orange); }
.pdj-action > span { font-size:21px; font-weight:600; }
.pdj-action--like { border-color:var(--pdj-orange); background:var(--pdj-orange); color:#fff; }
.pdj-action--like:hover { border-color:#9d3215; background:#9d3215; }
.pdj-action--skip { padding-inline:22px; background:var(--pdj-soft); }
.pdj-action:disabled { opacity:.5; cursor:wait; transform:none; }
.pdj-deck-foot { display:flex; justify-content:space-between; gap:15px; margin-top:14px; color:#777b72; font-size:10px; line-height:1.5; }
.pdj-deck-foot [data-pdj-progress] { flex-shrink:0; color:var(--pdj-orange); font-weight:900; }
.pdj-status { min-height:18px; margin:7px 0 0; color:#477551; font-size:11px; font-weight:700; text-align:center; }
.pdj-finished { padding:45px 20px; border:1px dashed #d7cfc2; border-radius:18px; background:#fff; text-align:center; }
.pdj-finished > span { color:var(--pdj-orange); font-size:39px; }
.pdj-finished h3 { margin:9px 0; font-family:Manrope,'DM Sans',sans-serif; font-size:23px; }
.pdj-finished p { margin:0; color:var(--pdj-muted); font-size:13px; }
.pdj-finished a { display:inline-flex; min-height:42px; align-items:center; margin-top:17px; padding:9px 14px; border-radius:9px; background:var(--pdj-orange); color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.pdj-empty { max-width:680px; margin:20px auto 0; padding:43px 30px; border:1px dashed #d7cfc2; border-radius:20px; background:#fff; text-align:center; }
.pdj-empty > span { font-size:40px; }
.pdj-empty h3 { margin:12px 0 8px; font-family:Manrope,'DM Sans',sans-serif; font-size:24px; letter-spacing:-.04em; }
.pdj-empty p { margin:0; color:var(--pdj-muted); font-size:13px; line-height:1.6; }
.pdj-empty > div { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:20px; }
.pdj-empty a { display:inline-flex; min-height:42px; align-items:center; padding:9px 14px; border-radius:9px; background:var(--pdj-orange); color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.pdj-empty a + a { border:1px solid var(--pdj-line); background:#fff; color:var(--pdj-ink); }
.pdj-auth-modal { position:fixed; inset:0; z-index:1500; display:grid; place-items:center; padding:20px; }
.pdj-auth-backdrop { position:absolute; inset:0; background:#1d211cc9; backdrop-filter:blur(5px); }
.pdj-auth-dialog { position:relative; width:min(100%,430px); padding:31px; border-radius:18px; background:#fffdf9; box-shadow:0 20px 70px #0005; text-align:center; }
.pdj-auth-close { position:absolute; top:13px; right:13px; width:35px; height:35px; border:0; border-radius:50%; background:var(--pdj-soft); color:var(--pdj-ink); cursor:pointer; }
.pdj-auth-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 13px; border-radius:50%; background:#fff0e5; color:var(--pdj-orange); font-size:26px; }
.pdj-auth-dialog h2 { margin:0 0 8px; font-family:Manrope,'DM Sans',sans-serif; font-size:25px; letter-spacing:-.05em; }
.pdj-auth-dialog p { margin:0 0 21px; color:var(--pdj-muted); font-size:13px; line-height:1.55; }
.pdj-auth-dialog a { display:flex; min-height:45px; align-items:center; justify-content:center; margin-top:9px; border-radius:9px; background:var(--pdj-orange); color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.pdj-auth-dialog a + a { border:1px solid var(--pdj-line); background:#fff; color:var(--pdj-ink); }
.pdj-auth-dialog > button:last-child { margin-top:16px; border:0; background:transparent; color:var(--pdj-muted); font-size:11px; text-decoration:underline; cursor:pointer; }
.pdj-pro-section { max-width:1240px; }
.pdj-pro-section > div:first-child { border:1px solid var(--pdj-line); box-shadow:none; }
.pdj-pro-section > div:first-child a { background:var(--pdj-orange); }
@media (max-width:640px) {
    .pdj-intro,.pdj-discover { width:calc(100% - 32px); }
    .pdj-intro { padding:29px 0 21px; }
    .pdj-intro h1 { font-size:clamp(34px,9vw,44px); }
    .pdj-intro-inner > p:not(.pdj-eyebrow) { font-size:13px; }
    .pdj-discover { padding-top:25px; }
    .pdj-discover-head { align-items:start; flex-direction:column; gap:12px; }
    .pdj-discover-head h2 { font-size:27px; }
    .pdj-card-photo { height:clamp(230px,70vw,330px); }
    .pdj-card-body { min-height:184px; padding:17px 17px 0; }
    .pdj-card-body h3 { font-size:22px; }
    .pdj-actions { grid-template-columns:1fr 1fr; gap:8px; }
    .pdj-action { min-height:50px; padding-inline:9px; font-size:11px; }
    .pdj-action--skip { grid-column:1/-1; grid-row:2; min-height:38px; background:transparent; }
    .pdj-deck-foot > span:last-child { max-width:215px; text-align:right; }
}
@media (prefers-reduced-motion:reduce) {
    .pdj-swipe-card,.pdj-action { transition:none !important; }
}
