/**
 * Global stylesheet – Defence site theme
 * Primary: #6c9689 | Text: #4a4e56 | Background: #fff
 * Single typography system – Novera (local), consistent sizes and colors
 */

/* Page loader – disabled site-wide (remove loading overlay) */
body.loading-overlay-showing .loading-overlay,
.loading-overlay {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

:root {
  /* Colors */
  --color-primary: #6c9689;
  --color-primary-hover: #6c9689;
  --color-primary-light: rgba(108, 150, 137, 0.08);
  --color-text: #4a4e56;
  --color-text-muted: #6c757d;
  --color-bg: #ffffff;
  --color-bg-alt: #f8f9fa;
  /* Typography – Novera (local) */
  --font-sans: 'Novera', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* Base */
  --text-base: 1rem;
  --text-base-mobile: 0.9375rem;
  --leading-base: 1.6;
  --leading-tight: 1.35;
  --leading-relaxed: 1.65;
  /* Type scale */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  /* Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  /* Legacy (for existing overrides) */
  --font-body: var(--font-sans);
  --font-heading: var(--font-sans);
}

/* ---------------------------------------------------------------------------
   Typography system – base
--------------------------------------------------------------------------- */
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  font-family: var(--font-sans) !important;
}

@media (max-width: 767px) {
  html {
    font-size: 15px;
  }
}

