@charset "UTF-8";
/* Themify Ultra 8.1.2 framework 8.2.8 */

/*/css/base.min.css*/
:where(.tf_loader){width:1em;height:1em;overflow:hidden;display:inline-block;vertical-align:middle;position:relative}.tf_loader:before{content:'';width:100%;height:100%;position:absolute;top:0;left:0;text-indent:-9999em;border-radius:50%;box-sizing:border-box;border:.15em solid rgba(149,149,149,.2);border-left-color:rgba(149,149,149,.6);animation:tf_loader 1.1s infinite linear}@keyframes tf_loader{0{transform:rotate(0)}100%{transform:rotate(360deg)}}.tf_clear{clear:both}.tf_left{float:left}.tf_right{float:right}.tf_textl{text-align:left}.tf_textr{text-align:right}.tf_textc{text-align:center}.tf_textj{text-align:justify}.tf_text_dec{text-decoration:none}.tf_hide{display:none}.tf_hidden{visibility:hidden}.tf_block{display:block}.tf_inline_b{display:inline-block}.tf_vmiddle{vertical-align:middle}.tf_mw{max-width:100%}.tf_w{width:100%}.tf_h{height:100%}:where(.tf_overflow){overflow:hidden}.tf_box{box-sizing:border-box}:where(.tf_abs){position:absolute;inset:0}:where(.tf_abs_t){position:absolute;top:0;left:0}:where(.tf_abs_b){position:absolute;bottom:0;left:0}:where(.tf_abs_c){position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tf_rel{position:relative}:where(.tf_opacity){opacity:0}.tf_clearfix:after{content:"";display:table;clear:both}.loops-wrapper>.post,.woocommerce ul.loops-wrapper.products>li.product{float:left;box-sizing:border-box;margin-left:3.2%;margin-right:0;margin-bottom:2.5em;clear:none}.woocommerce .loops-wrapper.no-gutter.products>.product,body .loops-wrapper.no-gutter>.post{margin:0}.woocommerce .loops-wrapper.products.list-post>.product{margin-left:0}.tf_scrollbar{scroll-behavior:smooth;--tf_scroll_color:rgba(137,137,137,.2);--tf_scroll_color_hover:rgba(137,137,137,.4);scrollbar-color:var(--tf_scroll_color) transparent;scrollbar-width:thin}.tf_scrollbar::-webkit-scrollbar{width:var(--tf_scroll_w,10px);height:var(--tf_scroll_h,10px)}.tf_scrollbar::-webkit-scrollbar-thumb{background-color:var(--tf_scroll_color);background-clip:padding-box;border:2px solid transparent;border-radius:5px}.tf_scrollbar:hover{scrollbar-color:var(--tf_scroll_color_hover) transparent}.tf_scrollbar:hover::-webkit-scrollbar-thumb{background-color:var(--tf_scroll_color_hover)}.tf_close{position:relative;transition:transform .3s linear;cursor:pointer}.tf_close:after,.tf_close:before{content:'';height:100%;width:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);background-color:currentColor;transition:transform .25s}.tf_close:after{transform:translate(-50%,-50%) rotate(-45deg)}.tf_close:hover:after{transform:translate(-50%,-50%) rotate(45deg)}.tf_close:hover:before{transform:translate(-50%,-50%) rotate(135deg)}.tf_vd_lazy:fullscreen video{height:100%;object-fit:contain}

/*/css/themify-common.css*/
iframe{border:0}a{cursor:pointer}:is(button,a,input,select,textarea,.button):focus{outline:1px dotted hsla(0,0%,59%,.2)}.tf_focus_heavy :is(button,a,input,select,textarea,.button):focus{outline:2px solid rgba(0,176,255,.8)}.tf_focus_none a,.tf_focus_none:is(button,a,input,select,textarea,.button):focus{outline:0}.tf_large_font{font-size:1.1em}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.skip-to-content:focus{clip-path:none}.post-image .themify_lightbox{display:block;max-width:100%;position:relative}.post-image .themify_lightbox .zoom{background:rgba(0,0,0,.3);border-radius:100%;height:35px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:35px}.post-image .themify_lightbox .zoom .tf_fa{color:#fff;vertical-align:middle;stroke-width:1px;left:50%;line-height:100%;position:absolute;top:50%;transform:translate(-50%,-50%)}.post-image .themify_lightbox:hover .zoom{background:rgba(0,0,0,.6)}.pswp:not(.pswp--open){display:none}:is(.ptb_map,.themify_map) button{border-radius:0;max-width:inherit}
/*/themify-builder/css/themify-builder-style.css*/
:root{--tb_rounded_corner:12px;--tb_rounded_corner_sm:10px}.module_column,.module_row,.module_row .module,.module_subrow{box-sizing:border-box;min-width:0;position:relative}.module,.module-accordion i,:is(.module-buttons,.module_row,.module_subrow,.module_column,.module-image img):hover{transition:.5s ease;transition-property:background,font-size,line-height,color,padding,margin,border,border-radius,box-shadow,text-shadow,filter,transform}.entry-content>p:is(:first-of-type,:first-of-type+p):empty{margin:0;padding:0}.module_row{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-wrap:wrap}.themify_builder_slider_wrap{transition:none}[data-tbfullwidthvideo]:is(.module_row,.module_subrow,.module_column){background-size:cover}.module_subrow,.row_inner{display:grid;--gutter:3.2%;--narrow:1.6%;--none:0;--align_start:start;--align_center:center;--align_end:end;--auto_height:stretch;--align_items:var(--auto_height);--align_content:var(--align_start);--colg:var(--gutter);--c1:1fr;--c2:1fr 1fr;--c3:1fr 1fr 1fr;--c4:1fr 1fr 1fr 1fr;--c5:1fr 1fr 1fr 1fr 1fr;--c6:1fr 1fr 1fr 1fr 1fr 1fr;--c1_2:1fr 2.1025fr;--c2_1:2.1025fr 1fr;--c1_3:1fr 3.2831fr;--c3_1:3.2831fr 1fr;--c1_1_2:1fr 1fr 2.1415fr;--c1_2_1:1fr 2.1415fr 1fr;--c2_1_1:2.1415fr 1fr 1fr;--col:repeat(auto-fit,minmax(1%,1fr));align-content:var(--align_content);align-items:var(--align_items);gap:var(--rowg,0) var(--colg);grid:var(--row,none)/var(--col);grid-auto-columns:1fr;grid-template-areas:var(--area);--area5_3:"col1 col1 col2 col2 col3 col3" "col4 col4 col5 col5 . .";--area5_1_2:"col1 col2 col2" "col3 col4 col5";--area5_2_1:"col1 col1 col2" "col3 col4 col5";--area5_1_3:"col1 col2 col2 col2" "col3 col4 col4 col4" "col5 col5 col5 col5";--area5_3_1:"col1 col1 col1 col2" "col3 col4 col4 col5";--area5_1_1_2:"col1 col2 col3 col3" "col4 col4 col5 col5";--area5_1_2_1:"col1 col2 col2 col3" "col4 col4 col5 col5";--area5_2_1_1:"col1 col1 col2 col3" "col4 col4 col5 col5";--aream2_auto:"col1" "col2";--aream3_auto:"col1" "col2" "col3";--aream4_auto:"col1" "col2" "col3" "col4";--aream5_auto:"col1" "col2" "col3" "col4" "col5";--areat6_auto:"col1 col2 col3" "col4 col5 col6";--aream6_auto:"col1 col2" "col3 col4" "col5 col6";--areat7_auto:"col1 col2" "col3 col4" "col5 col6" "col7 col7";--aream7_auto:"col1" "col2" "col3" "col4" "col5" "col6" "col7";--areat8_auto:"col1 col2" "col3 col4" "col5 col6" "col7 col7" "col8 col8";--aream8_auto:"col1" "col2" "col3" "col4" "col5" "col6" "col7" "col8"}.row_inner{margin:0 auto;width:min(1160px,100%)}.module_row.fullheight .module_subrow,.module_row.fullwidth>.row_inner{max-width:100%;width:100%}@supports(-webkit-touch-callout:none){.module_column,.module_row,.module_subrow{background-attachment:scroll!important}}.module_row.fullheight{min-height:100vh}.fullheight>.row_inner,.fullheight>.row_inner>.module_column{min-height:inherit}div.module_column{align-content:inherit;align-items:inherit;display:grid;float:none;margin-inline:0;max-width:none;width:auto}.col_align_middle,.fullheight>.tb_col_count_1{--align_content:var(--align_center)}.gutter-narrow{--colg:var(--narrow)}.gutter-none{--colg:var(--none)}.module_column:first-of-type{grid-area:col1}.module_column:nth-of-type(2){grid-area:col2}.module_column:nth-of-type(3){grid-area:col3}.module_column:nth-of-type(4){grid-area:col4}.module_column:nth-of-type(5){grid-area:col5}.module_column:nth-of-type(6){grid-area:col6}.module_column:nth-of-type(7){grid-area:col7}.module_column:nth-of-type(8){grid-area:col8}.module_column:nth-of-type(9){grid-area:col9}.module_column:nth-of-type(10){grid-area:col10}.module_column:nth-of-type(11){grid-area:col11}.module_column:nth-of-type(12){grid-area:col12}.module_column:nth-of-type(13){grid-area:col13}.module_column:nth-of-type(14){grid-area:col14}.module_column:nth-of-type(15){grid-area:col15}.module_column:nth-of-type(16){grid-area:col16}.tb_col_count_1>.module_column{grid-area:auto}.tb_col_count_2{--area:"col1 col2"}.tb_col_count_3{--area:"col1 col2 col3"}.tb_col_count_4{--area:"col1 col2 col3 col4"}.tb_col_count_5{--area:"col1 col2 col3 col4 col5"}.tb_col_count_6{--area:"col1 col2 col3 col4 col5 col6"}.tb_col_count_7{--area:"col1 col2 col3 col4 col5 col6 col7"}.tb_col_count_8{--area:"col1 col2 col3 col4 col5 col6 col7 col8"}.module:after{clear:both;content:"";display:table}.module_row ul.loops-wrapper{display:block;list-style:none;margin:0;padding:0}.tb_default_color{--tb_pr_color:#555;--tb_pr_bg:#f7f7f7;--tb_pr_hover_bg:#f1f1f1}.module_row .ui{background-color:var(--tb_pr_bg,#f7f7f7);color:var(--tb_pr_color,#555)}.ui.rounded{border-radius:var(--tb_app_r,0)}.ui.gradient{background-image:var(--tb_app_gr,none)}.ui:is(.shadow,.embossed){box-shadow:var(--tb_app_shadow,none)}.ui.builder_button{border:1px solid rgba(0,0,0,.05);border-radius:var(--tb_app_r,0);font-size:var(--tb_mb_f,1em);line-height:1.35;padding:.625em 1.25em;position:relative;transition:.3s linear;transition-property:color,background-color,padding,border,box-shadow}.builder_button:not(:is(.tf_flx,.tf_in_flx)){display:inline-block}.builder_button:hover{background-color:var(--tb_pr_hover_bg,#f1f1f1);text-decoration:none}.module_row .module .ui.builder_button{text-decoration:none}.ui.transparent{--tb_pr_bg:transparent;--tb_pr_hover_bg:transparent;--tb_pr_color:#555;--tb_app_gr:none;--tb_app_shadow:none;border:0;color:inherit}.transparent.gradient{--tb_app_gr:linear-gradient(180deg,hsla(0,0%,100%,.45) 0%,hsla(0,0%,100%,0))}.module-title{font-size:1.4em;margin:0 0 .8em}.module img{border:0;vertical-align:bottom}.module-slider{margin-bottom:2.5em}.module-widget .widget{margin:0}.wp-caption{max-width:100%}.module-map button{border-radius:0}.module-map .gm-style-mtc img{margin-right:5px;vertical-align:baseline}.module-plain-text:after{display:contents!important}@media (max-width:1260px){.module-layout-part .row_inner,.tbp_template .row_inner .row_inner{max-width:100%}.module_row.fullwidth .module-layout-part .row_inner,.row_inner,.tbp_template .module_row.fullwidth .row_inner .row_inner{max-width:94%}.tbp_template .module_row.fullwidth .module_row.fullwidth>.row_inner{max-width:100%}}@media (max-width:760px){.module_row.fullwidth .module-layout-part .row_inner,.row_inner,.tbp_template .module_row.fullwidth .row_inner .row_inner{max-width:90%}}.themify_builder div.builder-parallax-scrolling{transition:background-position-y 0s}@supports not(cursor:grab){.builder-parallax-scrolling{background-attachment:scroll!important}}
/*/wp-content/plugins/themify-builder-pro/public/css/tbp-style.css*/
.tbp_template{clear:both}.tbp_advanced_archive_wrap .module_row>.row_inner{margin:unset;max-width:100%;width:100%}.module-site-logo{line-height:1;word-break:keep-all}.tbp_template .builder-posts-wrap.loops-wrapper .post{margin-top:0}.tbp_post_meta .tbp_post_meta_item time{display:inline-block}.tbp_post_meta>.tbp_post_meta_item{margin-inline-end:.4em}.tbp_post_meta>.tbp_post_meta_item:after{border-left:1px solid hsla(0,0%,71%,.6);content:"";display:inline-block;height:1.3em;margin-inline-start:.4em;transform:skewX(-15deg);vertical-align:middle;white-space:nowrap;width:1px}.tbp_post_meta>.tbp_post_meta_item:last-child:after{display:none}.tbp_author_info_img{margin:0 15px 15px 0}.tbp_author_stack .tbp_author_info_img{float:none;margin:0 0 1em}.module-readtime{margin-bottom:.5em}.tbp_rd_tm_ic{margin-block-end:2px;margin-inline-end:3px;vertical-align:bottom}#tbp_footer .ui.nav ul{inset-block:auto 100%;transform-origin:bottom}#tbp_footer .ui.nav ul ul{inset-block:auto 0}.tbp_cart_icon_style_dropdown .tbp_empty_shopdock{opacity:0;position:absolute}
/*/wp-content/themes/themify-ultra/styles/modules/footers/left.css*/
.footer-horizontal-left .footer-left-wrap,.footer-horizontal-left .footer-right-wrap,.footer-left-col .main-col,.footer-left-col .section-col{float:left;margin-left:3.2%}.footer-horizontal-left .footer-left-wrap.first,.footer-horizontal-left .footer-right-wrap.first,.footer-left-col .main-col.first{clear:left;margin-left:0}.footer-horizontal-left .footer-left-wrap,.footer-left-col .main-col{width:22.6%}.footer-horizontal-left .footer-right-wrap,.footer-left-col .section-col{width:74.2%}.footer-left-col #footer .widget{margin:0 0 2em}.footer-left-col .footer-text{padding-top:.9em}@media(max-width:680px){.footer-horizontal-left .footer-left-wrap,.footer-horizontal-left .footer-right-wrap,.footer-left-col .main-col,.footer-left-col .section-col{margin-left:0;margin-right:0;max-width:100%;width:100%}.footer-horizontal-left .back-top,.footer-left-col .back-top{top:-35px}}
/*/wp-content/themes/themify-ultra/styles/modules/sidebars/sidebar1.css*/
.sidebar-left #layout{flex-direction:row-reverse}.sidebar-left #sidebar{margin-left:unset;margin-right:auto}
/*/wp-content/themes/themify-ultra/style.css*/
/*!
Theme Name: Themify Ultra
Theme URI:https://themify.me/themes/ultra/
Version:8.1.2
Description:Use Ultra theme to create professional sites quickly and easily (landing pages, portfolio, blog, corporate, ecommerce, and more). It includes a bunch of header/footer layout options and pre-built demos that you can import to your site. Read <a href="https://themify.me/docs/ultra-documentation">Ultra documentation</a> for more information.
Author:Themify
Author URI:https://www.themify.me
License:GNU General Public License v2.0
License URI:http://www.gnu.org/licenses/gpl-2.0.html
Copyright:(c) Themify.
Tags:themify,featured-images,translation-ready,custom-menu,sidebar
Text Domain:themify
Requires PHP:7.4
Changelogs: https://themify.org/changelogs/themify-ultra.txt
---------
DO NOT EDIT THIS FILE.
If you need to override theme styling,please add custom CSS in Appearance>Customize>Custom CSS or a child theme (https://themify.me/docs/child-theme).*/a,abbr,acronym,address,b,bdo,big,blockquote,body,br,button,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,form,h1,h2,h3,h4,h5,h6,html,i,img,ins,kbd,legend,li,map,ol,p,pre,q,samp,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,ul,var{margin:0;padding:0}a,fieldset,img{border:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}audio,iframe{max-width:100%}:root{--theme_accent:#ed1e24;--theme_accent_semi:rgba(251,9,48,.8);--theme_accent_hover:#000;--theme_rounded:12px;--theme_rounded_sm:10px;--theme_input_rounded:12px;--theme_btn_rounded:30px}html{scroll-behavior:smooth}body{background-color:#fff;color:#666;font:1em/1.65em Public Sans,Arial,sans-serif;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}a{color:var(--theme_accent);text-decoration:none;transition:color .3s ease-in-out}a:hover{color:var(--theme_accent_hover)}p{margin:0 0 1.3em;padding:0}small{font-size:87%}blockquote{border-left:3px solid hsla(0,0%,59%,.3);font-size:1.1em;line-height:1.4em;margin:0 5% 1.2em;padding:.8em 1.4em}ins{text-decoration:none}ol,ul{margin:0 0 1.4em 1.6em}li,ol,ul{padding:0}li{margin:0 0 1em}h1,h2,h3,h4,h5,h6{color:#000;font-weight:700;letter-spacing:-.02em;line-height:1.4em;margin:0 0 .5em;overflow-wrap:normal}h1{font-size:3.4em;line-height:1.2em}h1,h2{letter-spacing:-.03em}h2{font-size:2.3em;line-height:1.3em}h3{font-size:1.7em}h4{font-size:1.4em}h5{font-size:1.3em}h5,h6{line-height:1.7em}h6{font-size:1.2em}button,input,input[type=search],select,textarea{font-family:inherit;font-size:100%;max-width:100%}input:is([type=radio],[type=checkbox]),input:read-only,input:read-write,select,textarea{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid rgba(0,0,0,.25);border-radius:var(--theme_input_rounded);max-width:100%;padding:.6em}input:read-only,input:read-write{margin:0 1em .6em 0;width:17em}input[type=number]{width:7em}textarea{margin:0 0 .6em;min-height:13.5em;width:100%}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='none' stroke='rgba(40,40,40,.8)' stroke-linecap='round' stroke-width='12'%3E%3Cpath d='m2.7 2.3 46.4 54.9L95.5 2.3'/%3E%3C/svg%3E");background-position:calc(100% - .7em) calc(50% + .15em);background-repeat:no-repeat;background-size:.85em;color:inherit;margin:0 0 .6em;padding-right:2em}input:is([type=radio],[type=checkbox]){-webkit-appearance:none;box-sizing:content-box;clear:none;cursor:pointer;display:inline-block;height:1.3em;line-height:1;margin:0 .5em 0 0;min-height:1.3em;min-width:1.3em;padding:0;text-align:center;vertical-align:middle;width:1.3em}input[type=checkbox]{border-radius:calc(var(--theme_input_rounded) - 4px)}input[type=radio]{align-items:center;border-radius:100%!important;display:inline-flex;justify-content:center}input[type=checkbox]:before{border-bottom:.13em solid transparent;border-left:.13em solid transparent;content:"";display:inline-block;height:.32em;margin-bottom:.1em;margin-left:.1em;transform:rotate(-45deg) skewY(-10deg);width:.7em}input[type=checkbox]:checked:before{border-bottom:.13em solid;border-left:.13em solid}input[type=radio]:checked:before{background-color:#222;border-radius:100%;content:"";display:inline-block;height:.7em;vertical-align:middle;width:.7em}:is(select,textarea):focus,input:read-only:focus,input:read-write:focus{border-color:rgba(0,0,0,.5)}button,input[type=reset],input[type=submit]{-webkit-appearance:none;background-color:var(--theme_accent);border:0;border-radius:var(--theme_btn_rounded);color:#fff;cursor:pointer;display:inline-block;font-weight:700;padding:.65em 1.6em;transition:background .3s,color .3s,transform .3s;width:auto}button:hover,input:is([type=reset],[type=submit]):hover{background-color:var(--theme_accent_hover);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;transform:translateY(-1px)}.gm-style-mtc button{border-radius:0}.mce-toolbar .mce-btn button:hover{background-color:inherit;box-shadow:none;color:inherit;transform:none}#main-nav ul a,.author-box,.post,.post-content,.sidemenu,.widget,img,input,textarea{box-sizing:border-box}.col3-1,.col4-1,.col4-2{float:left;margin-left:3.2%}.col4-1{width:22.6%}.col4-2{width:48.4%}.col3-1{width:31.2%}:is(.col4-1,.col4-2,.col3-1).first{clear:left;margin-left:0}#pagewrap{overflow-x:clip}.mobile-menu-visible #pagewrap,.slide-cart-visible #pagewrap{overflow-x:initial}.pagewidth{margin:0 auto;max-width:100%;width:1160px}#layout{display:flex;flex-wrap:wrap}#content{padding:5.75% 0;width:71%}.sidebar-none #content{width:100%}.sidebar-none #layout{display:block}.sidemenu-active{left:0;position:relative;transition:left .2s ease-in-out}.sidemenu-right{left:-300px}.sidemenu-left,.sidemenu-left #headerwrap{left:300px}.full_width #layout{flex-wrap:wrap;max-width:100%;width:100%}.full_width #content{max-width:100%;padding:0;width:100%}#headerwrap{background-color:var(--tf_fixed_header_bg,#fff);border-bottom:var(--tf_fixed_header_border,1px solid rgba(0,0,0,.05));color:var(--tf_fixed_header_color,#000);inset-block:var(--tf_fixed_header_p,0 auto);left:0;margin-inline:var(--tf_fixed_header_m,0);min-height:55px;position:var(--tf_fixed_header,absolute);transition:.3s ease-in-out;transition-property:background-color,color,box-shadow,min-height,left,padding;width:var(--tf_fixed_header_w,100%);z-index:999}.fixed-header-enabled{--tf_fixed_header:sticky}.no-fixed-header{--tf_fixed_header:relative}.fixed-header-on{--tf_fixed_header_bg:hsla(0,0%,100%,.9)}#headerwrap.fixed-header:before{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}#header{overflow:visible;padding:2em 0;position:relative}.fixed-header-enabled #header{transition:padding .3s ease-in-out}.fixed-header #header{padding-block:12px}@supports (-webkit-touch-callout:none){#headerwrap{background-attachment:scroll!important;background-position:50%!important}}.header-widget{font-size:.95em;height:100%}.header-widget .widget{margin:2em 0}.header-widget .widgettitle{color:inherit;font-size:1.05em;margin:0 0 .5em}.fixed-header-on .tf_sticky_logo~*{display:none!important}.search-button{border-radius:100%;box-sizing:border-box;color:inherit;font-size:19px;line-height:1;margin:0 0 0 3px;padding:10px}.search-button:hover{background:hsla(0,0%,78%,.25)}a.search-button{text-decoration:none}.search-button:focus{outline:0}.tf_darkmode_toggle{border-radius:100%;box-sizing:border-box;color:inherit;font-size:19px;line-height:1;margin:0 0 0 7px;padding:9px 10px}.tf_darkmode .tf_darkmode_toggle,.tf_darkmode_toggle:hover{background:hsla(0,0%,78%,.25)}a.tf_darkmode_toggle{text-decoration:none}.tf_darkmode_toggle:focus{outline:0}#main-nav,#main-nav li{margin:0;padding:0}#main-nav li{display:inline-block;list-style:none;position:relative}#main-nav ul li{background:0;display:block;float:none}#main-nav li>.sub-menu{background:#fff;border-radius:var(--theme_rounded);box-shadow:0 0 0 1px rgba(0,0,0,.1),0 3px 12px rgba(0,0,0,.12);box-sizing:border-box;contain:style layout;left:-.3em;margin:0;opacity:0;padding:calc(var(--tb_rounded_corner) - 2px) 0;position:absolute;top:100%;transform:scaleY(0);transform-origin:top;transition:transform .3s ease-in-out,opacity .3s ease-in-out;width:210px;z-index:100}#main-nav small{display:block}#main-nav li .sub-menu .sub-menu{left:100%;top:-.65em}#main-nav .edge>.sub-menu{left:auto;right:0}#main-nav ul .edge>.sub-menu{left:auto;right:100%}@media (hover:hover){#main-nav li:hover>.sub-menu,#main-nav li>.sub-menu:focus-within,#main-nav li>a:focus+.sub-menu{opacity:1;transform:scale(1)}}.menu-item .child-arrow{border-radius:100%;cursor:pointer;display:none;height:36px;position:absolute;right:0;top:4px;transition:transform .3s;width:36px;z-index:12}.child-arrow:after,.child-arrow:before{background:currentColor;border-radius:10px;content:"";height:1px;left:12px;position:absolute;top:50%;transform:rotate(45deg);transition:transform .3s ease-in-out;width:8px;z-index:9999}.child-arrow:after{left:17px;transform:rotate(-45deg)}.toggle-on>a .child-arrow:after,.toggle-on>a .child-arrow:before{left:10px;width:15px}.toggle-on>a .child-arrow{transform:rotate(180deg)}@media (hover:none){#main-nav .menu-item-has-children>a{padding-right:45px}#footer-nav .menu-item-has-children>a{padding-right:30px}.menu-item .child-arrow{border-radius:100%;display:inline-block;margin-left:7px;margin-top:-17px;padding:0;right:5px;top:50%}#main-nav .toggle-on>a>.child-arrow{background:hsla(0,0%,84%,.4)}#main-nav li>.sub-menu{display:none}#main-nav li.toggle-on>.sub-menu{opacity:1;transform:scale(1)}}#main-nav a{color:inherit;display:block;margin:0;padding:.5em .8em;position:relative;text-decoration:none;transition:.4s ease;transition-property:background,font-size,line-height,color,padding,margin,border,border-radius,box-shadow,transform}#main-nav .highlight-link>a{background-color:hsla(0,0%,78%,.25);border:0;border-radius:var(--theme_btn_rounded);margin-left:.6em;margin-right:.6em;padding-left:1.4em;padding-right:1.4em}#main-nav .highlight-link:last-child>a{margin-right:0}#main-nav a>em .tf_fa{margin-right:5px}#main-nav a .tf_lazy{display:none}#main-nav ul a{color:#353535;padding:.4em 1.4em;text-align:left}#main-nav .current-menu-item>a,#main-nav .current_page_item>a,#main-nav a:hover,#main-nav ul a:hover{color:var(--theme_accent)}.header-icons :is(a,a:hover){color:inherit;text-decoration:none}#headerwrap .header-icons>*{vertical-align:middle}.slide-cart .header-icons{min-width:75px;text-align:right}#menu-icon{border-radius:100%;line-height:1em;margin:0 0 0 10px;padding:10px 9px 11px}#menu-icon:hover{background:hsla(0,0%,78%,.25)}.menu-icon-inner{border-bottom:2px solid;box-sizing:border-box;height:18px;position:relative;width:22px}.menu-icon-inner:after,.menu-icon-inner:before{border-top:2px solid;content:"";display:block;left:0;position:absolute;top:0;transition:border .7s ease;transition-property:transform;width:100%}.menu-icon-inner:after{top:50%}#menu-icon-close{transform:rotate(0deg);transition:border .3s ease-in-out,transform .3s ease-in-out}.body-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:hsla(0,0%,81%,.8);display:none;height:100%;position:fixed;top:0;width:100%}.body-overlay-on{display:block;z-index:998}.fixed-header :is(.tf_darkmode_toggle,.header-bar,.search-button,.header-widget),.mobile-menu-visible #headerwrap:before,.slide-cart-visible #headerwrap:before{display:none}.revealing-header :is(#headerwrap,#tbp_header){transition:transform .5s ease-in-out,opacity .5s ease-in-out}.revealing-header :is(#headerwrap,#tbp_header).header_hidden{opacity:0;transform:translateY(-100%)}.fixed-header-enabled #tbp_header,.revealing-header #tbp_header{position:sticky;top:0;z-index:999}.page-title{margin:0 0 1em;padding:0}.author-bio{margin:0 0 2em;overflow:hidden}.author-bio .author-avatar{float:left;margin:0 1.2em 0 0}.author-bio .author-avatar img{border-radius:var(--theme_rounded);width:100px}.author-bio .author-name{font-size:1.6em;margin:0 0 .5em;padding:0}.author-posts-by{border-top:4px solid hsla(0,0%,46%,.1);font-size:1.4em;margin:0 0 1.5em;padding:1em 0 0;text-transform:uppercase}.post{position:relative}.post-content{min-width:120px}.post-title{font-size:3.1em;letter-spacing:-.03em;line-height:1.2em;margin:0 0 .4em;padding:0;text-transform:none}.post-title a{color:#000;text-decoration:none}.post-title a:hover{color:var(--theme_accent)}.post-image{margin:0 0 1em}.post-image img{border-radius:var(--theme_rounded);vertical-align:bottom}.post-image.left{float:left;margin-right:1em}.post-image.right{float:right;margin-left:1em}.post-meta{font-size:.9em;line-height:1.6em;margin:0 0 .5em;padding:0}.post-meta a{text-decoration:none}.post-meta :is(.post-comment,.post-category,.post-tag):before{border-left:1px solid hsla(0,0%,71%,.6);content:"";display:inline-block;height:1.3em;margin:0 .9em 0 .45em;transform:skewX(-15deg);vertical-align:middle;white-space:nowrap;width:1px}.post-meta .post-category:first-child:before{display:none}.post-meta .post-comment .tf_fa{font-size:.8em;margin-left:8px;opacity:.7;vertical-align:text-top}.more-link,.more-link:after,.more-link:hover{text-decoration:none}.more-link:after{border:1px solid transparent;border-right-color:inherit;border-top-color:inherit;content:"";display:inline-block;margin-left:.5em;min-height:.7em;min-width:.7em;transform:rotate(45deg);vertical-align:middle}.post-date{display:block;font-size:.8em;letter-spacing:.04em;margin:0 0 .4em;text-transform:uppercase}.loops-wrapper .post-image{margin-bottom:1em;position:relative;transition:border .3s ease-in-out,margin .3s ease-in-out,width .3s ease-in-out,transform .3s ease-in-out}.author-box{border:0;margin:5.5em 0}.author-box .author-avatar{float:left;margin:0 2em .3em 0}.author-box .author-name{margin:0 0 .3em}.post-pagination{margin:.5em 0 2em;text-align:right}.post-pagination strong{margin-right:3px}.post-pagination a{margin-left:3px;margin-right:3px}.tf_load_more{padding:2em 0}a.load-more-button{background:hsla(0,0%,72%,.16);border-radius:var(--theme_btn_rounded);box-sizing:border-box;display:none;padding:.7em 1.8em;text-decoration:none;width:auto}.post-video{height:0;margin-bottom:15px;overflow:hidden;padding-bottom:56.25%;position:relative}.post-video iframe{height:100%;left:0;position:absolute;top:0;width:100%}.featured-area img{width:100%}.loops-wrapper.no-gutter .post-image{margin:0}.loops-wrapper.no-gutter .post,.loops-wrapper.no-gutter .post-image img,ul.products.no-gutter li.product .post-image{border-radius:0}.widget{margin:0 0 2.4em}.widgettitle{font-size:1.25em;line-height:1.3em;margin:0 0 1em;padding:0}.widget ul{margin:0;padding:0}.widget li{clear:both;list-style:none;margin:0;padding:.4em 0}.widget ul ul{margin:.6em 0 -.6em;padding:0}.widget ul ul li{margin:0;padding-left:1em}iframe[src*=facebook]{background-color:#fff}#content .twitter-tweet-rendered,#content .twt-border{max-width:100%!important}#content .twt-border{min-width:180px!important}:is(.col4-3,.col4-2,.col4-1,.col3-2,.col3-1,.col2-1) .loops-wrapper.list-post .post-title{font-size:1.4em;margin:0 0 .5em}.shortcode.themify-icon .themify-icon-icon{font-size:1.3em}a.shortcode.button{border-radius:var(--theme_btn_rounded);padding:.65em 1em}.tb_optin_horizontal form>div[class*=tb_optin_]{width:auto}img:is(.alignleft,.aligncenter,.alignright,.alignnone){margin-bottom:1em}.alignleft{float:left;margin-right:1em}.alignright{float:right;margin-left:1em}.aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}.wp-caption{margin-bottom:1em;max-width:100%;text-align:center}.wp-caption-text{margin:.5em 0}body.attachment{position:static}.single .attachment.post,body.attachment{float:none;width:auto}.menu:after,.widget li:after{clear:both;content:"";display:table}.module-feature-image,.post-image,.post-img,.slide-image{transition:.3s ease-in-out;transition-property:border,padding,width}.mobile-menu-visible{overflow-y:hidden}@media(max-width:1260px){h1{font-size:2.4em}h2{font-size:2em}.pagewidth{max-width:94%}#pagewrap,.default_width #layout .row_inner{max-width:100%}}@media(max-width:1024px){.header-widget .col4-1{width:48.4%}.header-widget .col4-1:nth-child(odd){clear:left;margin-left:0}}@media(max-width:760px){body .pagewidth{max-width:90%}#layout{flex-wrap:wrap}#content,#sidebar{clear:both;max-width:100%;padding-top:10%;width:100%}}@media(max-width:680px){h1{font-size:1.9em}.post-title,h2{font-size:1.6em}h3{font-size:1.35em}.col4-1{font-size:.95em}.col3-1,.col4-2{margin-left:0;max-width:100%;width:100%}.fixed-header #site-logo img:not(.tf_sticky_logo){max-height:40px;width:auto}#headerwrap .header-icons{right:5%}.loops-wrapper:is(.list-post,.grid4,.grid3,.grid2,.list-large-image) .post-image{float:none;max-width:none;overflow:visible;width:auto}}
/*/wp-content/themes/themify-ultra/styles/headers/header-horizontal.css*/
#header{padding:1em 0}.header-bar{float:left}#site-logo{margin:5px 15px 5px 0}#site-description{font-size:.8em;margin:5px .5em 5px 0}.navbar-wrapper{align-items:center;display:flex;justify-content:end}#header .social-widget,#searchform-wrap,.cart-icon,.search-button,.tf_darkmode_toggle{order:1}#main-nav-wrap{align-items:center;display:flex;justify-content:end}#main-nav{float:right}#main-nav .has-mega-column>.sub-menu{padding:32px 39px 39px}.header-widget{display:none;text-align:center}.header-widget .header-widget-inner{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.sidemenu-on .header-widget .header-widget-inner{max-height:none!important}.fixed-header :is(.header-bar,.search-button),.fixed-header-on #headerwrap :is(.social-widget,#searchform-wrap),.fixed-header-on .tf_darkmode_toggle{display:inline-block}#gallery-controller .slider.carousel-nav-wrap{display:none}@media(max-height:900px){.header-horizontal #headerwrap .header-widget-inner{max-height:70vh}}
/*/wp-content/themes/m-cabinet/style.css*/
/*
Theme Name: M Cabinet
Description: A child theme of Themify Ultra
Template: themify-ultra
Author: Martin Chénier (info@martinchenier.com)
Version: 4.8 - Fluent Forms amélioré
*/

/* === IMPORT GOOGLE FONT CABIN === */
@import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

/* ============================================
   TABLE DES MATIÈRES
   ============================================
   1. VARIABLES GLOBALES
   2. RESET & BASE
   3. TYPOGRAPHIE
   4. LIENS & BOUTONS
   5. HEADER & NAVIGATION
   6. PAGE D'ACCUEIL
      6.1 Hero
      6.2 Section Prosthodontiste
      6.3 Nos Spécialités (cartes cliquables)
      6.4 Notre Équipe
      6.5 Réalisations (Avant/Après)
      6.6 La Clinique (Mosaïque)
      6.7 FAQ Accordéon
      6.8 Formulaire Contact
      6.9 Bloc Contact Accueil
   7. PAGES INTÉRIEURES
      7.1 Titres de page
      7.2 Page Services (index)
      7.3 Pages Services (individuelles)
      7.4 Page Notre Équipe
      7.5 Pages Dentistes
      7.6 Associations Professionnelles
      7.7 Galerie Photos
   8. FOOTER
   9. UTILITAIRES
   10. RESPONSIVE
   ============================================ */


/* ============================================
   1. VARIABLES GLOBALES
   ============================================ */

:root {
/* === COULEURS PRINCIPALES === */
--couleur-primaire: #1B365D;      /* Pantone 534 C */
--couleur-secondaire: #4A7BB5;    /* Garde le même pour les boutons */
--couleur-blanc: #FFFFFF;

/* === PALETTE BLEUS (dégradé pour icônes) === */
--bleu-1: #1B365D;    /* Pantone 534 C - base */
--bleu-2: #274270;
--bleu-3: #334E83;
--bleu-4: #3F5A96;
--bleu-5: #4A7BB5;    /* = couleur secondaire */
--bleu-6: #5B8BC8;

/* === COULEURS NEUTRES === */
--gris-fond: #F8F9FA;
--gris-texte: #6C757D;
--gris-bordure: #D0D3D4;          /* Pantone 427 C */
--gris-fonce: #333333;

    

	--font-titre: 'Cabin', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-corps: 'Cabin', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;




    /* === TAILLES TEXTE === */
    --taille-h1: 3rem;
    --taille-h2: 2.2rem;
    --taille-h3: 1.5rem;
    --taille-h4: 1.25rem;
    --taille-corps: 1rem;
    --taille-petite: 0.95rem;
    --taille-tres-petite: 0.85rem;
    
    /* === ESPACEMENTS === */
    --espacement-section: 60px;
    --espacement-element: 30px;
    --espacement-petit: 15px;
    
    /* === BORDURES & OMBRES === */
    --radius-petit: 8px;
    --radius-moyen: 12px;
    --radius-grand: 16px;
    --radius-rond: 50px;
    --ombre-legere: 0 2px 8px rgba(27, 54, 93, 0.06);
    --ombre-moyenne: 0 4px 15px rgba(27, 54, 93, 0.1);
    --ombre-forte: 0 8px 30px rgba(27, 54, 93, 0.15);
    
    /* === TRANSITIONS === */
    --transition-rapide: 0.2s ease;
    --transition-normale: 0.3s ease;
    --transition-lente: 0.5s ease;
    
    /* === LARGEURS CONTENEURS === */
    --largeur-max: 1200px;
    --largeur-moyenne: 1100px;
    --largeur-etroite: 900px;
}


/* Fix lazy loading pour photos équipe accueil */
.prostho-equipe-photo img[data-tf-src] {
    content: url("/wp-content/uploads/2026/01/DrValeriePetitjean-1.webp") !important;
}

/* Fix lazy loading Themify pour SVG */
.team-staff-photo img[data-tf-src] {
    content: url("/wp-content/uploads/2026/01/staff-temp.svg") !important;
}


/* === WORDPRESS GUTENBERG BLOCKS === */
.wp-block-heading,
.wp-block-list,
.wp-block-paragraph,
.wp-block-separator,
.entry-content h3,
.entry-content p,
.entry-content ul,
.entry-content li {
    font-family: var(--font-corps);
}

.entry-content h3,
.wp-block-heading {
    font-family: var(--font-titre);
    color: var(--couleur-primaire);
}


/* ========================================
   MENU CUSTOM PROSTHODONTIE.CA
   A ajouter dans style.css du child theme
   ======================================== */




/* === RESET === */
.prostho-header * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* === HEADER CONTAINER === */
.prostho-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    padding: 20px 20px;
    background-color: #FFFFFF;
    max-width: 1200px;      /* AJOUTER */
    margin-left: auto;       /* AJOUTER */
    margin-right: auto;      /* AJOUTER */
    width: 100%;             /* AJOUTER */
}

/* === STICKY HEADER FIX === */
.fixed-header .prostho-header,
.is-sticky .prostho-header,
#headerwrap.fixed-header .prostho-header {
    background-color: #FFFFFF;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Sticky mobile - cacher le logo, garder juste menu */
@media (max-width: 1024px) {
    .fixed-header .prostho-logo,
    .is-sticky .prostho-logo,
    #headerwrap.fixed-header .prostho-logo {
        display: none;
    }
    
    .fixed-header .prostho-header,
    .is-sticky .prostho-header,
    #headerwrap.fixed-header .prostho-header {
        padding: 10px 0;
    }
    
    .fixed-header .prostho-nav,
    .is-sticky .prostho-nav,
    #headerwrap.fixed-header .prostho-nav {
        margin-bottom: 0;
    }
}

