/* Alvado — theme : echelle typographique et palette uniques.
   Charge en dernier ; remplace les tailles et couleurs figees de v7.css.
   Regle : aucune taille de texte hors de --fs-*, aucune couleur hors des tokens. */

/* Police libre (SIL Open Font License 1.1), hebergee ici : aucun appel a un service tiers.
   Inter porte le texte et les titres — les titres s'en distinguent par la graisse, pas par
   une seconde famille. Licence dans assets/fonts/. */
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-wght.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  /* Palette « Creme » : fond chaud, encre profonde, un seul accent — le rouge alvado. */
  --ink:#15120f;            /* titres */
  --text:#2f2a25;           /* texte courant */
  --muted:#6f685d;          /* texte secondaire */
  --canvas:#f7f3ea;         /* fond de page : creme */
  --paper:#fff;             /* cartes, champs */
  --surface:#f1ebdf;        /* panneaux teintes : une seule teinte */
  --surface-hover:#e8e0d0;
  --line:#e9e2d4;
  --line-strong:#d6ccb8;
  --brand:#e2432a;          /* rouge alvado */
  --brand-hover:#c23319;
  --brand-tint:#fdeae4;
  --brand-soft:#f0a493;     /* second ton */
  --night:#15120f;          /* panneaux pleins : encart de vente, garantie */
  --night-soft:#2a2420;
  --auction:#b03a12;        /* encheres et messages d'erreur */
  --auction-bg:#fcece3;
  --swiss:#d52b1e;
  /* Pastilles de categorie : sept teintes rechauffees, chacune un fond et un trait */
  --h-blue-bg:#e6eef7;--h-blue:#2d5a8c;
  --h-coral-bg:#fde7df;--h-coral:#b03a12;
  --h-green-bg:#e4efdf;--h-green:#3f6b33;
  --h-violet-bg:#ece6f6;--h-violet:#5f4299;
  --h-amber-bg:#fbeecd;--h-amber:#8a5a10;
  --h-teal-bg:#dfeeea;--h-teal:#2d6b60;
  --h-pink-bg:#fbe4e8;--h-pink:#a8395a;
  --mark:#ffe9a8;
  /* Anciens noms, encore employes par v7.css et alvado.css */
  --mint:var(--surface);
  --lime:var(--brand-tint);
  --shadow:0 20px 70px #2a1c0e1f;

  /* Polices */
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* Echelle typographique : 13 / 15 / 17 / 20 / 24 / 34, titre principal 40 a 68 */
  --fs-12:.8125rem;
  --fs-14:.9375rem;
  --fs-16:1.0625rem;
  --fs-18:1.25rem;
  --fs-22:1.5rem;
  --fs-28:2.125rem;
  --fs-34:clamp(2rem,1.3rem + 2.2vw,2.75rem);
  --fs-hero:clamp(2.75rem,1.5rem + 4.4vw,4.75rem);

  --radius:16px;
  --radius-sm:12px;
  --radius-pill:999px;
  font-size:100%;
  line-height:1.5;
  font-family:var(--font-body);
}

:root,body,button,input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,h4,.brand,.product-price,.value-strip strong{font-family:var(--font-display)}
body{font-size:var(--fs-16);color:var(--text);background:var(--canvas)}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.025em}

/* Surtitres : lisibles, plus d'espacement de 1,6px sur du 9px */
.eyebrow,.category-selector-header .eyebrow,.listings-heading .eyebrow{
  font-size:var(--fs-12);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}

/* --- Boutons et liens ---
   Tous en pilule, du bouton de vente a celui du pied de page. Deux variantes s'ajoutent au
   rouge : le noir pour les gestes neutres, le blanc pour les panneaux sombres. */
