/*
Theme Name: VetNexusMD Child Theme
Theme URI: https://vetnexusmd.com
Description: Custom child theme with Refined Authority design system - Navy/Gold/Teal palette, Playfair Display headings, Source Sans 3 body text
Author: VetNexusMD
Author URI: https://vetnexusmd.com
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hello-elementor-child-vnmd
*/

/* ========================================
   CLS FIX: Fallback Font Metrics Matching
   Added: Dec 19, 2025
   Purpose: Reduce layout shift when web fonts load
   ======================================== */

/* Fallback for Playfair Display (serif heading font) */
@font-face {
  font-family: 'Playfair Fallback';
  src: local('Times New Roman');
  size-adjust: 112%;
  ascent-override: 95%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* Fallback for Source Sans 3 (sans body font) */
@font-face {
  font-family: 'Source Sans Fallback';
  src: local('Arial');
  size-adjust: 100%;
  ascent-override: 104%;
  descent-override: 30%;
  line-gap-override: 0%;
}

/* =============================================================================
   VETNEXUSMD DESIGN SYSTEM - CONSOLIDATED CSS
   Aesthetic: Refined Authority - Clinical Trust meets Veteran Warmth
   Color Palette: Navy (Authority) | Gold (Valor) | Teal (Medical)
   ============================================================================= */

/* -----------------------------------------------------------------------------
   CSS CUSTOM PROPERTIES
   ----------------------------------------------------------------------------- */
:root {
  /* Primary - Deep Navy (authority, trust, military connection) */
  --vnmd-primary-950: #020617;
  --vnmd-primary-900: #0f172a;
  --vnmd-primary-800: #1e293b;
  --vnmd-primary-700: #334155;
  --vnmd-primary-600: #475569;
  --vnmd-primary-500: #64748b;
  --vnmd-primary-400: #94a3b8;
  --vnmd-primary-300: #cbd5e1;
  --vnmd-primary-200: #e2e8f0;
  --vnmd-primary-100: #f1f5f9;
  --vnmd-primary-50: #f8fafc;

  /* Accent - Warm Gold (achievement, valor, premium) */
  --vnmd-accent-600: #a68a3a;
  --vnmd-accent-500: #c6a962;
  --vnmd-accent-400: #d4bc7e;
  --vnmd-accent-300: #e2cf9a;
  --vnmd-accent-200: #f0e2b6;
  --vnmd-accent-100: #faf5e4;

  /* Secondary - Medical Teal (psychiatric specialty, calm, healing) */
  --vnmd-secondary-700: #0f766e;
  --vnmd-secondary-600: #0d9488;
  --vnmd-secondary-500: #14b8a6;
  --vnmd-secondary-400: #2dd4bf;
  --vnmd-secondary-300: #5eead4;
  --vnmd-secondary-200: #99f6e4;
  --vnmd-secondary-100: #ccfbf1;

  /* Neutrals */
  --vnmd-white: #ffffff;
  --vnmd-gray-900: #111827;
  --vnmd-gray-800: #1f2937;
  --vnmd-gray-700: #374151;
  --vnmd-gray-600: #4b5563;
  --vnmd-gray-500: #6b7280;
  --vnmd-gray-400: #9ca3af;
  --vnmd-gray-300: #d1d5db;
  --vnmd-gray-200: #e5e7eb;
  --vnmd-gray-100: #f3f4f6;
  --vnmd-gray-50: #f9fafb;

  /* Semantic - Disclaimer */
  --vnmd-disclaimer-bg: #fffbeb;
  --vnmd-disclaimer-border: #f59e0b;
  --vnmd-disclaimer-text: #92400e;

  /* Typography - Updated Dec 19, 2025: Added fallback fonts with metrics matching */
  --vnmd-font-display: 'Playfair Display', 'Playfair Fallback', Georgia, 'Times New Roman', serif;
  --vnmd-font-body: 'Source Sans 3', 'Source Sans Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --vnmd-font-mono: 'JetBrains Mono', 'Consolas', monospace;

  /* Font Sizes - Fluid */
  --vnmd-text-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);
  --vnmd-text-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);
  --vnmd-text-base: clamp(0.95rem, 0.9rem + 0.25vw, 1rem);
  --vnmd-text-lg: clamp(1.05rem, 1rem + 0.25vw, 1.125rem);
  --vnmd-text-xl: clamp(1.15rem, 1.1rem + 0.25vw, 1.25rem);
  --vnmd-text-2xl: clamp(1.35rem, 1.25rem + 0.5vw, 1.5rem);
  --vnmd-text-3xl: clamp(1.6rem, 1.4rem + 1vw, 1.875rem);
  --vnmd-text-4xl: clamp(1.9rem, 1.6rem + 1.5vw, 2.25rem);
  --vnmd-text-5xl: clamp(2.4rem, 2rem + 2vw, 3rem);

  /* Spacing */
  --vnmd-space-1: 0.25rem;
  --vnmd-space-2: 0.5rem;
  --vnmd-space-3: 0.75rem;
  --vnmd-space-4: 1rem;
  --vnmd-space-5: 1.25rem;
  --vnmd-space-6: 1.5rem;
  --vnmd-space-8: 2rem;
  --vnmd-space-10: 2.5rem;
  --vnmd-space-12: 3rem;
  --vnmd-space-16: 4rem;

  /* Border Radius */
  --vnmd-radius-sm: 0.25rem;
  --vnmd-radius-md: 0.375rem;
  --vnmd-radius-lg: 0.5rem;
  --vnmd-radius-xl: 0.75rem;
  --vnmd-radius-2xl: 1rem;
  --vnmd-radius-full: 9999px;

  /* Shadows */
  --vnmd-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1);
  --vnmd-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  --vnmd-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  --vnmd-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
  --vnmd-shadow-card: 0 4px 20px rgba(15, 23, 42, 0.08);
  --vnmd-shadow-card-hover: 0 12px 40px rgba(15, 23, 42, 0.15);
  --vnmd-shadow-gold: 0 0 40px rgba(198, 169, 98, 0.3);
  --vnmd-shadow-gold-subtle: 0 0 20px rgba(198, 169, 98, 0.15);

  /* Motion */
  --vnmd-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --vnmd-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --vnmd-duration-fast: 150ms;
  --vnmd-duration-normal: 300ms;
  --vnmd-duration-slow: 500ms;

  /* Line Heights */
  --vnmd-leading-tight: 1.2;
  --vnmd-leading-normal: 1.5;
  --vnmd-leading-relaxed: 1.625;
}

