@import url("https://fonts.maateen.me/baloo-da-2/font.css");
@import url("https://fonts.maateen.me/adorsho-lipi/font.css");

/* হ্যান্ডরাইটিং ফন্ট (BenSen Handwriting) শুধু বাংলা অক্ষরে কাজ করবে।
   ইংরেজি অক্ষর, ইংরেজি সংখ্যা ও চিহ্ন এই ফন্টের সীমার বাইরে, তাই ওগুলো পরের ফন্টে দেখাবে। */
@font-face {
  font-family: "BenSen Bangla Only";
  font-display: swap;
  font-style: normal;
  font-weight: 100 900;
  src: url("https://fonts.maateen.me/bensen-handwriting/bensen-handwriting-v1.0.woff2") format("woff2"),
    url("https://fonts.maateen.me/bensen-handwriting/bensen-handwriting-v1.0.ttf") format("truetype");
  unicode-range: U+0980-09FF, U+0964-0965, U+200C-200D, U+25CC;
}

:root {
  --primary: #e63946;
  --primary-green: #1e7e72;
  --secondary: #0f172a;
  --dark-footer: #1e293b;
  --text-light: #e2e8f0;
  --text-muted: #d1e0e2;
  --text-dark: #0f172a;
}

/* Password Toggle Style */
.password-field-wrapper {
  position: relative;
}

.password-field-wrapper input {
  padding-right: 45px;
}

.toggle-password {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #6c757d;
  z-index: 10;
  transition: color 0.3s ease;
}

.toggle-password:hover {
  color: var(--primary-green);
}

:root {
  --btn-blue: #1c2b4b;
  --specialty-red: #d32f2f;
}

body {
  font-family: "Adorsho Lipi", sans-serif;
  /* font-family: 'BenSen Handwriting', cursive; */

  /* font-family: 'Baloo Da 2', sans-serif; */
  /* font-family: 'Hind Siliguri', sans-serif; */
  background: #f8f9fa;
  color: #333;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "BenSen Bangla Only", "Adorsho Lipi", "Segoe UI", Roboto, Arial, sans-serif;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Modern Sticky Header */
.main-header {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: sticky;
  top: 0;
  background: var(--primary-green);
  backdrop-filter: blur(10px);
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.main-header nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 50px;
}

.logo {
  font-weight: 700;
  display: flex;
  align-items: center;
}

.logo a {
  display: inline-block;
  transition: transform 0.3s ease;
}

.logo a:hover {
  transform: scale(1.05);
}

.logo img {
  height: 45px;
  width: auto;
}

.nav-links {
  display: flex;
  gap: 25px;
  list-style: none;
  align-items: center;
  margin: 0;
  padding: 0;
}

.nav-links a {
  color: var(--text-light);
  text-decoration: none;
  transition: color 0.3s ease;
  font-weight: 500;
  font-size: 16px;
}

.nav-links a:hover {
  color: var(--secondary) !important;
}

.nav-links a.active {
  color: var(--secondary) !important;
  font-weight: 600;
}

.auth-buttons {
  display: flex;
  gap: 15px;
  align-items: center;
}

.btn {
  padding: 10px 30px;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  transition: all 0.3s ease;
}

.btn-login {
  background: transparent;
  color: var(--text-light);
  border: 2px solid #ffffff;
}

.btn-login:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-3px);
  color: #ffffff !important;
}

.nav-links .btn-signup {
  background: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.nav-links .btn-signup:hover {
  background: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}

/* Mobile Menu Button */
.mobile-menu-btn {
  display: none;
  flex-direction: column;
  gap: 8px;
  cursor: pointer;
  padding: 8px;
  height: 55px;
  width: 55px;
  justify-content: center;
  align-items: center;
}

.mobile-menu-btn span {
  width: 40px;
  height: 4px;
  background: var(--text-light);
  border-radius: 4px;
  transition: all 0.3s ease;
}

.mobile-menu-btn.active span:nth-child(1) {
  transform: rotate(45deg) translateY(12px);
}

.mobile-menu-btn.active span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-btn.active span:nth-child(3) {
  transform: rotate(-45deg) translateY(-12px);
}

.hero {
  background:
    linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.7)),
    url("../images/hero.jpg") center/cover;
  min-height: 100vh;
  color: white;
}

