/*
Theme Name: Michou Dental
Template: twentytwentyfive
Version: 1.0.0
License: GPL-2.0-or-later
Description: A free, lightweight child theme preserving Michou Dental's original design.
*/
:root{--blue:#18afd3;--coral:#f57e57;--dark:#4c6575;--ink:#4c4c4c}*{box-sizing:border-box}body{margin:0;font:16px/1.7 Roboto,Arial,sans-serif;color:#666;background:#fff}a{color:#267f9d}img{max-width:100%;height:auto}h1,h2,h3{font-weight:300;color:var(--ink);line-height:1.25}h2{font-size:36px}h3{font-size:25px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #175a75;outline-offset:4px}.wrap{max-width:1110px;margin:auto;padding:0 20px}.tagline{border-bottom:1px solid #eee;font-size:14px;padding:13px 0;color:#444}.header-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:22px;padding-bottom:22px}.brand img{width:430px;display:block}nav{display:flex;align-items:center;gap:27px}nav a,nav summary{color:#333;text-decoration:none;text-transform:uppercase;font-size:13px;cursor:pointer;white-space:nowrap}nav a:hover{color:var(--blue)}nav details{position:relative}nav details div{position:absolute;z-index:20;background:white;padding:20px;box-shadow:0 4px 12px #0002;min-width:190px}nav details div a{display:block;margin:10px 0}.contact-strip{background:#f5f5f5}.strip-inner{display:grid;grid-template-columns:1fr 1fr 1fr}.strip-inner>div{padding:21px 25px;display:flex;align-items:center;gap:18px;font-size:13px;line-height:1.5}.strip-inner strong{font-size:18px;font-weight:400;color:#333}.strip-inner svg{width:35px;min-width:35px;stroke:var(--blue);fill:none;stroke-width:1.5}.strip-inner .insurance{background:var(--blue);color:white}.insurance strong{color:white}.insurance svg{stroke:white}.hero{height:640px;position:relative;background:#426775;color:white}.slide{position:absolute;inset:0;background-position:center;background-size:cover;display:none}.slide.active{display:block}.slide:before{content:'';position:absolute;inset:0;background:#0004}.slide .wrap{position:relative;padding-top:145px}.slide h1{font-size:48px;color:white;max-width:700px;margin:0;font-weight:300}.slide p{font-size:18px;color:white;max-width:500px}.hero-controls{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:10px}.hero button{background:#29424dbb;color:white;border:1px solid #fff9;min-width:44px;min-height:44px;font-size:20px;cursor:pointer}.hero button[aria-pressed=true]{background:var(--blue)}.section{padding:55px 0}.section h2{margin-top:0}.blue{background:var(--blue);color:white}.dark{background:var(--coral);color:white}.blue h2,.blue h3,.dark h2,.dark h3{color:white}.intro{font-size:30px;font-style:italic;font-family:Georgia,serif;margin:0 0 24px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.tile{display:flex;align-items:center;min-height:150px;background:var(--blue);padding:35px;color:white;text-decoration:none;font-size:25px;font-weight:300;line-height:1.3}.tile:nth-child(3n+2){background:var(--coral)}.tile:nth-child(3n){background:var(--dark)}.tile:hover{filter:brightness(.94)}.advantages{text-align:center;background:var(--coral);padding:25px 35px;margin-bottom:45px}.advantages h3{margin:0 0 15px;font-size:30px}.columns4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.columns4 h3{font-size:24px}.title-banner{background:linear-gradient(#173d5666,#173d5666),url('/wp-content/uploads/header_bg_71.jpg') center/cover;padding:35px 0 48px;color:white}.title-banner h1{color:white;font-size:44px;margin:15px 0}.breadcrumbs{font-size:12px;text-transform:uppercase}.breadcrumbs a{color:white}.page-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:45px;padding-top:55px;padding-bottom:65px}.content p{margin:0 0 24px}.contact-card{border:2px solid var(--blue);padding:26px;font-size:15px;align-self:start;overflow-wrap:anywhere}.contact-card h2{font-size:25px;margin:0 0 25px}.contact-card p{margin:0 0 22px}.hours{width:100%;border-collapse:collapse}.hours th,.hours td{padding:10px 5px;text-align:left;border-bottom:1px solid #e5e5e5}.hours th{font-weight:400}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.service-card{text-decoration:none;color:#666}.service-card img{width:100%;aspect-ratio:1.7;object-fit:cover}.service-card h2{font-size:25px;margin:17px 0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.gallery img{width:100%;aspect-ratio:1.7;object-fit:cover}.cta{margin-top:40px;background:var(--blue);padding:25px;color:white}.cta h2{color:white;font-size:28px;margin:0 0 20px}.button{display:inline-block;background:white;color:#296d86;padding:12px 24px;text-decoration:none;border:1px solid var(--blue)}.profile{max-width:750px}.map-row{display:grid;grid-template-columns:2fr 1fr;gap:35px}.map{width:100%;height:400px;border:0}.faq details{border:1px solid #ddd;margin-bottom:15px}.faq summary{padding:18px;color:#444;cursor:pointer}.faq details>div{padding:0 20px 20px}.footer{background:#395261;color:white;padding:30px 0;font-size:14px}.footer a{color:white}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;left:20px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1000px){.header-main{flex-direction:column;gap:20px}.brand img{width:360px}nav{flex-wrap:wrap;justify-content:center}.strip-inner>div{padding:18px 12px}.strip-inner strong{font-size:16px}.slide .wrap{padding-top:110px}.hero{height:520px}}
@media(max-width:650px){.tagline{font-size:12px}.header-main{padding-top:20px;padding-bottom:20px}.brand img{width:310px}nav{gap:16px;row-gap:12px}nav a,nav summary{font-size:12px}.strip-inner{grid-template-columns:1fr}.strip-inner>div{padding:12px 20px}.strip-inner>div:nth-child(2){display:none}.hero{height:390px}.slide .wrap{padding-top:75px}.slide h1{font-size:34px;max-width:300px}.slide p{font-size:16px;max-width:290px}.tiles,.columns4{grid-template-columns:1fr 1fr}.tile{font-size:20px;min-height:130px;padding:23px}.section{padding:40px 0}h2{font-size:30px}.intro{font-size:25px}.page-layout,.map-row{grid-template-columns:1fr;gap:30px}.service-grid{gap:22px}.title-banner h1{font-size:34px}.footer .wrap{display:block}.advantages{padding:25px 20px}.contact-card{padding:22px}.gallery{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:650px){.tiles{gap:16px}}

@font-face{font-family:MichouIcons;src:url('assets/michou-icons.woff') format('woff');font-weight:normal;font-style:normal;font-display:block}.advantage-icon{display:block;font-family:MichouIcons!important;font-size:63px;line-height:90px;height:90px;font-weight:normal;font-style:normal;color:white;margin-bottom:12px}.advantage-icon.private:before{content:"\e60d"}.advantage-icon.disability:before{content:"\e60c"}.advantage-icon.union:before{content:"\e60e";font-size:54px}.advantage-icon.works:before{content:"\e60b";font-size:52px}
.dentist-card{display:grid;grid-template-columns:30.7% minmax(0,1fr);border:1px solid #e4e4e4;border-top:5px solid var(--blue);color:#868686}.dentist-identity{padding:58px 25px 25px;text-align:center;border-right:1px solid #e4e4e4;align-self:start}.dentist-identity h2{font-size:20px;line-height:1.4;margin:0 0 10px;font-weight:300}.dentist-identity p{color:#b2b2b2;font-size:14px;line-height:1.3;margin:0}.dentist-biography{padding:30px 40px;font-size:16px;line-height:1.85}.dentist-biography p{margin:0 0 25px}.dentist-read-more{display:inline-block;border:4px solid var(--blue);border-radius:40px;background:white;color:#4c4c4c;font:500 16px/1.2 Roboto,Arial,sans-serif;padding:12px 45px;margin-top:10px;min-height:48px;cursor:pointer}.dentist-read-more:hover{background:var(--blue);color:white}.dentist-biography [hidden]{display:none}
@media(max-width:650px){.dentist-card{grid-template-columns:1fr}.dentist-identity{border-right:0;border-bottom:1px solid #e4e4e4;padding:28px 20px}.dentist-biography{padding:25px 22px}}
.office-hours-panel{border:1px solid #e4e4e4;border-top:5px solid var(--blue);background:#fff}.office-hours-heading{padding:28px 32px;background:#f5fafc}.office-hours-heading h2{font-size:28px;margin:0 0 10px}.office-hours-heading p{margin:0}.office-hours-list{padding:8px 32px 20px}.office-hours-list .hours td,.office-hours-list .hours th{padding:17px 8px}.office-hours-list .hours tr:last-child>*{border-bottom:0}.office-hours-list .hours th{font-size:18px;color:#4c4c4c}.hours-closed{display:inline-block;border-radius:4px;background:#f6f6f6;color:#777;padding:3px 12px;font-size:14px}.office-hours-footer{padding:24px 32px;border-top:1px solid #e4e4e4}.office-hours-footer .button{background:var(--blue);color:white}.contact-form-panel{border-top:5px solid var(--blue);padding:28px 30px;background:#f5fafc;margin-bottom:40px}.contact-form-panel h2{margin:0 0 12px;font-size:30px}.contact-form-panel>p{margin-bottom:20px}.contact-form-panel label{display:block;font-size:15px;color:#4c4c4c;font-weight:500}.contact-form-panel input:not([type=submit]),.contact-form-panel textarea{display:block;width:100%;border:1px solid #c9d5d9;background:white;color:#333;font:16px/1.5 Roboto,Arial,sans-serif;padding:11px 12px;border-radius:2px;margin-top:7px}.contact-form-panel textarea{min-height:140px;resize:vertical}.contact-form-panel input:focus,.contact-form-panel textarea:focus{outline:2px solid #267f9d;outline-offset:1px}.contact-form-panel input[type=submit]{border:0;background:var(--blue);color:white;font:500 16px/1.4 Roboto,Arial,sans-serif;padding:14px 30px;min-height:48px;cursor:pointer}.contact-form-panel .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form-panel .wpcf7-form>p{margin:0 0 22px}.contact-form-panel .wpcf7-not-valid-tip{font-size:14px}.contact-form-panel .form-note{font-size:14px;color:#666}.contact-form-panel .wpcf7-response-output{margin:20px 0 0;padding:12px}.contact-form-panel .form-grid p{margin:0}.contact-form-panel .wpcf7-list-item{margin:0}.contact-map-title{font-size:28px}
@media(max-width:650px){.contact-form-panel{padding:24px 20px}.contact-form-panel .form-grid{grid-template-columns:1fr;gap:18px}.office-hours-heading,.office-hours-footer{padding:24px 22px}.office-hours-list{padding:8px 18px 18px}}
.contact-form-panel .form-grid{margin-bottom:22px}.contact-form-panel textarea{height:160px}.contact-form-panel input[name=spam-check]{max-width:180px}