/* -----------------------------------------------------------------------------
   GLOBAL BASE STYLES
   ----------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--vnmd-font-body) !important;
  color: var(--vnmd-gray-700);
  line-height: var(--vnmd-leading-normal);
}

/* -----------------------------------------------------------------------------
   ELEMENTOR TYPOGRAPHY OVERRIDES
   ----------------------------------------------------------------------------- */

/* Headings - Playfair Display */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-theme-post-title .elementor-heading-title {
  font-family: var(--vnmd-font-display) !important;
  color: var(--vnmd-primary-900) !important;
  line-height: var(--vnmd-leading-tight) !important;
  letter-spacing: -0.025em;
}

/* Body text - Source Sans 3 */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p {
  font-family: var(--vnmd-font-body) !important;
  color: var(--vnmd-gray-700) !important;
  line-height: var(--vnmd-leading-relaxed) !important;
}

/* Links */
a {
  color: var(--vnmd-secondary-600);
  text-decoration: none;
  transition: color var(--vnmd-duration-fast) var(--vnmd-ease-out);
}

a:hover {
  color: var(--vnmd-secondary-500);
}

/* -----------------------------------------------------------------------------
   ELEMENTOR BUTTON OVERRIDES
   ----------------------------------------------------------------------------- */
.elementor-button-wrapper .elementor-button,
.elementor-button {
  font-family: var(--vnmd-font-body) !important;
  font-weight: 600 !important;
  border-radius: var(--vnmd-radius-lg) !important;
  transition: all var(--vnmd-duration-fast) var(--vnmd-ease-out) !important;
  position: relative;
  overflow: hidden;
}

.elementor-button-wrapper .elementor-button:hover,
.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--vnmd-shadow-lg) !important;
}

/* Primary/Default buttons - Gold gradient */
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-xl,
.elementor-widget-button .elementor-button:not(.elementor-button-link) {
  background: linear-gradient(135deg, var(--vnmd-accent-500), var(--vnmd-accent-600)) !important;
  border: none !important;
  color: var(--vnmd-primary-900) !important;
  box-shadow: 0 2px 8px rgba(198, 169, 98, 0.3) !important;
}

