/* Modern Homepage Styles - Inspired by karsazbs.com */

/* Page Background - Let layout settings control it */
main {
  background-color: transparent !important;
}

.homepage-content {
  background-color: transparent !important;
}

/* Hero Section with Gradient Background */
.hero-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.9) 0%, rgba(118, 75, 162, 0.9) 100%);
  backdrop-filter: blur(10px);
  min-height: 500px;
  display: flex;
  align-items: center;
  padding: 4rem 0;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 500"><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="rotate(37.829 -169.861 190.972) scale(795.184 813.312)"><stop stop-color="%23363853" stop-opacity="0.2"/><stop offset="1" stop-color="%231E1E1E" stop-opacity="0"/></radialGradient></defs><path fill="url(%23a)" fill-opacity="0.58" d="M294.918-704.726c-54.101 57.277-121.087 135.359-143.444 222.847-7.332 28.694-9.866 58.402-5.57 88.719-4.438 20.721-6.292 41.938-4.817 63.503l-.184.707-.244.947c-4.361 17.065-7.024 34.489-7.563 52.186a281.333 281.333 0 0 0-5.329 18.222 260.904 260.904 0 0 0-2.749 11.905C77.475-192.311 27.452-125.64 8.728-52.372-2.453-8.61-2.473 37.512 15.869 84.554c18.342 47.037 55.024 94.95 117.175 142.329 144.754 110.349 281.198 113.543 386.269 116.002h.006c9.754.228 19.237.45 28.432.751 54.16 1.772 98.157 6.281 128.486 30.73 30.294 24.42 47.085 68.859 46.453 150.884l1.053.008c.633-82.119-16.166-126.981-46.845-151.712-30.644-24.702-75.003-29.192-129.113-30.962-9.175-.301-18.635-.522-28.362-.75l-.043-.001-.028-.001h-.007c-105.061-2.462-241.19-5.651-385.663-115.786-62.04-47.294-98.579-95.062-116.832-141.875C-1.402 37.364-1.388-8.53 9.749-52.11c18.505-72.414 67.712-138.42 114.855-191.528-.473 2.392-.911 4.79-1.313 7.195a333.202 333.202 0 0 0-3.436 8.411c-31.024 41.59-58.194 88.325-70.915 138.105C37.757-46.166 37.737-.043 56.08 46.998c18.341 47.037 55.024 94.951 117.174 142.33C318.008 299.676 454.452 302.87 559.523 305.329c9.756.228 19.242.45 28.438.751 54.16 1.772 98.157 6.282 128.486 30.73 30.294 24.42 47.085 68.859 46.454 150.884l1.053.008c.632-82.118-16.166-126.981-46.846-151.711-30.643-24.702-75.003-29.193-129.112-30.963-9.201-.301-18.687-.523-28.441-.752-105.06-2.462-241.189-5.651-385.662-115.786-62.039-47.294-98.578-95.062-116.832-141.874C38.81-.192 38.824-46.086 49.961-89.667c12.368-48.403 38.455-93.943 68.474-134.682a307.6 307.6 0 0 0-1.793 4.856c-14.842 26.196-26.923 53.797-34.233 82.403C71.226-93.329 71.206-47.206 89.549-.164c18.341 47.036 55.023 94.95 117.174 142.329 144.754 110.349 281.198 113.542 386.269 116.001 9.756.229 19.241.451 28.438.752 54.16 1.771 98.157 6.281 128.486 30.73 30.294 24.42 47.085 68.858 46.453 150.884l1.053.008c.633-82.119-16.166-126.981-46.845-151.712-30.644-24.702-75.003-29.193-129.113-30.963-9.2-.301-18.686-.523-28.44-.752-105.061-2.461-241.19-5.651-385.663-115.785C145.322 94.034 108.783 46.266 90.53-.547c-18.252-46.807-18.238-92.702-7.101-136.282 6.799-26.606 17.742-52.347 31.205-76.901a282.521 282.521 0 0 0-6.024 20.312c-11.183 43.761-11.203 89.884 7.14 136.925 18.341 47.037 55.024 94.951 117.174 142.33 144.754 110.349 281.198 113.542 386.269 116.001 9.756.229 19.242.451 28.438.752 54.16 1.771 98.157 6.281 128.486 30.73 30.294 24.42 47.085 68.858 46.454 150.883l1.053.008c.632-82.118-16.166-126.98-46.846-151.711-30.643-24.702-75.003-29.193-129.112-30.963-9.201-.301-18.687-.523-28.441-.752-105.061-2.461-241.189-5.651-385.662-115.786-62.039-47.293-98.578-95.061-116.832-141.874-18.251-46.808-18.238-92.702-7.101-136.283 2.231-8.729 4.908-17.365 7.973-25.896a455.488 455.488 0 0 1 4.219-7.282c-4.231 34.255-.942 69.692 13.086 105.667 18.34 47.037 55.023 94.95 117.174 142.329C396.835 132.009 533.28 135.202 638.351 137.662h.01c9.752.228 19.234.45 28.428.751 54.16 1.772 98.156 6.281 128.486 30.73 30.293 24.42 47.085 68.859 46.453 150.884l1.053.008c.632-82.119-16.166-126.981-46.845-151.712-30.644-24.702-75.004-29.192-129.113-30.963-9.2-.301-18.687-.523-28.441-.751-105.06-2.462-241.189-5.651-385.662-115.786-62.039-47.294-98.578-95.062-116.831-141.875-14.286-36.635-17.382-72.712-12.713-107.557a491.081 491.081 0 0 1 6.592-10.675 732.12 732.12 0 0 1 4.58-5.807c2.021 17.812 6.366 35.844 13.451 54.014 18.341 47.036 55.024 94.95 117.174 142.329C409.727 61.6 546.171 64.794 651.242 67.253h.01c9.753.229 19.235.45 28.428.752 54.16 1.772 98.157 6.281 128.486 30.73 30.294 24.42 47.085 68.859 46.454 150.883l1.053.009c.632-82.119-16.166-126.981-46.846-151.712-30.643-24.702-75.003-29.193-129.112-30.963-9.201-.3-18.687-.523-28.441-.752-105.061-2.461-241.189-5.65-385.662-115.785-62.039-47.294-98.578-95.062-116.832-141.875-7.188-18.436-11.543-36.73-13.502-54.797a845.635 845.635 0 0 1 19.004-22.885c.363.969.733 1.938 1.111 2.908 18.341 47.037 55.024 94.951 117.174 142.329C417.321-13.555 553.765-10.362 658.836-7.903c9.756.228 19.242.45 28.438.751 54.16 1.772 98.157 6.281 128.486 30.73 30.294 24.42 47.085 68.859 46.454 150.884l1.053.008c.632-82.119-16.166-126.98-46.846-151.712C785.778-1.943 741.418-6.434 687.309-8.204c-9.2-.301-18.687-.524-28.441-.752-105.06-2.462-241.189-5.651-385.662-115.786-62.039-47.294-98.578-95.062-116.832-141.874a233.926 233.926 0 0 1-1.308-3.437c8.993-10.434 17.993-20.419 26.773-29.907 20.958 32.395 51.518 64.99 93.949 97.337C420.542-92.275 556.986-89.081 662.057-86.622h.01c9.753.228 19.235.45 28.428.751 54.16 1.772 98.157 6.282 128.486 30.73 30.294 24.42 47.085 68.86 46.454 150.884l1.053.008c.632-82.118-16.166-126.98-46.846-151.711-30.643-24.702-75.003-29.193-129.112-30.963-9.201-.301-18.687-.523-28.441-.752-105.061-2.462-241.189-5.65-385.662-115.786-42.453-32.363-72.966-64.948-93.849-97.297 3.566-3.848 7.095-7.614 10.572-11.294l-.766-.723a1635.043 1635.043 0 0 0-10.394 11.103 268.22 268.22 0 0 1-2.82-4.501c15.971-19.147 32.213-36.912 47.448-53.042l-.765-.723c-15.164 16.054-31.341 33.743-47.263 52.815a261.197 261.197 0 0 1-6.834-11.943c25.664-36.14 54.853-68.728 81.063-96.477l-.765-.723c-26.105 27.637-55.209 60.118-80.853 96.163a241.546 241.546 0 0 1-8.823-18.422c30.514-54.174 72.966-102.411 109.599-141.195l-.766-.723c-36.468 38.609-78.79 86.671-109.352 140.695a230.18 230.18 0 0 1-2.264-5.587 221.086 221.086 0 0 1-6.202-18.187c28.888-72.669 84.887-137.283 131.475-186.606l-.765-.723C237.79-501.82 182.036-437.542 152.918-365.169a211.185 211.185 0 0 1-5.945-27.953 261.494 261.494 0 0 1 2.3-9.777c22.283-87.197 89.083-165.103 143.19-222.385l-.766-.723C237.596-568.731 170.61-490.648 148.253-403.16a266.394 266.394 0 0 0-1.69 7.008c-3.728-29.182-1.141-57.791 5.931-85.466 22.283-87.196 89.083-165.103 143.189-222.385l-.765-.723Z"/></svg>')
    no-repeat;
  background-size: cover;
  opacity: 0.3;
  z-index: 0;
}

