/*
Theme Name: Trokaaz
Theme URI: https://trokaaz.re
Description: Thème enfant de ListingHive pour la plateforme d'échange Trokaaz — association Messiah.
Author: Digi-Péi
Author URI: https://digi-pei.re
Template: listinghive
Version: 1.19.0
Text Domain: trokaaz
*/

/* ==========================================================================
   Lot 6.1 — Système de design Trokaaz
   --------------------------------------------------------------------------
   Base : ListingHive 1.2.12 (reference/listinghive/style.less) sur HiveTheme
   (assets/css/frontend.min.css, relevé sur le site) et HivePress 1.7.31
   (assets/css/common.less, frontend.less). Cette feuille charge APRÈS le
   parent (functions.php) : mêmes sélecteurs, mêmes spécificités, pas de
   !important sauf pour contrer un style inline du parent.

   Règles de forme (documentées, spec §2) :
   - rayons : cartes et encarts 16 px, champs 10 px, boutons et badges pleins
     (pilule), pastilles hexagonales par clip-path ;
   - contraste AA : les teintes vives (orange, vert, lagon) portent les fonds,
     les zones de carte et les gros titres ; tout texte courant ou petit
     bouton utilise les jetons « encre » (*-fonce), tous ≥ 5 : 1 sur crème et
     sur blanc. Jamais de blanc sur miel ni sur miel clair.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Jetons
   -------------------------------------------------------------------------- */
:root {
	color-scheme: light;

	/* Palette (spec lot 6 §2). */
	--trokaaz-miel:         #F3BA6B;
	--trokaaz-miel-clair:   #FAEEA6;
	--trokaaz-orange:       #DF602D;
	--trokaaz-vert:         #6B8E4E;
	--trokaaz-lagon:        #4E9BB0;
	--trokaaz-creme:        #FDF6E8;
	--trokaaz-noir:         #111111;

	/* Encres (texte et petits boutons) — contrastes : 5,3 / 5,5 / 5,8 sur blanc. */
	--trokaaz-orange-fonce: #B8461A;
	--trokaaz-vert-fonce:   #557239;
	--trokaaz-lagon-fonce:  #2A6E82;

	/* Dérivés neutres, tous tirés du miel (une seule famille de gris chauds). */
	--trokaaz-blanc:        #FFFFFF;
	--trokaaz-creme-fonce:  #F6E9CC; /* bandeaux, pied de page */
	--trokaaz-bord:         #F0DDB5; /* bordures de cartes */
	--trokaaz-bord-fort:    #E2C58F; /* bordures de champs */
	--trokaaz-texte-doux:   #4A4238; /* texte secondaire : 8,9 : 1 sur crème */
	--trokaaz-gris:         #ECE4D4; /* fonds neutres (épuisé, désactivé) */

	/* Formes. */
	--trokaaz-r-carte:      16px;
	--trokaaz-r-champ:      10px;
	--trokaaz-r-pilule:     999px;
	--trokaaz-ombre:        0 2px 6px rgba(120, 82, 20, 0.10);
	--trokaaz-ombre-haute:  0 10px 24px rgba(120, 82, 20, 0.16);

	/* Typographie. */
	--trokaaz-police-titre: "Baloo 2", "Segoe UI", Arial, sans-serif;
	--trokaaz-police-texte: "Atkinson Hyperlegible", "Segoe UI", Arial, sans-serif;

	/* Mouvement : court, et nul si l'utilisateur le demande (fin de feuille). */
	--trokaaz-transition:   0.2s ease-out;
}

/* --------------------------------------------------------------------------
   2. Polices auto-hébergées (woff2, latin + latin étendu, licence OFL)
   -------------------------------------------------------------------------- */
@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/baloo2-variable-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/baloo2-variable-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/atkinson-400-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/atkinson-400-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/atkinson-400-italic-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/atkinson-400-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/atkinson-700-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Atkinson Hyperlegible";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/atkinson-700-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --------------------------------------------------------------------------
   3. Base : couleurs de page, texte, liens, titres
   --------------------------------------------------------------------------
   HiveTheme pose body { color: rgba(15,23,39,.65) } et h1-h6 { color:
   rgba(15,23,39,.85) } ; ListingHive injecte les familles de polices en
   style inline (theme mods, remplacés dans functions.php).
   -------------------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: 100%;
}

/* Tactile : plus de voile bleu ou orange au toucher (demande client 12/10) ;
   le contour clavier (:focus-visible) reste pour l'accessibilité. */
* {
	-webkit-tap-highlight-color: transparent;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
summary:focus:not(:focus-visible) {
	outline: none;
}

/* Liste des annonces : mention « près de chez vous en premier ». */
.trokaaz-proximite {
	margin: 0 0 0.9rem;
	padding: 0.55rem 0.9rem;
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-champ);
	font-size: 0.92rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-proximite i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.25rem;
}

body {
	background-color: var(--trokaaz-creme);
	color: var(--trokaaz-noir);
	font-family: var(--trokaaz-police-texte);
	line-height: 1.55;
}

h1, h2, h3, h4, h5, h6,
fieldset legend,
.header-logo__name,
.editor-post-title__input {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	color: var(--trokaaz-noir);
	line-height: 1.2;
	letter-spacing: -0.01em;
}

h1 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.6rem); }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.9rem); }
h3 { font-size: 1.3rem; }

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
	color: var(--trokaaz-orange-fonce);
}

a {
	color: var(--trokaaz-lagon-fonce);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

a:hover {
	color: var(--trokaaz-orange-fonce);
}

p:not(:last-child),
ul:not(:last-child),
ol:not(:last-child) {
	margin-bottom: 1rem;
}

.hp-text--secondary,
.hp-meta,
.hp-result-count {
	color: var(--trokaaz-texte-doux);
}

/* Focus visible partout, au clavier comme au doigt (spec §6). */
:focus-visible {
	outline: 3px solid var(--trokaaz-lagon-fonce);
	outline-offset: 2px;
	border-radius: 4px;
}

::selection {
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
}

/* --------------------------------------------------------------------------
   4. Motif alvéolaire (discret, jamais en fond de page chargé)
   -------------------------------------------------------------------------- */
/*
 * Le motif répété en filigrane de la 1.1.0 est abandonné (retour client :
 * « cheap »). À la place, un rayon de miel dessiné (assets/img/alveoles-bord.svg)
 * posé sur le bord droit des bandeaux de titre et du pied de page, en fondu.
 */
.header-hero,
.site-footer {
	position: relative;
	overflow: hidden;
}

.header-hero::after,
.site-footer::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 9rem;
	background: url("assets/img/alveoles-bord.svg?v=3") left top / 100% auto repeat-y; /* ?v= : cache navigateur */
	transform: scaleX(-1);
	opacity: 0.45;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to right, #000 50%, transparent);
	mask-image: linear-gradient(to right, #000 50%, transparent);
}

.header-hero > *,
.site-footer > * {
	position: relative;
	z-index: 1;
}

/*
 * Rayon de miel PLEIN CADRE (assets/img/alveoles-fond.svg, tuile répétable
 * dessinée : cellules en dégradés variés, reflets, opercules). Posé en
 * ::before à 45 % sur la couleur de fond de l'élément ; le contenu direct
 * passe au-dessus. Réglable par élément (opacity, background-size).
 */
.trokaaz-rayon {
	position: relative;
}

.trokaaz-rayon::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: url("assets/img/alveoles-fond.svg?v=1") center top / 520px auto repeat;
	opacity: 0.45;
	pointer-events: none;
}

.trokaaz-rayon > * {
	position: relative;
	z-index: 1;
}

@media only screen and (max-width: 47.99em) {
	.trokaaz-rayon::before {
		background-size: 380px auto;
	}
}

@media only screen and (min-width: 48em) {
	.header-hero::after,
	.site-footer::after {
		width: 14rem;
	}
}

/* Barre décorative des titres de section → petite alvéole miel. */
.title::before,
.content-title::before,
.hp-page__title::before,
.hp-section__title::before,
.footer-widgets .widget__title::before,
.widget--footer .widget__title::before {
	width: 18px;
	height: 20px;
	background-color: var(--trokaaz-miel) !important; /* style inline du parent (theme_styles) */
	background-image: none;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

.title, .content-title, .hp-page__title, .hp-section__title {
	padding-top: 1.5rem;
}

/* Pastille hexagonale générique (profils, piliers, décors). */
.trokaaz-hex {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 4.5rem;
	height: 5rem;
	text-align: center;
	font-family: var(--trokaaz-police-titre);
	font-weight: 600;
	font-size: 0.8rem;
	line-height: 1.1;
	color: var(--trokaaz-noir);
	isolation: isolate;
}

.trokaaz-hex::before,
.trokaaz-hex::after {
	content: "";
	position: absolute;
	inset: 0;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	z-index: -1;
}

.trokaaz-hex::before { background: var(--trokaaz-miel); }
.trokaaz-hex::after  { inset: 3px; background: var(--trokaaz-creme); }
.trokaaz-hex--pleine::after { background: var(--trokaaz-miel-clair); }
.trokaaz-hex--orange::before { background: var(--trokaaz-orange); }
.trokaaz-hex--vert::before   { background: var(--trokaaz-vert); }
.trokaaz-hex--lagon::before  { background: var(--trokaaz-lagon); }

/* --------------------------------------------------------------------------
   5. Boutons
   --------------------------------------------------------------------------
   Principal : encre orange, texte blanc (5,3 : 1). Survol : orange de la
   charte, plus vif. Secondaire : contour orange, texte encre. Neutre : miel
   clair, texte noir. Tous en pilule, hauteur tactile ≥ 44 px.
   -------------------------------------------------------------------------- */
.button,
button:not(.hp-listing__action):not(.hp-vendor__action),
input[type="submit"],
.wp-block-button__link,
.trokaaz-appel__bouton,
.trokaaz-itineraire__principal,
.trokaaz-itineraire__btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-family: var(--trokaaz-police-titre);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	min-height: 2.75rem;
	padding: 0.7rem 1.4rem;
	border-radius: var(--trokaaz-r-pilule);
	border: 2px solid transparent;
	background-image: none;
	transition: background-color var(--trokaaz-transition), color var(--trokaaz-transition), transform var(--trokaaz-transition), box-shadow var(--trokaaz-transition);
}

/*
 * Relief (demande client 2026-09-30) : un bord inférieur plus foncé et une
 * ombre colorée donnent l'épaisseur ; le survol soulève, le clic enfonce.
 */
.button:active,
button:active,
input[type="submit"]:active,
.trokaaz-appel__bouton:active {
	transform: translateY(2px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15) !important;
}

/* Principal. */
.button--primary,
button[type="submit"],
input[type="submit"],
.wp-block-button__link,
.trokaaz-appel__bouton,
.trokaaz-itineraire__principal,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce button[type="submit"],
.woocommerce input[type="submit"] {
	background-color: var(--trokaaz-orange-fonce) !important; /* style inline du parent (primary_color) */
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 55%);
	border-color: var(--trokaaz-orange-fonce);
	color: var(--trokaaz-blanc) !important;
	box-shadow: 0 3px 0 #8A3413, 0 6px 14px rgba(184, 70, 26, 0.28);
}

.button--primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.trokaaz-appel__bouton:hover,
.trokaaz-itineraire__principal:hover,
.woocommerce button[type="submit"]:hover,
.woocommerce input[type="submit"]:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background-color: var(--trokaaz-orange) !important;
	border-color: var(--trokaaz-orange);
	transform: translateY(-1px);
	box-shadow: 0 4px 0 #A8421C, 0 10px 18px rgba(223, 96, 45, 0.32);
}

.button--primary::before,
button[type="submit"]::before,
input[type="submit"]::before {
	display: none; /* voile blanc du parent au survol, inutile ici */
}

/* Secondaire : contour. */
.button--secondary,
.trokaaz-appel__bouton--secondaire,
.trokaaz-itineraire__btn,
.woocommerce a.button--secondary,
.woocommerce button.button--secondary {
	background-color: var(--trokaaz-blanc) !important; /* style inline du parent (secondary_color) */
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(243, 186, 107, 0.16));
	border-color: var(--trokaaz-orange-fonce);
	color: var(--trokaaz-orange-fonce) !important;
	box-shadow: 0 3px 0 var(--trokaaz-orange-fonce), 0 6px 12px rgba(184, 70, 26, 0.14);
}

/*
 * Contour : HivePress cible « .hp-menu--site-header button » (0,1,1), plus
 * précis que « .button--secondary » (0,1,0) ; on relève la spécificité pour
 * que le bouton « Ajouter une annonce » garde son contour.
 */
.trokaaz .button--secondary,
.trokaaz .hp-menu--site-header button.button--secondary,
.trokaaz .trokaaz-appel__bouton--secondaire,
.trokaaz .trokaaz-itineraire__btn {
	border: 2px solid var(--trokaaz-orange-fonce);
}

.button--secondary:hover,
.trokaaz-appel__bouton--secondaire:hover,
.trokaaz-itineraire__btn:hover {
	background-color: var(--trokaaz-miel-clair) !important;
	color: var(--trokaaz-orange-fonce) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 0 var(--trokaaz-orange-fonce), 0 10px 16px rgba(184, 70, 26, 0.18);
}

.button--secondary::before {
	display: none;
}

/* Neutre (bouton par défaut du parent, gris bleuté). */
.button:not(.button--primary):not(.button--secondary),
.woocommerce a.button:not(.alt) {
	background-color: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
}

.button:not(.button--primary):not(.button--secondary):hover {
	background-color: var(--trokaaz-miel);
	color: var(--trokaaz-noir);
}

.button--large {
	font-size: 1.1rem;
	padding: 0.85rem 1.75rem;
}

button[disabled],
input[type="submit"][disabled] {
	opacity: 0.55;
}

/* Rangée d'applications d'itinéraire (lot 3A) : plus compacte. */
.trokaaz-itineraire__rangee .trokaaz-itineraire__btn {
	min-height: 2.4rem;
	padding: 0.45rem 0.6rem;
	font-size: 0.85rem;
}

/* --------------------------------------------------------------------------
   6. Formulaires
   -------------------------------------------------------------------------- */
input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"],
input[type="email"], input[type="month"], input[type="number"], input[type="password"],
input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"],
select, textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection {
	font-family: var(--trokaaz-police-texte);
	font-size: 1rem;
	color: var(--trokaaz-noir);
	background-color: var(--trokaaz-blanc);
	border: 2px solid var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-champ);
	padding: 0.6rem 0.9rem;
	min-height: 2.75rem;
	transition: border-color var(--trokaaz-transition), box-shadow var(--trokaaz-transition);
}

input:focus, select:focus, textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.select2-container--default.select2-container--focus .select2-selection,
.select2-container--default.select2-container--open .select2-selection {
	border-color: var(--trokaaz-lagon-fonce);
	box-shadow: 0 0 0 3px rgba(42, 110, 130, 0.18);
	outline: none;
}

input[disabled], select[disabled], textarea[disabled] {
	background-color: var(--trokaaz-gris);
	color: var(--trokaaz-texte-doux);
}

::placeholder {
	color: #6E6558; /* 5,1 : 1 sur blanc */
	opacity: 1;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--trokaaz-noir);
	line-height: 1.5;
	padding-left: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 0.6rem;
	right: 0.6rem;
}

.select2-container--default .select2-dropdown,
.select2-dropdown {
	border: 2px solid var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-champ);
	box-shadow: var(--trokaaz-ombre-haute);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: var(--trokaaz-miel-clair);
	border: none;
	border-radius: var(--trokaaz-r-pilule);
	color: var(--trokaaz-noir);
	padding: 0.2rem 0.6rem;
}

/* Libellés : lisibles, jamais en capitales minuscules. */
.hp-field__label,
.woocommerce form .form-row label,
.trokaaz-charte-form label,
label {
	font-family: var(--trokaaz-police-texte);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--trokaaz-noir);
	text-transform: none;
	letter-spacing: 0;
}

.hp-field__label small,
.woocommerce form .form-row .optional {
	color: var(--trokaaz-texte-doux);
	font-weight: 400;
}

.woocommerce form .form-row .required {
	color: var(--trokaaz-orange-fonce);
	text-decoration: none;
}

.hp-field__description {
	font-size: 0.9rem;
	color: var(--trokaaz-texte-doux);
	opacity: 1;
}

/* Cases et boutons radio : accent de la charte. */
input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--trokaaz-orange-fonce);
	width: 1.15rem;
	height: 1.15rem;
}

/* Recherche d'annonces (formulaire en barre). */
.hp-form--listing-search,
.hp-form--vendor-search {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: var(--trokaaz-ombre);
}

.hp-form--listing-search .hp-form__field:not(:last-child) {
	border-right-color: var(--trokaaz-bord);
}

.hp-form--listing-search .hp-form__field input,
.hp-form--listing-search .hp-form__field select {
	border: none;
	box-shadow: none;
}

/* Encart de résultat vide (état vide soigné). */
.site-content main > h2:first-child + p:last-child {
	padding: 1rem 1.25rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-left: 4px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-champ);
}

/* --------------------------------------------------------------------------
   7. Messages : alertes, succès, avertissements
   -------------------------------------------------------------------------- */
