/* ============================================================
   ANCO Blog v2 — styles du redesign
   Source : maquette Claude Design « Redesign article blog Anco »
   Toutes les classes sont préfixées av2- pour cohabiter sans
   conflit avec l'ancienne feuille de style (assets/css/style.css).
   ============================================================ */

/* ---------- 1. Fondations (tokens du design system anco) ---------- */
:root{
  /* Couleurs — valeurs de production anco.pro */
  --anco-navy:#2b375f;
  --anco-navy-deep:#1c2440;
  --anco-navy-mid:#232c50;
  --anco-blue:#2b67ab;
  --anco-blue-bright:#007cdf;
  --anco-orange:#f58829;
  --anco-orange-deep:#e2760f;
  --anco-red:#e15d56;
  --anco-white:#fff;
  --anco-whitesmoke:#f5f5f5;

  --anco-grey-500:#758696;
  --anco-grey-600:#4b5568;
  --anco-line:#e9edf4;
  --anco-bg-soft:#f4f7fc;
  --anco-on-navy:#c8d2e6;
  --anco-on-navy-dim:#8a94b8;
  --anco-line-navy:#333c5f;
  --anco-line-navy-soft:#3a4468;

  --text-muted:var(--anco-grey-500);
  --text-prose:var(--anco-grey-600);
  --border-default:var(--anco-line);
  --surface-card:var(--anco-white);
  --surface-sunken:var(--anco-bg-soft);
  --action-accent:var(--anco-orange);
  --action-accent-hover:var(--anco-orange-deep);
  --focus-ring:var(--anco-blue);

  /* Typographie */
  --font-sans:"Manjari",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --fw-thin:100;
  --fw-regular:400;
  --fw-bold:700;
  --fs-lead:18px;
  --fs-prose:16.5px;
  --fs-ui:15px;
  --fs-label:14px;
  --fs-eyebrow:13px;
  --ls-button:.03em;
  --ls-chip:.05em;
  --ls-tag:.08em;
  --ls-footer-head:.1em;
  --ls-eyebrow:.14em;

  /* Espacements et mise en page */
  --layout-max:1180px;
  --layout-gutter:26px;
  --header-h:76px;
  --grid-gap:20px;
  --btn-pad:15px 30px;
  --field-pad:12px 14px;

  /* Rayons */
  --radius-sm:8px;
  --radius-md:10px;
  --radius-xl:14px;
  --radius-pill:999px;

  /* Ombres — toujours teintées marine, jamais noires */
  --shadow-card:0 10px 30px rgba(43,55,95,.05);
  --shadow-hover:0 14px 32px rgba(43,55,95,.12);
  --shadow-media:0 30px 60px rgba(43,55,95,.22);
  --shadow-sticker-navy:7px 7px 0 0 #2b375f;
  --shadow-sticker-navy-press:2px 2px 0 0 #2b375f;

  /* Mouvement */
  --dur-fast:.2s;
  --dur-panel:.34s;
  --ease-default:ease;
  --ease-panel:cubic-bezier(.2,.7,.2,1);

  /* Dégradés */
  --gradient-hero:radial-gradient(1200px 500px at 80% -10%,#eaf1fb 0,rgba(234,241,251,0) 60%),linear-gradient(180deg,#fff,#f6f9fe);
  --gradient-hero-brand:radial-gradient(700px 420px at 0 0,rgba(245,136,41,.16),transparent 60%),radial-gradient(900px 500px at 100% 30%,rgba(43,103,171,.12),transparent 60%),linear-gradient(180deg,#fff,#f6f9fe);
  --gradient-navy:linear-gradient(120deg,#2b375f,#1c2440);
  --tint-orange-shape:rgba(245,136,41,.18);
}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0s;--dur-panel:0s}
  html{scroll-behavior:auto !important}
}

/* ---------- 2. Ajustements globaux ---------- */
html{scroll-behavior:smooth}
/* L'ancien thème réservait de la place pour son en-tête fixe ; le nouveau est sticky. */
body{padding-top:0 !important}
body.single{background:#fff !important}
::selection{background:var(--anco-orange);color:#fff}
.av2-container{max-width:var(--layout-max);margin:0 auto;padding-left:var(--layout-gutter);padding-right:var(--layout-gutter)}

/* ---------- 3. Boutons ---------- */
.av2-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:inherit;font-weight:var(--fw-bold);font-size:var(--fs-label);letter-spacing:var(--ls-button);text-transform:uppercase;text-align:center;padding:var(--btn-pad);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur-fast) var(--ease-default);text-decoration:none;border:0;line-height:1.2}
.av2-btn-orange{background:var(--action-accent);color:#fff !important}
.av2-btn-orange:hover{background:var(--action-accent-hover);color:#fff !important}
/* Le bouton « autocollant » signature : bloc de couleur décalé, sans flou.
   Au survol, le bouton se déplace de 7px dans son bloc. */
.av2-btn-sticker{border-radius:999px;padding:.62rem 1.5rem .38rem;box-shadow:var(--shadow-sticker-navy)}
.av2-btn-sticker:hover{box-shadow:var(--shadow-sticker-navy-press);transform:translate(7px,7px)}

/* ---------- 4. En-tête sticky ---------- */
.av2-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-default)}
.av2-header-inner{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-gutter);display:flex;align-items:center;height:var(--header-h);gap:24px}
.av2-logo{display:flex}
.av2-logo img{height:34px;width:auto}
.av2-header-spacer{flex:1 1 auto}
.av2-menu-toggle{display:flex;align-items:center;gap:14px;color:var(--anco-navy);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;font-size:var(--fs-label);cursor:pointer;background:none;border:0;font-family:inherit}
.av2-menu-toggle .av2-bars{display:inline-flex;flex-direction:column;gap:4px}
.av2-menu-toggle .av2-bars span{width:26px;height:2px;background:var(--anco-navy);display:block}

