/*
Theme Name: Imag'In Fly (enfant Kadence)
Theme URI: https://www.imaginfly.ch
Description: Thème enfant de Kadence reproduisant le design du site Imag'In Fly (Next.js/Tailwind). Conception ELIUM.
Author: ELIUM
Author URI: https://www.elium.ch
Template: kadence
Version: 0.5.2
Text Domain: imaginfly-child
*/

/* ===== Imag'In Fly — jetons de design partagés (thème enfant) ===== */
:root{
  --if-sky:#00AEEF; --if-sky-dark:#0099d4; --if-sky-soft:#e6f7fd;
  --if-navy:#0a1628; --if-navy-2:#0f1f3a;
  --if-ink:#171717; --if-ink-2:#404040; --if-muted:#737373; --if-muted-2:#525252;
  --if-bg:#f8fafc; --if-line:#e5e5e5; --if-line-2:#f5f5f5;
  --if-radius:.5rem; --if-radius-lg:.75rem; --if-radius-xl:1rem;
  --if-container:1280px;
  --if-shadow-sm:0 1px 2px 0 rgb(0 0 0 / .05);
  --if-shadow:0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);
  --if-shadow-md:0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);
  --if-shadow-lg:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1);
  --if-shadow-xl:0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);
  --if-shadow-2xl:0 25px 50px -12px rgb(0 0 0 / .25);
}
/* conteneur = max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-container{max-width:var(--if-container);margin-inline:auto;padding-inline:1rem;width:100%}
@media (min-width:640px){.if-container{padding-inline:1.5rem}}
@media (min-width:1024px){.if-container{padding-inline:2rem}}
/* neutralise les marges par défaut de WordPress/Kadence à l'intérieur des sections */
.if-section{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
.if-section :where(h1,h2,h3,h4,h5,h6,p,figure,ul,ol){margin:0;font-family:inherit}
.if-section :where(ul,ol){padding:0;list-style:none}
.if-section .is-layout-flow>*+*,.if-section.is-layout-flow>*+*{margin-block-start:0}
.if-section .wp-block-image{margin:0}
.if-section a{text-decoration:none}
/* boutons (base : inline-flex items-center gap-2 font-semibold rounded-lg transition) */
.if-btn,.if-section .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:1rem;line-height:1.5;border-radius:var(--if-radius);padding:.875rem 1.75rem;transition:all .2s ease;text-decoration:none;border:0;cursor:pointer}
.if-btn--sky{background:var(--if-sky);color:#fff}.if-btn--sky:hover{background:var(--if-sky-dark)}
.if-btn--outline-white{background:transparent;color:#fff;border:1px solid rgb(255 255 255 / .3)}.if-btn--outline-white:hover{background:rgb(255 255 255 / .1)}
.if-btn--outline-sky{background:transparent;color:var(--if-sky);border:2px solid var(--if-sky)}.if-btn--outline-sky:hover{background:var(--if-sky);color:#fff}
.if-btn--white{background:#fff;color:var(--if-sky)}.if-btn--white:hover{background:#f5f5f5}
/* badge en capitales (text-xs font-semibold uppercase tracking-wider) */
.if-eyebrow{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1rem}
/* animation d'apparition */
@keyframes if-fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.if-fade-in{animation:if-fade-in .8s ease-out both}
.if-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease-out,transform .6s ease-out;animation:if-reveal-fallback .01s linear 2.5s forwards}
@keyframes if-reveal-fallback{to{opacity:1;transform:none}}
.if-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.if-fade-in,.if-reveal{animation:none;opacity:1;transform:none;transition:none}}

/* filet : si WordPress ré-enveloppe un groupe, le wrapper devient transparent pour la grille */
.if-section .wp-block-group__inner-container{display:contents}
/* Kadence : neutralise ses marges de contenu (.single-content p/figure/.wp-block-group → var(--global-md-spacing)) dans nos sections */
.if-section{--global-md-spacing:0;--global-sm-spacing:0;--global-lg-spacing:0}
.single-content .if-section :is(ul,ol){padding-left:0}
.single-content .if-section :is(h1,h2,h3,h4,h5,h6){margin-top:0}
.if-section address{margin:0;font-style:normal}
.widget .if-section .if-footer__list li{line-height:1.25rem}

/* ===== Section : hero ===== */
/* ===== Imag'In Fly — section Hero (accueil) ===== */
/* section = relative min-h-screen flex items-center justify-center overflow-hidden bg-[#0a1628]
   + 80px de padding haut/bas : le header fixe de 80px recouvre le haut ; le padding bas symétrique
   garde le contenu centré sur la fenêtre comme sur le site d'origine. */
.if-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--if-navy);padding:5rem 0;color:#fff}

/* --- fond : photo (opacity-30) + voile dégradé from-navy/60 via-navy/50 to-navy/80 --- */
.if-hero .if-hero__bg{position:absolute;inset:0;margin:0;z-index:0}
.if-hero .if-hero__bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.3;border-radius:0}
.if-hero .if-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgb(10 22 40 / .6),rgb(10 22 40 / .5),rgb(10 22 40 / .8))}

/* --- grille décorative (opacity-[0.04], 60px) --- */
.if-hero::before{content:"";position:absolute;inset:0;z-index:1;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}

/* --- halo (800×600, bg sky/5, blur 120px) --- */
.if-hero::after{content:"";position:absolute;top:50%;left:50%;width:800px;height:600px;transform:translate(-50%,-50%);border-radius:9999px;background:rgb(0 174 239 / .05);filter:blur(120px);z-index:1;pointer-events:none}

/* --- contenu : relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center --- */
.if-hero .if-hero__content{position:relative;z-index:10;width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem;text-align:center}
@media (min-width:640px){.if-hero .if-hero__content{padding-inline:1.5rem}}
@media (min-width:1024px){.if-hero .if-hero__content{padding-inline:2rem}}

