/* ============================================================
   STOIC HEALTHCARE — custom.css
   Navbar, Hero sections, Service cards, Equipment cards,
   Page-specific components
   ============================================================ */

/* ── NAVBAR ── */
#mainNav {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(33,150,211,.1);
  padding: .75rem 0;
  transition: all .35s ease;
  box-shadow: 0 2px 20px rgba(26,58,107,.07);
}
#mainNav.scrolled { box-shadow: 0 4px 32px rgba(26,58,107,.14); }

/* Navbar brand container - ensures proper logo and text alignment */
.navbar-brand {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin-right: 1rem;
}

/* Navbar logo image - consistent sizing */
.navbar-brand img,
.navbar-logo {
  height: 56px;
  width: auto;
  transition: height .3s, all .3s ease;
  object-fit: contain;
}

/* Navbar toggler button - proper positioning */
.navbar-toggler {
  order: 3;
  margin-left: auto;
  padding: 0.25rem 0.5rem;
}

/* Navbar collapse - proper alignment */
.navbar-collapse {
  align-items: center;
}

/* Nav items - consistent sizing */
.nav-link {
  font-size: .92rem; font-weight: 500;
  color: var(--primary) !important;
  padding: .5rem 1rem !important;
  border-radius: 8px;
  position: relative;
  transition: all .2s;
}
.nav-link::after {
  content: ''; position: absolute; bottom: 0; left: 1rem; right: 1rem;
  height: 2px; background: var(--grad-teal); border-radius: 2px;
  transform: scaleX(0); transition: transform .25s ease; transform-origin: left;
}
.nav-link:hover::after, .nav-link.active-page::after { transform: scaleX(1); }
.nav-link:hover, .nav-link.active-page { color: var(--secondary) !important; }
.toggler-icon { display:flex; flex-direction:column; gap:5px; cursor:pointer; width:24px; }
.toggler-icon span { display:block; height:2px; background:var(--primary); border-radius:2px; transition:all .3s; }