body,
.body {
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  font-weight: var(--font-normal);
  line-height: var(--leading-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Site-wide: Novera font for ALL text – headings, paragraphs, spans, menu, submenu, footer */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
p, span, a, li, td, th, label, button, .btn,
input, select, textarea,
.body h1, .body h2, .body h3, .body h4, .body h5, .body h6,
.body .h1, .body .h2, .body .h3, .body .h4, .body .h5, .body .h6,
.body p, .body li, .body a, .body span, .body td, .body th,
.body button, .body .btn, .body input, .body select, .body textarea, .body label,
.body nav a, .body .nav a, .body .nav-link, .body .dropdown-menu, .body .dropdown-item,
.body .header-nav-main a, .body .header-nav-top a, .body .list-unstyled li,
.body .keyfeaturestitle, .body .keyfeaturestext, .body .number,
.lead, .text-1, .text-2, .text-3, .text-4, .text-5, .text-6, .text-7,
.keyfeaturestitle, .keyfeaturestext,
main, main h1, main h2, main h3, main h4, main h5, main h6,
main p, main li, main a, main span, main button, main .btn, main label, main input, main select, main textarea,
/* Header – menu, submenu, dropdown (all nav text) */
#header, #header h1, #header h2, #header h3, #header h4, #header h5, #header h6,
#header p, #header li, #header a, #header span, #header label,
#header .header-nav a, #header .header-nav-top a, #header .nav-link, #header .dropdown-item,
#header .header-nav-main a, #header .header-nav-main .nav-pills > li > a,
#header .header-nav-main .dropdown-toggle, #header .header-nav-main .dropdown-menu,
#header .header-nav-main .dropdown-menu a, #header .header-nav-main .dropdown-menu .dropdown-item,
#header .header-nav-main .dropdown-menu li, #header .header-nav-main .dropdown-submenu > a,
#header .dropdown-menu .dropdown-item, #header .dropdown-menu li a,
/* Footer */
#footer, #footer a, #footer p, #footer li, #footer span, #footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6,
#footer .container, .footer .container,
/* Content areas */
.contentbg, .contentbg h1, .contentbg h2, .contentbg p, .contentbg a, .contentbg li, .contentbg span,
.container h1, .container h2, .container h3, .container h4, .container h5, .container h6,
.container p, .container a, .container li, .container span,
.products-section .product-card-modern__title, .products-section .product-card-modern__cta,
.thumb-info-inner, .list-unstyled li, .list-unstyled a {
  font-family: var(--font-sans) !important;
}

/* Preserve icon fonts (Font Awesome, star rating) – Novera must not override these */
.fa, .fas, .far, .fab, .fal, .fad, [class*="fa-"] {
  font-family: 'Font Awesome 5 Free' !important;
}
.fab {
  font-family: 'Font Awesome 5 Brands' !important;
}
.star, .star-rating {
  font-family: 'star' !important;
}

@media (max-width: 767px) {
  body,
  .body {
    font-size: var(--text-base-mobile) !important;
  }
}

/* ---------------------------------------------------------------------------
   Images – prevent overflow, reduce layout shift, faster perceived load
--------------------------------------------------------------------------- */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Lazy load images below the fold (add loading="lazy" in HTML where needed) */
img[loading="lazy"] {
  content-visibility: auto;
}

/* ---------------------------------------------------------------------------
   Banners – all same as About Us: min 240px, max 400px, aspect 1920/480
--------------------------------------------------------------------------- */
/* All banner sections – consistent size site-wide */
.headerbg,
.headerceprobg,
.header360bg,
.headervip-dome-omnibg,
.headerspooferbg,
.headertrishulbg,
.headerceplrobg,
.contact-page .contact-page-banner.headerbg,
.career-page .career-page-banner.headerbg,
section.container.headerceprobg,
section.container.headerceplrobg {
  padding: 0 !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Headerbg banner image – optimized image (jpeg-optimizer_zebu-seal-banner-(1).png) */
section.headerbg,
.headerbg {
  background-image: url(../img/zebu-seal-banner-optimized.png) !important;
}

/* Zebu Seal page – same as About Us/Career: same size, cover so banner fills nicely */
section.headerbg.headerbg-zebu-seal,
.headerbg.headerbg-zebu-seal {
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-zebu-seal,
  .headerbg.headerbg-zebu-seal {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Carmel page – same banner size as About Us: min 240px, max 400px */
section.headerceprobg,
.headerceprobg {
  background-image: url(../img/carmelbanner.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerceprobg,
  .headerceprobg {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* About Us page – banner: min 240px, max 400px height */
section.headerbg.headerbg-about,
.headerbg.headerbg-about {
  background-image: url(/img/about.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-about,
  .headerbg.headerbg-about {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Leadership page – same banner size as About Us: min 240px, max 400px */
section.headerbg.headerbg-leadership,
.headerbg.headerbg-leadership {
  background-image: url(/img/leadership.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-leadership,
  .headerbg.headerbg-leadership {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Clients page – same banner size as About Us: min 240px, max 400px */
section.headerbg.headerbg-clients,
.headerbg.headerbg-clients {
  background-image: url(/img/client.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-clients,
  .headerbg.headerbg-clients {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Career page – same banner size as About Us: min 240px, max 400px */
section.headerbg.headerbg-career,
.headerbg.headerbg-career,
.career-page-banner.headerbg-career {
  background-image: url(/img/carer.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-career,
  .headerbg.headerbg-career,
  .career-page-banner.headerbg-career {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Contact Us page – same banner size as About Us: min 240px, max 400px */
section.headerbg.headerbg-contact,
.headerbg.headerbg-contact,
.contact-page-banner.headerbg-contact {
  background-image: url(/img/contact.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-contact,
  .headerbg.headerbg-contact,
  .contact-page-banner.headerbg-contact {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* KAMET page – same banner size as About Us: min 240px, max 400px */
section.headerbg.headerbg-kamet,
.headerbg.headerbg-kamet {
  background-image: url(/img/DCM-KAMET-BANNER.png) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-kamet,
  .headerbg.headerbg-kamet {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Trishul page – same banner size as About Us / KAMET: min 240px, max 400px */
section.headerbg.headerbg-trishul,
.headerbg.headerbg-trishul {
  background-image: url(/img/trishul.jpg) !important;
  width: 100% !important;
  min-height: 240px !important;
  max-height: 400px !important;
  aspect-ratio: 1920 / 480 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  section.headerbg.headerbg-trishul,
  .headerbg.headerbg-trishul {
    min-height: 240px !important;
    max-height: 400px !important;
  }
}

/* Legacy KAMET/Kailash section (img-based) – keep for others if needed */
section.headerkailashbg {
  padding: 0 !important;
  min-height: 0;
  aspect-ratio: auto;
  overflow: visible;
}

/* Page header with parallax/background image (e.g. sectionbg.jpg) – same ratio */
.page-header.page-header-background,
.page-header.page-header-background-md {
  min-height: 200px;
  aspect-ratio: 1920 / 700;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Banner as <img> (KAMET page): show full image so text on banner is not cut off */
section.headerkailashbg .row,
section.headerkailashbg .row .col-md-8 {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

section.headerkailashbg img[src*="BANNER"],
section.headerkailashbg img[src*="banner"],
section.headerkailashbg img[src*="KAMET"] {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  object-fit: contain;
  object-position: center top;
  vertical-align: top;
}

/* Carmel-lite-features slider banner img – same 1920×700 */
.rev-slidebg,
img.rev-slidebg[src*="banner"],
.slider.rev_slider img[src*="carmel-light-banner"] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1920 / 700;
  object-fit: cover !important;
  object-position: center;
}

/* Container banners (specs/features): keep aspect ratio when section has .container */
section.container.headerceprobg,
section.container.headerceplrobg {
  max-width: 100%;
}

section.headerkailashbg {
  margin-top: 0;
}

/* ---------------------------------------------------------------------------
   Headings – same font, consistent scale and color
--------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.heading-primary,
.heading.heading-primary h1,
.heading.heading-primary h2,
.heading.heading-primary h3,
.heading.heading-primary h4,
.heading.heading-primary h5,
.heading.heading-primary h6,
.heading-secondary,
.heading.heading-secondary h1,
.heading.heading-secondary h2,
.heading.heading-secondary h3,
.heading.heading-secondary h4,
.heading.heading-secondary h5,
.heading.heading-secondary h6 {
  color: var(--color-text) !important;
  font-family: var(--font-sans) !important;
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  margin-top: 0;
}

h1, .h1 { font-size: var(--text-3xl); font-weight: var(--font-bold); }
h2, .h2 { font-size: var(--text-2xl); }
h3, .h3 { font-size: var(--text-xl); }
h4, .h4 { font-size: var(--text-lg); }
h5, .h5 { font-size: var(--text-md); font-weight: var(--font-semibold); }
h6, .h6 { font-size: var(--text-sm); font-weight: var(--font-semibold); }

@media (max-width: 767px) {
  h1, .h1 { font-size: 1.5rem; }
  h2, .h2 { font-size: 1.375rem; }
  h3, .h3 { font-size: 1.25rem; }
  h4, .h4 { font-size: 1.125rem; }
  h5, .h5 { font-size: 1rem; }
  h6, .h6 { font-size: 0.875rem; }
}

/* ---------------------------------------------------------------------------
   Paragraphs, lists, small text
--------------------------------------------------------------------------- */
p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-family: var(--font-sans) !important;
  font-size: inherit;
  color: var(--color-text) !important;
  line-height: var(--leading-base);
}

p:last-child {
  margin-bottom: 0;
}

li {
  font-family: var(--font-sans) !important;
  color: var(--color-text);
  line-height: var(--leading-base);
}

.lead {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--color-text) !important;
}

small, .text-small {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.number {
  font-family: var(--font-sans) !important;
  font-size: inherit;
}

/* Primary accent (links, highlights, buttons) */
html .text-color-primary,
html .text-primary,
html .heading-primary.lnk-primary,
a.text-color-primary,
.text-color-primary {
  color: var(--color-primary) !important;
}

html .heading-secondary,
html .text-color-secondary,
html .text-secondary {
  color: var(--color-text) !important;
}

/* Section titles used across site */
.keyfeaturestitle {
  color: var(--color-text) !important;
  font-family: var(--font-sans) !important;
}

.keyfeaturestext {
  color: var(--color-text) !important;
  font-family: var(--font-sans) !important;
}

/* Read more link */
.read-more,
a.read-more {
  color: var(--color-primary) !important;
  font-family: var(--font-sans) !important;
}

.read-more:hover {
  color: var(--color-primary-hover) !important;
}

/* ---------------------------------------------------------------------------
   Links – same font and color system
--------------------------------------------------------------------------- */
a {
  color: var(--color-primary);
  font-family: var(--font-sans) !important;
  font-size: inherit;
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-hover);
}

/* ---------------------------------------------------------------------------
   Buttons – same font and color
--------------------------------------------------------------------------- */
button,
.btn,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  font-family: var(--font-sans) !important;
  font-size: var(--text-md) !important;
  font-weight: var(--font-semibold);
  color: inherit;
}

.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
  color: #fff !important;
}

/* ---------------------------------------------------------------------------
   Form controls – inputs, select, textarea, label
--------------------------------------------------------------------------- */
label,
input,
select,
textarea {
  font-family: var(--font-sans) !important;
  font-size: var(--text-md);
  color: var(--color-text);
}

label {
  font-weight: var(--font-medium);
  color: var(--color-text) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-text-muted);
}

.form-control {
  font-family: var(--font-sans) !important;
  font-size: var(--text-md);
  color: var(--color-text);
}

/* Header and footer – inherit typography */
#header,
#footer {
  font-family: var(--font-sans) !important;
}

#header a,
#footer a,
#header p,
#footer p,
#header li,
#footer li {
  font-family: inherit !important;
}

/* Remove text-justify from footer (theme applies justify to p globally) */
#footer,
#footer p,
#footer li,
#footer span,
#footer a,
#footer div,
#footer .footer-contact p,
#footer .footer-address p {
  text-align: left !important;
}

/* Remove text-justify from small text site-wide */
small,
.text-1,
.text-2,
.text-3,
.text-muted {
  text-align: left !important;
}

/* Footer Quick Link – vertical column (menu style) */
#footer ul.footer-quick-links,
#footer .footer-quick-links,
#footer .col-md-4 ul.footer-quick-links,
#footer ul.list.footer-quick-links {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.5rem 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer ul.footer-quick-links li,
#footer .footer-quick-links li,
#footer .col-md-4 ul.footer-quick-links li,
#footer ul.list.footer-quick-links li {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 0 0 0 !important;
}

#footer ul.footer-quick-links li > [class*="fa-"]:first-child,
#footer .footer-quick-links li > [class*="fa-"]:first-child,
#footer .col-md-4 ul.footer-quick-links li > [class*="fa-"]:first-child,
#footer ul.list.footer-quick-links li > [class*="fa-"]:first-child {
  position: static !important;
  margin-right: 0.25rem !important;
}

#footer ul.footer-quick-links li a,
#footer .footer-quick-links li a,
#footer .col-md-4 ul.footer-quick-links li a,
#footer ul.list.footer-quick-links li a {
  white-space: nowrap;
}

/* Footer logo – DCM Shriram Defence (proper alignment) */
#footer .footer-logo-img,
#footer img.footer-logo-img {
  margin-top: 51px;
  max-width: 260px;
  width: auto;
  height: auto;
  max-height: 70px;
  object-fit: contain;
  display: block;
}

@media (max-width: 767px) {
  #footer ul.footer-quick-links,
  #footer .footer-quick-links {
    gap: 0.75rem 1.5rem;
  }
}

/* Dropdowns, lists, nav – same font */
.dropdown-menu,
.dropdown-item,
.nav,
.nav-pills a,
.list-unstyled,
ul.list {
  font-family: var(--font-sans) !important;
}

/* ---------------------------------------------------------------------------
   Header
--------------------------------------------------------------------------- */
/* Main header – white background (logo + nav area) */
#header .header-body {
  background: #ffffff !important;
  border-top-color: rgba(0, 0, 0, 0.08) !important;
}

/* Header logo – DCM Shriram Defence (proper alignment) */
#header .header-logo img,
#header .header-logo .header-logo-img {
  display: block !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  vertical-align: middle !important;
}

/* Top bar – dark gray (#2b3036), light text, teal icons */
.header-top.header-top-borders {
  background: #2b3036 !important;
  border-bottom: none !important;
  position: relative;
}
/* Thin dark gray strip above top bar */
.header-top.header-top-borders::before {
  content: '';
  display: block;
  height: 5px;
  background: #2b3036;
}
#header .header-top.header-top-borders .nav-item-borders {
  border-right-color: rgba(255, 255, 255, 0.2) !important;
}

/* Main nav – dark gray text (#2b3036) on white header */
#header .header-nav-main nav .nav-pills > li {
  margin-left: 2px;
}

#header .header-nav-main nav .nav-pills > li > a {
  color: #2b3036 !important;
  padding: 0.6rem 1rem !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  border-radius: 6px;
  transition: color 0.2s ease, background 0.2s ease;
}

/* Nav link hover / active – teal accent */
#header .header-nav-main nav .nav-pills > li > a:hover,
#header .header-nav-main nav .nav-pills > li > a:focus,
#header .header-nav-main nav .nav-pills > li.active > a {
  color: #6c9689 !important;
  background: rgba(30, 143, 133, 0.08) !important;
}

/* Parent menu when dropdown open – keep dark text */
#header .header-nav-main nav .nav-pills > li.dropdown.open > a,
#header .header-nav-main nav .nav-pills > li.dropdown.open > a.dropdown-toggle,
#header .header-nav-main nav .nav-pills > li.dropdown:hover > a,
#header .header-nav-main nav .nav-pills > li.dropdown.active > a {
  color: #2b3036 !important;
  background: transparent !important;
}

#header .header-nav-main nav .nav-pills > li.dropdown > a:hover,
#header .header-nav-main nav .nav-pills > li.dropdown > a:focus {
  color: #6c9689 !important;
  background: rgba(30, 143, 133, 0.08) !important;
}

/* Sticky header – same colors */
html.sticky-header-active #header .header-nav-main nav .nav-pills > li.dropdown.open > a,
html.sticky-header-active #header .header-nav-main nav .nav-pills > li.dropdown.open > a.dropdown-toggle,
html.sticky-header-active #header .header-nav-main nav .nav-pills > li.dropdown:hover > a,
html.sticky-header-active #header .header-nav-main nav .nav-pills > li.dropdown.active > a {
  background: transparent !important;
  color: #2b3036 !important;
}
html.sticky-header-active #header .header-nav-main nav .nav-pills > li.dropdown > a:hover,
html.sticky-header-active #header .header-nav-main nav .nav-pills > li.dropdown > a:focus {
  background: rgba(30, 143, 133, 0.08) !important;
  color: #6c9689 !important;
}

#header .header-nav-main nav > ul > li.open > a,
#header .header-nav-main nav > ul > li.dropdown:hover > a {
  background: transparent !important;
  color: #2b3036 !important;
}
#header .header-nav-main nav > ul > li.dropdown > a:hover {
  background: rgba(30, 143, 133, 0.08) !important;
  color: #6c9689 !important;
}

/* Toggle arrow: show on all main menu items that have a dropdown (override theme display:none) */
#header .header-nav-main nav .nav-pills > li.dropdown > a.dropdown-toggle .nav-chevron,
#header .header-nav-main nav .nav-pills > li.dropdown > a.dropdown-toggle .fa-chevron-down,
#header .header-nav-main nav > ul > li.dropdown > a.dropdown-toggle .nav-chevron,
#header .header-nav-main nav > ul > li.dropdown > a.dropdown-toggle .fa-chevron-down {
  display: inline-block !important;
  font-size: 0.7em !important;
  color: #888888 !important;
  margin-left: 0.35rem !important;
  transition: transform 0.25s ease !important;
  vertical-align: middle;
}

