/*
Theme Name: Medicalhealth Child
Description: Child theme for Medicalhealth - MAG Clinic Professional Design
Author: LayerOne
Template: medicalhealth
*/

/* =============================================
   GOOGLE FONTS - Professional Medical Fonts
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap');

/* =============================================
   CSS VARIABLES - MAG Clinic Brand Colors
   ============================================= */
:root {
  --mag-primary:       #0d6eaf;
  --mag-primary-dark:  #0a5490;
  --mag-primary-light: #1a90d4;
  --mag-accent:        #00b4d8;
  --mag-accent-light:  #90e0ef;
  --mag-light-bg:      #f0f7ff;
  --mag-white:         #ffffff;
  --mag-text:          #1a2b3c;
  --mag-text-muted:    #5a6a7a;
  --mag-border:        #ddeaf5;
  --mag-shadow:        0 4px 24px rgba(13,110,175,0.10);
  --mag-shadow-hover:  0 8px 36px rgba(13,110,175,0.18);
  --mag-radius:        10px;
  --mag-radius-lg:     18px;
  --mag-transition:    all 0.3s ease;
}

/* =============================================
   GLOBAL TYPOGRAPHY & BASE
   ============================================= */
body,
body *:not(.fa):not([class*="flaticon"]):not([class*="simple-icon"]):not([class*="fa-"]):not(i) {
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif !important;
}
body {
  color: var(--mag-text);
  background: #f8fbff;
  font-size: 15px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--mag-text) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.2rem; }
p { color: var(--mag-text-muted); line-height: 1.75; }
a { color: var(--mag-primary); transition: var(--mag-transition); }
a:hover { color: var(--mag-primary-dark); text-decoration: none; }

/* =============================================
   PAGE LOADER
   ============================================= */
.pageloader {
  background: var(--mag-white) !important;
}
.pageloader .zozo-custom-loader {
  filter: hue-rotate(200deg);
}

/* =============================================
   HEADER TOP BAR
   ============================================= */
#header-top-bar,
.header-top-section {
  background: var(--mag-primary-dark) !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  padding: 8px 0 !important;
}
#header-top-bar .header-contact-details li,
#header-top-bar .top-bar-item,
.header-top-section .header-contact-details li {
  color: rgba(255,255,255,0.9) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
}
#header-top-bar .header-contact-details a,
.header-top-section a {
  color: rgba(255,255,255,0.85) !important;
}
#header-top-bar .header-contact-details a:hover,
.header-top-section a:hover {
  color: var(--mag-accent-light) !important;
}
/* Social icons in top bar */
#header-top-bar .zozo-social-icons li a,
.header-top-section .zozo-social-icons li a {
  color: rgba(255,255,255,0.75) !important;
  background: rgba(255,255,255,0.12) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--mag-transition) !important;
}
#header-top-bar .zozo-social-icons li a:hover,
.header-top-section .zozo-social-icons li a:hover {
  background: var(--mag-accent) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

/* =============================================
   HEADER LOGO BAR
   ============================================= */
#header-logo-bar,
.header-logo-section {
  background: var(--mag-white) !important;
  padding: 12px 0 !important;
  box-shadow: 0 2px 20px rgba(13,110,175,0.08) !important;
  border-bottom: 2px solid var(--mag-border) !important;
}
/* Logo sizing */
#header-logo-bar .zozo-standard-logo,
#header-logo-bar .zozo-sticky-logo,
#mobile-header .zozo-mobile-standard-logo {
  max-height: 70px !important;
  width: auto !important;
}

