/* Pavdrive 1.1.1 — agency chrome. Enqueued after theme.css. */

:root {
  --pav-section-y: 64px;
  --pav-stack: 18px;
  --pav-radius: 4px;
  --pav-radius-card: 4px;
  --pav-shadow: none;
  --pav-shadow-hover: none;
  --pav-shadow-lg: none;
  --pav-glow: none;
}

body,
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
button, input, select, textarea {
  font-family: Manrope, system-ui, sans-serif !important;
}

body {
  font-size: 17px;
  line-height: 1.62;
  letter-spacing: -0.011em;
  background: #fff;
  color: #121820;
}

.pav-eyebrow {
  color: #6a5648;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.pav-section-title,
.pav-hero__title,
.pav-price-card h3,
.pav-finish-detail h3 {
  font-family: var(--pav-font-heading);
  letter-spacing: -0.022em;
  font-weight: 700;
}

.pav-section-title {
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.12;
  margin: 10px 0 14px;
  color: var(--pav-navy-deep);
  max-width: 20ch;
}

.pav-section-head--center .pav-section-title { max-width: 22ch; margin-left: auto; margin-right: auto; }

.pav-section-intro {
  font-size: 17px;
  line-height: 1.55;
  color: #4a5564;
  max-width: 42rem;
}

.pav-btn {
  min-height: 46px;
  padding: 0 20px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.pav-btn--primary {
  background: var(--pav-accent);
  color: #fff;
  box-shadow: none;
}
.pav-btn--primary::after { display: none; }
.pav-btn--primary:hover {
  background: var(--pav-accent-hover);
  transform: none;
  box-shadow: none;
  color: #fff;
}

.pav-header {
  background: #fcfbf8;
  border-bottom: 1px solid #ece8e1;
  backdrop-filter: none;
}
.pav-header.is-scrolled { box-shadow: none; border-bottom-color: #e4ddd4; }
.pav-header__inner { height: 64px; }
.pav-nav__list > li > a {
  font-size: 13px;
  font-weight: 600;
  color: #3d4654;
  padding: 8px 10px;
}
.pav-nav__list > li.current-menu-item > a,
.pav-nav__list > li.current_page_item > a {
  background: transparent;
  color: var(--pav-navy-deep);
  box-shadow: inset 0 -1px 0 var(--pav-navy-deep);
}
.pav-nav__list > li > a:hover {
  background: transparent;
  color: var(--pav-navy-deep);
}
.pav-header-phone {
  border: 0;
  background: transparent;
  font-weight: 600;
  padding: 0 4px;
  min-height: 0;
}
.pav-logo img { height: 32px; max-width: 180px; }
.pav-header-phone .pav-svg { color: #3d4654; display: none; }
.pav-header__actions > .pav-btn { min-height: 40px; border-radius: 4px; }

.pav-topbar {
  background: var(--pav-navy-deep);
  font-size: 11px;
  letter-spacing: 0.04em;
}
.pav-topbar__contact { display: none; }

.pav-section { padding: var(--pav-section-y) 0; }
.pav-section--motif { background: transparent; }

[data-pav-reveal],
.pav-reveal { transition: opacity 0.55s ease, transform 0.55s ease; }
html.pav-reveal-ready [data-pav-reveal]:not(.is-visible),
html.pav-reveal-ready .pav-reveal:not(.is-visible) {
  opacity: 0;
  transform: translateY(12px);
}

.pav-footer { padding-top: 72px; }
.pav-footer h3 {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
}

.pav-mobile-sticky .pav-btn--primary,
.pav-mobile-sticky__cta {
  background: #ff6600 !important;
  color: #fff !important;
  box-shadow: none !important;
}

@media (max-width: 1180px) {
  .pav-header-phone,
  .pav-header__actions > .pav-btn { display: none; }
}

@media (max-width: 800px) {
  :root { --pav-section-y: 56px; --pav-gutter: 20px; }
  .pav-section-title { font-size: clamp(24px, 6.8vw, 32px); max-width: none; letter-spacing: -0.04em; }
  body { font-size: 16px; }
}

@media (max-width: 640px) {
  html { scroll-padding-bottom: 88px; }
  body.pav-has-mobile-sticky,
  .pav-has-mobile-sticky { padding-bottom: 88px; }
  body.pav-has-mobile-sticky .pav-site-main,
  .pav-has-mobile-sticky .elementor { padding-bottom: 32px; }
  .pav-booking { padding-bottom: 96px; }
  .pav-quote-form { padding-bottom: 24px; }
  .pav-hero__inner {
    padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .pav-mobile-sticky {
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
    backdrop-filter: none;
    background: #040e1a;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    transition: transform 0.25s ease;
  }
  body:has(.pav-hero) .pav-mobile-sticky:not(.is-ready) {
    transform: translateY(110%);
    pointer-events: none;
  }
  .pav-mobile-sticky.is-away {
    transform: translateY(110%);
    pointer-events: none;
  }
}

/* 1.1.1 — quieter empty zones */
.pav-hero__aside:empty,
.elementor-widget-empty,
.elementor-alert.elementor-alert-danger {
  display: none !important;
}