/* ── HERO SWIPER ── */
.hero-swiper { height: 100vh; min-height: 640px; }
.hero-swiper .swiper-slide { position:relative; overflow:hidden; display:flex; align-items:center; }
.hero-bg { position:absolute; inset:0; object-fit:cover; width:100%; height:100%; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(120deg, rgba(15,34,64,.92) 40%, rgba(33,150,211,.35) 100%); }
.hero-content { position:relative; z-index:2; padding-top:80px; }
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(78,205,196,.15); border:1px solid rgba(78,205,196,.3);
  color:#7ee8e2; padding:.4rem 1rem; border-radius:50px;
  font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em;
  margin-bottom:1.5rem; animation:fadeInDown .8s ease both;
}
.hero-title { font-size:clamp(2.2rem,5.5vw,4rem); color:#fff; margin-bottom:1.2rem; animation:fadeInUp .8s ease .2s both; }
.hero-title span { background:var(--grad-teal); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-sub { color:rgba(255,255,255,.78); font-size:1.07rem; line-height:1.87; max-width:550px; margin-bottom:2rem; animation:fadeInUp .8s ease .4s both; }
.hero-btns { animation:fadeInUp .8s ease .55s both; display:flex; flex-wrap:wrap; gap:.75rem; }
.hero-stats { margin-top:2.5rem; display:flex; flex-wrap:wrap; gap:2rem; animation:fadeInUp .8s ease .7s both; }
.hero-stat .num { font-family:'Playfair Display',serif; font-size:2rem; color:var(--teal); font-weight:700; line-height:1; }
.hero-stat .lbl { color:rgba(255,255,255,.6); font-size:.78rem; margin-top:.25rem; }
.hero-img-side { position:relative; z-index:2; animation:fadeInRight .9s ease .3s both; }
.hero-img-side img { border-radius:24px; box-shadow:0 24px 80px rgba(0,0,0,.42); width:100%; max-width:500px; }

@keyframes fadeInDown  { from{opacity:0;transform:translateY(-20px);}  to{opacity:1;transform:translateY(0);} }
@keyframes fadeInUp    { from{opacity:0;transform:translateY(24px);}   to{opacity:1;transform:translateY(0);} }
@keyframes fadeInRight { from{opacity:0;transform:translateX(40px);}   to{opacity:1;transform:translateX(0);} }

/* ── SERVICE CARDS ── */
.service-card {
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid rgba(33,150,211,.08);
  height:100%; transition:all .35s; cursor:pointer;
}
.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.sc-img { height:210px; overflow:hidden; position:relative; }
.sc-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.service-card:hover .sc-img img { transform:scale(1.07); }
.sc-icon { position:absolute; bottom:-1.1rem; right:1.2rem; width:46px; height:46px; border-radius:12px; background:var(--grad-teal); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(33,150,211,.38); color:#fff; font-size:1.2rem; }
.sc-body { padding:1.8rem 1.4rem 1.4rem; }
.sc-tag { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--secondary); margin-bottom:.4rem; }
.sc-body h5 { font-size:1.08rem; margin-bottom:.5rem; }
.sc-body p { color:var(--muted); font-size:.87rem; line-height:1.7; }
.sc-features { list-style:none; margin:1rem 0; padding:0; }
.sc-features li { font-size:.83rem; color:var(--text); padding:.25rem 0; display:flex; align-items:center; gap:.5rem; }
.sc-features li::before { content:'✓'; color:var(--teal); font-weight:700; font-size:.9rem; }
.sc-link { color:var(--secondary); font-weight:700; font-size:.88rem; text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; transition:gap .2s; }
.sc-link:hover { gap:.6rem; }
.sc-badge { position:absolute; top:.75rem; left:.75rem; background:var(--grad-teal); color:#fff; font-size:.68rem; font-weight:700; padding:.25rem .75rem; border-radius:50px; text-transform:uppercase; letter-spacing:.08em; }

/* ── EQUIPMENT CARDS ── */
.equip-card {
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid rgba(33,150,211,.08);
  height:100%; transition:all .35s;
}
.equip-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.ec-img { height:200px; overflow:hidden; position:relative; }
.ec-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.equip-card:hover .ec-img img { transform:scale(1.06); }
.ec-badge { position:absolute; top:.75rem; left:.75rem; background:var(--grad-teal); color:#fff; font-size:.68rem; font-weight:700; padding:.25rem .75rem; border-radius:50px; text-transform:uppercase; letter-spacing:.08em; }
.ec-badge.hot { background:linear-gradient(135deg,#ff6b35,#f59e0b); }
.ec-body { padding:1.4rem; }
.ec-body h5 { font-size:1rem; margin-bottom:.4rem; }
.ec-body p { color:var(--muted); font-size:.85rem; line-height:1.65; margin-bottom:.75rem; }
.ec-specs { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.9rem; }
.ec-spec-tag { background:rgba(33,150,211,.08); color:var(--secondary); font-size:.72rem; font-weight:600; padding:.2rem .65rem; border-radius:50px; }
.ec-footer { display:flex; align-items:center; justify-content:space-between; padding-top:.8rem; border-top:1px solid rgba(33,150,211,.1); }
.ec-price { font-weight:700; color:var(--primary); font-size:.92rem; }
.ec-rent-btn { background:var(--grad-teal); color:#fff; padding:.45rem 1rem; border-radius:50px; font-size:.8rem; font-weight:700; text-decoration:none; display:inline-block; transition:all .25s; }
.ec-rent-btn:hover { opacity:.9; transform:translateY(-2px); color:#fff; }

/* ── PROCESS STRIP (dark gradient) ── */
.process-strip { background:var(--grad); border-radius:24px; padding:3rem; }
.pstrip-item { text-align:center; }
.pstrip-item .icon { font-size:2.5rem; margin-bottom:.75rem; }
.pstrip-item h5 { color:#fff; font-size:1rem; margin-bottom:.3rem; }
.pstrip-item p { color:rgba(255,255,255,.7); font-size:.84rem; line-height:1.65; }

/* ── FEATURE ICON BOXES ── */
.feature-icon-box {
  text-align:center; padding:2rem 1.5rem;
  border-radius:var(--radius); background:#fff;
  box-shadow:var(--shadow-sm); transition:all .3s;
  border:1px solid rgba(33,150,211,.08); height:100%;
}
.feature-icon-box:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.feature-icon-box .fi-emoji { font-size:2.5rem; margin-bottom:1rem; }
.feature-icon-box h5 { font-size:1rem; margin-bottom:.4rem; }
.feature-icon-box p { color:var(--muted); font-size:.85rem; line-height:1.65; }

/* ── MAP ── */
.map-wrap { border-radius:20px; overflow:hidden; height:400px; box-shadow:var(--shadow); }
.map-wrap iframe { width:100%; height:100%; border:0; filter:saturate(.85) brightness(1.02); }

/* ── FORM CARD ── */
.form-card {
  background:#fff; border-radius:var(--radius); padding:2.5rem;
  box-shadow:0 8px 40px rgba(26,58,107,.1);
  border:1px solid rgba(33,150,211,.08);
}
.form-card h4 { margin-bottom:.4rem; font-size:1.4rem; }
.form-card .form-subtitle { color:var(--muted); font-size:.9rem; margin-bottom:1.8rem; }

/* ── ABOUT HERO ── */
.about-hero-section {
  background: linear-gradient(135deg, #0f1f40 0%, #1a3a6b 55%, #2196d3 100%);
  min-height: 65vh;
  display: flex;
  align-items: center;
  padding-top: 80px;
}

/* ── CONTACT HERO ── */
.contact-hero-section {
  background: linear-gradient(135deg, #0f1f40 0%, #1a3a6b 50%, #2196d3 100%);
  min-height: 55vh;
  display: flex;
  align-items: center;
  padding-top: 80px;
  position: relative;
  overflow: hidden;
}
.contact-hero-section::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 70px;
  background: #fff;
  clip-path: ellipse(55% 100% at 50% 100%);
}

/* ── CERT BADGES ── */
.cert-badge {
  background:#fff; border-radius:12px; padding:.9rem 1.6rem;
  box-shadow:var(--shadow-sm); font-weight:600; color:var(--primary); font-size:.88rem;
  display:inline-block; transition:var(--transition);
}
.cert-badge:hover { box-shadow:var(--shadow); transform:translateY(-3px); }

/* ── FEATURE ICON BOX (Font Awesome based) ── */
.feature-icon-box .feat-icon {
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, rgba(33,150,211,.1), rgba(78,205,196,.15));
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.2rem;
  font-size: 1.6rem;
  color: var(--secondary);
  transition: all .3s;
}

.feature-icon-box:hover .feat-icon {
  background: linear-gradient(135deg, var(--secondary), var(--teal));
  color: #fff;
  transform: scale(1.08);
}

/* ── MFG TAGS (parallax section) ── */
.mfg-tag {
  background: rgba(78,205,196,.15);
  border: 1px solid rgba(78,205,196,.3);
  color: #7ee8e2;
  padding: .4rem 1rem;
  border-radius: 50px;
  font-size: .85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
}

/* ── MATERIAL ICONS ALIGNMENT ── */
.material-icons-round {
  vertical-align: middle;
  font-size: inherit;
  line-height: inherit;
}

/* ── FA icons in contact info cards ── */
.ci-icon .fa-solid,
.ci-icon .fa-brands,
.ci-icon .material-icons-round {
  font-size: 1.3rem;
}

/* ── WHY CARD icon (material) ── */
.why-card .wc-icon .material-icons-round {
  font-size: 1.5rem;
  color: #7ee8e2;
}

/* ── FAQ icon override (fa-plus instead of text +) ── */
.faq-item.open .faq-icon { transform: rotate(45deg); }

/* ── SC icon (material in service cards) ── */
.sc-icon .material-icons-round {
  font-size: 1.4rem;
  color: #fff;
}

/* ── PSTRIP ITEM text ── */
.pstrip-item h5 { color: #fff; font-size: 1rem; margin-bottom: .3rem; }
.pstrip-item p  { color: rgba(255,255,255,.7); font-size: .84rem; line-height: 1.65; margin: 0; }

/* ── FOOTER ICONS ALIGNMENT ── */
#mainFooter .footer-social {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.5rem;
}

#mainFooter .footer-social a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-right: 0;
  margin-top: 0;
}

#mainFooter a:not(.footer-social a) {
  display: flex !important;
  align-items: center;
}

#mainFooter a:not(.footer-social a) i {
  flex-shrink: 0;
}
