/*
Theme Name: Rockland — Reconstitution
Author: François / reconstruction sur mesure
Description: Reprise bilingue du site du Complexe Santé Rockland, sans extension payante.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: rockland-modern
*/
:root{--orange:#ffa100;--charcoal:#454545;--paper:#f1f1f1;--text:#555}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:"Open Sans",Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{color:#a96300;text-decoration:underline}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #ba7000;outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.25;font-weight:700}h1,h2{text-transform:uppercase}h1{font-size:30px}h2{font-size:23px}h3{font-size:17px}p{margin:0 0 1.2em}hr{border:0;border-top:1px solid #eee;margin:22px 0}.skip-link{position:absolute;left:10px;top:-100px;background:#fff;padding:12px;z-index:99999}.skip-link:focus{top:10px}.site-header{background:var(--charcoal);color:white;border-top:5px solid var(--orange)}.header-inner{max-width:1140px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:105px;padding:8px 0}.brand{flex-shrink:0;display:flex}.brand img{width:150px;height:auto}#site-nav{display:flex;align-items:center;gap:33px;font-size:12px;font-weight:bold;text-transform:uppercase}#site-nav a{padding:12px 0}#site-nav a:hover,#site-nav a:focus-visible{color:var(--orange)}.language{border-left:1px solid #777;padding-left:24px!important}.menu-toggle{display:none}.hero{height:490px;position:relative;background:#444;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-caption{position:absolute;bottom:44px;left:max(calc((100% - 1140px)/2),24px);max-width:780px;background:rgba(48,48,48,.82);border-left:7px solid var(--orange);padding:20px 30px;color:white}.hero h1{font-size:32px;line-height:1.3;margin:0;font-weight:600}.site-content{max-width:1140px;margin:42px auto 65px}.home-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.panel{background:white;padding:28px}.panel h2{margin:0 0 24px;text-align:center}.intro{max-height:460px;overflow:auto}.news-list{max-height:380px;overflow:auto;padding-right:15px;scrollbar-color:var(--orange) #eee;scrollbar-width:thin}.news-item{display:grid;grid-template-columns:100px 1fr;gap:18px;border-bottom:1px solid #ddd;padding:0 0 24px;margin:0 0 24px}.news-item img{width:100px;height:125px;object-fit:cover}.news-item h3{margin:0 0 6px;font-size:16px;text-transform:uppercase}.news-item time{font-size:12px}.news-item p{font-size:13px;margin:12px 0}.read-more{color:#9d5e00;font-weight:bold;text-transform:uppercase;font-size:12px}.clinic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.clinic{min-height:265px;background:white;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 22px;gap:18px;font-size:13px}.clinic img{width:190px;height:105px;object-fit:contain}.clinic>div{flex-grow:1}.clinic a{font-size:12px;text-transform:uppercase;color:#9d5e00;font-weight:bold}.clinic p{margin:0}.clinic.promotion{color:white;text-transform:uppercase;justify-content:center;font-size:23px;line-height:1.35;text-align:left;align-items:flex-start;padding:30px}.clinic.promotion>div{flex-grow:0}.clinic.promotion strong{font-size:34px}.inner-content{display:grid;grid-template-columns:minmax(0,800px) 280px;gap:50px}.page-content{min-width:0;background:white;padding:32px}.page-content h1{margin-top:0;color:#555}.page-content h3{color:#555}.entry-content a{color:#9d5e00;text-decoration:underline}.entry-content img{display:block;height:auto;max-width:100%;margin:25px auto}.contact-panel{align-self:start;padding:20px 0;overflow-wrap:anywhere}.contact-panel h2{margin-top:0;border-bottom:3px solid var(--orange);padding-bottom:16px}.contact-panel p{font-size:14px}.directory{columns:2;column-gap:34px}.directory p{break-inside:avoid;margin-bottom:22px}.article-image{float:left;width:240px;margin:20px 25px 20px 0}.page-content:after{content:"";display:block;clear:both}.page-content time{display:block;margin-bottom:20px}.site-footer{background:var(--charcoal);color:#ddd;padding:42px 24px;font-size:13px}.footer-inner{max-width:1140px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:45px}.footer-logo{max-width:200px;max-height:75px;object-fit:contain;object-position:left}.site-footer h2{font-size:18px;color:white;margin-top:0}.site-footer a{overflow-wrap:anywhere}.site-footer a:hover{color:var(--orange)}.map iframe{width:100%;height:210px;border:0}.map>a{display:inline-block;margin-top:8px}.home-content>.clinic-grid p:empty{display:none}
.site-header{position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px #0002}.admin-bar .site-header{top:32px}.header-inner{min-height:90px}.brand img{width:130px}#site-nav{font-size:16px;letter-spacing:.15px;gap:28px}#site-nav a{color:#fff}
@media(max-width:1200px){.header-inner,.site-content{margin-left:24px;margin-right:24px}.hero{height:440px}#site-nav{gap:22px}.clinic-grid{gap:18px}.inner-content{grid-template-columns:minmax(0,1fr) 245px;gap:28px}}
@media(max-width:800px){.header-inner{min-height:90px;flex-wrap:wrap;gap:10px;padding:10px 0}.brand img{width:125px}.menu-toggle{display:block;background:transparent;color:white;border:1px solid #aaa;border-radius:2px;padding:10px 14px;font-size:15px}.menu-toggle span{margin-left:10px}#site-nav{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;padding-bottom:12px}#site-nav.is-open{display:flex}#site-nav a{padding:12px;border-top:1px solid #666}.language{border-left:0;padding-left:12px!important}.hero{height:350px}.hero-caption{left:20px;right:20px;bottom:25px;padding:18px;max-width:none}.hero h1{font-size:25px}.home-panels{grid-template-columns:1fr}.intro{max-height:none;overflow:visible}.clinic-grid{grid-template-columns:repeat(2,1fr)}.inner-content{grid-template-columns:1fr}.contact-panel{padding:20px}.footer-inner{grid-template-columns:1fr 1fr;gap:25px}.map{grid-column:1/-1}.site-content{margin-top:25px;margin-bottom:35px}.page-content{padding:25px}}
@media(max-width:480px){body{font-size:14px}.header-inner,.site-content{margin-left:16px;margin-right:16px}.hero{height:290px}.hero h1{font-size:21px}.hero-caption{left:16px;right:16px;bottom:20px}.panel{padding:22px 18px}.clinic-grid{gap:12px}.clinic{padding:20px 12px;min-height:245px}.clinic.promotion{font-size:18px;padding:20px 15px}.clinic.promotion strong{font-size:27px}.clinic img{height:80px}.news-item{grid-template-columns:75px 1fr;gap:12px}.news-item img{width:75px;height:100px}.directory{columns:1}.page-content h1{font-size:25px}.article-image{float:none;width:100%;max-width:500px;margin:20px auto}.footer-inner{grid-template-columns:1fr}.map{grid-column:auto}}
@media(max-width:782px){.admin-bar .site-header{top:46px}.brand img{width:110px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
.directory{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px;row-gap:24px;align-items:stretch}.directory p{margin:0;min-width:0}.directory p strong{display:block;min-height:2.5em;line-height:1.25}.directory p strong+br{display:none}
@media(max-width:480px){.directory{grid-template-columns:1fr}.directory p strong{min-height:0}}
.metro-location{display:inline-flex;align-items:center;gap:7px}.metro-location img{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.directory{gap:18px}.directory p{position:relative;padding:24px 22px;background:#fafafa;border:1px solid #e5e5e5;border-top:3px solid #ffa100;border-radius:8px;box-shadow:0 2px 5px #00000005;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.directory p strong{color:#454545;margin-bottom:12px;font-size:16px}.directory p:hover,.directory p:focus-within{transform:translateY(-4px);border-color:#e6aa43;box-shadow:0 9px 22px #00000012;background:#fff1d9}
@media(hover:none){.directory p:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.directory p{transition:none}.directory p:hover,.directory p:focus-within{transform:none}}
.home-panels{grid-template-columns:minmax(0,1fr);gap:36px;margin-bottom:36px}.home-panels .panel{border-radius:12px;border:1px solid #e6e6e6;padding:36px;min-width:0}.home-panels .panel h2{text-align:left;margin-bottom:28px;padding-bottom:16px;position:relative}.home-panels .panel h2:after{content:"";position:absolute;bottom:0;left:0;width:64px;height:3px;background:var(--orange)}.home-panels .intro{max-height:none;overflow:visible;columns:2;column-gap:40px}.home-panels .intro h2{column-span:all}.home-panels .intro p{break-inside:avoid}.home-panels .intro hr{display:none}.home-panels .news{background:transparent;border:0;padding:0}.news-list{max-height:none;overflow:visible;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.news-item{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e5e5e5;border-radius:10px;overflow:hidden;padding:0;margin:0;box-shadow:0 2px 8px #00000005;transition:box-shadow .2s ease,border-color .2s ease}.news-item:hover{border-color:#e5b361;box-shadow:0 8px 22px #00000010}.news-item>a{display:block;background:#f5f5f5}.news-item img{display:block;width:100%;height:190px;object-fit:contain}.news-item>div{padding:24px;display:flex;flex-direction:column;flex-grow:1}.news-item h3{font-size:17px;line-height:1.4;margin:0 0 10px}.news-item time{font-size:12px;color:#777}.news-item p{font-size:14px;line-height:1.7;margin:16px 0 22px;flex-grow:1}.news-item .read-more{align-self:flex-start;background:#fff1d9;border-radius:5px;padding:9px 12px}.home-content .clinic-grid{gap:20px}.home-content .clinic{border-radius:10px;border:1px solid #e5e5e5;box-shadow:0 2px 8px #00000004}.home-content .promotion{border:0}
@media(max-width:1000px){.news-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-panels .intro{columns:auto}.home-panels .panel{padding:25px}.home-panels .news{padding:0}.news-list{grid-template-columns:1fr}.news-item img{height:210px}.home-panels{gap:28px}.home-panels .panel h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.news-item{transition:none}}
.home-content .news-item,.home-content .clinic{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.home-content .news-item:hover,.home-content .news-item:focus-within,.home-content .clinic:not(.promotion):hover,.home-content .clinic:not(.promotion):focus-within{background:#fff1d9;border-color:#e6aa43;box-shadow:0 9px 22px #00000012}.home-content .news-item:hover>a,.home-content .news-item:focus-within>a{background:#fff1d9}.home-content .news-item>a{transition:background-color .2s ease}
@media(prefers-reduced-motion:reduce){.home-content .news-item,.home-content .clinic,.home-content .news-item>a{transition:none}}
.home-content .news-item h3{min-height:4.2em;margin-bottom:0}.home-content .news-item p{margin-top:20px}
@media(max-width:700px){.home-content .news-item h3{min-height:0}}
.entry-content:not(.directory) p,.home-content .intro p,.home-content .news-item p{text-align:justify;hyphens:auto}.contact-panel{padding:26px 24px;background:#fafafa;border:1px solid #e5e5e5;border-top:3px solid #ffa100;border-radius:10px;box-shadow:0 3px 12px #00000006;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.contact-panel:hover,.contact-panel:focus-within{background:#fff1d9;border-color:#e6aa43;box-shadow:0 9px 22px #00000012}.contact-panel h2{font-size:20px;border-bottom:1px solid #e5d6bd;padding-bottom:14px;margin-bottom:20px}.contact-panel p{margin-bottom:14px;text-align:left}.contact-panel p:last-child{margin-bottom:0}.contact-panel p:first-of-type{font-weight:700;font-size:16px;color:#454545}.contact-panel a{display:inline-block;color:#805000;line-height:1.6}.contact-panel a[href^="tel:"]{font-size:18px;font-weight:600}.contact-panel a[href^="mailto:"]{font-size:14px;overflow-wrap:anywhere}.contact-panel a:hover,.contact-panel a:focus-visible{color:#5c3900;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.contact-panel{transition:none}}
.home-content .clinic-grid>.promotion{order:-1}

/* Keep clinic cards within narrow screens. */
.clinic-grid > .clinic{min-width:0;overflow-wrap:anywhere}.clinic-grid > .clinic h3{max-width:100%;margin:0;line-height:1.35}
@media(max-width:480px){.clinic-grid{grid-template-columns:minmax(0,1fr)}.clinic-grid > .clinic{min-height:230px}}
