/* =============================================================================
   THÈME « atelier » (maquette 1a) — en-tête, page d'accueil et pied.

   Chargé UNIQUEMENT quand la vitrine est en thème « atelier »
   (includes/theme.php). Tout est scopé à « body.avt-theme-atelier » pour ne
   jamais déborder sur les autres thèmes ni sur le domaine racine.
   Markup : includes/themes/atelier.php.

   Passe de finition : hiérarchie typographique Archivo / JetBrains Mono,
   rythme aéré, accent (--avt-couleur) dosé, et deux points durs traités —
   le héros sans photo (fond travaillé plutôt qu'un aplat gris) et le module
   de recherche [avt_pneu_search], stylé ici pour s'intégrer au thème sans
   toucher à son markup.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

body.avt-theme-atelier {
  --atl-accent: var(--avt-couleur, #bf4040);
  --atl-accent-fonce: var(--avt-couleur-fonce, #8f3030);
  --atl-accent-clair: var(--avt-couleur-clair, #f5e2e2);
  --atl-dark: #1c1b19;
  --atl-dark2: #262320;
  --atl-bg: #f7f6f4;
  --atl-bg2: #e9e7e3;
  --atl-line: #e6e3de;
  --atl-line2: #d6d2cb;
  --atl-muted: #6b6862;
  --atl-muted2: #55524d;
  --atl-wrap: 1280px;
  --atl-r: 4px;
  --atl-gut: 40px;
  --atl-ombre: 0 1px 2px rgba(28,27,25,.04);
  --atl-ombre-relief: 0 22px 48px -28px rgba(28,27,25,.42);
  background: var(--atl-bg2);
  color: var(--atl-dark);
  font-family: 'Archivo', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.avt-theme-atelier .atl-entete *,
body.avt-theme-atelier .atl-page *,
body.avt-theme-atelier .atl-pied * { box-sizing: border-box; }

body.avt-theme-atelier .atl-wrap {
  max-width: var(--atl-wrap);
  margin: 0 auto;
  padding: 0 var(--atl-gut);
}

body.avt-theme-atelier :where(a):focus-visible,
body.avt-theme-atelier :where(button, input, select, label[for]):focus-visible {
  outline: 2px solid var(--atl-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---------------------------------------------------------------- En-tête -- */
body.avt-theme-atelier .atl-entete { position: relative; z-index: 5; }

