/* =====================================================
   META-CARE SOLUTIONS BD — REFINED STYLESHEET
   Drop-in replacement for css/style.css
===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root{
  /* Brand palette — deep medical teal + trust blue */
  --brand-primary:#0d6efd;
  --brand-primary-dark:#0a58d6;
  --brand-teal:#0e9f8f;
  --brand-teal-dark:#0b7a6d;
  --ink:#0f172a;
  --ink-soft:#475569;
  --muted:#64748b;
  --bg-soft:#f6f8fb;
  --card-bg:#ffffff;
  --border-soft:#e6eaf1;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;

  --shadow-sm:0 4px 14px rgba(15,23,42,.06);
  --shadow-md:0 12px 30px rgba(15,23,42,.10);
  --shadow-lg:0 20px 50px rgba(15,23,42,.16);

  --transition:.35s cubic-bezier(.22,.61,.36,1);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter', Arial, Helvetica, sans-serif;
  background:var(--bg-soft);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}

h1, h2, h3, h4, h5, .navbar-brand, .product-title, .highlight-box h2{
  font-family:'Poppins', 'Inter', sans-serif;
}

/* ================= NAVBAR ================= */

.navbar{
  padding:14px 0;
  backdrop-filter:blur(8px);
}

.navbar-brand{
  font-size:24px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.3px;
}

.navbar-brand span{
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.navbar-nav .nav-link{
  font-weight:500;
  color:var(--ink-soft);
  margin:0 6px;
  padding:8px 14px !important;
  border-radius:30px;
  transition:var(--transition);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
  color:var(--brand-primary);
  background:rgba(13,110,253,.08);
}

/* ================= HERO / CAROUSEL ================= */

.hero{
  padding:100px 0;
  background:linear-gradient(135deg,#eef6ff,#f2fbf9);
}

.hero h1{
  font-size:48px;
  font-weight:800;
}

.hero p{
  font-size:18px;
}

.hero-slider{
  height:650px;
  object-fit:cover;
  filter:brightness(.72);
}

#heroCarousel{
  position:relative;
}

#heroCarousel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.15) 0%, rgba(15,23,42,.55) 100%);
  pointer-events:none;
}

.carousel-caption{
  background:rgba(15,23,42,.4);
  backdrop-filter:blur(6px);
  padding:40px 50px;
  border-radius:var(--radius-lg);
  bottom:22%;
  border:1px solid rgba(255,255,255,.15);
  z-index:3;
}

.carousel-caption h1{
  font-size:44px;
  font-weight:800;
  text-shadow:0 4px 20px rgba(0,0,0,.35);
}

.carousel-caption p{
  font-size:18px;
  opacity:.92;
  margin-bottom:20px;
}

.carousel-caption .btn-primary{
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
  border:none;
  padding:12px 32px;
  border-radius:30px;
  font-weight:600;
  box-shadow:0 10px 25px rgba(13,110,253,.4);
  transition:var(--transition);
}

.carousel-caption .btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 30px rgba(13,110,253,.5);
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
  background-color:rgba(255,255,255,.25);
  border-radius:50%;
  padding:20px;
  backdrop-filter:blur(4px);
}

/* ================= COMPANY HIGHLIGHTS ================= */

.highlight-box{
  padding:35px 25px;
  border-radius:var(--radius-md);
  background:var(--card-bg);
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
  height:100%;
}

.highlight-box:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.highlight-box i{
  font-size:32px;
  width:64px;
  height:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(13,110,253,.08);
}

.highlight-box h2{
  margin-top:18px;
  font-size:38px;
  font-weight:800;
  color:var(--brand-primary);
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.highlight-box p{
  color:var(--muted);
  font-weight:500;
  margin-top:6px;
}

/* ================= SECTION HEADINGS ================= */

section h2.text-center{
  font-weight:800;
  font-size:32px;
  position:relative;
  padding-bottom:16px;
  margin-bottom:45px !important;
}

section h2.text-center::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:70px;
  height:4px;
  border-radius:4px;
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
}

/* ================= CATEGORY CARDS ================= */