.button{font-size:var(--fs-14);font-weight:600;min-height:46px;padding:12px 22px;border-radius:var(--radius-pill)}
.button.secondary{border-color:var(--line-strong);background:var(--paper)}
.button.secondary:hover,.button.text-button:hover{background:var(--surface-hover)}
.button.dark{background:var(--brand);color:#fff}
.button.dark:hover{background:var(--brand-hover)}
.button.dark:hover{background:var(--night-soft)}
.button.light{background:var(--paper);color:var(--ink)}
.button.light:hover{background:var(--surface)}
.text-link{font-size:var(--fs-14);font-weight:600;color:var(--brand);white-space:normal;max-width:100%}
/* Un lien-phrase (« Une question ? Ecrivez-nous. ») passe a la ligne au lieu de deborder. */

/* --- Bandeau utilitaire et en-tete --- */
.utility-bar{background:var(--surface);font-size:var(--fs-12);color:var(--muted)}
.utility-links{display:flex;gap:18px;align-items:center}
.utility-links a,.utility-links .text-link{font-size:var(--fs-12);font-weight:400;color:var(--text);padding:0}
.swiss-cross{background:var(--swiss)}
.brand-mark{stroke:var(--brand)}
.header-inner{min-height:72px;gap:28px}
.header.is-home{border-bottom-color:transparent}
.header-link{font-size:var(--fs-14);font-weight:500;color:var(--text);white-space:nowrap}
.header-link:hover{color:var(--brand)}
/* La ou l'en-tete porte la recherche, ce lien lui laisse sa place : il reste sur l'accueil et
   dans le pied de page. Le selecteur passe par .header-actions, sinon le display:flex de
   ssr.css (.header-actions>a) l'emporte. */
.header:not(.is-home) .header-actions .header-link{display:none}
.brand{font-size:26px;font-weight:700;letter-spacing:-.04em}
.search{background:var(--paper);border:1px solid var(--line);height:48px;border-radius:var(--radius-pill);padding-left:18px}
.search-word{display:flex;align-items:center;gap:13px;flex:1;min-width:0}
.search input{font-size:var(--fs-16)}
.search input::placeholder{color:var(--muted)}
.search-submit{background:var(--surface)}
.account-button{font-size:var(--fs-14);font-weight:600}
/* « Se connecter » garde son texte jusqu'a 1050 px (v7.css le masquait des 1150 px) :
   en dessous, la recherche de l'en-tete deviendrait trop etroite pour sa consigne. */
@media(min-width:1051px){.account-button>span:last-child{display:inline}}
/* « Mes favoris » suit la meme regle, sauf la ou l'en-tete porte la recherche : il ne s'y ecrit
   qu'au-dessus de 1300 px, pour laisser a la recherche plus de 220 px, meme connecte. */
@media(max-width:1300px){.header:not(.is-home) .favorites-nav>span:last-child{display:none}}
/* Sur l'accueil, « Comment ca marche » occupe la place de la recherche : le mot ne s'y ecrit
   qu'au-dessus de 1230 px, sinon l'en-tete d'un membre connecte debordait. */
@media(max-width:1230px){.header.is-home .favorites-nav>span:last-child{display:none}}
.language-switch,.language-switch>summary{font-size:var(--fs-14);font-weight:600}
.desktop-nav{font-size:var(--fs-14);gap:24px;min-height:52px}
.nav-categories{font-weight:600}
.nav-counter{font-size:var(--fs-12);background:var(--surface);color:var(--muted)}
.nav-link{color:var(--muted)}
.nav-link.is-active{color:var(--brand);font-weight:600}
.nav-pricing{color:var(--brand);font-weight:600}
.nav-last{color:var(--muted)}

/* --- Accroche --- */
.hero{margin-top:24px;min-height:360px;max-height:none;grid-template-columns:1.25fr 1fr;background:var(--surface);border-radius:var(--radius)}
.hero .hero-visual{min-height:0;border-radius:0}
.hero .hero-visual>img{position:static;inset:auto;width:100%;height:100%;object-fit:cover;transform:none}
.hero-copy .eyebrow{font-size:var(--fs-12)}
.hero-buttons .button{font-size:var(--fs-16);min-height:48px;padding:12px 22px}
.hero-copy{padding:48px 24px 44px 48px;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.035em;line-height:1.08;margin-top:16px}
.hero p{font-size:var(--fs-18);line-height:1.6;color:var(--muted);margin-top:16px;max-width:34em}
.hero-buttons{gap:8px;margin-top:28px;flex-wrap:wrap}
.hero-footnote{font-size:var(--fs-14);color:var(--muted)}
.hero .hero-visual{background:var(--surface)}
.hero-visual>img{mix-blend-mode:multiply}
.tiny-spark{display:none}

.value-strip{gap:40px;padding:18px 12px;font-size:var(--fs-14);color:var(--muted);border-bottom:0}
.value-strip strong{font-size:var(--fs-18);font-weight:700;color:var(--brand);white-space:nowrap}
.value-strip a{display:flex;align-items:center;gap:8px;color:var(--brand);font-weight:600}
.value-strip .icon{width:18px;height:18px;color:var(--brand)}

/* --- Categories : une rangee, plus un second titre qui concurrence l'accroche --- */
.category-selector{margin-top:8px;padding:28px 0 8px;background:none;border:0;border-radius:0}
.category-selector-header{align-items:flex-end}
.category-selector-header h2{font-size:var(--fs-22);font-weight:700;letter-spacing:-.02em}
.category-intro{font-size:var(--fs-14);color:var(--muted);margin-top:4px}
.category-browse-button{font-size:var(--fs-14);background:var(--paper);border-color:var(--line-strong)}
.category-selector .category-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.category-selector .category-item{min-height:48px;padding:10px 18px 10px 14px;gap:10px;border:1px solid var(--line);border-radius:999px;white-space:nowrap;
  background:var(--paper);color:var(--ink);font-size:var(--fs-14);font-weight:600;line-height:1.3}
.category-selector .category-item .icon{width:22px;height:22px;color:var(--ink)}
.category-selector .category-item:hover:not(.selected){background:var(--surface);border-color:var(--line-strong)}
.category-selector .category-item.selected,.category-selector .category-item.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.category-selector .category-item.selected .icon,.category-selector .category-item.is-active .icon{color:#fff}
.category-selector .drone-category:not(.selected){border-color:var(--line);background:var(--paper);color:var(--ink)}
.category-selection-line{font-size:var(--fs-14);color:var(--muted)}
.category-selector .category-selection-summary>span,.category-selector .category-item>span,.filter-main .filter-button{font-size:var(--fs-14)}
.category-selection-summary{font-weight:600;color:var(--ink)}
#categorySelectionStatus,#clearCategorySelection{font-size:var(--fs-14);font-weight:600;color:var(--ink)}
.category-selector .filter-button,.advanced-toggle,details.advanced-filters>summary{border-color:var(--line-strong);color:var(--ink)}
.category-selector .filter-button,.filter-button,.filter-select{font-size:var(--fs-14);min-height:44px;padding:0 14px;border-color:var(--line-strong);background:var(--paper);border-radius:var(--radius-sm)}

/* --- Annonces --- */
.listings-section{padding-top:40px}
.listings-heading h2{font-size:var(--fs-28);font-weight:700;letter-spacing:-.025em}
.segmented{background:var(--surface);border-radius:var(--radius-pill);padding:4px}
.segmented a,.segmented button{font-size:var(--fs-14);padding:10px 18px;color:var(--muted);border-radius:var(--radius-pill)}
.segmented .is-active,.segmented>a.is-active{color:var(--ink);font-weight:600;background:var(--paper);box-shadow:0 2px 6px #2a1c0e14}
.result-count,.sort-label,.sort-label label{font-size:var(--fs-14);color:var(--muted)}
.sort-label select{font-size:var(--fs-14);color:var(--ink);font-weight:600}
.filter-chip,.reset-chip{font-size:var(--fs-14)}
.filter-chip{background:var(--brand-tint);border-color:var(--line)}

.organic-heading h3{font-size:var(--fs-18);font-weight:700}
.organic-heading>span{font-size:var(--fs-12);font-weight:600;color:var(--brand);background:var(--brand-tint);border:0}

/* Cartes */
.product-grid{gap:32px 20px}
.product-picture{border-radius:var(--radius-sm);background:var(--surface)}
.product-card .product-picture img{border-radius:inherit}
.sale-badge{font-size:var(--fs-12);font-weight:600;padding:6px 11px;border-radius:var(--radius-pill);color:var(--ink);background:#fffffff2;box-shadow:0 2px 8px #2a1c0e1a}
.sale-badge .icon{width:13px;height:13px}
.sale-badge.auction{color:#fff;background:#15120fe6}
.product-info{padding-top:12px}
.product-info h3{font-size:var(--fs-16);font-weight:600;line-height:1.4;letter-spacing:-.015em}
.product-meta{font-size:var(--fs-14);color:var(--muted);margin-top:4px}
.product-meta .icon{width:15px;height:15px}
.product-price-row{margin-top:10px}
.product-price{font-size:var(--fs-22);font-weight:800;letter-spacing:-.035em;color:var(--ink)}
.currency{font-size:var(--fs-12);font-weight:600;color:var(--muted)}
.product-side{font-size:var(--fs-14);color:var(--muted)}
.product-side.auction,.product-side:has(time){color:var(--auction)}
.product-bottom{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.product-bottom>span{white-space:nowrap;font-variant-numeric:tabular-nums}
.product-ends{gap:6px}
.product-ends .icon{width:14px;height:14px;flex:0 0 auto}
.product-buynow strong{font-weight:600;color:var(--ink);white-space:nowrap}

.load-more-wrap,.pagination{font-size:var(--fs-14)}
.load-more-wrap .button{font-size:var(--fs-14)}

.empty-state{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:56px 24px;margin:24px 0 0}
.empty-state h3{font-size:var(--fs-22);font-weight:700}
.empty-state p{font-size:var(--fs-16);color:var(--muted);max-width:32em;margin:0 auto 24px;line-height:1.6}

/* Restes hors echelle reperes a la mesure */
.sort-label .text-link{font-size:var(--fs-14)}
.product-side time{font-size:var(--fs-14)}
.pagination,.pagination .button{font-size:var(--fs-14)}
.advanced-panel h3,.advanced-panel-header h3{font-size:var(--fs-18);font-weight:700}
.advanced-category-choice,.advanced-category-choice>span,.field label,.field>label,.shipping-choice{font-size:var(--fs-14)}
.advanced-actions .button{font-size:var(--fs-14)}

/* Le contenu ne touche plus le pied de page, quelle que soit la page. */
#main{padding-bottom:48px}

/* --- Pied de page ---
   Trois colonnes : la marque, les pages, et l'inscription aux nouveautes. Le fond reste le
   creme de la page : c'est le filet du haut qui marque la separation. */
footer,.footer{background:var(--canvas);border-top:1px solid var(--line)}
.footer-brand{font-size:26px}
.footer-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:start;min-height:0;padding:52px 0 44px}
.footer-identity>p{margin-top:16px;font-size:var(--fs-14);line-height:1.6;color:var(--muted);max-width:26em}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-column h2,.footer-news h2{font-size:var(--fs-12);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.footer-column a{font-size:var(--fs-14);font-weight:500;color:var(--text)}
.footer-news h2{margin-bottom:16px}
.footer-news-form{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-pill);max-width:420px}
.footer-news-form input[type=email]{flex:1;min-width:0;height:40px;padding:0 12px;border:0;background:none;font-size:var(--fs-14);color:var(--ink)}
.footer-news-form input[type=email]::placeholder{color:var(--muted)}
.footer-news-form input[type=email]:focus-visible{outline:none}
.footer-news-form:focus-within{border-color:var(--line-strong)}
.footer-news-form .button{min-height:40px;padding:0 20px;flex-shrink:0}
.footer-links{flex-wrap:wrap;gap:8px 24px}
.footer-links a,.footer-links button{font-size:var(--fs-14);color:var(--text)}
/* Derniere ligne : copyright a gauche, pages legales a droite ; l'une passe sous l'autre
   quand la place manque. */
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;min-height:0;padding:14px 0;border-top:1px solid var(--line)}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;border:0}
.footer-legal a{font-size:var(--fs-14);color:var(--muted)}
.footer-bottom,.footer-bottom button{font-size:var(--fs-14);color:var(--muted)}
.footer-links a:hover,.footer-legal a:hover{color:var(--brand);text-decoration:underline}

@media(max-width:900px){
 .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:40px 0 32px}
 .footer-news{grid-column:1/-1}
}
@media(max-width:650px){
 .footer-top{grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 0 24px}
}

/* --- Tablette --- */
@media(max-width:900px){
  .hero-copy{padding:36px 28px}
  .value-strip{gap:24px}
}

/* --- Mobile : les tailles restent sur l'echelle, jamais sous 12px --- */
@media(max-width:650px){
  .container{width:calc(100% - 32px)}
  .brand{font-size:22px}
  .header-inner{min-height:0;padding:8px 0 9px}
  .footer-top{padding:16px 0 10px}
  .footer-bottom{padding-bottom:75px;flex-direction:column;align-items:flex-start}
  .footer-legal{gap:6px 18px}
  .hero{margin-top:16px;min-height:0;display:block}
  .hero .hero-visual{display:none}
  .hero-copy{padding:28px 20px 24px}
  .hero-buttons .button{font-size:var(--fs-14)}
  .hero h1{letter-spacing:-.03em}
  .hero p{font-size:var(--fs-16)}
  .hero-buttons .button{flex:1 1 auto}
  .value-strip{justify-content:space-between;gap:12px;padding:14px 0;font-size:var(--fs-14)}
  .value-strip>span:nth-child(2){display:none}
  .value-strip strong{font-size:var(--fs-16);white-space:nowrap}
  .value-strip>span,.value-strip>a{gap:6px}
  .category-selector-header h2{font-size:var(--fs-18)}
  .category-intro{display:none}
  .category-selector .category-strip{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:6px;margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity;scroll-padding-inline:16px;scrollbar-width:none}
  .category-selector .category-item{flex:0 0 auto;min-height:48px;padding:10px 14px;scroll-snap-align:start}
  .listings-heading h2{font-size:var(--fs-22)}
  .segmented a,.segmented button{font-size:var(--fs-14);padding:10px 12px}
  .product-info h3{font-size:var(--fs-14)}
  .product-meta,.product-side,.product-bottom{font-size:var(--fs-12)}
  /* Le nombre d'offres reste a droite du prix ; il ne passe dessous que faute de place. */
  .product-price-row{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 6px}
  .product-side{white-space:nowrap}
  .product-bottom{gap:2px;margin-top:6px;padding-top:6px}
  .product-bottom>span:last-child{display:flex}
  .product-ends{gap:4px}
  .product-ends .icon{width:12px;height:12px}
  .product-price{font-size:var(--fs-18)}
  .organic-heading>span{font-size:var(--fs-12)}
  .footer-links a,.footer-legal a{font-size:var(--fs-14)}
  .mobile-nav a,.mobile-nav span,.mobile-sell>span:last-child{font-size:var(--fs-12)}
  .mobile-nav a{text-align:center;line-height:1.2}
  .mobile-nav .mobile-sell>span:last-child{white-space:normal;max-width:none}
  .mobile-nav{padding-inline:0;background:#f7f3eaf2;border-top-color:var(--line)}
/* Cinq cases egales : sans min-width, un libelle trop long elargit sa colonne et deborde
   sur la voisine. Il se coupe desormais au lieu de pousser. */
.mobile-nav>a{min-width:0}
.mobile-nav>a>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav>a{padding-inline:0}
  .mobile-nav .mobile-sell-icon{display:grid;place-items:center;width:40px;height:40px;padding:0;margin-top:-14px}
  .product-side time,.pagination .button{font-size:var(--fs-14)}
  .product-side time{font-size:var(--fs-12)}
}

/* --- Pages d'erreur (autonomes, sans en-tete ni base) --- */
.error-body{min-height:100vh;display:grid;place-items:center;background:var(--canvas);padding:32px 16px}
.error-page{width:min(560px,100%);text-align:center;padding:0}
.error-page .brand{justify-content:center;margin-bottom:40px}
.error-code{margin:0;font-family:var(--font-display);font-size:4.5rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--brand)}
.error-page h1{margin:12px 0 0;font-size:var(--fs-28)}
.error-text{margin:12px auto 0;max-width:42ch;font-size:var(--fs-16);color:var(--muted);line-height:1.6}
.error-search{margin:28px auto 0;max-width:460px;text-align:left}
.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}

/* --- Pages de resultats (recherche, categorie, achat direct, encheres) --- */
.results-intro{margin:8px 0 0;padding:0}
.results-intro h1{font-size:var(--fs-28);line-height:1.15}
.results-intro p{margin-top:8px;font-size:var(--fs-16);color:var(--muted);max-width:60ch}
.category-selector.is-compact{padding-top:16px}
.category-selector.is-compact .category-selector-header{display:none}
.category-selector.is-compact .category-strip{margin-top:0}
/* La selection est deja rappelee par les filtres actifs, juste au-dessus des resultats. */
.category-selector.is-compact .category-selection-line{display:none}
.filter-bar .filter-main{flex:1}
.filter-bar{flex-wrap:wrap;gap:12px 16px}
.filter-bar>.segmented{flex-shrink:0}
.listings-section{padding-bottom:56px}
@media(max-width:650px){
  .filter-bar>.segmented{width:100%}
  .results-intro h1{font-size:var(--fs-22)}
  .listings-section{padding-top:24px}
  .filter-bar>.segmented a{flex:1;justify-content:center}
}

/* --- Fiche annonce : photo, colonne d'achat, puis description (ordre du mobile) --- */
.listing-page .listing-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"media info" "body info";gap:32px 48px;align-items:start}
.listing-media{grid-area:media}
.listing-info{grid-area:info}
.listing-body{grid-area:body}
.listing-body>*+*{margin-top:32px}
.listing-head .product-meta{font-size:var(--fs-14)}
.listing-info h1{font-size:var(--fs-28);line-height:1.15;margin:6px 0 10px}
.buy-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:20px}
.buy-box .detail-label{margin-top:0;font-size:var(--fs-14)}
.listing-info .buy-box .detail-price{margin:2px 0 14px;font-size:2.5rem}
.countdown-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--auction-bg);color:var(--auction);font-size:var(--fs-14)}
.countdown-line strong{font-variant-numeric:tabular-nums;font-weight:700}
.countdown-line .icon{width:18px;height:18px}
.detail-end{margin:8px 0 0;font-size:var(--fs-12);color:var(--muted)}
.buy-box .detail-rows{margin:16px 0 20px;border-top:1px solid var(--line);font-size:var(--fs-14)}
.buy-box .detail-row{padding:11px 0}
.buy-box .detail-row:last-child{border-bottom:0}
.buy-box .payment-note{margin:14px 0 0;font-size:var(--fs-12);color:var(--muted);line-height:1.55}
.buy-box .bid-form .field{margin-bottom:12px}
.seller-card{margin-top:16px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.listing-info .seller-card .seller{margin:0 0 10px}
.seller-card>.field-note{margin:0;font-size:var(--fs-12);color:var(--muted)}
.listing-links{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin-top:16px}
.listing-links>.text-link .icon{transform:rotate(180deg)}
.favorite-inline .text-link{display:inline-flex;align-items:center;gap:6px;padding:10px 0}
.favorite-inline .icon{width:18px;height:18px}
.favorite-inline .is-favorite .icon{fill:currentColor}
.listing-links .report-block{margin:0}
.listing-links .report-block[open]{flex-basis:100%}
.listing-links .report-block>summary{padding:10px 0;color:var(--muted);font-weight:400}
@media(max-width:900px){
  .listing-page .listing-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"media" "info" "body";gap:24px}
  .listing-info h1{font-size:var(--fs-22)}
  .buy-box{padding:18px}
}