/* ---------- 5. Menu : panneau aux deux tiers, page floutée dessous ---------- */
.av2-menu{position:fixed;inset:0;z-index:70;background:rgba(43,55,95,.25);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;pointer-events:none;transition:opacity var(--dur-panel) var(--ease-default)}
body.av2-menu-open .av2-menu{opacity:1;pointer-events:auto}
body.av2-menu-open{overflow:hidden}
/* Fond du panneau : halos radiaux orange et bleu de la charte (valeurs
   reprises de la maquette « Blog Anco »). */
.av2-menu-sheet{background:radial-gradient(1100px 520px at -8% -12%,rgba(245,136,41,.16),transparent 62%),radial-gradient(1000px 560px at 108% 18%,rgba(43,103,171,.14),transparent 62%),#fff;max-height:66vh;overflow-y:auto;transform:translateY(-16px);transition:transform var(--dur-panel) var(--ease-panel);border-radius:0 0 16px 16px;box-shadow:0 30px 60px rgba(28,36,64,.28)}
body.av2-menu-open .av2-menu-sheet{transform:translateY(0)}
/* Ancien plugin « WP Responsive Menu » : son menu mobile fait doublon avec
   celui du thème v2 — neutralisé (et à désactiver dans wp-admin). */
#wprmenu_bar,#mg-wprm-wrap,.wprmenu_bar,.wprm-wrapper{display:none !important}
.av2-menu-top{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--border-default);position:sticky;top:0;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}
.av2-menu-top img{height:32px;width:auto}
.av2-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-default);background:#fff;color:var(--anco-navy);font-size:20px;line-height:1;cursor:pointer;transition:all var(--dur-fast) var(--ease-default)}
.av2-close:hover{border-color:var(--anco-orange);color:var(--anco-orange)}
.av2-menu-search{max-width:var(--layout-max);margin:0 auto;padding:30px var(--layout-gutter) 0}
.av2-menu-search input[type="text"],.av2-menu-search input[type="search"]{width:100%;max-width:420px;padding:var(--field-pad);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-ui);color:var(--anco-navy);background:#fff}
.av2-menu-search input:focus{outline:2px solid var(--focus-ring);border-color:var(--focus-ring)}
.av2-menu-search .search-form{display:flex;gap:14px;align-items:center;max-width:460px}
.av2-menu-search .search-field{flex:1 1 auto}
/* position:static : l'ancien CSS colle la loupe au bord du champ (absolu) */
.av2-menu-search .search-submit{position:static;width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--anco-orange);color:#fff;cursor:pointer;font-size:16px;padding:0;line-height:1;transition:background var(--dur-fast) var(--ease-default)}
.av2-menu-search .search-submit:hover{background:var(--anco-orange-deep)}
.av2-menu-grid{max-width:var(--layout-max);margin:0 auto;padding:42px var(--layout-gutter) 80px;display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.av2-menu-grid h4{color:var(--anco-orange);font-size:var(--fs-eyebrow);letter-spacing:.12em;margin:0 0 18px;text-transform:uppercase;font-weight:var(--fw-bold)}
.av2-menu-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.av2-menu-grid ul ul{margin-top:11px;padding-left:14px}
.av2-menu-grid a{color:var(--anco-navy);font-size:16px;text-transform:none}
.av2-menu-grid a:hover{color:var(--anco-orange)}

/* ---------- 6. Bandeau d'ouverture de l'article ---------- */
.av2-hero{background:var(--gradient-hero-brand);padding:56px 0 48px;position:relative;overflow:hidden}
.av2-hero-grid{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-gutter);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.av2-crumbs{display:flex;align-items:center;gap:10px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;flex-wrap:wrap}
.av2-crumbs a{color:var(--anco-blue);text-decoration:none;transition:color var(--dur-fast) var(--ease-default)}
.av2-crumbs a:hover{color:var(--anco-orange)}
.av2-crumbs .av2-sep,.av2-crumbs .av2-muted{color:var(--text-muted)}
.av2-hero h1{color:var(--anco-navy);font-weight:var(--fw-thin);font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:.01em;margin:18px 0 0;text-transform:uppercase}
.av2-hero-lead{color:var(--text-prose);font-size:var(--fs-lead);line-height:1.6;margin:18px 0 0;max-width:560px}
.av2-hero-meta{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.av2-hero-meta img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff}
.av2-hero-meta .av2-meta-txt{font-size:var(--fs-label);color:var(--text-muted)}
.av2-hero-meta .av2-meta-txt strong{display:block;color:var(--anco-navy);font-weight:var(--fw-bold)}
.av2-hero-cta{display:flex;gap:22px;margin-top:28px;align-items:center;flex-wrap:wrap}
.av2-hero-cta .av2-note{color:var(--text-muted);font-size:var(--fs-label)}
.av2-hero-media{position:relative}
.av2-hero-media .av2-hero-img{width:100%;height:340px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-media);position:relative;z-index:1}
.av2-hero-media .av2-shape{position:absolute;width:7rem;height:7rem;right:-2rem;bottom:-2.5rem;pointer-events:none}