/* Rotate arrow when submenu is open (.open from JS or :has(.show) for Bootstrap) */
#header .header-nav-main nav .nav-pills > li.dropdown.open > a .nav-chevron,
#header .header-nav-main nav .nav-pills > li.dropdown.open > a .fa-chevron-down,
#header .header-nav-main nav .nav-pills > li.dropdown:has(.dropdown-menu.show) > a .nav-chevron,
#header .header-nav-main nav .nav-pills > li.dropdown:has(.dropdown-menu.show) > a .fa-chevron-down,
#header .header-nav-main nav > ul > li.dropdown.open > a .nav-chevron,
#header .header-nav-main nav > ul > li.dropdown.open > a .fa-chevron-down,
#header .header-nav-main nav > ul > li.dropdown:has(.dropdown-menu.show) > a .nav-chevron,
#header .header-nav-main nav > ul > li.dropdown:has(.dropdown-menu.show) > a .fa-chevron-down {
  transform: rotate(180deg);
}

#header .header-nav-main nav .nav-pills > li.dropdown > a.dropdown-toggle::after {
  display: none; /* use icon instead */
}

/* Prevent header from clipping nested dropdowns – required so all submenu items are clickable */
#header,
#header .header-body,
#header .header-container,
#header .header-nav-main,
#header .header-nav-main nav,
#header .header-nav-main nav ul.nav-pills,
#header .header-nav-main nav ul.nav-pills > li.dropdown,
#header .header-nav-main .dropdown-menu {
  overflow: visible !important;
}

/* Dropdown panels (submenus only) – wider min-width so long labels fit, no cramping */
#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu {
  margin-top: 0 !important;
  padding: 0.5rem 0 !important;
  padding-top: 0.5rem !important;
  min-width: 340px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-top: 3px solid #6c9689 !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: auto;
  overflow: visible !important;
  z-index: 1002;
}

/* Invisible bridge so hover is not lost between parent and dropdown – do not block clicks */
#header .header-nav-main nav ul.nav-pills > li.dropdown > .dropdown-menu::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 12px;
  pointer-events: none;
}

/* Show first-level dropdown only on hover or when open (don’t override theme hide) */
#header .header-nav-main nav ul.nav-pills > li.dropdown:hover .dropdown-menu,
#header .header-nav-main nav ul.nav-pills > li.dropdown.open .dropdown-menu {
  opacity: 1;
  visibility: visible;
}

#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu li a,
#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu .dropdown-item {
  color: #2b3036 !important;
  padding: 0.5rem 1.25rem !important;
  font-size: 0.9rem !important;
  font-weight: 400;
  border: none !important;
  border-radius: 0;
  transition: background 0.15s ease, color 0.15s ease;
}

#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu li a:hover,
#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu .dropdown-item:hover,
#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu li:hover > a {
  background: rgba(30, 143, 133, 0.08) !important;
  color: #6c9689 !important;
}

/* Submenu items only: spacing between text and icon, vertical alignment (no change to main menu) */
#header .header-nav-main nav ul li.dropdown .dropdown-menu li.dropdown-submenu > a {
  position: relative;
  display: flex !important;
  align-items: center !important;
  min-height: 2.5rem;
  padding-right: 3.5rem !important;
  padding-left: 1.25rem !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* Arrow only on submenu items that have a child menu; hide for terminal items */
#header .header-nav-main nav ul li.dropdown .dropdown-menu li.dropdown-submenu:not(:has(> .dropdown-menu > li)) > a::after {
  display: none !important;
  content: none !important;
}

/* Match theme specificity and add gap: space before chevron in content so text and icon are clearly separated */
#header .header-nav-main nav ul li.dropdown .dropdown-menu li.dropdown-submenu > a::after {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  content: "\00a0\00a0\00a0\f054" !important; /* 3 nbsp then chevron-right = gap between text and icon */
  position: absolute !important;
  top: 50% !important;
  right: 1rem !important;
  font-size: 0.5rem !important;
  -webkit-transform: translateY(-50%) !important;
  transform: translateY(-50%) !important;
  color: var(--color-text) !important;
  opacity: 0.6;
  transition: opacity 0.2s ease, color 0.2s ease;
}

#header .header-nav-main nav ul li.dropdown .dropdown-menu li.dropdown-submenu:hover > a::after,
#header .header-nav-main nav ul li.dropdown .dropdown-menu li.dropdown-submenu.open > a::after {
  color: #6c9689 !important;
  opacity: 1;
}

/* Nested dropdown (third-level menu) – higher z-index so it is on top and clickable */
#header .header-nav-main .dropdown-menu li.dropdown-submenu {
  position: relative;
}

#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu {
  top: -0.5rem !important;
  left: 100% !important;
  margin-left: -4px !important;
  min-width: 200px;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-top: 3px solid var(--color-primary) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: auto !important;
  overflow: visible !important;
  z-index: 10010 !important;
}

/* Bridge so hover is not lost between parent item and nested submenu – do not block clicks */
#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 12px;
  pointer-events: none;
}

/* When nested menu is hidden, do not block clicks elsewhere */
#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu {
  pointer-events: none !important;
}
/* Show nested dropdown only on hover/open – and make it receive clicks */
#header .header-nav-main .dropdown-menu li.dropdown-submenu:hover > .dropdown-menu,
#header .header-nav-main .dropdown-menu li.dropdown-submenu.open > .dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto !important;
}

#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu .dropdown-item,
#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu li a {
  color: var(--color-text) !important;
  padding: 0.5rem 1.25rem !important;
  cursor: pointer;
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
}

#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu .dropdown-item:hover,
#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu li a:hover {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
}

/* Ensure first-level dropdown does not clip third-level (nested) menu; all items clickable */
#header .header-nav-main .dropdown-menu li.dropdown-submenu {
  overflow: visible !important;
}
/* When a submenu is hovered/open, bring it (and its nested panel) above sibling items so all nested links are clickable */
#header .header-nav-main .dropdown-menu li.dropdown-submenu:hover,
#header .header-nav-main .dropdown-menu li.dropdown-submenu.open {
  position: relative;
  z-index: 10011;
}

#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu li {
  pointer-events: auto !important;
  position: relative;
  z-index: 1;
}

/* Nested submenu: ensure the ul and each item can receive clicks (no overlay blocking) */
#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu,
#header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu ul {
  pointer-events: auto !important;
}

#header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu .dropdown-item {
  pointer-events: auto !important;
  position: relative;
  z-index: 1;
}

/* First/last item spacing in dropdown */
#header .header-nav-main .dropdown-menu li:first-child a {
  border-radius: 0;
}

#header .header-nav-main .dropdown-menu li:last-child a {
  border-radius: 0;
}