/* --- Formulaires --- */
.field{font-size:var(--fs-14);gap:8px}
.field>label,.field>span:first-child{font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{font-size:var(--fs-16);min-height:48px;border-color:var(--line-strong);border-radius:var(--radius-sm)}
.field textarea{min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:3px solid var(--brand-tint);outline-offset:0}
.field small,.field .field-note{font-size:var(--fs-12);color:var(--muted)}
/* Mot de passe en clair, avec un œil pour le masquer (password.js). Sans JavaScript, pas d'œil. */
.password-field{position:relative}
.password-toggle{display:none}
.has-js .password-field input{padding-right:52px}
.has-js .password-toggle{position:absolute;top:0;right:0;bottom:0;width:48px;display:grid;place-items:center;color:var(--muted);border-radius:var(--radius-sm)}
.password-toggle:hover{color:var(--ink)}
.password-toggle:focus-visible{outline:3px solid var(--brand-tint);outline-offset:-3px}
.password-toggle .icon{width:20px;height:20px;color:currentColor}
.password-toggle .eye-on,.password-toggle .eye-off{display:grid}
.password-field.is-masked .eye-on,.password-field:not(.is-masked) .eye-off{display:none}
.form-card>.field+.field,.form-card>.field+.checkbox-line,.form-card>.form-grid+.field-note,.form-card>.field-note{margin-top:16px}
.checkbox-line{display:flex;align-items:center;gap:10px;min-height:44px;font-size:var(--fs-14);cursor:pointer}
.checkbox-line input,.check-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--brand)}
/* Les liens restent dans la phrase : sans cela, v7.css en fait des blocs et la phrase se brise en cinq lignes. */
.checkbox-line .text-link{display:inline;padding:0}
/* Envoi de photos : le bouton natif du navigateur prend l'apparence du site. */
.upload-field input[type=file]{padding:10px;min-height:56px;border:1px dashed var(--line-strong);background:var(--surface);font-size:var(--fs-14);color:var(--muted);cursor:pointer}
.upload-field input[type=file]::file-selector-button{margin-right:12px;padding:9px 16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);font:600 var(--fs-14)/1.2 var(--font-body);cursor:pointer}
.upload-field input[type=file]:hover::file-selector-button{background:var(--surface-hover)}
/* Connexion, inscription : l'en-tete s'aligne sur la carte du formulaire. */
.page-intro:has(+ .auth-card){max-width:460px;margin-inline:auto;text-align:center}
.auth-card .form-actions .button{width:100%;justify-content:center}
.page-intro:has(+ .auth-card) .eyebrow{justify-content:center}
/* Mot de passe oublie : l'ecran qui remplace le formulaire une fois le lien demande. */
.reset-sent{text-align:center}
.reset-sent-icon{display:inline-grid;place-items:center;width:64px;height:64px;margin-bottom:14px;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 0 0 8px var(--brand-tint)}
.reset-sent-icon .icon{width:30px;height:30px}
.reset-sent h2{font-size:var(--fs-22);margin-bottom:10px}
.reset-sent>p{color:var(--text)}
.reset-sent .form-actions{flex-direction:column;align-items:center}

