/** Shopify CDN: Minification failed

Line 706:74 Unexpected "*"

**/
/* ============================================================
   Architecture Québec — Surcharges CSS globales du thème Aurora
   ============================================================

   Ce fichier contient toutes les règles CSS personnalisées
   appliquées globalement au thème, en complément du CSS Aurora
   natif. Il est chargé via layout/theme.liquid après main.css
   pour avoir priorité.

   Convention : organiser les règles par thème (typographie,
   couleurs, espacements, etc.) avec un commentaire d'en-tête
   indiquant la date d'ajout et la raison.
   ============================================================ */

/* --- Police principale Inter Tight (Google Fonts) sur tout le site. */
:root {
  --gsc-body-font-family:               'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-headings-font-family:           'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-button-font-family:             'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-header-font-family:             'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-drawer-font-family:             'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-header-icons-font-family:       'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-product-card-title-font-family: 'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-product-card-price-font-family: 'Saans', 'Inter Tight', Inter, system-ui, -apple-system, sans-serif;
  --gsc-body-font-weight: 400;
  --gsc-drawer-font-weight: 300;

  /* 2026-05-25 — Header en poids 600 (semibold). Override Aurora.
     Cascade automatique sur .header__item, .header__icon-label, et toutes
     les classes qui consomment ces variables natives. */
  --gsc-header-font-weight: 600;
  --gsc-header-icons-font-weight: 600;
  --gsc-drawer-font-weight: 600;
}

/* Menu de navigation : suit la police d'en-tete du site (Inter Tight). Le reglage
   menu_font_family d'Aurora est vestigial (jamais applique dans le code). */
.header__menu,
.header__menu-item,
.header__menu-item-wrap,
.header__menu-item-label {
  font-family: var(--gsc-header-font-family) !important;
}

/* --- 2026-05-18 — Display 1/2/3 toujours en majuscules */
.display1,
.display2,
.display3 {
  text-transform: uppercase;
}

/* --- 2026-05-22 — Mobile : Display 1/2/3 scale auto, jamais de coupure
   Pour les titres composés d'un seul long mot (ex: _naturehumaine, AaP+Sustainability)
   qui dépassent la largeur viewport. Quatre mesures combinées :
   1. font-size avec min() : taille Aurora OU vw-based — la plus petite
   2. hyphens + word-break : aucune coupure de mot
   3. max-width: 100% + box-sizing border-box : titre confiné dans son parent
   4. padding-inline natif Aurora pour matcher l'inset des autres éléments
      (utilise --gsc-aside-padding-size avec fallback) — n'a d'effet que si
      le parent ne padding pas déjà.
   Coefficients vw calibrés pour qu'un mot de ~14 caractères tienne dans
   une viewport de 360px sans déborder. */
@media (max-width: 749px) {
  .display1 {
    font-size: min(var(--gsc-display-1-font-size), 10vw) !important;
  }
  .display2 {
    font-size: min(var(--gsc-display-2-font-size), 8vw) !important;
  }
  .display3 {
    font-size: min(var(--gsc-display-3-font-size), 6.8vw) !important;
  }
  .display1,
  .display2,
  .display3 {
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* line-height naturelle réduite pour les longs mots qui se rétrécissent
       (sinon line-box trop haute par rapport au texte réduit) */
    line-height: 1.05 !important;
  }
}

/* --- 2026-05-19 — Boutons style « link » : underline-track */
.link__text {
  --vwl-track-thickness: 2.5px;
  --vwl-track-opacity-pct: 18%;
  background-image:
    linear-gradient(to right, currentColor, currentColor),
    linear-gradient(
      to right,
      color-mix(in srgb, currentColor var(--vwl-track-opacity-pct), transparent),
      color-mix(in srgb, currentColor var(--vwl-track-opacity-pct), transparent)
    );
  background-position: 0 100%, 0 100%;
  background-size: 0 var(--vwl-track-thickness), 100% var(--vwl-track-thickness);
  background-repeat: no-repeat, no-repeat;
  padding-bottom:6px;
}
.link-parent-for-hover:hover .link__text,
.link:hover .link__text {
  background-size: 100% var(--vwl-track-thickness), 100% var(--vwl-track-thickness);
}

/* --- 2026-05-21 — Homepage : vendor name de « Projet du Jour » en Heading 6
   La section projet-du-jour ne vit que sur la home, mais on scope quand même
   à body.template-index par cohérence avec le pattern --project ci-dessus.
   line-height: 1 pour conserver l'underline-track à la bonne distance. */
body.template-index .projet-du-jour__vendor-below .vendor-with-logo__name {
  font-size: var(--gsc-heading-6-font-size);
  font-weight: var(--gsc-headings-font-weight);
  line-height: 1;
}

/* --- 2026-05-21 — Homepage : tous les types de boutons en Body 3
   Diagnostic : Aurora rend les link buttons via <a class="link"> avec
   <span class="link__text"> INSIDE — donc PAS de classe .btn sur les
   link buttons. Pour les couvrir tous, on cible à la fois .btn (primary,
   secondary) ET .link__text (link buttons).
   Les link buttons reçoivent en plus font-weight: 700 (gras) pour
   rester visuellement saillants malgré l'absence de fond plein. */
body.template-index .btn,
body.template-index .link__text {
  font-size: var(--gsc-body-font-size-m);
  line-height: var(--gsc-body-line-height-m);
}
body.template-index .link__text {
  font-weight: 700;
}

/* --- 2026-05-22 — Header : boutons « Pro » + « Soumettre un projet »
   Caractéristiques IDENTIQUES à la pilule date de la section projet-du-jour :
   padding 0.35em 0.9em, border-radius 999px, line-height 1.2.
   - Pro : fond noir + texte blanc (variant rempli)
   - Soumettre un projet : transparent + bordure pâle (variant outline, identique
     à la pilule date) */
.header__aq-btn {
  /* Caractéristiques IDENTIQUES aux boutons du profil (Nous joindre / Site web, style header mobbin). */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6rem !important;
  padding:0 var(--aq-gap-m) !important;
  /* 2026-07-07 - taille, graisse et interlettrage puises des reglages du theme.
     ARRONDI : identite fixe du header = pilule complete (999px), decision
     utilisateur 2026-07-07, independant du reglage Edge rounding. */
  border-radius: 999px !important;
  border: 0 !important;
  font-family: var(--gsc-button-font-family, inherit) !important;
  font-size: var(--gsc-button-font-size, 1.4rem) !important;
  font-weight: var(--aq-btn-weight, 600) !important; /* jeton AQ canonique (600), pas le picker du theme (400) */
  letter-spacing: var(--gsc-button-letter-spacing, 0) !important;
  text-transform: var(--gsc-button-text-transform, none) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  text-decoration: none;
  flex-shrink: 0;
  background-color: color-mix(in srgb, currentColor 8%, transparent) !important;
  color: rgba(var(--gsc-text-color), 1) !important;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease !important;
}
.header__aq-btn:hover {
  background-color: color-mix(in srgb, currentColor 14%, transparent) !important;
}
@media (max-width: 749px) {
  .header__aq-btn { min-height: 3rem !important; padding:0 var(--aq-gap-s) !important; font-size: calc(var(--gsc-button-font-size, 1.4rem) * 0.93) !important; }
}
.header__icons-right .header__aq-btn {
  margin-left:var(--aq-gap-xs);
}

/* Override Aurora's intentional margin-right: -0.8rem on .header__icons-right
   (qui tire les icônes au-delà du padding pour aligner visuellement).
   Avec nos boutons à la fin de cette zone, on veut qu'ils respectent le
   padding du header configuré dans le theme editor (Left and right). */
.header__icons-right {
  margin-right:0 !important;
}
.header__aq-btn--pro {
  background-color: rgba(var(--gsc-text-color), 1) !important;
  color: rgba(var(--gsc-background-color), 1) !important;
}
.header__aq-btn--pro:hover {
  background-color: rgba(var(--gsc-text-color), 1) !important;
  opacity: .88;
}
.header__aq-btn--submit {
  background-color: color-mix(in srgb, currentColor 8%, transparent) !important;
  color: rgba(var(--gsc-text-color), 1) !important;
  border: 0 !important;
}
.header__aq-btn--submit:hover {
  background-color: color-mix(in srgb, currentColor 14%, transparent) !important;
  color: rgba(var(--gsc-text-color), 1) !important;
}

/* --- 2026-05-21 — « par » universel en taille Body 6
   S'applique partout sur le site (product card, vendor-with-logo, product-vendor-block).
   Spécificité boostée via chaînage de classes pour battre les <style> inline
   des snippets qui posent leurs propres font-size (0.85em par défaut). */
.product-card .product-card__vendor-by,
.vendor-with-logo .vendor-with-logo__by,
.product-vendor-row .product-vendor-row__by {
  font-size: var(--gsc-body-font-size-xxs);
  line-height: var(--gsc-body-line-height-xxs);
}

/* --- 2026-05-19 — Product card style par défaut (TOUT sauf homepage)
   2026-05-21 — Mise à jour : le titre est RÉAFFICHÉ au-dessus du vendor,
   à la même taille que le vendor (Aurora natif fz-12 + lh-5). Le « par »
   reste masqué et le logo reste petit (24px). */
body:not(.template-index) .product-card__title {
  font-size: var(--gsc-fz-12);
  line-height: var(--gsc-lh-5);
}
body:not(.template-index) .product-card__vendor-by {
  display: none;
}
body:not(.template-index) .product-card__vendor-logo {
  width: 24px;
  height: 24px;
}
/* --- AQ multi-acteurs : avatars à la MÊME taille que le logo simple (24px hors-accueil) --- */
body:not(.template-index) .product-card__avatars .product-card__avatar {
  width: 24px;
  height: 24px;
  margin-left:-8px;
}
body:not(.template-index) .product-card__avatars .product-card__avatar:first-child { margin-left:0; }

/* --- 2026-05-19 — Placeholder Shopify : cacher l'icône casquette */
svg[class*="placeholder"] {
  background: var(--gsc-foreground-color-100);
}
svg[class*="placeholder"] > * {
  display: none;
}

/* --- 2026-05-19 — Header : items du menu collés au logo (à gauche) */
.header__grid--logo-left-menu-top-left .header__nav {
  justify-content: flex-start;
}

/* --- 2026-05-22 — Mobile : logo collé au hamburger quand alignement = Left
   Aurora par défaut applique `grid-template-columns: 1fr auto 1fr` sur le grid
   du header en mobile, ce qui force le logo en CENTRE visuellement, même quand
   l'utilisateur a choisi « Logo alignment = Left » dans le theme editor.
   On override avec `auto auto 1fr` : hamburger auto + logo auto (juste à côté)
   + icons-right 1fr (push à droite). */
@media (max-width: 749px) {
  .header__grid[class*="logo-left"] {
    grid-template-columns: auto auto 1fr !important;
  }
}

/* ============================================================
   2026-05-21 — Product Card Job (3e style)
   Carte 100% texte pour les Jobs (product.template_suffix == 'job').
   3 zones empilées séparées par des hairlines :
   1) Vendor (logo + nom)  2) Titre + excerpt  3) Infos + CTA
   ============================================================ */