.hp-form__messages,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.trokaaz-charte-confirmation,
.trokaaz-carte__vide {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-left-width: 5px;
	border-left-color: var(--trokaaz-lagon-fonce);
	border-radius: var(--trokaaz-r-champ);
	padding: 0.9rem 1.2rem;
	color: var(--trokaaz-noir);
	box-shadow: var(--trokaaz-ombre);
}

.hp-form__messages--error,
.woocommerce-error {
	border-left-color: var(--trokaaz-orange-fonce);
}

.hp-form__messages--success,
.woocommerce-message,
.trokaaz-charte-confirmation {
	border-left-color: var(--trokaaz-vert-fonce);
}

.hp-form__messages--warning {
	border-left-color: var(--trokaaz-miel);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	color: inherit;
	top: 0.95rem;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	padding-left: 3rem;
}

/* Notice collante des trocs et de la republication (style inline du plugin :
   on harmonise seulement les couleurs). */
.trokaaz-troc-notice {
	background: var(--trokaaz-miel-clair) !important;
	border-bottom: 3px solid var(--trokaaz-miel) !important;
	font-family: var(--trokaaz-police-titre);
	color: var(--trokaaz-noir);
}

/* --------------------------------------------------------------------------
   8. Cartes, encarts, widgets
   -------------------------------------------------------------------------- */
.hp-listing--view-block,
.hp-vendor--view-block,
.hp-listing-package--view-block,
.hp-review--view-block,
.widget--sidebar,
.widget.hp-menu,
.hp-listing--view-page .hp-listing__attributes--primary,
.hp-vendor--view-page .hp-vendor__attributes--primary,
.hp-vendor__actions--secondary,
.comments > ul > li,
.comment-respond,
.trokaaz-charte-form,
.trokaaz-troc,
.trokaaz-event-carte,
.trokaaz-event-prochain,
.trokaaz-adhesion__tarif,
.trokaaz-mon-adhesion__statut,
.trokaaz-appel,
.trokaaz-badge,
.woocommerce-checkout #payment,
.woocommerce table.shop_table {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: var(--trokaaz-ombre);
}

/* Vignettes : léger relief (bord inférieur plus marqué + ombre teintée), soulevées au survol. */
.hp-listing--view-block,
.hp-vendor--view-block {
	overflow: hidden;
	border-color: var(--trokaaz-bord-fort);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.12);
	transition: transform var(--trokaaz-transition), box-shadow var(--trokaaz-transition);
}

.hp-listing--view-block:hover,
.hp-vendor--view-block:hover {
	transform: translateY(-4px);
	box-shadow: 0 5px 0 var(--trokaaz-bord-fort), 0 18px 30px rgba(184, 70, 26, 0.2);
}

.hp-listing--view-block .hp-listing__image img {
	border-radius: 0;
	background: var(--trokaaz-creme-fonce);
}

/* Photo au format du cadre (4:3) : toutes les vignettes ont la même hauteur,
   la photo remplit le cadre et est recadrée au centre (retour Kevin 13/10). */
.hp-listing--view-block .hp-listing__image {
	overflow: hidden;
}

.hp-listing--view-block .hp-listing__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
}

.hp-listing--view-block .hp-listing__footer,
.hp-vendor--view-block .hp-vendor__footer {
	border-top-color: var(--trokaaz-bord);
	background: var(--trokaaz-creme);
}

.hp-listing--view-block .hp-listing__title {
	font-size: 1.15rem;
}

.hp-listing--view-block .hp-listing__attributes--primary .hp-listing__attribute {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.05rem;
}

/* Catégories et dates : étiquettes lisibles. */
.hp-listing__categories a,
.post__categories a,
.hp-listing-category__item-count,
.category--single .category__count {
	font-size: 0.8rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
	border-radius: var(--trokaaz-r-pilule);
	padding: 0.25rem 0.7rem;
}

.hp-listing__categories a:hover,
.post__categories a:hover {
	background-color: var(--trokaaz-miel) !important; /* style inline du parent (secondary_color) */
	color: var(--trokaaz-noir);
}

.hp-listing__created-date,
.hp-vendor__registered-date,
.hp-review__created-date,
.hp-message__sent-date,
.post__details > *,
.comment__details > * {
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.85rem;
	color: var(--trokaaz-texte-doux);
}

/* Mis en avant (natif) : liseré miel. */
.hp-listing--view-block.hp-listing--featured {
	border-color: var(--trokaaz-miel) !important;
}

.hp-listing--view-block .hp-listing__featured-badge {
	background-color: var(--trokaaz-orange) !important;
	background-image: none;
	border-radius: 0 var(--trokaaz-r-pilule) var(--trokaaz-r-pilule) 0;
}

/* Messagerie : bulles aux couleurs de la charte (HivePress Messages les
   teinte en bleu et vert pâles hors palette, relevé le 09/10). Reçu = blanc,
   envoyé = miel très clair avec liseré miel. */
.hp-message--view-block {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
}

.hp-message--view-block.hp-message--sent {
	background: #FFF6D6;
	border-color: var(--trokaaz-miel);
}

.hp-message--view-block .hp-message__sender {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
}

/* Liste : le sélecteur « Trier par » (select2 en ligne) était tronqué à « D… » sur mobile (revue 6.5). */
.hp-form--listing-sort .select2-container {
	min-width: 9rem;
}

/* Fiche d'annonce : les attributs secondaires dans un encart, une ligne par attribut (revue 6.5). */
.hp-listing--view-page .hp-listing__attributes--secondary {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	padding: 1rem 1.25rem 0.5rem;
	margin-bottom: 1.5rem;
}

.hp-listing--view-page .hp-listing__attributes--secondary .hp-listing__attribute {
	position: relative;
	padding-left: 1.25rem;
	margin-bottom: 0.5rem;
}

.hp-listing--view-page .hp-listing__attributes--secondary .hp-listing__attribute::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 0.65rem;
	height: 0.75rem;
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

/* Fiche d'annonce : attributs principaux. */
.hp-listing--view-page .hp-listing__attributes--primary .hp-listing__attribute {
	font-family: var(--trokaaz-police-titre);
	font-weight: 600;
}

.hp-listing--view-page .hp-listing__attributes--primary .hp-listing__attribute:not(:last-child),
.hp-vendor--view-page .hp-vendor__attributes--primary .hp-vendor__attribute:not(:last-child) {
	border-bottom-color: var(--trokaaz-bord);
}

.hp-listing__images-slider,
.hp-listing__images > img,
.hp-listing__images-carousel .slick-slide img {
	border-radius: var(--trokaaz-r-champ);
}

.hp-listing__images-carousel .slick-current img {
	border-color: var(--trokaaz-orange) !important;
}

/* Widgets de colonne (filtres, menu du compte). */
.widget--sidebar,
.widget.hp-menu {
	padding: 1.5rem;
}

.widget__title {
	font-size: 1.15rem;
}

/* --------------------------------------------------------------------------
   9. Badges et statuts
   -------------------------------------------------------------------------- */
.trokaaz-etiquette {
	display: inline-block;
	font-family: var(--trokaaz-police-texte);
	font-weight: 700;
	font-size: 0.78rem;
	line-height: 1.2;
	padding: 0.3rem 0.7rem;
	border-radius: var(--trokaaz-r-pilule);
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
	white-space: nowrap;
}

.trokaaz-etiquette--don     { background: var(--trokaaz-vert-fonce); color: var(--trokaaz-blanc); }
.trokaaz-etiquette--epuisee { background: var(--trokaaz-gris); color: var(--trokaaz-texte-doux); }
.trokaaz-etiquette--orange  { background: var(--trokaaz-orange-fonce); color: var(--trokaaz-blanc); }
.trokaaz-etiquette--lagon   { background: var(--trokaaz-lagon-fonce); color: var(--trokaaz-blanc); }

/* Statuts HivePress (brouillon, en attente, publiée ; commandes). */
.hp-status span {
	font-family: var(--trokaaz-police-texte);
	font-weight: 700;
	font-size: 0.78rem;
	text-transform: none;
	letter-spacing: 0;
	padding: 0.3rem 0.7rem;
	border-radius: var(--trokaaz-r-pilule);
	border: none;
}

.hp-status--draft span,
.hp-status--trash span,
.hp-status--wc-refunded span {
	background: var(--trokaaz-gris);
	color: var(--trokaaz-texte-doux);
}

.hp-status--pending span,
.hp-status--wc-on-hold span,
.hp-status--wc-processing span {
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
}

.hp-status--publish span,
.hp-status--wc-completed span {
	background: var(--trokaaz-vert-fonce);
	color: var(--trokaaz-blanc);
}

/* Trocs (lot 2) : liseré gauche selon l'état. */
.trokaaz-troc {
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
	border-left-width: 5px;
	border-left-color: var(--trokaaz-miel);
}

.trokaaz-troc--accepte,
.trokaaz-troc--confirme_1 { border-left-color: var(--trokaaz-lagon); }
.trokaaz-troc--realise     { border-left-color: var(--trokaaz-vert); }
.trokaaz-troc--refuse,
.trokaaz-troc--annule,
.trokaaz-troc--expire,
.trokaaz-troc--non_confirme { border-left-color: var(--trokaaz-gris); opacity: 0.85; }

/* Carte d'un troc refondue (1.15.0) : titre + pastille d'état, puis une case
   par information, puis la consigne du moment, puis les boutons centrés. */
.trokaaz-troc__tete {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-bottom: 0.9rem;
}

.trokaaz-troc__vignette {
	flex: none;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord-fort);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort);
}