/* Mobile menu (max-width: 991px) – full-width panel, no teal gap, aligned items */
@media (max-width: 991px) {
  /* Hamburger button – dark on white header */
  #header .header-btn-collapse-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 44px;
    min-width: 44px;
    padding: 0.5rem 0.75rem !important;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1002;
    background: rgba(43, 48, 54, 0.08) !important;
    color: #2b3036 !important;
    border: none;
    border-radius: 6px;
  }

  #header .header-btn-collapse-nav:hover,
  #header .header-btn-collapse-nav:focus {
    background: rgba(43, 48, 54, 0.12) !important;
    color: #6c9689 !important;
  }

  #header .header-btn-collapse-nav i {
    font-size: 1.25rem;
  }

  /* Header body and container – allow expanded menu to show (no clip) */
  #header .header-body,
  #header .header-container {
    overflow: visible !important;
  }

  /* Nav wrapper – break out to full viewport width (container is position context) */
  #header .header-nav-main {
    position: absolute !important;
    left: 50% !important;
    margin-left: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    transform: none !important;
    top: 100% !important;
    z-index: 1001;
    box-sizing: border-box;
  }

  /* Full-width background – no empty teal area; fill panel */
  #header .header-nav-main::before {
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    min-height: 100% !important;
    background: #fff !important;
    box-sizing: border-box;
  }

  /* Nav panel – full width, contained, scrollable */
  #header .header-nav-main nav {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* When nav is open (.show), ensure panel is visible and scrollable */
  #header .header-nav-main nav.collapse.show {
    visibility: visible !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Menu list – full width, consistent padding */
  #header .header-nav-main nav > ul {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 0.75rem !important;
    padding-bottom: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }

  /* Top-level list items – block layout so they stack (no overlap) */
  #header .header-nav-main nav .nav-pills > li,
  #header .header-nav-main nav > ul > li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    overflow: visible !important;
    position: relative !important;
    float: none !important;
    box-sizing: border-box;
  }

  #header .header-nav-main nav .nav-pills > li > a,
  #header .header-nav-main nav > ul > li > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 0.65rem 1rem !important;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    color: var(--color-text) !important;
    box-sizing: border-box;
  }

  #header .header-nav-main nav .nav-pills > li > a:hover,
  #header .header-nav-main nav .nav-pills > li > a:focus,
  #header .header-nav-main nav > ul > li > a:hover,
  #header .header-nav-main nav > ul > li > a:focus {
    color: var(--color-primary) !important;
    background: var(--color-primary-light) !important;
  }

  /* First-level dropdown – in flow so next item (e.g. PRODUCT) sits below, not on top */
  #header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    float: none !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: var(--color-bg-alt) !important;
    border: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: none !important;
    box-sizing: border-box;
  }

  /* When parent has .open or menu has .show (Bootstrap), show first-level dropdown */
  #header .header-nav-main nav ul.nav-pills > li.dropdown.open .dropdown-menu,
  #header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu.show {
    display: block !important;
  }

  /* Top-level dropdown toggle – ensure whole row is clickable */
  #header .header-nav-main nav ul.nav-pills > li.dropdown > a.dropdown-toggle {
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  /* Dropdown list items – block so they stack vertically */
  #header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  #header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu .dropdown-item {
    color: var(--color-text) !important;
    min-height: 44px !important;
    padding: 0.65rem 1rem 0.65rem 1.25rem !important;
    font-size: 0.9375rem !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  #header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu .dropdown-item:hover {
    background: var(--color-primary-light) !important;
    color: var(--color-primary) !important;
  }

  /* Nested submenus (e.g. Group Companies, Armoured Vehicle) – in flow, indented */
  #header .header-nav-main .dropdown-menu li.dropdown-submenu {
    display: block !important;
    position: relative !important;
    overflow: visible !important;
  }

  /* Child submenu toggle – full row clickable */
  #header .header-nav-main .dropdown-menu li.dropdown-submenu > a {
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  #header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0.5rem !important;
    background: rgba(0, 0, 0, 0.03) !important;
    border: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  /* Show child submenu when parent has .open or menu has .show (Bootstrap) */
  #header .header-nav-main .dropdown-menu li.dropdown-submenu.open > .dropdown-menu,
  #header .header-nav-main .dropdown-menu li.dropdown-submenu .dropdown-menu.show {
    display: block !important;
  }

  /* Ensure all nested menu links are clickable on mobile */
  #header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu .dropdown-item,
  #header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu li {
    pointer-events: auto !important;
  }

  #header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu li {
    display: block !important;
    float: none !important;
  }

  #header .header-nav-main .dropdown-menu li.dropdown-submenu > .dropdown-menu .dropdown-item {
    padding-left: 1.5rem !important;
  }
}

/* Top bar – text and links: light grey like reference */
.header-nav-top .nav-pills a,
.header-nav-top a {
  color: #E4E4E4 !important;
}

.header-nav-top a:hover {
  color: #fff !important;
}

/* Top bar – icons (email, phone, share): teal */
.header-nav-top .text-color-primary,
.header-nav-top i.text-color-primary,
#header .header-nav-top .nav-pills a [class*="fa-"],
#header .header-nav-top .nav-pills a .icons {
  color: #6c9689 !important;
}

#header .header-nav-top .nav-pills a:hover [class*="fa-"],
#header .header-nav-top .nav-pills a:hover .icons {
  color: #6c9689 !important;
}

/* Top-bar social icons – teal on dark (no white circle) */
#header .header-nav-top .header-social-icons.social-icons a,
#header .header-nav-top .social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 2px;
  background: transparent !important;
  color: #6c9689 !important;
  border-radius: 50%;
  transition: color 0.2s ease, opacity 0.2s ease;
}

#header .header-nav-top .header-social-icons.social-icons a:hover,
#header .header-nav-top .social-icons a:hover {
  color: #6c9689 !important;
  opacity: 0.95;
}

#header .header-nav-top .header-social-icons.social-icons a i,
#header .header-nav-top .social-icons a i {
  color: inherit !important;
}

/* Top-bar social icons alignment fix: force one-line centered icons */
#header .header-nav-top .header-social-icons.social-icons {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

#header .header-nav-top .header-social-icons.social-icons li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 2px !important;
  vertical-align: middle !important;
}

#header .header-nav-top .header-social-icons.social-icons a {
  line-height: 1 !important;
}

#header .header-nav-top .header-social-icons.social-icons a svg {
  display: block !important;
  width: 11px !important;
  height: 11px !important;
}

/* ---------------------------------------------------------------------------
   Main content sections – white background
--------------------------------------------------------------------------- */
.main .section,
.section {
  background-color: var(--color-bg) !important;
}

/* Full page – 40px padding top, no bottom padding (strong override for all pages) */
body .body .main,
body .main,
.main {
  padding-top: 40px !important;
  padding-bottom: 0 !important;
}

/* Sections inside .main – remove bottom padding so no gap above footer */
.main .section,
.main section.section {
  padding-bottom: 0 !important;
}

/* Kamet & Trishul pages – same layout as each other and about-us (no main padding, controlled spacing) */
.main.kamet-page,
.main.trishul-page {
  padding: 0 !important;
}

/* Banner: no margin below */
html body .main.kamet-page section.headerbg.headerbg-kamet,
html body .main.trishul-page section.headerbg.headerbg-trishul {
  margin-bottom: 0 !important;
}
/* First content block right after banner – same spacing as about-us (breathing room, not cramped) */
html body .main.kamet-page .headerbg + .container-fluid.container,
html body .main.trishul-page .headerbg + .container-fluid.container,
.main.kamet-page .headerbg + .container-fluid.container,
.main.trishul-page .headerbg + .container-fluid.container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2rem !important;
  padding-bottom: 0 !important;
}
/* First row inside first container */
.main.kamet-page .headerbg + .container-fluid.container > .row,
.main.trishul-page .headerbg + .container-fluid.container > .row,
.main.kamet-page .container-fluid.container:first-of-type > .row,
.main.trishul-page .container-fluid.container:first-of-type > .row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* First row's columns */
.main.kamet-page .container-fluid.container:first-of-type .row > [class*="col-"],
.main.trishul-page .container-fluid.container:first-of-type .row > [class*="col-"] {
  padding-top: 0 !important;
}

/* Kamet & Trishul: section padding (override theme-elements section.section 50px) */
html body .main.kamet-page section.section,
html body .main.trishul-page section.section,
.main.kamet-page section.section,
.main.trishul-page section.section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: none !important;
}

/* Image panels – no space above/below, image fills section */
.main.kamet-page section.section.section-background,
.main.trishul-page section.section.section-background {
  padding: 0 !important;
  min-height: 325px;
}

.main.kamet-page section.section.section-background .container,
.main.kamet-page section.section.section-background .row,
.main.kamet-page section.section.section-background .col,
.main.trishul-page section.section.section-background .container,
.main.trishul-page section.section.section-background .row,
.main.trishul-page section.section.section-background .col {
  padding: 0 !important;
  margin: 0 !important;
}