.product-card-job {
  --pcj-radius: var(--gsc-base-radii, 1.2rem);
  --pcj-border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  --pcj-padding-x: 4rem;            /* horizontal (2026-05-24 — match référence) */
  --pcj-padding-y: 4rem;            /* vertical main zone (titre + excerpt) */
  --pcj-padding-y-vendor: 3rem;     /* vertical vendor-zone — AÉRÉ autour du logo */
  --pcj-padding-y-row: 2rem;        /* vertical info-rows — plus SERRÉ (Location/Website/Date) */
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  color: #000000;
  border-radius: var(--pcj-radius);
  overflow: hidden;
  height: 100%;
}
.product-card-job__zone {
  padding:var(--pcj-padding-y) var(--pcj-padding-x);
}
.product-card-job__zone + .product-card-job__zone {
  border-top: var(--pcj-border);
}

/* Zone 1 — Vendor — caractéristiques IDENTIQUES à .product-card-job__info-row
   (la date row du bas) pour que le haut et le bas de la carte aient la même
   présence visuelle. Override le padding shorthand de .product-card-job__zone. */
.product-card-job__vendor-zone {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap:var(--aq-gap-xs);
  padding:var(--pcj-padding-y-vendor) var(--pcj-padding-x) !important;
  /* Hauteur FIXE du contenu = 36px (logo). Cards sans logo voient leur texte
     centré dans cette zone de 36px grâce à align-items: center. */
  height: 36px !important;
  box-sizing: content-box !important;
}
/* Force la line-height compacte du vendor name pour éviter qu'il déborde
   le 36px de la zone et ne casse l'alignement. */
.product-card-job__vendor-name {
  line-height: 1 !important;
}
.product-card-job__vendor-logo {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background-color: rgba(var(--gsc-foreground-color-100), 1);
}
.product-card-job__vendor-name {
  font-weight: 600;
  text-decoration: none;
  color: inherit;
  line-height: 1;
  --vwl-track-thickness: 2.5px;
  --vwl-track-opacity-pct: 18%;
  background-image:
    linear-gradient(to right, currentColor, currentColor),
    linear-gradient(
      to right,
      color-mix(in srgb, currentColor var(--vwl-track-opacity-pct), transparent),
      color-mix(in srgb, currentColor var(--vwl-track-opacity-pct), transparent)
    );
  background-position: 0 100%, 0 100%;
  background-size: 0 var(--vwl-track-thickness), 100% var(--vwl-track-thickness);
  background-repeat: no-repeat, no-repeat;
  padding-bottom:6px;
  transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-card-job__vendor-name:hover {
  background-size: 100% var(--vwl-track-thickness), 100% var(--vwl-track-thickness);
}

/* Zone 2 — Titre + extrait */
.product-card-job__main-zone {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap:var(--aq-gap-s);
}
.product-card-job__title {
  margin:0;
}
.product-card-job__title a {
  color: inherit;
  text-decoration: none;
}
.product-card-job__title a:hover {
  opacity: 0.75;
}
.product-card-job__excerpt {
  margin:0;
  opacity: 0.75;
}

/* Zone 3 — Infos + CTA */
.product-card-job__info-zone {
  display: flex;
  flex-direction: column;
  padding:0;
}
.product-card-job__info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap:var(--aq-gap-s);
  padding:var(--pcj-padding-y-row) var(--pcj-padding-x);
}
.product-card-job__info-row + .product-card-job__info-row {
  border-top: var(--pcj-border);
}
.product-card-job__info-label {
  font-weight: 600;
  flex-shrink: 0;
}
.product-card-job__info-value {
  text-align: right;
  opacity: 0.85;
}

/* Ligne du bas — date + flèche CTA */
.product-card-job__date {
  display: inline-flex;
  align-items: center;
  gap:var(--aq-gap-2xs);
  opacity: 0.85;
}
.product-card-job__date-icon {
  flex-shrink: 0;
  opacity: 0.85;
}
.product-card-job__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.product-card-job__cta:hover {
  transform: translateX(3px);
  opacity: 0.7;
}

/* --- 2026-05-19 — Header transparent : match automatique avec body / 1re section
   Diagnostic : le setting color_scheme du header (color-1) diffère du
   default_color_scheme du thème (scheme-{uuid}). Le body porte la classe
   color-{default} et la première section utilise aussi default — donc
   body et 1re section ont le MÊME background, mais le header en a un
   différent à cause de color-1.

   Solution CSS-only : background du header transparent. Le body étant
   l'ancêtre du header, son background montre à travers. Résultat :
   header prend automatiquement le default_color_scheme et match avec
   la 1re section dans la majorité des cas (toute section qui utilise
   color_scheme_variant: default).

   Pas de JS, pas de race condition, pas de coordination manuelle.
   ----------------------------------------------------------- */
/* 1) Le body PEINT son background avec sa variable de scheme (default).
   Sans ça, le body est "vide" et HTML element (blanc) montre à travers
   le header transparent — d'où le mismatch persistant qu'on observait. */
body {
  background-color: var(--gsc-background-color-100);
}

/* 2) On vise TOUS les éléments du header qui pourraient avoir un fond,
   une ombre, une bordure ou un filtre — pour éviter toute séparation
   visuelle avec le body / la 1re section. */
.shopify-section-header,
.shopify-section-header > *,
header-component,
header-component.header,
.shopify-section-header .header,
.shopify-section-header .header__container,
.shopify-section-header .header__container--with-bg {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-bottom: none !important;
  border-top: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* --- 2026-05-25 — Header : RETIRER tous les soulignements natifs Aurora
   ============================================================
   Aurora applique un soulignement animé (background-image gradient
   linear) sur les items de menu via plusieurs classes. Convention AQ :
   header SANS aucun soulignement. Le reste du site garde l'underline-track
   AQ (V42) sur les 4 classes documentées : .vendor-with-logo__name,
   .product-card__vendor, .product-card-job__vendor-name, .link__text.

   Approche AGRESSIVE : neutralise text-decoration + background-image sur
   TOUS les descendants du header/drawer (links, spans, items, labels).
   ============================================================ */

/* === AQ-HEADER-NO-UNDERLINE-V4-2026-05-25 ===
   VRAIE source du soulignement : pseudo-élément ::before sur
   .underline-text__label (top-level menu items Aurora).

   Aurora crée un trait absolument positionné en bas du label, avec
   transform: translateX(-101%) caché. Au hover/active, transform passe
   à translateX(0%) pour révéler. Pour le faire disparaître, on cache
   le pseudo entièrement.

   Cible aussi .header__menu-item-label (dropdowns) au cas où. */
.underline-text__label::before,
.underline-text:hover .underline-text__label::before,
.underline-text.active .underline-text__label::before,
.header__dropdown-toggle[data-aria-expanded='true'] .underline-text__label::before {
  display: none !important;
  content: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
  transform: translateX(-101%) !important;
}

/* Sécurité : dropdowns menu items (cas où Aurora utilise .header__menu-item-label) */
.header__menu-item-label,
.header__menu-item:hover .header__menu-item-label,
.header__menu-item.active .header__menu-item-label,
.header__menu-item--mega-subtitle--current .header__menu-item-label,
.header__menu-item-wrap[data-aria-expanded='true'] .header__menu-item-label,
.drawer-menu__menu-item-label,
.drawer-menu__menu-item:hover .drawer-menu__menu-item-label,
.drawer-menu__menu-item.active .drawer-menu__menu-item-label {
  background: none !important;
  background-image: none !important;
  background-size: 0 !important;
  text-decoration: none !important;
}

/* --- 2026-05-25 — Product details tabs : underline-track AQ au lieu de border 1px
   ============================================================
   Aurora natif applique `border-bottom: 1px solid transparent` sur
   `.product-details__tab-name`, puis `border-color: var(--gsc-text-color-100)`
   sur `.selected`. Visuellement : trait fin 1px qui apparaît seulement
   sur l'onglet actif.

   Convention AQ : underline-track 3px partout, currentColor pour
   adaptation auto color scheme. Inactif = track pâle (18 % opacity),
   actif = fill opaque. Transition fluide entre les deux. */
.product-details__tab-name {
  /* Annule le border Aurora pour passer en background-image gradient */
  border-bottom: none !important;
  /* Track pâle visible toujours (18 % opacity currentColor) */
  background-image: linear-gradient(
    to right,
    currentColor, currentColor
  ),
  linear-gradient(
    to right,
    color-mix(in srgb, currentColor 18%, transparent),
    color-mix(in srgb, currentColor 18%, transparent)
  );
  background-position: 0 100%, 0 100%;
  /* Fill foncé caché par défaut (size 0), track pâle visible (100%) */
  background-size: 0 var(--vwl-track-thickness, 2.5px), 100% var(--vwl-track-thickness, 2.5px);
  background-repeat: no-repeat, no-repeat;
  /* Transition fluide quand l'onglet devient actif */
  transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  /* Padding-bottom canonique AQ (V42) au lieu du 1.6rem Aurora */
  padding-bottom:6px !important;
}
/* Onglet actif : fill foncé révèle (100% width) */
.product-details__tab-name.selected {
  background-size: 100% var(--vwl-track-thickness, 2.5px), 100% var(--vwl-track-thickness, 2.5px);
}
/* Hover sur onglet inactif : preview du fill */
.product-details__tab-name:hover:not(.selected) {
  background-size: 100% var(--vwl-track-thickness, 2.5px), 100% var(--vwl-track-thickness, 2.5px);
  opacity: 0.7;
}

/* --- 2026-05-24 — Content tab (Product information) : resserrer label↔valeur
   Snippet Aurora `snippets/product-content-tab-block.liquid`.
   Aurora natif applique `.product-content-tab__title { margin: 0 0 2rem }`
   (32 px de margin-bottom entre le titre "Architecture" et le content
   "T B A"). Trop d'air. Override à 0.4rem (~6.4 px). */
.product-content-tab__title {
  margin-bottom:var(--aq-gap-2xs) !important;
}

/* --- 2026-05-25 — Boutons style "pill" inspiré du thème Basho (Ghost)
   ============================================================
   Adoption visuelle des boutons Basho : padding généreux, pill complète
   au hover/idle, transition fluide. Préserve les settings du theme editor
   Aurora : la couleur, la bordure, la police, la casse, le letter-spacing,
   et le BORDER-RADIUS (round_level dans Customize) restent configurables.
   On ne touche QUE les variables CSS de padding (Aurora ne les expose
   pas en theme editor).

   ARCHITECTURE :
   - Override `--gsc-button-padding-*` au niveau .btn pour padding généreux par
     défaut (CTA principaux : hero, formulaires, page actions)
   - Override compact dans contextes denses : .product-card, .header, .cart
   - Media query mobile pour réduire progressivement

   SETTINGS THEME EDITOR À CONFIGURER MANUELLEMENT (Customize → Theme settings) :
   - Typography → Button text transform = "normal"     (Basho ≠ uppercase)
   - Typography → Button letter spacing = 0
   - Typography → Button font scale = 100 ou 110 (au goût)
   - Buttons → Primary border width = 0                (Basho sans bordure)
   - Appearance → Edge rounding (round_level) = 8 (max) pour effet pill complet
   - Color schemes → Primary button bg = dark / hover bg = couleur accent
   ============================================================ */

/* IMPORTANT (correction 2026-05-25) : Aurora hard-code `padding: 1.2rem 3.2rem`
   et `min-height: 4.8rem` DIRECTEMENT dans la règle .btn — les variables
   --gsc-button-padding-* ne sont utilisées QUE par .navigation-buttons__button-title
   (un composant spécifique). Donc on override les propriétés finales, pas les
   variables. Les `!important` battent la cascade Aurora à spécificité égale. */

/* 2026-05-25 — Boutons : adopter le look compact Basho UNIQUEMENT sur les
   boutons sans modificateur de taille Aurora. Les types Aurora .btn--lg,
   .btn--md, .btn--sm gardent leur padding/min-height natifs (système de
   tailles préservé). Le border-radius reste géré par Aurora via
   --gsc-button-radii (setting round_level dans Customize → Appearance). */

/* Bouton par défaut (.btn sans modificateur de taille) = gabarit de contrôle
   unifié AQ (aq-tokens.css). Même hauteur/padding que TOUS les boutons du site.
   Le header utilise sa propre classe (.header__aq-btn) et n'est pas touché.
   Les modificateurs Aurora .btn--lg/--md/--sm gardent leur dimensionnement natif. */
.btn:not(.btn--lg):not(.btn--md):not(.btn--sm) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--aq-btn-h, 4.2rem);
  height: var(--aq-btn-h, 4.2rem);
  padding:0 var(--aq-btn-pad-x, 1.8rem);
}