.trokaaz-troc__vignette img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.trokaaz-troc h3 {
	margin: 0;
	flex: 1 1 10rem;
	font-size: 1.3rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.trokaaz-troc h3 i {
	color: var(--trokaaz-orange-fonce);
	font-size: 0.9em;
}

.trokaaz-troc h3 a {
	color: var(--trokaaz-noir);
}

.trokaaz-troc__etat {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.4rem 0.95rem;
	border-radius: var(--trokaaz-r-pilule);
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 0.98rem;
	background: var(--trokaaz-miel-clair);
	border: 2px solid var(--trokaaz-miel);
	color: var(--trokaaz-noir);
}

.trokaaz-troc__etat i {
	font-size: 1.15em;
}

.trokaaz-troc__etat--attente i { color: var(--trokaaz-orange-fonce); }
.trokaaz-troc__etat--ok        { background: #E4EEDA; border-color: var(--trokaaz-vert); }
.trokaaz-troc__etat--ok i      { color: var(--trokaaz-vert-fonce); }
.trokaaz-troc__etat--non       { background: #F8E0DC; border-color: #D9534F; }
.trokaaz-troc__etat--non i     { color: #C0392B; }

.trokaaz-troc__cases {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.6rem;
	margin-bottom: 0.9rem;
}

.trokaaz-troc__case {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.7rem 0.9rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	min-width: 0;
}

.trokaaz-troc__case--large {
	grid-column: 1 / -1;
}

.trokaaz-troc__case-nom {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--trokaaz-texte-doux);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.trokaaz-troc__case-nom i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.2rem;
}

.trokaaz-troc__case-valeur {
	font-size: 1.08rem;
	color: var(--trokaaz-noir);
	overflow-wrap: anywhere;
}

.trokaaz-troc__consigne {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0;
	padding: 0.75rem 0.9rem;
	border-radius: var(--trokaaz-r-champ);
	background: var(--trokaaz-blanc);
	border: 1px dashed var(--trokaaz-bord-fort);
	font-size: 1rem;
	color: var(--trokaaz-noir);
}

.trokaaz-troc__consigne i {
	margin-top: 0.15rem;
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-troc__consigne--attente {
	background: var(--trokaaz-miel-clair);
	border-style: solid;
	border-color: var(--trokaaz-miel);
	font-weight: 700;
}

.trokaaz-troc__consigne--ok i {
	color: var(--trokaaz-vert-fonce);
}

/* Trocs terminés (refusé, annulé…) : cases atténuées mais lisibles. */
.trokaaz-troc--refuse .trokaaz-troc__case,
.trokaaz-troc--annule .trokaaz-troc__case,
.trokaaz-troc--expire .trokaaz-troc__case,
.trokaaz-troc--non_confirme .trokaaz-troc__case {
	background: var(--trokaaz-blanc);
}

@media only screen and (max-width: 47.99em) {
	.trokaaz-troc__tete {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.trokaaz-troc__vignette {
		width: 5.5rem;
		height: 5.5rem;
	}

	.trokaaz-troc h3 {
		justify-content: center;
	}

	.trokaaz-troc__cases {
		grid-template-columns: 1fr 1fr;
	}

	.trokaaz-troc__case {
		align-items: center;
		text-align: center;
	}

	.trokaaz-troc__consigne {
		text-align: center;
		flex-direction: column;
		align-items: center;
	}
}

@media only screen and (max-width: 35.99em) {
	.trokaaz-troc__cases {
		grid-template-columns: 1fr;
	}
}

.trokaaz-troc__details,
.trokaaz-troc__confirmations {
	color: var(--trokaaz-texte-doux);
	font-size: 0.95rem;
}

.trokaaz-trocs__vide {
	color: var(--trokaaz-texte-doux);
}

.trokaaz-trocs-count strong {
	display: inline-block;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	background: var(--trokaaz-miel-clair);
	border-radius: var(--trokaaz-r-pilule);
	padding: 0.35rem 0.9rem;
}

/* Badges GamiPress (lot 4) : cartes déjà stylées par le plugin, on aligne. */
.trokaaz-badge {
	background: var(--trokaaz-blanc);
}

/* --------------------------------------------------------------------------
   10. En-tête et navigation
   -------------------------------------------------------------------------- */
.site-header {
	background: var(--trokaaz-blanc);
	border-bottom: 1px solid var(--trokaaz-bord);
}

.header-navbar {
	padding: 0.6rem 1.5rem;
	min-height: 4.5rem;
	align-items: center;
	border-bottom: none !important;
}

.header-navbar__start {
	margin-right: 1.5rem;
}

/* Logo : rendu par trokaaz_logo() (header.php du thème enfant). */
.header-logo a {
	display: block;
	line-height: 0;
	border-radius: var(--trokaaz-r-champ);
}

.header-logo img,
.header-logo .custom-logo {
	display: block;
	width: auto;
	height: 3.5rem;
}

.header-logo__name {
	font-size: 1.5rem;
	color: var(--trokaaz-orange-fonce);
}

.header-logo__description {
	font-size: 0.8rem;
	color: var(--trokaaz-texte-doux);
}

.header-navbar__menu > ul > li > a {
	font-family: var(--trokaaz-police-titre);
	font-weight: 600;
	font-size: 1.02rem;
	color: var(--trokaaz-noir);
	padding: 0.25rem 0;
}

.header-navbar__menu ul li a:hover,
.header-navbar__menu ul li.active > a,
.header-navbar__menu ul li.current-menu-item > a {
	color: var(--trokaaz-orange-fonce) !important; /* style inline du parent (primary_color) */
}

/* Trait de la page courante : petit et arrondi, orange. */
.header-navbar__menu > ul > li.current-menu-item::before,
.hp-menu--tabbed .hp-menu__item--current::before,
.header-navbar__burger > ul > li.current-menu-item::before {
	background-color: var(--trokaaz-orange) !important; /* style inline du parent */
	background-image: none;
	border-radius: var(--trokaaz-r-pilule);
}

.header-navbar__menu > ul > li.current-menu-item::before {
	top: auto;
	bottom: 0;
	left: 1rem;
	right: 1rem;
	height: 3px;
}

.header-navbar__menu ul li ul {
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	box-shadow: var(--trokaaz-ombre-haute);
}

.header-navbar__menu ul li.menu-item-has-children::after {
	color: var(--trokaaz-texte-doux);
}

/* Actions d'en-tête : « Ajouter une annonce » (secondaire) et « Adhérer » (principal). */
.header-navbar__actions {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.hp-menu--site-header .hp-menu__item:not(:last-child) {
	margin-right: 0.6rem;
}

/* Le menu HivePress garde une marge basse (.hp-menu) qui décalait « Ajouter
   une annonce » de 16 px au-dessus d'« Adhérer » (relevé le 07/10). */
.header-navbar__actions > .hp-menu--site-header,
.header-navbar__actions > .button {
	margin-top: 0;
	margin-bottom: 0;
}

.trokaaz-adherer,
.trokaaz-connexion {
	white-space: nowrap;
	order: 1; /* avant le menu HivePress (« + »), demande client 12/10 */
}

.header-navbar__actions > .hp-menu--site-header {
	order: 2;
}

.trokaaz-connexion i {
	margin-right: 0.35rem;
}

/* Le lien texte « Se connecter » que HivePress insère dans le menu principal
   (reference/hivepress/includes/components/class-template.php:241-292,
   li.menu-item--user-login en première et dernière position) fait doublon
   avec notre bouton : masqué partout, en-tête et burger (1.13.0). */
.header-navbar__menu .menu-item--user-login,
.header-navbar__burger .menu-item--user-login,
.header-navbar__actions .hp-menu--site-header .hp-menu__item--user-login {
	display: none !important;
}

/* Messages de retour sous l'en-tête (charte, troc, adhésion) : centrés. */
.trokaaz-bandeau-info {
	max-width: 60rem;
	margin: 1.25rem auto 0;
	padding: 0.9rem 1.25rem;
	text-align: center;
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	border-left: 5px solid var(--trokaaz-vert-fonce);
	border-radius: var(--trokaaz-r-champ);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort);
	font-size: 1rem;
	color: var(--trokaaz-noir);
}

.trokaaz-bandeau-info p {
	margin: 0;
}

.trokaaz-troc-notice.trokaaz-bandeau-info {
	background: var(--trokaaz-miel-clair) !important;
	border-bottom: 1px solid var(--trokaaz-miel) !important;
	border-left-color: var(--trokaaz-orange);
	font-family: var(--trokaaz-police-texte);
	font-weight: 600;
}

@media only screen and (max-width: 47.99em) {
	.trokaaz-bandeau-info {
		margin: 0.75rem 1rem 0;
	}
}

/* Annonce déposée : tout centré, bouton compris. */
.trokaaz-route--listing-submit-complete-page .hp-page__content {
	text-align: center;
}

.trokaaz-route--listing-submit-complete-page .hp-page__content .button {
	margin-left: auto;
	margin-right: auto;
}

/* Menu mobile (burger) : panneau crème, entrées larges, tactiles. */
.header-navbar__burger > a,
.header-navbar__burger > a:hover {
	color: var(--trokaaz-noir);
}

.header-navbar__burger > a i {
	font-size: 22px;
}

.header-navbar__burger > ul {
	background-color: var(--trokaaz-creme);
	padding: 4rem 1.5rem 2rem;
}

.header-navbar__burger > ul::before {
	color: var(--trokaaz-noir);
	font-size: 22px;
	top: 1.1rem;
	right: 1.25rem;
}

.header-navbar__burger > ul > li > a {
	font-family: var(--trokaaz-police-titre);
	font-weight: 600;
	font-size: 1.25rem;
	color: var(--trokaaz-noir);
	padding: 0.5rem 0;
	display: block;
}

.header-navbar__burger > ul > li.current-menu-item::before {
	left: -1.5rem;
	width: 4px;
}

.header-navbar__burger ul li.menu-item-has-children::after {
	color: var(--trokaaz-texte-doux);
}

/* Bandeau de page (titre) : crème alvéolé. */
.header-hero {
	background-color: var(--trokaaz-creme);
	padding: 2.5rem 0;
	border-bottom: 1px solid var(--trokaaz-bord);
}

.header-hero--title h1,
.page__title,
.hp-page__title {
	text-align: left;
}

.header-hero--title h1 {
	margin: 2rem 0;
}

.header-hero--cover::after {
	background-color: rgba(17, 17, 17, 0.45);
}

/* --------------------------------------------------------------------------
   11. Compte membre : onglets et menu latéral
   -------------------------------------------------------------------------- */
.hp-menu--tabbed {
	border-color: var(--trokaaz-bord);
}

.hp-menu--tabbed .hp-menu__item a {
	font-family: var(--trokaaz-police-titre);
	font-weight: 600;
	color: var(--trokaaz-noir);
}

.hp-menu--tabbed .hp-menu__item a:hover,
.hp-menu--tabbed .hp-menu__item--current a {
	color: var(--trokaaz-orange-fonce) !important; /* style inline du parent */
	font-weight: 700;
}

.widget.hp-menu--user-account ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget.hp-menu--user-account .hp-menu__item {
	margin: 0 0 0.25rem;
}

.widget.hp-menu--user-account .hp-menu__item > a {
	padding: 0.55rem 0.8rem;
	border-radius: var(--trokaaz-r-champ);
	color: var(--trokaaz-noir);
	font-weight: 700;
	transition: background-color var(--trokaaz-transition);
}

.widget.hp-menu--user-account .hp-menu__item > a:hover {
	background: var(--trokaaz-miel-clair);
}

.widget.hp-menu--user-account .hp-menu__item--current > a {
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-orange-fonce);
}

.hp-menu__item small {
	background-color: var(--trokaaz-orange-fonce);
}

/* Onglets du compte sur mobile : défilement horizontal plutôt que retour à la ligne. */
@media only screen and (max-width: 47.99em) {
	.hp-page__topbar--separate .hp-menu--tabbed ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.hp-page__topbar--separate .hp-menu--tabbed ul::-webkit-scrollbar {
		display: none;
	}

	.hp-menu--tabbed .hp-menu__item {
		white-space: nowrap;
		padding: 0.75rem 0.8rem;
	}
}

/* --------------------------------------------------------------------------
   12. Pagination
   -------------------------------------------------------------------------- */
.pagination > a,
.pagination > span,
.pagination .nav-links > a,
.pagination .nav-links > span,
.pagination ul li a,
.pagination ul li span.current,
.pagination ul li span.dots,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	border: 2px solid transparent;
	border-radius: 50%;
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
	width: 2.75rem;
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pagination > a:hover,
.pagination .nav-links > a:hover,
.pagination ul li a:hover {
	background: var(--trokaaz-miel);
	color: var(--trokaaz-noir) !important; /* style inline du parent */
}

.pagination .nav-links > span.current,
.pagination > span.current,
.pagination ul li span.current {
	background: var(--trokaaz-orange-fonce);
	color: var(--trokaaz-blanc);
	border-color: transparent !important;
}

/* --------------------------------------------------------------------------
   13. Pied de page
   -------------------------------------------------------------------------- */
.site-footer {
	background-color: var(--trokaaz-creme-fonce);
	border-top: 4px solid var(--trokaaz-miel);
	padding: 2.5rem 0 2rem;
	color: var(--trokaaz-noir);
}

.footer-widgets:not(:last-child) {
	border-bottom-color: var(--trokaaz-bord-fort);
}

/* Bloc « association + colonnes de liens » (footer.php du thème enfant). */
.trokaaz-pied {
	display: grid;
	gap: 2rem;
	padding-bottom: 2rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--trokaaz-bord-fort);
}

/* Cinq blocs depuis le lot 8 (association + zones, Découvrir, L'association,
   Informations). Tablette : association sur toute la largeur, 4 colonnes de
   liens dessous. PC (≥ 1024 px) : les cinq sur une seule ligne (demande
   Kevin du 14/10). */
@media only screen and (min-width: 48em) {
	.trokaaz-pied {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2rem;
	}

	.trokaaz-pied__asso {
		grid-column: 1 / -1;
	}
}

@media only screen and (min-width: 64em) {
	.trokaaz-pied {
		grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
		gap: 2rem;
	}

	.trokaaz-pied__asso {
		grid-column: auto;
		align-content: start;
	}
}

/* Bloc association : logo à gauche, textes alignés à côté, centrés verticalement. */
.trokaaz-pied__asso {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1.25rem;
	align-items: center;
	align-content: center;
}

.trokaaz-pied__asso img {
	grid-row: 1 / 3;
	display: block;
	width: 6.5rem;
	height: auto;
	margin: 0;
}

.trokaaz-pied__mention {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.2;
	margin: 0 0 0.35rem;
	align-self: end;
}

.trokaaz-pied__texte {
	margin: 0;
	max-width: 30ch;
	font-size: 0.92rem;
	color: var(--trokaaz-texte-doux);
	align-self: start;
}

@media only screen and (min-width: 48em) {
	.trokaaz-pied__asso img {
		width: 8.5rem;
	}
}

.trokaaz-pied__texte {
	line-height: 1.5;
}

@media only screen and (min-width: 64em) {
	.trokaaz-pied__asso img {
		width: 6.5rem;
	}
}

/* Mobile : pied de page centré (logo au-dessus des textes, colonnes centrées). */
@media only screen and (max-width: 47.99em) {
	.trokaaz-pied {
		text-align: center;
	}

	.trokaaz-pied__asso {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.trokaaz-pied__asso img {
		grid-row: auto;
		margin-bottom: 0.75rem;
	}

	.trokaaz-pied__texte {
		margin-left: auto;
		margin-right: auto;
	}
}

/* Ligne du bas : copyright centré, crédit du site à côté. */
.trokaaz-pied__bas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.35rem 1.5rem;
	text-align: center;
	font-size: 0.9rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-pied__bas p {
	margin: 0;
}

/* Hors accueil (1.11.4) : pied réduit à une ligne, liens obligatoires inclus. */
.trokaaz-pied__bas--compact {
	flex-direction: column;
	gap: 0.4rem;
}

.site-footer:has(.trokaaz-pied__bas--compact) {
	padding: 1.5rem 0 1.25rem;
}

.trokaaz-pied__liens a {
	color: var(--trokaaz-noir);
	font-weight: 700;
	text-decoration: none;
}

.trokaaz-pied__liens a:hover {
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-pied__liens span {
	margin: 0 0.3rem;
	color: var(--trokaaz-bord-fort);
}

.trokaaz-pied__credit a {
	color: var(--trokaaz-orange-fonce);
	font-weight: 700;
	text-decoration: none;
}

.trokaaz-pied__credit a:hover {
	text-decoration: underline;
}

.trokaaz-pied__colonne h2 {
	font-size: 1rem;
	margin: 0 0 0.75rem;
	padding-top: 0;
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-pied__colonne ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.trokaaz-pied__colonne li {
	margin: 0 0 0.45rem;
}

.trokaaz-pied__colonne a {
	color: var(--trokaaz-noir);
	font-size: 0.95rem;
	text-decoration: none;
	padding: 0.15rem 0;
	display: inline-block;
}

.trokaaz-pied__colonne a:hover {
	color: var(--trokaaz-orange-fonce);
	text-decoration: underline;
}

.footer-navbar__copyright {
	color: var(--trokaaz-texte-doux);
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.footer-navbar__copyright img {
	height: 2.5rem;
	width: auto;
}

.footer-navbar__menu ul li a {
	color: var(--trokaaz-noir);
	font-weight: 700;
	font-size: 0.95rem;
}

.footer-navbar__menu ul li a:hover {
	color: var(--trokaaz-orange-fonce) !important; /* style inline du parent */
}

/* --------------------------------------------------------------------------
   13 bis. Page introuvable (404.php) et sommaire des pages de texte (lot 6.4)
   -------------------------------------------------------------------------- */
.trokaaz-404 {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1rem 0 2rem;
	text-align: center;
}

.trokaaz-404__illustration {
	position: relative;
	display: inline-block;
	margin-bottom: 1rem;
}

.trokaaz-404__illustration img:first-child {
	width: 11rem;
	height: auto;
}

.trokaaz-404__abeille {
	position: absolute;
	top: -0.5rem;
	right: -3rem;
	width: 4rem;
	height: auto;
}

.trokaaz-404__code {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	color: var(--trokaaz-orange-fonce);
	margin: 0 0 0.25rem;
}

.trokaaz-404 h1 {
	margin: 0 0 0.75rem;
}

.trokaaz-404__texte {
	font-size: 1.1rem;
	margin: 0 0 1.5rem;
}

.trokaaz-404__recherche {
	display: flex;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
}

.trokaaz-404__recherche input[type="search"] {
	flex: 1;
	min-width: 0;
}

.trokaaz-404__liens {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
}

@media only screen and (max-width: 35.99em) {
	.trokaaz-404__recherche {
		flex-direction: column;
	}

	.trokaaz-404__liens .button {
		width: 100%;
	}
}

.trokaaz-sommaire {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-left: 5px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	padding: 1.1rem 1.4rem;
	margin: 0 0 2rem;
}

.trokaaz-sommaire__titre {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.05rem;
	margin: 0 0 0.5rem;
}

.trokaaz-sommaire ol {
	margin: 0;
	padding-left: 1.25rem;
	columns: 1;
}

.trokaaz-sommaire li {
	margin: 0 0 0.3rem;
	font-size: 0.95rem;
}

/* Titres déjà numérotés dans le texte (« 1. », « Article 3 ») : liste sans numéro. */
.trokaaz-sommaire--numerote ol {
	list-style: none;
	padding-left: 0;
}

.trokaaz-sommaire a {
	text-decoration: none;
}

.trokaaz-sommaire a:hover {
	text-decoration: underline;
}

@media only screen and (min-width: 48em) {
	.trokaaz-sommaire ol {
		columns: 2;
		column-gap: 2rem;
	}
}

/* Les titres ciblés par le sommaire ne passent pas sous l'en-tête collant. */
.page h2[id] {
	scroll-margin-top: 5.5rem;
}

/* --------------------------------------------------------------------------
   14. Pages de texte (chartes, conditions, mentions), contenu éditorial
   -------------------------------------------------------------------------- */
.page .site-content .container > .row > main {
	max-width: 72ch;
}

.site-content .entry-content h2,
.site-content main h2 {
	margin-top: 2rem;
}

.trokaaz-charte-form {
	margin-top: 2rem;
	padding: 1.25rem 1.5rem;
	border-left: 5px solid var(--trokaaz-orange);
}

.trokaaz-charte-form label {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-weight: 400;
}

blockquote,
.wp-block-quote {
	border-left: 4px solid var(--trokaaz-miel) !important; /* style inline du parent */
	background: var(--trokaaz-blanc);
	border-radius: var(--trokaaz-r-champ);
	padding: 1rem 1.25rem;
}

/* --------------------------------------------------------------------------
   15. Adhésion et paiement (lot 5) : mêmes formes que le reste du site
   Refonte 1.11.0 : accroche en rayon de miel, avantages en cartes, tout centré.
   -------------------------------------------------------------------------- */
.trokaaz-appel {
	border-left-width: 5px;
	border-left-color: var(--trokaaz-orange);
	background: var(--trokaaz-blanc);
}

.trokaaz-adhesion {
	max-width: 46rem;
	margin: 0 auto;
	text-align: center;
}

.trokaaz-adhesion__accroche {
	padding: 1.75rem 1.5rem 1.5rem;
	margin: 0 0 1.5rem;
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort);
}

.trokaaz-adhesion__accroche::before {
	opacity: 0.35;
	background-size: 300px auto;
}

.trokaaz-adhesion__abeille {
	width: 4.5rem;
	height: auto;
	margin: 0 auto 0.5rem;
}

.trokaaz-adhesion__titre {
	margin: 0 0 0.6rem;
	font-family: var(--trokaaz-police-titre);
	font-weight: 800;
	font-size: clamp(1.6rem, 4vw, 2.2rem);
	line-height: 1.15;
}

.trokaaz-adhesion__intro {
	margin: 0 auto;
	max-width: 36rem;
	font-size: 1.05rem;
}

/* Spécificité relevée : le thème parent indente les listes du contenu
   (décalage à droite constaté sur mobile le 12/10). */
.trokaaz-adhesion ul.trokaaz-adhesion__avantages {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* dernière rangée centrée sur PC (12/10) */
	gap: 0.75rem;
}

.trokaaz-adhesion ul.trokaaz-adhesion__avantages > li {
	margin: 0;
	flex: 1 1 12rem;
	max-width: 18rem;
}

.trokaaz-adhesion__avantages li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	padding: 1rem 0.9rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort);
	font-size: 0.95rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-adhesion__avantages strong {
	color: var(--trokaaz-noir);
}

.trokaaz-adhesion__icone {
	display: grid;
	place-items: center;
	width: 2.8rem;
	height: 3.1rem;
	margin-bottom: 0.25rem;
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	color: var(--trokaaz-noir);
	font-size: 1.1rem;
}

.trokaaz-adhesion__tarif {
	padding: 1.5rem 1.25rem;
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
}

.trokaaz-adhesion__montant {
	margin: 0 0 0.5rem;
	font-family: var(--trokaaz-police-titre);
	font-weight: 800;
	font-size: clamp(2.2rem, 7vw, 3rem);
	line-height: 1;
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-adhesion__montant span {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-adhesion__mention {
	font-size: 0.92rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-adhesion__action {
	margin-top: 1.5rem;
}

.trokaaz-adhesion__action .trokaaz-appel__bouton {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 16rem;
	text-align: center;
	margin: 0.25rem 0.25rem 0.5rem;
}

.trokaaz-adhesion__rassure {
	font-size: 0.9rem;
	color: var(--trokaaz-texte-doux);
}

@media only screen and (max-width: 35.99em) {
	.trokaaz-adhesion__action .trokaaz-appel__bouton {
		width: 100%;
	}
}

.trokaaz-mon-adhesion__statut--a_jour {
	border-left-color: var(--trokaaz-vert);
}

/* Paiement WooCommerce (shortcode, page « Paiement de la cotisation »). */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-size: 1.3rem;
	margin: 1.5rem 0 1rem;
}

.woocommerce form .form-row {
	margin-bottom: 1rem;
}

.woocommerce table.shop_table {
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--trokaaz-bord);
	padding: 0.75rem 1rem;
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
	background: var(--trokaaz-creme);
}

.woocommerce-checkout #payment {
	background: var(--trokaaz-blanc);
	margin-top: 1rem;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--trokaaz-creme);
	border-radius: var(--trokaaz-r-champ);
	color: var(--trokaaz-noir);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--trokaaz-creme);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom-color: var(--trokaaz-bord);
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
	font-size: 0.95rem;
	color: var(--trokaaz-texte-doux);
}

.woocommerce-terms-and-conditions-checkbox-text {
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.95rem;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	width: 100%;
	font-size: 1.15rem;
	padding: 0.9rem 1.5rem;
	margin-top: 1rem;
}

/* Limite documentée : le bloc « Link » et les champs de carte sont rendus par
   Stripe dans un cadre sécurisé (iframe) hors de portée du CSS du site. Seul
   le contour du cadre est à nous. */
.wc-stripe-upe-element,
.StripeElement {
	border-radius: var(--trokaaz-r-champ);
}

/* --------------------------------------------------------------------------
   16. Mise en page générale, mobile d'abord
   -------------------------------------------------------------------------- */
.site-content {
	padding: 3rem 0;
}

@media only screen and (max-width: 47.99em) {
	.header-navbar {
		padding: 0.5rem 1rem;
		min-height: 4rem;
	}

	/* Burger tout à droite, après le « + » (demande client 12/10). */
	.header-navbar__end {
		align-items: center;
	}

	.header-navbar__burger {
		order: 10;
		margin-left: 0.85rem;
	}

	.header-logo img,
	.header-logo .custom-logo {
		height: 2.75rem;
	}

	.header-navbar__start {
		margin-right: 0.75rem;
	}

	.header-navbar__actions {
		gap: 0.5rem;
	}

	/*
	 * « Ajouter une annonce » : HivePress masque le libellé sous 48em
	 * (assets/css/frontend.min.css, relevé sur le site : .hp-menu--site-header
	 * button span { display: none }) et ne laisse qu'un « + » nu. On en fait
	 * un bouton rond de 44 px, contour orange, et le libellé reste lu par les
	 * lecteurs d'écran (masqué visuellement seulement).
	 */
	.trokaaz .hp-menu--site-header .hp-menu__item--listing-submit {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		min-height: 2.75rem;
		padding: 0;
		margin: 0;
		border-radius: 50%;
	}

	.trokaaz .hp-menu--site-header .hp-menu__item--listing-submit i:first-child {
		margin: 0;
		font-size: 1.1rem;
	}

	.trokaaz .hp-menu--site-header .hp-menu__item--listing-submit span {
		display: block;
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.trokaaz-adherer {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.site-content {
		padding: 1.75rem 0;
	}

	.header-hero {
		padding: 1.5rem 0;
	}

	.header-hero--title h1 {
		margin: 1rem 0;
	}

	.widget--sidebar,
	.widget.hp-menu {
		padding: 1.25rem;
	}

	/* Boutons pleine largeur dans les formulaires et les encarts. */
	.hp-form__button,
	.trokaaz-appel__bouton,
	.trokaaz-charte-form button {
		width: 100%;
	}
}

/* Images : jamais plus larges que leur colonne. */
img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   18. Liste d'annonces et pages intérieures : finitions (revue 6.5, 09/10)
   -------------------------------------------------------------------------- */

/* « Résultats 1-4 sur 4 » : inutile pour le public (demande client). */
.hp-result-count {
	display: none;
}

/* Barre du haut : tri à droite, sans trou au-dessus. */
.hp-page__topbar {
	margin-bottom: 1.25rem;
}

/* Filtres (bureau) : la colonne de gauche devient un encart en relief,
   comme les vignettes ; titre des champs en Baloo 2. */
.site-sidebar .hp-widget--listing-filter,
.site-sidebar .hp-widget--desktop {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.1);
	padding: 1.25rem 1.25rem 0.75rem;
}

.site-sidebar .hp-widget--listing-filter .hp-form__label,
.site-sidebar .hp-widget--listing-filter .hp-field__label {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1rem;
	color: var(--trokaaz-noir);
}

.site-sidebar .hp-widget--listing-filter .hp-form__field:not(:last-child) {
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px dashed var(--trokaaz-bord);
}

/* Carte des annonces (trokaaz-core, <details data-trokaaz-carte>) : encart fermé
   proprement, bordure et coins ; sur mobile elle passe SOUS la liste. */
details[data-trokaaz-carte] {
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	padding: 0.75rem 1rem;
	margin-bottom: 1.5rem;
}

details[data-trokaaz-carte] > summary {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

details[data-trokaaz-carte] > summary::-webkit-details-marker {
	display: none;
}

details[data-trokaaz-carte] > summary::before {
	content: "";
	width: 0.9rem;
	height: 1rem;
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	transition: transform var(--trokaaz-transition);
}

details[data-trokaaz-carte][open] > summary::before {
	transform: rotate(90deg);
	background: var(--trokaaz-orange);
}

details[data-trokaaz-carte] .trokaaz-carte__conteneur {
	margin-top: 0.75rem;
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
}

/* Décor des pages intérieures : rayons de miel sur les deux bords du
   contenu (bureau large), derrière tout, très doux. */
@media only screen and (min-width: 75em) {
	body:not(.home) .site-content {
		position: relative;
		overflow: hidden;
	}

	body:not(.home) .site-content::before,
	body:not(.home) .site-content::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		width: 11rem;
		background: url("assets/img/alveoles-bord.svg?v=3") left top / 100% auto repeat-y;
		opacity: 0.32;
		pointer-events: none;
		z-index: 0;
		-webkit-mask-image: linear-gradient(to right, #000 45%, transparent);
		mask-image: linear-gradient(to right, #000 45%, transparent);
	}

	body:not(.home) .site-content::before {
		left: 0;
	}

	body:not(.home) .site-content::after {
		right: 0;
		transform: scaleX(-1);
	}

	body:not(.home) .site-content > .container {
		position: relative;
		z-index: 1;
	}
}

/* Mobile : deux vignettes par ligne (liste, archives, accueil), cartes compactes. */
@media only screen and (max-width: 47.99em) {
	.hp-listings.hp-grid > .hp-row {
		margin-left: -0.375rem;
		margin-right: -0.375rem;
	}

	.hp-listings.hp-grid > .hp-row > .hp-grid__item {
		flex-basis: 50%;
		max-width: 50%;
		padding-left: 0.375rem;
		padding-right: 0.375rem;
	}

	.hp-listings .hp-listing--view-block {
		margin-bottom: 0.75rem;
		border-radius: 12px;
	}

	.hp-listings .hp-listing--view-block .hp-listing__content {
		padding: 0.7rem 0.75rem 0.5rem;
	}

	.hp-listings .hp-listing--view-block .hp-listing__title {
		font-size: 0.98rem;
		line-height: 1.2;
		margin-bottom: 0.35rem;
	}

	.hp-listings .hp-listing--view-block .hp-listing__categories a {
		font-size: 0.68rem;
		padding: 0.15rem 0.5rem;
	}

	.hp-listings .hp-listing--view-block .hp-listing__created-date {
		font-size: 0.72rem;
	}

	.hp-listings .hp-listing--view-block .trokaaz-auteur {
		font-size: 0.78rem;
	}

	/* Les attributs détaillés restent sur la fiche : la vignette va à l'essentiel. */
	.hp-listings .hp-listing--view-block .hp-listing__attributes--secondary,
	.hp-listings .hp-listing--view-block .hp-listing__attributes--ternary {
		display: none;
	}

	.hp-listings .hp-listing--view-block .hp-listing__footer {
		padding: 0.5rem 0.75rem;
	}

	/* Barre du haut : plus d'espace perdu sous « Filtrer », tri compact à droite.
	   HivePress pose `.hp-page__header:not(:last-child)` (0,2,0) à 3-4 rem :
	   même spécificité ici, sinon la règle est ignorée (constaté 12/10). */
	.hp-page__header,
	.hp-page__header:not(:last-child) {
		margin-bottom: 0.75rem;
	}

	.hp-page__header .hp-form--listing-search {
		margin-bottom: 1rem;
	}

	.hp-page__topbar {
		margin-bottom: 0.75rem;
	}

	/* (La ligne d'alvéoles en tête de la page des annonces a été retirée le
	   13/10 à la demande de Kevin.) */

	/* Vignettes : tout centré sur mobile (catégorie, titre, auteur, commune, date). */
	.hp-listings .hp-listing--view-block .hp-listing__content,
	.hp-listings .hp-listing--view-block .hp-listing__footer {
		text-align: center;
	}

	.hp-listings .hp-listing--view-block .hp-listing__details--primary {
		justify-content: center;
	}

	.hp-listings .hp-listing--view-block .hp-listing__details--primary {
		justify-content: center;
	}

	.hp-listings .hp-listing--view-block .trokaaz-auteur {
		justify-content: center;
	}

	.hp-form--listing-sort .hp-form__label {
		font-size: 0.9rem;
	}

}

/* La carte des annonces passe SOUS la liste, sur tous les écrans (demande
   client du 09/10) ; sur mobile trokaaz.js la referme au chargement. */
.trokaaz-route--listings-view-page .hp-page__content,
.hp-page__content:has(> details[data-trokaaz-carte]) {
	display: flex;
	flex-direction: column;
}

.hp-page__content > details[data-trokaaz-carte] {
	order: 50;
	margin: 0.5rem 0 1rem;
}

/* Mention « près de chez vous » : sous la liste, juste au-dessus de la carte. */
.hp-page__content > .trokaaz-proximite {
	order: 45;
	margin: 0.75rem 0 0.25rem;
}

.hp-page__content > .pagination,
.hp-page__content > nav.pagination {
	order: 60;
}

/* --------------------------------------------------------------------------
   19. Conteneurs, vignettes égales, notifications (revue 6.5, 09/10)
   -------------------------------------------------------------------------- */

/* Vignettes d'une même ligne toujours de la même hauteur. */
.hp-listings.hp-grid > .hp-row > .hp-grid__item {
	display: flex;
}

.hp-listings .hp-listing--view-block {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.hp-listings .hp-listing--view-block .hp-listing__content {
	flex: 1 1 auto;
}

/* Contenu principal dans un encart en relief : compte et onglets, dépôt et
   modification, fiche d'annonce (les annonces similaires, dans le pied de
   page HivePress, restent dehors — reference/hivepress/includes/templates/
   class-listing-view-page.php:242-260). */
.trokaaz-conteneur .hp-page__content {
	min-width: 0; /* enfant flex : son contenu ne peut plus l'élargir hors de la colonne */
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.1);
	padding: 1.5rem 1.5rem 1.75rem;
}

.trokaaz-conteneur .hp-page__content > .hp-page__title,
.trokaaz-conteneur .hp-page__content > .hp-listing__title {
	margin-top: 0;
}

/* Dans l'encart, les sous-encarts deviennent de simples zones crème. */
.trokaaz-conteneur .hp-page__content .hp-listing__attributes--secondary,
.trokaaz-conteneur .hp-page__content details[data-trokaaz-carte],
.trokaaz-conteneur .hp-page__content .trokaaz-sommaire {
	background: var(--trokaaz-creme);
	box-shadow: none;
}

.trokaaz-conteneur .hp-page__content .hp-form--listing-submit,
.trokaaz-conteneur .hp-page__content .hp-form--listing-update {
	margin-bottom: 0;
}

/* Fiche d'annonce : les photos épousent le haut de l'encart. */
.trokaaz-conteneur .hp-listing--view-page .hp-listing__images {
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
}

@media only screen and (max-width: 47.99em) {
	.trokaaz-conteneur .hp-page__content {
		padding: 1.1rem 1rem 1.25rem;
		border-radius: 14px;
	}
}

/* Pastilles de compteur (messages non lus + trocs à traiter) : lien du compte,
   burger, menu du compte. Encre orange, texte blanc (5,3 : 1). */
.hp-menu__item--user-account small,
.header-navbar__burger > a small,
.hp-menu--user-account .hp-menu__item small,
.widget.hp-menu .hp-menu__item small,
.trokaaz-menu-badge,
.trokaaz-fil__pastille,
.trokaaz-conv__puce small {
	display: inline-grid;
	place-items: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.35rem;
	margin-left: 0.4rem;
	border-radius: var(--trokaaz-r-pilule);
	background: var(--trokaaz-orange-fonce);
	color: var(--trokaaz-blanc);
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 0.78rem;
	line-height: 1;
	vertical-align: middle;
	box-shadow: 0 0 0 2px var(--trokaaz-blanc);
}

.header-navbar__burger > a {
	position: relative;
}

.header-navbar__burger > a small {
	position: absolute;
	top: -0.35rem;
	right: -0.6rem;
	margin: 0;
}

/* Fenêtre volante « Du nouveau pour vous » (trokaaz-core, wp_footer ;
   affichée et refermée par assets/js/trokaaz.js). */
.trokaaz-notification {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	z-index: 900;
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	padding: 1rem 2.5rem 1rem 1rem;
	background: var(--trokaaz-blanc);
	border: 2px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 4px 0 var(--trokaaz-bord-fort), 0 16px 40px rgba(60, 30, 5, 0.25);
	animation: trokaaz-notification-entree 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.trokaaz-notification[hidden] {
	display: none;
}

@keyframes trokaaz-notification-entree {
	from { transform: translateY(1.5rem); opacity: 0; }
	to   { transform: translateY(0); opacity: 1; }
}

@media only screen and (min-width: 48em) {
	.trokaaz-notification {
		left: auto;
		width: 24rem;
		right: 1.5rem;
		bottom: 1.5rem;
	}
}

.trokaaz-notification__icone {
	flex: none;
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 3rem;
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	color: var(--trokaaz-noir);
	font-size: 1.2rem;
}

.trokaaz-notification__corps p {
	margin: 0;
}

.trokaaz-notification__titre {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.1rem;
	margin-bottom: 0.15rem !important;
}

.trokaaz-notification__texte {
	font-size: 0.98rem;
	margin-bottom: 0.75rem !important;
}

.trokaaz-notification__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
}

.trokaaz-notification__actions .button {
	min-height: 2.4rem;
	padding: 0.45rem 1rem;
	font-size: 0.92rem;
}

.trokaaz-notification__fermer {
	position: absolute;
}

/* --------------------------------------------------------------------------
   20. Titres de page, fenêtres modales, messagerie (revue 6.5, 09/10)
   -------------------------------------------------------------------------- */

/* Bandeau de titre : centré, titre encadré de deux abeilles et souligné de
   miel ; l'alvéole marqueur passe au-dessus, centrée. */
.header-hero--title .header-hero__content {
	text-align: center;
}

.header-hero--title .page__title {
	position: relative;
	display: inline-block;
	text-align: center; /* titre sur deux lignes centré (mobile, 12/10) */
	max-width: 100%;
	padding: 1.9rem 3.6rem 1rem;
	margin: 0.5rem 0 0.75rem;
	font-size: clamp(1.9rem, 5vw, 2.9rem);
	line-height: 1.15;
}

/* Alvéole marqueur centrée au-dessus du titre. */
.header-hero--title .page__title::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 20px;
	height: 22px;
	transform: translateX(-50%);
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

/* Abeilles de part et d'autre du titre (images de la planche) : la droite
   en pseudo-élément, la gauche sur un <span> ajouté par trokaaz.js. */
.header-hero--title .page__title::after {
	content: "";
	position: absolute;
	right: 0;
	top: 1.1rem;
	width: 3rem;
	height: 2.7rem;
	background: url("assets/img/illustrations/abeille-gauche-haut.webp") center / contain no-repeat;
	pointer-events: none;
}

.header-hero--title .page__title .trokaaz-titre-abeille {
	position: absolute;
	left: 0;
	top: 1.1rem;
	width: 3rem;
	height: 2.7rem;
	background: url("assets/img/illustrations/abeille-droite-p.webp") center / contain no-repeat;
	pointer-events: none;
}

/* Soulignement miel, court et arrondi, sous le titre. Posé sur .container
   (bloc), pas sur .row (flex : le pseudo-élément partait à droite sur PC). */
.header-hero--title .header-hero__content > .container::after {
	content: "";
	display: block;
	width: 5.5rem;
	height: 0.35rem;
	margin: -0.25rem auto 0;
	border-radius: var(--trokaaz-r-pilule);
	background: linear-gradient(90deg, var(--trokaaz-miel), var(--trokaaz-orange));
}

@media only screen and (max-width: 47.99em) {
	.header-hero--title .page__title {
		padding: 1.7rem 2.6rem 0.8rem;
	}

	.header-hero--title .page__title::after,
	.header-hero--title .page__title .trokaaz-titre-abeille {
		width: 2.2rem;
		height: 2rem;
		top: 1.3rem;
	}
}

/* Fenêtres modales (HivePress sur fancybox) : croix de fermeture visible,
   coins arrondis, bord miel. */
.fancybox-content.hp-modal,
.hp-modal {
	border-radius: var(--trokaaz-r-carte);
	border-top: 6px solid var(--trokaaz-miel);
}

/* Croix de fermeture (fenêtres et notifications) : rond orange foncé, croix
   blanche bien visible — le petit rond jaune n'était pas compris comme un
   bouton (retour Kevin du 13/10). Le SVG de fancybox est remplacé par une
   croix en texte. */
/*
 * Croix de fermeture : sélecteurs renforcés (0,3,0). La règle générale des
 * boutons « button:not(…):not(…) » (0,2,1, section 5) l'emportait et lui
 * imposait padding 0.7rem 1.4rem, bordure transparente et texte 1rem : croix
 * décentrée et double rond (retour Kevin du 14/10).
 */
.fancybox-slide .fancybox-close-small.fancybox-close-small,
.trokaaz-notification .trokaaz-notification__fermer.trokaaz-notification__fermer {
	display: grid !important;
	place-items: center;
	box-sizing: border-box;
	opacity: 1;
	top: 0.6rem;
	right: 0.6rem;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: var(--trokaaz-blanc) !important;
	background: var(--trokaaz-orange-fonce) !important;
	box-shadow: 0 2px 6px rgba(120, 60, 0, 0.3) !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform var(--trokaaz-transition), background-color var(--trokaaz-transition);
}

.fancybox-slide .fancybox-close-small.fancybox-close-small svg {
	display: none;
}

/* Le « × » est un caractère : boîte d'une ligne, sans marge, centrée par la grille. */
.fancybox-slide .fancybox-close-small.fancybox-close-small::before {
	content: "\00d7";
	display: block;
	line-height: 1;
	margin: 0;
	transform: translateY(-0.04em);
}

.fancybox-slide .fancybox-close-small.fancybox-close-small:hover,
.trokaaz-notification .trokaaz-notification__fermer.trokaaz-notification__fermer:hover {
	color: var(--trokaaz-blanc) !important;
	background: var(--trokaaz-orange) !important;
	transform: scale(1.08);
}

/* Message de confirmation volant (trokaaz.js) : « Votre message a bien été envoyé ». */
.trokaaz-toast {
	position: fixed;
	left: 50%;
	bottom: 1.5rem;
	transform: translateX(-50%);
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	max-width: calc(100% - 2rem);
	padding: 0.8rem 1.2rem;
	background: var(--trokaaz-vert-fonce);
	color: var(--trokaaz-blanc);
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	border-radius: var(--trokaaz-r-pilule);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	animation: trokaaz-notification-entree 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.trokaaz-toast--sortie {
	transition: opacity 0.4s;
	opacity: 0;
}

/* Messagerie : liste des conversations en lignes claires avec bouton. */
.trokaaz-messagerie__aide {
	color: var(--trokaaz-texte-doux);
	margin: 0 0 1rem;
}

.hp-messages .hp-message--thread-block,
table .hp-message--thread-block {
	background: var(--trokaaz-creme);
}

.hp-message--thread-block td {
	vertical-align: middle;
	padding: 0.9rem 0.75rem;
	border-bottom: 1px solid var(--trokaaz-bord);
}

.hp-message--thread-block .hp-message__sender a {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--trokaaz-noir);
}

.hp-message--thread-block .hp-message__sender .fa-envelope {
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-messagerie__repondre {
	text-align: right;
	white-space: nowrap;
}

.trokaaz-messagerie__repondre .button {
	min-height: 2.5rem;
	padding: 0.5rem 1rem;
	font-size: 0.95rem;
}

.trokaaz-messagerie__repondre .button i {
	margin-right: 0.4rem;
}

@media only screen and (max-width: 47.99em) {
	.hp-message--thread-block {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 0.25rem 0.75rem;
		padding: 0.75rem 0;
		border-bottom: 1px solid var(--trokaaz-bord);
	}

	.hp-message--thread-block td {
		display: block;
		padding: 0.15rem 0.25rem;
		border: 0;
	}

	.hp-message--thread-block .hp-message__sender {
		grid-column: 1;
	}

	.hp-message--thread-block .hp-message__listing,
	.hp-message--thread-block .hp-message__sent-date {
		grid-column: 1;
		font-size: 0.85rem;
		color: var(--trokaaz-texte-doux);
	}

	.hp-message--thread-block .trokaaz-messagerie__repondre {
		grid-column: 2;
		grid-row: 1 / 4;
		align-self: center;
	}
}

/* Messagerie par annonce (trokaaz-core 0.10.0) : une carte par fil.
   minmax(0, 1fr) + min-width: 0 : l'extrait sur une ligne ne peut plus
   élargir la grille hors de l'encart (débordement vu sur PC le 12/10). */
.trokaaz-fils {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
}

.trokaaz-fil {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.9rem 1.1rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-left: 5px solid var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-champ);
}

.trokaaz-fil--non-lu {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
	border-left-color: var(--trokaaz-orange);
}

.trokaaz-fil--sans-annonce {
	border-left-color: var(--trokaaz-lagon);
}

.trokaaz-fil__corps {
	flex: 1 1 auto;
	min-width: 0;
}

.trokaaz-fil__corps p {
	margin: 0 0 0.2rem;
}

.trokaaz-fil__annonce {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.08rem;
}

.trokaaz-fil__annonce a {
	color: var(--trokaaz-noir);
}

.trokaaz-fil__annonce i,
.trokaaz-fil__membre i {
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-fil__membre {
	font-weight: 700;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-fil__extrait {
	color: var(--trokaaz-texte-doux);
	font-size: 0.92rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.trokaaz-fil__date {
	display: inline-block;
	margin-right: 0.5rem;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.trokaaz-fil__action {
	flex: none;
	margin: 0;
}

.trokaaz-fil__action .button i {
	margin-right: 0.35rem;
}

/* Conversation : messages espacés (grille propre, sans hp-grid), écart avant
   le formulaire de réponse. */
.trokaaz-conv__messages {
	display: grid;
	gap: 1rem;
	margin: 0 0 1.5rem;
}

.trokaaz-conv__message {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.trokaaz-conv__messages .hp-message--view-block {
	margin: 0;
	max-width: 100%;
}

.trokaaz-messagerie__reponse {
	margin-top: 1.5rem !important;
}

/* « Lancer le troc d'ici » : de l'air avant la conversation. */
details.trokaaz-troc-form--conversation {
	margin-bottom: 1.5rem;
}

/* Conversation : en-tête « Au sujet de » + puces vers les autres annonces. */
.trokaaz-conv__entete {
	margin: 0 0 1.25rem;
	padding: 0.9rem 1.1rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
}

.trokaaz-conv__annonce {
	margin: 0;
	font-size: 1.05rem;
}

.trokaaz-conv__annonce i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.25rem;
}

.trokaaz-conv__annonce a {
	color: var(--trokaaz-noir);
}

.trokaaz-conv__avec {
	color: var(--trokaaz-texte-doux);
}

.trokaaz-conv__autres {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0.6rem 0 0;
	font-size: 0.92rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-conv__puce {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.75rem;
	border-radius: var(--trokaaz-r-pilule);
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord-fort);
	color: var(--trokaaz-noir);
	font-weight: 700;
}

.trokaaz-conv__puce--non-lu {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
}

.trokaaz-conv__puce small {
	margin-left: 0.35rem;
	box-shadow: none;
}

/* Menu d'en-tête : pastilles sur Mes trocs / Messages. */
.header-navbar__menu .trokaaz-menu-badge,
.header-navbar__burger .trokaaz-menu-badge {
	box-shadow: none;
}

/* Menu déroulant du compte (en-tête et burger) : « Messages » et « Mes trocs »
   y font doublon avec le menu principal connecté (demande Kevin 12/10). Le
   sous-menu est un frère du lien, dans li.menu-item--user-account
   (reference/hivepress/includes/components/class-template.php:254-281) ; le
   menu latéral des pages du compte (.widget) les garde. */
.header-navbar .menu-item--user-account .hp-menu__item--messages-thread,
.header-navbar .menu-item--user-account .hp-menu__item--trocs,
.header-navbar__burger .hp-menu__item--messages-thread,
.header-navbar__burger .hp-menu__item--trocs {
	display: none !important;
}

/* Pastille sur le nom du membre (en-tête PC et carte du compte du burger) :
   doublon des pastilles Mes trocs / Messages (retour 12/10). La pastille de
   l'icône burger reste. */
.header-navbar .hp-menu__item--user-account small,
.header-navbar__burger .menu-item--user-account > a small {
	display: none !important;
}

/* Menu principal PC : « Annonces » en avant (majuscules, plus gros, orange). */
@media only screen and (min-width: 48em) {
	.header-navbar__menu > ul > li.trokaaz-menu--annonces > a {
		text-transform: uppercase;
		letter-spacing: 0.04em;
		font-size: 1.12em;
		font-weight: 800;
		color: var(--trokaaz-orange-fonce) !important;
	}
}

/* --------------------------------------------------------------------------
   27. Voile de chargement : abeille qui vole sur place (1.14.0)
   -------------------------------------------------------------------------- */

/* Le « spinner qui prend le relais » (retour 12/10) : HiveTheme affiche son
   propre voile blanc à roue (.site-loader, data-component="loader") au
   chargement de CHAQUE page jusqu'au chargement des images, puis le fond en
   fondu (hivetheme frontend.min.js : imagesLoaded → fadeOut). On lui donne
   exactement l'aspect de notre voile : fond miel, alvéoles autour de
   l'abeille, même abeille, même vol. La roue est retirée. */
.site-loader {
	background: var(--trokaaz-miel-clair) !important;
	flex-direction: column;
}

.site-loader svg {
	display: none !important;
}

.site-loader::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("assets/img/alveoles-fond.svg?v=1") center / 380px auto;
	opacity: 0.45;
	-webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0, rgba(0, 0, 0, 0.5) 22%, transparent 48%);
	mask-image: radial-gradient(circle at 50% 50%, #000 0, rgba(0, 0, 0, 0.5) 22%, transparent 48%);
}

.site-loader::after {
	content: "";
	position: relative;
	width: 8rem;
	height: 6.75rem;
	background: url("assets/img/illustrations/abeille-face.webp") center / contain no-repeat;
	animation: trokaaz-vol-surplace 1.6s ease-in-out infinite;
}
.trokaaz-chargement {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	background: var(--trokaaz-miel-clair);
	opacity: 0;
	transition: opacity 0.6s ease; /* fondu bien visible (retours 12/10) */
	pointer-events: none;
}

/* Alvéoles seulement autour de l'abeille, en dégradé vers le fond miel. */
.trokaaz-chargement::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("assets/img/alveoles-fond.svg?v=1") center / 380px auto;
	opacity: 0.45;
	-webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0, rgba(0, 0, 0, 0.5) 22%, transparent 48%);
	mask-image: radial-gradient(circle at 50% 50%, #000 0, rgba(0, 0, 0, 0.5) 22%, transparent 48%);
}

.trokaaz-chargement--visible {
	opacity: 1;
	pointer-events: auto;
}

.trokaaz-chargement--sortie {
	opacity: 0;
	transition-duration: 0.4s;
}

.trokaaz-chargement[hidden] {
	display: none;
}

.trokaaz-chargement > * {
	position: relative;
}

/* L'abeille de la planche : elle vole sur place (monte, descend, oscille)
   avec un léger frémissement qui évoque le battement des ailes. */
.trokaaz-chargement__abeille {
	width: 8rem;
	height: auto;
	animation: trokaaz-vol-surplace 1.6s ease-in-out infinite; /* doux : pas de frémissement (retour 12/10) */
}

@keyframes trokaaz-vol-surplace {
	0%, 100% { translate: 0 0; rotate: -2deg; }
	50%      { translate: 0 -10px; rotate: 2deg; }
}

/* Profil d'un membre : pastille centrée, description en encart blanc. */
.hp-vendor--view-page .hp-vendor__attribute--type-profil,
.hp-vendor--view-page .hp-vendor__attributes--secondary:empty {
	display: none;
}

.hp-vendor--view-page .trokaaz-profil-pastille {
	margin: 0.5rem auto 0.75rem;
}

.hp-vendor--view-page .hp-vendor__summary {
	text-align: center;
}

.hp-vendor--view-page .hp-vendor__description {
	margin: 0.75rem 0 1rem;
	padding: 0.9rem 1.1rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	text-align: center;
}

.hp-vendor--view-page .trokaaz-badges-profil {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 0.25rem 0 0.5rem;
}

.hp-vendor--view-page .trokaaz-badges-profil__badge img {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--trokaaz-blanc);
	border: 2px solid var(--trokaaz-miel);
	padding: 2px;
}

/* Modification d'annonce : sur mobile seulement, onglet « Modifier » et
   actions « Rendre visible / Supprimer » centrés (retour 12/10 : pas sur PC). */
@media only screen and (max-width: 47.99em) {
	.trokaaz-route--listing-edit-page .hp-page__topbar,
	.trokaaz-route--listing-edit-page .hp-page__topbar .hp-menu--tabbed ul {
		justify-content: center;
	}

	.trokaaz-route--listing-edit-page .hp-page__topbar .hp-menu--tabbed {
		width: 100%;
		text-align: center;
	}

	.trokaaz-route--listing-edit-page .hp-listing__actions--secondary {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5rem 1.5rem;
		text-align: center;
	}
}

/* Note de modération : panneau « Attention », gras, centré (la note est dans
   .hp-form__header, reference/hivepress/includes/forms/class-form.php:410-415). */
.hp-form--listing-update .hp-form__description {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 1.25rem;
	padding: 0.9rem 1.1rem;
	text-align: center;
	font-weight: 700;
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	border-left: 5px solid var(--trokaaz-orange);
	border-radius: var(--trokaaz-r-champ);
	color: var(--trokaaz-noir);
}

.hp-form--listing-update .hp-form__description::before {
	content: "\f071";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.5rem;
	color: var(--trokaaz-orange-fonce);
}

/* --------------------------------------------------------------------------
   26. Menu burger (mobile) : panneau ruche (1.10.1)
   -------------------------------------------------------------------------- */
.header-navbar__burger > ul {
	background: var(--trokaaz-creme);
	background-image: url("assets/img/alveoles-fond.svg?v=1");
	background-size: 260px auto;
	background-position: center top;
	padding: 4.25rem 1.1rem 2.5rem;
	overflow-y: auto;
	box-shadow: inset 0 0 0 100vmax rgba(253, 246, 232, 0.72);
}

.header-navbar__burger > ul::before {
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: var(--trokaaz-r-pilule);
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord-fort);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort);
	font-size: 18px;
	top: 0.9rem;
	right: 1.1rem;
}

/* Chaque entrée : carte blanche, icône dans une alvéole, chevron. */
.header-navbar__burger > ul > li {
	margin: 0 0 0.6rem;
}

.header-navbar__burger > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	min-height: 3.4rem;
	padding: 0.6rem 2.4rem 0.6rem 0.75rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort);
	font-size: 1.12rem;
	font-weight: 700;
	color: var(--trokaaz-noir);
}

.header-navbar__burger > ul > li > a::before {
	content: "";
	flex: none;
	display: grid;
	place-items: center;
	width: 2.2rem;
	height: 2.45rem;
	background: var(--trokaaz-miel-clair);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.95rem;
	color: var(--trokaaz-orange-fonce);
}

.header-navbar__burger > ul > li.trokaaz-menu--annonces > a::before        { content: "\f02c"; }
.header-navbar__burger > ul > li.trokaaz-menu--comment-ca-marche > a::before { content: "\f059"; }
.header-navbar__burger > ul > li.trokaaz-menu--evenements > a::before      { content: "\f073"; }
.header-navbar__burger > ul > li.trokaaz-menu--points-relais > a::before   { content: "\f3c5"; }
.header-navbar__burger > ul > li.trokaaz-menu--dons-solidaires > a::before { content: "\f4b9"; }
.header-navbar__burger > ul > li.trokaaz-menu--mes-trocs > a::before       { content: "\f362"; }
.header-navbar__burger > ul > li.trokaaz-menu--messages > a::before        { content: "\f075"; }

/* Chevron à droite (remplace la flèche « enfants » de HiveTheme). */
.header-navbar__burger > ul > li > a::after {
	content: "\f054";
	position: absolute;
	right: 0.9rem;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.8rem;
	color: var(--trokaaz-bord-fort);
}

.header-navbar__burger > ul > li.current-menu-item > a {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
}

.header-navbar__burger > ul > li.current-menu-item::before {
	display: none;
}

/* Entrée à sous-menu (compte) : la flèche HiveTheme reste (elle ouvre le
   sous-menu), notre chevron s'efface pour ne pas doubler. La flèche est
   ancrée au bord droit de la carte, quel que soit la longueur du pseudo. */
.header-navbar__burger > ul > li.menu-item-has-children {
	position: relative;
}

.header-navbar__burger > ul > li.menu-item-has-children::after {
	position: absolute;
	right: 0.9rem;
	left: auto;
	top: 1.05rem;
	margin: 0;
	color: var(--trokaaz-orange-fonce);
}

.header-navbar__burger > ul > li.menu-item-has-children > a::after {
	display: none;
}

/* Première entrée (compte ou connexion) : encart miel, icône HivePress dans l'alvéole. */
.header-navbar__burger > ul > li.menu-item--first > a {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
	margin-bottom: 0.4rem;
}

.header-navbar__burger > ul > li.menu-item--first > a::before {
	content: "\f007";
	background: var(--trokaaz-miel);
}

.header-navbar__burger > ul > li.menu-item--first > a > i {
	display: none;
}

.header-navbar__burger > ul > li.menu-item--first > a small {
	position: static;
	margin-left: 0.4rem;
}

/* Sous-menu du compte (dans le burger) : liste simple, indentée. */
.header-navbar__burger > ul > li > ul {
	margin: 0.25rem 0 0.9rem 0.5rem;
	padding: 0.25rem 0 0.25rem 0.9rem;
	border-left: 3px solid var(--trokaaz-miel);
}

.header-navbar__burger > ul > li > ul li a {
	display: block;
	padding: 0.45rem 0.25rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--trokaaz-texte-doux);
}

/* Dernière entrée (« Ajouter une annonce » ou connexion) : bouton principal pleine largeur. */
.header-navbar__burger > ul > li.menu-item--last {
	margin-top: 1.25rem;
}

.header-navbar__burger > ul > li.menu-item--last > a,
.header-navbar__burger > ul > li.menu-item--last > a:hover {
	justify-content: center;
	padding: 0.75rem 1rem;
	background: var(--trokaaz-orange);
	border-color: var(--trokaaz-orange-fonce);
	box-shadow: 0 3px 0 var(--trokaaz-orange-fonce);
	color: var(--trokaaz-blanc);
}

.header-navbar__burger > ul > li.menu-item--last > a::before,
.header-navbar__burger > ul > li.menu-item--last > a::after {
	display: none;
}

/* Abeille et signature en bas du panneau. */
.header-navbar__burger > ul::after {
	content: "Trokaaz · la ruche du troc à La Réunion";
	display: block;
	margin: 1.5rem 0 0;
	padding: 3rem 0 0;
	text-align: center;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--trokaaz-texte-doux);
	background: url("assets/img/illustrations/abeille-face-p.webp") center top / 2.6rem auto no-repeat;
}

@media only screen and (max-width: 47.99em) {
	.trokaaz-fil {
		flex-direction: column;
		align-items: stretch;
		gap: 0.6rem;
	}

	.trokaaz-fil__extrait {
		white-space: normal;
	}

	.trokaaz-fil__action .button {
		width: 100%;
	}
}

/* Conversation : lien « Répondre » en haut, formulaire de réponse en encart. */
.trokaaz-messagerie__aller {
	margin: 0 0 1.25rem;
}

.trokaaz-messagerie__reponse {
	scroll-margin-top: 5.5rem;
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
}

.trokaaz-messagerie__reponse::before {
	content: "Votre réponse";
	display: block;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.1rem;
	margin-bottom: 0.75rem;
}

/* --------------------------------------------------------------------------
   21. Événements : cartes de liste et fiche (trokaaz-core 0.8.3, 09/10)
   -------------------------------------------------------------------------- */

/* Carte de liste : vignette carrée avec pastille calendrier, corps à droite. */
.trokaaz-event-carte {
	display: grid;
	grid-template-columns: 7.5rem 1fr;
	gap: 1.1rem;
	align-items: start;
	padding: 1rem;
	margin: 0 0 1.25rem;
	border-top: 6px solid var(--trokaaz-miel);
}

.trokaaz-event-carte__visuel {
	position: relative;
	display: block;
	aspect-ratio: 1;
	border-radius: var(--trokaaz-r-champ);
}

.trokaaz-event-carte__visuel img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--trokaaz-r-champ);
}

