/*
GLOBAL VARIABLES
*/

:root {
  /* =================================================
   BRAND COLORS
  ================================================= */
  --surface-brand: #f2ebdf;
  --color-brand-primary: #e8c778;
  --color-brand-secondary: #000000;
  --color-brand-soft: #f9f6ed;
  --color-brand-accent: #2a424d;
  --color-text-primary: #192d36;
  --color-text-secondary: #1a1a1a;
  --color-text-accent1: #e8c678;
  --color-text-accent2: #ffffff;
  --color-text-subtle: #e4e2e2;
  --color-text-inverse: #191d1f;
  --color-text-base: #4e4e4e;
  --color-text-nav: #ffffff;
  --color-text-nav-interior: #4e4e4e;
  --color-text-nav-overlay: #4e4e4e;
  --color-text-ui: #fbf3f3;
  --color-header-bg: #080808;
  --color-bg-page1: #ffffff;
  --color-bg-page2: #ffffff;
  --color-bg-footer1: #080808;
  --color-bg-footer2: #232323;
  --color-bg-footer3: #0e0700;
  --color-carousel-overlay: linear-gradient(rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 0%) 40%, rgb(0 0 0 / 0%) 100%);

  /* =================================================
   GRAPHIC DEFAULTS â€” MOBILE
  ================================================= */
  --bg-pos-x-mobile: right;
  --bg-pos-y-mobile: 0px;
  --bg-size-mobile: cover;
  --bg-height-mobile: 2400px;
  --bg-opacity-mobile: 1;
  --bg-top-mobile: 0px;
  --bg-transform-mobile: scaleX(1);

  /* =================================================
   GRAPHIC DEFAULTS â€” DESKTOP
  ================================================= */
  --bg-pos-x-desktop: 0px;
  --bg-pos-y-desktop: 0px;
  --bg-size-desktop: 110%;
  --bg-height-desktop: 1245px;
  --bg-opacity-desktop: 1;
  --bg-top-desktop: 0px;
  --bg-transform-desktop: scaleX(1);

  /* =================================================
   HERO
  ================================================= */
  --carousel-bg-image: url("/img/upload/hero.webp");
}


/*==================================================================================*/
/* Bg Images */
/*==================================================================================*/

.sb-bg-image1-row {
  background-image: url(/img/upload/000image_custom_pattern10.png);
}

.sb-bg-image2-row {
  background-image: url(/img/upload/000_custom_image19.jpg);
}

.sb-bg-image3-row {
  background-image: url(/img/upload/000_custom_image19.jpg);
}
     
.sb-bg-graphic1-row.sb-wrap:after {
  background-image: url(/img/upload/eliteortho_bg_1.png);
}

.sb-bg-graphic2-row.sb-wrap:after {
  background-image: url(/img/upload/eliteortho_bg_1.png);
}

#page-home .sb-feature-gallery-row,
#page-home .sb-gallery-row  {
  background: rgb(0 0 0 / 0%);
}

#page-home .carousel-inner .item::after {
  background-image: none;
}


/*==================================================================================*/
/* Bg Overlays */
/*==================================================================================*/

.sb-bg-image1-row:before {
  background: rgb(17 39 49 / 90%);
  /* background: linear-gradient(270deg, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 100%); */
}

@media (min-width: 949px) { 
.sb-bg-image1-row:before {
  background: rgb(17 39 49 / 90%);
  /* background: linear-gradient(346deg, rgb(112 32 102) 8%, rgb(0 0 0 / 0%) 45%); */
  }
}

.sb-bg-image2-row:before {
  background: rgb(42 66 77 / 75%);
  /* background: linear-gradient(270deg, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 100%); */
}

@media (min-width: 949px) { 
.sb-bg-image2-row:before {
  background: rgb(42 66 77 / 75%);
  /* background: linear-gradient(346deg, rgb(112 32 102) 8%, rgb(0 0 0 / 0%) 45%); */
  }
}

.sb-bg-image3-row:before {
  background: rgb(255 255 255 / 0%);
  /* background: linear-gradient(270deg, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 100%); */
}

