/*
Theme Name: MedPro Theme
Theme URI: http://webapp.com/
Author: Sandip Kumar
Author URI: http://webapp.com/
Description: A fresh, mobile-first WordPress theme template.
Version: 1.0
Text Domain: medpro-theme
Tags: custom-logo, custom-menu, featured-images
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Copyright: © 2025 Sandip Kumar. All rights reserved.
*/
/* Font size global variable */
:root {
  --medpro-font-size: 16px;
  --primary-color: #0056b3;
  --text-color: #333;
}

body, .main-card, .main-card-title, .main-card-desc, .menu-modal, .scroll-menu a, .factor-accordion-header, .factor-card-link, .post-header-title, .wp-block-table td, .wp-block-table th, .cat-list-item,h2,table,.mybookmark h1,.terms-link,.terms-header-title,.terms-content p, .terms-content ul, .terms-content ol, .cat-header-title, .cat-post-list-item, .menu-modal-title, .menu-modal-content, .menu-modal-list, .menu-modal-list * {
  font-size: var(--medpro-font-size) !important;
}
.logo:focus,
.logo:focus-visible,
.logo img:focus,
.logo img:focus-visible {
  outline: none !important;
  border: none !important;
}
/* Menu Styles */
.scroll-menu {
  background: #fff;
  padding: 15px 0px 0px 0px;
  border-bottom: 1px solid #eee;
}

.scroll-menu ul {
  list-style: none;
  margin: 0;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}

.main-link a {
  color: #666;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  padding-bottom: 3px;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}

.main-link a:hover,
.main-link a.active,
body.manual_section-template .main-link a,
body.manual_section-archive .main-link a,
body.pediatric_manual-template .main-link a,
body.pediatric_manual-archive .main-link a {
  color: #D32252;
  border-bottom-color: #D32252;
}

/* Section List Styles */
.sub-section-list {
  width: 100%;
  padding: 24px 40px 0px 34px;
  box-sizing: border-box;
}
.section-list {
  padding: 12px 20px;
  border-bottom: 1px solid #eee;
}

.section-header {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Age Dropdown Styles */
.age-dropdown {
  position: relative;
  width: 120px;
}

.age-toggle {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 6px 12px;
  width: 100%;
  cursor: pointer;
  color: #333;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

.age-toggle .arrow {
  color: #666;
  font-family: Arial, sans-serif;
  font-size: 12px;
  transition: transform 0.2s;
  margin-left: 4px;
  font-weight: bold;
}

.age-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: #fff;
  width: 100%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 4px;
  padding: 6px 4px;
  z-index: 1000;
}

/* Remove hover-based dropdown display */
.age-menu {
  display: none;
}

.age-menu a {
  padding: 6px 12px;
  color: #333;
  text-decoration: none;
  display: block;
  font-size: 14px;
  line-height: 1.4;
  border: 1px solid transparent;
  border-radius: 4px;
  margin: 2px 0;
}

.age-menu a:hover {
  background: #f8f9fa;
}

.age-menu a.active {
  background: #fff;
  color: #D32252;
  border: 1px solid #D32252;
}

.age-menu a {
  color: #333;
  padding: 8px 16px;
  text-decoration: none;
  display: block;
  font-size: 15px;
  transition: background-color 0.2s;
}

.age-menu a:hover,
.age-menu a.active {
  background: #f8f8f8;
}
span.separator-dot {
    font-weight: normal;
    font-size: 15px;
    color: #999999;
    margin: 0 12px;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
}
/* Items Count */
.items-count {
  color: #666;
  font-size: 14px;
}

.items-count span {
  background: #f5f5f5;
  padding: 4px 8px;
  border-radius: 4px;
}

.main-link a {
  color: var(--primary-color);
  text-decoration: none;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
}

.main-link a:hover,
.main-link a.active {
  border-bottom-color: var(--primary-color);
}

/* Age Dropdown Styles */
.age-dropdown {
  position: relative;
  display: inline-block;
}

.age-toggle {
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px 26px 8px 17px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 8px;
}

.age-toggle:hover {
  background: #f5f5f5;
}

.age-toggle .arrow {
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.3s ease;
  line-height: 1;
}

.age-toggle .arrow img {
  width: 12px;
  height: 12px;
  transition: transform 0.3s ease;
  display: block;
}

.age-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 120px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  border-radius: 4px;
  margin-top: 4px !important;
  z-index: 1000;
  padding: 4px 0 !important;
}

/* Arrow rotation is now handled by JavaScript */

/* Login Toast Backdrop Overlay */
.login-toast-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.login-toast-backdrop.show {
  opacity: 1;
}

/* Login Toast Styles - Updated positioning */
.login-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background: #FFF;
  color: #333;
  padding: 16px 20px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.1);
  z-index: 10000;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 16px;
  font-weight: 500;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
  max-width: 400px;
  width: 60%;
}

