/* ════════════════════════════════════════════════════════════
   PEREGO CARS — Brand Overlay v2.5.5 (Aragosta + floats swapped)
   2026-05-21. Loaded AFTER GHL CSS. Targeted overrides only.
   ════════════════════════════════════════════════════════════ */

@font-face { font-family: "Lato"; src: url("/brand/fonts/Lato-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Lato"; src: url("/brand/fonts/Lato-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Lato"; src: url("/brand/fonts/Lato-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Lato"; src: url("/brand/fonts/Lato-Black.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "Crimson Pro"; src: url("/brand/fonts/CrimsonPro-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Crimson Pro"; src: url("/brand/fonts/CrimsonPro-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("/brand/fonts/JetBrainsMono-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }

:root {
  --pc-orange:       #F04918;
  --pc-orange-soft:  #FFEEE5;
  --pc-carbon:       #0A0A0A;
  --pc-anthracite:   #1A1A1A;
  --pc-cream:        #FAFAF7;
  --pc-mist:         #E5E5E2;
  --pc-stone:        #6B6B6B;
  --brand-accent:        var(--pc-orange);
  --brand-accent-light:  var(--pc-orange-soft);
  --brand-accent-rgb:    240, 73, 24;
}

/* ─── Typography ─── */
body { font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
p, li, ul, ol,
.hl-text-content, [class*="text-content"],
.hl-paragraph, [class*="paragraph"],
input, textarea, select, button {
  font-family: "Lato", -apple-system, sans-serif !important;
}
h1, h2, h3,
.hl-heading, [class*="heading"],
.hl-text-display, [class*="text-display"] {
  font-family: "Manrope", "Inter", -apple-system, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em;
}
h4, h5, h6,
.hl-text-cta, [class*="text-cta"] {
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
}
code, kbd, pre, samp { font-family: "JetBrains Mono", monospace !important; }

/* ─── HERO: hide old text, container will get new text via JS ─── */

/* ─── Marco bot greeting popup: hide ─── */
.cbw-teaser { display: none !important; }
.cbw-launcher {
  position: fixed !important;
  bottom: 24px !important;
  left: 24px !important;
  right: auto !important;
  top: auto !important;
  z-index: 9998 !important;
  opacity: 0.85 !important;
  width: 56px !important;
  height: 56px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important;
}
/* Marco bot chat window itself — anchor to the same side as the launcher */
.cbw-chat,
.cbw-widget {
  left: 24px !important;
  right: auto !important;
}

/* ─── WhatsApp floating button: clamp ─── */
.pc-whatsapp-float {
  position: fixed !important;
  width: 52px !important;
  height: 52px !important;
  bottom: 24px !important;
  right: 24px !important;
  left: auto !important;
  z-index: 9998 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #25D366 !important;
  color: #ffffff !important;
  opacity: 0.85 !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}
.pc-whatsapp-float:hover { opacity: 1 !important; }
.pc-whatsapp-float svg { width: 28px !important; height: 28px !important; fill: currentColor !important; }

/* ─── gtranslate kill ─── */
.gtranslate_wrapper,
.gt_float_switcher,
.gt_float_switcher_dropdown,
.gtranslate,
iframe[src*="gtranslate"],
[class*="gtranslate"] { display: none !important; visibility: hidden !important; }

/* ─── Orange usage discipline ─── */
em.pc-accent, .pc-orange { color: var(--pc-orange) !important; }

button[class*="primary"],
a[class*="btn-primary"],
.hl-cta-primary {
  background: var(--pc-orange) !important;
  color: var(--pc-cream) !important;
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

[class*="price"]:not([class*="price-label"]) {
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
}

/* ─── HEADER: swap text wordmark for historical PNG ─── */
/* Old background-image logo trick removed 2026-05-28 — using inline <img> now */
#pc-header-main .pc-link.active { color: var(--pc-orange) !important; }
#pc-link-active-rule { display: none; }

/* ─── FOOTER: editorial restyle on carbon ─── */
.pc-footer {
  background: var(--pc-carbon) !important;
  color: var(--pc-cream) !important;
  padding: 64px 0 32px 0 !important;
}
.pc-footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.pc-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 48px !important;
  margin-bottom: 56px !important;
}
.pc-footer-title {
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: var(--pc-orange) !important;
  margin: 0 0 18px 0 !important;
  font-style: normal !important;
}
.pc-footer p, .pc-footer a, .pc-footer span, .pc-footer li {
  font-family: "Lato", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(250, 250, 247, 0.78) !important;
  line-height: 1.7 !important;
  text-decoration: none !important;
}
.pc-footer a:hover { color: var(--pc-orange) !important; }
.pc-footer-partner-logo {
  filter: brightness(0) invert(1) opacity(0.78) !important;
  max-width: 160px !important;
  height: auto !important;
  transition: opacity 0.2s ease !important;
}
.pc-footer-partner:hover .pc-footer-partner-logo { filter: brightness(0) invert(1) opacity(1) !important; }
/* Social icons */
.pc-footer-social {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}
.pc-footer-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid rgba(250,250,247,0.2) !important;
  border-radius: 50% !important;
  color: rgba(250,250,247,0.78) !important;
  transition: all 0.2s ease !important;
}
.pc-footer-social-link:hover {
  border-color: var(--pc-orange) !important;
  color: var(--pc-orange) !important;
}
.pc-footer-social-link svg { width: 16px !important; height: 16px !important; fill: currentColor !important; }

/* Editorial signature row (injected by JS) */
.pc-v25-signature {
  background: var(--pc-carbon);
  color: var(--pc-cream);
  padding: 40px 20px 32px;
  border-top: 1px solid rgba(250, 250, 247, 0.1);
}
.pc-v25-signature__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.pc-v25-signature__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.pc-v25-signature__hair {
  flex: 1;
  max-width: 240px;
  height: 1px;
  background: rgba(250, 250, 247, 0.25);
}
.pc-v25-signature__mono {
  width: 56px;
  height: 56px;
  border: 1px solid var(--pc-orange);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.04em;
  color: var(--pc-cream);
}
.pc-v25-signature__legal {
  text-align: center;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  line-height: 2;
  letter-spacing: 0.08em;
  color: rgba(250, 250, 247, 0.6);
}
.pc-v25-signature__legal .sep { color: var(--pc-orange); margin: 0 10px; }
.pc-v25-signature__legal strong { font-weight: 400; color: rgba(250, 250, 247, 0.85); }

@media (max-width: 768px) {
  .pc-v25-signature__hair { max-width: 80px; }
  .pc-v25-signature__legal { font-size: 9.5px; line-height: 1.85; }
  .pc-footer { padding: 40px 0 24px 0 !important; }
  .pc-footer-grid { gap: 32px !important; }
}

/* ════════════════════════════════════════════════════════════
   v2.5.2 — Cross-page harmonisation (2026-05-21)
   Anchors every inner page hero (heritage / contact / Depot-vente /
   videos / cars-for-sale / faq / etc.) to the v2.5 typographic system
   and overrides the page-level design tokens that drifted (sharp red
   #FF4605, cool grey #FAFBFC) toward the v2.5 warm palette.
   ════════════════════════════════════════════════════════════ */

/* ─── Re-route the page-level CSS variables ─── */
:root, html, body {
  --color-primary:        #F04918 !important;
  --color-primary-light:  #F76A40 !important;
  --color-primary-dark:   #C93611 !important;
  --color-primary-10:     rgba(240, 73, 24, 0.10) !important;
  --color-primary-06:     rgba(240, 73, 24, 0.06) !important;
  --color-primary-03:     rgba(240, 73, 24, 0.03) !important;
  --color-text-primary:   #0A0A0A !important;
  --color-text-secondary: #1A1A1A !important;
  --color-text-muted:     #6B6B6B !important;
  --color-text-light:     #8B8B8B !important;
  --color-surface:        #FAFAF7 !important;
  --color-surface-alt:    #FFFFFF !important;
  --color-background:     #FAFAF7 !important;
  --color-background-alt: #F1EFEA !important;
  --color-border:         #E5E5E2 !important;
  --color-border-light:   #ECEAE4 !important;
}

/* ─── Page hero: editorial v2.5 treatment ─── */
.pc-page-hero {
  padding: 96px 0 56px !important;
  text-align: center !important;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--pc-cream) 100%) !important;
  border-bottom: 1px solid var(--pc-mist) !important;
  position: relative;
}
.pc-page-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: 64px;
  height: 1px;
  background: var(--pc-orange);
}

/* Pill / kicker badge — v2.5 small-caps */
.pc-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--pc-orange-soft) !important;
  border: 1px solid rgba(240, 73, 24, 0.18) !important;
  color: var(--pc-orange) !important;
  font-family: "Lato", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  margin-bottom: 28px !important;
}
.pc-badge-pulse {
  width: 6px !important;
  height: 6px !important;
  background: var(--pc-orange) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 0 rgba(240, 73, 24, 0.45);
  animation: pcBadgePulse 1.8s ease-out infinite;
}
@keyframes pcBadgePulse {
  0%   { box-shadow: 0 0 0 0 rgba(240, 73, 24, 0.45); }
  70%  { box-shadow: 0 0 0 8px rgba(240, 73, 24, 0); }
  100% { box-shadow: 0 0 0 0 rgba(240, 73, 24, 0); }
}

/* Section title — Crimson Pro, larger, italic accent in orange */
.pc-section-title {
  font-family: "Manrope", "Inter", -apple-system, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(2.4rem, 5.2vw, 4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.015em !important;
  color: var(--pc-carbon) !important;
  margin: 0 0 22px 0 !important;
  text-align: center !important;
}
.pc-section-title em {
  font-style: italic !important;
  color: var(--pc-orange) !important;
  font-weight: 400 !important;
}

/* Lead paragraph under the hero title */
.pc-section-sub {
  font-family: "Lato", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.65 !important;
  color: var(--pc-stone) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* ─── Generic section headings inside pages (not pc-page-hero) ─── */
.pc-section h2,
.pc-section .pc-form-info h2,
.htg-seo-block h2 {
  font-family: "Manrope", "Inter", -apple-system, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important;
  color: var(--pc-carbon) !important;
  letter-spacing: -0.005em !important;
}

/* ─── Bullet lists with orange checkmarks (Depot-vente) ─── */
.pc-dv-benefits li svg,
.pc-form-info ul li svg {
  stroke: var(--pc-orange) !important;
}

/* ─── Tabs/filters on videos.html ─── */
.vid-tab {
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--pc-stone) !important;
  background: transparent !important;
  border: 1px solid var(--pc-mist) !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  transition: all 0.18s ease !important;
}
.vid-tab.active,
.vid-tab[aria-selected="true"] {
  background: var(--pc-carbon) !important;
  color: var(--pc-cream) !important;
  border-color: var(--pc-carbon) !important;
}
.vid-tab:hover:not(.active) {
  border-color: var(--pc-orange) !important;
  color: var(--pc-orange) !important;
}

/* ─── Contact info cards ─── */
.pc-contact-info-card,
.pc-form-info,
.pc-contact-item {
  background: var(--pc-cream) !important;
  border: 1px solid var(--pc-mist) !important;
}
.pc-contact-item-icon {
  color: var(--pc-orange) !important;
}
.pc-contact-item-label {
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--pc-stone) !important;
}
.pc-contact-item-value {
  font-family: "Lato", sans-serif !important;
  font-weight: 400 !important;
  color: var(--pc-carbon) !important;
}

/* ─── Inputs / forms ─── */
input[type="text"], input[type="email"], input[type="tel"],
input[type="number"], textarea, select {
  background: #FFFFFF !important;
  border: 1px solid var(--pc-mist) !important;
  border-radius: 4px !important;
  font-family: "Lato", sans-serif !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--pc-orange) !important;
  outline: 2px solid var(--pc-orange-soft) !important;
}