.category-card{
  background:var(--card-bg);
  padding:35px 20px;
  text-align:center;
  border-radius:var(--radius-md);
  cursor:pointer;
  transition:var(--transition);
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border-soft);
  height:100%;
}

.category-card i{
  font-size:30px;
  color:var(--brand-primary);
  transition:var(--transition);
}

.category-card h5{
  margin-top:15px;
  font-weight:600;
}

.category-card:hover{
  transform:translateY(-10px);
  background:linear-gradient(135deg, var(--brand-primary), var(--brand-teal));
  color:#fff;
  border-color:transparent;
  box-shadow:var(--shadow-md);
}

.category-card:hover i{
  color:#fff !important;
  transform:scale(1.15);
}

/* ================= PRODUCT CARDS ================= */

.product-card{
  overflow:hidden;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  transition:var(--transition);
  box-shadow:var(--shadow-sm);
  background:var(--card-bg);
}

.product-card img{
  height:250px;
  object-fit:cover;
  transition:var(--transition);
}

.product-card:hover img{
  transform:scale(1.08);
}

.product-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
  border-color:transparent;
}

.product-card .card-body{
  padding:20px;
}

.product-card .card-title{
  font-weight:600;
  font-size:17px;
}

.search-box{
  margin-bottom:30px;
}

#searchInput, #categoryFilter{
  padding:14px 18px;
  border-radius:30px;
  border:1px solid var(--border-soft);
}

#searchInput:focus, #categoryFilter:focus{
  box-shadow:0 0 0 4px rgba(13,110,253,.12);
  border-color:var(--brand-primary);
}

/* ================= BRAND CARDS ================= */

.brand-card{
  height:120px;
  background:var(--card-bg);
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border-soft);
  transition:var(--transition);
}

.brand-card img{
  max-width:120px;
  max-height:60px;
  object-fit:contain;
  filter:grayscale(100%);
  transition:var(--transition);
}

.brand-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
}

.brand-card:hover img{
  filter:none;
}

/* ================= ABOUT ================= */

#about{
  background:linear-gradient(180deg,#f8fafc,#eef2f8);
}

#about p{
  max-width:820px;
  margin:20px auto 0;
  color:var(--ink-soft);
  line-height:1.9;
  font-size:17px;
}

/* ================= CONTACT / FORM ================= */

#contact{
  background:var(--bg-soft);
}

#contact form{
  background:var(--card-bg);
  padding:45px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  border:1px solid var(--border-soft);
}

.form-control, .form-select{
  padding:14px 16px;
  border-radius:10px;
  border:1px solid var(--border-soft);
  transition:var(--transition);
}

.form-control:focus, .form-select:focus{
  box-shadow:0 0 0 4px rgba(13,110,253,.12);
  border-color:var(--brand-primary);
}

#submitBtn{
  padding:13px 34px;
  border-radius:30px;
  font-weight:600;
  border:none;
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
  box-shadow:0 10px 25px rgba(13,110,253,.3);
  transition:var(--transition);
}

#submitBtn:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(13,110,253,.4);
}

#status{
  font-weight:600;
}

/* ================= PRODUCT DETAILS PAGE ================= */

.product-page{
  padding:70px 0;
  background:var(--bg-soft);
}

.breadcrumb{
  background:var(--card-bg);
  padding:14px 22px;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border-soft);
}

.breadcrumb a{
  text-decoration:none;
  color:var(--brand-primary);
  font-weight:500;
}

.main-image{
  width:100%;
  height:480px;
  object-fit:contain;
  background:var(--card-bg);
  border-radius:var(--radius-lg);
  padding:24px;
  border:1px solid var(--border-soft);
  transition:var(--transition);
  box-shadow:var(--shadow-md);
}

.main-image:hover{
  transform:scale(1.02);
}

.gallery{
  display:flex;
  gap:12px;
  margin-top:20px;
  flex-wrap:wrap;
}

.thumbnail{
  width:90px;
  height:90px;
  border-radius:10px;
  object-fit:cover;
  cursor:pointer;
  border:2px solid var(--border-soft);
  transition:var(--transition);
}