.trokaaz-event-carte__visuel-vide,
.trokaaz-event-fiche__visuel--vide {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	aspect-ratio: 1;
	border-radius: var(--trokaaz-r-champ);
	background: var(--trokaaz-miel-clair) url("assets/img/alveoles-fond.svg?v=1") center / 220px auto;
	color: var(--trokaaz-orange-fonce);
	font-size: 2rem;
}

/* Pastille calendrier : jour en gros, mois sur fond encre orange. */
.trokaaz-event-date {
	position: absolute;
	left: -0.6rem;
	top: -0.9rem;
	width: 3.3rem;
	overflow: hidden;
	border-radius: 10px;
	background: var(--trokaaz-blanc);
	box-shadow: 0 3px 0 #A8691C, 0 6px 12px rgba(60, 30, 5, 0.25);
	text-align: center;
	font-family: var(--trokaaz-police-titre);
	line-height: 1;
}

.trokaaz-event-date__jour {
	display: block;
	padding: 0.4rem 0 0.2rem;
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--trokaaz-noir);
}

.trokaaz-event-date__mois {
	display: block;
	padding: 0.25rem 0 0.3rem;
	background: var(--trokaaz-orange-fonce);
	color: var(--trokaaz-blanc);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.trokaaz-event-carte__corps {
	min-width: 0;
}

.trokaaz-event-carte__titre {
	font-size: 1.3rem;
	line-height: 1.2;
	margin: 0 0 0.5rem;
}

.trokaaz-event-carte__titre a {
	color: var(--trokaaz-noir);
	text-decoration: none;
}

.trokaaz-event-carte__titre a:hover {
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-event-carte__infos {
	list-style: none;
	margin: 0 0 0.85rem;
	padding: 0;
	display: grid;
	gap: 0.4rem;
}

.trokaaz-event-carte__infos li {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	font-size: 0.97rem;
}

.trokaaz-event-carte__infos i {
	flex: none;
	width: 1.2rem;
	margin-top: 0.2rem;
	text-align: center;
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-event-carte__infos em {
	font-style: normal;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-event-carte__action {
	margin: 0;
}

.trokaaz-event-carte__lien {
	font-weight: 700;
}

.trokaaz-event-carte--passe {
	opacity: 0.85;
	border-top-color: var(--trokaaz-bord-fort);
}

.trokaaz-event-carte--passe .trokaaz-event-date__mois {
	background: var(--trokaaz-texte-doux);
}

.trokaaz-event-carte--annule {
	opacity: 0.75;
}

.trokaaz-event-annule {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.5rem;
	padding: 0.3rem 0.8rem;
	border-radius: var(--trokaaz-r-pilule);
	background: #FBE4E0;
	color: #8E2D1A;
}

/* Jauge : texte, barre de remplissage, places restantes. */
.trokaaz-event-jauge {
	display: inline-grid;
	gap: 0.3rem;
	min-width: 11rem;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	color: var(--trokaaz-vert-fonce);
}

.trokaaz-event-jauge__barre {
	display: block;
	height: 0.55rem;
	border-radius: var(--trokaaz-r-pilule);
	background: var(--trokaaz-creme-fonce);
	overflow: hidden;
}

.trokaaz-event-jauge__barre span {
	display: block;
	height: 100%;
	border-radius: var(--trokaaz-r-pilule);
	background: linear-gradient(90deg, var(--trokaaz-vert), var(--trokaaz-vert-fonce));
}

.trokaaz-event-jauge__reste {
	font-family: var(--trokaaz-police-texte);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-events__passes {
	margin-top: 1.5rem;
}

.trokaaz-events__passes > summary {
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.1rem;
	padding: 0.6rem 0;
	cursor: pointer;
}

@media only screen and (max-width: 35.99em) {
	.trokaaz-event-carte {
		grid-template-columns: 5.5rem 1fr;
		gap: 0.75rem;
		padding: 0.85rem;
	}

	.trokaaz-event-carte__titre {
		font-size: 1.1rem;
	}

	.trokaaz-event-carte__action .button {
		width: 100%;
	}

	.trokaaz-event-date {
		width: 2.8rem;
		left: -0.4rem;
		top: -0.7rem;
	}

	.trokaaz-event-date__jour {
		font-size: 1.15rem;
	}
}

/* Fiche d'événement. */
.trokaaz-event-fiche {
	display: grid;
	gap: 1.5rem;
}

.trokaaz-event-fiche__entete {
	display: grid;
	gap: 1.25rem;
	padding: 1.25rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-top: 6px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.1);
}

@media only screen and (min-width: 48em) {
	.trokaaz-event-fiche__entete {
		grid-template-columns: 17rem 1fr;
		gap: 1.75rem;
	}
}

.trokaaz-event-fiche__visuel {
	aspect-ratio: 4 / 3;
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
}

.trokaaz-event-fiche__visuel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.trokaaz-event-fiche__visuel--vide {
	aspect-ratio: 4 / 3;
	font-size: 3rem;
}

.trokaaz-event-fiche__resume .trokaaz-event-date {
	position: static;
	display: inline-block;
	width: 3.8rem;
	margin: 0 0 1rem;
}

.trokaaz-event-infos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.9rem;
}

.trokaaz-event-infos__ligne {
	display: flex;
	gap: 0.8rem;
	align-items: flex-start;
}

.trokaaz-event-infos__icone {
	flex: none;
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.9rem;
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	color: var(--trokaaz-noir);
	font-size: 1.05rem;
}

.trokaaz-event-infos__titre {
	display: block;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-event-infos__valeur {
	display: block;
	font-size: 1.05rem;
	line-height: 1.4;
}

.trokaaz-event-infos__commune {
	color: var(--trokaaz-texte-doux);
}

.trokaaz-event-fiche__bloc {
	padding: 1.25rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
}

.trokaaz-event-fiche__bloc h2 {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.35rem;
	margin: 0 0 0.9rem;
	padding-top: 0;
}

.trokaaz-event-fiche__bloc h2 i {
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-event-fiche__description > :last-child {
	margin-bottom: 0;
}

.trokaaz-event-fiche__bloc .trokaaz-carte {
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
}

/* Fiche d'événement sur mobile : « Je participe » et son bouton centrés. */
@media only screen and (max-width: 47.99em) {
	.trokaaz-event-fiche__bloc--inscription {
		text-align: center;
	}

	.trokaaz-event-fiche__bloc--inscription h2 {
		justify-content: center;
	}

	.trokaaz-event-fiche__bloc--inscription .button,
	.trokaaz-event-fiche__bloc--inscription button {
		display: inline-flex;
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
	}

	.trokaaz-event-fiche__bloc--inscription form {
		text-align: center;
	}
}

.trokaaz-event-fiche__bloc--inscription {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
}

.trokaaz-event-fiche__bloc--inscription .trokaaz-event-inscription {
	margin: 0;
	padding: 0;
	background: transparent;
}

/* La jauge est déjà dans l'en-tête : pas de doublon dans le bloc d'inscription. */
.trokaaz-event-fiche__bloc--inscription .trokaaz-event-inscription > .trokaaz-event-jauge {
	display: none;
}

.trokaaz-event-fiche__bloc--inscription form {
	margin: 0;
}

/* Le thème parent n'affiche pas d'image à la une sur la fiche ; par sécurité. */
.single-trokaaz_event .post__image,
.single-trokaaz_event .post-single__image {
	display: none;
}

/* --------------------------------------------------------------------------
   22. Fiche d'annonce : description, vignette de l'annonceur (0.8.4, 09/10)
   -------------------------------------------------------------------------- */
.trokaaz-fiche__titre {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.3rem;
	margin: 1.5rem 0 0.75rem;
	padding-top: 0;
}

.trokaaz-fiche__titre i {
	color: var(--trokaaz-orange-fonce);
}

.hp-listing--view-page .hp-listing__description {
	padding: 1.1rem 1.25rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	font-size: 1.05rem;
	line-height: 1.6;
}

.hp-listing--view-page .hp-listing__description > :last-child {
	margin-bottom: 0;
}

/* Vignette de l'annonceur (colonne de droite) : tout centré. */
.hp-vendor--view-block {
	text-align: center;
	border-top: 6px solid var(--trokaaz-miel);
}

.hp-vendor--view-block .hp-vendor__header {
	padding-top: 1.5rem;
}

.hp-vendor--view-block .hp-vendor__image img {
	border: 4px solid var(--trokaaz-miel-clair);
	box-shadow: 0 6px 16px rgba(184, 70, 26, 0.15);
}

.hp-vendor--view-block .hp-vendor__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem 1.25rem;
}

.hp-vendor--view-block .hp-vendor__name {
	margin: 0;
}

.hp-vendor--view-block .hp-vendor__details--primary {
	justify-content: center;
}

/* L'attribut natif « Type de profil » laisse place à la pastille. */
.hp-vendor--view-block .hp-vendor__attribute--type-profil {
	display: none;
}

.hp-vendor--view-block .hp-vendor__attributes--secondary:empty,
.hp-vendor--view-block .hp-vendor__attributes--secondary .hp-row:empty {
	display: none;
}

/* Pastille du type de profil : une couleur par profil, texte sombre (AA). */
.trokaaz-profil-pastille {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.4rem 1rem;
	border-radius: var(--trokaaz-r-pilule);
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1rem;
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
	border: 2px solid var(--trokaaz-miel);
}

.trokaaz-profil-pastille--professionnel {
	background: #DCEFF4;
	color: var(--trokaaz-lagon-fonce);
	border-color: var(--trokaaz-lagon);
}

.trokaaz-profil-pastille--association {
	background: #E4EEDA;
	color: var(--trokaaz-vert-fonce);
	border-color: var(--trokaaz-vert);
}

.trokaaz-profil-pastille--agriculteur {
	background: #FBE3D5;
	color: var(--trokaaz-orange-fonce);
	border-color: var(--trokaaz-orange);
}

/* Badges obtenus, en ligne sous la pastille. */
.hp-vendor--view-block .trokaaz-badges-profil {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 0.25rem 0 0;
}

.hp-vendor--view-block .trokaaz-badges-profil__badge img {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--trokaaz-blanc);
	border: 2px solid var(--trokaaz-miel);
	padding: 2px;
}

.hp-vendor--view-block .hp-vendor__footer {
	justify-content: center;
}

/* --------------------------------------------------------------------------
   23. Fiche d'annonce : colonne d'actions (message, proposition de troc)
   -------------------------------------------------------------------------- */
.hp-listing--view-page .hp-listing__actions--primary {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* Ordre (demande client 09/10) : proposition de troc d'abord, message ensuite, signalement en dernier. */
.hp-listing--view-page .hp-listing__actions--primary > .trokaaz-troc-form,
.hp-listing--view-page .hp-listing__actions--primary > .trokaaz-appel {
	order: 1;
	text-align: center; /* texte et bouton « Adhérer » centrés (retour 12/10) */
}

.hp-listing--view-page .hp-listing__actions--primary > .trokaaz-appel .trokaaz-appel__bouton {
	display: inline-flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}

.hp-listing--view-page .hp-listing__actions--primary > .hp-listing__action--message {
	order: 2;
	width: 100%;
}

.hp-listing--view-page .hp-listing__actions--primary > .hp-listing__action--report {
	order: 3;
}

/* Encart « Proposer un troc » (trokaaz-core, troc-propose-form.php). */
.trokaaz-troc-form {
	margin: 0;
	padding: 1.25rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord-fort);
	border-top: 6px solid var(--trokaaz-orange);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.1);
	text-align: left;
}

.trokaaz-troc-form__titre {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.4rem;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.25rem;
}

.trokaaz-troc-form__titre i {
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-troc-form__aide {
	margin: 0 0 1rem;
	font-size: 0.92rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-troc-form__champ {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0 0 1rem;
}

.trokaaz-troc-form__champ label {
	font-weight: 700;
}

.trokaaz-troc-form__champ textarea,
.trokaaz-troc-form__champ input[type="number"] {
	width: 100%;
}

.trokaaz-troc-form__champ input[type="number"] {
	max-width: 8rem;
}

.trokaaz-troc-form__note {
	font-size: 0.85rem;
	color: var(--trokaaz-texte-doux);
}

/* « Où faire l'échange ? » (trokaaz-core 0.11.0) : cases à cocher larges. */
.trokaaz-troc-form__lieux {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.trokaaz-troc-form__lieux legend {
	display: block;
	margin-bottom: 0.4rem;
	font-weight: 700;
}

.trokaaz-troc-form__lieu {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0 0 0.45rem;
	padding: 0.6rem 0.75rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	cursor: pointer;
	font-weight: 400;
}

.trokaaz-troc-form__lieu:has(input:checked) {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
}

.trokaaz-troc-form__lieu input[type="radio"] {
	flex: none;
	margin-top: 0.25rem;
	width: 1.1rem;
	height: 1.1rem;
	accent-color: var(--trokaaz-orange);
}

.trokaaz-troc-form__lieu strong {
	display: block;
}

.trokaaz-troc-form__lieu small {
	display: block;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-troc-form__lieu-detail {
	margin: -0.1rem 0 0.6rem 2.1rem;
}

.trokaaz-troc-form__lieu-detail select,
.trokaaz-troc-form__lieu-detail input {
	width: 100%;
}

.trokaaz-troc-form__action {
	margin: 0;
}

.trokaaz-troc-form__action .button {
	width: 100%;
}

.trokaaz-troc-form__action .button i {
	margin-right: 0.4rem;
}

.trokaaz-troc-form--encours .trokaaz-troc-encours {
	margin: 0;
}

/* Conversation : lancer un troc sur l'une de ses annonces, replié (0.9.2). */
details.trokaaz-troc-form--conversation > summary {
	cursor: pointer;
	list-style: none;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.02rem;
}

details.trokaaz-troc-form--conversation > summary::-webkit-details-marker {
	display: none;
}

details.trokaaz-troc-form--conversation > summary i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.4rem;
}

details.trokaaz-troc-form--conversation > form {
	margin-top: 0.9rem;
}

details.trokaaz-troc-form--conversation label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.3rem;
}

/* --------------------------------------------------------------------------
   25. Mes trocs : actions, résumé en fenêtre, historique replié (0.9.2)
   Pages du compte : titres centrés et soulignés, sections en encarts (1.9.3)
   -------------------------------------------------------------------------- */

/* Titre de page centré, alvéole au-dessus, barre miel dessous (toutes les
   pages en encart sauf la fiche d'annonce, qui garde sa mise en page). */
.trokaaz-conteneur:not(.trokaaz-route--listing-view-page) .hp-page__content > .hp-page__title {
	position: relative;
	text-align: center;
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
}

.trokaaz-conteneur:not(.trokaaz-route--listing-view-page) .hp-page__content > .hp-page__title::before {
	left: 50%;
	transform: translateX(-50%);
}

.trokaaz-conteneur:not(.trokaaz-route--listing-view-page) .hp-page__content > .hp-page__title::after {
	content: "";
	display: block;
	width: 5.5rem;
	height: 0.35rem;
	margin: 0.6rem auto 0;
	border-radius: var(--trokaaz-r-pilule);
	background: linear-gradient(90deg, var(--trokaaz-miel), var(--trokaaz-orange));
}

/* --------------------------------------------------------------------------
   25 bis. Page des annonces : H1 « Toutes les annonces de troc à La Réunion »
   et son alvéole (::before) masqués à l'écran (demande Kevin du 22/10), mais
   gardés pour Google et les lecteurs d'écran (H1 de la spec SEO lot 8 §10).
   -------------------------------------------------------------------------- */
.trokaaz-page-annonces .hp-page__title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* --------------------------------------------------------------------------
   25 ter. Formulaire d'annonce (lot 10) : rappel « produits alimentaires »
   sous le choix de catégorie (Épicerie, Bébé et puériculture), affiché par
   assets/js/trokaaz.js.
   -------------------------------------------------------------------------- */
.trokaaz-aide-categorie[hidden] {
	display: none;
}

.trokaaz-aide-categorie:not([hidden]) {
	margin: 0.6rem 0 0;
	padding: 0.65rem 0.85rem;
	border-left: 4px solid var(--trokaaz-orange-fonce);
	border-radius: var(--trokaaz-r-champ);
	background: var(--trokaaz-miel-clair);
	font-size: 0.92rem;
	line-height: 1.45;
}

/* Sous-titres des pages du compte centrés. */
.trokaaz-conteneur:not(.trokaaz-route--listing-view-page) .hp-page__content h2 {
	text-align: center;
}

/* Mes trocs : une section = un encart crème, titre centré avec un trait. */
.trokaaz-trocs__section {
	margin: 0 0 1.25rem;
	padding: 1.1rem 1.1rem 0.25rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
}

.trokaaz-trocs__section > h2 {
	margin: 0 0 1rem;
	padding-bottom: 0.6rem;
	font-size: 1.35rem;
	border-bottom: 2px solid var(--trokaaz-bord-fort);
}

.trokaaz-trocs__section--a_traiter {
	background: var(--trokaaz-miel-clair);
	border-color: var(--trokaaz-miel);
}

.trokaaz-trocs__section--a_traiter > h2 {
	border-bottom-color: var(--trokaaz-miel);
}

/* Carte colorée en relief, légèrement brillante (retour 12/10 : pas de blanc
   sur blanc) ; les cases d'information passent en blanc dessus. */
.trokaaz-trocs__section .trokaaz-troc {
	background: linear-gradient(180deg, #FFF9E3 0%, var(--trokaaz-miel-clair) 100%);
	border-color: var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.12); /* liseré gauche d'état conservé (§ trocs) */
}

.trokaaz-trocs__section .trokaaz-troc__case {
	background: var(--trokaaz-blanc);
	border-color: var(--trokaaz-bord-fort);
	box-shadow: 0 1px 0 var(--trokaaz-bord-fort);
}

.trokaaz-trocs__section .trokaaz-troc__consigne {
	background: var(--trokaaz-blanc);
}

.trokaaz-trocs__section .trokaaz-troc__consigne--attente {
	background: #FFF3C4;
}

.trokaaz-trocs__section .trokaaz-trocs__vide {
	margin: 0 0 1rem;
	text-align: center;
}
.trokaaz-troc__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center; /* boutons centrés, PC et mobile (retour 12/10) */
	gap: 0.6rem;
	margin-top: 0.75rem;
}

.trokaaz-troc__decisions {
	display: contents;
}

.trokaaz-troc__actions .button i,
.trokaaz-resume__actions .button i {
	margin-right: 0.35rem;
}

.trokaaz-troc__lieu {
	margin: 0.4rem 0 0;
	font-size: 0.95rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-troc__lieu i {
	color: var(--trokaaz-orange-fonce);
}

/* Historique : au-delà de cinq trocs, un volet « Voir les N trocs plus anciens ». */
.trokaaz-trocs__plus > summary {
	display: inline-block;
	margin: 0.25rem 0 1rem;
	padding: 0.55rem 1.1rem;
	cursor: pointer;
	list-style: none;
	border-radius: var(--trokaaz-r-pilule);
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort);
	font-weight: 700;
}

.trokaaz-trocs__plus > summary::-webkit-details-marker {
	display: none;
}

.trokaaz-trocs__plus > summary::before {
	content: "+ ";
}

.trokaaz-trocs__plus[open] > summary::before {
	content: "− ";
}

/* Résumé du troc : fenêtre compacte, rayon de miel en tête, abeille. */
.fancybox-content.trokaaz-resume,
.trokaaz-resume {
	width: 30rem;
	max-width: 92vw;
	padding: 0;
	overflow: hidden;
	border-top: none;
}

.trokaaz-resume__tete {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	padding: 1.1rem 3rem 1.1rem 1.25rem;
	background: var(--trokaaz-miel-clair);
	border-bottom: 1px solid var(--trokaaz-miel);
}

.trokaaz-resume__tete::before {
	opacity: 0.4;
	background-size: 260px auto;
}

.trokaaz-resume__abeille {
	width: 3rem;
	height: 3rem;
	object-fit: contain;
	animation: trokaaz-resume-abeille 3s ease-in-out infinite;
}

@keyframes trokaaz-resume-abeille {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-4px); }
}

.trokaaz-resume__titre {
	margin: 0;
	flex: 1 1 auto;
	font-size: 1.3rem;
	font-family: var(--trokaaz-police-titre);
}

.trokaaz-resume__corps {
	margin: 0;
	padding: 0.5rem 1.25rem;
}

.trokaaz-resume__ligne {
	display: grid;
	grid-template-columns: 9.5rem 1fr;
	gap: 0.25rem 0.75rem;
	padding: 0.7rem 0;
	border-bottom: 1px dashed var(--trokaaz-bord);
}

.trokaaz-resume__ligne:last-child {
	border-bottom: none;
}

.trokaaz-resume__ligne dt {
	font-weight: 700;
	color: var(--trokaaz-texte-doux);
	font-size: 0.92rem;
}

.trokaaz-resume__ligne dt i {
	color: var(--trokaaz-orange-fonce);
	width: 1.1rem;
	text-align: center;
	margin-right: 0.2rem;
}

.trokaaz-resume__ligne dd {
	margin: 0;
}

.trokaaz-resume__ligne dd small {
	display: block;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-resume__quantite {
	font-weight: 700;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-resume__etapes {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.92rem;
}

.trokaaz-resume__etapes li {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.15rem 0;
}

.trokaaz-resume__etapes time {
	color: var(--trokaaz-texte-doux);
	white-space: nowrap;
}

.trokaaz-resume__actions {
	margin: 0;
	padding: 0.75rem 1.25rem 1.25rem;
	text-align: center;
}

/* Proposition reçue : décision dans la fenêtre. */
.trokaaz-resume__decisions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
	margin: 0;
	padding: 0.75rem 1.25rem 1.25rem;
	background: var(--trokaaz-creme);
	border-top: 1px solid var(--trokaaz-bord);
}

.trokaaz-resume__question {
	flex: 0 0 100%;
	margin: 0 0 0.25rem;
	text-align: center;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
}

.trokaaz-resume__decisions .button i {
	margin-right: 0.35rem;
}

/* Mes trocs : la contrepartie proposée, en citation. */
.trokaaz-troc__contrepartie {
	margin: 0.4rem 0 0;
	padding: 0.6rem 0.9rem;
	background: var(--trokaaz-creme);
	border-radius: var(--trokaaz-r-champ);
	font-size: 0.95rem;
}

.trokaaz-troc__contrepartie i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.25rem;
}

.trokaaz-troc__contrepartie q {
	font-style: italic;
	quotes: "« " " »";
}

@media only screen and (max-width: 35.99em) {
	.trokaaz-troc__actions .button,
	.trokaaz-troc__actions .hp-button {
		width: 100%;
	}

	.trokaaz-resume__ligne {
		grid-template-columns: 1fr;
	}

	.trokaaz-resume__etapes li {
		flex-direction: column;
	}
}

/* --------------------------------------------------------------------------
   24. Conversation : bandeau « Troc en cours » (trokaaz-core 0.9.0)
   -------------------------------------------------------------------------- */
.trokaaz-bandeau-trocs {
	display: grid;
	gap: 1rem;
	margin: 0 0 1.5rem;
}

.trokaaz-bandeau-troc {
	padding: 1.1rem 1.25rem;
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	border-left: 6px solid var(--trokaaz-orange);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: 0 3px 0 var(--trokaaz-bord-fort), 0 10px 22px rgba(184, 70, 26, 0.1);
}

.trokaaz-bandeau-troc--accepte {
	border-left-color: var(--trokaaz-vert);
}

.trokaaz-bandeau-troc__entete {
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	margin-bottom: 0.9rem;
}

.trokaaz-bandeau-troc__icone {
	flex: none;
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.9rem;
	background: var(--trokaaz-miel);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	color: var(--trokaaz-noir);
}

.trokaaz-bandeau-troc__titre {
	margin: 0 0 0.35rem;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.15rem;
}

.trokaaz-bandeau-troc__titre a {
	color: var(--trokaaz-noir);
}

.trokaaz-bandeau-troc__quantite {
	color: var(--trokaaz-texte-doux);
	font-weight: 600;
}

.trokaaz-bandeau-troc__etat {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.95rem;
}

.trokaaz-bandeau-troc__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
}