.alvado-notice.is-warning{background:var(--auction-bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-size:var(--fs-14);color:var(--ink)}
.alvado-notice ul{margin:8px 0 0;padding-left:20px}

/* Offres payantes pas encore ouvertes */
.plan-card{position:relative}
.soon-badge{position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-size:var(--fs-12);font-weight:600}

/* --- Aide : questions depliables, textes juridiques --- */
.help-page{max-width:820px;margin-top:8px}
.help-section+.help-section{margin-top:40px}
.help-section h2{font-size:var(--fs-22);margin:0 0 12px}
.faq{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper)}
.faq+.faq{margin-top:8px}
.faq>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 18px;cursor:pointer;list-style:none;font-weight:600;color:var(--ink);font-size:var(--fs-16)}
.faq>summary::-webkit-details-marker{display:none}
.faq>summary::after{content:"+";flex-shrink:0;font-size:1.4rem;line-height:1;color:var(--brand);font-weight:400}
.faq[open]>summary::after{content:"\2212"}
.faq>summary:hover{background:var(--surface)}
.faq>p{margin:0;padding:0 18px 14px;color:var(--text);line-height:1.7;font-size:var(--fs-16)}
.faq>p+p{padding-top:0}
.help-contact{margin-bottom:48px}
.legal-text ul{padding-left:22px;margin:10px 0}
.legal-text li+li{margin-top:6px}
.legal-identity{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin:10px 0 0}
.legal-identity dt{color:var(--muted)}
.legal-identity dd{margin:0}

/* Deconnexion, en fin d'onglets de « Mon espace » (la barre du haut a disparu) */
.tab-row{align-items:center}
.tab-logout{margin-left:auto}
.tab-logout button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 4px;font-size:var(--fs-14);color:var(--muted);cursor:pointer}
.tab-logout button:hover{color:var(--ink)}
.tab-logout .icon{width:16px;height:16px}

/* --- Actions en ligne : espacees, et assez hautes pour le doigt --- */
.data-row-actions{gap:4px 20px}
.data-row-actions .text-link,.data-row-actions button{min-height:40px;padding:8px 0}
.admin-actions{gap:4px 18px;align-items:center}
.admin-actions .text-link{min-height:40px;padding:8px 0}
.sort-label select{min-height:40px}
.advanced-panel input[type=checkbox],.advanced-panel input[type=radio],.advanced-category-choice input{width:20px;height:20px;accent-color:var(--brand)}

/* --- Messagerie --- */
.messages-nav{position:relative}
.tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:var(--fs-12);font-weight:700}
.tab-row .is-active .tab-count{background:#fff;color:var(--brand)}
.conversation-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.conversation-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--text)}
.conversation-row:hover{border-color:var(--line-strong);background:var(--surface)}
.conversation-row img{width:72px;height:56px;object-fit:cover;border-radius:8px;background:var(--surface);flex-shrink:0}
.conversation-main{display:grid;gap:2px;min-width:0;flex:1}
.conversation-top{display:flex;align-items:baseline;gap:8px;min-width:0}
.conversation-top strong{color:var(--ink)}
.conversation-role{font-size:var(--fs-12);color:var(--muted)}
.conversation-top time{margin-left:auto;font-size:var(--fs-12);color:var(--muted);white-space:nowrap}
.conversation-title{font-size:var(--fs-14);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conversation-excerpt{font-size:var(--fs-14);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conversation-row.is-unread{border-color:var(--brand-soft);background:var(--brand-tint)}
.conversation-row.is-unread .conversation-excerpt{font-weight:600;color:var(--ink)}
.unread-badge{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--brand);color:#fff;font-size:var(--fs-12);font-weight:700;flex-shrink:0}
.conversation-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;margin-top:12px}
.conversation-aside{display:grid;gap:14px;position:sticky;top:16px}
.conversation-listing{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.conversation-listing img{width:84px;height:68px;object-fit:cover;border-radius:8px;background:var(--surface);flex-shrink:0}
.conversation-listing h1{font-size:var(--fs-16);line-height:1.35;margin:0}
.conversation-listing h1 a{color:var(--ink)}
.conversation-listing strong{color:var(--ink)}
.conversation-price{margin:4px 0 0;font-size:var(--fs-14);color:var(--muted)}
.conversation-party{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.conversation-party small{display:block;color:var(--muted);font-size:var(--fs-12)}
.conversation-safety{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);font-size:var(--fs-14);color:var(--text);line-height:1.5}
.conversation-safety .icon{width:20px;height:20px;color:var(--brand);flex-shrink:0;margin-top:1px}
.block-form .text-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:400;padding:6px 0}
.block-form .icon{width:16px;height:16px}
.conversation-thread{min-width:0}
.thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.bubble{max-width:78%;padding:12px 16px;border-radius:16px;border:1px solid var(--line);background:var(--paper)}
.bubble.is-theirs{align-self:flex-start;border-bottom-left-radius:4px}
.bubble.is-mine{align-self:flex-end;background:var(--brand-tint);border-color:var(--brand-tint);border-bottom-right-radius:4px}
.bubble.is-reported{border-color:var(--auction);background:var(--auction-bg)}
.bubble-body{margin:0;font-size:var(--fs-16);line-height:1.55;color:var(--ink);overflow-wrap:anywhere}
.bubble-hidden{margin:0;font-style:italic;color:var(--muted);font-size:var(--fs-14)}
.bubble-warning{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:8px 10px;border-radius:8px;background:var(--auction-bg);color:var(--auction);font-size:var(--fs-14);line-height:1.45}
.bubble-warning .icon{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.bubble-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;font-size:var(--fs-12);color:var(--muted)}
.report-inline>summary{cursor:pointer;list-style:none;color:var(--muted);text-decoration:underline}
.report-inline>summary::-webkit-details-marker{display:none}
.report-inline form{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.report-inline select{min-height:40px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;font-size:var(--fs-14);background:var(--paper)}
.thread-empty{margin:8px 0}
.compose{display:flex;gap:10px;align-items:flex-end;margin-top:20px;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper)}
.compose textarea{flex:1;min-height:56px;max-height:240px;resize:vertical;border:0;font:inherit;font-size:var(--fs-16);color:var(--ink);background:transparent;padding:6px}
.compose textarea:focus{outline:none}
.compose:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.compose .button{flex-shrink:0}
.contact-seller-button{margin-top:10px}
.contact-seller-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:16px}
.contact-seller-layout .conversation-listing{margin-bottom:16px}
.bubble.is-event{align-self:center;max-width:92%;text-align:center;background:var(--surface);border-style:dashed}
.bubble.is-event.is-open{border-style:solid;border-color:var(--brand);background:var(--paper)}
.bubble.is-event .bubble-meta{justify-content:center}
.event-text{display:flex;gap:8px;align-items:center;justify-content:center;margin:0;font-size:var(--fs-16);font-weight:600;color:var(--ink)}
.event-text .icon{width:18px;height:18px;color:var(--brand);flex-shrink:0}
.event-deadline{margin:6px 0 0;font-size:var(--fs-14);color:var(--muted)}
.event-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:center;margin-top:12px}
.event-actions form{margin:0}
.counter-form summary{list-style:none;cursor:pointer}
.counter-form summary::-webkit-details-marker{display:none}
.counter-form[open] summary{display:none}
.counter-form form{display:flex;gap:8px;align-items:center}
.counter-form .input-prefix{max-width:150px}
.input-prefix{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);overflow:hidden}
.input-prefix span{display:flex;align-items:center;padding:0 12px;background:var(--surface);color:var(--muted);font-weight:600;font-size:var(--fs-14);border-right:1px solid var(--line)}
.input-prefix input{flex:1;min-width:0;border:0;border-radius:0;box-shadow:none}
.input-prefix:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.offer-amount .input-prefix{max-width:240px}
.contact-seller-tips{display:grid;gap:14px;padding:20px;border-radius:var(--radius);background:var(--surface)}
.contact-seller-tips h2{font-size:var(--fs-18);margin:0}
.contact-seller-tips ul{margin:0;padding-left:20px;display:grid;gap:6px;font-size:var(--fs-14)}
.admin-card{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.admin-card+.admin-card{margin-top:12px}
.admin-thread{margin:12px 0}
nav.admin-filtres{display:flex;gap:8px;margin:12px 0 16px}
nav.admin-filtres a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:var(--fs-14)}
nav.admin-filtres a.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
@media(max-width:900px){
  .conversation-layout,.contact-seller-layout{grid-template-columns:minmax(0,1fr)}
  .conversation-aside{position:static}
  /* Sur telephone : l'annonce, puis les messages tout de suite ; le reste apres. */
  .conversation-layout>.conversation-aside{display:contents}
  .conversation-listing{order:0}
  .conversation-thread{order:1}
  .conversation-party,.conversation-safety,.block-form{order:2}
  .bubble{max-width:90%}
}