/* ---------- 7. Grille de lecture : sommaire / article / carte devis ---------- */
.av2-layout{max-width:var(--layout-max);margin:0 auto;padding:56px var(--layout-gutter) 88px;display:grid;grid-template-columns:230px minmax(0,1fr) 300px;gap:52px;align-items:start}
.av2-toc{position:sticky;top:100px}
.av2-toc-title{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);color:var(--anco-orange);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);margin-bottom:14px}
.av2-toc nav{display:flex;flex-direction:column}
.av2-toc nav a{display:block;padding:8px 0 8px 14px;border-left:2px solid var(--border-default);color:var(--text-muted);font-weight:var(--fw-regular);font-size:var(--fs-label);line-height:1.4;cursor:pointer;transition:all var(--dur-fast) var(--ease-default);text-decoration:none}
.av2-toc nav a:hover{color:var(--anco-navy)}
.av2-toc nav a.active{border-left-color:var(--anco-orange);color:var(--anco-navy);font-weight:var(--fw-bold)}
.av2-toc .av2-toc-devis{display:block;margin-top:16px;padding:8px 0 8px 14px;border-left:2px solid var(--anco-orange);color:var(--anco-orange);font-weight:var(--fw-bold);font-size:var(--fs-label);text-decoration:none}
.av2-article{max-width:660px;min-width:0}
h2[id]{scroll-margin-top:100px}

/* ---------- 8. Corps de l'article (contenu WordPress) ---------- */
.av2-prose{color:var(--text-prose);font-size:var(--fs-prose);line-height:1.75}
.av2-prose>*:first-child{margin-top:0}
.av2-prose p{margin:14px 0 0;color:var(--text-prose);font-size:var(--fs-prose);line-height:1.75}
.av2-prose h2,.av2-h2{color:var(--anco-navy);font-size:26px;font-weight:var(--fw-regular);line-height:1.2;letter-spacing:.01em;margin:48px 0 0;text-transform:uppercase}
.av2-prose h2+p{margin-top:16px}
.av2-prose h3{color:var(--anco-orange);font-size:19px;font-weight:var(--fw-regular);margin:26px 0 0;text-transform:none}
.av2-prose h4{color:var(--anco-navy);font-size:17px;font-weight:var(--fw-bold);margin:22px 0 0;text-transform:none}
.av2-prose a{color:var(--anco-blue);text-decoration:none;transition:color var(--dur-fast) var(--ease-default)}
.av2-prose a:hover{color:var(--anco-orange)}
.av2-prose strong{font-weight:var(--fw-bold)}
.av2-prose ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.av2-prose ul li{position:relative;padding-left:26px;line-height:1.6}
.av2-prose ul li::before{content:"✓";position:absolute;left:0;top:0;color:var(--anco-orange)}
.av2-prose ol{margin:14px 0 0;padding-left:22px;display:grid;gap:10px}
.av2-prose ol li{line-height:1.6}
.av2-prose ol li::marker{color:var(--anco-orange);font-weight:var(--fw-bold)}
.av2-prose img{border-radius:var(--radius-xl);border:1px solid var(--border-default);height:auto;margin-top:26px}
/* !important : les légendes WordPress imposent une largeur en dur dans le
   HTML (style="width: 1764px") qui ferait déborder la colonne de lecture. */
.av2-prose figure{margin:26px 0 0;max-width:100% !important;width:auto !important}
.av2-prose figure img{margin-top:0}
.av2-prose figcaption{color:var(--text-muted);font-size:13px;margin-top:8px}
.av2-prose blockquote{margin:22px 0 0;padding:4px 0 4px 18px;border-left:3px solid var(--anco-orange);color:var(--anco-navy);font-size:19px;line-height:1.5}
.av2-prose iframe,.av2-prose video{max-width:100%;border-radius:var(--radius-xl)}
.av2-prose table{width:100%;border-collapse:collapse;margin-top:22px;font-size:15px}
.av2-prose th,.av2-prose td{border:1px solid var(--border-default);padding:10px 12px;text-align:left}
.av2-prose th{background:var(--surface-sunken);color:var(--anco-navy)}