/* === LOGO === */
.prostho-logo {
    margin-bottom: 10px;
}

.prostho-logo img {
    max-width: 400px;
    height: auto;
    display: block;
}

/* === NAV CONTAINER === */
.prostho-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    width: 100%;
    margin-bottom: 15px;
}

/* === MENU BLEU === */
.prostho-menu-bleu {
    display: flex;
    background-color: #4A7BB5;
    border-radius: 12px;
    list-style: none;
    overflow: visible;
}

.prostho-menu-bleu > li {
    position: relative;
}

.prostho-menu-bleu > li > a {
    display: block;
    padding: 12px 22px;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 500;
    font-size: var(--taille-petite);
    transition: background-color 0.2s ease;
}

.prostho-menu-bleu > li > a:hover,
.prostho-menu-bleu > li.active > a {
    background-color: #3A6BA5;
}

.prostho-menu-bleu > li:first-child > a {
    border-radius: 12px 0 0 12px;
    padding-left: 25px;
}

.prostho-menu-bleu > li:last-child > a {
    border-radius: 0 12px 12px 0;
    padding-right: 25px;
}

/* Sous-menu bleu (Patient) */
.prostho-menu-bleu .has-sub-bleu {
    position: relative;
}

.prostho-menu-bleu .has-sub-bleu > a::after {
    content: " \25BE";
    font-size: 10px;
}

.prostho-menu-bleu .sub-menu-bleu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #4A7BB5;
    border-radius: 10px;
    list-style: none;
    min-width: 320px;
    padding: 10px 0;
    margin-top: 5px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
    z-index: 1001;
    overflow: hidden;
}

.prostho-menu-bleu .has-sub-bleu:hover > .sub-menu-bleu {
    display: block;
}

/* Premier lien direct (Questionnaire) */
.prostho-menu-bleu .sub-menu-bleu > li > a {
    display: block;
    padding: 12px 20px;
    color: #FFFFFF;
    text-decoration: none;
    font-size: var(--taille-petite);
    font-weight: 500;
    transition: background-color 0.2s ease;
}

.prostho-menu-bleu .sub-menu-bleu > li > a:hover {
    background-color: rgba(0,0,0,0.15);
}

.prostho-menu-bleu .sub-menu-bleu .cat-title-bleu {
    display: block;
    padding: 12px 20px 8px 20px;
    color: rgba(255,255,255,0.7);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: default;
    border-top: 1px solid rgba(255,255,255,0.15);
    margin-top: 5px;
}

.prostho-menu-bleu .sub-menu-bleu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.prostho-menu-bleu .sub-menu-bleu ul li a {
    display: block;
    padding: 10px 20px;
    color: #FFFFFF;
    text-decoration: none;
    font-size: var(--taille-petite);
    transition: background-color 0.2s ease;
}

.prostho-menu-bleu .sub-menu-bleu ul li a:hover {
    background-color: rgba(0,0,0,0.15);
}

/* === MENU GRIS === */
.prostho-menu-gris {
    display: flex;
    background-color: #F7F7F7;
    border-radius: 12px;
    list-style: none;
    overflow: visible;
}

.prostho-menu-gris > li {
    position: relative;
}

.prostho-menu-gris > li > a,
.prostho-menu-gris > li > span.cat-title-main {
    display: block;
    padding: 12px 22px;
    color: #6C757D;
    text-decoration: none;
    font-weight: 500;
    font-size: var(--taille-petite);
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.prostho-menu-gris > li > a:hover,
.prostho-menu-gris > li:hover > span.cat-title-main,
.prostho-menu-gris > li.active > a,
.prostho-menu-gris > li.active > span.cat-title-main {
    background-color: #E0E4E8;
    color: #1B365D;
}

.prostho-menu-gris > li:first-child > a {
    border-radius: 12px 0 0 12px;
    padding-left: 25px;
}

.prostho-menu-gris > li:last-child > a {
    border-radius: 0 12px 12px 0;
    padding-right: 25px;
}

/* Indicateur dropdown - fleche */
.prostho-menu-gris .has-sub > a::after,
.prostho-menu-gris .has-sub > span.cat-title-main::after {
    content: " \25BE";
    font-size: 10px;
}

/* === DROPDOWN MEGA MENU - SCROLLABLE === */
.prostho-menu-gris > li > .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #FFFFFF;
    border-radius: 12px;
    list-style: none;
    min-width: 320px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 10px 0;
    margin-top: 5px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    border: 1px solid #D0D3D4;
    z-index: 1000;
}

.prostho-menu-gris > li:hover > .sub-menu {
    display: block;
}

/* Tous les sous-menus internes toujours visibles */
.prostho-menu-gris .sub-menu .sub-menu {
    display: block !important;
    position: relative;
    top: auto;
    left: auto;
    background-color: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
    min-width: auto;
    max-height: none;
    overflow: visible;
    border-radius: 0;
}

/* Titre categorie niveau 1 */
.prostho-menu-gris .sub-menu > li > span.cat-title {
    display: block;
    padding: 12px 20px 8px 20px;
    color: #1B365D;
    font-size: var(--taille-tres-petite);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: default;
    background-color: #F8F9FA;
    border-top: 1px solid #D0D3D4;
    margin-top: 5px;
}

.prostho-menu-gris .sub-menu > li:first-child > span.cat-title {
    border-top: none;
    margin-top: 0;
    border-radius: 12px 12px 0 0;
}

/* Titre sous-categorie niveau 2 */
.prostho-menu-gris .sub-menu .sub-menu > li > span.cat-title {
    padding: 8px 20px 6px 30px;
    color: #4A7BB5;
    font-size: 0.75rem;
    font-weight: 600;
    background-color: transparent;
    border-top: none;
    margin-top: 4px;
}

/* Liens dans dropdown */
.prostho-menu-gris .sub-menu li a {
    display: block;
    padding: 8px 20px 8px 30px;
    color: #6C757D;
    text-decoration: none;
    font-size: var(--taille-petite);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.prostho-menu-gris .sub-menu li a:hover,
.prostho-menu-gris .sub-menu li a.current {
    background-color: #F0F4F8;
    color: #4A7BB5;
}

/* Liens niveau 3 */
.prostho-menu-gris .sub-menu .sub-menu .sub-menu > li > a {
    padding-left: 45px;
    font-size: var(--taille-petite);
}

/* ========================================
   MOBILE ROW (menu bleu + hamburger)
   ======================================== */
.prostho-mobile-row {
    display: none;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

/* ========================================
   HAMBURGER BUTTON
   ======================================== */
.prostho-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 56px;
    min-width: 56px;
    background-color: #E8EDF2;
    border: 1px solid #D0D8E0;
    border-radius: 12px;
    cursor: pointer;
    gap: 6px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
}

.prostho-hamburger span {
    display: block;
    width: 26px;
    height: 3px;
    background-color: #1B365D;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.prostho-hamburger:hover {
    background-color: #D0D8E0;
    transform: scale(1.02);
}

/* ========================================
   MOBILE MENU PANEL
   ======================================== */
.prostho-mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 380px;
    height: 100vh;
    background: #FFFFFF;
    box-shadow: -4px 0 20px rgba(0,0,0,0.15);
    z-index: 9999;
    transition: right 0.3s ease;
    overflow-y: auto;
}

.prostho-mobile-menu.open {
    right: 0;
}

/* Header du menu mobile avec logo */
.prostho-mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 2px solid #4A7BB5;
    background-color: #FFFFFF;
    position: sticky;
    top: 0;
    z-index: 10;
}

.prostho-mobile-header a {
    display: block;
    line-height: 0;
}

.prostho-mobile-header img {
    max-width: 150px;
    height: auto;
    display: block;
}

.prostho-mobile-close {
    width: 44px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #F7F7F7;
    border: none;
    border-radius: 10px;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #1B365D;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.prostho-mobile-close:hover {
    background-color: #E0E4E8;
}

.prostho-mobile-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Liens niveau 0 */
.prostho-mobile-menu > ul > li > a {
    display: block;
    padding: 16px 20px;
    color: #1B365D;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    border-bottom: 1px solid #D0D3D4;
    background-color: #FFFFFF;
}

.prostho-mobile-menu > ul > li > a:hover,
.prostho-mobile-menu > ul > li > a.current {
    background-color: #F0F4F8;
    color: #4A7BB5;
}

/* Sous-menu niveau 1 */
.prostho-mobile-menu .sub-menu {
    background-color: #F8F9FA;
    border-left: 4px solid #4A7BB5;
}

/* Titre categorie niveau 1 */
.prostho-mobile-menu .sub-menu > li > span.cat-title {
    display: block;
    padding: 14px 20px 10px 20px;
    color: #1B365D;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    background-color: #E8EDF2;
    border-bottom: 1px solid #D0D8E0;
}

/* Liens niveau 1 */
.prostho-mobile-menu .sub-menu > li > a {
    display: block;
    padding: 12px 20px 12px 25px;
    color: #4A5568;
    text-decoration: none;
    font-size: var(--taille-petite);
    border-bottom: 1px solid #E0E4E8;
    background-color: #F8F9FA;
}

.prostho-mobile-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu > li > a.current {
    background-color: #E8EDF2;
    color: #4A7BB5;
}

/* Sous-menu niveau 2 */
.prostho-mobile-menu .sub-menu .sub-menu {
    background-color: #F0F4F8;
    border-left: 4px solid #6BA2DC;
    margin-left: 15px;
}

/* Titre categorie niveau 2 */
.prostho-mobile-menu .sub-menu .sub-menu > li > span.cat-title {
    padding: 12px 15px 8px 15px;
    color: #4A7BB5;
    font-weight: 600;
    font-size: 11px;
    background-color: #E0EAF4;
    border-bottom: 1px solid #C8D8E8;
}

/* Liens niveau 2 */
.prostho-mobile-menu .sub-menu .sub-menu > li > a {
    padding: 10px 15px 10px 20px;
    font-size: var(--taille-petite);
    background-color: #F0F4F8;
    border-bottom: 1px solid #E0E8F0;
}

/* Sous-menu niveau 3 */
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    background-color: #FFFFFF;
    border-left: 3px solid #9BBDE0;
    margin-left: 10px;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a {
    padding: 10px 15px;
    font-size: var(--taille-petite);
    background-color: #FFFFFF;
    border-bottom: 1px solid #F0F0F0;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a.current {
    background-color: #F0F4F8;
    color: #4A7BB5;
}

/* La clinique titre mobile */
.prostho-mobile-menu .cat-title-laclinique {
    display: block;
    padding: 16px 20px;
    color: #1B365D;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    background-color: #E8EDF2;
    border-bottom: 1px solid #D0D8E0;
}

/* Overlay */
.prostho-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
}

.prostho-overlay.open {
    display: block;
}

/* ========================================
   RESPONSIVE - DESKTOP
   ======================================== */
@media (min-width: 1025px) {
    .prostho-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 25px 80px 25px 40px;
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .prostho-logo {
        margin-bottom: 0;
        margin-left: 35px;

    }
    
    .prostho-logo img {
        max-width: 400px;
    }
    
	.prostho-nav {
        width: auto;
        margin-bottom: 0;
        margin-right: 70px;
    }
}