.elementor-button.elementor-size-md:hover,
.elementor-button.elementor-size-lg:hover,
.elementor-button.elementor-size-xl:hover,
.elementor-widget-button .elementor-button:not(.elementor-button-link):hover {
  background: linear-gradient(135deg, var(--vnmd-accent-400), var(--vnmd-accent-500)) !important;
  box-shadow: 0 4px 16px rgba(198, 169, 98, 0.4) !important;
}

/* Button shine sweep effect */
.elementor-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s var(--vnmd-ease-out);
}

.elementor-button:hover::before {
  left: 100%;
}

/* Small buttons */
.elementor-button.elementor-size-sm {
  padding: var(--vnmd-space-2) var(--vnmd-space-4) !important;
  font-size: var(--vnmd-text-sm) !important;
}

/* -----------------------------------------------------------------------------
   ELEMENTOR ICON BOX & IMAGE BOX OVERRIDES
   ----------------------------------------------------------------------------- */
.elementor-widget-icon-box,
.elementor-widget-image-box {
  transition: transform var(--vnmd-duration-normal) var(--vnmd-ease-spring),
              box-shadow var(--vnmd-duration-normal) var(--vnmd-ease-out) !important;
}

.elementor-widget-icon-box:hover,
.elementor-widget-image-box:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--vnmd-shadow-card-hover) !important;
}

/* Icon styling - Teal */
.elementor-icon i,
.elementor-icon svg,
.elementor-widget-icon-box .elementor-icon i {
  color: var(--vnmd-secondary-600) !important;
  fill: var(--vnmd-secondary-600) !important;
}

/* Icon box icon background */
.elementor-widget-icon-box .elementor-icon {
  background: linear-gradient(135deg, var(--vnmd-secondary-100), rgba(204, 251, 241, 0.5)) !important;
  border-radius: var(--vnmd-radius-xl) !important;
}

/* Icon box title */
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--vnmd-font-display) !important;
  color: var(--vnmd-primary-900) !important;
}

/* Icon box description */
.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: var(--vnmd-font-body) !important;
  color: var(--vnmd-gray-600) !important;
  line-height: var(--vnmd-leading-relaxed) !important;
}

/* -----------------------------------------------------------------------------
   CARD COLUMN HOVER EFFECTS
   ----------------------------------------------------------------------------- */
.elementor-column.elementor-col-33 > .elementor-widget-wrap,
.elementor-column.elementor-col-25 > .elementor-widget-wrap,
.elementor-column.elementor-col-50 > .elementor-widget-wrap {
  transition: transform var(--vnmd-duration-normal) var(--vnmd-ease-spring),
              box-shadow var(--vnmd-duration-normal) var(--vnmd-ease-out) !important;
}

/* Cards with background - subtle hover */
.elementor-column[data-settings*="background"] > .elementor-widget-wrap:hover,
.elementor-widget-wrap[style*="background"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--vnmd-shadow-card-hover) !important;
}

/* -----------------------------------------------------------------------------
   PRICING DISPLAY ENHANCEMENTS
   ----------------------------------------------------------------------------- */
.elementor-price-table {
  border-radius: var(--vnmd-radius-2xl) !important;
  overflow: hidden !important;
  transition: transform var(--vnmd-duration-normal) var(--vnmd-ease-spring),
              box-shadow var(--vnmd-duration-normal) var(--vnmd-ease-out) !important;
}

.elementor-price-table:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--vnmd-shadow-xl) !important;
}

.elementor-price-table__price {
  font-family: var(--vnmd-font-display) !important;
}

/* Price text styling */
span[style*="$600"],
span[style*="$200"],
span[style*="$150"],
.elementor-heading-title[style*="$"] {
  font-family: var(--vnmd-font-display) !important;
  color: var(--vnmd-accent-500) !important;
}

/* -----------------------------------------------------------------------------
   DISCLAIMER/NOTICE BOX STYLING (IMO Compliance)
   ----------------------------------------------------------------------------- */