/* ---------- 8 bis. Images d'article : recadrage + plein écran ---------- */
.av2-prose img.av2-zoomable{cursor:zoom-in}
.av2-imgcrop{position:relative;max-height:480px;overflow:hidden;border-radius:var(--radius-xl);border:1px solid var(--border-default);margin-top:26px}
.av2-imgcrop img{margin-top:0;border:0;border-radius:0;width:100%;display:block}
.av2-imgcrop::after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.94));pointer-events:none}
.av2-imgcrop-btn{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:var(--fw-bold);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-chip);text-transform:uppercase;padding:.55rem 1.2rem .35rem;border-radius:999px;cursor:pointer;background:#fff;color:var(--anco-navy);border:1px solid var(--border-default);box-shadow:0 6px 18px rgba(43,55,95,.14);transition:all var(--dur-fast) var(--ease-default)}
.av2-imgcrop-btn:hover{border-color:var(--anco-orange);color:var(--anco-orange)}
.av2-lightbox{position:fixed;inset:0;z-index:90;background:rgba(28,36,64,.88);display:flex;align-items:center;justify-content:center;padding:28px;cursor:zoom-out}
.av2-lightbox img{max-width:min(1200px,100%);max-height:92vh;width:auto;object-fit:contain;border-radius:var(--radius-sm);cursor:default}
.av2-lightbox .av2-lightbox-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--anco-navy);font-size:20px;line-height:1;cursor:pointer;transition:all var(--dur-fast) var(--ease-default)}
.av2-lightbox .av2-lightbox-close:hover{color:var(--anco-orange)}
body.av2-lightbox-open{overflow:hidden}

/* ---------- 9. Encadré « À retenir » ---------- */
.av2-takeaways{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:22px 24px;margin:0 0 28px;position:relative}
.av2-article .av2-takeaways{margin:0 0 28px}
.av2-eyebrow-label{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);color:var(--anco-orange);text-transform:uppercase;letter-spacing:var(--ls-eyebrow)}
.av2-takeaways ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.av2-takeaways li{position:relative;padding-left:24px;color:var(--anco-navy);font-size:var(--fs-ui);line-height:1.5}
.av2-takeaways li::before{content:"✓";position:absolute;left:0;top:0;color:var(--anco-orange)}

/* ---------- 10. Encarts devis (milieu d'article + carte de droite) ---------- */
.av2-midcta{position:relative;background:var(--gradient-navy);border-radius:var(--radius-xl);padding:34px 36px;margin-top:44px;overflow:hidden}
.av2-midcta::before{content:"";position:absolute;right:-46px;top:-46px;width:130px;height:130px;background:var(--tint-orange-shape);transform:rotate(45deg)}
.av2-midcta h3{color:#fff;font-size:23px;font-weight:var(--fw-regular);line-height:1.25;margin:0;position:relative;text-transform:none}
.av2-midcta h3 span{color:var(--anco-orange)}
.av2-midcta p{color:var(--anco-on-navy);font-size:var(--fs-ui);margin:10px 0 22px;position:relative}
.av2-midcta .av2-btn{position:relative}

.av2-side{position:sticky;top:100px}
.av2-ctacard{position:relative;background:var(--gradient-navy);border-radius:var(--radius-xl);padding:28px 26px;overflow:hidden;box-shadow:var(--shadow-card)}
.av2-ctacard::before{content:"";position:absolute;left:-38px;bottom:-38px;width:110px;height:110px;background:var(--tint-orange-shape);transform:rotate(45deg)}
.av2-ctacard .av2-ctacard-icon{width:30px;margin-bottom:14px}
.av2-ctacard h3{color:#fff;font-size:20px;font-weight:var(--fw-regular);line-height:1.25;margin:0;position:relative;text-transform:none}
.av2-ctacard h3 span{color:var(--anco-orange)}
.av2-ctacard ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px;position:relative}
.av2-ctacard li{position:relative;padding-left:22px;color:var(--anco-on-navy);font-size:var(--fs-label)}
.av2-ctacard li::before{content:"✓";position:absolute;left:0;top:0;color:var(--anco-orange)}
.av2-ctacard .av2-ctacard-btn{margin-top:22px;position:relative}
.av2-ctacard .av2-btn{width:100%}
.av2-side-proof{display:flex;align-items:center;gap:12px;margin-top:18px;padding:0 6px}
.av2-side-proof img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--surface-sunken)}
.av2-side-proof p{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0}

/* ---------- 11. FAQ ---------- */
.av2-faq-item{border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:20px 22px;margin-top:14px;background:var(--surface-card)}
.av2-faq-item:first-of-type{margin-top:22px}
.av2-faq-item h3{color:var(--anco-navy);font-size:17px;font-weight:var(--fw-bold);margin:0;text-transform:none}
.av2-faq-item p{color:var(--text-muted);margin:8px 0 0;font-size:16px;line-height:1.6}

/* ---------- 12. Bloc auteur ---------- */
.av2-author{border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:24px 26px;margin-top:48px;display:flex;gap:20px;align-items:flex-start;background:var(--surface-card)}
.av2-author img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 4px var(--surface-sunken)}
.av2-author h3{color:var(--anco-navy);font-size:17px;font-weight:var(--fw-bold);margin:6px 0 0;text-transform:none}
.av2-author p{color:var(--text-muted);font-size:14.5px;line-height:1.6;margin:8px 0 0}