.login-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.login-toast .toast-content {
  display: flex;
  align-items: center;
  gap: 8px;
}

.login-toast .toast-icon {
  width: 24px;
  height: 24px;
  background: #4CAF50;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  flex-shrink: 0;
  position: relative;
}

.login-toast .toast-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg);
}

.login-toast .toast-message {
  color: #333;
  font-weight: 500;
  margin-left: 4px;
}

.menu-item-icon{
  width: 22px;
}
span.menu-item-icon {
    margin-right: 10px;
}
.age-menu a {
  color: var(--text-color) !important;
  padding: 6px 12px;
  text-decoration: none;
  display: block;
  transition: background-color 0.2s;
  font-size: 14px;
  border: none !important;
}

.age-menu a:hover,
.age-menu a.active {
  background: #f5f5f5;
  color: #666;
}

/* Make sure Factor Card aligns with the new menu structure */
.scroll-menu > ul > li:last-child {
  margin-left: auto;
}

.post-header-icon .dashicons-book-alt {
  color: #fff;
  background: #222;
  border-radius: 4px;
  padding: 2px 2px 0 2px;
  font-size: 1.5rem;
}
.single .main-card {
    width: 100%;
    margin: 0 auto;
    max-width: 100% !important;
}
.single .main-card-content{
  padding: 0px 0px 0px 0px;
}
.container.inner_cat {
  margin: 5px 0 0 0;
  padding: 16px 0px 12px 0px;
  min-height: calc(100vh - 36px);
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.15);
}
a.terms-link {
    text-decoration: underline !important;
}
.mybookmark h1 {
  text-align: left;
  padding-top: 20px;
  padding-left: 14px;
  padding-bottom: 10px;
}

.company-info {
  margin: 0 auto;
}
#abbrevModal th.table-header.hand {
    text-align: left;
}
#abbrevModal h2 {
    padding-left: 20px;
}
/* Factor Card Archive Accordion */
.factor-archive {
  max-width: 98%;
  margin: 1.5rem auto;
  border-radius: 12px;
  padding: 0 0 1.5rem 0;
}

.factor-archive-header {
  font-size: 1.25rem;
  font-weight: bold;
  color: #D32252;
  padding: 1.2rem 1.5rem 0.5rem 1.5rem;
  border-bottom: 2px solid #D32252;
  margin-bottom: 0.5rem;
}

.factor-accordion-list {
  margin: 0;
  padding: 0 0.5rem;
}

.factor-accordion {
  margin-bottom: 1.2rem;
  border-radius: 4px;
  background: #fafbfc;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  border: 1px solid #e0e0e0;
      margin-left: -8px;
    margin-right: -9px;
}

.factor-accordion-header {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 0.9rem 2rem 0.9rem 0.7rem;
  font-size: 1.13rem;
  font-weight: 600;
  background: #FBFBFB;
  border-bottom: 1px solid #eee;
  position: relative;
  outline: none;
}

.factor-accordion-bar-top {
  height: 6px;
  width: 100%;
  background: var(--cat-color, #2196f3);
  margin-bottom: 0;
}

.factor-accordion-title {
  font-weight: bold;
  color: #222;
  margin: 20px 24px 20px 24px;
  font-family: 'Roboto', sans-serif;
}

.factor-accordion-count {
  color: #888;
  font-size: 1rem;
  font-weight: 400;
  margin-left: 0;
}

.factor-accordion-chevron {
  font-size: 1.3rem;
  color: #888;
  margin-left: 1rem;
  transition: transform 0.2s;
}

.factor-accordion.open .factor-accordion-chevron {
  transform: rotate(180deg);
}

.factor-accordion-content {
  display: none;
  background: #fff;
  padding: 0 0.5rem 0.7rem 1.1rem;
}

.factor-accordion.open .factor-accordion-content {
  display: block;
}

.factor-card-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.factor-card-list-item {
  border-bottom: 1px solid #eee;
}
.nosection{margin-bottom:1.2rem;text-align:left;}
.factor-card-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 24px 24px 20px;
  color: #222;
  text-decoration: none;
  font-size: 1.08rem;
  transition: background 0.15s;
  font-family: 'Roboto', sans-serif;
}

.factor-card-link:hover {
  background: #f5f5f5;
}

.factor-card-chevron {
  font-size: 1.3rem;
  color: #888;
}

.header-icons {
  display: flex;
  align-items: center;
  margin-top: 10px;
  gap: 0.7rem;
}

.medpro-ajax-search-wrap {
  position: relative;
  width: 100%;
  margin-right: 0.5rem;
}

.medpro-ajax-search-input {
  width: 100%;
  padding: 10px 5px 10px 10px;
  border-radius: 4px;
  font-size: 1rem;
  background: #fafafa;
  outline: none;
  transition: border-color 0.2s;
}

.medpro-ajax-search-input:focus {
  border-color: #9e6876;
  background: #fff;
}

