/*
Theme Name: Gwen Services
Theme URI: https://alliancegroupe-inc.com/templates-wordpress
Author: AGthèmes
Author URI: https://alliancegroupe-inc.com
Description: Site sur-mesure de Gwen Services — aide a domicile a Nantes (personnes agees, handicap leger, garde d'enfants). Theme dedie synchronise a GitHub, isole du template vendu. Palette vert doux et beige.
Version: 1.3.8
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ag-gwen-services
Tags: one-column, custom-menu, featured-images, translation-ready, theme-options, custom-colors, custom-logo, threaded-comments, right-sidebar, block-styles, wide-blocks
*/

/* ============================================================
   AG Starter Domicile - Feuille de style (version basique)
   ============================================================ */

/* ----- Reset ----- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #e8e2d4;
    background: #14140f;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: #86c78f;
    text-decoration: underline;
}

ul,
ol {
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    line-height: 1.25;
    color: #f6f1e4;
    margin-bottom: 0.6em;
}

p {
    margin-bottom: 1em;
}

/* ----- Accessibility ----- */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #86c78f;
    clip: auto !important;
    color: #14140f;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    padding: 12px 20px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* ----- Layout ----- */
.ag-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* ----- Header ----- */
.ag-site-header {
    padding: 1rem 0;
    border-bottom: 1px solid #332f22;
}

.ag-site-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.ag-site-brand {
    font-size: 1.2rem;
    font-weight: 700;
    color: #86c78f;
    text-transform: uppercase;
}

.ag-site-brand a {
    color: inherit;
    text-decoration: none;
}

