.jvsi-contact{--jvsi-forest:#08652e;--jvsi-leaf:#0b933d;--jvsi-mint:#eaf7ee;color:#1b2932;padding:12px 0 76px;max-width:1180px;margin:auto;box-sizing:border-box}
.jvsi-contact *{box-sizing:border-box}.jvsi-contact-intro{max-width:720px;margin-bottom:31px}.jvsi-contact-eyebrow,.jvsi-contact-overline{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--jvsi-leaf)}.jvsi-contact-eyebrow i{margin-right:9px}.jvsi-contact-intro h1{font-size:clamp(32px,4.2vw,54px);font-weight:800;letter-spacing:-.038em;line-height:1.12;margin:12px 0 17px}.jvsi-contact-intro h1 em{font-style:normal;color:var(--jvsi-leaf)}.jvsi-contact-intro p{font-size:16px;color:#647386;line-height:1.75}.jvsi-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.jvsi-contact-card{background:#fff;border:1px solid #e3eae8;border-radius:23px;padding:clamp(20px,3.3vw,36px);box-shadow:0 20px 50px rgba(21,58,40,.05)}.jvsi-contact-form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:15px}.jvsi-contact-form-heading h2{font-size:26px;font-weight:800;margin:5px 0 0;letter-spacing:-.02em}.jvsi-contact-mark,.jvsi-contact-round{display:grid;place-items:center;border-radius:14px;background:var(--jvsi-mint);color:var(--jvsi-forest);width:50px;height:50px;font-size:21px}.jvsi-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.jvsi-contact-fields .span-all{grid-column:1/-1}.jvsi-contact-fields label{display:block;font-weight:750;font-size:13px;margin-bottom:7px}.jvsi-contact-fields label span{color:#de4558}.jvsi-contact-fields input,.jvsi-contact-fields select,.jvsi-contact-fields textarea{width:100%;min-width:0;border:1px solid #dbe3e5;border-radius:11px;outline:0;background:#fafcfd;padding:13px 14px;color:#23333f;font-size:14px;transition:box-shadow .2s,border-color .2s,background .2s}.jvsi-contact-fields :is(input,select,textarea):focus{background:white;border-color:var(--jvsi-leaf);box-shadow:0 0 0 4px rgba(11,147,61,.12)}.jvsi-contact-fields textarea{resize:vertical;min-height:145px}.jvsi-contact-check{display:flex;gap:11px;align-items:start;font-size:12px;line-height:1.6;color:#536273;margin-top:16px;cursor:pointer}.jvsi-contact-check input{margin-top:3px;accent-color:var(--jvsi-leaf)}.jvsi-contact-check strong{color:#d33}.jvsi-contact-submit{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:29px;flex-wrap:wrap}.jvsi-contact-submit>span{font-size:12px;color:#86929c}.jvsi-contact-submit>span i{color:var(--jvsi-leaf);margin-right:5px}.jvsi-contact-submit button{background:var(--jvsi-forest);color:white;border:0;border-radius:11px;padding:14px 21px;font-weight:800;font-size:14px;cursor:pointer;transition:transform .2s,background .2s}.jvsi-contact-submit button:hover{background:var(--jvsi-leaf);transform:translateY(-1px)}.jvsi-contact-submit button:disabled{opacity:.65;cursor:wait;transform:none}.jvsi-contact-submit button i{margin-left:10px}.jvsi-contact-aside{background:linear-gradient(160deg,#077136 0%,#06542d 100%);border-radius:23px;overflow:hidden;color:#fff;box-shadow:0 15px 44px rgba(1,99,41,.13)}.jvsi-contact-aside-top{padding:32px 28px}.jvsi-contact-round{width:55px;height:55px;color:#fff;background:rgba(255,255,255,.14);font-size:22px}.jvsi-contact-aside h2{font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.03em;margin:24px 0 15px}.jvsi-contact-aside p{font-size:13px;line-height:1.8;color:#d4f5dd}.jvsi-contact-email{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:700;font-size:14px;overflow-wrap:anywhere}.jvsi-contact-email:hover{color:#d0f7d6}.jvsi-contact-offices{padding:25px 28px;background:rgba(0,0,0,.13)}.jvsi-contact-offices h3{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;color:#bdeacb}.jvsi-contact-offices a{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);text-decoration:none;color:white;font-size:13px}.jvsi-contact-offices a:last-child{border:0}.jvsi-contact-offices a span{color:#c0e9d0;font-size:12px;margin-bottom:3px}.jvsi-contact-alert{padding:14px 17px;margin-bottom:21px;border-radius:10px;background:#e9f9ef;color:#126337;font-size:14px;border:1px solid #bce7ce}.jvsi-contact-alert.is-error{background:#fff1f1;color:#b82c38;border-color:#f3c1c6}.jvsi-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:980px){.jvsi-contact-layout{grid-template-columns:minmax(0,1fr)}.jvsi-contact-aside{display:grid;grid-template-columns:1fr 1fr}.jvsi-contact-offices{padding:32px 26px}}@media(max-width:580px){.jvsi-contact-fields{grid-template-columns:1fr}.jvsi-contact-card{border-radius:15px}.jvsi-contact-aside{display:block;border-radius:15px}.jvsi-contact-submit button{width:100%}.jvsi-contact-intro{padding:0 3px}}

.jvsi-contact-addresses{margin-top:28px;border:1px solid #e1eae3;background:#fbfdfb;border-radius:16px}.jvsi-contact-addresses summary{padding:20px 24px;cursor:pointer;font-size:14px;font-weight:800;color:#1d5436;list-style:none;display:flex;gap:12px;align-items:center}.jvsi-contact-addresses summary::-webkit-details-marker{display:none}.jvsi-contact-addresses summary>i:last-child{margin-left:auto;transition:transform .2s}.jvsi-contact-addresses[open] summary>i:last-child{transform:rotate(180deg)}.jvsi-contact-address-grid{padding:0 24px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.jvsi-contact-address-grid>div{background:white;border:1px solid #e6eee8;padding:19px;border-radius:12px;min-width:0}.jvsi-contact-address-grid h3{font-weight:800;font-size:15px;margin-bottom:11px}.jvsi-contact-address-grid p{font-size:13px;color:#5b6570;margin-bottom:9px;line-height:1.65}.jvsi-contact-address-grid a,.jvsi-contact-address-grid small{display:block;margin-top:7px;overflow-wrap:anywhere;font-size:12px}.jvsi-contact-address-grid a{color:#08652e;text-decoration:none}.jvsi-contact-address-grid small{color:#73818a}@media(max-width:580px){.jvsi-contact-address-grid{grid-template-columns:1fr;padding:0 15px 15px}.jvsi-contact-addresses summary{padding:18px 15px}}

/* Page publique Nos adresses (mid=258) : largeur normale, cartes responsives. */
.jvsi-addresses-page{margin:18px auto 48px;max-width:1200px}
.jvsi-addresses-page .jvsi-contact-address-grid{padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.jvsi-addresses-page .jvsi-contact-address-grid>div{padding:25px;border-radius:16px;box-shadow:0 8px 28px rgba(23,72,46,.06)}
.jvsi-addresses-page .jvsi-contact-address-grid h3{font-size:19px;color:#096b38}
.jvsi-addresses-page .jvsi-contact-address-grid p{font-size:14px}
.jvsi-addresses-page .jvsi-contact-address-grid a,.jvsi-addresses-page .jvsi-contact-address-grid small{font-size:13px}
.jvsi-addresses-cta{display:inline-flex;align-items:center;gap:9px;margin-top:24px;padding:14px 20px;border-radius:11px;color:white!important;background:#078a3a;font-weight:800;text-decoration:none!important}
.jvsi-addresses-cta:hover{background:#066a30}
@media(max-width:650px){.jvsi-addresses-page .jvsi-contact-address-grid{grid-template-columns:1fr}.jvsi-addresses-page .jvsi-contact-address-grid>div{padding:19px}}