.trokaaz-bandeau-troc__actions .button i {
	margin-right: 0.35rem;
}

.trokaaz-bandeau-troc__lien {
	margin-left: auto;
	font-weight: 700;
	font-size: 0.92rem;
}

/* Lieux de rencontre (repliés par défaut). */
.trokaaz-bandeau-troc__lieux {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
}

.trokaaz-bandeau-troc__lieux > summary {
	cursor: pointer;
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	list-style: none;
}

.trokaaz-bandeau-troc__lieux > summary::-webkit-details-marker {
	display: none;
}

.trokaaz-bandeau-troc__lieux > summary i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.35rem;
}

.trokaaz-bandeau-troc__lieux-corps {
	margin-top: 0.75rem;
}

.trokaaz-bandeau-troc__lieux-titre {
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.92rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-bandeau-troc__relais {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.trokaaz-bandeau-troc__relais form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin: 0;
	padding: 0.6rem 0.75rem;
	background: var(--trokaaz-creme);
	border-radius: var(--trokaaz-r-champ);
}

.trokaaz-bandeau-troc__relais-texte {
	flex: 1 1 14rem;
	display: grid;
	font-size: 0.92rem;
}

.trokaaz-bandeau-troc__relais .button,
.trokaaz-bandeau-troc__autre-lieu .button {
	min-height: 2.4rem;
	padding: 0.45rem 0.9rem;
	font-size: 0.92rem;
}

.trokaaz-bandeau-troc__autre-lieu {
	margin: 0;
}

.trokaaz-bandeau-troc__autre-lieu label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.35rem;
}