.medpro-ajax-search-results {
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  z-index: 100;
  max-height: 498px;
  overflow-y: auto;
  margin-top: 0.2rem;
  padding: 0.2rem 0;
}

.medpro-ajax-search-suggestion {
  display: block;
  padding: 0.7rem 1rem;
  color: #222;
  text-decoration: none;
  font-size: 1rem;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.15s;
}

.medpro-ajax-search-suggestion:last-child {
  border-bottom: none;
}

.medpro-ajax-search-suggestion:hover {
  background: #f5f5f5;
  color: #D32252;
}

.medpro-ajax-search-no {
  color: #888;
  padding: 0.7rem 1rem;
  font-size: 1rem;
  text-align: center;
}

/* Post detail header bar (single manual_section) */
.post-header-bar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 1rem 0.7rem 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
  padding: 20px;
}

.post-header-back {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  color: #444;
  text-decoration: none;
  margin-right: 0.7rem;
}

.post-header-title {
  font-size: 19px !important;
  font-weight: 700;
  color: #333;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'Calibri';
}

.post-header-icons {
  display: flex;
  gap: 1.1rem;
  align-items: center;
}

.post-header-icon {
  color: #444;
  font-size: 1.3rem;
  text-decoration: none;
}

.bookmark-icon svg {
  transition: fill 0.2s;
}

/* Make bookmark icon behave like link on hover */
.bookmark-icon {
  cursor: pointer;
}

.bookmark-icon svg {
  transition: fill 0.2s, stroke 0.2s, transform 0.2s;
}


/* Archive manual_section page cards and section list */
.section-list {
  max-width: 100%;
}
.mar-top {
    margin-top: 3px;
}
.main-card { 
  margin-bottom: 1.2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
  border-radius: 5px;
  text-align: left;
  background: #fff;
  padding: 1.2rem 1.2rem 1.2rem 1.2rem;
  transition: box-shadow 0.2s;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 97%;
  box-sizing: border-box;
  margin: 18px;  
}

.main-card-title {
  font-weight: bold;
  font-size: 1.08rem;
  margin-bottom: 0.5rem;
  text-align: left;
  color: #666;
}

.main-card-desc {
  color: #444;
  margin-bottom: 1.2rem;
  text-align: left;
}

.view-section-btn {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  border: 1.5px solid #bbb;
  border-radius: 6px;
  background: #fff;
  color: #222;
  font-size: 1rem;
  text-decoration: none;
  transition: background 0.2s;
  text-align: left;
  font-weight: 500;
}

.view-section-btn:hover {
  background: #f5f5f5;
  border-color: #888;
}

.container {

  margin: 2rem auto;
  padding: 0 1.2rem;
}

.cat-header-bar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 1rem 0.7rem 0.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  padding: 20px;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
}

.cat-header-back {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  color: #444;
  text-decoration: none;
  margin-right: 0.7rem;
  flex: 1;
}

.cat-header-title {
   font-size: 19px !important;
  font-weight: 700;
  color: #333;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'Calibri';
  margin-left: 12px;
}

.cat-header-icons {
  display: flex;
  gap: 25px;
  align-items: center;
}

.bookmark-icon svg {
  transition: fill 0.2s;
}

.cat-list,
.cat-post-list {
  padding-left: 0;
  list-style: none;
  margin-top: -17px;
  /* margin-left: -19px;
  margin-right: -19px; */
}

/* Improved spacing and arrow for manual category/post list */
.cat-list-item,
.cat-post-list-item {
  /* margin-bottom: 0.2rem; */
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  padding: 10px 10px 10px 22px;
  background: #fff;
  font-size: 1.13rem;
  font-weight: 500;
  transition: background 0.15s;
  text-align: left;
}

.cat-list-item:hover,
.cat-post-list-item:hover {
  background: #f5f5f5;
}

.cat-link,
.post-link {
  color: #222;
  font-weight: 500;
  text-decoration: none;
  flex: 1;
  margin-top: 12px;
}

.cat-arrow {
  color: #bbb;
  font-size: 37px;
  margin-left: 1.2rem;
  display: flex;
  align-items: center;
  margin-right: 17px;
}

.cat-gray-header {
  margin-bottom: 0.7rem;
  background: #F5F5F5;
  color: #222;
  font-weight: bold;
  padding: 1.1rem 1.5rem 1.1rem 1.5rem;
  text-align: left;
}




#ihtcLogo {
  width: 200px;
  margin: 24pt auto;
  display: block;
}

.ihtc_contact_info {
  font-family: "Open Sans", sans-serif;
  color: #D32252;
  font-size: 14px;
  font-style: italic;
  font-weight: 600;
  margin: 0 35px 20px;
  text-align: center;
}

body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: #f5f5f5;
  color: #222;
}

.site-header {
  background: #fff;
  border-bottom: 1px solid #eee;
  position: sticky;
  top: 0;
  z-index: 100;
}

