


/* Interface téléphone, écrite à part : ce n'est pas une adaptation de style.css. */
:root{
  color-scheme:light;

  
  --bg:#F2F5FB;
  --panel:#FFFFFF;
  --panel-2:#EEF2FA;
  --panel-3:#E1E7F4;
  --line:#DDE3F0;
  --text:#16192A;
  --muted:#6B7488;

  --accent-live:#FF4757;
  --accent-live-soft:#FFE4E7;
  
  --alerte-sombre:#8E2233;
  
  --btn-primary-fg:#00382A;
  --accent-mint:#12C48B;
  --accent-mint-soft:#DCF9EE;
  --accent-gold:#FFA800;
  --accent-gold-soft:#FFF1D6;
  --accent-blue:#2E6BFF;
  --accent-blue-soft:#E1EAFF;
  --accent-purple:#8B5CF6;

  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;

  
  --r-xs:8px;
  --r-s:12px;
  --r-m:16px;
  --r-l:20px;
  --r-sheet:26px;

  --shadow-1:0 1px 2px rgba(20,26,48,.06);
  --shadow-2:0 4px 16px rgba(20,26,48,.10);
  --shadow-3:0 -10px 40px rgba(20,26,48,.22);

  
  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --safe-r:env(safe-area-inset-right,0px);

  
  --tb-h:54px;                                   
  --nav-h:58px;                                  
  --tb-total:calc(var(--tb-h) + var(--safe-t));
  --nav-total:calc(var(--nav-h) + var(--safe-b));

  --gutter:14px;
  --tap:44px;                                    
}


*,*::before,*::after{box-sizing:border-box;}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
  
  overscroll-behavior-y:contain;
}

body{
  margin:0;
  min-height:100vh;
  min-height:100vh;
  min-height:100dvh;
  background:var(--bg);
  color:var(--text);
  font:400 16px/1.5 var(--font-body);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;}
a{color:var(--accent-blue);}
button{font-family:inherit;color:inherit;touch-action:manipulation;}
input,textarea,select{font-family:inherit;}


input,textarea{font-size:16px;}

:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:6px;}

.hidden{display:none !important;}


*{scrollbar-width:none;}
*::-webkit-scrollbar{width:0;height:0;display:none;}


/* Boutons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:var(--tap);padding:0 18px;
  border:none;border-radius:var(--r-s);
  font:800 .92rem var(--font-body);line-height:1;
  transition:transform .12s ease,filter .12s ease,background .12s ease;
}
.btn:active{transform:scale(.97);}
.btn-block{width:100%;}
.btn-primary{background:var(--accent-mint);color:var(--btn-primary-fg);box-shadow:0 2px 10px rgba(18,196,139,.32);}
.btn-secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line);}
.btn-danger{background:var(--accent-live-soft);color:var(--accent-live);}
.btn-ghost{background:var(--panel-2);color:var(--muted);border:1px solid var(--line);}
.btn-gold{background:var(--accent-gold);color:#3A2200;box-shadow:0 2px 10px rgba(255,168,0,.3);}
.btn-tchatar{background:var(--accent-blue);color:#fff;font-weight:800;box-shadow:0 2px 10px rgba(46,107,255,.3);}
.btn:disabled{opacity:.42;transform:none;box-shadow:none;}


.icon-btn{
  flex:none;width:40px;height:40px;border-radius:50%;padding:0;border:none;
  display:flex;align-items:center;justify-content:center;
  transition:transform .12s ease,filter .12s ease;
}
.icon-btn svg{width:19px;height:19px;}
.icon-btn:active{transform:scale(.9);}
.icon-btn.accept{background:var(--accent-mint);color:#00382A;box-shadow:0 2px 8px rgba(18,196,139,.35);}
.icon-btn.refuse{background:var(--accent-live-soft);color:var(--accent-live);}
.icon-btn:disabled{opacity:.34;filter:grayscale(.5);}

.badge{
  display:inline-block;
  font:800 .64rem var(--font-body);text-transform:uppercase;letter-spacing:.02em;
  padding:3px 8px;border-radius:999px;white-space:nowrap;
}
.badge-livraison-avec{background:var(--accent-blue-soft);color:var(--accent-blue);}
.badge-livraison-sans{background:var(--panel-2);color:var(--muted);}
.badge-boost{background:var(--accent-gold-soft);color:#9A6300;}
.badge-final{background:var(--accent-live-soft);color:var(--accent-live);}

.offer-status-pill{
  display:inline-block;
  font:800 .7rem var(--font-body);color:var(--muted);background:var(--panel-2);
  padding:6px 11px;border-radius:999px;white-space:nowrap;
}
.offer-status-pill.status-live{color:#00875A;background:var(--accent-mint-soft);}
.offer-status-pill.status-expired,
.offer-status-pill.status-cancelled{color:var(--accent-live);background:var(--accent-live-soft);}


.offer-status-pill.status-pending{color:#9A6300;background:var(--accent-gold-soft);}
.offer-moderation-note{margin-top:3px;color:var(--accent-live);font-size:.76rem;font-weight:600;overflow-wrap:anywhere;}

.auth-message{white-space:pre-line;}

.offer-status-pill.status-sold{color:#9A6300;background:var(--accent-gold-soft);}

.empty-state{
  text-align:center;color:var(--muted);font-size:.9rem;line-height:1.5;
  padding:38px 18px;border:1.5px dashed var(--line);border-radius:var(--r-l);
  background:var(--panel);
}
.empty-state.small{padding:22px 10px;font-size:.8rem;border:none;background:transparent;}

.muted-note{color:var(--muted);font-size:.82rem;align-self:center;}


input[type="text"],input[type="tel"],input[type="password"],
input[type="email"],input[type="number"],input[type="search"],textarea,select{
  -webkit-appearance:none;appearance:none;
  width:100%;min-height:var(--tap);
  background:var(--panel-2);border:1.5px solid var(--line);border-radius:var(--r-s);
  padding:11px 14px;color:var(--text);
}
textarea{min-height:96px;resize:vertical;line-height:1.5;}
select{
  font-size:.95rem;font-weight:600;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7488' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px;
}
html[dir="rtl"] select{padding-right:14px;padding-left:38px;background-position:left 12px center;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-mint);background:var(--panel);}
input[type="checkbox"],input[type="radio"]{
  -webkit-appearance:auto;appearance:auto;width:21px;height:21px;min-height:0;
  accent-color:var(--accent-mint);flex:none;margin:0;
}


input[type="range"]{
  -webkit-appearance:none;appearance:none;
  width:100%;height:34px;background:transparent;border:none;padding:0;min-height:0;
}
input[type="range"]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--panel-3);}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:50%;
  background:var(--accent-blue);border:3px solid #fff;box-shadow:0 2px 8px rgba(46,107,255,.45);
}
input[type="range"]::-moz-range-track{height:6px;border-radius:999px;background:var(--panel-3);}
input[type="range"]::-moz-range-thumb{
  width:24px;height:24px;border-radius:50%;
  background:var(--accent-blue);border:3px solid #fff;box-shadow:0 2px 8px rgba(46,107,255,.45);
}


.brand{
  display:flex;align-items:center;gap:5px;
  font:400 1.5rem/1.15 'Lobster',cursive;
}
.brand.small{font-size:1.2rem;}
.brand-mark{color:var(--accent-mint);font-size:.68em;}
.brand-accent{color:var(--accent-mint);}
.brand-tagline{color:var(--muted);font-size:.92rem;line-height:1.45;margin:8px 0 26px;}

.live-dot{
  width:8px;height:8px;border-radius:50%;background:var(--accent-live);
  animation:pulse 1.8s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(255,71,87,.55);}
  70%{box-shadow:0 0 0 7px rgba(255,71,87,0);}
  100%{box-shadow:0 0 0 0 rgba(255,71,87,0);}
}




/* Galerie photo */
.galerie{position:relative;display:block;line-height:0;}
.galerie img{display:block;width:100%;}
.galerie-fleche{
  position:absolute;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;padding:0;border:none;border-radius:50%;
  background:rgba(255,255,255,.92);color:#16192A;
  font:700 20px/1 var(--font-body);
  box-shadow:0 2px 8px rgba(0,0,0,.28);
  opacity:.55;transition:opacity .14s ease;z-index:2;
}
.galerie-fleche.prec{left:8px;}
.galerie-fleche.suiv{right:8px;}