.trokaaz-bandeau-troc__autre-lieu-ligne {
	display: flex;
	gap: 0.5rem;
}

.trokaaz-bandeau-troc__autre-lieu-ligne input {
	flex: 1;
	min-width: 0;
}

@media only screen and (max-width: 35.99em) {
	.trokaaz-bandeau-troc__actions .button {
		width: 100%;
	}

	.trokaaz-bandeau-troc__lien {
		margin-left: 0;
	}

	.trokaaz-bandeau-troc__autre-lieu-ligne {
		flex-direction: column;
	}
}

/* Vignettes d'annonces : pseudo de l'auteur (trokaaz-core 0.9.1), première
   ligne des détails, en pleine largeur pour rester lisible sur 2 colonnes. */
.hp-listing--view-block .hp-listing__details--primary {
	flex-wrap: wrap;
}

.trokaaz-auteur,
.trokaaz-commune {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex: 0 0 auto;
	margin-bottom: 0.25rem;
	margin-right: 0.75rem;
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--trokaaz-texte-doux);
	text-transform: none;
}

/* La commune occupe le reste de la ligne : la catégorie passe dessous. */
.trokaaz-commune {
	flex: 1 1 auto;
	margin-right: 0;
}

.trokaaz-auteur i,
.trokaaz-commune i {
	color: var(--trokaaz-orange-fonce);
	font-size: 0.8em;
}

