/* Naviora overrides — loaded after style.css. Keep template files untouched. */

/* Header logo: the template places the logo on a red slanted box,
   the Naviora logo (navy + red) needs a white background. */
.ft-header-section.header-style-two .ft-header-main-menu .ft-site-logo {
  padding: 6px 15px;
  background-color: #fff;
}
.ft-header-section.header-style-two .ft-header-main-menu .ft-site-logo:before {
  border-bottom-color: #fff;
}
.ft-header-section.header-style-two .ft-header-main-menu .ft-site-logo img {
  width: auto;
  max-width: 100%;
  max-height: 68px;
}

.mobile_menu_content .m-brand-logo {
  width: 200px;
}

/* Greek text: Poppins has no Greek glyphs, so the family borrows Manrope for that range.
   One face per weight: browsers only merge faces with identical descriptors. */
@font-face {
  font-family: "Poppins";
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Poppins";
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/naviora/manrope-greek.woff2") format("woff2");
  unicode-range: U+0370-03FF;
}

/* Photos need a dark layer for the white text. */
.ft-banner-section { position: relative; background-size: cover; background-position: center; }
.ft-banner-section:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 22, 44, .78), rgba(1, 22, 44, .55));
}
.ft-banner-section .ft-banner-content { position: relative; z-index: 1; }
.ft-breadcrumb-section { background-size: cover; background-position: center; }
.ft-breadcrumb-section .background_overlay { background: rgba(1, 22, 44, .72); }
.nav-crumb-title { color: #fff; font-family: "Poppins", sans-serif; font-size: 48px; font-weight: 700; }
.ft-service-img img { width: 100%; height: 240px; object-fit: cover; }
.ft-about-img-2 img { width: 100%; max-height: 560px; object-fit: cover; }
.nav-service-photo { width: 100%; height: 400px; object-fit: cover; border-radius: 6px; margin-bottom: 30px; }

/* Menu */
.nav-lang a { font-weight: 700; color: #8c6b3a !important; }
.ft-header-top-cta a { color: inherit; }
.ft-header-section.header-style-two .ft-header-main-menu .ft-main-navigation li { margin-left: 22px; white-space: nowrap; }
.ft-header-section.header-style-two .ft-header-main-menu .ft-site-logo-area { width: 290px; flex-shrink: 0; }
.ft-header-section.header-style-two .ft-header-main-menu .ft-main-navigation li li { margin-left: 0; }
.nav-footer-logo { background: #fff; display: inline-block; padding: 10px 14px; border-radius: 6px; }
.nav-footer-logo img { width: 200px; }
.ft-footer-address a { color: inherit; }

/* Forms */
.nav-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.nav-consent { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0 16px; font-size: 14px; line-height: 1.5; color: #555; }
.nav-consent input { width: 18px !important; height: 18px !important; min-width: 18px; margin: 2px 0 0 !important; padding: 0 !important; }
.nav-consent a { color: #8c6b3a; text-decoration: underline; }
.nav-extras { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 8px; }
.nav-extra { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: #333; }
.nav-extra input { width: 18px; height: 18px; }
.nav-pm-text {
  width: 100%;
  height: 100px;
  padding: 14px 20px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  margin-top: 4px;
}
.nav-form-status { margin-top: 14px; font-size: 15px; font-weight: 500; }
.nav-form-status.is-ok { color: #10783c; }
.nav-form-status.is-error { color: #c0200b; }
button[type="submit"]:disabled { opacity: .6; cursor: wait; }
.nav-track { padding: 30px 0; }
.nav-track-btn {
  display: inline-block;
  margin-top: 16px;
  padding: 14px 30px;
  border-radius: 30px;
  background: #8c6b3a;
  color: #fff;
  font-weight: 700;
}
.nav-track-btn:hover { color: #fff; opacity: .9; }
.nav-quote-box { max-width: 900px; margin: 40px auto 0; padding: 30px; box-shadow: 0 10px 40px rgba(0, 0, 0, .08); border-radius: 8px; }

/* Text pages */
.nav-about-long { padding: 0 0 60px; }
.nav-prose { max-width: 820px; margin: 0 auto; }
.nav-prose h3 { margin: 28px 0 10px; font-size: 22px; }
.nav-check-list { list-style: none; padding: 0; margin: 0 0 30px; }
.nav-check-list li { padding: 6px 0; }
.nav-check-list i { color: #8c6b3a; margin-right: 10px; }
.service-category-widget li.active a { color: #8c6b3a; }
.nav-center { display: inline-block; margin-top: 20px; }
.ft-funfact-text h3 { color: inherit; }

/* Footer: solid colour instead of the template's placeholder image */
.ft-footer-section-2 { background-color: #011e3b; background-image: none !important; }
.ft-footer-section-2 .widget-title,
.ft-footer-section-2 .menu-widget a,
.ft-footer-section-2 .ft-footer-address span,
.ft-footer-section-2 .ft-footer-address a,
.ft-footer-section-2 .ft-footer-widget .widget-title,
.ft-footer-section-2 .ft-footer-widget li a { color: #fff !important; }
.ft-footer-address span { display: block; margin-top: 8px; }
.ft-footer-newslatter .ft-banner-btn a {
  width: auto;
  height: 55px;
  padding: 0 34px;
  border-radius: 30px;
  background: #fff;
  color: #8c6b3a;
  font-weight: 700;
}
.service-form-widget .nav-consent,
.service-form-widget .nav-consent a { color: #fff; }
.ft-btn-3 a { display: inline-flex !important; width: auto; min-width: 170px; padding: 0 26px; white-space: nowrap; }

@media (max-width: 767px) {
  .nav-crumb-title { font-size: 32px; }
  .nav-service-photo { height: 240px; }
  .nav-quote-box { padding: 16px; }
}

/* Cookie consent */
.nav-cookie-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9998;
  max-width: 720px;
  margin: 0 auto;
  padding: 18px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
  font-size: 14px;
  line-height: 1.5;
  color: #333;
}
.nav-cookie-banner[hidden] { display: none; }
.nav-cookie-banner p { flex: 1 1 320px; margin: 0; }
.nav-cookie-banner a { color: #8c6b3a; text-decoration: underline; }
.nav-cookie-actions { display: flex; gap: 10px; }
.nav-cookie-actions button { padding: 10px 20px; border: 1px solid #011e3b; border-radius: 24px; background: #fff; color: #011e3b; font-weight: 600; }
.nav-cookie-actions button:first-child { background: #011e3b; color: #fff; }
.nav-cookie-link { padding: 0; border: 0; background: none; color: #fff; font-size: inherit; text-decoration: underline; }

/* The service sidebar form sits on a red panel, so both messages need white text. */
.service-form-widget .nav-form-status.is-ok,
.service-form-widget .nav-form-status.is-error { color: #fff; }
.nav-footer-logo a, .nav-footer-logo img { display: block; }
.ft-footer-widget-wrapper-2 .ft-footer-widget .logo-widget .nav-footer-logo { padding: 12px 16px; margin-bottom: 18px; }
.nav-footer-logo img { width: 240px; }

/* Light gold (logo arc) where the accent sits on dark backgrounds; the darker gold elsewhere keeps 4.5:1 with white text */
.ft-banner-section .cd-words-wrapper b, .ft-banner-section .cd-words-wrapper i, .nav-lang a { color: #d5b488 !important; }

/* Header phone: it is a link now, keep it white on the gold panel */
.ft-header-section.header-style-two .ft-header-cta-text h3 a { color: #fff; }
.ft-header-section.header-style-two .ft-header-cta-text h3 a:hover { color: #f3e6d2; }

/* Mobile menu button: centre it in the bar whatever the logo height (the template used a fixed offset) */
.ft-header-section.header-style-two .mobile_menu { position: static; }
.ft-header-section.header-style-two .mobile_menu_button {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  line-height: 1;
}