/* Sans souris il n'y a pas de survol : les flèches restent posées sur la photo,
   assez pâles pour ne pas la manger. */
.galerie-fleche:focus-visible{opacity:1;}
.galerie-fleche:active{opacity:1;transform:translateY(-50%) scale(.9);}

.galerie-points{
  position:absolute;left:0;right:0;bottom:8px;z-index:2;
  display:flex;justify-content:center;gap:5px;pointer-events:none;
}
.galerie-points span{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.55);box-shadow:0 1px 3px rgba(0,0,0,.4);
}
.galerie-points span.actif{background:#fff;}



.upload-colonne{width:100%;}
.photos-bande{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.photo-vignette{
  position:relative;width:62px;height:62px;flex:none;cursor:pointer;
  border-radius:var(--r-s);overflow:hidden;
  border:2px solid var(--line);background:var(--panel-2);
}
.photo-vignette img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-vignette.est-couverture{border-color:var(--accent-mint);}
.photo-retirer{
  position:absolute;top:2px;right:2px;
  width:18px;height:18px;padding:0;border:none;border-radius:50%;
  background:rgba(0,0,0,.6);color:#fff;font:700 11px/1 var(--font-body);
  display:flex;align-items:center;justify-content:center;
}

.photo-vignette.est-affichee{border-color:var(--accent-blue);}
.photo-couverture{
  position:absolute;top:2px;left:2px;
  width:18px;height:18px;padding:0;border:none;border-radius:50%;
  background:rgba(0,0,0,.55);color:rgba(255,255,255,.75);
  font:400 11px/1 var(--font-body);
  display:flex;align-items:center;justify-content:center;
}
.photo-couverture.active{background:var(--accent-mint);color:#00382A;}
.photo-ajouter{
  width:62px;height:62px;flex:none;
  border:2px dashed var(--line);border-radius:var(--r-s);
  background:var(--panel-2);color:var(--muted);font:400 24px/1 var(--font-body);
}
.photo-ajouter:hover{border-color:var(--accent-mint);color:var(--accent-mint);}
.photos-aide{margin:8px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45;}


body.sans-etoiles #btn-stars-shop,                 
body.sans-etoiles .badge-boost,                    
body.sans-etoiles .row-boost,                      
body.sans-etoiles .star-input,                     
body.sans-etoiles .rank-preview,                   
body.sans-etoiles .cost-preview{display:none !important;}

body.sans-etoiles .star-field{display:none !important;}
body.sans-etoiles .etoiles-bilan{display:none !important;}


/* Connexion / inscription */
.screen-auth{
  min-height:100vh;min-height:100dvh;
  display:flex;
  background:
    radial-gradient(circle at 10% 8%, rgba(18,196,139,.20), transparent 46%),
    radial-gradient(circle at 92% 4%, rgba(255,168,0,.18), transparent 42%),
    radial-gradient(circle at 84% 96%, rgba(46,107,255,.18), transparent 48%),
    var(--bg);
}
.auth-card{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:calc(28px + var(--safe-t)) calc(20px + var(--safe-l))
          calc(28px + var(--safe-b)) calc(20px + var(--safe-r));
}

.auth-lang-row{display:flex;justify-content:center;margin-bottom:16px;}
.auth-lang-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 20px;border-radius:999px;
  background:var(--accent-blue-soft);border:1.5px solid var(--accent-blue);
  font:700 .88rem var(--font-body);color:var(--accent-blue);
}
.auth-lang-toggle::before{content:"🌐";font-size:1em;line-height:1;}
.auth-lang-toggle::after{content:attr(data-lang-label);}
.auth-lang-toggle:active{transform:scale(.97);}

.auth-tabs{
  display:flex;gap:4px;padding:4px;margin-bottom:20px;
  background:var(--panel-2);border-radius:14px;
}
.auth-tab{
  flex:1;min-height:42px;border:none;border-radius:11px;background:transparent;
  font:700 .88rem var(--font-body);color:var(--muted);
}
.auth-tab.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-1);}

.auth-form label{display:block;font:600 .82rem var(--font-body);color:var(--muted);margin-bottom:14px;}
.auth-form input{margin-top:7px;background:var(--panel);}

/* Un oeil dans le champ : sans lui, un mot de passe mal tape ne se voit jamais. */
.champ-mdp{position:relative;display:block;margin-top:7px;}
.auth-form .champ-mdp input{margin-top:0;padding-right:48px;}
.voir-mdp{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;padding:0;border:none;border-radius:10px;
  background:transparent;color:var(--muted);
}
.voir-mdp:active{background:var(--panel-2);}
.voir-mdp svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.voir-mdp .barre-oeil{display:none;}
.voir-mdp[aria-pressed="true"] .barre-oeil{display:block;}
html[dir="rtl"] .auth-form .champ-mdp input{padding-right:14px;padding-left:48px;}
html[dir="rtl"] .voir-mdp{right:auto;left:5px;}
.auth-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.auth-form .btn-primary{margin-top:6px;min-height:52px;font-size:1rem;}
.auth-hint{color:var(--muted);font-size:.78rem;line-height:1.5;text-align:center;margin:14px 0 0;}


#screen-boot{align-items:center;justify-content:center;}
.boot-brand{margin:0;font:400 2.4rem 'Lobster',cursive;color:var(--text);display:flex;align-items:center;gap:10px;opacity:.85;}
.boot-brand .brand-mark{color:var(--accent-mint);font-size:.6em;}
.boot-panne{max-width:300px;margin:18px auto 0;text-align:center;color:var(--muted);font-size:.84rem;line-height:1.5;}


#screen-maintenance{align-items:center;justify-content:center;padding:calc(24px + var(--safe-t)) 20px calc(24px + var(--safe-b));}
.maintenance-card{
  width:100%;max-width:420px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r-l);
  padding:32px 22px;box-shadow:var(--shadow-2);text-align:center;
}
.maintenance-card .brand{justify-content:center;}
.maintenance-icone{font-size:2.4rem;line-height:1;margin:20px 0 12px;}
.maintenance-card h1{font:700 1.2rem var(--font-display);margin:0 0 10px;}
.maintenance-card p{color:var(--muted);font-size:.9rem;line-height:1.6;margin:0;}
.maintenance-note{
  margin-top:16px !important;padding-top:14px;border-top:1px solid var(--line);
  font-size:.8rem !important;
}

.maintenance-ar{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.maintenance-ar h2{font:700 1.1rem var(--font-display);margin:0 0 10px;}


.auth-back{
  align-self:flex-start;min-height:40px;padding:0;margin-bottom:10px;
  background:none;border:0;color:var(--muted);font:600 .86rem var(--font-body);
}


.auth-message{
  background:var(--accent-mint-soft);border:1px solid var(--accent-mint);
  border-radius:var(--r-m);padding:12px 14px;margin:0 0 18px;
  color:#00382A;font:600 .88rem/1.45 var(--font-body);
}
body.dark-theme .auth-message{color:#C7FFEF;}
.auth-links{display:flex;justify-content:center;margin-top:14px;}
.auth-links .text-link{min-height:40px;font-size:.86rem;}
.auth-sent-icon{font-size:2.6rem;text-align:center;margin-bottom:12px;}
.auth-sent-email{text-align:center;margin:8px 0 18px;font-size:.95rem;word-break:break-all;}



.auth-sep{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--muted);font:600 .8rem var(--font-body);}
.auth-sep::before,.auth-sep::after{content:"";flex:1;height:1px;background:var(--line);}
.auth-sep span::after{content:attr(data-sep);}
html[dir="rtl"] .auth-sep span::after{content:attr(data-sep-ar);}


.btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;
  background:var(--panel);border:1.5px solid var(--line);color:var(--text);
  font:700 .95rem var(--font-body);
}
.google-mark{width:20px;height:20px;flex:none;}

.terms-consent{
  display:flex !important;align-items:flex-start;gap:9px;
  font-size:.82rem;line-height:1.45;margin-bottom:16px !important;
}
.terms-consent input{margin-top:1px !important;}
.text-link,.footer-link{
  background:none;border:0;padding:0;font:inherit;color:var(--accent-blue);
  text-decoration:underline;text-underline-offset:2px;
}


.screen-app{
  display:flex;flex-direction:column;
  min-height:100vh;min-height:100dvh;
  
  padding-bottom:var(--nav-total);
}


