/* Global luxury mobility button system. Loaded after the legacy WordPress styles. */
:root {
  --luxury-gold: #D48C70;
  --luxury-ink: #0b0c0e;
  --luxury-cream: #f5f4f0;
  --luxury-glass: rgba(255, 255, 255, 0.05);
  --luxury-border: rgba(255, 255, 255, 0.2);
  --luxury-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Large actions are intentionally limited to the page content, never the header. */
main .elementor-button,
main .ast-button,
main .csib-btn-gold,
main a.bg,
main .button,
main a[href*="book.mylimobiz.com"],
main input[type="submit"],
main button[type="submit"] {
  align-items: center;
  appearance: none;
  background: var(--luxury-gold) !important;
  border: 0 !important;
  border-radius: 6px;
  color: var(--luxury-ink) !important;
  display: inline-flex;
  font-family: inherit;
  font-weight: 600;
  gap: 0.5rem;
  justify-content: center;
  letter-spacing: 0.5px;
  line-height: 1;
  min-height: 52px;
  padding: 16px 32px;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.2s var(--luxury-ease);
}

/* Secondary actions remain content-only too. */
main .csib-btn-outline,
main a.bo,
main .csib-fleet-book,
main .csib-service-link,
main a[href^="mailto:"] {
  align-items: center;
  appearance: none;
  background: var(--luxury-glass) !important;
  border: 1px solid var(--luxury-border) !important;
  border-radius: 6px;
  color: var(--luxury-cream) !important;
  display: inline-flex;
  font-family: inherit;
  font-weight: 600;
  gap: 0.5rem;
  justify-content: center;
  letter-spacing: 0.5px;
  line-height: 1;
  min-height: 52px;
  padding: 16px 32px;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.2s var(--luxury-ease);
}

main .elementor-button:hover,
main .ast-button:hover,
main .csib-btn-gold:hover,
main a.bg:hover,
main .button:hover,
main a[href*="book.mylimobiz.com"]:hover,
main input[type="submit"]:hover,
main button[type="submit"]:hover,
main .csib-btn-outline:hover,
main a.bo:hover,
main .csib-fleet-book:hover,
main .csib-service-link:hover,
main a[href^="mailto:"]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  transform: translateY(-2px);
}

main .elementor-button:active,
main .ast-button:active,
main .csib-btn-gold:active,
main a.bg:active,
main .button:active,
main a[href*="book.mylimobiz.com"]:active,
main input[type="submit"]:active,
main button[type="submit"]:active,
main .csib-btn-outline:active,
main a.bo:active,
main .csib-fleet-book:active,
main .csib-service-link:active,
main a[href^="mailto:"]:active {
  box-shadow: none;
  transform: scale(0.97);
}

main .elementor-button:focus-visible,
main .ast-button:focus-visible,
main .csib-btn-gold:focus-visible,
main .csib-btn-outline:focus-visible,
main a.bg:focus-visible,
main a.bo:focus-visible,
main .button:focus-visible,
main .csib-fleet-book:focus-visible,
main .csib-service-link:focus-visible,
main a[href*="book.mylimobiz.com"]:focus-visible,
main a[href^="mailto:"]:focus-visible,
main input[type="submit"]:focus-visible,
main button[type="submit"]:focus-visible {
  outline: 2px solid var(--luxury-gold);
  outline-offset: 3px;
}

@media (max-width: 540px) {
  main .elementor-button,
  main .ast-button,
  main .csib-btn-gold,
  main .csib-btn-outline,
  main a.bg,
  main a.bo,
  main .button,
  main .csib-fleet-book,
  main .csib-service-link,
  main a[href*="book.mylimobiz.com"],
  main a[href^="mailto:"],
  main input[type="submit"],
  main button[type="submit"] {
    padding: 15px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  main .elementor-button,
  main .ast-button,
  main .csib-btn-gold,
  main .csib-btn-outline,
  main a.bg,
  main a.bo,
  main .button,
  main .csib-fleet-book,
  main .csib-service-link,
  main a[href*="book.mylimobiz.com"],
  main a[href^="mailto:"],
  main input[type="submit"],
  main button[type="submit"] {
    transition: none;
  }

  main .elementor-button:hover,
  main .ast-button:hover,
  main .csib-btn-gold:hover,
  main .csib-btn-outline:hover,
  main a.bg:hover,
  main a.bo:hover,
  main .button:hover,
  main .csib-fleet-book:hover,
  main .csib-service-link:hover,
  main a[href*="book.mylimobiz.com"]:hover,
  main a[href^="mailto:"]:hover,
  main input[type="submit"]:hover,
  main button[type="submit"]:hover {
    transform: none;
  }
}

/* Header repair: retain Astra's one-line navigation and compact the booking control. */
.site-header .ast-builder-grid-row,
.main-header-bar .ast-builder-grid-row,
#ast-mobile-header .ast-builder-grid-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.site-header .main-navigation,
.site-header .main-header-menu,
.site-header .main-header-menu > .menu,
.site-header .main-header-menu > .menu > .menu-item,
.site-header .main-header-menu .menu-link {
  align-items: center;
  white-space: nowrap;
}

.site-header .main-header-menu > .menu {
  display: flex;
  flex-wrap: nowrap;
}

.site-header .ast-header-button-1 .ast-builder-button-wrap {
  align-items: center;
  display: flex;
  white-space: nowrap;
}

.site-header .ast-header-button-1 .ast-custom-button-link,
#ast-mobile-header .ast-header-button-1 .ast-custom-button-link {
  align-items: center;
  background: var(--luxury-gold) !important;
  border: 0 !important;
  border-radius: 99px;
  color: var(--luxury-ink) !important;
  display: inline-flex !important;
  font-size: 13px;
  font-weight: 600;
  height: auto !important;
  justify-content: center;
  letter-spacing: 0.5px;
  line-height: 1;
  min-height: 0 !important;
  padding: 10px 20px !important;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.2s var(--luxury-ease);
  width: auto !important;
}