.hero-content {
  position: relative;
  z-index: 1;
  color: white;
}

.hero-title {
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0.8) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-description {
  font-size: 1.25rem;
  opacity: 0.95;
  margin-bottom: 2rem;
  line-height: 1.8;
}

.hero-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.hero-btn-primary {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  padding: 0.875rem 2rem;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.hero-btn-primary:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  color: white;
  text-decoration: none;
}

.hero-btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  padding: 0.875rem 2rem;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.hero-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
  color: white;
  text-decoration: none;
}

/* Statistics Section */
.stats-section {
  padding: 3rem 0;
  background: transparent;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.stat-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.stat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.stat-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
  color: #667eea;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stat-number {
  font-size: 2rem;
  font-weight: 900;
  color: #333;
  margin-bottom: 0.5rem;
}

.stat-label {
  font-size: 1rem;
  color: #666;
  font-weight: 500;
}

/* Modern Card Styles - karsazbs.com Style */
.modern-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 1px solid rgba(233, 236, 239, 0.8);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.modern-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  border-color: #007bff;
}

.modern-card-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #144682;
  font-size: 3rem;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.modern-card-image img {
  border-radius: 12px 12px 0 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modern-card-body {
  padding: 1.25rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-align: right;
  direction: rtl;
}

.modern-card-body .modern-card-price-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  direction: rtl;
  gap: 1rem;
}