/* Pagination de l'administration (vue Laravel HTML simple) */
nav>.pagination{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:24px 0}
.pagination .page-item>*{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:var(--fs-14);color:var(--text)}
.pagination .page-item.active>*{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.pagination .page-item.disabled>*{color:var(--muted);opacity:.6}
.pagination .page-item>a:hover{background:var(--surface)}

/* Enchere : bouton au palier suivant, prix maximum, fenetre de confirmation */
.has-js .nojs-only{display:none!important}
.bid-actions{display:grid;gap:10px;margin:18px 0}
.bid-actions .bid-form{margin:0}
.bid-actions .bid-standing{margin:0 0 4px}
.bid-max>summary{list-style:none;cursor:pointer}
.bid-max>summary::-webkit-details-marker{display:none}
.bid-max[open]>summary{margin-bottom:12px}
.bid-sheet{width:min(520px,calc(100% - 32px));max-width:none;background:var(--paper)}
.bid-sheet-form{display:grid;gap:22px;padding:30px 28px 26px}
.bid-sheet-close{position:absolute;top:8px;right:8px}
.bid-sheet-close button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink)}
.bid-sheet-close button:hover{background:var(--surface-hover)}
.bid-sheet header{text-align:center;padding:0 30px}
.bid-sheet h2{font-size:var(--fs-22);line-height:1.25;margin-bottom:8px}
.bid-sheet header p{color:var(--muted);font-size:var(--fs-14);line-height:1.55}
.bid-sheet .field{margin:0}
/* Remise : retrait ou envoi, selon ce que le vendeur propose */
.delivery-choice{min-width:0;margin:0;padding:0;border:0}
.delivery-choice legend{padding:0;margin-bottom:6px;color:var(--muted);font-size:var(--fs-14)}
.delivery-choice-single{margin:0;color:var(--ink);font-weight:500}
.delivery-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto 22px;align-items:center;gap:14px;min-height:60px;padding:10px 4px;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer}
.delivery-option input{position:absolute;width:1px;height:1px;opacity:0}
.delivery-option-text{display:grid;gap:2px}
.delivery-option-text strong{font-weight:500}
.delivery-option-text small{color:var(--muted);font-size:var(--fs-14)}
.delivery-option-fee{font-weight:600;font-variant-numeric:tabular-nums}
.delivery-option-check{visibility:hidden;color:var(--brand)}
.delivery-option:has(input:checked) .delivery-option-check{visibility:visible}
.delivery-option:has(input:checked) .delivery-option-text strong{font-weight:650}
.delivery-option:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:2px;border-radius:8px}
.bid-form .delivery-choice{margin-bottom:12px}
.bid-sheet-recap{display:grid;gap:8px;margin:0;padding:16px 20px;border-radius:var(--radius-sm);background:var(--auction-bg);color:var(--ink)}
.bid-sheet-recap>div{display:flex;justify-content:space-between;gap:16px}
.bid-sheet-recap dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.bid-sheet-recap .is-total{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-weight:600}
.bid-sheet-recap .is-total dd{font-size:var(--fs-18)}
.bid-sheet-actions{display:grid;gap:10px}
.bid-sheet-actions .button{min-height:50px;font-size:var(--fs-16)}
@media(max-width:650px){
  /* Sur telephone : un volet qui monte du bas, boutons a portee du pouce. */
  .bid-sheet{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:18px 18px 0 0}
  .bid-sheet-form{padding:28px 16px calc(18px + env(safe-area-inset-bottom))}
  .bid-sheet header{padding:0 28px}
}
/* Formulaire de vente : cases retrait / envoi, alignees sur les autres champs */
fieldset.delivery-options{min-width:0;margin:0;padding:0;border:0}
fieldset.delivery-options legend{padding:0;margin-bottom:6px;font-size:var(--fs-14);font-weight:600;color:var(--ink)}
fieldset.delivery-options .checkbox-line{margin:0;min-height:40px}
/* Prix maximum : champ par paliers, entre deux boutons − / + */
.bid-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px}
.bid-stepper input{text-align:center;font-size:var(--fs-18);font-weight:600;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.bid-stepper input::-webkit-inner-spin-button,.bid-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.bid-stepper-button{display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}
.bid-stepper-button:hover:not(:disabled){background:var(--surface-hover)}
/* Sous-types (3e niveau) : pastilles sous le titre d'un type, flèche dans les filtres avancés */
.subtype-nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
.subtype-chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:100px;background:var(--paper);font-size:var(--fs-14);color:var(--ink)}
.subtype-chip:hover{background:var(--surface-hover)}
.subtype-chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.subcategory-check.is-child{margin-left:10px}

/* ==========================================================================
   Accueil : la maquette d'octobre
   En-tete reduit a deux liens, hero avec la recherche au centre et la carte
   vendeur a droite, categories en tuiles, cartes sur cinq colonnes.
   ========================================================================== */

/* --- En-tete --- */
.header-nav{display:flex;align-items:center;gap:30px;font-size:var(--fs-16);font-weight:500;color:var(--ink);white-space:nowrap}
.header-nav a{padding:6px 0;border-bottom:2px solid transparent}
.header-nav a:hover{color:var(--brand);border-bottom-color:var(--brand)}
.header.is-home .header-inner{gap:34px}
.header.is-home .header-nav{margin-right:auto}
.header-inner .sell-top{white-space:nowrap;min-height:40px;padding-block:9px}
/* Tablette (651 a 980 px) : sur une seule ligne, la recherche tombait a une loupe et le
   choix de langue sortait de l'ecran. Elle passe dessous, sur toute la largeur, comme
   sur mobile. */
@media(min-width:651px) and (max-width:980px){
  .header-inner{flex-wrap:wrap;row-gap:8px;padding:10px 0 14px}
  .header .search{order:3;flex-basis:100%}
  .header-actions{margin-left:auto}
  .header.is-home .header-inner{gap:18px;padding:0}
}
/* Sous 760 px, « Categories » ne garde que son icone pour que logo, categories et boutons
   tiennent encore sur la premiere ligne, meme connecte (icone des messages en plus). Le mot
   reste lu par les lecteurs d'ecran. */
@media(min-width:651px) and (max-width:760px){
  .cat-trigger>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .header-inner,.header.is-home .header-inner{column-gap:12px}
}

/* --- Hero de l'accueil --- */
/* Le hero, les tuiles et les bandeaux vivent dans <main class="container"> : leur propre
   .container ne retranche plus de marge, leur contenu s'aligne sur le logo. */
.accueil-hero>.container,.category-tiles-section>.container,.home-steps>.container{width:100%}
.accueil-hero{padding:44px 0 40px}
.accueil-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:center}

/* Le surtitre : une pastille claire, avec le point rouge de la marque. */
.accueil-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:26px;padding:7px 16px 7px 13px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-pill);
  font-size:var(--fs-14);font-weight:500;color:var(--text);letter-spacing:0;text-transform:none}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);flex:0 0 auto}

.accueil-hero-copy h1{font-size:var(--fs-hero);font-weight:800;letter-spacing:-.045em;line-height:.98}
.accueil-hero-copy h1 .hero-highlight{color:var(--brand);display:inline-block}
.accueil-hero-lead{margin-top:20px;font-size:var(--fs-16);line-height:1.6;color:var(--muted);max-width:30em}

/* Le champ de recherche : une carte blanche, le mot cherche et le lieu cote a cote, le
   bouton pose en dessous. */
