/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */

.et_header_style_centered #main-header .container {
	height: inherit;
	text-align: left;
}

/* Clinical Wellness mobile header – draft only */
.cw-global-mobile-nav{display:none}
@media (max-width:980px){
  #main-header,#top-header{display:none!important}
  #page-container{padding-top:0!important}
  .cw-global-mobile-nav{display:flex;position:relative;z-index:100;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;min-height:80px;padding:14px 22px;background:#fff;border-bottom:1px solid #dbe6df;font-family:Arial,Helvetica,sans-serif}
  .cw-global-mobile-brand{min-width:0;font-size:16px;font-weight:800;letter-spacing:.1px;line-height:1.2;color:#17543e!important;text-decoration:none!important}
  .cw-global-mobile-brand span{display:block;margin-top:4px;font-size:10px;color:#52675d!important;font-weight:500;letter-spacing:.2px}
  .cw-global-mobile-toggle{flex-shrink:0}
  .cw-global-mobile-toggle summary{display:flex;align-items:center;justify-content:center;gap:8px;min-width:102px;min-height:44px;box-sizing:border-box;padding:10px 13px;cursor:pointer;list-style:none;border-radius:9px;border:1px solid #aac5b7;background:#f7faf7;color:#17543e;font-size:15px;font-weight:700}
  .cw-global-mobile-toggle summary::-webkit-details-marker{display:none}
  .cw-global-mobile-toggle summary:focus-visible{outline:3px solid #6daa8c;outline-offset:2px}
  .cw-global-mobile-links{position:absolute;top:100%;left:0;right:0;z-index:99999;background:#fff;padding:10px 22px 20px;border:1px solid #dbe6df;box-shadow:0 12px 18px rgba(16,54,38,.14)}
  .cw-global-mobile-links a{display:block!important;padding:14px 6px!important;min-height:44px;box-sizing:border-box;border-bottom:1px solid #edf2ee;font-size:16px!important;line-height:1.4;color:#183b2d!important;text-decoration:none!important}
  .cw-global-mobile-links a:focus-visible{outline:3px solid #6daa8c;outline-offset:2px}
  .cw-global-mobile-links .cw-global-mobile-book{margin-top:12px;padding:14px 10px!important;border:0;border-radius:8px;text-align:center;background:#17644c;color:#fff!important;font-weight:700}
  body.admin-bar .cw-global-mobile-nav{position:relative}
}
@media(max-width:340px){
  .cw-global-mobile-brand{font-size:14px}
  .cw-global-mobile-nav{padding:12px}
  .cw-global-mobile-brand span{font-size:9px}
  .cw-global-mobile-toggle summary{min-width:80px;font-size:14px}
}

/* Homepage: full-width, easy-to-tap concern cards.
   Works on the merged homepage preview (page 1136) and standalone draft 3506. */
.cw-treatment-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  align-items:stretch;
}
.cw-treatment-grid > a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:76px!important;
  margin:0!important;
  padding:14px 12px!important;
  background:#f5f9f5!important;
  border:1px solid #d1e3d6!important;
  border-radius:9px!important;
  color:#16563f!important;
  text-decoration:none!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.cw-treatment-grid > a:focus-visible{
  outline:3px solid #6daa8c!important;
  outline-offset:3px;
}
@media(max-width:340px){
  .cw-treatment-grid{grid-template-columns:1fr!important}
}
/* Clinical Wellness footer rebuild – unpublished draft theme only. */
.cw-draft-footer{display:none}
@media(max-width:980px){
  body .et-l--footer{display:none!important}
  .cw-draft-footer{
    display:block!important;
    position:relative;
    width:100%;
    box-sizing:border-box;
    background:#2b2b2b;
    color:#edf7f0;
    font-family:Arial,Helvetica,sans-serif;
  }
  .cw-draft-footer *{box-sizing:border-box}
  .cw-draft-footer-inner{
    max-width:680px;
    margin:0 auto;
    padding:34px 23px 25px;
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
  }
  .cw-draft-footer strong{
    color:#fff;
    font-size:17px;
    font-weight:700;
    line-height:1.35;
  }
  .cw-draft-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
  .cw-draft-footer-brand > span{font-size:14px;color:#d7e8dd}
  .cw-draft-footer address{font-size:15px;line-height:1.65;color:#e2eee6;font-style:normal;margin:5px 0 1px}
  .cw-draft-footer a{
    color:#d7f7e5!important;
    text-decoration:underline;
    text-underline-offset:3px;
    font-size:15px;
    line-height:1.5;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    max-width:100%;
  }
  .cw-draft-footer a:focus-visible{outline:3px solid #bbe7cf;outline-offset:3px;border-radius:4px}
  .cw-draft-footer-email{overflow-wrap:anywhere;word-break:normal}
  .cw-draft-footer-hours p{font-size:15px;line-height:1.5;color:#e2eee6;margin:8px 0 15px}
  .cw-draft-footer .cw-draft-footer-cta{
    display:flex;
    justify-content:center;
    padding:12px 16px;
    background:#f4f7f1;
    color:#17543e!important;
    border-radius:8px;
    font-weight:700;
    text-decoration:none;
    min-height:48px;
    width:100%;
    max-width:340px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .cw-draft-footer-links{padding-top:18px;border-top:1px solid rgba(233,245,237,.27)}
  .cw-draft-footer-link-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:5px 16px;
    margin-top:9px;
  }
  .cw-draft-footer-link-grid a{font-size:14px!important;min-height:44px}
  .cw-draft-footer-legal{
    border-top:1px solid rgba(233,245,237,.27);
    padding-top:17px;
    margin:0!important;
    color:#c6dfd0!important;
    font-size:12px!important;
    line-height:1.6!important;
    text-align:left!important;
  }
}
@media(min-width:650px) and (max-width:980px){
  .cw-draft-footer-inner{grid-template-columns:1.1fr 1fr;gap:24px 34px}
  .cw-draft-footer-links,.cw-draft-footer-legal{grid-column:1/-1}
}
/* Accessible, keyboard-operable FAQ details – homepage content. */
.cw-faq-list{display:grid;gap:10px;margin:14px 0 18px}
.cw-faq-list details{border:1px solid #dae5dc;border-radius:8px;background:#fff;overflow:hidden}
.cw-faq-list summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 17px;
  min-height:50px;
  box-sizing:border-box;
  list-style:none;
  cursor:pointer;
  color:#173b30;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
}
.cw-faq-list summary::-webkit-details-marker{display:none}
.cw-faq-list summary::after{content:"+";font-size:22px;line-height:1;flex:0 0 auto}
.cw-faq-list details[open] summary::after{content:"−"}
.cw-faq-list summary:focus-visible{outline:3px solid #5c9a78;outline-offset:-3px}
.cw-faq-list details > p{
  padding:0 17px 17px;
  margin:0!important;
  font-size:15px;
  line-height:1.65;
  color:#344b3d;
}
/* Clinical Wellness mobile homepage polish — DRAFT, phone-only.
 * Restored Divi 5 homepage remains intact; desktop at 768px+ unchanged.
 * Preserves original text, links, gallery, insurance and FAQ items.
 */
@media(max-width:767px){
  body.home #main-content{overflow:hidden}
  body.home #main-content .et_pb_section_0{
    position:relative;
    isolation:isolate;
    padding-top:36px!important;
    padding-bottom:26px!important;
  }
  /* Contrast layer retains the existing massage-photo hero. */
  body.home #main-content .et_pb_text_0{
    /* The original hero photo is the background of this text module,
       not of the entire section. Blend a dark green tint into it. */
    background-color:rgba(17,49,38,.75)!important;
    background-blend-mode:multiply!important;
  }
  body.home #main-content .et_pb_section_0 .et_pb_row_0{
    width:90%!important;
    max-width:530px!important;
    padding:0!important;
    position:relative;
    z-index:1;
    margin-bottom:10px!important;
  }
  body.home #main-content .et_pb_text_0,
  body.home #main-content .et_pb_text_0 .et_pb_text_inner{
    text-align:center!important;
    color:#fff!important;
  }
  body.home #main-content .et_pb_text_0 h2{
    font-size:29px!important;
    line-height:1.18!important;
    font-weight:750!important;
    color:#fff!important;
    margin:0 0 14px!important;
    text-shadow:0 2px 9px rgba(0,18,8,.52);
  }
  body.home #main-content .et_pb_text_0 p{
    font-size:15.5px!important;
    line-height:1.65!important;
    color:#f3faf4!important;
    text-shadow:0 1px 6px rgba(0,18,8,.48);
  }
  body.home #main-content .et_pb_text_0 p:last-child{
    font-size:0!important;
    line-height:0!important;
    margin-top:19px!important;
  }
  body.home #main-content .et_pb_text_0 p:last-child br{display:none!important}
  body.home #main-content .et_pb_text_0 p:last-child a{
    display:flex!important;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    width:100%;
    max-width:330px;
    min-height:48px;
    padding:11px 16px;
    margin:10px auto 0;
    background:#f8faf6!important;
    border:1px solid #f8faf6!important;
    border-radius:8px;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:700!important;
    text-align:center;
    text-decoration:none!important;
    text-shadow:none!important;
    color:#174b37!important;
  }
  body.home #main-content .et_pb_text_0 p:last-child a[href^="tel"]{
    border:1px solid rgba(255,255,255,.78)!important;
    background:rgba(255,255,255,.15)!important;
    color:#fff!important;
    box-shadow:0 1px 4px rgba(0,15,8,.22)!important;
  }
  body.home #main-content .et_pb_text_0 p:last-child a *{
    color:inherit!important;
    text-decoration:none!important;
    font-size:inherit!important;
  }
  body.home #main-content .et_pb_text_0 p:last-child a:focus-visible{
    outline:3px solid #fff;outline-offset:3px
  }
  /* Make restored content shorter and more comfortable to scan on phones. */
  body.home #main-content .et_pb_section_0 > .et_pb_row:not(.et_pb_row_0){
    width:90%!important;
    max-width:530px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.home #main-content .et_pb_row_2,
  body.home #main-content .et_pb_row_3,
  body.home #main-content .et_pb_row_4,
  body.home #main-content .et_pb_row_5,
  body.home #main-content .et_pb_row_6{
    padding-top:29px!important;
    padding-bottom:23px!important;
  }
  body.home #main-content .et_pb_text:not(.et_pb_text_0) h2{
    font-size:24px!important;
    line-height:1.28!important;
    margin-bottom:13px!important;
    color:#173b30!important;
  }
  body.home #main-content .et_pb_text h3{
    font-size:20px!important;
    line-height:1.35!important;
  }
  body.home #main-content .et_pb_row_2 .et_pb_text p,
  body.home #main-content .et_pb_row_3 .et_pb_text p,
  body.home #main-content .et_pb_row_6 .et_pb_text p{
    font-size:15.5px!important;
    line-height:1.65!important;
    margin:0 0 13px!important;
  }
  body.home #main-content .et_pb_row_2 .et_pb_column,
  body.home #main-content .et_pb_row_6 .et_pb_column{
    width:100%!important;
    float:none!important;
    margin:0 0 20px!important;
  }
  body.home #main-content .et_pb_gallery_0{
    margin-top:12px!important;
    border-radius:9px;
    overflow:hidden;
  }
  body.home #main-content .et_pb_gallery_0 .et_pb_gallery_item{
    border-radius:8px;
    overflow:hidden;
  }
  body.home #main-content .et_pb_button_0,
  body.home #main-content .et_pb_button_1,
  body.home #main-content .et_pb_button_2,
  body.home #main-content .et_pb_button_3{
    box-sizing:border-box;
    display:block!important;
    min-height:46px!important;
    width:100%!important;
    max-width:350px!important;
    padding:12px 16px!important;
    border-radius:8px!important;
    border:1px solid #17694e!important;
    text-align:center!important;
    font-size:15px!important;
    line-height:1.4!important;
    box-shadow:none!important;
    text-decoration:none!important;
  }
  body.home #main-content .et_pb_button_0,
  body.home #main-content .et_pb_button_2{
    background:#fff!important;
    color:#17694e!important;
  }
  body.home #main-content .et_pb_button_1,
  body.home #main-content .et_pb_button_3{
    background:#17694e!important;
    color:#fff!important;
  }
  body.home #main-content .et_pb_button_0::after,
  body.home #main-content .et_pb_button_1::after,
  body.home #main-content .et_pb_button_2::after,
  body.home #main-content .et_pb_button_3::after{display:none!important}
  body.home #main-content .et_pb_button_module_wrapper{margin:0 0 10px!important}
  /* Insurance: one coherent reading panel, compact real insurer logos. */
  body.home #main-content .et_pb_row_3{
    background:#f6f9f4;
    border:1px solid #e1eae1;
    border-radius:12px;
    padding:22px 18px 24px!important;
    box-sizing:border-box;
  }
  body.home #main-content .et_pb_row_3 .et_pb_text_5{margin-top:26px!important;padding-top:19px!important;border-top:1px solid #dce8dd!important}
  body.home #main-content .et_pb_row_3 .et_pb_text p{
    max-width:62ch;
    margin:0 0 16px!important;
    line-height:1.75!important;
    color:#30483c!important;
  }
  body.home #main-content .et_pb_row_3 .et_pb_text strong{
    font-weight:700!important;
    color:#174f3a!important;
  }
  body.home #main-content .et_pb_row_3 .et_pb_text h2{
    color:#174f3a!important;
    margin:0 0 13px!important;
  }
  body.home #main-content .et_pb_row_3 .et_pb_text a{
    color:#0d6a4a!important;
    font-weight:700!important;
    text-decoration:underline;
    text-underline-offset:2px;
  }
  body.home #main-content .et_pb_gallery_1{margin-top:22px!important}
  body.home #main-content .et_pb_gallery_1 .et_pb_gallery_items{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  body.home #main-content .et_pb_gallery_1 .et_pb_gallery_item{
    float:none!important;
    clear:none!important;
    width:100%!important;
    margin:0!important;
    padding:10px 7px!important;
    box-sizing:border-box;
    border:1px solid #e0e9df;
    border-radius:8px;
    background:#fff;
  }
  body.home #main-content .et_pb_gallery_1 .et_pb_gallery_item img{
    object-fit:contain!important;
    max-height:85px!important;
    width:100%!important;
  }
  body.home #main-content .et_pb_gallery_1 .et_pb_gallery_title{
    display:none!important;
  }
  body.home #main-content .et_pb_gallery_1 .et_pb_gallery_pagination{
    margin-top:11px!important;
  }
  /* Keep every FAQ and its answer, with more legible tap targets. */
  body.home #main-content .et_pb_text_6 h3{
    font-size:22px!important;
    line-height:1.3!important;
    color:#173b30!important;
  }
  body.home #main-content .et_pb_accordion_0 .et_pb_toggle{
    margin:0 0 9px!important;
    padding:15px 16px!important;
    background:#fff!important;
    border:1px solid #dce8dd!important;
    border-radius:8px!important;
  }
  body.home #main-content .et_pb_accordion_0 .et_pb_toggle_title{
    font-size:15px!important;
    line-height:1.5!important;
    font-weight:700!important;
    color:#173b30!important;
  }
  body.home #main-content .et_pb_accordion_0 .et_pb_toggle_content{
    font-size:15px!important;
    line-height:1.65!important;
    color:#374c40!important;
    padding-top:11px!important;
  }
  body.home #main-content .et_pb_row_6 iframe{
    width:100%!important;
    max-width:100%!important;
    height:280px!important;
    border-radius:10px;
  }
}
/* Mobile-only accessible FAQ replaces Divi's forced-open first accordion panel.
   The original Divi accordion remains present and visible on desktop. */
