/*
 * MOVVACK public design system
 * Additive presentation layer for the existing PHP templates.
 * Business logic, routes and dynamically managed content remain untouched.
 */
:root {
  --mv-navy: #07182e;
  --mv-navy-2: #0d2747;
  --mv-blue: #1769e0;
  --mv-blue-dark: #0e4fae;
  --mv-gold: #f5bf35;
  --mv-gold-soft: #fff3c4;
  --mv-ink: #102033;
  --mv-muted: #5e6d7e;
  --mv-surface: #ffffff;
  --mv-surface-soft: #f4f7fb;
  --mv-line: #dce4ee;
  --mv-success: #147a58;
  --mv-danger: #b4233a;
  --mv-radius-sm: 10px;
  --mv-radius: 18px;
  --mv-radius-lg: 28px;
  --mv-shadow-sm: 0 8px 24px rgba(7, 24, 46, .08);
  --mv-shadow: 0 22px 55px rgba(7, 24, 46, .13);
  --mv-container: 1180px;
  --mv-ease: 220ms cubic-bezier(.2, .75, .25, 1);
}

html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  background: var(--mv-surface-soft);
  color: var(--mv-ink);
  font-family: Inter, Rubik, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { font-family: Inter, Rubik, Arial, sans-serif; }
img { max-width: 100%; }
a { color: var(--mv-blue-dark); text-underline-offset: .18em; }
a, button, input, select, textarea { transition: border-color var(--mv-ease), box-shadow var(--mv-ease), color var(--mv-ease), background-color var(--mv-ease), transform var(--mv-ease); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--mv-gold);
  outline-offset: 3px;
}
::selection { background: var(--mv-gold-soft); color: var(--mv-navy); }

.mv-skip-link {
  position: fixed;
  z-index: 100000;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--mv-gold);
  color: var(--mv-navy);
  font-weight: 800;
  transform: translateY(-160%);
}
.mv-skip-link:focus { transform: translateY(0); }

/* Shared header and navigation */
header.fixed,
.header.fixed {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(7, 24, 46, .94);
  box-shadow: 0 10px 36px rgba(4, 16, 31, .16);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.header-inner.wrapper {
  width: min(calc(100% - 32px), var(--mv-container));
  min-height: 78px;
  margin-inline: auto;
}
.header .logo img,
header .logo img { width: auto; max-width: 168px; max-height: 46px; }
.navmenu-links > li > a,
.mobile_language_cur > li > a,
.header-right ul > li > a {
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 650;
}
.navmenu-links > li > a:hover,
.mobile_language_cur > li > a:hover,
.header-right ul > li > a:hover { background: rgba(255, 255, 255, .1); color: var(--mv-gold); }
.header .btn,
.header .login,
.btn-singin-new,
.book-btn,
.know-more-btn,
.readmore,
.submitbtn,
button[type="submit"],
input[type="submit"] {
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--mv-gold);
  color: var(--mv-navy) !important;
  font-weight: 800;
  box-shadow: 0 9px 24px rgba(245, 191, 53, .22);
}
.book-btn:hover,
.know-more-btn:hover,
.readmore:hover,
.submitbtn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover { background: #ffd363; transform: translateY(-2px); }

/* Homepage hero */
#new-home-page .banner-section,
#new-home-page .banner { position: relative; overflow: hidden; background: var(--mv-navy); }
#new-home-page .banner-section::after,
#new-home-page .banner::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(90deg, rgba(4, 15, 29, .9) 0%, rgba(4, 15, 29, .64) 43%, rgba(4, 15, 29, .12) 75%), linear-gradient(180deg, transparent 70%, rgba(7, 24, 46, .5));
}
#new-home-page .banner-image { filter: saturate(.88) contrast(1.04); }
#new-home-page .banner-section-inner,
#new-home-page .banner-inner { position: relative; z-index: 2; width: min(calc(100% - 32px), var(--mv-container)); margin-inline: auto; }
#new-home-page .categories-block,
#new-home-page .banner-left { max-width: 650px; }
#new-home-page .categories-caption { padding: clamp(28px, 5vw, 62px); border: 1px solid rgba(255,255,255,.13); border-radius: var(--mv-radius-lg); background: rgba(7, 24, 46, .7); box-shadow: var(--mv-shadow); backdrop-filter: blur(12px); }
#new-home-page .categories-caption h2,
#new-home-page .banner-content h1 { max-width: 13ch; margin-bottom: 20px; color: #fff; font-size: clamp(38px, 6vw, 72px); font-weight: 850; letter-spacing: -.045em; line-height: 1.02; text-wrap: balance; }
#new-home-page .categories-caption p,
#new-home-page .banner-content p { max-width: 56ch; color: rgba(255,255,255,.82); font-size: clamp(16px, 2vw, 19px); line-height: 1.7; }
#new-home-page .book-btn { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; margin-top: 22px; padding: 13px 24px; }
#new-home-page .book-btn img { width: 18px; height: 18px; }
#new-home-page .tab-row-holding { position: relative; z-index: 3; }
#new-home-page .tab-row.homepage { gap: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--mv-radius); background: rgba(7,24,46,.7); backdrop-filter: blur(14px); }
#new-home-page .tab-row.homepage li { min-height: 72px; border-radius: 12px; color: #fff; }
#new-home-page .tab-row.homepage li.active,
#new-home-page .tab-row.homepage li:hover { background: var(--mv-gold); color: var(--mv-navy); }