/* Text sections – vertical padding */
.main.kamet-page section.section.section-default,
.main.trishul-page section.section.section-default {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* First row (directly under banner) */
.main.kamet-page .container-fluid.container:first-of-type section.section-default,
.main.kamet-page .headerbg + .container-fluid.container section.section-default,
.main.trishul-page .container-fluid.container:first-of-type section.section-default,
.main.trishul-page .headerbg + .container-fluid.container section.section-default {
  padding-top: 1rem !important;
}

@media (min-width: 992px) {
  .main.kamet-page section.section.section-default,
  .main.trishul-page section.section.section-default {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .main.kamet-page .container-fluid.container:first-of-type section.section-default,
  .main.kamet-page .headerbg + .container-fluid.container section.section-default,
  .main.trishul-page .container-fluid.container:first-of-type section.section-default,
  .main.trishul-page .headerbg + .container-fluid.container section.section-default {
    padding-top: 1.25rem !important;
  }
}

/* More space below banner on desktop to match about-us */
@media (min-width: 992px) {
  .main.kamet-page .headerbg + .container-fluid.container,
  .main.trishul-page .headerbg + .container-fluid.container {
    padding-top: 2.5rem !important;
  }
}

/* Leadership page – Ram Mohan (Chief Technical Advisor) card centered in full section */
.main.leadership-page .row.team-list .leadership-card-center {
  margin-left: auto;
  margin-right: auto;
}

/* ---------------------------------------------------------------------------
   Home page – Drone banner slider (modern hero UI)
--------------------------------------------------------------------------- */
/* Home page: no top padding so banner sits under header */
.home-page .main,
.main:has(> .home-drone-banner) {
  padding-top: 0 !important;
}

.home-drone-banner {
  position: relative;
  width: 100% !important;
  height: 380px !important;
  min-height: 340px !important;
  max-height: 560px !important;
  overflow: hidden;
  background: #0f1419;
  z-index: 1;
}

@media (min-width: 768px) {
  .home-drone-banner {
    height: 450px !important;
  }
}

@media (min-width: 992px) {
  .home-drone-banner {
    height: 520px !important;
  }
}

.home-drone-slider.owl-carousel {
  height: 100%;
}

.home-drone-slider.owl-carousel .owl-stage-outer,
.home-drone-slider.owl-carousel .owl-stage,
.home-drone-slider.owl-carousel .owl-item {
  height: 100%;
}

.home-drone-slider .owl-item .home-drone-slide {
  height: 380px;
  min-height: 340px;
}

@media (min-width: 768px) {
  .home-drone-slider .owl-item .home-drone-slide {
    height: 450px;
  }
}

@media (min-width: 992px) {
  .home-drone-slider .owl-item .home-drone-slide {
    height: 520px;
  }
}

.home-drone-slide {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 2rem 1.5rem 5rem 1.5rem;
  box-sizing: border-box;
}

/* Subtle gradient overlay – image visible, text readable */
.home-drone-slide-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient( to right, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.75) 100% );
  pointer-events: none;
}

.home-drone-slide-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  text-align: right;
  padding-bottom: 0.5rem;
}

.home-drone-slide-content .container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.home-drone-title {
  font-family: var(--font-sans) !important;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 20px rgba(0, 0, 0, 0.4);
  margin: 0 0 0.5rem 0;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .home-drone-title {
    font-size: 2.5rem;
  }
}

@media (min-width: 992px) {
  .home-drone-title {
    font-size: 3rem;
  }
}

.home-drone-subtitle {
  font-family: var(--font-sans) !important;
  font-size: 0.875rem;
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7), 0 0 16px rgba(0, 0, 0, 0.4);
  margin: 0 0 1.25rem 0;
  max-width: 380px;
  margin-left: auto;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .home-drone-subtitle {
    font-size: 1rem;
    max-width: 420px;
  }
}

/* Modern pill button */
.home-drone-cta {
  display: inline-block;
  padding: 0.6rem 1.75rem;
  font-family: var(--font-sans) !important;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #fff !important;
  background: var(--color-primary);
  border: 2px solid var(--color-primary);
  border-radius: 2rem;
  text-decoration: none !important;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(108, 150, 137, 0.35);
}

.home-drone-cta:hover {
  color: #fff !important;
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(108, 150, 137, 0.45);
}

/* Modern nav arrows – glass style */
.home-drone-nav-wrap {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 10;
  pointer-events: none;
}

.home-drone-nav-wrap .home-drone-nav {
  pointer-events: auto;
}

.home-drone-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: background 0.25s ease, transform 0.2s ease, border-color 0.25s ease;
}

.home-drone-nav:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-50%) scale(1.08);
}

.home-drone-prev {
  left: 1.25rem;
}

.home-drone-next {
  right: 1.25rem;
}

.home-drone-slider.owl-carousel .owl-nav {
  display: none;
}

/* Wrapper for pagination – fixed at bottom of banner so dots never overlap text */
.home-drone-dots-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0 1rem 0;
  pointer-events: none;
}

.home-drone-dots-wrap .owl-dots {
  pointer-events: auto;
  display: flex !important;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.4rem 1rem;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 2rem;
}

.home-drone-dots-wrap .owl-dot {
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.5) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: background 0.2s ease, transform 0.2s ease;
}

.home-drone-dots-wrap .owl-dot:hover {
  background: rgba(255, 255, 255, 0.85) !important;
}

.home-drone-dots-wrap .owl-dot.active {
  background: #ffffff !important;
  transform: scale(1.25);
}

/* Chairman message / Sr. MD & CEO message page – space at bottom before footer */
.main.chairman-message-page .container.contentbg {
  padding-bottom: 2.5rem !important;
}
@media (min-width: 768px) {
  .main.chairman-message-page .container.contentbg {
    padding-bottom: 3rem !important;
  }
}

/* Zebu's Standard section (text + right image) – 40px padding top and bottom */
.zebu-standard-section {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.zebu-standard-block {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .zebu-standard-block {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

/* Optional dark strip (e.g. below hero) – use .section-dark when you want dark bg */
.section-dark {
  background-color: var(--color-primary) !important;
}

.section-dark .keyfeaturestitle,
.section-dark .keyfeaturestext,
.section-dark p,
.section-dark h1,
.section-dark h2 {
  color: #fff !important;
}

.section-dark .read-more {
  color: rgba(255, 255, 255, 0.95) !important;
}

.section-dark .read-more:hover {
  color: #fff !important;
}

/* Call-to-action section – modern minimal style, padding top and bottom */
.container.call-to-action.button-centered,
section.container.call-to-action.button-centered {
  background: var(--color-bg) !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.container.call-to-action.button-centered .container {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.container.call-to-action.button-centered .col-12 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  max-width: 100%;
}

.container.call-to-action.button-centered .call-to-action-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.container.call-to-action.button-centered .call-to-action-btn .btn {
  min-width: 160px;
  padding: 0.65rem 1.5rem;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 8px;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.container.call-to-action.button-centered .call-to-action-btn .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(108, 150, 137, 0.25);
}

.container.call-to-action.button-centered .call-to-action-content,
.container.call-to-action.button-centered h3,
.container.call-to-action.button-centered p {
  color: var(--color-text) !important;
}

@media (min-width: 768px) {
  .container.call-to-action.button-centered,
  section.container.call-to-action.button-centered {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}

/* ---------------------------------------------------------------------------
   Home page – Company Profile section (clean white block)
--------------------------------------------------------------------------- */
/* Remove black line above/below Company Profile section and between sections (theme-elements adds border-top to section.section) */
.main .slider-container,
.main .home-intro,
.main .slider-container + .section,
.main section.home-intro,
.main #products.section,
.main #products.products-section,
.main section.section {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.home-intro {
  background: var(--color-bg) !important;
  color: var(--color-text);
}

.home-intro .keyfeaturestitle {
  color: var(--color-text) !important;
}

.home-intro .keyfeaturestext {
  color: var(--color-text) !important;
}

.home-intro .btn-primary {
  padding: 0.5rem 1.5rem;
  font-weight: 600;
  border-radius: 6px;
}

/* ---------------------------------------------------------------------------
   Buttons
--------------------------------------------------------------------------- */
.btn-primary,
.btn.btn-primary,
html .btn-primary {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn.btn-primary:hover {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  color: #fff !important;
}

/* Product / custom buttons (prolend-primary, etc.) */
.btn.prolend-primary.style-two,
a.btn.prolend-primary.style-two {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

.btn.prolend-primary.style-two:hover,
a.btn.prolend-primary.style-two:hover {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  color: #fff !important;
}

/* ---------------------------------------------------------------------------
   Footer – light background, dark text (override theme/skin white text)
   Remove footer bottom white space on all pages
--------------------------------------------------------------------------- */
html,
body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#footer {
  background-color: var(--color-bg-alt) !important;
  border-top-color: rgba(0, 0, 0, 0.08) !important;
  color: var(--color-text) !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
  color: var(--color-text) !important;
}

#footer p,
#footer li,
#footer span {
  color: var(--color-text) !important;
}

#footer a,
#footer a:not(.btn) {
  color: var(--color-text) !important;
}

#footer a:hover,
#footer a:not(.btn):hover {
  color: var(--color-primary) !important;
}

#footer .text-color-primary {
  color: var(--color-primary) !important;
}

#footer .list-icons-footer li a {
  color: var(--color-text) !important;
}

#footer .list-icons-footer li a:hover {
  color: var(--color-primary) !important;
}

/* Copyright section – full primary color bar */
#footer .footer-copyright,
#footer .footer-copyright.footer-copyright-style-2 {
  background: var(--color-primary) !important;
  border-top: none !important;
}

