/*
Theme Name: Karine Bourassa
Description: Thème WordPress pour Karine Bourassa, thérapeute holistique : accueil, une page par soin, blog, FAQ. Textes modifiables dans Apparence > Personnaliser, Soins, Pages et Articles.
Version: 1.2.1
Text Domain: karine-bourassa
*/
:root{--fond:#f7f0e6;--fond2:#ede4d6;--carte:#e8d9c4;--vert:#3d4a3f;--sauge:#7a9a7e;--sauge-t:#56755a;--or-t:#8a6238;--or:#a67c4e;--texte:#55584f;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--sans);line-height:1.75}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.site-h{border-bottom:1px solid #ddd2c0;position:relative;z-index:10}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;gap:20px}
.logo{display:flex;align-items:center;gap:14px}.logo svg{width:50px;height:56px}
.logo b{display:block;font-family:var(--serif);font-size:1.8rem;color:var(--vert);line-height:1.1}
.logo small{letter-spacing:.2em;font-size:.68rem;color:var(--or-t);font-weight:600}
nav{display:flex;gap:28px;align-items:center}
.liens{list-style:none;display:flex;gap:28px;margin:0;padding:0}.liens li{position:relative}
.liens a:hover,.liens .current-menu-item>a{color:var(--vert)}
.liens .sub-menu{display:none;position:absolute;top:100%;left:-16px;background:var(--fond);border:1px solid #ddd2c0;list-style:none;margin:0;padding:10px 0;min-width:230px}
.liens li:hover>.sub-menu,.liens li:focus-within>.sub-menu{display:block}.liens .sub-menu a{display:block;padding:8px 20px}
.btn{display:inline-flex;align-items:center;gap:16px;background:var(--vert);color:#fff;font-weight:600;border-radius:40px;padding:16px 30px}.btn:hover{background:#2d372f}
.lien{font-weight:600;color:var(--vert)}.menu{display:none}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:70px 0 50px}
.eyebrow,.sur{font-size:.78rem;letter-spacing:.18em;font-weight:600;text-transform:uppercase}.eyebrow{color:var(--or-t)}.sur{color:var(--vert)}
.hero h1{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--sauge-t);font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.12;margin:18px 0 28px}
.hero p{max-width:480px;font-size:1.1rem}.actions{display:flex;align-items:center;gap:32px;margin:32px 0 22px;flex-wrap:wrap}.note{font-size:.92rem;color:var(--sauge-t)}
.arche{position:relative;margin:20px 20px 0 0}
.arche .cadre{position:absolute;inset:-16px -16px 16px 16px;border:1px solid var(--or);border-radius:28px;border-bottom:0}
.arche .photo{position:relative;aspect-ratio:3/4;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#cfdbe0,#e9cfb4 40%,#a9bfcb)}
.arche img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.bulle{position:absolute;left:-48px;bottom:36px;background:var(--fond);padding:22px 32px;border-bottom:2px solid var(--or);font-family:var(--serif);font-size:1.4rem;color:var(--vert);line-height:1.35;box-shadow:0 6px 24px rgba(0,0,0,.06)}.bulle em{color:var(--sauge-t)}
.citation{background:var(--fond2);text-align:center;padding:70px 20px}
.citation blockquote{margin:0 auto;max-width:640px;font-family:var(--serif);font-style:italic;font-size:2rem;line-height:1.4;color:var(--vert)}
.titre{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
h2.gros,.page-titre{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.1;margin:14px 0 0;color:var(--vert)}
.gros em,.page-titre em{display:block;font-weight:400;color:var(--sauge-t)}.titre p{max-width:290px;margin:0}
.bloc{padding:90px 0 40px}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px;margin-top:50px}
.carte{padding:40px;background:var(--fond2);display:flex;flex-direction:column}.carte:nth-child(odd){background:var(--carte)}
.carte .haut svg{width:38px;height:38px;stroke:var(--sauge)}
.carte h3{font-family:var(--serif);font-size:1.9rem;color:var(--vert);margin:6px 0 12px;line-height:1.2}.carte p{margin:0 0 18px}
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.tags span{border:1px solid #bfae92;border-radius:30px;padding:4px 14px;font-size:.85rem}
.plus{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid #b9b49c;padding-top:20px;color:var(--vert)}
.avis{text-align:center;font-size:.9rem;margin:34px 0 0}
.tarifs{background:var(--carte);border-radius:18px;padding:26px 32px;max-width:460px}
.tarifs h3{font-family:var(--serif);color:var(--sauge-t);text-align:center;margin:0 0 10px;font-size:1.5rem}
.tarifs div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #b9b49c}.tarifs div:first-of-type{border:0}.tarifs b{color:var(--or-t);font-family:var(--serif);font-size:1.15rem}
.approche{background:var(--fond2);padding:90px 0;margin-top:60px}
.approche .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.approche .img{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1.15/1;background:#cfdbe0}
.approche .img img{width:100%;height:100%;object-fit:cover;object-position:20% 85%;display:block}
.approche .img div{position:absolute;left:30px;right:30px;bottom:36px;background:rgba(247,240,230,.92);border-bottom:2px solid var(--or);text-align:center;padding:22px 16px;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--vert)}
.approche p{margin:0 0 18px}.approche ul{list-style:none;padding:0;margin:26px 0 30px}
.approche li{padding-left:36px;position:relative;margin-bottom:10px;font-size:.95rem}.approche li:before{content:"\2713";position:absolute;left:0;color:var(--sauge-t)}
.faq .wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}
.faq details{border-top:1px solid #d9d0bd;padding:22px 0}.faq details:last-child{border-bottom:1px solid #d9d0bd}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;color:var(--vert)}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"\2335";transform:rotate(180deg);font-size:.9rem}.faq details[open] summary:after{transform:none}.faq details p{margin:16px 0 0;max-width:640px}
.appel{position:relative;overflow:hidden;background:var(--vert);color:#e9e4d6;text-align:center;padding:90px 20px;margin-top:70px}
.appel .sur{color:#e8d9c4}.appel h2{font-family:var(--serif);color:#f7f0e6;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.15;margin:20px 0}.appel h2 em{display:block;font-weight:400;color:#d6e0c9}
.appel p{margin:0 0 32px}.tel{display:inline-flex;gap:14px;align-items:center;background:#e8d9c4;color:#6b4e2c;font-weight:700;font-size:1.2rem;border-radius:40px;padding:18px 34px}
.appel small{display:block;margin-top:16px;font-size:.88rem}
.entete{padding:70px 0 40px}.entete .wrap.soin{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.entete .chap{font-size:1.15rem;max-width:520px}
.contenu{max-width:760px}.contenu h2,.contenu h3{font-family:var(--serif);color:var(--vert);line-height:1.2}.contenu h2{font-size:2rem;margin-top:2em}
.contenu ul{padding-left:1.2em}.contenu li{margin-bottom:6px}.contenu .tel{color:#6b4e2c;text-decoration:none}
.deux{display:grid;grid-template-columns:1fr 340px;gap:70px;padding-bottom:50px}
.aside{background:var(--carte);border-radius:18px;padding:30px;align-self:start;text-align:center}
.aside .prix{font-family:var(--serif);font-size:2rem;color:var(--or-t);font-weight:700;display:block}.aside .tel{margin-top:18px;font-size:1.05rem;padding:14px 24px}
.autres{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.autres a{border:1px solid #bfae92;border-radius:30px;padding:6px 18px}.autres a:hover{background:var(--carte)}
.articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:36px;padding-bottom:60px}
.art{background:var(--fond2)}.art img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.art .corps{padding:26px 28px 30px}
.art h2{font-family:var(--serif);font-size:1.5rem;line-height:1.25;margin:6px 0 10px;color:var(--vert)}.meta{font-size:.82rem;color:var(--or-t);letter-spacing:.08em;text-transform:uppercase}
.pagi{text-align:center;padding-bottom:60px}.pagi a,.pagi span{padding:6px 12px}
footer.pied{margin-top:70px;border-top:1px solid #ddd2c0;padding:32px 0;font-size:.88rem}
.pied .haut{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.pied .bas{border-top:1px solid #ddd2c0;margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.page-titre{margin-bottom:30px}.site-main{padding:60px 0 20px}
.citation h2{font-family:var(--serif);font-weight:400;color:var(--sauge-t);font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.25;max-width:760px;margin:0 auto 20px}
.citation .ecoute,.citation .bio{max-width:680px;margin:0 auto}
.citation blockquote{margin:34px auto 30px}
.objectif{padding:80px 0 10px}.objectif .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.objectif h2{font-family:var(--serif);color:var(--sauge-t);font-size:2.2rem;line-height:1.15;margin:0 0 18px}
.objectif .it{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--vert);line-height:1.6}
.objectif ul{list-style:none;padding:0;margin:20px 0}.objectif li{padding-left:28px;position:relative;margin-bottom:8px}
.objectif li:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sauge);position:absolute;left:0;top:.6em}
.projet{font-family:var(--serif);font-style:italic;font-weight:700;color:#5f7f65;font-size:1.4rem;line-height:1.45;border-top:2px solid var(--or);padding-top:22px;margin-top:26px;text-align:center}
.coord{font-size:.88rem;line-height:1.7;margin:6px 0 0}.coord a{color:var(--or-t)}
@media(max-width:860px){.objectif .wrap{grid-template-columns:1fr;gap:40px}
.wrap{padding:0 20px}.top{padding:14px 20px}.liens{display:none}
nav.ouvert .liens{display:flex;flex-direction:column;gap:10px;position:absolute;left:0;right:0;top:100%;background:var(--fond);padding:20px;border-bottom:1px solid #ddd2c0}
nav.ouvert .sub-menu{display:block;position:static;border:0;padding:4px 0 4px 14px}
.menu{display:block;background:none;border:1px solid var(--vert);border-radius:8px;padding:8px 12px;font-size:1.3rem;color:var(--vert);cursor:pointer}
nav>.btn{display:none}
.hero,.approche .wrap,.faq .wrap,.entete .wrap.soin,.deux{grid-template-columns:1fr;gap:40px}.hero{padding-top:40px}
.bulle{left:0;font-size:1.15rem;padding:16px 20px}.carte{padding:30px 24px}.citation blockquote{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Pages Elementor ---------- */
.elementor h1,.elementor h2,.elementor h3{font-family:var(--serif);color:var(--vert);line-height:1.15}
.elementor,.elementor p{font-family:var(--sans);color:var(--texte)}
.elementor-widget-text-editor p{margin:0 0 .8em}
.kb-eyebrow p{color:var(--or-t)!important;font-weight:600;letter-spacing:.16em;font-size:.8rem;margin:0}
.kb-sur p{color:var(--vert)!important;font-weight:600;letter-spacing:.18em;font-size:.78rem;margin:0}
.kb-eyebrow.kb-clair p{color:#e8d9c4!important}
.kb-hero-title .elementor-heading-title{font-style:italic!important;font-weight:400!important;color:var(--sauge-t)!important;font-size:clamp(2.6rem,5vw,4.4rem)!important;line-height:1.12!important}
.kb-btn .elementor-button{background:var(--vert)!important;color:#fff!important;border-radius:40px!important;padding:16px 30px!important;font-weight:600;font-family:var(--sans)}
.kb-btn .elementor-button:hover{background:#2d372f!important}
.kb-lien .elementor-button{background:transparent!important;color:var(--vert)!important;padding:0!important;font-weight:600;border-radius:0!important}
.kb-tel .elementor-button{background:#e8d9c4!important;color:#6b4e2c!important;border-radius:40px!important;padding:16px 32px!important;font-weight:700;font-size:1.1rem}
.kb-note p{color:var(--sauge-t)!important;font-size:.92rem}
.kb-chapeau p{font-size:1.15rem}
.kb-arche img{border-radius:28px!important;width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.kb-photo img{border-radius:8px;width:100%;aspect-ratio:1.15/1;object-fit:cover;object-position:20% 85%}
.kb-bulle{margin-top:-90px!important;margin-left:-30px!important;position:relative;z-index:2}
.kb-bulle p,.kb-legende p{background:var(--fond);padding:18px 26px;border-bottom:2px solid var(--or);font-family:var(--serif);font-size:1.3rem;color:var(--vert)!important;display:inline-block;margin:0}
.kb-legende p{background:transparent;border:0;font-style:italic;padding:12px 0}
.kb-ecoute-h .elementor-heading-title{color:var(--sauge-t)!important;font-weight:400;font-size:clamp(1.9rem,3.6vw,2.7rem);max-width:760px;margin:0 auto}
.kb-quote blockquote{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--vert);margin:20px auto;max-width:640px;border:0;padding:0;line-height:1.4}
.kb-vert .elementor-heading-title{color:var(--sauge-t)!important;font-size:2.2rem}
.kb-ital p{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--vert)!important;line-height:1.6}
.kb-projet p{font-family:var(--serif);font-style:italic;font-weight:700;color:#5f7f65!important;font-size:1.4rem;border-top:2px solid var(--or);padding-top:20px;text-align:center}
.kb-tarifs{margin:0 auto}.kb-tarifs p{display:flex;justify-content:space-between;border-top:1px solid #b9b49c;padding:10px 0;margin:0}.kb-tarifs p strong{color:var(--or-t);font-family:var(--serif);font-size:1.15rem}
.kb-centre-box{align-items:center}
.kb-prix .elementor-heading-title{color:var(--or-t)!important;font-size:2rem}
.kb-texte h2{font-size:1.8rem;margin:1.4em 0 .5em}.kb-texte{max-width:760px}
.kb-cta-h .elementor-heading-title{color:#f7f0e6!important;font-size:clamp(2.4rem,5.5vw,4rem)}.kb-cta-h em{display:block;font-weight:400;color:#d6e0c9}
.elementor-widget-heading em{display:block;font-weight:400;color:var(--sauge-t)}
.elementor-accordion .elementor-tab-title{color:var(--vert)!important;font-weight:400}.elementor-accordion .elementor-accordion-item{border-color:#d9d0bd!important}
.elementor-widget-icon-list .elementor-icon-list-icon i{color:var(--sauge-t)!important}.kb-puces .elementor-icon-list-text{color:var(--vert)!important}
@media(max-width:860px){
 .kb-row,.kb-row>.e-con-inner{--flex-direction:column!important;flex-direction:column!important}
 .kb-row .e-con{--width:100%!important;width:100%!important}
 .kb-cards>.e-con-inner>.e-con,.kb-cards>.e-con{--width:100%!important;width:100%!important}
 .kb-bulle{margin-left:0!important}
}

.kb-portrait img{aspect-ratio:4/5!important;object-position:50% 20%!important}

/* ---------- Accessibilité, SEO et responsive (v1.1) ---------- */
html,body{max-width:100%;overflow-x:clip}
img,svg,video,iframe{max-width:100%}img{height:auto}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;color:var(--vert);padding:10px 16px;z-index:100;border-radius:6px}.skip:focus{left:10px}
.tel-mob{display:none}
.kb-tarifs{max-width:100%!important}
@media(max-width:1024px){nav,.liens{gap:18px}.hero{gap:30px}.approche .wrap,.faq .wrap,.objectif .wrap{gap:40px}.deux{grid-template-columns:1fr 280px;gap:40px}.top{padding-left:24px;padding-right:24px}}
@media(max-width:860px){nav>.btn{display:none}.tel-mob{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--vert);color:#fff;font-size:1.15rem}nav{gap:10px}.deux{grid-template-columns:1fr}.titre p{max-width:none}}
@media(max-width:560px){
 body{font-size:16px}.top{padding:12px 16px}.logo b{font-size:1.35rem}.logo svg{width:38px;height:43px}
 .hero h1{font-size:2.5rem}.actions{gap:14px}.actions .btn{width:100%;justify-content:center}
 .carte{padding:26px 20px}.citation{padding:50px 16px}.citation h2{font-size:1.65rem}.citation blockquote{font-size:1.3rem}
 .tarifs{padding:20px}.bulle{position:static;display:block;margin-top:14px;left:auto;box-shadow:none}.arche{margin-right:0}.arche .cadre{inset:-10px -8px 10px 8px}
 .appel{padding:60px 16px}.tel{width:100%;justify-content:center}.pied .bas{flex-direction:column}.aside{padding:22px}.approche{padding:60px 0}.bloc{padding-top:60px}
 .kb-hero-title .elementor-heading-title{font-size:2.5rem!important}.kb-quote blockquote{font-size:1.3rem}.kb-bulle p{font-size:1.1rem}
}

/* ---------- Photos à bords arrondis (v1.2) ---------- */
.kb-round,.art img,.contenu img,.elementor-widget-image img{border-radius:24px}
.arche .photo{border-radius:28px}
.arche .cadre{border-radius:28px}
.kb-arche img{border-radius:28px!important}
.approche .img,.kb-photo img{border-radius:28px!important}
.kb-bande{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0}
.kb-bande img,.kb-photos img,.kb-banniere{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:24px!important}
.kb-banniere{aspect-ratio:2/1}
.kb-vignette img,.carte .vignette{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:18px!important}
.carte .vignette{margin-bottom:22px}
.art img{aspect-ratio:3/2;object-fit:cover;border-radius:24px 24px 0 0}
.kb-portrait img{border-radius:28px!important}
@media(max-width:860px){.kb-bande{grid-template-columns:1fr}}

/* Arches supprimées : photos à coins arrondis */
.arche .cadre{display:none!important}
.arche{margin:0}
.arche .photo,.kb-arche img,.kb-portrait img{border-radius:28px!important}
.kb-arche img{aspect-ratio:4/5;object-fit:cover}
