/******* Do not edit this file *******
Woody Code Snippets CSS and JS
Saved: May 15 2026 | 03:32:54 */
/* ====================================================
   PACHAMAMA VOYAGES — Formulaire de contact
   Styles 100% CSS (aucune modification HTML requise)
   Compatibilité : navigateurs modernes (:has() requis,
   support universel depuis fin 2023)
   ==================================================== */



/* Polices (à charger une seule fois sur le site, sinon dupliquera) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=DM+Sans:opsz,wght@9..40,300..800&display=swap');

/* ====================================================
   SCOPE : on cible uniquement la colonne contenant
   un formulaire Contact Form 7 — aucun risque de
   débordement sur d'autres pages.
   ==================================================== */
.gdlr-core-pbf-column-content:has(.wpcf7) {
    --pcf-cream:     #FCF7EE;
    --pcf-cream-2:   #F7F1E8;
    --pcf-ink:       #1A1714;
    --pcf-ink-soft:  #4A423B;
    --pcf-muted:     #8A7F73;
    --pcf-line:      #DDD2BE;
    --pcf-line-soft: #EFE7D8;
    --pcf-carmin:    #E60033;
    --pcf-turquoise: #00BFA5;
    --pcf-vert:      #00833B;

    position: relative;
    max-width: 720px;
    margin: 0px auto !important;
    padding: 56px 48px;
    background:
        radial-gradient(circle at 0% 0%,   rgba(0, 191, 165, .08), transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(230, 0, 51, .06), transparent 55%),
        var(--pcf-cream);
    border-radius: 28px;
    box-shadow:
        0 30px 80px -30px rgba(26, 23, 20, .18),
        0 0 0 1px rgba(221, 210, 190, .6);
    font-family: 'DM Sans', sans-serif;
    overflow: hidden;
}

/* Grain subtil */
.gdlr-core-pbf-column-content:has(.wpcf7)::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
    opacity: .04;
    pointer-events: none;
    mix-blend-mode: multiply;
    border-radius: inherit;
}

/* Cercle décoratif animé dans le coin */
.gdlr-core-pbf-column-content:has(.wpcf7)::after {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent, rgba(0, 191, 165, .25), transparent, rgba(230, 0, 51, .15), transparent);
    filter: blur(40px);
    opacity: .7;
    animation: pcf-orbit 24s linear infinite;
    pointer-events: none;
}
@keyframes pcf-orbit {
    to { transform: rotate(360deg); }
}

/* Tout passe au-dessus du grain */
.gdlr-core-pbf-column-content:has(.wpcf7) > * {
    position: relative;
    z-index: 1;
}

/* ====================================================
   TITRE « Une question ? Nous sommes là ! »
   ==================================================== */
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-title-item {
    padding-bottom: 8px !important;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-title-item-title {
    font-family: 'Fraunces', serif !important;
    font-weight: 400 !important;
    font-size: clamp(2rem, 4vw, 2.8rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -.015em !important;
    color: var(--pcf-ink) !important;
    margin: 0 !important;
}
/* On colorise « Nous sommes là ! » en italique */
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-title-item-title {
    /* astuce sans toucher au HTML : on garde le titre simple
       et on ajoute un eyebrow via ::before */
}
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-title-item-title::before {
    content: "— Écrivez-nous";
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--pcf-turquoise);
    margin-bottom: 14px;
}

/* On masque le divider d'origine (on a notre propre style) */
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-title-item-title-divider {
    display: none !important;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-divider-item {
    padding-bottom: 28px !important;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-divider-container {
    max-width: 60px !important;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-divider-line {
    border-color: var(--pcf-carmin) !important;
    border-width: 2px !important;
    border-radius: 2px;
}

/* ====================================================
   FORMULAIRE CONTACT FORM 7
   ==================================================== */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form {
    text-align: left !important; /* on annule le text-align:center inline */
    margin-top: 16px;
}

/* Les <p> du formulaire = lignes de champ */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form > div > p {
    margin: 0 0 28px;
}

/* Les <label> = entêtes de champ (style « eyebrow ») */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form label {
    display: block;
    font-family: 'DM Sans', sans-serif !important;
    font-size: .72rem !important; /* on annule le 1.2em inline */
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pcf-muted);
    cursor: text;
    transition: color .25s ease;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form label:hover {
    color: var(--pcf-ink-soft);
}

/* On masque les <br> entre label et input (espacement géré en CSS) */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form label br {
    display: none;
}

/* Wrapping des champs */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form-control-wrap {
    display: block;
    margin-top: 8px;
}

/* ====================================================
   CHAMPS — style underline minimaliste
   ==================================================== */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="text"],
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="email"],
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 14px 4px 10px;
    background: transparent;
    border: none;
    border-bottom: 1.5px solid var(--pcf-line);
    border-radius: 0;
    font-family: 'Fraunces', serif;
    font-size: 1.15rem;
    font-weight: 400;
    color: var(--pcf-ink);
    transition:
        border-color .35s cubic-bezier(.2, .7, .2, 1),
        background-color .25s ease;
    box-shadow: none;
}

/* Hover */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="text"]:hover,
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="email"]:hover,
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea:hover {
    border-bottom-color: var(--pcf-ink-soft);
}