/* Header details (address, hours, phone) */
.header-details-box {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border-left: 1px solid var(--mag-border);
}
.header-details-box:first-child { border-left: none; }
.header-details-icon i {
  color: var(--mag-primary) !important;
  font-size: 18px !important;
}
.header-details-info strong {
  display: block !important;
  color: var(--mag-text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3;
}
.header-details-info span,
.header-details-info a {
  display: block !important;
  color: var(--mag-text-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}
.header-details-info a:hover { color: var(--mag-primary) !important; }

/* =============================================
   MAIN NAVIGATION
   ============================================= */
#header-nav,
.header-nav-section,
.header-main-section,
#header .type-header-11 .navbar-main {
  background: var(--mag-primary) !important;
}
/* Nav links */
#header .navbar-nav > li > a,
.header-main-section .navbar-nav > li > a,
.navbar-main .navbar-nav > li > a {
  color: rgba(255,255,255,0.92) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 18px 20px !important;
  transition: var(--mag-transition) !important;
  position: relative;
}
#header .navbar-nav > li > a::after,
.navbar-main .navbar-nav > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%; right: 50%;
  height: 3px;
  background: var(--mag-accent-light);
  border-radius: 3px 3px 0 0;
  transition: var(--mag-transition);
}
#header .navbar-nav > li > a:hover::after,
#header .navbar-nav > li.current-menu-item > a::after,
.navbar-main .navbar-nav > li > a:hover::after,
.navbar-main .navbar-nav > li.current-menu-item > a::after {
  left: 12px;
  right: 12px;
}
#header .navbar-nav > li > a:hover,
.navbar-main .navbar-nav > li > a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.08) !important;
}
/* Active/current menu item */
#header .navbar-nav > li.current-menu-item > a,
#header .navbar-nav > li.current_page_item > a {
  color: #fff !important;
  background: rgba(255,255,255,0.12) !important;
}
/* Dropdown menus */
.navbar-nav .dropdown-menu,
.header-nav .dropdown-menu {
  border: none !important;
  border-radius: var(--mag-radius) !important;
  box-shadow: var(--mag-shadow-hover) !important;
  padding: 8px 0 !important;
  background: var(--mag-white) !important;
  min-width: 220px !important;
  top: 100% !important;
  margin-top: 2px !important;
  border-top: 3px solid var(--mag-primary) !important;
}
.navbar-nav .dropdown-menu li a {
  color: var(--mag-text) !important;
  padding: 10px 20px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  transition: var(--mag-transition) !important;
}
.navbar-nav .dropdown-menu li a:hover {
  background: var(--mag-light-bg) !important;
  color: var(--mag-primary) !important;
  padding-left: 26px !important;
}

/* =============================================
   STICKY HEADER
   ============================================= */
.header-is-sticky #header.sticky-enabled,
.header-is-sticky #header.is-sticky {
  box-shadow: 0 4px 30px rgba(13,110,175,0.15) !important;
}

/* =============================================
   MOBILE HEADER
   ============================================= */
#mobile-header {
  background: var(--mag-white) !important;
  box-shadow: 0 2px 16px rgba(13,110,175,0.1) !important;
  padding: 8px 0 !important;
}
.mobile-menu-nav .menu-bars,
.mobile-menu-nav .menu-bars::before,
.mobile-menu-nav .menu-bars::after {
  background: var(--mag-primary) !important;
}

/* =============================================
   HERO / REVOLUTION SLIDER
   ============================================= */
.tp-banner-container,
.rev_slider_wrapper,
#rev_slider_wrapper_1,
.tp-fullwidth-forcer {
  background: linear-gradient(135deg, var(--mag-primary-dark) 0%, var(--mag-primary) 100%) !important;
}
/* Slider overlay for better text readability */
.tp-bgimg.defaultimg {
  filter: brightness(0.75) !important;
}

/* =============================================
   FEATURE BOXES (Top 4 Services)
   ============================================= */