/* Target disclaimer boxes by background color */
.elementor-widget-text-editor[style*="fffbeb"],
.elementor-element[style*="fffbeb"],
.elementor-element[style*="FFFBEB"],
[style*="background-color: rgb(255, 251, 235)"],
[style*="background: rgb(255, 251, 235)"],
.elementor-widget-wrap[style*="fffbeb"] {
  background: linear-gradient(135deg, #fffbeb, #fef3c7) !important;
  border: 1px solid var(--vnmd-disclaimer-border) !important;
  border-left: 4px solid #d97706 !important;
  border-radius: var(--vnmd-radius-lg) !important;
}

/* VNMD Disclaimer specific styling */
#vnmd-disclaimer,
.vnmd-disclaimer,
aside[data-vnmd="1"] {
  background: linear-gradient(135deg, var(--vnmd-disclaimer-bg), #fef3c7) !important;
  border: 1px solid var(--vnmd-disclaimer-border) !important;
  border-left: 4px solid #d97706 !important;
  border-radius: var(--vnmd-radius-lg) !important;
  padding: var(--vnmd-space-6) !important;
  margin: var(--vnmd-space-8) 0 !important;
}

#vnmd-disclaimer strong,
.vnmd-disclaimer strong {
  color: var(--vnmd-disclaimer-text) !important;
}

/* -----------------------------------------------------------------------------
   SECTION STYLING
   ----------------------------------------------------------------------------- */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1280px !important;
}

/* Light gray sections */
.elementor-section[style*="f8fafc"],
.elementor-section[style*="F8FAFC"],
.elementor-section[style*="f9fafb"],
.elementor-section[style*="f3f4f6"] {
  background-color: var(--vnmd-gray-50) !important;
}

/* Dark navy sections */
.elementor-section[style*="0f172a"],
.elementor-section[style*="1e293b"] {
  background-color: var(--vnmd-primary-900) !important;
}

.elementor-section[style*="0f172a"] .elementor-heading-title,
.elementor-section[style*="1e293b"] .elementor-heading-title {
  color: var(--vnmd-white) !important;
}

/* -----------------------------------------------------------------------------
   NAVIGATION ENHANCEMENTS
   ----------------------------------------------------------------------------- */
.elementor-nav-menu--main .elementor-nav-menu a,
.elementor-nav-menu--main .elementor-item {
  font-family: var(--vnmd-font-body) !important;
  font-weight: 500 !important;
  color: var(--vnmd-gray-700) !important;
  transition: color var(--vnmd-duration-fast) var(--vnmd-ease-out) !important;
}

.elementor-nav-menu--main .elementor-nav-menu a:hover,
.elementor-nav-menu--main .elementor-item:hover {
  color: var(--vnmd-secondary-600) !important;
}

.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--vnmd-secondary-600) !important;
}

/* Mobile menu */
.elementor-nav-menu--dropdown a {
  font-family: var(--vnmd-font-body) !important;
}

/* -----------------------------------------------------------------------------
   FOOTER STYLING
   ----------------------------------------------------------------------------- */
footer.elementor-location-footer,
.elementor-location-footer,
footer[data-elementor-type="footer"] {
  background-color: var(--vnmd-gray-900) !important;
}

.elementor-location-footer .elementor-heading-title,
footer .elementor-heading-title {
  color: var(--vnmd-white) !important;
}

.elementor-location-footer p,
.elementor-location-footer .elementor-widget-text-editor,
footer .elementor-widget-text-editor {
  color: var(--vnmd-gray-400) !important;
}

.elementor-location-footer a,
footer a {
  color: var(--vnmd-gray-400) !important;
  transition: color var(--vnmd-duration-fast) var(--vnmd-ease-out) !important;
}

.elementor-location-footer a:hover,
footer a:hover {
  color: var(--vnmd-white) !important;
}

/* -----------------------------------------------------------------------------
   FORM STYLING
   ----------------------------------------------------------------------------- */
.elementor-field-textual,
.elementor-field-group input,
.elementor-field-group textarea {
  font-family: var(--vnmd-font-body) !important;
  border-radius: var(--vnmd-radius-md) !important;
  border: 1px solid var(--vnmd-gray-300) !important;
  transition: border-color var(--vnmd-duration-fast) var(--vnmd-ease-out),
              box-shadow var(--vnmd-duration-fast) var(--vnmd-ease-out) !important;
}

.elementor-field-textual:focus,
.elementor-field-group input:focus,
.elementor-field-group textarea:focus {
  border-color: var(--vnmd-secondary-500) !important;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.2) !important;
  outline: none !important;
}

.elementor-field-label {
  font-family: var(--vnmd-font-body) !important;
  font-weight: 500 !important;
  color: var(--vnmd-gray-700) !important;
}

/* -----------------------------------------------------------------------------
   ANIMATIONS & KEYFRAMES
   ----------------------------------------------------------------------------- */
@keyframes vnmd-fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes vnmd-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.9; }
}

/* Subtle entrance animation for sections */
.elementor-section.elementor-top-section {
  animation: vnmd-fadeInUp 0.6s var(--vnmd-ease-spring) forwards;
}