/* Transition fluide pour les hover states (Basho : 0.2s ease).
   Aurora a déjà des transitions mais pas toujours sur toutes les propriétés.
   On élargit aux 4 propriétés que Basho fait transiter. */
.btn {
  transition: color 0.2s ease,
              background-color 0.2s ease,
              border-color 0.2s ease,
              opacity 0.2s ease !important;
}
/* --- 2026-06-29 — Page Contact en 2 colonnes (texte à gauche, formulaire à droite), refonte style awwwards.
   La section native contact-form empile .contact__content puis .contact__form ; on les met en grille. --- */
@media (min-width: 750px) {
  .contact .contact__container {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap:clamp(var(--aq-gap-xl), 6vw, var(--aq-gap-3xl));
    align-items: start;
  }
  .contact .contact__content { margin-bottom:0; max-width: 42ch; }
  .contact .contact__form { margin-top:0; }
}
/* --- 2026-06-29 — Footer : filet de la barre du bas en pointillé (identique au tableau du répertoire) --- */
.footer__utils--bordered {
  border-top: none !important;
  background-image: linear-gradient(
    to right,
    rgba(var(--gsc-text-color), 1) 0,
    rgba(var(--gsc-text-color), 1) 10%,
    rgba(var(--gsc-text-color), 0) 10%
  ) !important;
  background-size: 8px 1px !important;
  background-position: 50% 0 !important;
  background-repeat: repeat-x !important;
}

/* ============================================================
   AQ — REFONTE MOBBIN (increment 1)
   1) Recherche pilule dans le header (ouvre le tiroir natif)
   2) Barre d'outils collections : controle segmente + pilules
   100% jetons, zero hard-code. Natif Aurora conserve dessous.
   ============================================================ */

/* 2 — BARRE D'OUTILS COLLECTIONS (segmented + pilules) -------- */
/* Controle de densite de grille = controle segmente facon Mobbin */
/* Sélecteur de colonnes UNIQUE (global) — collections, gestion, mon-espace.
   Dé-scopé de .shop__header pour être LE composant partagé. */
.column-switcher{
  display:inline-flex; align-items:stretch; height: var(--aq-ctrl-h); box-sizing:border-box;
  background: var(--aq-surface-3); border-radius: calc(var(--aq-r-pill) * 3);
  padding:var(--aq-gap-2xs); gap:var(--aq-gap-3xs); box-shadow: none;
}
.column-switcher .column-switcher__item{
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  border-radius: calc(var(--aq-r-pill) * 3); padding:0 var(--aq-gap-xs);
  transition: background var(--aq-dur) var(--aq-ease), box-shadow var(--aq-dur) var(--aq-ease);
}
.column-switcher .column-switcher__item.selected{
  background: var(--aq-surface-card); box-shadow: var(--aq-shadow-1);
}
/* Restaure le masquage responsive natif que mon .column-switcher{display} écrasait :
   un seul switcher visible à la fois (mobile 1-2 col / desktop 2-4 col). */
@media (min-width: 750px){ .shop__column-switcher--mobile{ display:none; } }
@media (max-width: 749px){ .shop__column-switcher--desktop{ display:none; } }
/* Filtre + Tri : pilules coherentes a filet fin */
/* Filtre + Tri natifs = pilule grise UNIQUE (dé-scopé : collections classiques ET
   layout avec sidebar comme /emplois). Même look que la barre gestion. */
.shop__filters-btn, .sort-list__btn{
  background: var(--aq-surface-3); border-radius: calc(var(--aq-r-pill) * 3); box-shadow: none;
  height: var(--aq-ctrl-h); min-height: var(--aq-ctrl-h); box-sizing:border-box; display:inline-flex; align-items:center;
  padding:0 var(--aq-ctrl-pad-x); gap:var(--aq-gap-xs); font-weight:600;
  transition: background var(--aq-dur) var(--aq-ease);
}
.shop__filters-btn:hover, .sort-list__btn:hover{ background: var(--aq-surface-2-hover, var(--aq-surface-2)); }

/* 3 — CARTES facon Mobbin : tuile media encadree + badge glass ----- */
/* Scope hors accueil : la page d'accueil garde son editorial plein cadre */
body:not(.template-index) .product-card__inner{
  border-radius: var(--aq-r-box);
  box-shadow: none;
  overflow: hidden;
  transition: box-shadow var(--aq-dur) var(--aq-ease);
}
body:not(.template-index) .product-card:hover .product-card__inner{
  box-shadow: var(--aq-shadow-2);
}
/* Badge statut en verre (glass), coin haut-gauche gere par Aurora */
body:not(.template-index) .product-card__badge{
  background: var(--aq-glass-bg);
  -webkit-backdrop-filter: var(--aq-glass-blur);
  backdrop-filter: var(--aq-glass-blur);
  color: #fff;
  border-radius: var(--aq-r-pill);
  box-shadow: none; border: 0;
}