.vc_row.vc_custom_1499341925002,
section.vc_row:first-of-type {
  background: var(--mag-white) !important;
  padding: 0 !important;
  box-shadow: 0 8px 30px rgba(13,110,175,0.10) !important;
  position: relative;
  z-index: 10;
}
.zozo-feature-box.feature-box-style.style-default-box {
  background: var(--mag-white) !important;
  border: none !important;
  border-top: 4px solid var(--mag-primary) !important;
  border-radius: 0 !important;
  padding: 40px 28px !important;
  transition: var(--mag-transition) !important;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.zozo-feature-box.feature-box-style.style-default-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--mag-primary), var(--mag-accent));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
.zozo-feature-box.feature-box-style.style-default-box:hover::before {
  transform: scaleX(1);
}
.zozo-feature-box.feature-box-style.style-default-box:hover {
  box-shadow: var(--mag-shadow-hover) !important;
  transform: translateY(-4px) !important;
  border-top-color: var(--mag-accent) !important;
}
/* Feature box icon */
.zozo-feature-box .grid-icon {
  font-size: 42px !important;
  color: var(--mag-primary) !important;
  margin-bottom: 18px !important;
  display: block !important;
}
.zozo-feature-box .grid-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--mag-text) !important;
  margin: 12px 0 10px !important;
  line-height: 1.3 !important;
}
.zozo-feature-box .grid-desc,
.zozo-feature-box .grid-desc p {
  color: var(--mag-text-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
/* Color variation for feature boxes */
#feature-box-1 .zozo-feature-box { border-top-color: #0d6eaf !important; }
#feature-box-2 .zozo-feature-box { border-top-color: #00b4d8 !important; }
#feature-box-3 .zozo-feature-box { border-top-color: #0a5490 !important; }
#feature-box-4 .zozo-feature-box { border-top-color: #1a90d4 !important; }

/* =============================================
   SECTION BACKGROUNDS & SPACING
   ============================================= */
.vc-zozo-section {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}
.vc-zozo-section.typo-light {
  padding: 48px 0 !important;
}
/* Alternate section backgrounds */
.vc-zozo-section.typo-default:nth-of-type(even) {
  background: var(--mag-light-bg) !important;
}

/* =============================================
   SECTION HEADERS (parallax-header / section titles)
   ============================================= */
.parallax-header,
.zozo-parallax-header .parallax-header {
  text-align: center !important;
  padding: 0 0 40px 0 !important;
}
.parallax-title {
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  color: var(--mag-text) !important;
  position: relative !important;
  padding-bottom: 18px !important;
  margin-bottom: 16px !important;
  display: inline-block !important;
}
.parallax-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 60px; height: 4px;
  background: linear-gradient(90deg, var(--mag-primary), var(--mag-accent));
  border-radius: 2px;
}
.parallax-desc,
.parallax-desc p {
  color: var(--mag-text-muted) !important;
  font-size: 16px !important;
  max-width: 650px !important;
  margin: 0 auto !important;
  line-height: 1.75 !important;
}

/* =============================================
   SERVICES CARDS / VC COLUMNS
   ============================================= */
.zozo-services-box,
.zozo-icon-box,
.wpb_column .zozo-feature-box {
  background: var(--mag-white) !important;
  border-radius: var(--mag-radius) !important;
  padding: 30px !important;
  box-shadow: 0 2px 16px rgba(13,110,175,0.07) !important;
  transition: var(--mag-transition) !important;
  border: 1px solid var(--mag-border) !important;
}
.zozo-services-box:hover,
.zozo-icon-box:hover {
  box-shadow: var(--mag-shadow-hover) !important;
  transform: translateY(-5px) !important;
  border-color: var(--mag-primary) !important;
}

/* =============================================
   TEAM SECTION
   ============================================= */
.zozo-team-member,
.team-member-wrapper {
  background: var(--mag-white) !important;
  border-radius: var(--mag-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--mag-shadow) !important;
  transition: var(--mag-transition) !important;
  border: none !important;
}
.zozo-team-member:hover,
.team-member-wrapper:hover {
  box-shadow: var(--mag-shadow-hover) !important;
  transform: translateY(-6px) !important;
}
.team-member-image img {
  width: 100% !important;
  object-fit: cover !important;
}
.team-content,
.team-info,
.team-member-info {
  padding: 20px !important;
  text-align: center !important;
  border-top: 3px solid var(--mag-primary) !important;
}
.team-member-name,
.team-name {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--mag-text) !important;
  margin-bottom: 4px !important;
}
.team-member-designation,
.team-designation {
  color: var(--mag-primary) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
/* Team social icons */
.zozo-team-member .zozo-social-icons li a,
.team-member-wrapper .zozo-social-icons li a {
  background: var(--mag-light-bg) !important;
  color: var(--mag-primary) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--mag-transition) !important;
}
.zozo-team-member .zozo-social-icons li a:hover,
.team-member-wrapper .zozo-social-icons li a:hover {
  background: var(--mag-primary) !important;
  color: var(--mag-white) !important;
}