/* ─── 404 page ─── */
body.error-404 h1, .error-404-title { color: var(--pc-orange) !important; }

/* ─── version stamp ─── */
.pc-v25-signature__legal::before {
  content: "OVERLAY v2.5.2 · ";
  display: none;
}

/* ════════════════════════════════════════════════════════════
   v2.5.3 — Legacy-page harmonisation (faq.html · conditions.html)
   These two pages were never re-templated to the v2.5 hero pattern.
   Restyle the legacy hero/banner classes in place so they read like
   the rest of the site without a full HTML rebuild.
   ════════════════════════════════════════════════════════════ */

/* faq.html + conditions.html — legacy hero card (white box → v2.5 cream hero) */
.header-section,
.location-info__header {
  background: linear-gradient(180deg, #FFFFFF 0%, var(--pc-cream) 100%) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 88px 24px 56px !important;
  text-align: center !important;
  margin: 0 0 56px 0 !important;
  border-bottom: 1px solid var(--pc-mist) !important;
  position: relative !important;
}
.header-section::after,
.location-info__header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: 64px;
  height: 1px;
  background: var(--pc-orange);
}
.header-section h1,
.location-info__header h1,
.location-info__title {
  font-family: "Manrope", "Inter", -apple-system, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(2.4rem, 5.2vw, 4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.015em !important;
  color: var(--pc-carbon) !important;
  margin: 0 0 22px 0 !important;
  text-align: center !important;
}
.header-description,
.location-info__subtitle {
  font-family: "Lato", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.65 !important;
  color: var(--pc-stone) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Yellow + gradient underline strips → kill (the divider line under the title is now the orange ::after hairline) */
.header-section .underline,
.location-info__header .underline,
.underline {
  display: none !important;
}

/* faq.html — navy category banner ("À Propos de Nos Véhicules") → carbon */
.faq-section .section-header,
.section-header {
  background: var(--pc-carbon) !important;
  color: var(--pc-cream) !important;
  border-radius: 4px 4px 0 0 !important;
  padding: 24px 28px !important;
}
.section-title {
  font-family: "Manrope", "Inter", -apple-system, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(1.4rem, 2.2vw, 1.8rem) !important;
  color: var(--pc-cream) !important;
  letter-spacing: -0.005em !important;
}
.section-icon {
  color: var(--pc-orange) !important;
}

/* faq.html — accordion polish */
.faq-question {
  font-family: "Lato", sans-serif !important;
  font-weight: 500 !important;
}
.question-number {
  color: var(--pc-orange) !important;
  font-weight: 700 !important;
  font-family: "Lato", sans-serif !important;
}
.faq-navigation {
  background: var(--pc-cream) !important;
  border: 1px solid var(--pc-mist) !important;
  box-shadow: none !important;
}
.nav-link {
  font-family: "Lato", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  color: var(--pc-stone) !important;
}
.nav-link:hover {
  color: var(--pc-orange) !important;
}

/* conditions.html — yellow → killed (already covered by .underline above), heading numbers in serif */
.condition-section h2,
[class*="terms-section"] h2 {
  font-family: "Manrope", "Inter", -apple-system, sans-serif !important;
  font-weight: 400 !important;
}

/* Hide the GHL mega-menu on legacy pages (we are about to inject pc-header-main via JS) */
html.pc-legacy-nav-overlay .hl-nav,
html.pc-legacy-nav-overlay [class*="mega-menu"],
html.pc-legacy-nav-overlay nav[class*="menu-item"],
html.pc-legacy-nav-overlay header[class*="hl-"] {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════
   v2.5.3.1 — Canonical pc-header-main structural CSS
   Copied from politique-de-confidentialite.html so legacy pages
   (faq.html · conditions.html) that get the nav injected via
   brand-tokens.js still render it as a proper sticky header.
   ════════════════════════════════════════════════════════════ */
#pc-header-main .pc-link.active{color:#FF4605!important}
#pc-header-main {
        all: initial;
        display: block;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
        background-color: #ffffff !important;
        border-bottom: none !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 1000 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        line-height: 1.2 !important;
        box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06) !important;
    }
#pc-header-main .container-inner {
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 20px !important;
        height: 80px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        padding-top: 30px !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
        position: relative !important;
    }