.trokaaz-auteur a {
	color: inherit;
}

.trokaaz-auteur a:hover {
	color: var(--trokaaz-orange-fonce);
}

/* --------------------------------------------------------------------------
   28. Pages légales et d'information (lot 7, trokaaz-core 0.18.0)
   -------------------------------------------------------------------------- */

/* Repère admin d'une information légale non renseignée. */
.trokaaz-a-completer {
	padding: 0.1em 0.4em;
	background: #FFE2A8;
	border-radius: 0.3em;
	font-weight: 700;
}

/* Tableau (politique de confidentialité) : tête miel, lignes zébrées. */
.trokaaz-tableau {
	width: 100%;
	margin: 0 0 1.5rem;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
	background: var(--trokaaz-blanc);
	font-size: 0.95rem;
}

.trokaaz-tableau th,
.trokaaz-tableau td {
	padding: 0.7rem 0.8rem;
	border-bottom: 1px solid var(--trokaaz-bord);
	vertical-align: top;
	text-align: left;
}

.trokaaz-tableau thead th {
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-noir);
	font-weight: 800;
	border-bottom: 2px solid var(--trokaaz-miel);
}

.trokaaz-tableau tbody tr:nth-child(even) td {
	background: var(--trokaaz-creme);
}

.trokaaz-tableau tbody tr:last-child td {
	border-bottom: 0;
}

/* Formulaire papier (rétractation) : encart pointillé à recopier. */
.trokaaz-formulaire-papier {
	margin: 0 0 1.25rem;
	padding: 1.25rem 1.4rem;
	background: var(--trokaaz-blanc);
	border: 2px dashed var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-carte);
	line-height: 1.8;
}

.trokaaz-formulaire-papier p:last-child {
	margin-bottom: 0;
}

.trokaaz-retractation,
.trokaaz-cta {
	text-align: center;
	margin: 1.5rem 0 0.5rem;
}

.trokaaz-retractation .button,
.trokaaz-cta .button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
	margin-right: auto;
}

/* Comment ça marche : vidéo en encart, étapes numérotées en alvéole, FAQ dépliable. */
.trokaaz-video-page {
	max-width: 42rem;
	margin: 0 auto 2rem;
}

.trokaaz-video-page .trokaaz-hero__video {
	margin: 0;
}

.trokaaz-etapes {
	list-style: none;
	counter-reset: trokaaz-etape;
	margin: 0 0 2rem;
	padding: 0;
	display: grid;
	gap: 0.9rem;
}

.trokaaz-etapes li {
	counter-increment: trokaaz-etape;
	position: relative;
	margin: 0;
	padding: 1rem 1.1rem 1rem 4.4rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: var(--trokaaz-ombre);
	line-height: 1.6;
}

.trokaaz-etapes li::before {
	content: counter(trokaaz-etape);
	position: absolute;
	left: 1rem;
	top: 0.95rem;
	width: 2.4rem;
	height: 2.4rem;
	display: grid;
	place-items: center;
	background: linear-gradient(160deg, var(--trokaaz-miel), var(--trokaaz-orange));
	color: var(--trokaaz-noir);
	font-weight: 800;
	font-size: 1.15rem;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

.trokaaz-etapes li strong {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 1.08rem;
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-faq {
	display: grid;
	gap: 0.6rem;
	margin: 0 0 1.5rem;
}

.trokaaz-faq details {
	margin: 0;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-champ);
	overflow: hidden;
}

.trokaaz-faq details[open] {
	border-color: var(--trokaaz-miel);
	box-shadow: var(--trokaaz-ombre);
}

.trokaaz-faq summary {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.9rem 1.1rem;
	cursor: pointer;
	font-weight: 700;
	font-size: 1.02rem;
	list-style: none;
	color: var(--trokaaz-noir);
}

.trokaaz-faq summary::-webkit-details-marker {
	display: none;
}

.trokaaz-faq summary::before {
	content: "\f067";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	flex: 0 0 1.7rem;
	width: 1.7rem;
	height: 1.7rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--trokaaz-miel-clair);
	color: var(--trokaaz-orange-fonce);
	font-size: 0.8rem;
	transition: transform 0.2s;
}

.trokaaz-faq details[open] summary::before {
	content: "\f068";
	background: var(--trokaaz-miel);
}

.trokaaz-faq summary:hover {
	background: var(--trokaaz-creme);
}

.trokaaz-faq details p {
	margin: 0;
	padding: 0 1.1rem 1rem 3.55rem;
	line-height: 1.6;
}

