
body.vd-contact-active,
body.vd-contact-active #page,
body.vd-contact-active .site,
body.vd-contact-active .site-content,
body.vd-contact-active .content-area,
body.vd-contact-active .site-main,
body.vd-contact-active article,
body.vd-contact-active .entry-content,
body.vd-contact-active .wp-block-shortcode,
body.vd-contact-active .ast-container,
body.vd-contact-active .ast-container-fluid {
  width:100%!important; max-width:none!important; margin:0!important; padding:0!important; background:#140c08!important;
}
body.vd-contact-active .entry-header,
body.vd-contact-active .entry-title,
body.vd-contact-active .page-title,
body.vd-contact-active .ast-breadcrumbs-wrapper { display:none!important; }
body.vd-contact-active .entry-content>* { width:100%!important; max-width:none!important; margin:0!important; }

.vd-contact-page,.vd-contact-page*{box-sizing:border-box}
.vd-contact-page{
  --vd-bg:#140c08; --vd-cream:#f3eadc; --vd-gold:#b89a68; --vd-gold-light:#d7bc8a;
  width:100%; margin:0; padding:0; color:var(--vd-cream); background:var(--vd-bg);
  font-family:Georgia,"Times New Roman",serif;
}
.vd-contact-shell{
  display:grid; grid-template-columns: minmax(500px, 36vw) minmax(0, 1fr);
  width:100%; min-height:calc(100vh - 1px); background:var(--vd-bg);
}
.vd-contact-panel{
  display:flex; align-items:center; min-width:0; padding:46px clamp(28px,4.5vw,70px);
  background:linear-gradient(90deg,rgba(8,5,3,.99),rgba(12,8,6,.96) 72%,rgba(20,12,8,.93));
  border-right:1px solid rgba(184,154,104,.2);
}
.vd-contact-content{width:100%;max-width:360px;margin:auto}
.vd-contact-title{margin:0;color:#fffaf2;font-size:clamp(46px,5vw,72px);font-weight:400;line-height:1;letter-spacing:2px;text-transform:uppercase}
.vd-contact-divider{display:flex;align-items:center;gap:16px;margin:20px 0 24px;color:var(--vd-gold-light)}
.vd-contact-divider:before,.vd-contact-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(215,188,138,.75))}
.vd-contact-divider:after{background:linear-gradient(90deg,rgba(215,188,138,.75),transparent)}
.vd-contact-divider span{font-size:25px}
.vd-contact-script-title{margin:0 0 18px;color:#ddc6a5;font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(27px,3vw,37px);font-weight:400;text-align:center}
.vd-contact-introduction{margin:0;color:#eee5d8;font-size:16px;line-height:1.55;text-align:center}
.vd-contact-introduction span{display:block;margin-top:17px;color:#fffaf2}
.vd-contact-decoration{margin:16px 0 20px;color:var(--vd-gold-light);font-size:30px;text-align:center}
.vd-contact-details{display:grid;gap:14px;margin:0 0 27px;padding:0;list-style:none}
.vd-contact-details li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:13px;color:#e9dfd0;font-size:15px;line-height:1.4}
.vd-contact-icon{color:var(--vd-gold-light);font-size:21px;text-align:center}
.vd-contact-notice{margin:0 0 18px;padding:13px 14px;font-size:14px;line-height:1.5;border:1px solid}
.vd-contact-notice--success{color:#edf8e8;background:rgba(39,90,42,.55);border-color:rgba(157,203,142,.72)}
.vd-contact-notice--error{color:#ffe7df;background:rgba(117,38,28,.57);border-color:rgba(224,130,107,.76)}
.vd-contact-form-title{margin:0 0 12px;color:#f1e4d2;font-size:14px;font-weight:400;letter-spacing:.8px;text-align:center;text-transform:uppercase}
.vd-contact-form{display:grid;gap:9px;margin:0}
.vd-contact-form input,.vd-contact-form textarea{display:block;width:100%;margin:0;padding:10px 12px;color:#fff9f0;background:rgba(8,5,3,.5);border:1px solid rgba(190,159,104,.66);border-radius:0;outline:none;font:14px/1.4 Georgia,"Times New Roman",serif}
.vd-contact-form textarea{min-height:95px;resize:vertical}
.vd-contact-form input::placeholder,.vd-contact-form textarea::placeholder{color:rgba(236,224,206,.68);opacity:1}
.vd-contact-form input:focus,.vd-contact-form textarea:focus{background:rgba(8,5,3,.75);border-color:var(--vd-gold-light);box-shadow:0 0 0 2px rgba(184,154,104,.14)}
.vd-contact-button-row{display:flex;justify-content:center;margin-top:4px}
.vd-contact-submit{min-width:160px;padding:11px 24px;cursor:pointer;color:#f4e9d9;background:rgba(19,12,8,.86);border:1px solid var(--vd-gold);font:400 13px/1.2 Georgia,"Times New Roman",serif;letter-spacing:1.4px;text-transform:uppercase}
.vd-contact-submit:hover,.vd-contact-submit:focus-visible{color:#1b110b;background:var(--vd-gold-light);transform:translateY(-2px);outline:none}
.vd-contact-submit:disabled{cursor:wait;opacity:.72;transform:none}
.vd-contact-submit span+span{margin-left:7px;font-size:17px}
.vd-contact-quote{margin:29px 0 0;padding:0;color:#d7c1a1;border:0;font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(18px,2vw,22px);font-style:normal;line-height:1.65;text-align:center}
.vd-contact-divider--bottom{margin:15px 0 0}
.vd-contact-image{min-width:0;min-height:100%;background-color:var(--vd-bg);background-repeat:no-repeat;background-position:center;background-size:cover}
.vd-contact-image-placeholder{display:grid;place-items:center;min-height:100%;padding:30px;color:#d7c1a1;text-align:center;background:linear-gradient(135deg,#1b100a,#2c1b10)}
.vd-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.vd-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1024px){
  .vd-contact-shell{grid-template-columns:minmax(330px,44%) minmax(0,56%)}
  .vd-contact-panel{padding:40px 28px}
  .vd-contact-image{background-position:52% center}
}
@media(max-width:760px){
  .vd-contact-shell{display:flex;flex-direction:column;min-height:0}
  .vd-contact-panel{width:100%;padding:38px 20px;border-right:0;border-bottom:1px solid rgba(184,154,104,.2)}
  .vd-contact-content{max-width:520px}
  .vd-contact-image{width:100%;min-height:clamp(360px,72vw,620px);background-size:cover;background-position:center}
}
@media(max-width:480px){
  .vd-contact-panel{padding:32px 16px}
  .vd-contact-title{font-size:42px;text-align:center}
  .vd-contact-script-title{font-size:29px}
  .vd-contact-introduction,.vd-contact-introduction span{font-size:15px}
  .vd-contact-image{min-height:390px;background-position:center}
}


/* =========================================================
   VERSION 1.2 — IMAGE RÉELLEMENT À CÔTÉ ET PIED DE PAGE BRUN
   ========================================================= */

body.vd-contact-active,
body.vd-contact-active #page,
body.vd-contact-active .site,
body.vd-contact-active .site-content,
body.vd-contact-active .site-main,
body.vd-contact-active .content-area,
body.vd-contact-active .entry-content,
body.vd-contact-active .wp-block-shortcode {
    background-color: #140c08 !important;
}

body.vd-contact-active .site-footer,
body.vd-contact-active footer,
body.vd-contact-active #colophon,
body.vd-contact-active .site-footer-primary-section-1,
body.vd-contact-active .site-footer-primary-section-2,
body.vd-contact-active .site-footer-primary-section-3,
body.vd-contact-active .site-footer-primary-section-4,
body.vd-contact-active .ast-footer-copyright,
body.vd-contact-active .ast-builder-grid-row-container,
body.vd-contact-active .site-primary-footer-wrap,
body.vd-contact-active .site-below-footer-wrap {
    background: #140c08 !important;
    color: #d7c1a1 !important;
    border-color: rgba(184, 154, 104, 0.22) !important;
}

body.vd-contact-active .site-footer a,
body.vd-contact-active footer a,
body.vd-contact-active #colophon a {
    color: #d7bc8a !important;
}

.vd-contact-shell {
    align-items: stretch;
    background: #140c08;
}

.vd-contact-panel {
    position: relative;
    z-index: 2;
}

.vd-contact-image {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background: #140c08 !important;
    background-image: none !important;
}

.vd-contact-photo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    background: #140c08;
}

@media (min-width: 761px) {
    .vd-contact-shell {
        grid-template-columns: minmax(500px, 36vw) minmax(0, 1fr);
    }

    .vd-contact-image {
        min-height: 100%;
    }

    .vd-contact-photo {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

@media (max-width: 760px) {
    .vd-contact-shell {
        display: flex;
        flex-direction: column;
    }

    .vd-contact-image {
        order: 1;
        width: 100%;
        min-height: 0;
        aspect-ratio: 4 / 3;
        border-bottom: 1px solid rgba(184, 154, 104, 0.2);
    }

    .vd-contact-photo {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .vd-contact-panel {
        order: 2;
        width: 100%;
    }
}


/* =========================================================
   VERSION 2.0 — EN-TÊTE, MENU ET PIED DE PAGE
   ========================================================= */

/* Masque le nom textuel du site sur la page Contact. */
body.vd-contact-active .site-title,
body.vd-contact-active .site-title a,
body.vd-contact-active .ast-site-title-wrap,
body.vd-contact-active .site-branding .site-title,
body.vd-contact-active .ast-builder-layout-element.site-header-primary-section-left {
    display: none !important;
}

/* Harmonise l'en-tête Astra avec l'univers de la page. */
body.vd-contact-active .site-header,
body.vd-contact-active .ast-primary-header-bar,
body.vd-contact-active .main-header-bar,
body.vd-contact-active .ast-mobile-header-wrap,
body.vd-contact-active .ast-mobile-header-content {
    background: #120b08 !important;
    border-color: rgba(184, 154, 104, 0.35) !important;
}

/* Liens du menu : blanc cassé, puis vert végétal au survol. */
body.vd-contact-active .main-header-menu > .menu-item > .menu-link,
body.vd-contact-active .ast-builder-menu-1 .menu-item > .menu-link,
body.vd-contact-active .ast-builder-menu-mobile .menu-item > .menu-link,
body.vd-contact-active .main-navigation a {
    color: #f5efe6 !important;
    transition: color 0.25s ease !important;
}

body.vd-contact-active .main-header-menu > .menu-item:hover > .menu-link,
body.vd-contact-active .main-header-menu > .current-menu-item > .menu-link,
body.vd-contact-active .ast-builder-menu-1 .menu-item:hover > .menu-link,
body.vd-contact-active .ast-builder-menu-1 .current-menu-item > .menu-link,
body.vd-contact-active .ast-builder-menu-mobile .menu-item:hover > .menu-link,
body.vd-contact-active .ast-builder-menu-mobile .current-menu-item > .menu-link,
body.vd-contact-active .main-navigation a:hover,
body.vd-contact-active .main-navigation a:focus {
    color: #79a96b !important;
}

/* Icône du menu mobile. */
body.vd-contact-active .mobile-menu-toggle-icon,
body.vd-contact-active .ast-mobile-svg {
    color: #f5efe6 !important;
    fill: #f5efe6 !important;
}

/* Pied de page sans aucune zone blanche. */
body.vd-contact-active .site-footer,
body.vd-contact-active .site-footer-primary-section-1,
body.vd-contact-active .site-footer-primary-section-2,
body.vd-contact-active .site-footer-primary-section-3,
body.vd-contact-active .site-footer-primary-section-4,
body.vd-contact-active .site-below-footer-wrap,
body.vd-contact-active .ast-builder-footer-grid-columns,
body.vd-contact-active .ast-footer-copyright,
body.vd-contact-active footer {
    background: #120b08 !important;
    color: #d7c9b8 !important;
    border-color: rgba(184, 154, 104, 0.25) !important;
}

body.vd-contact-active .site-footer a,
body.vd-contact-active footer a {
    color: #f5efe6 !important;
}

body.vd-contact-active .site-footer a:hover,
body.vd-contact-active footer a:hover {
    color: #79a96b !important;
}


/* Grand écran : panneau plus large pour conserver CONTACT sur une ligne. */
@media (min-width: 1101px) {
    .vd-contact-shell {
        grid-template-columns: minmax(520px, 35vw) minmax(0, 1fr);
    }

    .vd-contact-panel {
        padding-left: clamp(38px, 4vw, 76px);
        padding-right: clamp(38px, 4vw, 76px);
    }

    .vd-contact-content {
        max-width: 430px;
    }

    .vd-contact-image {
        background-position: center top;
        background-size: contain;
    }
}

/* Très grands écrans. */
@media (min-width: 1500px) {
    .vd-contact-shell {
        grid-template-columns: minmax(560px, 34vw) minmax(0, 1fr);
    }
}

/* =========================================================
   VERSION 2.1 — CORRECTIONS TABLETTE, INFORMATIONS ET RETOUR HAUT
   ========================================================= */

/* Centre parfaitement les coordonnées et leur symbole. */
.vd-contact-details {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 16px !important;
    text-align: center !important;
}

.vd-contact-details li {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 5px !important;
    text-align: center !important;
}

.vd-contact-details li > span {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.vd-contact-details .vd-contact-icon {
    width: auto !important;
    color: var(--vd-gold-light) !important;
    line-height: 1 !important;
}

/*
 * Tablette : l'image reste à droite du formulaire, mais elle est remontée
 * en haut de sa colonne. Le fond brun reste visible sous l'image si son
 * ratio ne remplit pas toute la hauteur.
 */
@media (min-width: 761px) and (max-width: 1100px) {
    .vd-contact-shell {
        display: grid !important;
        grid-template-columns: minmax(330px, 44%) minmax(0, 56%) !important;
        align-items: stretch !important;
    }

    .vd-contact-panel {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .vd-contact-image {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        min-height: 100% !important;
        background: #140c08 !important;
    }

    .vd-contact-photo {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center top !important;
        margin: 0 !important;
    }
}

/* Bouton natif Astra « Retour en haut » : vert du menu. */
body.vd-contact-active #ast-scroll-top,
body.vd-contact-active .ast-scroll-to-top-right,
body.vd-contact-active .ast-scroll-to-top-left,
body.vd-contact-active .ast-scroll-top-icon,
body.vd-contact-active .scroll-to-top,
body.vd-contact-active .back-to-top {
    background: #79a96b !important;
    background-color: #79a96b !important;
    border-color: #79a96b !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(121, 169, 107, 0.28) !important;
    transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease !important;
}

body.vd-contact-active #ast-scroll-top:hover,
body.vd-contact-active #ast-scroll-top:focus,
body.vd-contact-active .ast-scroll-to-top-right:hover,
body.vd-contact-active .ast-scroll-to-top-left:hover,
body.vd-contact-active .scroll-to-top:hover,
body.vd-contact-active .back-to-top:hover {
    background: #91bd82 !important;
    background-color: #91bd82 !important;
    border-color: #91bd82 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(121, 169, 107, 0.38) !important;
}

body.vd-contact-active #ast-scroll-top svg,
body.vd-contact-active #ast-scroll-top .ast-icon,
body.vd-contact-active #ast-scroll-top i {
    color: #ffffff !important;
    fill: #ffffff !important;
}


/* =========================================================
   VERSION 2.2 — PIED DE PAGE HARMONISÉ SUR TOUT LE SITE
   ========================================================= */

/*
 * Reprend exactement les couleurs du pied de page de la page Contact
 * pour Accueil, À propos, Mes livres, Blog, Contact et les autres pages.
 */
body .site-footer,
body footer#colophon,
body #colophon,
body .site-footer-primary-section-1,
body .site-footer-primary-section-2,
body .site-footer-primary-section-3,
body .site-footer-primary-section-4,
body .site-below-footer-wrap,
body .site-primary-footer-wrap,
body .ast-builder-footer-grid-columns,
body .ast-builder-grid-row-container.site-footer-focus-item,
body .ast-footer-copyright,
body footer.wp-block-template-part {
    background: #120b08 !important;
    background-color: #120b08 !important;
    color: #d7c9b8 !important;
    border-color: rgba(184, 154, 104, 0.25) !important;
}

/* Texte du copyright identique sur toutes les pages. */
body .site-footer,
body .site-footer p,
body .site-footer .ast-footer-copyright,
body footer#colophon,
body footer#colophon p,
body #colophon,
body #colophon p,
body .site-below-footer-wrap,
body .site-below-footer-wrap p {
    color: #d7c9b8 !important;
}

/* Liens du copyright et du pied de page. */
body .site-footer a,
body footer#colophon a,
body #colophon a,
body .site-below-footer-wrap a {
    color: #f5efe6 !important;
    transition: color .25s ease !important;
}

body .site-footer a:hover,
body .site-footer a:focus,
body footer#colophon a:hover,
body footer#colophon a:focus,
body #colophon a:hover,
body #colophon a:focus,
body .site-below-footer-wrap a:hover,
body .site-below-footer-wrap a:focus {
    color: #79a96b !important;
}

/* Évite qu’un modèle de page réintroduise une bande blanche autour du footer. */
body .site-footer,
body footer#colophon,
body #colophon,
body .site-below-footer-wrap {
    margin-top: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   VERSION 2.3 — COPYRIGHT STRICTEMENT IDENTIQUE PARTOUT
   ========================================================= */

html body .ast-footer-copyright,
html body .ast-footer-copyright *,
html body footer#colophon .ast-footer-copyright,
html body footer#colophon .ast-footer-copyright *,
html body #colophon .ast-footer-copyright,
html body #colophon .ast-footer-copyright *,
html body .site-footer p,
html body .site-footer p *,
html body footer#colophon p,
html body footer#colophon p *,
html body #colophon p,
html body #colophon p * {
    color: #d7c9b8 !important;
    -webkit-text-fill-color: #d7c9b8 !important;
    text-decoration-color: #d7c9b8 !important;
}

html body .ast-footer-copyright a,
html body footer#colophon a,
html body #colophon a,
html body .site-footer a,
html body .site-below-footer-wrap a {
    color: #d7c9b8 !important;
    -webkit-text-fill-color: #d7c9b8 !important;
}

html body .ast-footer-copyright a:hover,
html body .ast-footer-copyright a:focus,
html body footer#colophon a:hover,
html body footer#colophon a:focus,
html body #colophon a:hover,
html body #colophon a:focus,
html body .site-footer a:hover,
html body .site-footer a:focus {
    color: #d7c9b8 !important;
    -webkit-text-fill-color: #d7c9b8 !important;
}


/* v4.2 — recentrage précis de la page Contact */
.vd-contact-panel{justify-content:center!important;text-align:center!important}
.vd-contact-content{width:min(100%,520px)!important;max-width:520px!important;margin:0 auto!important}
.vd-contact-title{text-align:center!important}
.vd-contact-divider{width:100%!important;margin-left:auto!important;margin-right:auto!important}
.vd-contact-introduction,.vd-contact-decoration,.vd-contact-form-title,.vd-contact-quote{text-align:center!important}
.vd-contact-details{width:100%!important;max-width:420px!important;margin-left:auto!important;margin-right:auto!important}
.vd-contact-details li{grid-template-columns:1fr!important;justify-items:center!important;gap:5px!important;text-align:center!important}
.vd-contact-form{width:100%!important;margin-left:auto!important;margin-right:auto!important}
.vd-contact-form input,.vd-contact-form textarea{text-align:left!important}
.vd-contact-button-row{width:100%!important;justify-content:center!important}
.vd-contact-divider--bottom{max-width:360px!important;margin-left:auto!important;margin-right:auto!important}
@media(min-width:761px){
  .vd-contact-shell{grid-template-columns:minmax(520px,40vw) minmax(0,1fr)!important}
  .vd-contact-panel{padding-left:clamp(32px,4vw,72px)!important;padding-right:clamp(32px,4vw,72px)!important}
}
@media(max-width:760px){
  .vd-contact-content{max-width:560px!important}
}
