/* =====================================================================
   ACF visual polish — 2026-05-12
   Overrides for layout / alignment issues found in puppeteer audit.
   Loaded after custom.css so it wins the cascade.
   ===================================================================== */

/* Kill heading pseudo-element artefacts on pricing / why-us / contact pages */
.why-us h1, .why-us h2,
.contactpage h1, .contactpage h2,
.appointpage h1, .appointpage h2,
.bannerinner h1, .bannerinner h2 {
  position: relative;
  padding-left: 0;
}
.why-us h1::before, .why-us h2::before,
.why-us h1::after,  .why-us h2::after,
.contactpage h1::before, .contactpage h2::before,
.contactpage h1::after,  .contactpage h2::after,
.appointpage h1::before, .appointpage h2::before,
.appointpage h1::after,  .appointpage h2::after,
.bannerinner h1::before, .bannerinner h2::before,
.bannerinner h1::after,  .bannerinner h2::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

/* Specialized facility: stretch columns + sticky form */
.why-us2 > .row,
section.why-us .row { display: flex; flex-wrap: wrap; align-items: stretch; }
.why-us2 .col-lg-4 .why-form { background: #fff; padding: 24px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.why-us2 .col-lg-4 .why-form h2 { margin-top: 0; }

/* Floating WhatsApp/Call buttons on mobile */
@media (max-width: 425px) {
  .whts  { position: fixed !important; right: 12px !important; bottom: 20px !important; width: 48px !important; height: 48px !important; z-index: 9999; }
  .whts1 { position: fixed !important; right: 12px !important; bottom: 80px !important; width: 48px !important; height: 48px !important; z-index: 9999; }
  .whts a, .whts1 a { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; padding: 0 !important; }
  .whts img, .whts1 img { width: 26px !important; height: 26px !important; }
}

/* Homepage profile / lead-paragraph: proper flex layout, image left + text right */
.profile { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px; }
.profile .profilepic { flex: 0 0 280px; max-width: 280px; }
.profile .profilepic img { width: 100%; height: auto; border-radius: 8px; }
.profile > h1, .profile > h2, .profile > p, .profile > .read,
.profile h1, .profile h2, .profile p, .profile .read { flex: 1 1 60%; min-width: 0; }
@media (max-width: 767px) {
  .profile { flex-direction: column; gap: 16px; }
  .profile .profilepic { flex: 1 1 100%; max-width: 360px; margin: 0 auto; }
}

/* Service-page sidebar: brand red active state, no heavy black */
.sidebar_serv ul li a.active,
.sidebar_serv ul li a.active:hover {
  background: #a1191b !important;
  color: #fff !important;
  border-left: 4px solid #fbd93a !important;
  padding-left: 12px !important;
}
.sidebar_serv ul li a:hover {
  background: #f5f5f5 !important;
  color: #a1191b !important;
}
.sidebar_serv hr { border: none; border-top: 1px solid #eee; margin: 12px 0; }
.sidebar_serv h3 { color: #a1191b; font-size: 18px; }

/* Footer arrows: hide images, use CSS chevrons */
.footerbox ul li img[src*="arrow1.png"] { display: none; }
.footerbox ul li a { position: relative; padding-left: 14px; display: inline-block; }
.footerbox ul li a::before {
  content: "\203A";
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 700;
  color: #fbd93a;
  line-height: 1;
}

/* Inner-page hero strip: gradient + accent border */
.bannerinner {
  padding: 60px 0 !important;
  background: linear-gradient(135deg, #252526 0%, #5a1f20 50%, #a1191b 100%) !important;
  text-align: center;
  border-bottom: 4px solid #fbd93a;
}
.bannerinner h1, .bannerinner h2 {
  font-size: 34px !important; font-weight: 700 !important; color: #fff !important;
  margin: 0 0 12px !important;
}
.bannerinner ul { list-style: none; padding: 0; margin: 0; display: inline-flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.bannerinner ul li { font-size: 14px; color: #fff; opacity: .9; }
.bannerinner ul li a { color: #fbd93a; text-decoration: none; }
.bannerinner ul li a:hover { text-decoration: underline; }
@media (max-width: 575px) {
  .bannerinner { padding: 36px 0 !important; }
  .bannerinner h1, .bannerinner h2 { font-size: 22px !important; padding: 0 12px; }
}

/* Service-page H2 underline accent + spacing */
.service_description h2 {
  margin-top: 32px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #a1191b;
  display: inline-block;
  color: #1a1a1a;
  font-weight: 700;
}
.service_description h3 { color: #a1191b; margin-top: 20px; font-weight: 600; }
.service_description p { line-height: 1.7; }
.service_description ul { line-height: 1.8; }
.service_description ul li i { color: #a1191b; margin-right: 8px; }
.service_description blockquote {
  border-left: 4px solid #a1191b;
  padding: 12px 18px;
  background: #fafafa;
  margin: 20px 0;
  font-style: italic;
  border-radius: 0 6px 6px 0;
}

/* Mobile navigation: visible hamburger + collapsible nav */
@media (max-width: 991px) {
  .menubar2 .navbar-toggler {
    display: block !important;
    position: relative;
    margin: 8px 12px;
    padding: 6px 10px;
    border: 1px solid #fff !important;
    background: rgba(255,255,255,0.12) !important;
    border-radius: 4px;
  }
  .menubar2 .navbar-toggler-icon {
    width: 24px; height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23fff' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
  }
  .menubar2 .navbar-collapse {
    background: #a1191b;
    padding: 8px 12px;
    margin-top: 8px;
    border-radius: 4px;
  }
  .menubar2 .navbar-nav .nav-link { color: #fff !important; padding: 8px 4px !important; }
  .menubar2 .navbar-nav .dropdown-menu { background: rgba(255,255,255,.08); border: none; }
  .menubar2 .navbar-nav .dropdown-menu .dropdown-item { color: #fff; }
  .menubar2 .navbar-nav .dropdown-menu .dropdown-item:hover { background: rgba(255,255,255,.12); color: #fbd93a; }
}
/* Mobile topbar — compact horizontal row, drops labels, keeps icons + key info */
@media (max-width: 767px) {
  .bottomhead { padding: 10px 0 !important; }
  .bottomhead .container > .row { align-items: center; }
  .bottomhead .col-lg-3 { text-align: center; padding-bottom: 6px; }
  .logo img { max-width: 110px !important; }

  .logo_right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-around !important;
    align-items: center;
    gap: 6px;
    margin: 0;
  }
  .logo_right .single-header-info {
    flex: 0 1 auto !important;
    padding: 4px 0 !important;
    display: flex !important;
    align-items: center;
    gap: 6px;
  }
  .logo_right .single-header-info .icon-box {
    display: inline-block !important;
  }
  .logo_right .single-header-info .inner-box {
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
  }
  .logo_right .single-header-info .inner-box i {
    font-size: 15px !important;
    line-height: 36px !important;
  }
  /* Hide all text labels on mobile — entire single-header-info is the clickable button */
  .logo_right .single-header-info .content { display: none !important; }
  a.single-header-info { text-decoration: none !important; }
}
/* Tiny screens — smaller icons still */
@media (max-width: 360px) {
  .logo_right .single-header-info .inner-box {
    width: 32px !important; height: 32px !important; line-height: 32px !important;
  }
  .logo img { max-width: 90px !important; }
}

/* Footer 2-col services list: balanced columns */
.footerbox ul.col_2 {
  columns: 2;
  column-gap: 24px;
  padding: 0;
  list-style: none;
}
.footerbox ul.col_2 li { break-inside: avoid; list-style: none; }

/* Homepage hero slider: proper height + object-fit */
.wrapper, .wrapper #sb-slider, .wrapper #sb-slider li {
  position: relative; height: 480px; max-width: 100%; overflow: hidden;
}
.wrapper #sb-slider li img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (max-width: 991px) { .wrapper, .wrapper #sb-slider, .wrapper #sb-slider li { height: 360px; } }
@media (max-width: 575px) { .wrapper, .wrapper #sb-slider, .wrapper #sb-slider li { height: 260px; } }

/* Contact page map iframe — explicit dimensions */
.contactpage .map { margin-top: 20px; }
.contactpage .map iframe {
  width: 100% !important;
  height: 360px !important;
  min-height: 320px;
  border: 0;
  display: block;
  border-radius: 6px;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
.contactpage form input, .contactpage form textarea {
  width: 100%; margin-bottom: 10px; padding: 10px 12px;
  border: 1px solid #ddd; border-radius: 4px; font-size: 14px;
  box-sizing: border-box;
}
.contactpage form input[type=submit] {
  background: #a1191b; color: #fff; border: none; padding: 10px 32px;
  border-radius: 4px; font-weight: 600; cursor: pointer; width: auto;
}
.contactpage form input[type=submit]:hover { background: #c41e21; }
.appointpage form input:not([type=submit]),
.appointpage form textarea,
.appointpage form select {
  width: 100%; margin-bottom: 10px; padding: 10px 12px;
  border: 1px solid #ddd; border-radius: 4px; font-size: 14px;
  box-sizing: border-box;
}
.appointpage form .read,
.appointpage form input[type=submit] {
  background: #a1191b !important; color: #fff !important; border: none !important;
  padding: 10px 32px !important; border-radius: 4px !important; font-weight: 600 !important;
  cursor: pointer; margin-top: 12px; width: auto !important; text-decoration: none;
}

/* Captcha image clearly sized */
img[src="captcha.php"] {
  border: 1px solid #ddd;
  background: #fff;
  padding: 4px;
  border-radius: 4px;
  display: inline-block;
  margin: 6px 0;
  min-height: 40px;
}

/* Gallery grid: uniform tile heights */
.gallery_main .row > div { margin-bottom: 16px; }
.gallery_main img { width: 100%; height: 220px; object-fit: cover; border-radius: 6px; transition: transform .25s ease; }
.gallery_main a:hover img { transform: scale(1.03); }

/* Footer copyright center */
.footerbtm p { text-align: center; margin: 0; }

/* Stop horizontal scroll on mobile */
html, body { overflow-x: hidden; max-width: 100vw; }

/* Form alignment improvements */
.find-course__form .form-control {
  width: 100%; margin-bottom: 10px; padding: 10px 12px; border: 1px solid #ddd; border-radius: 4px;
  box-sizing: border-box;
}
.find-course__form .find-course__wrap-btn .btn {
  width: 100%; padding: 10px; background: #a1191b; color: #fff; border: none; font-weight: 600;
}
.find-course__form .find-course__wrap-btn .btn:hover { background: #c41e21; }
.why-form h2 { font-size: 20px; color: #a1191b; margin-bottom: 12px; margin-top: 0; }

/* Trust strip (between hero and lead paragraph) */
.marque_header { background: linear-gradient(90deg, #a1191b 0%, #c41e21 100%); padding: 12px 16px; text-align: center; }
.marque_header p { color: #fff; margin: 0; font-size: 14px; line-height: 1.6; }
@media (max-width: 575px) { .marque_header p { font-size: 12px; } }

/* Why-us / pricing page lists + tables */
.why-us ol { padding-left: 24px; line-height: 1.8; }
.why-us ul { line-height: 1.8; }
.why-us table { width: 100%; }
.why-us table td, .why-us table th { padding: 12px; vertical-align: top; }

/* FAQ accordion polish */
.specialist .panel-default, .specialist1 .panel-default {
  border: 1px solid #eee !important;
  border-radius: 4px !important;
  margin-bottom: 8px !important;
  box-shadow: none !important;
}
.specialist .panel-heading, .specialist1 .panel-heading {
  background: #fafafa !important; padding: 14px 18px !important; cursor: pointer;
  border: none !important;
}
.specialist .panel-title a, .specialist1 .panel-title a {
  color: #1a1a1a !important; text-decoration: none !important;
  font-weight: 600; font-size: 16px;
  display: block; position: relative; padding-right: 28px;
}
.specialist .panel-title a::after, .specialist1 .panel-title a::after {
  content: "+";
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  font-size: 24px; line-height: 1; color: #a1191b; font-weight: 400;
}
.specialist .panel-title a[aria-expanded="true"]::after,
.specialist1 .panel-title a[aria-expanded="true"]::after { content: "\2212"; }
.specialist .panel-body, .specialist1 .panel-body {
  padding: 16px 18px !important; background: #fff;
}

/* CTA buttons consistent */
.btn-effect.btn-info, .btn.btn-effect, .read a {
  background: #a1191b !important;
  border-color: #a1191b !important;
  color: #fff !important;
  padding: 10px 24px;
  border-radius: 4px;
  font-weight: 600;
  display: inline-block;
  text-decoration: none !important;
  transition: background .2s ease;
}
.btn-effect.btn-info:hover, .btn.btn-effect:hover, .read a:hover {
  background: #c41e21 !important;
  border-color: #c41e21 !important;
  color: #fff !important;
}

/* Section spacing */
section.about, section.why-us, section.service, section.specialist, section.blogs, section.book {
  padding-top: 40px; padding-bottom: 40px;
}
@media (max-width: 575px) {
  section.about, section.why-us, section.service, section.specialist, section.blogs, section.book {
    padding-top: 24px; padding-bottom: 24px;
  }
}

/* Service cards / product boxes on homepage carousel */
.owl-carousel .item .prodbox { overflow: hidden; border-radius: 8px; position: relative; }
.owl-carousel .item .prodbox img { width: 100%; height: 180px; object-fit: cover; transition: transform .3s ease; }
.owl-carousel .item:hover .prodbox img { transform: scale(1.05); }
.owl-carousel .item h2, .owl-carousel .item h3 {
  font-size: 16px; font-weight: 600; color: #1a1a1a; text-align: center;
  margin: 10px 0; padding: 0 8px;
}

/* Testimonials carousel polish */
.blogs .blogbox { background: #fafafa; padding: 24px; border-radius: 8px; border: 1px solid #eee; }
.blogs .blogbox h2, .blogs .blogbox h3 { color: #a1191b; font-size: 18px; margin-bottom: 8px; }
.blogs .blogbox p { font-size: 14px; line-height: 1.6; color: #444; }
.blogs .blogbox img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; margin-bottom: 12px; }

/* Tighten H1s on internal pages */
h1 { font-size: 30px; line-height: 1.3; margin-top: 20px; margin-bottom: 12px; color: #1a1a1a; font-weight: 700; }
h2 { font-size: 24px; line-height: 1.3; margin-top: 24px; margin-bottom: 12px; color: #1a1a1a; font-weight: 700; }
h3 { font-size: 18px; line-height: 1.4; margin-top: 16px; margin-bottom: 8px; color: #333; font-weight: 600; }
@media (max-width: 575px) {
  h1 { font-size: 22px; }
  h2 { font-size: 19px; }
  h3 { font-size: 16px; }
}

/* Header contact strip cleaner */
.single-header-info { padding: 12px 0; text-decoration: none !important; color: inherit !important; }
a.single-header-info:hover .content p { color: #a1191b !important; }
a.single-header-info:hover .inner-box { background: #c41e21; }
.single-header-info .icon-box { display: inline-block; vertical-align: middle; }
.single-header-info .inner-box {
  width: 50px; height: 50px; line-height: 50px; text-align: center;
  border-radius: 50%; background: #a1191b; color: #fff;
}
.single-header-info .icon-box .inner-box i,
.single-header-info .inner-box i { font-size: 20px !important; color: #fff !important; line-height: 50px !important; }
.single-header-info .content { display: inline-block; vertical-align: middle; margin-left: 12px; }
.single-header-info .content h3 { font-size: 13px; font-weight: 600; margin: 0 0 2px; color: #888; text-transform: uppercase; }
.single-header-info .content p, .single-header-info .content p a {
  margin: 0; font-size: 15px; color: #1a1a1a; font-weight: 600; text-decoration: none;
}
@media (max-width: 991px) {
  .single-header-info { padding: 6px 0; }
  .single-header-info .inner-box { width: 40px; height: 40px; line-height: 40px; }
  .single-header-info .inner-box i { font-size: 16px; line-height: 40px; }
  .single-header-info .content h3 { font-size: 11px; }
  .single-header-info .content p, .single-header-info .content p a { font-size: 13px; }
}

/* Logo sizing */
.logo img { max-width: 180px; height: auto; }
@media (max-width: 575px) { .logo img { max-width: 120px; } }

/* ===== Final polish pass ===== */

/* Testimonials section — replace heavy bg image with clean light bg + accent stripe */
section.blogs {
  background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%) !important;
  padding: 60px 0 !important;
  position: relative;
  border-top: 4px solid #fbd93a;
}
section.blogs::before, section.blogs::after { display: none !important; }
section.blogs h1, section.blogs h2 {
  color: #1a1a1a !important;
  text-align: center;
  font-size: 28px;
  margin-bottom: 30px;
}
section.blogs h1::before, section.blogs h1::after,
section.blogs h2::before, section.blogs h2::after {
  display: none !important;
  content: none !important;
}
section.blogs .blogbox {
  background: #fff;
  padding: 24px;
  border-radius: 8px;
  border: 1px solid #eee;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  text-align: left;
  min-height: 200px;
}
section.blogs .blogbox h2, section.blogs .blogbox h3 {
  color: #a1191b !important;
  font-size: 17px !important;
  margin: 0 0 8px;
  text-align: left;
}
section.blogs .blogbox p { font-size: 14px; line-height: 1.6; color: #444; margin: 0; }
section.blogs .blogbox img {
  position: static !important;
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  left: auto !important;
  top: auto !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  margin: 0 0 12px 0 !important;
  border: 2px solid #fbd93a !important;
  opacity: 1 !important;
}
section.blogs .blogbox {
  height: auto !important;
  min-height: 220px;
  position: relative;
}
section.blogs .blogbox p {
  padding: 0 !important;
  padding-top: 0 !important;
  line-height: 1.65 !important;
}

/* CTA "book" section — red gradient with white text */
section.book {
  background: linear-gradient(135deg, #a1191b 0%, #c41e21 100%) !important;
  padding: 56px 0 !important;
  text-align: center;
  color: #fff;
}
section.book h1, section.book h2 {
  color: #fff !important;
  background: transparent !important;
  width: auto !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
}
section.book p { color: rgba(255,255,255,.92); font-size: 16px; margin-bottom: 20px; }
section.book .btn-effect.btn-info,
section.book .btn.btn-effect {
  background: #fff !important;
  color: #a1191b !important;
  border: 2px solid #fff !important;
  padding: 12px 28px !important;
  font-weight: 700;
  margin: 0 8px 8px;
}
section.book .btn-effect.btn-info:hover,
section.book .btn.btn-effect:hover {
  background: #fbd93a !important;
  color: #1a1a1a !important;
  border-color: #fbd93a !important;
}

/* Areas We Serve / dense localities paragraph: lighter accent */
section.why-us[aria-labelledby="areas-heading"] {
  background: #fafafa;
  padding: 40px 0 !important;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
section.why-us[aria-labelledby="areas-heading"] p { line-height: 2; }
section.why-us[aria-labelledby="areas-heading"] strong { color: #a1191b; }

/* FAQ section on homepage */
section.specialist {
  background: #fff !important;
  padding: 50px 0 !important;
}
section.specialist .why_choos h1,
section.specialist .why_choos h2 {
  text-align: center;
  color: #1a1a1a !important;
  margin-bottom: 30px;
}
section.specialist h1::before, section.specialist h1::after,
section.specialist h2::before, section.specialist h2::after {
  display: none !important;
}

/* Header top contact strip alignment */
.bottomhead { padding: 14px 0; border-bottom: 1px solid #eee; }
.bottomhead .row { align-items: center; }
.logo_right { display: flex; justify-content: flex-end; gap: 24px; align-items: center; }
.logo_right .single-header-info { display: flex; align-items: center; }
@media (max-width: 991px) {
  .logo_right { justify-content: flex-start; gap: 12px; flex-wrap: wrap; }
}

/* Navigation bar: brand-red consistent */
.menubar2 {
  background: #a1191b;
  padding: 0;
}
.menubar2 .navbar { padding: 0; }
.menubar2 .navbar-nav .nav-link {
  color: #fff !important;
  padding: 14px 16px !important;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.menubar2 .navbar-nav .nav-link:hover { color: #fbd93a !important; }
.menubar2 .navbar-nav .dropdown-menu {
  background: #fff;
  border: none;
  border-top: 3px solid #fbd93a;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
  min-width: 220px;
}
.menubar2 .navbar-nav .dropdown-menu .dropdown-item {
  color: #1a1a1a;
  padding: 10px 14px;
  font-size: 14px;
}
.menubar2 .navbar-nav .dropdown-menu .dropdown-item:hover {
  background: #f5f5f5;
  color: #a1191b;
}

/* About section image+text alignment */
section.about { padding: 50px 0 !important; }
section.about .profile { background: #fff; padding: 32px; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
section.about .profile h1 { font-size: 28px; line-height: 1.3; }
section.about .profile h2 { font-size: 20px; color: #a1191b; font-weight: 600; }
section.about .profile p { color: #444; }

/* Service section header alignment */
section.service { background: #a1191b !important; }
section.service .serviceinner h2 {
  text-align: center;
  font-size: 28px;
  margin-bottom: 16px;
  color: #fff !important;
}
section.service .serviceinner > .row > .col-lg-12 > p,
section.service .serviceinner p.text-center,
section.service .serviceinner p {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 30px;
  color: #fff !important;
  opacity: 0.95;
}
section.service .item h3 {
  text-align: center;
  font-size: 15px;
  margin-top: 12px;
  color: #1a1a1a;
  font-weight: 600;
  background: #fff;
  padding: 10px 8px;
  margin: 0;
  border-radius: 0 0 8px 8px;
}
/* Make service cards readable — card image + label area sit on white background */
section.service .item .prodbox { background: #fff; border-radius: 8px; overflow: hidden; }
section.service .item .prodbox img { border: none !important; }
section.service .owl-nav button { color: #fff !important; }
section.service .owl-dots .owl-dot.active span,
section.service .owl-dots .owl-dot:hover span { background: #fff !important; }
section.service .owl-dots .owl-dot span { background: rgba(255,255,255,.5) !important; }

/* Why-us2 inner table table */
.why-us2 .we_care.our_price table { background: #fff; border-radius: 6px; overflow: hidden; }
.why-us2 .we_care.our_price td { border: 1px solid #eee; padding: 14px; }

/* Header buttons */
.acf-tooltip, .whts a p, .whts1 a p {
  /* Already styled via inline; ensure tooltip doesn't conflict with Bootstrap */
  z-index: 10000;
}

/* Footer styling */
footer { background: #1a1a1a; color: #ccc; }
footer .footertop { padding: 50px 0 30px !important; }
footer .footerbox h2 {
  color: #fbd93a !important;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(251,217,58,.2);
}
footer .footerbox ul { padding: 0; list-style: none; }
footer .footerbox ul li { margin-bottom: 8px; }
footer .footerbox ul li a {
  color: #ccc !important;
  text-decoration: none;
  font-size: 14px;
  transition: color .2s ease;
}
footer .footerbox ul li a:hover { color: #fbd93a !important; }
footer .footerbox p, footer .footerbox a { color: #ccc !important; }
footer .footerbox p i, footer .footerbox p .fas, footer .footerbox p .fab { color: #fbd93a; margin-right: 8px; }
footer .footerbtm {
  background: #111;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
footer .footerbtm p {
  color: #888 !important;
  font-size: 13px;
  margin: 0;
}

/* Force section gaps */
section { display: block; }


/* Force WoW.js elements visible (prevents large empty voids before scroll-triggered animation) */
.wow {
  animation-duration: 0s !important;
  -webkit-animation-duration: 0s !important;
  visibility: visible !important;
}
.slide, .wow, .fadeInUp, .fadeInDown, .fadeInLeft, .fadeInRight, .fadeIn {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Center FAQ h2 on homepage with the question/answer cards visible */
section.specialist .container { max-width: 900px; }
section.specialist .why_choos > h1, section.specialist .why_choos > h2 {
  text-align: center;
  display: block !important;
  width: 100% !important;
  border: none !important;
}

/* Testimonial cards: ensure they render visibly */
section.blogs .owl-carousel .item { padding: 0 8px; }
section.blogs .bloginner { max-width: 1200px; margin: 0 auto; }

/* CTA section book — extra polish */
section.book .container { max-width: 900px; }
section.book p { font-size: 18px; }

/* Bottomhead vertical alignment */
.bottomhead { padding: 16px 0 !important; }
.bottomhead .container .row { display: flex; align-items: center; }
.bottomhead .logo { display: flex; align-items: center; }


/* Contact map: always-visible location card + iframe fallback */
.contactpage .map { margin-top: 20px; }
.contactpage .map-card {
  display: block;
  background: linear-gradient(135deg, #a1191b 0%, #c41e21 100%);
  color: #fff;
  padding: 18px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(161,25,27,.25);
  transition: transform .2s ease, box-shadow .2s ease;
}
.contactpage .map-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(161,25,27,.35);
  color: #fff;
}
.contactpage .map-card__inner { display: flex; gap: 16px; align-items: flex-start; }
.contactpage .map-card__pin {
  flex: 0 0 48px;
  width: 48px; height: 48px;
  background: rgba(255,255,255,.18);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.contactpage .map-card__body { flex: 1; line-height: 1.6; }
.contactpage .map-card__body strong { display: block; font-size: 17px; margin-bottom: 4px; }
.contactpage .map-card__body span { display: block; font-size: 14px; opacity: .92; }
.contactpage .map-card__cta {
  margin-top: 10px !important;
  font-weight: 600;
  color: #fbd93a !important;
  font-size: 14px !important;
}
.contactpage .map iframe { max-width: 100%; }

/* ============================================================
   FINAL POLISH ROUND — gallery empty cells + mobile hero
   ============================================================ */

/* Gallery: hide any empty cells and remove forced min-height */
.gallery .col-lg-4:empty,
.gallery .col-md-4:empty,
.gallery .col-sm-6:empty,
.gallery [class*="col-"]:empty,
.gallery .item:empty { display: none !important; }

.gallery [class*="col-"] { min-height: 0 !important; }
.gallery [class*="col-"] a { display: block; }
.gallery [class*="col-"] img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

/* Gallery mobile: kill the white void below the grid */
@media (max-width: 767px) {
  section.gallery_main { padding-bottom: 30px !important; }
  section.gallery_main .row.gallery { margin-bottom: 0 !important; }
  .gallery [class*="col-"] {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 12px;
  }
  .gallery .item {
    min-height: 0 !important;
    height: auto !important;
  }
}

/* Home mobile hero — slicebox is disabled on mobile (JS-gated).
   Show static img for first slide, hide the rest. Fit to container. */
@media (max-width: 767px) {
  .wrapper,
  #sb-slider,
  ul#sb-slider {
    height: 200px !important;
    min-height: 200px !important;
    background: #d4e7f2;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #sb-slider li {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 200px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: none;
  }
  #sb-slider li:first-child { display: block !important; }
  #sb-slider li img {
    width: 100% !important;
    height: 200px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    background: #d4e7f2;
  }
  /* Hide slicebox arrows on mobile — no longer relevant */
  #nav-arrows, #nav-dots { display: none !important; }
  .sb-slider-text h2,
  .sb-slider-text h1 { font-size: 22px !important; line-height: 1.25 !important; }
  .sb-slider-text p { font-size: 14px !important; line-height: 1.4 !important; }
  .sb-slider-text { padding: 16px !important; }
}

/* Inner-page mobile hero banner — make sure heading isn't squashed */
@media (max-width: 767px) {
  .bannerinner {
    padding: 40px 0 !important;
    min-height: 140px;
  }
  .bannerinner h1,
  .bannerinner h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
  }
  .bannerinner ul li,
  .bannerinner ul li a {
    font-size: 13px !important;
  }
}