/* --- badge : inline-flex items-center gap-2 px-4 py-1.5 rounded-full border sky/30 bg sky/10 mb-8 ; texte text-xs font-medium sky tracking-wide uppercase --- */
.if-hero .if-hero__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;margin:0 0 2rem;border-radius:9999px;border:1px solid rgb(0 174 239 / .3);background:rgb(0 174 239 / .1);font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;color:var(--if-sky)}
.if-hero .if-hero__badge::before{content:"";flex:none;width:.375rem;height:.375rem;border-radius:9999px;background:var(--if-sky);animation:if-hero-pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes if-hero-pulse{50%{opacity:.5}}

/* --- titre : text-4xl sm:text-5xl lg:text-6xl xl:text-7xl font-bold text-white leading-tight tracking-tight mb-6
   (à partir de sm, les variantes text-* imposent line-height:1, comme sur le site) --- */
.if-hero .if-hero__title{font-size:2.25rem;line-height:1.25;font-weight:700;letter-spacing:-.025em;color:#fff;margin:0 0 1.5rem}
@media (min-width:640px){.if-hero .if-hero__title{font-size:3rem;line-height:1}}
@media (min-width:1024px){.if-hero .if-hero__title{font-size:3.75rem;line-height:1}}
@media (min-width:1280px){.if-hero .if-hero__title{font-size:4.5rem;line-height:1}}

/* --- sous-titre : text-lg sm:text-xl text-gray-300 max-w-2xl mx-auto mb-10 leading-relaxed --- */
.if-hero .if-hero__subtitle{font-size:1.125rem;line-height:1.625;color:#d1d5db;max-width:42rem;margin:0 auto 2.5rem}
@media (min-width:640px){.if-hero .if-hero__subtitle{font-size:1.25rem;line-height:1.75rem}}

/* --- boutons : flex flex-col sm:flex-row items-center justify-center gap-4 --- */
.if-hero .if-hero__buttons{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1rem;margin:0}
@media (min-width:640px){.if-hero .if-hero__buttons{flex-direction:row}}
.if-hero .if-hero__btn{margin:0}
.if-hero .if-hero__btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;line-height:1.5rem;font-weight:600;border-radius:.5rem;color:#fff;transition:all .2s ease}
/* primaire : bg sky, shadow-lg sky/25, hover bg sky-dark + shadow sky/40 + -translate-y-0.5 ; flèche lucide arrow-right (w-4 h-4) */
.if-hero .if-hero__btn--primary .wp-block-button__link{background:var(--if-sky);border:0;box-shadow:0 10px 15px -3px rgb(0 174 239 / .25),0 4px 6px -4px rgb(0 174 239 / .25)}
.if-hero .if-hero__btn--primary .wp-block-button__link:hover{background:var(--if-sky-dark);box-shadow:0 10px 15px -3px rgb(0 174 239 / .4),0 4px 6px -4px rgb(0 174 239 / .4);transform:translateY(-.125rem)}
.if-hero .if-hero__btn--primary .wp-block-button__link::after{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}
/* secondaire : border white/20, hover border white/50 + bg white/5 */
.if-hero .if-hero__btn--ghost .wp-block-button__link{background:transparent;border:1px solid rgb(255 255 255 / .2);box-shadow:none}
.if-hero .if-hero__btn--ghost .wp-block-button__link:hover{border-color:rgb(255 255 255 / .5);background:rgb(255 255 255 / .05)}

/* --- chevron : absolute bottom-8 centré z-10 animate-bounce, w-6 h-6 text-white/40 --- */
.if-hero .if-hero__scroll{position:absolute;bottom:2rem;left:calc(50% - .75rem);z-index:10;width:1.5rem;height:1.5rem;color:rgb(255 255 255 / .4);animation:if-hero-bounce 1s infinite}
.if-hero .if-hero__scroll svg{display:block;width:1.5rem;height:1.5rem}
@keyframes if-hero-bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}

@media (prefers-reduced-motion:reduce){.if-hero .if-hero__badge::before,.if-hero .if-hero__scroll{animation:none}}

/* ===== Section : intro ===== */
/* ===== Section « intro » (À propos + 4 atouts) — bg-white py-20 lg:py-28 ===== */
.if-intro{background:#fff;padding:5rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-intro{padding:7rem 0}}

/* bloc 2 colonnes : grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center mb-20 */
.if-intro .if-intro__split{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;margin-bottom:5rem}
@media (min-width:1024px){.if-intro .if-intro__split{grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem}}

/* colonne texte */
.if-intro .if-intro__eyebrow{letter-spacing:.1em;color:var(--if-sky);margin-bottom:1rem}
.if-intro .if-intro__title{font-size:1.875rem;line-height:1.25;font-weight:700;color:var(--if-navy);margin-bottom:1.5rem}
@media (min-width:640px){.if-intro .if-intro__title{font-size:2.25rem}}
.if-intro .if-intro__lead{font-size:1.125rem;line-height:1.625;color:#4b5563;margin-bottom:1.5rem}
.if-intro .if-intro__body{font-size:1rem;line-height:1.625;color:#6b7280}

/* colonne image : rounded-2xl overflow-hidden shadow-xl, img h-80 lg:h-96 object-cover */
.if-intro .if-intro__media{position:relative}
.if-intro .if-intro__photo{margin:0;border-radius:1rem;overflow:hidden;box-shadow:var(--if-shadow-xl)}
.if-intro .if-intro__photo img{display:block;width:100%;height:20rem;object-fit:cover;border-radius:0}
@media (min-width:1024px){.if-intro .if-intro__photo img{height:24rem}}

/* carte flottante : absolute -bottom-5 -left-5 px-5 py-3 rounded-xl shadow-lg shadow-[#00AEEF]/30 */
.if-intro .if-intro__stat{position:absolute;bottom:-1.25rem;left:-1.25rem;background:var(--if-sky);color:#fff;padding:.75rem 1.25rem;border-radius:.75rem;box-shadow:0 10px 15px -3px rgb(0 174 239 / .3),0 4px 6px -4px rgb(0 174 239 / .3)}
.if-intro .if-intro__stat-value{font-size:1.5rem;line-height:1;font-weight:700;color:#fff}
.if-intro .if-intro__stat-label{font-size:.75rem;line-height:1rem;font-weight:500;margin-top:.125rem;opacity:.9;color:#fff}

/* grille des atouts : grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 */
.if-intro .if-intro__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:640px){.if-intro .if-intro__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.if-intro .if-intro__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* carte : rounded-xl p-7 border-gray-100 shadow-sm hover:shadow-md hover:-translate-y-1 */
.if-intro .if-intro__card{position:relative;overflow:hidden;background:#fff;border-radius:.75rem;padding:1.75rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}
.if-intro .if-intro__card:hover{box-shadow:var(--if-shadow-md);transform:translateY(-.25rem)}
.if-intro .if-intro__card-bar{position:absolute;top:0;left:0;right:0;height:.125rem;background-image:linear-gradient(to right,var(--if-sky),rgb(0 174 239 / .3));transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.if-intro .if-intro__card:hover .if-intro__card-bar{transform:scaleX(1)}
.if-intro .if-intro__icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.5rem;background:rgb(0 174 239 / .1);margin-bottom:1.25rem;color:var(--if-sky);transition:background-color .15s cubic-bezier(.4,0,.2,1)}
.if-intro .if-intro__card:hover .if-intro__icon{background:rgb(0 174 239 / .2)}
.if-intro .if-intro__icon svg{width:1.5rem;height:1.5rem;display:block}
.if-intro .if-intro__card-title{font-size:1rem;line-height:1.5;font-weight:600;color:var(--if-navy);margin-bottom:.5rem}
.if-intro .if-intro__card-desc{font-size:.875rem;line-height:1.625;color:#6b7280}

/* ===== Section : domains ===== */
/* ===== Section « Nos domaines d'intervention » (if-domains) ===== */
/* section : bg-[#f8fafc] py-20 lg:py-28 */
.if-domains{background:var(--if-bg);padding-top:5rem;padding-bottom:5rem}
@media (min-width:1024px){.if-domains{padding-top:7rem;padding-bottom:7rem}}

/* en-tête : text-center mb-14 */
.if-domains .if-domains__head{text-align:center;margin-bottom:3.5rem}
/* badge : inline-block text-xs font-semibold uppercase tracking-widest text-[#00AEEF] mb-4 */
/* padding-top : reproduit la ligne de 24 px dans laquelle le span inline-block d'origine est posé */
.if-domains .if-domains__eyebrow{display:block;color:var(--if-sky);letter-spacing:.1em;padding-top:.375rem;margin-bottom:1rem}
/* h2 : text-3xl sm:text-4xl font-bold text-[#0a1628] leading-tight (dès sm, la line-height 2.5rem de sm:text-4xl prime sur leading-tight dans le CSS compilé) */
.if-domains .if-domains__title-main{font-size:1.875rem;line-height:1.25;font-weight:700;color:var(--if-navy);margin:0}
@media (min-width:640px){.if-domains .if-domains__title-main{font-size:2.25rem;line-height:2.5rem}}

/* grille : grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5 */
.if-domains .if-domains__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
@media (min-width:640px){.if-domains .if-domains__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.if-domains .if-domains__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* carte : group bg-white rounded-xl border border-gray-100 shadow-sm hover:shadow-lg transition-all duration-300 hover:-translate-y-1 overflow-hidden */
.if-domains .if-domains__card{position:relative;display:block;background:#fff;border-radius:.75rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}
.if-domains .if-domains__card:hover{box-shadow:var(--if-shadow-lg);transform:translateY(-.25rem)}

/* média : relative overflow-hidden h-40 + img w-full h-full object-cover group-hover:scale-105 transition-transform duration-500 */
/* la figure n'est PAS positionnée : le voile et le lien étendu se calent sur la carte (position:relative) */
.if-domains .if-domains__media{overflow:hidden;height:10rem;margin:0}
.if-domains .if-domains__media a{display:block;height:100%}
.if-domains .if-domains__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1);transform:scale(1)}
.if-domains .if-domains__card:hover .if-domains__media img{transform:scale(1.05)}
/* voile : absolute inset-0 bg-gradient-to-t from-[#0a1628]/60 to-transparent */
.if-domains .if-domains__media::after{content:"";position:absolute;top:0;left:0;right:0;height:10rem;background-image:linear-gradient(to top,rgb(10 22 40 / .6),rgb(10 22 40 / 0));pointer-events:none}
/* lien étendu : toute la carte est cliquable (comme le <a> d'origine) */
.if-domains .if-domains__media a::before{content:"";position:absolute;inset:0;z-index:2}

/* corps : p-5 relative + barre 3px sky (scale-x-0 → 100 au survol, origin-left, 300 ms) */
.if-domains .if-domains__body{position:relative;padding:1.25rem}
.if-domains .if-domains__body::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--if-sky);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.if-domains .if-domains__card:hover .if-domains__body::before{transform:scaleX(1)}
/* h3 : font-semibold text-[#0a1628] mb-1.5 text-sm leading-snug */
.if-domains .if-domains__title{font-size:.875rem;line-height:1.375;font-weight:600;color:var(--if-navy);margin:0 0 .375rem}
/* p : text-sm text-gray-500 leading-relaxed */
.if-domains .if-domains__desc{font-size:.875rem;line-height:1.625;color:#6b7280;margin:0}

/* ===== Section : whyus ===== */
/* ===== Section « Pourquoi choisir Imag'In Fly ? » (whyus) ===== */
/* section : bg-[#0a1628] py-20 lg:py-28 relative overflow-hidden */
.if-whyus{background:var(--if-navy);padding-top:5rem;padding-bottom:5rem;position:relative;overflow:hidden;color:#fff}
@media (min-width:1024px){.if-whyus{padding-top:7rem;padding-bottom:7rem}}
/* halo : absolute top-0 right-0 w-[600px] h-[600px] rounded-full bg-[#00AEEF]/5 blur-[150px] */
.if-whyus__halo{position:absolute;top:0;right:0;width:600px;height:600px;border-radius:9999px;background:rgba(0,174,239,.05);filter:blur(150px);pointer-events:none}
.if-whyus__inner{position:relative;z-index:10}
/* en-tête : text-center mb-14 */
.if-whyus .if-whyus__head{text-align:center;margin-bottom:3.5rem;font-size:1rem;line-height:1.5rem}
/* eyebrow : text-xs font-semibold uppercase tracking-widest text-[#00AEEF] mb-4 */
.if-whyus .if-whyus__eyebrow{letter-spacing:.1em;color:var(--if-sky);margin-bottom:1rem}
/* titre : text-3xl sm:text-4xl font-bold text-white leading-tight */
.if-whyus .if-whyus__title{font-size:1.875rem;font-weight:700;line-height:1.25;color:#fff}
@media (min-width:640px){.if-whyus .if-whyus__title{font-size:2.25rem}}
/* grille : grid grid-cols-1 md:grid-cols-3 gap-x-10 gap-y-0 */
.if-whyus__grid{display:grid;grid-template-columns:minmax(0,1fr);column-gap:2.5rem;row-gap:0}
@media (min-width:768px){.if-whyus__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* listes : space-y-5 ; li : flex items-start gap-3 ; texte : text-gray-300 text-sm leading-relaxed */
.if-whyus .if-whyus__list{list-style:none;margin:0;padding:0}
.if-whyus .if-whyus__list li{position:relative;margin:0;padding:0 0 0 2rem;color:#d1d5db;font-size:.875rem;line-height:1.625}
.if-whyus .if-whyus__list li+li{margin-top:1.25rem}
/* icône lucide circle-check : w-5 h-5 text-[#00AEEF] mt-0.5 (dessinée en CSS pour garder le texte éditable) */
.if-whyus .if-whyus__list li::before{content:"";position:absolute;left:0;top:.125rem;width:1.25rem;height:1.25rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== Section : formations ===== */
/* ===== Section Formations — « Devenez pilote certifié » (bg-[#f8fafc] py-16 lg:py-20) ===== */
.if-formations{background:#f8fafc;padding-top:4rem;padding-bottom:4rem;color:var(--if-ink)}
@media (min-width:1024px){.if-formations{padding-top:5rem;padding-bottom:5rem}}

/* conteneur étroit : max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-formations .if-formations__inner{max-width:64rem;margin-inline:auto;padding-inline:1rem;width:100%}
@media (min-width:640px){.if-formations .if-formations__inner{padding-inline:1.5rem}}
@media (min-width:1024px){.if-formations .if-formations__inner{padding-inline:2rem}}

/* en-tête : text-center mb-10 */
.if-formations .if-formations__head{text-align:center;margin-bottom:2.5rem}
.if-formations .if-formations__eyebrow{color:var(--if-sky);letter-spacing:.1em;margin-bottom:.75rem}
.if-formations .if-formations__title{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);margin-bottom:.75rem}
@media (min-width:640px){.if-formations .if-formations__title{font-size:1.875rem;line-height:2.25rem}}
.if-formations .if-formations__subtitle{font-size:1rem;line-height:1.5rem;color:#6b7280;max-width:36rem;margin-inline:auto}

/* grille : grid-cols-1 sm:grid-cols-2 gap-6 max-w-2xl mx-auto mb-8 */
.if-formations .if-formations__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;max-width:42rem;margin-inline:auto;margin-bottom:2rem}
@media (min-width:640px){.if-formations .if-formations__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* carte : bg-white rounded-xl border border-gray-100 shadow-sm p-6 hover:shadow-md hover:-translate-y-1 */
.if-formations .if-formations__card{position:relative;overflow:hidden;background:#fff;border-radius:.75rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}
.if-formations .if-formations__card.if-reveal.is-visible{transition:opacity .6s ease-out,transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}
.if-formations .if-formations__card:hover{box-shadow:var(--if-shadow-md);transform:translateY(-.25rem)}
/* barre supérieure : h-[3px] bg-sky scale-x-0 → group-hover:scale-x-100 origin-left rounded-t-xl */
.if-formations .if-formations__bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--if-sky);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1);border-top-left-radius:.75rem;border-top-right-radius:.75rem}
.if-formations .if-formations__card:hover .if-formations__bar{transform:scaleX(1)}
/* icône : w-10 h-10 bg-sky/10 rounded-lg → group-hover:bg-sky ; svg w-5 h-5 text-sky → white */
.if-formations .if-formations__icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:rgba(0,174,239,.1);border-radius:.5rem;margin-bottom:1rem;color:var(--if-sky);transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}
.if-formations .if-formations__icon svg{width:1.25rem;height:1.25rem;display:block}
.if-formations .if-formations__card:hover .if-formations__icon{background:var(--if-sky);color:#fff}
/* badge niveau : px-2.5 py-1 rounded-full text-xs font-semibold mb-3 bg-green-100 text-green-700 */
.if-formations .if-formations__badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:600;margin-bottom:.75rem;background:#dcfce7;color:#15803d}
/* titre : font-bold text-navy text-sm leading-snug mb-3 */
.if-formations .if-formations__name{font-size:.875rem;line-height:1.375;font-weight:700;color:var(--if-navy);margin-bottom:.75rem}
/* durée : flex items-center gap-3 text-xs text-gray-500 mb-4 ; icône horloge w-3.5 h-3.5 text-sky gap-1 */
.if-formations .if-formations__meta{display:flex;align-items:center;gap:.25rem;font-size:.75rem;line-height:1rem;color:#6b7280;margin-bottom:1rem}
.if-formations .if-formations__clock{width:.875rem;height:.875rem;flex:none;color:var(--if-sky)}
.if-formations .if-formations__duration{font-size:.75rem;line-height:1rem;color:#6b7280}
/* pied : flex items-center justify-between ; prix text-xl font-bold ; lien text-sm font-semibold sky hover:underline + flèche */
.if-formations .if-formations__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.if-formations .if-formations__price{font-size:1.25rem;line-height:1.75rem;font-weight:700;color:var(--if-navy)}
.if-formations .if-formations__link{font-size:.875rem;line-height:1.25rem;font-weight:600}
.if-formations .if-formations__link a{display:inline-flex;align-items:center;gap:.25rem;color:var(--if-sky)}
.if-formations .if-formations__link a:hover{text-decoration:underline}
.if-formations .if-formations__link a::after,.if-formations .if-formations__cta .wp-block-button__link::after{content:"";flex:none;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}
.if-formations .if-formations__link a::after{width:.875rem;height:.875rem}

/* CTA : inline-flex gap-2 px-7 py-3 border-2 sky rounded-lg font-semibold hover:bg-sky hover:text-white (flèche w-4 h-4) */
.if-formations .if-formations__cta{display:flex;justify-content:center;margin:0}
.if-formations .if-formations__cta .wp-block-button{margin:0}
.if-formations .if-formations__cta .wp-block-button__link{padding:.75rem 1.75rem;border:2px solid var(--if-sky);background:transparent;color:var(--if-sky);transition:all .2s cubic-bezier(.4,0,.2,1)}
.if-formations .if-formations__cta .wp-block-button__link:hover{background:var(--if-sky);color:#fff}
.if-formations .if-formations__cta .wp-block-button__link::after{width:1rem;height:1rem}

/* ===== Section : cta ===== */
/* ===== Section CTA final (bg-[#00AEEF] py-20 lg:py-24 relative overflow-hidden) ===== */
.if-cta{position:relative;overflow:hidden;background:var(--if-sky);padding-top:5rem;padding-bottom:5rem}
@media (min-width:1024px){.if-cta{padding-top:6rem;padding-bottom:6rem}}

/* arcs décoratifs (absolute inset-0 w-full h-full opacity-10) */
.if-cta .if-cta__arcs{position:absolute;inset:0;width:100%;height:100%;opacity:.1;pointer-events:none;display:block}

/* conteneur interne (relative z-10 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center) */
.if-cta .if-cta__inner{position:relative;z-index:10;max-width:56rem;margin-inline:auto;padding-inline:1rem;text-align:center}
@media (min-width:640px){.if-cta .if-cta__inner{padding-inline:1.5rem}}
@media (min-width:1024px){.if-cta .if-cta__inner{padding-inline:2rem}}

/* titre (text-3xl sm:text-4xl lg:text-5xl font-bold text-white mb-6) — les line-height des text-* compilés l'emportent sur leading-tight */
.if-cta .if-cta__title{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff;margin:0 0 1.5rem}
@media (min-width:640px){.if-cta .if-cta__title{font-size:2.25rem;line-height:2.5rem}}
@media (min-width:1024px){.if-cta .if-cta__title{font-size:3rem;line-height:1}}

/* paragraphe (text-white/80 text-lg mb-10 max-w-xl mx-auto) */
.if-cta .if-cta__text{color:rgba(255,255,255,.8);font-size:1.125rem;line-height:1.75rem;max-width:36rem;margin:0 auto 2.5rem}

/* boutons (flex flex-col sm:flex-row items-center justify-center gap-4) */
.if-cta .if-cta__buttons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;margin:0}
@media (min-width:640px){.if-cta .if-cta__buttons{flex-direction:row}}
.if-cta .if-cta__btn{margin:0}
/* px-8 py-4 font-bold rounded-lg transition-all duration-200 */
.if-cta .if-cta__btn .wp-block-button__link{padding:1rem 2rem;font-weight:700;font-size:1rem;line-height:1.5;border-radius:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);gap:.5rem;text-decoration:none}
/* bouton plein blanc (bg-white text-[#00AEEF] shadow-lg hover:bg-gray-50 hover:-translate-y-0.5) + flèche lucide arrow-right (w-4 h-4) */
.if-cta .if-cta__btn--primary .wp-block-button__link{background:#fff;color:var(--if-sky);box-shadow:var(--if-shadow-lg)}
.if-cta .if-cta__btn--primary .wp-block-button__link:hover{background:#f9fafb;color:var(--if-sky);transform:translateY(-.125rem)}
.if-cta .if-cta__btn--primary .wp-block-button__link::after{content:"";display:inline-block;width:1rem;height:1rem;flex:none;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* bouton contour (text-white border-2 border-white/60 hover:border-white hover:bg-white/10) */
.if-cta .if-cta__btn--secondary .wp-block-button__link{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}
.if-cta .if-cta__btn--secondary .wp-block-button__link:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}

/* ===== Section : footer ===== */
/* ===== Imag'In Fly — pied de page (widget « HTML personnalisé » Kadence) ===== */
/* footer.bg-[#0a1628] text-white */
.if-footer{background:var(--if-navy);color:#fff;font-size:1rem}
/* la zone de widgets Kadence pose ses propres couleurs / marges : on les neutralise dans le widget */
.if-footer .widget,.if-footer .widget-title{margin:0;padding:0}
/* Dans le mock (contenu de page) : pleine largeur, comme le fera la rangée de pied de page Kadence en prod */
.entry-content>.if-footer{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
/* Prod : la rangée de pied de page Kadence doit porter le même fond navy (aussi réglable dans le Customizer) */
#colophon,.site-footer,.site-footer-row-container,.site-middle-footer-inner-wrap,.footer-widget-area{background:var(--if-navy)}
.footer-widget-area .widget{margin-bottom:0}

/* max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-14 lg:py-16 → .if-container + padding vertical */
.if-footer__inner{padding-top:3.5rem;padding-bottom:3.5rem}
@media (min-width:1024px){.if-footer__inner{padding-top:4rem;padding-bottom:4rem}}

/* grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-10 */
.if-footer__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2.5rem}
@media (min-width:640px){.if-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.if-footer__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.if-footer__col{min-width:0}

/* h3 text-xs font-semibold uppercase tracking-widest text-[#00AEEF] mb-4 */
.if-footer .if-footer__title{margin:0 0 1rem;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--if-sky)}

/* address not-italic text-sm text-gray-300 leading-7 */
.if-footer__address{font-style:normal;font-size:.875rem;line-height:1.75rem;color:rgb(209 213 219)}

/* ul text-sm text-gray-300 space-y-2 */
.if-footer .if-footer__list{margin:0;padding:0;list-style:none;font-size:.875rem;line-height:1.25rem;color:rgb(209 213 219)}
.if-footer .if-footer__list>li+li{margin-top:.5rem}
.if-footer .if-footer__list a{color:inherit;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}
.if-footer .if-footer__list a:hover{color:var(--if-sky)}
/* liens sociaux : flex items-center gap-2, icône w-4 h-4 */
.if-footer .if-footer__list--social a{display:flex;align-items:center;gap:.5rem}
.if-footer__icon{width:1rem;height:1rem;flex:none}

/* mt-12 pt-6 border-t border-white/10 flex flex-col sm:flex-row items-center justify-between gap-4 */
.if-footer__bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgb(255 255 255 / .1);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem}
@media (min-width:640px){.if-footer__bottom{flex-direction:row}}
.if-footer__brand{display:flex;align-items:center}
.if-footer__brand a{display:inline-flex;line-height:0}
/* img h-10 w-auto object-contain brightness-0 invert → logo blanc */
.if-footer__logo{height:2.5rem;width:auto;max-width:none;object-fit:contain;filter:brightness(0) invert(100%)}

/* p text-xs text-gray-500 text-center ; span text-gray-400 */
.if-footer .if-footer__copy{margin:0;font-size:.75rem;line-height:1rem;color:rgb(107 114 128);text-align:center}
.if-footer__author{color:rgb(156 163 175)}

/* Garde contre les couleurs / tailles que Kadence applique au pied de page via #colophon (plus spécifique que nos classes) */
#colophon .if-footer a{color:inherit;text-decoration:none}
#colophon .if-footer a:hover{color:var(--if-sky)}
#colophon .if-footer .if-footer__title{font-size:.75rem;line-height:1rem;color:var(--if-sky)}
#colophon .if-footer .if-footer__copy{font-size:.75rem;color:rgb(107 114 128)}



/* ===== Vague 2 : service-template ===== */
/* ===== Imag'In Fly — gabarit des 7 pages services (thème enfant) =====
   Classes génériques if-svc-* partagées par : nettoyage, aériennes, 3d, frelons, pv, techniques, thermiques.
   Valeurs exactes de Tailwind (compiled.css). Ne pas modifier depuis une page : les particularités
   d'une page vont dans OUT2/<page>-extra.css, scopées sous une classe propre à la page. */

/* ---------- conteneurs internes (max-w-* mx-auto px-4 sm:px-6 lg:px-8) ---------- */
.if-svc-inner{position:relative;z-index:10;width:100%;margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.if-svc-inner{padding-inline:1.5rem}}
@media (min-width:1024px){.if-svc-inner{padding-inline:2rem}}
.if-svc-inner--3xl{max-width:48rem}
.if-svc-inner--5xl{max-width:64rem}
.if-svc-inner--6xl{max-width:72rem}

/* ---------- surtitre commun : inline-block text-xs font-semibold uppercase tracking-widest sky ---------- */
.if-svc-eyebrow{display:inline-block;font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--if-sky);margin:0 0 1rem}
.if-svc-eyebrow--tight{margin-bottom:.75rem}

/* ---------- en-tête de section centré ---------- */
.if-svc-head{text-align:center}
.if-svc-head__title{font-weight:700;color:var(--if-navy)}

/* =====================================================================
   HERO — relative bg-navy pt-32 pb-20 overflow-hidden min-h-[340px]
   ===================================================================== */
.if-svc-hero{position:relative;background:var(--if-navy);padding:8rem 0 5rem;min-height:340px;overflow:hidden;color:#fff;font-size:1rem}

/* photo de fond (absolute inset-0, img w-full h-full object-cover opacity-25)
   + voile dégradé from-navy/90 via-navy/70 to-navy/40 (gauche → droite) */
.if-svc-hero .if-svc-hero__bg{position:absolute;inset:0;margin:0;z-index:0}
.if-svc-hero .if-svc-hero__bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.25;border-radius:0}
.if-svc-hero .if-svc-hero__bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgb(10 22 40 / .9),rgb(10 22 40 / .7),rgb(10 22 40 / .4))}

/* grille décorative (opacity-[0.04], 60px) */
.if-svc-hero::before{content:"";position:absolute;inset:0;z-index:1;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* halo haut droit (600×400, bg-[#00AEEF]/8, blur 120px) : la classe /8 n'existe pas dans le Tailwind compilé du site,
   le halo n'est donc PAS rendu sur le site d'origine — on ne le reproduit pas (fidélité au rendu réel). */

/* contenu : relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-svc-hero .if-svc-hero__content{position:relative;z-index:10;width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.if-svc-hero .if-svc-hero__content{padding-inline:1.5rem}}
@media (min-width:1024px){.if-svc-hero .if-svc-hero__content{padding-inline:2rem}}

/* fil d'Ariane : flex items-center gap-2 mb-6 text-sm text-gray-400, page courante text-gray-300 */
.if-svc-hero .if-svc-hero__crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:.875rem;line-height:1.25rem;color:#9ca3af}
.if-svc-hero .if-svc-hero__crumb a{color:inherit;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}
.if-svc-hero .if-svc-hero__crumb a:hover{color:var(--if-sky)}
.if-svc-hero .if-svc-hero__crumb-current{color:#d1d5db}

/* titre : text-3xl sm:text-4xl lg:text-5xl font-bold text-white leading-tight mb-8 max-w-3xl
   (à partir de lg, text-5xl impose line-height:1 après leading-tight, comme sur le site) */
.if-svc-hero .if-svc-hero__title{font-size:1.875rem;line-height:1.25;font-weight:700;color:#fff;margin:0 0 2rem;max-width:48rem;letter-spacing:0}
@media (min-width:640px){.if-svc-hero .if-svc-hero__title{font-size:2.25rem;line-height:1.25}}
@media (min-width:1024px){.if-svc-hero .if-svc-hero__title{font-size:3rem;line-height:1}}

/* bouton : inline-flex gap-2 px-7 py-3.5 bg-sky font-semibold rounded-lg shadow-lg sky/25, hover sky-dark + -translate-y-0.5 ; flèche lucide arrow-right w-4 h-4 */
.if-svc-hero .if-svc-hero__buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:0}
.if-svc-hero .if-svc-hero__btn{margin:0}
.if-svc-hero .if-svc-hero__btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;line-height:1.5rem;font-weight:600;border-radius:.5rem;color:#fff;background:var(--if-sky);border:0;box-shadow:0 10px 15px -3px rgb(0 174 239 / .25),0 4px 6px -4px rgb(0 174 239 / .25);transition:all .2s cubic-bezier(.4,0,.2,1)}
.if-svc-hero .if-svc-hero__btn .wp-block-button__link:hover{background:var(--if-sky-dark);transform:translateY(-.125rem);color:#fff}
.if-svc-hero .if-svc-hero__btn .wp-block-button__link::after,
.if-svc-cta .if-svc-cta__btn .wp-block-button__link::after{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}

/* =====================================================================
   INTRO — bg-white py-16 lg:py-20 (contient l'intro, les cartes features et les secteurs)
   ===================================================================== */
.if-svc-intro{background:#fff;padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-svc-intro{padding:5rem 0}}

/* texte d'intro : max-w-3xl mx-auto text-center mb-14 ; p text-gray-600 text-lg leading-relaxed */
.if-svc-intro .if-svc-intro__lead{max-width:48rem;margin:0 auto 3.5rem;text-align:center}
.if-svc-intro .if-svc-intro__text{font-size:1.125rem;line-height:1.625;color:#4b5563;margin:0}

/* ---------- cartes « features » : grid-cols-1 md:grid-cols-3 gap-5 (variante --4 : sm:2 lg:4) ---------- */
.if-svc-features{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:768px){.if-svc-features:not(.if-svc-features--4){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:640px){.if-svc-features--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.if-svc-features--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* carte : group bg-white rounded-xl p-6 border-gray-100 shadow-sm hover:shadow-md hover:-translate-y-1 relative overflow-hidden */
.if-svc-features .if-svc-features__card{position:relative;overflow:hidden;background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}
.if-svc-features .if-svc-features__card:hover{box-shadow:var(--if-shadow-md);transform:translateY(-.25rem)}
/* barre haute : h-[3px] bg-sky scale-x-0 → 1 au survol, origin-left, rounded-t-xl */
.if-svc-features .if-svc-features__bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--if-sky);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1);border-top-left-radius:.75rem;border-top-right-radius:.75rem}
.if-svc-features .if-svc-features__card:hover .if-svc-features__bar{transform:scaleX(1)}
/* icône : w-11 h-11 rounded-lg bg-sky/10 mb-4, survol bg-sky + icône blanche ; svg w-5 h-5 */
.if-svc-features .if-svc-features__icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.5rem;background:rgb(0 174 239 / .1);margin-bottom:1rem;color:var(--if-sky);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}
.if-svc-features .if-svc-features__card:hover .if-svc-features__icon{background:var(--if-sky);color:#fff}
.if-svc-features .if-svc-features__icon svg{display:block;width:1.25rem;height:1.25rem}
/* titre : font-semibold navy mb-3 text-sm (mb-2 dans la variante 4 colonnes) ; texte : text-sm text-gray-500 leading-relaxed */
.if-svc-features .if-svc-features__title{font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--if-navy);margin:0 0 .75rem}
.if-svc-features--4 .if-svc-features__title{margin-bottom:.5rem}
.if-svc-features .if-svc-features__desc{font-size:.875rem;line-height:1.625;color:#6b7280;margin:0}

/* ---------- secteurs clients (après les cartes : mb-16 sur la grille précédente) ---------- */
.if-svc-sectors{margin-top:4rem}
/* en-tête : text-center mb-8 ; surtitre mb-3 ; h2 text-2xl font-bold navy */
.if-svc-sectors .if-svc-sectors__head{text-align:center;margin-bottom:2rem}
.if-svc-sectors .if-svc-sectors__title{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);margin:0}
/* grille : grid-cols-1 sm:grid-cols-3 gap-4 */
.if-svc-sectors .if-svc-sectors__grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:640px){.if-svc-sectors .if-svc-sectors__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* carte : flex items-center gap-3 bg-[#f8fafc] rounded-xl p-5 border-gray-100 */
.if-svc-sectors .if-svc-sectors__item{display:flex;align-items:center;gap:.75rem;background:var(--if-bg);border-radius:.75rem;padding:1.25rem;border:1px solid #f3f4f6}
/* icône : w-9 h-9 rounded-lg bg-sky/10 flex-shrink-0 ; svg w-4 h-4 sky */
.if-svc-sectors .if-svc-sectors__icon{display:flex;flex:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:rgb(0 174 239 / .1);color:var(--if-sky)}
.if-svc-sectors .if-svc-sectors__icon svg{display:block;width:1rem;height:1rem}
/* libellé : text-sm font-medium navy */
.if-svc-sectors .if-svc-sectors__label{font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--if-navy);margin:0}

/* variante « détaillée » (page aériennes) : en-tête mb-10, h2 text-2xl sm:text-3xl, grille sm:grid-cols-2 gap-5,
   carte flex gap-4 p-6 (items en haut), icône w-10 h-10 mt-0.5 avec svg w-5 h-5, titre mb-1 + description */
.if-svc-sectors--detailed .if-svc-sectors__head{margin-bottom:2.5rem}
@media (min-width:640px){.if-svc-sectors--detailed .if-svc-sectors__title{font-size:1.875rem;line-height:2.25rem}}
.if-svc-sectors--detailed .if-svc-sectors__grid{gap:1.25rem}
@media (min-width:640px){.if-svc-sectors--detailed .if-svc-sectors__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.if-svc-sectors--detailed .if-svc-sectors__item{align-items:flex-start;gap:1rem;padding:1.5rem}
.if-svc-sectors--detailed .if-svc-sectors__icon{width:2.5rem;height:2.5rem;margin-top:.125rem}
.if-svc-sectors--detailed .if-svc-sectors__icon svg{width:1.25rem;height:1.25rem}
.if-svc-sectors--detailed .if-svc-sectors__body{min-width:0}
.if-svc-sectors--detailed .if-svc-sectors__name{font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--if-navy);margin:0 0 .25rem}
.if-svc-sectors--detailed .if-svc-sectors__desc{font-size:.875rem;line-height:1.625;color:#6b7280;margin:0}

/* =====================================================================
   IMAGES — bg-[#f8fafc] py-16 lg:py-20 (galerie avec en-tête) ; variante --grid : py-14 sans en-tête (ServiceImageGrid)
   ===================================================================== */
.if-svc-images{background:var(--if-bg);padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-svc-images{padding:5rem 0}}
.if-svc-images--grid{padding:3.5rem 0}
@media (min-width:1024px){.if-svc-images--grid{padding:3.5rem 0}}

/* en-tête : text-center mb-12 ; surtitre mb-4 ; h2 text-3xl font-bold navy ; p text-gray-500 mt-3 text-sm max-w-xl mx-auto */
.if-svc-images .if-svc-images__head{text-align:center;margin-bottom:3rem}
.if-svc-images .if-svc-images__title{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:var(--if-navy);margin:0}
.if-svc-images .if-svc-images__sub{font-size:.875rem;line-height:1.25rem;color:#6b7280;max-width:36rem;margin:.75rem auto 0}

/* grande image : rounded-2xl overflow-hidden mb-4 shadow-md ; img w-full h-80 lg:h-[480px] object-cover */
.if-svc-images .if-svc-images__main{margin:0 0 1rem;border-radius:1rem;overflow:hidden;box-shadow:var(--if-shadow-md)}
.if-svc-images .if-svc-images__main img{display:block;width:100%;height:20rem;object-fit:cover;border-radius:0}
@media (min-width:1024px){.if-svc-images .if-svc-images__main img{height:480px}}

/* rangées : grid-cols-1 sm:grid-cols-3 gap-4 (--3) / sm:grid-cols-2 gap-4 (--2) ; rangées successives séparées de mb-4 */
.if-svc-images .if-svc-images__grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:640px){
  .if-svc-images .if-svc-images__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .if-svc-images .if-svc-images__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .if-svc-images .if-svc-images__item--wide{grid-column:span 2 / span 2}
}
.if-svc-images .if-svc-images__grid+.if-svc-images__grid{margin-top:1rem}
/* vignette : rounded-xl overflow-hidden shadow-sm ; img w-full h-52 object-cover hover:scale-105 duration-500
   (--medium : h-56, --tall : h-72) */
.if-svc-images .if-svc-images__item{margin:0;border-radius:.75rem;overflow:hidden;box-shadow:var(--if-shadow-sm)}
.if-svc-images .if-svc-images__item img{display:block;width:100%;height:13rem;object-fit:cover;border-radius:0;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.if-svc-images .if-svc-images__item img:hover{transform:scale(1.05)}
.if-svc-images .if-svc-images__item--medium img{height:14rem}
.if-svc-images .if-svc-images__item--tall img{height:18rem}

/* =====================================================================
   POURQUOI CHOISIR — bg-white py-16 lg:py-20
   ===================================================================== */
.if-svc-whyus{background:#fff;padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-svc-whyus{padding:5rem 0}}
/* en-tête : text-center mb-10 ; surtitre mb-3 ; h2 text-2xl sm:text-3xl font-bold navy */
.if-svc-whyus .if-svc-whyus__head{text-align:center;margin-bottom:2.5rem}
.if-svc-whyus .if-svc-whyus__title{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);margin:0}
@media (min-width:640px){.if-svc-whyus .if-svc-whyus__title{font-size:1.875rem;line-height:2.25rem}}
/* liste : grid-cols-1 sm:grid-cols-2 gap-4 ; item flex items-start gap-3 bg-[#f8fafc] rounded-xl p-4 border-gray-100,
   coche lucide circle-check w-5 h-5 sky mt-0.5, texte text-sm text-gray-700 leading-relaxed */
.if-svc-whyus .if-svc-whyus__list{display:grid;grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none}
@media (min-width:640px){.if-svc-whyus .if-svc-whyus__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.if-svc-whyus .if-svc-whyus__list li{display:flex;align-items:flex-start;gap:.75rem;margin:0;padding:1rem;background:var(--if-bg);border-radius:.75rem;border:1px solid #f3f4f6;font-size:.875rem;line-height:1.625;color:#374151}
.if-svc-whyus .if-svc-whyus__list li::before{content:"";flex:none;width:1.25rem;height:1.25rem;margin-top:.125rem;background:var(--if-sky);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}

/* =====================================================================
   CTA — bg-navy py-16 lg:py-20 relative overflow-hidden
   ===================================================================== */
.if-svc-cta{position:relative;overflow:hidden;background:var(--if-navy);padding:4rem 0;font-size:1rem;color:#fff}
@media (min-width:1024px){.if-svc-cta{padding:5rem 0}}
/* grille (opacity-[0.03]) ; le halo central (700×300, bg-[#00AEEF]/6, blur 100px) n'est pas rendu sur le site
   (classe /6 absente du Tailwind compilé) → non reproduit */
.if-svc-cta::before{content:"";position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* contenu : relative z-10 max-w-3xl mx-auto text-center ; p text-gray-300 text-lg mb-8 leading-relaxed */
.if-svc-cta .if-svc-cta__inner{text-align:center}
.if-svc-cta .if-svc-cta__text{font-size:1.125rem;line-height:1.625;color:#d1d5db;margin:0 0 2rem}
/* bouton : px-8 py-4 bg-sky font-bold rounded-lg shadow-lg sky/30, hover sky-dark + -translate-y-0.5, flèche */
.if-svc-cta .if-svc-cta__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin:0}
.if-svc-cta .if-svc-cta__btn{margin:0}
.if-svc-cta .if-svc-cta__btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;line-height:1.5rem;font-weight:700;border-radius:.5rem;color:#fff;background:var(--if-sky);border:0;box-shadow:0 10px 15px -3px rgb(0 174 239 / .3),0 4px 6px -4px rgb(0 174 239 / .3);transition:all .2s cubic-bezier(.4,0,.2,1)}
.if-svc-cta .if-svc-cta__btn .wp-block-button__link:hover{background:var(--if-sky-dark);transform:translateY(-.125rem);color:#fff}

/* ===== Vague 2 : legal-template ===== */
/* ===== Gabarit « page légale » (CGV, CGF, Politique de confidentialité) =====
   main.min-h-screen.bg-[#f8fafc].pt-28.pb-16 > div.max-w-3xl.mx-auto.px-4.sm:px-6.lg:px-8
   > div.bg-white.rounded-2xl.border.border-gray-100.shadow-sm.p-8.sm:p-12
   Partagé par les 3 pages : cgv.html, cgf.html, confidentialite.html. */

/* section : min-h-screen bg-[#f8fafc] pt-28 pb-16 (le pt-28 = 112 px inclut le header fixe de 80 px) */
.if-legal{min-height:100vh;background:var(--if-bg);padding:7rem 0 4rem;font-size:1rem;color:var(--if-ink)}

/* conteneur : max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-legal .if-legal__container{max-width:48rem;margin-inline:auto;padding-inline:1rem;width:100%}
@media (min-width:640px){.if-legal .if-legal__container{padding-inline:1.5rem}}
@media (min-width:1024px){.if-legal .if-legal__container{padding-inline:2rem}}

/* carte : bg-white rounded-2xl border border-gray-100 shadow-sm p-8 sm:p-12 */
.if-legal .if-legal__card{background:#fff;border-radius:1rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);padding:2rem}
@media (min-width:640px){.if-legal .if-legal__card{padding:3rem}}

/* en-tête : text-xs font-semibold uppercase tracking-widest text-[#00AEEF] mb-3 */
.if-legal .if-legal__eyebrow{display:block;letter-spacing:.1em;color:var(--if-sky);margin-bottom:.75rem}
/* h1 : text-2xl sm:text-3xl font-bold text-[#0a1628] mb-2 */
.if-legal .if-legal__title{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);margin-bottom:.5rem}
@media (min-width:640px){.if-legal .if-legal__title{font-size:1.875rem;line-height:2.25rem}}
/* date : text-sm text-gray-400 mb-10 */
.if-legal .if-legal__date{font-size:.875rem;line-height:1.25rem;color:#9ca3af;margin-bottom:2.5rem}

/* corps : prose prose-sm max-w-none text-gray-700 space-y-8 (le plugin typography n'est pas compilé : « prose » est sans effet) */
.if-legal .if-legal__body{color:#374151}
.if-legal .if-legal__body>*+*{margin-top:2rem}

/* une section : h2 text-base font-bold text-[#0a1628] mb-3 + contenu space-y-3 text-sm text-gray-600 leading-relaxed */
.if-legal .if-legal__h2{font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--if-navy);margin-bottom:.75rem}
.if-legal .if-legal__section{font-size:.875rem;line-height:1.625;color:#4b5563}
.if-legal .if-legal__section>*+*{margin-top:.75rem}
.if-legal .if-legal__section>.if-legal__h2+*{margin-top:0}
.if-legal .if-legal__p{font-size:.875rem;line-height:1.625;color:#4b5563}
.if-legal .if-legal__p strong{font-weight:700;color:var(--if-navy)}
.if-legal .if-legal__section a,.if-legal .if-legal__p a{color:var(--if-sky);text-decoration:none}
.if-legal .if-legal__section a:hover,.if-legal .if-legal__p a:hover{text-decoration:underline}

/* liste : list-disc pl-5 space-y-1 */
.if-legal .if-legal__list{list-style:disc;padding-left:1.25rem;font-size:.875rem;line-height:1.625;color:#4b5563}
.if-legal .if-legal__list li{margin:0;padding:0}
.if-legal .if-legal__list>li+li{margin-top:.25rem}
.if-legal .if-legal__list li::marker{color:#4b5563}

/* pied de carte : border-t border-gray-100 pt-6 (mt-6 écrasé par space-y-8 = 2rem) > p.text-xs.text-gray-400 */
.if-legal .if-legal__footer{border-top:1px solid #f3f4f6;padding-top:1.5rem}
.if-legal .if-legal__footnote{font-size:.75rem;line-height:1rem;color:#9ca3af}
.if-legal .if-legal__footnote strong{font-weight:700;color:#9ca3af}

/* ===== Vague 2 : services ===== */
/* ===== Imag'In Fly — page « Services » (hub, /services) — thème enfant =====
   3 sections : if-services-hero (ServiceHero sans image), if-services (intro + grille de 8 cartes), if-services-cta (ServiceCta).
   Valeurs exactes de Tailwind (REF2/compiled.css). */

/* ---------- flèche lucide arrow-right (w-4 h-4) partagée par les boutons et les liens des cartes ---------- */
.if-services-hero .if-services-hero__btn .wp-block-button__link::after,
.if-services-cta .if-services-cta__btn .wp-block-button__link::after,
.if-services .if-services__more a::after{content:"";flex:none;display:inline-block;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}

/* =====================================================================
   HERO — relative bg-navy pt-32 pb-20 overflow-hidden min-h-[340px] (le pt-32 inclut les 80 px du header fixe)
   ===================================================================== */
.if-services-hero{position:relative;background:var(--if-navy);padding:8rem 0 5rem;min-height:340px;overflow:hidden;color:#fff;font-size:1rem}
/* grille décorative (opacity-[0.04], 60px) */
.if-services-hero::before{content:"";position:absolute;inset:0;z-index:1;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* halo haut droit (600×400, bg-[#00AEEF]/8, blur 120px) : la classe /8 n'est pas dans le Tailwind compilé du site →
   non rendu sur l'original, donc non reproduit. */

/* contenu : relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-services-hero .if-services-hero__content{position:relative;z-index:10;width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.if-services-hero .if-services-hero__content{padding-inline:1.5rem}}
@media (min-width:1024px){.if-services-hero .if-services-hero__content{padding-inline:2rem}}

/* fil d'Ariane : flex items-center gap-2 mb-6 text-sm text-gray-400 ; page courante text-gray-300 */
.if-services-hero .if-services-hero__crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:.875rem;line-height:1.25rem;color:#9ca3af}
.if-services-hero .if-services-hero__crumb a{color:inherit;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}
.if-services-hero .if-services-hero__crumb a:hover{color:var(--if-sky)}
.if-services-hero .if-services-hero__crumb-current{color:#d1d5db}

/* titre : text-3xl sm:text-4xl lg:text-5xl font-bold text-white leading-tight mb-8 max-w-3xl
   (à partir de lg, text-5xl impose line-height:1, comme sur le site) */
.if-services-hero .if-services-hero__title{font-size:1.875rem;line-height:1.25;font-weight:700;color:#fff;margin:0 0 2rem;max-width:48rem;letter-spacing:0}
@media (min-width:640px){.if-services-hero .if-services-hero__title{font-size:2.25rem;line-height:1.25}}
@media (min-width:1024px){.if-services-hero .if-services-hero__title{font-size:3rem;line-height:1}}

/* bouton : inline-flex gap-2 px-7 py-3.5 bg-sky font-semibold rounded-lg shadow-lg sky/25, hover sky-dark + -translate-y-0.5 */
.if-services-hero .if-services-hero__buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:0}
.if-services-hero .if-services-hero__btn{margin:0}
.if-services-hero .if-services-hero__btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;line-height:1.5rem;font-weight:600;border-radius:.5rem;color:#fff;background:var(--if-sky);border:0;box-shadow:0 10px 15px -3px rgb(0 174 239 / .25),0 4px 6px -4px rgb(0 174 239 / .25);transition:all .2s cubic-bezier(.4,0,.2,1)}
.if-services-hero .if-services-hero__btn .wp-block-button__link:hover{background:var(--if-sky-dark);transform:translateY(-.125rem);color:#fff}

/* =====================================================================
   INTRO + GRILLE — bg-white py-16 lg:py-20
   ===================================================================== */
.if-services{background:#fff;padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-services{padding:5rem 0}}

/* conteneur : max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-services .if-services__inner{width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.if-services .if-services__inner{padding-inline:1.5rem}}
@media (min-width:1024px){.if-services .if-services__inner{padding-inline:2rem}}

/* intro : max-w-3xl mx-auto text-center mb-14 ; surtitre inline-block text-xs font-semibold uppercase tracking-widest sky mb-4 ;
   p text-gray-600 text-lg leading-relaxed */
.if-services .if-services__lead{max-width:48rem;margin:0 auto 3.5rem;text-align:center}
.if-services .if-services__eyebrow{display:inline-block;font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--if-sky);margin:0 0 1rem}
.if-services .if-services__text{font-size:1.125rem;line-height:1.625;color:#4b5563;margin:0}

/* grille : grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5 */
.if-services .if-services__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:640px){.if-services .if-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.if-services .if-services__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* carte (lien entier sur le site) : group bg-white rounded-xl p-6 border-gray-100 shadow-sm hover:shadow-lg
   hover:-translate-y-1 relative overflow-hidden flex flex-col, transition 300 ms */
.if-services .if-services__card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}
.if-services .if-services__card:hover{box-shadow:var(--if-shadow-lg);transform:translateY(-.25rem)}
/* barre haute : h-[3px] bg-sky scale-x-0 → 1 au survol, origin-left, rounded-t-xl */
.if-services .if-services__bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--if-sky);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1);border-top-left-radius:.75rem;border-top-right-radius:.75rem}
.if-services .if-services__card:hover .if-services__bar{transform:scaleX(1)}
/* icône : w-11 h-11 rounded-lg bg-sky/10 mb-4 flex-shrink-0 ; survol bg-sky + icône blanche ; svg w-5 h-5 */
.if-services .if-services__icon{display:flex;flex:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.5rem;background:rgb(0 174 239 / .1);margin-bottom:1rem;color:var(--if-sky);transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}
.if-services .if-services__card:hover .if-services__icon{background:var(--if-sky);color:#fff}
.if-services .if-services__icon svg{display:block;width:1.25rem;height:1.25rem}
/* titre : font-semibold navy mb-2 text-sm leading-snug ; texte : text-sm text-gray-500 leading-relaxed flex-1 */
.if-services .if-services__card-title{font-size:.875rem;line-height:1.375;font-weight:600;color:var(--if-navy);margin:0 0 .5rem}
.if-services .if-services__card-desc{flex:1 1 0%;font-size:.875rem;line-height:1.625;color:#6b7280;margin:0}
/* « En savoir plus » : mt-4 flex items-center gap-1 sky text-sm font-medium ; la flèche glisse de 4 px au survol.
   Le lien est étiré sur toute la carte (::before absolu) pour retrouver la carte entièrement cliquable du site. */
.if-services .if-services__more{margin:1rem 0 0;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--if-sky)}
.if-services .if-services__more a{display:inline-flex;align-items:center;gap:.25rem;color:inherit;text-decoration:none}
.if-services .if-services__more a::before{content:"";position:absolute;inset:0;z-index:1}
.if-services .if-services__more a::after{transition:transform .15s cubic-bezier(.4,0,.2,1)}
.if-services .if-services__card:hover .if-services__more a::after{transform:translateX(.25rem)}

/* =====================================================================
   CTA — bg-navy py-16 lg:py-20 relative overflow-hidden
   ===================================================================== */
.if-services-cta{position:relative;overflow:hidden;background:var(--if-navy);padding:4rem 0;font-size:1rem;color:#fff}
@media (min-width:1024px){.if-services-cta{padding:5rem 0}}
/* grille (opacity-[0.03]) ; le halo central (bg-[#00AEEF]/6) n'existe pas dans le Tailwind compilé → non rendu, non reproduit */
.if-services-cta::before{content:"";position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* contenu : relative z-10 max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 text-center ; p text-gray-300 text-lg mb-8 leading-relaxed */
.if-services-cta .if-services-cta__inner{position:relative;z-index:10;width:100%;max-width:48rem;margin-inline:auto;padding-inline:1rem;text-align:center}
@media (min-width:640px){.if-services-cta .if-services-cta__inner{padding-inline:1.5rem}}
@media (min-width:1024px){.if-services-cta .if-services-cta__inner{padding-inline:2rem}}
.if-services-cta .if-services-cta__text{font-size:1.125rem;line-height:1.625;color:#d1d5db;margin:0 0 2rem}
/* bouton : px-8 py-4 bg-sky font-bold rounded-lg shadow-lg sky/30, hover sky-dark + -translate-y-0.5 */
.if-services-cta .if-services-cta__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin:0}
.if-services-cta .if-services-cta__btn{margin:0}
.if-services-cta .if-services-cta__btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;line-height:1.5rem;font-weight:700;border-radius:.5rem;color:#fff;background:var(--if-sky);border:0;box-shadow:0 10px 15px -3px rgb(0 174 239 / .3),0 4px 6px -4px rgb(0 174 239 / .3);transition:all .2s cubic-bezier(.4,0,.2,1)}
.if-services-cta .if-services-cta__btn .wp-block-button__link:hover{background:var(--if-sky-dark);transform:translateY(-.125rem);color:#fff}

/* ===== Vague 2 : galerie ===== */
/* ===== Imag'In Fly — page Galerie (/galerie) ===== */

/* ---------- 1. Hero : relative bg-navy pt-32 pb-16 overflow-hidden ---------- */
.if-gal-hero{position:relative;overflow:hidden;background:var(--if-navy);padding:8rem 0 4rem;color:#fff}
/* fond : img opacity-20 object-cover + voile from-navy/70 to-navy */
.if-gal-hero .if-gal-hero__bg{position:absolute;inset:0;margin:0;z-index:0}
.if-gal-hero .if-gal-hero__bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.2;border-radius:0}
.if-gal-hero .if-gal-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgb(10 22 40 / .7),#0a1628)}
/* grille décorative opacity-[0.04] 60px */
.if-gal-hero::before{content:"";position:absolute;inset:0;z-index:1;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* contenu : relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center (base Tailwind : 16px / 24px) */
.if-gal-hero .if-gal-hero__content{position:relative;z-index:10;width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem;text-align:center;font-size:1rem;line-height:1.5rem}
@media (min-width:640px){.if-gal-hero .if-gal-hero__content{padding-inline:1.5rem}}
@media (min-width:1024px){.if-gal-hero .if-gal-hero__content{padding-inline:2rem}}
/* inline-block text-xs font-semibold uppercase tracking-widest text-sky mb-4 */
.if-gal-hero .if-gal-hero__eyebrow{display:inline-block;letter-spacing:.1em;color:var(--if-sky);margin:0 0 1rem}
/* h1 : text-3xl sm:text-4xl lg:text-5xl font-bold text-white mb-4 */
.if-gal-hero .if-gal-hero__title{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff;margin:0 0 1rem}
@media (min-width:640px){.if-gal-hero .if-gal-hero__title{font-size:2.25rem;line-height:2.5rem}}
@media (min-width:1024px){.if-gal-hero .if-gal-hero__title{font-size:3rem;line-height:1}}
/* p : text-gray-400 text-lg */
.if-gal-hero .if-gal-hero__subtitle{font-size:1.125rem;line-height:1.75rem;color:#9ca3af;margin:0}

/* ---------- 2. Barre de filtres : bg-white border-b gray-100 shadow-sm sticky top-16 lg:top-20 z-30 ---------- */
.if-gal-filters{position:sticky;top:4rem;z-index:30;background:#fff;border-bottom:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm)}
@media (min-width:1024px){.if-gal-filters{top:5rem}}
/* flex items-center gap-1 overflow-x-auto py-3 scrollbar-hide */
.if-gal-filters .if-gal-filters__bar{display:flex;align-items:center;gap:.25rem;overflow-x:auto;padding:.75rem 0;-ms-overflow-style:none;scrollbar-width:none}
.if-gal-filters .if-gal-filters__bar::-webkit-scrollbar{display:none}
/* bouton : flex-shrink-0 px-5 py-2 rounded-lg text-sm font-medium transition-all 200ms ; inactif text-gray-600 hover:bg-gray-100 */
.if-gal-filters .if-gal-filters__btn{flex-shrink:0;appearance:none;border:0;background:transparent;font-family:inherit;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#4b5563;padding:.5rem 1.25rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}
.if-gal-filters .if-gal-filters__btn:hover{background:#f3f4f6}
/* actif : bg-sky text-white shadow-sm */
.if-gal-filters .if-gal-filters__btn.is-active{background:var(--if-sky);color:#fff;box-shadow:var(--if-shadow-sm)}
.if-gal-filters .if-gal-filters__btn.is-active:hover{background:var(--if-sky)}
.if-gal-filters .if-gal-filters__btn:focus-visible{outline:2px solid var(--if-sky);outline-offset:2px}

/* ---------- 3. Grille masonry : bg-[#f8fafc] py-10 lg:py-14 ---------- */
.if-gal-grid{background:var(--if-bg);padding:2.5rem 0}
@media (min-width:1024px){.if-gal-grid{padding:3.5rem 0}}
/* compteur : text-sm text-gray-400 mb-6 */
.if-gal-grid .if-gal-grid__count{font-size:.875rem;line-height:1.25rem;color:#9ca3af;margin:0 0 1.5rem}
/* columns-1 sm:columns-2 lg:columns-3 gap-4 space-y-4 */
.if-gal-grid .if-gal-grid__masonry{columns:1;column-gap:1rem}
@media (min-width:640px){.if-gal-grid .if-gal-grid__masonry{columns:2}}
@media (min-width:1024px){.if-gal-grid .if-gal-grid__masonry{columns:3}}
.if-gal-grid .if-gal-grid__masonry>.is-hidden{display:none}
/* carte : break-inside-avoid group cursor-pointer > relative overflow-hidden rounded-xl shadow-sm hover:shadow-lg transition-all 300ms */
.if-gal-grid .if-gallery__item{position:relative;display:block;margin:0;break-inside:avoid;overflow:hidden;border-radius:.75rem;box-shadow:var(--if-shadow-sm);cursor:pointer;transition:all .3s ease;-webkit-transform:translateZ(0)}
.if-gal-grid .if-gallery__item:hover{box-shadow:var(--if-shadow-lg)}
/* space-y-4 : marge haute entre cartes (tronquée en tête de colonne par la fragmentation) */
.if-gal-grid .if-gal-grid__masonry>.if-gallery__item+.if-gallery__item{margin-top:1rem}
/* image : w-full object-cover h-52 (h-72 si --tall) group-hover:scale-105 transition-transform 500ms */
.if-gal-grid .if-gallery__item img{display:block;width:100%;height:13rem;max-width:none;object-fit:cover;border-radius:0;transition:transform .5s ease}
.if-gal-grid .if-gallery__item--tall img{height:18rem}
.if-gal-grid .if-gallery__item:hover img{transform:scale(1.05)}
/* voile : absolute inset-0 bg-navy/0 group-hover:bg-navy/50 transition-colors 300ms rounded-xl */
.if-gal-grid .if-gallery__item::before{content:"";position:absolute;inset:0;border-radius:.75rem;background:rgb(10 22 40 / 0);transition:background-color .3s ease;pointer-events:none}
.if-gal-grid .if-gallery__item:hover::before{background:rgb(10 22 40 / .5)}
/* légende : absolute bottom-0 inset-x-0 p-4 translate-y-2 opacity-0 → group-hover translate-y-0 opacity-100 ; texte white font-semibold text-sm leading-snug mb-2 */
.if-gal-grid .if-gallery__item .wp-element-caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1rem;text-align:left;font-size:.875rem;line-height:1.375;font-weight:600;color:#fff;transform:translateY(.5rem);opacity:0;transition:all .3s ease;pointer-events:none}
.if-gal-grid .if-gallery__item:hover .wp-element-caption{transform:translateY(0);opacity:1}
/* étiquettes : flex flex-wrap gap-1.5 ; span px-2 py-0.5 text-xs font-medium bg-white/90 text-gray-700 rounded-full */
.if-gal-grid .if-gallery__tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}
.if-gal-grid .if-gallery__tag{display:inline-block;padding:.125rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;color:#374151;background:rgb(255 255 255 / .9);border-radius:9999px}

/* ---------- 4. Lightbox (construite en JS dans js/main.js du thème) ----------
   fixed inset-0 z-50 bg-navy/95 flex items-center justify-center px-4 */
.if-lightbox{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:0 1rem;background:rgb(10 22 40 / .95);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
/* boutons ronds : w-10 h-10 bg-white/10 rounded-full text-white hover:bg-white/20 ; icônes lucide w-5 h-5 */
.if-lightbox__close,.if-lightbox__prev,.if-lightbox__next{position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:9999px;background:rgb(255 255 255 / .1);color:#fff;cursor:pointer;transition:background-color .15s ease}
.if-lightbox__close:hover,.if-lightbox__prev:hover,.if-lightbox__next:hover{background:rgb(255 255 255 / .2)}
.if-lightbox__close svg,.if-lightbox__prev svg,.if-lightbox__next svg{width:1.25rem;height:1.25rem;display:block}
.if-lightbox__close{top:1.25rem;right:1.25rem}
.if-lightbox__prev{left:1rem}
.if-lightbox__next{right:1rem}
@media (min-width:640px){.if-lightbox__prev{left:2rem}.if-lightbox__next{right:2rem}}
/* zone image : relative max-w-3xl w-full ; img w-full max-h-[70vh] object-contain rounded-xl */
.if-lightbox__figure{position:relative;width:100%;max-width:48rem;margin:0}
.if-lightbox__img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:.75rem}
/* légende : text-center mt-4 ; titre text-white font-semibold text-lg mb-2 ; étiquettes px-3 py-1 text-xs font-medium rounded-full bg-white/10 white ; compteur text-gray-500 text-xs mt-3 */
.if-lightbox__caption{margin-top:1rem;text-align:center;color:#fff;font-size:1.125rem;line-height:1.75rem;font-weight:600}
.if-lightbox__tags{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}
.if-lightbox__tag{display:inline-block;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;color:#fff;background:rgb(255 255 255 / .1);border-radius:9999px}
.if-lightbox__counter{margin:.75rem 0 0;font-size:.75rem;line-height:1rem;font-weight:400;color:#6b7280}
body.if-lightbox-open{overflow:hidden}

/* ===== Vague 2 : autorisations ===== */
/* ===== Imag'In Fly — page « Autorisations de vol » (/autorisations) ===== */
/* Éléments partagés par les 5 sections de la page (préfixe if-aut-) */
/* conteneur : max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 */
.if-section .if-aut-container{width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.if-section .if-aut-container{padding-inline:1.5rem}}
@media (min-width:1024px){.if-section .if-aut-container{padding-inline:2rem}}
/* surtitre : span inline-block text-xs font-semibold uppercase tracking-widest sky (mb-3, le hero met mb-4) —
   la ligne de 22 px reproduit la hauteur mesurée du span inline-block d'origine (strut 16 px/1.5 + baseline) */
.if-section .if-aut-eyebrow{display:block;font-size:.75rem;line-height:1.375rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--if-sky);margin:0 0 .75rem}
/* titres de section : text-2xl sm:text-3xl font-bold navy */
.if-section .if-aut-title{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);margin:0}
@media (min-width:640px){.if-section .if-aut-title{font-size:1.875rem;line-height:2.25rem}}
/* en-tête centré : text-center mb-12 (mb-10 pour la conformité) */
.if-section .if-aut-head{text-align:center;margin:0 0 3rem}
.if-section .if-aut-head--tight{margin-bottom:2.5rem}
/* icônes lucide : la taille est donnée par le conteneur */
.if-section [class*="if-aut-"] svg{display:block;width:100%;height:100%}

/* ---------- 1. Hero : relative bg-navy pt-32 pb-16 overflow-hidden ---------- */
.if-aut-hero{position:relative;overflow:hidden;background:var(--if-navy);padding:8rem 0 4rem;font-size:1rem;color:#fff}
/* grille décorative (opacity-[0.04], 60 px) */
.if-aut-hero::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* halo (absolute top-0 right-0 w-[500px] h-[300px] rounded-full bg-[#00AEEF]/8 blur-[120px]) : la classe /8 n'existe pas dans le Tailwind compilé,
   le halo est donc invisible sur le site d'origine — on le garde très discret (5 %) pour rester fidèle à la capture */
.if-aut-hero::after{content:"";position:absolute;top:0;right:0;width:500px;height:300px;border-radius:9999px;background:rgb(0 174 239 / .05);filter:blur(120px);pointer-events:none}
/* contenu : relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center */
.if-aut-hero .if-aut-hero__content{position:relative;z-index:10;width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem;text-align:center}
@media (min-width:640px){.if-aut-hero .if-aut-hero__content{padding-inline:1.5rem}}
@media (min-width:1024px){.if-aut-hero .if-aut-hero__content{padding-inline:2rem}}
.if-aut-hero .if-aut-hero__eyebrow{margin-bottom:1rem}
/* h1 : text-3xl sm:text-4xl lg:text-5xl font-bold text-white mb-4 */
.if-aut-hero .if-aut-hero__title{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff;margin:0 0 1rem}
@media (min-width:640px){.if-aut-hero .if-aut-hero__title{font-size:2.25rem;line-height:2.5rem}}
@media (min-width:1024px){.if-aut-hero .if-aut-hero__title{font-size:3rem;line-height:1}}
/* sous-titre : text-gray-400 text-lg max-w-2xl mx-auto */
.if-aut-hero .if-aut-hero__subtitle{font-size:1.125rem;line-height:1.75rem;color:#9ca3af;max-width:42rem;margin:0 auto}

/* ---------- 2. Certifications : bg-white py-16 lg:py-20 ---------- */
.if-aut-certs{background:#fff;padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-aut-certs{padding:5rem 0}}
/* grille : grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5 */
.if-aut-certs .if-aut-certs__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:640px){.if-aut-certs .if-aut-certs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.if-aut-certs .if-aut-certs__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* carte : bg-white rounded-xl border-gray-100 shadow-sm p-6 text-center hover:shadow-md transition-shadow */
.if-aut-certs .if-aut-certs__card{background:#fff;border-radius:.75rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);padding:1.5rem;text-align:center;transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}
.if-aut-certs .if-aut-certs__card:hover{box-shadow:var(--if-shadow-md)}
/* pastille : w-12 h-12 bg-green-100 rounded-full mx-auto mb-4 ; icône circle-check w-6 h-6 text-green-500 */
.if-aut-certs .if-aut-certs__icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:9999px;background:#dcfce7;color:#22c55e;margin:0 auto 1rem}
.if-aut-certs .if-aut-certs__icon svg{width:1.5rem;height:1.5rem}
/* h3 : font-bold navy text-sm mb-2 ; p : text-xs text-gray-500 leading-relaxed */
.if-aut-certs .if-aut-certs__name{font-size:.875rem;line-height:1.25rem;font-weight:700;color:var(--if-navy);margin:0 0 .5rem}
.if-aut-certs .if-aut-certs__desc{font-size:.75rem;line-height:1.625;color:#6b7280;margin:0}

/* ---------- 3. Zones d'intervention : bg-[#f8fafc] py-16 lg:py-20 ---------- */
.if-aut-zones{background:var(--if-bg);padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-aut-zones{padding:5rem 0}}
/* grid-cols-1 lg:grid-cols-2 gap-12 items-center */
.if-aut-zones .if-aut-zones__split{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media (min-width:1024px){.if-aut-zones .if-aut-zones__split{grid-template-columns:repeat(2,minmax(0,1fr))}}
.if-aut-zones .if-aut-zones__title{margin-bottom:1.25rem}
/* text-gray-600 leading-relaxed mb-6 */
.if-aut-zones .if-aut-zones__lead{font-size:1rem;line-height:1.625;color:#4b5563;margin:0 0 1.5rem}
/* liste : space-y-3 ; li flex items-start gap-3 ; pastille w-6 h-6 rounded-full bg-sky/10 mt-0.5 + map-pin w-3 h-3 ; texte text-sm text-gray-700 */
.if-aut-zones .if-aut-zones__list{margin:0;padding:0;list-style:none}
.if-aut-zones .if-aut-zones__list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.25rem;color:#374151;margin:0;padding:0}
.if-aut-zones .if-aut-zones__list li+li{margin-top:.75rem}
.if-aut-zones .if-aut-zones__list li::before{content:"";flex:none;width:1.5rem;height:1.5rem;margin-top:.125rem;border-radius:9999px;background-color:rgb(0 174 239 / .1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");background-size:.75rem .75rem;background-position:center;background-repeat:no-repeat}
/* carte : bg-white rounded-2xl border-gray-100 shadow-sm p-8 flex-col items-center text-center */
.if-aut-zones .if-aut-zones__card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border-radius:1rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);padding:2rem}
/* w-20 h-20 bg-sky/10 rounded-2xl mb-6 ; map-pin w-10 h-10 sky */
.if-aut-zones .if-aut-zones__icon{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;border-radius:1rem;background:rgb(0 174 239 / .1);color:var(--if-sky);margin:0 0 1.5rem}
.if-aut-zones .if-aut-zones__icon svg{width:2.5rem;height:2.5rem}
/* h3 font-bold navy text-lg mb-3 ; p text-sm gray-500 leading-relaxed mb-5 ; note : border-t gray-100 pt-5 text-xs gray-400 */
.if-aut-zones .if-aut-zones__card-title{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--if-navy);margin:0 0 .75rem}
.if-aut-zones .if-aut-zones__card-text{font-size:.875rem;line-height:1.625;color:#6b7280;margin:0 0 1.25rem}
.if-aut-zones .if-aut-zones__card-note{width:100%;border-top:1px solid #f3f4f6;padding-top:1.25rem;font-size:.75rem;line-height:1rem;color:#9ca3af;margin:0}

/* ---------- 4. Conformité réglementaire : bg-white py-16 lg:py-20 ---------- */
.if-aut-regl{background:#fff;padding:4rem 0;font-size:1rem;color:var(--if-ink)}
@media (min-width:1024px){.if-aut-regl{padding:5rem 0}}
/* max-w-5xl puis max-w-3xl mx-auto : on retient la plus étroite (48 rem + marges) */
.if-section .if-aut-regl__container{max-width:calc(48rem + 2rem)}
@media (min-width:640px){.if-section .if-aut-regl__container{max-width:calc(48rem + 3rem)}}
@media (min-width:1024px){.if-section .if-aut-regl__container{max-width:calc(48rem + 4rem)}}
/* encart : bg-[#f8fafc] rounded-2xl p-8 border-gray-100 ; flex items-start gap-5 */
.if-aut-regl .if-aut-regl__box{display:flex;align-items:flex-start;gap:1.25rem;background:var(--if-bg);border-radius:1rem;border:1px solid #f3f4f6;padding:2rem}
/* w-12 h-12 bg-sky/10 rounded-xl flex-shrink-0 ; file-check w-6 h-6 sky */
.if-aut-regl .if-aut-regl__icon{display:flex;flex:none;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.75rem;background:rgb(0 174 239 / .1);color:var(--if-sky)}
.if-aut-regl .if-aut-regl__icon svg{width:1.5rem;height:1.5rem}
.if-aut-regl .if-aut-regl__body{flex:1 1 auto;min-width:0}
/* p text-gray-700 leading-relaxed mb-5 */
.if-aut-regl .if-aut-regl__text{font-size:1rem;line-height:1.625;color:#374151;margin:0 0 1.25rem}
/* grille des textes de loi : grid-cols-1 sm:grid-cols-3 gap-3 ; puce = flex items-center gap-2 bg-white rounded-lg px-4 py-3 border-gray-100 + circle-check w-4 h-4 green + text-sm font-medium navy */
.if-aut-regl .if-aut-regl__tags{display:grid;grid-template-columns:1fr;gap:.75rem;margin:0;padding:0;list-style:none}
@media (min-width:640px){.if-aut-regl .if-aut-regl__tags{grid-template-columns:repeat(3,minmax(0,1fr))}}
.if-aut-regl .if-aut-regl__tags li{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:.5rem;border:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--if-navy);margin:0}
.if-aut-regl .if-aut-regl__tags li::before{content:"";flex:none;width:1rem;height:1rem;background:#22c55e;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- 5. CTA : bg-navy py-14 relative overflow-hidden ---------- */
.if-aut-cta{position:relative;overflow:hidden;background:var(--if-navy);padding:3.5rem 0;font-size:1rem;color:#fff}
/* grille décorative (opacity-[0.03]) */
.if-aut-cta::before{content:"";position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* relative z-10 max-w-3xl mx-auto px-4 text-center */
.if-aut-cta .if-aut-cta__inner{position:relative;z-index:10;width:100%;max-width:48rem;margin-inline:auto;padding-inline:1rem;text-align:center}
/* p text-gray-300 mb-6 */
.if-aut-cta .if-aut-cta__text{font-size:1rem;line-height:1.5rem;color:#d1d5db;margin:0 0 1.5rem}
.if-aut-cta .if-aut-cta__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin:0}
.if-aut-cta .if-aut-cta__btn{margin:0}
/* inline-flex gap-2 px-8 py-4 bg-sky text-white font-bold rounded-lg hover:bg-[#0099d4] transition-all hover:-translate-y-0.5 shadow-lg shadow-sky/30 */
.if-aut-cta .if-aut-cta__btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;line-height:1.5rem;font-weight:700;border-radius:.5rem;color:#fff;background:var(--if-sky);border:0;box-shadow:0 10px 15px -3px rgb(0 174 239 / .3),0 4px 6px -4px rgb(0 174 239 / .3);transition:all .15s cubic-bezier(.4,0,.2,1)}
.if-aut-cta .if-aut-cta__btn .wp-block-button__link:hover{background:var(--if-sky-dark);color:#fff;transform:translateY(-.125rem)}

/* ===== Vague 2 : contact ===== */
/* ===== Imag'In Fly — page Contact (thème enfant) =====
   3 sections : if-contact-hero (navy), if-contact-main (fond #f8fafc, 2 colonnes), if-contact-band (navy).
   Valeurs exactes de Tailwind (REF2/compiled.css). Le formulaire est un Fluent Forms (shortcode) :
   ses classes ff-* sont stylées ci-dessous pour retrouver l'apparence du site. */

.if-contact{font-size:1rem;color:var(--if-ink)}

/* =====================================================================
   HERO — relative bg-navy pt-32 pb-16 overflow-hidden (le pt-32 = 128 px inclut le header fixe de 80 px)
   ===================================================================== */
.if-contact-hero{position:relative;background:var(--if-navy);padding:8rem 0 4rem;overflow:hidden;color:#fff}
/* grille décorative : absolute inset-0 opacity-[0.04], lignes sky tous les 60 px */
.if-contact-hero::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
/* halo haut droit (500×300, bg-[#00AEEF]/8, blur 120px) : la classe /8 n'existe pas dans le Tailwind compilé du site,
   le halo n'est donc pas rendu sur le site d'origine — on ne le reproduit pas. */

/* contenu : relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center */
.if-contact-hero .if-contact-hero__content{position:relative;z-index:10;width:100%;max-width:64rem;margin-inline:auto;padding-inline:1rem;text-align:center}
@media (min-width:640px){.if-contact-hero .if-contact-hero__content{padding-inline:1.5rem}}
@media (min-width:1024px){.if-contact-hero .if-contact-hero__content{padding-inline:2rem}}

/* surtitre : inline-block text-xs font-semibold uppercase tracking-widest sky mb-4 (sur le site, l'inline-block de 16 px
   posé sur la ligne de base du parent donne une ligne de 22 px : on reproduit cette hauteur) */
.if-contact-hero .if-contact-hero__eyebrow{display:block;font-size:.75rem;line-height:1.375rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--if-sky);margin:0 0 1rem}
/* h1 : text-3xl sm:text-4xl lg:text-5xl font-bold text-white mb-4 */
.if-contact-hero .if-contact-hero__title{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff;margin:0 0 1rem}
@media (min-width:640px){.if-contact-hero .if-contact-hero__title{font-size:2.25rem;line-height:2.5rem}}
@media (min-width:1024px){.if-contact-hero .if-contact-hero__title{font-size:3rem;line-height:1}}
/* sous-titre : text-gray-400 text-lg */
.if-contact-hero .if-contact-hero__subtitle{font-size:1.125rem;line-height:1.75rem;color:#9ca3af;margin:0}

/* =====================================================================
   MAIN — bg-[#f8fafc] py-14 lg:py-20 ; max-w-6xl ; grid 1 → lg:5 colonnes gap-10 (3/5 + 2/5)
   ===================================================================== */
.if-contact-main{background:var(--if-bg);padding:3.5rem 0}
@media (min-width:1024px){.if-contact-main{padding:5rem 0}}
.if-contact-main .if-contact-main__inner{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1rem}
@media (min-width:640px){.if-contact-main .if-contact-main__inner{padding-inline:1.5rem}}
@media (min-width:1024px){.if-contact-main .if-contact-main__inner{padding-inline:2rem}}
.if-contact-main .if-contact-main__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
@media (min-width:1024px){
  .if-contact-main .if-contact-main__grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .if-contact-main .if-contact-main__form-col{grid-column:span 3 / span 3}
  .if-contact-main .if-contact-main__info-col{grid-column:span 2 / span 2}
}

/* --- carte formulaire : bg-white rounded-2xl border border-gray-100 shadow-sm p-8 --- */
.if-contact-main .if-contact-main__form-card{background:#fff;border-radius:1rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);padding:2rem}
/* h2 : text-xl font-bold navy mb-6 */
.if-contact-main .if-contact-main__form-title{font-size:1.25rem;line-height:1.75rem;font-weight:700;color:var(--if-navy);margin:0 0 1.5rem}

/* --- Fluent Forms : reproduit form.space-y-5 + champs Tailwind du site --- */
.if-contact-main .fluentform{margin:0}
.if-contact-main .frm-fluent-form{margin:0;padding:0;font-family:inherit}
.if-contact-main .frm-fluent-form .ff-el-group{margin:0 0 1.25rem;padding:0}
.if-contact-main .frm-fluent-form .ff-el-group:last-child{margin-bottom:0}
/* deux champs côte à côte : grid-cols-2 gap-4 (aussi sur mobile) */
.if-contact-main .frm-fluent-form .ff-t-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1.25rem;padding:0}
.if-contact-main .frm-fluent-form .ff-t-container .ff-t-cell{padding:0;margin:0;width:auto;flex:none;min-width:0}
.if-contact-main .frm-fluent-form .ff-t-container .ff-t-cell .ff-el-group{margin-bottom:0}
/* libellé : block text-xs font-medium text-gray-700 mb-1.5 */
.if-contact-main .frm-fluent-form .ff-el-input--label{display:block;margin:0 0 .375rem;padding:0;line-height:1rem}
.if-contact-main .frm-fluent-form .ff-el-input--label label{display:block;font-size:.75rem;line-height:1rem;font-weight:500;color:#374151;margin:0;padding:0}
.if-contact-main .frm-fluent-form .ff-el-input--label.ff-el-is-required label::after,
.if-contact-main .frm-fluent-form .ff-el-input--label.ff-el-is-required label::before{content:none}
.if-contact-main .frm-fluent-form .ff-el-input--content{margin:0;padding:0}
/* champ : w-full border border-gray-200 rounded-lg px-3 py-2.5 text-sm bg-white ; focus ring-2 sky/30 + border sky */
.if-contact-main .frm-fluent-form .ff-el-form-control{display:block;width:100%;max-width:100%;min-height:0;height:auto;margin:0;padding:.625rem .75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;font-family:inherit;font-size:.875rem;line-height:1.25rem;color:var(--if-ink);box-shadow:none;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}
.if-contact-main .frm-fluent-form .ff-el-form-control::placeholder{color:#9ca3af;opacity:1}
.if-contact-main .frm-fluent-form .ff-el-form-control:focus{outline:none;border-color:var(--if-sky);box-shadow:0 0 0 2px rgb(0 174 239 / .3)}
/* textarea : inline-block sur la ligne de base (comme sur le site) → ~6 px d'espace sous le champ avant le consentement */
.if-contact-main .frm-fluent-form textarea.ff-el-form-control{display:inline-block;vertical-align:baseline;resize:none;min-height:0}
/* select : flèche native (le site garde l'apparence native du navigateur) */
.if-contact-main .frm-fluent-form select.ff-el-form-control{-webkit-appearance:menulist;appearance:menulist;padding-right:.75rem;background-image:none}
/* consentement : flex items-start gap-3 ; case w-4 h-4 mt-0.5 ; texte text-xs text-gray-500 leading-relaxed ; lien sky */
.if-contact-main .frm-fluent-form .ff-el-form-check{margin:0 0 1.25rem;padding:0}
.if-contact-main .frm-fluent-form .ff-el-form-check .ff-el-form-check-label{display:flex;align-items:flex-start;gap:.75rem;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1.625;font-weight:400;color:#6b7280}
.if-contact-main .frm-fluent-form .ff-el-form-check .ff-el-form-check-input{flex:none;width:1rem;height:1rem;margin:.125rem 0 0;padding:0;-webkit-appearance:auto;appearance:auto;accent-color:var(--if-sky);border-radius:.25rem;position:static;opacity:1}
.if-contact-main .frm-fluent-form .ff-el-form-check a{color:var(--if-sky);text-decoration:none}
.if-contact-main .frm-fluent-form .ff-el-form-check a:hover{text-decoration:underline}
/* bouton : w-full flex center gap-2 py-3.5 bg-sky text-white font-semibold rounded-lg shadow-lg sky/20 ; hover sky-dark + -translate-y-0.5 ; icône lucide send (w-4 h-4) */
.if-contact-main .frm-fluent-form .ff_submit_btn_wrapper{margin:0;padding:0;text-align:center}
.if-contact-main .frm-fluent-form .ff-btn-submit{display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.875rem 1rem;border:0;border-radius:.5rem;background:var(--if-sky);color:#fff;font-family:inherit;font-size:1rem;line-height:1.5rem;font-weight:600;cursor:pointer;box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2);transition:all .2s cubic-bezier(.4,0,.2,1)}
.if-contact-main .frm-fluent-form .ff-btn-submit:hover{background:var(--if-sky-dark);color:#fff;transform:translateY(-.125rem)}
.if-contact-main .frm-fluent-form .ff-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.if-contact-main .frm-fluent-form .ff-btn-submit::before{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center/contain no-repeat}
/* messages d'erreur Fluent Forms : text-xs rouge (équivalent du site) */
.if-contact-main .frm-fluent-form .ff-el-is-error .ff-el-form-control{border-color:#ef4444}
.if-contact-main .frm-fluent-form .error{font-size:.75rem;line-height:1rem;color:#ef4444;margin-top:.375rem}

/* --- colonne infos : space-y-4 de cartes bg-white rounded-xl border border-gray-100 shadow-sm p-5 --- */
.if-contact-main .if-contact-main__info-col{display:flex;flex-direction:column;gap:1rem}
.if-contact-main .if-contact-card{background:#fff;border-radius:.75rem;border:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm);padding:1.25rem}
/* carte avec icône : flex items-start gap-3 ; icône w-9 h-9 rounded-lg bg-sky/10 (svg w-4 h-4 sky) */
.if-contact-main .if-contact-card--icon{display:flex;align-items:flex-start;gap:.75rem}
.if-contact-main .if-contact-card__icon{flex:none;width:2.25rem;height:2.25rem;border-radius:.5rem;background:rgb(0 174 239 / .1);display:flex;align-items:center;justify-content:center;color:var(--if-sky)}
.if-contact-main .if-contact-card__icon svg{display:block;width:1rem;height:1rem}
.if-contact-main .if-contact-card__body{min-width:0}
/* libellé de carte : text-xs font-semibold text-gray-500 uppercase tracking-wide mb-2 */
.if-contact-main .if-contact-card__label{font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase;color:#6b7280;margin:0 0 .5rem}
.if-contact-main .if-contact-card__label--tight{margin-bottom:.75rem}   /* carte Coordonnées : space-y-3 */
.if-contact-main .if-contact-card__label--social{margin-bottom:.75rem}  /* carte Réseaux : mb-3 */
/* lignes d'adresse : text-sm font-semibold navy / text-sm text-gray-600 */
.if-contact-main .if-contact-card__strong{font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--if-navy);margin:0}
.if-contact-main .if-contact-card__line{font-size:.875rem;line-height:1.25rem;color:#4b5563;margin:0}
/* liens (téléphone, e-mail) : flex items-center gap-3 text-sm text-gray-700 hover sky ; espacés de 12 px (space-y-3) */
.if-contact-main .if-contact-link{display:flex;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.25rem;color:#374151;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}
.if-contact-main .if-contact-link+.if-contact-link{margin-top:.75rem}
.if-contact-main .if-contact-link:hover{color:var(--if-sky)}
.if-contact-main .if-contact-link__icon{flex:none;width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}
.if-contact-main .if-contact-link__icon svg{display:block;width:.875rem;height:.875rem}
/* variante sky : bg-sky/10, svg sky ; au survol bg sky + svg blanc */
.if-contact-main .if-contact-link__icon--sky{background:rgb(0 174 239 / .1);color:var(--if-sky)}
.if-contact-main .if-contact-link:hover .if-contact-link__icon--sky{background:var(--if-sky);color:#fff}
/* réseaux sociaux : text-gray-600 font-medium, space-y-2.5 ; icône bg-gray-100 (svg 24 px lucide / TikTok w-5 h-5), hover bg-sky/10 */
.if-contact-main .if-contact-link--social{color:#4b5563}
.if-contact-main .if-contact-link--social+.if-contact-link--social{margin-top:.625rem}
.if-contact-main .if-contact-link--social:hover{color:var(--if-sky)}
.if-contact-main .if-contact-link__text{font-weight:500}
.if-contact-main .if-contact-link__icon--gray{background:#f3f4f6;color:currentColor}
.if-contact-main .if-contact-link:hover .if-contact-link__icon--gray{background:rgb(0 174 239 / .1)}
.if-contact-main .if-contact-link__icon--gray svg{width:1.5rem;height:1.5rem}
.if-contact-main .if-contact-link__icon--gray svg.if-contact-link__svg--fill{width:1.25rem;height:1.25rem}
/* horaires : space-y-1 text-sm ; ligne flex justify-between gap-6 ; jour gray-600 / valeur font-medium navy / fermé gray-400 */
.if-contact-main .if-contact-hours{font-size:.875rem;line-height:1.25rem}
.if-contact-main .if-contact-hours__row{display:flex;justify-content:space-between;gap:1.5rem}
.if-contact-main .if-contact-hours__row+.if-contact-hours__row{margin-top:.25rem}
.if-contact-main .if-contact-hours__day{color:#4b5563}
.if-contact-main .if-contact-hours__val{font-weight:500;color:var(--if-navy)}
.if-contact-main .if-contact-hours__val--closed{font-weight:400;color:#9ca3af}

/* =====================================================================
   BANDEAU BAS — bg-navy py-14 relative overflow-hidden ; grille opacity-[0.03] ; max-w-3xl px-4 text-center
   ===================================================================== */
.if-contact-band{position:relative;background:var(--if-navy);padding:3.5rem 0;overflow:hidden;color:#fff}
.if-contact-band::before{content:"";position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
.if-contact-band .if-contact-band__inner{position:relative;z-index:10;width:100%;max-width:48rem;margin-inline:auto;padding-inline:1rem;text-align:center}
/* texte : text-gray-300 mb-4 text-base */
.if-contact-band .if-contact-band__text{font-size:1rem;line-height:1.5rem;color:#d1d5db;margin:0 0 1rem}
/* téléphone : text-3xl sm:text-4xl font-bold white hover sky ; inline-flex items-center gap-3 ; icône w-7 h-7 sky */
.if-contact-band .if-contact-band__phone{display:inline-flex;align-items:center;gap:.75rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}
@media (min-width:640px){.if-contact-band .if-contact-band__phone{font-size:2.25rem;line-height:2.5rem}}
.if-contact-band .if-contact-band__phone:hover{color:var(--if-sky)}
.if-contact-band .if-contact-band__phone svg{display:block;flex:none;width:1.75rem;height:1.75rem;color:var(--if-sky)}

/* ===== Vague 2 : cgf-extra.css ===== */
/* ===== CGF (conditions-generales-formation) — complément au gabarit légal =====
   Seule différence avec les CGV : les <strong> du corps (« Annulation par le participant : »,
   « Annulation par Imag'In Fly : ») restent gris-600 (couleur héritée, font-weight bolder),
   alors que le gabarit les passe en navy. */
.if-legal--cgf .if-legal__p strong{color:inherit}

/* ===== Vague 2 : confidentialite-extra.css ===== */
/* ===== Politique de confidentialité — compléments au gabarit légal ===== */
/* encart coordonnées : bg-[#f8fafc] rounded-lg p-4 border border-gray-100 mt-2 (mt-2 écrasé par space-y-3 = .75rem) */
.if-legal--confidentialite .if-legal__box{background:var(--if-bg);border-radius:.5rem;padding:1rem;border:1px solid #f3f4f6}
.if-legal--confidentialite .if-legal__box>*+*{margin-top:0}
/* p.font-semibold.text-[#0a1628] */
.if-legal--confidentialite .if-legal__p--strong{font-weight:600;color:var(--if-navy)}
/* p.font-medium.text-[#0a1628] */
.if-legal--confidentialite .if-legal__p--medium{font-weight:500;color:var(--if-navy)}

/* ===== Vague 2 : spécificité face aux règles Kadence (.single-content p / ul / figure) ===== */
.if-section .if-svc-eyebrow{margin:0 0 1rem}
.if-section .if-svc-eyebrow--tight{margin-bottom:.75rem}
.if-section .if-svc-sectors{margin-top:4rem}
.if-gal-grid .if-gallery__item>a{display:block;line-height:0}
.if-gal-grid .if-gallery__item figcaption{margin:0}
.if-section.if-svc-images .if-svc-images__main{margin:0 0 1rem}
.if-lightbox .if-lightbox__bar{text-align:center}


/* ===== Vague 3 : WooCommerce — catalogue ===== */
/* ===== Imag'In Fly — catalogue WooCommerce (/boutique/) =====
   Scope : body.woocommerce-shop (archive produits). Balisage = WooCommerce + Kadence + hooks du plugin imaginfly-core
   (.if-shop-hero, .if-shop-tabs, .if-shop-count, .if-card-badge, .if-card-desc, .if-card-btn).
   Le header Kadence est dans le flux (80 px) puis collant : le bandeau navy n'a donc pas le pt-28 de l'original,
   seule la partie visible (≈ 154 px) est reproduite. */

/* ---------- 0. Filet : le header Kadence collant n'a AUCUN fond (rgba(0,0,0,0) sur toutes les pages, réglage global du header) ;
   avec les onglets collants juste dessous, les cartes défilent derrière le menu. Fond blanc scopé à la boutique en attendant
   le correctif global (Customizer › Header › fond, ou CSS header du thème enfant). ---------- */
body.woocommerce-shop #masthead .site-main-header-wrap .site-header-row-container-inner{background:#fff}
/* fond de page : l'original enveloppe tout dans main.min-h-screen.bg-[#f8fafc] (le bandeau, les onglets et le footer ont leur propre fond) */
body.woocommerce-shop{background:var(--if-bg)}
body.woocommerce-shop #inner-wrap{background:var(--if-bg)}

/* ---------- 1. Bandeau navy (bg-[#0a1628] pt-28 pb-12 relative overflow-hidden) ---------- */
body.woocommerce-shop .if-shop-hero{position:relative;overflow:hidden;background:var(--if-navy);color:#fff;padding:2.375rem 0 3rem}
body.woocommerce-shop .if-shop-hero::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(0,174,239,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,1) 1px,transparent 1px);background-size:60px 60px}
body.woocommerce-shop .if-shop-hero .if-shop-hero__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem}
body.woocommerce-shop .if-shop-hero .if-shop-hero__eyebrow{display:block;margin:0 0 .75rem;color:var(--if-sky);letter-spacing:.1em}
body.woocommerce-shop .if-shop-hero .if-shop-hero__title{margin:0;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff;letter-spacing:0}
@media (min-width:640px){body.woocommerce-shop .if-shop-hero .if-shop-hero__title{font-size:2.25rem;line-height:2.5rem}}
/* lien Panier : flex items-center gap-2 px-5 py-2.5 bg-white/10 border border-white/20 text-sm font-semibold rounded-lg */
body.woocommerce-shop .if-shop-hero .if-shop-hero__cart{position:relative;display:flex;align-items:center;gap:.5rem;flex:none;padding:.625rem 1.25rem;border-radius:var(--if-radius);border:1px solid rgb(255 255 255 / .2);background:rgb(255 255 255 / .1);color:#fff;font-size:.875rem;line-height:1.25rem;font-weight:600;text-decoration:none;transition:background-color .2s ease}
body.woocommerce-shop .if-shop-hero .if-shop-hero__cart:hover{background:rgb(255 255 255 / .2);color:#fff}
body.woocommerce-shop .if-shop-hero .if-shop-hero__cart svg{width:1.25rem;height:1.25rem;flex:none}
/* pastille compteur : absolute -top-2 -right-2 w-5 h-5 bg-sky rounded-full text-xs font-bold ; masquée à 0 (le plugin imprime data-count="<n>" sur le span) */
body.woocommerce-shop .if-shop-hero .if-shop-hero__count{position:absolute;top:-.5rem;right:-.5rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;background:var(--if-sky);font-size:.75rem;line-height:1;font-weight:700;color:#fff}
body.woocommerce-shop .if-shop-hero .if-shop-hero__count:empty,body.woocommerce-shop .if-shop-hero .if-shop-hero__count[data-count="0"]{display:none}

/* ---------- 2. Onglets de catégories (bg-white border-b sticky top-16 lg:top-20 z-30 shadow-sm) ---------- */
body.woocommerce-shop .if-shop-tabs{position:sticky;top:4rem;z-index:30;background:#fff;border-bottom:1px solid #f3f4f6;box-shadow:var(--if-shadow-sm)}
@media (min-width:1024px){body.woocommerce-shop .if-shop-tabs{top:5rem}}
/* l'original rogne la rangée au bord du contenu (padding sur le parent, overflow sur l'enfant) : on reproduit en retirant le padding
   du conteneur et en bornant sa largeur (1216 px à 1440) — le lien « Formations » déborde alors et se coupe comme dans la référence */
body.woocommerce-shop .if-shop-tabs .if-shop-tabs__inner{display:flex;align-items:center;gap:.25rem;overflow-x:auto;padding:.75rem 0;width:calc(100% - 2rem);max-width:calc(var(--if-container) - 4rem);-ms-overflow-style:none;scrollbar-width:none}
@media (min-width:640px){body.woocommerce-shop .if-shop-tabs .if-shop-tabs__inner{width:calc(100% - 3rem)}}
@media (min-width:1024px){body.woocommerce-shop .if-shop-tabs .if-shop-tabs__inner{width:calc(100% - 4rem)}}
body.woocommerce-shop .if-shop-tabs .if-shop-tabs__inner::-webkit-scrollbar{display:none}
/* onglet : flex-shrink-0 px-4 py-2 rounded-lg text-sm font-medium whitespace-nowrap (reset des boutons Kadence) */
body.woocommerce-shop .if-shop-tabs .if-shop-tabs__tab{flex:none;display:inline-flex;align-items:center;gap:.375rem;appearance:none;margin:0;border:0;box-shadow:none;background:transparent;font-family:inherit;font-size:.875rem;line-height:1.25rem;font-weight:500;letter-spacing:0;text-transform:none;text-decoration:none;color:#4b5563;padding:.5rem 1rem;border-radius:var(--if-radius);white-space:nowrap;cursor:pointer;transition:all .2s ease}
body.woocommerce-shop .if-shop-tabs .if-shop-tabs__tab:hover,body.woocommerce-shop .if-shop-tabs .if-shop-tabs__tab:focus-visible{background:#f3f4f6;color:#4b5563}
body.woocommerce-shop .if-shop-tabs .if-shop-tabs__tab.is-active,body.woocommerce-shop .if-shop-tabs .if-shop-tabs__tab.is-active:hover{background:var(--if-sky);color:#fff;box-shadow:var(--if-shadow-sm)}
/* lien Formations : icône « graduation-cap » (lucide, w-4 h-4) dessinée en masque CSS, le HTML n'ayant pas le SVG */
body.woocommerce-shop .if-shop-tabs .if-shop-tabs__tab--link::before{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- 3. Zone produits (max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10) ---------- */
body.woocommerce-shop #primary{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
body.woocommerce-shop.content-width-fullwidth #primary .content-container.site-container{max-width:var(--if-container);margin-inline:auto;padding:2.5rem 1rem;width:100%}
@media (min-width:640px){body.woocommerce-shop.content-width-fullwidth #primary .content-container.site-container{padding-inline:1.5rem}}
@media (min-width:1024px){body.woocommerce-shop.content-width-fullwidth #primary .content-container.site-container{padding-inline:2rem}}
body.woocommerce-shop #primary .woocommerce-products-header,body.woocommerce-shop #primary .woocommerce-products-header__title{display:none}
body.woocommerce-shop #primary .woocommerce-notices-wrapper:empty{display:none}
/* compteur : text-sm text-gray-500 mb-6 */
body.woocommerce-shop #primary .if-shop-count{margin:0 0 1.5rem;font-size:.875rem;line-height:1.25rem;color:#6b7280}

/* ---------- 4. Grille (grid-cols-1 sm:2 lg:3 xl:4 gap-5) ---------- */
body.woocommerce-shop #main ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem;row-gap:1.25rem;margin:0;padding:0;list-style:none}
@media (min-width:1024px){body.woocommerce-shop #main ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){body.woocommerce-shop #main ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
body.woocommerce-shop #main ul.products li.product.is-hidden{display:none}

/* ---------- 5. Carte (bg-white rounded-xl border border-gray-100 shadow-sm hover:shadow-lg hover:-translate-y-1 flex flex-col overflow-hidden) ---------- */
body.woocommerce-shop #main ul.products li.product{position:relative;display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;background:#fff;border:1px solid #f3f4f6;border-radius:var(--if-radius-lg);box-shadow:var(--if-shadow-sm);transition:all .3s ease;transform:translateY(0)}
body.woocommerce-shop #main ul.products li.product:hover,body.woocommerce-shop #main ul.products li.product:focus-within{box-shadow:var(--if-shadow-lg);transform:translateY(-.25rem)}
/* visuel : relative h-48 bg-gradient-to-br from-gray-50 to-gray-100 flex items-center justify-center overflow-hidden */
body.woocommerce-shop #main ul.products li.product a.woocommerce-loop-image-link{position:relative;display:flex;align-items:center;justify-content:center;height:12rem;overflow:hidden;margin:0;padding:0;outline-offset:-5px;background:linear-gradient(to bottom right,#f9fafb,#f3f4f6)}
body.woocommerce-shop #main ul.products li.product a.woocommerce-loop-image-link img{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:1rem;border:0;border-radius:0;box-shadow:none;object-fit:contain;transition:transform .3s ease}
body.woocommerce-shop #main ul.products li.product:hover a.woocommerce-loop-image-link img{transform:scale(1.05)}
/* image de substitution (icône « package » sur dégradé) : recadrée pour retrouver le carré 64 px de l'original */
body.woocommerce-shop #main ul.products li.product a.woocommerce-loop-image-link img.woocommerce-placeholder{padding:0;object-fit:cover;object-position:center}
body.woocommerce-shop #main ul.products li.product:hover a.woocommerce-loop-image-link img.woocommerce-placeholder{transform:none}
/* badge catégorie : absolute top-3 left-3 text-xs font-semibold bg-navy/80 text-white px-2 py-1 rounded-full max-w-[120px] truncate */
body.woocommerce-shop #main ul.products li.product .if-card-badge{position:absolute;top:.75rem;left:.75rem;z-index:10;display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.25rem .5rem;border-radius:9999px;background:rgb(10 22 40 / .8);color:#fff;font-size:.75rem;line-height:1rem;font-weight:600}
body.woocommerce-shop #main ul.products li.product .onsale{display:none}

/* corps : flex flex-col flex-1 p-4 — rendu en grille 2 colonnes pour aligner prix (gauche) et bouton (droite) sans wrapper */
body.woocommerce-shop #main ul.products li.product .product-details.entry-content-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;column-gap:.5rem;flex:1 1 auto;margin:0;padding:1rem;background:#fff;border-radius:0;transform:none;transition:none}
/* titre : font-semibold text-navy mb-2 text-sm leading-snug line-clamp-2 */
body.woocommerce-shop #main ul.products li.product .woocommerce-loop-product__title{grid-column:1 / -1;grid-row:1;margin:0 0 .5rem;padding:0;font-size:.875rem;line-height:1.375;font-weight:600;color:var(--if-navy);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.woocommerce-shop #main ul.products li.product .woocommerce-loop-product__title a{color:var(--if-navy);text-decoration:none;font-weight:600}
body.woocommerce-shop #main ul.products li.product .woocommerce-loop-product__title a:hover{color:var(--if-navy)}
/* description : text-xs text-gray-500 leading-relaxed flex-1 mb-3 line-clamp-2 */
body.woocommerce-shop #main ul.products li.product .if-card-desc{grid-column:1 / -1;grid-row:2;align-self:start;margin:0 0 .75rem;font-size:.75rem;line-height:1.625;color:#6b7280;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
/* doublon Kadence de l'extrait (si le réglage « extrait » est activé) */
body.woocommerce-shop #main ul.products li.product .product-excerpt{display:none}
/* prix : font-bold text-navy text-base */
body.woocommerce-shop #main ul.products li.product .price{grid-column:1;grid-row:3;align-self:center;display:block;margin:0;padding:0;font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--if-navy);min-width:0}
body.woocommerce-shop #main ul.products li.product .price .woocommerce-Price-amount,body.woocommerce-shop #main ul.products li.product .price bdi{font-weight:700;color:inherit}
body.woocommerce-shop #main ul.products li.product .price del{opacity:.5;font-weight:400}
body.woocommerce-shop #main ul.products li.product .price ins{background:none;font-weight:700}
/* prix sur demande : text-gray-500 text-xs italic */
body.woocommerce-shop #main ul.products li.product .price .if-price-on-request{font-size:.75rem;line-height:1rem;font-weight:700;font-style:italic;color:#6b7280}
/* colonne bouton */
body.woocommerce-shop #main ul.products li.product .product-action-wrap{grid-column:2;grid-row:3;align-self:center;justify-self:end;position:static;width:auto;margin:0;padding:0;opacity:1;display:flex;align-items:center}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .screen-reader-text{position:absolute}
/* lien « Voir le panier » ajouté par WooCommerce après un ajout AJAX : pas d'équivalent dans l'original */
body.woocommerce-shop #main ul.products li.product .product-action-wrap a.added_to_cart{display:none}
/* bouton : flex items-center gap-1 px-3 py-2 rounded-lg text-xs font-semibold bg-sky text-white hover:bg-sky-dark hover:-translate-y-0.5 */
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn{display:inline-flex;align-items:center;gap:.25rem;flex:none;width:auto;margin:0;padding:.5rem .75rem;border:0;border-radius:var(--if-radius);box-shadow:none;background:var(--if-sky);color:#fff;font-family:inherit;font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;cursor:pointer;opacity:1;transform:translateY(0);transition:all .2s ease}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn:hover,body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn:focus-visible{background:var(--if-sky-dark);color:#fff;transform:translateY(-.125rem)}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn svg{width:.75rem;height:.75rem;flex:none;margin:0}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.loading{opacity:.6}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.loading::after,body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.added::after{display:none}
/* « Devis » : bg-gray-100 text-gray-600 hover:bg-gray-200, icône « mail » (w-3 h-3) en masque CSS */
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn--quote{background:#f3f4f6;color:#4b5563}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn--quote:hover,body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn--quote:focus-visible{background:#e5e7eb;color:#4b5563;transform:translateY(0)}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn--quote::before{content:"";flex:none;width:.75rem;height:.75rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat}
/* retour « Ajouté ✓ » 1,5 s (bg-green-500) : le span et l'icône sont masqués, le texte vient de ::after */
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.is-added,body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.is-added:hover{background:#22c55e;color:#fff;font-size:.75rem;transform:translateY(0)}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.is-added svg,body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.is-added span{display:none}
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.is-added::after{content:"Ajouté ✓";display:inline}
/* Kadence met font-size:0 sur .button.added : on garde la taille normale */
body.woocommerce-shop #main ul.products li.product .product-action-wrap .button.if-card-btn.added{font-size:.75rem}

/* ---------- 6. Pagination WooCommerce (absente de l'original, 60 produits sur une page) ---------- */
body.woocommerce-shop #main .woocommerce-pagination{display:none}

/* ---------- 7. Mobile (390 px) : grille 2 colonnes, bandeau resserré ---------- */
/* l'original passe en 1 colonne sous 640 px ; ici 2 colonnes (cartes ≈ 173 px) : le prix (≈ 90 px) et le bouton (83 px)
   ne tiennent pas côte à côte → prix sur sa ligne, bouton aligné à droite dessous */
@media (max-width:639px){
  body.woocommerce-shop .if-shop-hero .if-shop-hero__cart{padding:.5rem .875rem}
  body.woocommerce-shop #main ul.products{column-gap:.75rem;row-gap:.75rem}
  body.woocommerce-shop #main ul.products li.product a.woocommerce-loop-image-link{height:9.5rem}
  body.woocommerce-shop #main ul.products li.product .product-details.entry-content-wrap{padding:.75rem;grid-template-rows:auto minmax(0,1fr) auto auto}
  body.woocommerce-shop #main ul.products li.product .if-card-badge{max-width:calc(100% - 1.5rem)}
  body.woocommerce-shop #main ul.products li.product .price{grid-column:1 / -1;grid-row:3;font-size:.875rem;line-height:1.25rem}
  body.woocommerce-shop #main ul.products li.product .product-action-wrap{grid-column:1 / -1;grid-row:4;margin-top:.5rem}
}

/* ===== Vague 3 : WooCommerce — produit ===== */
/* ===== Imag'In Fly — fiche produit WooCommerce (body.single-product) =====
   Cible : app/boutique/[slug]/page.tsx  (main.bg-[#f8fafc].pt-24.pb-16 > .max-w-6xl)
   Structure WP : #primary.content-area > .site-container > #main
                  > .product-title.product-above (fil d'Ariane Kadence)
                  > div.product.entry > div.images + div.summary
   Jetons --if-* fournis par 00-tokens.css (déjà chargé) ; pas de !important. */

/* ---------- page : fond, conteneur 1152 px (max-w-6xl), pt-24 (96 − header 80 = 16), pb-16, min-h-screen ---------- */
body.single-product{background:var(--if-bg)}
body.single-product #inner-wrap{background:var(--if-bg)}
body.single-product #primary.content-area{margin:0;padding:1rem 0 4rem;min-height:calc(100vh - 80px);box-sizing:border-box}
body.single-product .content-container.site-container{max-width:72rem;margin-inline:auto;padding:0 1rem;box-sizing:border-box}
@media (min-width:640px){body.single-product .content-container.site-container{padding:0 1.5rem}}
@media (min-width:1024px){body.single-product .content-container.site-container{padding:0 2rem}}
body.single-product #main.site-main{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body.single-product .woocommerce-notices-wrapper:empty{display:none}

/* ---------- fil d'Ariane : « ← Boutique / Nom » (flex gap-2 text-sm text-gray-500 mb-8) ---------- */
/* DÉPENDANCE PHP : Kadence termine par « … / Catégorie / » sans le nom du produit ; le plugin imaginfly-core doit
   ajouter <span><span>{Nom du produit}</span></span> après le dernier délimiteur (woocommerce_breadcrumb / kadence).
   Tant que ce span manque, le rendu montre « ← Boutique / Catégorie » ; dès qu'il existe, les règles ci-dessous
   masquent la catégorie et le « / » final et tronquent le nom (vérifié en simulant le span : identique à l'original). */
body.single-product .product-title.product-above{margin:0 0 2rem;padding:0}
body.single-product .kadence-breadcrumbs{margin:0;font-size:.875rem;line-height:1.25rem;color:#6b7280}
body.single-product .kadence-breadcrumb-container{display:flex;align-items:center;gap:.5rem;min-width:0}
body.single-product .kadence-breadcrumb-container>span{display:inline-flex;align-items:center;min-width:0}
body.single-product .kadence-breadcrumb-container a{color:inherit;text-decoration:none;transition:color .2s ease}
/* « Accueil / » et le « / » final n'existent pas dans l'original */
body.single-product .kadence-breadcrumb-container>span:has(>.kadence-bc-home),
body.single-product .kadence-breadcrumb-container>span:has(>.kadence-bc-home)+.bc-delimiter,
body.single-product .kadence-breadcrumb-container>.bc-delimiter:last-child{display:none}
/* la catégorie n'apparaît pas non plus dès qu'un élément la suit (nom du produit ajouté côté PHP) */
body.single-product .kadence-breadcrumb-container>span:has(>a[href*="/categorie-produit/"]):has(~span:not(.bc-delimiter)),
body.single-product .kadence-breadcrumb-container>span:has(>a[href*="/categorie-produit/"]):has(~span:not(.bc-delimiter))+.bc-delimiter{display:none}
/* lien Boutique avec flèche (lucide arrow-left 16 px, gap-1.5) */
body.single-product .kadence-breadcrumb-container>span:has(>a[href$="/boutique/"])>a{display:inline-flex;align-items:center;gap:.375rem}
body.single-product .kadence-breadcrumb-container>span:has(>a[href$="/boutique/"])>a:hover{color:var(--if-sky)}
body.single-product .kadence-breadcrumb-container>span:has(>a[href$="/boutique/"])>a::before{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E") center/contain no-repeat}
/* élément courant = dernier segment non-délimiteur : navy, medium, tronqué à max-w-xs (20 rem) */
body.single-product .kadence-breadcrumb-container>span:not(.bc-delimiter):not(:has(~span:not(.bc-delimiter))){display:block;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--if-navy);font-weight:500}
body.single-product .kadence-breadcrumb-container>span:not(.bc-delimiter):not(:has(~span:not(.bc-delimiter)))>a,
body.single-product .kadence-breadcrumb-container>span:not(.bc-delimiter):not(:has(~span:not(.bc-delimiter)))>a>span{display:inline;color:inherit;font-weight:inherit}

/* ---------- grille 2 colonnes gap-10 (1 colonne < 1024 px) ---------- */
body.single-product div.product.entry{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;margin:0;padding:0;background:transparent;box-shadow:none;border-radius:0}
@media (min-width:1024px){body.single-product div.product.entry{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.single-product div.product.entry>.entry-content-wrap{padding:0}
body.single-product div.product div.images,
body.single-product div.product div.summary{float:none;width:100%;margin:0;padding:0;clear:none;min-width:0}

/* ---------- carte image : aspect-square bg-white rounded-2xl border-gray-100 shadow-sm, image object-contain p-8 ---------- */
body.single-product div.product div.images.woocommerce-product-gallery{position:relative;aspect-ratio:1/1;background:#fff;border:1px solid #f3f4f6;border-radius:1rem;box-shadow:var(--if-shadow-sm);overflow:hidden;box-sizing:border-box}
body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product div.images .woocommerce-product-gallery__image,
body.single-product div.product div.images .woocommerce-product-gallery__image>a{display:block;height:100%;width:100%;margin:0;padding:0;box-sizing:border-box}
body.single-product div.product div.images .woocommerce-product-gallery__image>a{padding:2rem}
body.single-product div.product div.images .woocommerce-product-gallery__image img.wp-post-image{display:block;width:100%;height:100%;object-fit:contain;margin:0;box-shadow:none}
/* zoom WooCommerce (copie 1024 px superposée) et déclencheur plein écran : absents de l'original */
body.single-product div.product div.images .zoomImg,
body.single-product div.product div.images .woocommerce-product-gallery__trigger{display:none}
/* placeholder : carré 96 px bg sky/10 rounded-2xl + icône « package » 48 px sky/50 (l'image PNG WooCommerce est masquée) */
body.single-product div.product div.images .woocommerce-product-gallery__image--placeholder{display:flex;align-items:center;justify-content:center;height:100%;width:100%;border:0;margin:0}
body.single-product div.product div.images .woocommerce-product-gallery__image--placeholder img{display:none}
body.single-product div.product div.images .woocommerce-product-gallery__image--placeholder::before{content:"";width:6rem;height:6rem;border-radius:1rem;background:rgb(0 174 239 / .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(0,174,239,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E") center/3rem 3rem no-repeat}

/* ---------- colonne texte (flex-col) ---------- */
body.single-product div.product div.summary{display:flex;flex-direction:column;align-items:stretch}
/* Kadence : div.summary p{margin:1em 0} → remis à zéro, chaque bloc porte sa propre marge ci-dessous */
body.single-product div.product div.summary>p{margin:0}
/* eyebrow catégorie : text-xs semibold uppercase tracking-widest sky mb-3 */
body.single-product div.product div.summary p.if-product__eyebrow{display:block;margin:0 0 .75rem;font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--if-sky)}
body.single-product div.product div.summary p.if-product__eyebrow a{color:inherit;text-decoration:none}
/* h1 : text-2xl (24/1.375) → sm:text-3xl (30/36 : la ligne 2.25rem de sm:text-3xl gagne sur leading-snug), bold navy mb-4 */
body.single-product div.product div.summary h1.product_title{margin:0 0 1rem;padding:0;font-size:1.5rem;line-height:1.375;font-weight:700;color:var(--if-navy);letter-spacing:normal}
@media (min-width:640px){body.single-product div.product div.summary h1.product_title{font-size:1.875rem;line-height:2.25rem}}
/* SKU : text-xs gray-400 font-mono mb-4 ; la marque n'est pas affichée dans l'original */
body.single-product div.product div.summary p.if-product__meta{margin:0 0 1rem;font-size:.75rem;line-height:1rem;color:#9ca3af;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
body.single-product div.product div.summary p.if-product__meta code{font-family:inherit;font-size:inherit;color:inherit;background:transparent;padding:0;border:0;border-radius:0}
body.single-product div.product div.summary p.if-product__meta .if-product__brand{display:none}
/* description courte : text-base gray-600 leading-relaxed mb-6 */
body.single-product div.product div.summary .woocommerce-product-details__short-description{margin:0 0 1.5rem;font-size:1rem;line-height:1.625;color:#4b5563}
body.single-product div.product div.summary .woocommerce-product-details__short-description p{margin:0}
body.single-product div.product div.summary .woocommerce-product-details__short-description p+p{margin-top:1rem}
/* bloc prix : bg-[#f8fafc] rounded-xl p-5 mb-6 */
body.single-product div.product div.summary .if-product__pricebox{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 1.5rem;padding:1.25rem;border-radius:.75rem;background:var(--if-bg)}
body.single-product div.product div.summary .if-product__price-label{display:block;margin:0 0 .25rem;font-size:.75rem;line-height:1rem;color:#6b7280}
/* si le plugin n'émet pas le libellé, on le restitue */
body.single-product div.product div.summary .if-product__pricebox:not(:has(.if-product__price-label)):not(:has(.if-price-on-request))::before{content:"Prix unitaire";display:block;margin:0 0 .25rem;font-size:.75rem;line-height:1rem;color:#6b7280}
body.single-product div.product div.summary .if-product__price{margin:0;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:var(--if-navy)}
body.single-product div.product div.summary .if-product__price .woocommerce-Price-amount,
body.single-product div.product div.summary .if-product__price .woocommerce-Price-amount bdi,
body.single-product div.product div.summary .if-product__price .woocommerce-Price-currencySymbol{font:inherit;color:inherit}
body.single-product div.product div.summary .if-product__tax{display:block;margin:.25rem 0 0;font-size:.75rem;line-height:1rem;color:#9ca3af}
/* prix sur demande : « Tarification personnalisée » (text-sm) / Prix sur demande (2xl bold) / note (text-xs) */
body.single-product div.product div.summary .if-product__pricebox:has(.if-price-on-request) .if-product__price-label{display:none}
body.single-product div.product div.summary .if-product__pricebox:has(.if-price-on-request)::before{content:"Tarification personnalisée";display:block;margin:0 0 .25rem;font-size:.875rem;line-height:1.25rem;color:#6b7280}
body.single-product div.product div.summary .if-product__pricebox .if-price-on-request{display:block;margin:0;font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy)}
body.single-product div.product div.summary .if-product__pricebox:has(.if-price-on-request) .if-product__tax{display:none}
body.single-product div.product div.summary .if-product__pricebox:has(.if-price-on-request)::after{content:"Contactez-nous pour un devis adapté à vos besoins.";display:block;margin:.25rem 0 0;font-size:.75rem;line-height:1rem;color:#9ca3af}
/* « En stock » : absent de l'original */
body.single-product div.product div.summary p.stock{display:none}

/* ---------- formulaire : bouton « + Ajouter au panier » pleine largeur (flex-1 py-3.5 px-6 rounded-xl text-sm semibold, shadow-lg sky/20) ---------- */
body.single-product div.product form.cart{display:flex;align-items:stretch;gap:.75rem;margin:0 0 1.5rem;padding:0}
/* clearfix WooCommerce (::before/::after display:table) = 2 éléments flex vides qui consommeraient 2 gaps */
body.single-product div.product form.cart::before,
body.single-product div.product form.cart::after{content:none;display:none}
/* l'original n'a pas de champ quantité : masqué (le champ reste dans le formulaire, valeur 1 envoyée ; la quantité se règle dans le panier) */
body.single-product div.product form.cart div.quantity{display:none}
body.single-product div.product form.cart .single_add_to_cart_button{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;float:none;width:100%;min-height:3rem;margin:0;padding:.875rem 1.5rem;border:0;border-radius:.75rem;background:var(--if-sky);color:#fff;font-family:inherit;font-size:.875rem;line-height:1.25rem;font-weight:600;letter-spacing:normal;text-transform:none;box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2);transition:all .2s ease;cursor:pointer;box-sizing:border-box}
body.single-product div.product form.cart .single_add_to_cart_button:hover{background:var(--if-sky-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2)}
body.single-product div.product form.cart .single_add_to_cart_button::before{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E") center/contain no-repeat}
/* état « chargement / ajouté » d'un ajout AJAX : pas de spinner WooCommerce collé au texte */
body.single-product div.product form.cart .single_add_to_cart_button.loading::after,
body.single-product div.product form.cart .single_add_to_cart_button.added::after{display:none}
/* lien « Voir le panier » (ajout AJAX) : contour sky comme l'original */
body.single-product div.product div.summary .added_to_cart{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3rem;margin:0 0 1.5rem;padding:.875rem 1.5rem;border:2px solid var(--if-sky);border-radius:.75rem;color:var(--if-sky);font-size:.875rem;font-weight:600;background:transparent;text-decoration:none}
body.single-product div.product div.summary .added_to_cart:hover{background:rgb(0 174 239 / .05)}

/* ---------- bouton « Demander un devis » (prix sur demande) : bg-gray-100 text-gray-700, pleine largeur, icône mail ---------- */
body.single-product div.product div.summary .if-product__quote{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin:0 0 1.5rem;padding:.875rem 1.5rem;min-height:3rem;border:0;border-radius:.75rem;background:#f3f4f6;color:#374151;font-size:.875rem;line-height:1.25rem;font-weight:600;text-decoration:none;box-shadow:none;box-sizing:border-box;transition:all .2s ease}
body.single-product div.product div.summary .if-product__quote:hover{background:#e5e7eb;color:#374151}
body.single-product div.product div.summary .if-product__quote::before{content:"";flex:none;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- réassurance : text-xs gray-400 centré ---------- */
body.single-product div.product div.summary p.if-product__reassurance{margin:0;font-size:.75rem;line-height:1rem;color:#9ca3af;text-align:center}

/* ---------- footer : les CSS WooCommerce mettent img{height:auto} → logo géant (même règle que dans panier.css) ---------- */
body.single-product #colophon .if-footer .if-footer__logo{height:40px;width:auto}

/* ===== Vague 3 : WooCommerce — panier ===== */
/* ===== Imag'In Fly — page panier (WooCommerce Blocks) =====
   Réf. : app/panier/page.tsx (Next/Tailwind). Objectif « proche » : mêmes couleurs,
   typo, rayons, cartes blanches sur fond #f8fafc, résumé à droite, bouton bleu ciel.
   Scopé sous body.woocommerce-cart ; les jetons --if-* viennent de 00-tokens.css. */

/* --- 1. Page : fond, conteneur (max-w-5xl = 1024 px comme l'original), padding vertical --- */
body.woocommerce-cart{background:var(--if-bg)}
body.woocommerce-cart #primary,
body.woocommerce-cart .content-container,
body.woocommerce-cart .entry.content-bg{background:transparent}
body.woocommerce-cart .entry-content.single-content{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;
  color:var(--if-ink);line-height:1.5;
  max-width:1024px;width:100%;box-sizing:border-box;margin-inline:auto;
  padding:1rem 1rem 4rem;min-height:calc(100vh - 80px)}
@media (min-width:640px){body.woocommerce-cart .entry-content.single-content{padding-inline:1.5rem}}
@media (min-width:1024px){body.woocommerce-cart .entry-content.single-content{padding-inline:2rem}}
/* le footer du thème enfant est sorti du conteneur (100vw) : on le laisse déborder */
body.woocommerce-cart .entry-content>.if-footer{margin-left:calc(50% - 50vw)}
/* bloc panier : plus d'alignwide pleine largeur */
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide{margin:0;width:100%;max-width:100%;padding:0}

/* --- 2. Titre « Mon panier » : vrai h1 rendu par le plugin (text-3xl font-bold navy mb-8) --- */
body.woocommerce-cart h1.if-cart-title,
body.woocommerce-cart .entry-content h1.if-cart-title{
  margin:0 0 2rem;padding:0;font-family:inherit;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:var(--if-navy)}
@media (max-width:639px){body.woocommerce-cart .entry-content h1.if-cart-title{font-size:1.5rem;line-height:2rem}}

/* --- 3. Grille 3 colonnes gap-8 : articles (2/3) + résumé (1/3) --- */
body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout{
  display:grid;grid-template-columns:calc((100% - 4rem) / 3 * 2 + 2rem) calc((100% - 4rem) / 3);
  column-gap:2rem;row-gap:0;align-items:start;margin:0;padding:0}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:auto;padding:0;margin:0;min-width:0}

/* --- 4. Lignes produit → cartes blanches (rounded-xl border-gray-100 shadow-sm p-5 flex gap-4) --- */
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items{display:block;border:0;border-spacing:0;margin:0;width:100%}
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items caption,
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items thead{display:none}
body.woocommerce-cart .wc-block-cart__main table.wc-block-cart-items tbody{display:flex;flex-direction:column;gap:1rem;width:100%}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{
  display:flex;gap:1rem;align-items:flex-start;width:100%;box-sizing:border-box;
  position:relative;background:#fff;border:1px solid #f3f4f6;border-radius:var(--if-radius-lg);box-shadow:var(--if-shadow-sm);
  padding:1.25rem;margin:0}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row>td{
  display:block;padding:0;border:0;vertical-align:top}
/* image 64×64 rounded-lg sur fond bleu ciel 10 % */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image{
  flex:0 0 4rem;width:4rem;height:4rem;padding:0;border-radius:var(--if-radius);overflow:hidden;background:rgb(0 174 239 / .1)}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image a{display:block;width:100%;height:100%}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img{
  display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:var(--if-radius)}
/* colonne détails */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{flex:1 1 auto;min-width:0;padding:0}
body.woocommerce-cart .wc-block-cart-item__wrap{display:flex;flex-direction:column;align-items:flex-start}
body.woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name{
  order:1;font-size:.875rem;line-height:1.375;font-weight:600;color:var(--if-navy);text-decoration:none}
body.woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name:hover{color:var(--if-sky);text-decoration:none}
body.woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-metadata{order:2;margin-top:.25rem;gap:0}
body.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__description>p{
  font-size:.75rem;line-height:1rem;color:var(--if-muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* prix unitaire : comme l'original, sous le total à droite (« CHF 199.– / pce ») ; le DOM WC le met dans
   la colonne produit → positionné en absolu dans la carte (top = padding 1.25rem + ligne total 1.5rem + .25rem) */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices{
  order:3;position:absolute;right:1.25rem;top:3rem;margin:0;font-size:.75rem;line-height:1rem;color:#9ca3af;white-space:nowrap}
/* badge catégorie (text-xs text-sky font-medium, au-dessus du nom) : élément à injecter en PHP avec la classe .if-cart-badge */
body.woocommerce-cart .wc-block-cart-item__wrap .if-cart-badge{order:0;display:block;font-size:.75rem;line-height:1rem;font-weight:500;color:var(--if-sky);margin-bottom:.125rem}
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price{font-size:inherit;color:inherit;font-weight:400}
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price::after{content:" / pce"}
/* ligne quantité + corbeille (flex gap-4 mt-3) */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity{
  order:4;display:flex;align-items:center;gap:1rem;margin-top:.75rem;padding:0}
body.woocommerce-cart .wc-block-components-quantity-selector:where(:has(input:not([type=hidden]))),
body.woocommerce-cart .wc-block-components-quantity-selector{
  display:flex;align-items:stretch;width:auto;border:1px solid var(--if-line);border-radius:var(--if-radius);overflow:hidden;background:#fff}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{
  min-width:0;width:2.25rem;padding:.375rem 0;font-size:1rem;line-height:1.5;color:var(--if-muted);opacity:1;border-radius:0;
  background:transparent;transition:background .15s}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover{background:#f9fafb;opacity:1}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus{box-shadow:none;background:#f9fafb}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled{opacity:.4}
body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{
  flex:0 0 auto;min-width:0;width:2.125rem;padding:.375rem 0;font-size:.875rem;line-height:1.5;font-weight:500;color:var(--if-navy);
  border-left:1px solid var(--if-line);border-right:1px solid var(--if-line);border-radius:0;background:#fff;box-shadow:none;height:auto}
body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus{box-shadow:none;outline:none}
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link{
  display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:#f87171;text-decoration:none;
  transition:color .15s;cursor:pointer}
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover{color:#dc2626;text-decoration:none;background:transparent}
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link svg{width:1.25rem;height:1.25rem;fill:currentColor}
/* total de la ligne (font-bold navy, à droite) */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{
  flex:0 0 auto;display:flex;justify-content:flex-end;align-items:flex-start;text-align:right;padding:0}
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value{
  font-size:1rem;line-height:1.5;font-weight:700;color:var(--if-navy)}

/* --- 5. Carte « Résumé » (bg-white rounded-xl border-gray-100 shadow-sm p-6 sticky top-28) --- */
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar{
  background:#fff;border:1px solid #f3f4f6;border-radius:var(--if-radius-lg);box-shadow:var(--if-shadow-sm);
  padding:1.5rem;box-sizing:border-box;position:sticky;top:7rem}
/* bordures/marges internes de WC entre les sous-blocs du résumé : supprimées */
body.woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-block{border:0;margin:0;font-size:inherit;line-height:inherit}
body.woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-totals-block{border:0;padding:0;margin:0}
/* titre du résumé (font-bold navy text-lg mb-5) — typographie seule ; le libellé est traité en §10 */
body.woocommerce-cart .wc-block-cart .wc-block-cart__totals-title{
  display:block;padding:0;margin:0 0 1.25rem;text-transform:none;text-align:left;
  font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--if-navy)}
/* codes promo : pas d'équivalent dans l'original → masqué */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block{display:none}
/* lignes du résumé (text-sm text-gray-600, valeur font-medium) */
body.woocommerce-cart .wc-block-cart .wc-block-components-totals-wrapper{border:0;padding:0;margin:0}
body.woocommerce-cart .wc-block-components-totals-item{font-size:.875rem;line-height:1.25rem;color:#4b5563;gap:.5rem}
body.woocommerce-cart .wc-block-components-totals-item__label{font-weight:400;color:#4b5563}
body.woocommerce-cart .wc-block-components-totals-item__value{font-weight:500;color:#4b5563}
body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item strong{text-transform:none;font-weight:500}
body.woocommerce-cart .wc-block-components-totals-item__description:empty{display:none}
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block+.wc-block-components-totals-wrapper,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block+.wc-block-components-totals-wrapper{
  border-top:1px solid #f3f4f6;margin-top:1rem;padding-top:1rem}
/* Total (font-bold navy) + mention TVA (text-xs gray-400 mt-1) */
body.woocommerce-cart .wc-block-components-totals-footer-item{gap:.5rem;row-gap:.25rem}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax-value{
  font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--if-navy)}
body.woocommerce-cart .wc-block-components-totals-footer-item::after{
  content:"Les prix sont en CHF, TVA incluse";display:block;width:100%;font-size:.75rem;line-height:1rem;font-weight:400;color:#9ca3af}

/* --- 6. Bouton « Procéder au paiement » (mt-6 w-full py-3.5 px-6 bg-sky rounded-lg shadow-lg shadow-sky/20) ;
        le libellé vient de l'attribut buttonLabel du bloc (réglé côté WP), on ajoute seulement la flèche --- */
body.woocommerce-cart .wc-block-cart__submit{margin:1.5rem 0 0;position:relative}
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container{padding:0}
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:not(.is-link){
  display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:0;height:auto;
  padding:.875rem 1rem;border:0;border-radius:var(--if-radius);white-space:nowrap;
  background:var(--if-sky);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration:none;
  box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2);
  transition:all .2s ease}
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:not(.is-link):hover{
  background:var(--if-sky-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2)}
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:not(.is-link):focus{box-shadow:0 0 0 3px rgb(0 174 239 / .35);outline:0}
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;line-height:1.5rem}
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text::after{
  content:"";width:1rem;height:1rem;flex:0 0 1rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") no-repeat center/contain}
body.woocommerce-cart .wc-block-cart__submit-button--loading .wc-block-components-button__text{visibility:hidden}

/* --- 7. « Continuer mes achats » (mt-3 w-full px-6 py-2.5 text-sm gray-500 → sky) : dans le DOM c'est un <p> frère
        du bloc panier (après lui), pas dans la carte Résumé → on l'aligne sous la carte, dans la colonne de droite
        (même largeur que la colonne du résumé). Pour le mettre DANS la carte : déplacer le <p> côté PHP/JS (voir rapport). --- */
body.woocommerce-cart .entry-content p.if-cart-continue{
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  width:calc((100% - 4rem) / 3);margin:.75rem 0 0 auto;padding:.625rem 1.5rem;
  font-size:.875rem;line-height:1.25rem;color:var(--if-muted);text-align:center}
body.woocommerce-cart .entry-content p.if-cart-continue a{
  color:var(--if-muted);text-decoration:none;font-weight:400;transition:color .15s;box-shadow:none;border:0}
body.woocommerce-cart .entry-content p.if-cart-continue a:hover,
body.woocommerce-cart .entry-content p.if-cart-continue a:focus{color:var(--if-sky);text-decoration:none}

/* --- 8. Panier vide (centré) --- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{text-align:center;padding:4rem 0}

/* --- 9. Mobile (< 1024 px : empilement ; l'original passe en 1 colonne sous lg) --- */
@media (max-width:1023px){
  body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout{grid-template-columns:100%;row-gap:2rem}
  body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar{position:static}
  body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title{display:block}
  body.woocommerce-cart .entry-content p.if-cart-continue{width:100%;margin-left:0}
}
@media (max-width:639px){
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{flex-wrap:wrap;padding:1rem}
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{flex:1 1 0;min-width:0}
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{
    flex:1 0 100%;justify-content:flex-end;padding-top:.75rem;border-top:1px solid #f3f4f6}
  body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices{position:static;margin-top:.25rem}
  body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar{padding:1.25rem}
}

/* --- 10. Libellés WooCommerce sans équivalent dans l'original — SUBSTITUTIONS TEMPORAIRES, à supprimer une fois
        le filtre gettext posé dans le plugin (« Cart totals » → « Résumé », « Estimated total » → « Total »).
        Technique : le texte d'origine est en visibility:hidden (retiré de l'arbre d'accessibilité, mais il réserve
        la place) et le texte de remplacement est un ::before visible, en absolu par-dessus → un seul libellé lu. --- */
body.woocommerce-cart .wc-block-cart .wc-block-cart__totals-title{position:relative;visibility:hidden;white-space:nowrap}
body.woocommerce-cart .wc-block-cart .wc-block-cart__totals-title::before{
  content:"Résumé";visibility:visible;position:absolute;left:0;top:0;font:inherit;color:var(--if-navy)}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{position:relative;visibility:hidden;white-space:nowrap}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label::before{
  content:"Total";visibility:visible;position:absolute;left:0;top:0;font:inherit;color:var(--if-navy)}

/* --- 11. Logo du footer : les CSS WooCommerce mettent img{height:auto} sur les pages boutique --- */
#colophon .if-footer .if-footer__logo{height:40px;width:auto}

/* ===== Vague 3 : WooCommerce — checkout ===== */
/* ===== Imag'In Fly — page « Commander » (WooCommerce Blocks checkout) =====
   Scopé sous body.woocommerce-checkout. Jetons --if-* définis dans 00-tokens.css.
   Original : max-w-6xl (1152 px) mx-auto px-4/6/8, grille 3/5 + 2/5 gap-8,
   cartes blanches rounded-xl border-gray-100 shadow-sm p-6,
   champs border-gray-200 rounded-lg px-3 py-2.5 text-sm, focus sky. */

/* ---------- page : fond, conteneur, titre ---------- */
body.woocommerce-checkout #inner-wrap{background:var(--if-bg)}
body.woocommerce-checkout .entry-content{
  max-width:72rem;margin-inline:auto;width:100%;box-sizing:border-box;
  padding:1rem 1rem 4rem;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;color:var(--if-navy);font-size:.875rem;line-height:1.5;
}
@media (min-width:640px){body.woocommerce-checkout .entry-content{padding-inline:1.5rem}}
@media (min-width:1024px){body.woocommerce-checkout .entry-content{padding-inline:2rem}}
body.woocommerce-checkout .wp-block-woocommerce-checkout{padding-top:0;margin:0}
/* lien « ← Retour au panier » (bloc p.if-checkout-back injecté par le plugin) :
   inline-flex items-center gap-2 text-sm text-gray-500 hover:text-sky mb-8 */
body.woocommerce-checkout .entry-content p.if-checkout-back{
  margin:0 0 2rem;padding:0;font-size:.875rem;line-height:1.25rem;font-weight:400;color:#6b7280;
}
body.woocommerce-checkout .entry-content p.if-checkout-back a{
  display:inline-flex;align-items:center;gap:.5rem;color:#6b7280;text-decoration:none;
  box-shadow:none;border:0;transition:color .15s ease;
}
body.woocommerce-checkout .entry-content p.if-checkout-back a:hover,
body.woocommerce-checkout .entry-content p.if-checkout-back a:focus{color:var(--if-sky);text-decoration:none}
/* h1 « Finaliser la commande » réel (bloc h1.if-checkout-title) : text-2xl sm:text-3xl font-bold mb-8 */
body.woocommerce-checkout .entry-content h1.if-checkout-title{
  font-family:inherit;font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);
  margin:0 0 2rem;padding:0;letter-spacing:0;
}
@media (min-width:640px){body.woocommerce-checkout .entry-content h1.if-checkout-title{font-size:1.875rem;line-height:2.25rem}}

/* ---------- grille 3/5 + 2/5 ---------- */
body.woocommerce-checkout .wc-block-components-sidebar-layout{
  display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:2rem;align-items:start;margin:0;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:auto;padding:0;margin:0;min-width:0}
body.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{position:sticky;top:7rem}

/* ---------- cartes blanches (une par étape) ---------- */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step{
  background:#fff;border:1px solid #f3f4f6;border-radius:var(--if-radius-lg);
  box-shadow:var(--if-shadow-sm);padding:1.5rem;margin:0 0 1.5rem;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container{margin-bottom:1.25rem;gap:.25rem}
body.woocommerce-checkout h2.wc-block-components-checkout-step__title{
  font-family:inherit;font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--if-navy);margin:0;padding:0;letter-spacing:0;text-transform:none;
}
body.woocommerce-checkout .wc-block-components-checkout-step__content>*{margin-bottom:1rem}
body.woocommerce-checkout .wc-block-components-checkout-step__content>:last-child{margin-bottom:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice{font-size:.75rem;line-height:1rem;color:#9ca3af;margin:.5rem 0 0}

/* ---------- champs texte : libellé au-dessus, bordure gris-200, rayon 8 px ---------- */
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input{
  display:flex;flex-direction:column-reverse;line-height:1.5;margin-top:1rem;white-space:normal;
}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input:first-of-type,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-checkout-step .wc-block-components-text-input:first-of-type{margin-top:0}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input label{
  position:static;transform:none;font-size:.75rem;line-height:1rem;font-weight:500;color:#374151;
  margin:0 0 .375rem;max-width:none;left:auto;top:auto;transition:none;cursor:default;
}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input input[type],
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input.is-active input[type]{
  height:auto;min-height:0;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;
  border:1px solid #e5e7eb;border-radius:var(--if-radius);background:#fff;color:var(--if-navy);
  box-shadow:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;
}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input input[type]:focus,
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input.is-active input[type]:focus{
  outline:none;border:1px solid var(--if-sky);padding:.625rem .75rem;box-shadow:0 0 0 2px rgb(0 174 239 / .3);
}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input.has-error input[type],
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-text-input.has-error input[type]:focus{border-color:#cc1818;box-shadow:none}
body.woocommerce-checkout .wc-block-components-validation-error{font-size:.75rem}
/* listes déroulantes (pays, canton) */
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select{margin-top:1rem}
body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select{margin-top:0}
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select__container{display:flex;flex-direction:column;line-height:1.5;border-radius:var(--if-radius)}
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select__label{
  position:static;font-size:.75rem;line-height:1rem;font-weight:500;color:#374151;margin:0 0 .375rem;max-width:none;white-space:normal;
}
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select .wc-blocks-components-select__select:focus{
  height:auto;padding:.625rem 2.25rem .625rem .75rem;font-size:.875rem;line-height:1.25rem;
  border:1px solid #e5e7eb;border-radius:var(--if-radius);color:var(--if-navy);background:#fff;font-family:inherit;
}
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select .wc-blocks-components-select__select:focus{
  outline:none;border-color:var(--if-sky);box-shadow:0 0 0 2px rgb(0 174 239 / .3);
}
body.woocommerce-checkout .wc-block-checkout__form .wc-blocks-components-select__expand{top:auto;bottom:.5rem;transform:none;right:.5rem;fill:#374151}
/* « + Ajouter appartement… » */
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{font-size:.75rem;line-height:1rem;color:var(--if-sky);margin-top:.75rem;font-weight:500}
/* grille adresse : gap 1rem comme gap-4 */
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form{display:flex;flex-wrap:wrap;gap:0 1rem;justify-content:space-between;align-items:flex-end}
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-state-input,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-state-input{box-sizing:border-box;flex:1 0 calc(50% - 1rem);min-width:0}
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__address_1,
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__address_2,
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__company,
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__address_1,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__address_2,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__company,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-checkbox{flex:0 0 100%}
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-country-input+.wc-block-components-text-input,
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-country-input+.wc-block-components-text-input+.wc-block-components-text-input,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-country-input+.wc-block-components-text-input,
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-country-input+.wc-block-components-text-input+.wc-block-components-text-input{margin-top:1rem}
/* carte adresse (mode lecture après saisie) */
body.woocommerce-checkout .wc-block-components-address-card{border-color:#e5e7eb;border-radius:var(--if-radius);font-size:.875rem;color:var(--if-navy)}
body.woocommerce-checkout .wc-block-components-address-card__edit{color:var(--if-sky);font-weight:500}

/* ---------- cases à cocher / boutons radio ---------- */
body.woocommerce-checkout .wc-block-components-checkbox label{font-size:.875rem;line-height:1.25rem;color:#374151;align-items:center}
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{border-color:#d1d5db;border-radius:.25rem}
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--if-sky);border-color:var(--if-sky)}
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:#fff;color:#fff}
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus{outline:2px solid rgb(0 174 239 / .3);outline-offset:1px}
body.woocommerce-checkout .wc-block-checkout__use-address-for-billing{margin-top:1rem}
body.woocommerce-checkout .wc-block-components-radio-control{border:1px solid #e5e7eb;border-radius:var(--if-radius);overflow:hidden;background:#fff}
body.woocommerce-checkout .wc-block-components-radio-control__option{padding:.875rem 1rem .875rem 2.75rem;font-size:.875rem;line-height:1.25rem;color:var(--if-navy)}
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted{
  border-radius:var(--if-radius);box-shadow:inset 0 0 0 1px var(--if-sky);background:rgb(0 174 239 / .04);
}
body.woocommerce-checkout .wc-block-components-radio-control__input{border-color:#d1d5db}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked{border-color:var(--if-sky)}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked:before{background:var(--if-sky)}
body.woocommerce-checkout .wc-block-components-radio-control__label{font-weight:500}
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label{font-size:.875rem;color:var(--if-navy);font-weight:600}
body.woocommerce-checkout .wc-block-checkout__shipping-option--free{color:var(--if-sky)}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{font-size:.8125rem;line-height:1.25rem;color:#6b7280;padding:0 1rem 1rem 2.75rem}
body.woocommerce-checkout .wc-block-components-payment-method-label{font-weight:500}
/* étape « note de commande » : carte sans titre */
body.woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-textarea{
  border:1px solid #e5e7eb;border-radius:var(--if-radius);padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-family:inherit;color:var(--if-navy);resize:none;
}
body.woocommerce-checkout .wc-block-checkout__order-notes .wc-block-components-textarea:focus{outline:none;border-color:var(--if-sky);box-shadow:0 0 0 2px rgb(0 174 239 / .3)}
body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-textarea{margin-top:1rem}

/* ---------- CG + bouton « Payer » ---------- */
body.woocommerce-checkout .wc-block-checkout__terms,
body.woocommerce-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator{
  border-top:0;padding-top:0;margin:0 0 1rem;font-size:.75rem;line-height:1.25rem;color:#9ca3af;
}
body.woocommerce-checkout .wc-block-checkout__terms a{color:var(--if-sky);text-decoration:none;font-weight:500}
body.woocommerce-checkout .wc-block-checkout__terms a:hover{text-decoration:underline}
body.woocommerce-checkout .wc-block-checkout__actions{margin-bottom:0}
body.woocommerce-checkout .wc-block-checkout__actions .wc-block-checkout__actions_row{justify-content:stretch}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button.contained{
  width:100%;background:var(--if-sky);color:#fff;border:0;border-radius:var(--if-radius);
  padding:.875rem 1.5rem;font-family:inherit;font-size:1rem;line-height:1.5rem;font-weight:700;letter-spacing:0;text-transform:none;
  box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2);
  transition:all .2s ease;min-height:0;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus{background:var(--if-sky-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgb(0 174 239 / .2),0 4px 6px -4px rgb(0 174 239 / .2)}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled{opacity:.6;cursor:not-allowed;transform:none}
/* libellé : « Payer » vient de l'attribut placeOrderButtonLabel du bloc (réglé côté PHP) ; on ajoute seulement
   l'icône carte (lucide credit-card 16 px, gap-2) devant le texte. Le montant « CHF … » : voir php_needed (showPrice). */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;line-height:1.5rem;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text::before{
  content:"";width:1rem;height:1rem;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='14' x='2' y='5' rx='2'/><line x1='2' x2='22' y1='10' y2='10'/></svg>") center/contain no-repeat;
}
/* si showPrice est activé sur le bloc actions : « Payer · CHF 398.– » sur une ligne, même graisse */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button__separator{margin:0;font-weight:400;opacity:.8}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button__price,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button__price .wc-block-components-formatted-money-amount{font-weight:700;font-size:1rem}

/* ---------- colonne de droite : récapitulatif ---------- */
body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{
  background:#fff;border:1px solid #f3f4f6;border-radius:var(--if-radius-lg);box-shadow:var(--if-shadow-sm);padding:1.5rem;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title{
  margin:0 0 1.25rem;padding:0;border:0;cursor:default;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text{
  font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--if-navy);margin:0;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-price{font-weight:700;color:var(--if-navy);font-size:.875rem}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-icon{color:var(--if-navy)}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper{padding:0;border:0}
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary{margin:0}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary__content{display:flex;flex-direction:column;gap:.75rem;max-height:16rem;overflow-y:auto}
/* ligne article : vignette 40 px arrondie, nom 12 px, total 12 px */
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item{align-items:flex-start;gap:.75rem;padding:0}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image{width:2.5rem;margin:0;padding:0;flex:none}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image>img{width:2.5rem;max-width:2.5rem;height:2.5rem;object-fit:cover;border-radius:var(--if-radius);background:rgb(0 174 239 / .1)}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity{
  background:var(--if-sky);min-width:1.125rem;min-height:1.125rem;font-size:.6875rem;font-weight:600;transform:translate(40%,-40%);
}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span{color:#fff;padding:0 .3em}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description{padding:0;gap:.125rem;flex:1 1 auto;min-width:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-product-name{
  font-size:.75rem;line-height:1.375;font-weight:500;color:var(--if-navy);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices{font-size:.75rem;color:#9ca3af;font-weight:400}
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices .wc-block-components-product-price__value{font-weight:400;color:#9ca3af}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price{padding:0;font-size:.75rem;font-weight:600;color:var(--if-navy);flex:none}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value{font-weight:600;font-size:.75rem}
/* description produit dans le récap : absente de l'original → masquée */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-product-metadata{display:none}
/* code promo : absent de l'original → masqué */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block{display:none}
/* sous-total / livraison : petites lignes grises ; total : gras navy */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper{border-top:1px solid #f3f4f6;margin-top:1rem;padding:1rem 0 0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper{border:0;margin:0;padding:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block{border-top:1px solid #f3f4f6;margin-top:1rem;padding-top:1rem;display:flex;flex-direction:column;gap:.375rem}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper:empty{display:none}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item{padding:0;font-size:.8125rem;line-height:1.25rem;color:#6b7280;gap:.25rem}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__value{font-weight:500;color:#404040}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__description:empty{display:none}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item){padding-top:.75rem;margin-top:.5rem}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item{margin:0;padding:0;flex-wrap:wrap}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:1rem;line-height:1.75rem;font-weight:700;color:var(--if-navy)}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--if-navy)}
/* « Les prix sont en CHF, TVA incluse » sous le total */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item::after{
  content:"Les prix sont en CHF, TVA incluse";flex:0 0 100%;font-size:.75rem;line-height:1rem;color:#9ca3af;font-weight:400;margin-top:.25rem;
}
/* encart « Paiement sécurisé via Payrexx » (fond #f8fafc, rounded-xl, p-4) : deux pseudo-éléments —
   le titre avec cadenas (::after du contenu, décalé dans l'encart par marge négative) et la phrase grise (::after de la carte).
   Les pastilles Visa / Mastercard / TWINT / PostFinance : voir php_needed. */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content{border-bottom:0}
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content::after{
  content:"Paiement sécurisé via Payrexx";display:block;position:relative;z-index:1;
  margin:1.25rem 0 -2rem;padding:1rem 1rem 0 2.5rem;
  font-size:.75rem;line-height:1rem;font-weight:600;color:var(--if-navy);
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300AEEF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='18' height='11' x='3' y='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") 1rem 1rem/.875rem .875rem no-repeat;
}
body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block::after{
  content:"Vous serez redirigé vers la page de paiement Payrexx après confirmation.";display:block;
  background:var(--if-bg);border-radius:var(--if-radius-lg);padding:2.75rem 1rem 1rem;
  font-size:.75rem;line-height:1.625;font-weight:400;color:#9ca3af;
}

/* ---------- pied de page : le CSS WooCommerce met img{height:auto} → logo géant ---------- */
body.woocommerce-checkout #colophon .if-footer .if-footer__logo{height:40px;width:auto}

/* ---------- mobile ---------- */
@media (max-width:1023px){
  body.woocommerce-checkout .wc-block-components-sidebar-layout{grid-template-columns:1fr;gap:1.5rem}
  body.woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{position:static}
  body.woocommerce-checkout .wc-block-checkout__sidebar{order:0;margin-bottom:0}
  body.woocommerce-checkout .wc-block-checkout__main{order:1}
}
/* < 700 px de conteneur : WooCommerce replie le récap (titre cliquable + montant + chevron) et en duplique un
   au-dessus du bouton (« fill », rendu en squelette) → on masque le doublon et on force le récap ouvert */
body.woocommerce-checkout .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper{display:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content{display:block;border-bottom:0}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title.is-open{border:0;padding:0;margin:0 0 1.25rem;cursor:default;pointer-events:none}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-price,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-icon{display:none}
@media (max-width:639px){
  body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{padding:1.25rem}
  body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary__content{max-height:none}
  body.woocommerce-checkout .wc-block-components-radio-control__option{padding-left:2.5rem}
  body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{padding-left:2.5rem}
}

/* ===== Vague 3 : WooCommerce — commande reçue (page /commander/order-received/) ===== */
body.woocommerce-order-received .if-checkout-back,body.woocommerce-order-received .if-checkout-title{display:none}
body.woocommerce-order-received .entry-content.single-content{max-width:56rem;margin-inline:auto;padding:3rem 1rem 4rem}
body.woocommerce-order-received .if-thankyou{max-width:28rem;margin:1rem auto 3rem;text-align:center}
body.woocommerce-order-received .if-thankyou__icon{width:5rem;height:5rem;border-radius:9999px;background:#f0fdf4;color:#22c55e;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
body.woocommerce-order-received .if-thankyou.is-pending .if-thankyou__icon{background:#fffbeb;color:#f59e0b}
body.woocommerce-order-received .if-thankyou__title{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--if-navy);margin:0 0 .75rem}
body.woocommerce-order-received .if-thankyou__text{font-size:.875rem;line-height:1.625;color:#6b7280;margin:0 0 2rem}
body.woocommerce-order-received .if-thankyou__ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--if-sky);font-weight:600}
body.woocommerce-order-received .if-thankyou__note{display:flex;gap:.75rem;align-items:flex-start;text-align:left;background:rgb(0 174 239 / .05);border:1px solid rgb(0 174 239 / .2);border-radius:.75rem;padding:1rem;margin:0 0 2rem;color:var(--if-sky)}
body.woocommerce-order-received .if-thankyou__note svg{flex:none;margin-top:.125rem}
body.woocommerce-order-received .if-thankyou__note p{margin:0;font-size:.75rem;line-height:1.625;color:var(--if-navy)}
body.woocommerce-order-received .if-thankyou__btn{width:100%;padding:.875rem 1.5rem;font-weight:700;box-shadow:0 10px 15px -3px rgb(0 174 239 / .2)}
body.woocommerce-order-received .woocommerce-order-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;margin:0 0 2rem;padding:0;background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;padding:1.25rem}
body.woocommerce-order-received .woocommerce-order-overview li{float:none;border:0;margin:0;padding:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}
body.woocommerce-order-received .woocommerce-order-overview::before,body.woocommerce-order-received .woocommerce-order-overview::after{display:none}
body.woocommerce-order-received .woocommerce-order-overview li strong{display:block;font-size:1rem;text-transform:none;letter-spacing:0;color:var(--if-navy);margin-top:.25rem}
body.woocommerce-order-received .woocommerce-order-details,body.woocommerce-order-received .woocommerce-customer-details{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}
body.woocommerce-order-received .woocommerce-order-details__title,body.woocommerce-order-received .woocommerce-column__title{font-size:1.125rem;font-weight:700;color:var(--if-navy);margin:0 0 1rem}
body.woocommerce-order-received table.woocommerce-table{border:0;font-size:.875rem}
body.woocommerce-order-received table.woocommerce-table th,body.woocommerce-order-received table.woocommerce-table td{border-color:#f3f4f6;padding:.6rem .5rem}
body.woocommerce-order-received .woocommerce-customer-details address{font-style:normal;border:0;padding:0;font-size:.875rem;line-height:1.625;color:#4b5563}

/* header collant : fond blanc garanti sur toutes les pages (signalé par les agents : transparent hors accueil) */
#masthead .site-main-header-wrap .site-header-row-container-inner,#masthead .site-main-header-inner-wrap{background:#fff}

/* ===== Kadence : header / footer / page ===== */
#colophon .site-footer-row-container{background:var(--if-navy)}
#colophon .site-footer-row-container .site-container{max-width:none;padding:0}
#colophon .site-footer-row{padding:0;min-height:0}
#colophon .footer-widget-area .widget{margin:0}
#colophon .footer-widget-area .widget-title{display:none}
#colophon .site-middle-footer-inner-wrap{padding:0;gap:0}
#colophon .textwidget{margin:0}
#colophon .if-footer{text-align:left}
/* header : police, espacement des liens (space-x-8, text-sm font-medium), ombre au défilement */
#masthead{font-family:Inter,sans-serif}
#masthead .site-header-row-container{transition:box-shadow .3s}
#masthead .primary-menu-container>ul>li>a{font-size:14px;font-weight:500;padding:.6em 1em;letter-spacing:0}
#masthead .primary-menu-container>ul>li.current-menu-item>a{color:#404040}
#masthead .primary-menu-container>ul>li:hover>a{color:var(--if-sky)}
#masthead .header-button-wrap .button{box-shadow:none}
#masthead .header-cart-wrap{margin-left:8px}
/* menu mobile (tiroir Kadence) : fond blanc, liens navy, sous-menu indenté, comme l'accordéon d'origine */
#mobile-drawer .drawer-inner{background:#fff;color:var(--if-ink)}
#mobile-drawer .drawer-header .drawer-toggle{color:var(--if-ink-2)}
#mobile-drawer .mobile-navigation a{color:var(--if-ink);font-weight:500;padding:.75rem .5rem;border-radius:8px}
#mobile-drawer .mobile-navigation a:hover,#mobile-drawer .mobile-navigation .current-menu-item>.drawer-nav-drop-wrap>a,#mobile-drawer .mobile-navigation li.current-menu-item>a{color:var(--if-sky);background:var(--if-sky-soft)}
#mobile-drawer .mobile-navigation ul ul a{font-size:14px;color:var(--if-ink-2)}
#mobile-drawer .mobile-navigation ul ul li.if-menu-all a{color:var(--if-sky);font-weight:600}
#mobile-drawer .mobile-navigation li{border-color:#f3f4f6!important}
#mobile-drawer .drawer-content .mobile-button .button{width:100%;text-align:center;border-radius:8px;font-weight:600}
/* sous-menu Services : carte blanche arrondie, ombre, liens à 14 px */
#masthead .primary-menu-container ul ul.sub-menu{padding:.5rem;border-radius:12px;overflow:hidden}
#masthead .primary-menu-container ul ul.sub-menu li a{border-radius:8px;font-size:14px;padding:.6em .9em}
#masthead .primary-menu-container ul ul.sub-menu li.if-menu-all{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f3f4f6}
#masthead .primary-menu-container ul ul.sub-menu li.if-menu-all a{color:var(--if-sky);font-weight:600}