/* Écrans moyens - entre 1025px et 1440px */
@media (min-width: 1025px) and (max-width: 1440px) {
    .prostho-header {
        padding: 25px 20px;
    }
    
    .prostho-logo img {
        max-width: 350px;
    }
    
    .prostho-menu-bleu > li > a {
        padding: 10px 16px;
        font-size: 14px;
    }
    
    .prostho-menu-gris > li > a,
    .prostho-menu-gris > li > span.cat-title-main {
        padding: 10px 16px;
        font-size: 14px;
    }
}





/* ========================================
   RESPONSIVE - MOBILE
   ======================================== */
@media (max-width: 1024px) {
    .prostho-header {
        flex-direction: column;
        align-items: center;
        padding: 15px 0px;
    }
    
    .prostho-logo {
        margin-bottom: 20px;
    }
    
    .prostho-logo img {
        max-width: 340px;
    }
    
    /* Cacher les menus desktop */
    .prostho-menu-bleu,
    .prostho-menu-gris {
        display: none !important;
    }
    
    /* Afficher la row mobile */
    .prostho-mobile-row {
        display: flex !important;
        align-items: stretch;
           justify-content: center;
        gap: 10px;
        width: 100%;
    }
    
    .prostho-hamburger {
        display: flex !important;
        height: auto;
        min-height: 48px;
    }
    
    .prostho-mobile-menu {
        display: block;
    }
    
/* Menu bleu mobile - STYLE BOUTON */
    .prostho-menu-bleu-mobile {
        display: flex;
        background: linear-gradient(180deg, #5A8BC5 0%, #4A7BB5 100%);
        border-radius: 12px;
        list-style: none;
        overflow: hidden;
        flex: 1;
        max-width: calc(100% - 110px);
        min-width: 0;
        box-shadow: 0 4px 12px rgba(74, 123, 181, 0.3);
    }

    .prostho-menu-bleu-mobile > li {
        flex: 1;
        border-right: 1px solid rgba(255,255,255,0.15);
    }
    
    .prostho-menu-bleu-mobile > li:last-child {
        border-right: none;
    }
    
	.prostho-menu-bleu-mobile > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 12px 8px;
        color: #FFFFFF;
        text-decoration: none;
        font-weight: 600;
        font-size: 13px;
        text-align: center;
        transition: all 0.2s ease;
        white-space: nowrap;
    }
    
    .prostho-menu-bleu-mobile > li > a:hover,
    .prostho-menu-bleu-mobile > li > a:active,
    .prostho-menu-bleu-mobile > li.active > a {
        background-color: rgba(0,0,0,0.15);
    }
    
    .prostho-menu-bleu-mobile > li:first-child > a {
        border-radius: 12px 0 0 12px;
    }
    
    .prostho-menu-bleu-mobile > li:last-child > a {
        border-radius: 0 12px 12px 0;
    }
    
    /* Patient dropdown mobile - pleine largeur */
    .has-dropdown-mobile {
        position: static;
    }
    
    .patient-dropdown-mobile {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #FFFFFF;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        z-index: 10000;
        max-height: 80vh;
        overflow-y: auto;
    }
    
    .patient-dropdown-mobile.open {
        display: block;
    }
    
    .patient-dropdown-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
        background-color: #4A7BB5;
        color: #FFFFFF;
    }
    
    .patient-dropdown-header span {
        font-weight: 700;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .patient-dropdown-header button {
        background: rgba(255,255,255,0.2);
        border: none;
        color: #FFFFFF;
        width: 36px;
        height: 36px;
        border-radius: 8px;
        font-size: 24px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }
    
    .patient-dropdown-mobile ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .patient-dropdown-mobile ul li a {
        display: block;
        padding: 16px 20px;
        color: #1B365D;
        text-decoration: none;
        font-size: var(--taille-petite);
        border-bottom: 1px solid #D0D3D4;
        transition: background-color 0.2s ease;
    }
    
    .patient-dropdown-mobile ul li a:hover {
        background-color: #F0F4F8;
        color: #4A7BB5;
    }
    
    .patient-dropdown-subtitle {
        padding: 12px 20px 8px 20px;
        color: #4A7BB5;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background-color: #F8F9FA;
        border-top: 1px solid #D0D3D4;
    }

}

@media (max-width: 480px) {
    .prostho-logo img {
        max-width: 280px;
    }
    
    .prostho-menu-bleu-mobile > li > a {
        padding: 14px 8px;
        font-size: 12px;
    }
    
    .prostho-hamburger {
        width: 52px;
        min-width: 52px;
    }
    
    .prostho-mobile-menu {
        max-width: 100%;
    }
    
    .prostho-mobile-header img {
        max-width: 140px;
    }
}

/* ============================================
   2. RESET & BASE
   ============================================ */

body {
    color: var(--couleur-primaire);
    font-family: var(--font-corps);
}

#layout {
    padding-top: 30px !important;
}

#content {
    padding-top: 0;
}

.type-page {
    padding-top: 0;
}


/* ============================================
   3. TYPOGRAPHIE
   ============================================ */

h1, h2, h3, h4, h5, h6 {
    color: var(--couleur-primaire);
    font-family: var(--font-titre);
}

h1.page-title {
    margin-top: 0;
    margin-bottom: 40px;
    font-size: var(--taille-h2);
}

h3 {
    font-size: var(--taille-h3);
    font-weight: 600;
}

.entry-title {
    font-size: var(--taille-h2);
    margin-top: 0;
}


/* ============================================
   4. LIENS & BOUTONS
   ============================================ */

a {
    color: var(--couleur-secondaire);
    transition: color var(--transition-rapide);
}

a:hover {
    color: var(--couleur-primaire);
}

/* Boutons Themify bleus */
.builder_button.blue,
a.builder_button.blue {
    background-color: var(--couleur-secondaire) !important;
    border-color: var(--couleur-secondaire) !important;
}

.builder_button.blue:hover,
a.builder_button.blue:hover {
    background-color: var(--couleur-primaire) !important;
    border-color: var(--couleur-primaire) !important;
}

/* Menu top boutons */
#menu-top-bouton,
#menu-top-bouton.blue {
    background-color: var(--couleur-secondaire) !important;
}

#menu-top-bouton:hover,
#menu-top-bouton.blue:hover {
    background-color: var(--couleur-primaire) !important;
}

#menu-top-bouton a {
    color: var(--couleur-blanc) !important;
}

/* Bouton primaire */
.prostho-btn-primary {
    display: inline-block;
    background: var(--couleur-secondaire);
    color: var(--couleur-blanc);
    font-size: var(--taille-petite);
    font-weight: 500;
    text-decoration: none;
    padding: 14px 30px;
    border-radius: var(--radius-rond);
    transition: all var(--transition-normale);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.prostho-btn-primary:hover {
    background: var(--couleur-primaire);
    color: var(--couleur-blanc);
    transform: translateY(-2px);
}

/* Bouton secondaire (outline) */
.prostho-btn-secondary {
    display: inline-block;
    background: transparent;
    color: var(--couleur-primaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    text-decoration: none;
    padding: 14px 30px;
    border: 2px solid var(--couleur-primaire);
    border-radius: var(--radius-rond);
    transition: all var(--transition-normale);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.prostho-btn-secondary:hover {
    background: var(--couleur-primaire);
    color: var(--couleur-blanc);
}


/* ============================================
   5. HEADER & NAVIGATION
   ============================================ */

#headerwrap,
#footerwrap {
    background-color: var(--couleur-blanc);
}

#headerwrap a,
.nav a {
    color: var(--couleur-primaire);
}

#headerwrap a:hover,
.nav a:hover {
    color: var(--couleur-secondaire);
}


/* ============================================
   6. PAGE D'ACCUEIL
   ============================================ */

/* Container général sections accueil */
.prostho-accueil-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

/* === TITRE DE SECTION UNIFORME === */
.prostho-section-title {
    font-family: var(--font-titre);
    font-style: italic;
    font-weight: 400;
    font-size: var(--taille-h2);
    color: var(--couleur-primaire);
    margin-bottom: 40px;
    line-height: 1.3;
    text-align: left;
}



/* ============================================
   6.1 HERO THEMIFY
   ============================================ */

/* Ajoute la classe "prostho-hero-home" sur ta Row Hero dans Themify */

.prostho-hero-home h1,
.prostho-hero-home .tb_text_wrap h1 {
    font-family: var(--font-titre);
    font-size: clamp(2.8rem, 5vw, 4rem);
    font-weight: 400;
    font-style: italic;
    color: var(--couleur-primaire);
    line-height: 1.15;
    margin: 0 0 45px 0;
}

/* Boutons Hero */
.prostho-hero-home .builder_button,
.prostho-hero-home a.builder_button {
    min-width: 260px;
    padding: 16px 35px;
    font-size: var(--taille-petite);
    letter-spacing: 0.5px;
}

/* Bouton primaire (bleu plein) */
.prostho-hero-home .builder_button.blue,
.prostho-hero-home a.builder_button.blue {
    background-color: var(--couleur-secondaire) !important;
    border-color: var(--couleur-secondaire) !important;
}

.prostho-hero-home .builder_button.blue:hover,
.prostho-hero-home a.builder_button.blue:hover {
    background-color: var(--couleur-primaire) !important;
    border-color: var(--couleur-primaire) !important;
}

/* Bouton secondaire (outline) */
.prostho-hero-home .builder_button.outline,
.prostho-hero-home a.builder_button.outline {
    background: transparent !important;
    border: 2px solid var(--couleur-primaire) !important;
    color: var(--couleur-primaire) !important;
}

.prostho-hero-home .builder_button.outline:hover,
.prostho-hero-home a.builder_button.outline:hover {
    background: var(--couleur-primaire) !important;
    color: var(--couleur-blanc) !important;
}

/* ============================================
   HERO THEMIFY RESPONSIVE
   ============================================ */




@media (max-width: 1024px) {
    .fixed-header .prostho-logo,
    .is-sticky .prostho-logo,
    #headerwrap.fixed-header .prostho-logo {
        display: none;
    }
    
    .fixed-header .prostho-header,
    .is-sticky .prostho-header,
    #headerwrap.fixed-header .prostho-header {
        padding: 10px 20px;
    }
    
    .fixed-header .prostho-mobile-row,
    .is-sticky .prostho-mobile-row,
    #headerwrap.fixed-header .prostho-mobile-row {
        max-width: 100%;
    }
    
    .fixed-header .prostho-menu-bleu-mobile,
    .is-sticky .prostho-menu-bleu-mobile,
    #headerwrap.fixed-header .prostho-menu-bleu-mobile {
        flex: 1;
        max-width: calc(100% - 100px);
    }

}

@media (max-width: 768px) {
    /* Fond semi-transparent derrière tout le contenu */
    .prostho-hero-home .module_row {
        background: rgba(255, 255, 255, 0.85) !important;
        border-radius: 12px;
        margin: 15px !important;
        padding: 25px !important;
    }
    
    .prostho-hero-home h1,
    .prostho-hero-home .tb_text_wrap h1 {
        font-size: 1.7rem;
        margin-bottom: 25px;
    }
    
    .prostho-hero-home .builder_button,
    .prostho-hero-home a.builder_button {
        padding: 14px 25px;
        font-size: 0.85rem;
    }
    
    /* Bouton transparent - fond blanc solide sur mobile */
    .prostho-hero-home a.builder_button.transparent {
        background: var(--couleur-blanc) !important;
        border: 2px solid var(--couleur-primaire) !important;
        color: var(--couleur-primaire) !important;
    }
}

@media (max-width: 480px) {
    .prostho-hero-home .module_row {
        margin: 10px !important;
        padding: 20px !important;
    }
    
    .prostho-hero-home h1,
    .prostho-hero-home .tb_text_wrap h1 {
        font-size: 1.5rem;
        margin-bottom: 20px;
        line-height: 1.25;
    }
    
    .prostho-hero-home .builder_button,
    .prostho-hero-home a.builder_button {
        padding: 12px 20px;
        font-size: 0.8rem;
    }
}



/* --- 6.2 Section Prosthodontiste --- */
.prostho-intro-section {
    display: flex;
    gap: 50px;
    align-items: center;
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.prostho-intro-image {
    flex: 0 0 45%;
}

.prostho-intro-image img {
    width: 100%;
    border-radius: var(--radius-moyen);
    box-shadow: var(--ombre-moyenne);
}

.prostho-intro-content {
    flex: 1;
}

.prostho-intro-content h2 {
    font-family: var(--font-titre);
    font-style: italic;
	font-weight: 400;
    font-size: var(--taille-h2);
    color: var(--couleur-primaire);
    margin-bottom: 20px;
}

.prostho-intro-content p {
    font-size: var(--taille-corps);
    line-height: 1.8;
    color: var(--gris-fonce);
    margin-bottom: 15px;
}


/* --- 6.3 Nos Spécialités (cartes cliquables) --- */
.prostho-specialites-section {
    background: var(--couleur-blanc);
    padding: var(--espacement-section) 20px;
}

.prostho-specialites-container {
    max-width: var(--largeur-max);
    margin: 0 auto;
}

.prostho-specialites-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid var(--gris-bordure);
    border-radius: var(--radius-moyen);
    overflow: hidden;
}

/* Carte cliquable (balise <a>) */
a.prostho-specialite-card {
    display: block;
    padding: 40px 30px;
    background: var(--couleur-blanc);
    border-right: 1px solid var(--gris-bordure);
    border-bottom: 1px solid var(--gris-bordure);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-normale);
}

a.prostho-specialite-card:nth-child(3n) {
    border-right: none;
}

a.prostho-specialite-card:nth-child(n+4) {
    border-bottom: none;
}

a.prostho-specialite-card:hover {
    background: var(--gris-fond);
    transform: translateY(-3px);
    box-shadow: var(--ombre-moyenne);
}

.prostho-specialite-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: var(--ombre-moyenne);
}
.prostho-specialite-icon svg {
    width: 50px;
    height: 50px;
}

a.prostho-specialite-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
    transition: color var(--transition-rapide);
}

a.prostho-specialite-card:hover h3 {
    color: var(--couleur-secondaire);
}

a.prostho-specialite-card p {
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.prostho-specialite-link {
    color: var(--couleur-secondaire);
    font-size: var(--taille-tres-petite);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color var(--transition-rapide);
}

.prostho-specialite-link span {
    font-size: 1.1em;
}

a.prostho-specialite-card:hover .prostho-specialite-link {
    color: var(--couleur-primaire);
}


/* --- 6.4 Notre Équipe (Accueil) --- */
.prostho-equipe-accueil {
    max-width: var(--largeur-moyenne);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.prostho-equipe-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--espacement-element);
    margin-bottom: 40px;
}

.prostho-equipe-card {
    background: var(--couleur-blanc);
    border-radius: var(--radius-grand);
    padding: 25px;
    box-shadow: var(--ombre-legere);
    transition: all var(--transition-normale);
    text-align: center;
}

.prostho-equipe-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
}

.prostho-equipe-photo {
    display: block;
    margin-bottom: 20px;
    border-radius: var(--radius-moyen);
    overflow: hidden;
}

.prostho-equipe-photo img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform var(--transition-normale);
}

.prostho-equipe-card:hover .prostho-equipe-photo img {
    transform: scale(1.03);
}

.prostho-equipe-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 5px 0;
}

.prostho-equipe-card h3 a {
    color: var(--couleur-primaire);
    text-decoration: none;
    transition: color var(--transition-rapide);
}

.prostho-equipe-card h3 a:hover {
    color: var(--couleur-secondaire);
}

.prostho-equipe-credentials {
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    margin: 0 0 5px 0;
}

.prostho-equipe-role {
    color: var(--couleur-secondaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    margin: 0;
}

.prostho-equipe-cta {
    text-align: center;
    margin-top: 20px;
}


.team-staff-card a {
    display: block;
    color: #4A7BB5;
    font-size: 0.75em;
    text-decoration: none;
    margin-top: 5px;
    white-space: nowrap;
}



/* --- 6.5 Réalisations (Avant/Après) --- */
.prostho-realisations-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.prostho-realisations-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--espacement-element);
    margin-bottom: var(--espacement-element);
}

.prostho-realisation-card {
    position: relative;
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
}

.prostho-realisation-card img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
}

.prostho-realisation-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(transparent, rgba(27, 54, 93, 0.85));
    color: var(--couleur-blanc);
    font-size: var(--taille-petite);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.prostho-realisations-description h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
}

.prostho-realisations-description p {
    color: var(--gris-fonce);
    font-size: var(--taille-corps);
    line-height: 1.7;
    margin: 0 0 25px 0;
}

.prostho-realisations-cta {
    text-align: center;
}


/* --- 6.6 La Clinique (Mosaïque) --- */
.prostho-clinique-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.clinique-mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 220px 220px;
    gap: 15px;
}

.mosaic-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-moyen);
}

.mosaic-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-lente);
}

.mosaic-item:hover img {
    transform: scale(1.05);
}

.mosaic-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(transparent, rgba(27, 54, 93, 0.85));
    color: var(--couleur-blanc);
    font-size: var(--taille-petite);
    font-weight: 500;
    letter-spacing: 0.5px;
    opacity: 0;
    transition: opacity var(--transition-normale);
}

.mosaic-item:hover .mosaic-label {
    opacity: 1;
}

.mosaic-large {
    grid-column: span 2;
    grid-row: span 2;
}

.mosaic-small-1 { grid-column: 3; grid-row: 1; }
.mosaic-small-2 { grid-column: 4; grid-row: 1; }
.mosaic-small-3 { grid-column: 3; grid-row: 2; }
.mosaic-medium { grid-column: 4; grid-row: 2; }

.prostho-clinique-cta {
    text-align: center;
    margin-top: 40px;
}


/* --- 6.7 FAQ Accordéon --- */
.prostho-faq-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: var(--largeur-etroite);
}

.faq-item {
    background: var(--couleur-blanc);
    border-radius: var(--radius-moyen);
    box-shadow: var(--ombre-legere);
    overflow: hidden;
    transition: box-shadow var(--transition-normale);
}

.faq-item:hover {
    box-shadow: var(--ombre-moyenne);
}

.faq-question {
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background var(--transition-normale);
}

.faq-question:hover {
    background: var(--gris-fond);
}

.faq-question span:first-child {
    color: var(--couleur-primaire);
    font-size: var(--taille-corps);
    font-weight: 600;
    flex: 1;
    padding-right: 15px;
}

.faq-icon {
    color: var(--couleur-secondaire);
    font-size: var(--taille-h3);
    font-weight: 300;
    transition: transform var(--transition-normale);
    line-height: 1;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-normale);
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer p {
    padding: 0 25px 25px 25px;
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.7;
    border-top: 1px solid var(--gris-bordure);
    margin: 0 25px;
    padding-top: 20px;
}

.prostho-faq-cta {
    text-align: center;
    margin-top: 40px;
}

/* Accordéon Themify (override) */
.module-accordion {
    max-width: var(--largeur-etroite);
    margin: 0 auto;
}

.module-accordion .accordion-item {
    background: var(--couleur-blanc);
    border: none;
    border-radius: var(--radius-moyen);
    margin-bottom: 12px;
    box-shadow: var(--ombre-legere);
    overflow: hidden;
    transition: box-shadow var(--transition-normale);
}

.module-accordion .accordion-item:hover {
    box-shadow: var(--ombre-moyenne);
}

.module-accordion .accordion-title {
    background: var(--couleur-blanc);
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none;
    transition: background var(--transition-normale);
}

.module-accordion .accordion-title:hover {
    background: var(--gris-fond);
}

.module-accordion .accordion-title a,
.module-accordion .accordion-title span {
    color: var(--couleur-primaire);
    font-size: var(--taille-corps);
    font-weight: 600;
    text-decoration: none;
    flex: 1;
    padding-right: 15px;
}

.module-accordion .accordion-title .accordion-icon,
.module-accordion .accordion-title i {
    color: var(--couleur-secondaire);
    font-size: var(--taille-h4);
    transition: transform var(--transition-normale);
}

.module-accordion .accordion-item.active .accordion-title .accordion-icon,
.module-accordion .accordion-item.active .accordion-title i {
    transform: rotate(45deg);
}

.module-accordion .accordion-content {
    padding: 0 25px 25px 25px;
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.7;
    border-top: 1px solid var(--gris-bordure);
    margin: 0 25px;
    padding-top: 20px;
}


/* --- 6.8 Formulaire Contact --- */
.prostho-contact-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}


/* --- 6.9 Bloc Contact Accueil --- */
.prostho-contact-accueil {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 50px 60px;
    background: var(--gris-bordure);
    gap: 100px;
    border-radius: var(--radius-petit);
    margin-left: 0;
    margin-right: auto;
}

.prostho-contact-accueil .prostho-logo {
    flex: 0 0 auto;
}

.prostho-contact-accueil .prostho-logo img:first-child {
    width: 300px !important;
    height: auto !important;
    margin-top: -25px;
}

.prostho-contact-accueil .prostho-photo {
    margin-top: 40px;
}

.prostho-contact-accueil .prostho-photo img {
    width: 280px !important;
    height: 220px !important;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: var(--ombre-moyenne);
}

.prostho-contact-accueil .prostho-infos {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.prostho-contact-accueil .prostho-title {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 15px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--gris-bordure);
    letter-spacing: 0.5px;
}

.prostho-contact-accueil .prostho-item {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--couleur-primaire);
    text-decoration: none;
    font-size: var(--taille-petite);
    padding: 6px 0;
    transition: color var(--transition-rapide);
}

.prostho-contact-accueil .prostho-item:hover {
    color: var(--couleur-secondaire);
}

.prostho-contact-accueil .prostho-item svg {
    width: 22px !important;
    height: 22px !important;
    stroke: var(--couleur-secondaire);
    flex-shrink: 0;
}

.prostho-contact-accueil .prostho-item:hover svg {
    stroke: var(--couleur-primaire);
}

.prostho-contact-accueil .prostho-item span {
    font-weight: 400;
}

.prostho-contact-accueil .prostho-item[href*="facebook"] {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--gris-bordure);
}





/* ============================================
   7. PAGES INTÉRIEURES
   ============================================ */

/* --- 7.1 Titres de page --- */
.prostho-page-title {
    font-family: var(--font-titre);
	font-style: italic;
    font-weight: 400;
    font-size: var(--taille-h1);
    color: var(--couleur-primaire);
    text-align: center;
    margin-bottom: 0.5rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.prostho-page-subtitle {
    font-family: var(--font-titre);
    font-style: italic;
    font-weight: 400;
    font-size: var(--taille-h4);
    color: var(--gris-texte);
    text-align: center;
    margin-top: 0;
    margin-bottom: 2.5rem;
}

.prostho-page-credentials {
    text-align: center;
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    margin: -15px 0 5px 0;
}

.prostho-page-role {
    text-align: center;
    color: var(--couleur-secondaire);
    font-size: var(--taille-corps);
    font-weight: 500;
    margin: 0 0 40px 0;
}


/* --- 7.2 Page Services (index) --- */
.services-page-v2 {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: 0 20px 80px;
}

.services-header {
    text-align: center;
    margin-bottom: 50px;
}

.services-header h1 {
    color: var(--couleur-primaire);
    font-family: var(--font-titre);
    font-size: var(--taille-h1);
    font-weight: 600;
    margin: 0 0 15px 0;
    letter-spacing: 1px;
}

.services-header p {
    color: var(--gris-texte);
    font-size: var(--taille-corps);
    margin: 0;
    font-style: italic;
}

.services-grid-2x3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--espacement-element);
}

.service-section {
    background: var(--couleur-blanc);
    border: 1px solid #D0D5DD;
    border-radius: var(--radius-grand);
    padding: 35px 40px;
    box-shadow: var(--ombre-legere);
    transition: box-shadow var(--transition-normale), transform var(--transition-normale);
    display: flex;
    flex-direction: column;
}

.service-section:hover {
    box-shadow: var(--ombre-forte);
    transform: translateY(-3px);
}

.section-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--gris-bordure);
}

.section-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: var(--ombre-moyenne);
}

.section-icon svg {
    width: 30px;
    height: 30px;
}

.section-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.section-subtitle {
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.section-header h2 {
    color: var(--couleur-primaire);
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.5px;
    min-height: 2.5em;
}

.section-content {
    flex: 1;
    padding-left: 80px;
}

.service-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.service-links li {
    position: relative;
    padding-left: 20px;
    display: flex;
    align-items: flex-start;
}

.service-links li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 6px;
    height: 6px;
    background: var(--couleur-primaire);
    border-radius: 50%;
}

.service-links a {
    color: var(--couleur-primaire);
    text-decoration: none;
    font-size: var(--taille-petite);
    transition: all var(--transition-rapide);
    display: inline-block;
}

.service-links a:hover {
    color: var(--couleur-secondaire);
    padding-left: 4px;
}


/* --- 7.3 Pages Services (individuelles) --- */
.prostho-service-page {
    padding: 0 0 60px;
}

.prostho-service-intro-row {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 50px;
}

.prostho-service-intro-row .prostho-service-intro {
    flex: 1;
    margin-bottom: 0;
}

.prostho-service-intro-row .prostho-service-image {
    flex: 0 0 45%;
    max-width: 45%;
    margin: 0;
}

.prostho-service-intro {
    margin-bottom: 40px;
}

.prostho-service-intro p {
    font-size: var(--taille-corps);
    line-height: 1.8;
    color: var(--gris-fonce);
    margin-bottom: 1rem;
}

.prostho-service-intro p:last-child {
    margin-bottom: 0;
}

.prostho-service-image {
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
}

.prostho-service-image img {
    width: 100%;
    height: auto;
    display: block;
}

.prostho-service-image-solo {
    margin: 40px auto;
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
    max-width: 600px;
}

.prostho-service-image-solo img {
    width: 100%;
    height: auto;
    display: block;
}

.prostho-service-section {
    margin-bottom: 40px;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.prostho-service-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: var(--couleur-primaire);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--gris-bordure);
}

.prostho-service-section p {
    font-size: var(--taille-corps);
    line-height: 1.8;
    color: var(--gris-fonce);
    margin-bottom: 1rem;
}