.cw-mobile-faq-native{display:none}
@media(max-width:767px){
  body.home #main-content .cw-mobile-faq-native + .et_pb_accordion_0{
    display:none!important;
  }
  body.home #main-content .cw-mobile-faq-native{
    display:grid!important;
    gap:9px;
    margin-top:12px;
  }
  body.home #main-content .cw-mobile-faq-native details{
    border:1px solid #dce8dd;
    border-radius:8px;
    background:#fff;
    overflow:hidden;
    margin:0;
  }
  body.home #main-content .cw-mobile-faq-native summary{
    position:relative;
    display:block;
    list-style:none;
    padding:15px 43px 15px 15px;
    min-height:48px;
    box-sizing:border-box;
    color:#173b30;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
    cursor:pointer;
  }
  body.home #main-content .cw-mobile-faq-native summary::-webkit-details-marker{display:none}
  body.home #main-content .cw-mobile-faq-native summary::after{
    content:"+";
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    font-size:21px;
    font-weight:500;
  }
  body.home #main-content .cw-mobile-faq-native details[open] summary::after{content:"−"}
  body.home #main-content .cw-mobile-faq-native summary:focus-visible{outline:3px solid #85bb9a;outline-offset:-3px}
  body.home #main-content .cw-mobile-faq-answer{
    padding:0 15px 17px;
    color:#344b3d;
    font-size:15px;
    line-height:1.65;
  }
  body.home #main-content .cw-mobile-faq-answer p{
    margin:0 0 11px;
    font-size:inherit;
    line-height:inherit;
  }
}
/* Existing theme customization continues below. */
#top-header .container {
	padding-top: 0px;
}