/* =============================================
   TESTIMONIALS
   ============================================= */
.zozo-testimonial,
.testimonial-item,
.testimonials-wrapper .wpb_content_element {
  background: var(--mag-white) !important;
  border-radius: var(--mag-radius-lg) !important;
  padding: 32px 30px !important;
  box-shadow: var(--mag-shadow) !important;
  border: 1px solid var(--mag-border) !important;
  position: relative;
}
.zozo-testimonial::before,
.testimonial-item::before {
  content: '\201C';
  position: absolute;
  top: 16px; left: 24px;
  font-size: 70px;
  color: var(--mag-accent-light);
  font-family: Georgia, serif;
  line-height: 1;
  opacity: 0.5;
}
.testimonial-content,
.testimonial-text {
  color: var(--mag-text-muted) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  font-style: italic;
  padding-top: 20px;
}
.testimonial-author-name {
  font-weight: 700 !important;
  color: var(--mag-text) !important;
}
.testimonial-author-designation {
  color: var(--mag-primary) !important;
  font-size: 13px !important;
}

/* =============================================
   COUNTERS / STATS SECTION
   ============================================= */
.zozo-counter,
.counter-wrapper,
.wpb_column .counter-section {
  text-align: center !important;
  padding: 30px 20px !important;
}
.counter-number,
.zozo-counter .counter-value,
.counter-section .count {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: var(--mag-primary) !important;
  line-height: 1 !important;
  display: block !important;
}
.counter-label,
.counter-title,
.zozo-counter .counter-subtitle {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--mag-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-top: 8px !important;
}
/* Stats section background */
section:has(.zozo-counter),
.vc_row:has(.counter-value) {
  background: linear-gradient(135deg, var(--mag-primary-dark) 0%, var(--mag-primary) 100%) !important;
}
section:has(.zozo-counter) .counter-label,
section:has(.zozo-counter) .counter-title,
section:has(.zozo-counter) .counter-subtitle {
  color: rgba(255,255,255,0.75) !important;
}
section:has(.zozo-counter) .counter-number,
section:has(.zozo-counter) .count {
  color: #fff !important;
}

/* =============================================
   BUTTONS
   ============================================= */