/* -----------------------------------------------------------------------------
   LIST STYLING WITH CHECK ICONS
   ----------------------------------------------------------------------------- */
.elementor-widget-text-editor ul li,
.elementor-widget-icon-list .elementor-icon-list-text {
  font-family: var(--vnmd-font-body) !important;
  color: var(--vnmd-gray-700) !important;
  line-height: var(--vnmd-leading-relaxed) !important;
}

/* Feature lists with teal checks */
.elementor-widget-icon-list .elementor-icon-list-icon i {
  color: var(--vnmd-secondary-600) !important;
}

/* -----------------------------------------------------------------------------
   TESTIMONIAL/QUOTE STYLING
   ----------------------------------------------------------------------------- */
.elementor-testimonial-content,
.elementor-blockquote__content {
  font-family: var(--vnmd-font-display) !important;
  font-style: italic !important;
  color: var(--vnmd-primary-800) !important;
  line-height: var(--vnmd-leading-relaxed) !important;
}

blockquote {
  border-left: 4px solid var(--vnmd-accent-500) !important;
  padding-left: var(--vnmd-space-6) !important;
  margin: var(--vnmd-space-8) 0 !important;
  font-family: var(--vnmd-font-display) !important;
  font-style: italic !important;
}

/* -----------------------------------------------------------------------------
   DIVIDER STYLING
   ----------------------------------------------------------------------------- */
.elementor-divider-separator {
  border-color: var(--vnmd-gray-200) !important;
}

/* Gold accent divider */
.elementor-widget-divider[style*="c6a962"] .elementor-divider-separator,
.elementor-widget-divider[style*="accent"] .elementor-divider-separator {
  border-color: var(--vnmd-accent-500) !important;
}

/* -----------------------------------------------------------------------------
   RESPONSIVE ADJUSTMENTS
   ----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  h1, .elementor-heading-title.elementor-size-xxl {
    font-size: var(--vnmd-text-4xl) !important;
  }

  h2, .elementor-heading-title.elementor-size-xl {
    font-size: var(--vnmd-text-3xl) !important;
  }
}

@media (max-width: 767px) {
  h1, .elementor-heading-title.elementor-size-xxl {
    font-size: var(--vnmd-text-3xl) !important;
  }

  h2, .elementor-heading-title.elementor-size-xl {
    font-size: var(--vnmd-text-2xl) !important;
  }

  .elementor-button-wrapper .elementor-button {
    padding: 10px 20px !important;
  }

  /* Disable hover transforms on mobile */
  .elementor-widget-icon-box:hover,
  .elementor-widget-image-box:hover {
    transform: none !important;
  }
}

/* -----------------------------------------------------------------------------
   REDUCED MOTION PREFERENCE
   ----------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .elementor-button::before {
    display: none !important;
  }
}

/* -----------------------------------------------------------------------------
   PRINT STYLES
   ----------------------------------------------------------------------------- */
@media print {
  .elementor-button,
  .elementor-nav-menu,
  footer {
    display: none !important;
  }

  body {
    font-family: Georgia, serif !important;
    color: #000 !important;
  }
}

/* -----------------------------------------------------------------------------
   LOGO FIX - December 19, 2025
   Fix squished/distorted logo in header navigation
   ----------------------------------------------------------------------------- */

/* Target the header logo that's being squished */
.elementor-widget-theme-site-logo img,
.elementor-widget-image img[src*="VetNexusMD.logo"],
header img[alt*="VetNexusMD"],
.site-logo img,
img.wp-image-238 {
  width: auto !important;
  height: auto !important;
  max-width: 180px !important;
  max-height: 60px !important;
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
}

/* Specifically fix the narrow column logo in navigation */
.elementor-nav-menu--layout-horizontal .elementor-widget-image img,
nav img[alt*="VetNexusMD"],
.elementor-element img.attachment-full.size-full {
  width: auto !important;
  height: 50px !important;
  max-width: 180px !important;
  object-fit: contain !important;
}

/* -----------------------------------------------------------------------------
   DR. LEE PHOTO SIZE - December 19, 2025
   Reduce photo to ~25% of original size (was 1165x1748, now ~290x435)
   ----------------------------------------------------------------------------- */