.thumbnail:hover{
  border-color:var(--brand-primary);
  transform:translateY(-5px);
}

.product-title{
  font-size:36px;
  font-weight:700;
  color:var(--ink);
}

.product-category{
  color:var(--brand-primary);
  font-weight:600;
  margin-bottom:15px;
}

.product-description{
  color:var(--ink-soft);
  line-height:1.85;
}

.badge-product{
  display:inline-block;
  padding:8px 20px;
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
  color:#fff;
  border-radius:30px;
  margin-bottom:15px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.3px;
}

.info-box{
  background:var(--card-bg);
  border-radius:var(--radius-md);
  padding:26px;
  margin:25px 0;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border-soft);
}

.info-box p{
  margin-bottom:10px;
}

.product-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  margin-top:25px;
}

.product-buttons .btn{
  padding:13px 28px;
  border-radius:30px;
  font-weight:600;
  transition:var(--transition);
}

.product-buttons .btn:hover{
  transform:translateY(-2px);
}

.spec-table{
  margin-top:30px;
  background:var(--card-bg);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border-soft);
}

.spec-table th{
  width:35%;
  background:var(--bg-soft);
  font-weight:600;
}

.spec-table td, .spec-table th{
  padding:16px;
}

.quote-box{
  margin-top:50px;
  background:var(--card-bg);
  padding:38px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  border:1px solid var(--border-soft);
}

.quote-box h3{
  margin-bottom:25px;
}

.quote-box input, .quote-box textarea{
  border-radius:10px;
  padding:13px;
}

.related-card{
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:var(--transition);
  box-shadow:var(--shadow-sm);
}

.related-card img{
  height:220px;
  object-fit:cover;
}

.related-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-md);
}

.related-card .card-body{
  text-align:center;
}

.zoom{
  cursor:zoom-in;
  transition:var(--transition);
}

.zoom:hover{
  transform:scale(1.05);
}

.section-title{
  font-size:28px;
  font-weight:700;
  margin-bottom:20px;
}

/* ================= FLOATING WHATSAPP ================= */

.whatsapp-btn{
  position:fixed;
  right:25px;
  bottom:25px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:30px;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(37,211,102,.45);
  transition:var(--transition);
  z-index:999;
  animation:wa-pulse 2.4s infinite;
}

.whatsapp-btn:hover{
  transform:scale(1.1);
  color:#fff;
}

@keyframes wa-pulse{
  0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45); }
  70%{ box-shadow:0 0 0 14px rgba(37,211,102,0); }
  100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* ================= FOOTER ================= */

.footer{
  background:linear-gradient(160deg,#0f172a,#111c33);
  color:#fff;
  padding:70px 0 25px;
  margin-top:80px;
}

.footer h3{
  font-size:26px;
  font-weight:700;
  margin-bottom:20px;
}

.footer hr{
  border-color:rgba(255,255,255,.15);
  margin-bottom:25px;
}

.footer p{
  color:#c9d2e0;
  margin-bottom:15px;
  font-size:16px;
  line-height:1.8;
}

.footer i{
  color:var(--brand-teal);
  margin-right:10px;
}

.footer-map{
  overflow:hidden;
  border-radius:var(--radius-lg);
  box-shadow:0 15px 40px rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.08);
}

.footer-map iframe{
  display:block;
  filter:grayscale(20%) contrast(1.05);
}

.social-icons{
  display:flex;
  gap:15px;
  margin-top:25px;
}

.social-icons a{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:20px;
  transition:var(--transition);
  text-decoration:none;
}

.social-icons a:hover{
  background:linear-gradient(135deg, var(--brand-primary), var(--brand-teal));
  transform:translateY(-5px);
}

.footer-line{
  margin:40px 0 20px;
  border-color:rgba(255,255,255,.1);
}

.footer .text-center{
  color:#94a3b8;
  font-size:14px;
  line-height:1.8;
}

.footer .text-center a{
  color:var(--brand-teal);
  text-decoration:none;
  font-weight:600;
}