.glass {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(15px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.service-card,
.blog-card,
.specialist-card,
.ambulance-card {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  will-change: transform;
}

.service-card:hover,
.blog-card:hover,
.specialist-card:hover,
.ambulance-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 20px 50px rgba(230, 57, 70, 0.18);
}

.blog-card {
  background: #fff;
}

.specialist-icon {
  width: 80px;
  height: 80px;
  background: #2a9d8f;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  font-size: 2rem;
}

.blood-card {
  background: white;
  border-radius: 16px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Hero Section */
.hero {
  background:
    linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../images/hero.jpg") center/cover;
  /* Darker overlay for contrast */
  padding: 80px 0;
  /* Reduced padding */
  color: white;
}

.hero h1 {
  color: #fff;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.search-box {
  background: #fff;
  padding: 10px;
  border-radius: 5px;
  /* Less rounded, more boxy professional */
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  max-width: 850px;
  margin: 0 auto;
}

.search-input {
  border: none;
  padding: 12px 20px;
  width: 100%;
  outline: none;
  font-size: 15px;
}

.search-select {
  border: none;
  border-left: 1px solid #eee;
  padding: 12px 20px;
  outline: none;
  color: #444;
  font-size: 15px;
  width: 200px;
}

.search-btn {
  background: var(--primary-green);
  /* Use Green */
  border: none;
  color: white;
  padding: 12px 30px;
  border-radius: 0 5px 5px 0;
  font-weight: bold;
}

/* Section Common */
.section-header-bar {
  background: var(--primary-green);
  color: white;
  text-align: left;
  padding: 6px 15px;
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 20px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/*
.section-header-bar::after {
  content: "View All";
  font-size: 12px;
  background: rgba(0, 0, 0, 0.2);
  padding: 2px 10px;
  border-radius: 10px;
  cursor: pointer;
} */

/* Service Category Icons (Top Row) */
.service-icon-box {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  padding: 15px;
  transition: all 0.2s;
  cursor: pointer;
  height: 100%;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.service-icon-box:hover {
  border-color: var(--primary-green);
  transform: translateY(-2px);
}

.service-icon-box img,
.service-icon-box i {
  height: 45px;
  font-size: 40px;
  margin-bottom: 10px;
  color: var(--primary-green);
}

.service-icon-box h5 {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 0;
  color: #333;
}

/* Specialist Circles */
.specialist-circle {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 2px solid #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  background: #fff;
  transition: 0.3s;
}

.specialist-circle:hover {
  border-color: var(--primary-green);
  background: #f0fffd;
}

.specialist-circle img {
  width: 45px;
}

.specialist-title {
  font-size: 13px;
  font-weight: 600;
  color: #444;
}

/* Unified Doctor Item Card Component */
.dr-item-card {
  background: #d9ece9;
  border: 1px solid #198754;
  padding: 16px;
  border-radius: 16px;
  display: flex;
  gap: 16px;
  height: 100%;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.05),
    0 2px 4px -1px rgba(0, 0, 0, 0.03);
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.2s ease,
    border-color 0.2s ease;
  will-change: transform;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.dr-item-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
  border-color: var(--primary-green);
  color: inherit;
}

.dr-item-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--primary-green);
  opacity: 0;
  transition: opacity 0.3s;
}

.dr-item-card:hover::before {
  opacity: 1;
}

.dr-item-img {
  width: 90px;
  height: 90px;
  border-radius: 12px;
  object-fit: cover;
  border: 3px solid #f8f9fa;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  flex-shrink: 0;
}

.dr-item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.dr-item-info h5 {
  font-size: 17px;
  color: #198754 !important;
  /* Doctor name - Green */
  font-weight: 700;
  margin-bottom: 4px;
  line-height: 1.3;
  font-family: "Adorsho Lipi", sans-serif;
}

.dr-item-info .specialty {
  color: var(--specialty-red);
  /* Red color for specialty */
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 4px;
  display: block;
}

.dr-item-info .location {
  font-size: 13px;
  color: #198754;
  /* Location text - Green */
  margin-bottom: 2px;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.dr-item-info .location i {
  color: #198754;
  /* Location icon - Green */
  margin-top: 3px;
}

/* Hospital/Institution name should be black */
.dr-item-info .location.hospital-name,
.location.hospital-name {
  color: #000000 !important;
}

.location.hospital-name i {
  color: #198754;
  /* Icon stays green */
}

.dr-item-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 8px;
  font-size: 13px;
}

.dr-item-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.dr-item-actions .btn {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: 8px;
  font-weight: 600;
  flex: 1;
}

/* Ambulance & Blood Cards */
.amb-card {
  border: 1px solid #ddd;
  border-top: 3px solid var(--primary-green);
  /* Teal Top Border */
  padding: 15px;
  text-align: center;
  background: #fff;
  height: 100%;
}

/* Blood Group Drops */
.blood-card {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  transition: all 0.3s;
  height: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.blood-card:hover {
  border-color: #d32f2f;
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(211, 47, 47, 0.1);
}

.blood-drop {
  width: 60px;
  height: 60px;
  background: #fff;
  /* or lighter red */
  border: 2px solid #d32f2f;
  border-radius: 50% 0 50% 50%;
  transform: rotate(-45deg);
  margin: 0 auto 10px;
  /* Space below drop */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.blood-card:hover .blood-drop {
  background: #d32f2f;
  color: white;
}

.blood-card:hover .blood-group-name {
  color: white;
}

.blood-content {
  transform: rotate(45deg);
  text-align: center;
  line-height: 1;
}

.blood-group-name {
  font-size: 15px;
  font-weight: 800;
  color: #d32f2f;
}

.blood-label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin-top: 5px;
}

/* Modern Footer */
.premium-footer {
  background: #1e293b;
  color: #e2e8f0;
  padding: 70px 0 20px;
  font-size: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.premium-footer h5 {
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 25px;
  font-size: 18px;
  position: relative;
  padding-bottom: 15px;
}

.premium-footer h5::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: var(--primary-green);
  border-radius: 2px;
}

.premium-footer a {
  color: #cbd5e1;
  text-decoration: none;
  display: block;
  margin-bottom: 12px;
  transition: all 0.3s ease;
}

.premium-footer a:hover {
  color: var(--primary-green);
  transform: translateX(5px);
}

.premium-footer .social-links {
  display: flex;
  gap: 10px;
  margin-top: 25px;
}

.premium-footer .social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  border-radius: 50%;
  margin-bottom: 0;
  transition: all 0.3s;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.premium-footer .social-links a:hover {
  background: var(--primary-green);
  transform: translateY(-3px);
  border-color: var(--primary-green);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 25px;
  margin-top: 50px;
  font-size: 14px;
  text-align: center;
  color: #94a3b8;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .main-header {
    z-index: 1030;
  }

  .mobile-menu-btn {
    display: flex;
  }

  .nav-links {
    position: fixed;
    top: 60px;
    left: -100%;
    width: 100%;
    height: auto;
    max-height: calc(100vh - 60px);
    background: #1e7e73;
    backdrop-filter: blur(20px);
    flex-direction: column;
    padding: 30px;
    gap: 20px;
    transition: left 0.4s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    overflow-y: auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  }

  .nav-links.active {
    left: 0;
    display: flex !important;
  }

  .nav-links a {
    font-size: 18px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    width: 100%;
  }

  .auth-buttons {
    flex-direction: column;
    width: 100%;
    margin-top: 20px;
    gap: 15px;
  }

  .btn {
    width: 100%;
    padding: 15px;
    text-align: center;
  }

  /* Added to reduce gaps on mobile */
  .main-header {
    padding: 10px 0;
  }

  .hero {
    padding: 40px 0 !important;
    min-height: auto !important;
  }
}

/* Hospital Page Specific Styles (Matching Image) */
.hospital-page-body {
  background-color: #fcebeb;
}

.hospital-hero-light {
  background-color: #d1e7dd;
  padding: 60px 0;
  text-align: center;
}

.hospital-hero-light h2 {
  font-size: 28px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 5px;
}

.hospital-hero-light h1 {
  font-size: 32px;
  font-weight: 800;
  color: #dc3545;
  /* Red as in image */
  margin-bottom: 5px;
}

.hospital-hero-light h3 {
  font-size: 26px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 25px;
}

.hospital-search-pill {
  background: #e9f5f2;
  border: 1px solid #ced4da;
  border-radius: 50px;
  padding: 10px 30px;
  display: inline-flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.hospital-search-pill select,
.hospital-search-pill button {
  border: none;
  background: transparent;
  font-weight: 600;
  font-size: 18px;
  color: #4a5568;
  outline: none;
}

.hospital-search-pill .divider {
  width: 2px;
  height: 30px;
  background: #cbd5e0;
}

.hospital-search-pill i {
  color: var(--primary-green);
  font-size: 20px;
}

/* Announcement Bar */
.announcement-bar-dark {
  background-color: #1a5c53;
  color: white;
  padding: 10px 0;
}

.announcement-bar-dark .reg-btn {
  background: #2fb344;
  color: #000;
  font-weight: 700;
  padding: 5px 20px;
  border-radius: 5px;
  text-decoration: none;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
  margin-left: 15px;
}

/* Hospital Card Premium (Horizontal) */
.hospital-card-horizontal {
  background: #d9ece9;
  border: 1px solid #198754;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  gap: 15px;
  align-items: center;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  will-change: transform;
}

.hospital-card-horizontal:hover {
  box-shadow: 0 5px 15px rgba(25, 135, 84, 0.2);
}

.hospital-card-img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  flex-shrink: 0;
}

.hospital-card-content {
  flex-grow: 1;
}

.hospital-card-content h4 {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  margin-bottom: 5px;
}

.hospital-card-content .tagline {
  font-size: 14px;
  color: var(--primary-green);
  font-weight: 600;
  margin-bottom: 8px;
}

.hospital-card-meta {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 13px;
  color: #000000;
  margin-top: 5px;
}

.hospital-card-meta i {
  color: var(--primary-green);
}

.hospital-rating-row {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  margin-top: 8px;
  color: #000000;
}

.hospital-rating-row .stars i {
  color: #1a5c53;
  /* Match ambulance star color or keep warning */
  font-size: 12px;
}

.hospital-rating-row .view-count {
  margin-left: auto;
  font-weight: 600;
  color: #000000;
  display: flex;
  align-items: center;
  gap: 5px;
}

.btn-read-more {
  background: #000;
  color: #fff;
  border: none;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.btn-read-more img {
  height: 12px;
}

/* Generalized Light Hero (Used by sub-pages) */
.subpage-hero-light {
  background-color: #d1e7dd;
  padding: 60px 0;
  text-align: center;
  border-bottom: 5px solid #fff;
}

.subpage-hero-light h2 {
  font-size: 28px;
  font-weight: 700;
  color: #000;
  margin-bottom: 5px;
}

.subpage-hero-light h1 {
  font-size: 32px;
  font-weight: 700;
  color: #dc3545;
  margin-bottom: 5px;
}

.subpage-hero-light p.tagline {
  font-size: 24px;
  font-weight: 600;
  color: #000;
  margin-bottom: 30px;
}

.subpage-search-pill {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 100px;
  padding: 8px 10px 8px 25px;
  display: inline-flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  max-width: 100%;
  width: auto;
  transition: all 0.3s ease;
}

.subpage-search-pill:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
  border-color: var(--primary-green);
}

.subpage-search-pill select,
.subpage-search-pill button,
.subpage-search-pill input {
  border: none !important;
  background: transparent !important;
  font-weight: 500;
  font-size: 16px;
  color: #1e293b;
  outline: none;
  box-shadow: none !important;
  padding: 5px;
}

.subpage-search-pill input::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.subpage-search-pill .divider {
  width: 1px;
  height: 35px;
  background: #e2e8f0;
  margin: 0 5px;
}

.subpage-search-pill i.icon-green {
  color: #198754;
  font-size: 20px;
}

.subpage-search-pill button#searchDoctor,
.subpage-search-pill button#searchHospital,
.subpage-search-pill button#searchAmbulance,
.subpage-search-pill button#searchBlood,
.subpage-search-pill button#searchHomeopathic,
.subpage-search-pill button#searchService,
.subpage-search-pill button#searchBlog {
  background: var(--primary-green) !important;
  color: #fff !important;
  border-radius: 50px !important;
  padding: 10px 25px !important;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 5px;
}

