/*
Theme Name: Canyon Health New Site
Theme URI: https://canyonhealth.net/
Author: Canyon Health
Description: A brand-new Canyon Health WordPress theme built from a blank codebase to match the supplied maroon, cream, gold, and Arizona desert reference design while preserving the site's WordPress content and page URLs.
Version: 55.1.0
Text Domain: canyon-health-new-site
*/
:root{--maroon:#3d1411;--deep:#3b1311;--mid:#67201f;--gold:#cda665;--gold-light:#ead0a0;--cream:#faf7f1;--warm:#f5ecdf;--paper:#fffdfa;--ink:#28211f;--muted:#695d57;--line:#dfccb0;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--shadow:0 18px 44px rgba(69,24,20,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.62}img{max-width:100%;height:auto}a{color:var(--maroon);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--maroon);line-height:1.08}h2{font-size:clamp(2rem,3.1vw,3.05rem);margin:0 0 18px}h3{font-size:1.35rem}p{margin:0 0 18px}button,input,select,textarea{font:inherit}.ch54-width{width:min(calc(100% - 84px),1450px);margin:auto}

/* TOP BAR — matches the supplied reference */
.ch54-top{height:66px;background:var(--deep);color:var(--gold-light);border-bottom:1px solid rgba(235,207,155,.42)}
.ch54-top-inner{height:66px;padding:0 42px;display:flex;align-items:center;justify-content:space-between}
.ch54-contact{display:flex;align-items:center;gap:22px;font-weight:700;font-size:18px}.ch54-contact a{color:var(--gold-light)}.ch54-contact a:hover{text-decoration:none;color:#fff}.ch54-contact .sep{width:1px;height:25px;background:#cba86d}.ch54-top-appointment{height:44px;min-width:288px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border-radius:4px;background:var(--gold-light);color:var(--deep);font-size:14px;font-weight:800}.ch54-top-appointment:hover{text-decoration:none;background:#f2deb8;color:var(--deep)}

/* HEADER + NAV — measured from the user's 1536px reference */
.ch54-header{height:209px;background:var(--maroon)}.ch54-header-inner{height:209px;padding:0 42px;display:flex;align-items:center;gap:52px}.ch54-brand{display:flex;align-items:center;width:586px;height:204px;flex:0 0 586px;overflow:hidden;line-height:0}.ch54-brand img{display:block;width:586px;height:204px;object-fit:cover;object-position:center}.ch54-nav{margin-left:18px}.ch54-nav>ul{display:flex;align-items:center;gap:55px;list-style:none;margin:0;padding:0}.ch54-nav li{position:relative}.ch54-nav>ul>li>a{display:block;padding:16px 0;color:#fff;font-size:15px;font-weight:800;text-transform:uppercase;white-space:nowrap}.ch54-nav>ul>li>a:hover{color:var(--gold-light);text-decoration:none}.ch54-nav .sub-menu{display:none;position:absolute;z-index:100;top:100%;left:0;min-width:240px;margin:0;padding:8px 0;list-style:none;background:#fff8ed;border-top:3px solid var(--gold);box-shadow:0 14px 34px rgba(47,8,10,.22)}.ch54-nav li:hover>.sub-menu{display:block}.ch54-nav .sub-menu a{display:block;padding:11px 15px;color:var(--maroon);font-size:14px;font-weight:700;line-height:1.3}.ch54-nav .sub-menu a:hover{background:#f3e5d2;text-decoration:none}.ch54-menu{display:none;margin-left:auto;padding:7px 11px;border:1px solid var(--gold);border-radius:4px;background:#4d1114;color:#fff;font-size:23px}

/* HERO — real HTML/CSS, not a screenshot */
.ch54-hero{height:493px;display:grid;grid-template-columns:50.35% 49.65%;overflow:hidden;background:var(--cream)}.ch54-hero-photo{height:493px;background:url('assets/images/canyon-health-hero-reference.jpg') center center/cover no-repeat}.ch54-hero-panel{height:493px;position:relative;display:flex;align-items:center;background:var(--cream)}.ch54-hero-panel:before{content:"";position:absolute;left:-64px;top:-18px;bottom:-18px;width:122px;background:var(--cream);border-radius:55% 0 0 55%}.ch54-hero-content{position:relative;z-index:1;max-width:710px;padding:28px 6.5% 28px 8.8%;transform:translateY(-10px)}.ch54-kicker,.ch54-eyebrow,.ch54-page-kicker{color:var(--maroon);text-transform:uppercase;font-size:.84rem;font-weight:900;letter-spacing:.062em}.ch54-kicker{margin-bottom:27px;font-size:17px}.ch54-hero h1{margin:0 0 24px;font-size:78px;font-weight:700;line-height:1.02;letter-spacing:-1.35px}.ch54-hero p{max-width:645px;margin:0 0 28px;font-size:18px;line-height:1.62}.ch54-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border:1px solid transparent;border-radius:4px;font-weight:800;cursor:pointer}.ch54-btn:hover{text-decoration:none}.ch54-btn-maroon{background:var(--maroon);color:#fff}.ch54-btn-maroon:hover{background:var(--mid);color:#fff}.ch54-btn-gold{background:var(--gold-light);color:var(--deep)}.ch54-btn-gold:hover{background:#f2deb8;color:var(--deep)}.ch54-btn-outline{background:transparent;border-color:var(--maroon);color:var(--maroon)}.ch54-btn-outline:hover{background:var(--maroon);color:#fff}.ch54-hero-cta{min-height:58px;padding:0 25px;font-size:16px}

/* four item feature bar */
.ch54-features{height:128px;display:grid;grid-template-columns:repeat(4,1fr);padding:0 50px;background:var(--cream);border-top:1px solid #e2d2bb;border-bottom:1px solid #e2d2bb}.ch54-feature{height:128px;display:flex;align-items:center;gap:18px;padding:16px 24px;border-right:1px solid #dbc5a5}.ch54-feature:last-child{border-right:0}.ch54-feature img{width:66px;height:66px;flex:0 0 66px;border-radius:50%;object-fit:cover}.ch54-feature strong{display:block;margin-bottom:4px;color:#451214;font-size:16px}.ch54-feature span{display:block;font-size:14px;line-height:1.5}

/* HOME CONTENT */
.ch54-section{padding:76px 0;background:var(--paper)}.ch54-section.warm{background:var(--cream)}.ch54-section-head{max-width:920px;margin:0 auto 42px;text-align:center}.ch54-section-head .ch54-eyebrow{margin-bottom:14px}.ch54-section-head p{color:var(--muted);font-size:1.04rem}.ch54-services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.ch54-service{display:flex;flex-direction:column;padding:28px;background:#fff;border:1px solid #eadfce;border-radius:10px;box-shadow:0 8px 23px rgba(72,24,21,.055);transition:.2s}.ch54-service:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}.ch54-service-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:var(--maroon);color:#fff;font-size:25px}.ch54-service h3{margin:0 0 12px}.ch54-service p{flex:1;color:var(--muted)}.ch54-service span{font-weight:800}.ch54-four{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.ch54-four article{padding:28px;text-align:center;background:#fff;border:1px solid #e6d8c5;border-radius:10px}.ch54-four article>b{width:42px;height:42px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:var(--gold-light);color:var(--deep)}.ch54-review{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px 34px;background:var(--cream);border-left:5px solid var(--gold);border-radius:10px}.ch54-actions{display:flex;gap:12px;flex-wrap:wrap}.ch54-two{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.ch54-box{padding:34px;background:#fff;border:1px solid #e6d8c5;border-radius:10px;box-shadow:0 8px 24px rgba(72,24,21,.055)}.ch54-box.callout{background:var(--cream);border-top:5px solid var(--gold)}.ch54-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ch54-form label{display:flex;flex-direction:column;gap:7px;color:var(--deep);font-weight:700}.ch54-form .wide{grid-column:1/-1}.ch54-form input,.ch54-form select,.ch54-form textarea{width:100%;padding:11px 12px;border:1px solid #d9c6ad;border-radius:4px;background:#fff}.ch54-form textarea{min-height:90px;resize:vertical}.ch54-small{font-size:.86rem;color:var(--muted)}.ch54-message{padding:12px 14px;margin-bottom:15px;border-radius:4px}.ch54-message.success{background:#eef7eb}.ch54-message.error{background:#faebeb}.ch54-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--maroon);color:#fff}.ch54-stats>div{text-align:center;padding:30px;border-right:1px solid rgba(255,255,255,.16)}.ch54-stats>div:last-child{border-right:0}.ch54-stats strong{display:block;margin-bottom:6px;color:var(--gold-light);font-family:var(--serif);font-size:1.5rem}.ch54-faq{max-width:900px;margin:auto}.ch54-faq details{border-bottom:1px solid var(--line)}.ch54-faq summary{padding:18px 5px;cursor:pointer;color:var(--maroon);font-weight:800}.ch54-faq details p{padding:0 5px 18px;margin:0;color:var(--muted)}

/* ALL EXISTING WORDPRESS PAGES */
.ch54-page-hero{padding:58px 0 52px;background:linear-gradient(135deg,var(--deep),var(--maroon));border-bottom:5px solid var(--gold);color:#fff}.ch54-page-hero .ch54-page-kicker{margin-bottom:13px;color:var(--gold-light)}.ch54-page-hero h1{margin:0;color:#fff;font-size:clamp(2.6rem,4vw,4.35rem)}.ch54-page-hero p{color:#f5e9d8}.ch54-page-body{padding:68px 0;background:var(--paper)}.ch54-entry{max-width:1120px;margin:auto;padding:42px;background:#fff;border:1px solid #eee2d1;border-radius:10px;box-shadow:0 10px 30px rgba(72,26,23,.05);overflow-wrap:anywhere}.ch54-entry h2{margin-top:36px}.ch54-entry h3{margin-top:27px}.ch54-entry img,.ch54-entry iframe{max-width:100%}.ch54-entry table{width:100%;border-collapse:collapse}.ch54-entry td,.ch54-entry th{padding:10px;border:1px solid #e3d3bc}.ch54-entry blockquote{padding:20px 24px;background:var(--cream);border-left:4px solid var(--gold)}.ch54-pdf{display:flex;align-items:center;gap:22px;padding:24px;margin:18px 0 30px;background:var(--cream);border:1px solid #e4d2b6;border-radius:10px}.ch54-pdf-badge{width:65px;height:65px;flex:0 0 65px;display:grid;place-items:center;border-radius:7px;background:var(--maroon);color:#fff;font-weight:900}.ch54-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.ch54-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ch54-post{padding:27px;background:#fff;border:1px solid #e8dbc9;border-radius:10px}

/* FOOTER */
.ch54-footer-cta{padding:30px 0;background:var(--gold-light);color:var(--deep)}.ch54-footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.ch54-footer-cta h2{margin:0 0 4px;color:var(--deep)}.ch54-footer-cta p{margin:0}.ch54-footer{padding:58px 0 0;background:#4d1114;color:#eadfce}.ch54-footer-grid{display:grid;grid-template-columns:1.2fr .9fr 1.35fr .9fr;gap:38px}.ch54-footer h3{color:var(--gold-light)}.ch54-footer a{color:#f5e9d5}.ch54-footer strong{color:#fff}.ch54-footer-bottom{margin-top:28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);color:#d7c6b0;font-size:.84rem}.ch54-mobilebar{display:none}

@media(max-width:1200px){.ch54-brand{width:455px;flex-basis:455px}.ch54-brand img{width:455px}.ch54-nav>ul{gap:18px}.ch54-nav>ul>li>a{font-size:13px}.ch54-services,.ch54-four{grid-template-columns:1fr 1fr}}
@media(max-width:920px){.ch54-header{height:auto}.ch54-header-inner{height:auto;min-height:112px;padding:0 24px}.ch54-brand{width:350px;height:108px;flex-basis:350px}.ch54-brand img{width:350px;height:108px}.ch54-menu{display:block}.ch54-nav{display:none;position:absolute;z-index:300;top:178px;left:0;right:0;margin:0;padding:12px 24px 24px;background:var(--maroon)}.ch54-nav.open{display:block}.ch54-nav>ul{display:block}.ch54-nav>ul>li>a{padding:12px 0;font-size:14px}.ch54-nav .sub-menu{display:none;position:static;margin:0 0 5px;background:var(--mid);border:0;box-shadow:none}.ch54-nav .sub-open>.sub-menu{display:block}.ch54-nav .sub-menu a{color:#fff}.ch54-nav .sub-menu a:hover{background:rgba(255,255,255,.08)}.ch54-hero{height:auto;grid-template-columns:1fr}.ch54-hero-photo{height:360px}.ch54-hero-panel{height:auto}.ch54-hero-panel:before{display:none}.ch54-hero-content{padding:48px 7%}.ch54-features{height:auto;grid-template-columns:1fr 1fr;padding:0}.ch54-feature{height:128px}.ch54-feature:nth-child(2){border-right:0}.ch54-feature:nth-child(-n+2){border-bottom:1px solid #dbc5a5}.ch54-two,.ch54-location-grid{grid-template-columns:1fr}.ch54-review{display:block}.ch54-actions{margin-top:20px}.ch54-footer-grid{grid-template-columns:1fr 1fr}.ch54-post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{padding-bottom:58px}.ch54-width{width:min(calc(100% - 26px),1450px)}.ch54-top,.ch54-top-inner{height:52px}.ch54-top-inner{padding:0 13px}.ch54-contact{font-size:13px;gap:9px}.ch54-contact>span:last-child,.ch54-contact .sep{display:none}.ch54-top-appointment{height:36px;padding:0 9px;font-size:10px}.ch54-header-inner{min-height:88px}.ch54-brand{width:255px;height:82px;flex-basis:255px}.ch54-brand img{width:255px;height:82px}.ch54-nav{top:140px}.ch54-hero-photo{height:280px}.ch54-hero-content{padding:40px 6%}.ch54-kicker{font-size:13px;margin-bottom:18px}.ch54-hero h1{font-size:44px}.ch54-hero p{font-size:16px}.ch54-features,.ch54-services,.ch54-four,.ch54-stats,.ch54-footer-grid,.ch54-post-grid{grid-template-columns:1fr}.ch54-feature{border-right:0;border-bottom:1px solid #dbc5a5}.ch54-feature:last-child{border-bottom:0}.ch54-section{padding:54px 0}.ch54-form{grid-template-columns:1fr}.ch54-form .wide{grid-column:auto}.ch54-stats>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.ch54-entry{padding:25px 19px}.ch54-footer-cta-inner{display:block}.ch54-footer-cta .ch54-btn{margin-top:14px}.ch54-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:999;display:grid;grid-template-columns:1fr 1.3fr;background:#4d1114}.ch54-mobilebar a{padding:16px 8px;text-align:center;color:#fff;font-weight:800}}


/* ==========================================================================
   V54.1 — Requested site refinements
   ========================================================================== */

/* ALL site buttons now use the same maroon as the main header. */
.ch54-btn,
.ch54-btn-maroon,
.ch54-btn-gold,
.ch54-btn-outline,
.ch54-top-appointment,
.ch54-footer-cta .ch54-btn,
button.ch54-btn,
input[type="submit"],
button[type="submit"]{
  background:var(--maroon)!important;
  border-color:var(--maroon)!important;
  color:#fff!important;
}
.ch54-btn:hover,
.ch54-btn-maroon:hover,
.ch54-btn-gold:hover,
.ch54-btn-outline:hover,
.ch54-top-appointment:hover,
.ch54-footer-cta .ch54-btn:hover,
button.ch54-btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover{
  background:var(--deep)!important;
  border-color:var(--deep)!important;
  color:#fff!important;
  text-decoration:none!important;
}

/* About Us / provider presentation */
.ch54-about-intro{
  max-width:960px;
  margin:0 auto 45px;
  text-align:center;
}
.ch54-about-intro .ch54-eyebrow{margin-bottom:13px}
.ch54-provider-grid{
  display:grid;
  gap:34px;
}
.ch54-provider-card{
  display:grid;
  grid-template-columns:minmax(260px,340px) 1fr;
  gap:36px;
  align-items:start;
  padding:34px;
  background:#fff;
  border:1px solid #eadfce;
  border-radius:12px;
  box-shadow:0 12px 32px rgba(72,24,21,.07);
}
.ch54-provider-photo img{
  width:100%;
  max-width:340px;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.ch54-provider-copy h2{margin:4px 0 5px}
.ch54-provider-copy h3{margin:24px 0 8px}
.ch54-provider-title{
  color:var(--maroon);
  font-weight:800;
  margin-bottom:18px;
}
.ch54-provider-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

/* Pain Management page */
.ch54-pain-page{
  max-width:1050px;
}
.ch54-pain-page h2:first-child{
  margin-top:0;
}
.ch54-pain-page h5{
  margin:28px 0;
  padding:22px 24px;
  font-size:1.12rem;
  line-height:1.55;
  background:var(--cream);
  border-left:5px solid var(--maroon);
  border-radius:6px;
}
.ch54-pain-page ol{
  padding-left:28px;
}
.ch54-pain-page li{
  margin-bottom:12px;
}
.ch54-expect-list li{
  margin-bottom:22px;
  padding-left:5px;
}
.ch54-expect-list strong{
  display:block;
  color:var(--maroon);
  margin-bottom:5px;
}
.ch54-pain-cta{
  margin-top:38px;
  padding:28px;
  background:var(--cream);
  border-top:5px solid var(--maroon);
  border-radius:10px;
}

@media(max-width:800px){
  .ch54-provider-card{
    grid-template-columns:1fr;
  }
  .ch54-provider-photo{
    text-align:center;
  }
  .ch54-provider-photo img{
    margin:auto;
  }
}


/* ==========================================================================
   V54.2 — Provider, Pain Management and Locations fixes
   ========================================================================== */

/* Providers */
.ch54-provider-grid{
  display:grid;
  gap:34px;
}
.ch54-provider-card{
  display:grid;
  grid-template-columns:minmax(260px,340px) 1fr;
  gap:38px;
  align-items:start;
  padding:34px;
  background:#fff;
  border:1px solid #eadfce;
  border-radius:12px;
  box-shadow:0 12px 32px rgba(72,24,21,.07);
}
.ch54-provider-photo img{
  display:block;
  width:100%;
  max-width:340px;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border-radius:10px;
}
.ch54-provider-title{
  color:var(--maroon);
  font-weight:800;
}
.ch54-provider-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

/* Locations + maps */
.ch54-location-map-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.ch54-location-map-grid .ch54-location-card{
  overflow:hidden;
  padding:0;
  background:#fff;
  border:1px solid #eadfce;
  border-radius:12px;
  box-shadow:0 12px 32px rgba(72,24,21,.07);
}
.ch54-location-copy{
  padding:30px;
}
.ch54-location-copy h2{
  margin-top:4px;
}
.ch54-map{
  height:360px;
  border-top:1px solid #eadfce;
}
.ch54-map iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
}
.ch54-contact-strip{
  margin-top:30px;
  padding:20px 24px;
  text-align:center;
  background:var(--cream);
  border:1px solid #dfccb0;
  border-radius:10px;
}
.ch54-contact-strip span{
  display:inline-block;
  margin:0 12px;
  color:var(--maroon);
}

/* Pain page */
.ch54-pain-page h5{
  margin:28px 0;
  padding:22px 24px;
  background:var(--cream);
  border-left:5px solid var(--maroon);
  border-radius:6px;
  font-size:1.12rem;
  line-height:1.55;
}
.ch54-expect-list li{
  margin-bottom:22px;
}
.ch54-expect-list strong{
  display:block;
  margin-bottom:5px;
  color:var(--maroon);
}
.ch54-pain-cta{
  margin-top:38px;
  padding:28px;
  background:var(--cream);
  border-top:5px solid var(--maroon);
  border-radius:10px;
}

@media(max-width:900px){
  .ch54-provider-card,
  .ch54-location-map-grid{
    grid-template-columns:1fr;
  }
  .ch54-provider-photo img{
    margin:auto;
  }
}


/* ==========================================================================
   V54.3 — Homepage visual refinements requested 2026-08-17
   ========================================================================== */

/* Use a warmer/lighter header-family maroon for every actionable button. */
:root{
  --button-maroon:#6a2420;
  --button-maroon-hover:#541a18;
}
.ch54-btn,
.ch54-btn-maroon,
.ch54-btn-gold,
.ch54-btn-outline,
.ch54-top-appointment,
.ch54-footer-cta .ch54-btn,
button.ch54-btn,
input[type="submit"],
button[type="submit"]{
  background:var(--button-maroon)!important;
  border-color:var(--button-maroon)!important;
  color:#fff!important;
}
.ch54-btn:hover,
.ch54-btn-maroon:hover,
.ch54-btn-gold:hover,
.ch54-btn-outline:hover,
.ch54-top-appointment:hover,
.ch54-footer-cta .ch54-btn:hover,
button.ch54-btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover{
  background:var(--button-maroon-hover)!important;
  border-color:var(--button-maroon-hover)!important;
  color:#fff!important;
}

/* Hero: pull the content and appointment CTA upward and tighten excess vertical gaps. */
.ch54-hero-content{
  transform:translateY(-28px);
}
.ch54-kicker{
  margin-bottom:18px;
}
.ch54-hero h1{
  margin-bottom:17px;
}
.ch54-hero p{
  margin-bottom:18px;
}
.ch54-hero-cta{
  min-height:56px;
  margin-top:0;
}

/* Restore the four distinct service colors from the earlier Canyon Health design. */
.ch54-service{
  border-top:5px solid transparent;
}
.ch54-service:nth-child(1){border-top-color:#8f3047}
.ch54-service:nth-child(2){border-top-color:#6f8c66}
.ch54-service:nth-child(3){border-top-color:#5f8990}
.ch54-service:nth-child(4){border-top-color:#c7a25a}

.ch54-service:nth-child(1) .ch54-service-icon{
  background:#f8e7e9;color:#7b2338;border:1px solid #a64b5b;
}
.ch54-service:nth-child(2) .ch54-service-icon{
  background:#e9f2e8;color:#4f6f47;border:1px solid #7e9c74;
}
.ch54-service:nth-child(3) .ch54-service-icon{
  background:#e8f1f2;color:#3f7078;border:1px solid #6f9aa0;
}
.ch54-service:nth-child(4) .ch54-service-icon{
  background:#f6eddc;color:#8a661f;border:1px solid #c7a25a;
}
.ch54-service-icon{
  box-shadow:0 3px 10px rgba(79,20,35,.08);
}


/* ==========================================================================
   V54.4 — Why Canyon Health icon colors
   ========================================================================== */

/* Give each Why Canyon Health benefit its own Canyon/Arizona accent color. */
.ch54-why-card:nth-child(1) .ch54-why-icon,
.ch54-reason:nth-child(1) .ch54-reason-icon{
  background:#f8e7e9!important;
  color:#7b2338!important;
  border-color:#a64b5b!important;
}
.ch54-why-card:nth-child(2) .ch54-why-icon,
.ch54-reason:nth-child(2) .ch54-reason-icon{
  background:#e9f2e8!important;
  color:#4f6f47!important;
  border-color:#7e9c74!important;
}
.ch54-why-card:nth-child(3) .ch54-why-icon,
.ch54-reason:nth-child(3) .ch54-reason-icon{
  background:#e8f1f2!important;
  color:#3f7078!important;
  border-color:#6f9aa0!important;
}
.ch54-why-card:nth-child(4) .ch54-why-icon,
.ch54-reason:nth-child(4) .ch54-reason-icon{
  background:#f6eddc!important;
  color:#9a6b1f!important;
  border-color:#c7a25a!important;
}

/* Current homepage Why Canyon Health markup uses .ch54-reason-icon directly. */
.ch54-reasons .ch54-reason:nth-child(1) .ch54-reason-icon{background:#f8e7e9!important;color:#7b2338!important;border:1px solid #a64b5b!important}
.ch54-reasons .ch54-reason:nth-child(2) .ch54-reason-icon{background:#e9f2e8!important;color:#4f6f47!important;border:1px solid #7e9c74!important}
.ch54-reasons .ch54-reason:nth-child(3) .ch54-reason-icon{background:#e8f1f2!important;color:#3f7078!important;border:1px solid #6f9aa0!important}
.ch54-reasons .ch54-reason:nth-child(4) .ch54-reason-icon{background:#f6eddc!important;color:#9a6b1f!important;border:1px solid #c7a25a!important}


/* ==========================================================================
   V54.5 — COLOR FIX FOR ACTUAL HOMEPAGE ICON MARKUP
   ========================================================================== */

/* WHY CANYON HEALTH:
   Current markup uses .ch54-four article > b for the numbered 1,2,3,4 circles. */
.ch54-four article:nth-child(1) > b{
  background:#8f3047!important;
  color:#fff!important;
  border:2px solid #8f3047!important;
}
.ch54-four article:nth-child(2) > b{
  background:#6f8c66!important;
  color:#fff!important;
  border:2px solid #6f8c66!important;
}
.ch54-four article:nth-child(3) > b{
  background:#5f8990!important;
  color:#fff!important;
  border:2px solid #5f8990!important;
}
.ch54-four article:nth-child(4) > b{
  background:#c7a25a!important;
  color:#fff!important;
  border:2px solid #c7a25a!important;
}

/* ICONS DIRECTLY BELOW THE HERO:
   These are the four benefit/feature icons: Patient-Centered,
   Personalized Treatment, Experienced Providers, Two Valley Locations. */
.ch54-benefit:nth-child(1) .ch54-benefit-icon,
.ch54-feature:nth-child(1) .ch54-feature-icon{
  background:#8f3047!important;
  color:#fff!important;
  border:2px solid #8f3047!important;
}
.ch54-benefit:nth-child(2) .ch54-benefit-icon,
.ch54-feature:nth-child(2) .ch54-feature-icon{
  background:#6f8c66!important;
  color:#fff!important;
  border:2px solid #6f8c66!important;
}
.ch54-benefit:nth-child(3) .ch54-benefit-icon,
.ch54-feature:nth-child(3) .ch54-feature-icon{
  background:#5f8990!important;
  color:#fff!important;
  border:2px solid #5f8990!important;
}
.ch54-benefit:nth-child(4) .ch54-benefit-icon,
.ch54-feature:nth-child(4) .ch54-feature-icon{
  background:#c7a25a!important;
  color:#fff!important;
  border:2px solid #c7a25a!important;
}

/* If the hero benefit strip is rendered as image-based circular icons,
   tint the enclosing circles/background accents to keep the same palette. */
.ch54-benefits > :nth-child(1),
.ch54-feature-row > :nth-child(1){--icon-accent:#8f3047}
.ch54-benefits > :nth-child(2),
.ch54-feature-row > :nth-child(2){--icon-accent:#6f8c66}
.ch54-benefits > :nth-child(3),
.ch54-feature-row > :nth-child(3){--icon-accent:#5f8990}
.ch54-benefits > :nth-child(4),
.ch54-feature-row > :nth-child(4){--icon-accent:#c7a25a}

.ch54-benefits > * img,
.ch54-feature-row > * img{
  border:3px solid var(--icon-accent)!important;
  border-radius:50%!important;
}

/* Add matching top accent to Why Canyon Health cards too. */
.ch54-four article:nth-child(1){border-top:5px solid #8f3047!important}
.ch54-four article:nth-child(2){border-top:5px solid #6f8c66!important}
.ch54-four article:nth-child(3){border-top:5px solid #5f8990!important}
.ch54-four article:nth-child(4){border-top:5px solid #c7a25a!important}


/* ==========================================================================
   V54.5.1 — direct icon-color implementation
   ========================================================================== */

/* WHY CANYON HEALTH numbered 1-2-3-4 circles */
.ch54-four article > b{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto 16px!important;
  border-radius:50%!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:900!important;
  box-shadow:0 4px 12px rgba(60,20,20,.12)!important;
}
.ch54-four article:nth-child(1) > b{background:#8f3047!important;border:2px solid #8f3047!important}
.ch54-four article:nth-child(2) > b{background:#6f8c66!important;border:2px solid #6f8c66!important}
.ch54-four article:nth-child(3) > b{background:#5f8990!important;border:2px solid #5f8990!important}
.ch54-four article:nth-child(4) > b{background:#c7a25a!important;border:2px solid #c7a25a!important}

/* FOUR ICONS DIRECTLY BELOW HERO */
.ch54-feature-color-icon{
  width:66px;
  height:66px;
  flex:0 0 66px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:27px;
  font-weight:900;
  box-shadow:0 4px 12px rgba(60,20,20,.12);
}
.ch54-feature-patient{background:#8f3047}
.ch54-feature-treatment{background:#6f8c66}
.ch54-feature-provider{background:#5f8990}
.ch54-feature-location{background:#c7a25a}

/* Keep the four feature headings coordinated with their icon colors. */
.ch54-feature:nth-child(1) strong{color:#7b2338}
.ch54-feature:nth-child(2) strong{color:#4f6f47}
.ch54-feature:nth-child(3) strong{color:#3f7078}
.ch54-feature:nth-child(4) strong{color:#8a661f}

/* V54.6 — text labels above header */
.ch54-top-label{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.78rem;
  color:var(--gold);
  margin-right:7px;
}

.ch55-location-links{border-top:1px solid #eadfce}.ch55-location-links .ch54-actions{display:flex;gap:14px;flex-wrap:wrap}


/* ==========================================================================
   V55.1 — MOBILE-ONLY OPTIMIZATION
   All rules below apply only at 768px and under. Desktop/tablet >768px remains
   unchanged from V55.0.0.
   ========================================================================== */

@media (max-width:768px){

  /* ---------- GLOBAL MOBILE RHYTHM ---------- */
  html{scroll-padding-top:92px}
  body{
    font-size:17px;
    line-height:1.62;
    padding-bottom:64px;
  }
  .ch54-width{
    width:min(calc(100% - 28px), 100%);
  }
  .ch54-section{
    padding:48px 0;
  }
  .ch54-section-head{
    margin-bottom:28px;
  }
  .ch54-section-head h2,
  .ch54-page-hero h1{
    font-size:clamp(2rem,8vw,2.45rem)!important;
    line-height:1.08!important;
  }
  .ch54-section-head p,
  .ch54-entry p,
  .ch54-entry li{
    font-size:1rem;
    line-height:1.62;
  }

  /* ---------- TOP CONTACT STRIP ---------- */
  .ch54-topbar,
  .ch54-topbar-inner{
    min-height:54px!important;
    height:auto!important;
  }
  .ch54-topbar-inner{
    padding:7px 13px!important;
    gap:10px!important;
    align-items:center!important;
  }
  .ch54-contact{
    gap:8px!important;
    font-size:.76rem!important;
    line-height:1.25!important;
    flex-wrap:wrap!important;
  }
  .ch54-top-label{
    display:inline-block;
    margin-right:4px!important;
    font-size:.68rem!important;
    letter-spacing:.04em!important;
  }
  .ch54-top-appointment{
    min-height:38px!important;
    height:38px!important;
    padding:0 10px!important;
    font-size:.69rem!important;
    white-space:nowrap!important;
  }

  /* ---------- HEADER / MOBILE MENU ---------- */
  .ch54-header{
    min-height:86px!important;
    height:auto!important;
  }
  .ch54-header-inner{
    min-height:86px!important;
    height:86px!important;
    padding:0 14px!important;
    gap:8px!important;
  }
  .ch54-brand{
    width:min(245px,72vw)!important;
    max-width:72vw!important;
    height:80px!important;
    flex:0 1 auto!important;
  }
  .ch54-brand img{
    width:100%!important;
    height:80px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .ch54-menu-toggle,
  .menu-toggle{
    min-width:46px!important;
    min-height:46px!important;
    padding:7px 10px!important;
    font-size:1.45rem!important;
  }
  .ch54-nav{
    top:86px!important;
    max-height:calc(100vh - 140px)!important;
    overflow-y:auto!important;
    padding:10px 16px 18px!important;
  }
  .ch54-nav > ul > li > a,
  .ch54-nav a{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    padding:11px 6px!important;
    font-size:.95rem!important;
  }

  /* ---------- HERO ---------- */
  .ch54-hero{
    min-height:0!important;
    height:auto!important;
    grid-template-columns:1fr!important;
  }
  .ch54-hero-photo{
    height:245px!important;
    min-height:245px!important;
    background-position:center center!important;
  }
  .ch54-hero-panel{
    min-height:0!important;
    height:auto!important;
  }
  .ch54-hero-panel:before{
    display:none!important;
  }
  .ch54-hero-content{
    transform:none!important;
    max-width:none!important;
    padding:32px 18px 34px!important;
  }
  .ch54-kicker{
    font-size:.72rem!important;
    line-height:1.3!important;
    margin-bottom:12px!important;
    letter-spacing:.045em!important;
  }
  .ch54-hero h1{
    font-size:clamp(2.35rem,11vw,2.85rem)!important;
    line-height:1.02!important;
    letter-spacing:-.7px!important;
    margin:0 0 14px!important;
  }
  .ch54-hero p{
    font-size:1rem!important;
    line-height:1.55!important;
    margin-bottom:17px!important;
  }
  .ch54-hero-cta{
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    padding:12px 18px!important;
    font-size:.92rem!important;
  }

  /* ---------- FOUR BENEFITS DIRECTLY BELOW HERO ---------- */
  .ch54-features,
  .ch54-feature-row,
  .ch54-benefits{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
  }
  .ch54-feature,
  .ch54-benefit{
    min-height:128px!important;
    height:auto!important;
    padding:17px 13px!important;
    gap:11px!important;
    border-bottom:1px solid #dbc5a5!important;
  }
  .ch54-feature:nth-child(even),
  .ch54-benefit:nth-child(even){
    border-right:0!important;
  }
  .ch54-feature-color-icon,
  .ch54-feature-icon,
  .ch54-benefit-icon{
    width:50px!important;
    height:50px!important;
    flex:0 0 50px!important;
    font-size:1.25rem!important;
  }
  .ch54-feature strong,
  .ch54-benefit strong{
    font-size:.9rem!important;
    line-height:1.15!important;
  }
  .ch54-feature span,
  .ch54-benefit span{
    font-size:.77rem!important;
    line-height:1.35!important;
  }

  /* ---------- PATIENT-CENTERED HEALTHCARE SERVICE CARDS ---------- */
  .ch54-services,
  .ch54-service-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .ch54-service{
    padding:20px!important;
  }
  .ch54-service-icon{
    width:50px!important;
    height:50px!important;
    font-size:1.3rem!important;
    margin-bottom:13px!important;
  }
  .ch54-service h3{
    font-size:1.35rem!important;
    margin-bottom:8px!important;
  }
  .ch54-service p{
    margin-bottom:13px!important;
  }

  /* ---------- WHY CANYON HEALTH ---------- */
  .ch54-four{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
  .ch54-four article{
    padding:18px 14px!important;
    min-height:190px!important;
  }
  .ch54-four article > b{
    width:46px!important;
    height:46px!important;
    margin-bottom:11px!important;
    font-size:1rem!important;
  }
  .ch54-four h3{
    font-size:1.15rem!important;
    margin:0 0 8px!important;
  }
  .ch54-four p{
    font-size:.88rem!important;
    line-height:1.42!important;
    margin:0!important;
  }

  /* ---------- REVIEWS / CTA GROUPS ---------- */
  .ch54-review{
    display:block!important;
    padding:22px 18px!important;
  }
  .ch54-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:16px!important;
  }
  .ch54-actions .ch54-btn,
  .ch54-actions a{
    width:100%!important;
    min-height:46px!important;
  }

  /* ---------- TWO-COLUMN SECTIONS ---------- */
  .ch54-two{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .ch54-box,
  .ch54-callout,
  .ch54-location-card{
    padding:22px 18px!important;
  }

  /* ---------- APPOINTMENT FORM ---------- */
  .ch54-form,
  .ch54-form-grid{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .ch54-form .wide,
  .ch54-form-grid .full{
    grid-column:auto!important;
  }
  .ch54-form input,
  .ch54-form select,
  .ch54-form textarea,
  .ch54-form-grid input,
  .ch54-form-grid select,
  .ch54-form-grid textarea{
    min-height:48px!important;
    font-size:16px!important; /* prevents iOS zoom */
    padding:11px 12px!important;
  }
  .ch54-form textarea,
  .ch54-form-grid textarea{
    min-height:92px!important;
  }
  .ch54-form button,
  .ch54-form-grid button,
  button[type="submit"]{
    width:100%!important;
    min-height:50px!important;
  }

  /* ---------- LOCATION MAPS ---------- */
  .ch54-location-map-grid,
  .ch54-location-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .ch54-location-copy{
    padding:22px 18px!important;
  }
  .ch54-map{
    height:255px!important;
  }
  .ch54-map iframe{
    height:255px!important;
  }
  .ch54-contact-strip{
    padding:16px 14px!important;
    line-height:1.5!important;
  }
  .ch54-contact-strip span{
    display:block!important;
    height:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  /* ---------- INTERIOR PAGE CONTENT ---------- */
  .ch54-page-hero{
    padding:38px 0 34px!important;
  }
  .ch54-page-body{
    padding:42px 0!important;
  }
  .ch54-entry{
    padding:24px 18px!important;
    border-radius:8px!important;
  }
  .ch54-provider-card{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:20px!important;
  }
  .ch54-provider-photo img{
    max-width:280px!important;
    margin:auto!important;
  }

  /* ---------- STATS ---------- */
  .ch54-stats,
  .ch54-statbar{
    grid-template-columns:1fr!important;
  }
  .ch54-stats > div,
  .ch54-statbar > div{
    padding:20px 14px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.15)!important;
  }
  .ch54-stats > div:last-child,
  .ch54-statbar > div:last-child{
    border-bottom:0!important;
  }

  /* ---------- FAQ ---------- */
  .ch54-faq summary{
    padding:16px 3px!important;
    font-size:1rem!important;
    line-height:1.35!important;
  }

  /* ---------- FOOTER ---------- */
  .ch54-footer-cta{
    padding:24px 0!important;
  }
  .ch54-footer-cta-inner{
    display:block!important;
  }
  .ch54-footer-cta h2{
    font-size:1.7rem!important;
  }
  .ch54-footer-cta .ch54-btn{
    width:100%!important;
    min-height:48px!important;
    margin-top:12px!important;
  }
  .ch54-footer{
    padding-top:38px!important;
  }
  .ch54-footer-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .ch54-footer h3{
    margin-bottom:8px!important;
  }
  .ch54-footer p{
    margin-bottom:10px!important;
  }
  .ch54-footer-bottom{
    margin-top:20px!important;
    padding:18px 0!important;
    font-size:.78rem!important;
    line-height:1.5!important;
  }

  /* ---------- STICKY MOBILE ACTION BAR ---------- */
  .ch54-mobile,
  .ch54-mobilebar{
    display:grid!important;
    grid-template-columns:1fr 1.35fr!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:9999!important;
    min-height:58px!important;
    background:var(--deep)!important;
    box-shadow:0 -5px 18px rgba(0,0,0,.18)!important;
  }
  .ch54-mobile a,
  .ch54-mobilebar a{
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 8px!important;
    color:#fff!important;
    font-weight:800!important;
    text-decoration:none!important;
    border-right:1px solid rgba(255,255,255,.18)!important;
  }
}

/* Very narrow phones: stack the Why Canyon Health cards to keep text comfortable. */
@media (max-width:390px){
  .ch54-four{
    grid-template-columns:1fr!important;
  }
}
