/*
Theme Name: Vectora
Theme URI: https://agenceia.webmarketingtuto.com/
Description: Thème enfant d'Astra pour Vectora, agence web IA à Lyon (site de démonstration). Le design est porté par theme.json et les réglages natifs des blocs : palette Nuit / Ambre, polices, tailles et espacements dans la barre latérale ; styles Carte, Surtitre, Badge, Coches et Comparatif dans l'onglet Styles ; sections prêtes dans Compositions > Vectora.
Author: Vectora
Template: astra
Version: 2.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: vectora-astra
License: GNU General Public License v2 or later
*/

/* ==========================================================================
   Vectora v2 — le design vient du theme.json (couleurs, polices, tailles,
   espacements, styles des blocs) et des réglages de chaque bloc.
   Ce fichier ne garde que ce que Gutenberg ne sait pas exprimer :
   1. la largeur étirée de la police Anybody ;
   2. le dessin de trois styles de bloc (coches, badge, comparatif) ;
   3. les deux composants en bloc HTML : l'atelier animé et le formulaire.
   « .vc-site » est retiré dans la feuille de l'éditeur (build.py).
   ========================================================================== */
:root{
  /* raccourcis vers les préréglages du theme.json (utilisés par les composants) */
  --vc-night:var(--wp--preset--color--nuit,#0A0D14);
  --vc-panel:var(--wp--preset--color--panneau,#151A26);
  --vc-line:var(--wp--preset--color--filet,#232A3A);
  --vc-line-2:var(--wp--preset--color--filet-clair,#323B50);
  --vc-text:var(--wp--preset--color--texte,#ECEEF4);
  --vc-muted:var(--wp--preset--color--gris,#9AA2B5);
  --vc-dim:var(--wp--preset--color--gris-fonce,#646C82);
  --vc-amber:var(--wp--preset--color--ambre,#FFB547);
  --vc-amber-ink:var(--wp--preset--color--encre,#1C1205);
  --vc-iris:var(--wp--preset--color--iris,#A496FF);
  --vc-display:var(--wp--preset--font-family--titres);
  --vc-body:var(--wp--preset--font-family--texte);
  --vc-mono:var(--wp--preset--font-family--mono);
  --vc-r-lg:20px;
}

/* ---- 0. Astra impose ses tailles de titres : on reprend celles du theme.json.
   (Une taille ou un interligne choisis dans la barre latérale restent prioritaires.) ---- */
/* Astra ajoute une marge sous chaque paragraphe et titre : l'espacement vient
   déjà du réglage « Espacement des blocs » de Gutenberg. */
.vc-site :is(.entry-content,.vc-site-footer) :is(p,h1,h2,h3,h4,h5,h6){margin-bottom:0}
.vc-site h1{font-size:var(--wp--preset--font-size--hero);line-height:1}
.vc-site h2{font-size:var(--wp--preset--font-size--section);line-height:1.05}
.vc-site h3{font-size:var(--wp--preset--font-size--carte);line-height:1.25}
.vc-site :is(h1,h2){font-family:var(--wp--preset--font-family--titres);font-weight:720;letter-spacing:-.02em}
.vc-site h3{font-family:var(--wp--preset--font-family--texte);font-weight:650;letter-spacing:0}

/* ---- 1. Police Anybody étirée (la largeur n'est pas un réglage de bloc) ---- */
.vc-site h1,.vc-site h2,.vc-site .has-titres-font-family{font-stretch:116%}
@media (max-width:600px){.vc-site h1{font-stretch:108%}}

/* ---- 2a. Liste « Coches ambre » ---- */
.vc-site .is-style-vc-coches{list-style:none}
.vc-site .is-style-vc-coches li{position:relative;padding-left:1.7rem;margin-top:.7rem}
.vc-site .is-style-vc-coches li::before{
  content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;
  border-left:2px solid var(--vc-amber);border-bottom:2px solid var(--vc-amber);transform:rotate(-45deg);
}
/* ---- 2b. Paragraphe « Badge » : largeur ajustée au texte ---- */
.vc-site .is-style-vc-badge{width:fit-content}
/* ---- 2c. Tableau « Comparatif » : filets horizontaux, dernière colonne mise en avant ---- */
.vc-site .is-style-vc-comparatif{overflow-x:auto}
.vc-site .is-style-vc-comparatif table{min-width:520px;border-collapse:collapse;border:0}
.vc-site .is-style-vc-comparatif :is(th,td){border:0;border-bottom:1px solid var(--vc-line);padding:1rem 1.1rem;text-align:left}
.vc-site .is-style-vc-comparatif thead{border:0}
.vc-site .is-style-vc-comparatif thead th{font-family:var(--vc-mono);font-size:.72rem;font-weight:400;letter-spacing:.04em;color:var(--vc-muted)}
.vc-site .is-style-vc-comparatif td{color:var(--vc-muted)}
.vc-site .is-style-vc-comparatif :is(th,td):last-child{background:rgba(255,181,71,.05)}
.vc-site .is-style-vc-comparatif thead th:last-child{color:var(--vc-amber);box-shadow:inset 0 2px 0 var(--vc-amber)}

/* ==========================================================================
   3a. L'ATELIER (bloc HTML personnalisé, animé par front.js)
   ========================================================================== */
.vc-atelier{position:relative;font-family:var(--vc-body);color:var(--vc-text)}
.vc-atelier-glow{position:absolute;inset:8% 0 -10% 6%;z-index:-1;background:radial-gradient(closest-side,rgba(255,181,71,.30),rgba(240,138,36,.12) 55%,transparent);filter:blur(30px);pointer-events:none}
.vc-atelier-frame{background:linear-gradient(180deg,rgba(27,33,48,.92),rgba(16,20,30,.96));border:1px solid var(--vc-line-2);border-radius:var(--vc-r-lg);box-shadow:0 40px 80px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}
.vc-atelier-bar{display:flex;align-items:center;gap:.9rem;padding:.75rem 1rem;border-bottom:1px solid var(--vc-line);font-family:var(--vc-mono);font-size:.68rem;color:var(--vc-dim);line-height:1.4}
.vc-bar-dots{display:inline-flex;gap:6px}
.vc-bar-dots i{width:9px;height:9px;border-radius:50%;background:var(--vc-line-2)}
.vc-bar-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vc-bar-title span{color:var(--vc-muted)}
.vc-bar-live{display:inline-flex;align-items:center;gap:.4rem;color:var(--vc-amber)}
.vc-bar-live::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:vc-pulse 1.6s infinite}
@keyframes vc-pulse{50%{opacity:.25}}
.vc-atelier-brief{padding:1.1rem 1.2rem 1rem;border-bottom:1px dashed var(--vc-line)}
.vc-atelier-brief .vc-label{color:var(--vc-iris);font-family:var(--vc-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.vc-atelier .vc-brief-text{margin:.5rem 0 0;min-height:4.5em;font-family:var(--vc-mono);font-size:.76rem;line-height:1.6;color:var(--vc-text)}
.vc-caret{display:inline-block;width:.55em;height:1.1em;margin-left:2px;vertical-align:-.2em;background:var(--vc-amber);animation:vc-blink 1s steps(1) infinite}
@keyframes vc-blink{50%{opacity:0}}
.vc-atelier-build{padding:1.2rem;background:radial-gradient(120% 80% at 50% 0%,rgba(255,181,71,.07),transparent 60%)}
.vc-atelier-build .vc-mock{box-shadow:0 18px 40px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06)}
.vc-atelier .vc-atelier-steps{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;border-top:1px solid var(--vc-line);font-family:var(--vc-mono);font-size:.6rem;letter-spacing:.02em}
.vc-atelier-steps li{position:relative;margin:0;padding:.8rem .4rem .75rem;text-align:center;color:var(--vc-text);border-right:1px solid var(--vc-line);transition:color .3s;line-height:1.4}
.vc-atelier-steps li:last-child{border-right:0}
.vc-atelier-steps li::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--vc-amber);box-shadow:0 0 10px rgba(255,181,71,.8);transform-origin:left;transition:transform .45s ease}
.vc-atelier.is-live .vc-atelier-steps li{color:var(--vc-dim)}
.vc-atelier.is-live .vc-atelier-steps li::after{transform:scaleX(0)}
.vc-atelier.is-live .vc-atelier-steps li.is-on{color:var(--vc-text)}
.vc-atelier.is-live .vc-atelier-steps li.is-on::after{transform:scaleX(1)}
.vc-atelier.is-live .vc-mock [data-step]{opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease}
.vc-atelier.is-live .vc-mock [data-step].is-on{opacity:1;transform:none}

/* ==========================================================================
   MAQUETTES DE SITES (CSS pur)
   ========================================================================== */
.vc-mock{
  --m-bg:#fff;--m-ink:#111;--m-accent:#333;--m-on-accent:#fff;
  --m-font:var(--vc-body);--m-title-style:normal;--m-title-weight:700;--m-title-stretch:100%;
  container-type:inline-size;display:flex;flex-direction:column;aspect-ratio:16/11;
  background:var(--m-bg);color:var(--m-ink);border-radius:10px;overflow:hidden;font-family:var(--vc-body);line-height:1.2;
}
.vc-mock-nav{display:flex;align-items:center;justify-content:space-between;padding:3.4cqi 5cqi 2cqi;font-size:3.3cqi}
.vc-mock-logo{font-family:var(--m-font);font-weight:700;font-style:var(--m-title-style);font-stretch:var(--m-title-stretch);letter-spacing:-.01em}
.vc-mock-links{display:inline-flex;gap:2.4cqi}
.vc-mock-links i{width:6.5cqi;height:1.1cqi;border-radius:1cqi;background:currentColor;opacity:.3}
.vc-mock-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:4.5cqi;align-items:center;padding:2cqi 5cqi 0}
.vc-mock-title{display:block;font-family:var(--m-font);font-style:var(--m-title-style);font-weight:var(--m-title-weight);font-stretch:var(--m-title-stretch);font-size:6.6cqi;line-height:1.02;letter-spacing:-.02em}
.vc-mock-tag{display:block;margin-top:2.2cqi;font-size:3cqi;line-height:1.35;opacity:.72}
.vc-mock-btn{display:inline-block;margin-top:3.6cqi;padding:1.7cqi 3.2cqi;border-radius:99px;background:var(--m-accent);color:var(--m-on-accent);font-size:2.7cqi;font-weight:600;white-space:nowrap}
.vc-mock-photo{aspect-ratio:1/1;border-radius:3cqi;background:var(--m-accent)}
.vc-mock-row{display:grid;grid-template-columns:repeat(3,1fr);gap:3cqi;margin-top:auto;padding:4cqi 5cqi 4.6cqi}
.vc-mock-row i{height:9cqi;border-radius:2cqi;background:currentColor;opacity:.08}

.vc-mock--pernet{--m-bg:#F6EEE1;--m-ink:#3A2416;--m-accent:#A9581F;--m-on-accent:#FFF6EA;--m-font:Georgia,"Times New Roman",serif;--m-title-style:italic}
.vc-mock--pernet .vc-mock-photo{background:radial-gradient(ellipse 34% 22% at 35% 38%,#F0C27A,#C77F35 60%,transparent 62%),radial-gradient(ellipse 30% 20% at 64% 62%,#E9B466,#B56C2A 60%,transparent 62%),radial-gradient(ellipse 26% 17% at 30% 74%,#DDA052,#A85F22 60%,transparent 62%),linear-gradient(160deg,#6B4127,#3B2416)}
.vc-mock--riviere{--m-bg:#0E2A45;--m-ink:#fff;--m-accent:#2FA6FF;--m-on-accent:#04192C;--m-font:var(--vc-display);--m-title-stretch:145%;--m-title-weight:800}
.vc-mock--riviere .vc-mock-title{font-size:5.6cqi}
.vc-mock--riviere .vc-mock-photo{background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.18) 18% 22%),linear-gradient(200deg,#3FB4FF,#0B4F86 70%)}
.vc-mock--pivoine{--m-bg:#FBEDEE;--m-ink:#4A2232;--m-accent:#D6557A;--m-on-accent:#fff;--m-font:Georgia,serif;--m-title-style:italic;--m-title-weight:400}
.vc-mock--pivoine .vc-mock-photo{background:radial-gradient(circle at 34% 36%,#F7A9BE 0 14%,transparent 15%),radial-gradient(circle at 62% 48%,#E66A8E 0 17%,transparent 18%),radial-gradient(circle at 42% 66%,#F2C3CF 0 13%,transparent 14%),radial-gradient(circle at 70% 74%,#9DBF8B 0 9%,transparent 10%),linear-gradient(160deg,#F7DDE2,#E9B9C5)}
.vc-mock--delorme{--m-bg:#19191C;--m-ink:#F1F1F1;--m-accent:#FF6A1A;--m-on-accent:#1A0A00;--m-font:var(--vc-display);--m-title-stretch:62%;--m-title-weight:800}
.vc-mock--delorme .vc-mock-title{text-transform:uppercase;font-size:7cqi;letter-spacing:.01em;line-height:1.05}
.vc-mock--delorme .vc-mock-photo{background:repeating-linear-gradient(135deg,rgba(255,106,26,.9) 0 6%,transparent 6% 12%) bottom/100% 14% no-repeat,linear-gradient(170deg,#6B6E76,#2A2B30 70%)}
.vc-mock--bouchon{--m-bg:#2A0F14;--m-ink:#F4E5D2;--m-accent:#E2B05E;--m-on-accent:#2A0F14;--m-font:Georgia,serif}
.vc-mock--bouchon .vc-mock-photo{background:repeating-linear-gradient(0deg,rgba(196,28,46,.75) 0 12.5%,transparent 12.5% 25%),repeating-linear-gradient(90deg,rgba(196,28,46,.75) 0 12.5%,transparent 12.5% 25%),#F6EDE4}
.vc-mock--meche{--m-bg:#ECE8FF;--m-ink:#211A3C;--m-accent:#6A4BFF;--m-on-accent:#fff;--m-title-weight:800}
.vc-mock--meche .vc-mock-logo{text-transform:lowercase}
.vc-mock--meche .vc-mock-photo{background:radial-gradient(120% 60% at 0% 100%,#6A4BFF 0 30%,transparent 31%),radial-gradient(90% 50% at 100% 0%,#B9A9FF 0 35%,transparent 36%),linear-gradient(135deg,#D7CEFF,#9F8BFF)}

/* ==========================================================================
   Maquette animée de l'atelier (les autres maquettes sont des images)
   ========================================================================== */
.vc-mock{
  --m-bg:#fff;--m-ink:#111;--m-accent:#333;--m-on-accent:#fff;
  --m-font:var(--vc-body);--m-title-style:normal;--m-title-weight:700;--m-title-stretch:100%;
  container-type:inline-size;display:flex;flex-direction:column;aspect-ratio:16/11;
  background:var(--m-bg);color:var(--m-ink);border-radius:10px;overflow:hidden;font-family:var(--vc-body);line-height:1.2;
}
.vc-mock-nav{display:flex;align-items:center;justify-content:space-between;padding:3.4cqi 5cqi 2cqi;font-size:3.3cqi}
.vc-mock-logo{font-family:var(--m-font);font-weight:700;font-style:var(--m-title-style);font-stretch:var(--m-title-stretch);letter-spacing:-.01em}
.vc-mock-links{display:inline-flex;gap:2.4cqi}
.vc-mock-links i{width:6.5cqi;height:1.1cqi;border-radius:1cqi;background:currentColor;opacity:.3}
.vc-mock-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:4.5cqi;align-items:center;padding:2cqi 5cqi 0}
.vc-mock-title{display:block;font-family:var(--m-font);font-style:var(--m-title-style);font-weight:var(--m-title-weight);font-stretch:var(--m-title-stretch);font-size:6.6cqi;line-height:1.02;letter-spacing:-.02em}
.vc-mock-tag{display:block;margin-top:2.2cqi;font-size:3cqi;line-height:1.35;opacity:.72}
.vc-mock-btn{display:inline-block;margin-top:3.6cqi;padding:1.7cqi 3.2cqi;border-radius:99px;background:var(--m-accent);color:var(--m-on-accent);font-size:2.7cqi;font-weight:600;white-space:nowrap}
.vc-mock-photo{aspect-ratio:1/1;border-radius:3cqi;background:var(--m-accent)}
.vc-mock-row{display:grid;grid-template-columns:repeat(3,1fr);gap:3cqi;margin-top:auto;padding:4cqi 5cqi 4.6cqi}
.vc-mock-row i{height:9cqi;border-radius:2cqi;background:currentColor;opacity:.08}

.vc-mock--pernet{--m-bg:#F6EEE1;--m-ink:#3A2416;--m-accent:#A9581F;--m-on-accent:#FFF6EA;--m-font:Georgia,"Times New Roman",serif;--m-title-style:italic}
.vc-mock--pernet .vc-mock-photo{background:radial-gradient(ellipse 34% 22% at 35% 38%,#F0C27A,#C77F35 60%,transparent 62%),radial-gradient(ellipse 30% 20% at 64% 62%,#E9B466,#B56C2A 60%,transparent 62%),radial-gradient(ellipse 26% 17% at 30% 74%,#DDA052,#A85F22 60%,transparent 62%),linear-gradient(160deg,#6B4127,#3B2416)}
.vc-mock--riviere{--m-bg:#0E2A45;--m-ink:#fff;--m-accent:#2FA6FF;--m-on-accent:#04192C;--m-font:var(--vc-display);--m-title-stretch:145%;--m-title-weight:800}
.vc-mock--riviere .vc-mock-title{font-size:5.6cqi}
.vc-mock--riviere .vc-mock-photo{background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.18) 18% 22%),linear-gradient(200deg,#3FB4FF,#0B4F86 70%)}
.vc-mock--pivoine{--m-bg:#FBEDEE;--m-ink:#4A2232;--m-accent:#D6557A;--m-on-accent:#fff;--m-font:Georgia,serif;--m-title-style:italic;--m-title-weight:400}
.vc-mock--pivoine .vc-mock-photo{background:radial-gradient(circle at 34% 36%,#F7A9BE 0 14%,transparent 15%),radial-gradient(circle at 62% 48%,#E66A8E 0 17%,transparent 18%),radial-gradient(circle at 42% 66%,#F2C3CF 0 13%,transparent 14%),radial-gradient(circle at 70% 74%,#9DBF8B 0 9%,transparent 10%),linear-gradient(160deg,#F7DDE2,#E9B9C5)}
.vc-mock--delorme{--m-bg:#19191C;--m-ink:#F1F1F1;--m-accent:#FF6A1A;--m-on-accent:#1A0A00;--m-font:var(--vc-display);--m-title-stretch:62%;--m-title-weight:800}
.vc-mock--delorme .vc-mock-title{text-transform:uppercase;font-size:7cqi;letter-spacing:.01em;line-height:1.05}
.vc-mock--delorme .vc-mock-photo{background:repeating-linear-gradient(135deg,rgba(255,106,26,.9) 0 6%,transparent 6% 12%) bottom/100% 14% no-repeat,linear-gradient(170deg,#6B6E76,#2A2B30 70%)}
.vc-mock--bouchon{--m-bg:#2A0F14;--m-ink:#F4E5D2;--m-accent:#E2B05E;--m-on-accent:#2A0F14;--m-font:Georgia,serif}
.vc-mock--bouchon .vc-mock-photo{background:repeating-linear-gradient(0deg,rgba(196,28,46,.75) 0 12.5%,transparent 12.5% 25%),repeating-linear-gradient(90deg,rgba(196,28,46,.75) 0 12.5%,transparent 12.5% 25%),#F6EDE4}
.vc-mock--meche{--m-bg:#ECE8FF;--m-ink:#211A3C;--m-accent:#6A4BFF;--m-on-accent:#fff;--m-title-weight:800}
.vc-mock--meche .vc-mock-logo{text-transform:lowercase}
.vc-mock--meche .vc-mock-photo{background:radial-gradient(120% 60% at 0% 100%,#6A4BFF 0 30%,transparent 31%),radial-gradient(90% 50% at 100% 0%,#B9A9FF 0 35%,transparent 36%),linear-gradient(135deg,#D7CEFF,#9F8BFF)}

/* ==========================================================================
   3b. FORMULAIRE DE DÉMONSTRATION (bloc HTML personnalisé)
   ========================================================================== */
.vc-form{background:var(--vc-panel);border:1px solid var(--vc-line-2);border-radius:var(--vc-r-lg);padding:clamp(24px,3.5vw,40px);display:grid;gap:1.1rem;font-family:var(--vc-body);color:var(--vc-text)}
.vc-field{display:grid;gap:.45rem;margin:0;padding:0;border:0;min-width:0}
.vc-field label,.vc-field legend{font-size:.92rem;font-weight:500;color:var(--vc-text);padding:0;margin:0}
.vc-field legend{margin-bottom:.45rem}
.vc-opt{color:var(--vc-dim);font-weight:400}
.vc-form input[type="text"],.vc-form textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--vc-text);
  background:var(--vc-night);border:1px solid var(--vc-line-2);border-radius:10px;padding:.8rem .95rem;box-shadow:none;
  transition:border-color .2s,box-shadow .2s;
}
.vc-form textarea{resize:vertical;min-height:110px}
.vc-form input::placeholder,.vc-form textarea::placeholder{color:var(--vc-dim)}
.vc-form input:focus,.vc-form textarea:focus{outline:none;border-color:var(--vc-amber);box-shadow:0 0 0 3px rgba(255,181,71,.18);background:var(--vc-night);color:var(--vc-text)}
.vc-form .is-invalid{border-color:#FF7A6B}
.vc-seg{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.vc-seg label{position:relative;cursor:pointer}
.vc-seg input{position:absolute;opacity:0}
.vc-seg span{display:block;text-align:center;padding:.7rem;border:1px solid var(--vc-line-2);border-radius:10px;color:var(--vc-muted);font-size:.95rem;transition:all .2s}
.vc-seg input:checked + span{border-color:var(--vc-amber);color:var(--vc-amber);background:rgba(255,181,71,.07)}
.vc-seg input:focus-visible + span{outline:2px solid var(--vc-amber);outline-offset:2px}
.vc-form .vc-submit{
  width:100%;min-height:48px;padding:.8rem 1.35rem;border:0;border-radius:10px;cursor:pointer;
  background:var(--vc-amber);color:var(--vc-amber-ink);font:600 .98rem/1.2 var(--vc-body);
  transition:background .2s,box-shadow .25s,transform .2s;
}
.vc-form .vc-submit:hover,.vc-form .vc-submit:focus{background:#FFC266;color:var(--vc-amber-ink);box-shadow:0 8px 32px -6px rgba(255,181,71,.55)}
.vc-form-note{margin:0;font-size:.86rem;color:var(--vc-dim);text-align:center}
.vc-form-note.is-ok{color:var(--vc-amber)}

/* ==========================================================================
   Réduction des animations
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .vc-site *,.vc-site *::before,.vc-site *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .vc-caret{display:none}
}
@media (max-width:600px){
  .vc-atelier .vc-atelier-steps{font-size:.52rem}
  .vc-atelier-steps li{padding:.7rem .15rem}
  .vc-atelier .vc-brief-text{font-size:.7rem;min-height:6.4em}
}

/* ==========================================================================
   Intégration avec Astra : en-tête, menu, pages pleine largeur
   (site public uniquement, pas l'éditeur)
   ========================================================================== */
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.vc-site{overflow-x:hidden}

/* ---- pages construites en sections (vc-full) ---- */
.vc-full .site-content > .ast-container{max-width:100%;padding-left:0;padding-right:0;display:block}
.vc-full #primary,.vc-full .site-main{margin:0;padding:0;width:100%}
.vc-full .site-main > article,.vc-full .ast-article-single{margin:0;padding:0;background:transparent;border:0}
.vc-full .entry-header{display:none}
.vc-full .entry-content{margin:0}
.vc-full .entry-content > *{margin-top:0;margin-bottom:0}
.vc-full .entry-content > .alignfull{margin-left:0;margin-right:0;width:auto;max-width:none}
.vc-site .site-content,.vc-site #page{background:var(--wp--preset--color--nuit)}

/* ---- pied de page propre ---- */
.vc-site-footer .alignfull{margin-left:0;margin-right:0;width:auto;max-width:none}

/* ---- en-tête collant, translucide ---- */
.vc-site .site-header{position:sticky;top:0;z-index:100;background:transparent}
.admin-bar.vc-site .site-header{top:32px}
@media (max-width:782px){.admin-bar.vc-site .site-header{top:46px}}
@media (max-width:600px){.admin-bar.vc-site .site-header{top:0}}
.vc-site .site-header .main-header-bar,
.vc-site .site-header .ast-primary-header-bar{
  background:rgba(10,13,20,.72);border-bottom:1px solid transparent;
  -webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);
  transition:border-color .3s;
}
.vc-site.vc-scrolled .site-header .main-header-bar,
.vc-site.vc-scrolled .site-header .ast-primary-header-bar{border-bottom-color:var(--vc-line)}
.vc-site .site-header .site-primary-header-wrap{min-height:72px}
.vc-site .site-header .ast-builder-grid-row-container.ast-container,
.vc-site .site-header .site-primary-header-wrap.ast-container{max-width:calc(1180px + 2 * var(--wp--preset--spacing--gouttiere));padding-left:var(--wp--preset--spacing--gouttiere);padding-right:var(--wp--preset--spacing--gouttiere)}

/* marque : logo (image) + titre du site */
.vc-site .site-header .custom-logo-link img,.vc-site .site-header .site-logo-img img{width:30px;height:auto;max-height:30px}
.vc-site .site-header .site-branding{gap:.55rem}
.vc-site .site-header .site-description{display:none}
.vc-site .site-header .site-title{margin:0;line-height:1}
.vc-site .site-header .site-title a{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--vc-display);font-stretch:140%;font-weight:700;font-size:1.22rem;letter-spacing:-.02em;
  color:var(--vc-text);text-decoration:none;text-transform:lowercase;
}
.vc-site .site-header .site-title a:hover{color:var(--vc-text)}

/* menu bureau */
.vc-site .main-header-menu > .menu-item > .menu-link{
  font-family:var(--vc-body);font-size:.95rem;font-weight:500;color:var(--vc-muted);
  padding:.5rem .8rem;border-radius:8px;line-height:1.4;transition:color .2s;
}
.vc-site .main-header-menu .menu-item:hover > .menu-link,
.vc-site .main-header-menu .menu-item > .menu-link:focus{color:var(--vc-text)}
.vc-site .main-header-menu .current-menu-item > .menu-link{color:var(--vc-muted)}
.vc-site .main-header-menu > .vc-nav-cta{margin-left:.6rem}
.vc-site .main-header-menu > .vc-nav-cta > .menu-link{
  background:var(--vc-amber);color:var(--vc-amber-ink);border-radius:10px;padding:.55rem 1rem;font-weight:600;font-size:.9rem;
  min-height:40px;display:inline-flex;align-items:center;transition:background .2s,box-shadow .25s;
}
.vc-site .main-header-menu > .vc-nav-cta > .menu-link:hover,
.vc-site .main-header-menu > .vc-nav-cta:hover > .menu-link{background:#FFC266;color:var(--vc-amber-ink);box-shadow:0 8px 32px -6px rgba(255,181,71,.55)}

/* menu mobile */
.vc-site .ast-mobile-header-wrap .ast-primary-header-bar,
.vc-site #ast-mobile-header .main-header-bar{background:rgba(10,13,20,.92)}
.vc-site .ast-mobile-header-content{background:var(--vc-night)!important;border-bottom:1px solid var(--vc-line);padding:.3rem 0 1.4rem}
.vc-site .menu-toggle.ast-mobile-menu-trigger-minimal{
  color:var(--vc-text)!important;background:transparent!important;border:1px solid var(--vc-line-2)!important;border-radius:10px;
  width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;
}
.vc-site .menu-toggle .ast-mobile-svg{fill:var(--vc-text)}
.vc-site #ast-hf-mobile-menu .menu-item > .menu-link{
  font-family:var(--vc-body);font-size:1.02rem;font-weight:500;line-height:1.4;color:var(--vc-text);
  padding:.95rem var(--wp--preset--spacing--gouttiere);border-bottom:1px solid var(--vc-line);background:transparent;
}
.vc-site #ast-hf-mobile-menu .menu-item:hover > .menu-link{color:var(--vc-amber)}
.vc-site #ast-hf-mobile-menu > .vc-nav-cta{padding:1.1rem var(--wp--preset--spacing--gouttiere) 0;border:0}
.vc-site #ast-hf-mobile-menu > .vc-nav-cta > .menu-link{
  display:flex;justify-content:center;background:var(--vc-amber);color:var(--vc-amber-ink);
  border:0;border-radius:10px;padding:.9rem 1.3rem;font-weight:600;
}
.vc-site #ast-hf-mobile-menu > .vc-nav-cta > .menu-link:hover{background:#FFC266;color:var(--vc-amber-ink)}