.subpage-search-pill button:hover {
  background: #166158 !important;
  transform: scale(1.02);
  box-shadow: 0 4px 12px rgba(30, 126, 115, 0.2) !important;
}

/* Fallback for generic buttons in pill */
.subpage-search-pill button:not([id]) {
    color: var(--primary-green);
}

@media (max-width: 991px) {
  .subpage-search-pill {
    display: flex;
    flex-direction: column;
    width: 95%;
    margin: 0 auto;
    border-radius: 20px;
    padding: 20px;
    height: auto;
    align-items: stretch;
    gap: 15px;
  }

  .subpage-search-pill .d-flex {
    width: 100%;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 12px;
    justify-content: flex-start;
  }

  .subpage-search-pill i.icon-green {
      width: 25px;
      text-align: center;
  }

  .subpage-search-pill .d-flex:last-of-type {
    border-bottom: none;
  }

  .subpage-search-pill .divider {
    display: none;
  }

  .subpage-search-pill input,
  .subpage-search-pill select {
    width: 100%;
    font-size: 16px;
    padding: 10px 0;
  }

  .subpage-search-pill button[id^="search"] {
    background-color: var(--primary-green) !important;
    color: white !important;
    width: 100%;
    padding: 14px !important;
    border-radius: 12px !important;
    margin-top: 10px;
    margin-left: 0 !important;
    justify-content: center;
    display: flex;
  }
}