/* ============================================================
   AQ — GESTION (réalisations / produits / emplois)
   Déplacé depuis sections/aq-gestion.liquid (2026-07-12).
   Aucune section ne porte son propre CSS. Classes .aqg-* inchangées
   (le JS de la section en dépend). Tout dérive des jetons --aq-*/--gsc-*.
   ============================================================ */
    .aqg{ color: var(--aq-ink, rgba(var(--gsc-text-color),1)); }
    .aqg-crumb{ display:flex; align-items:center; gap:var(--aq-gap-2xs); font-size: var(--aq-fs-xs,.85rem); color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.5)); margin-bottom:var(--aq-gap-xs); }
    .aqg-crumb a{ color: var(--aq-ink-soft, rgba(var(--gsc-text-color),.7)); text-decoration:none; }
    .aqg-crumb a:hover{ color: var(--aq-ink, rgba(var(--gsc-text-color),1)); }
    .aqg-crumb svg{ width:14px; height:14px; opacity:.5; }
    .aqg-title{ font-size: var(--aq-fs-2xl, 2rem); font-weight:600; letter-spacing:-.02em; margin:0 0 var(--aq-gap-m); }

    /* Contrôle segmenté — navigation entre les 3 pages de gestion (réf. eBay/Whatnot) */
    .aqg-switch{ display:inline-flex; gap:var(--aq-gap-3xs); padding:var(--aq-gap-2xs); margin:0 0 var(--aq-gap-l); background: var(--aq-surface-3, rgba(var(--gsc-text-color),.08)); border-radius: calc(var(--aq-r-pill) * 3); max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .aqg-switch::-webkit-scrollbar{ display:none; }
    .aqg-switch__i{ display:inline-flex; align-items:center; justify-content:center; height:var(--aq-ctrl-h); padding:0 var(--aq-ctrl-pad-x); border-radius: calc(var(--aq-r-pill) * 3); font-size: var(--aq-fs-sm,1.4rem); font-weight:500; white-space:nowrap; color: var(--aq-ink-soft, rgba(var(--gsc-text-color),.7)); text-decoration:none; transition:background .15s,color .15s; }
    .aqg-switch__i:hover{ color: var(--aq-ink, rgba(var(--gsc-text-color),1)); }
    .aqg-switch__i.is-on{ background: var(--aq-surface-card, rgba(var(--gsc-foreground-color),1)); color: var(--aq-ink, rgba(var(--gsc-text-color),1)); font-weight:600; box-shadow: var(--aq-shadow-1, 0 1px 3px rgba(0,0,0,.08)); }

    .aqg-firm{ margin-top:var(--aq-gap-l); }
    .aqg-firm:first-of-type{ margin-top:0; }
    .aqg-firm__name{ font-size: var(--aq-fs-md,1rem); font-weight:600; letter-spacing:-.01em; margin:0 0 var(--aq-gap-s); padding-bottom:var(--aq-gap-xs); border-bottom:1px solid var(--aq-line, rgba(var(--gsc-text-color),.12)); }

    .aqg-bar{ display:flex; align-items:center; gap:var(--aq-gap-xs); flex-wrap:wrap; margin-bottom:var(--aq-gap-m); }
    .aqg-bar__count{ font-size: var(--aq-fs-sm,.92rem); color: var(--aq-ink-soft, rgba(var(--gsc-text-color),.7)); }
    .aqg-bar__spacer{ flex:1 1 auto; }
    .aqg-search{ position:relative; }
    .aqg-search input{ height:var(--aq-ctrl-h); padding:0 var(--aq-ctrl-pad-x) 0 3.2rem; border:0; border-radius: calc(var(--aq-r-pill) * 3); background: var(--aq-surface-3, rgba(var(--gsc-text-color),.08)); color:inherit; font-size:var(--aq-fs-sm,1.4rem); min-width:min(240px,52vw); }
    .aqg-search > svg{ position:absolute; left:.7rem; top:50%; transform:translateY(-50%); width:16px; height:16px; opacity:.45; pointer-events:none; }
    .aqg-sortwrap{ position:relative; display:inline-flex; align-items:center; }
    .aqg-sort{ display:inline-flex; align-items:center; gap:var(--aq-gap-2xs); height:var(--aq-ctrl-h); padding:0 var(--aq-ctrl-pad-x); border:0; border-radius: calc(var(--aq-r-pill) * 3); background: var(--aq-surface-3, rgba(var(--gsc-text-color),.08)); color:inherit; font-size:var(--aq-fs-sm,1.4rem); font-weight:500; cursor:pointer; white-space:nowrap; transition:background .15s; }
    .aqg-sort:hover{ background: var(--aq-surface-2-hover, rgba(var(--gsc-text-color),.10)); }
    .aqg-sort__chev{ width:14px; height:14px; opacity:.55; flex:0 0 auto; }
    .aqg-sortmenu{ min-width:16rem; }
    .aqg-sortmenu [data-sort].is-on{ font-weight:600; }
    .aqg-add{ display:inline-flex; align-items:center; gap:var(--aq-gap-xs); height:var(--aq-ctrl-h); padding:0 var(--aq-ctrl-pad-x); border-radius: calc(var(--aq-r-pill) * 3); background: var(--aq-btn-bg, rgba(var(--gsc-text-color),1)); color: var(--aq-btn-fg, rgba(var(--gsc-background-color),1)); font-size:var(--aq-fs-sm,1.4rem); font-weight:600; text-decoration:none; white-space:nowrap; transition:opacity .15s; }
    .aqg-add:hover{ opacity:.85; }
    .aqg-add svg{ width:16px; height:16px; }

    /* Grille (réalisations / produits) */
    .aqg-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(250px,1fr)); gap:var(--gsc-gap-md,1.5rem); }
    @media(min-width:750px){ .aqg-grid[data-cols]{ grid-template-columns: repeat(var(--aqg-cols,4), minmax(0,1fr)); } }
    /* .aqg-density supprimé — gestion utilise le composant global .column-switcher (voir plus haut) */
    @media(max-width:749px){ .aqg-density{ display:none; } }
    .aqg-card{ position:relative; border:0; box-shadow:none; border-radius: var(--aq-r-box,14px); overflow:hidden; background: var(--aq-surface-card, rgba(var(--gsc-foreground-color),1)); display:flex; flex-direction:column; transition:box-shadow var(--aq-dur,.15s) var(--aq-ease,ease); }
    .aqg-card:hover{ box-shadow: var(--aq-shadow-2, 0 4px 16px rgba(0,0,0,.08)); }
    .aqg-card.is-menu{ overflow:visible; z-index:5; }
    .aqg-card__media{ display:block; position:relative; aspect-ratio:4/3; background: var(--aq-surface-2, rgba(var(--gsc-text-color),.05)); overflow:hidden; }
    .aqg-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
    .aqg-card__ph{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.35)); }
    .aqg-card__ph svg{ width:32px; height:32px; }
    .aqg-badge{ position:absolute; top:.7rem; left:.7rem; display:inline-flex; align-items:center; gap:var(--aq-gap-2xs); padding:var(--aq-gap-3xs) var(--aq-gap-2xs); border-radius:999px; background: var(--aq-surface-card, rgba(var(--gsc-foreground-color),.95)); font-size:var(--aq-fs-2xs); font-weight:500; color: var(--aq-ink-soft, rgba(var(--gsc-text-color),.75)); box-shadow: var(--aq-shadow-1,0 1px 3px rgba(0,0,0,.08)); }
    .aqg-badge__dot{ width:6px; height:6px; border-radius:50%; background:#2e9d5b; }
    .aqg-badge--review .aqg-badge__dot, .aqg-row__badge.is-review .aqg-badge__dot{ background:#c98a1f; }
    /* Onglets de statut */
    .aqg-tabs{ display:flex; gap:var(--aq-gap-2xs); margin:calc(-1 * var(--aq-gap-3xs)) 0 var(--aq-gap-s); flex-wrap:wrap; }
    .aqg-tabs[hidden]{ display:none; }
    .aqg-tab{ display:inline-flex; align-items:center; gap:var(--aq-gap-2xs); height:var(--aq-ctrl-h); padding:0 var(--aq-ctrl-pad-x); border:0; border-radius: calc(var(--aq-r-pill) * 3); background: var(--aq-surface-2, rgba(var(--gsc-text-color),.06)); color:var(--aq-ink-soft, rgba(var(--gsc-text-color),.7)); font-size:var(--aq-fs-sm,1.4rem); font-weight:500; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
    .aqg-tab:hover{ background: var(--aq-surface-3, rgba(var(--gsc-text-color),.08)); }
    .aqg-tab.is-on{ background:var(--aq-btn-bg, rgba(var(--gsc-text-color),1)); color:var(--aq-btn-fg, rgba(var(--gsc-background-color),1)); border-color:transparent; }
    .aqg-tab__n{ font-size:var(--aq-fs-2xs); opacity:.7; }
    .aqg-card__body{ padding:var(--aq-gap-xs) var(--aq-gap-s) var(--aq-gap-s); display:flex; flex-direction:column; gap:var(--aq-gap-2xs); flex:1 1 auto; }
    .aqg-card__t{ font-size: var(--aq-fs-md,1rem); font-weight:500; letter-spacing:-.01em; margin:0; line-height:1.25; }
    .aqg-card__meta{ font-size: var(--aq-fs-xs,.84rem); color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.55)); margin:0; }
    .aqg-card__actions{ display:flex; gap:var(--aq-gap-2xs); margin-top:auto; padding-top:var(--aq-gap-2xs); align-items:center; }

    /* Liste (emplois) */
    .aqg-list{ display:flex; flex-direction:column; gap:var(--aq-gap-xs); }
    .aqg-row{ display:flex; align-items:center; gap:var(--aq-gap-s); padding:var(--aq-gap-s) var(--aq-gap-s); border:0; border-radius: var(--aq-r-box,14px); background: var(--aq-surface-card, rgba(var(--gsc-foreground-color),1)); transition:box-shadow .18s; }
    .aqg-row:hover{ box-shadow: var(--aq-shadow-1,0 2px 8px rgba(0,0,0,.06)); }
    .aqg-row__main{ flex:1 1 auto; min-width:0; }
    .aqg-row__t{ font-size: var(--aq-fs-md,1rem); font-weight:500; letter-spacing:-.01em; margin:0 0 var(--aq-gap-3xs); }
    .aqg-row__meta{ font-size: var(--aq-fs-xs,.84rem); color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.55)); margin:0; }
    .aqg-row__badge{ display:inline-flex; align-items:center; gap:var(--aq-gap-2xs); font-size:var(--aq-fs-2xs); color: var(--aq-ink-soft, rgba(var(--gsc-text-color),.7)); white-space:nowrap; }
    .aqg-row__badge .aqg-badge__dot{ width:6px; height:6px; }
    .aqg-row__actions{ display:flex; gap:var(--aq-gap-2xs); flex:0 0 auto; align-items:center; }

    /* Boutons d'action */
    .aqg-btn{ display:inline-flex; align-items:center; justify-content:center; gap:var(--aq-gap-2xs); height:var(--aq-ctrl-h); padding:0 var(--aq-ctrl-pad-x); border-radius: calc(var(--aq-r-pill) * 3); border:0; background: var(--aq-surface-3, rgba(var(--gsc-text-color),.08)); color:inherit; font-size:var(--aq-fs-sm,1.4rem); font-weight:600; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s; }
    .aqg-btn:hover{ background: var(--aq-surface-2-hover, rgba(var(--gsc-text-color),.10)); }
    .aqg-btn--dark{ background: var(--aq-btn-bg, rgba(var(--gsc-text-color),1)); color: var(--aq-btn-fg, rgba(var(--gsc-background-color),1)); border-color:transparent; }
    .aqg-btn--dark:hover{ opacity:.85; border-color:transparent; }
    .aqg-card__actions .aqg-btn{ flex:1 1 auto; }

    /* Menu ⋯ */
    .aqg-menuwrap{ position:relative; flex:0 0 auto; }
    .aqg-iconbtn{ display:inline-flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; border:0; border-radius: calc(var(--aq-r-pill) * 3); background:transparent; color:inherit; cursor:pointer; transition:background .15s; }
    .aqg-iconbtn:hover{ background: var(--aq-surface-2-hover, rgba(var(--gsc-text-color),.10)); }
    .aqg-iconbtn svg{ width:18px; height:18px; }
    .aqg-menu{ position:absolute; right:0; top:calc(100% + .4rem); min-width:186px; background: var(--aq-surface-card, rgba(var(--gsc-foreground-color),1)); border:0; border-radius: var(--aq-r-box,12px); box-shadow: var(--aq-hairline, inset 0 0 0 .5px rgba(var(--gsc-text-color),.1)), var(--aq-shadow-2,0 12px 34px rgba(0,0,0,.12)); padding:var(--aq-gap-2xs); display:none; z-index:30; }
    .aqg-menu.open{ display:block; }
    .aqg-menu a, .aqg-menu button{ display:flex; align-items:center; gap:var(--aq-gap-xs); width:100%; text-align:left; padding:var(--aq-gap-2xs) var(--aq-gap-xs); border:0; background:transparent; color:inherit; font-size:var(--aq-fs-xs); border-radius:8px; cursor:pointer; text-decoration:none; }
    .aqg-menu a:hover, .aqg-menu button:hover{ background: var(--aq-surface-2-hover, rgba(var(--gsc-text-color),.10)); }
    .aqg-menu svg{ width:16px; height:16px; opacity:.7; }

    /* État vide */
    .aqg-empty{ text-align:center; padding:var(--aq-gap-xl) var(--aq-gap-m); border:0; background: var(--aq-surface-2, rgba(var(--gsc-text-color),.05)); border-radius: var(--aq-r-box,14px); }
    .aqg-empty__ic{ width:44px; height:44px; margin:0 auto var(--aq-gap-s); color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.4)); }
    .aqg-empty__h{ font-size: var(--aq-fs-md,1.05rem); font-weight:500; margin:0 0 var(--aq-gap-2xs); }
    .aqg-empty__p{ font-size: var(--aq-fs-sm,.9rem); color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.55)); margin:0 0 var(--aq-gap-m); max-width:34ch; margin-inline:auto; }

    .aqg-none{ font-size:var(--aq-fs-xs); color: var(--aq-ink-faint, rgba(var(--gsc-text-color),.55)); padding:var(--aq-gap-s) 0; }

    .aqg-toast{ position:fixed; left:50%; bottom:1.4rem; transform:translateX(-50%) translateY(1rem); background: var(--aq-btn-bg, rgba(var(--gsc-text-color),1)); color: var(--aq-btn-fg, rgba(var(--gsc-background-color),1)); padding:var(--aq-gap-xs) var(--aq-gap-s); border-radius:999px; font-size:var(--aq-fs-xs); box-shadow: var(--aq-shadow-2,0 12px 34px rgba(0,0,0,.16)); opacity:0; transition:opacity .2s, transform .2s; z-index:60; pointer-events:none; }
    .aqg-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

    @media (max-width:749px){
      .aqg-title{ font-size: var(--aq-fs-xl,1.6rem); }
      .aqg-bar__spacer{ display:none; }
      .aqg-search{ flex:1 1 auto; }
      .aqg-search input{ width:100%; }
      .aqg-add--inline{ display:none; }
      .aqg-row{ flex-wrap:wrap; }
      .aqg-row__actions{ width:100%; }
      .aqg-row__actions .aqg-btn{ flex:1 1 auto; }
      /* Cibles tactiles ≥44px sur mobile */
      .aqg-switch{ display:flex; width:100%; }
      .aqg-switch__i{ flex:1 0 auto; height:4rem; }
      .aqg-btn{ min-height:44px; }
      .aqg-iconbtn{ width:44px; height:44px; }
      .aqg-tab{ height:2.8rem; padding:0 var(--aq-gap-s); }
      .aqg-sort, .aqg-search input{ min-height:44px; }
    }