.header-top.container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  margin: 0 auto;
  padding: 20px 40px 11px 20px;
}

.logo {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
}

.site-title {
  color: #D32252;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.3rem;
}

.header-icons {
  display: flex;
  gap: 1.2rem;
  align-items: center;
}

.header-icons button {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #444;
  padding: 0 0.2rem;
}

.scroll-menu {
  background: #fff;
  border-bottom: 1px solid #eee;
  overflow-x: auto;
  white-space: nowrap;
}

.scroll-menu ul {
  display: flex;
  gap: 2.2rem;
  margin: 0;
  padding: 0.7rem 1.2rem;
  list-style: none;
}

.scroll-menu a {
  color: #888;
  font-weight: 500;
  text-decoration: none;
  font-size: 1.1rem;
  transition: color 0.2s;
}

.scroll-menu a.active {
  color: #D32252;
  border-bottom: 2px solid #D32252;
}

.scroll-menu a:hover {
  color: #222;
}

.container {
  margin: 0 auto;
  padding: 1rem;
  text-align: center;
  margin-bottom: 1.5rem;
  background: #fff;
  /* border-bottom: 1px solid #eee; */
  position: sticky;
  top: 0;
  z-index: 10;
}

.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
  margin-bottom: 0;
  background: #fff;
}

.logo img,
.site-title {
  height: 36px;
  display: block;
}

.header-icons {
  display: flex;
  gap: 1rem;
}

.search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    color: #333;
    text-decoration: none;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.search-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.menu-btn,
.menu-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}

.scroll-menu {
  overflow-x: auto;
  background: #fff;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}

.scroll-menu ul {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0 auto;
  padding: 0 0.5rem;
  justify-content: center;
  align-items: center;
  width: max-content;
}

.scroll-menu li {
  margin: 0 1.2rem 0 0;
  white-space: nowrap;
}

.scroll-menu li:last-child {
  margin-right: 0;
}

.scroll-menu a {
  display: block;
  padding: 1rem 0.8rem 0.5rem 0.8rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  font-size: 1.15rem;
  transition: border 0.2s, color 0.2s;
}

.scroll-menu a.active,
.scroll-menu a:focus {
  border-bottom: 2px solid #D32252;
}


.site-footer {
  background: #fff;
  text-align: center;
  padding: 1rem 0 2rem 0;
  border-top: 1px solid #eee;
  margin: 18px;
}

.terms-link {
  color: #000000;
  text-decoration: underline !important;
  font-size: 14px !important;
  margin: 0 auto;
  display: inline-block;
}

.card-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  margin: 0;
  box-sizing: border-box;
}
.abbrev-modal {
    position: fixed;
    z-index: 9999;
    left: 0; top: 0; width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.25);
    display: flex; align-items: center; justify-content: center;
}
.abbrev-modal-content {
    background: #fff;
    border-radius: 10px;
    max-width: 95vw;
    width: 90%;
    height: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 4px 24px rgba(0,0,0,0.18);
    padding: 2rem 1.2rem 1.2rem 1.2rem;
    position: relative;
}
.abbrev-modal-close {
    position: absolute;
    top: 0.7rem;
    right: 1.1rem;
    font-size: 2rem;
    color: #D32252;
    cursor: pointer;
    font-weight: bold;
}
.abbrev-modal-body {
    font-size: 1.08rem;
    color: #222;
}
/* (removed duplicate .main-card block) */
.main-btn {
  justify-content: space-between;
  width: 70%;
  color: rgb(255, 255, 255);
  font-size: 1.25rem;
  font-weight: 500;
  box-shadow: rgba(233, 30, 99, 0.08) 0px 2px 8px;
  cursor: pointer;
  text-align: left;
  background: linear-gradient(90deg, rgb(194, 24, 91) 0%, rgb(233, 30, 99) 100%);
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  border-radius: 12px;
  padding: 1.1rem 1.2rem;
  margin: 0 auto;
  transition: background 0.2s;
  text-decoration: none;
}

.main-btn span {
  font-size: 1.5rem;
  margin-left: auto;
}

.main-btn:active,
.main-btn:focus {
  background: linear-gradient(90deg, #ad1457 0%, #d81b60 100%);
}

.login-btn {
  font-size: 1.1rem;
  cursor: pointer;
  text-align: center;
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  border-radius: 4px;
  transition: background 0.2s;
  border: 1px solid #999;
  background-color: #D32252;
  color: #fff;

}
.main-card-content{
  padding:1.5rem 1rem 1rem 1rem;
  min-height: calc(84vh - 36px);
  font-family: 'Roboto', sans-serif;
  width: 98%;
   font-weight: 400;
   overflow-wrap: break-word;
}
.login-btn:active,
.login-btn:focus {
  /* background: linear-gradient(90deg, #ad1457 0%, #d81b60 100%); */
}

.feature-msg {
  color: #888;
  font-size: 1rem;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
}

.card-btn {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  background: #fff;
  border: 1px solid #D32252;
  color: #D32252;
  border-radius: 4px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.card-btn:hover {
  background: #D32252;
  color: #fff;
}

/* (removed duplicate .main-card block) */
.container {
  padding: 0;
}


/* Bookmark list arrow */
#bookmarksList li a {
  position: relative;
  display: inline-block;
}

#bookmarksList li a .bookmark-arrow {
  position: absolute;
  right: -1.5em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em;
  color: #888;
}