.btn-primary,
.zozo-btn,
.btn-mag,
input[type="submit"],
button[type="submit"],
.vc_btn3.vc_btn3-color-blue,
a.btn.btn-primary,
.zozo_button {
  background: linear-gradient(135deg, var(--mag-primary) 0%, var(--mag-primary-light) 100%) !important;
  border: none !important;
  border-radius: 50px !important;
  color: var(--mag-white) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  padding: 13px 32px !important;
  box-shadow: 0 4px 16px rgba(13,110,175,0.28) !important;
  transition: var(--mag-transition) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.btn-primary:hover,
.zozo-btn:hover,
input[type="submit"]:hover,
.vc_btn3.vc_btn3-color-blue:hover,
a.btn.btn-primary:hover,
.zozo_button:hover {
  background: linear-gradient(135deg, var(--mag-primary-dark) 0%, var(--mag-primary) 100%) !important;
  box-shadow: 0 6px 24px rgba(13,110,175,0.38) !important;
  transform: translateY(-2px) !important;
  color: var(--mag-white) !important;
}
.btn-outline,
.vc_btn3.vc_btn3-style-outline {
  background: transparent !important;
  border: 2px solid var(--mag-primary) !important;
  color: var(--mag-primary) !important;
  border-radius: 50px !important;
  padding: 11px 28px !important;
  font-weight: 600 !important;
  transition: var(--mag-transition) !important;
}
.btn-outline:hover,
.vc_btn3.vc_btn3-style-outline:hover {
  background: var(--mag-primary) !important;
  color: var(--mag-white) !important;
}

/* =============================================
   GALLERY / PORTFOLIO
   ============================================= */
.zozo-portfolio .portfolio-item,
.zozo-gallery-item {
  border-radius: var(--mag-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--mag-shadow) !important;
  transition: var(--mag-transition) !important;
}
.zozo-portfolio .portfolio-item:hover,
.zozo-gallery-item:hover {
  box-shadow: var(--mag-shadow-hover) !important;
  transform: translateY(-4px) !important;
}
.portfolio-overlay,
.grid-overlay {
  background: rgba(13,110,175,0.82) !important;
}
/* Portfolio filter buttons */
.portfolio-filter a,
.portfolio-categories a {
  border: 2px solid var(--mag-border) !important;
  border-radius: 50px !important;
  padding: 8px 22px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--mag-text-muted) !important;
  transition: var(--mag-transition) !important;
}
.portfolio-filter a:hover,
.portfolio-filter a.active,
.portfolio-categories a.active {
  background: var(--mag-primary) !important;
  border-color: var(--mag-primary) !important;
  color: var(--mag-white) !important;
}

/* =============================================
   CONTACT SECTION
   ============================================= */
.contact-section,
.zozo-contact-info {
  background: var(--mag-white) !important;
  border-radius: var(--mag-radius-lg) !important;
  padding: 36px !important;
  box-shadow: var(--mag-shadow) !important;
  border: 1px solid var(--mag-border) !important;
}
/* Contact form inputs */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.contact-form input,
.contact-form textarea {
  border: 1.5px solid var(--mag-border) !important;
  border-radius: var(--mag-radius) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  color: var(--mag-text) !important;
  background: #f8fbff !important;
  transition: var(--mag-transition) !important;
  width: 100% !important;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus,
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--mag-primary) !important;
  box-shadow: 0 0 0 3px rgba(13,110,175,0.12) !important;
  outline: none !important;
  background: var(--mag-white) !important;
}
/* Contact info items */
.contact-info-item,
.zozo-contact-info .info-item {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--mag-border) !important;
}
.contact-info-item:last-child,
.zozo-contact-info .info-item:last-child {
  border-bottom: none !important;
}
.contact-info-icon i {
  font-size: 20px !important;
  color: var(--mag-primary) !important;
  margin-top: 2px !important;
}

/* =============================================
   BEFORE FOOTER / CTA SECTION
   ============================================= */
.before-footer-section,
.zozo-before-footer,
#before_footer {
  background: linear-gradient(135deg, var(--mag-primary) 0%, var(--mag-primary-dark) 100%) !important;
  padding: 50px 0 !important;
}
.before-footer-section h2,
.before-footer-section h3,
.zozo-before-footer h2 {
  color: var(--mag-white) !important;
  font-size: 2rem !important;
}
.before-footer-section p,
.zozo-before-footer p {
  color: rgba(255,255,255,0.85) !important;
}

/* =============================================
   FOOTER
   ============================================= */