.prostho-service-section p:last-child {
    margin-bottom: 0;
}

.prostho-service-highlight {
    background: var(--gris-fond) !important;
    border: none !important;
    box-shadow: none !important;
    border-left: 4px solid var(--couleur-secondaire) !important;
    padding: 20px 25px !important;
    margin: 25px 0;
    border-radius: 0 var(--radius-petit) var(--radius-petit) 0 !important;
}

.prostho-service-highlight p {
    margin: 0;
    font-style: italic;
    color: var(--couleur-primaire);
}

.prostho-service-cta {
    background: linear-gradient(135deg, var(--couleur-primaire) 0%, var(--bleu-2) 100%) !important;
    color: white;
    padding: 35px 40px;
    border-radius: var(--radius-moyen);
    text-align: center;
    margin: 50px 0;
    border: none !important;
    box-shadow: none !important;
}

.prostho-service-cta h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: white !important;
    margin: 0 0 15px 0;
    border: none !important;
    padding: 0 !important;
}

.prostho-service-cta p {
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 0 0 25px 0;
    font-size: var(--taille-corps);
}

.prostho-service-cta-btn {
    display: inline-block;
    background: var(--couleur-secondaire) !important;
    color: white !important;
    padding: 14px 35px;
    border-radius: var(--radius-rond);
    text-decoration: none !important;
    font-weight: 600;
    transition: all var(--transition-normale);
    border: none !important;
}

.prostho-service-cta-btn:hover {
    background: white !important;
    color: var(--couleur-primaire) !important;
    transform: translateY(-2px);
}

.prostho-services-connexes {
    background: var(--gris-fond) !important;
    padding: 35px 40px;
    border-radius: var(--radius-moyen);
    margin-top: 50px;
    border: none !important;
    box-shadow: none !important;
}

.prostho-services-connexes h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 20px 0;
    border: none !important;
    padding: 0 !important;
}

.prostho-services-connexes ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.prostho-services-connexes li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.prostho-services-connexes li::before {
    display: none !important;
}

.prostho-services-connexes a {
    display: inline-block;
    background: white !important;
    color: var(--couleur-primaire) !important;
    padding: 12px 24px;
    border-radius: var(--radius-rond);
    text-decoration: none !important;
    font-size: var(--taille-petite);
    font-weight: 500;
    border: 1px solid #D0D5DD !important;
    transition: all var(--transition-normale);
    box-shadow: var(--ombre-legere) !important;
}

.prostho-services-connexes a:hover {
    background: var(--couleur-secondaire) !important;
    color: white !important;
    border-color: var(--couleur-secondaire) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 123, 181, 0.3) !important;
}

.prostho-service-link-realisations {
    text-align: center;
    margin-top: 30px;
}

.prostho-service-link-realisations a {
    color: var(--couleur-secondaire) !important;
    font-weight: 500;
    text-decoration: none !important;
}

.prostho-service-link-realisations a:hover {
    color: var(--couleur-primaire) !important;
}


/* --- 7.4 Page Notre Équipe --- */
.prostho-team-page {
    max-width: var(--largeur-moyenne);
    margin: 0 auto;
    padding: 0 20px 60px;
}

.prostho-team-dentistes-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--espacement-element);
    margin-bottom: 60px;
}

.team-dentiste-card {
    background: var(--couleur-blanc);
    border-radius: var(--radius-grand);
    padding: 30px;
    text-align: center;
    box-shadow: var(--ombre-legere);
    transition: all var(--transition-normale);
}

.team-dentiste-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
}

.team-dentiste-photo {
    margin: 0 auto 20px;
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
}

.team-dentiste-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.team-dentiste-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 2px 0;
}

.team-dentiste-card .team-credentials {
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    margin: 0 0 2px 0;
}

.team-dentiste-card .team-role {
    color: var(--couleur-secondaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    margin: 0 0 15px 0;
}

.team-dentiste-card .team-bio {
    color: var(--gris-fonce);
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
    text-align: left;
}

.team-link {
    display: inline-block;
    color: var(--couleur-secondaire);
    font-weight: 500;
    text-decoration: none;
    font-size: var(--taille-petite);
}

.team-link:hover {
    color: var(--couleur-primaire);
}

.prostho-team-staff {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.team-staff-card {
    background: var(--couleur-blanc);
    border-radius: var(--radius-moyen);
    padding: 20px;
    text-align: center;
    box-shadow: var(--ombre-legere);
    transition: all var(--transition-normale);
}

.team-staff-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ombre-moyenne);
}

.team-staff-photo {
    margin: 0 auto 15px;
    border-radius: var(--radius-petit);
    overflow: hidden;
    background: var(--gris-bordure);
    min-height: 200px;
}

.team-staff-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.team-staff-card h4 {
    font-family: var(--font-titre);
    font-size: var(--taille-corps);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 5px 0;
}

.team-staff-card p {
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    margin: 0;
    line-height: 1.4;
}


/* ========================================
   CARTES DENTISTES ENTIÈREMENT CLIQUABLES
   ======================================== */

/* Position relative pour le stretched link */
.team-dentiste-card {
    position: relative;
    cursor: pointer;
}

/* Étendre le lien sur toute la carte */
.team-dentiste-card .team-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

/* Optionnel: cacher le texte "En savoir plus" */
.team-dentiste-card .team-link {
    /* Décommenter pour cacher le lien:
    position: absolute;
    opacity: 0;
    pointer-events: none;
    */
}

/* --- 7.5 Pages Dentistes --- */
.prostho-dentiste-page {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px 60px;
}

.prostho-dentiste-content {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 50px;
}

.prostho-dentiste-photo {
    flex: 0 0 300px;
}

.prostho-dentiste-photo img {
    width: 300px;
    border-radius: 10px;
    box-shadow: var(--ombre-moyenne);
}

.prostho-dentiste-bio {
    flex: 1;
}

.prostho-dentiste-bio h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--gris-bordure);
}

.prostho-dentiste-bio h3:not(:first-child) {
    margin-top: 25px;
}

.prostho-dentiste-bio p {
    color: var(--gris-fonce);
    font-size: var(--taille-petite);
    line-height: 1.7;
    margin: 0 0 12px 0;
}

.prostho-dentiste-bio a {
    color: var(--couleur-secondaire);
    text-decoration: none;
}

.prostho-dentiste-bio a:hover {
    color: var(--couleur-primaire);
    text-decoration: underline;
}

.prostho-dentiste-associations {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--gris-bordure);
}

.prostho-dentiste-associations h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 25px 0;
    text-align: center;
}


/* --- 7.6 Associations Professionnelles --- */
.prostho-associations-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 60px;
    margin: 40px auto 50px;
    max-width: 1000px;
}

.association-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 80px;
}

.association-item img {
    height: 70px;
    width: auto;
    object-fit: contain;
    transition: transform var(--transition-normale);
}

.association-item:hover img {
    transform: scale(1.05);
}

.prostho-associations-small {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    max-width: 800px;
    margin: 0 auto;
}

.prostho-associations-small .association-item {
    width: auto;
    height: 60px;
    flex: 0 0 auto;
}

.prostho-associations-small .association-item img {
    height: 55px;
    width: auto;
}


/* --- 7.7 Galerie Photos --- */
.prostho-clinic-gallery {
    padding: 0 0 60px;
}

.prostho-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.prostho-gallery-item {
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
    transition: all var(--transition-normale);
}

.prostho-gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
}

.prostho-gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-normale);
}

.prostho-gallery-item:hover img {
    transform: scale(1.05);
}


/* ============================================
   8. FOOTER
   ============================================ */

/* ========================================
   BLOC CONTACT FOOTER (pages intérieures)
   ======================================== */

.prostho-contact-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 50px 60px;
    background: #FFFFFF;
    border: 1px solid var(--gris-bordure);
    gap: 100px;
    border-radius: 8px;
    margin-left: 0;
    margin-right: auto;
}

/* Logo */
.prostho-contact-bar .prostho-logo {
    flex: 0 0 auto;
}

.prostho-contact-bar .prostho-logo img:first-child {
    width: 300px !important;
    height: auto !important;
    margin-top: -25px;
}

/* Photo sous le logo */
.prostho-contact-bar .prostho-photo {
    margin-top: 40px;
}

.prostho-contact-bar .prostho-photo img {
    width: 280px !important;
    height: 220px !important;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(27, 54, 93, 0.15);
}

/* Bloc infos à droite */
.prostho-contact-bar .prostho-infos {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Titre au-dessus des coordonnées */
.prostho-contact-bar .prostho-title {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: #1B365D;
    margin: 0 0 15px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #D0D3D4;
    letter-spacing: 0.5px;
}

/* Items de contact */
.prostho-contact-bar .prostho-item {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #1B365D;
    text-decoration: none;
    font-size: var(--taille-petite);
    padding: 6px 0;
    transition: color 0.2s ease;
}

.prostho-contact-bar .prostho-item:hover {
    color: #4A7BB5;
}

/* Icônes */
.prostho-contact-bar .prostho-item svg {
    width: 22px !important;
    height: 22px !important;
    stroke: #4A7BB5;
    flex-shrink: 0;
}

.prostho-contact-bar .prostho-item:hover svg {
    stroke: #1B365D;
}

/* Texte des items */
.prostho-contact-bar .prostho-item span {
    font-weight: 400;
}

/* Séparateur avant Facebook */
.prostho-contact-bar .prostho-item[href*="facebook"] {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #D0D3D4;
}


/* ========================================
   FOOTER COMPLET - PAGES INTÉRIEURES
   ======================================== */

.prostho-footer-complet {
    background: #F8F9FA;
    border-top: 1px solid #D0D3D4;
}

/* Section liens */
.prostho-footer-complet .footer-links-section {
    padding: 50px 40px 40px;
}

.prostho-footer-complet .footer-links-container {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.prostho-footer-complet .footer-column h4 {
    color: #1B365D;
    font-size: var(--taille-petite);
    font-weight: 600;
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.prostho-footer-complet .footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.prostho-footer-complet .footer-column li {
    margin-bottom: 10px;
}

.prostho-footer-complet .footer-column a {
    color: #6C757D;
    text-decoration: none;
    font-size: var(--taille-petite);
    transition: color 0.2s ease;
}

.prostho-footer-complet .footer-column a:hover {
    color: #4A7BB5;
}

.prostho-footer-complet .footer-contact p {
    color: #6C757D;
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.prostho-footer-complet .footer-contact strong {
    color: #1B365D;
}

.prostho-footer-complet .footer-contact a {
    color: #6C757D;
    text-decoration: none;
    transition: color 0.2s ease;
}

.prostho-footer-complet .footer-contact a:hover {
    color: #4A7BB5;
}

.prostho-footer-complet .footer-hours {
    font-style: italic;
}

/* Logo central */
.prostho-footer-complet .footer-logo {
    text-align: center;
    padding: 30px 0;
    border-top: 1px solid #D0D3D4;
    background: #FFFFFF;
}

.prostho-footer-complet .footer-logo img {
    max-width: 300px !important;
    width: auto !important;
    height: auto !important;
    opacity: 0.8;
}

/* Section bottom */
.prostho-footer-complet .footer-bottom {
    background: #fff;
    padding: 25px 40px;
    text-align: center;
    border-top: 1px solid #D0D3D4;
}

.prostho-footer-complet .footer-bottom-container {
    max-width: 1160px;
    margin: 0 auto;
}

.prostho-footer-complet .footer-copyright {
    color: #1B365D;
    font-size: 13px;
    margin: 0 0 8px 0;
}

.prostho-footer-complet .footer-legal {
    margin: 0 0 8px 0;
}

.prostho-footer-complet .footer-legal a {
    color: #6C757D;
    text-decoration: none;
    font-size: 12px;
}

.prostho-footer-complet .footer-legal a:hover {
    color: #4A7BB5;
}

.prostho-footer-complet .footer-legal .separator {
    color: #D0D0D0;
    margin: 0 10px;
}

.prostho-footer-complet .footer-credit {
    color: #6C757D;
    font-size: 12px;
    margin: 0;
}

.prostho-footer-complet .footer-credit a {
    color: #4A7BB5;
    text-decoration: none;
}

.prostho-footer-complet .footer-credit a:hover {
    color: #1B365D;
}


/* ========================================
   FOOTER SIMPLE
   ======================================== */

.prostho-footer-simple {
    background: #F8F9FA;
    padding: 30px 40px 40px;
    text-align: center;
    border-top: 1px solid #D0D3D4;
}

.prostho-footer-simple .footer-content {
    max-width: 1160px;
    margin: 0 auto;
}

/* Logo */
.prostho-footer-simple .footer-logo {
    margin-bottom: 20px;
}

.prostho-footer-simple .footer-logo img {
    max-width: 150px;
    height: auto;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.prostho-footer-simple .footer-logo img:hover {
    opacity: 1;
}

/* Copyright */
.prostho-footer-simple .footer-copyright {
    color: #1B365D;
    font-size: 13px;
    margin: 0 0 8px 0;
}

/* Liens légaux */
.prostho-footer-simple .footer-legal {
    margin: 0 0 8px 0;
}

.prostho-footer-simple .footer-legal a {
    color: #6C757D;
    text-decoration: none;
    font-size: 12px;
    transition: color 0.2s ease;
}

.prostho-footer-simple .footer-legal a:hover {
    color: #4A7BB5;
}

.prostho-footer-simple .footer-legal .separator {
    color: #D0D0D0;
    margin: 0 10px;
}

/* Crédit Martin Chénier */
.prostho-footer-simple .footer-credit {
    color: #6C757D;
    font-size: 12px;
    margin: 0;
}

.prostho-footer-simple .footer-credit a {
    color: #4A7BB5;
    text-decoration: none;
    transition: color 0.2s ease;
}

.prostho-footer-simple .footer-credit a:hover {
    color: #1B365D;
}


/* ============================================
   9. UTILITAIRES
   ============================================ */

/* Égaliser hauteur cartes */
.team-card,
.module-image-box {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

/* Titre de catégorie FAQ */
.faq-category-title {
    color: var(--couleur-primaire);
    font-size: var(--taille-h3);
    font-weight: 600;
    margin: 50px 0 25px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gris-bordure);
}

.faq-category-title:first-of-type {
    margin-top: 0;
}


/* ============================================
   10. RESPONSIVE
   ============================================ */

/* --- Tablette (max 900px) --- */
@media (max-width: 900px) {
    :root {
        --taille-h1: 2.5rem;
        --taille-h2: 1.8rem;
        --espacement-section: 50px;
    }
    
    /* Intro prosthodontiste */
    .prostho-intro-section {
        flex-direction: column;
        gap: 30px;
    }
    
    .prostho-intro-image {
        flex: none;
        width: 100%;
        max-width: 500px;
    }
    
    /* Spécialités */
    .prostho-specialites-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    a.prostho-specialite-card:nth-child(2n) {
        border-right: none;
    }
    
    a.prostho-specialite-card:nth-child(3n) {
        border-right: 1px solid var(--gris-bordure);
    }
    
    a.prostho-specialite-card:nth-child(5),
    a.prostho-specialite-card:nth-child(6) {
        border-bottom: none;
    }
    
    /* Équipe accueil */
    .prostho-equipe-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .prostho-equipe-card:last-child {
        grid-column: 1 / -1;
        max-width: 350px;
        margin: 0 auto;
    }
    
    /* Mosaïque clinique */
    .clinique-mosaic {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 280px 200px 200px;
        gap: 12px;
    }
    
    .mosaic-large {
        grid-column: span 2;
        grid-row: span 1;
    }
    
    .mosaic-small-1 { grid-column: 1; grid-row: 2; }
    .mosaic-small-2 { grid-column: 2; grid-row: 2; }
    .mosaic-small-3 { grid-column: 1; grid-row: 3; }
    .mosaic-medium { grid-column: 2; grid-row: 3; }
    
    .mosaic-label {
        opacity: 1;
        padding: 15px;
        font-size: 0.85rem;
    }
    
    /* Services index */
    .services-grid-2x3 {
        gap: 25px;
    }
    
    .service-section {
        padding: 30px 35px;
    }
    
    /* Team page */
    .prostho-team-dentistes-3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .prostho-team-staff {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    /* Contact bar (footer) */
    .prostho-contact-bar {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 40px 30px;
        gap: 30px;
    }
    
    .prostho-contact-bar .prostho-logo img:first-child {
        width: 250px !important;
        margin-top: 0;
    }
    
    .prostho-contact-bar .prostho-photo {
        margin-top: 25px;
    }
    
    .prostho-contact-bar .prostho-photo img {
        width: 250px !important;
        height: 200px !important;
    }
    
    .prostho-contact-bar .prostho-title {
        text-align: center;
    }
    
    .prostho-contact-bar .prostho-item {
        justify-content: center;
    }
    
    /* Contact accueil */
    .prostho-contact-accueil {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 40px 30px;
        gap: 30px;
    }
    
    .prostho-contact-accueil .prostho-logo img:first-child {
        width: 250px !important;
        margin-top: 0;
    }
    
    .prostho-contact-accueil .prostho-photo {
        margin-top: 25px;
    }
    
    .prostho-contact-accueil .prostho-photo img {
        width: 250px !important;
        height: 200px !important;
    }
    
    .prostho-contact-accueil .prostho-title {
        text-align: center;
    }
    
    .prostho-contact-accueil .prostho-item {
        justify-content: center;
    }
    
    /* Footer complet */
    .prostho-footer-complet .footer-links-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

/* --- Mobile (max 768px) --- */
@media (max-width: 768px) {
    :root {
        --taille-h1: 2.25rem;
        --taille-h2: 1.5rem;
        --taille-h3: 1.3rem;
        --espacement-section: 40px;
        --espacement-element: 20px;
    }
    
    /* Titres section */
    .prostho-section-title {
        font-size: 1.5rem;
        margin-bottom: 30px;
    }
    
    /* Titres page */
    .prostho-page-title {
        font-size: 2.25rem;
    }
    
    .prostho-page-subtitle {
        font-size: 1.1rem;
    }
    
    /* Spécialités */
    .prostho-specialites-grid {
        grid-template-columns: 1fr;
    }
    
    a.prostho-specialite-card {
        border-right: none !important;
    }
    
    a.prostho-specialite-card:last-child {
        border-bottom: none;
    }
    
    /* Équipe accueil */
    .prostho-equipe-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .prostho-equipe-card:last-child {
        max-width: none;
    }
    
    .prostho-equipe-card {
        padding: 20px;
    }
    
    /* Réalisations */
    .prostho-realisations-grid {
        grid-template-columns: 1fr;
    }
    
    .prostho-realisation-card img {
        height: 280px;
    }
    
    /* Mosaïque clinique */
    .clinique-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 220px 160px 160px;
        gap: 8px;
    }
    
    .mosaic-large {
        grid-column: span 2;
        grid-row: 1;
    }
    
    .mosaic-label {
        padding: 10px 12px;
        font-size: 0.75rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    /* FAQ */
    .module-accordion .accordion-title {
        padding: 18px 20px;
    }
    
    .module-accordion .accordion-title a,
    .module-accordion .accordion-title span {
        font-size: var(--taille-petite);
    }
    
    .module-accordion .accordion-content {
        padding: 0 20px 20px 20px;
        margin: 0 20px;
        font-size: var(--taille-petite);
    }
    
    .faq-category-title {
        font-size: 1.3rem;
        margin: 40px 0 20px 0;
    }
    
    /* Services index */
    .services-page-v2 {
        padding: 40px 15px 60px;
    }
    
    .services-header h1 {
        font-size: 36px;
    }
    
    .services-header p {
        font-size: 16px;
    }
    
    .services-grid-2x3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .service-section {
        padding: 28px 25px;
    }
    
    .section-header {
        gap: 15px;
        margin-bottom: 20px;
        padding-bottom: 18px;
    }
    
    .section-icon {
        width: 52px;
        height: 52px;
    }
    
    .section-icon svg {
        width: 26px;
        height: 26px;
    }
    
    .section-header h2 {
        font-size: 22px;
    }
    
    .section-content {
        padding-left: 0;
    }
    
    /* Service pages */
    .prostho-service-page {
        padding: 0 0 40px;
    }
    
    .prostho-service-intro-row {
        flex-direction: column;
        gap: 30px;
    }
    
    .prostho-service-intro-row .prostho-service-image {
        flex: none;
        max-width: 100%;
    }
    
    .prostho-service-intro p {
        font-size: var(--taille-corps);
    }
    
    .prostho-service-section h2 {
        font-size: 1.3rem;
    }
    
    .prostho-service-cta {
        padding: 30px 25px;
    }
    
    .prostho-service-cta h3 {
        font-size: 1.3rem;
    }
    
    .prostho-services-connexes {
        padding: 25px 20px;
    }
    
    .prostho-services-connexes ul {
        flex-direction: column;
    }
    
    .prostho-services-connexes a {
        display: block;
        text-align: center;
    }
    
    .prostho-service-image-solo {
        max-width: 100%;
    }
    
    /* Dentiste page */
    .prostho-dentiste-content {
        flex-direction: column;
        gap: 25px;
    }
    
    .prostho-dentiste-photo {
        flex: none;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }
    
    .prostho-dentiste-bio h3 {
        font-size: var(--taille-corps);
    }
    
    .prostho-associations-small {
        gap: 25px;
    }
    
    .prostho-associations-small .association-item img {
        height: 45px;
    }
    
    /* Associations */
    .prostho-associations-grid {
        gap: 30px 40px;
    }
    
    .association-item {
        width: 220px;
        height: 70px;
    }
    
    .association-item img {
        height: 55px;
    }
    
    /* Galerie */
    .prostho-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .prostho-gallery-item img {
        height: 180px;
    }
    
    /* Footer simple responsive */
    .prostho-footer-simple {
        padding: 25px 20px 35px;
    }
    
    .prostho-footer-simple .footer-logo img {
        max-width: 120px;
    }
    
    .prostho-footer-simple .footer-legal a {
        display: block;
        margin: 5px 0;
    }
    
    .prostho-footer-simple .footer-legal .separator {
        display: none;
    }
    
    /* Footer complet responsive */
    .prostho-footer-complet .footer-links-container {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    
    .prostho-footer-complet .footer-links-section {
        padding: 40px 20px 30px;
    }
    
    .prostho-footer-complet .footer-bottom {
        padding: 20px;
    }
    
    .prostho-footer-complet .footer-legal .separator {
        display: none;
    }
    
    .prostho-footer-complet .footer-legal a {
        display: block;
        margin: 5px 0;
    }
}

/* --- Petit mobile (max 480px) --- */
@media (max-width: 480px) {
    /* Section header services */
    .section-header {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .section-title {
        align-items: center;
    }
    
    /* Team staff */
    .prostho-team-staff {
        grid-template-columns: 1fr;
    }
    
    /* Associations */
    .association-item {
        width: 100%;
        max-width: 250px;
        height: 60px;
    }
    
    .association-item img {
        height: 50px;
    }
    
    /* Galerie */
    .prostho-gallery-grid {
        grid-template-columns: 1fr;
    }
    
    .prostho-gallery-item img {
        height: 220px;
    }
}


/* ============================================
   PAGE ENTRETIEN ET ADAPTATION
   ============================================ */

/* Container section */
.prostho-entretien-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: 0 20px 60px;
}

/* Grille 3 colonnes pour les cartes (2+3 layout) */
.prostho-entretien-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* Carte cliquable */
a.prostho-entretien-card {
    display: block;
    padding: 35px 30px;
    background: var(--couleur-blanc);
    border: 1px solid var(--gris-bordure);
    border-radius: var(--radius-grand);
    text-decoration: none;
    transition: all var(--transition-normale);
    box-shadow: var(--ombre-legere);
}

a.prostho-entretien-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
    border-color: var(--couleur-secondaire);
}

/* Icône cercle */
.prostho-entretien-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: var(--ombre-moyenne);
}

.prostho-entretien-icon svg {
    width: 40px;
    height: 40px;
}

/* Titre carte */
a.prostho-entretien-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
    line-height: 1.3;
    transition: color var(--transition-rapide);
}

a.prostho-entretien-card:hover h3 {
    color: var(--couleur-secondaire);
}

/* Description carte */
a.prostho-entretien-card p {
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

/* Lien "En savoir plus" */
.prostho-entretien-link {
    color: var(--couleur-secondaire);
    font-size: var(--taille-tres-petite);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color var(--transition-rapide);
}

.prostho-entretien-link span {
    transition: transform var(--transition-rapide);
}

a.prostho-entretien-card:hover .prostho-entretien-link {
    color: var(--couleur-primaire);
}

a.prostho-entretien-card:hover .prostho-entretien-link span {
    transform: translateX(3px);
}

/* Section info */
.prostho-entretien-info {
    max-width: var(--largeur-etroite);
    margin: 0 auto;
    padding: 0 20px 40px;
}


/* ============================================
   RESPONSIVE - PAGE ENTRETIEN
   ============================================ */

@media (max-width: 900px) {
    .prostho-entretien-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Centrer la 5e carte seule */
    a.prostho-entretien-card:last-child {
        grid-column: 1 / -1;
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .prostho-entretien-grid {
        grid-template-columns: 1fr;
    }
    
    a.prostho-entretien-card {
        padding: 28px 25px;
    }
    
    a.prostho-entretien-card:last-child {
        max-width: none;
    }
    
    .prostho-entretien-icon {
        width: 70px;
        height: 70px;
    }
    
    .prostho-entretien-icon svg {
        width: 35px;
        height: 35px;
    }
}



/* ================================================
   PAGE CONTACTEZ-NOUS 
   ================================================ */

/* === HEADER === */
.prostho-contact-header {
    text-align: center;
    padding: 50px 20px 40px;
}

.prostho-contact-header h1 {
    font-family: var(--font-titre);
    font-size: var(--taille-h1);
    font-weight: 600;
    color: #1B365D;
    margin-bottom: 10px;
}

.prostho-contact-header p {
    font-size: var(--taille-corps);
    color: #6C757D;
    max-width: 600px;
    margin: 0 auto;
}

/* === GRILLE PRINCIPALE === */
.prostho-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 60px;
}

@media (max-width: 900px) {
    .prostho-contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* === COLONNE INFO === */
.prostho-contact-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.prostho-info-card {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 0;
    padding: 0;
    min-height: 70px;
}

/* === ICONES - Toutes meme taille === */
.prostho-info-icon,
.prostho-info-icon-small {
    width: 50px;
    height: 50px;
    min-width: 50px;
    background: #1B365D;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prostho-info-icon svg,
.prostho-info-icon-small svg {
    width: 22px;
    height: 22px;
    stroke: #FFFFFF;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* === CONTENU INFO === */
.prostho-info-content h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 0 0 5px 0;
}

.prostho-info-content p {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.6;
    margin: 0;
}

.prostho-info-content a {
    color: #4A7BB5;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.prostho-info-content a:hover {
    color: #1B365D;
    text-decoration: underline;
}

/* Telephone - meme taille que le reste */
.prostho-phone {
    font-size: 1rem !important;
    font-weight: 500;
}

/* === HORAIRES === */
.prostho-horaires {
    margin-top: 5px;
    padding-top: 15px;
    border-top: 2px solid #D0D3D4;
}

.prostho-horaires-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
}

.prostho-horaires-header h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 0;
}

.prostho-horaires-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 350px;
    margin-left: 70px;
}

.prostho-horaires-list li {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #D0D3D4;
    color: #6C757D;
    font-size: var(--taille-petite);
}

.prostho-horaires-list li:last-child {
    border-bottom: none;
}

.prostho-jour {
    font-weight: 500;
    color: #1B365D;
}

.prostho-ferme {
    color: #dc3545;
}

/* === FORMULAIRE === */
.prostho-contact-form {
    background: #F8F9FA;
    border-radius: 12px;
    padding: 35px 40px;
    border: 1px solid #D0D3D4;
    box-shadow: 0 8px 30px rgba(27, 54, 93, 0.12);
}

@media (max-width: 600px) {
    .prostho-contact-form {
        padding: 25px 20px;
    }
}

.prostho-contact-form h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: #1B365D;
    margin: 0 0 25px 0;
}

/* === STYLES FLUENT FORMS === */
.prostho-contact-form .ff-el-group {
    margin-bottom: 18px;
}

.prostho-contact-form .ff-el-input--label label {
    font-weight: 500;
    color: #1B365D;
    margin-bottom: 6px;
    font-size: var(--taille-petite);
}

.prostho-contact-form .ff-el-form-control {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #D0D3D4;
    border-radius: 6px;
    font-size: var(--taille-corps);
    color: #1B365D;
    background: #FFFFFF;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.prostho-contact-form .ff-el-form-control:focus {
    outline: none;
    border-color: #4A7BB5;
    box-shadow: 0 0 0 3px rgba(74, 123, 181, 0.12);
}

.prostho-contact-form textarea.ff-el-form-control {
    min-height: 120px;
    resize: vertical;
}

.prostho-contact-form .ff-btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #4A7BB5;
    color: #FFFFFF;
    border: none;
    padding: 14px 35px;
    font-size: var(--taille-corps);
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    margin-top: 10px;
}

.prostho-contact-form .ff-btn-submit:hover {
    background: #1B365D;
    transform: translateY(-1px);
}

.prostho-contact-form .ff-el-input--label .asterisk-right {
    color: #dc3545;
}

/* === CARTE GOOGLE MAPS === */
.prostho-map-section {
    padding: 0 20px 60px;
}

.prostho-map-container {
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(27, 54, 93, 0.08);
}

.prostho-map-container iframe {
    width: 100%;
    height: 350px;
    border: none;
    display: block;
}

/* === SECTION REFERENTS === */
.prostho-referent-section {
    background: #F8F9FA;
    padding: 50px 20px;
    text-align: center;
}

.prostho-referent-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    color: #1B365D;
    margin: 0 0 10px 0;
}

.prostho-referent-section p {
    color: #6C757D;
    margin: 0 auto 25px;
    max-width: 550px;
}

.prostho-referent-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.prostho-btn-referent {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 25px;
    border-radius: 6px;
    font-weight: 600;
    font-size: var(--taille-petite);
    text-decoration: none;
    transition: all 0.3s;
    background: #4A7BB5;
    color: #FFFFFF;
}

.prostho-btn-referent:hover {
    background: #1B365D;
    color: #FFFFFF;
    transform: translateY(-1px);
}

.prostho-btn-referent svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
}

.prostho-btn-referent.prostho-btn-outline {
    background: transparent;
    color: #4A7BB5;
    border: 2px solid #4A7BB5;
}

.prostho-btn-referent.prostho-btn-outline:hover {
    background: #4A7BB5;
    color: #FFFFFF;
}



/* ================================================
   PAGE POLITIQUE DE CONFIDENTIALITE
   ================================================ */

/* === HEADER === */
.prostho-politique-header {
    text-align: center;
    padding: 50px 20px 30px;
}

.prostho-politique-header h1 {
    font-family: var(--font-titre);
    font-size: var(--taille-h1);
    font-weight: 600;
    color: #1B365D;
    margin-bottom: 10px;
}

.prostho-politique-header p {
    font-size: var(--taille-corps);
    color: #6C757D;
}

/* === INTRO === */
.prostho-politique-intro {
    max-width: 800px;
    margin: 0 auto 40px;
    padding: 0 20px;
    text-align: center;
}

.prostho-politique-intro p {
    font-size: var(--taille-corps);
    color: #6C757D;
    line-height: 1.7;
}

/* === RESPONSABLE CARD === */
.prostho-responsable-card {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    max-width: 800px;
    margin: 0 auto 50px;
    padding: 30px;
    background: #F8F9FA;
    border-radius: 12px;
    border-left: 4px solid #1B365D;
}

@media (max-width: 600px) {
    .prostho-responsable-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

.prostho-responsable-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    background: #1B365D;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prostho-responsable-icon svg {
    width: 28px;
    height: 28px;
    stroke: #FFFFFF;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.prostho-responsable-content h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 0 0 10px 0;
}

.prostho-responsable-content p {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.6;
    margin: 0 0 5px 0;
}

.prostho-responsable-content a {
    color: #4A7BB5;
    text-decoration: none;
}

.prostho-responsable-content a:hover {
    color: #1B365D;
    text-decoration: underline;
}

/* === SECTIONS === */
.prostho-politique-sections {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.prostho-politique-section {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #D0D3D4;
}

.prostho-politique-section:last-child {
    border-bottom: none;
}

.prostho-politique-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: #1B365D;
    margin: 0 0 20px 0;
}

.prostho-politique-section h3 {
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 25px 0 10px 0;
}

.prostho-politique-section p {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.prostho-politique-section ul {
    margin: 0 0 15px 0;
    padding-left: 25px;
}

.prostho-politique-section li {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.8;
    margin-bottom: 5px;
}

.prostho-politique-section a {
    color: #4A7BB5;
    text-decoration: none;
}

.prostho-politique-section a:hover {
    color: #1B365D;
    text-decoration: underline;
}

/* === CONTACT FOOTER === */
.prostho-politique-contact {
    max-width: 800px;
    margin: 50px auto;
    padding: 40px;
    background: #1B365D;
    border-radius: 12px;
    text-align: center;
}

.prostho-politique-contact h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: #FFFFFF;
    margin: 0 0 10px 0;
}

.prostho-politique-contact > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--taille-corps);
    margin: 0 0 25px 0;
}