#pc-header-main .pc-logo {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
#pc-header-main .logo-bold {
        font-size: 24px !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
        text-transform: uppercase !important;
        letter-spacing: -0.5px !important;
    }
#pc-header-main .logo-light {
        font-size: 24px !important;
        font-weight: 300 !important;
        color: #1a1a1a !important;
        text-transform: uppercase !important;
    }
#pc-header-main .pc-nav {
        display: flex !important;
        flex-direction: row !important;
        gap: 25px !important;
        align-items: center !important;
    }
#pc-header-main .pc-link {
        color: #1a1a1a !important;
        text-decoration: none !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        transition: color 0.3s ease !important;
        white-space: nowrap !important;
    }
#pc-header-main .pc-link:hover {
        color: #FF4605 !important;
    }
#pc-header-main .pc-burger {
        display: none !important;
        cursor: pointer !important;
        background: none !important;
        border: none !important;
        padding: 10px !important;
        flex-direction: column !important;
        gap: 6px !important;
        z-index: 3000 !important;
    }
#pc-header-main .line {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        background: #1a1a1a !important;
        transition: 0.3s !important;
    }
#pc-header-main .pc-burger.open .line:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
#pc-header-main .pc-burger.open .line:nth-child(2) { opacity: 0 !important; }
#pc-header-main .pc-burger.open .line:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; }
#pc-header-main .container-inner {
            align-items: center !important;
            padding-top: 0 !important;
        }