/* Generalized Announcement Bar */
.announcement-bar-premium {
  background: #1a5c53;
  color: white;
  padding: 10px 0;
  overflow: hidden;
}

.announcement-bar-premium .container {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  /* Force 1 line */
  gap: 10px;
}

.announcement-bar-premium .badge-custom {
  background: var(--primary);
  color: white;
  padding: 5px 15px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap !important;
  /* Ensure text doesn't wrap */
  flex-shrink: 0 !important;
}

.announcement-bar-premium .reg-btn-custom {
  background: #2fb344;
  color: #000;
  font-weight: 700;
  padding: 5px 20px;
  border-radius: 5px;
  text-decoration: none;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  display: inline-block;
}

.announcement-bar-premium marquee {
  margin-top: 5px;
}

/* Premium Service Card */
.premium-service-card {
  background: #d9ece9;
  border: 1px solid #198754;
  border-radius: 20px;
  padding: 30px;
  height: 100%;
  text-align: center;
  position: relative;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.premium-service-card:hover {
  border-color: #000;
}

.premium-service-card .icon-wrapper {
  width: 70px;
  height: 70px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 30px;
  color: #198754;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.premium-service-card h5 {
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 15px;
  color: #1a202c;
}

.premium-service-card p {
  font-size: 15px;
  color: #4a5568;
  line-height: 1.6;
  margin-bottom: 25px;
}

.premium-service-card .btn-service {
  background: #198754;
  color: #fff;
  border: none;
  padding: 10px 25px;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
}

.premium-service-card:hover .btn-service {
  background: #000;
}

/* How It Works Steps */
.step-card {
  text-align: center;
  padding: 20px;
  position: relative;
}

.step-number {
  width: 60px;
  height: 60px;
  background: #198754;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-weight: 800;
  font-size: 24px;
  box-shadow: 0 5px 15px rgba(25, 135, 84, 0.3);
}

.step-card h5 {
  font-weight: 700;
  margin-bottom: 10px;
}

/* Premium Blog Card */
.premium-blog-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  /* Slightly darker border for better visibility */
  border-radius: 16px;
  /* Symmetrical border radius */
  overflow: hidden;
  height: 100%;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  /* Tailwind-like shadow */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}

