/* PHP site layer — forms, legal readability, mobile menu fallback */
.php-header-loc { color: inherit; }

.mobile-menu { visibility: hidden; opacity: 0; transition: opacity 0.25s ease; }
.mobile-menu.active { visibility: visible; opacity: 1; }
body.mobile-menu-visible { overflow: hidden; }

.apply-form,
.contact-inline-form {
  max-width: 920px;
  margin: 0 auto;
}
.apply-form .form-section {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #f8f9fb;
  border: 1px solid #e3e6ea;
  border-radius: 6px;
}
.apply-form h3 { margin-bottom: 0.35rem; }
.apply-form .form-intro { margin-bottom: 1rem; color: #333; }
.apply-form h4 {
  margin: 0 0 1rem;
  font-size: 1.1rem;
  border-bottom: 1px solid #dde1e6;
  padding-bottom: 0.35rem;
}
.apply-form .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.apply-form .form-row .form-group { flex: 1 1 200px; }
.apply-form .form-row-3 .form-group { flex: 1 1 160px; }
.apply-form .form-group { margin-bottom: 1rem; }
.apply-form label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 600;
  color: #1a1a1a;
}
.apply-form input[type="text"],
.apply-form input[type="email"],
.apply-form input[type="tel"],
.apply-form input[type="date"],
.apply-form select,
.apply-form textarea {
  width: 100%;
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
  line-height: 1.45;
  color: #111;
  background: #fff;
  border: 1px solid #c5cad1;
  border-radius: 4px;
}
.apply-form textarea { min-height: 120px; resize: vertical; }
.apply-form input:focus,
.apply-form select:focus,
.apply-form textarea:focus {
  outline: 2px solid #0d6efd;
  outline-offset: 1px;
  border-color: #0d6efd;
}
.apply-form .error-message { display: block; min-height: 1.1rem; color: #b00020; font-size: 0.875rem; }
.apply-form .form-legal { font-size: 0.9rem; margin: 1rem 0; color: #333; }
.apply-form .form-legal a { text-decoration: underline; }
.apply-form .btn-full { width: 100%; justify-content: center; }
.apply-form .form-status { margin-top: 1rem; padding: 0.75rem; border-radius: 4px; display: none; }
.apply-form .form-status.show { display: block; }
.apply-form .form-status.ok { background: #e8f5e9; color: #1b5e20; border: 1px solid #a5d6a7; }
.apply-form .form-status.err { background: #ffebee; color: #b71c1c; border: 1px solid #ef9a9a; }

.job-desc-hint {
  display: none;
  margin: 1rem 0;
  padding: 1rem 1.25rem;
  background: #fff8e1;
  border: 1px solid #ffcc80;
  border-radius: 6px;
  color: #5d4037;
}
.job-desc-hint.show { display: block; }
.job-desc-hint a { font-weight: 600; }

.legal-document {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1rem 3rem;
  color: #222;
  line-height: 1.65;
}
.legal-document h1 { font-size: 1.85rem; margin-bottom: 0.5rem; }
.legal-document .legal-meta { color: #555; margin-bottom: 2rem; font-size: 0.95rem; }
.legal-document h2 { font-size: 1.25rem; margin-top: 2rem; margin-bottom: 0.75rem; }
.legal-document h3 { font-size: 1.05rem; margin-top: 1.25rem; }
.legal-document p { margin: 0 0 1rem; }
.legal-document ul { margin: 0 0 1rem 1.25rem; }
.legal-document .legal-contact-box {
  margin-top: 2.5rem;
  padding: 1.25rem 1.5rem;
  background: #f4f6f8;
  border: 1px solid #d9dee5;
  border-radius: 6px;
}

.contact-inline-form input,
.contact-inline-form textarea {
  width: 100%;
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
  color: #111;
  border: 1px solid #c5cad1;
  border-radius: 4px;
  margin-bottom: 1rem;
}
.contact-inline-form label { font-weight: 600; display: block; margin-bottom: 0.35rem; }

/* Improve top-contact alignment to match the cleaner layout */
.main-header .social-icon-one {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  gap: 12px 18px;
  justify-content: end;
  width: max-content;
  margin-left: auto;
}
.main-header .social-icon-one li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  line-height: 1.4;
}
.main-header .social-icon-one li a {
  display: inline-flex;
  align-items: center;
  color: inherit;
}
.main-header .social-icon-one li .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  text-align: center;
  opacity: 0.9;
  border-radius: 0;
}
.main-header .social-icon-one li:nth-child(3) {
  grid-column: 1 / -1;
  justify-self: end;
  width: max-content !important;
}
.main-header .social-icon-one li:nth-child(3) a {
  display: inline-flex !important;
  width: max-content !important;
  white-space: normal;
  text-align: right;
}
.main-header .header-lower .inner-container .outer-box {
  margin-left: auto;
}

/* Keep header contacts as a single right-aligned stack */
.main-header .header-lower .social-icon-one {
  align-content: flex-start;
}

/* Better title contrast on image sections and headings */
.page-title h1,
.page-title .page-breadcrumb li,
.page-title .page-breadcrumb li a {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}
.sec-title h1,
.sec-title h2,
.sec-title h3,
.work-section .title,
.services-block .title a,
.service-block-two h4 a {
  color: #13233a;
}
.sec-title.light h1,
.sec-title.light h2,
.sec-title.light h3,
.sec-title.light .sub-title {
  color: #ffffff;
}

/* Remove white tag background in hero and keep clean text */
.banner-section-one .content-box .sub-title span,
.banner-section-one .content-box .title span {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.95) !important;
  box-shadow: none !important;
}
.banner-section-one .content-box .title {
  color: #ffffff;
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}
.banner-section-one .content-box .sub-title,
.banner-section-one .content-box .title {
  font-size: clamp(38px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  font-weight: 700;
}

/* Flaticon fallback so icons are visible even without source font files */
.flaticon-logistics-delivery-6::before,
.flaticon-container-2::before,
.flaticon-stock-1::before,
.flaticon-delivery-box-4::before {
  font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.flaticon-logistics-delivery-6::before { content: "\f0d1"; }
.flaticon-container-2::before { content: "\f466"; }
.flaticon-stock-1::before { content: "\f201"; }
.flaticon-delivery-box-4::before { content: "\f49e"; }

/* Feedback section readability and visual polish */
.feedback-section {
  position: relative;
}
.feedback-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 17, 33, 0.65), rgba(8, 17, 33, 0.82));
}
.feedback-section .auto-container {
  position: relative;
  z-index: 1;
}

/* Fun-fact counters: keep icon circles and text perfectly aligned */
.fun-fact-section .counter-block .inner {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: flex-start !important;
}
.fun-fact-section .counter-block .icon-box {
  width: 72px;
  height: 72px;
  min-width: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.fun-fact-section .counter-block .icon-box .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  line-height: 1;
}
.fun-fact-section .fact-counter .row {
  row-gap: 22px;
  column-gap: 44px;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.fun-fact-section .counter-block .content-box {
  min-width: 210px;
}
.fun-fact-section .counter-block {
  max-width: 430px;
}
.fun-fact-section .fun-fact-intro {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin: 32px auto 0;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.fun-fact-section .fun-fact-intro-grid {
  display: grid;
  grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
  align-items: center;
  gap: 28px;
}
.fun-fact-section .fun-fact-intro .image img {
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
  display: block;
}
.fun-fact-section .fun-fact-intro .text {
  display: block;
  max-width: 100%;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
@media (max-width: 991.98px) {
  .fun-fact-section .fun-fact-intro-grid {
    grid-template-columns: 1fr;
  }
}
.feedback-card {
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  padding: 1.5rem;
  border-radius: 10px;
}
.feedback-card .text,
.feedback-card .name,
.feedback-card .designation {
  color: #f3f7ff;
}

/* Page headers: centered text and stronger image hero look */
.page-title {
  position: relative;
  background-position: center center;
  background-size: cover;
}
.page-title::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 24, 44, 0.58), rgba(10, 24, 44, 0.74));
}
.page-title .auto-container {
  position: relative;
  z-index: 1;
}
.page-title .title-outer {
  text-align: center;
  margin: 0 auto;
}
.page-title .page-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

/* About: make principle heading and lower titles readable on dark backgrounds */
.services-section-two .sec-title h2,
.services-section-two .sec-title .sub-title,
.services-section-two .service-block-two h4 a,
.services-section-two .service-block-two .text,
.services-section-two .service-block-two p {
  color: #ffffff !important;
}
.services-section-two {
  background: #0f223b;
  padding-top: 90px;
  padding-bottom: 70px;
}
.services-section-two .service-block-two {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  padding: 22px;
}