#pc-header-main .pc-burger { display: flex !important; }
#pc-header-main .pc-nav {
            display: none !important;
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100vh !important;
            background: #ffffff !important;
            flex-direction: column !important;
            justify-content: center !important;
            padding: 40px !important;
            gap: 35px !important;
            z-index: 2000 !important;
        }
#pc-header-main .pc-nav.open {
            display: flex !important;
            animation: pc-fadeIn 0.3s ease !important;
        }
#pc-header-main .pc-nav .pc-link {
            font-size: 18px !important;
            width: 100% !important;
            text-align: left !important;
            border: none !important;
        }
/* ════════════════════════════════════════════════════════════
   v2.5.3.2 — DESKTOP nav restore
   The previously appended block included mobile-media-query rules
   without their @media wrappers; restore default desktop behaviour.
   ════════════════════════════════════════════════════════════ */
@media (min-width: 769px) {
  #pc-header-main .pc-burger { display: none !important; }
  #pc-header-main .pc-nav {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    padding: 0 !important;
    gap: 32px !important;
    align-items: center !important;
  }
  #pc-header-main .pc-link {
    font-family: "Lato", sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--pc-anthracite) !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
  }
  #pc-header-main .pc-link:hover { color: var(--pc-orange) !important; }
}

/* Lift body content below the sticky pc-header-main on legacy pages */
html.pc-legacy-nav-overlay body { padding-top: 80px !important; }