/* ---------- 13. Section formulaire de devis ---------- */
.av2-devis{background:var(--gradient-hero);padding:88px 0;position:relative;overflow:hidden}
.av2-devis .av2-shape-corner{position:absolute;width:9rem;height:9rem;top:-2rem;left:-2.5rem;pointer-events:none}
.av2-devis-grid{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-gutter);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start;position:relative}
.av2-devis-left{position:sticky;top:110px}
.av2-eyebrow{display:flex;align-items:center;gap:12px;justify-content:flex-start;color:var(--anco-orange);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);font-size:var(--fs-eyebrow)}
.av2-eyebrow::before,.av2-eyebrow::after{content:"";height:1px;width:34px;background:var(--anco-orange);opacity:.5;flex:none}
.av2-devis-left h2{color:var(--anco-navy);font-size:clamp(28px,3.4vw,42px);font-weight:var(--fw-thin);line-height:1.12;margin:16px 0 0;text-transform:uppercase}
.av2-devis-left h2 span{color:var(--anco-orange)}
.av2-devis-left .av2-devis-lead{color:var(--text-prose);font-size:17px;line-height:1.7;margin:18px 0 0;max-width:440px}
.av2-devis-left ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.av2-devis-left li{position:relative;padding-left:24px;color:var(--anco-navy);font-size:15.5px}
.av2-devis-left li::before{content:"✓";position:absolute;left:0;top:0;color:var(--anco-orange)}
.av2-devis-point{display:flex;align-items:center;gap:16px;margin-top:34px}
.av2-devis-point span:first-child{color:var(--anco-navy);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);font-size:var(--fs-eyebrow)}
.av2-devis-point .av2-arrow{color:var(--anco-orange);font-size:38px;line-height:1;animation:av2-nudge-right 1.6s var(--ease-default) infinite}
@keyframes av2-nudge-right{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}

.av2-form-card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 24px 60px rgba(43,55,95,.16);scroll-margin-top:88px}
.av2-form-head{background:var(--gradient-navy);padding:18px 34px;display:flex;align-items:center;gap:12px}
.av2-form-head img{width:20px}
.av2-form-head span{color:#fff;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);font-size:var(--fs-label)}
.av2-form-body{padding:30px 34px}
.av2-form-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}
.av2-field{display:block;margin-bottom:16px}
.av2-field .av2-field-label{display:block;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);color:var(--anco-navy);text-transform:uppercase;letter-spacing:var(--ls-chip);margin-bottom:6px}
.av2-field input,.av2-field select,.av2-field textarea{width:100%;padding:var(--field-pad);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-ui);color:var(--anco-navy);background:#fff;box-sizing:border-box}
.av2-field textarea{height:88px;min-height:64px;resize:vertical}
.av2-field select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23f58829' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:38px}
.av2-field select:has(option:first-child:checked){color:rgba(43,55,95,.45)}
.av2-field select option{color:var(--anco-navy)}
@property --av2-devis-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes av2-devis-spin{to{--av2-devis-angle:360deg}}
.av2-form-card input:not([type="submit"]):focus,.av2-form-card select:focus,.av2-form-card textarea:focus{outline:none;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--av2-devis-angle),#2b67ab,#f58829,#2b67ab) border-box;animation:av2-devis-spin 3.2s linear infinite}
.av2-form-card input[type="submit"]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
/* Badge reCAPTCHA masqué : autorisé par Google à condition d'afficher la
   mention dans le formulaire (voir .av2-recaptcha-note dans single.php). */
.grecaptcha-badge{visibility:hidden !important}
.av2-recaptcha-note{color:var(--text-muted);font-size:11.5px;line-height:1.5;margin:14px 0 0}
.av2-recaptcha-note a{color:var(--text-muted);text-decoration:underline}
/* Le widget anti-spam Cloudflare (injecté en tête de formulaire par
   l'intégration) est déplacé sous le bouton d'envoi. */