.modern-card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
  line-height: 1.4;
  text-align: right;
}

.modern-card-description {
  color: #77797e;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  flex-grow: 1;
  text-align: right;
}

.modern-card-price {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  margin-left: auto;
  text-align: right;
  direction: rtl;
  display: inline-block;
}

.modern-card-price.free {
  color: #28a745;
}

.modern-card-price.paid {
  color: #ffc107;
}

.modern-card-btn {
  background: #144682;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  text-align: right;
  direction: rtl;
  width: auto;
  margin-right: auto;
}

.modern-card-btn:hover {
  background: #0d3559;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(20, 70, 130, 0.3);
  color: white;
  text-decoration: none;
}

/* Section Headers - karsazbs.com Style */
.section-header {
  text-align: right;
  margin-bottom: 3rem;
  direction: rtl;
}

.section-title,
h1.section-title,
h2.section-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 1rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  direction: rtl;
  text-align: right;
  margin-right: 20px !important;
}

@media (min-width: 1024px) {
  .section-title,
  h1.section-title,
  h2.section-title {
    font-size: 1.875rem;
  }
}

.section-title::before {
  content: '';
  position: absolute;
  right: -25px;
  bottom: 19px;
  height: 1rem;
  width: 1rem;
  border-radius: 4px;
  background-color: #144682;
  order: -1;
  margin-left: 0;
}

.section-title i {
  order: 1;
  flex-shrink: 0;
  margin-right: 0.5rem;
  color: #144682;
  font-size: 1.5rem;
}

@media (min-width: 1024px) {
  .section-title i {
    font-size: 2rem;
  }
}

.section-title::after {
  display: none;
}

.section-subtitle {
  font-size: 1rem;
  color: #77797e;
  margin-top: 0.5rem;
  text-align: right;
  direction: rtl;
}

/* Consultation Cards - karsazbs.com Style */
.consultation-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 1px solid rgba(233, 236, 239, 0.8);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.consultation-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  border-color: #144682;
}

.consultation-card-image {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}

.consultation-card-body {
  padding: 1.25rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-align: right;
  direction: rtl;
}

.consultation-card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
  text-align: right;
}

.consultation-card-description {
  color: #77797e;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  flex-grow: 1;
  text-align: right;
}

.consultation-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.85rem;
  color: #77797e;
  direction: rtl;
  text-align: right;
}

.consultation-card-price {
  font-size: 1.1rem;
  font-weight: 600;
  color: #28a745;
  margin-bottom: 0.5rem;
  margin-left: auto;
  text-align: right;
  direction: rtl;
  display: inline-block;
}

.consultation-card-body .consultation-card-price-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  direction: rtl;
  gap: 1rem;
}

/* Consultant Cards - karsazbs.com Style */
.consultant-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 1px solid #e9ecef;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.consultant-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  border-color: #007bff;
}

.consultant-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1rem;
  border: 3px solid #e9ecef;
  transition: all 0.3s ease;
}

.consultant-card:hover .consultant-avatar {
  border-color: #144682;
  transform: scale(1.05);
}

.consultant-name {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
  text-align: center;
  direction: rtl;
}

