.navbar-desktop { display: none; }
.navbar-mobile { position: fixed; top: 0px; left: 0px; right: 0px; z-index: 1000; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(16px); border-bottom: 1px solid var(--gris-clair); }
.navbar-mobile-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; min-height: 60px; }
.mobile-menu-btn { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; width: 44px; height: 44px; padding: 0px; cursor: pointer; z-index: 1001; }
.mobile-menu-btn span { display: block; width: 22px; height: 2.5px; background: var(--noir); border-radius: 2px; transition: 0.3s; }
.mobile-menu-btn.active { visibility: hidden; }
.mobile-logo { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; height: 52px; }
.mobile-logo img { height: 52px; width: auto; max-width: 150px; }
.mobile-icons { display: flex; align-items: center; gap: 8px; position: relative; }
.icon-link { position: relative; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: var(--noir); font-size: 1.2rem; transition: color var(--transition); border-radius: 8px; }
.icon-link:hover { background: var(--fond); color: var(--swop-gold-ink); }
.mobile-message-icon, .mobile-notification-icon { width: 23px; height: 23px; }
.mobile-message-link[aria-current="page"], .mobile-notification-link[aria-current="page"] { color: var(--swop-gold-ink); background: var(--swop-gold-soft); }
.badge-count { position: absolute; top: -6px; right: -6px; display: flex; align-items: center; justify-content: center; background: var(--swop-burgundy); color: white; border-radius: 999px; font-size: 0.65rem; font-weight: 700; min-width: 18px; height: 18px; padding: 0px 4px; }
.badge-count--messages { top: -1px; right: -1px; min-width: 10px; width: 10px; height: 10px; padding: 0px; border: 2px solid rgb(255, 255, 255); background: var(--swop-burgundy); }
@media (max-width: 360px) {
  .mobile-icons { gap: 2px; }
  .icon-link { width: 36px; height: 40px; }
  .mobile-logo img { height: 44px; max-width: 120px; }
}
.mobile-drawer-new { position: fixed; top: 0px; left: -100%; width: 100%; max-width: 320px; height: 100dvh; background: var(--swop-bg); z-index: 999; transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; box-shadow: rgba(0, 0, 0, 0.1) 2px 0px 16px; overflow-y: auto; touch-action: pan-y; }
.mobile-drawer-new.active { left: 0px; }
.drawer-header { display: flex; align-items: center; justify-content: center; padding: 16px; border-bottom: 1px solid var(--gris-clair); background: var(--swop-sand); position: relative; }
.drawer-header h3 { font-size: 1.1rem; font-weight: 600; color: var(--noir); margin: 0px; }
.close-drawer { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: transparent; color: var(--noir); font-size: 1.2rem; transition: background var(--transition); cursor: pointer; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
.close-drawer:hover { background: var(--gris-clair); }
.drawer-user-profile { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid var(--gris-clair); background: rgb(252, 250, 246); }
.drawer-avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--or); }
.drawer-avatar--official { padding: 8px; background: rgb(255, 249, 234); object-fit: contain !important; }
.drawer-user-info { flex: 1 1 0%; display: flex; flex-direction: column; gap: 6px; }
.drawer-username { font-size: 0.95rem; font-weight: 600; color: var(--noir); margin: 0px; }
.drawer-link-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--or-pale); color: var(--or-hover); border-radius: 8px; font-size: 0.8rem; font-weight: 600; transition: var(--transition); width: fit-content; }
.drawer-link-badge:hover { background: var(--or); color: var(--swop-text); }
.drawer-user-city { display: block; margin-top: 3px; color: rgb(119, 119, 119); font-size: 0.76rem; }
.nav-account-icon { overflow: hidden; }
.nav-account-icon img { width: 100%; height: 100%; display: block; object-fit: cover; }
.drawer-quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px; background: rgb(241, 234, 223); border-bottom: 1px solid var(--gris-clair); }
.drawer-quick-action { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 18px 8px; background: white; border: 1.5px solid var(--gris-clair); border-radius: 12px; color: var(--noir); font-weight: 600; font-size: 0.85rem; text-align: center; transition: var(--transition); }
.drawer-quick-action i { font-size: 1.4rem; color: var(--swop-gold-ink); }
.drawer-quick-action:hover { border-color: var(--or); background: var(--or-pale); }
.drawer-menu { flex: 1 1 0%; list-style: none; padding: 0px; margin: 0px; display: flex; flex-direction: column; background: white; }
.drawer-section-title { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; color: var(--gris-moyen); padding: 12px 16px 8px; margin: 8px 0px 0px; border-top: 1px solid var(--gris-clair); }
.drawer-section-title:first-child { border-top-width: medium; border-top-style: none; border-top-color: currentcolor; margin-top: 0px; }
.drawer-menu li:not(.drawer-section-title) { border-bottom: 1px solid var(--gris-clair); }
.drawer-menu li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.drawer-menu a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; color: var(--noir); font-weight: 500; font-size: 0.95rem; transition: var(--transition); position: relative; }
.drawer-menu a i { font-size: 1.1rem; color: var(--swop-gold-ink); width: 20px; text-align: center; }
.drawer-menu a:hover { background: var(--fond); color: var(--swop-gold-ink); padding-left: 18px; }
.drawer-menu a .badge-dot { margin: 0px; }
.drawer-footer { padding: 16px; border-top: 1px solid var(--gris-clair); background: var(--fond); display: flex; flex-direction: column; gap: 12px; }
.drawer-lang { display: flex; flex-direction: column; gap: 8px; }
.drawer-lang label { font-size: 0.85rem; font-weight: 600; color: var(--noir); }
.drawer-lang-options { display: flex; gap: 8px; }
.lang-opt { flex: 1 1 0%; padding: 10px 12px; background: white; border: 2px solid var(--gris-clair); border-radius: 8px; font-size: 0.9rem; font-weight: 600; color: var(--gris-moyen); text-align: center; transition: var(--transition); cursor: pointer; display: block; }
.lang-opt:hover { border-color: var(--or); color: var(--swop-gold-ink); }
.lang-opt.active { background: var(--or); color: var(--swop-text); border-color: var(--or); }
.drawer-logout { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; background: white; color: var(--error); border: 2px solid var(--error); border-radius: 8px; font-weight: 600; font-size: 0.9rem; transition: var(--transition); }
.drawer-logout:hover { background: var(--error); color: white; }
.btn-drawer-primary { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; background: var(--or); color: var(--swop-text); border-radius: 8px; font-weight: 600; font-size: 0.9rem; transition: var(--transition); }
.btn-drawer-primary:hover { background: var(--or-hover); }
.btn-drawer-secondary { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; background: white; color: var(--noir); border: 2px solid var(--gris-clair); border-radius: 8px; font-weight: 600; font-size: 0.9rem; transition: var(--transition); }
.btn-drawer-secondary:hover { border-color: var(--or); color: var(--swop-gold-ink); }
.mobile-overlay-new { position: fixed; inset: 0px; background: rgba(0, 0, 0, 0); z-index: 998; opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.mobile-overlay-new.active { background: rgba(0, 0, 0, 0.5); opacity: 1; pointer-events: all; }
.page-body { padding-top: 60px; min-height: calc(-60px + 100vh); }
@media (min-width: 1100px) {
  .navbar-desktop { display: flex !important; }
  .navbar-mobile { display: none !important; }
  .navbar-desktop .container { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; }
  .navbar-desktop .navbar-inner { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 18px; }
  .nav-menu { display: flex; align-items: center; gap: 14px; margin: 0px; }
  .nav-menu a { font-size: 0.9375rem; font-weight: 500; color: var(--gris-moyen); padding: 6px 0px; position: relative; transition: color var(--transition); }
  .nav-menu a:hover { color: var(--noir); }
  .nav-menu a.active { color: var(--swop-gold-ink); font-weight: 600; }
  .nav-menu a.active::after { content: ""; position: absolute; bottom: -2px; left: 0px; right: 0px; height: 2.5px; background: var(--or); border-radius: 2px; }
  .nav-actions { display: flex; align-items: center; gap: 10px; }
  .page-body { padding-top: 72px; }
}
@keyframes drawerSlideIn { 
  0% { transform: translateX(-100%); opacity: 0; }
  100% { transform: translateX(0px); opacity: 1; }
}
@keyframes drawerSlideOut { 
  0% { transform: translateX(0px); opacity: 1; }
  100% { transform: translateX(-100%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-drawer-new, .mobile-overlay-new, .mobile-menu-btn span { transition: none; }
}
@media print {
  .navbar-mobile, .navbar-desktop { display: none; }
}
/* TEST — Publier mobile : or satiné validé du logo, forme conservée. */
@media(max-width:1099px){
 body .swop-mobile-dock .swop-dock-publish>i{background:linear-gradient(180deg,#9D7226 0%,#C59B40 22%,#DFC175 42%,#E1C57C 45%,#E2C881 49%,#C1953E 57%,#C49940 63%,#C9A245 78%,#9C7125 100%)!important;color:#352B17!important}
}

/* TEST — référence or satiné commune : logo de toutes les pages et recherche Communauté. */
:root{--swop-gold-satin-test:linear-gradient(180deg,#9D7226 0%,#C59B40 22%,#DFC175 42%,#E1C57C 45%,#E2C881 49%,#C1953E 57%,#C49940 63%,#C9A245 78%,#9C7125 100%)}

body .users-query-row.swop-search-line>button[type="submit"]{background:linear-gradient(115deg,#D8BC7D 0%,#F3E6BF 48%,#E5CE96 76%,#D6B878 100%)!important;color:#493B22!important;border-color:#C8AD73!important}

/* Vert satiné des commandes de navigation mobile. */
:root{--swop-green-satin-preview:linear-gradient(126deg,#6B8E77 0%,#B4CCBD 49%,#B4CCBD 61%,#6B8E77 100%)}
body .mobile-menu-btn,body .mobile-notification-link,body .mobile-message-link,body .feed-page .feed-filter-submit{background:var(--swop-green-satin-preview)!important;border-color:#345342!important;color:#07140C!important;box-shadow:inset 0 1px 0 #EFFBF599}
body .mobile-menu-btn>span{background:#07140C!important}
body .mobile-menu-btn>small{color:#07140C!important}

/* TEST — triangle commun aux menus déroulants à choix unique. */
body select:not([multiple]):not([size]),body select[size="1"]{-webkit-appearance:none!important;appearance:none!important;padding-right:38px!important;background-image:linear-gradient(45deg,transparent 50%,#626657 50%),linear-gradient(135deg,#626657 50%,transparent 50%)!important;background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%!important;background-size:5px 5px!important;background-repeat:no-repeat!important}
body .sw-link-geo>summary>span:last-child{display:none}
body .sw-link-geo>summary:after{content:"";display:block;flex:0 0 auto;width:0;height:0;margin-right:2px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #626657}

/* Barre mobile : un seul repère vert, réservé à la page ouverte. */
body .swop-mobile-dock .swop-dock-item[aria-current="page"]{background:var(--swop-green-satin-preview)!important;color:#07140C!important;box-shadow:inset 0 1px 0 #EFFBF599}

/* TEST — Publier : couleurs présentes sur des contours plus larges, centre clair. */
html body .pc-wrap .pc-card[data-publish-kind]{--pc-edge:#8D7963;--pc-soft:#C9B8A3;--pc-center:#EDE4D7;background:linear-gradient(90deg,var(--pc-edge) 0%,var(--pc-soft) 26%,var(--pc-center) 50%,var(--pc-soft) 74%,var(--pc-edge) 100%)!important}
html body .pc-wrap .pc-card[data-publish-kind="mixed"]{--pc-edge:#49655F;--pc-soft:#AAB9AD;--pc-center:#E5E6D9}
html body .pc-wrap .pc-card[data-publish-kind="service"]{--pc-edge:#70575F;--pc-soft:#BBA6A8;--pc-center:#E9DED8}
html body .pc-wrap .pc-card[data-publish-kind="gift"]{--pc-edge:#927C3B;--pc-soft:#C8B980;--pc-center:#EBE2C3}
html body .pc-wrap .pc-card[data-publish-kind="loan"]{--pc-edge:#5D6B50;--pc-soft:#ADB69A;--pc-center:#E1E3CF}

/* Papier vintage uniquement sur les quatre premiers choix ; les quatre autres restent inchangés. */
html body .pc-wrap .pc-card:is([data-publish-kind="mixed"],[data-publish-kind="service"],[data-publish-kind="gift"],[data-publish-kind="loan"]){background:radial-gradient(ellipse at 50% 50%,var(--pc-center) 0%,var(--pc-center) 18%,var(--pc-soft) 65%,var(--pc-edge) 100%),url("/assets/img/service-illustrations-test/papier-ivoire.webp")!important;background-size:cover!important;background-position:center!important;background-blend-mode:multiply!important;box-shadow:inset 0 0 12px #69583F15}

/* Quatre accès communautaires : retour au beige discret, sans bande blanche. */
html body .pc-wrap .pc-card:is([data-publish-kind="event"],[data-publish-kind="alert"],[data-publish-kind="wish"],[data-publish-kind="notice"]){background:radial-gradient(ellipse at 50% 50%,#F6F0E5 0%,#F6F0E5 18%,#E3D6C4 65%,#C5B297 100%)!important;background-blend-mode:normal!important;box-shadow:none}

/* TEST — Macarons de catégorie uniquement : mêmes couleurs et papier que Publier. Fonds des cartes et filtres neutres conservés. */
:root{--swop-ann-exchange:#49655F;--swop-ann-sale:#49655F;--swop-ann-service:#70575F;--swop-ann-gift:#927C3B;--swop-ann-loan:#5D6B50;--swop-ann-rental:#5D6B50}
body .swop-kind-mark[data-swop-kind="mixed"],body .swop-kind-mark[data-swop-kind="exchange"],body .swop-kind-mark[data-swop-kind="sale"]{--ann-paper-edge:#49655F;--ann-paper-soft:#AAB9AD;--ann-paper-center:#E5E6D9;--swop-kind-accent:#49655F}
body .swop-kind-mark[data-swop-kind="service"]{--ann-paper-edge:#70575F;--ann-paper-soft:#BBA6A8;--ann-paper-center:#E9DED8;--swop-kind-accent:#70575F}
body .swop-kind-mark[data-swop-kind="gift"]{--ann-paper-edge:#927C3B;--ann-paper-soft:#C8B980;--ann-paper-center:#EBE2C3;--swop-kind-accent:#927C3B}
body .swop-kind-mark[data-swop-kind="loan"],body .swop-kind-mark[data-swop-kind="rental"]{--ann-paper-edge:#5D6B50;--ann-paper-soft:#ADB69A;--ann-paper-center:#E1E3CF;--swop-kind-accent:#5D6B50}
html body .swop-kind-mark[data-swop-kind]:not([data-swop-kind=""]){background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--ann-paper-center) 55%,#FFFDF8) 0%,color-mix(in srgb,var(--ann-paper-center) 55%,#FFFDF8) 18%,color-mix(in srgb,var(--ann-paper-soft) 50%,#FFFDF8) 65%,color-mix(in srgb,var(--ann-paper-edge) 35%,#FFFDF8) 100%),url("/assets/img/service-illustrations-test/papier-ivoire.webp")!important;background-size:cover!important;background-blend-mode:multiply!important}
html body .swop-kind-mark[data-swop-kind]:not([data-swop-kind=""]){border-color:color-mix(in srgb,var(--ann-paper-edge) 65%,#FFFDF8)!important;color:#20221F!important}
body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="mixed"]),body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="exchange"]),body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="sale"]){--ann-card-accent:#49655F}
body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="service"]){--ann-card-accent:#70575F}
body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="gift"]){--ann-card-accent:#927C3B}
body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="loan"]),body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind="rental"]){--ann-card-accent:#5D6B50}
body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark[data-swop-kind]:not([data-swop-kind=""])){background:#FFFFFF!important;border:1px solid #DEDFDC!important}
body .item-card:has(.swop-kind-mark) .item-card-content,body .pp-owned-card:has(.swop-kind-mark)>.pp-listing-card,body .feed-card:has(.swop-kind-mark) .feed-media,body .feed-card:has(.swop-kind-mark) .feed-media>div{background:transparent!important}

/* TEST — macarons objet : intérieur éclairci pour lire Vente / Échange, liseré conservé. */
html body .swop-kind-mark:is([data-swop-kind="mixed"],[data-swop-kind="exchange"],[data-swop-kind="sale"]):not([data-swop-kind=""]){background:radial-gradient(ellipse at 50% 50%,#FFFEFA 0%,#FFFEFA 55%,color-mix(in srgb,var(--ann-paper-soft) 18%,#FFFDF8) 84%,color-mix(in srgb,var(--ann-paper-edge) 45%,#FFFDF8) 100%)!important;background-size:cover!important;background-blend-mode:normal!important;border-color:var(--ann-paper-edge)!important;color:#20221F!important}

/* TEST — direction épurée validée : cartes blanches, interactions bleu grisé. */
body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark):hover,body :is(.item-card,.pp-owned-card,.feed-card):has(.swop-kind-mark):focus-within{border-color:#718D9B!important}
body .item-card:has(.swop-kind-mark) .ux-listing-link:hover,body .item-card:has(.swop-kind-mark) .ux-listing-link:focus-visible{color:#466B80!important}
body .swop-search-types input:checked+span,body .swop-kind-filter[aria-current="page"]{background:#EDF2F5!important;border-color:#718D9B!important;color:#36576A!important}


/* Installation TEST autorisée le 18 octobre 2026. Référence : bouton Publier sous la recherche du profil TEST.
 * Couleurs et finitions uniquement ; aucune dimension, position ou permission modifiée.
 * Couvre les boutons observés : profil, Annonces, navigation desktop/mobile, CTA d’annonce.
 * Les liens textuels Publier du pied de page restent exclus.
 */
:root {
  --swop-publish-gold-background: linear-gradient(115deg,#CFAB64 0%,#F6E7B7 46%,#E5C784 75%,#C8A15B 100%);
  --swop-publish-gold-hover: linear-gradient(115deg,#C69C53 0%,#F1DFA9 46%,#DBB86C 100%);
  --swop-publish-gold-text: #49391D;
  --swop-publish-gold-border: #BA9654;
  --swop-publish-gold-reflection: inset 0 1px 0 #FFF9E7B3;
}
body .pp-profile-tools .pp-profile-publish,
body .swop-search-publish,
body a.nav-core[href$="/publier"],
body a.btn-primary[href$="/publier"],
body .swop-mobile-dock .swop-dock-publish>i {
  background: var(--swop-publish-gold-background)!important;
  color: var(--swop-publish-gold-text)!important;
  border-color: var(--swop-publish-gold-border)!important;
  box-shadow: var(--swop-publish-gold-reflection)!important;
}
body .pp-profile-tools .pp-profile-publish:hover,
body .swop-search-publish:hover,
body a.nav-core[href$="/publier"]:hover,
body a.btn-primary[href$="/publier"]:hover,
body .swop-mobile-dock .swop-dock-publish:hover>i {
  background: var(--swop-publish-gold-hover)!important;
}


/* Recette du 18 octobre : même texte que le bouton Publier de référence. */
html body .nav-menu a.nav-core[href$="/publier"],
html body .nav-menu a.nav-core[href$="/publier"]:hover,
html body .nav-menu a.nav-core[href$="/publier"].active{
 color:var(--swop-publish-gold-text,#49391D)!important;
}

/* 18 octobre 2026 — pictogrammes gris foncé validés, uniquement dans le menu mobile. */
#mobileDrawerNew .drawer-menu a i,
#mobileDrawerNew .drawer-menu summary i,
#mobileDrawerNew .drawer-identity-switcher i,
#mobileDrawerNew .drawer-footer a i,
#mobileDrawerNew .close-drawer i {
 color:#454741!important;
 background:none!important;
 text-shadow:none!important;
 filter:none!important;
}

/* Identité officielle : logo choisi, entier sur blanc ; autres avatars inchangés. */
body .nav-account-icon--official img,
body .drawer-avatar--official,
body .identity-switcher__official-mark {
 padding:0;
 background:#FFFFFF;
 object-fit:contain!important;
}

/* Mobile: suppress root rubber-banding without changing normal scrolling. */
@media(max-width:1099px){
 html,body{overscroll-behavior-y:none}
}

/* Open the menu immediately: no gap after its trigger is hidden. */
@media(max-width:1099px){
 body .mobile-drawer-new,body .mobile-overlay-new{transition:none}
}

/* Keep the open drawer above the hamburger, including Safari repaint frames. */
@media(max-width:1099px){
 body .mobile-overlay-new{z-index:1002}
 body .mobile-drawer-new{z-index:1003}
 body .mobile-menu-btn,body .mobile-menu-btn span{transition:none!important}
 body .mobile-menu-btn.active{visibility:hidden;opacity:0;pointer-events:none}
 body .mobile-menu-btn.active span,body .mobile-menu-btn.active small{visibility:hidden;opacity:0}
}