.premium-blog-card:hover {
  transform: translateY(-5px);
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-color: #198754;
}

.blog-img-wrapper {
  position: relative;
  height: 220px;
  /* Increased height slightly */
  overflow: hidden;
  background: #f1f5f4;
}

.blog-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.5s ease;
}

.premium-blog-card:hover .blog-img-wrapper img {
  transform: scale(1.05);
  /* Zoom effect on hover */
}

.blog-category-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: rgba(25, 135, 84, 0.9);
  /* Slight transparency */
  backdrop-filter: blur(4px);
  color: #fff;
  padding: 6px 14px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.blog-content-info {
  padding: 24px;
  flex-grow: 1;
  /* Ensure content fills available space */
  display: flex;
  flex-direction: column;
}

.blog-meta-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
}

.blog-meta-top i {
  color: #198754;
  margin-right: 5px;
}

.premium-blog-card h5 {
  font-size: 19px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 16px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family:
    "Hind Siliguri", sans-serif;
  /* Ensure Bengali font supports weight */
}

.premium-blog-card p {
  font-size: 14px;
  color: #4a5568;
  margin-bottom: 20px;
  line-height: 1.6;
}

.blog-read-btn {
  margin-top: auto;
  /* Push to bottom */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #198754;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 20px;
  border: 1px solid #198754;
  border-radius: 8px;
  transition: all 0.3s ease;
  width: 100%;
  /* Full width button */
}

.blog-read-btn:hover {
  background: #198754;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(25, 135, 84, 0.2);
}

.blog-read-btn i {
  transition: transform 0.3s ease;
}

.blog-read-btn:hover i {
  transform: translateX(4px);
}

/* --- Auth Pages (Login & Register) --- */
.auth-section {
  padding: 80px 0;
  min-height: calc(100vh - 400px);
  display: flex;
  align-items: center;
}

.auth-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: 1px solid #e2e8f0;
  margin: 0 auto;
}

.auth-card.login-card {
  max-width: 450px;
}

.auth-card.register-card {
  max-width: 600px;
}

.auth-title {
  font-size: 28px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 10px;
  text-align: center;
}

.auth-subtitle {
  font-size: 15px;
  color: #64748b;
  text-align: center;
  margin-bottom: 30px;
}

.btn-auth {
  background: #1e7e73;
  color: white;
  padding: 12px;
  border-radius: 10px;
  font-weight: 700;
  width: 100%;
  border: none;
  margin-top: 20px;
  transition: 0.3s;
}