.prostho-politique-contact-info {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 20px;
    display: inline-block;
}

.prostho-politique-contact-info p {
    color: #FFFFFF;
    margin: 0;
    line-height: 1.8;
}

.prostho-politique-contact-info a {
    color: #FFFFFF;
    text-decoration: underline;
}

.prostho-politique-contact-info a:hover {
    color: rgba(255, 255, 255, 0.8);
}





/* === EN-TÊTE QUESTIONNAIRE MÉDICAL === */
.qm-header {
    max-width: 100%;
    margin: 0 0 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid #D0D3D4;
}

.qm-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

.qm-text {
    flex: 1;
    text-align: left;
}

.qm-title {
    color: #1B365D;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.qm-intro {
    color: #333;
    font-size: var(--taille-petite);
    line-height: 1.7;
    text-align: left;
}

.qm-logos {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
    flex-shrink: 0;
}

.qm-logos img {
    width: 180px;
    height: auto;
}

@media (max-width: 768px) {
    .qm-header-content {
        flex-direction: column-reverse;
        text-align: center;
    }
    
    .qm-text {
        text-align: center;
    }
    
    .qm-intro {
        text-align: center;
    }
    
    .qm-logos {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    
    .qm-logos img {
        height: 45px;
    }
}

/* === QUESTIONNAIRE MÉDICAL - FLUENT FORMS === */

/* Container - PLEINE LARGEUR */
.fluentform {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto;
}

/* Police Cabin partout dans le formulaire */
.fluentform,
.fluentform *,
.fluentform label,
.fluentform input,
.fluentform textarea,
.fluentform select,
.fluentform .ff-el-form-check-label {
    font-family: 'Cabin', var(--font-corps), sans-serif !important;
}

/* Titres de sections */
.fluentform .ff-el-section-break h3 {
    color: #1B365D !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    border-left: 4px solid #4A7BB5 !important;
    padding: 12px 15px !important;
    margin: 25px 0 15px !important;
    background: #F0F7FF !important;
    border-radius: 0 6px 6px 0 !important;
}

/* Labels des questions - plus gros et lisibles */
.fluentform .ff-el-input--label label {
    color: #1B365D !important;
    font-weight: 600 !important;
    font-size: 1.15rem !important;
    margin-bottom: 6px !important;
}

/* Inputs */
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform input[type="date"],
.fluentform select,
.fluentform textarea {
    border: 2px solid #CFD8DC !important;
    border-radius: 8px !important;
    padding: 12px 15px !important;
    font-size: 1.05rem !important;
    background: #FFFFFF !important;
    transition: all 0.3s !important;
}

.fluentform input:focus,
.fluentform select:focus,
.fluentform textarea:focus {
    border-color: #4A7BB5 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(74, 123, 181, 0.15) !important;
}

/* Radio / Checkbox - CARTES CLIQUABLES */
.fluentform .ff-el-form-check {
    background: #FFFFFF !important;
    border: 2px solid #CFD8DC !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    margin-bottom: 8px !important;
    margin-right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 50px !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
}

.fluentform .ff-el-form-check label {
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fluentform .ff-el-form-check:hover {
    background: #E3F2FD !important;
    border-color: #4A7BB5 !important;
}

/* État sélectionné */
.fluentform .ff-el-form-check:has(input:checked) {
    background: #4A7BB5 !important;
    border-color: #1B365D !important;
}

.fluentform .ff-el-form-check:has(input:checked) label,
.fluentform .ff-el-form-check:has(input:checked) .ff-el-form-check-label {
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

/* Réponses radio/checkbox - en bleu et plus grosses */
.fluentform .ff-el-form-check-label {
    color: var(--couleur-secondaire, #4A7BB5) !important;
    font-weight: 500 !important;
    font-size: 1.1rem !important;
    cursor: pointer !important;
}

/* Radio/checkbox - alignement centré dans la carte */
.fluentform .ff-el-form-check input[type="radio"],
.fluentform .ff-el-form-check input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 10px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
    vertical-align: middle !important;
}

/* Sous-questions indentées (ajouter classe "sous-question" dans Fluent Forms) */
.fluentform .ff-el-group.sous-question,
.ff-el-group.sous-question {
    margin-left: 40px !important;
    padding-left: 15px !important;
    border-left: 3px solid var(--couleur-secondaire, #4A7BB5) !important;
}

/* Progress bar */
.fluentform .ff-step-header {
    margin-bottom: 25px !important;
}

.fluentform .ff-el-progress {
    height: 24px !important;
    background: #E0E0E0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
}

.fluentform .ff-el-progress-bar {
    background: #4A7BB5 !important;
    height: 24px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.75rem !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    line-height: 24px !important;
}

.fluentform .ff-step-titles {
    margin-top: 10px !important;
}

/* Cacher le texte "Step X of Y" non traduisible */
.fluentform .ff-step-titles .ff-step-title-progress {
    display: none !important;
}

/* Alternative : cacher tout texte contenant "Step" */
.fluentform .ff_step_start span,
.fluentform .ff-el-progress-status {
    display: none !important;
}

.fluentform .ff-step-title {
    font-size: 0.9rem !important;
    color: #6C757D !important;
}

.fluentform .ff-step-title.active {
    color: #1B365D !important;
    font-weight: 700 !important;
}

/* Boutons */
.fluentform .ff-btn-submit,
.fluentform .ff-btn-secondary,
.fluentform .ff-btn-next {
    background: #4A7BB5 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 30px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: #fff !important;
}

.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-secondary:hover,
.fluentform .ff-btn-next:hover {
    background: #1B365D !important;
}

.fluentform .ff-btn-prev {
    background: #78909C !important;
    padding: 14px 30px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    border-radius: 8px !important;
    color: #fff !important;
}

.fluentform .ff-btn-prev:hover {
    background: #546E7A !important;
}

/* Signature */
.fluentform .ff-signature-pad {
    border: 2px solid #CFD8DC !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
}

/* Espacement entre questions */
.fluentform .ff-el-group {
    margin-bottom: 20px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .fluentform .ff-btn-submit,
    .fluentform .ff-btn-secondary,
    .fluentform .ff-btn-next,
    .fluentform .ff-btn-prev {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    
    .fluentform .ff-el-form-check {
        display: flex !important;
        width: 100% !important;
    }
    
    /* Sous-questions - moins d'indentation sur mobile */
    .fluentform .ff-el-group.sous-question,
    .ff-el-group.sous-question {
        margin-left: 20px !important;
        padding-left: 10px !important;
    }
}





/* ============================================
   MENU MOBILE - REFONTE SEXY v4.5
   ============================================ */

/* Reset des anciens styles problématiques */
.prostho-mobile-menu .sub-menu,
.prostho-mobile-menu .sub-menu .sub-menu,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    border-left: none;
    margin-left: 0;
}

/* === LIENS NIVEAU 0 (Accueil, Services, etc.) === */
.prostho-mobile-menu > ul > li > a {
    padding: 18px 24px;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--couleur-primaire);
    border-bottom: 1px solid var(--gris-bordure);
    background: #FFFFFF;
    transition: all 0.2s ease;
}

.prostho-mobile-menu > ul > li > a:hover,
.prostho-mobile-menu > ul > li > a.current {
    background: linear-gradient(90deg, #F0F7FF 0%, #FFFFFF 100%);
    color: var(--couleur-secondaire);
    padding-left: 28px;
}

/* === CATÉGORIES NIVEAU 1 (IMPLANTOLOGIE, PROTHÈSES CONVENTIONNELLES) === */
.prostho-mobile-menu .sub-menu > li > span.cat-title,
.prostho-mobile-menu .cat-title-laclinique {
    display: block;
    padding: 14px 24px;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    background: linear-gradient(135deg, var(--couleur-primaire) 0%, #2A4A7A 100%);
    border: none;
    margin-top: 0;
}

/* === SOUS-CATÉGORIES NIVEAU 2 (PROTHÈSES FIXES SUR IMPLANT) === */
.prostho-mobile-menu .sub-menu .sub-menu > li > span.cat-title {
    padding: 12px 24px 10px 32px;
    color: var(--couleur-secondaire);
    font-weight: 600;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: #E8EDF2;
    border-bottom: 1px solid #D0D8E0;
}

/* === LIENS NIVEAU 1 === */
.prostho-mobile-menu .sub-menu > li > a {
    padding: 14px 24px 14px 32px;
    color: var(--couleur-primaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    border-bottom: 1px solid #E8EDF2;
    background: #F8FAFC;
    transition: all 0.2s ease;
}

.prostho-mobile-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu > li > a.current {
    background: #EDF2F7;
    color: var(--couleur-secondaire);
    padding-left: 36px;
}

/* === LIENS NIVEAU 2 === */
.prostho-mobile-menu .sub-menu .sub-menu > li > a {
    padding: 12px 24px 12px 44px;
    font-size: var(--taille-petite);
    font-weight: 400;
    color: #4A5568;
    background: #FFFFFF;
    border-bottom: 1px solid #F0F0F0;
}

.prostho-mobile-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu > li > a.current {
    background: #F7FAFC;
    color: var(--couleur-secondaire);
    padding-left: 48px;
}

/* === LIENS NIVEAU 3 === */
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a {
    padding: 11px 24px 11px 56px;
    font-size: var(--taille-tres-petite);
    color: #718096;
    background: #FAFBFC;
    border-bottom: 1px solid #F5F5F5;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a.current {
    background: #F0F4F8;
    color: var(--couleur-secondaire);
}

/* === SUB-MENU BACKGROUNDS === */
.prostho-mobile-menu .sub-menu {
    background: #F8FAFC;
}

.prostho-mobile-menu .sub-menu .sub-menu {
    background: #FFFFFF;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    background: #FAFBFC;
}

/* === HEADER MOBILE AMÉLIORÉ === */
.prostho-mobile-header {
    padding: 18px 24px;
    border-bottom: 3px solid var(--couleur-secondaire);
    background: #FFFFFF;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.prostho-mobile-close {
    width: 48px;
    height: 48px;
    background: var(--gris-fond);
    border-radius: 12px;
    font-size: 24px;
    color: var(--couleur-primaire);
}

.prostho-mobile-close:hover {
    background: var(--couleur-secondaire);
    color: #FFFFFF;
}


/* ============================================
   MENUS MOBILE - UNIFORMISATION COMPLÈTE v4.7
   ============================================ */

/* === TAILLES DE POLICE UNIFORMES === */
:root {
    --mobile-menu-titre: 1rem;
    --mobile-menu-categorie: 0.7rem;
    --mobile-menu-lien: 0.9rem;
    --mobile-menu-sous-lien: 0.85rem;
}

/* === MENU PRINCIPAL MOBILE === */

/* Niveau 0 - Accueil, Services */
.prostho-mobile-menu > ul > li > a {
    padding: 16px 24px !important;
    font-size: var(--mobile-menu-titre) !important;
    font-weight: 600 !important;
    color: var(--couleur-primaire) !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* Catégories niveau 1 - IMPLANTOLOGIE, PROTHÈSES CONVENTIONNELLES */
.prostho-mobile-menu .sub-menu > li > span.cat-title,
.prostho-mobile-menu .cat-title-laclinique {
    padding: 12px 24px !important;
    font-size: var(--mobile-menu-categorie) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: #FFFFFF !important;
    background: var(--couleur-primaire) !important;
    text-transform: uppercase !important;
    border: none !important;
    margin: 0 !important;
}

/* Sous-catégories niveau 2 - PROTHÈSES FIXES SUR IMPLANT */
.prostho-mobile-menu .sub-menu .sub-menu > li > span.cat-title {
    padding: 10px 24px 10px 28px !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    color: var(--couleur-secondaire) !important;
    background: #EDF2F7 !important;
    text-transform: uppercase !important;
}

/* Liens niveau 1 */
.prostho-mobile-menu .sub-menu > li > a {
    padding: 14px 24px 14px 28px !important;
    font-size: var(--mobile-menu-lien) !important;
    font-weight: 500 !important;
    color: var(--couleur-primaire) !important;
    background: #F8FAFC !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* Liens niveau 2 */
.prostho-mobile-menu .sub-menu .sub-menu > li > a {
    padding: 12px 24px 12px 36px !important;
    font-size: var(--mobile-menu-sous-lien) !important;
    font-weight: 400 !important;
    color: #4A5568 !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #EDF2F7 !important;
}

/* Liens niveau 3 */
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a {
    padding: 12px 24px 12px 44px !important;
    font-size: var(--mobile-menu-sous-lien) !important;
    font-weight: 400 !important;
    color: #718096 !important;
    background: #FAFBFC !important;
    border-bottom: 1px solid #F0F0F0 !important;
}

/* Hover states */
.prostho-mobile-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a:hover {
    background: #EDF2F7 !important;
    color: var(--couleur-secondaire) !important;
}

/* === MENU PATIENT MOBILE - MÊME STYLE === */

.patient-dropdown-header {
    padding: 14px 24px !important;
    background: var(--couleur-primaire) !important;
}

.patient-dropdown-header span {
    font-size: var(--mobile-menu-categorie) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.patient-dropdown-mobile ul li a {
    padding: 14px 24px !important;
    font-size: var(--mobile-menu-lien) !important;
    font-weight: 500 !important;
    color: var(--couleur-primaire) !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.patient-dropdown-mobile ul li a:hover {
    background: #EDF2F7 !important;
    color: var(--couleur-secondaire) !important;
}

.patient-dropdown-subtitle {
    padding: 10px 24px !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    color: var(--couleur-secondaire) !important;
    background: #EDF2F7 !important;
    text-transform: uppercase !important;
    border-top: none !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* Liens sous "Entretien et adaptation" */
.patient-dropdown-subtitle + ul li a {
    padding: 12px 24px 12px 32px !important;
    font-size: var(--mobile-menu-sous-lien) !important;
    font-weight: 400 !important;
    color: #4A5568 !important;
}

/* === BACKGROUNDS UNIFORMES === */
.prostho-mobile-menu .sub-menu {
    background: #F8FAFC !important;
    border-left: none !important;
}

.prostho-mobile-menu .sub-menu .sub-menu {
    background: #FFFFFF !important;
    border-left: none !important;
    margin-left: 0 !important;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    background: #FAFBFC !important;
    border-left: none !important;
    margin-left: 0 !important;
}/*
Theme Name: M Cabinet
Description: A child theme of Themify Ultra
Template: themify-ultra
Author: Martin Chénier (info@martinchenier.com)
Version: 4.8 - Fluent Forms amélioré
*/

/* === IMPORT GOOGLE FONT CABIN === */
@import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

/* ============================================
   TABLE DES MATIÈRES
   ============================================
   1. VARIABLES GLOBALES
   2. RESET & BASE
   3. TYPOGRAPHIE
   4. LIENS & BOUTONS
   5. HEADER & NAVIGATION
   6. PAGE D'ACCUEIL
      6.1 Hero
      6.2 Section Prosthodontiste
      6.3 Nos Spécialités (cartes cliquables)
      6.4 Notre Équipe
      6.5 Réalisations (Avant/Après)
      6.6 La Clinique (Mosaïque)
      6.7 FAQ Accordéon
      6.8 Formulaire Contact
      6.9 Bloc Contact Accueil
   7. PAGES INTÉRIEURES
      7.1 Titres de page
      7.2 Page Services (index)
      7.3 Pages Services (individuelles)
      7.4 Page Notre Équipe
      7.5 Pages Dentistes
      7.6 Associations Professionnelles
      7.7 Galerie Photos
   8. FOOTER
   9. UTILITAIRES
   10. RESPONSIVE
   ============================================ */


/* ============================================
   1. VARIABLES GLOBALES
   ============================================ */

:root {
/* === COULEURS PRINCIPALES === */
--couleur-primaire: #1B365D;      /* Pantone 534 C */
--couleur-secondaire: #4A7BB5;    /* Garde le même pour les boutons */
--couleur-blanc: #FFFFFF;

/* === PALETTE BLEUS (dégradé pour icônes) === */
--bleu-1: #1B365D;    /* Pantone 534 C - base */
--bleu-2: #274270;
--bleu-3: #334E83;
--bleu-4: #3F5A96;
--bleu-5: #4A7BB5;    /* = couleur secondaire */
--bleu-6: #5B8BC8;

/* === COULEURS NEUTRES === */
--gris-fond: #F8F9FA;
--gris-texte: #6C757D;
--gris-bordure: #D0D3D4;          /* Pantone 427 C */
--gris-fonce: #333333;

    

	--font-titre: 'Cabin', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-corps: 'Cabin', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;




    /* === TAILLES TEXTE === */
    --taille-h1: 3rem;
    --taille-h2: 2.2rem;
    --taille-h3: 1.5rem;
    --taille-h4: 1.25rem;
    --taille-corps: 1rem;
    --taille-petite: 0.95rem;
    --taille-tres-petite: 0.85rem;
    
    /* === ESPACEMENTS === */
    --espacement-section: 60px;
    --espacement-element: 30px;
    --espacement-petit: 15px;
    
    /* === BORDURES & OMBRES === */
    --radius-petit: 8px;
    --radius-moyen: 12px;
    --radius-grand: 16px;
    --radius-rond: 50px;
    --ombre-legere: 0 2px 8px rgba(27, 54, 93, 0.06);
    --ombre-moyenne: 0 4px 15px rgba(27, 54, 93, 0.1);
    --ombre-forte: 0 8px 30px rgba(27, 54, 93, 0.15);
    
    /* === TRANSITIONS === */
    --transition-rapide: 0.2s ease;
    --transition-normale: 0.3s ease;
    --transition-lente: 0.5s ease;
    
    /* === LARGEURS CONTENEURS === */
    --largeur-max: 1200px;
    --largeur-moyenne: 1100px;
    --largeur-etroite: 900px;
}


/* Fix lazy loading pour photos équipe accueil */
.prostho-equipe-photo img[data-tf-src] {
    content: url("/wp-content/uploads/2026/01/DrValeriePetitjean-1.webp") !important;
}

/* Fix lazy loading Themify pour SVG */
.team-staff-photo img[data-tf-src] {
    content: url("/wp-content/uploads/2026/01/staff-temp.svg") !important;
}


/* === WORDPRESS GUTENBERG BLOCKS === */
.wp-block-heading,
.wp-block-list,
.wp-block-paragraph,
.wp-block-separator,
.entry-content h3,
.entry-content p,
.entry-content ul,
.entry-content li {
    font-family: var(--font-corps);
}

.entry-content h3,
.wp-block-heading {
    font-family: var(--font-titre);
    color: var(--couleur-primaire);
}


@media (max-width: 768px) {
    /* Fond semi-transparent derrière tout le contenu */
    .prostho-hero-home .module_row {
        background: rgba(255, 255, 255, 0.85) !important;
        border-radius: 12px;
        margin: 15px !important;
        padding: 25px !important;
    }
    
    .prostho-hero-home h1,
    .prostho-hero-home .tb_text_wrap h1 {
        font-size: 1.7rem;
        margin-bottom: 25px;
    }
    
    .prostho-hero-home .builder_button,
    .prostho-hero-home a.builder_button {
        padding: 14px 25px;
        font-size: 0.85rem;
    }
    
    /* Bouton transparent - fond blanc solide sur mobile */
    .prostho-hero-home a.builder_button.transparent {
        background: var(--couleur-blanc) !important;
        border: 2px solid var(--couleur-primaire) !important;
        color: var(--couleur-primaire) !important;
    }
}

@media (max-width: 480px) {
    .prostho-hero-home .module_row {
        margin: 10px !important;
        padding: 20px !important;
    }
    
    .prostho-hero-home h1,
    .prostho-hero-home .tb_text_wrap h1 {
        font-size: 1.5rem;
        margin-bottom: 20px;
        line-height: 1.25;
    }
    
    .prostho-hero-home .builder_button,
    .prostho-hero-home a.builder_button {
        padding: 12px 20px;
        font-size: 0.8rem;
    }
}



/* --- 6.2 Section Prosthodontiste --- */
.prostho-intro-section {
    display: flex;
    gap: 50px;
    align-items: center;
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.prostho-intro-image {
    flex: 0 0 45%;
}

.prostho-intro-image img {
    width: 100%;
    border-radius: var(--radius-moyen);
    box-shadow: var(--ombre-moyenne);
}

.prostho-intro-content {
    flex: 1;
}

.prostho-intro-content h2 {
    font-family: var(--font-titre);
    font-style: italic;
	font-weight: 400;
    font-size: var(--taille-h2);
    color: var(--couleur-primaire);
    margin-bottom: 20px;
}

.prostho-intro-content p {
    font-size: var(--taille-corps);
    line-height: 1.8;
    color: var(--gris-fonce);
    margin-bottom: 15px;
}


/* --- 6.3 Nos Spécialités (cartes cliquables) --- */
.prostho-specialites-section {
    background: var(--couleur-blanc);
    padding: var(--espacement-section) 20px;
}

.prostho-specialites-container {
    max-width: var(--largeur-max);
    margin: 0 auto;
}

.prostho-specialites-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid var(--gris-bordure);
    border-radius: var(--radius-moyen);
    overflow: hidden;
}

/* Carte cliquable (balise <a>) */
a.prostho-specialite-card {
    display: block;
    padding: 40px 30px;
    background: var(--couleur-blanc);
    border-right: 1px solid var(--gris-bordure);
    border-bottom: 1px solid var(--gris-bordure);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-normale);
}

a.prostho-specialite-card:nth-child(3n) {
    border-right: none;
}

a.prostho-specialite-card:nth-child(n+4) {
    border-bottom: none;
}

a.prostho-specialite-card:hover {
    background: var(--gris-fond);
    transform: translateY(-3px);
    box-shadow: var(--ombre-moyenne);
}

.prostho-specialite-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: var(--ombre-moyenne);
}
.prostho-specialite-icon svg {
    width: 50px;
    height: 50px;
}

a.prostho-specialite-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
    transition: color var(--transition-rapide);
}

a.prostho-specialite-card:hover h3 {
    color: var(--couleur-secondaire);
}

a.prostho-specialite-card p {
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.prostho-specialite-link {
    color: var(--couleur-secondaire);
    font-size: var(--taille-tres-petite);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color var(--transition-rapide);
}

.prostho-specialite-link span {
    font-size: 1.1em;
}

a.prostho-specialite-card:hover .prostho-specialite-link {
    color: var(--couleur-primaire);
}


/* --- 6.4 Notre Équipe (Accueil) --- */
.prostho-equipe-accueil {
    max-width: var(--largeur-moyenne);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.prostho-equipe-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--espacement-element);
    margin-bottom: 40px;
}

.prostho-equipe-card {
    background: var(--couleur-blanc);
    border-radius: var(--radius-grand);
    padding: 25px;
    box-shadow: var(--ombre-legere);
    transition: all var(--transition-normale);
    text-align: center;
}

.prostho-equipe-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
}

.prostho-equipe-photo {
    display: block;
    margin-bottom: 20px;
    border-radius: var(--radius-moyen);
    overflow: hidden;
}

.prostho-equipe-photo img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform var(--transition-normale);
}

.prostho-equipe-card:hover .prostho-equipe-photo img {
    transform: scale(1.03);
}

.prostho-equipe-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 5px 0;
}

.prostho-equipe-card h3 a {
    color: var(--couleur-primaire);
    text-decoration: none;
    transition: color var(--transition-rapide);
}

.prostho-equipe-card h3 a:hover {
    color: var(--couleur-secondaire);
}

.prostho-equipe-credentials {
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    margin: 0 0 5px 0;
}

.prostho-equipe-role {
    color: var(--couleur-secondaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    margin: 0;
}

.prostho-equipe-cta {
    text-align: center;
    margin-top: 20px;
}


.team-staff-card a {
    display: block;
    color: #4A7BB5;
    font-size: 0.75em;
    text-decoration: none;
    margin-top: 5px;
    white-space: nowrap;
}



/* --- 6.5 Réalisations (Avant/Après) --- */
.prostho-realisations-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.prostho-realisations-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--espacement-element);
    margin-bottom: var(--espacement-element);
}

.prostho-realisation-card {
    position: relative;
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
}

.prostho-realisation-card img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
}

.prostho-realisation-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(transparent, rgba(27, 54, 93, 0.85));
    color: var(--couleur-blanc);
    font-size: var(--taille-petite);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.prostho-realisations-description h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
}

.prostho-realisations-description p {
    color: var(--gris-fonce);
    font-size: var(--taille-corps);
    line-height: 1.7;
    margin: 0 0 25px 0;
}

.prostho-realisations-cta {
    text-align: center;
}


/* --- 6.6 La Clinique (Mosaïque) --- */
.prostho-clinique-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.clinique-mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 220px 220px;
    gap: 15px;
}

.mosaic-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-moyen);
}