/* Centre conditions.html title block (it lacks the .location-info__header wrapper around the h1) */
html.pc-legacy-nav-overlay main > h1:first-of-type,
html.pc-legacy-nav-overlay .container > h1:first-of-type,
html.pc-legacy-nav-overlay article > h1:first-of-type,
html.pc-legacy-nav-overlay body > h1:first-of-type,
html.pc-legacy-nav-overlay [class*="container"] > h1:first-of-type {
  text-align: center !important;
  padding: 64px 24px 16px !important;
  margin: 0 0 32px !important;
}

/* ════════════════════════════════════════════════════════════
   v2.5.5.1 — 2026-05-21 — three-fix patch
   (1) Header font-size: beat the orphan mobile rule (.pc-nav .pc-link 18px)
       on desktop with equal specificity + !important.
   ════════════════════════════════════════════════════════════ */
@media (min-width: 769px) {
  #pc-header-main .pc-nav .pc-link {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    line-height: 1 !important;
  }
}

/* ════════════════════════════════════════════════════════════
   v2.5.5.2 — 2026-05-21 — unify header (single source of truth)
   Aligns pc-header-main to the canonical "inline" values found in
   cars-for-sale.html / videos.html so that pages WITHOUT inline
   header CSS (contact.html, formulaire-demande-leasing.html,
   conditions.html, faq.html, request-offer.html, 404.html) render
   identically to legacy pages with inline header CSS.

   Canonical values:
   - position: sticky (was fixed)
   - container-inner: height 90px, align-items center, no padding-top
   - logo: 26px, weight 600 (bold) / 300 (light), light color #444
   - border-bottom: 1px solid #e5e7eb (no shadow)
   ════════════════════════════════════════════════════════════ */

#pc-header-main {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: none !important;
}
#pc-header-main .container-inner {
  height: 90px !important;
  padding: 0 20px !important;
  align-items: center !important;
}
#pc-header-main .pc-logo {
  align-items: center !important;
}
#pc-header-main .logo-bold {
  font-size: 26px !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  letter-spacing: -0.5px !important;
}
#pc-header-main .logo-light {
  font-size: 26px !important;
  font-weight: 300 !important;
  color: #444444 !important;
  letter-spacing: 0 !important;
}

