/*
Theme Name: RCM Plus
Theme URI: https://rcmplus.org
Author: RCM Plus
Description: A clean medical billing & RCM WordPress theme.
Version: 1.0
*/

/* -------------------------
   GLOBAL STYLES
-------------------------- */
body {
  margin:0;
  font-family:Arial, sans-serif;
  background:#f7f9fc;
  color:#333;
}

section {
  padding:80px 20px;
  max-width:1100px;
  margin:auto;
}

section h2 {
  text-align:center;
  color:#003366;
  margin-bottom:40px;
}

img {
  max-width:100%;
  height:auto;
}

/* -------------------------
   HERO SECTION
-------------------------- */
.hero {
  padding:100px 20px;
  text-align:center;
  background:#eef4ff;
}

.hero h1 {
  font-size:3rem;
  color:#003366;
}

.hero p {
  font-size:1.2rem;
  margin-bottom:20px;
}

.btn {
  background:#007bff;
  padding:12px 30px;
  color:#fff;
  border-radius:5px;
  text-decoration:none;
  display:inline-block;
  margin-top:20px;
}

/* -------------------------
   SERVICES GRID
-------------------------- */
.services {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:25px;
}

.card {
  padding:30px;
  background:#fff;
  border-radius:10px;
  text-align:center;
  border:1px solid #ddd;
}

/* -------------------------
   ABOUT SECTION
-------------------------- */
.about {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}

/* -------------------------
   CONTACT FORM
-------------------------- */
.contact form {
  width:60%;
  margin:auto;
}

.contact input,
.contact textarea {
  width:100%;
  padding:12px;
  margin-bottom:15px;
}

/* -------------------------
   HEADER + MENU (FIXED)
-------------------------- */
.site-header {
  width:100%;
  background:#fff;
  border-bottom:1px solid #eee;
  padding:15px 20px;
  position:sticky;
  top:0;
  z-index:9999;
}