/* ============================================================
   AQ — MON ESPACE (tableau de bord membre)
   Déplacé depuis sections/aq-mon-espace.liquid (2026-07-12).
   Filets (hairline) retirés → tuiles pleines Mobbin. Classes .aqm-* inchangées.
   ============================================================ */
  .aqm-root{
    /* Toutes les encres/filets descendent des jetons AQ (aq-tokens.css → Aurora).
       En repointant ces variables, tout le CSS qui les utilise déjà suit automatiquement. */
    --ink: var(--aq-ink); --muted: var(--aq-ink-soft); --faint: var(--aq-ink-faint);
    --line: var(--aq-line); --line2: var(--aq-surface-2); --chip: var(--aq-surface-2); --surface: var(--aq-surface-2);
    font-family:inherit;
    /* Arrondis pilotés par Aurora (round_level). Pour l'effet pilule : Customize → Appearance → Edge rounding = 8. */
    --r-box: var(--aq-r-box);
    --r-btn: var(--aq-r-btn);
    --r-input: var(--aq-r-input); }
  .aqm-root *{ box-sizing:border-box; }

  /* Fond de l'espace membre = fond de scheme Aurora (source de vérité) */
  body{ background:var(--aq-surface) !important; }
  .aqm.section-background{ background:var(--aq-surface) !important; }
  .shopify-section-header, .shopify-section-header .header, header-component,
  .shopify-section-footer, .shopify-section-footer .footer{ background:var(--aq-surface) !important; }

  /* Barre supérieure */
  .aqm-bar{ display:flex; align-items:center; gap:var(--aq-gap-m); padding:var(--aq-gap-s) 0 var(--aq-gap-m); margin-bottom:var(--aq-gap-m); flex-wrap:wrap; }
  .aqm-logo{ width:3rem; height:3rem; border-radius:var(--r-box); background:var(--ink); color:var(--aq-btn-fg); overflow:hidden; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
  .aqm-logo img{ width:100%; height:100%; object-fit:cover; }
  .aqm-logo--sm{ width:2.8rem; height:2.8rem; border-radius:calc(var(--r-box) * .8); }
  .aqm-logo__txt{ font-size:var(--aq-fs-2xs); font-weight:600; text-align:center; line-height:1.05; padding:2px; }
  .aqm-cv{ width:1.4rem; height:1.4rem; color:var(--faint); }

  .aqm-switch{ position:relative; }
  .aqm-switch__btn{ display:flex; align-items:center; gap:var(--aq-gap-xs); background:var(--aq-surface-card); border:0; box-shadow:none; border-radius:var(--r-box); padding:var(--aq-gap-xs) var(--aq-gap-s) var(--aq-gap-xs) var(--aq-gap-xs); cursor:pointer; font-family:inherit; }
  .aqm-switch__btn[data-single='true']{ cursor:default; }
  .aqm-switch__btn:hover{ background:var(--surface); }
  .aqm-switch__name{ font-size:var(--aq-fs-sm); font-weight:600; color:var(--ink); }

  /* Barre de recherche : fond = léger tint d'encre (jeton), rayon = pilule via jeton badge */
  .aqm-search{ flex:1; min-width:22rem; max-width:52rem; margin:0 auto; display:flex; align-items:center; gap:var(--aq-gap-s); background:var(--aq-surface-3); box-shadow:none; border:0; border-radius:calc(var(--aq-r-pill) * 3); height:var(--aq-field-h); padding:0 var(--aq-field-pad-x); }
  .aqm-search svg{ width:1.8rem; height:1.8rem; color:var(--aq-ink-faint); flex:0 0 auto; }
  .aqm-search input{ border:none; background:none; outline:none; font-family:inherit; font-size:var(--aq-field-font); flex:1; min-width:0; color:var(--ink); }
  .aqm-search input::placeholder{ color:var(--aq-ink-faint); opacity:1; }

  .aqm-bar__right{ display:flex; align-items:center; gap:var(--aq-gap-s); }
  /* Boutons du back-office = jetons Aurora (contour = filet d'encre, dark = bouton primaire). */
  .aqm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:var(--aq-btn-gap); font-family:inherit; font-size:var(--aq-btn-font); font-weight:var(--aq-btn-weight); letter-spacing:0; text-transform:none; border-radius:calc(var(--aq-r-pill) * 3); min-height:var(--aq-btn-h); height:var(--aq-btn-h); padding:0 var(--aq-btn-pad-x); cursor:pointer; border:0; box-shadow:none; background:var(--aq-surface-3); color:var(--ink); text-decoration:none; white-space:nowrap; }
  .aqm-btn:hover{ background:var(--aq-surface-2-hover); box-shadow:none; }
  .aqm-btn svg{ width:1.6rem; height:1.6rem; }
  .aqm-btn--dark{ background:var(--aq-btn-bg); color:var(--aq-btn-fg); box-shadow:none; }
  .aqm-btn--dark:hover{ background:var(--aq-btn-bg-hover); box-shadow:none; }
  .aqm-avatar{ width:3.6rem; height:3.6rem; border-radius:50%; background:var(--aq-surface-3); border:none; cursor:pointer; font-family:inherit; font-size:var(--aq-fs-xs); font-weight:600; color:var(--ink); }

  /* Menus déroulants */
  /* Menus déroulants FONCÉS (style Mobbin) */
  .aqm-pub, .aqm-acct{ position:relative; }
  .aqm-menu{ position:absolute; top:calc(100% + .8rem); left:0; min-width:26rem; background:var(--aq-surface-card); border:0; border-radius:calc(var(--r-box) + .4rem); box-shadow:var(--aq-hairline), var(--aq-shadow-2); padding:var(--aq-gap-xs); opacity:0; visibility:hidden; transform:translateY(-.5rem); transition:.15s; z-index:50; }
  .aqm-menu--right{ left:auto; right:0; }
  .aqm-switch.open .aqm-menu, .aqm-pub.open .aqm-menu, .aqm-acct.open .aqm-menu{ opacity:1; visibility:visible; transform:none; }
  .aqm-menu__cap{ font-size:var(--aq-fs-2xs); font-weight:500; color:var(--aq-ink-faint); padding:var(--aq-gap-s) var(--aq-gap-s) var(--aq-gap-xs); }
  .aqm-menu__item{ display:flex; align-items:center; gap:var(--aq-gap-s); width:100%; padding:var(--aq-gap-s) var(--aq-gap-s); border:none; background:none; border-radius:calc(var(--r-box) * .82); cursor:pointer; font-family:inherit; font-size:var(--aq-fs-sm); color:var(--aq-ink); text-align:left; text-decoration:none; }
  .aqm-menu__item:hover{ background:var(--aq-surface-2-hover); }
  .aqm-menu__item svg{ width:1.8rem; height:1.8rem; color:var(--muted); flex:0 0 auto; }
  .aqm-btn .aqm-i--caret{ width:1.3rem; height:1.3rem; opacity:.6; }
  .aqm-menu__name{ flex:1; }
  .aqm-ck{ width:1.8rem; height:1.8rem; opacity:0; color:var(--aq-ink); }
  .aqm-menu__item.is-on .aqm-ck{ opacity:1; }
  .aqm-menu__item.is-on .aqm-menu__name{ font-weight:600; }
  .aqm-menu .aqm-logo{ background:var(--aq-dark-hover); color:var(--aq-dark-ink); }
  .aqm-menu__sep{ height:1px; background:var(--aq-dark-line); margin:var(--aq-gap-xs) var(--aq-gap-2xs); }
  .aqm-menu__add{ display:flex; align-items:center; gap:var(--aq-gap-s); padding:var(--aq-gap-s) var(--aq-gap-s); border-radius:calc(var(--r-box) * .82); text-decoration:none; color:var(--aq-dark-ink); font-size:var(--aq-fs-sm); }
  .aqm-menu__add:hover{ background:var(--aq-dark-hover); }
  .aqm-menu__plus{ width:2.8rem; height:2.8rem; border-radius:calc(var(--r-box) * .6); border:1px dashed var(--aq-dark-ink-45); display:flex; align-items:center; justify-content:center; color:var(--aq-dark-ink-70); }
  .aqm-menu__plus svg{ width:1.4rem; height:1.4rem; }
  .aqm-acct__id{ padding:var(--aq-gap-s) var(--aq-gap-s) var(--aq-gap-xs); }
  .aqm-acct__name{ font-size:var(--aq-fs-base); font-weight:600; color:var(--aq-dark-ink); }
  .aqm-acct__mail{ font-size:var(--aq-fs-2xs); color:var(--aq-dark-ink-45); }
  .aqm-acct__role{ font-size:var(--aq-fs-2xs); color:var(--aq-dark-ink-45); margin-top:var(--aq-gap-2xs); }

  /* En-tête profil — détail Mobbin ALIGNÉ À GAUCHE (logo carré, titre, meta en colonnes, actions) */
  .aqm-head{ display:block; text-align:left; margin:var(--aq-gap-2xl) 0 0; }
  .aqm-headlogo{ width:11rem; height:11rem; border-radius:calc(var(--r-box) * 1.6); overflow:hidden; background:var(--ink); color:var(--aq-btn-fg); display:flex; align-items:center; justify-content:center; margin-bottom:var(--aq-gap-l); }
  .aqm-headlogo img{ width:100%; height:100%; object-fit:cover; }
  .aqm-headlogo__txt{ font-size:var(--aq-fs-lg); font-weight:600; }
  .aqm-title{ font-size:var(--aq-fs-3xl); font-weight:600; letter-spacing:-.02em; line-height:1.06; color:var(--ink); margin:0; display:inline-flex; align-items:center; gap:var(--aq-gap-s); flex-wrap:wrap; }
  .aqm-badge{ font-size:var(--aq-fs-xs); font-weight:600; color:var(--aq-btn-fg); background:var(--ink); border-radius:var(--r-btn); padding:var(--aq-gap-2xs) var(--aq-gap-s); letter-spacing:.02em; }
  .aqm-meta{ display:flex; flex-wrap:wrap; justify-content:flex-start; gap:var(--aq-gap-m) var(--aq-gap-2xl); margin-top:var(--aq-gap-xl); }
  .aqm-meta__col{ display:flex; flex-direction:column; gap:var(--aq-gap-xs); }
  .aqm-meta__k{ font-size:var(--aq-fs-xs); color:var(--faint); }
  .aqm-meta__v{ font-size:var(--aq-fs-base); font-weight:500; color:var(--ink); text-decoration:none; }
  .aqm-meta__lnk:hover{ text-decoration:underline; }
  .aqm-head__actions{ display:flex; gap:var(--aq-gap-xs); justify-content:flex-start; margin-top:var(--aq-gap-xl); flex-wrap:wrap; }
  /* Boutons d'en-tête : même gabarit que tous les autres (jetons de contrôle unifiés) */

  /* Barre d'onglets — mots + soulignement (style Mobbin), aucun filet */
  .aqm-fbar{ display:flex; align-items:center; gap:var(--aq-gap-xs); margin:var(--aq-gap-xl) 0 var(--aq-gap-l); flex-wrap:wrap; }
  .aqm-fpill{ position:relative; display:inline-flex; align-items:center; gap:var(--aq-gap-xs); font-family:inherit; font-size:var(--aq-fs-base); font-weight:500; border:none; background:none; border-radius:0; padding:var(--aq-gap-xs) 0; margin-right:var(--aq-gap-xl); cursor:pointer; color:var(--faint); }
  .aqm-fpill:hover{ color:var(--muted); background:none; }
  .aqm-fpill .c{ font-size:var(--aq-fs-xs); font-weight:600; color:var(--faint); opacity:1; }
  .aqm-fpill.is-on{ background:none; color:var(--ink); font-weight:600; }
  .aqm-fpill.is-on .c{ color:var(--muted); }
  .aqm-fpill.is-on::after{ content:''; position:absolute; left:0; right:0; bottom:-.2rem; height:2px; background:var(--ink); border-radius:2px; }
  .aqm-fbar__right{ margin-left:auto; display:flex; align-items:center; gap:var(--aq-gap-s); flex-wrap:wrap; justify-content:flex-end; }
  /* Dropdowns Trier / Type : réutilisent les classes natives d'Aurora (sort-list__btn,
     sort-list-dropdown, sort-list-dropdown__item). On ne fait qu'ancrer le positionnement
     et compléter le mobile (les règles du panneau Aurora sont desktop-only). */
  .aqm-dd{ position:relative; }
  .aqm-dd__btn{ background:transparent; border:0; padding:0; color:var(--ink); white-space:nowrap; }
  .aqm-dd .sort-list-dropdown{ position:absolute; top:calc(100% + 1rem); right:0; }
  .aqm-dd input{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
  .aqm-dd .sort-list-dropdown__item{ cursor:pointer; }
  @media(max-width:749px){
    .aqm-dd .sort-list-dropdown{ width:auto; min-width:22rem; max-width:calc(100vw - 3rem); padding:var(--aq-gap-m); background:var(--aq-surface-card); border-radius:var(--aq-r-box); box-shadow:var(--aq-shadow-2); }
    .aqm-dd .sort-list-dropdown__item{ display:block; padding:var(--aq-gap-xs) var(--aq-gap-m); border-radius:calc(var(--aq-r-input) * .7); font-size:var(--aq-fs-sm); font-weight:500; }
    .aqm-dd .sort-list-dropdown__item.active, .aqm-dd .sort-list-dropdown__item:hover{ background:var(--aq-surface-2-hover); }
  }
  .aqm-showing{ font-size:var(--aq-fs-xs); color:var(--faint); }
  /* .aqm-cols supprimé — code mort (contrôle non rendu). Le composant densité unique = .column-switcher. */

  /* Grille en maçonnerie + carte Mobbin */
  /* Grille : rend le product-card natif d'Aurora, colonnes pilotées par le sélecteur */
  .aqm-grid{ display:flex; flex-wrap:wrap; gap:var(--aq-gap-xl) var(--aq-gap-l); }
  .aqm-cell{ min-width:0; width:calc((100% - 2rem * (var(--gsc-aqm-cols, 4) - 1)) / var(--gsc-aqm-cols, 4)); transition:width .2s linear; }
  /* Menu d'actions par carte (« ⋯ » TOUJOURS visible, style Mobbin) */
  .aqm-cell--editable{ position:relative; }
  /* Pastille « En révision » — jetons de la pastille review (aq-tokens.css) */
  .aqm-revpill{ position:absolute; top:1rem; left:1rem; z-index:3; display:inline-flex; align-items:center; gap:var(--aq-gap-2xs); font-family:inherit; font-size:var(--aq-fs-2xs); font-weight:600; letter-spacing:.2px; color:var(--aq-review-ink); background:var(--aq-review-bg); box-shadow:inset 0 0 0 1px var(--aq-review-line); border-radius:999px; padding:var(--aq-gap-2xs) var(--aq-gap-xs); backdrop-filter:saturate(1.2) blur(2px); }
  .aqm-revpill svg{ width:1.4rem; height:1.4rem; }
  .aqm-cardmenu{ position:absolute; top:1rem; right:1rem; z-index:3; }
  .aqm-cardmenu__btn{ display:inline-flex; align-items:center; justify-content:center; width:3.6rem; height:3.6rem; border:0; border-radius:999px; background:var(--aq-surface-card); color:var(--aq-ink); box-shadow:var(--aq-shadow-1); cursor:pointer; backdrop-filter:saturate(1.2) blur(2px); transition:background-color .15s ease; }
  .aqm-cardmenu__btn:hover{ background:var(--aq-surface-2-hover); }
  .aqm-cardmenu__btn svg{ width:1.9rem; height:1.9rem; }
  .aqm-cardmenu__pop{ position:absolute; top:calc(100% + .6rem); right:0; min-width:16rem; background:var(--aq-surface-card); border-radius:var(--r-box); box-shadow:var(--aq-shadow-2); padding:var(--aq-gap-xs); opacity:0; transform:translateY(-.4rem); pointer-events:none; transition:opacity .14s ease, transform .14s ease; }
  .aqm-cardmenu.open .aqm-cardmenu__pop{ opacity:1; transform:none; pointer-events:auto; }
  .aqm-cardmenu__item{ display:flex; align-items:center; gap:var(--aq-gap-xs); font-family:inherit; font-size:var(--aq-fs-sm); font-weight:600; letter-spacing:0; color:var(--aq-ink); text-decoration:none; padding:var(--aq-gap-xs) var(--aq-gap-s); border-radius:var(--r-input); white-space:nowrap; }
  .aqm-cardmenu__item:hover{ background:var(--aq-surface-2-hover); }
  .aqm-cardmenu__item svg{ width:1.7rem; height:1.7rem; flex:0 0 auto; color:var(--aq-ink-soft); }
  .aqm-cardmenu__item--danger{ color:var(--aq-danger); width:100%; background:transparent; border:0; text-align:left; font-family:inherit; cursor:pointer; }
  .aqm-cardmenu__item--danger svg{ color:var(--aq-danger); }
  .aqm-cardmenu__item--danger:hover{ background:var(--aq-danger-tint); }
  @media(max-width:749px){ .aqm-cardmenu__btn{ width:4rem; height:4rem; } }

  /* Bouton « + » standard — surface d'encre légère (jeton) */
  .aqm-plus{ display:inline-flex; align-items:center; justify-content:center; width:4.4rem; height:3.8rem; border-radius:calc(var(--r-box) * 1.15); background:var(--aq-surface-3); color:var(--ink); flex:0 0 auto; }
  .aqm-plus svg{ width:1.9rem; height:1.9rem; }

  /* États vides / gate */
  .aqm-empty{ text-align:center; border:0; background:var(--aq-surface-2); border-radius:var(--r-box); padding:var(--aq-gap-2xl) var(--aq-gap-l); }
  .aqm-empty__t{ font-size:var(--aq-fs-lead); font-weight:600; color:var(--ink); }
  .aqm-empty__s{ font-size:var(--aq-fs-sm); color:var(--faint); margin:var(--aq-gap-xs) 0 var(--aq-gap-l); }
  .aqm-empty__btn{ display:inline-flex; align-items:center; justify-content:center; font-family:inherit; font-size:var(--aq-btn-font); font-weight:var(--aq-btn-weight); color:var(--aq-btn-fg); background:var(--aq-btn-bg); border-radius:var(--r-btn); height:var(--aq-btn-h); padding:0 var(--aq-btn-pad-x); text-decoration:none; }
  .aqph-hello{ display:flex; align-items:center; gap:var(--aq-gap-m); padding:var(--aq-gap-m) 0 var(--aq-gap-xl); }
  .aqph-ava{ width:4.4rem; height:4.4rem; border-radius:50%; background:var(--aq-surface-3); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; font-size:var(--aq-fs-sm); font-weight:600; flex:0 0 auto; }
  .aqph-name{ font-size:var(--aq-fs-xl); font-weight:600; letter-spacing:-.02em; color:var(--ink); margin:0; }
  .aqph-sub{ font-size:var(--aq-fs-sm); color:var(--faint); margin:var(--aq-gap-2xs) 0 0; }
  .aqph-sub a{ color:var(--ink); }
  .aqph-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(22rem,1fr)); gap:var(--aq-gap-s); max-width:92rem; }
  .aqph-card{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--aq-gap-2xs); padding:var(--aq-gap-l); border:0; box-shadow:none; border-radius:var(--r-box); background:var(--aq-surface-card); text-decoration:none; transition:border-color var(--aq-dur) var(--aq-ease), background-color var(--aq-dur) var(--aq-ease); }
  .aqph-card:hover{ border-color:var(--aq-line-strong); background:var(--aq-surface-2-hover); }
  .aqph-card--main{ border-color:var(--aq-line-strong); }
  .aqph-card svg{ width:2rem; height:2rem; color:var(--ink); margin-bottom:var(--aq-gap-xs); }
  .aqph-card__t{ font-size:var(--aq-fs-base); font-weight:600; color:var(--ink); }
  .aqph-card__s{ font-size:var(--aq-fs-xs); line-height:1.5; color:var(--muted); }
  .aqph-note{ font-size:var(--aq-fs-xs); color:var(--faint); margin:var(--aq-gap-l) 0 0; max-width:72rem; }
  @media(max-width:749px){ .aqph-grid{ grid-template-columns:1fr; } .aqph-hello{ padding:var(--aq-gap-s) 0 var(--aq-gap-l); } }

  @media(max-width:1100px){ .aqm-cell{ width:calc((100% - 2rem * 2) / 3); } .aqm-cols{ display:none; } }
  @media(max-width:749px){
    .aqm-search{ order:3; width:100%; max-width:none; min-width:0; }
    .aqm-title{ font-size:var(--aq-fs-xl); }
    .aqm-cell{ width:calc((100% - 2rem) / 2); }
  }

  /* ===== HUB Mon espace (modele awwwards My Account) ===== */
  .aqm-view{ min-width:0; }
  .aqm-hub{ display:grid; grid-template-columns:26rem 1fr; gap:var(--aq-gap-2xl); margin-top:var(--aq-gap-2xl); align-items:start; }
  .aqm-hub__intro{ position:sticky; top:2rem; }
  .aqm-hub__eye{ font-size:var(--aq-fs-sm); color:var(--faint); }
  .aqm-hub__h{ font-size:var(--aq-fs-2xl); font-weight:600; letter-spacing:-.02em; line-height:1.05; margin:var(--aq-gap-xs) 0 0; color:var(--ink); }
  .aqm-hub__p{ font-size:var(--aq-fs-sm); color:var(--muted); line-height:1.6; margin-top:var(--aq-gap-m); max-width:34ch; }
  .aqm-hub__grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--aq-gap-l); }
  .aqm-hcard{ display:flex; flex-direction:column; align-items:flex-start; text-align:left; text-decoration:none; background:var(--aq-surface-card); border:0; box-shadow:none; border-radius:var(--r-box); padding:var(--aq-gap-xl); min-height:19rem; cursor:pointer; font-family:inherit; transition:border-color var(--aq-dur) var(--aq-ease), background-color var(--aq-dur) var(--aq-ease); }
  .aqm-hcard:hover{ border-color:var(--aq-line-strong); background:var(--aq-surface-2-hover); }
  .aqm-hcard svg{ width:2.4rem; height:2.4rem; color:var(--ink); margin-bottom:auto; }
  .aqm-hcard__t{ font-size:var(--aq-fs-lead); font-weight:600; color:var(--ink); margin-top:var(--aq-gap-m); }
  .aqm-hcard__s{ font-size:var(--aq-fs-sm); color:var(--muted); line-height:1.55; margin-top:var(--aq-gap-xs); }
  @media(max-width:900px){ .aqm-hub{ grid-template-columns:1fr; gap:var(--aq-gap-l); } .aqm-hub__intro{ position:static; } .aqm-hcard{ min-height:0; } }

  /* ===== Hub v5 : identité · complétude · métriques · CTA ===== */
  .aqm-hub__main{ display:flex; flex-direction:column; gap:var(--aq-gap-l); min-width:0; }
  /* Carte identité (colonne gauche) */
  .aqm-idcard__logo{ width:5.6rem; height:5.6rem; border-radius:var(--r-box); background:var(--aq-surface-card); box-shadow:none; overflow:hidden; display:flex; align-items:center; justify-content:center; }
  .aqm-idcard__logo img{ width:100%; height:100%; object-fit:cover; }
  .aqm-idcard__ini{ font-size:var(--aq-fs-base); font-weight:600; color:var(--ink); }
  .aqm-idcard__name{ font-size:var(--aq-fs-2xl); font-weight:600; letter-spacing:-.02em; line-height:1.08; color:var(--ink); margin:var(--aq-gap-m) 0 0; }
  .aqm-idcard__sub{ font-size:var(--aq-fs-sm); color:var(--muted); margin:var(--aq-gap-2xs) 0 0; }
  .aqm-idcard__actions{ display:flex; flex-direction:column; gap:var(--aq-gap-xs); margin-top:var(--aq-gap-m); }
  .aqm-idcard__actions .aqm-btn{ width:100%; }
  .aqm-i{ width:1.6rem; height:1.6rem; flex:0 0 auto; }
  .aqm-visib{ display:flex; align-items:center; gap:var(--aq-gap-xs); margin-top:var(--aq-gap-m); font-size:var(--aq-fs-xs); color:var(--muted); }
  .aqm-dot{ width:.8rem; height:.8rem; border-radius:50%; background:var(--aq-ink-faint); flex:0 0 auto; }
  .aqm-dot--on{ background:var(--aq-success, var(--aq-ink)); }
  .aqm-reviewnote{ font-size:var(--aq-fs-2xs); color:var(--faint); line-height:1.5; margin:var(--aq-gap-s) 0 0; }
  .aqm-statusbanner{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--aq-gap-xs); margin-top:var(--aq-gap-l); padding:var(--aq-gap-s) var(--aq-gap-m); background:var(--surface); border-radius:var(--r-box); box-shadow:none; }
  .aqm-statusbanner .aqm-visib{ margin:0; font-weight:600; color:var(--ink); }
  .aqm-statusbanner .aqm-reviewnote{ margin:0; }
  /* Complétude */
  .aqm-compl{ background:var(--aq-surface-card); border:0; box-shadow:none; border-radius:var(--r-box); padding:var(--aq-gap-l) var(--aq-gap-l); }
  .aqm-compl__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--aq-gap-m); }
  .aqm-compl__h{ font-size:var(--aq-fs-lg); font-weight:600; letter-spacing:-.01em; color:var(--ink); margin:0; }
  .aqm-compl__p{ font-size:var(--aq-fs-xs); color:var(--muted); margin:var(--aq-gap-2xs) 0 0; }
  .aqm-compl__pct{ font-size:var(--aq-fs-xl); font-weight:600; color:var(--ink); line-height:1; letter-spacing:-.02em; flex:0 0 auto; }
  .aqm-compl__pct span{ font-size:var(--aq-fs-sm); color:var(--muted); margin-left:var(--aq-gap-3xs); }
  .aqm-compl__bar{ height:.6rem; border-radius:var(--aq-r-pill); background:var(--aq-surface-3); overflow:hidden; margin:var(--aq-gap-m) 0; }
  .aqm-compl__bar span{ display:block; height:100%; border-radius:inherit; background:var(--ink); transition:width .4s ease; }
  .aqm-compl__hint{ font-size:var(--aq-fs-xs); color:var(--faint); margin:0 0 var(--aq-gap-s); }
  .aqm-compl__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--aq-gap-3xs); }
  .aqm-compl__list a{ display:flex; align-items:center; gap:var(--aq-gap-s); padding:var(--aq-gap-xs) var(--aq-gap-2xs); border-radius:calc(var(--r-box) * .6); text-decoration:none; color:var(--ink); font-size:var(--aq-fs-sm); }
  .aqm-compl__list a:hover{ background:var(--aq-surface-2-hover); }
  .aqm-compl__ck{ width:1.8rem; height:1.8rem; border-radius:50%; border:1.5px solid var(--aq-line-strong); flex:0 0 auto; }
  .aqm-compl__go{ margin-left:auto; color:var(--faint); display:inline-flex; }
  .aqm-chev{ width:1.6rem; height:1.6rem; }
  .aqm-compl--done{ display:flex; align-items:center; gap:var(--aq-gap-m); }
  .aqm-compl__badge{ width:3.2rem; height:3.2rem; border-radius:50%; background:var(--ink); color:var(--aq-surface-card); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
  .aqm-compl__badge svg{ width:1.8rem; height:1.8rem; }
  /* Métriques — tuiles cliquables (points d'entrée vers la gestion, réf. Whatnot/eBay) */
  .aqm-metrics{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--aq-gap-s); }
  .aqm-metric{ position:relative; display:block; background:var(--aq-surface-card); border:0; box-shadow:none; border-radius:var(--r-box); padding:var(--aq-gap-m) var(--aq-gap-m); text-decoration:none; cursor:pointer; transition:border-color var(--aq-dur) var(--aq-ease), background-color var(--aq-dur) var(--aq-ease); }
  .aqm-metric:hover{ border-color:var(--aq-line-strong); background:var(--aq-surface-2-hover); }
  .aqm-metric__n{ display:block; font-size:var(--aq-fs-2xl); font-weight:600; letter-spacing:-.02em; line-height:1; color:var(--ink); }
  .aqm-metric__l{ display:block; font-size:var(--aq-fs-xs); color:var(--muted); margin-top:var(--aq-gap-2xs); }
  .aqm-metric__go{ position:absolute; top:1.4rem; right:1.3rem; width:1.5rem; height:1.5rem; color:var(--faint); opacity:.55; transition:opacity .2s ease, transform .2s ease; }
  .aqm-metric:hover .aqm-metric__go{ opacity:1; transform:translateX(.2rem); }
  .aqm-metric--empty .aqm-metric__n{ color:var(--faint); }
  .aqm-metric__add{ position:absolute; top:var(--aq-gap-m); right:var(--aq-gap-m); display:inline-flex; align-items:center; gap:var(--aq-gap-3xs); font-size:var(--aq-fs-2xs); font-weight:600; color:var(--ink); }
  .aqm-metric__add svg{ width:1.4rem; height:1.4rem; }
  /* Espacement vertical des vues (gap-l entre cartes/sections), comme .aqm-hub__main l'avait avant le regroupement. */
  .aqm-mainview:not([hidden]){ display:flex; flex-direction:column; gap:var(--aq-gap-l); }

  /* --- Rail de navigation (gauche) — patron Patreon, item actif = pilule pleine --- */
  .aqm-nav{ display:flex; flex-direction:column; gap:var(--aq-gap-3xs); background:var(--aq-surface-card); border-radius:calc(var(--r-box) + .4rem); box-shadow:var(--aq-hairline); padding:var(--aq-gap-2xs); }
  .aqm-nav__item{ display:flex; align-items:center; gap:var(--aq-gap-s); width:100%; padding:var(--aq-gap-s) var(--aq-gap-s); border:0; background:none; border-radius:var(--r-box); cursor:pointer; font-family:inherit; font-size:var(--aq-fs-sm); font-weight:500; color:var(--ink); text-align:left; text-decoration:none; transition:background var(--aq-dur) var(--aq-ease); }
  .aqm-nav__item:hover{ background:var(--aq-surface-2-hover); }
  .aqm-nav__item.is-on{ background:var(--aq-btn-bg); color:var(--aq-btn-fg); }
  .aqm-nav__ic{ width:2rem; height:2rem; flex:0 0 auto; }
  .aqm-nav__item--soon{ cursor:default; color:var(--faint); }
  .aqm-nav__item--soon:hover{ background:none; }
  .aqm-nav__soon{ margin-left:auto; font-size:var(--aq-fs-2xs); font-weight:600; color:var(--faint); background:var(--aq-surface-3); border-radius:999px; padding:.2rem .8rem; }

  /* --- En-tête du panneau (identité + actions) --- */
  .aqm-topbar{ display:flex; align-items:center; justify-content:space-between; gap:var(--aq-gap-m); flex-wrap:wrap; }
  .aqm-topbar__id{ display:flex; align-items:center; gap:var(--aq-gap-s); min-width:0; }
  .aqm-topbar__ava{ width:4.4rem; height:4.4rem; border-radius:50%; overflow:hidden; background:var(--aq-surface-3); display:flex; align-items:center; justify-content:center; font-size:var(--aq-fs-sm); font-weight:600; color:var(--ink); flex:0 0 auto; }
  .aqm-topbar__ava img{ width:100%; height:100%; object-fit:cover; }
  .aqm-topbar__hello{ font-size:var(--aq-fs-xl); font-weight:600; letter-spacing:-.02em; line-height:1.1; color:var(--ink); margin:0; }
  .aqm-topbar__sub{ font-size:var(--aq-fs-sm); color:var(--muted); margin:var(--aq-gap-3xs) 0 0; }
  .aqm-topbar__actions{ display:flex; align-items:center; gap:var(--aq-gap-xs); }

  /* --- Carte de panneau (Profil / Abonnement) --- */
  .aqm-panelcard{ background:var(--aq-surface-card); border-radius:var(--r-box); box-shadow:var(--aq-hairline); padding:var(--aq-gap-l); }
  .aqm-panelcard__h{ font-size:var(--aq-fs-lg); font-weight:600; letter-spacing:-.01em; color:var(--ink); margin:0; }
  .aqm-panelcard__p{ font-size:var(--aq-fs-sm); color:var(--muted); line-height:1.6; margin:var(--aq-gap-xs) 0 0; max-width:52ch; }
  .aqm-panelcard__actions{ display:flex; gap:var(--aq-gap-xs); margin-top:var(--aq-gap-m); flex-wrap:wrap; }
  .aqm-statusline{ display:flex; align-items:center; gap:var(--aq-gap-2xs); font-size:var(--aq-fs-xs); color:var(--muted); margin:var(--aq-gap-m) 0 0; }

  /* --- Publications (réalisations + produits + offres réunis) --- */
  .aqm-pubgrid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--aq-gap-s); }
  .aqm-pubcard{ background:var(--aq-surface-card); border-radius:var(--r-box); box-shadow:var(--aq-hairline); padding:var(--aq-gap-m); display:flex; flex-direction:column; gap:var(--aq-gap-m); }
  .aqm-pubcard__n{ display:block; font-size:var(--aq-fs-2xl); font-weight:600; letter-spacing:-.02em; line-height:1; color:var(--ink); }
  .aqm-pubcard__l{ display:block; font-size:var(--aq-fs-xs); color:var(--muted); margin-top:var(--aq-gap-2xs); }
  .aqm-pubcard__actions{ display:flex; gap:var(--aq-gap-2xs); }
  .aqm-pubcard__actions .aqm-btn{ flex:1; }

  /* --- État vide (Demandes — bientôt) --- */
  .aqm-empty{ background:var(--aq-surface-card); border-radius:var(--r-box); box-shadow:var(--aq-hairline); padding:var(--aq-gap-2xl); text-align:center; }
  .aqm-empty__ic{ display:inline-flex; width:4.8rem; height:4.8rem; align-items:center; justify-content:center; border-radius:50%; background:var(--aq-surface-3); color:var(--muted); }
  .aqm-empty__ic svg{ width:2.4rem; height:2.4rem; }
  .aqm-empty__h{ font-size:var(--aq-fs-lg); font-weight:600; color:var(--ink); margin:var(--aq-gap-m) 0 0; }
  .aqm-empty__p{ font-size:var(--aq-fs-sm); color:var(--muted); line-height:1.6; margin:var(--aq-gap-2xs) auto 0; max-width:40ch; }

  @media(max-width:749px){ .aqm-pubgrid{ grid-template-columns:1fr; } }
  /* Cartes : CTA + carte héro pleine largeur */
  .aqm-hcard__cta{ display:inline-flex; align-items:center; gap:var(--aq-gap-2xs); margin-top:var(--aq-gap-m); font-size:var(--aq-fs-sm); font-weight:500; color:var(--ink); }
  .aqm-hcard__cta svg{ width:1.5rem; height:1.5rem; margin:0; color:var(--ink); transition:transform .2s ease; }
  .aqm-hcard:hover .aqm-hcard__cta svg{ transform:translateX(.3rem); }
  .aqm-hcard--hero{ grid-column:1 / -1; border-color:var(--aq-line-strong); }
  /* Mobile : cartes en rangées de liste (réf. Cash App / Careem) */
  @media(max-width:749px){
    .aqm-metrics{ gap:var(--aq-gap-xs); }
    .aqm-metric{ padding:var(--aq-gap-s) var(--aq-gap-s); }
    .aqm-metric__n{ font-size:var(--aq-fs-xl); }
    .aqm-metric__go{ top:1.1rem; right:1rem; opacity:.7; }
    .aqm-compl{ padding:var(--aq-gap-m) var(--aq-gap-m); }
    .aqm-compl__list a{ padding:var(--aq-gap-s) var(--aq-gap-2xs); }
    .aqm-hub__grid{ grid-template-columns:1fr; gap:var(--aq-gap-s); }
    .aqm-hcard{ flex-direction:row; align-items:center; gap:var(--aq-gap-s); min-height:0; padding:var(--aq-gap-m); }
    .aqm-hcard svg.aqm-hcard__ic{ margin:0; width:2rem; height:2rem; }
    .aqm-hcard__t{ margin-top:0; font-size:var(--aq-fs-base); }
    .aqm-hcard__s{ display:none; }
    .aqm-hcard__cta{ margin-top:0; margin-left:auto; font-size:0; gap:0; }
    .aqm-hcard--hero{ grid-column:auto; }
  }