#footer .footer-copyright .container,
#footer .footer-copyright .container .row {
  background: transparent !important;
}

#footer .footer-copyright p,
.footer-copyright-style-2 p {
  color: #fff !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em;
}

#footer .footer-copyright .container {
  padding-top: 0.875rem !important;
  padding-bottom: 0.875rem !important;
}

/* No white space below footer on any page */
#footer .footer-copyright,
#footer .footer-copyright .container .row {
  margin-bottom: 0 !important;
}

/* Zebu Seal page – section bottom padding */
.zebu-seal-page section {
  padding-bottom: 30px;
}

/* ---------------------------------------------------------------------------
   About page – Mission & Vision and Why Us
--------------------------------------------------------------------------- */
.about-mission-vision {
  padding: 3rem 0;
  background: var(--color-bg);
}

.about-why-us {
  padding: 3.5rem 0 4.5rem;
  background: var(--color-bg-alt);
}

@media (min-width: 992px) {
  .about-mission-vision {
    padding: 4rem 0;
  }

  .about-why-us {
    padding: 4.5rem 0 5.5rem;
  }
}

.about-section-subtitle {
  max-width: 560px;
  margin: 0 auto 2.5rem;
  font-size: var(--text-md);
  line-height: var(--leading-relaxed);
  color: var(--color-text-muted);
}

.about-why-us .about-section-title {
  margin-bottom: 0.75rem;
}

@media (min-width: 768px) {
  .about-why-us .about-section-title {
    margin-bottom: 1rem;
  }
}

.about-why-us .about-section-subtitle {
  text-align: center !important;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .about-why-us .about-section-subtitle {
    margin-bottom: 1.5rem;
  }
}

@media (min-width: 768px) {
  .about-section-subtitle {
    margin-bottom: 3rem;
    font-size: var(--text-lg);
  }
}

.about-section-title {
  margin: 0 0 2rem;
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--color-text) !important;
  text-align: center;
}

@media (min-width: 768px) {
  .about-section-title {
    font-size: var(--text-3xl);
    margin-bottom: 2.5rem;
  }
}

/* Mission & Vision cards */
.about-mv-cards {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.about-mv-card {
  height: 100%;
  padding: 2rem 1.75rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.about-mv-card:hover {
  box-shadow: 0 12px 32px rgba(108, 150, 137, 0.12);
  border-color: var(--color-primary-light);
}

.about-mv-card__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: 12px;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.about-mv-card__title {
  margin: 0 0 0.75rem;
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  color: var(--color-text) !important;
}

.about-mv-card__text {
  margin: 0;
  font-size: var(--text-md);
  line-height: var(--leading-relaxed);
  color: var(--color-text) !important;
}

/* Why Us – professional card grid */
.about-why-us__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .about-why-us__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (min-width: 992px) {
  .about-why-us__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 1.75rem;
  }
}

.about-why-us__card {
  height: 100%;
}

.about-why-us__card-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 2rem 1.75rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
}

.about-why-us__card-inner:hover {
  box-shadow: 0 12px 32px rgba(108, 150, 137, 0.1);
  border-color: rgba(108, 150, 137, 0.15);
}

.about-why-us__number {
  display: inline-block;
  margin-bottom: 1.25rem;
  font-size: 2rem;
  font-weight: var(--font-bold);
  line-height: 1;
  color: var(--color-primary);
  letter-spacing: -0.02em;
  opacity: 0.9;
}

.about-why-us__card-content {
  flex: 1;
  min-width: 0;
}

.about-why-us__card-title {
  margin: 0 0 0.75rem;
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: var(--color-text) !important;
  line-height: var(--leading-tight);
}

.about-why-us__card-content p {
  margin: 0;
  font-size: var(--text-md);
  line-height: 1.65;
  color: var(--color-text) !important;
}

/* ---------------------------------------------------------------------------
   Contact page – section padding and layout
--------------------------------------------------------------------------- */
/* Banner uses global 1920×700 aspect ratio (padding: 0 in banner block above) */

/* Main content – form + contact details */
.contact-page-content {
  padding: 2rem 1rem 2.5rem !important;
}

.contact-page-content .row {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.contact-page-content .row > [class*="col-"] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

@media (min-width: 576px) {
  .contact-page-content {
    padding: 2.5rem 1.25rem 3rem !important;
  }
}

@media (min-width: 992px) {
  .contact-page-content {
    padding: 3rem 2rem 3.5rem !important;
  }

  .contact-page-content .row {
    margin-left: -1rem;
    margin-right: -1rem;
  }

  .contact-page-content .row > [class*="col-"] {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .contact-page-content .col-lg-5 {
    position: sticky;
    top: 100px;
  }
}

.contact-form-modern .form-group {
  margin-bottom: 1.25rem;
}

.contact-form-modern .form-control {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  padding: 8rem;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form-modern .form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-light);
  outline: none;
}

.contact-form-modern label {
  color: var(--color-text) !important;
  font-size: 0.9rem;
  margin-bottom: 0.35rem;
}

.contact-form-modern .btn-primary {
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  font-weight: 600;
}

/* Right sidebar – contact details card */
.contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact-details-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  padding: 1.5rem 1.5rem 1.25rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.contact-details-title {
  margin: 0 0 1.25rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-text) !important;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--color-primary);
}

.contact-details-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-details-list li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  transition: background 0.15s ease;
}

.contact-details-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.contact-details-list li:hover {
  background: var(--color-primary-light);
  margin: 0 -0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: 8px;
}

.contact-details-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: 8px;
  font-size: 1rem;
}

.contact-details-item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.contact-details-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
}

.contact-details-value {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--color-text) !important;
  text-decoration: none;
  word-break: break-word;
  transition: color 0.2s ease;
}

.contact-details-value:hover {
  color: var(--color-primary) !important;
}

.contact-sidebar-image {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.contact-sidebar-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

@media (max-width: 991px) {
  .contact-sidebar {
    margin-top: 2rem;
  }
}

/* ---------------------------------------------------------------------------
   Career page – same layout and form look as contact page, with top/bottom gap
--------------------------------------------------------------------------- */
/* Banner uses global 1920×700 aspect ratio (padding: 0 in banner block above) */

/* Form section – proper top and bottom padding so section is not cramped */
.career-page-content {
  padding: 50px 1.5rem 50px !important;
}

@media (min-width: 576px) {
  .career-page-content {
    padding: 55px 2rem 55px !important;
  }
}

@media (min-width: 992px) {
  .career-page-content {
    padding: 60px 2.5rem 60px !important;
  }
}

/* Main form column – padding, margin, box-shadow, centered */
.career-form-col.col-lg-12 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px;
  margin-top: 0;
  margin-bottom: 0;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Main form heading – center-align, bold, proper margin below */
.career-page .career-form-heading {
  text-align: center;
  font-weight: 700 !important; /* override .font-weight-normal on h2 so heading is bold */
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 2rem;
}

/* Form layout – two-column grid, proper vertical spacing between rows */
.career-page .contact-form-modern .form-row,
#contactForm .form-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: 0;
  margin-bottom: 1.75rem;
}

.career-page .contact-form-modern .form-row:first-of-type,
#contactForm .form-row:first-of-type {
  margin-top: 0;
}

.career-page .contact-form-modern .form-row:last-of-type,
#contactForm .form-row:last-of-type {
  margin-bottom: 0;
}

.career-page .contact-form-modern .form-row > .form-group {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 768px) {
  .career-page .contact-form-modern .form-row > .form-group.col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

.career-page .contact-form-modern .form-group,
#contactForm .form-group {
  margin-top: 0;
  margin-bottom: 0;
}

/* Labels – proper margin above field */
.career-page .contact-form-modern .form-group label,
#contactForm .form-group label {
  display: block;
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text) !important;
  line-height: 1.3;
}

/* All form controls – consistent width, same grid alignment */
.career-page .contact-form-modern .form-control {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.career-page .contact-form-modern .form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-light);
  outline: none;
}

/* #contactForm – proper top/bottom padding in input fields */
#contactForm input[type="text"].form-control,
#contactForm input[type="email"].form-control,
#contactForm input[type="tel"].form-control,
#contactForm select.form-control {
  height: 48px;
  min-height: 48px;
  padding: 0.85rem 1.15rem;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.4;
  box-sizing: border-box;
}