/* Mobile reset: same header height + drawer alignment */
@media (max-width: 768px) {
  #pc-header-main .container-inner {
    height: 72px !important;
    padding: 0 16px !important;
  }
  #pc-header-main .logo-bold,
  #pc-header-main .logo-light {
    font-size: 22px !important;
  }
}

/* Lift body content below the sticky 90px header on legacy GHL pages */
html.pc-legacy-nav-overlay body { padding-top: 90px !important; }
@media (max-width: 768px) {
  html.pc-legacy-nav-overlay body { padding-top: 72px !important; }
}

/* === Hide customer-bot launcher (the "PC" bubble) — Greg 2026-05-28 ===
   The widget endpoint /customer-bot/web is broken on the static host, and
   the launcher overlapped the WhatsApp button. WhatsApp stays visible. */
.cbw-root, .cbw-launcher { display: none !important; }


/* === Typo v2 patch (Manrope swap): force em inside titles non-italic, 800, orange === */
.pc-section-title em,
.section-title em,
.hl-text-display em,
[class*="text-display"] em,
.htg-seo-block h2 em,
.location-info__title em,
[class*="terms-section"] h2 em {
  font-family: "Manrope", "Inter", sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  color: var(--pc-orange, #FF4605) !important;
}


/* === Header lang switcher (FR active, DE/IT/EN inert chips) — Greg 2026-05-28 === */
#pc-header-main .pc-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 1.2rem;
  padding-left: 1.2rem;
  border-left: 1px solid rgba(0,0,0,0.08);
}
#pc-header-main .pc-lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 26px;
  padding: 0 0.55rem;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #999;
  text-decoration: none;
  border-radius: 6px;
  transition: color .15s ease, background-color .15s ease;
}
#pc-header-main .pc-lang:hover { color: #1A1A1A; }
#pc-header-main .pc-lang--active {
  background: #1A1A1A;
  color: #FFF !important;
}
@media (max-width: 900px) {
  #pc-header-main .pc-lang-switch {
    margin-left: 0; padding-left: 0; border-left: none;
    margin-top: 0.5rem; gap: 0.15rem;
  }
  #pc-header-main .pc-lang { font-size: 0.7rem; min-width: 26px; }
}

/* === Footer social icons — lift bg + brighten Instagram glyph — Greg 2026-05-28 === */
.pc-footer-social-link {
  background: rgba(255,255,255,0.14) !important;
  color: #FFF !important;
}
.pc-footer-social-link svg { opacity: 0.95; }
.pc-footer-social-link:hover svg { opacity: 1; }


/* === Header — official PNG logo + nav alignment — Greg 2026-05-28 === */
#pc-header-main {
  background: #FFFFFF;
}
#pc-header-main header.container-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem;
  padding-top: 1.1rem !important;
  padding-bottom: 1.1rem !important;
}
#pc-header-main .pc-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
#pc-header-main .pc-logo-img {
  height: 32px;
  width: auto;
  display: block;
  margin: 0;
  /* official asset is 1600x422 — height 32 keeps it crisp on retina */
}
#pc-header-main .pc-nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 0 !important;
  flex-wrap: nowrap;
}
#pc-header-main .pc-link {
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1A1A1A;
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s ease;
}
#pc-header-main .pc-link:hover { color: #FF4605; }
#pc-header-main .pc-link.active { color: #FF4605 !important; }

@media (max-width: 980px) {
  #pc-header-main .pc-logo-img { height: 24px; }
  #pc-header-main .pc-nav { gap: 0.9rem; }
  #pc-header-main .pc-link { font-size: 0.72rem; letter-spacing: 0.1em; }
}

@media (max-width: 768px) {
  #pc-header-main .pc-nav:not(.open) {
    display: none;
  }
  #pc-header-main .pc-nav.open {
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.9rem;
    padding: 1.25rem 1.5rem;
    background: #FFF;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    z-index: 200;
  }
  #pc-header-main .pc-nav.open .pc-lang-switch {
    margin: 0.5rem 0 0; padding: 0.5rem 0 0;
    border-top: 1px solid rgba(0,0,0,0.08);
    border-left: none; width: 100%;
  }
}