/* ===== AQ — FAVORIS (déplacé de sections/aq-favorites.liquid, 2026-07-12) ===== */
  .aqfav-root{ font-family:inherit; color:var(--aq-ink); }
  .aqfav-head{ margin:0 0 var(--aq-gap-l); }
  .aqfav-title{ font-size:var(--aq-fs-xl); font-weight:600; letter-spacing:-.02em; color:var(--aq-ink); margin:0; display:inline-flex; align-items:center; gap:var(--aq-gap-s); }
  .aqfav-count{ font-size:var(--aq-fs-sm); font-weight:600; color:var(--aq-ink-soft); }
  .aqfav-sub{ font-size:var(--aq-fs-sm); color:var(--aq-ink-faint); margin:var(--aq-gap-xs) 0 0; }

  .aqfav-grid{ display:flex; flex-wrap:wrap; gap:var(--aq-gap-xl) var(--aq-gap-l); }
  .aqfav-cell{ position:relative; min-width:0; width:calc((100% - 2rem * 3) / 4); }
  .aqfav-remove{ position:absolute; top:1rem; right:1rem; z-index:3; display:inline-flex; align-items:center; justify-content:center; width:3.6rem; height:3.6rem; border:0; border-radius:999px; background:var(--aq-surface); color:var(--aq-ink); box-shadow:var(--aq-shadow-1); cursor:pointer; backdrop-filter:saturate(1.2) blur(2px); transition:background-color .15s ease, color .15s ease; }
  .aqfav-remove:hover{ background:var(--aq-danger-tint); color:var(--aq-danger); }
  .aqfav-remove svg{ width:1.8rem; height:1.8rem; }

  .aqfav-empty{ text-align:center; border:0; background:var(--aq-surface-2); border-radius:var(--aq-r-box); padding:var(--aq-gap-2xl) var(--aq-gap-l); max-width:56rem; }
  .aqfav-empty__t{ font-size:var(--aq-fs-lead); font-weight:600; color:var(--aq-ink); }
  .aqfav-empty__s{ font-size:var(--aq-fs-sm); color:var(--aq-ink-faint); margin:var(--aq-gap-xs) auto var(--aq-gap-l); max-width:44ch; }

  @media(max-width:1100px){ .aqfav-cell{ width:calc((100% - 2rem * 2) / 3); } }
  @media(max-width:749px){ .aqfav-cell{ width:calc((100% - 2rem) / 2); } .aqfav-title{ font-size:var(--aq-fs-md); } }