.consultant-specialty {
  font-size: 0.9rem;
  color: #144682;
  font-weight: 600;
  margin-bottom: 1rem;
  text-align: center;
  direction: rtl;
}

.consultant-bio {
  font-size: 0.85rem;
  color: #77797e;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
  text-align: center;
  direction: rtl;
}

/* Responsive Design */
@media (max-width: 768px) {
  .hero-title {
    font-size: 2rem;
  }

  .hero-description {
    font-size: 1rem;
  }

  .section-title {
    font-size: 1.5rem;
  }

  .section-title::before {
    height: 1rem;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .stat-card {
    padding: 1.5rem;
  }

  .hero-buttons {
    flex-direction: column;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .hero-section {
    min-height: 400px;
    padding: 2rem 0;
  }
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.6s ease-out;
}

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Loading Animation */
@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.loading-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Enhanced Slider Styles */
.slider-banner {
  position: relative;
  overflow: hidden;
}

.slider-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  z-index: 1;
}

.carousel-control-prev,
.carousel-control-next {
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.8;
  transition: all 0.3s ease;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  background: rgba(255, 255, 255, 0.3);
  opacity: 1;
}

.carousel-control-prev {
  left: 20px;
}

.carousel-control-next {
  right: 20px;
}

.carousel-indicators {
  bottom: 30px;
}

.carousel-indicators [data-bs-target] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}

.carousel-indicators [data-bs-target].active {
  background: white;
  width: 30px;
  border-radius: 6px;
}

/* Custom Banner Cards - karsazbs.com Style */
.custom-banner-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 1px solid rgba(233, 236, 239, 0.8);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.custom-banner-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  border-color: #144682;
}

.custom-banner-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}

.custom-banner-body {
  padding: 1.25rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-align: right;
  direction: rtl;
}

.custom-banner-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.5rem;
  text-align: right;
}

.custom-banner-description {
  color: #77797e;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  flex-grow: 1;
  text-align: right;
}

/* Dashboard Bar Enhancements */
.dashboard-bar-logged,
.login-bar,
.mobile-app-bar {
  border-radius: 20px;
  backdrop-filter: blur(10px);
}

/* Section Spacing - karsazbs.com Style */
.tests-section,
.consultation-section,
.consultant-section {
  background: transparent;
  padding: 3rem 0;
}

.tests-section:nth-child(even),
.consultation-section:nth-child(even),
.consultant-section:nth-child(even) {
  background: transparent;
}

/* Icon Enhancements */
.modern-card-image i {
  font-size: 8rem;
  opacity: 0.7;
}

.consultation-card-image i {
  font-size: 4rem;
  color: white;
  opacity: 0.9;
}

.stat-icon i {
  font-size: 2.5rem;
}

/* Text Enhancements */
.hero-title,
.section-title {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Button Hover Effects */
.modern-card-btn,
.hero-btn-primary,
.hero-btn-secondary {
  position: relative;
  overflow: hidden;
}

.modern-card-btn::before,
.hero-btn-primary::before,
.hero-btn-secondary::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition:
    width 0.6s,
    height 0.6s;
}

.modern-card-btn:hover::before,
.hero-btn-primary:hover::before,
.hero-btn-secondary:hover::before {
  width: 300px;
  height: 300px;
}

/* Card Image Overlay */
.modern-card-image {
  position: relative;
  overflow: hidden;
}

.modern-card-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.modern-card:hover .modern-card-image::after {
  opacity: 1;
}

/* Responsive Image Handling */
.modern-card-image img,
.consultation-card-image {
  transition: transform 0.3s ease;
}

.modern-card:hover .modern-card-image img,
.consultation-card:hover .consultation-card-image {
  transform: scale(1.1);
}

/* Accessibility */
.modern-card-btn:focus,
.hero-btn-primary:focus,
.hero-btn-secondary:focus {
  outline: 2px solid #667eea;
  outline-offset: 2px;
}

/* Page Background SVG - Fixed Pattern */
html {
  position: relative !important;
}

body {
  position: relative !important;
  z-index: 1 !important;
}

.page-background-svg {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 800px !important;
  height: 500px !important;
  pointer-events: none !important;
  z-index: -1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

header,
main,
footer,
.container,
.container-xxl {
  position: relative !important;
  z-index: 10 !important;
}

@media (max-width: 768px) {
  .page-background-svg {
    opacity: 0.5 !important;
    width: 100% !important;
    height: auto !important;
  }
}

/* Print Styles */
@media print {
  .hero-section,
  .slider-section {
    display: none;
  }

  .modern-card,
  .consultation-card,
  .consultant-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
