/*
Theme Name: Justine Durand — Yvelines
Theme URI: https://visionaire-communication.fr/
Author: Visionaire
Description: Site de Justine Durand, ostéopathe animalier dans les Yvelines. CRM fourni dans l’extension séparée Justine CRM.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: justine-durand
*/
*{box-sizing:border-box}body{margin:0;background:#f8faf8;color:#16392f;font-family:Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit}button{font:inherit}header{background:#12352b;color:white;position:relative;z-index:2}.nav{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 4%;gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1.2}.brand img{width:76px;height:76px;object-fit:cover}.brand span{font-size:13px;letter-spacing:2px}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:14px}.btn{display:inline-block;background:#d4ae73;color:#16392f;padding:13px 24px;text-decoration:none;border:0;border-radius:3px;font-weight:bold}.outline{background:transparent;border:1px solid #bad0c5;color:inherit}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#12352b;color:white}.hero .copy{padding:75px max(35px,8vw);padding-right:40px}.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:2.5px;font-weight:bold;color:#b08b52}h1,h2,h3{font-family:Georgia,serif;line-height:1.15;font-weight:normal}h1{font-size:clamp(40px,4.5vw,68px);margin:20px 0}h2{font-size:clamp(32px,3vw,46px);margin:14px 0 25px}h3{font-size:28px}.hero p{color:#d4dfd9;max-width:490px}.hero img{width:100%;height:100%;max-height:690px;object-fit:cover;object-position:center}.actions{display:flex;gap:13px;flex-wrap:wrap;margin:30px 0}.badge{font-size:14px;margin-top:30px;color:#cfdecf}.marquee{overflow:hidden;background:#d4ae73;padding:15px 0}.track{display:flex;width:max-content;animation:move 38s linear infinite;gap:65px;font-size:14px;letter-spacing:1px}.marquee:hover .track{animation-play-state:paused}@keyframes move{to{transform:translateX(-50%)}}section{max-width:1240px;margin:auto;padding:85px 35px}.intro{display:flex;justify-content:space-between;align-items:end;gap:40px}.intro p{max-width:440px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:white;border:1px solid #dce5dd;overflow:hidden}.card img{width:100%;height:290px;object-fit:cover}.card .body{padding:24px}.card h3{margin:5px 0 15px}.card a{font-size:14px;font-weight:bold;text-underline-offset:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split>img{width:100%;max-height:580px;object-fit:cover}.dark{background:#12352b;color:white}.dark p{color:#d0dfd6}.dark section{padding-top:70px;padding-bottom:70px}.credential{border-left:3px solid #d4ae73;padding-left:22px;margin:28px 0}.zones{display:grid;grid-template-columns:1fr 1fr;gap:24px}.zone{background:#eaf0eb;padding:35px}.zone h3{margin:0 0 15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.number{color:#b18d58;font-size:40px;font-family:Georgia}.contact{background:#eaf0eb}.contact section{text-align:center}.contact h2{max-width:650px;margin:15px auto 25px}.contact a{margin:6px}.contact .mail{display:block;font-size:16px}footer{background:#0e2b22;color:#ccdad3;padding:35px 5%;font-size:14px}.foot{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.foot a{margin-right:20px}.article{max-width:860px}.article img{width:100%;max-height:490px;object-fit:cover;margin:25px 0}.article h2{font-size:32px;margin-top:45px}details{border-bottom:1px solid #cfdbd2;padding:22px 0}summary{cursor:pointer;font-weight:bold}.subhero{background:#12352b;color:white;padding:65px 35px;text-align:center}.subhero h1{font-size:52px;max-width:950px;margin:15px auto}.subhero p{max-width:680px;margin:auto}.menu{display:none}@media(prefers-reduced-motion:reduce){.track{animation:none}}@media(max-width:800px){.nav{flex-wrap:wrap}.menu{display:block;color:white;background:none;border:1px solid #68877b;padding:8px 12px}nav{display:none;width:100%;flex-direction:column;align-items:start;padding:15px}nav.open{display:flex}.brand strong{font-size:16px}.brand img{width:55px;height:55px}.hero{grid-template-columns:1fr}.hero .copy{padding:45px 25px}.hero img{height:420px}.grid,.split,.steps,.zones{grid-template-columns:1fr}.intro{display:block}section{padding:55px 25px}.split{gap:35px}.subhero h1{font-size:38px}.card img{height:320px}}
.trustbar{background:#edf2ed;border-bottom:1px solid #d8e1d9;color:#234a3b;font-size:13px}.trustbar>div{max-width:1320px;margin:auto;padding:12px 24px;display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}.trustbar a{text-decoration:none}.trustbar a:hover{text-decoration:underline}.marquee{background:#eef2ed;color:#355344;border-top:1px solid #dbe4dd;border-bottom:1px solid #dbe4dd;padding:11px 0}.track{animation-duration:65s;font-size:13px;letter-spacing:1px}.reviews blockquote{margin:0;padding:28px;border:1px solid #dce5dd;background:white}.reviews cite{font-style:normal;font-size:14px;color:#587062}.stars{color:#aa8248;letter-spacing:3px}.reviews small{font-size:13px;color:#587062}.address{font-size:15px;margin-top:28px}.portrait{width:100%;height:330px;object-fit:cover}@media(max-width:800px){.trustbar>div{gap:7px 20px;text-align:center}.trustbar span{width:100%}.trustbar a:last-child{font-size:12px}}
.experience{display:grid;grid-template-columns:repeat(4,1fr);padding:45px 35px;border-bottom:1px solid #dce5dd;gap:20px;text-align:center}.experience>div{border-right:1px solid #dce5dd;padding:10px 15px}.experience>div:last-child{border:0}.experience strong{font-family:Georgia,serif;font-weight:normal;font-size:48px;line-height:1.2;display:block;color:#234a3b}.experience>div>span{display:block;font-size:14px;margin-top:12px;color:#5b7065}.experience strong span{font-size:inherit}#contact-dialog{border:1px solid #d4dfd7;border-radius:8px;padding:38px;max-width:490px;width:calc(100% - 36px);background:#f8faf8;color:#16392f;text-align:center;box-shadow:0 20px 80px #071e2350}#contact-dialog::backdrop{background:#0d2b2266;backdrop-filter:blur(3px)}#contact-dialog img{border-radius:50%;margin-bottom:14px}#contact-dialog h2{font-size:36px;margin:18px 0}#contact-dialog .eyebrow{font-size:12px;letter-spacing:1.3px}#contact-dialog p{font-size:16px}.dialog-close{position:absolute;right:12px;top:8px;font-size:30px;background:none;border:0;color:#345b4a;cursor:pointer;width:42px;height:42px}.popup-call,.popup-mail{display:block;margin:12px 0;font-size:15px}.popup-mail{background:#12352b;color:white}.popup-address{color:#5b7065;font-size:13px!important}.dialog-later{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#486353;font-size:14px;cursor:pointer;padding:10px}a:focus-visible,button:focus-visible{outline:3px solid #ad8343;outline-offset:4px}@media(max-width:800px){.experience{grid-template-columns:1fr 1fr;padding:30px 20px}.experience>div:nth-child(2){border:0}.experience strong{font-size:40px}#contact-dialog{padding:30px 22px}#contact-dialog h2{font-size:32px}}
.contact{background:#f8faf8;padding:35px 0 70px}.contact .contact-section{display:grid;grid-template-columns:.85fr 1.15fr;padding:0;margin:0 auto;max-width:1170px;text-align:left;overflow:hidden;border-radius:8px;box-shadow:0 12px 45px #12352b12}.contact-photo{position:relative;min-height:570px;overflow:hidden;background:#16392f}.contact-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center}.contact-caption{position:absolute;bottom:0;left:0;right:0;padding:65px 30px 27px;background:linear-gradient(transparent,#0e2b22db);color:white;font:26px Georgia,serif}.contact-caption span{display:block;font:13px Arial,sans-serif;letter-spacing:1px;margin-top:8px;color:#e1e9e2}.contact-panel{background:#12352b;color:#f8faf8;padding:48px 42px}.contact .contact-panel h2{margin:18px 0 22px;font-size:clamp(32px,3.1vw,44px);max-width:none;line-height:1.15}.contact-intro{color:#ccdad3;margin-bottom:26px;font-size:16px;max-width:470px}.contact-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:12px}.contact .contact-actions a{margin:0;display:block;padding:20px 18px;text-decoration:none;border-radius:4px;transition:transform .2s,background .2s}.contact-actions a:hover{transform:translateY(-3px)}.contact-phone{background:#d4ae73;color:#12352b}.contact-email{border:1px solid #638376;background:#204639;color:#fff}.contact-label{font-size:11px;font-weight:bold;letter-spacing:1.4px;text-transform:uppercase;display:block}.contact-actions strong{display:block;font-size:18px;margin:10px 0 6px;white-space:nowrap}.contact-hint{display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.5}.contact-location{margin-top:30px;padding-top:25px;border-top:1px solid #49695c;display:grid;grid-template-columns:1fr 1.2fr;gap:18px;color:#d3e0d8}.contact-location .contact-label{color:#d4ae73;letter-spacing:.7px}.contact-location p{font-size:14px;line-height:1.6;margin:10px 0}.contact .contact-location a{font-size:12px;margin:0;text-underline-offset:4px}@media(max-width:900px){.contact{padding:20px 22px 50px}.contact .contact-section{grid-template-columns:1fr}.contact-photo{min-height:330px}.contact-photo>img{object-position:center 40%}.contact-panel{padding:35px 25px}.contact .contact-panel h2{font-size:36px}.contact-actions{grid-template-columns:1fr 1fr}}@media(max-width:480px){.contact-actions,.contact-location{grid-template-columns:1fr}.contact-photo{min-height:280px}.contact-panel{padding:30px 22px}.contact .contact-panel h2{font-size:32px}.contact-actions strong{font-size:19px}.contact-hint{font-size:13px}.contact-location{gap:4px}.contact-label{font-size:12px}}@media(prefers-reduced-motion:reduce){.contact-actions a{transition:none}}
.species-grid{grid-template-columns:repeat(4,1fr)}.species-grid .card img{height:240px}.species-grid .body{padding:22px}.cat-heading{height:240px;background:#12352b;color:#d4ae73;display:flex;flex-direction:column;justify-content:center;align-items:center;font:46px Georgia,serif}.cat-heading span{font:14px Arial,sans-serif;color:#dce6de;margin-top:15px}.bio-card,.price-card{padding:30px;border:1px solid #dce5dd;background:#fff}.signature-quote{font:28px Georgia,serif;color:#98763f;margin-top:30px}.hero-slogan{font:24px Georgia,serif;color:#d4ae73!important}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.price-card h2{font-size:32px;margin:18px 0}.price{font:46px Georgia,serif;color:#a17f48}.price-card p{font-size:15px}.map-note{font-size:13px;color:#567163}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.topic-grid>div{border-left:3px solid #d4ae73;background:#edf2ed;padding:23px}.blog-program{border-top:1px solid #dce5dd}@media(max-width:1000px){.species-grid,.price-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.species-grid,.price-grid,.topic-grid{grid-template-columns:1fr}.species-grid .card img{height:300px}nav{gap:18px}}
.steps-four{grid-template-columns:repeat(4,1fr)}.session-guide{max-width:1050px}.session-timeline{margin:40px 0}.session-step{display:grid;grid-template-columns:65px 1fr;gap:25px;padding:30px 0;border-top:1px solid #d7e2d9}.step-count{font:42px Georgia,serif;color:#aa8550}.session-step h3{margin:12px 0 18px}.session-step p{max-width:760px}.session-links{padding:25px 0}.reasons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:30px 0}.reasons-grid article{background:white;border:1px solid #dce5dd;padding:28px}.reasons-grid h3{margin:0 0 18px}.follow-note{padding:25px 30px;background:#eaf0eb;border-left:3px solid #d4ae73}.follow-note p:last-child{font-size:15px}.consultation-reasons>p{max-width:850px}@media(max-width:1000px){.steps-four{grid-template-columns:1fr 1fr}}@media(max-width:650px){.steps-four,.reasons-grid{grid-template-columns:1fr}.session-step{grid-template-columns:42px 1fr;gap:14px}.step-count{font-size:32px}.reasons-grid article{padding:24px}}
.species-grid .card img.feline-photo{object-position:center 58%}

.species-price h3{font-size:26px;margin:0 0 16px}.species-price p{font-size:16px}.species-price strong{font:30px Georgia,serif}.species-price>a{font-size:14px;text-underline-offset:4px}

.hero h1{font-size:clamp(36px,3.8vw,58px)}.breadcrumbs{padding:12px max(25px,5vw);font-size:13px;background:#eef3ee;color:#506b5c;display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs a{text-underline-offset:3px}.seo-local{border-top:1px solid #dce5dd}.seo-local>p{max-width:940px}.seo-related{padding-top:20px;font-size:15px}.seo-faq{max-width:950px}.seo-faq summary{line-height:1.5}.seo-faq p{margin-bottom:0}.nav nav{gap:20px}@media(max-width:800px){.hero h1{font-size:38px}.breadcrumbs{font-size:12px;gap:8px}}