/* === Lang picker — discrete chip + dropdown — Greg 2026-05-28 === */
#pc-header-main .pc-lang-picker {
  position: relative;
  margin-left: 1.2rem;
  padding-left: 1.2rem;
  border-left: 1px solid rgba(0,0,0,0.08);
}
#pc-header-main .pc-lang-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #1A1A1A;
  background: transparent;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
#pc-header-main .pc-lang-trigger:hover {
  border-color: #1A1A1A;
}
#pc-header-main .pc-lang-trigger svg {
  flex-shrink: 0;
  opacity: 0.7;
}
#pc-header-main .pc-lang-current {
  font-weight: 700;
}
#pc-header-main .pc-lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 160px;
  background: #FFFFFF;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(10,10,10,0.10);
  list-style: none;
  padding: 6px;
  margin: 0;
  z-index: 200;
}
#pc-header-main .pc-lang-menu[hidden] { display: none; }
#pc-header-main .pc-lang-menu li { list-style: none; }
#pc-header-main .pc-lang-menu a {
  display: block;
  padding: 8px 12px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #1A1A1A;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color .12s ease;
}
#pc-header-main .pc-lang-menu a:hover {
  background: rgba(255,70,5,0.08);
  color: #FF4605;
}
#pc-header-main .pc-lang-menu a.active {
  background: #1A1A1A;
  color: #FFFFFF;
}
@media (max-width: 980px) {
  #pc-header-main .pc-lang-picker {
    margin-left: 0; padding-left: 0; border-left: none;
  }
}


/* === Footer text shrink — Greg 2026-05-28 === */
.pc-footer-title {
  font-size: .62rem !important;
  letter-spacing: 0.18em !important;
  margin-bottom: 1rem !important;
  opacity: 0.7;
}
.pc-footer-link {
  font-size: .72rem !important;
  letter-spacing: 0.06em !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  opacity: 0.85;
}
.pc-footer-link:hover { opacity: 1; }
.pc-footer-links { line-height: 1.9 !important; }
.pc-footer-bottom { font-size: .68rem !important; letter-spacing: 0.05em; }


/* === MOBILE FRAME / SAFETY — Greg 2026-05-28 === */
/* Lock horizontal scroll site-wide */
html, body {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
img, video, iframe, svg, picture, embed, object {
  max-width: 100%;
  height: auto;
}

/* Safe-area padding for notch / dynamic island */
body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Header — force flex wrap + tighter padding on small screens */
@media (max-width: 768px) {
  #pc-header-main header.container-inner {
    flex-wrap: wrap !important;
    padding: 12px 16px !important;
    gap: 0.6rem !important;
  }
  #pc-header-main .pc-logo-img { height: 22px !important; }
  #pc-header-main .pc-burger { display: inline-flex !important; }
  #pc-header-main .pc-nav { width: 100%; }

  /* Container content lifts */
  .container, .container-inner, .pc-container,
  .pc-section .container, .pc-filters, .pc-chips, .pc-brands {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
  }

  /* Footer columns stack vertically */
  .pc-footer-grid, .pc-footer .grid,
  footer.pc-footer > div:first-of-type,
  footer.pc-footer [class*="grid"] {
    display: block !important;
  }
  .pc-footer-col, .pc-footer nav, .pc-footer section {
    margin-bottom: 1.6rem;
  }

  /* Lang picker stays small and aligned */
  #pc-header-main .pc-lang-picker { margin-left: auto; padding-left: 0; border-left: none; }

  /* Tap targets minimum 44px */
  a, button { min-height: 32px; }
  .pc-btn, .pc-chip, .pc-brand, .pc-cta-primary, .pcf-btn { min-height: 44px; }

  /* Hero text doesn't exceed viewport */
  h1, h2 { word-wrap: break-word; hyphens: auto; }

  /* Tables / grids overflow gracefully */
  table { display: block; overflow-x: auto; max-width: 100%; }
}

@media (max-width: 480px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(36px, 9vw, 56px) !important; }
  .container, .container-inner { padding-left: 14px !important; padding-right: 14px !important; }
  .pc-footer-link { font-size: .7rem !important; }
}
