/* ==========================================================================
   Your City Adviser, project overrides on top of the Finsta template.
   Uses Finsta's CSS variables (--primary-color, --accent-color, etc.).
   ========================================================================== */

/* --- Brand overrides: warm background + navy accent ----------------------- */
:root { --bg-color: #F6F3EC; --accent-color: #2b3b89; }
body { background: var(--bg-color); }

/* --- Magic cursor: hide the small default dot (shrink to 0), keep enlarge -- */
.cb-cursor.-visible:before,
.cb-cursor.-visible.-active:before {
  transform: scale(0) !important;
}
/* Re-assert the enlarge-over-text states so they still win over the 0 default. */
.cb-cursor.-opaque:before,
.cb-cursor.-visible.-opaque:before,
.cb-cursor.-visible.-active.-opaque:before {
  transform: scale(1.32) !important;
}
.cb-cursor.-text:before,
.cb-cursor.-visible.-text:before,
.cb-cursor.-visible.-active.-text:before {
  transform: scale(1.7) !important;
}

/* --- Header: no bottom border -------------------------------------------- */
header.main-header .header-sticky,
header.main-header .header-sticky.active {
  border-bottom: none;
}

/* --- Homepage calculators tab section ------------------------------------ */
/* 8 tabs over two rows */
.calc-nav .nav-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  border: none;
}
@media (max-width: 767px) { .calc-nav .nav-tabs { grid-template-columns: repeat(2, 1fr); } }
.calc-nav .nav-item { width: 100%; }
.calc-nav .nav-link { width: 100%; }

/* Functional calculator (in the box below the tabs, on the dark section) */
.home-calc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: start;
}
@media (max-width: 767px) { .home-calc { grid-template-columns: 1fr; } }

.home-calc-form { margin: 20px; }
.home-calc .hc-field { margin-bottom: 22px; }
.home-calc label {
  display: block;
  color: var(--primary-color);
  font-family: var(--accent-font), var(--default-font);
  font-weight: 500;
  font-size: 15px;
  margin-bottom: 10px;
}
.home-calc input[type='number'] {
  width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px solid var(--divider-color);
  background: var(--bg-color);
  color: var(--primary-color);
  font-family: var(--default-font);
  font-size: 16px;
}
.home-calc input[type='number']:focus { outline: none; border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(25,68,223,0.15); }
.home-calc select {
  width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px solid var(--divider-color);
  background: var(--bg-color);
  color: var(--primary-color);
  font-family: var(--default-font);
  font-size: 16px;
}
.home-calc select:focus { outline: none; border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(25,68,223,0.15); }
.home-calc input[type='range'] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: var(--divider-color);
  outline: none;
  margin: 6px 0;
}
.home-calc input[type='range']::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--accent-color);
  border: 4px solid #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
.home-calc input[type='range']::-moz-range-thumb {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--accent-color);
  border: 4px solid #fff;
  cursor: pointer;
}
.home-calc input[type='range']::-moz-range-track {
  height: 12px;
  border-radius: 999px;
  background: var(--divider-color);
}
.calc-range-value { color: var(--accent-color); font-weight: 600; }