.mosaic-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-lente);
}

.mosaic-item:hover img {
    transform: scale(1.05);
}

.mosaic-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(transparent, rgba(27, 54, 93, 0.85));
    color: var(--couleur-blanc);
    font-size: var(--taille-petite);
    font-weight: 500;
    letter-spacing: 0.5px;
    opacity: 0;
    transition: opacity var(--transition-normale);
}

.mosaic-item:hover .mosaic-label {
    opacity: 1;
}

.mosaic-large {
    grid-column: span 2;
    grid-row: span 2;
}

.mosaic-small-1 { grid-column: 3; grid-row: 1; }
.mosaic-small-2 { grid-column: 4; grid-row: 1; }
.mosaic-small-3 { grid-column: 3; grid-row: 2; }
.mosaic-medium { grid-column: 4; grid-row: 2; }

.prostho-clinique-cta {
    text-align: center;
    margin-top: 40px;
}


/* --- 6.7 FAQ Accordéon --- */
.prostho-faq-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: var(--largeur-etroite);
}

.faq-item {
    background: var(--couleur-blanc);
    border-radius: var(--radius-moyen);
    box-shadow: var(--ombre-legere);
    overflow: hidden;
    transition: box-shadow var(--transition-normale);
}

.faq-item:hover {
    box-shadow: var(--ombre-moyenne);
}

.faq-question {
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background var(--transition-normale);
}

.faq-question:hover {
    background: var(--gris-fond);
}

.faq-question span:first-child {
    color: var(--couleur-primaire);
    font-size: var(--taille-corps);
    font-weight: 600;
    flex: 1;
    padding-right: 15px;
}

.faq-icon {
    color: var(--couleur-secondaire);
    font-size: var(--taille-h3);
    font-weight: 300;
    transition: transform var(--transition-normale);
    line-height: 1;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-normale);
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer p {
    padding: 0 25px 25px 25px;
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.7;
    border-top: 1px solid var(--gris-bordure);
    margin: 0 25px;
    padding-top: 20px;
}

.prostho-faq-cta {
    text-align: center;
    margin-top: 40px;
}

/* Accordéon Themify (override) */
.module-accordion {
    max-width: var(--largeur-etroite);
    margin: 0 auto;
}

.module-accordion .accordion-item {
    background: var(--couleur-blanc);
    border: none;
    border-radius: var(--radius-moyen);
    margin-bottom: 12px;
    box-shadow: var(--ombre-legere);
    overflow: hidden;
    transition: box-shadow var(--transition-normale);
}

.module-accordion .accordion-item:hover {
    box-shadow: var(--ombre-moyenne);
}

.module-accordion .accordion-title {
    background: var(--couleur-blanc);
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none;
    transition: background var(--transition-normale);
}

.module-accordion .accordion-title:hover {
    background: var(--gris-fond);
}

.module-accordion .accordion-title a,
.module-accordion .accordion-title span {
    color: var(--couleur-primaire);
    font-size: var(--taille-corps);
    font-weight: 600;
    text-decoration: none;
    flex: 1;
    padding-right: 15px;
}

.module-accordion .accordion-title .accordion-icon,
.module-accordion .accordion-title i {
    color: var(--couleur-secondaire);
    font-size: var(--taille-h4);
    transition: transform var(--transition-normale);
}

.module-accordion .accordion-item.active .accordion-title .accordion-icon,
.module-accordion .accordion-item.active .accordion-title i {
    transform: rotate(45deg);
}

.module-accordion .accordion-content {
    padding: 0 25px 25px 25px;
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.7;
    border-top: 1px solid var(--gris-bordure);
    margin: 0 25px;
    padding-top: 20px;
}


/* --- 6.8 Formulaire Contact --- */
.prostho-contact-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: var(--espacement-section) 20px;
}


/* --- 6.9 Bloc Contact Accueil --- */
.prostho-contact-accueil {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 50px 60px;
    background: var(--gris-bordure);
    gap: 100px;
    border-radius: var(--radius-petit);
    margin-left: 0;
    margin-right: auto;
}

.prostho-contact-accueil .prostho-logo {
    flex: 0 0 auto;
}

.prostho-contact-accueil .prostho-logo img:first-child {
    width: 300px !important;
    height: auto !important;
    margin-top: -25px;
}

.prostho-contact-accueil .prostho-photo {
    margin-top: 40px;
}

.prostho-contact-accueil .prostho-photo img {
    width: 280px !important;
    height: 220px !important;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: var(--ombre-moyenne);
}

.prostho-contact-accueil .prostho-infos {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.prostho-contact-accueil .prostho-title {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 15px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--gris-bordure);
    letter-spacing: 0.5px;
}

.prostho-contact-accueil .prostho-item {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--couleur-primaire);
    text-decoration: none;
    font-size: var(--taille-petite);
    padding: 6px 0;
    transition: color var(--transition-rapide);
}

.prostho-contact-accueil .prostho-item:hover {
    color: var(--couleur-secondaire);
}

.prostho-contact-accueil .prostho-item svg {
    width: 22px !important;
    height: 22px !important;
    stroke: var(--couleur-secondaire);
    flex-shrink: 0;
}

.prostho-contact-accueil .prostho-item:hover svg {
    stroke: var(--couleur-primaire);
}

.prostho-contact-accueil .prostho-item span {
    font-weight: 400;
}

.prostho-contact-accueil .prostho-item[href*="facebook"] {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--gris-bordure);
}





/* ============================================
   7. PAGES INTÉRIEURES
   ============================================ */

/* --- 7.1 Titres de page --- */
.prostho-page-title {
    font-family: var(--font-titre);
	font-style: italic;
    font-weight: 400;
    font-size: var(--taille-h1);
    color: var(--couleur-primaire);
    text-align: center;
    margin-bottom: 0.5rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.prostho-page-subtitle {
    font-family: var(--font-titre);
    font-style: italic;
    font-weight: 400;
    font-size: var(--taille-h4);
    color: var(--gris-texte);
    text-align: center;
    margin-top: 0;
    margin-bottom: 2.5rem;
}

.prostho-page-credentials {
    text-align: center;
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    margin: -15px 0 5px 0;
}

.prostho-page-role {
    text-align: center;
    color: var(--couleur-secondaire);
    font-size: var(--taille-corps);
    font-weight: 500;
    margin: 0 0 40px 0;
}


/* --- 7.2 Page Services (index) --- */
.services-page-v2 {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: 0 20px 80px;
}

.services-header {
    text-align: center;
    margin-bottom: 50px;
}

.services-header h1 {
    color: var(--couleur-primaire);
    font-family: var(--font-titre);
    font-size: var(--taille-h1);
    font-weight: 600;
    margin: 0 0 15px 0;
    letter-spacing: 1px;
}

.services-header p {
    color: var(--gris-texte);
    font-size: var(--taille-corps);
    margin: 0;
    font-style: italic;
}

.services-grid-2x3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--espacement-element);
}

.service-section {
    background: var(--couleur-blanc);
    border: 1px solid #D0D5DD;
    border-radius: var(--radius-grand);
    padding: 35px 40px;
    box-shadow: var(--ombre-legere);
    transition: box-shadow var(--transition-normale), transform var(--transition-normale);
    display: flex;
    flex-direction: column;
}

.service-section:hover {
    box-shadow: var(--ombre-forte);
    transform: translateY(-3px);
}

.section-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--gris-bordure);
}

.section-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: var(--ombre-moyenne);
}

.section-icon svg {
    width: 30px;
    height: 30px;
}

.section-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.section-subtitle {
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.section-header h2 {
    color: var(--couleur-primaire);
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.5px;
    min-height: 2.5em;
}

.section-content {
    flex: 1;
    padding-left: 80px;
}

.service-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.service-links li {
    position: relative;
    padding-left: 20px;
    display: flex;
    align-items: flex-start;
}

.service-links li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 6px;
    height: 6px;
    background: var(--couleur-primaire);
    border-radius: 50%;
}

.service-links a {
    color: var(--couleur-primaire);
    text-decoration: none;
    font-size: var(--taille-petite);
    transition: all var(--transition-rapide);
    display: inline-block;
}

.service-links a:hover {
    color: var(--couleur-secondaire);
    padding-left: 4px;
}


/* --- 7.3 Pages Services (individuelles) --- */
.prostho-service-page {
    padding: 0 0 60px;
}

.prostho-service-intro-row {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 50px;
}

.prostho-service-intro-row .prostho-service-intro {
    flex: 1;
    margin-bottom: 0;
}

.prostho-service-intro-row .prostho-service-image {
    flex: 0 0 45%;
    max-width: 45%;
    margin: 0;
}

.prostho-service-intro {
    margin-bottom: 40px;
}

.prostho-service-intro p {
    font-size: var(--taille-corps);
    line-height: 1.8;
    color: var(--gris-fonce);
    margin-bottom: 1rem;
}

.prostho-service-intro p:last-child {
    margin-bottom: 0;
}

.prostho-service-image {
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
}

.prostho-service-image img {
    width: 100%;
    height: auto;
    display: block;
}

.prostho-service-image-solo {
    margin: 40px auto;
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
    max-width: 600px;
}

.prostho-service-image-solo img {
    width: 100%;
    height: auto;
    display: block;
}

.prostho-service-section {
    margin-bottom: 40px;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.prostho-service-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: var(--couleur-primaire);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--gris-bordure);
}

.prostho-service-section p {
    font-size: var(--taille-corps);
    line-height: 1.8;
    color: var(--gris-fonce);
    margin-bottom: 1rem;
}

.prostho-service-section p:last-child {
    margin-bottom: 0;
}

.prostho-service-highlight {
    background: var(--gris-fond) !important;
    border: none !important;
    box-shadow: none !important;
    border-left: 4px solid var(--couleur-secondaire) !important;
    padding: 20px 25px !important;
    margin: 25px 0;
    border-radius: 0 var(--radius-petit) var(--radius-petit) 0 !important;
}

.prostho-service-highlight p {
    margin: 0;
    font-style: italic;
    color: var(--couleur-primaire);
}

.prostho-service-cta {
    background: linear-gradient(135deg, var(--couleur-primaire) 0%, var(--bleu-2) 100%) !important;
    color: white;
    padding: 35px 40px;
    border-radius: var(--radius-moyen);
    text-align: center;
    margin: 50px 0;
    border: none !important;
    box-shadow: none !important;
}

.prostho-service-cta h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: white !important;
    margin: 0 0 15px 0;
    border: none !important;
    padding: 0 !important;
}

.prostho-service-cta p {
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 0 0 25px 0;
    font-size: var(--taille-corps);
}

.prostho-service-cta-btn {
    display: inline-block;
    background: var(--couleur-secondaire) !important;
    color: white !important;
    padding: 14px 35px;
    border-radius: var(--radius-rond);
    text-decoration: none !important;
    font-weight: 600;
    transition: all var(--transition-normale);
    border: none !important;
}

.prostho-service-cta-btn:hover {
    background: white !important;
    color: var(--couleur-primaire) !important;
    transform: translateY(-2px);
}

.prostho-services-connexes {
    background: var(--gris-fond) !important;
    padding: 35px 40px;
    border-radius: var(--radius-moyen);
    margin-top: 50px;
    border: none !important;
    box-shadow: none !important;
}

.prostho-services-connexes h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 20px 0;
    border: none !important;
    padding: 0 !important;
}

.prostho-services-connexes ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.prostho-services-connexes li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.prostho-services-connexes li::before {
    display: none !important;
}

.prostho-services-connexes a {
    display: inline-block;
    background: white !important;
    color: var(--couleur-primaire) !important;
    padding: 12px 24px;
    border-radius: var(--radius-rond);
    text-decoration: none !important;
    font-size: var(--taille-petite);
    font-weight: 500;
    border: 1px solid #D0D5DD !important;
    transition: all var(--transition-normale);
    box-shadow: var(--ombre-legere) !important;
}

.prostho-services-connexes a:hover {
    background: var(--couleur-secondaire) !important;
    color: white !important;
    border-color: var(--couleur-secondaire) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 123, 181, 0.3) !important;
}

.prostho-service-link-realisations {
    text-align: center;
    margin-top: 30px;
}

.prostho-service-link-realisations a {
    color: var(--couleur-secondaire) !important;
    font-weight: 500;
    text-decoration: none !important;
}

.prostho-service-link-realisations a:hover {
    color: var(--couleur-primaire) !important;
}


/* --- 7.4 Page Notre Équipe --- */
.prostho-team-page {
    max-width: var(--largeur-moyenne);
    margin: 0 auto;
    padding: 0 20px 60px;
}

.prostho-team-dentistes-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--espacement-element);
    margin-bottom: 60px;
}

.team-dentiste-card {
    background: var(--couleur-blanc);
    border-radius: var(--radius-grand);
    padding: 30px;
    text-align: center;
    box-shadow: var(--ombre-legere);
    transition: all var(--transition-normale);
}

.team-dentiste-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
}

.team-dentiste-photo {
    margin: 0 auto 20px;
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
}

.team-dentiste-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.team-dentiste-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 2px 0;
}

.team-dentiste-card .team-credentials {
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    margin: 0 0 2px 0;
}

.team-dentiste-card .team-role {
    color: var(--couleur-secondaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    margin: 0 0 15px 0;
}

.team-dentiste-card .team-bio {
    color: var(--gris-fonce);
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
    text-align: left;
}

.team-link {
    display: inline-block;
    color: var(--couleur-secondaire);
    font-weight: 500;
    text-decoration: none;
    font-size: var(--taille-petite);
}

.team-link:hover {
    color: var(--couleur-primaire);
}

.prostho-team-staff {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.team-staff-card {
    background: var(--couleur-blanc);
    border-radius: var(--radius-moyen);
    padding: 20px;
    text-align: center;
    box-shadow: var(--ombre-legere);
    transition: all var(--transition-normale);
}

.team-staff-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ombre-moyenne);
}

.team-staff-photo {
    margin: 0 auto 15px;
    border-radius: var(--radius-petit);
    overflow: hidden;
    background: var(--gris-bordure);
    min-height: 200px;
}

.team-staff-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.team-staff-card h4 {
    font-family: var(--font-titre);
    font-size: var(--taille-corps);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 5px 0;
}

.team-staff-card p {
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    margin: 0;
    line-height: 1.4;
}


/* ========================================
   CARTES DENTISTES ENTIÈREMENT CLIQUABLES
   ======================================== */

/* Position relative pour le stretched link */
.team-dentiste-card {
    position: relative;
    cursor: pointer;
}

/* Étendre le lien sur toute la carte */
.team-dentiste-card .team-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

/* Optionnel: cacher le texte "En savoir plus" */
.team-dentiste-card .team-link {
    /* Décommenter pour cacher le lien:
    position: absolute;
    opacity: 0;
    pointer-events: none;
    */
}

/* --- 7.5 Pages Dentistes --- */
.prostho-dentiste-page {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px 60px;
}

.prostho-dentiste-content {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 50px;
}

.prostho-dentiste-photo {
    flex: 0 0 300px;
}

.prostho-dentiste-photo img {
    width: 300px;
    border-radius: 10px;
    box-shadow: var(--ombre-moyenne);
}

.prostho-dentiste-bio {
    flex: 1;
}

.prostho-dentiste-bio h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--gris-bordure);
}

.prostho-dentiste-bio h3:not(:first-child) {
    margin-top: 25px;
}

.prostho-dentiste-bio p {
    color: var(--gris-fonce);
    font-size: var(--taille-petite);
    line-height: 1.7;
    margin: 0 0 12px 0;
}

.prostho-dentiste-bio a {
    color: var(--couleur-secondaire);
    text-decoration: none;
}

.prostho-dentiste-bio a:hover {
    color: var(--couleur-primaire);
    text-decoration: underline;
}

.prostho-dentiste-associations {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--gris-bordure);
}

.prostho-dentiste-associations h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 25px 0;
    text-align: center;
}


/* --- 7.6 Associations Professionnelles --- */
.prostho-associations-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 60px;
    margin: 40px auto 50px;
    max-width: 1000px;
}

.association-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 80px;
}

.association-item img {
    height: 70px;
    width: auto;
    object-fit: contain;
    transition: transform var(--transition-normale);
}

.association-item:hover img {
    transform: scale(1.05);
}

.prostho-associations-small {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    max-width: 800px;
    margin: 0 auto;
}

.prostho-associations-small .association-item {
    width: auto;
    height: 60px;
    flex: 0 0 auto;
}

.prostho-associations-small .association-item img {
    height: 55px;
    width: auto;
}


/* --- 7.7 Galerie Photos --- */
.prostho-clinic-gallery {
    padding: 0 0 60px;
}

.prostho-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.prostho-gallery-item {
    border-radius: var(--radius-moyen);
    overflow: hidden;
    box-shadow: var(--ombre-moyenne);
    transition: all var(--transition-normale);
}

.prostho-gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
}

.prostho-gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-normale);
}

.prostho-gallery-item:hover img {
    transform: scale(1.05);
}


/* ============================================
   8. FOOTER
   ============================================ */

/* ========================================
   BLOC CONTACT FOOTER (pages intérieures)
   ======================================== */

.prostho-contact-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 50px 60px;
    background: #FFFFFF;
    border: 1px solid var(--gris-bordure);
    gap: 100px;
    border-radius: 8px;
    margin-left: 0;
    margin-right: auto;
}

/* Logo */
.prostho-contact-bar .prostho-logo {
    flex: 0 0 auto;
}

.prostho-contact-bar .prostho-logo img:first-child {
    width: 300px !important;
    height: auto !important;
    margin-top: -25px;
}

/* Photo sous le logo */
.prostho-contact-bar .prostho-photo {
    margin-top: 40px;
}

.prostho-contact-bar .prostho-photo img {
    width: 280px !important;
    height: 220px !important;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(27, 54, 93, 0.15);
}

