/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.7
*/

/* =====================================================================
   CENTRALE VTC CLERMONT — REFONTE DESIGN "NOIR & OR"
   Identité premium / VTC haut de gamme électrique
   (L'ancien style.css est sauvegardé. Pour revenir en arrière,
    il suffit de le remettre en place.)
   ===================================================================== */

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

:root{
  --vtc-noir:   #101216;
  --vtc-noir-2: #1b1e24;
  --vtc-or:     #c9a24b;
  --vtc-or-2:   #e3c77e;
  --vtc-gris:   #6b6f76;
  --vtc-bg:     #f7f6f3;
  --vtc-texte:  #1a1c20;
}

/* ---------- TYPOGRAPHIE ---------- */
body, p, li, a, .nav, input, textarea, button, select{
  font-family: 'Inter', -apple-system, "Segoe UI", sans-serif;
}
body{ color: var(--vtc-texte); font-size: 16px; line-height: 1.7; }

h1, h2, h3, h4, h5, h6, .nav-uppercase > li > a{
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: var(--vtc-texte);
  letter-spacing: .2px;
}
h1{ font-weight: 800 !important; line-height: 1.12; }
h2{ font-weight: 700 !important; }

.col-inner.text-center h2::after{
  content:""; display:block; width:64px; height:3px;
  background: var(--vtc-or); margin: 14px auto 0; border-radius:3px;
}

