/*-----------------------------------------------------------------------------------
    AM 2 PM Services - brand overrides on top of style.css
    Brand colours: blue #0A6CB5, orange #FF741D, navy #0B2A4A
-----------------------------------------------------------------------------------*/

/* Logo: same colours on every page and device - AM + PM + Services deep blue, 2 orange, tagline underneath.
   Icon and name always stay on one line. */
.brand-logo,
.footer-logo a {
  display: inline-flex;
  white-space: nowrap;
}
.am-brand {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  white-space: nowrap;
}
.am-brand .am-brand-icon,
.site-branding .brand-logo .am-brand-icon,
.footer-logo .am-brand-icon {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  max-height: none;
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.am-brand-text {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.1;
}
.am-brand-name {
  font-family: var(--heading-font);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.am-brand .b-am,
.am-brand .b-pm,
.am-brand .b-svc {
  color: #0D3B66;
}
.am-brand .b-two {
  color: #F47B20;
}
.am-brand-tagline {
  font-family: var(--heading-font);
  margin-top: 5px;
  font-size: 14px;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.3px;
  color: #0D3B66;
  opacity: 0.85;
}
/* On dark backgrounds the logo sits on a white card so the colours never change */
.am-brand.am-brand-card {
  background: #fff;
  padding: 8px 18px 8px 9px;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
/* Laptop */
@media (max-width: 1399.98px) {
  .am-brand .am-brand-icon,
  .site-branding .brand-logo .am-brand-icon,
  .footer-logo .am-brand-icon {
    width: 58px;
    height: 58px;
  }
  .am-brand-name {
    font-size: 27px;
  }
  .am-brand-tagline {
    font-size: 13px;
  }
}
/* Tablet */
@media (max-width: 991.98px) {
  .am-brand {
    gap: 10px;
  }
  .am-brand .am-brand-icon,
  .site-branding .brand-logo .am-brand-icon,
  .footer-logo .am-brand-icon {
    width: 54px;
    height: 54px;
  }
  .am-brand-name {
    font-size: 26px;
  }
}
/* Mobile */
@media (max-width: 575.98px) {
  .am-brand {
    gap: 8px;
  }
  .am-brand .am-brand-icon,
  .site-branding .brand-logo .am-brand-icon,
  .footer-logo .am-brand-icon {
    width: 46px;
    height: 46px;
  }
  .am-brand-name {
    font-size: 22px;
  }
  .am-brand-tagline {
    margin-top: 3px;
    font-size: 11.5px;
  }
  .am-brand.am-brand-card {
    padding: 6px 12px 6px 7px;
  }
}
/* Small phones */
@media (max-width: 375.98px) {
  .am-brand .am-brand-icon,
  .site-branding .brand-logo .am-brand-icon,
  .footer-logo .am-brand-icon {
    width: 42px;
    height: 42px;
  }
  .am-brand-name {
    font-size: 20px;
  }
  .am-brand-tagline {
    font-size: 10.5px;
  }
}
#loading-icon img {
  width: 60px;
  height: 60px;
}

/* Current menu item */
.header-navigation .main-menu ul > li.current > a {
  color: var(--primary-color);
}

/* Font Awesome icons used in place of image icons */
.am-icon i {
  font-size: 52px;
  line-height: 1;
  color: var(--secondary-color);
  transition: all 0.3s;
}
.bizzen-service-item.style-three:hover .am-icon i {
  color: var(--primary-color);
}
.bizzen-iconic-left-box .am-icon i {
  font-size: 44px;
}
.am-icon-sm i {
  font-size: 20px;
  color: var(--white-color);
}

/* Orange call-to-action button */
.theme-btn.style-one.am-btn-orange {
  background-color: var(--primary-color);
  color: var(--white-color);
}
.theme-btn.style-one.am-btn-orange:hover {
  background-color: var(--secondary-color);
  color: var(--white-color);
}

/* Home hero */
.bizzen-hero_three .hero-content .hero-button {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.am-hero-img img {
  width: 100%;
  max-width: 460px;
  aspect-ratio: 575 / 885;
  object-fit: cover;
  border-radius: 300px 300px 0 0;
}
.bizzen-avatar-box ul li span i {
  font-size: 18px;
}
.bizzen-avatar-box ul li img,
.bizzen-avatar-box-two ul li img {
  border-radius: 50%;
  object-fit: cover;
}

/* Info / service cards */
.bizzen-iconic-box.am-card {
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  padding: 35px 30px;
  height: calc(100% - 30px);
  transition: all 0.3s;
}
.bizzen-iconic-box.am-card:hover {
  border-color: var(--secondary-color);
  box-shadow: 0 15px 40px rgba(11, 42, 74, 0.08);
  transform: translateY(-4px);
}
.bizzen-iconic-box.am-card .content h4 {
  font-size: 22px;
  line-height: 1.35;
  margin-bottom: 12px;
}
.bizzen-service-item.style-one .service-inner-content .content {
  margin-top: 40px;
}

/* Job cards */
.am-job .post-thumbnail img {
  width: 100%;
  aspect-ratio: 410 / 254;
  object-fit: cover;
}

/* Important notice box */
.am-notice {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  background-color: #FFF4EC;
  border-left: 4px solid var(--primary-color);
  padding: 25px 30px;
}
.am-notice .am-notice-icon i {
  font-size: 36px;
  color: var(--primary-color);
}
.am-notice h5 {
  margin-bottom: 8px;
}
.am-notice p {
  margin-bottom: 0;
}
.am-notice a {
  color: var(--secondary-color);
  font-weight: 500;
}

/* CTA band */
.am-cta .section-title h2 {
  margin-bottom: 10px;
}
.am-cta .section-title p {
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 0;
}

/* Contact page */
.am-contact-img img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}
.contact-form select.form_control {
  width: 100%;
  height: auto;
  background-color: var(--white-color);
  color: var(--text-color);
}

/* Footer */
.footer-contact-info-widget .theme-btn.style-one {
  background-color: var(--primary-color);
  color: var(--white-color);
}
.footer-contact-info-widget .theme-btn.style-one:hover {
  background-color: var(--secondary-color);
}

/* Images inside service detail pages */
.service-details-sec .bizzen-image img,
.service-details-sec .service-thumbnail img,
.service-details-sec .bizzen-image-box img {
  width: 100%;
  object-fit: cover;
}

@media (max-width: 575.98px) {
  .am-notice {
    flex-direction: column;
    padding: 20px;
  }
}

/* Inner page banner: navy overlay instead of near-black */
.page-hero:after {
  background-color: rgba(11, 42, 74, 0.82);
}

/* Equal-height service cards */
.bizzen-service-item.style-one {
  height: calc(100% - 30px);
}
.bizzen-service-item.style-one .service-inner-content {
  height: 100%;
}

/* Contact photo fills the form column height on wide screens */
@media (min-width: 1200px) {
  .am-contact-img {
    height: 100%;
  }
}