/* Search, services and feature sections */
#new-home-page .location-area,
#new-home-page .rootservices,
#new-home-page .howworks,
#new-home-page .become { padding-block: clamp(64px, 9vw, 112px); }
#new-home-page .location-area { background: var(--mv-surface); }
#new-home-page .rootservices,
#new-home-page .become { background: var(--mv-surface-soft); }
#new-home-page .howworks { background: var(--mv-navy); color: #fff; }
#new-home-page :is(.location-area-inner, .rootservices-inner, .howworks-inner, .become-inner) { width: min(calc(100% - 32px), var(--mv-container)); margin-inline: auto; }
.common-title { margin-bottom: clamp(28px, 5vw, 54px); text-align: center; }
.common-title h2,
.common-title strong { color: inherit; font-size: clamp(30px, 4.5vw, 50px); font-weight: 820; letter-spacing: -.035em; line-height: 1.12; text-wrap: balance; }
.common-title p { max-width: 680px; margin: 14px auto 0; color: var(--mv-muted); font-size: 17px; }
#new-home-page .howworks .common-title p { color: rgba(255,255,255,.7); }
.element-holder,
.servicesdata-caption,
.serviceblock-inner,
.howworks-block,
.became-block { border: 1px solid var(--mv-line); border-radius: var(--mv-radius); background: var(--mv-surface); box-shadow: var(--mv-shadow-sm); }
.servicesdata-caption,
.serviceblock-inner,
.howworks-block,
.became-block { overflow: hidden; }
.servicesdata-caption:hover,
.serviceblock-inner:hover,
.became-block:hover { border-color: rgba(23,105,224,.38); box-shadow: var(--mv-shadow); transform: translateY(-5px); }
.howworks-block { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; }
.howworks-block i { display: grid; width: 74px; height: 74px; margin-inline: auto; place-items: center; border-radius: 20px; background: rgba(245,191,53,.14); }
.searchTerm,
.selected_service,
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea { min-height: 48px; border: 1px solid #cbd7e5; border-radius: var(--mv-radius-sm); background: #fff; color: var(--mv-ink); }
textarea { min-height: 130px; resize: vertical; }
input:focus,
select:focus,
textarea:focus { border-color: var(--mv-blue); box-shadow: 0 0 0 4px rgba(23,105,224,.12); }

/* Inner content pages */
body:not(#new-home-page) #main-uber-page { min-height: 100vh; background: radial-gradient(circle at 90% 0, rgba(23,105,224,.09), transparent 34%), var(--mv-surface-soft); }
.page-contant,
.gen-cms-page { min-height: 58vh; padding: clamp(128px, 15vw, 180px) 16px clamp(64px, 9vw, 104px); background: transparent; }
.page-contant-inner,
.gen-cms-page-inner { width: min(100%, 960px); margin-inline: auto; padding: clamp(28px, 5vw, 62px); border: 1px solid var(--mv-line); border-radius: var(--mv-radius-lg); background: var(--mv-surface); box-shadow: var(--mv-shadow-sm); }
.header-page,
.page-heading h1 { margin: 0 0 28px; color: var(--mv-navy); font-size: clamp(34px, 5vw, 56px); font-weight: 850; letter-spacing: -.04em; line-height: 1.08; text-wrap: balance; }
.static-page { color: #34465a; font-size: 16px; }
.static-page h2,
.static-page h3,
.static-page h4 { margin: 1.6em 0 .55em; color: var(--mv-navy); line-height: 1.25; }
.static-page p,
.static-page ul,
.static-page ol { margin-bottom: 1.15em; }
.static-page ul,
.static-page ol { padding-inline-start: 1.4em; }
.static-page a { font-weight: 650; }
.static-page table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.static-page :is(th, td) { padding: 12px 14px; border: 1px solid var(--mv-line); }

/* Shared authentication/contact cards */
.login-page,
.sign-up-page,
.contact-page { background: var(--mv-surface-soft); }
.login-form,
.sign-up-form,
.contact-form,
.form-signin { border: 1px solid var(--mv-line); border-radius: var(--mv-radius-lg); background: var(--mv-surface); box-shadow: var(--mv-shadow); }
.alert { border: 0; border-radius: var(--mv-radius-sm); }
.alert-danger { background: #fff0f2; color: var(--mv-danger); }
.alert-success { background: #eaf8f2; color: var(--mv-success); }

/* Footer */
footer,
.footer { border-top: 1px solid rgba(255,255,255,.1); background: var(--mv-navy) !important; color: rgba(255,255,255,.72); }
.footer a,
footer a { color: rgba(255,255,255,.82); }
.footer a:hover,
footer a:hover { color: var(--mv-gold); }
.footer h3,
.footer h4,
footer h3,
footer h4 { color: #fff; font-weight: 750; }
.footer-inner,
.footer-bottom-inner { width: min(calc(100% - 32px), var(--mv-container)); margin-inline: auto; }

@media (max-width: 900px) {
  .header-inner.wrapper { min-height: 68px; }
  #new-home-page .categories-caption { max-width: 620px; }
  #new-home-page .tab-row.homepage { overflow-x: auto; scroll-snap-type: x proximity; }
  #new-home-page .tab-row.homepage li { min-width: 126px; scroll-snap-align: start; }
  .page-contant,
  .gen-cms-page { padding-top: 108px; }
}

@media (max-width: 600px) {
  body { font-size: 15px; }
  .header-inner.wrapper,
  #new-home-page :is(.banner-section-inner, .banner-inner, .location-area-inner, .rootservices-inner, .howworks-inner, .become-inner),
  .footer-inner,
  .footer-bottom-inner { width: min(calc(100% - 24px), var(--mv-container)); }
  #new-home-page .categories-caption { padding: 26px 22px; border-radius: 22px; }
  #new-home-page .categories-caption h2,
  #new-home-page .banner-content h1 { font-size: clamp(34px, 12vw, 48px); }
  #new-home-page .book-btn { width: 100%; justify-content: center; }
  .page-contant,
  .gen-cms-page { padding: 92px 12px 54px; }
  .page-contant-inner,
  .gen-cms-page-inner { padding: 26px 20px; border-radius: 20px; }
  .header-page,
  .page-heading h1 { font-size: 34px; }
  .movvack-whatsapp-copy { display: none !important; }
  .movvack-whatsapp-float { width: 48px; height: 48px; padding: 0 !important; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (forced-colors: active) {
  .book-btn,
  button,
  input,
  select,
  textarea { border: 1px solid ButtonText; }
}