/* ---------- BOUTONS ---------- */
.button{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.4px;
  border-radius:8px !important;
  text-transform:none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover{ transform: translateY(-2px); }

.button.primary, .button.secondary, a.button.primary, .header-button .button{
  background: var(--vtc-or) !important;
  border-color: var(--vtc-or) !important;
  color:#fff !important;
  box-shadow: 0 6px 18px rgba(201,162,75,.35);
}
.button.primary:hover, .button.secondary:hover, .header-button .button:hover{
  background: var(--vtc-or-2) !important;
  border-color: var(--vtc-or-2) !important;
  box-shadow: 0 10px 24px rgba(201,162,75,.45);
}

.button.is-outline{
  border-width:2px !important;
  border-color: var(--vtc-or) !important;
  color: var(--vtc-or) !important;
  background: transparent !important;
}
.button.is-outline:hover{
  background: var(--vtc-or) !important;
  color:#fff !important;
}

/* ---------- EN-TÊTE / NAVIGATION (sombre, pour que le logo s'intègre) ---------- */
.header-main{ min-height:84px; }
.header:not(.transparent) .header-bg-color{
  background: var(--vtc-noir) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.35);
}
.header-top{ background: var(--vtc-noir) !important; }
.header-nav a{ color:#f3f3f4 !important; font-weight:500; }
.header-nav > li > a:hover{ color: var(--vtc-or) !important; }
/* Logo : un peu plus grand et sans fond */
.header_logo img, .header-logo img{ max-height:62px !important; width:auto !important; }
/* Icône menu mobile en clair */
.header .icon-menu, .nav-dropdown-default .icon-menu, .mobile-nav a{ color:#fff !important; }
.header-nav-main > li > a{ position:relative; }
.header-nav-main > li > a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:8px;
  height:2px; background:var(--vtc-or); transform:scaleX(0);
  transition:transform .2s ease; transform-origin:left;
}
.header-nav-main > li > a:hover::after,
.header-nav-main > li.active > a::after{ transform:scaleX(1); }

/* Numéro de téléphone en bouton doré bien visible dans l'en-tête */
.header-button-1 a, .header .html a[href^="tel:"]{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-weight:700 !important;
  color:#0d0f13 !important;
  background: var(--vtc-or) !important;
  padding:10px 18px !important;
  border-radius:50px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px;
  line-height:1 !important;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(201,162,75,.40);
  transition: background .18s ease, transform .18s ease;
}
.header-button-1 a::before, .header .html a[href^="tel:"]::before{ content:"\260E"; font-size:15px; }
.header-button-1 a:hover, .header .html a[href^="tel:"]:hover{
  background: var(--vtc-or-2) !important;
  color:#0d0f13 !important;
  transform: translateY(-1px);
}

/* ---------- SECTIONS / FONDS ---------- */
.dark, .section-dark, .banner.dark{ background: var(--vtc-noir) !important; }
.section{ padding-top:54px; padding-bottom:54px; }

.banner h1, .banner h2{ color:#fff !important; text-shadow:0 2px 18px rgba(0,0,0,.45); }
.banner p{ color:#f3f3f3 !important; }

/* ---------- CARTES / ENCADRÉS ---------- */
.box, .icon-box, .col .col-inner.bg{ border-radius:14px; }
.row .col .col-inner{ transition: transform .22s ease, box-shadow .22s ease; border-radius:14px; }
.row .col:hover .col-inner{
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(16,18,22,.10);
}
.icon-box .icon .icon-inner, i[class^="icon-"]{ color: var(--vtc-or) !important; }

/* ---------- FAQ (accordéon) ---------- */
.accordion-item{
  border:1px solid #ececec; border-radius:12px; margin-bottom:12px;
  overflow:hidden; background:#fff;
}
.accordion-title{
  font-family:'Plus Jakarta Sans',sans-serif !important; font-weight:600 !important;
  padding:16px 18px !important; color:var(--vtc-texte) !important;
}
.accordion-title.active, .accordion-title:hover{ color:var(--vtc-or) !important; }
.accordion-inner{ padding:0 18px 18px !important; color:var(--vtc-gris); }

/* ---------- TABLEAU DES TARIFS ---------- */
table{ border-radius:12px; overflow:hidden; border-collapse:separate; border-spacing:0; }
table th{
  background: var(--vtc-noir) !important; color:#fff !important;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; padding:14px !important;
}
table td{ padding:12px 14px !important; border-bottom:1px solid #eee; }
table tr:nth-child(even) td{ background:#faf9f6; }

/* ---------- FORMULAIRE DE CONTACT ---------- */
.wpcf7 input:not([type=submit]), .wpcf7 textarea, .wpcf7 select{
  border:1px solid #dcdcdc !important; border-radius:9px !important;
  padding:12px 14px !important; background:#fff;
}
.wpcf7 input:focus, .wpcf7 textarea:focus{
  border-color:var(--vtc-or) !important;
  box-shadow:0 0 0 3px rgba(201,162,75,.18) !important; outline:none;
}
.wpcf7 input[type=submit]{
  background:var(--vtc-or) !important; border:none !important; color:#fff !important;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; border-radius:9px;
  padding:13px 26px !important; cursor:pointer;
}
.wpcf7 input[type=submit]:hover{ background:var(--vtc-or-2) !important; }

/* ---------- PIED DE PAGE ---------- */
#footer, .footer-2{ background: var(--vtc-noir) !important; }
#footer, #footer p, #footer li, #footer a, .absolute-footer{ color:#c9ccd2 !important; }
#footer a:hover{ color: var(--vtc-or) !important; }
#footer h3, #footer h4, #footer .widget-title{ color:#fff !important; }

/* ---------- BOUTONS FLOTTANTS (Appeler / WhatsApp) ---------- */
#vtc-float{ position:fixed; right:18px; bottom:18px; z-index:9999;
  display:flex; flex-direction:column; gap:12px; }
#vtc-float a{
  width:56px; height:56px; border-radius:50%; display:flex;
  align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,.28);
  transition:transform .18s ease; color:#fff !important;
}
#vtc-float a:hover{ transform:scale(1.08); }
#vtc-float .vtc-call{ background:var(--vtc-or); }
#vtc-float .vtc-wa{ background:#25d366; }
#vtc-float svg{ width:28px; height:28px; fill:#fff; }

/* =====================================================================
   MOBILE
   ===================================================================== */
@media only screen and (max-width: 48em) {
  h1{ font-size:1.9rem !important; }
  .section{ padding-top:38px; padding-bottom:38px; }
  #vtc-float a{ width:52px; height:52px; }
}

/* =====================================================================
   PAGES DE SERVICE PREMIUM (.svc) — Aéroport, Gare, Chauffeur privé,
   Longue distance, Mariage/Événement
   ===================================================================== */
.svc{font-family:'Inter',-apple-system,"Segoe UI",sans-serif;color:var(--vtc-texte);overflow-x:hidden;}
.svc *{box-sizing:border-box;}
.svc-wrap{max-width:1000px;margin:0 auto;padding:0 22px;}
.svc h1,.svc h2,.svc h3{font-family:'Plus Jakarta Sans',sans-serif;line-height:1.18;margin:0 0 .4em;color:var(--vtc-texte);}
.svc .kicker{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;letter-spacing:3px;text-transform:uppercase;
  font-size:13px;color:var(--vtc-or);margin-bottom:14px;display:inline-block;}

/* HERO */
.svc-hero{position:relative;min-height:52vh;display:flex;align-items:center;text-align:center;
  background:linear-gradient(135deg,#0d0f13,#1b1e24);}
.svc-hero.bg{background:linear-gradient(rgba(8,9,12,.78),rgba(8,9,12,.62)),var(--svc-img) center/cover no-repeat;}
.svc-hero .svc-wrap{padding:70px 22px;}
.svc-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800;}
.svc-hero p{color:#e3e3e5;font-size:1.12rem;max-width:60ch;margin:10px auto 26px;line-height:1.6;}
.svc-hero .svc-cta{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;}

/* BOUTONS */
.svc-btn{display:inline-flex;align-items:center;gap:9px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;
  border-radius:50px;padding:14px 26px;text-decoration:none;font-size:15px;transition:transform .18s,background .18s,color .18s;border:2px solid transparent;white-space:nowrap;}
.svc-btn-or{background:var(--vtc-or);color:#fff;box-shadow:0 8px 22px rgba(201,162,75,.4);}
.svc-btn-or:hover{background:var(--vtc-or-2);transform:translateY(-2px);}
.svc-btn-wa{background:#25d366;color:#fff;}
.svc-btn-wa:hover{background:#1ebe59;transform:translateY(-2px);}
.svc-btn-ghost{background:transparent;border-color:var(--vtc-or);color:var(--vtc-or);}
.svc-btn-ghost:hover{background:var(--vtc-or);color:#fff;}

/* SECTIONS + PROSE */
.svc-sec{padding:66px 0;}
.svc-sec.alt{background:var(--vtc-bg);}
.svc-prose{max-width:820px;margin:0 auto;}
.svc-prose h2{font-size:clamp(1.55rem,3vw,2.1rem);font-weight:700;margin-top:0;}
.svc-prose h2 span{color:var(--vtc-or);}
.svc-prose h3{font-size:1.2rem;font-weight:600;margin:30px 0 8px;}
.svc-prose p{color:#4a4d53;line-height:1.85;margin:0 0 16px;font-size:1.02rem;}
.svc-prose strong{color:var(--vtc-texte);}
.svc-line{width:60px;height:3px;background:var(--vtc-or);border-radius:3px;margin:0 0 26px;}
.svc-prose.center{text-align:center;} .svc-prose.center .svc-line{margin:18px auto 26px;}

/* LISTE À COCHES */
.svc-ul{list-style:none;margin:14px 0 22px;padding:0;display:grid;gap:12px;}
.svc-ul li{display:flex;align-items:flex-start;gap:11px;color:#4a4d53;line-height:1.6;}
.svc-ul li::before{content:"";flex:0 0 22px;width:22px;height:22px;border-radius:50%;margin-top:1px;
  background:rgba(201,162,75,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a24b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/13px no-repeat;}

/* CARTES */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px;}
.svc-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:28px 24px;transition:transform .2s,box-shadow .2s;}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(13,15,19,.10);}
.svc-card h3{font-size:1.12rem;margin-bottom:6px;}
.svc-card p{color:var(--vtc-gris);font-size:.96rem;line-height:1.6;margin:0;}

/* TARIF EN AVANT */
.svc-tarif{display:inline-flex;align-items:baseline;gap:8px;background:#fff;border:1px solid #ece3cf;
  border-radius:14px;padding:16px 24px;margin:6px 0 4px;}
.svc-tarif .n{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.7rem;color:var(--vtc-or);}
.svc-tarif .l{color:var(--vtc-gris);font-size:.9rem;}

/* CTA FINAL */
.svc-final{background:linear-gradient(135deg,#0d0f13,#1b1e24);color:#fff;text-align:center;padding:60px 0;}
.svc-final h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);}
.svc-final p{color:#c7cad0;max-width:60ch;margin:0 auto 24px;line-height:1.7;}
.svc-final .svc-cta{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;}

/* MAILLAGE INTERNE */
.svc-links{border-top:1px solid #ececec;padding:34px 0;}
.svc-links .svc-wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;}
.svc-links span{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;color:var(--vtc-gris);margin-right:6px;}
.svc-links a{color:var(--vtc-texte);text-decoration:none;font-weight:600;font-size:.93rem;
  border:1px solid #e2e2e2;border-radius:50px;padding:8px 16px;transition:all .15s;}
.svc-links a:hover{border-color:var(--vtc-or);color:var(--vtc-or);}

@media (max-width:820px){
  .svc-grid{grid-template-columns:1fr;}
  .svc-sec{padding:48px 0;}
}

/* =====================================================================
   RAFFINEMENT PREMIUM GLOBAL (v3.6)
   Typographie, boutons, cartes, espacements + apparition au défilement
   ===================================================================== */
html{ scroll-behavior:smooth; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }

/* Titres plus racés, mieux espacés */
h1,h2,h3,.svc h1,.svc h2,.svc h3{ letter-spacing:-.015em; }
h1{ line-height:1.08 !important; }

/* Kicker : petit trait doré élégant devant le libellé */
.svc .kicker::before,
.svc-prose .kicker::before{ content:""; display:inline-block; width:24px; height:2px; background:var(--vtc-or);
  vertical-align:middle; margin-right:10px; transform:translateY(-2px); }

/* Boutons : dégradé or subtil + halo premium */
.svc-btn-or, .button.primary, .button.secondary,
.vtc-hero-card #hc-go, .vtc-hero-card form > button[type="submit"]{
  background:linear-gradient(135deg,#d8b062,#c9a24b) !important;
  box-shadow:0 10px 26px rgba(201,162,75,.38) !important;
  letter-spacing:.3px;
}
.svc-btn-or:hover, .vtc-hero-card form > button[type="submit"]:hover{
  background:linear-gradient(135deg,#e3c77e,#d4ad57) !important;
}

/* Cartes : ombres plus douces et profondes, coins harmonisés */
.svc-card, .vtc-card, .vtca-card, .vtcc-item, .box{
  box-shadow:0 6px 22px rgba(16,18,22,.05);
}
.svc-card:hover, .vtc-card:hover, .vtca-card:hover{
  box-shadow:0 22px 50px rgba(16,18,22,.13) !important;
}

/* Filet doré fin en bas de l'en-tête (touche haut de gamme) */
.header:not(.transparent) .header-bg-color{ border-bottom:1px solid rgba(201,162,75,.35) !important; }

/* Liens de contenu en doré */
.svc-prose a:not(.svc-btn), .vtc-faq a, #footer a:hover{ color:var(--vtc-or); }

/* Espacement un peu plus généreux (respiration premium) */
.svc-prose p{ font-size:1.05rem; line-height:1.9; color:#3d4046; }

/* --- Apparition au défilement (activée uniquement si JS présent) --- */
.js-reveal [data-reveal]{ opacity:0; transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); will-change:opacity,transform; }
.js-reveal [data-reveal].in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .js-reveal [data-reveal]{ opacity:1 !important; transform:none !important; }
}

/* =====================================================================
   FOND GÉNÉRAL BEIGE PREMIUM (v3.7)
   Toutes les surfaces claires passent en beige chaud (--vtc-bg),
   les sections sombres (hero, écologie, CTA, en-tête, pied) restent.
   ===================================================================== */
body, #wrapper, #main, .page-wrapper, .content-area{ background-color: var(--vtc-bg) !important; }
/* sections claires "blanches" -> transparentes pour laisser voir le beige */
.vtc-sec, .svc-sec, .vtca-sec, .vtcc-sec, .vtct-sec{ background-color: transparent; }
/* les cartes et formulaires restent BLANCS pour ressortir sur le beige */
.vtc-card, .svc-card, .vtca-card, .vtcc-item, .vtcc-form, .vtc-hero-card,
.vtc-price, .vtct-row, .accordion-item, .vtc-faq details, .box{ background-color:#fff; }
