/*
Theme Name: Meds On Time
Theme URI: https://medsontime.com
Author: Your Name
Description: Custom theme for Meds On Time – HIPAA‑compliant virtual assistant & billing services.
Version: 1.0
License: GPL v2
Text Domain: medsontime
*/

:root {
    --primary: #0b5e7d; --primary-dark: #084b63; --primary-light: #e8f4f9;
    --accent: #f7941d; --accent-hover: #e07d0e; --text: #2c3e50; --text-light: #5a6c7d;
    --bg: #ffffff; --bg-alt: #f6fafd; --border: #dce9f2;
    --shadow: 0 4px 24px rgba(11,94,125,0.10); --radius: 14px; --transition: 0.25s;
    --max-width: 1240px; --header-height: 76px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Inter', sans-serif; color: var(--text); background: var(--bg); line-height:1.6; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; }
.container { max-width:var(--max-width); margin:0 auto; padding:0 28px; width:100%; }

/* ---------- HEADER ---------- */
.header { position:sticky; top:0; z-index:1000; background: rgba(255,255,255,0.96); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); height:var(--header-height); display:flex; align-items:center; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.logo { display:flex; align-items:center; gap:10px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:1.5rem; color:var(--primary); }
.logo-icon { width:42px; height:42px; background:linear-gradient(135deg, var(--primary), #0f7faa); border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem; }
.main-nav { display:flex; align-items:center; gap:4px; list-style:none; }
.main-nav > li { position:relative; }
.main-nav > li > a { display:block; padding:10px 16px; border-radius:25px; font-weight:500; font-size:0.925rem; color:var(--text); transition:var(--transition); white-space:nowrap; }
.main-nav > li > a:hover,
.main-nav > li.current-menu-item > a,
.main-nav > li.current-menu-parent > a { color:var(--primary); background:var(--primary-light); font-weight:700; }
.main-nav .sub-menu { display:none; position:absolute; top:100%; left:0; background:#fff; border-radius:12px; box-shadow:var(--shadow); border:1px solid var(--border); min-width:230px; padding:8px 0; z-index:10; list-style:none; }
.main-nav li:hover > .sub-menu { display:block; }
.main-nav .sub-menu li a { display:block; padding:10px 20px; font-size:0.9rem; color:var(--text); transition:0.2s; }
.main-nav .sub-menu li a:hover { background:var(--primary-light); color:var(--primary); }
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 24px; font-weight:600; border-radius:30px; transition:var(--transition); font-family:inherit; cursor:pointer; border:none; }
.btn-primary { background:var(--accent); color:#fff; box-shadow:0 4px 14px rgba(247,148,29,0.35); }
.btn-primary:hover { background:var(--accent-hover); transform:translateY(-1px); color:#fff; }
.menu-toggle { display:none; background:none; border:none; font-size:1.6rem; color:var(--text); cursor:pointer; }
@media (max-width:768px) {
    .main-nav { display:none; flex-direction:column; position:absolute; top:var(--header-height); left:0; right:0; background:#fff; padding:16px; box-shadow:var(--shadow); z-index:999; }
    .main-nav.open { display:flex; }
    .menu-toggle { display:block; }
    .main-nav .sub-menu { position:static; box-shadow:none; border:none; padding-left:20px; display:none; }
    .main-nav li.menu-open > .sub-menu { display:block; }
}

/* ---------- COMMON SECTIONS ---------- */
.section { padding:60px 28px; }
.section-head { text-align:center; margin-bottom:40px; }
.section-head h2 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:2rem; color:#0a2f3f; }
.flex-row { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:24px; }
.step-card { background:#fff; border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); border:1px solid var(--border); text-align:center; }
.feature-card { background:#fff; border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); border:1px solid var(--border); display:flex; gap:20px; }
.hero { background:linear-gradient(170deg, #f0f7fb 0%, #ffffff 55%, #fefbf6 100%); padding:70px 28px 80px; }
.cta-banner { background:linear-gradient(135deg, #0b5e7d, #084b63); color:#fff; text-align:center; padding:60px 28px; }
.sub-nav { background:var(--primary-light); padding:12px 0; text-align:center; display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.sub-nav a { padding:8px 18px; border-radius:20px; color:var(--primary-dark); font-weight:600; }
.sub-nav a.current { background:var(--primary); color:#fff; }
.faq-item { background:#fff; border-radius:var(--radius); padding:20px; border:1px solid var(--border); margin-bottom:12px; }

/* ---------- FOOTER ---------- */
.footer { background:#0a2f3f; color:#c5daea; padding:50px 28px 24px; }
.footer-inner { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:34px; }
.footer .flogo { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:1.3rem; color:#fff; }
.footer-bottom { text-align:center; margin-top:30px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.12); }
@media (max-width:1024px) { .flex-row { grid-template-columns:1fr; } .steps { grid-template-columns:1fr 1fr; } .footer-inner { grid-template-columns:1fr 1fr; } }
@media (max-width:768px) { .footer-inner { grid-template-columns:1fr; } }