.hc-toggle { display: inline-flex; gap: 6px; background: var(--bg-color); border: 1px solid var(--divider-color); border-radius: 999px; padding: 5px; }
.hc-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.hc-toggle label { margin: 0; padding: 9px 16px; border-radius: 999px; cursor: pointer; font-size: 14px; color: var(--text-color); }
.hc-toggle input:checked + label { background: var(--accent-color); color: #fff; }

.home-calc-result { background: var(--accent-color); border-radius: 20px; padding: 34px; color: #fff; }
.hc-eyebrow { margin: 0 0 6px; opacity: 0.85; font-size: 14px; }
.hc-figure { font-family: var(--accent-font), var(--default-font); font-weight: 700; font-size: clamp(34px, 5vw, 48px); line-height: 1; margin-bottom: 16px; }
.hc-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.2); font-size: 15px; }
.hc-row:last-of-type { border-bottom: none; }
.hc-cta { margin-top: 18px; background: #fff !important; color: var(--accent-color) !important; }
.hc-note { margin: 12px 0 0; font-size: 12px; opacity: 0.75; }

.home-calc-soon { text-align: center; padding: 40px 20px; }
.home-calc-soon p { color: var(--text-color); margin-bottom: 18px; }

/* --- Service icons (Font Awesome inside the blue icon-box) ---------------- */
.service-item-header .icon-box i {
  position: relative;
  z-index: 1;
  color: var(--white-color);
  font-size: 22px;
}

/* --- Navbar logo + sizing ------------------------------------------------- */
.navbar-brand img { height: 60px; width: auto; }
/* Grow the bar so the larger logo has breathing room. */
.navbar { padding-top: 18px; padding-bottom: 18px; }

/* --- Per-city wordmark (replaces the template's image logo) --------------- */
.brand-wordmark,
.footer-wordmark {
  font-family: var(--accent-font), var(--default-font);
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
}
.brand-wordmark .brand-city { color: var(--accent-color); }
.brand-wordmark .brand-adviser { color: var(--primary-color); }
.footer-wordmark { margin-bottom: 20px; }
.footer-wordmark .brand-city { color: var(--accent-color); }
.footer-wordmark .brand-adviser { color: var(--white-color); }

.header-phone {
  font-family: var(--accent-font), var(--default-font);
  font-weight: 600;
  color: var(--primary-color);
  text-decoration: none;
  white-space: nowrap;
}
.header-phone:hover { color: var(--accent-color); }
@media (max-width: 991px) { .header-phone { display: none; } }

/* --- Calculators ---------------------------------------------------------- */
.calc-section { padding: 100px 0; }
@media (max-width: 767px) { .calc-section { padding: 60px 0; } }

.calc-form-box {
  background: var(--white-color);
  border: 1px solid var(--divider-color);
  border-radius: 20px;
  padding: 40px;
  height: 100%;
}
.calc-form-box .calc-field { margin-bottom: 22px; }
.calc-form-box label {
  display: block;
  font-family: var(--accent-font), var(--default-font);
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 10px;
  font-size: 15px;
}
.calc-form-box input[type='number'],
.calc-form-box input[type='text'],
.calc-form-box select {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid var(--divider-color);
  border-radius: 12px;
  background: var(--bg-color);
  color: var(--primary-color);
  font-family: var(--default-font);
  font-size: 16px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.calc-form-box input:focus,
.calc-form-box select:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(25, 68, 223, 0.15);
}
.calc-form-box input[type='range'] {
  width: 100%;
  accent-color: var(--accent-color);
  padding: 0;
  background: transparent;
}
.calc-range-value { color: var(--accent-color); font-weight: 600; }

/* Segmented toggle (applicants / buyer type / nation) */
.calc-toggle {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  background: var(--bg-color);
  border: 1px solid var(--divider-color);
  border-radius: 999px;
  padding: 5px;
}
.calc-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.calc-toggle label {
  margin: 0;
  padding: 9px 16px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-color);
  font-weight: 500;
  transition: background 0.2s ease, color 0.2s ease;
}
.calc-toggle input:checked + label { background: var(--accent-color); color: var(--white-color); }

/* The result panel reuses the template's .pricing-item look */
.calc-result .pricing-item-price h2 { color: var(--accent-color); }
.calc-result-rows { margin-top: 10px; }
.calc-result-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--divider-color);
  font-size: 15px;
}
.calc-result-row:last-child { border-bottom: none; }
.calc-result-row span:first-child { color: var(--text-color); }
.calc-result-row span:last-child { color: var(--primary-color); font-weight: 600; }

.calc-disclaimer {
  font-size: 13px;
  color: var(--text-color);
  opacity: 0.85;
  border-left: 3px solid var(--accent-color);
  padding-left: 14px;
  margin-top: 30px;
}

/* Calculators index tiles reuse .pricing-item; make the whole tile clickable */
a.calc-tile { text-decoration: none; display: block; height: 100%; }
a.calc-tile .pricing-item { height: 100%; }
a.calc-tile:hover .pricing-item { border-color: var(--accent-color); }

