/*
Theme Name: Ridge Prestige Healthcare Modern
Author: Ridge Prestige Healthcare
Description: Modern clinical WordPress theme for Ridge Prestige Healthcare.
Version: 6.1.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ridge-prestige-modern
*/
Version: 6.1.3

:root{
  --mh-navy:#0c2f53;
  --mh-navy-2:#143f69;
  --mh-teal:#2f8f91;
  --mh-purple:#7251a9;
  --mh-gold:#c89d57;
  --mh-text:#2b4259;
  --mh-muted:#64778a;
  --mh-soft:#f5f8fa;
  --mh-line:#e0e8ee;
  --mh-white:#fff;
  --mh-shadow:0 18px 42px rgba(12,47,83,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--mh-text);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 36px));margin:auto}

/* Header retained and refined */
.clean-header{background:#fff;border-bottom:1px solid var(--mh-line);position:sticky;top:0;z-index:30}
.clean-nav{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.clean-brand{display:flex;align-items:center;gap:15px;color:var(--mh-navy)}
.clean-brand img{width:76px;height:76px;border-radius:50%;object-fit:cover}
.clean-brand span{display:flex;flex-direction:column;line-height:1}
.clean-brand strong{font:700 28px Georgia,serif}
.clean-brand small{text-transform:uppercase;letter-spacing:.3em;font-size:9px;font-weight:800;margin-top:8px}
.clean-main-nav{display:flex;align-items:center;gap:27px;font-size:14px;color:#35506a}
.clean-main-nav a{position:relative;padding:8px 0}
.clean-main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--mh-gold);transition:right .2s ease}
.clean-main-nav a:hover:after{right:0}
.clean-mobile-book{display:none;background:var(--mh-navy);color:#fff;border-radius:9px;padding:10px 15px;font-weight:800}

/* Hero */
.mh-hero{background:linear-gradient(135deg,#f8fafc 0%,#eef5f7 55%,#f5f1f9 100%);padding:56px 0}
.mh-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.mh-eyebrow,.mh-section-kicker{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--mh-teal)}
.mh-hero h1{font:700 clamp(48px,5.7vw,72px)/1.04 Georgia,serif;color:var(--mh-navy);letter-spacing:-.025em;margin:12px 0 18px}
.mh-hero p{font-size:18px;color:#4c6379;max-width:650px;margin:0 0 28px}
.mh-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.mh-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:10px;font-weight:850;transition:.2s ease}
.mh-btn.primary{background:var(--mh-navy);color:#fff}
.mh-btn.primary:hover{background:var(--mh-navy-2);transform:translateY(-2px)}
.mh-btn.secondary{border:1px solid #bfcdd9;color:var(--mh-navy);background:#fff}
.mh-btn.secondary:hover{border-color:#9eb3c4;transform:translateY(-2px)}
.mh-trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:#516a7f;font-size:13px}
.mh-trust-row span:before{content:"✓";color:var(--mh-teal);font-weight:900;margin-right:7px}
.mh-hero-panel{background:#fff;border:1px solid var(--mh-line);border-radius:24px;padding:18px;box-shadow:var(--mh-shadow)}
.mh-hero-graphic{border-radius:18px;overflow:hidden;background:#eef4f8}
.mh-hero-graphic img{width:100%;height:340px;object-fit:cover}
.mh-hero-note{padding:18px 8px 4px}
.mh-hero-note strong{display:block;color:var(--mh-navy);font-size:18px}
.mh-hero-note span{display:block;color:var(--mh-muted);font-size:13px;margin-top:4px}

/* Intro */
.mh-intro{padding:54px 0;background:#fff}
.mh-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.mh-intro h2,.mh-section-heading h2,.mh-approach h2,.mh-provider h2,.mh-contact h2{
  font:700 42px/1.15 Georgia,serif;color:var(--mh-navy);margin:8px 0 0
}
.mh-intro p{font-size:17px;color:var(--mh-muted);margin:0}

/* Care */
.mh-care{padding:66px 0;background:var(--mh-soft)}
.mh-section-heading{max-width:760px;margin-bottom:34px}
.mh-section-heading p{color:var(--mh-muted);font-size:16px}
.mh-care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mh-care-card{background:#fff;border:1px solid var(--mh-line);border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(12,47,83,.05);transition:.2s ease}
.mh-care-card:hover{transform:translateY(-5px);box-shadow:var(--mh-shadow);border-color:#cad9e2}
.mh-care-card img{width:72px;height:72px;object-fit:contain;margin-bottom:15px}
.mh-care-card h3{font:700 20px Georgia,serif;color:var(--mh-navy);margin:0 0 8px}
.mh-care-card p{font-size:14px;color:var(--mh-muted);margin:0}

/* Approach */
.mh-approach{padding:70px 0;background:linear-gradient(110deg,#0b2e51,#0d3d6a);color:#fff}
.mh-approach-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}
.mh-section-kicker.light{color:#8ed1d1}
.mh-approach h2,.mh-contact h2{color:#fff}
.mh-approach p{font-size:17px;color:#dbe7ef;max-width:650px}
.mh-approach-points{display:grid;gap:12px;margin-top:28px}
.mh-approach-points div{display:flex;align-items:center;gap:12px}
.mh-approach-points strong{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff}
.mh-approach-points span{color:#e4edf3}
.mh-approach-art img{width:100%;max-height:320px;object-fit:contain}

/* Provider */
.mh-provider{padding:72px 0;background:#fff}
.mh-provider-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:center}
.mh-provider-photo-wrap{background:#f3f6f8;padding:12px;border-radius:24px}
.mh-provider-photo-wrap img{border-radius:18px;width:100%}
.mh-provider-role{color:var(--mh-purple);font-weight:800;margin-top:6px}
.mh-provider p{color:var(--mh-muted)}

/* Action cards */
.mh-actions{padding:24px 0 48px;background:#fff}
.mh-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mh-action-card{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center;border-radius:18px;padding:24px;border:1px solid var(--mh-line);transition:.2s ease}
.mh-action-card:hover{transform:translateY(-4px);box-shadow:var(--mh-shadow)}
.mh-action-card.insurance{background:linear-gradient(135deg,#edf8f8,#fbfdfd)}
.mh-action-card.appointment{background:linear-gradient(135deg,#f4eff8,#fcfbfd)}
.mh-action-card img{width:90px;height:80px;object-fit:contain}
.mh-card-kicker{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--mh-teal)}
.mh-action-card h3{font:700 24px Georgia,serif;color:var(--mh-navy);margin:4px 0}
.mh-action-card p{font-size:14px;color:var(--mh-muted);margin:0}

/* Contact */
.mh-contact{padding:52px 0;background:#102f4d;color:#fff}
.mh-contact-heading{max-width:700px;margin-bottom:28px}
.mh-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mh-contact-grid>div{padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.05)}
.mh-contact-grid span{display:block;font-size:12px;color:#b9cbd7;text-transform:uppercase;letter-spacing:.06em}
.mh-contact-grid strong{display:block;margin-top:5px;font-size:16px}

/* Location */
.location{padding:62px 0;background:#fff}
.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px}
.location-card{background:#f7f9fb;border:1px solid var(--mh-line);border-radius:18px;padding:30px;display:flex;flex-direction:column;justify-content:center}
.location-card h2{font:700 34px Georgia,serif;color:var(--mh-navy);margin:6px 0 12px}
.location-card p{font-size:17px;color:var(--mh-text)}
.section-label{text-transform:uppercase;color:var(--mh-teal);font-size:12px;font-weight:900;letter-spacing:.08em}
.btn{display:inline-flex;padding:11px 16px;border-radius:8px;font-weight:800}
.btn-primary{background:var(--mh-navy);color:#fff}
.map-frame{width:100%;min-height:350px;border:0;border-radius:18px;box-shadow:var(--mh-shadow)}

/* Footer */
.clean-footer{background:#071b2e;color:#9fb3c1;padding:20px 0}
.clean-footer-row{display:flex;justify-content:space-between;gap:20px;font-size:12px}
.clean-footer nav{display:flex;gap:18px}

#care,#approach,#provider,#contact,#location{scroll-margin-top:115px}

@media(max-width:1020px){
  .clean-main-nav{display:none}.clean-mobile-book{display:inline-flex}
  .mh-hero-grid,.mh-intro-grid,.mh-approach-grid,.mh-provider-grid,.location-grid{grid-template-columns:1fr}
  .mh-care-grid{grid-template-columns:repeat(2,1fr)}
  .mh-action-grid{grid-template-columns:1fr}
  .mh-contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .container{width:min(100% - 26px,1180px)}
  .clean-nav{min-height:84px}
  .clean-brand img{width:60px;height:60px}.clean-brand strong{font-size:21px}.clean-brand small{font-size:8px}
  .mh-hero{padding:36px 0}.mh-hero h1{font-size:46px}.mh-hero p{font-size:16px}
  .mh-hero-graphic img{height:260px}
  .mh-trust-row{display:grid;gap:8px}
  .mh-care-grid{grid-template-columns:1fr}
  .mh-care-card{padding:22px}
  .mh-contact-grid{grid-template-columns:1fr 1fr}
  .clean-footer-row{flex-direction:column}.clean-footer nav{flex-wrap:wrap}
}


/* Polished Book Appointment request section */
body.page-id-27 .contact-form,
body.page-id-27 form{
  max-width:none;
}

body.page-id-27 .rp-polished-request{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 38px;
  gap:18px;
  align-items:center;
  width:100%;
  margin:30px 0 10px;
  padding:22px 22px 22px 24px;
  border:1px solid #cbd8e4;
  border-radius:18px;
  background:
    linear-gradient(135deg,#ffffff 0%,#f5f9fd 58%,#eef4fa 100%);
  box-shadow:0 16px 36px rgba(10,45,85,.10);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

body.page-id-27 .rp-polished-request:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#2f8f91,#7251a9);
}

body.page-id-27 .rp-polished-request:hover{
  transform:translateY(-2px);
  border-color:#b6c9da;
  box-shadow:0 22px 44px rgba(10,45,85,.14);
}

body.page-id-27 .rp-polished-request-copy{
  min-width:0;
}

body.page-id-27 .rp-polished-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#2f7f83;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-id-27 .rp-polished-request-copy strong{
  display:block;
  color:#0b315d;
  font:700 28px/1.08 Georgia,serif;
  margin-bottom:6px;
}

body.page-id-27 .rp-polished-request-copy p{
  margin:0;
  max-width:620px;
  color:#536b82;
  font-size:14px;
  line-height:1.5;
}

body.page-id-27 .rp-polished-request-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  color:#445d75;
  font-size:12px;
  font-weight:800;
  padding:9px 11px;
  border:1px solid #d6e1eb;
  border-radius:999px;
  background:rgba(255,255,255,.78);
}

body.page-id-27 .rp-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2f8f91;
  box-shadow:0 0 0 4px rgba(47,143,145,.10);
}

body.page-id-27 .rp-polished-request-arrow{
  color:#0b315d;
  font-size:42px;
  line-height:1;
  text-align:center;
  transition:transform .2s ease;
}

body.page-id-27 .rp-polished-request:hover .rp-polished-request-arrow{
  transform:translateX(4px);
}

/* Make the original Jetpack submit control fill the polished card invisibly,
   preserving its exact submission behavior. */
body.page-id-27 .rp-polished-request input[type="submit"],
body.page-id-27 .rp-polished-request button[type="submit"]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  opacity:0 !important;
  cursor:pointer !important;
  z-index:5 !important;
}

/* Keep emergency notice separated from the action card. */
body.page-id-27 article>p:last-of-type,
body.page-id-27 main p:last-of-type{
  margin-top:28px;
}

/* Prevent accidental run-together text near the submit area. */
body.page-id-27 .rp-polished-request + *,
body.page-id-27 .rp-polished-request-copy + *{
  clear:both;
}

@media(max-width:760px){
  body.page-id-27 .rp-polished-request{
    grid-template-columns:minmax(0,1fr) 28px;
    gap:12px;
    padding:18px 16px 18px 20px;
    border-radius:16px;
  }

  body.page-id-27 .rp-polished-request-status{
    grid-column:1 / -1;
    justify-self:start;
    margin-top:2px;
  }

  body.page-id-27 .rp-polished-request-copy strong{
    font-size:23px;
  }

  body.page-id-27 .rp-polished-request-copy p{
    font-size:13px;
  }

  body.page-id-27 .rp-polished-request-arrow{
    grid-column:2;
    grid-row:1;
    align-self:center;
    font-size:34px;
  }
}


/* Realistic mental-health visual refresh */
.mh-hero-realistic{
  padding:0;
  background:linear-gradient(110deg,#f6f9fc 0%,#eef4f8 48%,#f7f9fb 100%);
}
.mh-hero-realistic-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  min-height:560px;
  align-items:stretch;
  overflow:hidden;
}
.mh-hero-realistic .mh-hero-copy{
  padding:64px 48px 58px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mh-hero-realistic .mh-hero-copy h1{
  font-size:clamp(50px,5.6vw,74px);
  max-width:650px;
}
.mh-hero-realistic .mh-hero-copy p{
  max-width:590px;
}
.mh-realistic-photo{
  min-height:560px;
  overflow:hidden;
  border-radius:0 0 0 34px;
}
.mh-realistic-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.mh-hero-realistic .mh-btn.secondary{
  background:#fff;
  border:1px solid #b8c7d5;
  color:var(--mh-navy);
  box-shadow:0 8px 20px rgba(12,47,83,.06);
}
.mh-hero-realistic .mh-btn.secondary span{
  margin-left:10px;
  font-size:20px;
}
.mh-actions-realistic{
  padding:32px 0 48px;
}
.mh-actions-realistic .container{
  display:grid;
  gap:18px;
}
.mh-medicaid-panel{
  display:grid;
  grid-template-columns:320px minmax(0,1fr) 92px;
  gap:28px;
  align-items:center;
  border:1px solid var(--mh-line);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--mh-shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.mh-medicaid-panel:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(12,47,83,.14);
}
.mh-medicaid-photo{
  height:190px;
  overflow:hidden;
}
.mh-medicaid-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mh-medicaid-copy{
  padding:24px 0;
}
.mh-medicaid-copy h3{
  font:700 30px Georgia,serif;
  color:var(--mh-navy);
  margin:4px 0 8px;
}
.mh-medicaid-copy p{
  margin:0;
  color:var(--mh-muted);
  font-size:15px;
  max-width:640px;
}
.mh-medicaid-shield{
  width:68px;
  height:68px;
  margin-right:24px;
}
.mh-medicaid-shield img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.mh-appointment-realistic{
  max-width:none;
}
@media(max-width:1020px){
  .mh-hero-realistic-grid{
    grid-template-columns:1fr;
  }
  .mh-hero-realistic .mh-hero-copy{
    padding:48px 0 28px;
  }
  .mh-realistic-photo{
    min-height:420px;
    border-radius:22px;
    margin-bottom:26px;
  }
  .mh-medicaid-panel{
    grid-template-columns:240px minmax(0,1fr) 70px;
  }
}
@media(max-width:700px){
  .mh-hero-realistic{
    padding-bottom:18px;
  }
  .mh-hero-realistic .mh-hero-copy{
    padding:38px 0 24px;
  }
  .mh-realistic-photo{
    min-height:320px;
    border-radius:18px;
  }
  .mh-medicaid-panel{
    grid-template-columns:1fr;
    gap:0;
  }
  .mh-medicaid-photo{
    height:190px;
  }
  .mh-medicaid-copy{
    padding:22px 20px 10px;
  }
  .mh-medicaid-shield{
    width:58px;
    height:58px;
    margin:0 0 20px 20px;
  }
}


/* Hero image proportion fix v6.1.1
   Keeps the counseling photo at a natural landscape ratio instead of stretching
   it to match the full height of the text column. */
.mh-hero-realistic-grid{
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  min-height:0;
  align-items:center;
  gap:44px;
  padding-top:42px;
  padding-bottom:42px;
}
.mh-hero-realistic .mh-hero-copy{
  padding:24px 0;
}
.mh-realistic-photo{
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:4 / 3;
  align-self:center;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(12,47,83,.12);
}
.mh-realistic-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:1020px){
  .mh-hero-realistic-grid{
    grid-template-columns:1fr;
    gap:24px;
    padding-top:32px;
    padding-bottom:32px;
  }
  .mh-realistic-photo{
    width:100%;
    max-width:760px;
    aspect-ratio:16 / 10;
    margin:0 auto;
  }
}
@media(max-width:700px){
  .mh-hero-realistic-grid{
    padding-top:24px;
    padding-bottom:24px;
  }
  .mh-realistic-photo{
    aspect-ratio:4 / 3;
    min-height:0;
    border-radius:18px;
  }
}


/* Compact Brief Message field on Book Appointment page */
body.page-id-27 textarea{
  min-height:120px !important;
  height:120px !important;
  max-height:180px;
  resize:vertical;
}
@media(max-width:700px){
  body.page-id-27 textarea{
    min-height:105px !important;
    height:105px !important;
  }
}


/* Compact width + height for Brief Message field */
body.page-id-27 textarea{
  display:block !important;
  width:72% !important;
  max-width:620px !important;
  min-height:90px !important;
  height:90px !important;
  max-height:150px !important;
  resize:vertical;
}
@media(max-width:700px){
  body.page-id-27 textarea{
    width:100% !important;
    max-width:100% !important;
    min-height:85px !important;
    height:85px !important;
  }
}