/* Bloc infos à droite */
.prostho-contact-bar .prostho-infos {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Titre au-dessus des coordonnées */
.prostho-contact-bar .prostho-title {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: #1B365D;
    margin: 0 0 15px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #D0D3D4;
    letter-spacing: 0.5px;
}

/* Items de contact */
.prostho-contact-bar .prostho-item {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #1B365D;
    text-decoration: none;
    font-size: var(--taille-petite);
    padding: 6px 0;
    transition: color 0.2s ease;
}

.prostho-contact-bar .prostho-item:hover {
    color: #4A7BB5;
}

/* Icônes */
.prostho-contact-bar .prostho-item svg {
    width: 22px !important;
    height: 22px !important;
    stroke: #4A7BB5;
    flex-shrink: 0;
}

.prostho-contact-bar .prostho-item:hover svg {
    stroke: #1B365D;
}

/* Texte des items */
.prostho-contact-bar .prostho-item span {
    font-weight: 400;
}

/* Séparateur avant Facebook */
.prostho-contact-bar .prostho-item[href*="facebook"] {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #D0D3D4;
}


/* ========================================
   FOOTER COMPLET - PAGES INTÉRIEURES
   ======================================== */

.prostho-footer-complet {
    background: #F8F9FA;
    border-top: 1px solid #D0D3D4;
}

/* Section liens */
.prostho-footer-complet .footer-links-section {
    padding: 50px 40px 40px;
}

.prostho-footer-complet .footer-links-container {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.prostho-footer-complet .footer-column h4 {
    color: #1B365D;
    font-size: var(--taille-petite);
    font-weight: 600;
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.prostho-footer-complet .footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.prostho-footer-complet .footer-column li {
    margin-bottom: 10px;
}

.prostho-footer-complet .footer-column a {
    color: #6C757D;
    text-decoration: none;
    font-size: var(--taille-petite);
    transition: color 0.2s ease;
}

.prostho-footer-complet .footer-column a:hover {
    color: #4A7BB5;
}

.prostho-footer-complet .footer-contact p {
    color: #6C757D;
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.prostho-footer-complet .footer-contact strong {
    color: #1B365D;
}

.prostho-footer-complet .footer-contact a {
    color: #6C757D;
    text-decoration: none;
    transition: color 0.2s ease;
}

.prostho-footer-complet .footer-contact a:hover {
    color: #4A7BB5;
}

.prostho-footer-complet .footer-hours {
    font-style: italic;
}

/* Logo central */
.prostho-footer-complet .footer-logo {
    text-align: center;
    padding: 30px 0;
    border-top: 1px solid #D0D3D4;
    background: #FFFFFF;
}

.prostho-footer-complet .footer-logo img {
    max-width: 300px !important;
    width: auto !important;
    height: auto !important;
    opacity: 0.8;
}

/* Section bottom */
.prostho-footer-complet .footer-bottom {
    background: #fff;
    padding: 25px 40px;
    text-align: center;
    border-top: 1px solid #D0D3D4;
}

.prostho-footer-complet .footer-bottom-container {
    max-width: 1160px;
    margin: 0 auto;
}

.prostho-footer-complet .footer-copyright {
    color: #1B365D;
    font-size: 13px;
    margin: 0 0 8px 0;
}

.prostho-footer-complet .footer-legal {
    margin: 0 0 8px 0;
}

.prostho-footer-complet .footer-legal a {
    color: #6C757D;
    text-decoration: none;
    font-size: 12px;
}

.prostho-footer-complet .footer-legal a:hover {
    color: #4A7BB5;
}

.prostho-footer-complet .footer-legal .separator {
    color: #D0D0D0;
    margin: 0 10px;
}

.prostho-footer-complet .footer-credit {
    color: #6C757D;
    font-size: 12px;
    margin: 0;
}

.prostho-footer-complet .footer-credit a {
    color: #4A7BB5;
    text-decoration: none;
}

.prostho-footer-complet .footer-credit a:hover {
    color: #1B365D;
}


/* ========================================
   FOOTER SIMPLE
   ======================================== */

.prostho-footer-simple {
    background: #F8F9FA;
    padding: 30px 40px 40px;
    text-align: center;
    border-top: 1px solid #D0D3D4;
}

.prostho-footer-simple .footer-content {
    max-width: 1160px;
    margin: 0 auto;
}

/* Logo */
.prostho-footer-simple .footer-logo {
    margin-bottom: 20px;
}

.prostho-footer-simple .footer-logo img {
    max-width: 150px;
    height: auto;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.prostho-footer-simple .footer-logo img:hover {
    opacity: 1;
}

/* Copyright */
.prostho-footer-simple .footer-copyright {
    color: #1B365D;
    font-size: 13px;
    margin: 0 0 8px 0;
}

/* Liens légaux */
.prostho-footer-simple .footer-legal {
    margin: 0 0 8px 0;
}

.prostho-footer-simple .footer-legal a {
    color: #6C757D;
    text-decoration: none;
    font-size: 12px;
    transition: color 0.2s ease;
}

.prostho-footer-simple .footer-legal a:hover {
    color: #4A7BB5;
}

.prostho-footer-simple .footer-legal .separator {
    color: #D0D0D0;
    margin: 0 10px;
}

/* Crédit Martin Chénier */
.prostho-footer-simple .footer-credit {
    color: #6C757D;
    font-size: 12px;
    margin: 0;
}

.prostho-footer-simple .footer-credit a {
    color: #4A7BB5;
    text-decoration: none;
    transition: color 0.2s ease;
}

.prostho-footer-simple .footer-credit a:hover {
    color: #1B365D;
}


/* ============================================
   9. UTILITAIRES
   ============================================ */

/* Égaliser hauteur cartes */
.team-card,
.module-image-box {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

/* Titre de catégorie FAQ */
.faq-category-title {
    color: var(--couleur-primaire);
    font-size: var(--taille-h3);
    font-weight: 600;
    margin: 50px 0 25px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gris-bordure);
}

.faq-category-title:first-of-type {
    margin-top: 0;
}


/* ============================================
   10. RESPONSIVE
   ============================================ */

/* --- Tablette (max 900px) --- */
@media (max-width: 900px) {
    :root {
        --taille-h1: 2.5rem;
        --taille-h2: 1.8rem;
        --espacement-section: 50px;
    }
    
    /* Intro prosthodontiste */
    .prostho-intro-section {
        flex-direction: column;
        gap: 30px;
    }
    
    .prostho-intro-image {
        flex: none;
        width: 100%;
        max-width: 500px;
    }
    
    /* Spécialités */
    .prostho-specialites-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    a.prostho-specialite-card:nth-child(2n) {
        border-right: none;
    }
    
    a.prostho-specialite-card:nth-child(3n) {
        border-right: 1px solid var(--gris-bordure);
    }
    
    a.prostho-specialite-card:nth-child(5),
    a.prostho-specialite-card:nth-child(6) {
        border-bottom: none;
    }
    
    /* Équipe accueil */
    .prostho-equipe-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .prostho-equipe-card:last-child {
        grid-column: 1 / -1;
        max-width: 350px;
        margin: 0 auto;
    }
    
    /* Mosaïque clinique */
    .clinique-mosaic {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 280px 200px 200px;
        gap: 12px;
    }
    
    .mosaic-large {
        grid-column: span 2;
        grid-row: span 1;
    }
    
    .mosaic-small-1 { grid-column: 1; grid-row: 2; }
    .mosaic-small-2 { grid-column: 2; grid-row: 2; }
    .mosaic-small-3 { grid-column: 1; grid-row: 3; }
    .mosaic-medium { grid-column: 2; grid-row: 3; }
    
    .mosaic-label {
        opacity: 1;
        padding: 15px;
        font-size: 0.85rem;
    }
    
    /* Services index */
    .services-grid-2x3 {
        gap: 25px;
    }
    
    .service-section {
        padding: 30px 35px;
    }
    
    /* Team page */
    .prostho-team-dentistes-3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .prostho-team-staff {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    /* Contact bar (footer) */
    .prostho-contact-bar {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 40px 30px;
        gap: 30px;
    }
    
    .prostho-contact-bar .prostho-logo img:first-child {
        width: 250px !important;
        margin-top: 0;
    }
    
    .prostho-contact-bar .prostho-photo {
        margin-top: 25px;
    }
    
    .prostho-contact-bar .prostho-photo img {
        width: 250px !important;
        height: 200px !important;
    }
    
    .prostho-contact-bar .prostho-title {
        text-align: center;
    }
    
    .prostho-contact-bar .prostho-item {
        justify-content: center;
    }
    
    /* Contact accueil */
    .prostho-contact-accueil {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 40px 30px;
        gap: 30px;
    }
    
    .prostho-contact-accueil .prostho-logo img:first-child {
        width: 250px !important;
        margin-top: 0;
    }
    
    .prostho-contact-accueil .prostho-photo {
        margin-top: 25px;
    }
    
    .prostho-contact-accueil .prostho-photo img {
        width: 250px !important;
        height: 200px !important;
    }
    
    .prostho-contact-accueil .prostho-title {
        text-align: center;
    }
    
    .prostho-contact-accueil .prostho-item {
        justify-content: center;
    }
    
    /* Footer complet */
    .prostho-footer-complet .footer-links-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

/* --- Mobile (max 768px) --- */
@media (max-width: 768px) {
    :root {
        --taille-h1: 2.25rem;
        --taille-h2: 1.5rem;
        --taille-h3: 1.3rem;
        --espacement-section: 40px;
        --espacement-element: 20px;
    }
    
    /* Titres section */
    .prostho-section-title {
        font-size: 1.5rem;
        margin-bottom: 30px;
    }
    
    /* Titres page */
    .prostho-page-title {
        font-size: 2.25rem;
    }
    
    .prostho-page-subtitle {
        font-size: 1.1rem;
    }
    
    /* Spécialités */
    .prostho-specialites-grid {
        grid-template-columns: 1fr;
    }
    
    a.prostho-specialite-card {
        border-right: none !important;
    }
    
    a.prostho-specialite-card:last-child {
        border-bottom: none;
    }
    
    /* Équipe accueil */
    .prostho-equipe-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .prostho-equipe-card:last-child {
        max-width: none;
    }
    
    .prostho-equipe-card {
        padding: 20px;
    }
    
    /* Réalisations */
    .prostho-realisations-grid {
        grid-template-columns: 1fr;
    }
    
    .prostho-realisation-card img {
        height: 280px;
    }
    
    /* Mosaïque clinique */
    .clinique-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 220px 160px 160px;
        gap: 8px;
    }
    
    .mosaic-large {
        grid-column: span 2;
        grid-row: 1;
    }
    
    .mosaic-label {
        padding: 10px 12px;
        font-size: 0.75rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    /* FAQ */
    .module-accordion .accordion-title {
        padding: 18px 20px;
    }
    
    .module-accordion .accordion-title a,
    .module-accordion .accordion-title span {
        font-size: var(--taille-petite);
    }
    
    .module-accordion .accordion-content {
        padding: 0 20px 20px 20px;
        margin: 0 20px;
        font-size: var(--taille-petite);
    }
    
    .faq-category-title {
        font-size: 1.3rem;
        margin: 40px 0 20px 0;
    }
    
    /* Services index */
    .services-page-v2 {
        padding: 40px 15px 60px;
    }
    
    .services-header h1 {
        font-size: 36px;
    }
    
    .services-header p {
        font-size: 16px;
    }
    
    .services-grid-2x3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .service-section {
        padding: 28px 25px;
    }
    
    .section-header {
        gap: 15px;
        margin-bottom: 20px;
        padding-bottom: 18px;
    }
    
    .section-icon {
        width: 52px;
        height: 52px;
    }
    
    .section-icon svg {
        width: 26px;
        height: 26px;
    }
    
    .section-header h2 {
        font-size: 22px;
    }
    
    .section-content {
        padding-left: 0;
    }
    
    /* Service pages */
    .prostho-service-page {
        padding: 0 0 40px;
    }
    
    .prostho-service-intro-row {
        flex-direction: column;
        gap: 30px;
    }
    
    .prostho-service-intro-row .prostho-service-image {
        flex: none;
        max-width: 100%;
    }
    
    .prostho-service-intro p {
        font-size: var(--taille-corps);
    }
    
    .prostho-service-section h2 {
        font-size: 1.3rem;
    }
    
    .prostho-service-cta {
        padding: 30px 25px;
    }
    
    .prostho-service-cta h3 {
        font-size: 1.3rem;
    }
    
    .prostho-services-connexes {
        padding: 25px 20px;
    }
    
    .prostho-services-connexes ul {
        flex-direction: column;
    }
    
    .prostho-services-connexes a {
        display: block;
        text-align: center;
    }
    
    .prostho-service-image-solo {
        max-width: 100%;
    }
    
    /* Dentiste page */
    .prostho-dentiste-content {
        flex-direction: column;
        gap: 25px;
    }
    
    .prostho-dentiste-photo {
        flex: none;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }
    
    .prostho-dentiste-bio h3 {
        font-size: var(--taille-corps);
    }
    
    .prostho-associations-small {
        gap: 25px;
    }
    
    .prostho-associations-small .association-item img {
        height: 45px;
    }
    
    /* Associations */
    .prostho-associations-grid {
        gap: 30px 40px;
    }
    
    .association-item {
        width: 220px;
        height: 70px;
    }
    
    .association-item img {
        height: 55px;
    }
    
    /* Galerie */
    .prostho-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .prostho-gallery-item img {
        height: 180px;
    }
    
    /* Footer simple responsive */
    .prostho-footer-simple {
        padding: 25px 20px 35px;
    }
    
    .prostho-footer-simple .footer-logo img {
        max-width: 120px;
    }
    
    .prostho-footer-simple .footer-legal a {
        display: block;
        margin: 5px 0;
    }
    
    .prostho-footer-simple .footer-legal .separator {
        display: none;
    }
    
    /* Footer complet responsive */
    .prostho-footer-complet .footer-links-container {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    
    .prostho-footer-complet .footer-links-section {
        padding: 40px 20px 30px;
    }
    
    .prostho-footer-complet .footer-bottom {
        padding: 20px;
    }
    
    .prostho-footer-complet .footer-legal .separator {
        display: none;
    }
    
    .prostho-footer-complet .footer-legal a {
        display: block;
        margin: 5px 0;
    }
}

/* --- Petit mobile (max 480px) --- */
@media (max-width: 480px) {
    /* Section header services */
    .section-header {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .section-title {
        align-items: center;
    }
    
    /* Team staff */
    .prostho-team-staff {
        grid-template-columns: 1fr;
    }
    
    /* Associations */
    .association-item {
        width: 100%;
        max-width: 250px;
        height: 60px;
    }
    
    .association-item img {
        height: 50px;
    }
    
    /* Galerie */
    .prostho-gallery-grid {
        grid-template-columns: 1fr;
    }
    
    .prostho-gallery-item img {
        height: 220px;
    }
}


/* ============================================
   PAGE ENTRETIEN ET ADAPTATION
   ============================================ */

/* Container section */
.prostho-entretien-section {
    max-width: var(--largeur-max);
    margin: 0 auto;
    padding: 0 20px 60px;
}

/* Grille 3 colonnes pour les cartes (2+3 layout) */
.prostho-entretien-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* Carte cliquable */
a.prostho-entretien-card {
    display: block;
    padding: 35px 30px;
    background: var(--couleur-blanc);
    border: 1px solid var(--gris-bordure);
    border-radius: var(--radius-grand);
    text-decoration: none;
    transition: all var(--transition-normale);
    box-shadow: var(--ombre-legere);
}

a.prostho-entretien-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ombre-forte);
    border-color: var(--couleur-secondaire);
}

/* Icône cercle */
.prostho-entretien-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: var(--ombre-moyenne);
}

.prostho-entretien-icon svg {
    width: 40px;
    height: 40px;
}

/* Titre carte */
a.prostho-entretien-card h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 12px 0;
    line-height: 1.3;
    transition: color var(--transition-rapide);
}

a.prostho-entretien-card:hover h3 {
    color: var(--couleur-secondaire);
}

/* Description carte */
a.prostho-entretien-card p {
    color: var(--gris-texte);
    font-size: var(--taille-petite);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

/* Lien "En savoir plus" */
.prostho-entretien-link {
    color: var(--couleur-secondaire);
    font-size: var(--taille-tres-petite);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color var(--transition-rapide);
}

.prostho-entretien-link span {
    transition: transform var(--transition-rapide);
}

a.prostho-entretien-card:hover .prostho-entretien-link {
    color: var(--couleur-primaire);
}

a.prostho-entretien-card:hover .prostho-entretien-link span {
    transform: translateX(3px);
}

/* Section info */
.prostho-entretien-info {
    max-width: var(--largeur-etroite);
    margin: 0 auto;
    padding: 0 20px 40px;
}


/* ============================================
   RESPONSIVE - PAGE ENTRETIEN
   ============================================ */

@media (max-width: 900px) {
    .prostho-entretien-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Centrer la 5e carte seule */
    a.prostho-entretien-card:last-child {
        grid-column: 1 / -1;
        max-width: 400px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .prostho-entretien-grid {
        grid-template-columns: 1fr;
    }
    
    a.prostho-entretien-card {
        padding: 28px 25px;
    }
    
    a.prostho-entretien-card:last-child {
        max-width: none;
    }
    
    .prostho-entretien-icon {
        width: 70px;
        height: 70px;
    }
    
    .prostho-entretien-icon svg {
        width: 35px;
        height: 35px;
    }
}



/* ================================================
   PAGE CONTACTEZ-NOUS 
   ================================================ */

/* === HEADER === */
.prostho-contact-header {
    text-align: center;
    padding: 50px 20px 40px;
}

.prostho-contact-header h1 {
    font-family: var(--font-titre);
    font-size: var(--taille-h1);
    font-weight: 600;
    color: #1B365D;
    margin-bottom: 10px;
}

.prostho-contact-header p {
    font-size: var(--taille-corps);
    color: #6C757D;
    max-width: 600px;
    margin: 0 auto;
}

/* === GRILLE PRINCIPALE === */
.prostho-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 60px;
}

@media (max-width: 900px) {
    .prostho-contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* === COLONNE INFO === */
.prostho-contact-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.prostho-info-card {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 0;
    padding: 0;
    min-height: 70px;
}

/* === ICONES - Toutes meme taille === */
.prostho-info-icon,
.prostho-info-icon-small {
    width: 50px;
    height: 50px;
    min-width: 50px;
    background: #1B365D;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prostho-info-icon svg,
.prostho-info-icon-small svg {
    width: 22px;
    height: 22px;
    stroke: #FFFFFF;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* === CONTENU INFO === */
.prostho-info-content h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 0 0 5px 0;
}

.prostho-info-content p {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.6;
    margin: 0;
}

.prostho-info-content a {
    color: #4A7BB5;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.prostho-info-content a:hover {
    color: #1B365D;
    text-decoration: underline;
}

/* Telephone - meme taille que le reste */
.prostho-phone {
    font-size: 1rem !important;
    font-weight: 500;
}

/* === HORAIRES === */
.prostho-horaires {
    margin-top: 5px;
    padding-top: 15px;
    border-top: 2px solid #D0D3D4;
}

.prostho-horaires-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px;
}

.prostho-horaires-header h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 0;
}

.prostho-horaires-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 350px;
    margin-left: 70px;
}

.prostho-horaires-list li {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #D0D3D4;
    color: #6C757D;
    font-size: var(--taille-petite);
}

.prostho-horaires-list li:last-child {
    border-bottom: none;
}

.prostho-jour {
    font-weight: 500;
    color: #1B365D;
}

.prostho-ferme {
    color: #dc3545;
}

/* === FORMULAIRE === */
.prostho-contact-form {
    background: #F8F9FA;
    border-radius: 12px;
    padding: 35px 40px;
    border: 1px solid #D0D3D4;
    box-shadow: 0 8px 30px rgba(27, 54, 93, 0.12);
}

@media (max-width: 600px) {
    .prostho-contact-form {
        padding: 25px 20px;
    }
}

.prostho-contact-form h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: #1B365D;
    margin: 0 0 25px 0;
}

/* === STYLES FLUENT FORMS === */
.prostho-contact-form .ff-el-group {
    margin-bottom: 18px;
}

.prostho-contact-form .ff-el-input--label label {
    font-weight: 500;
    color: #1B365D;
    margin-bottom: 6px;
    font-size: var(--taille-petite);
}

.prostho-contact-form .ff-el-form-control {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #D0D3D4;
    border-radius: 6px;
    font-size: var(--taille-corps);
    color: #1B365D;
    background: #FFFFFF;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.prostho-contact-form .ff-el-form-control:focus {
    outline: none;
    border-color: #4A7BB5;
    box-shadow: 0 0 0 3px rgba(74, 123, 181, 0.12);
}

.prostho-contact-form textarea.ff-el-form-control {
    min-height: 120px;
    resize: vertical;
}

.prostho-contact-form .ff-btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #4A7BB5;
    color: #FFFFFF;
    border: none;
    padding: 14px 35px;
    font-size: var(--taille-corps);
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    margin-top: 10px;
}

.prostho-contact-form .ff-btn-submit:hover {
    background: #1B365D;
    transform: translateY(-1px);
}

.prostho-contact-form .ff-el-input--label .asterisk-right {
    color: #dc3545;
}

/* === CARTE GOOGLE MAPS === */
.prostho-map-section {
    padding: 0 20px 60px;
}

.prostho-map-container {
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(27, 54, 93, 0.08);
}

.prostho-map-container iframe {
    width: 100%;
    height: 350px;
    border: none;
    display: block;
}

/* === SECTION REFERENTS === */
.prostho-referent-section {
    background: #F8F9FA;
    padding: 50px 20px;
    text-align: center;
}

.prostho-referent-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    color: #1B365D;
    margin: 0 0 10px 0;
}

.prostho-referent-section p {
    color: #6C757D;
    margin: 0 auto 25px;
    max-width: 550px;
}

.prostho-referent-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.prostho-btn-referent {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 25px;
    border-radius: 6px;
    font-weight: 600;
    font-size: var(--taille-petite);
    text-decoration: none;
    transition: all 0.3s;
    background: #4A7BB5;
    color: #FFFFFF;
}

.prostho-btn-referent:hover {
    background: #1B365D;
    color: #FFFFFF;
    transform: translateY(-1px);
}

.prostho-btn-referent svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
}

.prostho-btn-referent.prostho-btn-outline {
    background: transparent;
    color: #4A7BB5;
    border: 2px solid #4A7BB5;
}

.prostho-btn-referent.prostho-btn-outline:hover {
    background: #4A7BB5;
    color: #FFFFFF;
}



/* ================================================
   PAGE POLITIQUE DE CONFIDENTIALITE
   ================================================ */

/* === HEADER === */
.prostho-politique-header {
    text-align: center;
    padding: 50px 20px 30px;
}

.prostho-politique-header h1 {
    font-family: var(--font-titre);
    font-size: var(--taille-h1);
    font-weight: 600;
    color: #1B365D;
    margin-bottom: 10px;
}

.prostho-politique-header p {
    font-size: var(--taille-corps);
    color: #6C757D;
}

/* === INTRO === */
.prostho-politique-intro {
    max-width: 800px;
    margin: 0 auto 40px;
    padding: 0 20px;
    text-align: center;
}

.prostho-politique-intro p {
    font-size: var(--taille-corps);
    color: #6C757D;
    line-height: 1.7;
}

/* === RESPONSABLE CARD === */
.prostho-responsable-card {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    max-width: 800px;
    margin: 0 auto 50px;
    padding: 30px;
    background: #F8F9FA;
    border-radius: 12px;
    border-left: 4px solid #1B365D;
}

@media (max-width: 600px) {
    .prostho-responsable-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

.prostho-responsable-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    background: #1B365D;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prostho-responsable-icon svg {
    width: 28px;
    height: 28px;
    stroke: #FFFFFF;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.prostho-responsable-content h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 0 0 10px 0;
}

.prostho-responsable-content p {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.6;
    margin: 0 0 5px 0;
}

.prostho-responsable-content a {
    color: #4A7BB5;
    text-decoration: none;
}

.prostho-responsable-content a:hover {
    color: #1B365D;
    text-decoration: underline;
}

/* === SECTIONS === */
.prostho-politique-sections {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.prostho-politique-section {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #D0D3D4;
}

.prostho-politique-section:last-child {
    border-bottom: none;
}

.prostho-politique-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: #1B365D;
    margin: 0 0 20px 0;
}

.prostho-politique-section h3 {
    font-size: var(--taille-h4);
    font-weight: 600;
    color: #1B365D;
    margin: 25px 0 10px 0;
}

.prostho-politique-section p {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.prostho-politique-section ul {
    margin: 0 0 15px 0;
    padding-left: 25px;
}

.prostho-politique-section li {
    color: #6C757D;
    font-size: var(--taille-corps);
    line-height: 1.8;
    margin-bottom: 5px;
}

.prostho-politique-section a {
    color: #4A7BB5;
    text-decoration: none;
}

.prostho-politique-section a:hover {
    color: #1B365D;
    text-decoration: underline;
}

/* === CONTACT FOOTER === */
.prostho-politique-contact {
    max-width: 800px;
    margin: 50px auto;
    padding: 40px;
    background: #1B365D;
    border-radius: 12px;
    text-align: center;
}

.prostho-politique-contact h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 400;
    font-style: italic;
    color: #FFFFFF;
    margin: 0 0 10px 0;
}

.prostho-politique-contact > p {
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--taille-corps);
    margin: 0 0 25px 0;
}

.prostho-politique-contact-info {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 20px;
    display: inline-block;
}

.prostho-politique-contact-info p {
    color: #FFFFFF;
    margin: 0;
    line-height: 1.8;
}

.prostho-politique-contact-info a {
    color: #FFFFFF;
    text-decoration: underline;
}

.prostho-politique-contact-info a:hover {
    color: rgba(255, 255, 255, 0.8);
}





/* === EN-TÊTE QUESTIONNAIRE MÉDICAL === */
.qm-header {
    max-width: 100%;
    margin: 0 0 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid #D0D3D4;
}

.qm-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

.qm-text {
    flex: 1;
    text-align: left;
}

.qm-title {
    color: #1B365D;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.qm-intro {
    color: #333;
    font-size: var(--taille-petite);
    line-height: 1.7;
    text-align: left;
}

.qm-logos {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
    flex-shrink: 0;
}

.qm-logos img {
    width: 180px;
    height: auto;
}