body.avt-theme-atelier .atl-topbar {
  background: var(--atl-dark);
  color: #cfccc5;
  font-size: 13px;
  letter-spacing: .01em;
}
body.avt-theme-atelier .atl-topbar-in {
  display: flex; justify-content: space-between; align-items: center;
  gap: 10px 30px; padding: 9px 0; flex-wrap: wrap;
}
body.avt-theme-atelier .atl-topbar-coord { display: flex; gap: 10px 30px; flex-wrap: wrap; }
body.avt-theme-atelier .atl-topbar a,
body.avt-theme-atelier .atl-topbar span { color: inherit; text-decoration: none; }
body.avt-theme-atelier .atl-topbar-coord a { font-weight: 600; color: #eceae5; }
body.avt-theme-atelier .atl-topbar a:hover { color: #fff; }
body.avt-theme-atelier .atl-topbar-hor { color: #a9a59d; }

body.avt-theme-atelier .atl-barre { background: #fff; border-bottom: 1px solid var(--atl-line); }
body.avt-theme-atelier .atl-barre-in {
  display: flex; align-items: center; gap: 28px; padding: 14px 0; min-height: 82px;
}
body.avt-theme-atelier .atl-logo { display: flex; align-items: center; }
body.avt-theme-atelier .atl-logo .avt-logo-img,
body.avt-theme-atelier .atl-logo img { height: 54px; width: auto; display: block; }
body.avt-theme-atelier .atl-logo .avt-logo-texte {
  font-size: 22px; font-weight: 800; letter-spacing: -.02em; text-decoration: none; color: var(--atl-dark);
}

body.avt-theme-atelier .atl-nav { display: flex; gap: 2px; flex: 1; }
body.avt-theme-atelier .atl-nav-lien {
  position: relative; padding: 10px 15px; font-size: 15px; font-weight: 600; color: var(--atl-muted);
  text-decoration: none; white-space: nowrap; transition: color .15s ease;
}
body.avt-theme-atelier .atl-nav-lien::after {
  content: ""; position: absolute; left: 15px; right: 15px; bottom: 4px; height: 2px;
  background: var(--atl-accent); transform: scaleX(0); transform-origin: left; transition: transform .18s ease;
}
body.avt-theme-atelier .atl-nav-lien:hover { color: var(--atl-dark); }
body.avt-theme-atelier .atl-nav-lien.is-actif { color: var(--atl-dark); }
body.avt-theme-atelier .atl-nav-lien.is-actif::after,
body.avt-theme-atelier .atl-nav-lien:hover::after { transform: scaleX(1); }
body.avt-theme-atelier .atl-nav-mobile { display: none; }

body.avt-theme-atelier .atl-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
body.avt-theme-atelier .atl-icone-lien { color: var(--atl-dark); display: inline-flex; transition: opacity .15s ease; }
body.avt-theme-atelier .atl-icone-lien:hover { opacity: .65; }
body.avt-theme-atelier .atl-panier {
  display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--atl-line2);
  border-radius: var(--atl-r); padding: 10px 16px; font-size: 15px; font-weight: 600;
  text-decoration: none; color: var(--atl-dark); transition: border-color .15s ease, background .15s ease;
}
body.avt-theme-atelier .atl-panier:hover { border-color: var(--atl-dark); background: var(--atl-bg); }
body.avt-theme-atelier .atl-panier-n {
  min-width: 22px; height: 22px; border-radius: 11px; background: var(--atl-accent); color: #fff;
  font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px;
}
body.avt-theme-atelier .atl-panier-n[hidden] { display: none; }
body.avt-theme-atelier .atl-burger { display: none; cursor: pointer; color: var(--atl-dark); padding: 6px; }

/* ----------------------------------------------------------------- Page --- */
body.avt-theme-atelier .atl-page { background: var(--atl-bg); }
body.avt-theme-atelier .atl-page p { margin: 0 0 .6em; }
body.avt-theme-atelier .atl-page p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------------- Héros -- */
body.avt-theme-atelier .atl-hero {
  position: relative; color: #fff; isolation: isolate;
  background-color: #201d19; background-size: cover; background-position: center;
}
/* Héros SANS photo : plutôt qu'un aplat/rayures « maquette non finie », un fond
   sombre travaillé — dégradé profond réchauffé d'une lueur d'accent discrète et
   fine texture de rainures (bande de roulement) presque imperceptible. */
body.avt-theme-atelier .atl-hero-sans-photo {
  background-color: #17150f;
  background-image:
    radial-gradient(135% 105% at 84% 6%, color-mix(in srgb, var(--atl-accent) 28%, transparent) 0%, transparent 54%),
    linear-gradient(112deg, #16140f 0%, #201d19 58%, #2a2622 100%);
}
body.avt-theme-atelier .atl-hero-sans-photo::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.045' stroke-width='1'%3E%3Cpath d='M0 16h64M0 32h64M0 48h64'/%3E%3Cpath d='M16 0l16 64M32 0l16 64M0 0l16 64' stroke-opacity='0.03'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(100deg, transparent 0%, #000 45%, #000 100%);
          mask-image: linear-gradient(100deg, transparent 0%, #000 45%, #000 100%);
}
/* Filet d'accent au ras du bas du héros, comme une ligne d'atelier. */
body.avt-theme-atelier .atl-hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 1;
  background: linear-gradient(90deg, var(--atl-accent) 0%, color-mix(in srgb, var(--atl-accent) 40%, transparent) 60%, transparent 100%);
}
body.avt-theme-atelier .atl-hero-in {
  position: relative; z-index: 1;
  min-height: 560px; display: flex; flex-direction: column; justify-content: center;
  gap: 20px; padding: 84px 0 136px; max-width: 700px;
}
body.avt-theme-atelier .atl-hero-surtitre {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #e6e0d6;
}
body.avt-theme-atelier .atl-hero-surtitre::before {
  content: ""; width: 26px; height: 2px; background: var(--atl-accent); display: inline-block;
}
body.avt-theme-atelier .atl-hero-titre {
  margin: 0; font-size: clamp(40px, 5.6vw, 62px); line-height: 1.02; font-weight: 800; letter-spacing: -.025em; color: #fff;
}
body.avt-theme-atelier .atl-hero-intro { max-width: 560px; font-size: 18.5px; line-height: 1.55; color: #e9e6e0; text-wrap: pretty; }
body.avt-theme-atelier .atl-hero-intro strong { color: #fff; font-weight: 700; }
body.avt-theme-atelier .atl-hero-dots { display: flex; gap: 8px; margin-top: 8px; }
body.avt-theme-atelier .atl-hero-dots span { width: 14px; height: 4px; border-radius: 2px; background: rgba(255,255,255,.4); }
body.avt-theme-atelier .atl-hero-dots .is-actif { width: 32px; background: var(--atl-accent); }

/* ------------------------------------------------------------- Recherche -- */
body.avt-theme-atelier .atl-recherche-section { position: relative; }
body.avt-theme-atelier .atl-search-card {
  position: relative; margin-top: -84px; background: #fff; border: 1px solid var(--atl-line);
  border-radius: var(--atl-r); box-shadow: var(--atl-ombre-relief); padding: 30px 34px 32px;
}
/* Liseré d'accent en tête de carte. */
body.avt-theme-atelier .atl-search-card::before {
  content: ""; position: absolute; left: 0; top: 0; width: 64px; height: 3px; background: var(--atl-accent);
  border-radius: var(--atl-r) 0 0 0;
}
body.avt-theme-atelier .atl-search-tete {
  display: flex; justify-content: space-between; align-items: baseline; gap: 6px 24px;
  flex-wrap: wrap; margin-bottom: 22px;
}
body.avt-theme-atelier .atl-search-tete h2 { margin: 0; font-size: 23px; font-weight: 800; letter-spacing: -.01em; }
body.avt-theme-atelier .atl-search-aide { font-size: 13px; color: var(--atl-muted); }
body.avt-theme-atelier .atl-search-aide b { font-family: 'JetBrains Mono', monospace; font-weight: 500; color: var(--atl-dark); background: var(--atl-bg2); padding: 2px 7px; border-radius: 3px; }
body.avt-theme-atelier .atl-search-resultats { margin-top: 30px; }
body.avt-theme-atelier .atl-search-resultats:empty { margin-top: 0; }

/* ---- Module [avt_pneu_search] : markup inchangé, habillage atelier ---------
   La recherche arrive avec son propre style (Poppins, coins très arrondis,
   carte centrée en mode wizard). On la réaccorde au thème : Archivo, coins
   nets, bordures et accents atelier, valeurs en JetBrains Mono. On neutralise
   sa carte interne pour éviter l'effet « carte dans la carte » : elle coule
   dans .atl-search-card. Rien n'est réécrit, tout est scopé. */
body.avt-theme-atelier .upc-pneu-search {
  font-family: 'Archivo', Helvetica, Arial, sans-serif;
  --ups-accent: var(--atl-accent);
  --ups-accent-d: var(--atl-accent-fonce);
  --ups-border: var(--atl-line2);
  --ups-ink: var(--atl-dark);
  --ups-muted: var(--atl-muted);
  color: var(--atl-dark); margin: 0;
}
body.avt-theme-atelier .upc-pneu-search.is-wizard {
  max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; text-align: center;
}
body.avt-theme-atelier .upc-pneu-search .ups-wizard-head { margin-bottom: 20px; }
body.avt-theme-atelier .upc-pneu-search .ups-progress { gap: 7px; margin-bottom: 18px; }
body.avt-theme-atelier .upc-pneu-search .ups-dot { width: 8px; height: 8px; }
body.avt-theme-atelier .upc-pneu-search .ups-dot.is-active { transform: scale(1.3); }
body.avt-theme-atelier .upc-pneu-search .ups-wizard-title {
  font-family: 'Archivo', sans-serif !important; font-size: 21px; font-weight: 700; letter-spacing: -.01em; color: var(--atl-dark);
}
body.avt-theme-atelier .upc-pneu-search.is-wizard .ups-grid { max-width: 360px; }
/* Sélecteurs : nets, valeur en mono, focus à la couleur du garage. */
body.avt-theme-atelier .upc-pneu-search .ups-select {
  border: 1px solid var(--atl-line2); border-radius: var(--atl-r); background-color: #fff;
  font-family: 'JetBrains Mono', monospace; font-size: 1rem; color: var(--atl-dark);
  min-height: 52px; padding: 13px 36px 13px 15px; transition: border-color .15s ease, box-shadow .15s ease;
}
body.avt-theme-atelier .upc-pneu-search.is-wizard .ups-select { text-align: center; font-size: 1.05rem; }
body.avt-theme-atelier .upc-pneu-search .ups-select:hover { border-color: #b9b4ab; }
body.avt-theme-atelier .upc-pneu-search .ups-select:focus {
  border-color: var(--atl-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--atl-accent) 18%, transparent);
}
body.avt-theme-atelier .upc-pneu-search .ups-label { font-family: 'Archivo', sans-serif; font-weight: 600; font-size: .82rem; color: var(--atl-muted); }
body.avt-theme-atelier .upc-pneu-search .ups-num {
  background: var(--atl-dark); border-radius: 3px; width: 20px; height: 20px; font-size: .72rem;
}
/* Navigation wizard. */
body.avt-theme-atelier .upc-pneu-search .ups-wizard-nav { max-width: 360px; margin-top: 16px; }
body.avt-theme-atelier .upc-pneu-search .ups-wizard-nav button { font-family: 'Archivo', sans-serif; font-weight: 600; }
body.avt-theme-atelier .upc-pneu-search .ups-wizard-nav .ups-wizard-next { color: var(--atl-accent); }
/* Boutons d'action : « Rechercher » à la couleur du garage, coins atelier. */
body.avt-theme-atelier .upc-pneu-search .ups-submit,
body.avt-theme-atelier .upc-pneu-search .ups-quick-go {
  font-family: 'Archivo', sans-serif; font-weight: 700; border-radius: var(--atl-r);
  background: var(--atl-accent); box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--atl-accent) 60%, transparent);
  transition: background .15s ease, transform .05s ease, box-shadow .15s ease;
}
body.avt-theme-atelier .upc-pneu-search .ups-submit:hover,
body.avt-theme-atelier .upc-pneu-search .ups-quick-go:hover { background: var(--atl-accent-fonce); }
body.avt-theme-atelier .upc-pneu-search .ups-submit:active { transform: translateY(1px); }
body.avt-theme-atelier .upc-pneu-search .ups-reset,
body.avt-theme-atelier .upc-pneu-search .ups-to-quick {
  font-family: 'Archivo', sans-serif; border-radius: var(--atl-r);
}
body.avt-theme-atelier .upc-pneu-search .ups-to-quick { color: var(--atl-accent); border-color: var(--atl-accent); }
body.avt-theme-atelier .upc-pneu-search .ups-to-quick:hover { background: var(--atl-accent-clair); }
/* Affiner : puces et cases. */
body.avt-theme-atelier .upc-pneu-search .ups-refine-title { font-family: 'Archivo', sans-serif; color: var(--atl-muted); }
body.avt-theme-atelier .upc-pneu-search .ups-check { font-family: 'Archivo', sans-serif; border-radius: var(--atl-r); border-color: var(--atl-line2); }
body.avt-theme-atelier .upc-pneu-search .ups-check:hover { border-color: #b9b4ab; }
body.avt-theme-atelier .upc-pneu-search .ups-check:has(input:checked) { border-color: var(--atl-accent); background: var(--atl-accent-clair); }
body.avt-theme-atelier .upc-pneu-search .ups-check input { accent-color: var(--atl-accent); }
/* Recherche rapide (« je connais ma taille »). */
body.avt-theme-atelier .upc-pneu-search .ups-quick-toggle { font-family: 'Archivo', sans-serif; }
body.avt-theme-atelier .upc-pneu-search .ups-quick-input {
  font-family: 'JetBrains Mono', monospace; border: 1px solid var(--atl-line2); border-radius: var(--atl-r);
}
body.avt-theme-atelier .upc-pneu-search .ups-quick-input:focus {
  border-color: var(--atl-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--atl-accent) 18%, transparent);
}
body.avt-theme-atelier .upc-pneu-search .ups-quick-go { border-radius: var(--atl-r); }
body.avt-theme-atelier .upc-pneu-search .ups-empty { border-radius: var(--atl-r); }

/* Résultats (cartes de pneus) : léger accord au thème, sans réécrire la grille. */
body.avt-theme-atelier .upc-pneu-grid { font-family: 'Archivo', Helvetica, sans-serif; --acc: var(--atl-accent); }
body.avt-theme-atelier .upc-card { border-radius: 8px; border-color: var(--atl-line); }
body.avt-theme-atelier .upc-card:hover { border-color: var(--atl-line2); }
body.avt-theme-atelier .upc-pneu-count,
body.avt-theme-atelier .upc-pneu-sort { font-family: 'Archivo', Helvetica, sans-serif; color: var(--atl-muted); }

/* --------------------------------------------------------------- Sections - */
body.avt-theme-atelier .atl-section { padding-top: 84px; }
body.avt-theme-atelier .atl-section-tete { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 26px; }
body.avt-theme-atelier .atl-section-tete h2 { margin: 0; font-size: clamp(26px, 3.3vw, 33px); font-weight: 800; letter-spacing: -.02em; }
body.avt-theme-atelier .atl-section-sous { display: block; margin-top: 8px; font-size: 15px; color: var(--atl-muted); }

/* Comment ça marche */
body.avt-theme-atelier .atl-etapes {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--atl-line); border: 1px solid var(--atl-line); border-radius: var(--atl-r); overflow: hidden;
}
body.avt-theme-atelier .atl-etape { background: #fff; padding: 32px 30px; display: flex; flex-direction: column; gap: 10px; transition: background .15s ease; }
body.avt-theme-atelier .atl-etape:hover { background: #fdfcfb; }
body.avt-theme-atelier .atl-etape-n {
  font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 500; color: var(--atl-accent);
  letter-spacing: .04em; margin-bottom: 2px;
}
body.avt-theme-atelier .atl-etape h3 { margin: 0; font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
body.avt-theme-atelier .atl-etape p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--atl-muted2); }

/* Prestations */
body.avt-theme-atelier .atl-prestations {
  display: grid; grid-template-columns: 1fr 1fr; column-gap: 56px; border-top: 2px solid var(--atl-dark);
}
body.avt-theme-atelier .atl-presta {
  display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--atl-line);
}
body.avt-theme-atelier .atl-presta-lib { font-size: 15px; font-weight: 600; line-height: 1.4; }
body.avt-theme-atelier .atl-presta-rem { font-weight: 400; color: var(--atl-muted); font-size: 14px; }
body.avt-theme-atelier .atl-presta-prix { font-family: 'JetBrains Mono', monospace; font-weight: 500; font-size: 14.5px; white-space: nowrap; color: var(--atl-dark); }
body.avt-theme-atelier .atl-presta-prix.is-devis { color: var(--atl-muted); font-family: 'Archivo', sans-serif; font-weight: 600; font-style: italic; }
body.avt-theme-atelier .atl-presta-note {
  display: flex; gap: 12px; align-items: flex-start; margin-top: 22px; padding: 16px 18px;
  background: #fff; border: 1px solid var(--atl-line); border-radius: var(--atl-r);
  font-size: 14px; line-height: 1.5; color: var(--atl-muted2);
}
body.avt-theme-atelier .atl-presta-note b { color: var(--atl-dark); }
body.avt-theme-atelier .atl-presta-note .avt-ico { flex: 0 0 auto; color: var(--atl-accent); margin-top: 1px; }

/* Le garage */
body.avt-theme-atelier .atl-garage-section { padding-bottom: 96px; }
body.avt-theme-atelier .atl-garage {
  display: grid; grid-template-columns: 1fr 1fr; background: #fff;
  border: 1px solid var(--atl-line); border-radius: var(--atl-r); overflow: hidden;
}
/* Plan : à défaut d'image, un fond « plan » soigné (voirie stylisée + repère)
   plutôt qu'un aplat rayé. Le lien reste cliquable vers Google Maps. */
body.avt-theme-atelier .atl-garage-plan {
  position: relative; min-height: 380px; display: flex; align-items: flex-end; padding: 18px;
  text-decoration: none; color: var(--atl-muted2); overflow: hidden;
  background-color: #eceae4;
  background-image:
    linear-gradient(135deg, color-mix(in srgb, var(--atl-accent) 6%, transparent) 0%, transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23d3cfc7' stroke-width='2'%3E%3Cpath d='M-10 34h140M-10 82h140M28 -10v140M86 -10v140'/%3E%3C/g%3E%3Cg fill='none' stroke='%23dedbd3' stroke-width='6'%3E%3Cpath d='M-10 58h140M57 -10v140'/%3E%3C/g%3E%3C/svg%3E");
  background-size: cover, 120px 120px;
}
/* Repère de position centré, à la couleur du garage. */
body.avt-theme-atelier .atl-garage-plan::before {
  content: ""; position: absolute; left: 50%; top: 46%; width: 22px; height: 22px;
  transform: translate(-50%, -100%);
  background: var(--atl-accent);
  border: 3px solid #fff; border-radius: 50% 50% 50% 0; rotate: 45deg;
  box-shadow: 0 8px 18px -6px rgba(28,27,25,.5);
}
body.avt-theme-atelier .atl-garage-plan::after {
  content: ""; position: absolute; left: 50%; top: 46%; width: 34px; height: 10px;
  transform: translate(-50%, 2px); background: rgba(28,27,25,.14); border-radius: 50%; filter: blur(2px);
}
body.avt-theme-atelier .atl-garage-plan-vide { pointer-events: none; }
body.avt-theme-atelier .atl-garage-plan-txt {
  position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600;
  background: #fff; color: var(--atl-dark); padding: 8px 12px; border-radius: var(--atl-r); box-shadow: var(--atl-ombre);
  transition: box-shadow .15s ease;
}
body.avt-theme-atelier .atl-garage-plan-txt .avt-ico { color: var(--atl-accent); width: 16px; height: 16px; }
body.avt-theme-atelier .atl-garage-plan:hover .atl-garage-plan-txt { box-shadow: 0 6px 16px -6px rgba(28,27,25,.4); }
body.avt-theme-atelier .atl-garage-infos { padding: 44px; display: flex; flex-direction: column; gap: 22px; }
body.avt-theme-atelier .atl-garage-surtitre { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--atl-muted); }
body.avt-theme-atelier .atl-garage-infos h2 { margin: 6px 0 0; font-size: 29px; font-weight: 800; letter-spacing: -.02em; }
body.avt-theme-atelier .atl-garage-infos .avt-avis-resume { margin: 2px 0 0; }
body.avt-theme-atelier .atl-garage-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; font-size: 15px; line-height: 1.55; }
body.avt-theme-atelier .atl-garage-champ { display: flex; flex-direction: column; }
body.avt-theme-atelier .atl-garage-champ a { color: inherit; text-decoration: none; }
body.avt-theme-atelier .atl-garage-champ a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.avt-theme-atelier .atl-garage-label {
  font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--atl-muted); margin-bottom: 6px;
}
body.avt-theme-atelier .atl-garage-tel { font-weight: 700; }
body.avt-theme-atelier .atl-garage-horaires { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--atl-line); }
body.avt-theme-atelier .atl-garage-boutons { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 2px; }
body.avt-theme-atelier .atl-btn {
  display: inline-flex; align-items: center; gap: 8px; background: var(--atl-dark); color: #fff;
  border: 1px solid var(--atl-dark); border-radius: var(--atl-r); font-size: 15px; font-weight: 600;
  padding: 12px 20px; text-decoration: none; transition: background .15s ease, transform .05s ease, box-shadow .15s ease;
}
body.avt-theme-atelier .atl-btn:hover { background: #000; box-shadow: 0 10px 22px -14px rgba(0,0,0,.7); }
body.avt-theme-atelier .atl-btn:active { transform: translateY(1px); }
body.avt-theme-atelier .atl-btn-clair { background: #fff; color: var(--atl-dark); border-color: var(--atl-line2); }
body.avt-theme-atelier .atl-btn-clair:hover { background: var(--atl-bg); border-color: var(--atl-dark); box-shadow: none; }
body.avt-theme-atelier .atl-btn-clair .avt-ico { color: var(--atl-accent); }
body.avt-theme-atelier .atl-btn .avt-ico { width: 18px; height: 18px; }

/* ------------------------------------------------------------------ Pied -- */
body.avt-theme-atelier .atl-pied { background: var(--atl-dark); color: #d1cec8; font-size: 14px; }
body.avt-theme-atelier .atl-pied-in {
  display: flex; justify-content: space-between; gap: 14px 22px; padding: 40px 0; flex-wrap: wrap;
  align-items: center; border-bottom: 1px solid rgba(255,255,255,.08);
}
body.avt-theme-atelier .atl-pied-marque p { margin: 0; font-weight: 600; color: #efece7; }
body.avt-theme-atelier .atl-pied-liens { display: flex; gap: 22px; color: #a9a59e; flex-wrap: wrap; align-items: center; }
body.avt-theme-atelier .atl-pied-liens a { color: #b7b3ac; text-decoration: none; }
body.avt-theme-atelier .atl-pied-liens a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body.avt-theme-atelier .atl-pied-host { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; color: #8d8981; }
body.avt-theme-atelier .atl-pied-alsagom { background: #000; color: #efefef; font-size: 12.5px; line-height: 1.55; }
body.avt-theme-atelier .atl-pied-alsagom .atl-wrap { display: flex; flex-wrap: wrap; gap: 4px 12px; padding-top: 13px; padding-bottom: 13px; }
body.avt-theme-atelier .atl-pied-alsagom a { color: #fff; font-weight: 600; text-decoration: none; }
body.avt-theme-atelier .atl-pied-alsagom a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.avt-theme-atelier .atl-pied-alsagom-note { color: #b9b9b9; }

/* Résumé d'avis (brique commune) — accord de teinte atelier. */
body.avt-theme-atelier .avt-avis-resume { color: var(--atl-dark); }
body.avt-theme-atelier .avt-avis-resume b { font-weight: 700; }

/* ------------------------------------------------------------- Responsive - */
@media (max-width: 960px) {
  body.avt-theme-atelier { --atl-gut: 32px; }
  body.avt-theme-atelier .atl-garage { grid-template-columns: 1fr; }
  body.avt-theme-atelier .atl-garage-plan { min-height: 220px; order: 2; }
  body.avt-theme-atelier .atl-garage-infos { order: 1; }
  body.avt-theme-atelier .atl-prestations { grid-template-columns: 1fr; column-gap: 0; }
  body.avt-theme-atelier .atl-etapes { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  body.avt-theme-atelier { --atl-gut: 16px; }
  body.avt-theme-atelier .atl-barre-in { gap: 12px; min-height: 66px; }
  body.avt-theme-atelier .atl-logo .avt-logo-img,
  body.avt-theme-atelier .atl-logo img { height: 42px; }
  body.avt-theme-atelier .atl-burger { display: inline-flex; }
  body.avt-theme-atelier .atl-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 20;
    flex-direction: column; gap: 0; background: #fff; border-bottom: 1px solid var(--atl-line);
    box-shadow: 0 18px 30px -18px rgba(0,0,0,.35); padding: 6px 0;
  }
  body.avt-theme-atelier .atl-barre { position: relative; }
  body.avt-theme-atelier .atl-nav-case:checked ~ .atl-nav { display: flex; }
  body.avt-theme-atelier .atl-nav-lien { padding: 13px 20px; border-bottom: 1px solid var(--atl-line); }
  body.avt-theme-atelier .atl-nav-lien::after { display: none; }
  body.avt-theme-atelier .atl-nav-lien.is-actif { color: var(--atl-accent); }
  body.avt-theme-atelier .atl-nav-mobile { display: block; }
  body.avt-theme-atelier .atl-nav-lien:last-child { border-bottom: 0; }
  body.avt-theme-atelier .atl-panier span:not(.atl-panier-n) { display: none; }
  body.avt-theme-atelier .atl-panier { padding: 9px 12px; }

  body.avt-theme-atelier .atl-hero-in { min-height: 430px; padding: 54px 0 108px; gap: 16px; }
  body.avt-theme-atelier .atl-hero-intro { font-size: 16.5px; }
  body.avt-theme-atelier .atl-search-card { margin-top: -76px; padding: 22px 18px 24px; }
  body.avt-theme-atelier .atl-search-tete h2 { font-size: 20px; }

  body.avt-theme-atelier .atl-section { padding-top: 60px; }
  body.avt-theme-atelier .atl-section-tete { flex-direction: column; align-items: flex-start; }
  body.avt-theme-atelier .atl-etape { padding: 26px 22px; }
  body.avt-theme-atelier .atl-garage-infos { padding: 30px 22px; }
  body.avt-theme-atelier .atl-garage-grille { grid-template-columns: 1fr; gap: 18px; }
  body.avt-theme-atelier .atl-garage-horaires { padding-top: 18px; }
  body.avt-theme-atelier .atl-garage-boutons { margin-top: 4px; }
  body.avt-theme-atelier .atl-garage-boutons .atl-btn { flex: 1 1 auto; justify-content: center; }
  body.avt-theme-atelier .atl-garage-section { padding-bottom: 68px; }
  body.avt-theme-atelier .atl-pied-in { flex-direction: column; align-items: flex-start; }
}

/* Pied complet (avt_theme_pied) : atelier sombre, titres Archivo. */
body.avt-theme-atelier .avt-tp--atelier { background:var(--atl-dark); color:#d1cec8; }
body.avt-theme-atelier .avt-tp--atelier .avt-tp-nom, body.avt-theme-atelier .avt-tp--atelier .avt-tp-titre { font-family:'Archivo', Helvetica, Arial, sans-serif; color:#fff; }
body.avt-theme-atelier .avt-tp--atelier .avt-tp-nom { font-size:22px; font-weight:800; letter-spacing:-.01em; }
body.avt-theme-atelier .avt-tp--atelier .avt-tp-titre { opacity:1; color:var(--atl-accent); }
body.avt-theme-atelier .avt-tp--atelier a:hover, body.avt-theme-atelier .avt-tp--atelier .avt-tp-iti { color:#fff; }
body.avt-theme-atelier .avt-tp--atelier .avt-tp-in { max-width:var(--atl-wrap); padding-left:var(--atl-gut); padding-right:var(--atl-gut); }
body.avt-theme-atelier .avt-tp--atelier .avt-tp-garanties { color:#efece7; }
@media (max-width:640px) { body.avt-theme-atelier .avt-tp--atelier .avt-tp-in { padding-left:20px; padding-right:20px; } }

/* Carte réelle + avis */
body.avt-theme-atelier .atl-garage-carte { background:none; }
body.avt-theme-atelier .avt-tavis--atelier { background:var(--atl-bg); }
body.avt-theme-atelier .avt-tavis--atelier .avt-tavis-in { max-width:var(--atl-wrap); padding-left:var(--atl-gut); padding-right:var(--atl-gut); }
body.avt-theme-atelier .avt-tavis--atelier h2 { font-family:'Archivo', Helvetica, Arial, sans-serif; font-weight:800; letter-spacing:-.02em; color:var(--atl-dark); }