.av2-form-card form.wpcf7-form{display:flex;flex-direction:column}
.av2-form-card .wpcf7-turnstile{order:98;margin-top:16px}
.av2-form-card .wpcf7-response-output{order:99}
.av2-form-card select:focus{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23f58829' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center padding-box,linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--av2-devis-angle),#2b67ab,#f58829,#2b67ab) border-box}
.av2-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.av2-form-actions .av2-note{color:var(--text-muted);font-size:13px}
.av2-form-success{display:none;color:var(--anco-blue);font-size:var(--fs-ui);margin:18px 0 0;font-weight:var(--fw-bold)}
.av2-form-card.sent .av2-form-success{display:block}
/* États Contact Form 7 (validation, confirmation, erreurs) */
.av2-form-body br{display:none}
.av2-form-card .wpcf7-not-valid-tip{display:block;color:#a3352f;font-size:13px;margin-top:4px}
.av2-form-card .wpcf7-response-output{margin:18px 0 0;padding:12px 16px;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--fs-ui);color:var(--anco-navy)}
.av2-form-card form.sent .wpcf7-response-output{background:#e9f7ef;border-color:#b7e4c7;color:#1e6b3a}
.av2-form-card form.invalid .wpcf7-response-output,
.av2-form-card form.failed .wpcf7-response-output,
.av2-form-card form.aborted .wpcf7-response-output{background:#fdeeee;border-color:#f2b8b5;color:#a3352f}
.av2-form-card .wpcf7-spinner{margin:0 0 0 10px}

/* ---------- 6 bis. Page liste du blog ---------- */
.av2-bloghero{background:var(--gradient-hero-brand);padding:64px 0 72px;position:relative;overflow:hidden}
.av2-bloghero-grid{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-gutter);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.av2-bloghero-grid.av2-bloghero-solo{grid-template-columns:minmax(0,1fr)}
.av2-bloghero h1{color:var(--anco-navy);font-weight:var(--fw-thin);font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:.01em;margin:16px 0 0;text-transform:uppercase}
.av2-bloghero h1 span{color:var(--anco-orange)}
.av2-bloghero-lead{color:var(--text-prose);font-size:var(--fs-lead);line-height:1.6;margin:18px 0 0;max-width:520px}
.av2-stats{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
.av2-stat-num{color:var(--anco-navy);font-weight:var(--fw-thin);font-size:34px;line-height:1}
.av2-stat-num span{color:var(--anco-orange)}
.av2-stat-label{color:var(--text-muted);font-size:13.5px;margin-top:6px}
.av2-bloghero-media{position:relative}
.av2-bloghero-media .av2-shape{position:absolute;width:7rem;height:7rem;right:-2rem;bottom:-2.5rem;pointer-events:none}
.av2-featured-card{display:block;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 24px 60px rgba(43,55,95,.16);position:relative;z-index:1;color:inherit;text-decoration:none;transition:all var(--dur-fast) var(--ease-default)}
.av2-featured-card:hover{border-color:var(--anco-orange);transform:translateY(-4px);box-shadow:0 30px 60px rgba(43,55,95,.14)}
.av2-featured-card>img{width:100%;height:210px;object-fit:cover;display:block;border-radius:0}
.av2-featured-body{padding:24px 26px}
.av2-featured-tags{display:flex;align-items:center;gap:10px;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-tag)}
.av2-featured-tags .av2-tag-orange{color:var(--anco-orange)}
.av2-featured-tags .av2-tag-blue{color:var(--anco-blue)}
.av2-featured-tags .av2-sep{color:var(--text-muted)}
.av2-featured-body h2{color:var(--anco-navy);font-size:21px;font-weight:var(--fw-bold);line-height:1.3;margin:12px 0 0;text-transform:none}

.av2-bloglist{padding:72px 0 88px;background:#fff}
.av2-pills{display:flex;gap:10px;flex-wrap:wrap}
.av2-pill{border-radius:999px;padding:.5rem 1.1rem .3rem;font-size:13px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-chip);transition:all var(--dur-fast) var(--ease-default);background:#fff;color:var(--anco-navy);border:1px solid var(--border-default);text-decoration:none}
.av2-pill:hover{border-color:var(--anco-orange);color:var(--anco-navy)}
.av2-pill.active{background:var(--anco-navy);color:#fff;border-color:var(--anco-navy)}

.av2-cards{display:grid;grid-template-columns:1fr;gap:var(--grid-gap);margin-top:38px;align-items:start}
@media (min-width:1100px){.av2-cards{grid-template-columns:repeat(3,1fr)}}
.av2-cards.av2-stairs{grid-template-columns:repeat(3,1fr)}
.av2-cards-col{display:flex;flex-direction:column;gap:var(--grid-gap)}
.av2-card{display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-card);transition:all var(--dur-fast) var(--ease-default);color:inherit;text-decoration:none}
.av2-card:hover{border-color:var(--anco-orange);transform:translateY(-4px);box-shadow:0 12px 30px rgba(43,55,95,.10)}
.av2-card-img{width:100%;height:170px;background:var(--surface-sunken) center/cover no-repeat}
.av2-card-body{display:flex;flex-direction:column;flex:1;padding:20px 24px}
.av2-card-cat{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);color:var(--anco-blue);text-transform:uppercase;letter-spacing:var(--ls-tag)}
.av2-card-body h3{color:var(--anco-navy);font-size:17.5px;font-weight:var(--fw-bold);line-height:1.35;margin:10px 0 0;text-transform:none}
.av2-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px}
.av2-card-meta span:first-child{color:var(--text-muted);font-size:13.5px}
.av2-card-arrow{color:var(--anco-orange);font-size:16px}
.av2-featured-body .av2-card-meta{margin-top:14px;padding-top:0}

.av2-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:44px;flex-wrap:wrap;gap:18px}
.av2-page-info{color:var(--text-muted);font-size:var(--fs-label)}
.av2-page-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.av2-page-links .page-numbers{width:38px;height:38px;border-radius:50%;border:1px solid var(--border-default);color:var(--anco-navy);display:flex;align-items:center;justify-content:center;font-size:var(--fs-label);font-weight:var(--fw-bold);text-decoration:none;transition:all var(--dur-fast) var(--ease-default);padding-top:3px}
.av2-page-links a.page-numbers:hover{border-color:var(--anco-orange);color:var(--anco-orange)}
.av2-page-links .page-numbers.current{background:var(--anco-navy);color:#fff;border-color:var(--anco-navy)}
.av2-page-links .page-numbers.dots{border:0;width:auto;color:var(--text-muted)}
.av2-page-links .page-numbers.prev,.av2-page-links .page-numbers.next{width:auto;border-radius:999px;padding:3px 18px 0;font-size:13px;text-transform:uppercase;letter-spacing:var(--ls-chip)}
.av2-search-again{margin-top:24px}
.av2-search-again .search-form{display:flex;gap:14px;align-items:center;max-width:420px}
.av2-search-again .search-field{flex:1 1 auto;padding:var(--field-pad);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-ui);color:var(--anco-navy);background:#fff}
.av2-search-again .search-submit{position:static;width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--anco-orange);color:#fff;cursor:pointer;font-size:16px;padding:0;line-height:1}

.av2-newsband{background:var(--gradient-navy);padding:56px 0;position:relative;overflow:hidden}
.av2-newsband::before{content:"";position:absolute;left:-60px;bottom:-60px;width:200px;height:200px;background:var(--tint-orange-shape);transform:rotate(45deg)}
.av2-newsband-grid{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;position:relative}
.av2-newsband h2{color:#fff;font-size:clamp(24px,2.6vw,32px);font-weight:var(--fw-thin);line-height:1.15;margin:12px 0 0;text-transform:none}
.av2-newsband p{color:var(--anco-on-navy);font-size:15.5px;margin:12px 0 0;max-width:440px}
.av2-newsband-form form{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.av2-newsband-form input[type="email"],.av2-newsband-form input[type="text"]{font-family:inherit;font-size:var(--fs-ui);color:var(--anco-navy);border:1px solid var(--anco-line-navy-soft);border-radius:999px;padding:.72rem 1.3rem .5rem;flex:1;min-width:220px;background:#fff;box-sizing:border-box}
/* Bouton secondaire (blanc) : l'orange reste réservé à l'appel à l'action
   principal, la demande de devis. */
.av2-newsband-form input[type="submit"],.av2-newsband-form button{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:var(--fw-bold);font-size:var(--fs-label);letter-spacing:var(--ls-button);text-transform:uppercase;padding:.62rem 1.5rem .38rem;border-radius:999px;cursor:pointer;border:0;background:#fff;color:var(--anco-navy);transition:all var(--dur-fast) var(--ease-default)}
.av2-newsband-form input[type="submit"]:hover,.av2-newsband-form button:hover{background:var(--anco-bg-soft);color:var(--anco-navy)}

/* Formulaire Brevo (plugin officiel) : on aligne champ + bouton sur une
   ligne et on applique le style pilule blanc / bouton orange du design. */
.av2-newsband-form form div[class*="sib_signup_box_inside"]{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.av2-newsband-form .sib_signup_form p{margin:0}
.av2-newsband-form p.sib-email-area{flex:1 1 220px;min-width:220px}
.av2-newsband-form input.sib-email-area{width:100%;font-family:inherit;font-size:var(--fs-ui);color:var(--anco-navy);border:1px solid var(--anco-line-navy-soft);border-radius:999px;padding:.72rem 1.3rem .5rem;background:#fff;box-sizing:border-box}
.av2-newsband-form .sib_msg_disp{width:100%;font-size:var(--fs-label);color:#fff}
.av2-footer-news input.sib-email-area{border-radius:var(--radius-sm)}
.av2-footer-news .sib_signup_form p{margin:0 0 10px}
.av2-footer-news .sib_msg_disp{font-size:var(--fs-label)}

@media (max-width:1100px){
  .av2-bloghero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .av2-newsband-grid{grid-template-columns:minmax(0,1fr);gap:28px}
}

/* ---------- 13 bis. Page 404 ---------- */
.av2-404{background:var(--gradient-hero) ;position:relative;overflow:hidden;padding:64px 0 96px;text-align:center}
.av2-404::before{content:"";position:absolute;inset:0;background:url(../img/404-bg.svg) center/cover no-repeat;opacity:.9;pointer-events:none}
.av2-404 .av2-container{position:relative}
.av2-404 h1{color:var(--anco-navy);font-size:clamp(30px,4.6vw,52px);font-weight:var(--fw-regular);line-height:1.12;letter-spacing:.01em;text-transform:uppercase;margin:0}
.av2-404-sub{color:var(--text-muted);font-size:var(--fs-lead);line-height:1.6;margin:16px auto 0;max-width:560px}
.av2-404-media{max-width:560px;margin:36px auto 0}
.av2-404-media img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-media);border:1px solid var(--border-default)}
.av2-404-actions{margin-top:40px}

/* ---------- 14. Articles « Sur le même thème » ---------- */
.av2-related{padding:72px 0;background:#fff}
.av2-section-heading{text-align:center}
.av2-section-heading .av2-eyebrow{justify-content:center}
.av2-section-heading h2{font-size:clamp(26px,3.2vw,40px);color:var(--anco-navy);font-weight:var(--fw-regular);margin:18px 0 0;text-transform:uppercase;line-height:1.12}
.av2-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:38px}
.av2-related-card{display:block;border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:24px 24px 20px;background:var(--surface-card);transition:all var(--dur-fast) var(--ease-default);color:inherit;text-decoration:none}
.av2-related-card:hover{border-color:var(--anco-orange);transform:translateY(-2px);box-shadow:0 12px 30px rgba(43,55,95,.10)}
.av2-related-card .av2-related-cat{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);color:var(--anco-blue);text-transform:uppercase;letter-spacing:var(--ls-tag)}
.av2-related-card h3{color:var(--anco-navy);font-size:17.5px;font-weight:var(--fw-bold);line-height:1.35;margin:10px 0 0;text-transform:none}
.av2-related-card .av2-related-meta{color:var(--text-muted);font-size:13.5px;margin-top:12px}

/* ---------- 15. CTA final ---------- */
.av2-ctafinal{position:relative;background:var(--gradient-navy);color:#fff;text-align:center;overflow:hidden}
.av2-ctafinal::before{content:"";position:absolute;left:-60px;bottom:-60px;width:200px;height:200px;background:var(--tint-orange-shape);transform:rotate(45deg)}
.av2-ctafinal-inner{padding:84px var(--layout-gutter);position:relative;max-width:var(--layout-max);margin:0 auto}
.av2-ctafinal h2{font-size:clamp(28px,4vw,46px);font-weight:var(--fw-thin);margin:0;text-transform:uppercase;line-height:1.12;color:#fff}
.av2-ctafinal h2 span{color:var(--anco-orange)}
.av2-ctafinal p{color:var(--anco-on-navy);font-size:20px;margin:14px 0 30px}

/* ---------- 16. Pied de page ---------- */
.av2-footer{background:var(--anco-navy-deep);color:var(--anco-on-navy);padding:64px 0 28px}
.av2-footer-grid{display:grid;grid-template-columns:1.5fr repeat(var(--av2-footer-cols,3),1fr);gap:32px}
.av2-footer-brand img{height:40px;width:auto;margin-bottom:16px}
.av2-footer-brand p{color:var(--anco-on-navy-dim);font-size:var(--fs-label);margin:0;line-height:1.6}
.av2-footer h4,.av2-footer .widget-title{color:#fff;font-size:var(--fs-label);letter-spacing:var(--ls-footer-head);margin:0 0 16px;text-transform:uppercase;font-weight:var(--fw-bold)}
.av2-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.av2-footer ul a{color:inherit;font-size:var(--fs-ui);text-decoration:none;transition:color var(--dur-fast) var(--ease-default)}
.av2-footer ul a:hover{color:var(--anco-orange)}
.av2-footer-news p{font-size:var(--fs-label);margin:0 0 12px;line-height:1.6}
.av2-footer-news input[type="email"],.av2-footer-news input[type="text"]{width:100%;padding:var(--field-pad);border:1px solid var(--anco-line-navy-soft);border-radius:var(--radius-sm);background:var(--anco-navy-mid);color:#fff;font-family:inherit;font-size:var(--fs-ui);box-sizing:border-box;margin-bottom:10px}
.av2-footer-news input::placeholder{color:var(--anco-on-navy-dim)}
.av2-footer-news input[type="submit"],.av2-footer-news button{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:var(--fw-bold);font-size:var(--fs-label);letter-spacing:var(--ls-button);text-transform:uppercase;padding:12px 26px;border-radius:var(--radius-pill);cursor:pointer;border:0;background:var(--action-accent);color:#fff;transition:all var(--dur-fast) var(--ease-default)}
.av2-footer-news input[type="submit"]:hover,.av2-footer-news button:hover{background:var(--action-accent-hover)}
.av2-footer-legal{border-top:1px solid var(--anco-line-navy);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:var(--fs-eyebrow);color:var(--anco-on-navy-dim)}
.av2-footer-legal ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}
.av2-footer-legal a{color:inherit;text-decoration:none}
.av2-footer-legal a:hover{color:var(--anco-orange)}
.av2-footer-legal .icomoon{font-size:18px;color:var(--anco-on-navy)}
.av2-footer-legal .icomoon:hover{color:var(--anco-orange)}

/* ---------- 17. Adaptation mobile / tablette ---------- */
@media (max-width:1100px){
  .av2-layout{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:40px}
  .av2-toc{position:static}
  .av2-side{display:none}
  .av2-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .av2-devis-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .av2-devis-left{position:static}
  .av2-related-grid{grid-template-columns:1fr}
  .av2-menu-grid{grid-template-columns:repeat(2,1fr)}
  .av2-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .av2-menu-grid{grid-template-columns:1fr}
  .av2-footer-grid{grid-template-columns:1fr}
  .av2-form-2col{grid-template-columns:1fr}
  .av2-form-body{padding:24px 20px}
  .av2-form-head{padding:16px 20px}
  .av2-hero{padding:40px 0 36px}
  .av2-hero-media .av2-hero-img{height:240px}
  .av2-header-inner{gap:14px}
  .av2-header .av2-btn{padding:10px 16px}
  .av2-menu-toggle .av2-menu-label{display:none}
}
