/*
Theme Name: OLÉA VIE — Site officiel
Author: OLÉA VIE
Description: Thème WordPress modifiable pour le site vitrine OLÉA VIE. Fonctionne avec l'extension OLÉA VIE Gestion.
Version: 1.5.0
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: olea-vie
*/
:root{--ov-dark:#123c52;--ov-dark2:#0c303f;--ov-sage:#809c7c;--ov-leaf:#63886f;--ov-blue:#78bbd1;--ov-paper:#f6f8f5;--ov-white:#fff;--ov-ink:#243746;--ov-muted:#647882;--ov-border:#e1e9e5;--ov-shadow:0 16px 45px rgba(18,60,82,.095);--ov-radius:19px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--ov-white);color:var(--ov-ink);font-size:16px;line-height:1.67}a{color:#17677d;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:3px}h1,h2,h3,h4{color:var(--ov-dark);line-height:1.19;letter-spacing:-.025em}h1{font-size:clamp(2.5rem,5vw,4.7rem)}h2{font-size:clamp(1.8rem,3vw,2.75rem)}h3{font-size:1.25rem}p{margin:.5em 0 1.05em}.ov-wrap{max-width:1180px;padding:0 24px;margin:auto}.ov-topline{background:var(--ov-dark2);color:#eaf9f7;font-size:13px;text-align:center;padding:7px 10px}.ov-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--ov-border);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.admin-bar .ov-header{top:32px}.ov-headrow{min-height:90px;display:flex;align-items:center;gap:28px}.ov-brand{display:flex;align-items:center;gap:13px;flex-shrink:0;color:var(--ov-dark);text-decoration:none}.ov-brand img{width:82px;height:72px;object-fit:contain}.ov-brand strong{display:block;font-size:1.22rem;letter-spacing:.09em;font-family:Georgia,"Times New Roman",serif}.ov-brand small{display:block;font-size:.68rem;line-height:1.25;letter-spacing:.01em;color:var(--ov-muted)}.ov-nav{display:flex;align-items:center;gap:20px;margin-left:auto}.ov-nav a{color:var(--ov-ink);font-size:.94rem;font-weight:600}.ov-nav .menu{display:flex;flex-wrap:wrap;align-items:center;gap:20px;list-style:none;margin:0;padding:0}.ov-head-cta,.ov-btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ov-dark);color:#fff!important;border:1px solid var(--ov-dark);padding:12px 21px;border-radius:100px;font-weight:700;cursor:pointer;text-decoration:none!important;transition:.2s}.ov-head-cta:hover,.ov-btn:hover,.wp-block-button__link:hover{background:#21566b;transform:translateY(-1px)}.ov-btn-light{background:#fff;color:var(--ov-dark)!important;border-color:#d9e6e5}.ov-menu-toggle{display:none;border:1px solid var(--ov-border);padding:8px 12px;background:#fff;border-radius:12px;margin-left:auto;cursor:pointer}
.ov-hero{background:radial-gradient(ellipse at 85% 5%,rgba(121,188,211,.2),transparent 55%),linear-gradient(145deg,#f4f8f5,#fff 60%);padding:68px 0 83px;border-bottom:1px solid var(--ov-border)}.ov-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:46px}.ov-kicker{display:inline-flex;color:var(--ov-leaf);font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.76rem;margin-bottom:12px}.ov-hero h1{margin:.08em 0 .27em}.ov-hero h1 em{font-style:normal;color:var(--ov-sage)}.ov-hero p{font-size:1.1rem;color:#526b75;max-width:590px}.ov-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 19px}.ov-micro{font-size:.84rem!important;color:#667d79!important}.ov-hero-image{background:#fff;border:1px solid #e5eeea;padding:18px;border-radius:33px;box-shadow:var(--ov-shadow);transform:rotate(1deg)}.ov-hero-image img{display:block;width:100%;max-height:450px;object-fit:contain}.ov-content{padding:66px 0 82px}.ov-content>:first-child{margin-top:0}.ov-pagehero{background:var(--ov-paper);padding:51px 0;border-bottom:1px solid var(--ov-border)}.ov-pagehero h1{margin:0;font-size:clamp(2rem,4vw,3.45rem)}.ov-pagehero p{color:var(--ov-muted)}.ov-prose{max-width:920px}.ov-prose h2{margin-top:1.3em}.ov-block-intro{font-size:1.18rem;max-width:760px;color:#55707a}.ov-service-grid,.wp-block-columns.ov-service-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin:30px 0 45px}.ov-service-grid>.wp-block-column,.ov-panel,.ov-service-card{background:#fff;border:1px solid var(--ov-border);padding:27px;border-radius:var(--ov-radius);box-shadow:0 10px 33px rgba(20,57,64,.045);margin:0!important;min-width:0}.ov-service-grid .wp-block-column h3{margin-top:0}.ov-service-grid .wp-block-column p{color:var(--ov-muted)}.ov-feature{background:var(--ov-paper);border-radius:var(--ov-radius);padding:33px;margin:35px 0}.ov-note{background:#f4f7f4;border-left:4px solid var(--ov-sage);padding:15px 19px;border-radius:8px;font-size:.93rem}.ov-split{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ov-prices{width:100%;border-collapse:collapse}.ov-prices td,.ov-prices th{padding:14px;border-bottom:1px solid var(--ov-border);text-align:left}.ov-prices td:last-child,.ov-prices th:last-child{text-align:right;white-space:nowrap;font-weight:700}.ov-footer{background:var(--ov-dark2);color:#d0e2e6;padding:55px 0 26px}.ov-footer a{color:#effffb}.ov-footer strong{color:#fff}.ov-footgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:38px}.ov-footer h3{color:#fff;margin:0 0 13px;font-size:1.04rem}.ov-footer ul{padding:0;margin:0;list-style:none}.ov-footer li{margin:7px 0}.ov-footbottom{border-top:1px solid rgba(255,255,255,.18);margin-top:36px;padding-top:20px;color:#bed0d6;font-size:.85rem;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.ov-legal-warning{color:#48636a;font-size:.88rem;background:#edf4f2;border:1px solid #d5e2de;border-radius:12px;padding:12px 16px;margin:24px 0}.ov-blog-card{border-bottom:1px solid var(--ov-border);padding:19px 0}.ov-blog-card h2{font-size:1.6rem}.wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--ov-dark)!important}.wp-block-separator{border-color:var(--ov-border)}
@media(max-width:1000px){.ov-nav{gap:11px}.ov-nav .menu{gap:11px}.ov-headrow{gap:12px}.ov-head-cta{padding:10px 13px}.ov-brand img{width:65px}}
@media(max-width:800px){.ov-menu-toggle{display:block}.ov-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--ov-border);box-shadow:var(--ov-shadow);padding:17px 22px}.ov-nav.is-open{display:block}.ov-nav .menu{display:flex;flex-direction:column;align-items:stretch;gap:9px}.ov-nav .menu a{display:block;padding:8px 0}.ov-head-cta{margin-left:0}.ov-headrow{min-height:75px}.ov-hero{padding:45px 0}.ov-hero-grid{grid-template-columns:1fr;gap:17px}.ov-hero-image{max-width:480px;margin:auto}.ov-service-grid,.wp-block-columns.ov-service-grid{grid-template-columns:1fr!important}.ov-split,.ov-footgrid{grid-template-columns:1fr}.admin-bar .ov-header{top:46px}}
@media(max-width:420px){.ov-wrap{padding:0 17px}.ov-header .ov-head-cta{display:none}.ov-brand img{height:60px;width:60px}.ov-content{padding:36px 0 50px}.ov-hero h1{font-size:2.4rem}}

/* V1.2 — Photographies originales, mise en page services et dossier aides */
.ov-hero{padding-top:78px;padding-bottom:84px;background:linear-gradient(137deg,#edf4ed 0%,#fff 66%)}
.ov-hero-image{border:0;padding:0;border-radius:28px;transform:none;position:relative;overflow:hidden;box-shadow:0 26px 60px rgba(17,64,71,.14);min-height:360px}
.ov-hero-image img{width:100%;height:450px;max-height:none;object-fit:cover;object-position:center}
.ov-hero-badge{position:absolute;bottom:21px;left:20px;right:20px;background:rgba(255,255,255,.94);border-radius:13px;padding:12px 14px;box-shadow:0 10px 20px #0001;color:#234b54;font-weight:700;font-size:.91rem;display:flex;align-items:center;gap:8px}
.ov-badge-dot{width:10px;height:10px;background:#709c80;border-radius:50%;flex-shrink:0}
.ov-image-card{overflow:hidden;background:white;border:1px solid var(--ov-border);border-radius:18px;box-shadow:0 10px 30px rgba(10,55,65,.045)}
.ov-image-card .wp-block-image{margin:0!important}
.ov-image-card .wp-block-image img{width:100%;height:215px;object-fit:cover;display:block;border-radius:16px 16px 0 0}
.ov-image-card .ov-image-card-body{padding:17px 21px 23px}
.ov-image-card h3{margin:0 0 7px;font-size:1.16rem}
.ov-image-card p{font-size:.96rem;line-height:1.55;color:#526773;margin:0}
.ov-photo-row.wp-block-columns,.ov-photo-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin:28px 0 35px}
.ov-photo-row>.wp-block-column{margin:0!important;min-width:0}
.ov-photo-row .wp-block-image{margin:0}
.ov-photo-row img{width:100%;height:225px;object-fit:cover;border-radius:17px;display:block}
.ov-photo-row h3{margin:12px 0 5px}
.ov-photo-row p{margin:0;color:#60757e}
.ov-wide-photo .wp-block-image img{width:100%;height:auto;max-height:410px;object-fit:cover;border-radius:20px;display:block}
.ov-info-columns.wp-block-columns,.ov-info-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin:22px 0}
.ov-info-columns>.wp-block-column{min-width:0;border-radius:18px;background:#f4f8f6;padding:23px;border:1px solid #dfeae5}
.ov-info-columns h3{margin-top:0}
.ov-help-steps{background:linear-gradient(130deg,#f0f6f3,#f8fbfb);border-radius:20px;padding:24px 30px;margin:30px 0}
.ov-help-steps ol{margin-bottom:0}
.ov-dim{color:#5e737e;font-size:.92rem}
@media(max-width:800px){.ov-hero-image img{height:320px}.ov-photo-row.wp-block-columns,.ov-photo-row,.ov-info-columns.wp-block-columns,.ov-info-columns{grid-template-columns:1fr!important}.ov-photo-row img{height:250px}.ov-image-card .wp-block-image img{height:210px}}

/* OLÉA VIE 1.4 — maintien à domicile et photographie polo blanc */
.ov-hero{background:linear-gradient(127deg,#f2f7f4,#fff 63%);padding:74px 0 82px}
.ov-hero-grid{grid-template-columns:1.08fr .92fr;gap:45px}
.ov-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.036em;font-size:clamp(2.7rem,5.4vw,4.6rem);line-height:1.1}
.ov-hero p{font-size:1.08rem;line-height:1.72}
.ov-hero-image{border-radius:22px;box-shadow:0 28px 56px rgba(23,73,86,.14)}
.ov-hero-image img{height:450px;object-position:49% 50%}
.ov-hero-badge{font-size:.86rem;bottom:17px;left:17px;right:17px}
.ov-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}
.ov-hero-tags span{display:inline-block;padding:6px 11px;border:1px solid #dce9e3;background:#fff;border-radius:999px;font-size:.81rem;color:#466b60}
.ov-hero-status{font-size:.84rem!important;max-width:600px!important;color:#697d7c!important;margin-top:16px}
.ov-content .ov-prose{max-width:none}
.ov-prose>h2{font-size:clamp(1.65rem,2.9vw,2.5rem);font-family:Georgia,"Times New Roman",serif;font-weight:500;margin-top:1.75em;margin-bottom:.55em}
.ov-photo-row.wp-block-columns,.ov-photo-row{gap:21px}
.ov-photo-row>.wp-block-column{background:#fff;padding:0 0 15px;border:1px solid #e0e8e5;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(22,68,75,.055)}
.ov-photo-row img{height:210px;border-radius:0;object-fit:cover}
.ov-photo-row h3{padding:0 18px;margin:17px 0 7px;font-size:1.14rem}
.ov-photo-row p{padding:0 18px;margin:0 0 13px;font-size:.95rem}
.ov-prose .ov-intro{color:#4c6970;font-size:1.14rem;max-width:900px}
.ov-prose .ov-availability{background:#eaf3ee;border-left:4px solid #739b82;padding:20px 24px;border-radius:0 13px 13px 0;margin:26px 0;color:#315e58}
.ov-prose .ov-availability strong{color:#1a4b4d}
.ov-prose .ov-service-grid>.wp-block-column{background:#f8faf8;border:1px solid #e3ebe6;box-shadow:none}
.ov-prose .ov-service-grid>.wp-block-column h3{font-size:1.1rem}
.ov-prose .wp-block-image.ov-wide-photo{margin:22px 0 32px}
.ov-prose .wp-block-image.ov-wide-photo img{height:390px;width:100%;object-fit:cover;border-radius:19px}
.ov-prose .wp-block-button__link{padding:13px 22px}
.ov-prose .ov-eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#658a7d}
.ov-footer{margin-top:0}
@media(max-width:800px){.ov-hero{padding:44px 0 54px}.ov-hero-grid{grid-template-columns:1fr}.ov-hero-image img{height:325px}.ov-photo-row>.wp-block-column{padding-bottom:8px}.ov-prose .wp-block-image.ov-wide-photo img{height:240px}}
@media(max-width:480px){.ov-hero h1{font-size:2.55rem}.ov-hero-tags span{font-size:.76rem}.ov-photo-row img{height:235px}}

/* V1.5 — correction mobile, zones de respiration et tableaux tarifs */
html,body{max-width:100%;overflow-x:clip}
.ov-site .ov-wrap,.ov-site .ov-content,.ov-site .ov-prose,.ov-site .wp-block-columns,.ov-site .wp-block-column{min-width:0}
.ov-site .ov-prose p,.ov-site .ov-prose h1,.ov-site .ov-prose h2,.ov-site .ov-prose h3{overflow-wrap:break-word}
.ov-site .wp-block-table{max-width:100%;overflow-x:auto}
.ov-site .wp-block-table table{max-width:100%;border-collapse:collapse}
@media(max-width:700px){
 .ov-site .ov-header{position:relative;top:auto}
 .ov-site .ov-wrap{width:100%;padding-inline:19px}
 .ov-site .ov-headrow{gap:10px}
 .ov-site .ov-brand{flex:1 1 auto;min-width:0}
 .ov-site .ov-brand img{width:54px;height:56px;flex:0 0 auto}
 .ov-site .ov-brand strong{font-size:1.08rem;letter-spacing:.03em}
 .ov-site .ov-brand small{font-size:.64rem}
 .ov-site .ov-menu-toggle{flex:0 0 auto;padding:7px 10px}
 .ov-site .wp-block-table,.ov-site .ov-prices{display:block;width:100%;}
 .ov-site .ov-prices thead{display:none}
 .ov-site .ov-prices tbody,.ov-site .ov-prices tr{display:block;width:100%}
 .ov-site .ov-prices tr{border:1px solid #dfe9e7;border-radius:13px;margin:12px 0;padding:10px 14px}
 .ov-site .ov-prices td,.ov-site .ov-prices th{display:block;width:100%;border:0;padding:5px 0;white-space:normal;text-align:left!important;overflow-wrap:anywhere}
 .ov-site .ov-prices td:last-child{font-size:1.05rem;color:#17677d}
 .ov-site .ov-content{padding-top:28px}
 .ov-site .ov-hero-grid{grid-template-columns:minmax(0,1fr)}
 .ov-site .ov-pagehero h1,.ov-site .ov-content h2{font-size:clamp(1.55rem,7vw,2.1rem)}
 .ov-site .ov-content .wp-block-image img{height:auto}
}
