/* Parity with the theme templates (loaded after every native-*.css).
   The native rules were copied from the theme before its "photographic direction" pass
   (theme site.css: h2 4.3vw/66px, eyebrows 500, buttons 14px/500, section intros 15px…).
   Each block names the theme rule it mirrors; change both together.
   Elementor 3.30 markup has no .elementor-widget-container: a text editor's text sits in the
   widget element itself or in its <p>, hence the "X, X p" pairs. */

/* Spacing: native containers take no gap unless their own rule sets one (the theme lays these
   out with margins). Elementor otherwise adds the kit's 20px "widgets spacing" between every child. */
.tb-elementor :is(.tbe-section,.tbe-native){--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
/* Elementor makes row containers wrap on phones (--flex-wrap-mobile: wrap); the theme rows do not, and the rows that should wrap set flex-wrap themselves. */
.tb-elementor .tbe-native.e-con{--flex-wrap-mobile:nowrap;--flex-wrap-tablet:nowrap}

/* Eyebrows: .eyebrow{font-weight:500}. */
.tb-elementor :is(.eyebrow.elementor-widget-text-editor,.eyebrow.elementor-widget-text-editor p,.eyebrow .elementor-widget-text-editor,.eyebrow .elementor-widget-text-editor p,.tbe-section-eyebrow .elementor-heading-title){font-weight:500}
/* Section titles: h2{clamp(42px,4.3vw,66px)}. */
.tb-elementor :is(.tbe-native-services-title,.tbe-section-title) h2.elementor-heading-title{font-size:clamp(42px,4.3vw,66px);line-height:1.08;font-weight:400}
/* .inner-section-heading h2 */
.tb-elementor .inner-section-heading h2.elementor-heading-title{font-size:clamp(43px,4.2vw,64px);font-weight:400}
/* .faq h2 (stays 44px: more specific than the late h2 rule) */
.tb-elementor .faq .tbe-section-title h2.elementor-heading-title{font-size:44px;line-height:1.14}
/* .practice .benefits-heading h2 */
.tb-elementor .tbe-native-practice .tbe-benefit-heading .elementor-heading-title{font-size:clamp(38px,4.2vw,62px);font-weight:400}
/* .inner-hero-quote h1 */
.tb-elementor .inner-hero-quote .tbe-hero-title .elementor-heading-title{max-width:720px;font-size:clamp(54px,5.4vw,82px)}

/* Buttons and text links: .button / .text-link {14px; 500}; .photo-hero .button and .appointment .button 13px. */
.tb-elementor :is(.tbe-native-button,.tbe-native-cta,.tbe-native-hours-booking,.tbe-native-not-found-button,.tbe-home-explore,.tbe-practice-link,.tbe-faq-contact) .elementor-button{font-size:14px;font-weight:500}
.tb-elementor :is(.tbe-home-booking,.tbe-native-appointment-booking) .elementor-button{font-size:13px;font-weight:500}
.tb-elementor .tbe-faq-contact .elementor-button,.tb-elementor .tbe-contact-action .elementor-button{color:var(--ink)}
.tb-elementor .tbe-faq-contact .elementor-button:hover,.tb-elementor .tbe-contact-action .elementor-button:hover{color:var(--blue)}
/* .hero-scroll-link */
.tb-elementor .tbe-home-control-row .hero-scroll-link .elementor-button{font-size:13px}
/* .instagram-section .button.tbe-instagram-follow */
.tb-elementor .instagram-section .tbe-instagram-follow .elementor-button{font-size:14px}

/* Body copy: .section-heading>p and .services-after>p 15px/1.8, .appointment p 16px/1.85, .practice-gallery-note 12px. */
.tb-elementor :is(.tbe-native-services-intro,.tbe-native-services-intro p,.tbe-native-services-footer-copy,.tbe-native-services-footer-copy p){font-size:15px;line-height:1.8}
.tb-elementor :is(.practice-gallery-note,.practice-gallery-note p){font-size:12px}
.tb-elementor :is(.tbe-native-appointment-copy,.tbe-native-appointment-copy p){font-size:16px;line-height:1.85}

/* Small numbers: .medical-card-number 11px, .care-value-index 12px/.08em #bbe8fc. */
.tb-elementor :is(.medical-card-number,.medical-card-number p){font-size:11px}
.tb-elementor :is(.care-value-index,.care-value-index p){font-size:12px;letter-spacing:.08em;color:#bbe8fc}

/* Google rating badge (theme .google-rating): Google logo, score 25px/700, count 13px text colour, body font. */
.tb-elementor .google-rating.e-con{align-self:flex-start;display:inline-flex;flex-direction:row;align-items:center;gap:14px;width:auto;margin-top:30px;padding:14px 20px 14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);transition:border-color .2s}
.tb-elementor .google-rating.e-con:hover{border-color:#9fcde2}
.tb-elementor .google-rating.e-con:before{content:'';position:static;inset:auto;width:34px;height:34px;flex:none;opacity:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.5 0 6.6 1.2 9.1 3.6l6.8-6.8C35.8 2.4 30.3 0 24 0 14.6 0 6.6 5.4 2.6 13.3l7.9 6.1C12.4 13.7 17.7 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.1 24.5c0-1.6-.1-3.1-.4-4.5H24v9h12.4c-.5 2.9-2.2 5.3-4.6 6.9l7.4 5.7c4.3-4 6.9-9.9 6.9-17.1z'/%3E%3Cpath fill='%23FBBC05' d='M10.5 28.6c-.5-1.4-.8-3-.8-4.6s.3-3.2.8-4.6l-7.9-6.1C1 16.6 0 20.2 0 24s1 7.4 2.6 10.7l7.9-6.1z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.5 0 11.9-2.1 15.9-5.8l-7.4-5.7c-2.1 1.4-4.8 2.3-8.5 2.3-6.3 0-11.6-4.2-13.5-10l-7.9 6.1C6.6 42.6 14.6 48 24 48z'/%3E%3C/svg%3E") center/contain no-repeat}
.tb-elementor .google-rating-body.e-con{display:flex;flex-direction:column;gap:3px;width:auto;padding:0;line-height:1.2}
.tb-elementor .google-rating-line.e-con{display:flex;flex-direction:row;align-items:center;gap:9px;width:auto;padding:0}
.tb-elementor .google-rating-score .elementor-heading-title{font:700 25px/1.2 var(--font);letter-spacing:0;color:var(--ink)}
.tb-elementor .google-rating-count .elementor-heading-title{font:400 13px/1.2 var(--font);letter-spacing:0;color:var(--text)}
.tb-elementor .google-rating-stars .elementor-star-rating{display:inline-flex;gap:2px;line-height:1}
.tb-elementor .google-rating-open .elementor-icon{font-size:14px;margin-left:6px;color:var(--blue);fill:currentColor}
.tb-elementor .google-rating-open .elementor-icon :is(svg,i){display:none}
.tb-elementor .google-rating-open .elementor-icon:before{content:'';display:block;width:16px;height:16px;background:currentColor;-webkit-mask:var(--tbe-i-diagonal) center/contain no-repeat;mask:var(--tbe-i-diagonal) center/contain no-repeat}

/* Opening hours: .hours-details dl>div 15px, dt 500 ink, dd #466170. */
.tb-elementor :is(.tbe-native-hours-day,.tbe-native-hours-day p){font-weight:500;color:var(--ink)}
.tb-elementor :is(.tbe-native-hours-time,.tbe-native-hours-time p){color:#466170}

/* FAQ: .faq summary {15px; 600}, .faq details p 15px. */
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button{font-size:15px;font-weight:600}
.tb-elementor .tbe-native-faq :is(.tbe-faq-answer,.tbe-faq-answer p){font-size:15px}

/* About: doctor's name in the body font, 500. */
.tb-elementor .tbe-native-doctor-name .elementor-heading-title{font-family:var(--font);font-weight:500}

/* Articles: .article-content p, li {#415f70}; h2 35px; h3 28px. */
.tb-elementor .article-content .elementor-widget-text-editor{color:#415f70}
.tb-elementor .article-content h2.elementor-heading-title{font-size:35px;line-height:1.25}
.tb-elementor .article-content h3.elementor-heading-title{font-size:28px}

@media(max-width:1100px){
  .tb-elementor :is(.tbe-native-about-copy,.tbe-native-about-copy p){font-size:16px}
  .tb-elementor :is(.tbe-native-stat-detail .tbe-native-stat-label,.tbe-native-stat-detail .tbe-native-stat-label p){font-size:15px}
}
@media(max-width:980px){
  .tb-elementor :is(.tbe-native-services-intro,.tbe-native-services-intro p){font-size:14px}
  .tb-elementor :is(.tbe-native-appointment-copy,.tbe-native-appointment-copy p){font-size:15px}
  .tb-elementor .tbe-home-control-row .hero-scroll-link .elementor-button{font-size:11px}
  .tb-elementor .faq .tbe-section-title h2.elementor-heading-title{font-size:36px}
}
@media(max-width:900px){
  .tb-elementor :is(.tbe-native-hours-day,.tbe-native-hours-day p,.tbe-native-hours-time,.tbe-native-hours-time p){font-size:14px}
}
@media(max-width:760px){
  .tb-elementor :is(.clinic-proof-photo .tbe-native-photo-caption,.clinic-proof-photo .tbe-native-photo-caption p){font-size:16px}
  .tb-elementor :is(.tbe-native-stat-primary .tbe-native-stat-label,.tbe-native-stat-primary .tbe-native-stat-label p){font-size:13px}
  .tb-elementor :is(.tbe-native-stat-detail .tbe-native-stat-label,.tbe-native-stat-detail .tbe-native-stat-label p){font-size:16px}
}
@media(max-width:680px){
  /* .section-heading/.benefits-heading/.faq .eyebrow 9px; inner, doctor, hours and appointment eyebrows 10px; .section-number 8px */
  .tb-elementor :is(.section-heading,.benefits-heading,.faq) :is(.eyebrow.elementor-widget-text-editor,.eyebrow.elementor-widget-text-editor p,.tbe-section-eyebrow .elementor-heading-title){font-size:9px}
  .tb-elementor :is(.inner-section-heading,.tbe-native-doctor-introduction,.hours-welcome,.tbe-native-appointment) :is(.eyebrow.elementor-widget-text-editor,.eyebrow.elementor-widget-text-editor p){font-size:10px}
  .tb-elementor .tbe-section-number .elementor-heading-title{font-size:8px}
  .tb-elementor :is(.tbe-native-services-title,.tbe-section-title) h2.elementor-heading-title{font-size:44px}
  .tb-elementor .inner-section-heading h2.elementor-heading-title{font-size:43px}
  .tb-elementor .faq .tbe-section-title h2.elementor-heading-title{font-size:38px}
  .tb-elementor .tbe-native-practice .tbe-benefit-heading .elementor-heading-title{font-size:36px}
  .tb-elementor .inner-hero-quote .tbe-hero-title .elementor-heading-title{font-size:53px}
  .tb-elementor :is(.tbe-native-button,.tbe-native-cta,.tbe-native-not-found-button) .elementor-button,.tb-elementor .instagram-section .tbe-instagram-follow .elementor-button{font-size:13px}
  .tb-elementor :is(.tbe-home-booking,.tbe-home-explore,.tbe-native-hours-booking) .elementor-button{font-size:12px}
  .tb-elementor :is(.tbe-native-services-intro,.tbe-native-services-intro p,.tbe-native-services-footer-copy,.tbe-native-services-footer-copy p){font-size:14px}
  .tb-elementor :is(.practice-gallery-note,.practice-gallery-note p){font-size:11px}
  .tb-elementor :is(.tbe-benefit-copy,.tbe-benefit-copy p){font-size:15px}
  .tb-elementor .section-aside .tbe-comparison-aside-label .elementor-heading-title{font-size:11px}
  .tb-elementor :is(.tbe-comparison-instruction,.tbe-comparison-instruction p){font-size:8px}
  .tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button,.tb-elementor .tbe-native-faq :is(.tbe-faq-answer,.tbe-faq-answer p){font-size:14px}
  .tb-elementor .hours-phone .elementor-button{font-size:13px}
  .tb-elementor :is(.tbe-native-doctor-role,.tbe-native-doctor-role p){font-size:13px}
  .tb-elementor :is(.tbe-native-not-found-copy,.tbe-native-not-found-copy p){font-size:14px}
  .tb-elementor .article-content h2.elementor-heading-title{font-size:29px}
  .tb-elementor .article-content h3.elementor-heading-title{font-size:25px}
}
@media(max-width:370px){
  .tb-elementor .inner-hero-quote .tbe-hero-title .elementor-heading-title{font-size:36px}
}

/* Header and footer: theme .topline 11px, .nav>a 14px (13px ≤1200, 16px in the phone menu), .nav-book 14px (the later .button rule wins),
   .footer-grid>div / .footer-top>p 14px, .footer-grid .eyebrow 11px blue, .footer-grid .text-link 13px/500,
   .footer-description 13px, .footer-bottom 12px (each 1px smaller at 680px). */
.tb-elementor .tbe-native-topline :is(.elementor-widget-text-editor,.elementor-widget-text-editor p),.tb-elementor .tbe-native-topline-phone .elementor-button{font-size:11px}
.tb-elementor .tbe-native-nav-links .tbe-native-shell-link .elementor-button{font-size:14px}
.tb-elementor .tbe-native-nav-links .tbe-native-shell-link .elementor-button[aria-current]{color:var(--blue)}
.tb-elementor .tbe-native-nav-book .elementor-button{font-size:14px}
.tb-elementor :is(.tbe-native-footer-intro,.tbe-native-footer-intro p,.tbe-native-footer-column .elementor-widget-text-editor:not(.eyebrow),.tbe-native-footer-column .elementor-widget-text-editor:not(.eyebrow) p),.tb-elementor .tbe-native-footer-column .tbe-native-shell-link .elementor-button{font-size:14px}
.tb-elementor .tbe-native-footer-column :is(.eyebrow.elementor-widget-text-editor,.eyebrow.elementor-widget-text-editor p){font-size:11px;letter-spacing:.09em;color:var(--blue)}
.tb-elementor .tbe-native-footer-address-links .tbe-native-shell-link .elementor-button{font-size:13px;font-weight:500}
.tb-elementor .tbe-native-shell .tbe-native-footer-description.elementor-widget-text-editor{font-size:13px}
.tb-elementor .tbe-native-footer-bottom :is(.elementor-widget-text-editor,.elementor-widget-text-editor p),.tb-elementor .tbe-native-footer-bottom .elementor-button{font-size:12px}
.tb-elementor .tbe-native-back-top .elementor-button{font-weight:400;color:var(--text)}
@media(max-width:1200px){.tb-elementor .tbe-native-nav-links .tbe-native-shell-link .elementor-button{font-size:13px}}
@media(max-width:980px){.tb-elementor .tbe-native-nav-links .tbe-native-shell-link .elementor-button{font-size:16px}}
@media(max-width:680px){
  .tb-elementor .tbe-native-topline :is(.elementor-widget-text-editor,.elementor-widget-text-editor p){font-size:8px}
  .tb-elementor :is(.tbe-native-footer-intro,.tbe-native-footer-intro p,.tbe-native-footer-column .elementor-widget-text-editor:not(.eyebrow),.tbe-native-footer-column .elementor-widget-text-editor:not(.eyebrow) p),.tb-elementor .tbe-native-footer-column .tbe-native-shell-link .elementor-button{font-size:13px}
  .tb-elementor .tbe-native-footer-column :is(.eyebrow.elementor-widget-text-editor,.eyebrow.elementor-widget-text-editor p){font-size:10px}
  .tb-elementor .tbe-native-footer-address-links .tbe-native-shell-link .elementor-button{font-size:12px}
  .tb-elementor .tbe-native-shell .tbe-native-footer-description.elementor-widget-text-editor{font-size:12px}
  .tb-elementor .tbe-native-footer-bottom :is(.elementor-widget-text-editor,.elementor-widget-text-editor p),.tb-elementor .tbe-native-footer-bottom .elementor-button{font-size:11px}
}
@media(max-width:370px){.tb-elementor .tbe-native-topline :is(.elementor-widget-text-editor,.elementor-widget-text-editor p){font-size:7px}}
/* Top bar icons (theme pin and phone before the address and the number). */
.tb-elementor .tbe-native-topline-address{display:flex;align-items:center;gap:7px}
.tb-elementor :is(.tbe-native-topline-address,.tbe-native-topline-phone .elementor-button-text):before{content:'';flex:none;display:inline-block;width:13px;height:13px;margin-right:7px;vertical-align:-2px;background:currentColor;-webkit-mask:var(--tbe-icon) center/contain no-repeat;mask:var(--tbe-icon) center/contain no-repeat}
.tb-elementor .tbe-native-topline-address:before{margin-right:0;--tbe-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.tb-elementor .tbe-native-topline-phone .elementor-button-text:before{--tbe-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 3 3 5-3 3a16 16 0 0 0 6 6l3-3 5 3v3a2 2 0 0 1-2 2C9 22 2 15 2 5a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E")}

/* Primary buttons carry the theme's .button-icon: a 36px circle with the diagonal arrow, turning on hover. */
.tb-elementor :is(.tbe-native-button,.tbe-native-cta,.tbe-native-nav-book) .elementor-button{gap:22px;padding-right:9px}
.tb-elementor :is(.tbe-native-button,.tbe-native-cta,.tbe-native-nav-book) .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:22px}
.tb-elementor :is(.tbe-native-button,.tbe-native-cta,.tbe-native-nav-book) .elementor-button-content-wrapper:after{content:'';flex:none;width:36px;height:36px;border-radius:50%;background:#ffffff1f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/17px no-repeat;transition:transform .3s}
.tb-elementor :is(.tbe-native-button,.tbe-native-cta,.tbe-native-nav-book) .elementor-button:hover .elementor-button-content-wrapper:after{transform:rotate(45deg);background-color:#ffffff2d}
.tb-elementor .tbe-native-nav-book .elementor-button-content-wrapper:after{width:34px;height:34px}
/* .button.light and the white hero button: pale circle, blue arrow. */
.tb-elementor :is(.tbe-native-button.light,.tbe-native-cta) .elementor-button-content-wrapper:after{background-color:#e9f7fd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a7ba8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E")}
.tb-elementor .tbe-native-cta .elementor-button-text:after{content:none}

/* Theme icons on native links (theme tb_icon() inside .text-link, .hours-phone, …), drawn as masks in the text colour. */
.tb-elementor{--tbe-i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E");--tbe-i-diagonal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E");--tbe-i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 3 3 5-3 3a16 16 0 0 0 6 6l3-3 5 3v3a2 2 0 0 1-2 2C9 22 2 15 2 5a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");--tbe-i-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.tb-elementor :is(.tbe-home-explore,.tbe-faq-contact,.tbe-contact-action,.tbe-native-back-top,.tbe-native-services-all,.tbe-practice-link,.tbe-native-footer-booking,.tbe-native-footer-address-links,.tbe-native-about-link) .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:17px}
.tb-elementor :is(.tbe-home-explore,.tbe-faq-contact,.tbe-contact-action,.tbe-native-back-top,.tbe-native-services-all,.tbe-practice-link,.tbe-native-footer-booking,.tbe-native-footer-address-links,.tbe-native-about-link) .elementor-button-content-wrapper:after{content:'';flex:none;width:17px;height:17px;background:currentColor;-webkit-mask:var(--tbe-i,var(--tbe-i-arrow)) center/contain no-repeat;mask:var(--tbe-i,var(--tbe-i-arrow)) center/contain no-repeat;transition:transform .25s}
.tb-elementor :is(.tbe-native-services-all,.tbe-practice-link,.tbe-native-footer-booking,.tbe-native-footer-address-links,.tbe-native-about-link) .elementor-button,.tb-elementor .tbe-contact-action a[target=_blank]{--tbe-i:var(--tbe-i-diagonal)}
.tb-elementor :is(.tbe-home-explore,.tbe-faq-contact,.tbe-contact-action) .elementor-button:hover .elementor-button-content-wrapper:after{transform:translateX(4px)}
.tb-elementor .tbe-native-back-top .elementor-button-content-wrapper{gap:10px}
.tb-elementor .tbe-native-back-top .elementor-button-content-wrapper:after{width:12px;height:12px;transform:rotate(-90deg)}
/* .appointment-phone / .hours-phone: phone icon before the number. */
.tb-elementor :is(.appointment-phone,.hours-phone) .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.tb-elementor :is(.appointment-phone,.hours-phone) .elementor-button-content-wrapper:before{content:'';flex:none;width:17px;height:17px;background:currentColor;-webkit-mask:var(--tbe-i-phone) center/contain no-repeat;mask:var(--tbe-i-phone) center/contain no-repeat}
/* FAQ: .summary-icon, a 32px pale circle with a plus; open = blue circle, white cross (plus turned 45°). */
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button{display:flex;align-items:center;gap:25px;padding:24px 0;line-height:1.8}
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button:before{content:none}
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button:after{position:static;flex:none;width:32px;height:32px;margin-left:auto;border:1px solid var(--line);border-radius:50%;background:var(--pale);transform:none;transition:background .2s}
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button-content-wrapper{flex:1}
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button-text:after{content:'';position:absolute;right:9px;top:50%;width:14px;height:14px;margin-top:-7px;background:var(--blue);-webkit-mask:var(--tbe-i-plus) center/contain no-repeat;mask:var(--tbe-i-plus) center/contain no-repeat;transition:transform .25s}
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button[aria-expanded=true]:after{background:var(--blue);border-color:var(--blue)}
.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button[aria-expanded=true] .elementor-button-text:after{background:#fff;transform:rotate(45deg)}
@media(max-width:980px){.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button{gap:15px}}
@media(max-width:680px){.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button{padding-block:23px;gap:17px}.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button:after{width:29px;height:29px}.tb-elementor .tbe-native-faq .tbe-faq-question .elementor-button-text:after{right:7.5px}}
/* Appointment band: its photo fade lives on the section's own ::before, which Elementor 3.30 leaves without content. */
.tb-elementor .tbe-native-static.tbe-native-appointment:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none}
/* Footer link lists: left aligned, no extra spacing (theme: .footer-grid a {display:block;margin-top:7px}). */
.tb-elementor .tbe-native-footer-links.e-con{gap:0}
.tb-elementor .tbe-native-footer-links .elementor-widget-button,.tb-elementor .tbe-native-footer-links .elementor-button-wrapper{text-align:left}
.tb-elementor .tbe-native-footer-links .elementor-button-content-wrapper{justify-content:flex-start}

/* Footer top: the intro sits between logo and link (theme .footer-top is space-between, the <p> does not grow);
   column text after its heading starts 10px lower (.footer-grid p {margin-top:10px}). */
.tb-elementor .tbe-native-shell .tbe-native-footer-intro{flex:0 1 auto}
.tb-elementor .tbe-native-footer-column>.elementor-widget-text-editor:not(.eyebrow),.tb-elementor .tbe-native-footer-column>.eyebrow+.tbe-native-footer-links{margin-top:10px}
/* .appointment {display:flex;align-items:center}: a row, so the copy is centred vertically. */
.tb-elementor .tbe-native-static.tbe-native-appointment{flex-direction:row}
.tb-elementor .tbe-native-static.tbe-native-appointment>.appointment-grid,.tb-elementor .tbe-native-static.tbe-native-appointment>.container{width:100%}

/* .footer-services-list a {margin-top:0}: the 7px comes from the item padding only. */
.tb-elementor .tbe-native-footer-services-list .elementor-button{margin-top:0}

/* Those links now carry the theme icon: drop the older drawn chevron (native-static .text-link … :after). */
.tb-elementor :is(.tbe-native-services-all,.tbe-native-about-link,.tbe-native-footer-booking,.tbe-contact-action) .elementor-button-text:after{content:none}
/* Card "En savoir plus": theme .medical-card-action > span, a 34px circle with the diagonal arrow. */
.tb-elementor .medical-card-action .elementor-button-text:after{content:none}
.tb-elementor .medical-card-action .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.tb-elementor .medical-card-action .elementor-button-content-wrapper:after{content:'';flex:none;width:34px;height:34px;border-radius:50%;background:#ffffff20 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/17px no-repeat;transition:background-color .2s,transform .3s}
.tb-elementor .medical-card:hover .medical-card-action .elementor-button-content-wrapper:after{background-color:var(--sky);transform:rotate(45deg)}
/* .care-value > div {padding:38px} is meant for the theme's copy block, not the photo. */
.tb-elementor .care-value>.care-value-image{padding:0}

/* The theme card is one link (.medical-card-link): on the public page, clicks on the card text reach the card's photo link. */
body.tb-elementor:not(.elementor-editor-active) .medical-card .medical-card-copy{pointer-events:none}
body.tb-elementor:not(.elementor-editor-active) .medical-card .medical-card-action{pointer-events:auto}
body.tb-elementor .medical-card{cursor:pointer}

/* .comparison-images {height:220px;border-radius:20px} at 680px. */
@media(max-width:680px){.tb-elementor .tbe-native-comparison-images.e-con{height:220px;border-radius:20px}}

/* .clinic-proof-photo at 760px: {min-height:0;aspect-ratio:3/2;border-radius:22px}. */
@media(max-width:760px){.tb-elementor .clinic-proof-photo.e-con{min-height:0;height:auto;aspect-ratio:3/2;border-radius:22px}}

/* Care values at 680px: .care-value {min-height:350px;border-radius:22px}, .care-values-grid {gap:20px}. */
@media(max-width:680px){.tb-elementor .care-value.e-con{min-height:350px;border-radius:22px}.tb-elementor .care-values-grid.e-con{gap:20px}}

/* .clinic-proof-primary dd / .clinic-proof-details dd {line-height:1 / 1.1} (the heading default is 1.15). */
.tb-elementor .tbe-native-stat-primary .elementor-heading-title{line-height:1}
.tb-elementor .tbe-native-stat-detail .elementor-heading-title{line-height:1.1}
@media(max-width:760px){.tb-elementor .clinic-proof-primary.e-con:after{display:none}}

/* Opening hours: .hours-details-heading has a clock icon before the title; the booking button sits 30px below the title on phones. */
.tb-elementor .hours-details .elementor-widget-heading:first-child .elementor-heading-title{display:flex;align-items:center;gap:14px}
.tb-elementor .hours-details .elementor-widget-heading:first-child .elementor-heading-title:before{content:'';flex:none;width:26px;height:26px;background:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:680px){.tb-elementor .hours-details .elementor-widget-heading:first-child .elementor-heading-title{gap:10px}.tb-elementor .hours-details .elementor-widget-heading:first-child .elementor-heading-title:before{width:23px;height:23px}.tb-elementor .hours-welcome .tbe-native-hours-booking{margin-top:30px}}

/* Footer breakpoints (theme .footer-grid at 1200/980/680px, .footer at 680px): native-shell's later desktop grid rule outranked its own phone rules. */
@media(max-width:1200px){.tb-elementor .tbe-native-shell .tbe-native-footer-grid.e-con{gap:32px}}
@media(max-width:980px){.tb-elementor .tbe-native-shell .tbe-native-footer-grid.e-con{grid-template-columns:1fr 1fr;gap:30px 60px}}
@media(max-width:680px){
  .tb-elementor .tbe-native-shell.tbe-native-footer{padding-top:34px}
  .tb-elementor .tbe-native-shell .tbe-native-footer-grid.e-con{grid-template-columns:1fr 1fr;gap:28px 25px;padding-block:32px}
  .tb-elementor .tbe-native-shell .tbe-native-footer-top.e-con{gap:19px;padding-bottom:28px}
  .tb-elementor .tbe-native-shell .tbe-native-footer-brand img{width:90px;height:82px}
}

/* Article sidebar: .care-sidebar-services nav a[aria-current] {background:#dceff9;color:#165f84}, arrow after each label. */
.tb-elementor .tbe-native-aside-service .elementor-button[aria-current]{background:#dceff9;color:#165f84}
.tb-elementor .tbe-native-aside-service .elementor-button-text:after{content:none}
.tb-elementor .tbe-native-aside-service .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.tb-elementor .tbe-native-aside-service .elementor-button-content-wrapper:after{content:'';flex:none;width:17px;height:17px;background:currentColor;-webkit-mask:var(--tbe-i-arrow) center/contain no-repeat;mask:var(--tbe-i-arrow) center/contain no-repeat}

/* "Avant → Après": theme .comparison-arrows .icon, the blue 19px arrow. */
.tb-elementor .tbe-comparison-arrows .elementor-icon{display:block;line-height:0}
.tb-elementor .tbe-comparison-arrows .elementor-icon :is(svg,i){display:none}
.tb-elementor .tbe-comparison-arrows .elementor-icon:before{content:'';display:block;width:19px;height:19px;background:var(--blue);-webkit-mask:var(--tbe-i-arrow) center/contain no-repeat;mask:var(--tbe-i-arrow) center/contain no-repeat}

/* Contact cards: theme .contact-card>.icon, a 42px pale tile with the outline icon (pin, phone, clock); numbers start at the text edge. */
.tb-elementor .tbe-contact-icon .elementor-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--pale)}
.tb-elementor .tbe-contact-icon .elementor-icon :is(svg,i){display:none}
.tb-elementor .tbe-contact-icon .elementor-icon:before{content:'';width:22px;height:22px;background:var(--blue);-webkit-mask:var(--tbe-i) center/contain no-repeat;mask:var(--tbe-i) center/contain no-repeat}
.tb-elementor .tbe-contact-icon:has(.e-fas-map-marker-alt){--tbe-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.tb-elementor .tbe-contact-icon:has(.e-fas-phone-alt){--tbe-i:var(--tbe-i-phone)}
.tb-elementor .tbe-contact-icon:has(.e-far-clock){--tbe-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.tb-elementor .tbe-contact-card-copy :is(.elementor-widget-button,.elementor-button-wrapper){text-align:left}
.tb-elementor .tbe-contact-card-copy .elementor-button-content-wrapper{justify-content:flex-start}

/* Article layout = theme .page-layout (inner-pages.css): 360px aside, 64px gap (390/80 from 1650px, 320/35 below 1100px, one column below 900px).
   Sidebar card: .doctor-contact .button full width; phone icon before the number. */
.tb-elementor .tbe-article-layout{grid-template-columns:minmax(0,1fr) 360px;gap:64px}
@media(min-width:1650px){.tb-elementor .tbe-article-layout{grid-template-columns:minmax(0,1fr) 390px;gap:80px}}
@media(max-width:1100px){.tb-elementor .tbe-article-layout{grid-template-columns:minmax(0,1fr) 320px;gap:35px}}
@media(max-width:900px){.tb-elementor .tbe-article-layout{grid-template-columns:1fr;gap:50px}}
@media(max-width:680px){.tb-elementor .tbe-article-layout{gap:45px}}
.tb-elementor .tbe-native-aside-booking,.tb-elementor .tbe-native-aside-booking .elementor-button{width:100%}
.tb-elementor .tbe-native-aside-booking .elementor-button-content-wrapper{justify-content:space-between;width:100%}
.tb-elementor .aside-phone .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.tb-elementor .aside-phone .elementor-button-content-wrapper:before{content:'';flex:none;width:19px;height:19px;background:currentColor;-webkit-mask:var(--tbe-i-phone) center/contain no-repeat;mask:var(--tbe-i-phone) center/contain no-repeat}

/* The article's first heading starts at the top (in the theme its margin-top does not apply to the first child). */
.tb-elementor .article-content>.elementor-element:first-child .elementor-heading-title{margin-top:0}

/* Gallery photos: theme .practice-photo-open, a 37px ring with the diagonal arrow at the caption's right end (30px at 980px, 27px at 680px). */
.tb-elementor .tbe-practice-photo-caption:after{content:'';position:absolute;right:0;bottom:0;width:37px;height:37px;box-sizing:border-box;border:1px solid #ffffff7a;border-radius:50%;background:#ffffff14 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/17px no-repeat;pointer-events:none;transition:background-color .3s,transform .3s}
@media(hover:hover){.tb-elementor .tbe-practice-photo:hover .tbe-practice-photo-caption:after{background-color:#ffffff30;transform:rotate(45deg)}}
@media(max-width:980px){.tb-elementor .tbe-practice-photo-caption:after{width:30px;height:30px}}
@media(max-width:680px){.tb-elementor .tbe-practice-photo-caption:after{width:27px;height:27px;background-size:14px}}

/* Tablet breakpoints (theme site.css 1200/980px, inner-pages.css 1100/900px). */
.tb-elementor .tbe-native-motion-toggle .elementor-button{font-weight:400}
@media(max-width:1200px){
  .tb-elementor .tbe-home-caption-title .elementor-heading-title{font-size:17px}
  .tb-elementor .medical-card .tbe-native-card-title .elementor-heading-title{font-size:27px}
  .tb-elementor :is(.tbe-native-card-description,.tbe-native-card-description p){font-size:13px}
}
@media(max-width:1100px){
  .tb-elementor .tbe-native-aside-name .elementor-heading-title{font-size:35px}
  .tb-elementor .tbe-native-value-title .elementor-heading-title{font-size:31px}
  .tb-elementor .tbe-native-hours-heading .elementor-heading-title{font-size:23px}
}
@media(max-width:980px){
  .tb-elementor .medical-card .tbe-native-card-title .elementor-heading-title{font-size:29px}
  .tb-elementor :is(.tbe-native-card-description,.tbe-native-card-description p){font-size:14px}
  .tb-elementor .tbe-native-appointment-title .elementor-heading-title{font-size:60px}
  .tb-elementor :is(.tbe-review-quote,.tbe-review-quote blockquote){font-size:17px}
  .tb-elementor :is(.tbe-home-intro,.tbe-home-intro p){font-size:15px}
  .tb-elementor .tbe-practice-photo:not(:first-child) .tbe-practice-photo-label .elementor-heading-title{font-size:17px}
}
@media(max-width:900px){
  .tb-elementor .tbe-native-doctor-name .elementor-heading-title{font-size:21px}
  .tb-elementor :is(.tbe-native-doctor-role,.tbe-native-doctor-role p){font-size:12px}
  .tb-elementor .tbe-native-about-title .elementor-heading-title,.tb-elementor .tbe-native-hours-title .elementor-heading-title{font-size:40px}
  .tb-elementor .tbe-native-gallery-caption .elementor-heading-title{font-size:24px}
}
@media(max-width:680px){
  .tb-elementor .medical-card .tbe-native-card-title .elementor-heading-title{font-size:32px}
  .tb-elementor .tbe-native-appointment-title .elementor-heading-title{font-size:58px}
  .tb-elementor :is(.tbe-review-quote,.tbe-review-quote blockquote){font-size:16px}
  .tb-elementor :is(.tbe-home-intro,.tbe-home-intro p){font-size:14px}
  .tb-elementor .tbe-native-aside-name .elementor-heading-title{font-size:40px}
  .tb-elementor .tbe-native-value-title .elementor-heading-title{font-size:32px}
  .tb-elementor .tbe-native-hours-heading .elementor-heading-title{font-size:24px}
  .tb-elementor .tbe-native-about-title .elementor-heading-title{font-size:43px}
  .tb-elementor .tbe-native-hours-title .elementor-heading-title{font-size:41px}
  .tb-elementor .tbe-native-gallery-caption .elementor-heading-title{font-size:28px}
}
@media(max-width:370px){
  .tb-elementor .tbe-native-about-title .elementor-heading-title{font-size:39px}
  .tb-elementor .tbe-native-hours-title .elementor-heading-title{font-size:37px}
  .tb-elementor .tbe-native-gallery-caption .elementor-heading-title{font-size:25px}
}

/* Phone values after the tablet ones (theme 680/370px). */
.tb-elementor .tbe-native-aside-service .elementor-button{font-size:14px}
@media(max-width:680px){
  .tb-elementor .tbe-native-aside-service .elementor-button{font-size:15px}
  .tb-elementor .tbe-practice-photo:not(:first-child) .tbe-practice-photo-label .elementor-heading-title{font-size:16px}
  .tb-elementor .tbe-native-doctor-name .elementor-heading-title{font-size:24px}
  .tb-elementor :is(.tbe-native-doctor-role,.tbe-native-doctor-role p){font-size:13px}
  .tb-elementor :is(.tbe-comparison-reference,.tbe-comparison-reference p){font-size:8px}
}

/* Theme 370px rules. */
@media(max-width:370px){
  .tb-elementor .tbe-hero-title .elementor-heading-title{font-size:36px}
  .tb-elementor .tbe-home-title .elementor-heading-title{font-size:48px}
  .tb-elementor .tbe-home-actions.e-con{flex-direction:column;align-items:flex-start;gap:9px}
  .tb-elementor :is(.tbe-native-stat-primary .tbe-native-stat-label,.tbe-native-stat-primary .tbe-native-stat-label p){font-size:12px}
  .tb-elementor .clinic-proof-primary.e-con{margin-inline:10px;padding:30px 24px}
}

/* .section padding-block 106 / 78 (980px) / 63 (680px) for the comparisons, reviews and FAQ sections; comparison photos 250px at 980px;
   .hours-card {padding:40px;gap:35px} at 1100px, {padding:35px;gap:30px} at 900px, .hours-details padding 27 / 24px. */
.tb-elementor :is(.tbe-native-comparisons,.tbe-native-reviews,.tbe-native-faq).e-con{padding-block:106px}
@media(max-width:1100px){.tb-elementor .hours-card.e-con{padding:40px;gap:35px}.tb-elementor .hours-details.e-con{padding:27px}}
@media(max-width:980px){.tb-elementor :is(.tbe-native-comparisons,.tbe-native-reviews,.tbe-native-faq).e-con{padding-block:78px}.tb-elementor .tbe-native-comparison-images.e-con{height:250px}}
@media(max-width:900px){.tb-elementor .hours-card.e-con{padding:35px;gap:30px}.tb-elementor .hours-details.e-con{padding:24px}}
@media(max-width:680px){.tb-elementor :is(.tbe-native-comparisons,.tbe-native-reviews,.tbe-native-faq).e-con{padding-block:63px}.tb-elementor .tbe-native-comparison-images.e-con{height:220px}.tb-elementor .hours-card.e-con{padding:28px 20px 20px;gap:35px}.tb-elementor .hours-details.e-con{padding:24px 21px}}
@media(max-width:370px){.tb-elementor .hours-card.e-con{padding:25px 15px 15px}.tb-elementor .hours-details.e-con{padding:23px 17px}}

/* About gallery: .clinic-photo>img 390 / 330 (900px) / 320px (680px); caption 23px from the edges at 900px; the 42px ring with the diagonal arrow. */
.tb-elementor .clinic-photo.e-con:after{content:'';position:absolute;right:28px;bottom:28px;z-index:3;width:42px;height:42px;box-sizing:border-box;border:1px solid #ffffff70;border-radius:50%;background:#ffffff14 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center/19px no-repeat;pointer-events:none;transition:transform .3s}
@media(hover:hover){.tb-elementor .clinic-photo.e-con:hover:after{transform:rotate(45deg)}}
@media(max-width:900px){.tb-elementor .clinic-photo.e-con{height:330px;min-height:0}.tb-elementor .clinic-photo .tbe-native-gallery-caption{left:23px;right:23px;bottom:24px}.tb-elementor .clinic-photo.e-con:after{right:23px;bottom:24px}}
@media(max-width:680px){.tb-elementor .clinic-photo.e-con{height:320px}}

/* .faq-layout gap 90 / 60 (1200px) / 35 (980px); one column with 34px at 680px. */
.tb-elementor .tbe-native-faq-layout.e-con{gap:90px}
@media(max-width:1200px){.tb-elementor .tbe-native-faq-layout.e-con{gap:60px}}
@media(max-width:980px){.tb-elementor .tbe-native-faq-layout.e-con{gap:35px}}
@media(max-width:680px){.tb-elementor .tbe-native-faq-layout.e-con{grid-template-columns:1fr;gap:34px}}

/* flexgen:start */
/* Generated from native-*.css by scripts/build-parity-flex.py: Elementor 3.30 outranks those files' :where() rules on containers
 * (flex-direction, flex at 0,2,0) and on widgets (margin-block-end at 0,3,0, max-width at 0,4,0).
 * Same declarations, same order, raised specificity. */
body.tb-elementor .elementor.elementor .tbe-native-hero{max-width:none}
body.tb-elementor .elementor.elementor .tbe-hero-photo.elementor-widget{max-width:none}
body.tb-elementor .tbe-native-breadcrumb.e-con{flex-direction:row}
body.tb-elementor .elementor.elementor .tbe-hero-eyebrow{margin-bottom:22px}
body.tb-elementor .elementor.elementor .tbe-hero-title .elementor-heading-title{max-width:860px}
body.tb-elementor .elementor.elementor :where(.inner-hero-blog,.inner-hero-contact) .tbe-hero-title .elementor-heading-title{max-width:720px}
body.tb-elementor .elementor.elementor :where(.inner-hero-article) .tbe-hero-title .elementor-heading-title{max-width:900px}
body.tb-elementor .elementor.elementor .tbe-hero-intro{max-width:760px}
body.tb-elementor .elementor.elementor .tbe-form-title .elementor-heading-title{margin-bottom:17px}
body.tb-elementor .tbe-native-contact-card.e-con{flex-direction:row}
body.tb-elementor .tbe-contact-icon.elementor-widget{flex:0 0 42px}
body.tb-elementor .tbe-contact-card-copy.e-con{flex-direction:column;flex:1}
@media(max-width:680px){body.tb-elementor .elementor.elementor .tbe-hero-eyebrow{margin-bottom:20px}}
@media(max-width:680px){body.tb-elementor .elementor.elementor .tbe-hero-title .elementor-heading-title,body.tb-elementor .elementor.elementor :where(.inner-hero-article) .tbe-hero-title .elementor-heading-title{max-width:100%}}
body.tb-elementor .tbe-native-static :where(.section-heading.e-con){flex-direction:row}
body.tb-elementor .tbe-native-static :where(.inner-section-heading.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.section-heading .eyebrow,.inner-section-heading .eyebrow){margin-bottom:20px}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.section-heading>.tbe-native-services-intro){max-width:43%}
body.tb-elementor .tbe-native-static :where(.medical-card.e-con){flex-direction:column}
body.tb-elementor .tbe-native-static :where(.medical-card-copy.e-con){flex-direction:column}
body.tb-elementor .tbe-native-static :where(.services-after.e-con){flex-direction:row}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.services-after .elementor-widget-text-editor){max-width:790px}
body.tb-elementor .tbe-native-static :where(.doctor-portrait-caption.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.doctor-introduction .eyebrow){margin-bottom:23px}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.doctor-introduction .elementor-heading-title){max-width:620px;margin-bottom:30px}
body.tb-elementor .tbe-native-static :where(.care-value.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.care-value-index){margin-bottom:35px}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.care-value .elementor-heading-title){max-width:400px}
body.tb-elementor .tbe-native-static :where(.clinic-proof-primary.e-con){flex-direction:column}
body.tb-elementor .tbe-native-static :where(.tbe-native-stat-detail.e-con){flex-direction:row}
body.tb-elementor .tbe-native-static :where(.hours-welcome.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.hours-welcome .eyebrow){margin-bottom:23px}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.hours-details .elementor-heading-title){margin-bottom:25px}
body.tb-elementor .tbe-native-static :where(.tbe-native-hours-row.e-con){flex-direction:row}
body.tb-elementor .tbe-native-static :where(.tbe-native-process-step.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.tbe-native-process-title .elementor-heading-title){max-width:225px}
body.tb-elementor .tbe-native-static :where(.tbe-native-appointment-actions.e-con){flex-direction:row}
body.tb-elementor .tbe-native-static :where(.doctor-contact.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.doctor-contact .elementor-heading-title){margin-bottom:18px}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.care-sidebar-services .elementor-heading-title){margin-bottom:23px}
body.tb-elementor .tbe-native-static :where(.tbe-native-aside-services-list.e-con){flex-direction:column}
@media(max-width:980px){body.tb-elementor .tbe-native-static :where(.services-after.e-con){flex-direction:column}}
@media(max-width:760px){body.tb-elementor .tbe-native-static :where(.clinic-proof-primary.e-con){flex-direction:row}}
@media(max-width:680px){body.tb-elementor .tbe-native-static :where(.section-heading.e-con){flex-direction:column}}
@media(max-width:680px){body.tb-elementor .elementor.elementor .tbe-native-static :where(.section-heading>.tbe-native-services-intro){max-width:100%}}
body.tb-elementor .elementor.elementor .tbe-native-static :where(.doctor-introduction) .elementor-heading-title{max-width:620px}
@media(max-width:980px){body.tb-elementor .tbe-native-static :where(.services-after).e-con{flex-direction:column}}
@media(max-width:760px){body.tb-elementor .tbe-native-static :where(.clinic-proof-primary).e-con{flex-direction:row}}
@media(max-width:680px){body.tb-elementor .tbe-native-static :where(.section-heading).e-con{flex-direction:column}}
body.tb-elementor .tbe-native-process .story-step.e-con{flex-direction:row}
body.tb-elementor .tbe-native-process .tbe-story-copy.e-con{flex:1}
body.tb-elementor .elementor.elementor .tbe-native-process .story-number{margin:0}
body.tb-elementor .tbe-native-process .story-chip.e-con{flex-direction:row}
body.tb-elementor .tbe-native-shell :where(.tbe-native-topline.e-con){flex-direction:row}
body.tb-elementor .tbe-native-shell :where(.tbe-native-nav-wrap.e-con){flex-direction:row}
body.tb-elementor .tbe-native-shell :where(.tbe-native-nav-links.e-con){flex-direction:row}
body.tb-elementor .elementor.elementor .tbe-native-shell :where(.tbe-native-menu-toggle .elementor-button-icon){margin:0}
body.tb-elementor .tbe-native-shell :where(.tbe-native-footer-container.e-con){flex-direction:column}
body.tb-elementor .tbe-native-shell :where(.tbe-native-footer-top.e-con){flex-direction:row}
body.tb-elementor .tbe-native-shell :where(.tbe-native-footer-column.e-con,.tbe-native-footer-links.e-con){flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-shell :where(.tbe-native-footer-column>.eyebrow){margin-bottom:17px}
body.tb-elementor .elementor.elementor .tbe-native-shell :where(.tbe-native-footer-description){max-width:950px}
body.tb-elementor .tbe-native-shell :where(.tbe-native-footer-bottom.e-con){flex-direction:row}
@media(max-width:680px){body.tb-elementor .tbe-native-shell :where(.tbe-native-footer-top.e-con){flex-direction:column}}
@media(max-width:680px){body.tb-elementor .elementor.elementor .tbe-native-shell :where(.tbe-native-footer-column>.eyebrow){margin-bottom:14px}}
body.tb-elementor .elementor.elementor .tbe-native-shell .tbe-native-footer-description.elementor-widget-text-editor{max-width:950px}
@media(max-width:980px){body.tb-elementor .tbe-native-shell :where(.tbe-native-nav-links.is-open).e-con{flex-direction:column}}
@media(max-width:680px){body.tb-elementor .tbe-native-shell :where(.tbe-native-footer-top).e-con{flex-direction:column}}
body.tb-elementor .tbe-native-shell .tbe-native-topline-end.e-con{flex-direction:row}
body.tb-elementor .tbe-native-shell .tbe-native-topline-social.e-con{flex-direction:row}
body.tb-elementor .elementor.elementor .tbe-native-shell .tbe-native-topline-social-link .elementor-button-icon{margin:0}
body.tb-elementor .elementor.elementor .tbe-native-shell .tbe-native-topline-social-link .elementor-button-text{margin:-1px}
body.tb-elementor .elementor.elementor .tbe-native-whatsapp-float.elementor-widget .elementor-button-icon{margin:0}
@media (max-width:980px){body.tb-elementor .elementor.elementor .tbe-native-shell .tbe-native-nav-phone .elementor-button-icon{margin:0}}
@media (max-width:980px){body.tb-elementor .elementor.elementor .tbe-native-whatsapp-float.elementor-widget .elementor-button-text{margin:-1px}}
body.tb-elementor .tbe-native-blog .empty-results.e-con{flex-direction:column}
body.tb-elementor .tbe-native-section-heading.e-con{flex-direction:row}
body.tb-elementor .tbe-section-eyebrow-row.e-con{flex-direction:row}
body.tb-elementor .tbe-native-photo-hero.e-con{flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-home-hero-image.elementor-widget{max-width:none}
body.tb-elementor .elementor.elementor .tbe-home-title .elementor-heading-title{margin-bottom:27px}
body.tb-elementor .tbe-home-actions.e-con{flex-direction:row}
body.tb-elementor .tbe-home-control-row.e-con{flex-direction:row}
body.tb-elementor .tbe-native-marquee-shell.e-con{flex-direction:row}
body.tb-elementor .tbe-native-marquee-viewport.e-con{flex:1}
body.tb-elementor .tbe-native-marquee-track.e-con{flex-direction:row}
body.tb-elementor .elementor.elementor :is(.tbe-comparison-before,.tbe-comparison-after).elementor-widget{max-width:none}
body.tb-elementor .elementor.elementor .tbe-comparison-label.elementor-widget{max-width:calc(50% - 36px)}
body.tb-elementor .tbe-comparison-caption.e-con{flex-direction:row}
body.tb-elementor .tbe-comparison-aside.e-con{flex-direction:row}
body.tb-elementor .elementor.elementor .tbe-review-quote blockquote{margin:0}
body.tb-elementor .tbe-review-author.e-con{flex-direction:row}
body.tb-elementor .elementor.elementor .tbe-practice-photo-image.elementor-widget{max-width:none}
body.tb-elementor .tbe-practice-photo-caption.e-con{flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-benefits-heading .tbe-section-eyebrow{margin-bottom:21px}
body.tb-elementor .tbe-native-benefit.e-con{flex-direction:row}
@media(max-width:680px){body.tb-elementor .tbe-native-section-heading.e-con{flex-direction:column}}
@media(max-width:680px){body.tb-elementor .elementor.elementor .tbe-home-title .elementor-heading-title{margin-bottom:22px}}
body.tb-elementor .elementor.elementor .tbe-native-practice .tbe-native-benefits-heading>.tbe-section-eyebrow{margin:0}
body.tb-elementor .elementor.elementor .tbe-benefits-lead{max-width:560px}
body.tb-elementor .tbe-native-practice .tbe-native-benefit.e-con{flex-direction:column}
body.tb-elementor .elementor.elementor .tbe-native-practice .tbe-benefit-number.elementor-widget{margin-bottom:14px}
body.tb-elementor .elementor.elementor .tbe-review-stars{margin:22px 0 14px}
/* flexgen:end */