/* The Astra button uses an inner div; leaving it unstyled prevents double padding. */
.site-header .ast-header-button-1 .ast-custom-button,
#ast-mobile-header .ast-header-button-1 .ast-custom-button {
  background: transparent !important;
  border: 0 !important;
  color: inherit !important;
  display: block !important;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  min-height: 0 !important;
  padding: 0 !important;
}

.site-header .ast-header-button-1 .ast-custom-button-link:hover,
#ast-mobile-header .ast-header-button-1 .ast-custom-button-link:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}

.site-header .ast-header-button-1 .ast-custom-button-link:active,
#ast-mobile-header .ast-header-button-1 .ast-custom-button-link:active {
  box-shadow: none;
  transform: scale(0.97);
}

.site-header .ast-header-button-1 .ast-custom-button-link:focus-visible,
#ast-mobile-header .ast-header-button-1 .ast-custom-button-link:focus-visible {
  outline: 2px solid var(--luxury-gold);
  outline-offset: 3px;
}

/* Option 3: Modern Stealth, an electric-bronze identity over charcoal surfaces. */
:root {
  --luxury-canvas: #0F0F0F;
  --luxury-surface: #1A1A1A;
  --luxury-text: #FFFFFF;
  --luxury-accent: #D48C70;
  --luxury-accent-hover: #E1A08A;
  --luxury-gold: var(--luxury-accent);
  --luxury-ink: var(--luxury-canvas);
  --luxury-cream: var(--luxury-text);
  --ast-global-color-0: var(--luxury-accent);
  --ast-global-color-1: var(--luxury-text);
  --ast-global-color-2: var(--luxury-canvas);
  --ast-global-color-3: var(--luxury-surface);
  --ast-global-color-primary: var(--luxury-accent);
  --ast-global-color-secondary: var(--luxury-text);
  --ast-global-color-alternate-background: var(--luxury-surface);
  --ast-global-color-subtle-background: var(--luxury-canvas);
  --ast-border-color: rgba(255, 255, 255, 0.13);
}

html,
body,
.site,
.site-content,
.ast-separate-container,
.ast-single-post .entry-content {
  background: var(--luxury-canvas) !important;
  color: var(--luxury-text) !important;
}

.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-mobile-header-wrap,
.site-footer,
footer,
.footer-adv,
.csib-header,
.csib-footer {
  background-color: var(--luxury-surface) !important;
  color: var(--luxury-text) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--luxury-text) !important;
}

a {
  color: var(--luxury-accent);
}

a:hover,
a:focus {
  color: var(--luxury-accent-hover);
}

.site-header .menu-link,
.site-footer a,
footer a {
  color: var(--luxury-text);
}

.site-header .menu-link:hover,
.site-header .menu-link:focus,
.site-footer a:hover,
footer a:hover {
  color: var(--luxury-accent-hover);
}

.elementor-button,
.ast-button,
main .csib-btn-gold,
main a.bg,
main .button,
main a[href*="book.mylimobiz.com"],
main input[type="submit"],
main button[type="submit"] {
  background: var(--luxury-accent) !important;
  color: var(--luxury-canvas) !important;
}

main .csib-btn-outline,
main a.bo,
main .csib-fleet-book,
main .csib-service-link,
main a[href^="mailto:"] {
  border-color: var(--luxury-accent) !important;
  color: var(--luxury-accent) !important;
}