@media (max-width: 768px) {
    .qm-header-content {
        flex-direction: column-reverse;
        text-align: center;
    }
    
    .qm-text {
        text-align: center;
    }
    
    .qm-intro {
        text-align: center;
    }
    
    .qm-logos {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    
    .qm-logos img {
        height: 45px;
    }
}

/* === QUESTIONNAIRE MÉDICAL - FLUENT FORMS === */

/* Container - PLEINE LARGEUR */
.fluentform {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto;
}

/* Police Cabin partout dans le formulaire */
.fluentform,
.fluentform *,
.fluentform label,
.fluentform input,
.fluentform textarea,
.fluentform select,
.fluentform .ff-el-form-check-label {
    font-family: 'Cabin', var(--font-corps), sans-serif !important;
}

/* Titres de sections */
.fluentform .ff-el-section-break h3 {
    color: #1B365D !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    border-left: 4px solid #4A7BB5 !important;
    padding: 12px 15px !important;
    margin: 25px 0 15px !important;
    background: #F0F7FF !important;
    border-radius: 0 6px 6px 0 !important;
}

/* Labels des questions - plus gros et lisibles */
.fluentform .ff-el-input--label label {
    color: #1B365D !important;
    font-weight: 600 !important;
    font-size: 1.15rem !important;
    margin-bottom: 6px !important;
}

/* Inputs */
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform input[type="date"],
.fluentform select,
.fluentform textarea {
    border: 2px solid #CFD8DC !important;
    border-radius: 8px !important;
    padding: 12px 15px !important;
    font-size: 1.05rem !important;
    background: #FFFFFF !important;
    transition: all 0.3s !important;
}

.fluentform input:focus,
.fluentform select:focus,
.fluentform textarea:focus {
    border-color: #4A7BB5 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(74, 123, 181, 0.15) !important;
}

/* Radio / Checkbox - CARTES CLIQUABLES */
.fluentform .ff-el-form-check {
    background: #FFFFFF !important;
    border: 2px solid #CFD8DC !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    margin-bottom: 8px !important;
    margin-right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 50px !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
}

.fluentform .ff-el-form-check label {
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fluentform .ff-el-form-check:hover {
    background: #E3F2FD !important;
    border-color: #4A7BB5 !important;
}

/* État sélectionné */
.fluentform .ff-el-form-check:has(input:checked) {
    background: #4A7BB5 !important;
    border-color: #1B365D !important;
}

.fluentform .ff-el-form-check:has(input:checked) label,
.fluentform .ff-el-form-check:has(input:checked) .ff-el-form-check-label {
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

/* Réponses radio/checkbox - en bleu et plus grosses */
.fluentform .ff-el-form-check-label {
    color: var(--couleur-secondaire, #4A7BB5) !important;
    font-weight: 500 !important;
    font-size: 1.1rem !important;
    cursor: pointer !important;
}

/* Radio/checkbox - alignement centré dans la carte */
.fluentform .ff-el-form-check input[type="radio"],
.fluentform .ff-el-form-check input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 10px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
    vertical-align: middle !important;
}

/* Sous-questions indentées (ajouter classe "sous-question" dans Fluent Forms) */
.fluentform .ff-el-group.sous-question,
.ff-el-group.sous-question {
    margin-left: 40px !important;
    padding-left: 15px !important;
    border-left: 3px solid var(--couleur-secondaire, #4A7BB5) !important;
}

/* Progress bar */
.fluentform .ff-step-header {
    margin-bottom: 25px !important;
}

.fluentform .ff-el-progress {
    height: 24px !important;
    background: #E0E0E0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
}

.fluentform .ff-el-progress-bar {
    background: #4A7BB5 !important;
    height: 24px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.75rem !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    line-height: 24px !important;
}

.fluentform .ff-step-titles {
    margin-top: 10px !important;
}

/* Cacher le texte "Step X of Y" non traduisible */
.fluentform .ff-step-titles .ff-step-title-progress {
    display: none !important;
}

/* Alternative : cacher tout texte contenant "Step" */
.fluentform .ff_step_start span,
.fluentform .ff-el-progress-status {
    display: none !important;
}

.fluentform .ff-step-title {
    font-size: 0.9rem !important;
    color: #6C757D !important;
}

.fluentform .ff-step-title.active {
    color: #1B365D !important;
    font-weight: 700 !important;
}

/* Boutons */
.fluentform .ff-btn-submit,
.fluentform .ff-btn-secondary,
.fluentform .ff-btn-next {
    background: #4A7BB5 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 30px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: #fff !important;
}

.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-secondary:hover,
.fluentform .ff-btn-next:hover {
    background: #1B365D !important;
}

.fluentform .ff-btn-prev {
    background: #78909C !important;
    padding: 14px 30px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    border-radius: 8px !important;
    color: #fff !important;
}

.fluentform .ff-btn-prev:hover {
    background: #546E7A !important;
}

/* Signature */
.fluentform .ff-signature-pad {
    border: 2px solid #CFD8DC !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
}

/* Espacement entre questions */
.fluentform .ff-el-group {
    margin-bottom: 20px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .fluentform .ff-btn-submit,
    .fluentform .ff-btn-secondary,
    .fluentform .ff-btn-next,
    .fluentform .ff-btn-prev {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    
    .fluentform .ff-el-form-check {
        display: flex !important;
        width: 100% !important;
    }
    
    /* Sous-questions - moins d'indentation sur mobile */
    .fluentform .ff-el-group.sous-question,
    .ff-el-group.sous-question {
        margin-left: 20px !important;
        padding-left: 10px !important;
    }
}





/* ============================================
   MENU MOBILE - REFONTE SEXY v4.5
   ============================================ */

/* Reset des anciens styles problématiques */
.prostho-mobile-menu .sub-menu,
.prostho-mobile-menu .sub-menu .sub-menu,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    border-left: none;
    margin-left: 0;
}

/* === LIENS NIVEAU 0 (Accueil, Services, etc.) === */
.prostho-mobile-menu > ul > li > a {
    padding: 18px 24px;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--couleur-primaire);
    border-bottom: 1px solid var(--gris-bordure);
    background: #FFFFFF;
    transition: all 0.2s ease;
}

.prostho-mobile-menu > ul > li > a:hover,
.prostho-mobile-menu > ul > li > a.current {
    background: linear-gradient(90deg, #F0F7FF 0%, #FFFFFF 100%);
    color: var(--couleur-secondaire);
    padding-left: 28px;
}

/* === CATÉGORIES NIVEAU 1 (IMPLANTOLOGIE, PROTHÈSES CONVENTIONNELLES) === */
.prostho-mobile-menu .sub-menu > li > span.cat-title,
.prostho-mobile-menu .cat-title-laclinique {
    display: block;
    padding: 14px 24px;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    background: linear-gradient(135deg, var(--couleur-primaire) 0%, #2A4A7A 100%);
    border: none;
    margin-top: 0;
}

/* === SOUS-CATÉGORIES NIVEAU 2 (PROTHÈSES FIXES SUR IMPLANT) === */
.prostho-mobile-menu .sub-menu .sub-menu > li > span.cat-title {
    padding: 12px 24px 10px 32px;
    color: var(--couleur-secondaire);
    font-weight: 600;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: #E8EDF2;
    border-bottom: 1px solid #D0D8E0;
}

/* === LIENS NIVEAU 1 === */
.prostho-mobile-menu .sub-menu > li > a {
    padding: 14px 24px 14px 32px;
    color: var(--couleur-primaire);
    font-size: var(--taille-petite);
    font-weight: 500;
    border-bottom: 1px solid #E8EDF2;
    background: #F8FAFC;
    transition: all 0.2s ease;
}

.prostho-mobile-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu > li > a.current {
    background: #EDF2F7;
    color: var(--couleur-secondaire);
    padding-left: 36px;
}

/* === LIENS NIVEAU 2 === */
.prostho-mobile-menu .sub-menu .sub-menu > li > a {
    padding: 12px 24px 12px 44px;
    font-size: var(--taille-petite);
    font-weight: 400;
    color: #4A5568;
    background: #FFFFFF;
    border-bottom: 1px solid #F0F0F0;
}

.prostho-mobile-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu > li > a.current {
    background: #F7FAFC;
    color: var(--couleur-secondaire);
    padding-left: 48px;
}

/* === LIENS NIVEAU 3 === */
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a {
    padding: 11px 24px 11px 56px;
    font-size: var(--taille-tres-petite);
    color: #718096;
    background: #FAFBFC;
    border-bottom: 1px solid #F5F5F5;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a.current {
    background: #F0F4F8;
    color: var(--couleur-secondaire);
}

/* === SUB-MENU BACKGROUNDS === */
.prostho-mobile-menu .sub-menu {
    background: #F8FAFC;
}

.prostho-mobile-menu .sub-menu .sub-menu {
    background: #FFFFFF;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    background: #FAFBFC;
}

/* === HEADER MOBILE AMÉLIORÉ === */
.prostho-mobile-header {
    padding: 18px 24px;
    border-bottom: 3px solid var(--couleur-secondaire);
    background: #FFFFFF;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.prostho-mobile-close {
    width: 48px;
    height: 48px;
    background: var(--gris-fond);
    border-radius: 12px;
    font-size: 24px;
    color: var(--couleur-primaire);
}

.prostho-mobile-close:hover {
    background: var(--couleur-secondaire);
    color: #FFFFFF;
}


/* ============================================
   MENUS MOBILE - UNIFORMISATION COMPLÈTE v4.7
   ============================================ */

/* === TAILLES DE POLICE UNIFORMES === */
:root {
    --mobile-menu-titre: 1rem;
    --mobile-menu-categorie: 0.7rem;
    --mobile-menu-lien: 0.9rem;
    --mobile-menu-sous-lien: 0.85rem;
}

/* === MENU PRINCIPAL MOBILE === */

/* Niveau 0 - Accueil, Services */
.prostho-mobile-menu > ul > li > a {
    padding: 16px 24px !important;
    font-size: var(--mobile-menu-titre) !important;
    font-weight: 600 !important;
    color: var(--couleur-primaire) !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* Catégories niveau 1 - IMPLANTOLOGIE, PROTHÈSES CONVENTIONNELLES */
.prostho-mobile-menu .sub-menu > li > span.cat-title,
.prostho-mobile-menu .cat-title-laclinique {
    padding: 12px 24px !important;
    font-size: var(--mobile-menu-categorie) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: #FFFFFF !important;
    background: var(--couleur-primaire) !important;
    text-transform: uppercase !important;
    border: none !important;
    margin: 0 !important;
}

/* Sous-catégories niveau 2 - PROTHÈSES FIXES SUR IMPLANT */
.prostho-mobile-menu .sub-menu .sub-menu > li > span.cat-title {
    padding: 10px 24px 10px 28px !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    color: var(--couleur-secondaire) !important;
    background: #EDF2F7 !important;
    text-transform: uppercase !important;
}

/* Liens niveau 1 */
.prostho-mobile-menu .sub-menu > li > a {
    padding: 14px 24px 14px 28px !important;
    font-size: var(--mobile-menu-lien) !important;
    font-weight: 500 !important;
    color: var(--couleur-primaire) !important;
    background: #F8FAFC !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* Liens niveau 2 */
.prostho-mobile-menu .sub-menu .sub-menu > li > a {
    padding: 12px 24px 12px 36px !important;
    font-size: var(--mobile-menu-sous-lien) !important;
    font-weight: 400 !important;
    color: #4A5568 !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #EDF2F7 !important;
}

/* Liens niveau 3 */
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a {
    padding: 12px 24px 12px 44px !important;
    font-size: var(--mobile-menu-sous-lien) !important;
    font-weight: 400 !important;
    color: #718096 !important;
    background: #FAFBFC !important;
    border-bottom: 1px solid #F0F0F0 !important;
}

/* Hover states */
.prostho-mobile-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu > li > a:hover,
.prostho-mobile-menu .sub-menu .sub-menu .sub-menu > li > a:hover {
    background: #EDF2F7 !important;
    color: var(--couleur-secondaire) !important;
}

/* === MENU PATIENT MOBILE - MÊME STYLE === */

.patient-dropdown-header {
    padding: 14px 24px !important;
    background: var(--couleur-primaire) !important;
}

.patient-dropdown-header span {
    font-size: var(--mobile-menu-categorie) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.patient-dropdown-mobile ul li a {
    padding: 14px 24px !important;
    font-size: var(--mobile-menu-lien) !important;
    font-weight: 500 !important;
    color: var(--couleur-primaire) !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.patient-dropdown-mobile ul li a:hover {
    background: #EDF2F7 !important;
    color: var(--couleur-secondaire) !important;
}

.patient-dropdown-subtitle {
    padding: 10px 24px !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    color: var(--couleur-secondaire) !important;
    background: #EDF2F7 !important;
    text-transform: uppercase !important;
    border-top: none !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* Liens sous "Entretien et adaptation" */
.patient-dropdown-subtitle + ul li a {
    padding: 12px 24px 12px 32px !important;
    font-size: var(--mobile-menu-sous-lien) !important;
    font-weight: 400 !important;
    color: #4A5568 !important;
}

/* === BACKGROUNDS UNIFORMES === */
.prostho-mobile-menu .sub-menu {
    background: #F8FAFC !important;
    border-left: none !important;
}

.prostho-mobile-menu .sub-menu .sub-menu {
    background: #FFFFFF !important;
    border-left: none !important;
    margin-left: 0 !important;
}

.prostho-mobile-menu .sub-menu .sub-menu .sub-menu {
    background: #FAFBFC !important;
    border-left: none !important;
    margin-left: 0 !important;
}


/* ================================
   FLUENT FORMS - RADIO BUTTONS
   ================================ */

/* Cercle du radio - bordure plus visible */
.fluentform input.ff-el-form-check-input[type="radio"] {
    border: 2px solid #4A7BB5 !important;
    background: #fff !important;
}

/* Cercle quand sélectionné */
.fluentform input.ff-el-form-check-input[type="radio"]:checked {
    background: #4A7BB5 !important;
    border-color: #4A7BB5 !important;
}

/* ================================
   FLUENT FORMS - CHAMPS TEXTE
   ================================ */

/* Texte dans les inputs - même couleur et grosseur que les labels */
.fluentform input,
.fluentform textarea,
.fluentform select,
.fluentform .ff-el-form-control,
.fluentform input.ff-el-form-control,
.ff-el-input--content input {
    color: #4A7BB5 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* ============================================
   PAGE NEUROMODULATEURS - CSS SPÉCIFIQUE
   ============================================ */


/* === LISTE STYLISÉE (réutilisable) === */
.prostho-service-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.prostho-service-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    font-size: var(--taille-corps);
    line-height: 1.7;
    color: var(--gris-fonce);
}

.prostho-service-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 8px;
    height: 8px;
    background: var(--couleur-secondaire);
    border-radius: 50%;
}


/* === GRILLE DES ZONES DE TRAITEMENT (avec prix) === */
.neuro-zones-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 30px 0;
}

.neuro-zone-card {
    background: var(--couleur-blanc);
    border: 1px solid var(--gris-bordure);
    border-radius: var(--radius-moyen);
    padding: 25px;
    transition: all var(--transition-normale);
}

.neuro-zone-card:hover {
    box-shadow: var(--ombre-moyenne);
    transform: translateY(-2px);
}

.neuro-zone-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 10px;
}

.neuro-zone-header h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h4);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0;
    flex: 1;
    min-width: 200px;
}

.neuro-prix {
    background: linear-gradient(135deg, var(--couleur-secondaire) 0%, var(--bleu-4) 100%);
    color: white;
    padding: 6px 14px;
    border-radius: var(--radius-rond);
    font-size: var(--taille-tres-petite);
    font-weight: 600;
    white-space: nowrap;
}

.neuro-zone-card p {
    font-size: var(--taille-petite);
    line-height: 1.6;
    color: var(--gris-fonce);
    margin: 0;
}

.neuro-zone-card.neuro-therapeutique {
    grid-column: 1 / -1;
    background: var(--gris-fond);
    border-color: var(--couleur-secondaire);
    border-width: 2px;
}

.neuro-zone-card.neuro-therapeutique .neuro-prix {
    background: linear-gradient(135deg, var(--couleur-primaire) 0%, var(--bleu-3) 100%);
}

.neuro-note-prix {
    text-align: center;
    color: var(--gris-texte);
    font-size: var(--taille-tres-petite);
    margin-top: 15px;
}


/* === GRILLE DES AVANTAGES === */
.neuro-avantages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin: 30px 0;
}

.neuro-avantage {
    background: var(--gris-fond);
    padding: 25px;
    border-radius: var(--radius-moyen);
    border-left: 4px solid var(--couleur-secondaire);
}

.neuro-avantage h4 {
    font-family: var(--font-titre);
    font-size: var(--taille-corps);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 10px 0;
}

.neuro-avantage p {
    font-size: var(--taille-petite);
    line-height: 1.6;
    color: var(--gris-fonce);
    margin: 0;
}


/* === BOÎTE PROMO SPÉCIALE === */
.neuro-promo-box {
    background: linear-gradient(135deg, var(--couleur-primaire) 0%, var(--bleu-3) 100%);
    color: white;
    padding: 40px;
    border-radius: var(--radius-grand);
    text-align: center;
    margin: 50px 0;
    position: relative;
    overflow: hidden;
}

.neuro-promo-box::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
}

.neuro-promo-badge {
    display: inline-block;
    background: var(--couleur-secondaire);
    color: white;
    padding: 8px 20px;
    border-radius: var(--radius-rond);
    font-size: var(--taille-tres-petite);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.neuro-promo-box h3 {
    font-family: var(--font-titre);
    font-size: var(--taille-h2);
    font-weight: 600;
    color: white;
    margin: 0 0 15px 0;
}

.neuro-promo-text {
    font-size: var(--taille-h4);
    margin: 0 0 15px 0;
    color: rgba(255, 255, 255, 0.95);
}

.neuro-promo-text strong {
    color: white;
    font-size: 1.3em;
}

.neuro-promo-code {
    font-size: var(--taille-petite);
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.neuro-promo-code strong {
    color: white;
    background: rgba(255, 255, 255, 0.15);
    padding: 4px 12px;
    border-radius: var(--radius-petit);
}


/* === SECTION FORMULAIRE (wrapper) === */
.neuro-form-section {
    background: var(--gris-fond);
    padding: 40px;
    border-radius: var(--radius-grand);
    margin-top: 40px;
}

.neuro-form-section h2 {
    font-family: var(--font-titre);
    font-size: var(--taille-h3);
    font-weight: 600;
    color: var(--couleur-primaire);
    margin: 0 0 10px 0;
    text-align: center;
    border: none;
    padding: 0;
    font-style: normal;
}

.neuro-form-section > p {
    text-align: center;
    color: var(--gris-texte);
    margin-bottom: 30px;
}


/* === RESPONSIVE === */
@media (max-width: 768px) {
    .neuro-zones-grid,
    .neuro-avantages {
        grid-template-columns: 1fr;
    }
    
    .neuro-zone-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .neuro-promo-box {
        padding: 30px 20px;
    }
    
    .neuro-promo-text {
        font-size: var(--taille-corps);
    }
    
    .neuro-form-section {
        padding: 30px 20px;
    }
}


/* ============================================
   FIX FLUENT FORMS - RADIO/CHECKBOX
   À ajouter dans le child theme style.css
   (remplace les anciens styles si problématiques)
   ============================================ */

/* === RESET COMPLET RADIO/CHECKBOX === */
.fluentform .ff-el-form-check {
    display: inline-flex !important;
    align-items: center !important;
    padding: 12px 20px !important;
    position: relative !important;
}

.fluentform .ff-el-form-check label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

/* Radio et Checkbox - style natif */
.fluentform .ff-el-form-check input[type="radio"],
.fluentform .ff-el-form-check input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    -moz-appearance: auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

/* Cacher les pseudo-éléments qui causent le double cercle */
.fluentform .ff-el-form-check input[type="radio"]::before,
.fluentform .ff-el-form-check input[type="checkbox"]::before,
.fluentform .ff-el-form-check input[type="radio"]::after,
.fluentform .ff-el-form-check input[type="checkbox"]::after,
.fluentform .ff-el-form-check label::before,
.fluentform .ff-el-form-check label::after {
    display: none !important;
    content: none !important;
}

/* État sélectionné - garder le style natif visible */
.fluentform .ff-el-form-check:has(input:checked) {
    background: #4A7BB5 !important;
    border-color: #1B365D !important;
}

.fluentform .ff-el-form-check:has(input:checked) input[type="radio"],
.fluentform .ff-el-form-check:has(input:checked) input[type="checkbox"] {
    accent-color: #FFFFFF !important;
}

.fluentform .ff-el-form-check:has(input:checked) label,
.fluentform .ff-el-form-check:has(input:checked) .ff-el-form-check-label {
    color: #FFFFFF !important;
}

/* === FIX SPÉCIFIQUE CHECKBOX CONSENTEMENT (Terms & Conditions) === */
.fluentform .ff-t_c .ff-el-form-check,
.fluentform .ff_t_c_wrap .ff-el-form-check {
    padding: 12px 20px 12px 20px !important;
}

.fluentform .ff-t_c .ff-el-form-check label,
.fluentform .ff_t_c_wrap .ff-el-form-check label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.fluentform .ff-t_c .ff-el-form-check input[type="checkbox"],
.fluentform .ff_t_c_wrap .ff-el-form-check input[type="checkbox"] {
    position: static !important;
    margin-right: 10px !important;
}

/* === FIX ALIGNEMENT CHECKBOX CONSENTEMENT === */
.fluentform .ff-t_c .ff-el-form-check,
.fluentform .ff_t_c_wrap .ff-el-form-check {
    align-items: center !important;
}

.fluentform .ff-t_c .ff-el-form-check label,
.fluentform .ff_t_c_wrap .ff-el-form-check label {
    align-items: center !important;
    line-height: 1 !important;
}
/* START MOBILE MENU CSS */
@media screen and (max-width:1100px){
/*/wp-content/themes/themify-ultra/mobile-menu.css*/
#header{height:auto}#header,.fixed-header #header{text-align:inherit}#site-description,#site-logo{clear:both;float:none;margin:0 0 .5em;padding:0;position:static}#site-logo{font-size:24px;margin:5px 10px 5px 0}.header-widget{clear:both;float:none;margin:0;position:static;text-align:inherit}.header-widget .widget{margin:0 0 1.8em}.header-widget .widgettitle{margin:0 0 .3em}.header-icons{display:block;position:absolute;right:4%;top:27px;transform:translateY(-50%);z-index:1999}.header-icons a{font-size:1em;text-decoration:none!important}.slide-cart .header-icons{align-items:center;display:flex;flex-direction:row-reverse}:is(.mobile-menu-visible,.slide-cart-visible){z-index:1!important}.sidemenu{background-color:#fff;color:#000;display:none;height:100%;overflow-y:auto;padding:60px 25px 25px;position:fixed;text-align:left;top:0;transition:.2s ease-in-out;transition-property:left,right,top,bottom,width,transform,opacity;width:300px;z-index:11111}#mobile-menu{contain:paint;right:-300px}#mobile-menu.sidemenu-on{box-shadow:-6px 0 20px 5px rgba(0,0,0,.1);right:0}.sidemenu-left,.sidemenu-left .fixed-header{left:300px}.sidemenu-left #mobile-menu.sidemenu-on{left:0}#headerwrap #mobile-menu-panel a{color:#fff;text-decoration:none}#headerwrap #menu-icon-close{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:100%;color:inherit;display:block;font-size:20px;min-height:1em;min-width:1em;padding:9px;position:absolute;right:10px;text-decoration:none;top:10px;transform-origin:center;transition-property:transform}#menu-icon-close:hover{background:hsla(0,0%,78%,.25)}#menu-icon-close:after,#menu-icon-close:before{height:56%}.transparent-header #menu-icon-close{color:inherit}#main-nav-wrap{display:block;margin:1em 0 1.5em;padding:0}#main-nav{background-color:transparent;float:none}#main-nav li{clear:both;display:block;padding:0;width:100%}#main-nav li>.sub-menu{background:0;border:0;box-shadow:none;color:inherit;display:none;height:auto;margin:0 0 0 1em;opacity:1;padding:0;position:static;transform:none;width:auto}#main-nav li.toggle-on>.sub-menu{display:block}#main-nav .child-arrow{display:inline-block}#main-nav .child-arrow:hover{background:hsla(0,0%,78%,.25)}.transparent-header #headerwrap .themify-widget-menu{color:inherit}#main-nav .has-mega-column>.sub-menu,#main-nav .has-mega>.sub-menu{margin:0;padding:0;width:auto}#main-nav .has-mega-column>.sub-menu,#main-nav .has-mega-column>.sub-menu ul,#main-nav .has-mega-sub-menu .mega-sub-menu ul{float:none;margin:0 0 0 1em}#main-nav .has-mega-column>.sub-menu,#main-nav .has-mega-column>.sub-menu ul,#main-nav .has-mega-sub-menu .mega-sub-menu ul,#main-nav li:not(.themify-widget-menu)>ul{background:0}#headerwrap #main-nav a{background:0;border:0;box-shadow:none;color:inherit;display:block;font-weight:400;line-height:1.5em;margin:0;padding:.6em 0;text-decoration:none;width:auto}#headerwrap #main-nav .has-sub-menu>a{padding-right:40px}#main-nav>li:last-child a{border:0}#headerwrap #main-nav .current-menu-item>a,#headerwrap #main-nav .current_page_item>a,#headerwrap #main-nav a:hover{color:var(--theme_accent)}#main-nav .mega-menu-posts,.slide-cart-visible #menu-icon{display:none}#header .social-widget a,#headerwrap .sidemenu .search-button,#headerwrap .sidemenu .tf_darkmode_toggle{color:inherit}#header .social-widget{float:none;margin:0;position:static}.header-widget :is(.col4-1,.col4-2,.col3-1){margin-left:0;max-width:100%;width:100%}.sidemenu .header-widget{height:auto}.fixed-header :is(.cart-wrap,.header-bar,.header-widget){display:block}.fixed-header .search-button,.fixed-header-on #headerwrap :is(.tf_darkmode_toggle,.social-widget){display:inline-block}#headerwrap .sidemenu .search-button{margin:0}#headerwrap #searchform,#headerwrap #searchform #s,#headerwrap #searchform #s:is(:focus,:hover),#headerwrap #searchform .tf_fa:hover+#s{width:100%}#headerwrap #searchform-wrap,.fixed-header-on #headerwrap #searchform-wrap{display:block;margin:1em 0 0}#headerwrap #searchform{clear:both;float:none;inset:auto;margin:0 0 1em;padding:0;position:relative;width:auto}#headerwrap #searchform #s{background-color:#eee;color:#000;float:none;height:auto;margin:auto;padding:11px 15px 10px 35px;position:static;transition:none;width:100%}#headerwrap #searchform .tf_fa:hover+#s{background-color:#eee}#headerwrap #searchform .tf_fa{background:0;color:#000;font-size:18px;height:16px;left:9px;margin:0;padding:3px;position:absolute;top:9px;transform:none;width:16px}
/*/wp-content/themes/themify-ultra/styles/headers/media/header-horizontal.css*/
.sidemenu-right #headerwrap{left:-300px}.navbar-wrapper{display:block}.pull-down{display:none}.social-links .icon-medium i{margin:auto}.header-widget{display:block;max-height:none!important;text-align:inherit}@media (max-width:600px){.mobile-menu-visible #headerwrap .header-icons{display:none}}
}
/* END MOBILE MENU CSS */