/* Focus */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="text"]:focus,
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="email"]:focus,
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea:focus {
    outline: none;
    border-bottom-color: var(--pcf-carmin);
    background: linear-gradient(to top, rgba(230, 0, 51, .03), transparent);
}

/* Labels surlignés quand un champ enfant a le focus */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form label:has(input:focus),
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form label:has(textarea:focus) {
    color: var(--pcf-carmin);
}

/* Textarea */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea {
    min-height: 140px;
    padding: 14px 4px;
    resize: vertical;
    line-height: 1.5;
    font-size: 1.05rem;
}

/* Placeholder (le formulaire n'en a pas, mais au cas où) */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input::placeholder,
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea::placeholder {
    color: var(--pcf-line);
    font-style: italic;
}

/* ====================================================
   BOUTON D'ENVOI
   ==================================================== */
/* On annule la div inline `width:120px;margin:auto` */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form > div > div {
    width: auto !important;
    margin: 32px 0 0 !important;
    text-align: left;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form > div > div p {
    margin: 0;
}

.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 44px 18px 38px;
    background: var(--pcf-ink);
    background-image: linear-gradient(120deg, var(--pcf-ink) 0%, var(--pcf-ink) 50%, var(--pcf-carmin) 50%, var(--pcf-carmin) 100%);
    background-size: 220% 100%;
    background-position: 0% 0%;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-family: 'DM Sans', sans-serif;
    font-size: .82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .18em;
    cursor: pointer;
    transition:
        background-position .55s cubic-bezier(.7, 0, .2, 1),
        transform .3s ease,
        box-shadow .35s ease;
    box-shadow: 0 10px 30px -10px rgba(26, 23, 20, .4);
    -webkit-appearance: none;
    appearance: none;
}