/* ===== AQ — PRODUCT — TÉLÉCHARGEMENTS/SPECS/RTE (déplacé de sections/aq-product-editorial.liquid, 2026-07-12) ===== */
.aq-dl{display:flex;flex-direction:column;gap:.8rem}.aq-dl__i{display:flex;align-items:center;gap:var(--aq-gap-s);padding:var(--aq-gap-s) var(--aq-gap-m);border:0;background:var(--aq-surface-2);border-radius:var(--gsc-base-radii,0);text-decoration:none;color:inherit}.aq-dl__i:hover{background:var(--aq-surface-3)}.aq-dl__n{font-size:var(--aq-fs-sm);font-weight:600;word-break:break-word}.aq-dl__x{margin-left:auto;font-size:var(--aq-fs-2xs);font-weight:700;color:var(--aq-accent,#e2452f)}

.aq-sp__i{padding:var(--aq-gap-m) 0;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}.aq-sp__l{font-size:var(--aq-fs-2xs);letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0 0 .4rem}.aq-sp__v{font-size:var(--aq-fs-base);line-height:1.4;margin:0}.aq-sp__v ul{list-style:none;padding:0;margin:0}

.aq-pd__b{margin:0 0 2rem}.aq-pd__b h3{margin:0 0 .6rem}.aq-pd__b .rte{margin:0}

/* ===== AQ — PAGE VERROUILLÉE (déplacé de sections/aq-page-gated.liquid, 2026-07-12) ===== */
  .aqpg{ font-family: inherit; }
  .aqpg__gate{ max-width: 56rem; margin:0 auto; text-align: center; padding:var(--gsc-padding-block-l, 4rem) 0; }
  .aqpg__title{ font-size: var(--aq-fs-2xl); font-weight: 600; letter-spacing: -.02em; color: var(--aq-ink); margin:0 0 var(--aq-gap-s); }
  .aqpg__text{ font-size: var(--aq-fs-base); color: var(--aq-ink-soft); margin:0 0 var(--aq-gap-l); }

/* ===== AQ — FORMULAIRE INTÉGRÉ (déplacé de sections/aq-form-embed.liquid, 2026-07-12) ===== */
  .aqfe{ font-family:'Inter Tight',sans-serif; }
  .aqfe__title{ font-size:var(--aq-fs-2xl); font-weight:600; letter-spacing:-.02em; color:var(--aq-ink); margin:0 0 var(--aq-gap-s); }
  .aqfe__intro{ font-size:var(--aq-fs-base); line-height:1.55; color:var(--aq-ink-soft); margin:0 0 var(--aq-gap-xl); max-width:64ch; }
  .aqfe__frame{ width:100%; }
  .aqfe__frame iframe{ width:100%; border:0; display:block; }
  .aqfe__note{ font-size:var(--aq-fs-sm); color:var(--aq-ink-faint); border:0; background:var(--aq-surface-2); border-radius:var(--aq-r-box); padding:var(--aq-gap-l); }

/* ===== AQ — CRÉER — HUB (déplacé de sections/aq-create-hub.liquid, 2026-07-12) ===== */
  .aqch{ font-family:'Inter Tight',sans-serif; }
  .aqch-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(20rem,1fr)); gap:var(--aq-gap-m); max-width:104rem; margin:0 auto; }
  .aqch-card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--aq-gap-xs); padding:var(--aq-gap-xl) var(--aq-gap-l); border:0; border-radius:var(--aq-r-box); background:var(--aq-surface-2); text-decoration:none; transition:border-color .15s ease; }
  .aqch-card--main{ background:var(--aq-surface-3); }
  .aqch-card:hover{ background:var(--aq-surface-3); }
  .aqch-card__ic{ display:inline-flex; align-items:center; justify-content:center; width:4.4rem; height:4.4rem; border-radius:50%; background:var(--aq-surface-2); color:var(--aq-ink); margin-bottom:var(--aq-gap-s); }
  .aqch-card__ic svg{ width:2.1rem; height:2.1rem; }
  .aqch-card__t{ font-size:var(--aq-fs-lg); font-weight:600; color:var(--aq-ink); }
  .aqch-card__s{ font-size:var(--aq-fs-sm); line-height:1.5; color:var(--aq-ink-soft); }
  .aqch-card__note{ font-size:var(--aq-fs-2xs); font-weight:600; color:var(--aq-ink-faint); background:var(--aq-surface-2); border-radius:var(--aq-r-pill); padding:var(--aq-gap-2xs) var(--aq-gap-s); margin-top:var(--aq-gap-2xs); }
  .aqch-sub{ font-size:var(--aq-fs-sm); color:var(--aq-ink-faint); margin:var(--aq-gap-l) 0 0; text-align:center; }
  .aqch-sub a{ color:var(--aq-ink); }
  @media(max-width:900px){ .aqch-grid{ grid-template-columns:1fr; } }