.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;gap:8px;
  height:var(--tb-total);
  padding:var(--safe-t) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l));
  background:var(--panel);
  border-bottom:1px solid var(--line);
}
.topbar .brand{flex:none;}
.topbar .brand-word{white-space:nowrap;}
.topbar-right{display:flex;align-items:center;gap:6px;min-width:0;margin-inline-start:auto;}

.language-switch{
  flex:none;width:auto;min-width:0;min-height:36px;max-width:64px;
  padding:0 22px 0 8px;background-size:12px;background-position:right 5px center;
  border-radius:999px;background-color:var(--panel-2);
  font:700 .74rem var(--font-body);
}
html[dir="rtl"] .language-switch{padding:0 9px 0 26px;background-position:left 7px center;}

.stars-pill{
  flex:none;display:flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;
  background:var(--accent-gold-soft);border:1px solid #FFDD9E;border-radius:999px;
  font:800 .82rem var(--font-display);color:#9A6300;
}

.user-menu{position:relative;flex:none;}
.user-pill{
  display:flex;align-items:center;gap:4px;max-width:104px;min-height:36px;padding:0 11px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:999px;
  font:700 .78rem var(--font-body);color:var(--text);
}
.user-pill #user-pill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.user-pill-caret{font-size:.7em;color:var(--muted);transition:transform .16s ease;}
.user-menu.open .user-pill-caret{transform:rotate(180deg);}

.user-dropdown{
  position:absolute;top:calc(100% + 9px);inset-inline-end:0;z-index:60;
  min-width:212px;padding:6px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-m);
  box-shadow:var(--shadow-2);
  display:flex;flex-direction:column;gap:2px;
}
.user-dropdown-item{
  display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 12px;
  background:transparent;border:0;border-radius:var(--r-xs);
  font:600 .88rem var(--font-body);color:var(--text);text-align:start;white-space:nowrap;
}
.user-dropdown-item:active{background:var(--accent-mint-soft);}
.user-dropdown-item.is-danger{color:var(--accent-live);}


.tabs{
  position:fixed;inset-inline:0;bottom:0;z-index:50;
  display:flex;align-items:stretch;
  height:var(--nav-total);
  padding:0 calc(4px + var(--safe-r)) var(--safe-b) calc(4px + var(--safe-l));
  background:var(--panel);                          
  background:color-mix(in srgb, var(--panel) 86%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  border-top:1px solid var(--line);
}
.tab{
  position:relative;flex:1 1 0;min-width:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:6px 2px;border:none;background:transparent;border-radius:var(--r-s);
  font-size:0;                    
  color:var(--muted);
  transition:color .15s ease;
}
.tab::before{
  content:"";width:24px;height:24px;flex:none;
  background:currentColor;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
.tab::after{
  content:attr(data-nav);
  font:700 .625rem/1 var(--font-body);letter-spacing:-.01em;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
html[dir="rtl"] .tab::after{content:attr(data-nav-ar);}
.tab.active{color:var(--accent-mint);}
.tab.active::before{filter:drop-shadow(0 2px 6px rgba(18,196,139,.45));}
.tab:active{background:var(--panel-2);}


.tab[data-tab="marche"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 4.6 4.2A1.4 1.4 0 0 1 5.9 3.5h12.2a1.4 1.4 0 0 1 1.3.7L21 7.5Z'/%3E%3Cpath d='M4.6 7.5V19a1.5 1.5 0 0 0 1.5 1.5h11.8a1.5 1.5 0 0 0 1.5-1.5V7.5'/%3E%3Cpath d='M9.5 20.5v-6h5v6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 4.6 4.2A1.4 1.4 0 0 1 5.9 3.5h12.2a1.4 1.4 0 0 1 1.3.7L21 7.5Z'/%3E%3Cpath d='M4.6 7.5V19a1.5 1.5 0 0 0 1.5 1.5h11.8a1.5 1.5 0 0 0 1.5-1.5V7.5'/%3E%3Cpath d='M9.5 20.5v-6h5v6'/%3E%3C/svg%3E");
}
.tab[data-tab="creer"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.2' y='3.2' width='17.6' height='17.6' rx='5.2'/%3E%3Cpath d='M12 8.3v7.4M8.3 12h7.4'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.2' y='3.2' width='17.6' height='17.6' rx='5.2'/%3E%3Cpath d='M12 8.3v7.4M8.3 12h7.4'/%3E%3C/svg%3E");
}
.tab[data-tab="mesoffres"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.6h13.2m-3.4-3.4 3.4 3.4-3.4 3.4'/%3E%3Cpath d='M20.5 15.4H7.3m3.4-3.4-3.4 3.4 3.4 3.4'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.6h13.2m-3.4-3.4 3.4 3.4-3.4 3.4'/%3E%3Cpath d='M20.5 15.4H7.3m3.4-3.4-3.4 3.4 3.4 3.4'/%3E%3C/svg%3E");
}
.tab[data-tab="messagerie"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 4.5h11a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-6L7 20v-3.5h-.5a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 4.5h11a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-6L7 20v-3.5h-.5a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
}

.tab .live-dot{
  position:absolute;top:7px;inset-inline-end:calc(50% - 16px);
  width:7px;height:7px;
}


body.role-buyer #btn-stars-shop{display:none;}


.guest-actions{display:flex;align-items:center;gap:6px;min-width:0;}
.guest-actions .btn{flex:none;min-height:36px;padding:0 10px;font:700 .75rem var(--font-body);white-space:nowrap;}
/* Libellés courts : le logo garde sa place entière à côté des deux boutons. */
.guest-actions .libelle-long{display:none;}
body:not(.is-guest) #guest-actions{display:none;}
body.is-guest #user-menu,
body.is-guest .tab[data-tab="creer"],
body.is-guest .tab[data-tab="mesoffres"],
body.is-guest .tab[data-tab="messagerie"]{display:none;}



.view{
  padding:16px calc(var(--gutter) + var(--safe-r)) 26px calc(var(--gutter) + var(--safe-l));
}
.view-head h1{
  display:flex;align-items:center;gap:9px;
  font:700 1.4rem/1.2 var(--font-display);letter-spacing:-.02em;margin:0 0 4px;
}
.view-sub{color:var(--muted);font-size:.86rem;line-height:1.45;margin:0 0 16px;}

.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);
  padding:16px;box-shadow:var(--shadow-1);
}


#view-marche{
  display:flex;flex-direction:column;
  height:calc(100vh - var(--tb-total) - var(--nav-total));
  height:calc(100dvh - var(--tb-total) - var(--nav-total));
  padding:0;overflow:hidden;
}


.market-filters{
  flex:none;
  display:flex;flex-wrap:wrap;gap:6px;
  padding:3px calc(var(--gutter) + var(--safe-r)) 3px calc(var(--gutter) + var(--safe-l));
  background:var(--panel);border-bottom:1px solid var(--line);
}
.market-filters label{display:flex;align-items:center;gap:7px;min-width:0;}



/* La recherche ne bouge pas ; le bouton lui tient compagnie et replie le reste. */
.topbar-search{display:none;}
.market-filters .search-bar{flex:1 0 100%;display:flex;align-items:center;gap:8px;}
body:not(.filtres-ouverts) .filters-row{display:none;}