/* Bookmark notice */
#bookmarkNotice {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #e0f7e9;
  color: #000;
  border: 1px solid #b3e6c9;
  padding: 0.75rem 1.25rem;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 10000;
}

#bookmarkNotice.visible {
  opacity: 1;
}

/* User menu dropdown */
.user-menu {
  position: relative;
  display: inline-block;
}

.user-menu .user-btn {
  background: none;
  border: none;
  cursor: pointer;
}

.user-menu .user-dropdown {
  position: absolute;
  top: 110%;
  right: 0;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s;
  white-space: nowrap;
  z-index: 1000;
}

.user-menu:hover .user-dropdown {
  opacity: 1;
  visibility: visible;
  text-align: left;
}

.user-dropdown .user-info {
  margin-bottom: 0.5rem;
}

.user-dropdown .user-name {
  font-weight: bold;
  display: block;
}

.user-dropdown .user-email {
  font-size: 0.9em;
  color: #666;
  display: block;
}

.user-dropdown .logout {
  color: #d63638;
  text-decoration: none;
  font-size: 0.9em;
  display: block;
}

/* Menu Modal Redesign */
.menu-modal {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.menu-modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}

.menu-modal-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 400px;
  background: #fff;
  height: 100vh;  
  height: 100dvh; 
  box-shadow: 2px 0 16px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.menu-modal-header {
  display: flex;
  align-items: center;
  padding: 1rem;
  /* border-bottom: 1px solid #ddd; */
}

.menu-modal-back {
  background: none;
  border: none;
  margin-right: 7px;
  cursor: pointer;
  margin-left: -5px;
}

.menu-modal-title {
  flex: 1;
  font-size: 1.2rem;
  font-weight: 600;
}

.menu-modal-user {
  background: #FFE1E9;
  color: #D32252;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
}

.menu-modal-search {
  padding: 1rem;
  border-bottom: 1px solid #ddd;
}

.menu-modal-content nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  overflow-y: auto;
}

.menu-modal-content nav li {
  border-bottom: 1px solid #eee;
  padding-top: 12px;
  padding-bottom: 12px;
}

.menu-modal-content nav li a {
  display: flex;
  align-items: center;
  padding: 1rem;
  color: #222;
  text-decoration: none;
}

.menu-modal-content nav li a .dashicons {
  margin-right: 0.75rem;
}

/* .menu-modal-content nav li:last-child {
  border-bottom: none;
} */

/* Fix search suggestions in header */
.search-wrapper {
  overflow: visible !important;
  position: relative;
}

.search-wrapper .medpro-ajax-search-results {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  z-index: 1000;
  width: auto;
  text-align: left;
}

/* Search form toggle animation */
.search-wrapper {
  max-height: 0;
  overflow: hidden;
  position: relative;
  transition: max-height 0.3s ease;
}

.search-wrapper.open {
  max-height: 200px;
  /* adjust as needed */
  overflow: visible;
}

/* Ensure form input width and visibility */
.search-wrapper form {
  padding: 0.5rem 1rem;
}

.search-wrapper input[type="search"] {
  width: 100%;
  box-sizing: border-box;
}

/* Override search-wrapper display to only show when activated */
.search-wrapper {
  display: none !important;
}

.search-wrapper.open {
  display: flex !important;
}

/* Hide header search-wrapper by default */
.header-top .search-wrapper {
  display: none;
}

/* Show search-wrapper when open */
.header-top .search-wrapper.open {
  display: flex;
}
/**********Login*****/
.login-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    padding-bottom: 21px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 24px;
    padding-left: 14px;
}


     .login-bg {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40px 20px;
        min-height: 100vh;
      }

      .login-header {
        margin-bottom: 20px;
      }

      .login-logo {
        height: 40px;
      }

      .login-card {
        background: #fff;
        border-radius: 4px;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        width: 100%;
        max-width: 400px;
      }

      .login-legend {
        font-size: 18px;
        margin-bottom: 16px;
        color: #333;
      }
      form#medproLoginForm {
          width: 100%;
          margin: 0 auto;
      }
      .login-field {
       position: relative;
        margin-bottom: 24px;
        margin-top: 41px;
      }

      .login-field input {
        width: 100%;
        padding: 8px 8px;
        font-size: 16px;
        border: 1px solid #ccc;
        border-radius: 4px;
        background: transparent;
        outline: none;
      }

      .login-field label {
        position: absolute;
        top: -10px;
        left: 12px;
        font-size: 12px;
        color: #3D3935;
        background: white;
        padding: 0 4px;
        z-index: 1;
      }
      .login-btn-container {
  display: flex;
  justify-content: flex-end;  
}
.login-verify-btn {
  width: 33%;
  padding: 10px 16px;
  font-size: 16px;
  background-color: #ccc;
  border: none;
  border-radius: 4px;
  color: #fff;
  cursor: not-allowed;
  margin-top: 8px;
}