.btn-auth:hover {
  background: #166158;
  transform: translateY(-2px);
}

.social-divider {
  position: relative;
  text-align: center;
  margin: 30px 0;
}

.social-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #e2e8f0;
}

.social-divider span {
  position: relative;
  background: #fff;
  padding: 0 15px;
  color: #94a3b8;
  font-size: 14px;
}

.social-btns {
  display: flex;
  gap: 15px;
}

.btn-social {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  color: #475569;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  transition: 0.2s;
}

.btn-social:hover {
  background: #f8fafc;
}

/* Role Selector for Registration */
.role-selector {
  display: flex;
  gap: 12px;
  margin-bottom: 25px;
  flex-wrap: wrap;
  /* Allow wrapping on mobile */
}

.role-option {
  flex: 1 1 calc(25% - 12px);
  /* 4 columns on desktop */
  min-width: 100px;
  /* Minimum width before wrapping */
  position: relative;
}

.role-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 10px;
  height: 100%;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
}

/* Mobile responsive layout for role selector */
@media (max-width: 576px) {
  .role-option {
    flex: 1 1 calc(50% - 12px);
    /* 2 columns on mobile */
  }
}

@media (max-width: 400px) {
  .role-selector {
    gap: 8px;
  }

  .role-option {
    flex: 1 1 calc(50% - 8px);
  }

  .role-card {
    padding: 12px 5px;
  }

  .role-card span {
    font-size: 12px;
  }
}

.role-option input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.role-card i {
  font-size: 20px;
  margin-bottom: 8px;
  color: #94a3b8;
}

.role-card span {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
}

.role-option input:checked+.role-card {
  border-color: #1e7e73;
  background: rgba(30, 126, 115, 0.05);
}

.role-option input:checked+.role-card i,
.role-option input:checked+.role-card span {
  color: #1e7e73;
}

/* Informational Notice Card Styles */
.info-notice-card {
  background: #fffafa;
  border: 1px solid #ffccd5;
  border-left: 5px solid #dc3545;
  border-radius: 12px;
  padding: 20px 25px;
  margin: 30px auto;
  max-width: 1000px;
  text-align: left;
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.05);
  transition: all 0.3s ease;
  position: relative;
}

/* Border left used instead of absolute before */

.info-notice-card:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 15px 50px rgba(220, 53, 69, 0.12);
  border-color: #ffb3c1;
}

.notice-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 15px;
  color: #cc0000;
}

.notice-header i {
  font-size: 28px;
  margin-right: 5px;
}

.notice-header span {
  font-family: "Adorsho Lipi", sans-serif;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.2px;
}

.info-notice-card .notice-content {
  color: #555;
  line-height: 1.6;
  font-family: "Adorsho Lipi", sans-serif;
  font-size: 1.1rem;
  margin: 0;
  font-weight: 400;
}

@keyframes pulse-red {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.1);
    opacity: 0.8;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .info-notice-card {
    padding: 20px;
    margin: 30px auto;
    width: 92%;
    border-radius: 12px;
  }

  .notice-header span {
    font-size: 20px;
  }

  .info-notice-card .notice-content {
    font-size: 1rem;
    text-align: left;
  }
}

/* ==========================================================================
   Dashboard Global System
   ========================================================================== */
:root {
  --primary-dashboard: #1e7e72;
  --bg-dashboard: #f0f2f5;
}

.dashboard-container {
  margin-top: 40px !important;
  margin-bottom: 50px;
}

body.dashboard-page {
  background-color: var(--bg-dashboard) !important;
}

body.dashboard-page h1,
body.dashboard-page h2,
body.dashboard-page h3,
body.dashboard-page h4,
body.dashboard-page h5,
body.dashboard-page h6 {
  font-family: "BenSen Bangla Only", "Adorsho Lipi", "Segoe UI", Roboto, Arial, sans-serif;
}

.dashboard-container .form-control,
.dashboard-container .form-select {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  font-size: 0.95rem;
  border: 1px solid #e1e9e8;
  border-radius: 12px !important;
}

.dashboard-container .form-control:focus,
.dashboard-container .form-select:focus {
  border-color: var(--primary-dashboard) !important;
  box-shadow: 0 0 0 4px rgba(30, 126, 114, 0.1) !important;
}

.dashboard-container .btn-primary {
  background-color: var(--primary-dashboard) !important;
  border-color: var(--primary-dashboard) !important;
  color: #fff !important;
  transition: all 0.3s ease;
}

.dashboard-container .btn-primary:hover {
  background-color: #166b61 !important;
  border-color: #166b61 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(30, 126, 114, 0.2) !important;
}