/* ================= RESPONSIVE (base) ================= */

@media(max-width:768px){
  .hero-slider{ height:420px; }
  .carousel-caption{ padding:22px 24px; bottom:10%; }
  .carousel-caption h1{ font-size:26px; }
  .carousel-caption p{ font-size:15px; }
  .main-image{ height:350px; }
  .product-title{ font-size:28px; }
  .product-buttons{ flex-direction:column; }
  .product-buttons .btn{ width:100%; }
  .thumbnail{ width:70px; height:70px; }
}

/* =====================================================
   COMPANY PROFILE PAGE
===================================================== */

.section-sub{
  color:var(--muted);
  max-width:620px;
  margin:10px auto 0;
  font-size:16px;
}

/* Page header banner */

.profile-header{
  padding:70px 0 60px;
  background:linear-gradient(135deg,#eef6ff,#f2fbf9);
}

.profile-header .breadcrumb{
  background:transparent;
  padding:0;
  box-shadow:none;
  border:none;
  display:inline-flex;
}

.profile-header h1{
  font-size:44px;
  font-weight:800;
  margin:14px 0 16px;
}

.profile-header p{
  max-width:680px;
  color:var(--ink-soft);
  font-size:17px;
  line-height:1.8;
}

/* Timeline */

.timeline{
  position:relative;
  max-width:820px;
  margin:0 auto;
  padding-left:40px;
}

.timeline::before{
  content:"";
  position:absolute;
  left:9px;
  top:6px;
  bottom:6px;
  width:2px;
  background:linear-gradient(180deg, var(--brand-primary), var(--brand-teal));
}

.timeline-item{
  position:relative;
  padding-bottom:42px;
}

.timeline-item:last-child{
  padding-bottom:0;
}

.timeline-dot{
  position:absolute;
  left:-40px;
  top:4px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--card-bg);
  border:3px solid var(--brand-primary);
  box-shadow:0 0 0 4px rgba(13,110,253,.12);
}

.timeline-content{
  background:var(--card-bg);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:22px 26px;
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}

.timeline-content:hover{
  transform:translateX(6px);
  box-shadow:var(--shadow-md);
}

.timeline-year{
  display:inline-block;
  font-weight:700;
  font-size:13px;
  letter-spacing:.5px;
  color:#fff;
  background:linear-gradient(90deg, var(--brand-primary), var(--brand-teal));
  padding:4px 14px;
  border-radius:20px;
  margin-bottom:10px;
}

.timeline-content h5{
  font-weight:700;
  margin-bottom:8px;
}

.timeline-content p{
  color:var(--ink-soft);
  margin-bottom:0;
  line-height:1.75;
}

/* Director's message */

.director-box{
  background:var(--card-bg);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
}

.director-photo-wrap{
  height:100%;
  min-height:340px;
  background:linear-gradient(160deg, var(--brand-primary), var(--brand-teal-dark));
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
}

.director-photo{
  width:100%;
  max-width:260px;
  aspect-ratio:0/1;
  object-fit:cover;
  border-radius:50%;
  border:6px solid rgba(255,255,255,.35);
  box-shadow:0 15px 35px rgba(0,0,0,.25);
}

.director-text{
  padding:45px 45px 40px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.quote-icon{
  font-size:38px;
  color:var(--brand-primary);
  opacity:.35;
  margin-bottom:10px;
}

.director-quote{
  font-size:18px;
  line-height:1.9;
  color:var(--ink);
  font-style:italic;
}

.director-signature{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--border-soft);
}

.director-signature h5{
  font-weight:700;
  margin-bottom:2px;
}

.director-signature span{
  color:var(--muted);
  font-size:14px;
}

@media(max-width:991px){
  .director-photo-wrap{ min-height:260px; padding:35px; }
  .director-text{ padding:35px 30px; }
}

@media(max-width:576px){
  .profile-header h1{ font-size:32px; }
  .timeline{ padding-left:32px; }
  .timeline-dot{ left:-32px; width:16px; height:16px; }
  .director-quote{ font-size:16px; }
}