/* ===== AQ — CRÉER — ACTEUR (déplacé de sections/aq-create-actor.liquid, 2026-07-12) ===== */
  .aqca{ font-family:'Inter Tight',sans-serif; }
  .aqca-back{ display:inline-flex; align-items:center; gap:var(--aq-gap-xs); font-size:var(--aq-fs-sm); font-weight:600; color:var(--aq-ink-soft); text-decoration:none; margin-bottom:var(--aq-gap-l); }
  .aqca-back:hover{ color:var(--aq-ink); }
  .aqca-back svg{ width:1.6rem; height:1.6rem; }
  .aqca-banner{ display:flex; align-items:flex-start; gap:var(--aq-gap-s); font-size:var(--aq-fs-sm); line-height:1.5; color:var(--aq-ink); background:var(--aq-surface-2); border-radius:var(--aq-r-box); padding:var(--aq-gap-m) var(--aq-gap-m); margin:0 auto var(--aq-gap-xl); max-width:72rem; }
  .aqca-banner svg{ width:1.8rem; height:1.8rem; flex:0 0 auto; margin-top:var(--aq-gap-3xs); color:var(--aq-ink-soft); }
  .aqca-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--aq-gap-m); max-width:72rem; margin:0 auto; }
  .aqca-card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--aq-gap-xs); padding:var(--aq-gap-l) var(--aq-gap-l); border:0; border-radius:var(--aq-r-box); background:var(--aq-surface-2); text-decoration:none; transition:border-color .15s ease; }
  .aqca-card:hover{ background:var(--aq-surface-3); }
  .aqca-card__t{ font-size:var(--aq-fs-lg); font-weight:600; color:var(--aq-ink); }
  .aqca-card__s{ font-size:var(--aq-fs-sm); line-height:1.5; color:var(--aq-ink-soft); }
  @media(max-width:749px){ .aqca-grid{ grid-template-columns:1fr; } }