#contactForm select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a4e56' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.15rem center;
  padding-right: 2.5rem;
}

#contactForm input[type="file"].form-control {
  height: 48px;
  min-height: 48px;
  padding: 0.75rem 1.15rem;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.4;
  background-color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

#contactForm input[type="file"].form-control::-webkit-file-upload-button {
  padding: 0.5rem 0.85rem;
  margin: -0.75rem 0.85rem -0.75rem -1.15rem;
  height: calc(48px - 1.5rem);
  line-height: 1.4;
  font-size: 0.95rem;
  border: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px 0 0 6px;
  background: var(--color-bg-alt);
  color: var(--color-text);
  cursor: pointer;
}

#contactForm textarea.form-control {
  padding: 1rem 1.15rem;
  margin-top: 0;
  margin-bottom: 0;
  min-height: 140px;
  resize: vertical;
  line-height: 1.5;
  box-sizing: border-box;
}

/* Career form – same input padding/margin via class (fallback) */
.career-page .contact-form-modern input[type="text"].form-control,
.career-page .contact-form-modern input[type="email"].form-control,
.career-page .contact-form-modern input[type="tel"].form-control,
.career-page .contact-form-modern select.form-control {
  height: 48px;
  min-height: 48px;
  padding: 0.85rem 1.15rem;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.4;
  box-sizing: border-box;
}

.career-page .contact-form-modern select.form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a4e56' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.15rem center;
  padding-right: 2.5rem;
}

.career-page .contact-form-modern input[type="file"].form-control {
  height: 48px;
  min-height: 48px;
  padding: 0.75rem 1.15rem;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.4;
  background-color: #fff;
  cursor: pointer;
  box-sizing: border-box;
}

.career-page .contact-form-modern input[type="file"].form-control::-webkit-file-upload-button {
  padding: 0.5rem 0.85rem;
  margin: -0.75rem 0.85rem -0.75rem -1.15rem;
  height: calc(48px - 1.5rem);
  line-height: 1.4;
  font-size: 0.95rem;
  border: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px 0 0 6px;
  background: var(--color-bg-alt);
  color: var(--color-text);
  cursor: pointer;
}

.career-page .contact-form-modern textarea.form-control {
  padding: 1rem 1.15rem;
  margin-top: 0;
  margin-bottom: 0;
  min-height: 140px;
  resize: vertical;
  line-height: 1.5;
  box-sizing: border-box;
}

/* Submit row – proper top margin above button */
.career-page .contact-form-modern .form-row:last-of-type .form-group,
#contactForm .form-row:last-of-type .form-group {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* Contact page map – section padding and height */
.contact-map-section {
  padding: 0 0 0 0;
  background: var(--color-bg);
}

.contact-page .contact-map-section {
  padding-top: 2.5rem;
}

@media (min-width: 992px) {
  .contact-page .contact-map-section {
    padding-top: 3rem;
  }
}

.contact-map-section .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.contact-map {
  width: 100%;
  height: 450px;
  min-height: 320px;
  background: var(--color-primary-light);
}

.contact-map-fallback {
  width: 100%;
  height: 450px;
}

.contact-map-fallback iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* ---------------------------------------------------------------------------
   Image Gallery page – redesigned grid, all photos visible
--------------------------------------------------------------------------- */
.image-gallery-page {
  background: var(--color-bg) !important;
}

.image-gallery-grid {
  display: flex;
  flex-wrap: wrap;
}

.image-gallery-card {
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
  text-decoration: none;
  color: inherit;
}

.image-gallery-card:hover {
  box-shadow: 0 12px 32px rgba(108, 150, 137, 0.12);
  border-color: rgba(108, 150, 137, 0.2);
  transform: translateY(-4px);
}

.image-gallery-card__image-wrap {
  position: relative;
  width: 100%;
  padding-top: 66.67%; /* 3:2 aspect ratio so all images visible and consistent */
  overflow: hidden;
  background: var(--color-bg-alt);
}

.image-gallery-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.image-gallery-card__content {
  padding: 1.25rem 1.25rem 1.5rem;
  text-align: center;
  position: relative;
}

.image-gallery-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 0.75rem;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: 50%;
  font-size: 0.9rem;
}

.image-gallery-card__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-text) !important;
  line-height: 1.35;
}

@media (max-width: 767px) {
  .image-gallery-card__content {
    padding: 1rem 1rem 1.25rem;
  }

  .image-gallery-card__title {
    font-size: 1rem;
  }
}

/* ---------------------------------------------------------------------------
   Products section – modern card grid (home page – pro.php)
--------------------------------------------------------------------------- */
.products-slider-section {
  padding: 4rem 0 5.25rem !important;
  background: var(--color-bg) !important;
  margin-bottom: 45px !important;
}

.products-slider-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1.75rem;
  color: var(--color-text) !important;
}

.products-slider-wrap {
  position: relative;
}

/* Keep slider visible even before Owl init */
.products-slider.owl-carousel {
  display: block !important;
}

/* Fallback view if JS/Owl fails */
.products-slider.products-slider-fallback {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 991px) {
  .products-slider.products-slider-fallback {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .products-slider.products-slider-fallback {
    grid-template-columns: 1fr;
  }
}

.products-slider.owl-carousel .owl-stage {
  display: flex;
}

.products-slider.owl-carousel .owl-item {
  display: flex;
  height: auto;
}

.product-slide-card {
  width: 100%;
  height: 100%;
  padding: 0.25rem;
}

.product-slide-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.product-slide-card__link:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(108, 150, 137, 0.25);
}

.product-slide-card__image-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3f5f4;
}

.product-slide-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.product-slide-card__link:hover .product-slide-card__image {
  transform: scale(1.05);
}

.product-slide-card__content {
  padding: 1rem 1.1rem 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.product-slide-card__title {
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 600;
  margin: 0 0 0.6rem;
  color: var(--color-text) !important;
  min-height: 2.8em;
}

.product-slide-card__cta {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary) !important;
}

.products-slider-nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(43, 48, 54, 0.86);
  color: #fff;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s ease, transform 0.25s ease;
}

.products-slider-nav:hover {
  background: var(--color-primary);
}

.products-slider-prev { left: -10px; }
.products-slider-next { right: -10px; }

.products-slider-dots-wrap {
  margin-top: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.products-slider-dots-wrap .owl-dots {
  display: inline-flex !important;
  gap: 0.65rem;
  align-items: center;
  justify-content: center;
}

.products-slider-dots-wrap .owl-dot {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  display: inline-block !important;
  border-radius: 50% !important;
  background: #111111 !important;
  opacity: 0.45 !important;
  transform: none !important;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.products-slider-dots-wrap .owl-dot span {
  display: none !important;
}

.products-slider-dots-wrap .owl-dot.active {
  opacity: 1 !important;
  transform: scale(1.08) !important;
}

.products-slider-dots-wrap .owl-dot:hover {
  opacity: 1 !important;
}

@media (max-width: 991px) {
  .products-slider-nav { display: none !important; }
  .products-slider-title { font-size: 1.7rem; }
}

/* ---------------------------------------------------------------------------
   ICARUS page – modern gallery slider + video section
--------------------------------------------------------------------------- */
.icarus-gallery-section {
  padding: 2rem 0 1rem;
}

.icarus-gallery-wrap {
  position: relative;
}

.icarus-gallery-slider.owl-carousel {
  display: block !important;
}

.icarus-gallery-slide {
  border-radius: 16px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.icarus-gallery-slide img {
  width: 100%;
  height: 520px;
  object-fit: contain;
  display: block;
}

.icarus-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(43, 48, 54, 0.86);
  color: #fff;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s ease;
}

.icarus-gallery-nav:hover {
  background: var(--color-primary);
}

.icarus-gallery-prev { left: 14px; }
.icarus-gallery-next { right: 14px; }

.icarus-gallery-dots-wrap {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
}

.icarus-gallery-dots-wrap .owl-dots {
  display: inline-flex !important;
  gap: 0.55rem;
}

.icarus-gallery-dots-wrap .owl-dot {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  border-radius: 50% !important;
  background: #111 !important;
  opacity: 0.35 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.icarus-gallery-dots-wrap .owl-dot span {
  display: none !important;
}

.icarus-gallery-dots-wrap .owl-dot.active,
.icarus-gallery-dots-wrap .owl-dot:hover {
  opacity: 1 !important;
  transform: scale(1.12);
}

.icarus-video-section {
  padding: 1.5rem 0 3rem;
}

.icarus-video-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
  color: var(--color-text);
}

.icarus-video-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

.icarus-video-element {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

@media (max-width: 991px) {
  .icarus-gallery-nav {
    display: none !important;
  }
  .icarus-gallery-slide img {
    height: 380px;
  }
}

@media (max-width: 575px) {
  .icarus-gallery-slide img {
    height: 280px;
  }
  .icarus-video-element {
    height: 260px;
  }
}

.products-section {
  padding: 4rem 0 !important;
  background-color: var(--color-bg) !important;
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem;
  max-width: 1000px;
  margin: 0 auto;
}

@media (min-width: 992px) {
  .products-grid {
    gap: 2rem;
    max-width: 1200px;
  }
}

@media (max-width: 767px) {
  .products-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .product-card-modern--featured {
    grid-column: 1;
  }
}

/* Featured card (AERO INDIA) spans full width on desktop */
@media (min-width: 768px) {
  .product-card-modern--featured {
    grid-column: 1 / -1;
    max-width: 560px;
    margin: 0 auto;
  }
}

.product-card-modern {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.product-card-modern:hover {
  box-shadow: 0 12px 32px rgba(108, 150, 137, 0.15);
  transform: translateY(-4px);
}

.product-card-modern__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.product-card-modern__image-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--color-bg-alt);
}

.product-card-modern__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.product-card-modern:hover .product-card-modern__image {
  transform: scale(1.04);
}

.product-card-modern__content {
  padding: 1.25rem 1.5rem;
  text-align: center;
}

.product-card-modern__title {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-text) !important;
  letter-spacing: 0.01em;
  line-height: 1.3;
}

.product-card-modern__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary) !important;
  transition: gap 0.2s ease, color 0.2s ease;
}