.search-large{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;
  gap:0 8px;margin-top:30px;padding:10px 10px 14px;height:auto;min-height:0;max-width:640px;
  background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 40px #2a1c0e14}
.search-large:focus-within{border-color:var(--line-strong)}
.search-word{display:flex;align-items:center;gap:13px;flex:1;min-width:0}
.search-large .search-word{padding:12px 8px 12px 14px}
.search-large .search-word>.icon{width:21px;height:21px;color:var(--muted);flex-shrink:0}
.search-large input[type=search]{flex:1;min-width:0;height:auto;border:0;background:none;padding:0;font-size:var(--fs-16);color:var(--ink)}
.search-large input[type=search]::placeholder{color:var(--muted);opacity:1}
.search-place{display:flex;align-items:center;gap:8px;min-width:0;padding:12px 10px;border-left:1px solid var(--line);color:var(--muted)}
.search-place .icon{width:19px;height:19px;flex-shrink:0}
.search-place select{flex:1;min-width:0;border:0;background:none;padding:0;font-size:var(--fs-14);font-weight:500;color:var(--text);cursor:pointer}
.search-large .search-go{grid-column:1;justify-self:start;margin-left:6px;min-height:46px;padding:0 26px;font-size:var(--fs-14)}
.search-large .search-suggestions{top:calc(100% + 10px)}

/* Les trois promesses, sous la recherche. */
.hero-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:22px 0 0;padding:0}
.hero-proof li{display:flex;align-items:center;gap:8px;font-size:var(--fs-14);font-weight:500;color:var(--text)}
.hero-proof .icon{width:17px;height:17px;stroke-width:2.6;color:var(--ink)}

