/*
Theme Name: Cabinet de la Place
Theme URI: https://www.cabinetdentairemontreuil.com/
Author: Cabinet dentaire de la Place
Description: Le modèle historique du cabinet, avec les nouvelles photographies et un backoffice pour ses contenus.
Version: 1.2.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: cabinet-place
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

.cdp-header-logo{display:inline-flex;align-items:center;flex-shrink:0}.cdp-header-logo img{display:block;width:76px;height:76px;max-width:none;object-fit:contain;border-radius:4px}.cdp-booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.cdp-booking-option{display:flex;flex-direction:column;justify-content:space-between;gap:22px;background:#0d3276;color:#fff!important;border:1px solid #0d3276;border-radius:4px;padding:24px;text-align:left;transition:background .2s}.cdp-booking-option strong{font-family:"Poppins",sans-serif;font-size:19px;line-height:1.45;font-weight:500}.cdp-booking-option>span{font-family:"Manrope",sans-serif;font-size:13px;line-height:1.6}.cdp-booking-option:hover{background:#154998}.cdp-booking-option:focus-visible{outline:3px solid #1371ff;outline-offset:5px}@media(max-width:767px){.cdp-header-logo img{width:58px;height:58px}.cdp-booking-options{grid-template-columns:1fr;gap:12px}.cdp-booking-option{padding:22px;gap:14px}.cdp-booking-option strong{font-size:17px}}

/* Original Elementor styles are loaded unchanged before these functional
   additions. Their element IDs, layout, typography and colors are retained. */
