.swop-app-page{margin:0;background:#f7f6f2;color:#27352d;font:400 16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;min-height:100dvh;color-scheme:light}
.swop-app-page *{box-sizing:border-box}
.swop-app-page [hidden]{display:none!important}
.swop-app-page a{color:#354e40;text-underline-offset:4px}
.swop-app-page a:focus-visible,.swop-app-page button:focus-visible{outline:3px solid #8a681f;outline-offset:4px}
.swop-app-shell{width:min(100% - 40px,900px);margin:auto;padding:24px 0 max(36px,env(safe-area-inset-bottom))}
.swop-app-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:40px;padding-top:env(safe-area-inset-top)}
.swop-app-brand{display:inline-flex;gap:9px;align-items:center;text-decoration:none;font-size:22px;font-weight:650;letter-spacing:-.6px}
.swop-app-brand img{width:40px;height:40px;border-radius:11px}
.swop-app-test{font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid #c8cdbf;padding:4px 10px;border-radius:20px;white-space:nowrap}
.swop-app-hero{max-width:660px;margin:0 auto 30px;text-align:center}
.swop-app-icon{width:86px;height:86px;border-radius:22px;border:1px solid #e7e0cd;box-shadow:0 6px 20px #293f3010}
.swop-app-hero h1{font-size:clamp(28px,5vw,42px);line-height:1.16;letter-spacing:-1px;margin:20px 0 14px}
.swop-app-lead{font-size:18px;max-width:590px;margin:0 auto 18px;color:#46564b}
.swop-app-note{font-size:14px;color:#586157}
.swop-app-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border:1px solid #a78339;border-radius:12px;background:linear-gradient(115deg,#d2b574,#f4e7bf 48%,#d4b16a);color:#302814!important;font:inherit;font-size:16px;font-weight:650;line-height:1.4;text-decoration:none;cursor:pointer}
.swop-app-primary:disabled{opacity:.65;cursor:wait}
.swop-app-status{min-height:1.6em;margin:12px auto;font-size:14px;color:#46564b}
.swop-app-installed{padding:14px;border:1px solid #a9b8a7;border-radius:12px;background:#edf1e9}
.swop-app-home-promo{box-sizing:border-box;width:min(1120px,calc(100% - 32px));margin:16px auto;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 18px;background:#fffdf8;border:1px solid #ded7c6;border-radius:16px;color:#27352d}
.swop-app-home-promo[hidden]{display:none!important}
.swop-app-home-promo img{width:48px;height:48px;flex-shrink:0;border:1px solid #e7e0cd;border-radius:12px}
.swop-app-home-promo__copy{flex:1;min-width:0;line-height:1.4}
.swop-app-home-promo__copy strong{font-size:16px;font-weight:700}
.swop-app-home-promo__copy p{font-size:14px;margin:3px 0 0;color:#586157}
.swop-app-home-promo .swop-app-primary{font-size:14px;min-height:44px;padding:10px 16px;flex-shrink:0}
.swop-app-home-promo a:focus-visible{outline:3px solid #8a681f;outline-offset:4px}
.swop-app-other-devices{margin-top:18px}
.swop-app-other-devices summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650;text-decoration:underline;text-underline-offset:4px}
.swop-app-other-devices h3{font-size:17px;margin:18px 0 8px}
.swop-app-other-devices p{margin:6px 0}
@media(max-width:620px){.swop-app-home-promo{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 12px;padding:14px}.swop-app-home-promo img{width:40px;height:40px}.swop-app-home-promo .swop-app-primary{grid-column:2;justify-self:start}.swop-app-home-promo__copy strong{font-size:15px}}
.swop-app-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:28px 0}
.swop-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.swop-app-card{background:#fff;border:1px solid #e0e3da;border-radius:18px;padding:24px;scroll-margin-top:18px}
.swop-app-card h2{font-size:21px;line-height:1.3;margin:0 0 15px}
.swop-app-card ol{padding-left:22px;margin:0}
.swop-app-card li{margin:0 0 12px;padding-left:4px}
.swop-app-card li:last-child{margin-bottom:0}
.swop-app-card p{margin:12px 0 0;font-size:14px;color:#586157}
.swop-app-bottom{max-width:660px;margin:26px auto 0;text-align:center;font-size:14px;color:#586157}
.swop-app-back{display:inline-flex;min-height:44px;align-items:center;margin-top:12px}
.swop-app-offline{min-height:100dvh;display:grid;place-items:center;padding:24px;text-align:center}
.swop-app-offline main{max-width:480px}
.swop-app-offline h1{font-size:30px;line-height:1.2}
@media(max-width:620px){.swop-app-shell{width:min(100% - 32px,900px)}.swop-app-top{margin-bottom:28px}.swop-app-grid{grid-template-columns:1fr}.swop-app-card{padding:21px}.swop-app-lead{font-size:17px}.swop-app-hero h1{letter-spacing:-.6px}}
@media(prefers-reduced-motion:reduce){.swop-app-page *{scroll-behavior:auto!important}}
.swop-app-home-help{grid-column:1/-1;border-top:1px solid #e7e0cd;padding-top:12px;font-size:14px;line-height:1.6}.swop-app-home-help p{margin:0}.swop-app-home-help[hidden],.swop-app-home-help [hidden]{display:none!important}.swop-app-share-icon{display:inline-block;width:20px;height:23px;vertical-align:middle;pointer-events:none}

/* 30 octobre : fond blanc crème, sans modification des cartes ni des couleurs de catégorie. */
body:is(.theme-sand,.theme-heart),
body:is(.theme-sand,.theme-heart) .page-body,
body:is(.theme-sand,.theme-heart) .page-body > main,
body:is(.theme-sand,.theme-heart) .page-body > :is(.profile-page-wrap,.main-content,.dashboard-page,.users-page,.exchanges-page,.form-page,.static-page,.feed-page,.privacy-page,.invite-page,.alert-detail-page,.gift-page,.ps-editor){background-color:#FEFEFC!important}

/* Le Link possède une règle de liste plus spécifique que le fond général. */
body.theme-sand .page-body > main.feed-page--v2{background-color:#FEFEFC!important}

/* Sur téléphone, les repères de catégorie restent ajustés à leur texte. */
@media(max-width:767px){body .feed-page--v2 .feed-kind.swop-kind-mark{display:inline-flex!important;width:fit-content;max-width:100%;align-items:center;justify-content:center;text-align:center;vertical-align:top}}

/* La barre mobile donne déjà accès à Publier : pas de doublon sur le profil. */
@media(max-width:1099px){body .pp-profile-tools .pp-profile-publish{display:none!important}}

/* Le papier de l’accueil public utilise sa propre couleur et son propre voile. */
#swop-home-white{--paper:#FEFEFC!important}
#swop-home-white .hn-hero:before{background:linear-gradient(90deg,#FEFEFC 0%,#FEFEFCF7 29%,#FEFEFCEB 42%,#FEFEFC6B 60%,#FEFEFC00 80%)!important}
#swop-home-white[data-device="phone"] .hn-hero:before{background:linear-gradient(#FEFEFC,#FEFEFC00)!important}
@media(max-width:630px){#swop-home-white .hn-hero:before{background:linear-gradient(#FEFEFC,#FEFEFC00)!important}}
