/*
Theme Name: Just Health Services
Theme URI: https://www.justhealthservices.com
Author: Built for Just Health Services
Description: A simple, clean telemedicine theme for Just Health Services. Provides the site header, navigation, and footer; page content is edited normally in WordPress.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jhs
*/

:root{
  --bg:#FAF6F0;
  --surface:#FFFFFF;
  --ink:#2B2622;
  --muted:#6F6559;
  --line:#E9E1D5;
  --accent:#A8603C;
  --accent-dark:#8C4E2F;
  --accent-tint:#F4E9DE;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.wordmark{
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  font-weight:600;line-height:1.2;letter-spacing:-.01em;
}
img{max-width:100%}
a{color:var(--accent)}
.container{max-width:1060px;margin:0 auto;padding-left:24px;padding-right:24px}

/* header */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,246,240,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.wordmark{font-size:1.35rem;text-decoration:none;color:var(--ink)}
.wordmark span{color:var(--accent)}
nav ul{display:flex;align-items:center;gap:28px;list-style:none}
nav a{color:var(--ink);text-decoration:none;font-size:.95rem}
nav a:hover{color:var(--accent)}
nav a.active{color:var(--accent);font-weight:600}
.btn{
  display:inline-block;padding:12px 24px;border-radius:999px;
  text-decoration:none;font-size:.95rem;font-weight:600;
  transition:background .15s ease,color .15s ease;
}
.btn-solid{background:var(--accent);color:#fff}
.btn-solid:hover{background:var(--accent-dark)}
.btn-outline{border:1.5px solid var(--accent);color:var(--accent)}
.btn-outline:hover{background:var(--accent-tint)}
.btn-nav{padding:9px 20px}

/* hero */
.hero{padding-top:88px;padding-bottom:72px;text-align:center}
.eyebrow{
  display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);
  background:var(--accent-tint);padding:6px 16px;border-radius:999px;margin-bottom:22px;
}
.hero h1{font-size:clamp(2.1rem,5vw,3.2rem);max-width:760px;margin:0 auto 20px}
.lead{font-size:1.15rem;color:var(--muted);max-width:640px;margin:0 auto 34px}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* page intro (inner pages) */
.page-intro{padding-top:72px;padding-bottom:40px;text-align:center}
.page-intro h1{font-size:clamp(2rem,4.5vw,2.7rem);margin-bottom:16px}

/* sections */
section{padding-top:56px;padding-bottom:56px}
.section-title{font-size:1.7rem;text-align:center;margin-bottom:8px}
.section-sub{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 40px}

/* cards */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;
}
.card h3{font-size:1.15rem;margin-bottom:10px}
.card p{color:var(--muted);font-size:.97rem}
.card .icon{
  width:44px;height:44px;border-radius:12px;background:var(--accent-tint);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;color:var(--accent);
}
.card .icon svg{width:22px;height:22px}

/* steps */
.steps{counter-reset:step}
.step{position:relative;padding-left:0}
.step .num{
  width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;
  font-size:.95rem;margin-bottom:16px;
}

/* accent band */
.band{
  background:var(--accent-tint);border-radius:var(--radius);
  padding:48px 40px;text-align:center;
}
.band h2{font-size:1.6rem;margin-bottom:12px}
.band p{color:var(--muted);max-width:560px;margin:0 auto 26px}

/* notice / info card */
.notice{
  background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:var(--radius);padding:26px 28px;
}
.notice h3{margin-bottom:8px;font-size:1.1rem}
.notice p{color:var(--muted);font-size:.97rem}

/* people */
.person-role{
  font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;
}
.person p + p{margin-top:14px}

/* prose */
.prose{max-width:700px;margin:0 auto}
.prose p{margin-bottom:20px;color:#463E35}
.prose strong{color:var(--ink)}

/* contact rows */
.contact-list{list-style:none}
.contact-list li{
  display:flex;gap:14px;align-items:baseline;padding:10px 0;
  border-bottom:1px solid var(--line);font-size:.98rem;
}
.contact-list li:last-child{border-bottom:none}
.contact-list .label{min-width:80px;font-weight:600;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.contact-list a{text-decoration:none}
.contact-list a:hover{text-decoration:underline}

/* footer */
footer{border-top:1px solid var(--line);margin-top:40px;padding:52px 0 40px;background:#F5EFE6}
.footer-grid{display:grid;gap:36px;grid-template-columns:2fr 1fr 1.4fr}
footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);margin-bottom:14px}
footer ul{list-style:none}
footer li{margin-bottom:8px;font-size:.95rem}
footer a{color:var(--ink);text-decoration:none}
footer a:hover{color:var(--accent)}
.footer-word{font-size:1.2rem;margin-bottom:10px;display:inline-block}
.footer-note{color:var(--muted);font-size:.9rem;max-width:300px}
.footer-bottom{
  margin-top:36px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  color:var(--muted);font-size:.85rem;
}

@media(max-width:760px){
  .nav{flex-direction:column;height:auto;gap:12px;
       padding-top:16px;padding-bottom:16px}
  .wordmark{font-size:1.2rem}
  nav ul{gap:10px 18px;flex-wrap:wrap;justify-content:center}
  nav a{font-size:.92rem}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding-top:48px;padding-bottom:52px}
  .band{padding-left:24px;padding-right:24px}
}

/* ---- WordPress-specific additions ---- */

/* Keep the sticky header clear of the logged-in admin bar */
body.admin-bar header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar header { top: 46px; }
}

/* WordPress adds these classes to the current menu item */
nav a.active,
.current-menu-item > a,
.current_page_item > a { color: var(--accent); font-weight: 600; }

/* Sensible defaults for anything typed into the editor (e.g. EHR embed code) */
.page-body { padding-top: 56px; padding-bottom: 56px; }
.page-body > .container > *:not(.hero):not(.band):not(.grid) { margin-bottom: 18px; }
.embed-area iframe { max-width: 100%; border: 0; }
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.screen-reader-text:focus {
  position: fixed; top: 12px; left: 12px; z-index: 2000;
  width: auto; height: auto; clip: auto;
  background: var(--surface); color: var(--ink);
  padding: 12px 20px; border-radius: 999px;
  box-shadow: 0 6px 24px rgba(0,0,0,.18);
}

/* ---- Booking overlay ---- */
.jhs-book-overlay {
  position: fixed; inset: 0; z-index: 1000;
  display: none; align-items: center; justify-content: center;
  background: rgba(43, 38, 34, .55);
  padding: 24px;
}
.jhs-book-overlay.is-open { display: flex; }
.jhs-book-dialog {
  position: relative;
  width: min(880px, 100%); height: min(760px, 100%);
  background: var(--surface);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.28);
  display: flex; flex-direction: column;
}
.jhs-book-bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 14px 16px 14px 22px;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.jhs-book-title {
  font-family: "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  font-size: 1.05rem; font-weight: 600; color: var(--ink);
}
.jhs-book-close {
  border: 0; background: var(--accent-tint); color: var(--accent);
  width: 38px; height: 38px; border-radius: 50%;
  font-size: 1.25rem; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.jhs-book-close:hover { background: var(--accent); color: #fff; }
.jhs-book-close:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.jhs-book-frame { flex: 1; width: 100%; border: 0; }
body.jhs-book-open { overflow: hidden; }
@media (max-width: 760px) {
  .jhs-book-overlay { padding: 0; }
  .jhs-book-dialog { width: 100%; height: 100%; border-radius: 0; }
}