.elementor-155 .cdp-menu-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:0;padding:0;color:#141313;cursor:pointer;line-height:1}.elementor-155 .cdp-menu-toggle:hover,.elementor-155 .cdp-menu-toggle:focus{background:transparent;color:#0d3276}.elementor-155 .cdp-menu-toggle svg{display:block;fill:none!important;width:1em;height:1em}.cdp-menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:440px;max-width:100vw;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;padding:75px 42px 40px;background:#fff;color:#0d3276;overflow-y:auto;box-shadow:-12px 0 50px rgba(13,50,118,.12);font-family:"Manrope",sans-serif}.cdp-menu-dialog[open]{display:flex;flex-direction:column}.cdp-menu-dialog::backdrop{background:rgba(12,29,53,.48)}.cdp-menu-close{position:absolute;top:20px;right:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;padding:0;background:transparent;color:#141313;cursor:pointer;font-size:42px;font-family:Arial,sans-serif;font-weight:300;line-height:1}.cdp-menu-close:hover,.cdp-menu-close:focus{background:transparent;color:#1371ff}.cdp-menu-brand{font-family:"Poppins",sans-serif;font-size:26px;line-height:1.25;color:#0d3276;margin:0 0 32px;font-weight:500;max-width:330px}.cdp-menu-nav .nav-list{margin:0;padding:0;list-style:none}.cdp-menu-nav .nav-list li{margin:0;padding:0;border-bottom:1px solid #e1e6ef}.cdp-menu-nav .nav-list a{display:block;padding:17px 0;color:#0d3276;font-family:"Manrope",sans-serif;font-size:19px;font-weight:500;line-height:1.5}.cdp-menu-nav .nav-list a:hover{color:#1371ff}.cdp-menu-contact{margin-top:34px}.cdp-menu-contact .cdp-menu-appointment{display:block;background:#0d3276;color:#fff;border-radius:5px;padding:17px 20px;font-family:"Manrope",sans-serif;font-size:14px;line-height:1.5;text-align:center}.cdp-menu-contact .cdp-menu-appointment:hover{background:#1371ff}.cdp-menu-phone{display:block;color:#0d3276;font-size:20px;line-height:1.6;margin-top:24px}.cdp-menu-contact>p{font-size:13px;line-height:1.8;color:#626c7c;margin:8px 0 0}@media(max-width:600px){.cdp-menu-dialog{width:100%;padding:72px 28px 28px}.cdp-menu-brand{font-size:24px;margin-bottom:24px}.cdp-menu-nav .nav-list a{padding:15px 0;font-size:18px}.cdp-menu-contact{margin-top:25px}}
html{scroll-behavior:smooth}body.cdp-legacy-site{background:#fff}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #1371ff;outline-offset:5px}.screen-reader-text,.skip-link:not(:focus){clip:rect(1px,1px,1px,1px);clip-path:inset(50%);position:absolute!important;width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus{position:fixed;top:8px;left:8px;background:#fff;color:#0d3276;padding:12px 20px;z-index:999999}.icon{width:22px;height:22px;vertical-align:middle}body:has(dialog[open]){overflow:hidden}.elementor-element.elementor-invisible{visibility:visible}.elementor-widget-image img{object-fit:cover}.elementor-11 .elementor-element-7f824549 img,.elementor-11 .elementor-element-f2a99fe img{object-fit:cover;aspect-ratio:1}.elementor-11 .elementor-element-371cf47e .elementor-image-box-description,.elementor-11 .elementor-element-1d0ce58 .elementor-image-box-description{text-transform:none}

.cdp-archive-note{font-family:"Manrope",sans-serif;font-size:12px;color:#6c7280;margin:17px 0 0;text-transform:none}.cdp-historical-reviews .ti-widget.ti-goog .ti-reviews-container-wrapper{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.cdp-historical-reviews .ti-reviews-container-wrapper::-webkit-scrollbar{display:none}.cdp-historical-reviews .ti-review-item{scroll-snap-align:start}.cdp-historical-reviews .ti-widget.ti-goog .ti-read-more{background:none;border:0;border-radius:0;color:#566272;font:inherit;font-size:12px;cursor:pointer;box-shadow:none;width:100%;text-align:center}.cdp-historical-reviews .ti-widget.ti-goog .ti-review-content.is-expanded{height:auto!important;display:block;-webkit-line-clamp:unset;overflow:visible}.cdp-historical-reviews .ti-widget.ti-goog .ti-controls button{background:transparent;border:0;padding:0;cursor:pointer}.cdp-review-avatar{display:flex;align-items:center;justify-content:center;background:#e5e9ef;color:#0d3276;border-radius:50%;font-family:"Manrope",sans-serif;font-size:24px;width:100%;height:100%;min-width:56px;min-height:56px}.cdp-historical-reviews .ti-controls-line{display:none}

.cdp-toggle{font-family:"Manrope",sans-serif;border-bottom:1px solid #dde2ed}.cdp-toggle summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;padding:22px 0;color:#0d3276;font-weight:600;font-size:17px}.cdp-toggle summary::-webkit-details-marker{display:none}.cdp-toggle-icon{font-size:25px;font-weight:400;line-height:1;flex-shrink:0}.cdp-toggle[open] .cdp-toggle-icon{transform:rotate(45deg)}.cdp-toggle .elementor-tab-content{display:none;font-size:15px;line-height:1.7;padding:0 0 24px;border:0;color:#323232}.cdp-toggle[open] .elementor-tab-content{display:block}.cdp-toggle .elementor-tab-content p:last-child{margin-bottom:0}

.cdp-legacy-booking{max-width:650px;margin:0 auto 65px;font-family:"Manrope",sans-serif;color:#323232;padding-top:15px}.cdp-legacy-booking>p{line-height:1.7;margin:0 0 24px}.cdp-booking-info{padding:18px 20px;background:#fff;border:1px solid #d7dce5;margin-bottom:15px;border-radius:3px;display:flex;justify-content:space-between;gap:25px;align-items:center}.cdp-booking-info>span{font-size:13px;color:#6f7784}.cdp-booking-info strong,.cdp-booking-info>a{font-size:15px;font-weight:500;color:#0d3276;line-height:1.6;text-align:right}.cdp-booking-hours{font-size:13px}.cdp-legacy-booking>a.elementor-button{display:block;background:#6ec1e4;color:#fff;font-family:"Manrope",sans-serif;font-size:16px;border-radius:3px;padding:19px 24px;line-height:1.4}.cdp-legacy-booking>a.elementor-button:hover{background:#0d3276;color:#fff}

.cdp-legacy-team{margin-top:30px}.cdp-legacy-team>h3{font-family:"Poppins",sans-serif;color:#0d3276;font-size:20px;line-height:1.4;margin:0 0 20px}.cdp-legacy-practitioner{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid #dce1eb;position:relative;min-height:62px}.cdp-legacy-practitioner>strong{font-weight:600;font-size:15px;line-height:1.5;color:#0d3276}.cdp-legacy-practitioner>span{font-size:13px;line-height:1.6;color:#323232}.cdp-team-portrait{width:52px;height:52px;object-fit:cover;border-radius:50%;position:absolute;left:0;top:10px}.cdp-legacy-practitioner:has(.cdp-team-portrait){padding-left:68px}

.cdp-map-placeholder{min-height:300px;background:#eef1f5;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 22px;font-family:"Manrope",sans-serif}.cdp-map-copy strong{display:block;color:#0d3276;font-size:20px;line-height:1.6}.cdp-map-copy>p{font-size:15px;margin:5px 0 20px}.cdp-map-copy button.elementor-button{display:block;margin:0 auto;background:#0d3276;color:white;border:1px solid #0d3276;border-radius:3px;font-size:14px;padding:14px 22px;line-height:1.4;cursor:pointer}.cdp-map-copy>a{display:inline-block;margin-top:15px;font-size:13px;color:#0d3276;text-decoration:underline}.cdp-loaded-map{width:100%;height:300px;border:0;display:block}.cdp-footer-booking{height:100%;display:flex;align-items:center;justify-content:center;min-height:90px}.cdp-footer-booking .elementor-button{font-family:"Manrope",sans-serif;font-size:14px;line-height:1.5;padding:19px 25px;border-radius:5px;background:#0d3276;color:#fff}.cdp-footer-booking .elementor-button:hover{background:#1371ff;color:#fff}.cdp-legal-links{display:flex;flex-direction:column;gap:15px;font-family:"Manrope",sans-serif;padding-top:10px;font-size:14px}.cdp-legal-links a{color:#0d3276}.cdp-legal-links a:hover{text-decoration:underline}.elementor-image-gallery .gallery-item img{width:100%;aspect-ratio:1.5;object-fit:cover}

.gallery-dialog{border:0;padding:58px 24px 18px;background:#fff;color:#0d3276;border-radius:8px;max-width:min(1100px,94vw);max-height:94vh;overflow:auto}.gallery-dialog::backdrop{background:rgba(10,24,48,.85)}.gallery-dialog>img{max-height:74vh;width:100%;object-fit:contain}.gallery-dialog>p{font-family:"Manrope",sans-serif;font-size:13px;margin:14px 0 0;text-align:center}.gallery-close{border:0;background:none;color:#0d3276;display:flex;gap:13px;align-items:center;position:absolute;right:20px;top:12px;font-family:"Manrope",sans-serif;font-size:12px;padding:0 4px;cursor:pointer}.gallery-close:hover{background:none;color:#1371ff}.gallery-close span{font-size:27px}

.document-main{min-height:55vh;padding:100px 24px 75px}.document-wrap{max-width:900px;margin:0 auto}.document-wrap>.eyebrow{font-family:"Manrope",sans-serif;color:#1371ff;font-size:13px;margin-bottom:20px}.document-wrap>h1{font-family:"Poppins",sans-serif;font-size:52px;line-height:1.15;color:#0d3276;margin:0 0 40px}.entry-content{font-family:"Manrope",sans-serif;font-size:16px;line-height:1.85;color:#323232}.entry-content p,.entry-content ul,.entry-content ol{margin-bottom:24px}.entry-content h2{font-family:"Poppins",sans-serif;color:#0d3276;font-size:30px;line-height:1.3;margin:40px 0 20px}.entry-content h3{font-size:22px;color:#0d3276}.entry-content a{text-decoration:underline}.text-link,.button{display:inline-flex;align-items:center;gap:12px;font-family:"Manrope",sans-serif;color:#0d3276}.document-back{margin-top:35px}.post-excerpt{padding:25px 0;border-bottom:1px solid #dce1eb}.post-excerpt h2{font-family:"Poppins",sans-serif;color:#0d3276;font-size:30px}.post-excerpt .text-link{margin-top:15px}

@media(max-width:1024px){.cdp-historical-reviews .ti-widget.ti-goog .ti-col-3 .ti-review-item{flex-basis:50%;max-width:50%}}
@media(max-width:767px){.cdp-toggle summary{font-size:16px}.cdp-toggle .elementor-tab-content{font-size:14px}.cdp-booking-info{padding:15px;gap:15px}.cdp-booking-info strong,.cdp-booking-info>a{font-size:13px}.cdp-legacy-booking{margin-bottom:45px}.cdp-legacy-booking>a.elementor-button{font-size:14px;padding:17px 15px}.cdp-legacy-team>h3{font-size:19px}.cdp-legal-links{align-items:center;padding-top:15px}.cdp-archive-note{font-size:11px}.document-main{padding-top:70px}.document-wrap>h1{font-size:37px}.entry-content{font-size:14px}.entry-content h2{font-size:25px}.cdp-footer-booking .elementor-button{font-size:13px}.gallery-dialog{padding-inline:12px}.gallery-dialog>img{max-height:68vh}}
@media(max-width:600px){.cdp-historical-reviews .ti-widget.ti-goog .ti-col-3 .ti-review-item{flex-basis:100%;max-width:100%}.cdp-map-copy strong{font-size:17px}.cdp-booking-info{display:block}.cdp-booking-info>span{display:block;margin-bottom:7px}.cdp-booking-info strong,.cdp-booking-info>a{text-align:left;display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.cdp-historical-reviews .ti-widget.ti-goog .ti-reviews-container-wrapper{scroll-behavior:auto}}