/* Formulaire de contact. */
.trokaaz-contact {
	max-width: 40rem;
	margin: 1.5rem auto 0;
	padding: 1.5rem 1.4rem;
	background: var(--trokaaz-creme);
	border: 1px solid var(--trokaaz-bord);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: var(--trokaaz-ombre);
}

.trokaaz-contact__form p {
	margin: 0 0 1rem;
}

.trokaaz-contact__form label {
	display: block;
	margin-bottom: 0.3rem;
	font-weight: 700;
}

.trokaaz-contact__form input[type="text"],
.trokaaz-contact__form input[type="email"],
.trokaaz-contact__form select,
.trokaaz-contact__form textarea {
	width: 100%;
	background: var(--trokaaz-blanc);
}

.trokaaz-contact__piege {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.trokaaz-contact__action {
	text-align: center;
	margin-top: 1.25rem;
}

.trokaaz-contact__action .button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 12rem;
	justify-content: center;
}

.trokaaz-contact__mention {
	margin: 0.75rem 0 0 !important;
	font-size: 0.86rem;
	color: var(--trokaaz-texte-doux);
	text-align: center;
	line-height: 1.5;
}

.trokaaz-contact__retour {
	margin: 0 0 1.25rem;
	padding: 0.8rem 1rem;
	border-radius: var(--trokaaz-r-champ);
	font-weight: 700;
	text-align: center;
}

.trokaaz-contact__retour--ok {
	background: #E6F4EA;
	border: 1px solid var(--trokaaz-vert);
	color: var(--trokaaz-vert-fonce);
}

.trokaaz-contact__retour--erreur {
	background: #FDECEA;
	border: 1px solid #E57373;
	color: #B3261E;
}

/* Mes trocs : fiche de suivi (professionnels). */
.trokaaz-trocs__fiche {
	text-align: center;
	margin: 0 0 1.25rem;
}

.trokaaz-trocs__fiche .button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

/* Paiement : case « accès immédiat » (CGA art. 7). */
.trokaaz-acces-immediat {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	background: var(--trokaaz-miel-clair);
	border: 1px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-champ);
	line-height: 1.5;
}

.trokaaz-acces-immediat label {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-weight: 600;
}

.trokaaz-acces-immediat input {
	margin-top: 0.3rem;
	flex: 0 0 auto;
}

@media (max-width: 47.99em) {
	/* Tableau empilé : chaque cellule porte son titre (data-titre). */
	.trokaaz-tableau thead {
		display: none;
	}

	.trokaaz-tableau,
	.trokaaz-tableau tbody,
	.trokaaz-tableau tr,
	.trokaaz-tableau td {
		display: block;
		width: 100%;
	}

	.trokaaz-tableau tr {
		border-bottom: 3px solid var(--trokaaz-miel);
	}

	.trokaaz-tableau tr:last-child {
		border-bottom: 0;
	}

	.trokaaz-tableau td {
		padding: 0.55rem 0.8rem;
	}

	.trokaaz-tableau td::before {
		content: attr(data-titre);
		display: block;
		margin-bottom: 0.15rem;
		font-size: 0.78rem;
		font-weight: 800;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		color: var(--trokaaz-orange-fonce);
	}

	.trokaaz-etapes li {
		padding-left: 3.9rem;
	}

	.trokaaz-etapes li::before {
		left: 0.75rem;
	}

	.trokaaz-faq details p {
		padding-left: 1.1rem;
	}

	.trokaaz-retractation .button,
	.trokaaz-cta .button,
	.trokaaz-trocs__fiche .button,
	.trokaaz-contact__action .button {
		width: 100%;
		justify-content: center;
	}
}

/* --------------------------------------------------------------------------
   29. Retours du 13/10 : menu du compte en relief, bouton Ajouter une annonce,
       suppression de conversation, hero
   -------------------------------------------------------------------------- */

/* Menu latéral du compte : encart en relief, abeille posée dessus, une carte
   blanche par entrée avec son icône dans une alvéole. */
.site-sidebar .hp-widget--user-account-menu {
	position: relative;
	margin-top: 2.4rem;
	padding: 2.9rem 1rem 1rem;
	background: linear-gradient(180deg, #FFF9E3 0%, var(--trokaaz-blanc) 45%);
	border: 1px solid var(--trokaaz-miel);
	border-top: 6px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 3px 0 var(--trokaaz-bord-fort), 0 14px 30px rgba(184, 70, 26, 0.14);
	overflow: visible;
}

.site-sidebar .hp-widget--user-account-menu::before {
	content: "";
	position: absolute;
	top: -2.5rem;
	left: 50%;
	width: 4.6rem;
	height: 4rem;
	transform: translateX(-50%);
	background: url("assets/img/illustrations/abeille-face-p.webp") center / contain no-repeat;
	filter: drop-shadow(0 4px 6px rgba(120, 60, 0, 0.25));
	animation: trokaaz-abeille-compte 2.4s ease-in-out infinite;
	pointer-events: none;
}

@keyframes trokaaz-abeille-compte {
	0%, 100% { transform: translate(-50%, 0) rotate(-3deg); }
	50%      { transform: translate(-50%, -5px) rotate(3deg); }
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item {
	margin: 0 0 0.45rem;
	padding-left: 0;
}

/* Chevron du thème parent (frontend.min.css : `.widget_nav_menu li::before`) retiré. */
.site-sidebar .hp-widget--user-account-menu li::before {
	content: none !important;
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item > a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	gap: 0.7rem;
	padding: 0.55rem 0.8rem 0.55rem 0.55rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-radius: 999px;
	box-shadow: 0 2px 0 var(--trokaaz-bord), 0 4px 10px rgba(184, 70, 26, 0.06);
	color: var(--trokaaz-noir);
	font-family: var(--trokaaz-police-titre);
	font-weight: 700;
	font-size: 1.02rem;
	transition: transform var(--trokaaz-transition), box-shadow var(--trokaaz-transition), background-color var(--trokaaz-transition);
}

/* Icône dans une alvéole : remplace le chevron du thème parent. */
.site-sidebar .hp-widget--user-account-menu .hp-menu__item > a::before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 0.85rem;
	flex: 0 0 2rem;
	width: 2rem;
	height: 2.2rem;
	display: grid;
	place-items: center;
	margin: 0;
	background: linear-gradient(160deg, var(--trokaaz-miel-clair), var(--trokaaz-miel));
	color: var(--trokaaz-orange-fonce);
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	transition: background var(--trokaaz-transition), color var(--trokaaz-transition);
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item--messages-thread > a::before { content: "\f0e0"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--listings-edit > a::before { content: "\f02c"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--trocs > a::before { content: "\f362"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--evenements > a::before { content: "\f073"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--adhesion > a::before { content: "\f2c2"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--badges > a::before { content: "\f559"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--listings-favorite > a::before { content: "\f004"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--user-edit-settings > a::before { content: "\f013"; }
.site-sidebar .hp-widget--user-account-menu .hp-menu__item--user-logout > a::before { content: "\f2f5"; }

.site-sidebar .hp-widget--user-account-menu .hp-menu__item > a:hover {
	background: var(--trokaaz-creme);
	transform: translateX(3px);
	box-shadow: 0 2px 0 var(--trokaaz-bord-fort), 0 6px 14px rgba(184, 70, 26, 0.12);
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item--current > a {
	background: linear-gradient(135deg, var(--trokaaz-miel-clair), var(--trokaaz-miel));
	border-color: var(--trokaaz-miel);
	color: var(--trokaaz-orange-fonce);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 2px 0 var(--trokaaz-bord-fort), 0 6px 14px rgba(184, 70, 26, 0.14);
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item--current > a::before {
	background: var(--trokaaz-orange-fonce);
	color: var(--trokaaz-blanc);
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item--user-logout > a {
	margin-top: 0.6rem;
	color: var(--trokaaz-texte-doux);
	box-shadow: none;
	background: transparent;
	border-style: dashed;
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item > a > span {
	flex: 1 1 auto;
	text-align: left;
}

.site-sidebar .hp-widget--user-account-menu .hp-menu__item > a small {
	flex: none;
	margin-left: auto;
}

/* Fiche d'annonce, auteur : « Quantité restante » en un clic (13/10). */
.trokaaz-stock-form {
	border-top-color: var(--trokaaz-vert);
}

.trokaaz-stock-form--epuisee {
	border-top-color: #B3261E;
	background: #FFF4F2;
}

.trokaaz-stock-form__ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

.trokaaz-stock-form__ligne input[type="number"] {
	width: 6rem;
	min-height: 2.9rem;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 700;
	background: var(--trokaaz-blanc);
}

.trokaaz-stock-form__unite {
	font-weight: 700;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-stock-form__ligne .button {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	min-height: 2.9rem;
}

/* Conversation : rappel discret pour l'auteur d'une annonce (remplace le
   bloc « Lancez le troc d'ici », retiré le 13/10). */
.trokaaz-accord {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: var(--trokaaz-creme);
	border: 1px dashed var(--trokaaz-bord-fort);
	border-radius: var(--trokaaz-r-champ);
	font-size: 0.95rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-accord i {
	color: var(--trokaaz-orange-fonce);
	margin-right: 0.35rem;
}

/* Reçu d'abonnement imprimable (lot 7 §4.1). */
.trokaaz-recu__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
	margin: 0 0 1.25rem;
}

.trokaaz-recu__actions .button {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
}

.trokaaz-recu__feuille {
	max-width: 42rem;
	margin: 0 auto;
	padding: 1.75rem 1.5rem;
	background: var(--trokaaz-blanc);
	border: 1px solid var(--trokaaz-bord);
	border-top: 6px solid var(--trokaaz-miel);
	border-radius: var(--trokaaz-r-carte);
	box-shadow: var(--trokaaz-ombre);
	text-align: left;
}

.trokaaz-recu__entete {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem 1.5rem;
	padding-bottom: 0.75rem;
	margin-bottom: 1rem;
	border-bottom: 1px dashed var(--trokaaz-bord-fort);
}

.trokaaz-recu__marque {
	margin: 0;
	font-family: var(--trokaaz-police-titre);
	font-weight: 800;
	font-size: 1.6rem;
	color: var(--trokaaz-orange-fonce);
}

.trokaaz-recu__emetteur {
	margin: 0;
	font-size: 0.9rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-recu__titre {
	text-align: left !important;
	font-size: 1.4rem;
	margin: 0 0 1rem;
}

.trokaaz-recu__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1rem;
}

.trokaaz-recu__table th,
.trokaaz-recu__table td {
	padding: 0.5rem 0.6rem;
	border-bottom: 1px solid var(--trokaaz-bord);
	text-align: left;
	vertical-align: top;
}

.trokaaz-recu__table th {
	width: 11rem;
	color: var(--trokaaz-texte-doux);
	font-weight: 700;
}

.trokaaz-recu__mention {
	margin: 0 0 0.5rem;
	font-size: 0.92rem;
}

.trokaaz-recu__remboursement {
	margin: 1rem 0 0;
	padding: 0.7rem 0.9rem;
	background: #FFF4F2;
	border-left: 4px solid #B3261E;
	border-radius: var(--trokaaz-r-champ);
}

@media print {
	.site-header,
	.site-footer,
	.site-sidebar,
	.hp-page__sidebar,
	.header-hero,
	.trokaaz-chargement,
	.site-loader,
	.trokaaz-notification,
	.trokaaz-sans-impression,
	.trokaaz-recu__actions,
	.trokaaz-fil-ariane,
	body:has(.trokaaz-recu) .hp-page__title,
	body:has(.trokaaz-recu) .hp-page__header {
		display: none !important;
	}

	body,
	.site-content,
	.hp-page__content,
	.trokaaz-conteneur .hp-page__content {
		background: #fff !important;
		box-shadow: none !important;
		border: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.trokaaz-recu__feuille {
		max-width: none;
		border: 0;
		border-top: 4px solid #000;
		border-radius: 0;
		box-shadow: none;
		padding: 0.5cm 0;
		color: #000;
	}

	.trokaaz-recu__marque,
	.trokaaz-recu__table th,
	.trokaaz-recu__emetteur {
		color: #000;
	}
}

/* ==========================================================================
   30. Référencement (lot 8) : fil d'Ariane, introductions, maillage interne
   ========================================================================== */

.trokaaz-fil-ariane {
	margin-top: 1rem;
	margin-bottom: -0.5rem;
}

.trokaaz-fil-ariane .rank-math-breadcrumb p {
	margin: 0;
	font-size: 0.875rem;
	color: var(--trokaaz-texte-doux);
}

.trokaaz-fil-ariane .rank-math-breadcrumb a {
	color: var(--trokaaz-orange-fonce);
	font-weight: 700;
	text-decoration: none;
}

.trokaaz-fil-ariane .rank-math-breadcrumb a:hover {
	text-decoration: underline;
}

.trokaaz-fil-ariane .separator {
	color: var(--trokaaz-bord-fort);
}

/* Introduction d'une commune, zone, catégorie ou type : 2 à 4 lignes, puis
   « Lire la suite » (sans script : la cible :target déplie le texte). */
.trokaaz-intro {
	max-width: 65ch;
	margin: 0 0 1.25rem;
	color: var(--trokaaz-texte-doux);
	line-height: 1.6;
}

.hp-listing-category__description .trokaaz-intro {
	margin-left: auto;
	margin-right: auto;
}

.trokaaz-intro__texte p {
	margin: 0;
}

.trokaaz-intro--repliable .trokaaz-intro__texte {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.trokaaz-intro--repliable:target .trokaaz-intro__texte {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.trokaaz-intro__plus {
	display: inline-block;
	margin-top: 0.35rem;
	color: var(--trokaaz-orange-fonce);
	font-weight: 700;
	text-decoration: none;
}

.trokaaz-intro--repliable:target .trokaaz-intro__plus {
	display: none;
}

/* Maillage : fiche annonce (commune, catégorie) et page commune. */
.trokaaz-maillage ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.trokaaz-maillage a {
	display: inline-block;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--trokaaz-bord-fort);
	border-radius: 999px;
	background: #fff;
	color: var(--trokaaz-noir);
	font-weight: 700;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.trokaaz-maillage a:hover,
.trokaaz-maillage a:focus-visible {
	border-color: var(--trokaaz-orange);
	color: var(--trokaaz-orange-fonce);
}

.hp-listing--view-page .trokaaz-maillage {
	margin: 1.5rem 0 0.5rem;
}

.trokaaz-maillage--commune {
	display: grid;
	gap: 1.5rem;
	margin: 2rem 0 0;
	padding: 1.5rem;
	border-radius: 16px;
	background: var(--trokaaz-creme-fonce);
}

.trokaaz-maillage--commune h2 {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
}

.trokaaz-maillage__date {
	color: var(--trokaaz-texte-doux);
	font-size: 0.875rem;
}

.trokaaz-maillage--commune section:not(:has(.trokaaz-maillage__communes)) ul {
	flex-direction: column;
	align-items: flex-start;
}

.trokaaz-maillage__zone a {
	border-color: var(--trokaaz-orange);
	color: var(--trokaaz-orange-fonce);
}

/* Formulaire de dépôt : aide sous le champ Titre. */
.hp-form--listing-submit .hp-field__description,
.hp-form--listing-update .hp-field__description {
	margin-top: 0.35rem;
	font-size: 0.875rem;
	color: var(--trokaaz-texte-doux);
}

/* Pied de page compact : ligne des zones au-dessus des liens légaux. */
.trokaaz-pied__liens--zones a {
	color: var(--trokaaz-orange-fonce);
}

/* Page des annonces : bouton « Ajouter une annonce » au-dessus de la liste. */
.trokaaz-ajouter-annonce {
	text-align: center;
	margin: 0 0 1.25rem;
}

.trokaaz-ajouter-annonce .button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 auto;
}

/* Liste des conversations : bouton d'ouverture + lien discret « Supprimer ». */
.trokaaz-fil__action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
}

.trokaaz-fil__supprimer {
	margin: 0;
}

/* Spécificité (0,3,1) : passe devant la règle générale des boutons du thème
   (`button:not(.hp-listing__action):not(.hp-vendor__action)`, (0,2,1)) qui en
   faisait un gros bouton orange (audit 13/10). */
.trokaaz-fils .trokaaz-fil__supprimer button.trokaaz-fil__supprimer-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 0.2rem 0.6rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--trokaaz-texte-doux);
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.trokaaz-fils .trokaaz-fil__supprimer button.trokaaz-fil__supprimer-btn:hover {
	background: #FDECEA;
	color: #B3261E;
	transform: none;
	box-shadow: none;
}

@media (max-width: 47.99em) {
	.trokaaz-ajouter-annonce .button {
		width: 100%;
		justify-content: center;
	}

	.site-sidebar .hp-widget--user-account-menu {
		margin-top: 2.6rem;
	}
}

/* --------------------------------------------------------------------------
   17. Réduction des mouvements (spec §5 et §6)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.trokaaz-resume__abeille,
	.trokaaz-chargement__abeille,
	.site-sidebar .hp-widget--user-account-menu::before,
	.site-loader::after {
		animation: none;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}

	.hp-listing--view-block:hover,
	.hp-vendor--view-block:hover,
	.button:active {
		transform: none;
	}
}