/* Catch legacy inline gold declarations without altering layout or typography. */
body [style*="color:#D48C70" i],
body [style*="color: #D48C70" i] {
  color: var(--luxury-accent) !important;
}

body [style*="background:#D48C70" i],
body [style*="background: #D48C70" i] {
  background-color: var(--luxury-accent) !important;
  color: var(--luxury-canvas) !important;
}

body [style*="rgba(212, 140, 112" i] {
  border-color: rgba(212, 140, 112, 0.35) !important;
  text-decoration-color: rgba(212, 140, 112, 0.45) !important;
}

/* Final hero typography scope: every former-gold signal uses the CTA bronze. */
.csib-hero .csib-badge,
.csib-hero .csib-h1 span,
.csib-hero .csib-stat-num,
.csib-trust .csib-trust-icon,
.csib-trust .csib-trust-icon svg,
.csib-trust .csib-trust-icon svg * {
  color: var(--luxury-accent) !important;
  fill: var(--luxury-accent) !important;
  stroke: var(--luxury-accent) !important;
}

.csib-hero .csib-badge,
.csib-hero .csib-h1 span,
.csib-hero .csib-stat-num,
.csib-trust .csib-trust-icon {
  text-shadow: none !important;
}

/* Final accent purge: all section-level details share the CTA bronze. */
.csib-eyebrow,
.csib-fleet-cap,
.csib-section-link,
.csib-service-link,
.csib-service-icon,
.csib-why-check,
.csib-why-badge-num,
.csib-gold-line,
.csib-section-title::after,
.csib-section-title::before,
[class*="eyebrow"],
[class*="kicker"] {
  color: var(--luxury-accent) !important;
}

.csib-gold-line,
.csib-section-title::after,
.csib-section-title::before {
  background-color: var(--luxury-accent) !important;
  border-color: var(--luxury-accent) !important;
}

.csib-service-card:hover,
.csib-service-card:focus-within,
.csib-service-card.is-active,
.csib-fleet-card:hover,
.csib-fleet-card:focus-within,
.csib-fleet-card.is-active,
.csib-review-card:hover,
.csib-area-chip:hover,
.csib-area-chip:focus-visible {
  border-color: var(--luxury-accent) !important;
  box-shadow: 0 16px 38px rgba(212, 140, 112, 0.16) !important;
}

.csib-area-chip:hover,
.csib-area-chip:focus-visible,
.csib-service-link:hover,
.csib-service-link:focus-visible,
.csib-section-link:hover,
.csib-section-link:focus-visible {
  color: var(--luxury-accent) !important;
  border-color: var(--luxury-accent) !important;
}

/* City-page title repair: remove legacy gradient fills from “MA” and kickers. */
.entry-content .h .h1 span,
.entry-content .h .tg,
.entry-content .tg,
.elementor-heading-title span,
.elementor-widget-heading .elementor-heading-title span {
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: var(--luxury-accent) !important;
  background-clip: border-box !important;
  background-image: none !important;
  color: var(--luxury-accent) !important;
  text-fill-color: var(--luxury-accent) !important;
}

/* Astra's active/current menu state must never reintroduce the legacy gold. */
.site-header .main-header-menu > .current-menu-item > .menu-link,
.site-header .main-header-menu > .current_page_item > .menu-link,
.site-header .main-header-menu > .current-menu-ancestor > .menu-link,
.site-header .main-header-menu > .current-menu-parent > .menu-link,
.site-header .main-header-menu .menu-link[aria-current="page"],
#ast-mobile-header .main-header-menu > .current-menu-item > .menu-link,
#ast-mobile-header .main-header-menu > .current_page_item > .menu-link,
#ast-mobile-header .main-header-menu .menu-link[aria-current="page"] {
  color: var(--luxury-text) !important;
}

.site-header .main-header-menu > .current-menu-item > .menu-link:hover,
.site-header .main-header-menu > .current-menu-item > .menu-link:focus-visible,
.site-header .main-header-menu > .current_page_item > .menu-link:hover,
.site-header .main-header-menu > .current_page_item > .menu-link:focus-visible,
#ast-mobile-header .main-header-menu > .current-menu-item > .menu-link:hover,
#ast-mobile-header .main-header-menu > .current-menu-item > .menu-link:focus-visible {
  color: var(--luxury-accent) !important;
}

/* Floating Google-rating card: Bronze surface with ink-dark, readable typography. */
.csib-why-badge {
  background: var(--luxury-accent) !important;
  color: var(--luxury-canvas) !important;
}

.csib-why-badge .csib-why-badge-num,
.csib-why-badge > div:last-child {
  color: var(--luxury-canvas) !important;
}