.header-container {
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* DESKTOP MENU */
.main-nav .menu {
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  gap:30px;
  list-style:none;
  margin:0;
  padding:0;
}

.main-nav .menu li {
  position:relative;
}

.main-nav .menu li a {
  color:#333;
  font-weight:bold;
  text-decoration:none;
  padding:10px 15px;
  border-radius:5px;
  transition:0.3s;
}

.main-nav .menu li a:hover {
  color:#7a00ff;
}

/* DROPDOWN */
.main-nav .menu li ul {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:#fff;
  border:1px solid #ddd;
  border-radius:5px;
  min-width:230px;
  padding:0;
  margin:0;
  z-index:9999;
}

.main-nav .menu li:hover > ul {
  display:block;
}

.main-nav .menu li ul li a {
  display:block;
  padding:12px 15px;
  color:#333;
}

.main-nav .menu li ul li a:hover {
  background:#f2f2f2;
  color:#7a00ff;
}

/* MOBILE MENU BUTTON */
.mobile-menu-btn {
  display:none;
  font-size:32px;
  cursor:pointer;
}

/* -------------------------
   PROFESSIONAL 5‑COLUMN FOOTER
-------------------------- */

.footer {
  background:#00264d;
  color:#e6f2ff;
  padding:60px 20px;
  margin-top:60px;
  border-top:4px solid #00c3ff;
  font-family:"Inter", sans-serif;
}

.footer-top {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:40px;
  max-width:1300px;
  margin:auto;
}

.footer-column h3 {
  font-size:20px;
  margin-bottom:12px;
  color:#00c3ff;
  font-weight:700;
}

.footer-column p,
.footer-column li {
  font-size:15px;
  line-height:1.6;
  color:#d9e6f2;
}

.footer-column ul {
  list-style:none;
  padding:0;
  margin:0;
}

.footer-column ul li {
  margin-bottom:8px;
}

/* STAR RATING + HIPAA */
.rating-center {
  text-align:center;
  align-self:center;
}

.rating-center .stars i {
  color:#ffd700;
  font-size:20px;
  margin:0 2px;
}

.rating-center p {
  margin-top:8px;
  font-size:14px;
  color:#e6f2ff;
}

.hipaa-icon {
  width:80px;
  margin:15px auto 8px;
  display:block;
}

/* CONTACT SOCIAL ICONS */
.social-icons a {
  margin-right:10px;
  font-size:20px;
  transition:0.3s ease;
}

.social-icons a:hover {
  transform:translateY(-3px);
  opacity:0.8;
}

/* SUBSCRIBE FORM */
.subscribe-compact .fluentform {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.subscribe-compact .fluentform .ff-el-group {
  margin-bottom:0 !important;
}

.subscribe-compact input[type="email"] {
  width:100%;
  padding:10px 14px;
  border-radius:6px;
  border:none;
  background:#e6f2ff;
  color:#003366;
  font-size:15px;
}

.subscribe-compact .ff-btn-submit {
  padding:10px 18px;
  background:linear-gradient(135deg, #00c3ff, #00ff9d);
  border:none;
  border-radius:6px;
  color:#003366;
  font-weight:700;
  cursor:pointer;
  transition:0.3s ease;
}

.subscribe-compact .ff-btn-submit:hover {
  background:linear-gradient(135deg, #00ff9d, #00c3ff);
  transform:translateY(-2px);
}

/* FOOTER BOTTOM */
.footer-bottom {
  text-align:center;
  margin-top:40px;
  padding-top:20px;
  border-top:1px solid #004d80;
}

.footer-bottom p {
  margin:5px 0;
  font-size:14px;
}

.footer-bottom a {
  color:#00c3ff;
  font-weight:700;
  text-decoration:none;
}

.footer-bottom a:hover {
  color:#00ff9d;
}

/* -------------------------
   RESPONSIVE FOOTER
-------------------------- */

@media (max-width:992px) {
  .footer-top {
    grid-template-columns:repeat(3, 1fr);
  }
}

@media (max-width:768px) {
  .footer-top {
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width:480px) {
  .footer-top {
    grid-template-columns:1fr;
  }
}

/* -------------------------
   ANIMATIONS
-------------------------- */
.fade-in {
  animation:fadeIn 1.2s ease-in-out;
}

@keyframes fadeIn {
  from { opacity:0; transform:translateY(20px); }
  to { opacity:1; transform:translateY(0); }
}

/* -------------------------
   RESPONSIVE DESIGN
-------------------------- */

@media (max-width:1200px) {
  .services {
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:992px) {
  .about {
    grid-template-columns:1fr;
    text-align:center;
  }
  .contact form {
    width:80%;
  }
}

@media (max-width:768px) {

  .main-nav .menu {
    display:none !important;
    flex-direction:column !important;
    background:#fff;
    padding:20px;
    position:absolute;
    right:20px;
    top:80px;
    width:220px;
    border-radius:10px;
    box-shadow:0 4px 20px rgba(0,0,0,0.1);
  }

  .mobile-menu-btn {
    display:block;
  }

  .hero h1 {
    font-size:2rem;
  }

  .services {
    grid-template-columns:1fr;
  }

  .contact form {
    width:100%;
  }
}

@media (max-width:480px) {
  .hero h1 {
    font-size:1.6rem;
  }
  .btn {
    padding:10px 20px;
    font-size:0.9rem;
  }
}

/* -------------------------
   MENU FALLBACK + ACTIVE STATES
-------------------------- */
.main-nav ul {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:30px;
  list-style:none;
  margin:0;
  padding:0;
}

.header-container {
  gap:30px !important;
  justify-content:flex-start !important;
}

.main-nav {
  margin-left:140px !important;
}

.logo {
  margin-left:220px !important;
}

.main-nav .menu li a {
  font-weight:700 !important;
}

.main-nav .menu li.current-menu-item > a,
.main-nav .menu li.current_page_item > a,
.main-nav .menu li.current-menu-ancestor > a,
.main-nav .menu li.current-menu-parent > a {
  color:#7a00ff !important;
  font-weight:700 !important;
  border-bottom:3px solid #7a00ff;
  padding-bottom:5px;
}

/* SOCIAL ICON COLORS */
.footer .social-icons a .fa-facebook { color:#1877F2 !important; }
.footer .social-icons a .fa-linkedin { color:#0A66C2 !important; }
.footer .social-icons a .fa-twitter { color:#1DA1F2 !important; }
.footer .social-icons a .fa-instagram { color:#E4405F !important; }
.footer .social-icons a .fa-youtube { color:#FF0000 !important; }
.footer .social-icons a .fa-snapchat { color:#FFFC00 !important; }
.footer .social-icons a .fa-whatsapp { color:#25D366 !important; }

/* -------------------------
   CONTACT PAGE
-------------------------- */

.contact-hero {
  text-align:center;
  padding:80px 20px 40px;
}

.contact-hero h1 {
  font-size:2.8rem;
  color:#003366;
  margin-bottom:10px;
}

.contact-hero p {
  font-size:1.2rem;
  color:#555;
}

.contact-wrapper {
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  padding:40px 20px;
}

.contact-left h2,
.contact-right h2 {
  color:#003366;
  margin-bottom:15px;
}

.contact-info p {
  font-size:16px;
  margin-bottom:10px;
}

.contact-info i {
  color:#00c3ff;
  margin-right:8px;
}

.contact-social a {
  font-size:22px;
  margin-right:12px;
  color:#003366;
  transition:0.3s;
}

.contact-social a:hover {
  color:#00c3ff;
}

.contact-right form input,
.contact-right form textarea {
  width:100%;
  padding:12px;
  border-radius:6px;
  border:1px solid #ccc;
  margin-bottom:15px;
}

.contact-right form input[type="submit"] {
  background:#00c3ff;
  color:#fff;
  border:none;
  padding:12px 20px;
  border-radius:6px;
  cursor:pointer;
  font-weight:bold;
}

.contact-right form input[type="submit"]:hover {
  background:#0099cc;
}

.contact-map iframe {
  width:100%;
  border-radius:10px;
  margin-top:40px;
}

/* Mobile */
@media (max-width:768px) {
  .contact-wrapper {
    grid-template-columns:1fr;
    text-align:center;
  }
}