.filters-toggle{
  flex:none;display:inline-flex;align-items:center;gap:6px;
  min-height:34px;padding:0 11px;border-radius:999px;
  background:var(--panel-2);border:1px solid var(--line);color:var(--text);
  font:800 .73rem var(--font-body);white-space:nowrap;
}
.filters-toggle::before{
  content:"";width:16px;height:16px;flex:none;background:currentColor;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h4M14 7h6M4 12h10M20 12h0M4 17h4M14 17h6'/%3E%3Ccircle cx='11' cy='7' r='2.2'/%3E%3Ccircle cx='17' cy='12' r='2.2'/%3E%3Ccircle cx='11' cy='17' r='2.2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h4M14 7h6M4 12h10M20 12h0M4 17h4M14 17h6'/%3E%3Ccircle cx='11' cy='7' r='2.2'/%3E%3Ccircle cx='17' cy='12' r='2.2'/%3E%3Ccircle cx='11' cy='17' r='2.2'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.filters-toggle.est-actif,
body.filtres-ouverts .filters-toggle{background:var(--accent-blue-soft);border-color:#C7D7FF;color:var(--accent-blue);}
.filters-toggle-compte{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:17px;height:17px;padding:0 5px;border-radius:999px;
  background:var(--accent-blue);color:#fff;font:800 .66rem var(--font-body);
}
.filters-toggle-compte[hidden]{display:none;}

.market-filters .filter-search{
  flex:1 1 auto;min-width:0;position:relative;font-size:0;
}
.market-filters .filter-search input{
  /* La regle generale impose min-height:var(--tap) : sans la lever, height n'a aucun effet. */
  font-size:16px;height:34px;min-height:0;border-radius:999px;
  padding:0 14px;padding-inline-start:34px;
  background-color:var(--panel-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7488' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.6'/%3E%3Cpath d='m16.2 16.2 3.8 3.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 11px center;background-size:15px;
}
html[dir="rtl"] .market-filters .filter-search input{background-position:right 12px center;}
.market-filters .filter-search input::-webkit-search-cancel-button{-webkit-appearance:none;}


.filters-row{
  flex:1 0 100%;display:flex;align-items:center;gap:8px;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  margin-inline:calc(-1 * var(--gutter));
  padding-inline:var(--gutter);
}
.filters-row > *{flex:0 0 auto;scroll-snap-align:start;}
.filters-row > label{
  display:flex;align-items:center;gap:2px;min-height:34px;
  padding:0 8px 0 13px;border-radius:999px;
  background:var(--panel-2);border:1px solid var(--line);
  font:800 .62rem var(--font-body);color:var(--muted);
  text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;
}
.filters-row > label select,
.filters-row > label input{
  width:auto;max-width:130px;min-height:36px;
  background-color:transparent;border:none;padding:0 22px 0 0;
  font:600 .8rem var(--font-body);color:var(--text);
  text-transform:none;letter-spacing:0;
  background-position:right center;background-size:14px;
}
html[dir="rtl"] .filters-row > label select{padding:0 0 0 22px;background-position:left center;}
.filters-row > label input{padding-inline-end:4px;font-size:16px;max-width:96px;}
.filters-row .btn{min-height:34px;padding:0 13px;border-radius:999px;font-size:.74rem;}


.category-filter{position:relative;display:flex;align-items:center;flex:0 0 auto;}
.category-filter .filter-label{display:none;}   
.category-filter-trigger{
  display:flex;align-items:center;gap:6px;min-height:34px;padding:0 13px;
  background:var(--accent-blue-soft);border:1px solid #C7D7FF;border-radius:999px;
  font:700 .8rem var(--font-body);color:var(--accent-blue);
  max-width:62vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}


.category-mega-menu{display:none;}
.category-mega-menu.ouvert{
  display:block;
  position:fixed;inset-inline:0;bottom:0;z-index:120;
}
.category-mega-menu.ouvert::before{
  content:"";position:fixed;inset:0;z-index:-1;
  background:rgba(12,16,32,.5);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.category-mega-menu-inner{
  display:block;
  max-height:76vh;max-height:76dvh;overflow-y:auto;overscroll-behavior:contain;
  background:var(--panel);
  border-radius:var(--r-sheet) var(--r-sheet) 0 0;
  padding:8px 10px calc(14px + var(--safe-b));
  box-shadow:var(--shadow-3);
  animation:sheet-up .26s cubic-bezier(.2,.85,.25,1);
}
.category-mega-menu-inner::before{
  content:"";display:block;width:40px;height:4px;margin:2px auto 12px;
  border-radius:999px;background:var(--panel-3);
}
.mega-categories{display:flex;flex-direction:column;gap:2px;}
.mega-category,.mega-all{
  display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 12px;
  background:transparent;border:0;border-radius:var(--r-s);
  font:600 .95rem var(--font-body);color:var(--text);text-align:start;
}
.mega-category .cat-glyph{flex:none;width:22px;height:22px;}
.mega-category.active{background:var(--accent-blue-soft);color:var(--accent-blue);}
.mega-all{
  color:var(--accent-blue);font-weight:800;
  border-bottom:1px solid var(--line);border-radius:var(--r-s) var(--r-s) 0 0;margin-bottom:4px;
}

/* Deux temps : la liste des catégories, puis celle de la catégorie choisie. */
.mega-subcategories{display:none;}
.category-mega-menu.etape-sous .mega-categories{display:none;}
.category-mega-menu.etape-sous .mega-subcategories{display:block;}

.mega-subcategories h3{
  display:flex;align-items:center;gap:8px;margin:0 0 8px;
  font:800 1rem var(--font-display);color:var(--text);
}
.mega-subcategories h3 .cat-glyph{flex:none;width:22px;height:22px;}
.mega-retour{
  flex:none;width:34px;height:34px;margin-inline-start:-6px;
  background:transparent;border:0;border-radius:50%;
}
.mega-retour::before{
  content:"";display:block;width:22px;height:22px;margin:0 auto;background:var(--text);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5 8 12l7 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5 8 12l7 7'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
html[dir="rtl"] .mega-retour::before{transform:scaleX(-1);}
.mega-retour:active{background:var(--panel-2);}

.mega-tout-categorie,
.mega-subcategory{
  display:flex;align-items:center;width:100%;min-height:48px;padding:0 12px;
  background:transparent;border:0;border-radius:var(--r-s);
  font:600 .95rem var(--font-body);color:var(--text);text-align:start;
}
.mega-tout-categorie{
  color:var(--accent-blue);font-weight:800;
  border-bottom:1px solid var(--line);border-radius:var(--r-s) var(--r-s) 0 0;margin-bottom:4px;
}
.mega-subcategory-grid{display:flex;flex-direction:column;gap:2px;}
.mega-subcategory:active,.mega-tout-categorie:active{background:var(--panel-2);}



.market-board{
  flex:1;min-height:0;
  display:flex;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scroll-padding-inline-start:0;
}
.market-board.intro-glide{scroll-behavior:smooth;}
.market-column{
  flex:0 0 92%;                 
  scroll-snap-align:start;
  display:flex;flex-direction:column;min-height:0;
  padding:10px 0 0;
}
.market-column + .market-column{border-inline-start:1px solid var(--line);}

.market-board.filtered-category{overflow-x:hidden;}
.market-board.filtered-category .market-column{flex-basis:100%;border:0;}

.market-column-header{
  flex:none;
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:calc(100% - 20px);min-height:42px;margin:0 10px 10px;padding:0 14px;
  background:var(--panel);border:1px solid var(--line);border-radius:999px;
  font:700 .95rem var(--font-display);color:var(--cat-color,var(--text));
  box-shadow:var(--shadow-1);
}
.market-column-header:active{background:var(--panel-2);}
.market-column-header .category-title{
  display:flex;align-items:center;gap:8px;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.category-icon{display:inline-flex;align-items:center;flex:none;}
.cat-glyph{width:1.2em;height:1.2em;display:block;}
.market-column-count{
  background:var(--panel-2);border-radius:999px;padding:2px 8px;
  font:700 .72rem var(--font-body);color:var(--cat-color,var(--muted));
}

.market-column-header.is-back::before{
  content:"‹";font-size:1.3em;line-height:1;color:var(--cat-color,var(--muted));
}
html[dir="rtl"] .market-column-header.is-back::before{content:"›";}
/* Filtré sur une sous-catégorie : retour à la catégorie en gros, retour au
   marché entier en plus fin. */
.market-column-entete{flex:none;display:flex;align-items:stretch;gap:6px;margin:0 10px 10px;}
.market-column-entete .market-column-header{flex:1 1 auto;width:auto;min-width:0;margin:0;}
.market-column-header.is-tout{flex:none;padding:0 14px;font:800 .84rem var(--font-body);color:var(--accent-blue);background:var(--accent-blue-soft);border-color:var(--accent-blue);}

.market-column-body{
  flex:1;min-height:0;overflow-y:auto;
  
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  
  display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;
  padding:2px 10px 16px;
}

.market-column-body > *{flex:0 0 calc(50% - 5px);min-width:0;}
.market-column-body .empty-state{flex-basis:100%;}


/* Carte d'offre */
.offer-card{
  display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-m);
  overflow:hidden;box-shadow:var(--shadow-1);
}
.offer-card:active{transform:scale(.985);}
.offer-card-image{
  
  flex:none;
  width:100%;aspect-ratio:4 / 3;object-fit:cover;
  object-position:center var(--focus-y,50%);
  display:block;background:var(--panel-2);
}

.offer-card > .galerie-carte{flex:none;}
.offer-card-body{display:flex;flex-direction:column;gap:5px;padding:9px 10px 10px;}
.offer-card-title{
  font:700 .84rem/1.3 var(--font-body);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.2em;
}
.offer-card-badges{display:flex;gap:4px;flex-wrap:wrap;}
.offer-card-badges .badge{font-size:.58rem;padding:2px 6px;}
.offer-card-price{font:700 1.05rem var(--font-display);letter-spacing:-.02em;}

.offer-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;}
.offer-card-actions .icon-btn{flex:none;width:34px;height:34px;}
.offer-card-actions .icon-btn svg{width:16px;height:16px;}

.offer-card-actions .btn-tchatar,
.offer-card-actions .prix-ferme{
  flex:1 1 auto;min-width:0;min-height:34px;padding:0 5px;font-size:.64rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.offer-card-actions .offer-status-pill{font-size:.66rem;padding:5px 9px;}
.offer-card.dismiss-pending{outline:2px solid var(--accent-gold);outline-offset:-2px;}
.dismiss-undo{font:800 .7rem var(--font-body);color:#9A6300;}


.seller-presence{
  display:inline-flex;align-items:center;gap:5px;
  font:700 .68rem var(--font-body);color:var(--muted);
}
.seller-presence .presence-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none;}
.seller-presence.is-online{color:#0E9F6E;}
.seller-presence.is-online .presence-dot{background:var(--accent-mint);box-shadow:0 0 0 3px rgba(18,196,139,.18);}


.offer-form .form-row{display:flex;flex-direction:column;gap:16px;}

.offer-form .form-fields .form-row{gap:0;}
.offer-form .form-fields{display:block;}
.form-fields label{display:block;font:700 .8rem var(--font-body);color:var(--muted);margin-bottom:16px;}
.form-fields input,.form-fields textarea,.form-fields select{margin-top:7px;}
.char-count{float:right;font:600 .72rem var(--font-display);color:var(--muted);}

.upload-box{
  position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--panel-2);border:1.5px dashed var(--line);border-radius:var(--r-m);
}
.upload-box.has-image{border-style:solid;}
.upload-box.dragging-focus{border-color:var(--accent-mint);}
.upload-placeholder{color:var(--muted);font:600 .88rem var(--font-body);text-align:center;padding:12px;}
#upload-preview,#edit-upload-preview{
  width:100%;height:100%;object-fit:cover;
  object-position:center var(--focus-y,50%);
  user-select:none;-webkit-user-drag:none;
}
.focus-hint{
  position:absolute;inset-inline:0;bottom:0;padding:8px;
  background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,0));
  color:#fff;font:700 .72rem var(--font-body);text-align:center;pointer-events:none;
}
.upload-box:not(.has-image) .focus-hint{display:none;}

.radio-row{display:flex;gap:8px;margin-top:7px;}
.radio-pill{
  flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:46px;padding:0 10px;
  background:var(--panel-2);border:1.5px solid var(--line);border-radius:999px;
  font:600 .84rem var(--font-body);color:var(--text);
}
.radio-pill input{width:19px;height:19px;}
.nego-hint{margin:7px 0 16px;font:500 .8rem/1.45 var(--font-body);color:var(--muted);}
.edit-live-verrou{
  margin:0 0 16px;padding:11px 13px;border-radius:var(--r-m);
  background:var(--panel-2);border:1.5px dashed var(--line);
  font:500 .8rem/1.5 var(--font-body);color:var(--muted);
}
.etoiles-bilan{
  margin:4px 0 16px;padding:12px 13px;border-radius:var(--r-m);
  background:var(--panel-2);border:1.5px solid var(--line);
}
.etoiles-ligne{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font:700 .82rem var(--font-body);color:var(--muted);
}
.etoiles-ligne + .etoiles-ligne{margin-top:10px;}
.etoiles-ligne label{margin:0;font:inherit;color:inherit;}
.etoiles-ligne strong{font:800 1rem var(--font-display);color:var(--text);}
.etoiles-total{margin-top:10px;padding-top:10px;border-top:1.5px solid var(--line);}
.etoiles-total strong{color:var(--accent-gold);}

/* Colonne commune aux trois valeurs : ✦ calé sur .star-input-icon (14px),
   chiffre sur le retrait de l'input (36px). */
.etoiles-valeur{flex:none;width:132px;margin:0;}
.etoiles-valeur.est-texte{display:flex;align-items:center;padding-inline-start:14px;}
.etoiles-signe{width:22px;flex:none;color:#9A6300;font-weight:800;}
.etoiles-bilan .star-input{margin-top:0;}
.etoiles-bilan .star-input input{width:100%;margin-top:0;}
.etoiles-solde{margin:10px 0 0;font:500 .78rem/1.45 var(--font-body);color:var(--muted);}
.etoiles-solde.est-insuffisant{color:var(--accent-live);font-weight:700;}
.prix-ferme-ligne{margin:-2px 0 4px;}
.detail-actions .prix-ferme{min-height:40px;}
.prix-ferme{
  display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:999px;
  background:var(--panel-2);border:1.5px dashed var(--line);
  font:700 .76rem var(--font-body);color:var(--muted);white-space:nowrap;
}


.star-input{position:relative;display:block;margin-top:7px;}
.star-input-icon{
  position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);
  color:#9A6300;font-weight:800;pointer-events:none;line-height:1;
}
.star-input input{padding-inline-start:36px;margin-top:0;}

.rank-preview{
  margin-top:2px;padding:11px 13px;border-radius:var(--r-s);
  background:var(--accent-gold-soft);border:1px solid #FFDD9E;
  font-size:.84rem;line-height:1.5;color:#7A4E00;
}
.rank-preview:empty{display:none;}

.offer-form-footer{
  display:flex;flex-direction:column;gap:12px;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
}
.offer-form-footer .btn{width:100%;min-height:52px;font-size:1rem;}
.cost-preview{font-size:.85rem;color:var(--muted);text-align:center;}
.edit-offer-hint{margin:0;font-size:.8rem;}


.offer-list{display:flex;flex-direction:column;gap:10px;}
.mine-section-title{
  margin:20px 0 0;padding-bottom:8px;border-bottom:1px solid var(--line);
  font:800 .78rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);
}
.mine-section-title:first-child{margin-top:0;}
.expired-block{margin-top:26px;}
.expired-block .view-sub{margin:10px 0 12px;}

.offer-row{
  position:relative;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;
  padding:12px;padding-inline-start:15px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-m);
  box-shadow:var(--shadow-1);
}
.offer-row::before{
  content:"";position:absolute;inset-inline-start:0;top:10px;bottom:10px;
  width:3px;border-radius:0 3px 3px 0;background:var(--accent-mint);opacity:.75;
}
.offer-thumb{
  flex:none;width:58px;height:58px;border-radius:12px;object-fit:cover;
  background:var(--panel-2);border:1px solid var(--line);
}
.offer-main{flex:1 1 120px;min-width:0;}
.offer-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.offer-title{font:700 .92rem var(--font-body);}
.offer-meta{font-size:.76rem;color:var(--muted);margin-top:3px;line-height:1.4;}
.offer-price{flex:none;font:700 1.1rem var(--font-display);letter-spacing:-.02em;}
.offer-timer{flex:0 0 100%;display:flex;}
.offer-presence-row{margin-bottom:2px;}
.row-boost{color:#9A6300;font-weight:800;}

.offer-actions{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:8px;}
.offer-actions .btn{flex:1 1 130px;min-height:46px;padding:0 12px;font-size:.84rem;}


.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.store-card{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:18px 12px 14px;text-align:center;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);
  box-shadow:var(--shadow-1);
}
.store-card.featured{border-color:var(--accent-gold);background:var(--accent-gold-soft);}
.store-qty{font:700 1.4rem var(--font-display);color:#9A6300;}
.store-price{color:var(--muted);font-size:.88rem;margin-bottom:10px;}
.store-card .btn{width:100%;min-height:44px;font-size:.86rem;}
.store-save{
  position:absolute;top:9px;inset-inline-end:9px;
  background:var(--accent-mint);color:#00382A;
  font:800 .6rem var(--font-body);padding:3px 8px;border-radius:999px;
}


#view-messagerie{
  display:flex;flex-direction:column;
  height:calc(100vh - var(--tb-total) - var(--nav-total));
  height:calc(100dvh - var(--tb-total) - var(--nav-total));
  padding:0;overflow:hidden;
}
/* Titre et sous-titre masqués : sur un écran de téléphone, chaque ligne prise
   par l'habillage est une ligne de conversation en moins. */