/* Target Dr. Lee's photo specifically */
img[alt*="Dr. Ronald Lee"],
img[alt*="Dr. Lee"],
img[alt*="Board-Certified Psychiatrist"] {
  max-width: 300px !important;
  width: 300px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Also handle the parent container to prevent oversizing */
.elementor-widget-image img[alt*="Dr. Ronald Lee"],
.elementor-image img[alt*="Dr. Ronald Lee"] {
  max-width: 300px !important;
  width: 100% !important;
  max-height: 450px !important;
  object-fit: contain !important;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
  img[alt*="Dr. Ronald Lee"],
  img[alt*="Dr. Lee"] {
    max-width: 200px !important;
    width: 200px !important;
  }
}

/* ========================================
   VISUAL BUG FIXES - December 20, 2025
   Issue 1: Button overlap on desktop
   Issue 2: Logo too small on iPad/tablets
   ======================================== */

/* FIX 1: Floating Button Overlap Prevention
   Ensure "Get in Touch" and "Learn More" floating buttons don't overlap
   with each other or with the chat widget */

/* Target the floating CTA buttons container */
.elementor-widget-button[data-element_type="widget"] {
  z-index: 9990 !important;
}

/* Floating button positioning - ensure stacking */
a[href*="contact"] .elementor-button,
a[href*="about-us"] .elementor-button {
  position: relative;
  z-index: 9990 !important;
}

/* Specific fix for overlapping sidebar/floating buttons */
.elementor-element[data-element_type="widget"].elementor-widget-button {
  margin-bottom: 10px !important;
}

/* Floating action buttons - vertical stacking */
.elementor-column .elementor-widget-button + .elementor-widget-button {
  margin-top: 15px !important;
}

/* Chat widget z-index - ensure it stays on top but doesn't overlap buttons */
#jivo-iframe-container,
.jivo-btn,
[class*="chat-widget"],
[class*="charmtracker"] {
  z-index: 9999 !important;
}

/* Push floating buttons up to avoid chat widget overlap */
.elementor-element[data-id] > .elementor-widget-container > a.elementor-button-link {
  bottom: auto !important;
}

/* FIX 2: Logo Size - iPad/Tablet Viewport
   Ensure logo is prominently visible on tablets (768px - 1024px) */

@media (min-width: 768px) and (max-width: 1024px) {
  /* Header logo - TABLET SPECIFIC */
  .site-logo img,
  .elementor-widget-site-logo img,
  .elementor-widget-theme-site-logo img,
  .elementor-widget-image img[src*="logo"],
  header img[alt*="VetNexusMD"],
  img.wp-image-238,
  .e-logo-wrapper img {
    min-width: 160px !important;
    min-height: 45px !important;
    width: auto !important;
    max-width: 220px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Ensure header container doesn't collapse on tablets */
  .elementor-widget-site-logo,
  .elementor-widget-theme-site-logo,
  .site-branding,
  .e-logo-wrapper,
  .elementor-widget-image[data-widget_type="image.default"] {
    min-width: 160px !important;
    flex-shrink: 0 !important;
  }
}

/* Additional Safari/iOS fixes for tablet logo */
@supports (-webkit-touch-callout: none) {
  @media (min-width: 768px) and (max-width: 1024px) {
    .site-logo img,
    .elementor-widget-site-logo img,
    .elementor-widget-theme-site-logo img,
    header img[alt*="VetNexusMD"],
    img.wp-image-238 {
      min-width: 160px !important;
      height: auto !important;
      object-fit: contain !important;
      -webkit-transform: translateZ(0);
    }
  }
}

/* Desktop logo enhancement (ensure visibility) */
@media (min-width: 1025px) {
  .site-logo img,
  .elementor-widget-site-logo img,
  .elementor-widget-theme-site-logo img,
  header img[alt*="VetNexusMD"],
  img.wp-image-238 {
    min-width: 150px !important;
    max-width: 200px !important;
  }
}


/* ==========================================================================
 *    FEATURED IMAGE PLACEHOLDER FIX
 *    Hide 10Web Builder's default placeholder SVG when no featured image is set
 *    Added: Dec 27, 2025
 *    ========================================================================== */

/* Hide placeholder SVG in Featured Image widget */
.elementor-widget-twbb_featured-image img[src*="default-featured-image.svg"],
.elementor-widget-twbb_featured-image img[data-src*="default-featured-image.svg"] {
	    display: none !important;
}

/* Hide parent link container when pointing to placeholder */
.elementor-widget-twbb_featured-image a[href*="default-featured-image.svg"] {
	    display: none !important;
}

/* Hide entire widget container when showing placeholder */
.elementor-widget-twbb_featured-image:has(img[src*="default-featured-image.svg"]) {
	    display: none !important;
}

}
}
}