#footer,
.footer-section,
.zozo-footer {
  background: #0a1929 !important;
  color: rgba(255,255,255,0.78) !important;
  padding-top: 60px !important;
}
.footer-section h3,
.footer-section h4,
.footer-widget-title,
.zozo-footer h3,
.zozo-footer h4,
.footer-title {
  color: var(--mag-white) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--mag-primary) !important;
  position: relative !important;
}
.footer-section p,
.footer-section li,
.zozo-footer p,
.zozo-footer li {
  color: rgba(255,255,255,0.65) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.footer-section a,
.zozo-footer a {
  color: rgba(255,255,255,0.65) !important;
  transition: var(--mag-transition) !important;
}
.footer-section a:hover,
.zozo-footer a:hover {
  color: var(--mag-accent-light) !important;
  padding-left: 4px !important;
}
/* Footer social */
.footer-section .zozo-social-icons li a,
.zozo-footer .zozo-social-icons li a,
#footer .zozo-social-icons li a {
  background: rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.75) !important;
  border-radius: 50% !important;
  width: 38px !important;
  height: 38px !important;
  line-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--mag-transition) !important;
  font-size: 15px !important;
}
.footer-section .zozo-social-icons li a:hover,
.zozo-footer .zozo-social-icons li a:hover,
#footer .zozo-social-icons li a:hover {
  background: var(--mag-primary) !important;
  color: var(--mag-white) !important;
  transform: translateY(-3px) !important;
}
/* Footer bottom bar */
#footer-bottom,
.footer-bottom-bar,
.zozo-footer-bottom {
  background: #040d18 !important;
  padding: 16px 0 !important;
  margin-top: 40px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
#footer-bottom p,
.footer-bottom-bar p,
.footer-copyright {
  color: rgba(255,255,255,0.45) !important;
  font-size: 13px !important;
  margin: 0 !important;
}
#footer-bottom a,
.footer-bottom-bar a {
  color: var(--mag-accent-light) !important;
}

/* =============================================
   MAPS SECTION
   ============================================= */
.map-section iframe,
.zozo-map iframe {
  border-radius: var(--mag-radius-lg) !important;
  box-shadow: var(--mag-shadow) !important;
}

/* =============================================
   OWL CAROUSEL DOTS & ARROWS
   ============================================= */
.owl-dots .owl-dot span {
  background: var(--mag-border) !important;
}
.owl-dots .owl-dot.active span,
.owl-dots .owl-dot:hover span {
  background: var(--mag-primary) !important;
}
.owl-nav .owl-prev,
.owl-nav .owl-next {
  background: var(--mag-white) !important;
  color: var(--mag-primary) !important;
  border-radius: 50% !important;
  width: 40px !important; height: 40px !important;
  box-shadow: var(--mag-shadow) !important;
  transition: var(--mag-transition) !important;
}
.owl-nav .owl-prev:hover,
.owl-nav .owl-next:hover {
  background: var(--mag-primary) !important;
  color: var(--mag-white) !important;
}

/* =============================================
   SIDEBAR WIDGETS
   ============================================= */
.widget,
.sidebar-widget {
  background: var(--mag-white) !important;
  border-radius: var(--mag-radius) !important;
  padding: 24px !important;
  box-shadow: var(--mag-shadow) !important;
  border: 1px solid var(--mag-border) !important;
  margin-bottom: 24px !important;
}
.widget-title,
.widgettitle {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--mag-text) !important;
  border-bottom: 2px solid var(--mag-primary) !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

/* =============================================
   BLOG POSTS
   ============================================= */
.post-item,
.blog-post,
article.post {
  background: var(--mag-white) !important;
  border-radius: var(--mag-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--mag-shadow) !important;
  transition: var(--mag-transition) !important;
  border: 1px solid var(--mag-border) !important;
}
.post-item:hover,
.blog-post:hover,
article.post:hover {
  box-shadow: var(--mag-shadow-hover) !important;
  transform: translateY(-4px) !important;
}
.post-meta,
.entry-meta {
  color: var(--mag-text-muted) !important;
  font-size: 12.5px !important;
}
.post-categories a,
.entry-categories a {
  background: var(--mag-light-bg) !important;
  color: var(--mag-primary) !important;
  border-radius: 50px !important;
  padding: 3px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  display: inline-block !important;
}

/* =============================================
   BREADCRUMBS
   ============================================= */
.breadcrumb-wrapper,
.zozo-breadcrumb {
  background: var(--mag-light-bg) !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--mag-border) !important;
}
.breadcrumb,
.zozo-breadcrumb ul {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.breadcrumb li a {
  color: var(--mag-primary) !important;
}
.breadcrumb li.active {
  color: var(--mag-text-muted) !important;
}

/* =============================================
   PAGE TITLE / HERO BAR
   ============================================= */
.page-header-section,
.page-title-section,
.header-title-section {
  background: linear-gradient(135deg, var(--mag-primary-dark), var(--mag-primary)) !important;
  padding: 50px 0 !important;
}
.page-header-section h1,
.page-header-section h2,
.page-title-section h1,
.page-title-section h2 {
  color: var(--mag-white) !important;
  font-size: 2.5rem !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* =============================================
   SECTION: "NUESTRA MISION" & text sections
   ============================================= */
.zozo-parallax-header.wpb_animate_when_almost_visible {
  margin-bottom: 30px !important;
}
/* Rich text content areas */
.wpb_text_column .wpb_wrapper {
  line-height: 1.8 !important;
}
.wpb_text_column .wpb_wrapper h2,
.wpb_text_column .wpb_wrapper h3 {
  color: var(--mag-text) !important;
  margin-bottom: 12px !important;
}
.wpb_text_column .wpb_wrapper strong {
  color: var(--mag-primary) !important;
}

/* =============================================
   VISUAL COMPOSER ROW DIVIDERS
   ============================================= */
.vc_row {
  position: relative;
}

/* =============================================
   WHATSAPP CHAT WIDGET
   ============================================= */
.wa-chat-bubble,
.whatsapp-button,
[class*="whatsapp"],
[id*="whatsapp"] {
  filter: drop-shadow(0 4px 12px rgba(37,211,102,0.35)) !important;
  border-radius: 50% !important;
}

/* =============================================
   SCROLLBAR
   ============================================= */
::-webkit-scrollbar { width: 7px; }
::-webkit-scrollbar-track { background: #f0f4f8; }
::-webkit-scrollbar-thumb { background: var(--mag-primary); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--mag-primary-dark); }

/* =============================================
   SELECTION
   ============================================= */
::selection { background: var(--mag-primary); color: var(--mag-white); }

/* =============================================
   RESPONSIVE IMPROVEMENTS
   ============================================= */
@media (max-width: 991px) {
  h2, .parallax-title { font-size: 1.6rem !important; }
  .vc-zozo-section { padding-top: 50px !important; padding-bottom: 50px !important; }
  .zozo-feature-box.feature-box-style.style-default-box { padding: 28px 20px !important; }
}
@media (max-width: 767px) {
  body { font-size: 14px; }
  h2, .parallax-title { font-size: 1.4rem !important; }
  .vc-zozo-section { padding-top: 36px !important; padding-bottom: 36px !important; }
  .contact-section, .zozo-contact-info { padding: 24px !important; }
  .parallax-title { padding-bottom: 14px !important; }
  .parallax-title::after { width: 44px !important; }
  #footer { padding-top: 40px !important; }
  .header-details-box { padding: 0 10px !important; }
  .header-details-info strong { font-size: 12px !important; }
  .header-details-info span { font-size: 11px !important; }
}

/* =============================================
   LIGHT SKIN OVERRIDES (theme class .theme-skin-light)
   ============================================= */
.theme-skin-light .header-main-section,
.theme-skin-light .navbar-main {
  background: var(--mag-primary) !important;
}

/* =============================================
   PRINT
   ============================================= */
@media print {
  #header-top-bar, #mobile-header, #footer-bottom { display: none !important; }
}