/* --- Enquiry form status -------------------------------------------------- */
.enquiry-status { margin-top: 16px; padding: 14px 18px; border-radius: 12px; font-size: 15px; display: none; }
.enquiry-status.show { display: block; }
.enquiry-status.ok { background: rgba(46, 125, 91, 0.12); color: #1c6b48; }
.enquiry-status.err { background: rgba(230, 87, 87, 0.12); color: #b23b3b; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* --- Cookie consent ------------------------------------------------------- */
.cookie-consent {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  width: min(100% - 32px, 640px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--primary-color);
  color: var(--white-color);
  border-radius: 16px;
  padding: 18px 22px;
  z-index: 9999;
  box-shadow: 0 20px 50px rgba(2, 22, 35, 0.35);
}
.cookie-consent p { margin: 0; font-size: 14px; flex: 1 1 260px; }
.cookie-consent-actions { display: flex; gap: 10px; }
.cookie-consent .btn-default { padding: 8px 18px; font-size: 14px; }
.btn-consent-decline { background: transparent; border: 1px solid rgba(255, 255, 255, 0.4); }

/* --- Glass blur on section sub-title pills -------------------------------- */
.section-title .section-sub-title {
  background: var(--divider-color);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* --- Hero background image override --------------------------------------- */
.hero {
  background-image: url('/images/home-main.webp');
  background-size: cover;
  background-position: center;
}

/* Footer compliance text */
.footer-disclaimer { font-weight: 600; opacity: 0.95; margin-bottom: 10px; }
.footer-reg { font-size: 12px; opacity: 0.7; margin-bottom: 10px; }

/* --- Partner (Projects) logo card ---------------------------------------- */
#partners .project-item-image figure { background: #ffffff; }
#partners .project-item-image img { object-fit: contain; padding: 45px; width: 100%; }

/* --- Testimonials: drop fixed min-height (stops jumps); metric stays inline */
.testimonial-item { min-height: 0 !important; }
.testimonial-item-counter { flex-wrap: nowrap !important; }

/* --- Footer logo ---------------------------------------------------------- */
.footer-brand { display: inline-block; margin-bottom: 22px; }
.footer-brand img { max-height: 60px; width: auto; }

/* --- Partner (Projects) single item: centre it -------------------------- */
#partners .swiper-wrapper { transform: none !important; justify-content: center; }
#partners .swiper-slide { width: 460px !important; max-width: 100%; margin-right: 0 !important; }

/* --- Blog images: 16:9 --------------------------------------------------- */
.post-featured-image figure { aspect-ratio: 16 / 9; overflow: hidden; }
.post-featured-image figure img { width: 100%; height: 100%; object-fit: cover; }

/* --- Partner tab logo box ------------------------------------------------ */
#partners .expertise-item-image figure { background: var(--accent-color); border-radius: 20px; display: flex; align-items: center; justify-content: center; }
#partners .expertise-item-image img { object-fit: contain; padding: 40px; width: 100%; }

/* Testimonial metric label width */
.testimonial-item-counter p { max-width: 160px; }


/* Light bg-section colour (keep dark-section sections dark) */
.bg-section:not(.dark-section) { background-color: #f6f3ec; }


/* --- Reusable dotted background (from the testimonials section) ---------- */
.bg-dots {
  background-image: url('/images/testimonial-bg-image.png');
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center center;
}

/* Stop the hero's 15px margin collapsing through <main id="top">, so "Home"
   scrolls fully to the top (0) instead of ~15px short. */
#top { display: flow-root; }

/* Gap before the partner "Visit their website" button */
#partners .expertise-item-btn { margin-top: 26px; }



/* --- Get started modal --------------------------------------------------- */
.gs-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; }
.gs-modal[hidden] { display: none; }
.gs-overlay { position: absolute; inset: 0; background: rgba(2, 22, 35, 0.6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.gs-dialog { position: relative; width: min(560px, 100% - 32px); max-height: 90vh; overflow: auto; background: #fff; border-radius: 24px; padding: 44px 40px 40px; box-shadow: 0 30px 80px rgba(2, 22, 35, 0.4); }
.gs-close { position: absolute; top: 16px; right: 20px; background: none; border: none; font-size: 30px; line-height: 1; cursor: pointer; color: var(--text-color); }
.gs-progress { height: 6px; background: var(--divider-color); border-radius: 999px; overflow: hidden; margin-bottom: 28px; }
.gs-progress span { display: block; height: 100%; width: 0; background: var(--accent-color); border-radius: 999px; transition: width .3s ease; }
.gs-q { color: var(--primary-color); margin-bottom: 22px; }
.gs-options { display: grid; gap: 12px; }
.gs-option { text-align: left; padding: 16px 20px; border: 1px solid var(--divider-color); border-radius: 14px; background: #fff; font-family: var(--default-font); font-size: 16px; color: var(--primary-color); cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.gs-option:hover, .gs-option.is-selected { border-color: var(--accent-color); background: rgba(43, 59, 137, 0.06); }
.gs-textarea { width: 100%; padding: 16px 18px; border: 1px solid var(--divider-color); border-radius: 14px; font-family: var(--default-font); font-size: 16px; resize: vertical; }
.gs-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 26px; }
.gs-back { background: none; border: none; color: var(--text-color); cursor: pointer; font-family: var(--accent-font), var(--default-font); font-weight: 600; }
.gs-summary { list-style: none; padding: 0; margin: 0; }
.gs-summary li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--divider-color); }
.gs-summary li span:first-child { color: var(--text-color); }
.gs-summary li span:last-child { color: var(--primary-color); font-weight: 600; text-align: right; }
.gs-done { text-align: center; padding: 16px 0; }
.gs-tick { width: 64px; height: 64px; border-radius: 50%; background: var(--accent-color); color: #fff; font-size: 30px; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }

/* get-started modal inputs */
.gs-inputs { display: grid; gap: 16px; }
.gs-inputs label { display: block; font-size: 14px; color: var(--primary-color); font-weight: 500; }
.gs-inputs input { width: 100%; margin-top: 8px; padding: 14px 18px; border: 1px solid var(--divider-color); border-radius: 12px; font-size: 16px; }

/* Testimonial cards white */
.testimonial-item { background-color: #FFF; }

/* --- Mobile tweaks (<=991px): smaller logo + tighter partners gap -------- */
@media (max-width: 991px) {
  .navbar { padding-top: 10px; padding-bottom: 10px; }
}

/* --- Hero background: parallaxie scrolls .hero bg (desktop); blurred ::after on mobile --- */
@media (max-width: 991px) {
  .hero { background-image: none; }
  .hero::after {
    content: '';
    position: absolute;
    inset: -15px;
    background: url('/images/home-main.webp') center / cover no-repeat;
    filter: blur(5px);
    z-index: 0;
  }
}

/* Service icon: turn blue on hover (icon-box bg goes white) */
.service-item:hover .service-item-header .icon-box i { color: var(--accent-color); }

/* Cookie consent buttons: no arrow-circle pseudo-element */
.cookie-consent .btn-default::before { display: none; }


/* --- Hero glass contact form (replaces the "No fees" box) ---------------- */
.hero-support-box { width: 100%; max-width: 540px; padding: 32px; }
.hero-form-title { color: var(--white-color); margin-bottom: 22px; }
.hero-form .form-control {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: var(--white-color);
  border-radius: 12px;
  padding: 13px 18px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.hero-form .form-control::placeholder { color: rgba(255, 255, 255, 0.7); }
.hero-form .form-control:focus { border-color: var(--white-color); background: rgba(255, 255, 255, 0.14); box-shadow: none; color: var(--white-color); }
.hero-form .mb-3 { margin-bottom: 14px; }
.hero-form .btn-default { width: 100%; justify-content: center; margin-top: 4px; }

/* Hero overlay gradient (darker lower half for the form backdrop) */
.hero::before {
  background: linear-gradient(180deg, rgba(2, 22, 35, 0.40) 10%, rgba(2, 22, 35, 0.00) 30%, rgba(2, 22, 35, 0.80) 50%);
}

/* Hero height */
.hero { height: 96vh; min-height: 750px; }

/* --- Glass get-started modal (matches .hero-support-box) ------------------ */
.gs-overlay { background: rgba(2, 22, 35, 0.55); }
.gs-dialog {
  background: var(--divider-color);              /* rgba(2,22,35,0.10) */
  border: 1px solid var(--dark-divider-color);   /* rgba(255,255,255,0.10) */
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 80px rgba(2, 22, 35, 0.45);
  color: var(--white-color);
}
.gs-q, .gs-close, .gs-back { color: var(--white-color); }
.gs-progress { background: rgba(255, 255, 255, 0.15); }
/* choice buttons: translucent glass */
.gs-option {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.25);
  color: var(--white-color);
}
.gs-option:hover, .gs-option.is-selected {
  border-color: var(--white-color);
  background: rgba(255, 255, 255, 0.14);
}
/* inputs + textarea: glass */
.gs-inputs input, .gs-textarea {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.28);
  color: var(--white-color);
}
.gs-inputs input::placeholder, .gs-textarea::placeholder { color: rgba(255, 255, 255, 0.7); }
.gs-inputs label { color: var(--white-color); }
/* review summary + done screen */
.gs-summary li { border-bottom-color: rgba(255, 255, 255, 0.15); }
.gs-summary li span:first-child { color: rgba(255, 255, 255, 0.7); }
.gs-summary li span:last-child { color: var(--white-color); }
.gs-done h3, .gs-done p { color: var(--white-color); }

/* hero box border + modal fade */
.hero-support-box { border: none; }
.gs-modal { opacity: 0; transition: opacity 0.3s ease; }
.gs-modal.gs-open { opacity: 1; }

/* Hero form inputs: no border */
.hero-form .form-control { border: 0; }

/* City logo inline in the hero title, matched to the h1 line-height (1.2em) */
.hero-title-logo {
  height: 1.2em;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}

/* Remove the section-title gap above the hero Get In Touch box */
.hero .col-xl-5 .section-title { margin-bottom: 0; }

/* Also drop it on the main hero-content title block */
.hero .section-title { margin-bottom: 0; }

/* City name rendered as text (trial, sits below logo-city.png) */
@font-face {
  font-family: 'Google Sans Flex';
  src: url('/fonts/GoogleSansFlex_120pt-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.hero-title-citytext { display: inline-block; vertical-align: middle; }
.hero-title-citytext svg { display: inline-block; height: 1.2em; width: auto; vertical-align: middle; }

/* City-name cutout overlaid on the navbar logo (tune size/position) */
.navbar-brand { position: relative; }
.brand-citytext { position: absolute; left: 67px; top: 0; pointer-events: none; }
.brand-citytext svg { display: block; height: 35px; width: auto; }

/* --- Blog images: service-style hover (flash + zoom + centre redirect btn) */
.post-featured-image { position: relative; border-radius: 20px; overflow: hidden; }
.post-featured-image figure { margin: 0; border-radius: 20px; }
.post-featured-image figure img { transition: all 0.6s ease-in-out; }
.post-featured-image:hover figure img { transform: scale(1.06); }
.post-featured-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); transition: all 0.4s ease-in-out; z-index: 2; }
.post-featured-image:hover .post-featured-btn { transform: translate(-50%, -50%) scale(1); }
.post-featured-btn a { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background-color: var(--accent-color); border-radius: 50%; transition: all 0.4s ease-in-out; }
.post-featured-btn a:hover { background-color: var(--white-color); }
.post-featured-btn a img { width: 100%; max-width: 24px; transition: all 0.4s ease-in-out; transform: rotate(-45deg); }
.post-featured-btn a:hover img { transform: rotate(0); filter: brightness(0) invert(0); }

/* --- Default page font -> Google Sans Flex Medium (matches the header) ---- */
@font-face {
  font-family: 'Google Sans Flex';
  src: url('/fonts/GoogleSansFlex_120pt-Medium.ttf') format('truetype');
  font-weight: 100 600;
  font-style: normal;
  font-display: swap;
}
:root { --default-font: 'Google Sans Flex', sans-serif; }


/* Blog image: keep a visible (pointer) cursor - template hid it via cursor:none */
.post-featured-image,
.post-featured-image figure,
.post-featured-image img,
.post-featured-btn a { cursor: pointer !important; }

/* Header phone button: swap the arrow for a phone icon */
.phone-btn::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23021623' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.1 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
  background-size: 18px auto;
}

/* Center the calculator tab content (icon + label) */
.calc-nav .nav-link { justify-content: center; }

/* City-name cutout overlaid on the footer logo (tune size/position) */
.footer-brand { position: relative; display: inline-block; }
.footer-citytext { position: absolute; left: 67px; top: 0; pointer-events: none; }
.footer-citytext svg { display: block; height: 35px; width: auto; }


/* Footer opening-hours clock icon */
.footer-contact-item .icon-box i { position: relative; z-index: 1; color: var(--white-color); font-size: 22px; }

/* Footer contact items: 3 equal columns on desktop, full width on mobile */
.footer-contact-items-list { gap: 24px; align-items: flex-start; }
.footer-contact-items-list .footer-contact-item { flex: 1 1 0; min-width: 0; }
@media (max-width: 991px) {
  .footer-contact-items-list .footer-contact-item { flex: 0 0 100%; }
}

/* Contact items list spans the full footer width now the CTA block is gone */
.footer-contact-items-list { width: 100%; }

/* Footer copyright: no divider / top gap */
.footer-copyright-text { border-top: none; margin-top: 0; }

/* "Get In Touch" heading + Continue button on one row (button right, larger) */
.footer-contact-us-form .section-title { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-bottom: 0; border-bottom: none; }
.footer-continue-btn { font-size: 18px; padding: 20px 74px 20px 36px; }
.footer-continue-btn::before { width: 50px; height: 50px; right: 6px; }

/* Footer Get In Touch: glass */
.main-footer .footer-contact-us-form {
  background: var(--dark-divider-color);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  border-radius: 20px;
  padding: 40px;
}
.footer-contact-us-form .form-control {
  background: rgba(255, 255, 255, 0.08);
  border: 0;
  color: var(--white-color);
  border-radius: 12px;
  padding: 13px 18px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.footer-contact-us-form .form-control::placeholder { color: rgba(255, 255, 255, 0.7); }
.footer-contact-us-form .form-control:focus { background: rgba(255, 255, 255, 0.14); color: var(--white-color); box-shadow: none; }

/* Footer contact items: larger label (p), smaller value (h3) */
.footer-contact-item-content p { font-size: 20px; font-weight: 600; color: var(--white-color); margin-bottom: 4px; }
.footer-contact-item-content h3, .footer-contact-item-content h3 a { font-size: 15px; font-weight: 400; }

/* Footer info box top spacing */
.footer-info-box { margin-top: 60px !important; }

/* Footer contact items glass: match the form blur (3px) */
.footer-contact-items-list { -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }

/* Disable text highlighting globally (keep form fields selectable) */
* { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
input, textarea, select { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; }

/* Footer padding */
.main-footer { padding: 72px 0 0; }

/* Nav items: stay white on hover, animate to bolder (text-shadow avoids layout shift) */
.main-menu ul li a:hover,
.main-menu ul li a:focus {
  color: var(--white-color);
  text-shadow: 0 0 0.5px currentColor, 0 0 0.5px currentColor;
}

/* Mobile hero: fit content (so the Get In Touch box shows in full) + space above the badge */
@media (max-width: 1199px) {
  .hero { height: auto; min-height: 0; }
  .hero .col-xl-5 { margin-top: 40px; }
}

/* --- Mobile-only tweaks ------------------------------------------------- */
@media (max-width: 991px) {
  .why-choose-item-list { display: none; }
  #partners .our-expertise-nav .nav-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 767px) {
  /* footer Get In Touch: space under Phone No. when fields stack */
  .footer-contact-us-form .form-group:nth-child(3) { margin-bottom: 24px; }
}

/* Opening Hours clock icon: white -> accent (blue) on hover, like the other footer icons */
.footer-contact-item .icon-box i { transition: color 0.4s ease-in-out; }
.footer-contact-item:hover .icon-box i { color: var(--accent-color); }