.login-verify-btn:enabled {
  background-color: #007bff;
  cursor: pointer;
}

      .login-error {
        color: red;
        margin-bottom: 16px;
      }

      .login-divider {
        height: 1px;
        margin: 24px 0;
      }

      .login-alt-link {
        text-decoration: none;
        color: #333;
        font-size: 14px;
        display: block;
        text-align: center;
      }

      .login-arrow {
        margin-left: 4px;
      }

      .login-footer {
        margin-top: 40px;
        font-size: 14px;
        color: #808080;
      }
  
      .login-footer a {
        color: #666;
        text-decoration: none;
      }

      .login-footer a:hover {
        text-decoration: underline;
      }
/***t&C css****/
  .terms-header-bar {
        display: flex;
        align-items: center;
        background: #fff;
        height: 48px;
        border-bottom: 1px solid #e0e0e0;
        padding: 0 0.5rem;
        position: sticky;
        top: 0;
        z-index: 10;
      }
      .terms-header-back {
        display: flex;
        align-items: center;
        margin-right: 0.7rem;
        color: #222;
        text-decoration: none;
        font-size: 1.5rem;
        height: 48px;
        width: 48px;
        justify-content: center;
      }
      .terms-header-title {
        font-size: 1.13rem;
        font-weight: 600;
        color: #222;
        flex: 1;
        text-align: left;
      }
      .terms-content {
        max-width: 97%;
        background: #fff;
        border-radius: 0;
        box-shadow: none;
        padding: 1.2rem 1.1rem 2.5rem 1.1rem;
            margin: 18px;
      }
      .terms-title {
        text-align: center;
        font-size: 1.08rem;
        font-weight: bold;
        margin-bottom: 1.2rem;
        margin-top: 0.7rem;
        letter-spacing: 0.01em;
      }
      .terms-content h1, .terms-content h2, .terms-content h3 {
        text-align: center;
        font-size: 1.08rem;
        font-weight: bold;
        text-transform: uppercase;
        margin: 1.2rem 0 0.7rem 0;
      }
      .terms-content p, .terms-content ul, .terms-content ol {
        text-align: left;
        font-size: 1.01rem;
        color: #222;
        margin-bottom: 1.1rem;
        line-height: 1.6;
      }
      .terms-content strong {
        font-weight: bold;
        text-transform: uppercase;
      }

@media (max-width: 900px) {
  .main-card {
    max-width: 98vw;
    padding: 1.2rem 0.5rem 1.2rem 0.5rem;
  }

  .main-btn,
  .login-btn {
    font-size: 1rem;
    padding: 1rem 0.7rem;
  }

  .main-card {
    max-width: 93.4vw;
    padding: 1rem 0.7rem 1rem 0.7rem;
  }

  .section-list {
    max-width: 98vw;
    padding: 0 0.3rem;
  }

  .main-card {
    padding: 1rem 0.7rem 1.1rem 0.7rem;
  }
}

@media (max-width: 700px) {
  .post-header-back {
    width: 70%;
}
  .scroll-menu ul {
    justify-content: flex-start;
    width: auto;
  }

  .scroll-menu {
    justify-content: flex-start;
  }

  .scroll-menu a {
    font-size: 1rem;
    padding: 10px 2px 10px 2px;
  }

  .header-top.container {
    flex-direction: row;
    padding: 10px 10px 0px 10px;
  }

  .logo {
    font-size: 1.1rem;
  }

  .header-icons button {
    font-size: 1.2rem;
  }

  .scroll-menu ul {
    gap: 1.1rem;
  }

  .scroll-menu a {
    font-size: 1rem;
  }
   .terms-content { padding: 1.2rem 0.5rem; }
        .terms-title { font-size: 1.01rem; padding: 0.7rem 0;
    }
}