/* Petite flèche via pseudo-element */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit {
    /* On utilise un padding-right pour la flèche dessinée en ::after sur le parent */
}
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit::after {
    /* malheureusement les <input> ne portent pas de pseudo, on simule via bordure */
}
/* Astuce : on ajoute la flèche en arrière-plan SVG */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit {
    background-image:
        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.2' stroke-linecap='round'><path d='M5 12h14M13 5l7 7-7 7'/></svg>"),
        linear-gradient(120deg, #1A1714 0%, #1A1714 50%, #E60033 50%, #E60033 100%);
    background-repeat: no-repeat, no-repeat;
    background-position: calc(100% - 18px) center, 0% 0%;
    background-size: 16px 16px, 220% 100%;
    padding-right: 56px;
}

.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit:hover {
    background-position: calc(100% - 14px) center, 100% 0%;
    transform: translateY(-2px);
    box-shadow:
        0 18px 40px -10px rgba(230, 0, 51, .45),
        0 0 0 1px rgba(230, 0, 51, .1);
}
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit:active {
    transform: translateY(0);
}
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit:focus-visible {
    outline: 2px solid var(--pcf-turquoise);
    outline-offset: 4px;
}

/* Spinner CF7 — couleur de marque */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-spinner {
    background-color: var(--pcf-turquoise) !important;
    margin: 0 0 0 16px;
    vertical-align: middle;
}

/* ====================================================
   MESSAGES DE RÉPONSE (succès / erreur)
   ==================================================== */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-response-output {
    margin: 28px 0 0 !important;
    padding: 16px 22px !important;
    border-radius: 14px !important;
    border: none !important;
    font-family: 'DM Sans', sans-serif;
    font-size: .95rem;
    line-height: 1.4;
}
.gdlr-core-pbf-column-content:has(.wpcf7) form.sent .wpcf7-response-output {
    background: rgba(0, 131, 59, .08);
    color: var(--pcf-vert);
    border-left: 4px solid var(--pcf-vert) !important;
}
.gdlr-core-pbf-column-content:has(.wpcf7) form.invalid .wpcf7-response-output,
.gdlr-core-pbf-column-content:has(.wpcf7) form.unaccepted .wpcf7-response-output,
.gdlr-core-pbf-column-content:has(.wpcf7) form.failed .wpcf7-response-output {
    background: rgba(230, 0, 51, .07);
    color: var(--pcf-carmin);
    border-left: 4px solid var(--pcf-carmin) !important;
}

/* Messages d'erreur sous chaque champ */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-not-valid-tip {
    color: var(--pcf-carmin) !important;
    font-size: .82rem !important;
    font-weight: 500;
    margin-top: 8px;
    display: block;
    font-style: italic;
}

/* Champ invalide */
.gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-not-valid {
    border-bottom-color: var(--pcf-carmin) !important;
    background: linear-gradient(to top, rgba(230, 0, 51, .05), transparent) !important;
}

/* ====================================================
   BLOC RGPD / INFOS SOUS LE FORMULAIRE
   ==================================================== */
.gdlr-core-pbf-column-content:has(.wpcf7) .contact-info {
    margin-top: 36px;
    padding: 24px 28px;
    background: rgba(255, 255, 255, .5);
    backdrop-filter: blur(4px);
    border-radius: 16px;
    border: 1px dashed var(--pcf-line);
}
.gdlr-core-pbf-column-content:has(.wpcf7) .contact-info__item {
    font-size: .82rem !important;
    line-height: 1.55;
    color: var(--pcf-muted);
}
.gdlr-core-pbf-column-content:has(.wpcf7) .contact-info__item strong {
    color: var(--pcf-ink);
    font-weight: 600;
}
.gdlr-core-pbf-column-content:has(.wpcf7) .contact-info__item span[style*="font-weight: 400"] {
    /* on neutralise les inline styles */
    font-weight: 400 !important;
}

/* ====================================================
   RESPONSIVE
   ==================================================== */
@media (max-width: 768px) {
    .gdlr-core-pbf-column-content:has(.wpcf7) {
        padding: 40px 24px;
        margin: 32px 16px;
        border-radius: 22px;
    }
    .gdlr-core-pbf-column-content:has(.wpcf7) .gdlr-core-title-item-title {
        font-size: 1.7rem !important;
    }
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form > div > p {
        margin-bottom: 22px;
    }
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"].wpcf7-submit {
        width: 100%;
        padding: 16px 24px 16px 24px;
        background-position: calc(100% - 20px) center, 0% 0%;
    }
}

@media (max-width: 480px) {
    .gdlr-core-pbf-column-content:has(.wpcf7) {
        padding: 32px 20px;
    }
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="text"],
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="email"],
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea {
        font-size: 1rem;
    }
}

/* ====================================================
   ACCESSIBILITÉ — préférence motion réduite
   ==================================================== */
@media (prefers-reduced-motion: reduce) {
    .gdlr-core-pbf-column-content:has(.wpcf7)::after {
        animation: none;
    }
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input,
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form textarea,
    .gdlr-core-pbf-column-content:has(.wpcf7) .wpcf7-form input[type="submit"] {
        transition: none;
    }
}