/* ----- Menu ----- */
.ag-primary-menu {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.ag-primary-menu a {
    color: #d0c9b8;
    font-size: 0.95rem;
    text-decoration: none;
}

/* ----- Hero ----- */
.ag-hero {
    text-align: center;
    padding: 3rem 1rem;
    background: #1d1c15;
    border-bottom: 1px solid #332f22;
}

.ag-hero__title {
    font-size: 1.8rem;
    margin-bottom: 0.75rem;
}

.ag-hero__title span {
    color: #86c78f;
}

.ag-hero__subtitle {
    font-size: 1rem;
    color: #b0a892;
    margin-bottom: 1.5rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.ag-btn {
    display: inline-block;
    padding: 0.7rem 1.5rem;
    background: #86c78f;
    color: #14140f;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

/* ----- Cards ----- */
.ag-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.25rem;
    padding: 2.5rem 0;
}

.ag-card {
    background: #1d1c15;
    border: 1px solid #332f22;
    padding: 1.5rem;
    text-align: center;
}

.ag-card h2 {
    font-size: 1.2rem;
    color: #86c78f;
    margin-bottom: 0.5rem;
}

.ag-card p {
    color: #b0a892;
    font-size: 0.9rem;
    margin-bottom: 0;
}

/* ----- Info section ----- */
.ag-info {
    padding: 2.5rem 0;
    text-align: center;
    border-top: 1px solid #332f22;
    border-bottom: 1px solid #332f22;
}

.ag-info h2 {
    font-size: 1.4rem;
    color: #86c78f;
    margin-bottom: 1rem;
}

.ag-info p {
    color: #b0a892;
    max-width: 640px;
    margin: 0 auto 1rem;
}

/* ----- Main / posts ----- */
.ag-main {
    padding: 2rem 0;
}

.ag-main article {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #332f22;
}

.ag-main article:last-child {
    border-bottom: none;
}

.ag-entry-title {
    font-size: 1.5rem;
    margin-bottom: 0.4rem;
}

.ag-entry-title a {
    color: #f6f1e4;
    text-decoration: none;
}

.ag-entry-meta {
    font-size: 0.82rem;
    color: #8f8776;
    margin-bottom: 0.8rem;
}

.ag-entry-content {
    color: #c0c0c0;
}

.ag-entry-content a {
    color: #86c78f;
}

.ag-entry-content blockquote {
    border-left: 3px solid #86c78f;
    padding: 0.4rem 1rem;
    margin: 1rem 0;
    color: #b0a892;
}

.ag-entry-content pre,
.ag-entry-content code {
    background: #1d1c15;
    padding: 0.15rem 0.35rem;
    font-family: Menlo, Consolas, monospace;
    font-size: 0.9em;
}

.ag-entry-content pre {
    padding: 1rem;
    overflow-x: auto;
}

/* ----- Comments ----- */
.ag-comments {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #332f22;
}

.ag-comments h2 {
    font-size: 1.15rem;
    margin-bottom: 1rem;
}

.ag-comments ol {
    padding-left: 0;
}

.ag-comments .comment {
    padding: 0.75rem 0;
    border-bottom: 1px solid #332f22;
}

.ag-comments .children {
    padding-left: 1.25rem;
    border-left: 1px solid #332f22;
    margin-top: 0.75rem;
}

.ag-comments .comment-author {
    font-weight: 700;
    color: #86c78f;
}

.ag-comments input[type="text"],
.ag-comments input[type="email"],
.ag-comments input[type="url"],
.ag-comments textarea {
    width: 100%;
    padding: 0.6rem;
    background: #1d1c15;
    border: 1px solid #332f22;
    color: #e8e2d4;
    margin-bottom: 0.75rem;
    font-family: inherit;
}

.ag-comments input[type="submit"] {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    background: #86c78f;
    color: #14140f;
    font-weight: 700;
    border: none;
    cursor: pointer;
}

/* ----- Sidebar ----- */
.ag-sidebar {
    padding: 2rem 0;
    border-top: 1px solid #332f22;
}

.ag-widget {
    margin-bottom: 1.5rem;
}

.ag-widget-title {
    font-size: 1rem;
    color: #86c78f;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.ag-widget ul {
    padding-left: 0;
}

.ag-widget li {
    padding: 0.3rem 0;
    border-bottom: 1px solid #332f22;
    color: #b0a892;
}

.ag-widget li:last-child {
    border-bottom: none;
}

/* ----- Search form ----- */
.ag-search-form {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}

.ag-search-form input[type="search"] {
    flex: 1;
    padding: 0.5rem 0.7rem;
    background: #1d1c15;
    border: 1px solid #332f22;
    color: #e8e2d4;
    font-family: inherit;
}

.ag-search-form input[type="submit"] {
    padding: 0.5rem 1rem;
    background: #86c78f;
    color: #14140f;
    font-weight: 700;
    border: none;
    cursor: pointer;
}

/* ----- Pagination ----- */
.ag-pagination {
    display: flex;
    gap: 0.35rem;
    justify-content: center;
    padding: 1.5rem 0;
}

.ag-pagination a,
.ag-pagination span {
    padding: 0.35rem 0.75rem;
    border: 1px solid #332f22;
    color: #d0c9b8;
}

.ag-pagination .current {
    background: #86c78f;
    color: #14140f;
    border-color: #86c78f;
}

/* ----- Footer ----- */
.ag-site-footer {
    border-top: 1px solid #332f22;
    padding: 2rem 0 1rem;
    margin-top: 2rem;
}

.ag-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.ag-footer-col h3 {
    color: #86c78f;
    font-size: 0.95rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.ag-footer-col p,
.ag-footer-col li {
    color: #8f8776;
    font-size: 0.88rem;
    line-height: 1.7;
}

.ag-footer-bottom {
    text-align: center;
    padding-top: 1rem;
    color: #666666;
    font-size: 0.82rem;
    border-top: 1px solid #332f22;
}

/* ----- WordPress core required ----- */
.alignleft {
    float: left;
    margin: 0 1rem 0.75rem 0;
}

.alignright {
    float: right;
    margin: 0 0 0.75rem 1rem;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignwide {
    max-width: 100%;
}

.alignfull {
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.wp-caption {
    max-width: 100%;
    margin-bottom: 0.75rem;
}

.wp-caption-text,
.gallery-caption {
    font-size: 0.82rem;
    color: #8f8776;
    text-align: center;
    padding-top: 0.3rem;
}

.bypostauthor {
    display: block;
}

.sticky {
    display: block;
}

/* ----- Responsive ----- */
@media (max-width: 600px) {
    .ag-site-header__inner {
        flex-direction: column;
        text-align: center;
    }

    .ag-primary-menu {
        justify-content: center;
        gap: 0.75rem;
    }

    .ag-hero {
        padding: 2rem 1rem;
    }

    .ag-hero__title {
        font-size: 1.5rem;
    }

    .ag-cards {
        padding: 1.5rem 0;
    }
}

/* Item actif du menu (page courante) : surligne en VIOLET #8B1A8B.
   La classe current-menu-item est posee par WordPress quand l'item de
   menu est lie a une page WP ; pour les liens custom, le JS du footer
   ajoute la classe en comparant l'URL active. */
.ag-primary-menu li.current-menu-item > a,
.ag-primary-menu li.current_page_item > a,
.ag-primary-menu li.current-menu-ancestor > a,
.ag-primary-nav li.current-menu-item > a,
.ag-primary-nav li.current_page_item > a,
.ag-primary-nav li.current-menu-ancestor > a {
    background: #8B1A8B !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
}


/* ════ PREMIUM SECTIONS portees depuis artisan ════ */
/* ── Grille services style meilleur-artisan.com ─────────────────── */
/* Activee uniquement si un preset metier a ete applique             */
.ag-services-grid-wrap{padding:60px 24px;background:#fafafa;border-radius:16px;margin:40px 0}
.ag-services-grid-header{text-align:center;max-width:680px;margin:0 auto 36px}
.ag-services-grid-title{font-size:2rem;font-weight:800;margin:0 0 12px;color:var(--ag-color-heading,#111)}
.ag-services-grid-title span{color:var(--ag-color-accent,#F37A1F)}
.ag-services-grid-lead{font-size:1.05rem;color:#666;margin:0;line-height:1.6}
.ag-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1180px;margin:0 auto}
@media (max-width:980px){.ag-services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ag-services-grid{grid-template-columns:1fr}}
.ag-service-card{background:#fff;border:1px solid #ececec;border-radius:12px;padding:28px 18px;text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:default}
.ag-service-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:var(--ag-color-accent,#F37A1F)}
.ag-service-card__icon{font-size:2.6rem;line-height:1;margin-bottom:14px}
.ag-service-card__title{font-size:1rem;font-weight:600;color:var(--ag-color-heading,#111);margin:0;line-height:1.35}

/* ════════════════════════════════════════════════════════════════════
   MODE PREMIUM (activé quand un preset métier est appliqué)
   Palette claire style meilleur-artisan.com : fond blanc, couleur accent
   forte sur les CTA, photos lifestyle dans le hero, sections aérées.
   ════════════════════════════════════════════════════════════════════ */
.ag-main--premium{background:#fff;color:#222}
.ag-main--premium h1,.ag-main--premium h2,.ag-main--premium h3{color:#1a1a1a}

/* ── Hero photo lifestyle ─────────────────────────────────────────── */
.ag-hero-pro{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center 20%;padding:80px 24px;color:#fff}
.ag-hero-pro .ag-container{max-width:900px}
.ag-hero-pro__title{font-size:3rem;font-weight:800;line-height:1.15;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);margin:0 0 18px}
.ag-hero-pro__title span{color:var(--ag-color-accent,#F37A1F);display:inline-block;border-bottom:4px solid var(--ag-color-accent,#F37A1F);padding-bottom:2px}
.ag-hero-pro__subtitle{font-size:1.2rem;color:rgba(255,255,255,.95);text-shadow:0 1px 6px rgba(0,0,0,.4);max-width:680px;margin:0 auto 28px;line-height:1.6}
.ag-btn-pro{display:inline-block;background:var(--ag-color-accent,#F37A1F);color:#fff!important;font-size:1.1rem;font-weight:700;padding:18px 38px;border-radius:50px;text-decoration:none!important;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.ag-btn-pro:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.3)}
@media (max-width:680px){.ag-hero-pro{min-height:420px;padding:60px 20px}.ag-hero-pro__title{font-size:2rem}.ag-hero-pro__subtitle{font-size:1rem}}

/* ── Section "Comment ça marche" ──────────────────────────────────── */
.ag-howit-wrap{padding:80px 24px;background:#fafafa}
.ag-howit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
@media (max-width:820px){.ag-howit-grid{grid-template-columns:1fr}}
.ag-howit-card{background:#fff;border:1px solid #ececec;border-radius:14px;padding:38px 24px;text-align:center;position:relative;transition:transform .2s ease,box-shadow .2s ease}
.ag-howit-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.ag-howit-num{position:absolute;top:-18px;left:50%;transform:translateX(-50%);background:var(--ag-color-accent,#F37A1F);color:#fff;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.ag-howit-emoji{font-size:3rem;line-height:1;margin:14px 0 16px}
.ag-howit-title{font-size:1.15rem;font-weight:700;color:#1a1a1a;margin:0 0 10px}
.ag-howit-desc{color:#555;font-size:.95rem;line-height:1.55;margin:0}

/* ── Section témoignages ──────────────────────────────────────────── */
.ag-testi-wrap{padding:80px 24px;background:#fff}
.ag-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
@media (max-width:820px){.ag-testi-grid{grid-template-columns:1fr}}
.ag-testi-card{background:#fafafa;border:1px solid #ececec;border-radius:14px;padding:32px 26px;text-align:left;transition:transform .2s ease,box-shadow .2s ease}
.ag-testi-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.07)}
.ag-testi-stars{color:#FFB400;font-size:1.15rem;letter-spacing:2px;margin-bottom:12px}
.ag-testi-text{color:#333;font-size:1rem;line-height:1.65;font-style:italic;margin:0 0 16px}
.ag-testi-author{color:#777;font-size:.9rem;margin:0}
.ag-testi-author strong{color:#1a1a1a}

/* ── FAQ accordéon ────────────────────────────────────────────────── */
.ag-faq-wrap{padding:80px 24px;background:#fafafa}
.ag-faq-container{max-width:820px}
.ag-faq-list{margin-top:24px}
.ag-faq-item{background:#fff;border:1px solid #ececec;border-radius:12px;margin-bottom:10px;overflow:hidden;transition:border-color .2s ease}
.ag-faq-item[open]{border-color:var(--ag-color-accent,#F37A1F)}
.ag-faq-q{padding:20px 24px;font-weight:600;color:#1a1a1a;cursor:pointer;list-style:none;position:relative;padding-right:50px}
.ag-faq-q::-webkit-details-marker{display:none}
.ag-faq-q::after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--ag-color-accent,#F37A1F);font-weight:300;transition:transform .2s ease}
.ag-faq-item[open] .ag-faq-q::after{content:'−'}
.ag-faq-a{padding:0 24px 20px;color:#555;line-height:1.65}

/* ── Override theme sombre quand preset metier applique ────────────── */
body.ag-premium-mode{background:#fff;color:#333}
body.ag-premium-mode .ag-site-header{background:#fff;border-bottom:1px solid #ececec}
body.ag-premium-mode .ag-site-brand{color:var(--ag-color-accent,#F37A1F)}
body.ag-premium-mode .ag-primary-menu a{color:#333;font-weight:500}
body.ag-premium-mode .ag-primary-menu a:hover{color:var(--ag-color-accent,#F37A1F)}
body.ag-premium-mode .ag-site-footer{background:#1a1a1a;color:#aaa}
body.ag-premium-mode a{color:var(--ag-color-accent,#F37A1F)}

/* ── Animations scroll-reveal ─────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
    .ag-anim{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
    .ag-anim.is-visible{opacity:1;transform:translateY(0)}
}

/* ── Hero parallax + override marge top sombre ────────────────────── */
body.ag-premium-mode .ag-hero-pro{background-attachment:fixed;margin-top:0!important}
@media (max-width:820px){body.ag-premium-mode .ag-hero-pro{background-attachment:scroll}}

/* ── Animation titre H2 ───────────────────────────────────────────── */
.ag-services-grid-title{position:relative;display:inline-block;animation:agTitleSlide .8s cubic-bezier(.2,.7,.2,1) both}
.ag-services-grid-title::after{content:'';position:absolute;left:50%;bottom:-10px;transform:translateX(-50%) scaleX(0);width:60px;height:3px;background:var(--ag-color-accent,#F37A1F);transform-origin:center;transition:transform .6s ease .2s}
.is-visible .ag-services-grid-title::after,.ag-anim.is-visible .ag-services-grid-title::after{transform:translateX(-50%) scaleX(1)}
@keyframes agTitleSlide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}

/* ── Service card cliquable (a au lieu de div) ────────────────────── */
a.ag-service-card{display:block;text-decoration:none!important;color:inherit!important;position:relative}
.ag-service-card__arrow{position:absolute;top:14px;right:14px;font-size:1.2rem;color:var(--ag-color-accent,#F37A1F);opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}
.ag-service-card:hover .ag-service-card__arrow{opacity:1;transform:translateX(0)}

/* ── Fix espace vide entre header et hero ─────────────────────────── */
body.ag-premium-mode .ag-main{padding-top:0!important}
body.ag-premium-mode .ag-main--premium{padding-top:0!important}
body.ag-premium-mode .ag-hero-pro{min-height:560px}

/* ── Menu actif : couleur accent (override violet du theme parent) ── */
body.ag-premium-mode .ag-primary-menu .current-menu-item a,
body.ag-premium-mode .ag-primary-menu .current_page_item a{color:var(--ag-color-accent,#F37A1F)!important;font-weight:700}

/* ════════════════════════════════════════════════════════════════════
   ANIMATIONS THÉMATIQUES PAR MÉTIER
   Active uniquement quand body a la classe ag-metier-<slug>
   ════════════════════════════════════════════════════════════════════ */

/* ── 🧱 MAÇON : mur de briques qui se construit en bas du hero ─── */
@keyframes agBrickPlace {
    0%   { opacity:0; transform:translateY(-40px) rotate(-8deg); }
    60%  { opacity:1; transform:translateY(4px) rotate(2deg); }
    100% { opacity:1; transform:translateY(0) rotate(0); }
}
body.ag-metier-macon .ag-hero-pro{position:relative;overflow:hidden}
body.ag-metier-macon .ag-hero-pro::after{
    content:'';position:absolute;left:0;right:0;bottom:0;height:60px;pointer-events:none;
    background-image:
        linear-gradient(90deg, #a0522d 0 calc(100%/6 - 4px), transparent calc(100%/6 - 4px)),
        linear-gradient(90deg, #8b4513 0 calc(100%/6 - 4px), transparent calc(100%/6 - 4px)),
        linear-gradient(90deg, #a0522d 0 calc(100%/6 - 4px), transparent calc(100%/6 - 4px));
    background-size: calc(100%/6) 20px, calc(100%/6) 20px, calc(100%/6) 20px;
    background-position: 0 60px, calc(100%/12) 40px, 0 20px;
    background-repeat: repeat-x;
    animation: agBrickWallRise 1.8s cubic-bezier(.2,.7,.2,1) .3s both;
}
@keyframes agBrickWallRise { from { transform: translateY(60px); opacity:0; } to { transform: translateY(0); opacity:.85; } }
/* Hover sur card service maçon : la brique de l'icône "tremble" puis se replace */
body.ag-metier-macon .ag-service-card:hover .ag-service-card__icon{animation:agBrickPlace .45s ease both}

/* ── ⚡ ÉLECTRICIEN : éclairs jaunes qui zappent en background hero ── */
@keyframes agSparkFlash {
    0%, 92%, 100% { opacity:0; }
    93%, 96%      { opacity:1; }
    94%, 97%      { opacity:0; }
}
body.ag-metier-electricien .ag-hero-pro{position:relative;overflow:hidden}
body.ag-metier-electricien .ag-hero-pro::before{
    content:'⚡⚡⚡';position:absolute;top:30%;left:-10%;font-size:4rem;letter-spacing:200px;color:#FFB400;
    text-shadow:0 0 30px rgba(255,180,0,.9);
    animation:agSparkFlash 3.5s infinite, agSparkMove 8s infinite linear;
    pointer-events:none;
}
@keyframes agSparkMove { from { transform: translateX(0); } to { transform: translateX(50%); } }
/* Hover : icône électricien zappe */
@keyframes agZap { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-12deg); } 75% { transform: rotate(12deg); } }
body.ag-metier-electricien .ag-service-card:hover .ag-service-card__icon{animation:agZap .35s ease infinite}

/* ── 🥖 BOULANGER : vapeur qui monte du hero ──────────────────── */
@keyframes agSteamRise {
    0%   { opacity:0; transform:translateY(20px) scale(1) ; }
    30%  { opacity:.6; }
    100% { opacity:0; transform:translateY(-80px) scale(2.4); }
}
body.ag-metier-boulanger .ag-hero-pro{position:relative;overflow:hidden}
body.ag-metier-boulanger .ag-hero-pro::after,
body.ag-metier-boulanger .ag-hero-pro::before{
    content:'';position:absolute;bottom:20px;width:40px;height:40px;border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.7) 0%, rgba(255,255,255,0) 70%);
    pointer-events:none;
    animation: agSteamRise 4s ease-in infinite;
}
body.ag-metier-boulanger .ag-hero-pro::before{left:25%;animation-delay:0s}
body.ag-metier-boulanger .ag-hero-pro::after{left:65%;animation-delay:1.5s}
/* Hover : icône qui "gonfle" comme une pâte */
@keyframes agPuff { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18); } }
body.ag-metier-boulanger .ag-service-card:hover .ag-service-card__icon{animation:agPuff .55s ease infinite}

/* ── 🛠️ MULTISERVICES : outils flottants en background ──────────── */
@keyframes agFloat { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(8deg); } }
body.ag-metier-multiservice .ag-hero-pro::before{
    content:'🔧 🔨 🪛 🧰 ⚙️ 🪚';position:absolute;top:20%;left:0;width:100%;font-size:1.6rem;
    opacity:.15;letter-spacing:60px;color:#fff;pointer-events:none;
    animation: agFloat 5s ease-in-out infinite;
}
body.ag-metier-multiservice .ag-service-card:hover .ag-service-card__icon{animation:agFloat 1.2s ease-in-out infinite}

/* ── 🔧 GÉNÉRALISTE : engrenage qui tourne ──────────────────────── */
@keyframes agSpin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
body.ag-metier-generaliste .ag-hero-pro::after{
    content:'⚙️';position:absolute;top:20px;right:30px;font-size:5rem;opacity:.18;color:#fff;
    animation: agSpin 12s linear infinite; pointer-events:none;
}
body.ag-metier-generaliste .ag-service-card:hover .ag-service-card__icon{animation:agSpin 1.5s linear infinite}

/* Respect prefers-reduced-motion : kill toutes ces animations */
@media (prefers-reduced-motion: reduce) {
    body[class*="ag-metier-"] .ag-hero-pro::before,
    body[class*="ag-metier-"] .ag-hero-pro::after,
    body[class*="ag-metier-"] .ag-service-card:hover .ag-service-card__icon {
        animation: none !important;
    }
}

/* ── Fix menu actif : override violet du theme parent ─────────────── */
body.ag-premium-mode .ag-primary-menu li,
body.ag-premium-mode .ag-primary-menu .current-menu-item,
body.ag-premium-mode .ag-primary-menu .current_page_item,
body.ag-premium-mode #menu-primary li,
body.ag-premium-mode .menu-item.current-menu-item,
body.ag-premium-mode .menu-item.current_page_item{
    background:transparent!important;
}
body.ag-premium-mode .ag-primary-menu a,
body.ag-premium-mode .menu-item a{
    background:transparent!important;
    color:#333!important;
    font-weight:500;
    padding:8px 14px;
    border-radius:6px;
    transition:background .2s ease,color .2s ease;
}
body.ag-premium-mode .ag-primary-menu .current-menu-item > a,
body.ag-premium-mode .ag-primary-menu .current_page_item > a,
body.ag-premium-mode .menu-item.current-menu-item > a,
body.ag-premium-mode .menu-item.current_page_item > a{
    background:var(--ag-color-accent,#F37A1F)!important;
    color:#fff!important;
    font-weight:700;
}
body.ag-premium-mode .ag-primary-menu a:hover{
    background:rgba(0,0,0,.05)!important;
    color:var(--ag-color-accent,#F37A1F)!important;
}

/* ── Page devis (style meilleur-artisan) ──────────────────────────── */
/* ── Formulaire de devis : carte attractive ───────────────────────── */
.ag-devis-wrap{position:relative;overflow:hidden;padding:clamp(30px,5vw,50px) clamp(22px,4vw,42px);background:#fff;border:1px solid #e7efe8;border-radius:24px;margin:36px auto;max-width:820px;box-shadow:0 40px 90px -50px rgba(20,45,28,.45),0 8px 24px -18px rgba(20,45,28,.3)}
.ag-devis-wrap::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#3f8f63,#6fbf8a 45%,#c9a36b)}
.ag-devis-form{display:grid;gap:20px}
.ag-devis-form label{font-weight:700;color:#22312a;margin-bottom:8px;display:block;font-size:.97rem;letter-spacing:.01em}
.ag-devis-form input,.ag-devis-form select,.ag-devis-form textarea{
    width:100%;padding:15px 16px;border:1.5px solid #dde7de;border-radius:13px;font-size:1rem;font-family:inherit;color:#22312a;background:#f7faf6;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.ag-devis-form input::placeholder,.ag-devis-form textarea::placeholder{color:#9aa79b}
.ag-devis-form input:focus,.ag-devis-form select:focus,.ag-devis-form textarea:focus{
    outline:none;border-color:#4f9d6b;background:#fff;box-shadow:0 0 0 4px rgba(79,157,107,.18);
}
.ag-devis-form textarea{min-height:110px;resize:vertical}
.ag-devis-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:540px){.ag-devis-row-2{grid-template-columns:1fr}}
.ag-devis-submit{background:linear-gradient(120deg,#1a5e3a,#2f8552);color:#fff;border:none;padding:18px 44px;font-size:1.12rem;font-weight:800;border-radius:100px;cursor:pointer;box-shadow:0 20px 44px -14px rgba(26,94,58,.85),0 0 0 5px rgba(47,133,82,.16);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;justify-self:start;width:auto;margin-top:6px;letter-spacing:.02em}
.ag-devis-submit:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 28px 58px -16px rgba(47,125,84,.9),0 0 0 8px rgba(111,191,138,.2)}
.ag-devis-result{background:radial-gradient(120% 130% at 85% -20%,rgba(79,157,107,.12),transparent 55%),linear-gradient(180deg,#f4faf5,#eef6ef);border:1.5px solid rgba(79,157,107,.4);border-radius:18px;padding:30px 26px;margin-top:26px;text-align:center}
.ag-devis-result__label{color:#3f8f63;font-size:.86rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;margin:0 0 8px}
.ag-devis-result__price{color:#2f7d54;font-size:2.7rem;font-weight:800;margin:0 0 4px;line-height:1.1;font-family:"Fraunces",Georgia,serif}
.ag-devis-result__note{color:#5c6b5e;font-size:.9rem;margin:14px 0 0;line-height:1.55}
@media(prefers-reduced-motion:reduce){.ag-devis-submit{transition:none}}

/* ── Fix sticky header au scroll : reste clair en mode premium ────── */
body.ag-premium-mode .ag-site-header.scrolled{
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 2px 20px rgba(0,0,0,.08)!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
body.ag-premium-mode .ag-site-header.scrolled .ag-site-brand{color:var(--ag-color-accent,#F37A1F)!important}
body.ag-premium-mode .ag-site-header.scrolled .ag-primary-menu a{color:#333!important}
body.ag-premium-mode .ag-site-header.scrolled .ag-primary-menu .current-menu-item > a,
body.ag-premium-mode .ag-site-header.scrolled .ag-primary-menu .current_page_item > a{
    background:var(--ag-color-accent,#F37A1F)!important;color:#fff!important;
}

/* ════════════════════════════════════════════════════════════════════
   STYLE ALLIANCE GROUPE — sobriete pro, italics emphase, stats hero,
   process numerote 01/02/03 minimaliste, fonts premium.
   ════════════════════════════════════════════════════════════════════ */

/* Police premium Google Fonts via @import inline */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,500;1,700&display=swap');

body.ag-premium-mode{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:'ss01','cv11';letter-spacing:-.005em}
body.ag-premium-mode h1,body.ag-premium-mode h2,body.ag-premium-mode h3{font-family:'Inter',sans-serif;letter-spacing:-.02em}

/* ── Hero title : <em> en italique Playfair pour accent ────────────── */
body.ag-premium-mode .ag-hero-pro__title em{
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-weight:500;
    color:#8fd0a3 !important;
    border-bottom:none;
    padding-bottom:0;
    display:block;
}

/* ── Stats bar dans le hero ───────────────────────────────────────── */
.ag-hero-stats{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
    margin-top:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.18);
    max-width:760px;margin-left:auto;margin-right:auto;
}
@media (max-width:680px){.ag-hero-stats{grid-template-columns:1fr;gap:14px}}
.ag-hero-stat{display:flex;flex-direction:column;align-items:center;gap:4px}
.ag-hero-stat__value{
    font-family:'Inter',sans-serif;font-size:2rem;font-weight:800;color:#fff;line-height:1;
    letter-spacing:-.02em;
}
.ag-hero-stat__label{
    font-size:.78rem;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:1.5px;font-weight:500;
}

/* ── Section title : italics Playfair sur l'accent ────────────────── */
body.ag-premium-mode .ag-services-grid-title span{
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-weight:500;
    color:var(--ag-color-accent,#F37A1F);
}
body.ag-premium-mode .ag-services-grid-title::after{display:none} /* retire l'underline qu'on avait */

/* ── Process 'Comment ça marche' : style numerote 01/02/03 Alliance ─ */
body.ag-premium-mode .ag-howit-card{
    background:#fff;border:none;border-radius:0;border-left:1px solid #e8e8e8;padding:30px 26px 26px 36px;
    text-align:left;position:relative;box-shadow:none;
}
body.ag-premium-mode .ag-howit-card:hover{transform:none;box-shadow:none;border-left-color:var(--ag-color-accent,#F37A1F)}
body.ag-premium-mode .ag-howit-num{
    position:static;transform:none;background:transparent;color:var(--ag-color-accent,#F37A1F);
    width:auto;height:auto;border-radius:0;box-shadow:none;display:block;
    font-family:'Inter',sans-serif;font-size:3.2rem;font-weight:200;letter-spacing:-.04em;
    line-height:1;margin:0 0 12px;
}
body.ag-premium-mode .ag-howit-num::before{content:'0'}
body.ag-premium-mode .ag-howit-emoji{font-size:1.6rem;margin:0 0 10px;display:none} /* on simplifie en mode AG */
body.ag-premium-mode .ag-howit-title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
body.ag-premium-mode .ag-howit-desc{color:#555;line-height:1.65;font-size:.96rem}

/* ── Padding sections plus aere (style AG) ────────────────────────── */
body.ag-premium-mode .ag-howit-wrap,
body.ag-premium-mode .ag-testi-wrap,
body.ag-premium-mode .ag-faq-wrap{padding:100px 24px}
body.ag-premium-mode .ag-services-grid-wrap{padding:80px 24px}

/* ── CTA hero : style AG (navy alt) ──────────────────────────────── */
body.ag-premium-mode .ag-btn-pro{
    background:linear-gradient(120deg,#1a5e3a,#2f8552)!important;
    color:#fff!important;
    border:0!important;border-radius:100px!important;
    font-weight:800!important;letter-spacing:.02em;
    padding:20px 48px!important;font-size:1.08rem!important;text-transform:none!important;
    box-shadow:0 20px 44px -14px rgba(47,125,84,.85),0 0 0 5px rgba(111,191,138,.16)!important;
    transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
body.ag-premium-mode .ag-btn-pro:hover{
    transform:translateY(-3px) scale(1.02);
    box-shadow:0 28px 58px -16px rgba(47,125,84,.95),0 0 0 8px rgba(111,191,138,.22)!important;
    filter:brightness(1.06);
}

/* ── Page Hero (Prestations, etc.) ────────────────────────────────── */
body.ag-premium-mode .ag-page-hero{padding:80px 24px 40px;background:#fafafa;text-align:center}
.ag-page-tag{display:inline-block;background:var(--ag-color-accent,#F37A1F);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:6px 14px;border-radius:50px;margin-bottom:18px}
.ag-page-title{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:#1a1a1a;margin:0 0 24px}
.ag-page-title em{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:var(--ag-color-accent,#F37A1F)}
.ag-page-lead{max-width:760px;margin:0 auto;color:#555;font-size:1.05rem;line-height:1.7}
.ag-page-lead p{margin:0 0 14px}

/* ── CTA band (bas de page prestations) ───────────────────────────── */
.ag-cta-band{padding:70px 24px;background:linear-gradient(135deg,#0a0a0f 0%,#1a1a2e 100%);text-align:center;color:#fff}
.ag-cta-band__title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 10px;letter-spacing:-.02em}
.ag-cta-band__lead{color:rgba(255,255,255,.78);font-size:1.05rem;margin:0 0 28px}
.ag-cta-band .ag-btn-pro{font-size:1.05rem;padding:18px 36px}

/* ── Fix menu decale sur pages internes (sans hero) ───────────────── */
/* Sur la home, .ag-main--premium colle au header (hero photo direct).
   Sur les pages internes (sans hero photo), il faut un padding-top
   pour eviter que le contenu soit sous le sticky header. */
body.ag-premium-mode.page:not(.home) .ag-main--premium{padding-top:30px}
body.ag-premium-mode.page:not(.home) .ag-page-hero{padding-top:60px}

/* Site brand + menu alignes verticalement dans le header */
body.ag-premium-mode .ag-site-header__inner{padding:0 24px}
body.ag-premium-mode .ag-primary-menu{align-items:center}

/* ── Galerie Réalisations ─────────────────────────────────────────── */
.ag-realisations-gallery{padding:60px 24px;background:#fafafa}
.ag-realisations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1180px;margin:0 auto}
@media (max-width:900px){.ag-realisations-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ag-realisations-grid{grid-template-columns:1fr}}
.ag-realisations-card{
    position:relative;display:block;aspect-ratio:4/3;border-radius:14px;
    background-size:cover;background-position:center;overflow:hidden;
    text-decoration:none!important;cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease;
    box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.ag-realisations-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.18)}
.ag-realisations-card__caption{
    position:absolute;left:0;right:0;bottom:0;padding:14px 18px;
    color:#fff;font-weight:600;font-size:.95rem;line-height:1.3;
    background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%);
    text-shadow:0 1px 4px rgba(0,0,0,.5);
}

/* ── Menu sur 1 seule ligne (override flex-wrap) ─────────────────── */
body.ag-premium-mode .ag-primary-menu{flex-wrap:nowrap!important;gap:.4rem}
body.ag-premium-mode .ag-primary-menu a{white-space:nowrap;padding:8px 10px;font-size:.92rem}
@media (max-width:980px){
    body.ag-premium-mode .ag-primary-menu a{padding:6px 8px;font-size:.85rem}
}

/* ── Page Qui sommes-nous : layout 2 colonnes (texte + photo) ─────── */
.ag-about-wrap{padding:60px 24px;background:#fff}
.ag-about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;max-width:1180px;margin:0 auto}
@media (max-width:880px){.ag-about-grid{grid-template-columns:1fr;gap:30px}}
.ag-about-photo{aspect-ratio:4/5;background-size:cover;background-position:center;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.15)}
.ag-about-text h3{color:var(--ag-color-accent,#F37A1F);font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 8px}
.ag-about-text h2{font-size:2.2rem;color:#1a1a1a;margin:0 0 18px;line-height:1.15}
.ag-about-text p{color:#555;font-size:1rem;line-height:1.7;margin:0 0 14px}

/* ── Histoire chronologique ────────────────────────────────────────── */
.ag-timeline{padding:60px 24px;background:#fafafa}
.ag-timeline-grid{max-width:780px;margin:30px auto 0;position:relative;padding-left:50px}
.ag-timeline-grid::before{content:'';position:absolute;left:14px;top:0;bottom:0;width:2px;background:var(--ag-color-accent,#F37A1F);opacity:.3}
.ag-timeline-item{position:relative;margin-bottom:28px}
.ag-timeline-item::before{content:'';position:absolute;left:-44px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--ag-color-accent,#F37A1F);box-shadow:0 0 0 4px #fafafa,0 0 0 6px var(--ag-color-accent,#F37A1F)}
.ag-timeline-year{color:var(--ag-color-accent,#F37A1F);font-weight:800;font-size:1.05rem;margin:0 0 4px}
.ag-timeline-text{color:#444;font-size:.97rem;line-height:1.55;margin:0}

/* ── Zones intervention : carte + zones ────────────────────────────── */
.ag-zones-wrap{padding:60px 24px;background:#fafafa}
.ag-zones-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1180px;margin:0 auto;align-items:start}
@media (max-width:820px){.ag-zones-grid{grid-template-columns:1fr}}
/* Hauteur bornée pour la carte : suffisant pour bien voir, jamais débordant.
   aspect-ratio supprimé (cassait le layout en 1 colonne sur grands écrans
   = hauteur viewport entière). */
.ag-zones-map{height:480px;max-height:60vh;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);position:relative}
.ag-zones-map iframe{width:100%!important;height:100%!important;min-height:100%;border:0;display:block;position:absolute;inset:0}
@media (max-width:820px){.ag-zones-map{height:340px}}
.ag-zones-list h3{font-size:.85rem;color:var(--ag-color-accent,#F37A1F);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 12px}
.ag-zones-list h2{font-size:1.7rem;color:#1a1a1a;margin:0 0 18px}
.ag-zones-list ul{list-style:none;padding:0;margin:0 0 18px}
.ag-zones-list li{padding:10px 0;border-bottom:1px solid #ececec;color:#444;display:flex;align-items:center;gap:10px}
.ag-zones-list li::before{content:'📍';font-size:1.1rem}
.ag-zones-list li:last-child{border-bottom:none}
.ag-zones-contact-card{background:var(--ag-color-accent,#F37A1F);color:#fff;padding:24px;border-radius:12px;margin-top:16px}
.ag-zones-contact-card strong{display:block;font-size:1.1rem;margin-bottom:4px}

/* ── Override couleur bronze heritee (#b87333) en mode premium ────── */
body.ag-premium-mode a:not(.ag-btn-pro):not(.ag-service-card):not(.ag-realisations-card){color:var(--ag-color-accent,#F37A1F)}
body.ag-premium-mode .ag-btn{background:var(--ag-color-accent,#F37A1F)!important;color:#fff!important;border-radius:50px;padding:14px 28px}
body.ag-premium-mode .ag-card h2,
body.ag-premium-mode .ag-info h2,
body.ag-premium-mode .ag-entry-content a,
body.ag-premium-mode .ag-comments .comment-author,
body.ag-premium-mode .ag-widget-title{color:var(--ag-color-accent,#F37A1F)!important}
body.ag-premium-mode .ag-entry-content blockquote{border-left-color:var(--ag-color-accent,#F37A1F)!important}

/* ── Fix titres devis et autres titres invisibles ─────────────────── */
body.ag-premium-mode .ag-devis-wrap h2{color:#1a1a1a;font-size:1.8rem;margin:0 0 12px;font-weight:700}
body.ag-premium-mode .ag-devis-wrap h2 span{color:var(--ag-color-accent,#F37A1F)}
body.ag-premium-mode .ag-devis-wrap p{color:#444}
body.ag-premium-mode .ag-devis-wrap label{color:#222!important;font-weight:600}

/* ── Smart sticky header : disparait au scroll down, revient au up ── */
body.ag-premium-mode .ag-site-header{transition:transform .35s cubic-bezier(.4,0,.2,1),background .3s,box-shadow .3s}
body.ag-premium-mode .ag-site-header.is-hidden{transform:translateY(-100%)}

/* ── Bouton back-to-top ───────────────────────────────────────────── */
.ag-backtop{
    position:fixed;bottom:24px;right:24px;width:50px;height:50px;border-radius:50%;
    background:var(--ag-color-accent,#F37A1F);color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:1.4rem;
    box-shadow:0 6px 20px rgba(0,0,0,.25);
    opacity:0;pointer-events:none;transform:translateY(20px);
    transition:opacity .25s ease,transform .25s ease,background .15s;
    z-index:9998;
}
.ag-backtop.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.ag-backtop:hover{transform:translateY(-4px);filter:brightness(1.1)}

/* ── Lightbox galerie réalisations ────────────────────────────────── */
.ag-lightbox{
    position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.ag-lightbox.is-open{opacity:1;pointer-events:auto}
.ag-lightbox__img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);cursor:default}
.ag-lightbox__caption{
    position:absolute;bottom:60px;left:50%;transform:translateX(-50%);
    color:#fff;background:rgba(0,0,0,.6);padding:10px 20px;border-radius:50px;
    font-size:.95rem;max-width:80vw;text-align:center;backdrop-filter:blur(8px);
}
.ag-lightbox__close,.ag-lightbox__prev,.ag-lightbox__next{
    position:absolute;background:rgba(255,255,255,.12);color:#fff;border:none;cursor:pointer;
    width:50px;height:50px;border-radius:50%;font-size:1.6rem;
    display:flex;align-items:center;justify-content:center;
    backdrop-filter:blur(8px);transition:background .2s;
}
.ag-lightbox__close:hover,.ag-lightbox__prev:hover,.ag-lightbox__next:hover{background:rgba(255,255,255,.25)}
.ag-lightbox__close{top:24px;right:24px}
.ag-lightbox__prev{left:24px;top:50%;transform:translateY(-50%)}
.ag-lightbox__next{right:24px;top:50%;transform:translateY(-50%)}
@media (max-width:560px){
    .ag-lightbox__prev,.ag-lightbox__next{width:42px;height:42px;font-size:1.3rem}
    .ag-lightbox__prev{left:10px}.ag-lightbox__next{right:10px}
    .ag-lightbox__close{top:14px;right:14px}
}

/* ── Header transparent initial, devient blanc plein au scroll ────── */
body.ag-premium-mode .ag-site-header{background:transparent!important;border-bottom:none!important;position:fixed;top:0;left:0;right:0;z-index:9000;padding:14px 0}
body.ag-premium-mode .ag-site-header .ag-site-brand{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.5),0 0 14px rgba(0,0,0,.35)}
body.ag-premium-mode .ag-site-header .ag-primary-menu a{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.55),0 0 12px rgba(0,0,0,.4);font-weight:700!important}
body.ag-premium-mode .ag-site-header.scrolled{background:#fff!important;border-bottom:1px solid #ececec!important;box-shadow:0 4px 20px rgba(0,0,0,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.ag-premium-mode .ag-site-header.scrolled .ag-site-brand{color:var(--ag-color-accent,#F37A1F)!important;text-shadow:none}
body.ag-premium-mode .ag-site-header.scrolled .ag-primary-menu a{color:#333!important;text-shadow:none}
body.ag-premium-mode .ag-site-header.scrolled .ag-primary-menu .current-menu-item > a,
body.ag-premium-mode .ag-site-header.scrolled .ag-primary-menu .current_page_item > a{background:var(--ag-color-accent,#F37A1F)!important;color:#fff!important;text-shadow:none}
/* Sur les pages internes (sans hero photo), header toujours visible blanc */
body.ag-premium-mode.page:not(.home) .ag-site-header{background:#fff!important;border-bottom:1px solid #ececec!important;position:fixed}
body.ag-premium-mode.page:not(.home) .ag-site-header .ag-site-brand{color:var(--ag-color-accent,#F37A1F)!important;text-shadow:none}
body.ag-premium-mode.page:not(.home) .ag-site-header .ag-primary-menu a{color:#333!important;text-shadow:none}
body.ag-premium-mode.page:not(.home) .ag-main--premium{padding-top:90px}

/* ── Section "Nos services" : full-width au lieu de container ────── */
body.ag-premium-mode .ag-services-grid-wrap{max-width:none!important;width:100%;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0;padding:80px 24px}
body.ag-premium-mode .ag-services-grid{max-width:1280px;margin:0 auto;grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){body.ag-premium-mode .ag-services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){body.ag-premium-mode .ag-services-grid{grid-template-columns:1fr}}

/* ── Bouton retour-haut stylé (gradient + glow) ──────────────────── */
.ag-backtop{
    width:54px!important;height:54px!important;
    background:linear-gradient(135deg,var(--ag-color-accent,#F37A1F) 0%,color-mix(in srgb, var(--ag-color-accent,#F37A1F) 70%, #000) 100%)!important;
    box-shadow:0 8px 24px color-mix(in srgb, var(--ag-color-accent,#F37A1F) 50%, transparent),0 0 0 0 color-mix(in srgb, var(--ag-color-accent,#F37A1F) 40%, transparent)!important;
    animation:agBacktopPulse 2.5s ease-in-out infinite;
    font-size:0!important; /* hide native ↑ */
}
.ag-backtop::after{
    content:'';display:block;width:14px;height:14px;border-top:3px solid #fff;border-right:3px solid #fff;
    transform:rotate(-45deg);margin-top:6px;
}
.ag-backtop:hover{filter:brightness(1.12) saturate(1.1);box-shadow:0 12px 32px color-mix(in srgb, var(--ag-color-accent,#F37A1F) 60%, transparent)!important}
@keyframes agBacktopPulse{
    0%, 100% { box-shadow: 0 8px 24px color-mix(in srgb, var(--ag-color-accent,#F37A1F) 50%, transparent), 0 0 0 0 color-mix(in srgb, var(--ag-color-accent,#F37A1F) 40%, transparent); }
    50%      { box-shadow: 0 8px 24px color-mix(in srgb, var(--ag-color-accent,#F37A1F) 50%, transparent), 0 0 0 10px transparent; }
}

/* ── Force H1 hero blanc (override le sombre des autres titres) ──── */
body.ag-premium-mode .ag-hero-pro__title,
body.ag-premium-mode .ag-hero-pro__subtitle{color:#fff!important}
body.ag-premium-mode .ag-hero-pro__title span{color:var(--ag-color-accent,#F37A1F)!important}

/* ── Bande CTA sombre : titre clair (sinon ecrase par .ag-main--premium h2) ── */
body.ag-premium-mode .ag-cta-band__title{color:#fff!important}
body.ag-premium-mode .ag-cta-band__lead{color:rgba(255,255,255,.82)!important}

/* ── Élimine la bande grise au-dessus du hero (home) ──────────────── */
body.ag-premium-mode.home,
body.ag-premium-mode.home .ag-main,
body.ag-premium-mode.home .ag-main--premium{
    margin-top:0!important;padding-top:0!important;
}
body.ag-premium-mode.home .ag-hero-pro{margin-top:0!important}

/* Menu : sur fond 100% transparent (avant scroll) les items doivent
   rester blancs et lisibles via text-shadow uniquement (aucun fond). */
body.ag-premium-mode .ag-site-header:not(.scrolled) .ag-primary-menu a{background:transparent!important}
body.ag-premium-mode .ag-site-header:not(.scrolled) .ag-primary-menu a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
body.ag-premium-mode .ag-site-header:not(.scrolled) .ag-primary-menu .current-menu-item > a,
body.ag-premium-mode .ag-site-header:not(.scrolled) .ag-primary-menu .current_page_item > a{background:transparent!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.8),0 2px 8px rgba(0,0,0,.6),0 0 14px rgba(0,0,0,.45)!important;font-weight:800!important;text-decoration:underline!important;text-decoration-color:rgba(255,255,255,.7)!important;text-underline-offset:6px!important}

/* ── Header 100% transparent en haut (pas de voile sombre) ──────────
   Lisibilité assurée par le text-shadow sur les items et l'overlay
   sombre du hero (linear-gradient .35→.55 dans .ag-hero-pro). */
body.ag-premium-mode .ag-site-header{
    background:transparent!important;
    padding:18px 0!important;
    border-bottom:none!important;
}
body.ag-premium-mode .ag-site-header.scrolled{
    background:rgba(255,255,255,.96)!important;
    padding:10px 0!important;
    border-bottom:1px solid #ececec!important;
    box-shadow:0 4px 20px rgba(0,0,0,.08)!important;
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}

/* Force home : aucune marge/padding parasite, hero colle au header.
   Background transparent partout pour qu'on ne voie JAMAIS la zone blanche
   de .ag-main--premium (qui sinon apparait entre </header> et <hero>). */
html body.ag-premium-mode.home{margin-top:0!important;padding-top:0!important;background:transparent!important}
html body.ag-premium-mode.home > .ag-main,
html body.ag-premium-mode.home .ag-main--premium,
html body.ag-premium-mode.home #ag-main{margin-top:0!important;padding-top:0!important;background:transparent!important;border:none!important;outline:none!important}
body.ag-premium-mode.home .ag-hero-pro{margin:0!important;padding-top:120px;border-top:none!important}
/* Tue toute section/elt avant le hero qui pourrait introduire un gap */
body.ag-premium-mode.home .ag-main--premium > *:first-child:not(.ag-hero-pro){display:none!important}
body.ag-premium-mode.home .ag-main--premium::before,
body.ag-premium-mode.home #ag-main::before{display:none!important;content:none!important}
/* WP admin bar visible : html a margin-top:32px → le hero recule du même
   montant vers le haut pour rester collé au menu transparent. */
html.wp-toolbar body.ag-premium-mode.home .ag-hero-pro,
body.admin-bar.ag-premium-mode.home .ag-hero-pro{margin-top:-32px!important;padding-top:calc(120px + 32px)!important}
@media screen and (max-width:782px){
    html.wp-toolbar body.ag-premium-mode.home .ag-hero-pro,
    body.admin-bar.ag-premium-mode.home .ag-hero-pro{margin-top:-46px!important;padding-top:calc(120px + 46px)!important}
}

/* Page interne header blanc plein, hauteur 70px reserve top */
body.ag-premium-mode.page:not(.home) .ag-site-header{
    background:#fff!important;
    padding:10px 0!important;
    border-bottom:1px solid #ececec!important;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}

/* ── Cache la section gutenberg de la page Accueil (qui crée l'espace) ── */
body.ag-premium-mode.home .ag-custom-content{display:none!important}

/* ── Menu plus lisible : police plus grande + padding header ────────── */
body.ag-premium-mode .ag-site-header{padding:24px 0!important}
body.ag-premium-mode .ag-site-brand{font-size:1.5rem!important;letter-spacing:2px}
body.ag-premium-mode .ag-primary-menu a{font-size:1rem!important;padding:10px 14px!important;font-weight:600}
body.ag-premium-mode .ag-site-header.scrolled{padding:14px 0!important}
body.ag-premium-mode.page:not(.home) .ag-site-header{padding:14px 0!important}

/* Hero photo : commence vraiment a 0 (top), pleine hauteur derriere header */
body.ag-premium-mode.home .ag-hero-pro{
    margin-top:0!important;
    min-height:100vh!important;
    padding-top:140px!important;
    padding-bottom:80px!important;
}

/* ── Page hero photo (toutes les pages internes) ──────────────────── */
body.ag-premium-mode .ag-page-hero{
    position:relative;
    min-height:420px;
    padding:140px 24px 60px!important;
    background-size:cover!important;
    background-position:center 20%!important;
    color:#fff;
    text-align:center;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
}
body.ag-premium-mode .ag-page-hero::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.45) 100%);
    z-index:1;
}
body.ag-premium-mode .ag-page-hero .ag-container{position:relative;z-index:2}
body.ag-premium-mode .ag-page-hero .ag-page-title{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.5);font-size:3rem}
body.ag-premium-mode .ag-page-hero .ag-page-title em{color:var(--ag-color-accent,#F37A1F)!important}
body.ag-premium-mode .ag-page-hero .ag-page-lead{color:rgba(255,255,255,.95)!important;text-shadow:0 1px 8px rgba(0,0,0,.4);max-width:760px;margin:18px auto 0}
body.ag-premium-mode .ag-page-hero .ag-page-lead p{color:#fff!important}
body.ag-premium-mode .ag-page-hero .ag-page-tag{background:var(--ag-color-accent,#F37A1F);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.3)}

/* ── Hero plein écran sur pages internes (comme la home) ──────────── */
body.ag-premium-mode .ag-page-hero--full{
    min-height:100vh!important;
    padding-top:140px!important;
    padding-bottom:80px!important;
}
body.ag-premium-mode .ag-page-hero-sub{
    color:rgba(255,255,255,.95)!important;
    font-size:1.2rem!important;
    text-shadow:0 1px 8px rgba(0,0,0,.5);
    max-width:680px;margin:18px auto 0;line-height:1.6;
}

/* ── Section intro (contenu Gutenberg sous le hero) ─────────────── */
body.ag-premium-mode .ag-page-intro{
    background:#fafafa;padding:60px 24px;
}
body.ag-premium-mode .ag-page-intro .ag-container{max-width:820px}
body.ag-premium-mode .ag-page-intro p{color:#444;font-size:1.05rem;line-height:1.75;margin:0 0 16px}

/* Pages internes : retire padding-top:90px obsolete (le hero gere le top) */
body.ag-premium-mode.page:not(.home) .ag-main--premium{padding-top:0!important}

/* ────────────────────────────────────────────────────────────────────
   PAGES INTERNES (prestations, qui-sommes-nous, zones-intervention,
   realisations, contact, devis) — applique le MEME comportement que
   la home : menu 100% transparent + hero photo au top, pas de bande
   blanche, lisibilité via text-shadow triple.
   ──────────────────────────────────────────────────────────────────── */
body.ag-premium-mode.page:not(.home) .ag-site-header{
    background:transparent!important;
    padding:24px 0!important;
    border-bottom:none!important;
    box-shadow:none!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header .ag-site-brand{
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.5),0 0 14px rgba(0,0,0,.35)!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header .ag-primary-menu a{
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.55),0 0 12px rgba(0,0,0,.4)!important;
    background:transparent!important;
    font-weight:700!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header:not(.scrolled) .ag-primary-menu a:hover{
    background:rgba(255,255,255,.12)!important;color:#fff!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header:not(.scrolled) .ag-primary-menu .current-menu-item > a,
body.ag-premium-mode.page:not(.home) .ag-site-header:not(.scrolled) .ag-primary-menu .current_page_item > a{
    background:transparent!important;color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.8),0 2px 8px rgba(0,0,0,.6),0 0 14px rgba(0,0,0,.45)!important;
    font-weight:800!important;
    text-decoration:underline!important;text-decoration-color:rgba(255,255,255,.7)!important;text-underline-offset:6px!important;
}
/* Au scroll, header passe blanc plein (idem home) */
body.ag-premium-mode.page:not(.home) .ag-site-header.scrolled{
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 4px 20px rgba(0,0,0,.08)!important;
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    padding:14px 0!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header.scrolled .ag-site-brand{
    color:var(--ag-color-accent,#F37A1F)!important;text-shadow:none!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header.scrolled .ag-primary-menu a{
    color:#333!important;text-shadow:none!important;background:transparent!important;
}
body.ag-premium-mode.page:not(.home) .ag-site-header.scrolled .ag-primary-menu .current-menu-item > a,
body.ag-premium-mode.page:not(.home) .ag-site-header.scrolled .ag-primary-menu .current_page_item > a{
    background:var(--ag-color-accent,#F37A1F)!important;color:#fff!important;text-decoration:none!important;
}

/* Anti-bande-blanche : tous les wrappers transparent + hero collé au top */
html body.ag-premium-mode.page:not(.home),
html body.ag-premium-mode.page:not(.home) .ag-main,
html body.ag-premium-mode.page:not(.home) .ag-main--premium,
html body.ag-premium-mode.page:not(.home) #ag-main{
    margin-top:0!important;padding-top:0!important;
    background:transparent!important;border:none!important;outline:none!important;
}
body.ag-premium-mode.page:not(.home) .ag-page-hero--full{
    margin-top:0!important;border-top:none!important;
}
/* WP admin bar visible : hero recule de 32px pour coller au menu */
html.wp-toolbar body.ag-premium-mode.page:not(.home) .ag-page-hero--full,
body.admin-bar.ag-premium-mode.page:not(.home) .ag-page-hero--full{
    margin-top:-32px!important;padding-top:calc(140px + 32px)!important;
}
@media screen and (max-width:782px){
    html.wp-toolbar body.ag-premium-mode.page:not(.home) .ag-page-hero--full,
    body.admin-bar.ag-premium-mode.page:not(.home) .ag-page-hero--full{
        margin-top:-46px!important;padding-top:calc(140px + 46px)!important;
    }
}


/* (ancienne pub vidéo « Alliance » retirée — remplacée par la section
   verte « Pourquoi nous choisir » ; CSS mort supprimé) */