@media (max-width: 600px) {
  .abbrev-modal-content { width: 88vw; padding: 1.2rem 0.5rem; }
  .main-card {
    max-width: 91vw;
    font-size: 0.97rem;
    font-size: 0.97rem;
  }
  form#medproResetForm {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 8px;

}
.single .main-card-content {
    padding: 60px 0px 0px 0px;
    width: 100%;
}
  .mar-top{
    margin-top: 57px;
  }
  .section-list {
    max-width: 100vw;
    padding: 0 0.1rem;
    
  }
  .sub-section-list {
      padding: 18px 18px 0px 18px;
  }
  .main-card-title {
    font-size: 0.98rem;
  }

  .main-card-desc {
    font-size: 0.95rem;
  }

  .view-section-btn {
    font-size: 0.95rem;
    padding: 0.4rem 0.7rem;
  }

  .container {
    max-width: 100vw;
    margin: 0;
    padding: 0 0.5rem;
  }

   .cat-header-bar {
        padding: 20px;
        filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
    }

  .cat-header-title {
    font-size: 1.05rem;
  }

  .cat-list-item,
  .cat-post-list-item {
    font-size: 1rem;
  }

  .post-header-bar {
    padding: 20px;
  }

  .post-header-title {
    font-size: 1.01rem;
  }

  .header-icons {
    gap: 0.3rem;
    margin-top: 9px;
  }

  .medpro-ajax-search-wrap {
    max-width: 98vw;
    margin: 0.5rem 0;
  }

  .medpro-ajax-search-input {
    font-size: 1.08rem;
    width: 98%;
  }

  .medpro-ajax-search-results {
    font-size: 1.08rem;
  }

  .factor-archive {
    max-width: 93vw;
    border-radius: 0;
    box-shadow: none;
    padding: 0 0 1rem 0;
  }

  .factor-archive-header {
    font-size: 1.1rem;
    padding: 1rem 0.7rem 0.5rem 0.7rem;
  }

  .factor-accordion-header {
    font-size: 1.01rem;
    padding: 0.7rem 2rem 0.7rem 0.3rem;
  }

  .factor-accordion-bar {
    height: 26px;
    margin-right: 0.7rem;
  }

  .factor-accordion-content {
    padding: 0 0.2rem 0.7rem 1.2rem;
  }
}

@media (max-width: 480px) {
  .header-top.container {
    flex-direction: none;
    align-items: flex-start;
    padding: 10px 10px 0px 10px;
  }

  .logo {
    margin-bottom: 0.5rem;
  }

  .scroll-menu ul {
    gap: 0.7rem;
  }
   .login-card { 
    width: 92%; 
    /* padding: 1.2rem 0.3rem;  */
  }
   .login-header { margin: 0.7rem; }
    .search-wrapper input[type="search"] {
    width: 66%;
    box-sizing: border-box;
}
}
/* Styles for show more block */
.show-more-content.hidden {
    display: none;
}

.show-more-button {
    background-color: #0073aa;
    color: white;
    padding: 8px 16px;
    border: none;
    cursor: pointer;
    margin-top: 10px;
}

.show-more-button:hover {
    background-color: #005a8e;
}

/* Prevent columns from stacking on mobile */
.wp-block-columns {
  flex-wrap: nowrap !important;
  align-items: flex-start;
}

/* Allow text to shrink if needed */
.wp-block-column {
  min-width: 0;
  word-break: break-word;
}

/* Optional: Style for PLASMA DERIVED label */
.recombinant-label {
  display: inline-block;
  background-color: #0ee9bd;
  color: white;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: normal !important;
  margin-top: 4px;
  text-transform: uppercase;
}
.plasma-label {
  display: inline-block;
  background-color: #C8102E;
  color: white; 
  padding: 4px 8px;
  font-size: 12px;
  font-weight: normal !important;
  margin-top: 4px;
  text-transform: uppercase;
}
/* Optional: Adjust layout for very small screens */
@media (max-width: 480px) {
  .wp-block-columns {
    flex-direction: row;
    gap: 12px;
    font-size: 13px;
  }
  .wp-block-column {
    flex: 1;
  }
}
p.borderlinre {
    border: 1px solid #ccc;
    width: 97%;
    margin-top: 25px;
  margin-bottom: 25px;
}
.custom-dose-table {
  width: 97%;
  margin: 0px 0px 0px 0px;
  font-size: 13px; /* Adjusted for compactness */
  font-family: Arial, sans-serif;
  border-collapse: collapse; /* Remove spacing between borders */
}

.custom-dose-table table {
  width: 97%;
}

.custom-dose-table th,
.custom-dose-table td {
  text-align: left;
  padding: 6px 12px; /* Reduce padding for compactness */
}

.custom-dose-table th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.custom-dose-table th,
.custom-dose-table td {
  border-top: 1px solid #ccc; /* Top border */
  border-bottom: 1px solid #ccc; /* Bottom border */
  border-left: none; /* Remove left border */
  border-right: none; /* Remove right border */
}
.custom-dose-table thead {
    border: 1px solid #ccc;
}
/* Optional: add responsiveness for small screens */
@media screen and (max-width: 600px) {
  .custom-dose-table {
    font-size: 12px; /* Slightly smaller on small screens */
  }

  .custom-dose-table th, .custom-dose-table td {
    padding: 4px 8px; /* Reduced padding for mobile */
  }
}
@media (max-width: 360px) {
    .post-header-back {
        width: 54%;
    }
}
.menu-modal-footer {
  padding: 16px;
  border-top: 1px solid #eee;
  background: white;
  margin-top: auto;
}

