/* ==========================================================================
   Graaho — shared site layer (all pages). Loaded after the theme.
   Header logo, footer, video pop-up, font rendering. Theme colours only.
   ========================================================================== */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Header logo — larger and crisper (beats the theme's inline 44px / 38px caps) */
html body #masthead .site-branding img { height: 58px !important; max-height: 58px !important; width: auto !important; max-width: none !important; }
html body #masthead.header-fixed .site-branding img { height: 50px !important; max-height: 50px !important; }
@media (max-width: 991px) {
  html body #masthead .site-branding img, html body #masthead.header-fixed .site-branding img { height: 46px !important; max-height: 46px !important; }
}

/* ==========================================================================
   Footer (theme dark background kept; brand navy + white accents)
   ========================================================================== */
body .gh-foot { color: #a9adb8; font-family: Rubik, sans-serif; }
body .gh-foot .page-container { box-sizing: border-box; }
body .gh-foot a { color: #d9dbe1; text-decoration: none; transition: color .15s; }
body .gh-foot a:hover { color: #fff; }

body .gh-foot-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px;
  padding: 56px 0 48px; border-bottom: 1px solid rgba(255,255,255,.08); }
body .gh-foot-kicker { margin: 0 0 10px; font: 500 12px/1 Poppins, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #8f95a6; }
body .gh-foot-cta h2 { margin: 0 0 8px; font: 500 34px/1.2 Poppins, sans-serif; color: #fff; letter-spacing: -.01em; }
body .gh-foot-cta p { margin: 0; font-size: 16px; line-height: 1.6; color: #a9adb8; }
body .gh-foot-cta-actions { display: flex; gap: 12px; flex: none; }
body .gh-foot .gh-foot-btn { display: inline-block; padding: 16px 28px; background: #fff; color: #11256c;
  font: 600 15px/1 Poppins, sans-serif; letter-spacing: .02em; border: 1px solid #fff; }
body .gh-foot .gh-foot-btn:hover { background: #eef1f9; color: #11256c; }
body .gh-foot .gh-foot-btn.gh-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
body .gh-foot .gh-foot-btn.gh-ghost:hover { border-color: #fff; }

body .gh-foot-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.3fr);
  gap: 48px; padding: 52px 0 48px; }
body .gh-foot-brand img { height: 48px; width: auto; display: block; }
body .gh-foot-brand p { margin: 20px 0 24px; font-size: 15px; line-height: 1.7; color: #a9adb8; max-width: 360px; }
body .gh-foot-badges { display: flex; gap: 12px; align-items: center; }
body .gh-foot-badges img { height: 64px; width: auto; background: #fff; padding: 4px; }
body .gh-foot-badges img[alt="Odoo Partner"] { padding: 0; }

body .gh-foot-col h3 { margin: 0 0 20px; font: 500 15px/1.2 Poppins, sans-serif; color: #fff; letter-spacing: .02em; text-transform: none; }
body .gh-foot-col ul { list-style: none; margin: 0; padding: 0; }
body .gh-foot-col li { margin: 0 0 12px; padding: 0; font-size: 15px; line-height: 1.4; }
body .gh-foot-col li::before { display: none; }

body .gh-office { margin: 0 0 20px; font-size: 14px; line-height: 1.6; }
body .gh-office strong { display: block; margin-bottom: 4px; font: 500 12px/1 Poppins, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #8f95a6; }
body .gh-office address { font-style: normal; color: #d9dbe1; margin: 0 0 2px; }
body .gh-foot-social { margin-top: 6px; }
body .gh-foot-social .social { color: #fff !important; border-color: rgba(255,255,255,.3) !important; }
body .gh-foot-social .social:hover { background: #11256c !important; border-color: #11256c !important; }

body .gh-foot-bottom { border-top: 1px solid rgba(255,255,255,.08); }
body .gh-foot-bottom .page-container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px;
  padding-top: 22px; padding-bottom: 22px; font-size: 13px; color: #8f95a6; }
body .gh-foot-legal { display: flex; gap: 20px; }
body .gh-foot-bottom a { color: #a9adb8; }

@media (max-width: 991px) {
  body .gh-foot-cta { flex-direction: column; align-items: flex-start; }
  body .gh-foot-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
  body .gh-foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  body .gh-foot-cta { padding: 40px 0 32px; }
  body .gh-foot-cta h2 { font-size: 26px; }
  body .gh-foot-cta-actions { flex-direction: column; width: 100%; }
  body .gh-foot .gh-foot-btn { text-align: center; }
  body .gh-foot-grid { grid-template-columns: 1fr 1fr; padding: 36px 0; }
  body .gh-foot-contact { grid-column: 1 / -1; }
  body .gh-foot-badges img { height: 56px; }
  body .gh-foot-bottom .page-container { flex-direction: column; align-items: flex-start; }
}
/* footer fixes: theme caps footer images at 30px and recolours links */
body .gh-foot img { max-width: none !important; }
body .gh-foot-brand img { height: 48px !important; width: auto !important; }
body .gh-foot-badges img { height: 64px !important; width: auto !important; flex: none; }
body .gh-foot .gh-foot-btn { color: #11256c !important; }
body .gh-foot .gh-foot-btn.gh-ghost { color: #fff !important; }
body .gh-foot-bottom .page-container { padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 767px) { body .gh-foot-badges img { height: 56px !important; } }
body .gh-foot-grid { padding-top: 64px; }
body .gh-foot-brand > a img { margin-left: -22px; }
body .gh-foot-brand .gh-foot-cta-actions { margin: 0 0 28px; flex-wrap: wrap; }
body .gh-foot .gh-foot-brand .gh-foot-btn { padding: 13px 20px; font-size: 14px; }
@media (max-width: 767px) { body .gh-foot-brand .gh-foot-cta-actions { flex-direction: row; } body .gh-foot-grid { padding-top: 44px; } }
body .gh-foot-bottom .page-container::before, body .gh-foot-bottom .page-container::after { display: none !important; }
body .gh-foot .gh-foot-brand .gh-foot-btn.gh-ghost { padding-left: 16px; padding-right: 16px; }
@media (max-width: 767px) { body .gh-foot-bottom .page-container { padding-left: 20px !important; padding-right: 20px !important; } }
@media (max-width: 767px) { body .gh-foot-award { text-align: left; } }

/* ==========================================================================
   Video pop-up (all play buttons)
   ========================================================================== */
.ghv-overlay { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center;
  padding: 24px; background: rgba(10, 16, 40, .86); opacity: 0; transition: opacity .2s ease; }
.ghv-overlay.is-open { opacity: 1; }
.ghv-overlay[hidden] { display: none !important; }
.ghv-frame { position: relative; width: min(1100px, 100%); aspect-ratio: 16 / 9; background: #000; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.ghv-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ghv-close { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; border: 0 !important; border-radius: 50%;
  background: rgba(255,255,255,.12) !important; color: #fff !important; font: 300 28px/40px Arial, sans-serif; cursor: pointer; padding: 0 !important; box-shadow: none !important; }
.ghv-close:hover { background: rgba(255,255,255,.25) !important; }
.ghv-close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
html.ghv-lock, html.ghv-lock body { overflow: hidden !important; }
.norebro-video-module-sc { cursor: pointer; }

/* no sideways scroll from rotated side words / carousels */
html, #page { overflow-x: clip; }

/* Form status messages (contact + subscribe) */
.gh-form-msg { display: block !important; margin: 16px 0 0 !important; padding: 12px 16px !important; font-size: 14px; line-height: 1.5; border: 0 !important; border-left: 3px solid #11256c !important; background: #eef1f9; color: #353d57; }
.gh-form-msg.is-err { border-left-color: #b3261e !important; background: #fdf0ef; color: #7a1c16; }
.gh-form-msg a { color: inherit; text-decoration: underline; }
.gh-foot a, .gh-foot a:hover { text-decoration: none !important; }
.gh-foot a:hover { color: #fff !important; }
