/* HappyDent Blocks — scoped styles. No theme-level resets. */
.hdb-root{
  --hdb-primary:#5b0a7a;
  --hdb-primary-dark:#43065c;
  --hdb-teal:#0e6578;
  --hdb-text:#171717;
  --hdb-muted:#646464;
  --hdb-line:#e8e5eb;
  --hdb-container:1200px;
  width:100%;
  clear:both;
  color:var(--hdb-text);
  font-family:inherit;
  font-size:16px;
  line-height:1.45;
}
.hdb-root,.hdb-root *{box-sizing:border-box}
.hdb-root img{display:block;max-width:100%;height:auto}
.hdb-root a{text-decoration:none}
.hdb-root button,.hdb-root input{font:inherit}
.hdb-container{width:min(calc(100% - 48px),var(--hdb-container));margin-inline:auto}
.hdb-section-title{text-align:center;margin-bottom:28px}
.hdb-section-title h2{margin:0!important;font-size:30px!important;line-height:1.15!important;font-weight:900!important;color:var(--hdb-primary)!important;text-transform:uppercase}
.hdb-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:13px 28px!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,var(--hdb-primary),#7a139b)!important;color:#fff!important;font-size:14px!important;font-weight:900!important;line-height:1.15!important;text-decoration:none!important;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease}
.hdb-button:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(67,6,92,.16)}
.hdb-button-light{background:#fff!important;color:var(--hdb-primary)!important;box-shadow:0 7px 20px rgba(0,0,0,.13)}
.hdb-block-actions{text-align:center;margin-top:26px}

/* Doctors */
.hdb-doctors-section{padding:52px 0 40px;background:#fff}
.hdb-carousel-wrap{position:relative;padding:0 40px}
.hdb-doctors-track{display:flex;gap:22px;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 2px 10px}
.hdb-doctors-track::-webkit-scrollbar{display:none}
.hdb-doctor-slide{flex:0 0 calc((100% - 66px)/4);min-width:0;text-align:center;scroll-snap-align:start}
.hdb-doctor-slide>a{display:block;color:inherit!important;text-decoration:none!important}
.hdb-doctor-slide img{width:100%!important;aspect-ratio:4/5!important;height:auto!important;object-fit:cover!important;object-position:center top!important;border-radius:10px!important;background:#f2f2f2}
.hdb-doctor-slide h3{font-size:15px!important;line-height:1.25!important;margin:12px 0 4px!important;font-weight:800!important;color:#171717!important}
.hdb-doctor-slide p{font-size:12px!important;line-height:1.35!important;margin:0!important;color:#454045!important;min-height:32px}
.hdb-carousel-btn{position:absolute;top:42%;transform:translateY(-50%);width:36px;height:56px;padding:0!important;border:0!important;background:transparent!important;color:var(--hdb-primary)!important;font-size:46px!important;font-weight:400!important;line-height:1!important;cursor:pointer;z-index:3;box-shadow:none!important}
.hdb-carousel-prev{left:-4px}.hdb-carousel-next{right:-4px}

/* Shared media heading */
.hdb-media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}
.hdb-media-heading h2{margin:0 0 8px!important;font-size:30px!important;line-height:1.15!important;font-weight:900!important;color:var(--hdb-primary)!important}
.hdb-media-heading p{margin:0!important;max-width:760px;font-size:15px!important;line-height:1.5!important;color:#5d5d5d!important}
.hdb-media-heading-light h2{color:#fff!important}
.hdb-media-heading-light p{color:rgba(255,255,255,.9)!important}

/* Instagram — clean white variant */
.hdb-instagram-section{padding:58px 0 54px;color:#171717;background:#fff}
.hdb-instagram-block{max-width:1160px;margin:0 auto}
.hdb-instagram-section .hdb-media-heading h2{color:#171717!important;text-transform:none}
.hdb-instagram-section .hdb-media-heading p{color:#555!important}
.hdb-instagram-heading-icon{width:48px;height:48px;border:1px solid #ded6e4;border-radius:14px;display:grid;place-items:center;flex:0 0 48px;color:var(--hdb-primary);background:#fff;box-shadow:0 8px 24px rgba(67,6,92,.08)}
.hdb-instagram-heading-icon svg{width:25px;height:25px;fill:currentColor}
.hdb-instagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:18px;align-items:stretch}
.hdb-instagram-count-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.hdb-instagram-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hdb-instagram-count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px;margin:0 auto}
.hdb-instagram-card{position:relative;display:block;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#f5f3f6;border:1px solid #e7e2e9;box-shadow:0 10px 28px rgba(32,18,38,.08);isolation:isolate;text-decoration:none!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hdb-instagram-card:hover{transform:translateY(-4px);border-color:#d3c4dc;box-shadow:0 17px 38px rgba(48,18,62,.13)}
.hdb-instagram-card::before{content:"";position:absolute;inset:-14px;background-image:var(--hdb-ig-bg);background-size:cover;background-position:center;filter:blur(18px) brightness(.96) saturate(.82);transform:scale(1.08);opacity:.38;z-index:0}
.hdb-instagram-card::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);pointer-events:none;z-index:3}
.hdb-instagram-card>img{position:relative;z-index:1;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;transition:transform .32s ease}
.hdb-instagram-card:hover>img{transform:scale(1.025)}
.hdb-instagram-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:flex-start;gap:8px;padding:16px 16px 14px;color:#fff;background:linear-gradient(180deg,rgba(25,18,28,0) 48%,rgba(20,16,22,.72) 100%)}
.hdb-instagram-overlay span{width:18px;height:18px;display:inline-flex}.hdb-instagram-overlay svg{width:18px;height:18px;fill:currentColor}
.hdb-instagram-overlay strong{font-size:12px;line-height:1.35;font-weight:800;color:#fff}
.hdb-instagram-placeholder-icon{position:absolute;inset:0;display:grid;place-items:center;color:var(--hdb-primary)}.hdb-instagram-placeholder-icon svg{width:50px;height:50px;fill:currentColor}
.hdb-instagram-section .hdb-block-actions{margin-top:30px}
.hdb-instagram-section .hdb-button-light{background:#fff!important;color:#171717!important;border:1px solid #d9d3dd!important;box-shadow:none!important}
.hdb-instagram-section .hdb-button-light:hover{color:var(--hdb-primary)!important;border-color:#c8b4d2!important;box-shadow:0 8px 24px rgba(67,6,92,.08)!important}

/* YouTube */
.hdb-youtube-section{background:#fff;padding:58px 0}
.hdb-youtube-heading-icon{width:48px;height:48px;border-radius:14px;background:#ff1f1f;color:#fff;display:grid;place-items:center;flex:0 0 48px;box-shadow:0 9px 24px rgba(255,31,31,.18)}
.hdb-youtube-heading-icon svg{width:28px;height:28px;fill:currentColor}
.hdb-youtube-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hdb-youtube-card{border:1px solid #ece8ef;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 9px 28px rgba(38,8,50,.06)}
.hdb-youtube-thumb{display:block;position:relative;aspect-ratio:16/9;background:#181818;overflow:hidden;text-decoration:none!important}
.hdb-youtube-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .25s ease}
.hdb-youtube-thumb:hover img{transform:scale(1.025)}
.hdb-youtube-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:52px;color:#ff2020;filter:drop-shadow(0 5px 10px rgba(0,0,0,.28))}
.hdb-youtube-play svg{width:72px;height:52px;fill:currentColor}
.hdb-youtube-copy{padding:20px 21px 22px}
.hdb-youtube-copy h3{font-size:18px!important;line-height:1.3!important;margin:0 0 8px!important;color:#171717!important;font-weight:800!important}
.hdb-youtube-copy p{font-size:14px!important;line-height:1.5!important;color:#626262!important;margin:0 0 13px!important}
.hdb-youtube-copy>a{font-size:13px!important;color:var(--hdb-primary)!important;font-weight:800!important;text-decoration:none!important}

/* FAQ */
.hdb-faq-section{padding:50px 0;background:#fff}
.hdb-faq-list{max-width:1040px;margin:0 auto;display:grid;gap:8px}
.hdb-faq-item{border:1px solid #e8e5ea;border-radius:10px;overflow:hidden;background:#fff}
.hdb-faq-question{width:100%;min-height:54px;border:0!important;background:#fff!important;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px!important;text-align:left;cursor:pointer;font-size:15px!important;line-height:1.35!important;font-weight:700!important;color:#171717!important;box-shadow:none!important}
.hdb-faq-chevron{width:24px;height:24px;color:var(--hdb-primary);flex:0 0 24px;transition:transform .2s ease}.hdb-faq-chevron svg{width:24px;height:24px;fill:currentColor}
.hdb-faq-item.is-open .hdb-faq-chevron{transform:rotate(180deg)}
.hdb-faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease}
.hdb-faq-answer>div{padding:0 18px 17px;color:#555;font-size:14px;line-height:1.6}
.hdb-faq-answer p{margin:0 0 8px!important}.hdb-faq-answer p:last-child{margin-bottom:0!important}

/* CTA */
.hdb-cta-section{background:#fff;padding:58px 0}
.hdb-cta-card{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid #ebe5ef;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(67,6,92,.09)}
.hdb-cta-copy{padding:48px 50px;background:linear-gradient(135deg,var(--hdb-primary-dark),#751094);color:#fff;display:flex;flex-direction:column;justify-content:center}
.hdb-cta-kicker{font-size:11px;letter-spacing:.08em;font-weight:800;opacity:.84;margin-bottom:14px}
.hdb-cta-copy h2{font-size:36px!important;line-height:1.14!important;margin:0 0 18px!important;color:#fff!important;font-weight:900!important}
.hdb-cta-copy p{font-size:16px!important;line-height:1.55!important;margin:0!important;max-width:560px;color:rgba(255,255,255,.9)!important}
.hdb-cta-form-wrap{padding:38px 42px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.hdb-cta-form{display:grid;gap:15px}
.hdb-cta-form label{display:grid;gap:7px;margin:0!important}
.hdb-cta-form label>span{font-size:12px;font-weight:800;color:#2e2e2e}
.hdb-cta-form input[type=text],.hdb-cta-form input[type=tel]{width:100%!important;height:50px!important;border:1px solid #ded9e2!important;border-radius:10px!important;padding:0 14px!important;outline:0!important;background:#fff!important;color:#171717!important;box-shadow:none!important}
.hdb-cta-form input:focus{border-color:#7a169b!important;box-shadow:0 0 0 3px rgba(112,18,150,.09)!important}
.hdb-cta-form button{height:52px!important;border:0!important;border-radius:26px!important;background:linear-gradient(90deg,var(--hdb-primary),#7a139b)!important;color:#fff!important;font-weight:900!important;cursor:pointer;padding:0 22px!important;box-shadow:none!important}
.hdb-cta-popup-action{display:flex;align-items:center;justify-content:center;min-height:150px;width:100%}
.hdb-cta-popup-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;padding:14px 30px!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,var(--hdb-primary),#7a139b)!important;color:#fff!important;text-decoration:none!important;font-weight:600!important;line-height:1.2!important;text-align:center;cursor:pointer;box-shadow:none!important;transition:transform .2s ease,box-shadow .2s ease}
.hdb-cta-popup-button:hover,.hdb-cta-popup-button:focus{color:#fff!important;text-decoration:none!important;transform:translateY(-1px);box-shadow:0 10px 24px rgba(93,10,124,.16)!important}
.hdb-cta-form small{font-size:11px;line-height:1.4;color:#777}
.hdb-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.hdb-form-success{background:#eef9f1;border:1px solid #bfe5c9;color:#246b36;border-radius:10px;padding:12px 14px;margin-bottom:15px;font-size:13px;font-weight:700}

/* Contacts */
.hdb-contacts-section{padding:54px 0 48px;background:linear-gradient(135deg,var(--hdb-primary) 0%,var(--hdb-primary-dark) 100%);color:#fff}
.hdb-contacts-head{text-align:center;margin-bottom:28px}
.hdb-contacts-head>span{display:block;font-size:12px;font-weight:900;letter-spacing:.12em;margin-bottom:7px;color:rgba(255,255,255,.72)}
.hdb-contacts-head h2{margin:0!important;font-size:32px!important;line-height:1.15!important;color:#fff!important;font-weight:900!important}
.hdb-contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hdb-contacts-count-1{grid-template-columns:minmax(0,760px);justify-content:center}
.hdb-city-card{overflow:hidden;border-radius:20px;background:#fff;color:var(--hdb-text);box-shadow:0 16px 42px rgba(20,0,30,.22)}
.hdb-city-copy{padding:25px 26px 22px}
.hdb-city-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.hdb-city-title-row h3{margin:0!important;font-size:25px!important;line-height:1.2!important;color:var(--hdb-primary)!important;font-weight:900!important}
.hdb-city-pin{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f7effa;color:var(--hdb-primary);flex:0 0 34px}.hdb-city-pin svg{width:19px;height:19px;fill:currentColor}
.hdb-city-address{font-size:18px!important;line-height:1.4!important;font-weight:750!important;margin:0 0 14px!important;color:#302a31!important}
.hdb-city-phones{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:13px}.hdb-city-phones a{font-size:18px!important;line-height:1.35!important;font-weight:900!important;color:var(--hdb-primary)!important;text-decoration:none!important}
.hdb-city-hours{font-size:16px!important;line-height:1.45!important;font-weight:650!important;color:#5f5861!important;margin:0!important}
.hdb-city-map{width:100%;aspect-ratio:4/3;background:#eee}.hdb-city-map iframe{display:block;width:100%;height:100%;border:0}

@media(max-width:1160px){
  .hdb-instagram-count-5{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:980px){
  .hdb-doctor-slide{flex-basis:calc((100% - 44px)/3)}
  .hdb-instagram-grid,.hdb-instagram-count-5,.hdb-instagram-count-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hdb-contacts-grid{grid-template-columns:1fr}
  .hdb-city-map{aspect-ratio:16/9}
  .hdb-cta-copy{padding:42px 36px}.hdb-cta-form-wrap{padding:34px}
}
@media(max-width:760px){
  .hdb-container{width:min(calc(100% - 30px),var(--hdb-container))}
  .hdb-doctor-slide{flex-basis:calc((100% - 22px)/2)}
  .hdb-carousel-wrap{padding:0 28px}.hdb-carousel-prev{left:-8px}.hdb-carousel-next{right:-8px}
  .hdb-instagram-grid,.hdb-instagram-count-5,.hdb-instagram-count-4,.hdb-instagram-count-3{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .hdb-instagram-card{aspect-ratio:1/1}
  .hdb-youtube-grid{grid-template-columns:1fr}
  .hdb-cta-card{grid-template-columns:1fr}.hdb-cta-copy{padding:36px 28px}.hdb-cta-form-wrap{padding:30px 28px}
  .hdb-cta-copy h2{font-size:31px!important}
  .hdb-media-heading h2,.hdb-section-title h2{font-size:27px!important}
}
@media(max-width:520px){
  .hdb-container{width:min(calc(100% - 24px),var(--hdb-container))}
  .hdb-doctors-section,.hdb-youtube-section,.hdb-faq-section,.hdb-cta-section{padding:40px 0}
  .hdb-doctor-slide{flex-basis:82%}
  .hdb-instagram-section{padding:40px 0}
  .hdb-instagram-grid,.hdb-instagram-count-5,.hdb-instagram-count-4,.hdb-instagram-count-3{grid-template-columns:1fr}
  .hdb-instagram-card{aspect-ratio:4/4.4}
  .hdb-media-heading{gap:16px}.hdb-instagram-heading-icon,.hdb-youtube-heading-icon{width:42px;height:42px;flex-basis:42px}
  .hdb-media-heading h2,.hdb-section-title h2{font-size:24px!important}
  .hdb-contacts-section{padding:40px 0 34px}.hdb-contacts-head h2{font-size:27px!important}.hdb-city-copy{padding:20px}.hdb-city-map{aspect-ratio:1/1}
  .hdb-city-address{font-size:17px!important}.hdb-city-phones a{font-size:17px!important}.hdb-city-hours{font-size:15px!important}
  .hdb-cta-copy{padding:32px 22px}.hdb-cta-form-wrap{padding:26px 22px}.hdb-cta-copy h2{font-size:28px!important}
}


/* Elementor legacy Section/Column compatibility for Hero.
   The Hero owns its height; Elementor host wrappers must not add a second min-height/padding. */
.elementor-section.hdb-elementor-hero-host{
  min-height:0!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.elementor-section.hdb-elementor-hero-host>.elementor-container{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
}
.elementor-section.hdb-elementor-hero-host .elementor-column,
.elementor-section.hdb-elementor-hero-host .elementor-column-wrap,
.elementor-section.hdb-elementor-hero-host .elementor-widget-wrap,
.elementor-section.hdb-elementor-hero-host .elementor-element-populated,
.elementor-section.hdb-elementor-hero-host .elementor-widget-shortcode,
.elementor-section.hdb-elementor-hero-host .elementor-widget-container{
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.elementor-section.hdb-elementor-hero-host .elementor-widget-shortcode,
.elementor-section.hdb-elementor-hero-host .elementor-widget-shortcode>.elementor-widget-container{
  width:100%!important;
}

/* Hero / first screen */
.hdb-hero-section{
  position:relative;
  height:var(--hdb-hero-height,680px)!important;
  min-height:var(--hdb-hero-height,680px)!important;
  overflow:hidden;
  background:#f6f7f9;
  isolation:isolate;
}
.hdb-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#f6f7f9}
.hdb-hero-image,.hdb-hero-video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center var(--hdb-hero-position,top)!important;
}
.hdb-hero-overlay{
  position:absolute;
  top:24px;
  left:50%;
  z-index:2;
  width:min(var(--hdb-container),calc(100% - 64px));
  transform:translateX(-50%);
  text-align:center;
  color:var(--hdb-primary);
  line-height:1.2;
  pointer-events:none;
}
.hdb-hero-brand-title{
  margin:0!important;
  font-size:clamp(52px,4.6vw,78px)!important;
  line-height:.98!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  color:var(--hdb-primary)!important;
  text-shadow:0 2px 16px rgba(255,255,255,.9);
}
.hdb-hero-subtitle{
  max-width:760px;
  margin:10px auto 0;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
  color:#332d35;
  text-shadow:0 1px 10px rgba(255,255,255,.95);
}
.hdb-hero-addresses{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 26px;
  width:max-content;
  max-width:100%;
  margin:15px auto 0;
  padding:10px 18px;
  border:1px solid rgba(97,10,126,.12);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  box-shadow:0 8px 28px rgba(55,12,70,.08);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
  font-size:14px;
  color:#312b34;
}
.hdb-hero-addresses span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.hdb-hero-addresses svg{width:17px;height:17px;fill:var(--hdb-primary);flex:0 0 17px}
.hdb-hero-addresses strong{color:var(--hdb-primary)}

@media(max-width:1180px){
  .hdb-hero-overlay{top:20px;width:calc(100% - 42px)}
  .hdb-hero-brand-title{font-size:clamp(48px,5.6vw,68px)!important}
}
@media(max-width:760px){
  .hdb-hero-section{height:auto!important;min-height:0!important;display:flex;flex-direction:column;background:#fff}
  .hdb-hero-overlay{
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    transform:none;
    order:1;
    padding:22px 18px 18px;
    background:linear-gradient(180deg,#fff 0%,#faf7fc 100%);
  }
  .hdb-hero-media{position:relative;inset:auto;order:2;height:var(--hdb-hero-mobile-height,420px)}
  .hdb-hero-brand-title{font-size:46px!important}
  .hdb-hero-subtitle{font-size:14px}
  .hdb-hero-addresses{display:grid;gap:8px;width:100%;max-width:520px;padding:12px 15px;border-radius:18px;text-align:left;font-size:13px}
  .hdb-hero-addresses span{white-space:normal}
}
@media(max-width:520px){
  .hdb-hero-brand-title{font-size:39px!important}
  .hdb-hero-overlay{padding-top:18px}
}

/* v1.6.0 — clickable clinic addresses and phone actions */
.hdb-city-address a{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:inherit!important;
  text-decoration:none!important;
  transition:color .18s ease,opacity .18s ease!important;
}
.hdb-city-address a:hover{color:var(--hdb-primary)!important}
.hdb-city-address a svg{width:18px;height:18px;flex:0 0 18px;fill:var(--hdb-primary)}
.hdb-city-phones a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
.hdb-hero-addresses .hdb-hero-address-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:inherit!important;
  text-decoration:none!important;
  transition:opacity .18s ease,transform .18s ease;
}
.hdb-hero-addresses .hdb-hero-address-link:hover{opacity:.78;transform:translateY(-1px)}
.hdb-hero-addresses .hdb-hero-address-link svg{width:17px;height:17px;fill:var(--hdb-primary);flex:0 0 17px}
.hdb-hero-addresses .hdb-hero-address-link strong{color:var(--hdb-primary)}
@media (max-width:767px){
  .hdb-hero-addresses .hdb-hero-address-link{white-space:normal}
}


/* v1.7.0 — larger contact details for readability */
.hdb-city-address{
  font-size:22px!important;
  line-height:1.45!important;
  font-weight:800!important;
  margin-bottom:16px!important;
}
.hdb-city-address a svg{
  width:21px!important;
  height:21px!important;
  flex-basis:21px!important;
}
.hdb-city-phones{
  gap:11px 26px!important;
  margin-bottom:15px!important;
}
.hdb-city-phones a{
  font-size:22px!important;
  line-height:1.4!important;
  font-weight:900!important;
}
.hdb-city-hours{
  font-size:19px!important;
  line-height:1.5!important;
  font-weight:700!important;
}
@media(max-width:520px){
  .hdb-city-address{font-size:19px!important;line-height:1.45!important}
  .hdb-city-phones a{font-size:19px!important;line-height:1.4!important}
  .hdb-city-hours{font-size:17px!important;line-height:1.45!important}
}


/* v1.10.0 — Facial orthotropics cases: one complete image per slide */
.hdb-cases-section{padding:36px 0 44px;background:#fff!important;color:#111;border:0!important;box-shadow:none!important}
.hdb-cases-container{overflow:visible;background:#fff!important;border:0!important;box-shadow:none!important}
.hdb-cases-heading{margin:0 0 26px;text-align:left}
.hdb-cases-heading h2{margin:0!important;font-size:30px!important;line-height:1.12!important;font-weight:900!important;letter-spacing:-.02em!important;color:#111!important;text-transform:uppercase!important}
.hdb-cases-carousel{position:relative;width:100%;background:#fff!important;border:0!important;box-shadow:none!important}
.hdb-cases-viewport{overflow:hidden;width:100%;background:#fff!important;border:0!important;box-shadow:none!important}
.hdb-cases-track{display:flex;width:100%;align-items:flex-start;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform;background:#fff!important}
.hdb-cases-slide{display:block;flex:0 0 100%;width:100%;min-width:100%;height:auto!important;aspect-ratio:auto!important;background:#fff!important;overflow:hidden;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.hdb-cases-slide .hdb-case-photo{display:block!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:initial!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important}
.hdb-cases-arrow{position:absolute!important;top:50%!important;z-index:4!important;transform:translateY(-50%)!important;width:46px!important;height:70px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--hdb-primary)!important;font-size:58px!important;font-weight:400!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;text-shadow:0 1px 9px rgba(255,255,255,.9)!important}
.hdb-cases-prev{left:-58px!important}.hdb-cases-next{right:-58px!important}
.hdb-cases-arrow:disabled{opacity:.22!important;cursor:default!important}
@media(max-width:1320px){.hdb-cases-prev{left:8px!important}.hdb-cases-next{right:8px!important}.hdb-cases-arrow{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.45)!important}}
@media(max-width:760px){.hdb-cases-section{padding:28px 0 34px}.hdb-cases-heading{margin-bottom:18px}.hdb-cases-heading h2{font-size:25px!important}.hdb-cases-arrow{width:40px!important;height:58px!important;font-size:48px!important}.hdb-cases-prev{left:2px!important}.hdb-cases-next{right:2px!important}}
@media(max-width:520px){.hdb-cases-heading h2{font-size:22px!important}.hdb-cases-slide{aspect-ratio:auto!important}}

/* v1.9.0 — mobile Instagram / YouTube horizontal swipe carousels */
@media(max-width:760px){
  .hdb-instagram-grid,
  .hdb-instagram-count-5,
  .hdb-instagram-count-4,
  .hdb-instagram-count-3{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    max-width:none!important;
    margin:0!important;
    padding:2px 2px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-padding-left:2px;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .hdb-instagram-grid::-webkit-scrollbar,
  .hdb-youtube-grid::-webkit-scrollbar{display:none}
  .hdb-instagram-card{
    flex:0 0 min(86%,340px)!important;
    width:min(86%,340px)!important;
    min-width:min(86%,340px)!important;
    aspect-ratio:4/5!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .hdb-youtube-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:16px!important;
    padding:2px 2px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-padding-left:2px;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .hdb-youtube-card{
    flex:0 0 min(88%,520px)!important;
    width:min(88%,520px)!important;
    min-width:min(88%,520px)!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}
@media(max-width:520px){
  .hdb-instagram-card{
    flex-basis:86%!important;
    width:86%!important;
    min-width:86%!important;
    aspect-ratio:4/5!important;
  }
  .hdb-youtube-card{
    flex-basis:90%!important;
    width:90%!important;
    min-width:90%!important;
  }
}

/* v1.11.1 — lighter Fira Sans Condensed typography.
   Font files are intentionally not bundled: the site/theme already loads the Fira family. */
.hdb-root{
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-weight:400!important;
}

/* Main block headings */
.hdb-section-title h2,
.hdb-media-heading h2,
.hdb-cta-copy h2,
.hdb-contacts-head h2,
.hdb-cases-heading h2,
.hdb-blog-heading h2{
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
}

/* Hero brand — keep it prominent without Black/ExtraBold weight */
.hdb-hero-brand-title{
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}
.hdb-hero-subtitle{font-weight:400!important}
.hdb-hero-addresses strong{font-weight:600!important}

/* Secondary headings / cards */
.hdb-doctor-slide h3,
.hdb-youtube-copy h3,
.hdb-city-title-row h3,
.hdb-blog-card-copy h3,
.hdb-blog-card-copy h3 a,
.hdb-faq-question{
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-weight:600!important;
}

/* Small emphasis, controls and links */
.hdb-button,
.hdb-instagram-overlay strong,
.hdb-youtube-copy>a,
.hdb-cta-kicker,
.hdb-cta-form label>span,
.hdb-cta-form button,
.hdb-contacts-head>span,
.hdb-blog-readmore{
  font-weight:600!important;
}

/* Contact details stay large/readable, but no longer look overly heavy */
.hdb-city-address{font-weight:500!important}
.hdb-city-phones a{font-weight:600!important}
.hdb-city-hours{font-weight:400!important}

/* Managed article typography */
.hdb-article-content h1,
.hdb-article-content h2,
.hdb-article-content h3,
.hdb-article-content h4{
  font-family:"Fira Sans Condensed",Arial,sans-serif!important;
  font-weight:600!important;
}
.hdb-article-content strong,
.hdb-article-content b{font-weight:600!important}

/* v1.11.2 — doctors carousel: four seeded doctors must still have a real scroll step. */
@media (min-width:1025px){
  .hdb-carousel-wrap.hdb-doctors-force-scroll .hdb-doctor-slide{
    flex-basis:calc((100% - 44px)/3)!important;
  }
}
.hdb-carousel-btn:disabled{
  opacity:.28!important;
  cursor:default!important;
  pointer-events:none!important;
}

/* v1.11.3 — polished Blog index + managed article layout */
.hdb-blog-section{
  padding:64px 0 76px!important;
  background:#fff!important;
  color:#171717!important;
  overflow:hidden;
}
.hdb-blog-section .hdb-container{max-width:1200px!important}
.hdb-blog-heading{
  display:grid;
  gap:10px;
  margin:0 0 34px!important;
  max-width:760px;
}
.hdb-blog-heading h2{
  margin:0!important;
  font-size:clamp(34px,4vw,48px)!important;
  line-height:1.05!important;
  color:#171717!important;
  text-transform:none!important;
  letter-spacing:-.025em!important;
}
.hdb-blog-heading p{
  margin:0!important;
  max-width:680px;
  font-size:18px!important;
  line-height:1.55!important;
  color:#666!important;
}
.hdb-blog-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:stretch;
}
.hdb-blog-card{
  min-width:0;
  overflow:hidden;
  display:flex!important;
  flex-direction:column;
  background:#fff!important;
  border:1px solid #e8e3eb!important;
  border-radius:20px!important;
  box-shadow:0 12px 34px rgba(45,21,55,.07)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.hdb-blog-card:hover{
  transform:translateY(-4px);
  border-color:#d9ccdf!important;
  box-shadow:0 18px 44px rgba(45,21,55,.11)!important;
}
.hdb-blog-card-media{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#f3f1f4!important;
}
.hdb-blog-card-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .35s ease;
}
.hdb-blog-card:hover .hdb-blog-card-media img{transform:scale(1.025)}
.hdb-blog-media-placeholder{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  color:var(--hdb-primary)!important;
  font-size:30px!important;
  font-weight:600!important;
}
.hdb-blog-card-copy{
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column!important;
  align-items:flex-start!important;
  padding:24px 26px 27px!important;
}
.hdb-blog-card-copy time{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#f6eff8!important;
  color:var(--hdb-primary)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
}
.hdb-blog-card-copy h3{
  margin:0 0 12px!important;
  font-size:26px!important;
  line-height:1.16!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
}
.hdb-blog-card-copy h3 a{color:#171717!important;text-decoration:none!important}
.hdb-blog-card-copy h3 a:hover{color:var(--hdb-primary)!important}
.hdb-blog-card-copy>p{
  margin:0 0 20px!important;
  font-size:16px!important;
  line-height:1.6!important;
  color:#666!important;
}
.hdb-blog-readmore{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:auto!important;
  min-height:42px!important;
  padding:10px 17px!important;
  border:1px solid #d7c7df!important;
  border-radius:999px!important;
  color:var(--hdb-primary)!important;
  background:#fff!important;
  font-size:14px!important;
  line-height:1.2!important;
  text-decoration:none!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.hdb-blog-readmore:hover{background:var(--hdb-primary)!important;color:#fff!important;border-color:var(--hdb-primary)!important}

/* Elementor / Rife Free host cleanup on the page that contains [hd_blog]. */
body.hdb-blog-page .title-bar{display:none!important}
body.hdb-blog-page #content,
body.hdb-blog-page #content>.content-limiter,
body.hdb-blog-page #col-mask,
body.hdb-blog-page .content-box,
body.hdb-blog-page .formatter,
body.hdb-blog-page .real-content{
  width:100%!important;
  max-width:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.hdb-blog-page #content>.content-limiter{padding-left:0!important;padding-right:0!important}
.elementor-section.hdb-elementor-blog-host{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.elementor-section.hdb-elementor-blog-host>.elementor-container,
.elementor-section.hdb-elementor-blog-host .elementor-column,
.elementor-section.hdb-elementor-blog-host .elementor-column-wrap,
.elementor-section.hdb-elementor-blog-host .elementor-widget-wrap,
.elementor-section.hdb-elementor-blog-host .elementor-element-populated,
.elementor-section.hdb-elementor-blog-host .elementor-widget-shortcode,
.elementor-section.hdb-elementor-blog-host .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

/* Beautiful single SEO article pages generated by the plugin. */
body.hdb-managed-article-page .title-bar,
body.hdb-managed-article-page .post-hatom-fix,
body.hdb-managed-article-page #secondary,
body.hdb-managed-article-page .posts-nav,
body.hdb-managed-article-page .about-author,
body.hdb-managed-article-page #comments,
body.hdb-managed-article-page .comments-area,
body.hdb-managed-article-page .comment-respond,
body.hdb-managed-article-page .comment-form,
body.hdb-managed-article-page .comments-title{
  display:none!important;
}
body.hdb-managed-article-page #content,
body.hdb-managed-article-page #content>.content-limiter,
body.hdb-managed-article-page #col-mask,
body.hdb-managed-article-page .content-box,
body.hdb-managed-article-page .formatter,
body.hdb-managed-article-page .hentry,
body.hdb-managed-article-page .real-content.entry-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

.hdb-article-page{
  background:#fff!important;
  padding:48px 24px 74px!important;
}
.hdb-article-wrap{
  width:min(100%,1160px);
  margin:0 auto;
}
.hdb-article-hero{
  width:100%;
  margin:0 auto 52px;
  text-align:left;
}
.hdb-article-hero-has-image{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  align-items:center;
  gap:52px;
}
.hdb-article-hero-copy{min-width:0}
.hdb-article-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:0 0 16px;
  color:var(--hdb-primary);
  font-size:13px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:.02em;
}
.hdb-article-hero h1{
  margin:0!important;
  max-width:620px;
  font-size:clamp(34px,3.2vw,48px)!important;
  line-height:1.06!important;
  font-weight:600!important;
  letter-spacing:-.026em!important;
  color:#171717!important;
  text-transform:none!important;
  text-align:left!important;
}
.hdb-article-hero p,
.hdb-article-hero-copy>p{
  max-width:590px;
  margin:20px 0 0!important;
  font-size:18px!important;
  line-height:1.55!important;
  color:#666!important;
  text-align:left!important;
}
.hdb-article-cover{
  min-width:0;
  width:100%;
  margin:0!important;
  overflow:hidden;
  border-radius:20px;
  background:#f2f0f3;
}
.hdb-article-cover img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
}
.hdb-article-shell{
  width:min(100%,820px);
  margin:0 auto;
  color:#2d2b2e;
  font-size:18px;
  line-height:1.72;
}
.hdb-article-shell>p{
  margin:0 0 22px!important;
  color:#3f3c41!important;
  font-size:18px!important;
  line-height:1.72!important;
}
.hdb-article-shell h1{display:none!important}
.hdb-article-shell h2{
  margin:48px 0 18px!important;
  font-size:34px!important;
  line-height:1.14!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
  color:#171717!important;
  text-transform:none!important;
}
.hdb-article-shell h3{
  margin:31px 0 11px!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:600!important;
  color:#242124!important;
  text-transform:none!important;
}
.hdb-article-shell a{
  color:var(--hdb-primary)!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
.hdb-article-shell ul,.hdb-article-shell ol{
  margin:0 0 24px!important;
  padding-left:25px!important;
}
.hdb-article-shell li{margin:0 0 8px!important}

.hdb-article-cta{
  width:min(100%,920px);
  margin:58px auto 0;
  padding:30px 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-radius:22px;
  background:linear-gradient(135deg,var(--hdb-primary-dark),#78109a);
  color:#fff;
}
.hdb-article-cta>div{max-width:620px}
.hdb-article-cta span{
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.8;
}
.hdb-article-cta h2{
  margin:6px 0 8px!important;
  font-size:29px!important;
  line-height:1.12!important;
  font-weight:600!important;
  color:#fff!important;
  text-transform:none!important;
}
.hdb-article-cta p{
  margin:0!important;
  font-size:15px!important;
  line-height:1.5!important;
  color:rgba(255,255,255,.86)!important;
}
.hdb-article-cta .hdb-button{
  flex:0 0 auto;
  background:#fff!important;
  color:var(--hdb-primary)!important;
}

.hdb-article-navigation{
  width:min(100%,920px);
  margin:34px auto 0;
  padding-top:30px;
  border-top:1px solid #ece8ee;
}
.hdb-article-navigation-title{
  margin:0 0 16px;
  font-size:24px;
  line-height:1.2;
  font-weight:600;
  color:#171717;
}
.hdb-article-navigation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.hdb-article-nav-card{
  min-width:0;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:12px;
  border:1px solid #ece8ee;
  border-radius:18px;
  background:#fff;
  color:#171717!important;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.hdb-article-nav-card:hover{
  transform:translateY(-2px);
  border-color:rgba(102,0,132,.22);
  box-shadow:0 10px 30px rgba(40,20,48,.08);
}
.hdb-article-nav-image{
  display:block;
  overflow:hidden;
  border-radius:12px;
  background:#f2f0f3;
}
.hdb-article-nav-image img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
}
.hdb-article-nav-copy{min-width:0}
.hdb-article-nav-label{
  display:block;
  margin-bottom:7px;
  color:var(--hdb-primary);
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.hdb-article-nav-card strong{
  display:block;
  color:#171717!important;
  font-size:17px;
  line-height:1.25;
  font-weight:600;
}

@media(max-width:900px){
  .hdb-article-hero-has-image{grid-template-columns:1fr 1fr;gap:30px}
  .hdb-article-hero h1{font-size:clamp(34px,4.7vw,43px)!important}
}

@media(max-width:760px){
  .hdb-blog-section{padding:44px 0 54px!important}
  .hdb-blog-heading{margin-bottom:24px!important}
  .hdb-blog-heading h2{font-size:34px!important}
  .hdb-blog-heading p{font-size:16px!important}
  .hdb-blog-grid{grid-template-columns:1fr!important;gap:20px!important}
  .hdb-blog-card-copy{padding:20px 20px 22px!important}
  .hdb-blog-card-copy h3{font-size:23px!important}
  .hdb-blog-card-copy>p{font-size:15px!important}

  .hdb-article-page{padding:34px 16px 54px!important}
  .hdb-article-hero,
  .hdb-article-hero-has-image{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:36px;
  }
  .hdb-article-kicker{margin-bottom:12px}
  .hdb-article-hero h1{font-size:34px!important;line-height:1.08!important}
  .hdb-article-hero p,.hdb-article-hero-copy>p{margin-top:15px!important;font-size:16px!important}
  .hdb-article-cover{border-radius:16px}
  .hdb-article-cover img{aspect-ratio:16/10!important}
  .hdb-article-shell,.hdb-article-shell>p{font-size:17px!important;line-height:1.68!important}
  .hdb-article-shell h2{margin-top:39px!important;font-size:29px!important}
  .hdb-article-shell h3{font-size:22px!important}
  .hdb-article-cta{margin-top:44px;padding:25px 22px;display:grid}
  .hdb-article-cta h2{font-size:25px!important}
  .hdb-article-cta .hdb-button{width:100%!important}
  .hdb-article-navigation{margin-top:28px;padding-top:24px}
  .hdb-article-navigation-title{font-size:22px}
  .hdb-article-navigation-grid{grid-template-columns:1fr}
  .hdb-article-nav-card{grid-template-columns:94px minmax(0,1fr);gap:13px;padding:10px}
  .hdb-article-nav-card strong{font-size:16px}
}