@media (min-width: 949px) { 
.sb-bg-image3-row:before {
  background: rgb(0 0 0 / 50%);
  /* background: linear-gradient(346deg, rgb(112 32 102) 8%, rgb(0 0 0 / 0%) 45%); */
  }
}

/*==================================================================================*/
/* SET FONT FAMILY */
/*==================================================================================*/

/* Headings / Special Elements */
h1, h2, h4, h5, h6,
.content h1,
.content h2,
.content h4,
.content h5,
.content h6,
.logo #logotext,
.gallery-header,
.locations_list,
.header .nav,
.header .nav a,
.toolbar #logotext {
  font-family: 'inherit', sans-serif;
}

body {
  --header-logo-height-desktop: 50px;
  --header-logo-height: 50px;
}

   .site-header .site-nav > .nav-list > .nav-item > a {
   font-weight: 300;
   letter-spacing: 0px;
   font-size: 16px;
   padding: 0px 0px;
   text-transform: capitalize;
   }
   
  a.btn,
   .btn,
   .carousel a {
   border-radius: 12px;
 }
 
 

 
 /*==================================================================================*/
 /* oneoff fix footer variation 1 -- 4 locations */
 /*==================================================================================*/	
 
 .footer .footer-box:nth-child(1) {
   width: 100%!important;
 }
 
 .locations_footer {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-items: stretch;
   gap: 20px;
 }
 
 .locations_footer .locations_list {
   flex: 1 1 calc(25% - 20px);  /* 4 equal columns */
   min-width: 240px;            /* prevents narrow squeeze */
   box-sizing: border-box;
 }
 
 .footer .locations_footer .locations_list a,
 .footer .locations_footer .locations_list span {
 font-size: 12px!important;
 
 }
 
 
 .footer .locations_footer .locations_list span {
   line-height: 20px!important;
 }
   
 .has-footer-alternate1 .footer-box .locations_footer {
   margin-top: 0px!important;
   margin-bottom: 10px!important;
   max-width: 100%!important;
 
 }
 
 .social-module a {
   width: 35px;
   height: 35px;
 }
 
 
 /* =====================================================
    CONSULTATION SECTIONS â€” LAYOUT + STICKY CTA
    (CMS-safe, branding-agnostic)
 ===================================================== */
 

 
 /* ---------- Cards ---------- */
 
 .card,
 .mini-card,
 .step,
 .fit-box {
   border: 1px solid #e5e7eb;
   border-radius: 20px;
   background: #fff;
   padding: 20px;
 }
 
 /* ---------- Buttons ---------- */
 
 .btn-ghost {
   background: transparent;
 }
 
 /* ---------- Pills / Callouts ---------- */
 
 .pill,
 .callout,
 .card-note,
 .hero-highlight,
 .pay-note {
   margin-top: 10px!important;
   max-width: 72ch;
   padding: 7px 15px;
   border-radius: 18px;
   background: rgba(0, 0, 0, .025);
   border: 1px solid rgba(0, 0, 0, .055);
   color: rgba(0, 0, 0, .82);
   font-size: 14px!important;
   line-height: 1.45!important;
   letter-spacing: -.01em;
   margin-left: auto;
   margin-right: auto;
   display: inline-block;
 }
 
 .callout,
 .card-note {
   border-radius: 18px;
 }
 
 /* ---------- Icon / Number Badges ---------- */
 
 .icon,
 .step .n,
 .pill .mark,
 .chev {
   width: 32px;
   height: 32px;
   border-radius: 12px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: rgba(0,0,0,.08);
   font-weight: 700;
   flex-shrink: 0;
 }
 
 /* ---------- HERO GRID ---------- */
 
 .hero-grid {
   display: grid;
   grid-template-columns: 1.15fr .85fr;
   gap: 32px;
 }
 
 @media (max-width: 980px) {
   .hero-grid {
   grid-template-columns: 1fr;
   }
 }
 
 /* ---------- INCLUDED GRID ---------- */
 
 .grid-3 {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 16px;
   margin-top: 24px;
 }
 
 @media (max-width: 980px) {
   .grid-3 {
   grid-template-columns: 1fr 1fr;
   }
 }
 
 @media (max-width: 640px) {
   .grid-3 {
   grid-template-columns: 1fr;
   }
 }
 
 /* ---------- STEPS ---------- */
 
 .steps {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 16px;
   margin-top: 26px;
 }
 
 @media (max-width: 980px) {
   .steps {
   grid-template-columns: 1fr 1fr;
   }
 }
 
 @media (max-width: 640px) {
   .steps {
   grid-template-columns: 1fr;
   }
 }
 
 /* ---------- TWO COLUMN BLOCKS ---------- */
 
 .two-col,
 .fit {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 24px;
   margin-top: 22px;
 }
 
 @media (max-width: 640px) {
   .two-col,
   .fit {
   grid-template-columns: 1fr;
   }
 }
 
 /* ---------- FAQ ---------- */
 
 .faq {
   display: grid;
   gap: 12px;
   max-width: 860px;
 }
 
 .faq details {
   border-radius: 18px;
   border: 1px solid #e5e7eb;
   padding: 14px 16px;
   background: #fff;
 }
 
 summary {
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: space-between;
 }
 
 /* ---------- PRICE CENTER ---------- */
 
 .price-center {
   text-align: center;
   max-width: 820px;
   margin: 0 auto;
 }
 
 /* ---------- TRUST ROW ---------- */
 
 .trust-row {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   align-items: center;
   margin-top: 18px;
 }
 
 /* ---------- BOOKING PLACEHOLDER ---------- */
 
 .booking-widget-placeholder {
   border-radius: 18px;
   border: 2px dashed rgba(0,0,0,.2);
   padding: 24px;
   text-align: center;
   margin-top: 14px;
 }
 
 /* ---------- STICKY CTA (MOBILE) ---------- */
 
 .sticky-cta {
   position: fixed;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 50;
   padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
   background: rgba(255,255,255,.95);
   display: none;
 }
 
 .sticky-inner {
   max-width: 1120px;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
 }
 
 @media (max-width: 640px) {
   .sticky-cta {
   display: block;
   }
 }
 
 header {
   position: relative;
 }
 
 
 @media (max-width: 1279px) {
   .has-toolbar-mobile .toolbar-links-mobile .header-right {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-right: 30px;
   }
 
   /* Prevent button from stretching */
   .has-toolbar-mobile .toolbar-links-mobile .header-right .btn {
   width: auto !important;
   min-width: unset !important;
   flex: 0 0 auto !important;
   padding: 10px 16px;
   }
 
   /* Keep the price text from behaving like a block */
   .has-toolbar-mobile .toolbar-links-mobile .header-right p,
   .has-toolbar-mobile .toolbar-links-mobile .header-right a:not(.btn) {
   white-space: normal;
   font-size: 13px;
   line-height: 1.2;
   width: 143px;
   }
 
   .has-toolbar-mobile .toolbar-links-mobile .btn.btn-cta.btn-primary, 
   .has-toolbar-mobile .toolbar-links-mobile .btn.btn-cta.btn-secondary {
     width: 40% !important;
 
 }
 }
 
 body:not(#page-home):not(.body).has-banner-thin .sb-wrap-inner[class*='col-row-'] .sb-col:nth-of-type(1) .sb-module .box {
   padding-bottom: 0px !important;
   border-bottom: 0px solid #e1e1e1;
 }
 
 
 /*==================================================================================*/
 /* oneoff fix banner thin needs new height */
 /*==================================================================================*/	
   
 @media screen and (min-width:1280px) {
 body:not(#page-home):not(.body).has-banner-thin > .container > .carousel-wrapper {
   height: 90px;
 }
 }
 
 /*==================================================================================*/
 /* oneoff iframe height */
 /*==================================================================================*/	
   
 
 .sb-module .lightpage .contents {
   height: 750px;
   overflow: hidden;
 }
 
 /*==================================================================================*/
 /* oneoff heading color */
 /*==================================================================================*/
 
 body.has-heading-color h1 {
   background-image: linear-gradient(234.33deg, #111111 -3.63%, #040404 89.96%);
 }

  /* EACH card */
 .feature-cards1 > div > div {
     flex: 1 1 200px;
     max-width: 300px;
     border-radius: 12px;
     padding: 35px 25px;
     text-align: center;
     box-sizing: border-box;
   }


.sb-feature-cards1-row .sb-module {
  padding: 0px!important;
}