#view-messagerie .view-head{display:none;}

.messaging-layout{flex:1;min-height:0;display:flex;flex-direction:column;}

/* Messagerie */
.conv-list{
  flex:none;display:flex;gap:6px;
  padding:6px calc(var(--gutter) + var(--safe-r)) 6px calc(var(--gutter) + var(--safe-l));
  overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;
}
.conv-item{
  flex:0 0 auto;min-width:146px;max-width:210px;scroll-snap-align:start;
  padding:6px 10px;border-radius:var(--r-s);
  background:var(--panel);border:1px solid var(--line);
}
.conv-item.active{background:var(--accent-mint-soft);border-color:var(--accent-mint);}
.conv-item.conv-pending{animation:conv-blink 1s ease-in-out infinite;}
@keyframes conv-blink{
  0%,100%{box-shadow:0 0 0 0 rgba(46,107,255,0);border-color:var(--line);}
  50%{box-shadow:0 0 0 4px var(--accent-blue-soft);border-color:var(--accent-blue);}
}
@media (prefers-reduced-motion:reduce){
  .conv-item.conv-pending{animation:none;border-color:var(--accent-blue);}
}
.conv-item-title{
  font:700 .8rem var(--font-body);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.conv-item-sub{
  font-size:.7rem;color:var(--muted);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.conv-cancelled-mark{color:var(--accent-live);}

.conv-panel{
  flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  background:var(--panel);border-top:1px solid var(--line);
  border-radius:var(--r-l) var(--r-l) 0 0;
}
.conv-empty{margin:auto;padding:24px;color:var(--muted);font-size:.9rem;text-align:center;}

.conv-header{
  flex:none;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:6px;padding:7px 12px;border-bottom:1px solid var(--line);
}
.conv-header-id{min-width:0;flex:1 1 auto;}
.conv-header strong{font-size:.88rem;}
.conv-header .offer-meta{margin-top:1px;font-size:.72rem;}
.conv-header .seller-presence{margin-inline-start:5px;}
.conv-header-actions{display:flex;gap:6px;flex-wrap:wrap;width:100%;}
.conv-header-actions .btn{flex:1 1 120px;min-height:32px;font-size:.75rem;padding:0 10px;}

.conv-report{
  flex:none;margin-inline-start:auto;
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;
  background:var(--panel-2);border:1px solid var(--line);
  color:var(--muted);font-size:.8rem;line-height:1;
}

.conv-lock-banner{
  flex:none;padding:9px 14px;line-height:1.4;
  background:var(--accent-gold-soft);border-bottom:1px solid #FFDD9E;
  font:700 .78rem var(--font-body);color:#7A4E00;
}
.conv-lock-banner.is-free{background:var(--accent-mint-soft);border-bottom-color:var(--accent-mint);color:#00382A;}

.conv-messages{
  flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;gap:6px;padding:10px 12px;
}
.msg{
  max-width:82%;padding:9px 13px;border-radius:18px;
  font-size:.92rem;line-height:1.4;overflow-wrap:anywhere;
}
.msg.me{align-self:flex-end;background:var(--accent-mint);color:#00382A;border-bottom-right-radius:6px;font-weight:600;}
.msg.them{align-self:flex-start;background:var(--panel-2);border-bottom-left-radius:6px;}
.msg.system{align-self:center;max-width:100%;background:transparent;color:var(--muted);font-size:.76rem;text-align:center;}
.msg.is-pending{opacity:.66;}
.msg-time{
  display:flex;align-items:center;justify-content:flex-end;gap:4px;
  margin-top:3px;font:600 .66rem var(--font-body);opacity:.62;line-height:1;
}
html[dir="rtl"] .msg-time{justify-content:flex-start;}
.msg.system .msg-time{justify-content:center;}
.msg-state{font-size:.7rem;letter-spacing:-1px;}
.msg-state.is-read{color:var(--accent-blue);opacity:1;letter-spacing:-2px;}

.conv-day-sep{align-self:center;margin:6px 0 2px;}
.conv-day-sep span{
  padding:4px 12px;border-radius:999px;
  background:var(--panel-2);border:1px solid var(--line);
  font:700 .7rem var(--font-body);color:var(--muted);text-transform:capitalize;
}

.identity-card{
  background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-m);
  display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:9px 11px;
}
.identity-card div{margin:0;font-size:.8rem;overflow-wrap:anywhere;}
.identity-card div:last-child{grid-column:1 / -1;}
.identity-card .label{
  font:800 .6rem var(--font-body);color:var(--muted);
  text-transform:uppercase;letter-spacing:.03em;
}


.conv-input{
  flex:none;display:flex;align-items:center;gap:8px;
  padding:10px calc(12px + var(--safe-r)) 10px calc(12px + var(--safe-l));
  border-top:1px solid var(--line);background:var(--panel);
}
.conv-input input{flex:1;min-height:44px;border-radius:999px;padding:0 16px;}
.conv-input .btn{flex:none;min-height:44px;padding:0 18px;font-size:.85rem;border-radius:999px;}


.modal{
  position:fixed;inset:0;z-index:100;
  display:flex;align-items:flex-end;justify-content:center;
}
#modal-ask{z-index:120;}

/* Modales */
.modal-backdrop{
  position:absolute;inset:0;background:rgba(12,16,32,.5);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.modal-panel,.ask-panel{
  position:relative;z-index:2;
  width:100%;max-width:100%;max-height:92vh;max-height:92dvh;
  overflow-y:auto;overscroll-behavior:contain;
  background:var(--panel);border:0;
  border-radius:var(--r-sheet) var(--r-sheet) 0 0;
  padding:14px calc(16px + var(--safe-r)) calc(18px + var(--safe-b)) calc(16px + var(--safe-l));
  box-shadow:var(--shadow-3);
  animation:sheet-up .28s cubic-bezier(.2,.85,.25,1);
}

.modal-panel::before,.ask-panel::before{
  content:"";display:block;width:40px;height:4px;margin:0 auto 14px;
  border-radius:999px;background:var(--panel-3);
}
@keyframes sheet-up{from{transform:translateY(14%);opacity:.4;}to{transform:translateY(0);opacity:1;}}


.modal-close{
  position:sticky;top:4px;z-index:3;
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;margin-inline-start:auto;margin-bottom:-38px;
  border:none;border-radius:50%;
  background:var(--panel-2);color:var(--text);font-size:1rem;line-height:1;
  box-shadow:0 2px 10px rgba(20,26,48,.20);
}
/* Fiche d'offre : pas de croix sur la photo. On la referme en la tirant vers
   le bas ou en touchant à côté. */
#modal-detail .modal-close{display:none;}


#modal-image{align-items:center;}
#modal-image .modal-backdrop{background:rgba(6,8,18,.92);}
/* Plein écran : une croix discrète, seule sortie visible une fois la photo
   étalée d'un bord à l'autre. */
.zoom-close{
  position:fixed;z-index:4;
  top:calc(10px + var(--safe-t));inset-inline-end:calc(10px + var(--safe-r));
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;padding:0;border:0;border-radius:50%;
  background:rgba(20,24,40,.42);color:rgba(255,255,255,.92);
  font:300 26px/1 var(--font-body);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.zoom-close:active{background:rgba(20,24,40,.7);}

.galerie-zoom{position:relative;z-index:2;}
.galerie-zoom img{
  max-width:100vw;max-height:100vh;max-height:100dvh;object-fit:contain;
}


.report-title{font:700 1.15rem var(--font-display);margin:0 0 6px;}
.report-sub{color:var(--muted);font-size:.86rem;margin:0 0 14px;overflow-wrap:anywhere;}
.report-motifs{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.report-motif{
  text-align:start;min-height:48px;padding:12px 14px;
  border:1px solid var(--line);border-radius:var(--r-s);
  background:var(--panel-2);color:var(--text);font:600 .92rem var(--font-body);
}
.report-motif.actif{background:var(--accent-blue-soft);border-color:var(--accent-blue);color:var(--accent-blue);}
.report-detail{display:block;font-size:.8rem;color:var(--muted);font-weight:600;}
.report-detail textarea{
  display:block;width:100%;margin-top:6px;padding:11px 12px;resize:vertical;
  border:1px solid var(--line);border-radius:var(--r-s);background:var(--panel-2);
  color:var(--text);font:400 .95rem var(--font-body);
}
.report-note{color:var(--muted);font-size:.78rem;margin:12px 0 0;}
.report-actions{display:flex;gap:8px;margin-top:16px;}
.report-actions .btn{flex:1;}
.report-actions .btn:disabled{opacity:.45;}
.btn-signaler{
  display:block;width:100%;margin-top:14px;min-height:44px;
  background:none;border:0;color:var(--muted);
  font:600 .86rem var(--font-body);text-decoration:underline;
}


.warning-title{font:700 1.15rem var(--font-display);margin:0 0 14px;color:var(--accent-live);}
.warning-item{
  padding:12px;margin-bottom:10px;background:var(--panel-2);
  border:1px solid var(--line);border-inline-start:3px solid var(--accent-live);
  border-radius:var(--r-s);
}
.warning-date{color:var(--muted);font-size:.76rem;margin-bottom:4px;}
.warning-motif{font-size:.92rem;overflow-wrap:anywhere;white-space:pre-wrap;}


.detail-layout{display:flex;flex-direction:column;gap:14px;}
.detail-image{
  width:100%;aspect-ratio:4 / 3;object-fit:cover;
  object-position:center var(--focus-y,50%);
  background:var(--panel-2);border-radius:var(--r-m);
}
.detail-info h2{font:700 1.25rem var(--font-display);letter-spacing:-.02em;margin:0 0 8px;}
.detail-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.detail-price{font:700 1.7rem var(--font-display);letter-spacing:-.03em;margin:8px 0;}
.detail-meta-line{font-size:.84rem;color:var(--muted);margin-bottom:4px;}
.detail-info .seller-presence{margin:4px 0 10px;font-size:.8rem;}
.detail-desc{font-size:.94rem;line-height:1.6;margin:10px 0 4px;overflow-wrap:anywhere;}
.detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;}
.detail-actions .icon-btn{width:48px;height:48px;}
.detail-actions .icon-btn svg{width:21px;height:21px;}
.detail-actions .btn-tchatar{flex:1;min-width:150px;min-height:48px;}


/* Négociation */
.nego-head{display:flex;gap:12px;margin-bottom:14px;}
.nego-head img{flex:none;width:62px;height:62px;border-radius:12px;object-fit:cover;}
.nego-head h2{font:700 1.05rem var(--font-display);margin:0 0 4px;}
.nego-head .offer-meta{margin-top:2px;}
.nego-thread{
  display:flex;flex-direction:column;gap:8px;margin:14px 0;
  max-height:34vh;max-height:34dvh;overflow-y:auto;overscroll-behavior:contain;padding:2px;
}
.nego-entry{
  max-width:78%;padding:9px 13px;border-radius:16px;
  background:var(--panel-2);border:1px solid var(--line);
}
.nego-entry.from-me{align-self:flex-end;background:var(--accent-mint-soft);border-color:var(--accent-mint);border-bottom-right-radius:5px;}
.nego-entry.from-them{align-self:flex-start;border-bottom-left-radius:5px;}
html[dir="rtl"] .nego-entry.from-me{align-self:flex-start;border-bottom-right-radius:16px;border-bottom-left-radius:5px;}
html[dir="rtl"] .nego-entry.from-them{align-self:flex-end;border-bottom-left-radius:16px;border-bottom-right-radius:5px;}
.nego-entry-label{font:800 .66rem var(--font-body);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.nego-entry-price{font:700 1.05rem var(--font-display);margin-top:2px;}
.nego-final-note{color:var(--accent-live);font-size:.86rem;line-height:1.45;margin:8px 0;}
.nego-turn-lock{
  margin:6px 0 14px;padding:11px 13px;text-align:center;
  background:var(--panel-2);border:1px dashed var(--line);border-radius:var(--r-s);
  font-size:.82rem;color:var(--muted);line-height:1.45;
}
.nego-range-hint{font-size:.78rem;color:var(--muted);line-height:1.45;margin:0 0 12px;}
.nego-slider-row{margin:16px 0 4px;}
.nego-slider-value{
  font:700 1.6rem var(--font-display);letter-spacing:-.03em;text-align:center;
  color:var(--accent-blue);margin-bottom:6px;
}
.nego-slider-bounds{
  display:flex;justify-content:space-between;margin-top:2px;
  font:600 .74rem var(--font-display);color:var(--muted);
}
.nego-final-check{
  display:flex;align-items:center;gap:10px;margin:8px 0 16px;
  font-size:.86rem;line-height:1.35;color:var(--accent-live);
}
#nego-send-counter{margin-bottom:12px;min-height:50px;}
.nego-actions{display:flex;gap:8px;flex-wrap:wrap;}
.nego-actions .btn{flex:1 1 130px;min-height:48px;}


.neglist-rows{display:flex;flex-direction:column;gap:8px;}
.neglist-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;min-height:52px;padding:10px 14px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-s);
  font:700 .9rem var(--font-body);color:var(--text);text-align:start;
}
.neglist-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.neglist-price{font-family:var(--font-display);color:var(--accent-blue);flex:none;}


.ask-panel{text-align:center;}
.ask-icon{
  width:52px;height:52px;margin:0 auto 14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;background:var(--accent-mint-soft);color:#00875A;
}
.modal.is-danger .ask-icon{background:var(--accent-live-soft);color:var(--accent-live);}
.ask-title{font:700 1.15rem var(--font-display);margin:0 0 8px;}
.ask-text{
  margin:0 0 20px;font-size:.92rem;line-height:1.55;color:var(--muted);
  white-space:pre-line;overflow-wrap:anywhere;
}
.ask-text:empty{display:none;}
.ask-actions{display:flex;gap:10px;}
.ask-actions .btn{flex:1 1 0;min-width:0;min-height:50px;}


.confirm-block{text-align:center;}
.confirm-block h2{font:700 1.15rem var(--font-display);margin:0 0 8px;}
.confirm-block .identity-card{text-align:start;}


.edit-offer-title{font:700 1.1rem var(--font-display);margin:0 44px 14px 0;}
html[dir="rtl"] .edit-offer-title{margin:0 0 14px 44px;}


.terms-panel h2{font:700 1.2rem/1.3 var(--font-display);margin:0 40px 8px 0;}
html[dir="rtl"] .terms-panel h2{margin:0 0 8px 40px;}
.terms-panel h3{font:700 1rem var(--font-display);margin:22px 0 6px;}
.terms-panel p{margin:0 0 12px;font-size:.92rem;line-height:1.65;}
.terms-date{color:var(--muted) !important;font-size:.8rem !important;}
html[dir="ltr"] .terms-ar{display:none;}
html[dir="rtl"] .terms-fr{display:none;}


#modal-terms .terms-fr,#modal-terms .terms-ar{counter-reset:article;}
#modal-terms h3::before{counter-increment:article;content:counter(article) ".";display:inline-block;direction:ltr;margin-inline-end:.35em;}
body.sans-etoiles .terms-etoiles{display:none;}


.toast-container{
  position:fixed;z-index:200;
  inset-inline:10px;bottom:calc(var(--nav-total) + 10px);
  display:flex;flex-direction:column;gap:8px;
}
.toast{
  padding:13px 16px;border-radius:var(--r-s);
  background:var(--panel);border:1px solid var(--line);
  border-inline-start:3px solid var(--accent-mint);
  font-size:.88rem;line-height:1.4;color:var(--text);
  box-shadow:var(--shadow-2);
  animation:toast-in .24s ease;
}
.toast.error{border-inline-start-color:var(--accent-live);}
.toast.warn{border-inline-start-color:var(--accent-gold);}
@keyframes toast-in{from{transform:translateY(10px);opacity:0;}to{transform:translateY(0);opacity:1;}}


.notif{
  position:relative;
  background:var(--panel);border:1px solid var(--line);
  border-inline-start:3px solid var(--accent-blue);border-radius:var(--r-m);
  padding-block:14px;padding-inline:15px 44px;
  color:var(--text);box-shadow:var(--shadow-2);
  animation:toast-in .24s ease;
}
.notif:active{transform:scale(.99);}
.notif-title{
  font:800 .72rem var(--font-body);color:var(--accent-blue);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;
}
.notif-text{font-size:.9rem;line-height:1.45;overflow-wrap:anywhere;}
.notif-link{
  display:inline-block;margin-top:9px;
  font:800 .8rem var(--font-body);color:var(--accent-blue);text-decoration:underline;
}
.notif-close{
  position:absolute;top:7px;inset-inline-end:7px;
  width:34px;height:34px;border:0;border-radius:50%;
  background:transparent;color:var(--muted);font-size:.85rem;line-height:1;
}
.notif-invite{border-inline-start-color:var(--accent-gold);padding-inline-end:15px;}
.notif-invite .notif-title{color:#9A6300;}
.notif-actions{display:flex;gap:8px;margin-top:14px;}
.notif-actions .btn{flex:1;min-height:44px;font-size:.82rem;}


.tab-badge{
  position:absolute;top:3px;inset-inline-end:calc(50% - 21px);
  display:inline-flex;align-items:center;justify-content:center;
  min-width:17px;height:17px;padding:0 4px;border-radius:999px;
  background:var(--accent-live);color:#fff;font:800 .6rem/1 var(--font-body);
  box-shadow:0 0 0 2px var(--panel);
}
.tab-badge::after{content:attr(data-count);}
.tab-badge[hidden]{display:none;}


@keyframes tab-clignote{
  0%, 100%{ color:var(--muted); }
  50%     { color:var(--accent-live); }
}

.tab.has-news{animation:tab-clignote 2.2s ease-in-out infinite;}
.tab.has-news .tab-badge{animation:tab-clignote-badge 2.2s ease-in-out infinite;}
@keyframes tab-clignote-badge{
  0%, 100%{ transform:scale(1); }
  50%     { transform:scale(1.1); }
}
@media (prefers-reduced-motion: reduce){
  .tab.has-news, .tab.has-news .tab-badge{animation:none;}
  .tab.has-news{color:var(--accent-live);}
}


@keyframes attend-reponse-btn{
  0%, 100%{ background-color:var(--accent-mint);   color:var(--btn-primary-fg); }
  50%     { background-color:var(--alerte-sombre); color:#FFFFFF; }
}
.btn.attend-reponse{animation:attend-reponse-btn 2.2s ease-in-out infinite;}

@keyframes attend-reponse-row{
  0%, 100%{ background-color:var(--panel-2); border-color:var(--line); }
  50%     { background-color:var(--accent-live-soft); border-color:var(--accent-live); }
}
.neglist-row.attend-reponse{animation:attend-reponse-row 2.2s ease-in-out infinite;}


@media (prefers-reduced-motion:reduce){
  .btn.attend-reponse{background-color:var(--alerte-sombre);color:#FFFFFF;}
  .neglist-row.attend-reponse{
    background-color:var(--accent-live-soft);border-color:var(--accent-live);
  }
}


/* Une seule ligne de libelles courts : le pied de page mangeait un tiers de l'ecran. */
.site-footer{
  margin-top:auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  column-gap:12px;row-gap:2px;
  padding:7px calc(var(--gutter) + var(--safe-r)) 9px calc(var(--gutter) + var(--safe-l));
  background:var(--panel);border-top:1px solid var(--line);
  color:var(--muted);font-size:0;text-align:center;line-height:1.4;
}
.site-footer .footer-link{padding:5px 0;}
.site-footer > *::after{content:attr(data-court);font-size:.66rem;}
html[dir="rtl"] .site-footer > *::after{content:attr(data-court-ar);}


body.dark-theme{
  color-scheme:dark;
  --bg:#0E1220;
  --panel:#171F31;
  --panel-2:#1F2941;
  --panel-3:#2B3853;
  --line:#31405C;
  --text:#F2F6FF;
  --muted:#A9B5CA;
  --accent-live-soft:#3F2231;
  --btn-primary-fg:#E8FFF7;
  --accent-mint-soft:#123B37;
  --accent-gold-soft:#3A3019;
  --accent-blue-soft:#1C305A;
  --shadow-1:0 1px 2px rgba(0,0,0,.3);
  --shadow-2:0 4px 18px rgba(0,0,0,.42);
  --shadow-3:0 -10px 40px rgba(0,0,0,.6);
}
body.dark-theme .btn-tchatar{background:var(--accent-blue);color:#fff;}
body.dark-theme .stars-pill{border-color:#5C4A22;}
body.dark-theme .badge-boost{color:#F2C15E;}
body.dark-theme .rank-preview{color:#F2C15E;border-color:#5C4A22;}
body.dark-theme .conv-lock-banner{border-bottom-color:#5C4A22;color:#F2C15E;}
body.dark-theme .conv-lock-banner.is-free{color:#7FF0CE;}
body.dark-theme .store-qty{color:#F2C15E;}
body.dark-theme .offer-status-pill.status-sold{color:#F2C15E;}
body.dark-theme .msg.me{color:#04231B;}
body.dark-theme .focus-hint{background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,0));}
body.dark-theme .star-input-icon,
body.dark-theme .row-boost,
body.dark-theme .dismiss-undo{color:#F2C15E;}
body.dark-theme .screen-auth{
  background:
    radial-gradient(circle at 10% 8%, rgba(18,196,139,.16), transparent 46%),
    radial-gradient(circle at 92% 4%, rgba(255,168,0,.12), transparent 42%),
    radial-gradient(circle at 84% 96%, rgba(46,107,255,.18), transparent 48%),
    var(--bg);
}
body.dark-theme select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9B5CA' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E");
}
body.dark-theme .filters-toggle{background:#18243A;border-color:#334969;color:#D6E2F5;}
body.dark-theme .filters-toggle.est-actif,body.dark-theme.filtres-ouverts .filters-toggle{background:#1B2C50;border-color:#3E5A93;color:#AFC8FF;}
body.dark-theme .market-filters .filter-search input{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9B5CA' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.6'/%3E%3Cpath d='m16.2 16.2 3.8 3.8'/%3E%3C/svg%3E");
}


html[dir="rtl"] .offer-row::before{border-radius:3px 0 0 3px;}
html[dir="rtl"] .offer-meta,
html[dir="rtl"] .detail-desc,
html[dir="rtl"] .conv-messages,
html[dir="rtl"] .terms-panel{text-align:right;}
html[dir="rtl"] .char-count{float:left;}




@media (min-width:412px){
  .market-column-body{gap:12px;}
  .market-column-body > *{flex-basis:calc(50% - 6px);}
  .offer-card-title{font-size:.88rem;}
  
  .offer-card-actions .btn-tchatar,
  .offer-card-actions .prix-ferme{font-size:.72rem;padding:0 7px;min-height:36px;}
  .offer-card-actions .icon-btn{width:36px;height:36px;}
  .offer-card-actions .icon-btn svg{width:17px;height:17px;}
}


@media (min-width:600px){
  :root{--gutter:20px;}
  
  .market-column-body{gap:14px;}
  .market-column-body > *{flex-basis:calc(33.333% - 9.34px);}
  .store-grid{grid-template-columns:repeat(3,1fr);}
  .modal-panel,.ask-panel,.category-mega-menu-inner{
    max-width:560px;margin-inline:auto;border-radius:var(--r-sheet) var(--r-sheet) 0 0;
  }
  .conv-item{min-width:210px;}
}


@media (orientation:landscape) and (max-height:500px){
  :root{--tb-h:46px;--nav-h:50px;}
  .tab::before{width:20px;height:20px;}
  .tab::after{font-size:.58rem;}
  .market-column{flex-basis:56%;}
  .market-column-body > *{flex-basis:calc(33.333% - 6.67px);}
  .modal-panel,.ask-panel{max-height:96vh;max-height:96dvh;}
  .auth-card{justify-content:flex-start;}
}


@media (max-width:360px){
  :root{--gutter:11px;}
  .brand.small{font-size:1.14rem;}
  .user-pill{max-width:78px;}
  .stars-pill{padding:0 9px;font-size:.76rem;}
  .language-switch{max-width:56px;padding:0 20px 0 7px;}
  .guest-actions .btn{padding:0 8px;font-size:.71rem;}
  .tab::after{font-size:.58rem;}
  .market-column-body{gap:8px;}
  .market-column-body > *{flex-basis:calc(50% - 4px);}
  
  .offer-card-actions{gap:3px;}
  .offer-card-actions .btn-tchatar,
  .offer-card-actions .prix-ferme{font-size:.56rem;padding:0 3px;min-height:32px;}
  .offer-card-actions .icon-btn{width:32px;height:32px;}
  .offer-card-actions .icon-btn svg{width:15px;height:15px;}
}


@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
}