.sidebar {
  background: #fff;
  border-radius: 20px;
  padding: 30px 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  border: 1px solid #e1e9e8;
  height: fit-content;
  position: sticky;
  top: 100px;
}

.profile-img-box {
  width: 120px;
  height: 120px;
  margin: 0 auto 20px;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-img-box.hospital-logo {
  border-radius: 20px !important;
  background: #eef7f6;
  border: 2px solid #e1e9e8;
}

.profile-img-box.rounded-25 {
  border-radius: 25px;
}

.profile-img-box.hospital-logo {
  border-radius: 15px;
  background: #f8f9fa;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.profile-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-img-box.hospital-logo img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}

.sidebar-stat {
  background: #e7f1ff;
  border-radius: 12px;
  padding: 15px;
  margin-bottom: 25px;
  text-align: center;
}

.nav-dashboard {
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.nav-dashboard .nav-link {
  border: none !important;
  border-radius: 12px !important;
  padding: 12px 20px !important;
  color: #495057 !important;
  font-weight: 600 !important;
  text-align: left !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.nav-dashboard .nav-link:hover {
  background: #f8f9fa !important;
  color: var(--primary-dashboard) !important;
}

.nav-dashboard .nav-link.active {
  background: var(--primary-dashboard) !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(30, 126, 114, 0.3) !important;
}

.content-area {
  background: #fff;
  border-radius: 20px;
  padding: 35px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  border: 1px solid #e1e9e8;
  min-height: 500px;
}

.stat-card {
  border-radius: 16px;
  padding: 20px;
  border: none;
  transition: transform 0.3s;
}

.stat-card:hover {
  transform: translateY(-5px);
}

.stat-mini-card {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 10px;
  text-align: center;
  border: 1px solid #eee;
}

.info-row {
  padding: 15px 0;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.info-label {
  color: #6c757d;
  font-weight: 500;
}

.info-value {
  font-weight: 700;
  color: #212529;
  text-align: right;
}

.logout-link {
  color: #dc3545 !important;
}

.logout-link:hover {
  background: #fff5f5 !important;
}

.welcome-banner {
  background: linear-gradient(135deg,
      var(--primary-dashboard) 0%,
      #2fb3a4 100%);
  color: #fff;
  padding: 25px;
  border-radius: 15px;
  margin-bottom: 30px;
}

.welcome-banner.indigo {
  background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
}

.stat-card-hospital {
  border-radius: 15px;
  padding: 20px;
  background: #f8f9fa;
  border-left: 5px solid var(--primary-dashboard);
  transition: all 0.3s;
}

.stat-card-hospital:hover {
  background: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.dr-name-main {
  font-size: 2rem;
  color: #198754;
  font-weight: 700;
  margin-bottom: 10px;
}

.dr-specialty-main {
  color: #d32f2f;
  font-weight: 700;
  font-size: 1.1rem;
}

.editable-field.editing {
  background-color: #fff3cd;
  padding: 2px 5px;
  border-radius: 3px;
  border: 1px solid #ffc107;
}

.section-title-bar {
  background: var(--primary-dashboard);
  color: white;
  padding: 8px 20px;
  font-weight: 600;
  border-radius: 10px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.chamber-box {
  border: 1px solid #eee;
  border-radius: 15px;
  margin-bottom: 25px;
  overflow: hidden;
  background: #fff;
}

.chamber-content {
  padding: 20px;
}

@media (max-width: 991px) {
  .dashboard-container {
    margin-top: 20px !important;
    padding-left: 10px;
    padding-right: 10px;
  }

  .sidebar {
    position: static !important;
    margin-bottom: 25px !important;
    padding: 20px 15px !important;
  }

  .content-area {
    padding: 20px !important;
  }

  .profile-img-box {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 576px) {
  .stat-card {
    padding: 10px 5px !important;
  }

  .stat-card h5 {
    font-size: 1rem !important;
  }

  .stat-card p {
    font-size: 0.75rem !important;
  }

  .info-label {
    font-size: 0.85rem;
  }

  .info-value {
    font-size: 0.85rem;
  }
}

/* Verified Badge Styles */
.card-title,
.dr-name-listing h5,
.dr-name-listing h4,
.dr-item-info h5 {
  display: block !important;
}

.name-verified-badge-container {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  width: 18px !important;
  height: 18px !important;
  color: #1877F2 !important;
  flex-shrink: 0 !important;
  margin-left: 5px !important;
  margin-top: -3px !important;
}

.name-verified-badge-container i.fa-certificate {
  font-size: 18px !important;
  color: #1877F2 !important;
  display: block !important;
}

.name-verified-badge-container i.fa-check {
  position: absolute !important;
  color: #fff !important;
  font-size: 7px !important;
  font-weight: 900 !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
}

.dr-name-listing {
  display: block !important;
}
/* ===========================================================================
   HERO SECTION v2 — নতুন হিরো ডিজাইন
   =========================================================================== */

.hero-v2 {
    background: #ffffff;
    padding-top: 12px;
    padding-bottom: 40px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #eaf6f4;
    color: var(--primary-green);
    font-weight: 600;
    font-size: 14px;
    padding: 8px 18px;
    border-radius: 999px;
}

.hero-badge i {
    color: var(--primary-green);
}

.hero-title {
    font-family: 'Hind Siliguri', sans-serif;
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1.3;
    color: #0f172a !important;
}

.hero-subtext {
    font-size: 1.05rem;
    color: #4b5563 !important;
    max-width: 560px;
    margin-top: 14px;
    margin-bottom: 0;
}

/* Quick action links */
.hero-quick-links {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 26px;
}

.hero-quick-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1 1 0;
    min-width: 0;
    padding: 14px 6px;
    background: #fff;
    border: none;
    border-radius: 14px;
    text-decoration: none;
    color: #1f2937 !important;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
    transition: all 0.2s ease;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.hero-quick-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(30, 126, 114, 0.18);
    color: var(--primary-green) !important;
}

.hero-quick-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eaf6f4;
    color: var(--primary-green);
    border-radius: 50%;
    font-size: 18px;
}

/* Search box */
/* Search overlay — hero.jpg-এর নিচের অংশের উপর হালকা overlap করা wide card */
.hero-search-overlay {
    position: relative;
    z-index: 5;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 2px solid var(--primary-green);
    border-radius: 20px;
    padding: 22px 26px;
    box-shadow: 0 18px 40px rgba(30, 126, 114, 0.22);
    margin-top: -36px;
}

.hero-search-overlay .form-select {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    border: 1px solid #e7ecec;
    background-color: #fff;
}

.hero-search-overlay .btn-search-hero {
    box-shadow: 0 6px 16px rgba(30, 126, 114, 0.28);
}

.hero-search-label {
    display: block;
    font-family: 'Hind Siliguri', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #6b7280 !important;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.hero-search-label i {
    color: var(--primary-green);
    margin-right: 3px;
    font-size: 10px;
}

.btn-search-hero {
    background: var(--primary-green);
    color: #fff;
    font-weight: 600;
    border: none;
}

.btn-search-hero:hover {
    background: #17635a;
    color: #fff;
}

/* Trust row */
.hero-trust-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 16px;
    margin-top: 24px;
}

.hero-trust-item {
    font-size: 14px;
    font-weight: 600;
    color: #374151 !important;
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    padding: 8px 16px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.hero-trust-item i {
    color: var(--primary-green);
}

/* Hero image + floating stat badges */
.hero-image-wrap {
    position: relative;
    min-height: 460px;
}

.hero-image {
    width: 100%;
    height: 100%;
    min-height: 460px;
    border-radius: 24px;
    object-fit: cover;
    display: block;
}

.hero-stat {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    padding: 12px 18px;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
    font-size: 13px;
    white-space: nowrap;
}

.hero-stat i {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary-green);
    background: #eaf6f4;
    border-radius: 50%;
}

.hero-stat strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: #0f172a !important;
    line-height: 1.3;
}

.hero-stat span {
    color: #6b7280 !important;
    font-size: 12px;
    font-weight: 600;
}

.hero-stat-1 { top: 5%;    right: -4%; }
.hero-stat-2 { top: 44%;   right: -7%; transform: translateY(-50%); }
.hero-stat-3 { bottom: 16%; right: -4%; }

/* Responsive */
@media (max-width: 991.98px) {
    .hero-title { font-size: 2rem; }
    .hero-stat {
        position: static !important;
        transform: none !important;
        margin-top: 12px;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
        border: 1px solid #e7ecec;
    }
    .hero-image-wrap { display: flex; flex-direction: column; gap: 0; min-height: auto; }
    .hero-image { min-height: 280px; height: 280px; }
    .hero-quick-links { flex-wrap: wrap; }
    .hero-quick-link { flex: 1 1 47%; }
    .hero-search-overlay { margin-top: 0; box-shadow: 0 8px 20px rgba(30, 126, 114, 0.15); border: 2px solid var(--primary-green); padding: 18px; background: #fff; backdrop-filter: none; }
}

@media (max-width: 575.98px) {
    .hero-quick-link { width: 100%; flex-direction: row; justify-content: flex-start; }
}