.logout-button {
  display: block;
  width: 94%;
  padding: 12px;
  background-color: #D32252;
  color: white !important;
  text-decoration: none;
  text-align: center;
  border-radius: 4px;
  font-weight: 500;
  transition: background-color 0.2s;
  margin-bottom: 36px;
}

.logout-button:hover {
  background-color: #d01870;
}

/* Adjust existing styles */
.menu-modal-dashboard a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  text-decoration: none;
  color: #333;
  border-top: 1px solid #eee;
}

.menu-modal-fontsize {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #eee;
}

.fontsize-label {
  display: flex;
  align-items: center;
  gap: 6px;
}

.fontsize-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.font-size-minus,
.font-size-plus {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  padding: 4px 8px;
}

.font-size-value {
  min-width: 24px;
  text-align: center;
  font-size: 16px;
}

.material-icons-outlined {
  font-size: 22px !important;
  vertical-align: middle;
}
.main-card-content li,p {
    line-height: 22px;
    margin-right: 8px;
}
a:-webkit-any-link {
    text-decoration: none !important;
}
 

@media screen and (max-width: 767px) {
  .post-header-bar{
    position: fixed;
    top: 0;
    z-index: 1000;
  }
 
  .menu-modal-header {
      padding: 20px;
  }
  .menu-modal-search {
    padding: 10px 10px 15px 10px;
            width: 90%;
        margin: 0 auto;
}
}
/* MOBILE STYLES */
@media screen and (max-width: 767px) {
    .post-header-bar {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
        background: #fff;
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        margin: 0 auto;
        filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
    }
    .menu-modal-content {
      max-width: 100%;

    }
    .post-header-back {
        display: flex;
        align-items: center;
        gap: 0px;   
        flex-shrink: 0; 
        padding-left: 0px;
         width: 68%;    
    }

    .post-header-back svg {
        width: 24px;
        height: 24px;
    }

    .post-header-title {
        flex-grow: 1;
        text-align: left;
        font-size: 16px;
        font-weight: bold;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .post-header-icons {
        display: flex;
        align-items: center;
        gap: 20px;
        flex-shrink: 0;
        margin-left: -10px;
    }

    .post-header-icons img,
    .post-header-icons svg,
    .post-header-icons button {
        width: 24px;
        height: 24px;
    }

    .menu-btn {
        background: none;
        border: none;
        padding: 0;
    }
    .cat-link, .post-link{
      line-height: 24px;
    }
    .main-card-content{
      padding: 0px 0px 0px 0px;
    }
    /* .bookmark-icon:hover svg {
    stroke: #000;
    fill: #FFF;
    transform: scale(1.1);
  } */
}
#abbrevModal th.table-header.hand {
    height: 44px;
    background-color: rgba(0, 0, 0, 0.06);
    padding: 10px;
}
#abbrevModal td.table-header.hand {
    height: 40px;
    padding: 10px;
}
#abbrevModal table.table.reports-table {
    margin: 0 auto;
    width: 95%;
}
@media (max-width: 768px) {
  .mobile-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
  }
}

/* Modal styling */
body.modal-open {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@supports (overflow: clip) {
  body.modal-open {
    overflow: clip;
  }
}

/* Ensure modal has proper z-index and is visible */
.menu-modal {
  z-index: 1000;
}

/* Loading Spinner Styles */
.medpro-page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.medpro-page-loader.hidden {
  opacity: 0;
  visibility: hidden;
}

.medpro-loader-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid #FFF;
  border-top: 4px solid #D32252;
  border-radius: 50%;
  animation: medpro-spin 1s linear infinite;
}

@keyframes medpro-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Alternative pulse dots loader */
.medpro-loader-dots {
  display: flex;
  gap: 8px;
}

.medpro-loader-dots .dot {
  width: 12px;
  height: 12px;
  background-color: #D32252;
  border-radius: 50%;
  animation: medpro-pulse 1.4s infinite ease-in-out both;
}

.medpro-loader-dots .dot:nth-child(1) { animation-delay: -0.32s; }
.medpro-loader-dots .dot:nth-child(2) { animation-delay: -0.16s; }
.medpro-loader-dots .dot:nth-child(3) { animation-delay: 0s; }

@keyframes medpro-pulse {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Loading text */
.medpro-loader-text {
  margin-top: 20px;
  font-size: 16px;
  color: #666;
  font-family: Arial, sans-serif;
}

/* AJAX Loading indicator for smaller content */
.medpro-ajax-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.95);
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}

.medpro-ajax-loader .medpro-loader-spinner {
  width: 30px;
  height: 30px;
  border-width: 3px;
}