/* --- La carte « exemple de vente » --- */
.sell-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px 30px 26px;box-shadow:0 30px 70px #2a1c0e1f}
.sell-card-eyebrow{font-size:var(--fs-12);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sell-card h2{margin-top:10px;font-size:var(--fs-22);font-weight:700;letter-spacing:-.025em;line-height:1.25}
.sell-card-lines{margin:24px 0 0;display:grid;gap:14px;font-size:var(--fs-14)}
.sell-card-lines>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.sell-card-lines dt{color:var(--muted)}
.sell-card-lines dd{margin:0;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.sell-card-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px dashed var(--line-strong)}
.sell-card-total>span{font-size:var(--fs-14);font-weight:600;color:var(--ink)}
.sell-card-total strong{font-size:var(--fs-28);font-weight:800;letter-spacing:-.03em;color:var(--brand);white-space:nowrap}
.sell-card-note{margin-top:18px;font-size:var(--fs-12);line-height:1.5;color:var(--muted)}

/* --- Categories en tuiles --- */
.category-tiles-section{padding:12px 0 8px}
.category-tiles-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.category-tiles-section h2{font-size:var(--fs-34);font-weight:800;letter-spacing:-.04em}
.category-tiles-all{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-14);font-weight:600;color:var(--ink);white-space:nowrap}
.category-tiles-all .icon{width:16px;height:16px}
.category-tiles-all:hover{color:var(--brand)}
.category-tiles-all .all-short{display:none}
.category-tiles{margin-top:24px;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px}
.category-tile{display:grid;align-content:start;justify-items:start;gap:14px;min-height:104px;padding:16px 14px;text-align:left;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--fs-14);font-weight:500;line-height:1.25;color:var(--ink)}
.category-tile .icon{width:23px;height:23px;color:var(--ink)}
.category-tile:hover{border-color:var(--line-strong);box-shadow:0 10px 24px #2a1c0e12}

/* --- Les annonces : une bande blanche d'un bord a l'autre --- */
body:has(.accueil-hero) .listings-section{background:var(--paper);border-image:conic-gradient(var(--paper) 0 0) fill 0//0 100vmax;
  margin-top:0;padding:48px 0 60px}
.listings-heading{margin-top:58px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.listings-heading h2{font-size:var(--fs-28);font-weight:800;letter-spacing:-.035em}
.listings-heading-text p{margin-top:8px;font-size:var(--fs-14);color:var(--muted)}
body:has(.accueil-hero) .listings-heading{margin-top:0;margin-bottom:28px;align-items:flex-start}
body:has(.accueil-hero) .listings-heading h2{font-size:var(--fs-34);font-weight:800;letter-spacing:-.04em}
body:has(.accueil-hero) .listings-heading .segmented a{padding-block:9px}
body:has(.accueil-hero) .product-info{padding-top:12px}
body:has(.accueil-hero) .product-info h3{min-height:0}
/* Quatre colonnes sur l'accueil : les photos y gagnent, et la carte d'appel tient sur deux. */
.home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}
@media(min-width:1151px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
 .home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* --- La carte d'appel, au milieu des annonces --- */
.home-promo{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;
  padding:40px;background:var(--brand);border-radius:var(--radius);color:#fff}
.home-promo-eyebrow{font-size:var(--fs-12);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffffc4}
.home-promo h3{margin-top:16px;font-size:var(--fs-28);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:#fff}
.home-promo-text{margin-top:14px;font-size:var(--fs-14);line-height:1.6;color:#ffffffdd;max-width:34em}
.home-promo .button.primary{background:#fff;color:var(--brand)}
.home-promo .button.primary:hover{background:var(--brand-tint)}
.home-promo .button.light{background:none;color:#fff;border:1.5px solid #ffffff66}
.home-promo .button.light:hover{background:#ffffff1f}
.home-promo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

/* --- Vendre en trois etapes --- */
.home-steps{padding:72px 0 8px}
.home-steps h2{font-size:var(--fs-34);font-weight:800;letter-spacing:-.04em;line-height:1.05;max-width:14em}
.home-steps-lead{margin-top:14px;font-size:var(--fs-16);color:var(--muted)}
.home-steps-list{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-step{padding:28px 28px 30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.home-step-number{display:block;font-size:var(--fs-28);font-weight:800;letter-spacing:-.04em;color:var(--brand);line-height:1}
.home-step h3{margin-top:22px;font-size:var(--fs-18);font-weight:700;letter-spacing:-.02em}
.home-step p{margin-top:10px;font-size:var(--fs-14);line-height:1.6;color:var(--muted)}

/* --- La Garantie alvado, pas encore ouverte --- */
.home-guarantee{padding:40px 0 16px}
.home-guarantee-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;
  padding:36px 40px;background:var(--night);border-radius:var(--radius);color:#fff}
.home-guarantee-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:var(--radius-sm);background:var(--brand);color:#fff}
.home-guarantee-icon .icon{width:28px;height:28px}
.home-guarantee-badge{display:inline-block;padding:5px 12px;border-radius:var(--radius-pill);background:#ffffff1f;
  font-size:var(--fs-12);font-weight:600;color:#fff}
.home-guarantee h2{margin-top:14px;font-size:var(--fs-28);font-weight:800;letter-spacing:-.04em;line-height:1.1;color:#fff}
.home-guarantee-copy>p:last-child{margin-top:12px;font-size:var(--fs-14);line-height:1.6;color:#ffffffb8;max-width:48em}

/* --- Reprises pour les ecrans etroits --- */
@media(max-width:1250px){
 .accueil-hero-inner{grid-template-columns:minmax(0,1fr) 340px;gap:36px}
 .category-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
 .home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1150px){
 .accueil-hero{padding:36px 0 34px}
 .sell-card{padding:24px}
 .home-promo{padding:32px}
}
@media(max-width:900px){
 .header-actions .header-link{display:none}
 .accueil-hero-inner{grid-template-columns:minmax(0,1fr);gap:36px}
 .sell-card{max-width:none}
 .search-large{max-width:none}
 .category-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-steps-list{grid-template-columns:minmax(0,1fr)}
 .home-guarantee-inner{grid-template-columns:auto minmax(0,1fr);gap:20px 22px;padding:30px}
 .home-guarantee-inner>.button{grid-column:2}
}
@media(max-width:650px){
 .accueil-hero{padding:18px 0 26px}
 .accueil-hero>.container{width:calc(100% - 32px)}
 .accueil-hero-inner{gap:28px}
 .accueil-hero-eyebrow{margin-bottom:18px;padding:6px 13px 6px 11px;font-size:var(--fs-12)}
 .accueil-hero-lead{margin-top:14px}
 /* Le lieu passe sous le mot cherche : cote a cote, il ne reste plus rien a lire. */
 .search-large{grid-template-columns:minmax(0,1fr);margin-top:22px;padding:6px 6px 10px;border-radius:16px}
 .search-large .search-word{padding:10px 6px 10px 12px}
 .search-large .search-word>.icon{width:19px;height:19px}
 .search-place{padding:10px 12px;border-left:0;border-top:1px solid var(--line)}
 .search-large .search-go{margin:4px 0 0 6px;min-height:44px;padding:0 20px}
 .hero-proof{gap:8px 18px;margin-top:18px}
 .hero-proof li{font-size:var(--fs-12)}
 .sell-card{padding:22px;border-radius:18px}
 .sell-card h2{font-size:var(--fs-18)}
 .sell-card-lines{margin-top:18px;gap:11px}
 .sell-card-total strong{font-size:var(--fs-22)}
 .category-tiles-section{padding-top:4px}
 .category-tiles-section h2{font-size:var(--fs-22)}
 .category-tiles-all .all-long{display:none}
 .category-tiles-all .all-short{display:inline}
 .category-tiles{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .category-tile{min-height:92px;padding:12px 10px;gap:10px;font-size:var(--fs-12)}
 .listings-heading{margin-top:40px;flex-direction:column;align-items:flex-start;gap:16px}
 .listings-heading h2{font-size:var(--fs-22)}
 body:has(.accueil-hero) .listings-section{margin-top:0;padding:32px 0 40px}
 body:has(.accueil-hero) .listings-heading{margin-bottom:20px}
 body:has(.accueil-hero) .listings-heading h2{font-size:var(--fs-22)}
 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .home-promo{grid-column:span 2;padding:26px}
 .home-promo h3{font-size:var(--fs-22)}
 .home-promo-actions{margin-top:22px}
 .home-promo-actions .button{flex:1 1 100%}
 body:has(.accueil-hero) .product-picture{aspect-ratio:760/600}
 body:has(.accueil-hero) .product-info{padding-top:8px}
 .home-steps{padding-top:44px}
 .home-steps h2{font-size:var(--fs-22)}
 .home-steps-list{margin-top:24px;gap:12px}
 .home-step{padding:22px}
 .home-guarantee{padding-top:28px}
 .home-guarantee-inner{grid-template-columns:minmax(0,1fr);padding:26px;gap:18px}
 .home-guarantee-inner>.button{grid-column:1;justify-self:start}
 .home-guarantee h2{font-size:var(--fs-22)}
}

/* Cinq colonnes laissent peu de place : le titre tient sur deux lignes, le lieu se coupe
   proprement au lieu de deborder sur la carte voisine. */
.product-info h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.product-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- Le depliant des categories ---
   Sur ordinateur, un panneau sous l'en-tete : les categories a gauche, les rayons de celle
   qu'on survole a droite. Jusqu'a 900 px, un tiroir plein ecran a deux niveaux. L'accueil
   n'en est pas touche : la recherche reste sous le titre. */
[data-hue]{--c-bg:var(--h-blue-bg);--c:var(--h-blue)}
[data-hue=coral]{--c-bg:var(--h-coral-bg);--c:var(--h-coral)}
[data-hue=green]{--c-bg:var(--h-green-bg);--c:var(--h-green)}
[data-hue=violet]{--c-bg:var(--h-violet-bg);--c:var(--h-violet)}
[data-hue=amber]{--c-bg:var(--h-amber-bg);--c:var(--h-amber)}
[data-hue=teal]{--c-bg:var(--h-teal-bg);--c:var(--h-teal)}
[data-hue=pink]{--c-bg:var(--h-pink-bg);--c:var(--h-pink)}

.header-nav a.cat-trigger{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-pill);font-weight:600;color:var(--ink)}
.header-nav a.cat-trigger:hover{border-color:var(--line-strong);box-shadow:0 6px 16px #2a1c0e12}
.cat-trigger .icon{width:18px;height:18px}
.cat-trigger .icon:last-child{width:15px;height:15px;transition:transform .2s}
.header-nav a.cat-trigger[aria-expanded=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.cat-trigger[aria-expanded=true] .icon:last-child{transform:rotate(180deg)}

.cat-menu{position:absolute;top:100%;left:0;right:0}
.cat-menu-scrim{position:absolute;top:0;left:0;right:0;height:100vh;background:rgba(21,18,15,.42)}
.cat-menu-sheet{position:relative;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 20px 20px;box-shadow:0 30px 80px rgba(42,28,14,.22);overflow:hidden}
.cat-menu-top,.cat-menu-foot,.cat-only-drawer{display:none}
.cat-menu-body{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr)}
.cat-menu-left{padding:20px 14px 18px 20px;border-right:1px solid var(--line);background:var(--canvas)}
.cat-filter{display:flex;align-items:center;gap:10px;background:var(--paper);border:1.5px solid var(--line-strong);border-radius:11px;height:44px;padding:0 12px;margin:0 6px 14px 0;color:var(--muted)}
.cat-filter:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.cat-filter .icon{width:18px;height:18px}
.cat-filter input{border:0;outline:0;flex:1;min-width:0;background:none;font-size:var(--fs-14);color:var(--ink)}
.cat-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 6px}
.cat-row{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 9px;border-left:3px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--fs-14);font-weight:600;color:var(--ink);text-decoration:none}
.cat-row:hover{background:var(--surface)}
.cat-row[aria-current=true]{background:var(--brand-tint);color:var(--brand);border-left-color:var(--brand)}
.cat-row-name{flex:1;line-height:1.2}
.cat-row>.icon{width:15px;height:15px;color:var(--line-strong);transform:rotate(-90deg)}
.cat-row[aria-current=true]>.icon{color:var(--brand)}
.is-searching .cat-row[aria-current=true]{background:none;color:var(--ink)}
.is-searching .cat-row[aria-current=true]>.icon{color:var(--line-strong)}
.cat-chip{width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;background:none;color:var(--muted)}
.cat-chip .icon{width:20px;height:20px}
.cat-row:hover .cat-chip{color:var(--ink)}
.cat-row[aria-current=true] .cat-chip{color:var(--brand)}

.cat-menu-right{display:flex;flex-direction:column;min-width:0}
.cat-pane{display:flex;flex-direction:column;flex:1;padding:22px 28px 0}
.cat-pane[hidden]{display:none}
.cat-pane-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.cat-pane-head .cat-chip{width:44px;height:44px;border-radius:var(--radius);background:var(--brand);color:#fff}
.cat-pane-head .cat-chip .icon{width:23px;height:23px}
.cat-pane-head h3{font-size:var(--fs-22);font-weight:800;line-height:1.1;margin:0}
.cat-pane-head small{display:block;color:var(--muted);font-size:var(--fs-12);margin-top:4px}
.cat-see-all{margin-left:auto;display:flex;gap:8px;align-items:center;background:var(--brand);color:#fff;font-weight:700;font-size:var(--fs-14);padding:10px 16px;border-radius:var(--radius-sm);white-space:nowrap;text-decoration:none}
.cat-see-all:hover{background:var(--ink)}
.cat-see-all .icon{width:16px;height:16px}
.cat-types{list-style:none;margin:0;padding:0;columns:3;column-gap:28px;flex:1}
.cat-type{break-inside:avoid;padding-bottom:4px}
.cat-type-row>a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;margin:0 -10px;border-radius:8px;font-weight:600;font-size:var(--fs-14);color:var(--text);text-decoration:none}
.cat-type-row>a:hover{background:var(--surface);color:var(--brand)}
.cat-type-row>a::after{content:"→";opacity:0;color:var(--brand);flex-shrink:0}
.cat-type-row>a:hover::after{opacity:1}
.cat-kids{list-style:none;margin:0 0 0 2px;padding:0 0 6px 12px;border-left:2px solid var(--line)}
.cat-kids a{display:block;font-size:var(--fs-12);color:var(--muted);padding:3px 0;text-decoration:none}
.cat-kids a:hover{color:var(--brand);text-decoration:underline}
.cat-sell-band{margin:18px -28px 0;background:var(--brand);color:#fff;display:flex;align-items:center;gap:16px;padding:12px 28px}
.cat-sell-band p{font-family:var(--font-display);font-weight:700;font-size:var(--fs-14);flex:1;margin:0}
.cat-sell-band p span{display:block;opacity:.8;font-weight:500;font-family:var(--font-body);font-size:var(--fs-14)}
.cat-sell-band a{background:#fff;color:var(--brand);font-weight:700;font-size:var(--fs-14);padding:10px 16px;border-radius:var(--radius-sm);display:flex;gap:6px;align-items:center;white-space:nowrap;text-decoration:none}
.cat-sell-band a:hover{background:var(--brand-tint)}
.cat-sell-band a .icon{width:16px;height:16px}

.cat-results{padding:26px 30px}
.cat-results-title{font-size:var(--fs-12);letter-spacing:.1em;font-weight:700;color:var(--muted);text-transform:uppercase;margin:0 0 8px}
.cat-results-list{list-style:none;margin:0;padding:0}
.cat-results-list a{display:flex;align-items:center;gap:12px;padding:8px 10px;margin:0 -10px;border-radius:var(--radius-sm);text-decoration:none}
.cat-results-list a:hover{background:var(--surface)}
.cat-results-list .cat-chip{width:30px;height:30px;border-radius:8px}
.cat-results-list .cat-chip .icon{width:16px;height:16px}
.cat-results-list b{color:var(--ink);font-weight:600}
.cat-results-list small{display:block;color:var(--muted);font-size:var(--fs-12)}
.cat-results mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 1px}
.cat-results-search{color:var(--brand);font-weight:600}

@media(max-width:1150px){
 .cat-menu-body{grid-template-columns:minmax(0,460px) minmax(0,1fr)}
 .cat-types{columns:2}
 .cat-sell-band p span{display:none}
}

/* Tiroir : un seul niveau a la fois, plein ecran, le bouton de vente en pied. */
@media(max-width:900px){
 .header-nav{display:flex}
 .header-nav a.cat-trigger{padding:7px 10px}
 html.cat-menu-open{overflow:hidden}
 .cat-menu{position:fixed;inset:0;z-index:40}
 .cat-menu-scrim{display:none}
 .cat-menu-sheet{position:absolute;inset:0;width:auto;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column}
 .cat-only-panel{display:none}
 .cat-only-drawer{display:revert}
 .cat-menu-top{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
 .cat-menu-top h2{flex:1;margin:0;font-size:var(--fs-18);font-weight:800}
 .cat-menu-close{width:38px;height:38px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface);border:0;color:var(--ink)}
 .cat-menu-body{display:block;flex:1;overflow:auto;padding:14px 16px 24px}
 .cat-menu-left{padding:0;border:0;background:none}
 .cat-filter{margin:0 0 14px}
 .cat-filter input{font-size:var(--fs-16)}
 .cat-menu-label{font-size:var(--fs-12);letter-spacing:.1em;font-weight:700;color:var(--muted);text-transform:uppercase;margin:4px 0 8px}
 .cat-quick{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 16px;padding:0 16px 4px;scrollbar-width:none}
 .cat-quick a{display:flex;align-items:center;gap:7px;background:var(--surface);color:var(--ink);font-weight:700;font-size:var(--fs-14);padding:8px 12px 8px 9px;border-radius:999px;white-space:nowrap;text-decoration:none}
 .cat-quick .icon{width:17px;height:17px}
 .cat-list{display:block}
 .cat-list li+li{border-top:1px solid var(--line)}
 .cat-row{padding:9px 2px;font-size:var(--fs-16);border-radius:0}
 .cat-row:hover,.cat-row[aria-current=true]{background:none;color:var(--ink);border-left-color:transparent}
 .cat-row[aria-current=true] .cat-chip{color:var(--muted)}
 .cat-row>.icon{width:18px;height:18px}
 .cat-row[aria-current=true]>.icon{color:var(--line-strong)}
 .cat-menu-right{display:none}
 .cat-menu.is-sub .cat-menu-left{display:none}
 .cat-menu.is-sub .cat-menu-right,.cat-menu.is-searching .cat-menu-right{display:block}
 .cat-menu.is-searching .cat-menu-browse{display:none}
 .cat-pane{padding:0}
 .cat-back{display:flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:var(--brand);font-weight:700;font-size:var(--fs-14);margin-bottom:14px}
 .cat-back .icon{width:16px;height:16px;transform:rotate(90deg)}
 .cat-pane-head{flex-wrap:wrap;gap:12px;margin-bottom:14px}
 .cat-pane-head .cat-chip{width:46px;height:46px}
 .cat-pane-head>div{flex:1}
 .cat-pane-head small{display:none}
 .cat-see-all{margin:0;flex-basis:100%;justify-content:space-between;white-space:normal;text-align:left;padding:13px 14px;font-size:var(--fs-16)}
 .cat-types{columns:1}
 .cat-type{border-bottom:1px solid var(--line);padding:0}
 .cat-type-row{display:flex;align-items:center}
 .cat-type-row>a{flex:1;margin:0;padding:13px 2px;font-size:var(--fs-16);color:var(--ink);border-radius:0}
 .cat-type-row>a:hover{background:none;color:var(--ink)}
 .cat-type-row>a::after{display:none}
 .cat-type-row button{width:40px;height:40px;display:grid;place-items:center;background:none;border:0;color:var(--muted)}
 .cat-type-row button .icon{width:18px;height:18px;transition:transform .2s}
 .cat-type.is-open .cat-type-row button .icon{transform:rotate(180deg)}
 .cat-kids{display:none;margin:0 0 10px 4px}
 .cat-type.is-open .cat-kids{display:block}
 .cat-kids a{font-size:var(--fs-14);padding:7px 0}
 .cat-results{padding:0}
 .cat-menu-foot{display:block;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
 .cat-menu-foot a{display:flex;justify-content:center;gap:8px;align-items:center;background:var(--brand);color:#fff;font-weight:700;padding:13px;border-radius:11px;text-decoration:none}
 .cat-menu-foot .icon{width:17px;height:17px}
}
/* Sous 650 px, l'onglet « Categories » de la barre du bas ouvre le tiroir. */
@media(max-width:650px){
 .header-nav{display:none}
}

/* --- Liste d'attente ------------------------------------------------------
   Une page qui ne vend rien et ne demande qu'une adresse : le formulaire tient
   la gauche, la raison d'y repondre tient la droite, et les deux se superposent
   sur telephone. */
.attente-hero{max-width:720px;margin:10px 0 26px}
.attente-hero h1{font-size:clamp(28px,3.4vw,42px);line-height:1.12;letter-spacing:-1.2px;margin-top:10px}
.attente-lead{margin-top:14px;font-size:var(--fs-16);line-height:1.7;color:var(--muted)}
.attente-grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:start;margin-bottom:34px}
.attente-form{margin:0}
.attente-role{border:0;padding:0;margin:0}
.attente-role legend{font-weight:600;font-size:var(--fs-12);padding:0;margin-bottom:8px}
.attente-choix{display:flex;gap:10px;flex-wrap:wrap}
.attente-option{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:9px;padding:10px 14px;font-size:var(--fs-14);cursor:pointer;background:var(--paper)}
.attente-option:hover{background:var(--mint)}
.attente-option:has(input:checked){border-color:var(--brand);background:var(--mint);font-weight:600}
.attente-option input{accent-color:var(--brand);width:16px;height:16px}
.attente-consent{margin:18px 0 0;font-size:var(--fs-12);line-height:1.65;color:var(--muted)}
.attente-promesses{background:var(--mint);border-radius:var(--radius);padding:24px 26px}
.attente-promesses h2{font-size:var(--fs-18);margin:0 0 16px}
.attente-promesses ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.attente-promesses li{display:flex;gap:11px;align-items:flex-start;font-size:var(--fs-14);line-height:1.55}
.attente-promesses .point-check{flex-shrink:0;margin-top:1px;background:var(--brand);color:#fff;width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.attente-promesses .point-check .icon{width:12px;height:12px;stroke-width:3}
.attente-deja{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:var(--fs-14);color:var(--muted)}
.attente-deja .text-link{display:inline-flex}

@media (max-width:860px){
 .attente-grille{grid-template-columns:1fr;gap:20px}
 .attente-promesses{order:-1;padding:20px}
}

/* --- Sécurité du compte : second facteur et appareils connectés ------------ */
.securite-card{margin-top:18px;max-width:760px}
.securite-etat{display:flex;align-items:center;gap:9px;font-size:var(--fs-14);margin:4px 0 14px}
.securite-etat.is-on{color:#15803d}
.securite-etat .icon{width:17px;height:17px;stroke-width:3}
.securite-codes{background:#fdf6e3;border-left:4px solid #c79a2e;border-radius:12px;padding:14px 18px;margin-top:16px;font-size:var(--fs-14)}
.securite-codes p{margin:6px 0 12px;line-height:1.6}
.securite-codes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.securite-codes code{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;letter-spacing:.06em}
.appareils{list-style:none;margin:6px 0 16px;padding:0;display:grid;gap:12px}
.appareils li{padding-bottom:12px;border-bottom:1px solid var(--line)}
.appareils li:last-child{border-bottom:0;padding-bottom:0}
.appareil-nom{display:block;font-size:var(--fs-14);font-weight:600}
.appareil-ici{margin-left:8px;font-weight:500;font-size:var(--fs-12);background:var(--mint);color:var(--brand);border-radius:20px;padding:2px 9px}
.securite-card .admin-reauth{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.securite-card .admin-reauth label{font-size:var(--fs-12);color:var(--muted)}
.securite-card .admin-reauth input{border:1px solid var(--line-strong);border-radius:8px;padding:8px 12px;font:inherit;font-size:var(--fs-14);min-width:190px}
.securite-card .text-link.is-danger{color:var(--auction)}

/* Mes transactions : coordonnees en attente du vendeur, gestes du vendeur, vente annulee */
.contact-box.is-pending{background:var(--paper);border:1px dashed var(--line)}
.sale-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:12px}
.sale-actions form{margin:0}
.sale-actions .text-link.is-danger{color:var(--auction)}
.sale-cancelled{background:var(--auction-bg);color:var(--auction);border-radius:12px;padding:12px 16px;margin:10px 0 0;font-size:var(--fs-14)}