.product-card-modern__cta i {
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

.product-card-modern:hover .product-card-modern__cta {
  color: var(--color-primary-hover) !important;
  gap: 0.5rem;
}

.product-card-modern:hover .product-card-modern__cta i {
  transform: translateX(2px);
}

/* Legacy product card support (if used elsewhere) */
#products.section.promo-area,
.section.promo-area.products-area {
  background-color: var(--color-bg) !important;
}

.productproducts {
  color: var(--color-text) !important;
}

.product-card .card-body,
.image-box.product-card .card-body {
  background: var(--color-bg);
  color: var(--color-text);
}

/* ---------------------------------------------------------------------------
   Background & utility overrides from skin
--------------------------------------------------------------------------- */
html .background-color-primary {
  background-color: var(--color-primary) !important;
}

html .background-color-light {
  background-color: var(--color-bg) !important;
}

/* Borders / blockquotes using primary */
html .blockquote-primary {
  border-color: var(--color-primary) !important;
}

/* Nav pills active */
.nav-pills > li.active > a,
.nav-pills .nav-link.active {
  background-color: var(--color-primary) !important;
}

/* Dropdowns in header */
#header .dropdown-menu a {
  color: var(--color-text) !important;
}

#header .dropdown-menu a:hover {
  color: var(--color-primary) !important;
  background: var(--color-primary-light) !important;
}

/* ==========================================================================
   MOBILE OPTIMIZATION – responsive layout, no horizontal scroll, tap-friendly
   ========================================================================== */
@media (max-width: 991px) {
  html {
    overflow-x: hidden;
  }

  body,
  .body {
    overflow-x: hidden;
    max-width: 100%;
  }

  .main {
    padding-top: 1rem !important;
    max-width: 100%;
  }

  .main.kamet-page,
  .main.trishul-page {
    padding-top: 0 !important;
  }

  .container,
  .container-fluid {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Header – logo and nav fit, tap-friendly */
  #header .header-container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  #header .header-logo img {
    max-height: 44px;
    width: auto;
  }

  /* Submenu dropdown – fit viewport, no overflow */
  #header .header-nav-main nav ul.nav-pills > li.dropdown .dropdown-menu {
    min-width: 0 !important;
    max-width: calc(100vw - 2rem);
    left: 0;
    right: auto;
  }

  #header .header-nav-main .dropdown-menu li.dropdown-submenu > a {
    padding-right: 2.5rem !important;
    padding-left: 1rem !important;
  }

  /* Footer – stack columns, consistent padding */
  #footer .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  #footer .row.py-4 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  #footer .col-md-4,
  #footer .col-md-8 {
    margin-bottom: 1.5rem;
  }

  #footer ul.footer-quick-links {
    gap: 0.5rem 1rem;
  }
}

@media (max-width: 767px) {
  html {
    overflow-x: hidden;
  }

  body,
  .body {
    overflow-x: hidden;
    max-width: 100%;
  }

  .main {
    padding-top: 0.75rem !important;
  }

  .container,
  .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Prevent any element from causing horizontal scroll */
  .row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  .row > [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  /* Sections – consistent mobile padding */
  .section,
  section.section,
  .main .section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .section .container,
  section .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Banners – same as About Us on mobile: min 240px, max 400px */
  .headerbg,
  .headerceprobg,
  .header360bg,
  .headervip-dome-omnibg,
  .headerspooferbg,
  .headertrishulbg,
  .headerceplrobg,
  .page-header.page-header-background,
  .page-header.page-header-background-md {
    min-height: 240px !important;
    max-height: 400px !important;
  }

  /* Images – never overflow */
  img {
    max-width: 100%;
    height: auto;
  }

  /* Buttons – touch-friendly min height */
  .btn,
  button,
  a.btn,
  input[type="submit"],
  input[type="button"] {
    min-height: 44px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  /* Forms – full width, readable */
  .form-control,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  textarea,
  select.form-control {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    box-sizing: border-box;
  }

  textarea.form-control {
    min-height: 120px;
  }

  /* Contact / Career form sections */
  .contact-page-content .container,
  .career-page-content .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Footer – stack and spacing */
  #footer .row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }

  #footer .row > [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  #footer h5.text-6 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }

  #footer ul.footer-quick-links,
  #footer .col-md-4 ul.footer-quick-links,
  #footer ul.list.footer-quick-links {
    flex-direction: column !important;
    gap: 0.5rem 0 !important;
  }

  #footer ul.footer-quick-links li a {
    font-size: 0.9rem;
  }

  /* Product cards / image gallery – single column, full width */
  .products-grid {
    padding-left: 0;
    padding-right: 0;
  }

  .image-gallery-page .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Headings – readable size */
  h1, .h1, .text-7 {
    font-size: 1.5rem !important;
  }

  h2, .h2, .keyfeaturestitle {
    font-size: 1.25rem !important;
  }

  .lead,
  .keyfeaturestext {
    font-size: 0.9375rem;
    line-height: 1.55;
  }

  /* Tables – scroll wrapper if needed */
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Hide overflow on common wrappers */
  .container-fluid {
    overflow-x: hidden;
  }

  /* Long text/URLs – break instead of overflow */
  a,
  p,
  .keyfeaturestext,
  .lead {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* All section text – prevent fixed width clipping site-wide (theme may set .home-intro p width) */
  .main .section p,
  .main .section .keyfeaturestext {
    max-width: 100% !important;
  }

  /* Nav links – tap-friendly */
  #header .header-nav-main nav .nav-pills > li > a {
    padding: 0.6rem 0.75rem;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  /* Slider / hero on home – full width, no overflow */
  .slider-container,
  .rev_slider_wrapper {
    max-width: 100vw;
    overflow: hidden;
  }

  /* ========== HOME PAGE (index.php) – mobile only ========== */
  .main > .slider-container.rev_slider_wrapper {
    height: 55vh !important;
    min-height: 280px;
    max-height: 400px;
  }

  .main > .slider-container .rev_slider_wrapper,
  .main > .slider-container .rev_slider {
    height: 100% !important;
  }

  .main > .slider-container .tp-dottedoverlay {
    pointer-events: none;
  }

  .main .home-intro {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    overflow: visible !important;
  }

  .main .home-intro .container {
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow: visible !important;
  }

  .main .home-intro .row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    overflow: visible !important;
  }

  .main .home-intro .row > [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  .main .home-intro .col-lg-12.mb-5.mb-lg-0 {
    margin-bottom: 0 !important;
  }

  /* Override theme .home-intro p { width: 1000px } so text is not clipped on mobile */
  .main .home-intro p,
  .main .home-intro .keyfeaturestext,
  .main .home-intro .text-16 {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box;
  }

  .main .home-intro .keyfeaturestitle {
    font-size: 1.35rem !important;
    margin-bottom: 1rem !important;
  }

  .main .home-intro .keyfeaturestext,
  .main .home-intro .text-16 {
    font-size: 1rem !important;
    line-height: 1.65;
    margin-bottom: 1.25rem;
    padding-left: 0;
    padding-right: 0;
  }

  .main .home-intro .btn-primary {
    min-height: 44px;
    padding: 0.5rem 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .main #products.products-section {
    padding-top: 2rem !important;
    padding-bottom: 2.5rem !important;
  }

  .main #products.products-section .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .main .products-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding-left: 0;
    padding-right: 0;
  }

  .main .product-card-modern__title {
    font-size: 1rem !important;
  }

  .main .product-card-modern__content {
    padding: 1rem !important;
  }
}
