:root {
  --baby-ivory: #F8F0EA;
  --baby-cream: #F5EAE2;
  --baby-blush: #DDB79D;
  --baby-rose: #CBA082;
  --baby-champagne: #E4CAB5;
  --baby-gold: #AD743A;
  --baby-bronze: #715734;
  --baby-sage: #77806F;
  --baby-deep-sage: #4D5C47;
  --baby-silver-sage: #9EA293;
  --baby-cocoa: #7A502F;
  --vm-ink: var(--baby-deep-sage);
  --vm-text: var(--baby-deep-sage);
  --vm-muted: var(--baby-sage);
  --vm-paper: var(--baby-ivory);
  --vm-cream: var(--baby-cream);
  --vm-blush: var(--baby-blush);
  --vm-rose: var(--baby-rose);
  --vm-terracotta: var(--baby-gold);
  --vm-sage: var(--baby-sage);
  --vm-sky: var(--baby-silver-sage);
  --vm-navy: var(--baby-deep-sage);
  --vm-shadow: 0 22px 60px rgba(113, 87, 52, 0.14);
  --vm-soft-shadow: 0 14px 36px rgba(113, 87, 52, 0.1);
  --vm-radius: 20px;
}

html {
  scroll-behavior: smooth;
}

body.wp-theme-flatsome {
  background:
    radial-gradient(circle at 12% 8%, rgba(221, 183, 157, 0.34), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(158, 162, 147, 0.26), transparent 26%),
    linear-gradient(180deg, var(--baby-ivory) 0%, var(--baby-cream) 48%, #fbf6f0 100%) !important;
  color: var(--vm-text) !important;
  font-size: 17px;
}

body,
.nav > li > a,
.button,
button,
input,
textarea,
select {
  letter-spacing: 0 !important;
}

h1,
h2,
h3,
h4,
.section-title-main {
  color: var(--vm-ink) !important;
  font-weight: 800 !important;
}

p,
li {
  color: var(--vm-text);
  line-height: 1.75;
}

a {
  color: var(--vm-terracotta);
}

a:hover {
  color: var(--vm-navy);
}

#header .header-wrapper,
#header .header-main {
  background: rgba(248, 240, 234, 0.92) !important;
  border-bottom: 1px solid rgba(173, 116, 58, 0.18);
  box-shadow: 0 10px 30px rgba(113, 87, 52, 0.08);
  backdrop-filter: blur(16px);
}

#logo img {
  max-height: 72px !important;
  width: auto;
}

.header-nav-main.nav > li > a {
  color: var(--vm-navy) !important;
  font-size: 13px;
  font-weight: 800 !important;
  padding: 10px 13px !important;
  border-radius: 999px;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.header-nav-main.nav > li.active > a,
.header-nav-main.nav > li > a:hover {
  background: rgba(221, 183, 157, 0.32);
  color: var(--baby-bronze) !important;
  transform: translateY(-1px);
}

.mobile-sidebar,
.sidebar-menu {
  background: var(--vm-paper) !important;
}

.off-canvas .nav-vertical > li > a {
  color: var(--vm-navy) !important;
  font-weight: 800;
}

.banner {
  overflow: hidden;
  isolation: isolate;
}

.home .slider .banner,
.page-template-page-blank .banner {
  border-radius: 0 0 28px 28px;
}

.banner-bg img {
  filter: saturate(1.08) contrast(1.03) brightness(0.92);
  transform: scale(1.01);
}

.banner-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(31, 41, 51, 0.62), rgba(31, 41, 51, 0.18) 48%, rgba(255, 250, 243, 0.08)),
    linear-gradient(0deg, rgba(77, 92, 71, 0.28), transparent 44%);
  z-index: 1;
  pointer-events: none;
}

.banner-layers {
  z-index: 2;
}

.text-box .text,
.banner .text-box-content {
  background: rgba(248, 240, 234, 0.92) !important;
  border: 1px solid rgba(228, 202, 181, 0.7);
  border-radius: var(--vm-radius);
  box-shadow: var(--vm-shadow);
  color: var(--vm-ink) !important;
  max-width: 560px;
  padding: 26px 28px !important;
  backdrop-filter: blur(14px);
}

.banner-layer.text-box {
  width: min(560px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
}

.text-box h1,
.text-box h2,
.text-box h3 {
  color: var(--vm-ink) !important;
  line-height: 1.05 !important;
  margin-bottom: 10px !important;
  text-transform: none !important;
}

.text-box p {
  color: var(--vm-text) !important;
  font-size: 17px;
}

.home .slider-wrapper {
  box-shadow: 0 24px 60px rgba(113, 87, 52, 0.14);
}

.slider .flickity-page-dots .dot {
  border-color: #fff !important;
  background: rgba(255, 255, 255, 0.58) !important;
}

.slider .flickity-page-dots .dot.is-selected {
  background: var(--vm-rose) !important;
}

.section,
.page-wrapper {
  background: transparent !important;
}

.section-content > .row,
.page-wrapper > .row,
.row-main {
  max-width: 1180px;
}

.col-inner > h1:first-child,
.col-inner > h2:first-child,
.entry-header h1,
.section-title-main {
  position: relative;
  text-transform: none !important;
}

.section-title-main::after,
.col-inner > h1:first-child::after {
  background: linear-gradient(90deg, var(--baby-blush), var(--baby-gold), var(--baby-sage));
  border-radius: 999px;
  content: "";
  display: block;
  height: 4px;
  margin: 14px auto 0;
  width: 84px;
}

.box,
.col-inner,
.wpforms-container .wpforms-form,
.wpcf7 form {
  border-radius: var(--vm-radius);
}

.page-id-36 .section-content .col-inner,
.page-id-46 #row-1606679624 .col-inner,
.page-id-2864 .vnm-details .col-inner,
.page-id-2864 .vnm-rsvp .col-inner {
  background: rgba(245, 234, 226, 0.82);
  border: 1px solid rgba(173, 116, 58, 0.12);
  box-shadow: var(--vm-soft-shadow);
}

.page-id-36 .section-content .col-inner,
.page-id-46 #row-1606679624 .col-inner {
  padding: 34px !important;
}

.page-id-36 img.alignleft,
.page-id-36 img.alignright {
  border: 8px solid #fff;
  border-radius: 18px;
  box-shadow: var(--vm-soft-shadow);
  margin-bottom: 18px;
}

.page-id-363 .page-wrapper {
  padding-top: 48px !important;
}

.page-id-363 .section-title-container {
  margin-bottom: 28px;
  text-align: center;
}

.page-id-363 .gallery-col {
  padding-bottom: 18px !important;
}

.page-id-363 .gallery-box {
  border: 8px solid #fff;
  border-radius: 18px;
  box-shadow: var(--vm-soft-shadow);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.page-id-363 .gallery-box:hover {
  box-shadow: 0 22px 50px rgba(113, 87, 52, 0.18);
  transform: translateY(-4px);
}

.page-id-363 .gallery-box img {
  filter: saturate(1.06) contrast(1.03);
}

.page-id-363 .gallery-box .overlay {
  background: linear-gradient(0deg, rgba(77, 92, 71, 0.34), transparent 62%) !important;
}

.button,
button,
input[type="submit"],
.wpforms-submit,
.wpcf7-submit {
  background: linear-gradient(135deg, var(--vm-terracotta), var(--vm-rose)) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(173, 116, 58, 0.24);
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 44px;
  padding: 0.75em 1.4em !important;
  text-transform: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.wpforms-submit:hover,
.wpcf7-submit:hover {
  box-shadow: 0 18px 34px rgba(173, 116, 58, 0.3);
  transform: translateY(-2px);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  background: #fff !important;
  border: 1px solid rgba(173, 116, 58, 0.22) !important;
  border-radius: 14px !important;
  color: var(--vm-ink) !important;
  min-height: 48px;
  padding: 13px 15px !important;
  box-shadow: none !important;
}

textarea {
  min-height: 140px;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--baby-gold) !important;
  box-shadow: 0 0 0 4px rgba(173, 116, 58, 0.14) !important;
  outline: none !important;
}

.wpcf7 form,
.wpforms-container .wpforms-form {
  background: rgba(248, 240, 234, 0.9) !important;
  border: 1px solid rgba(173, 116, 58, 0.12) !important;
  box-shadow: var(--vm-soft-shadow);
  padding: 30px !important;
}

.page-id-2864 {
  --vm-rose: var(--baby-rose);
  --vm-terracotta: var(--baby-gold);
  --vm-sage: var(--baby-sage);
  --vm-sky: var(--baby-silver-sage);
}

.vnm-baby-hero .banner {
  min-height: 72vh;
}

.vnm-baby-hero .banner-bg::after {
  background:
    linear-gradient(90deg, rgba(77, 92, 71, 0.54), rgba(77, 92, 71, 0.14)),
    linear-gradient(0deg, rgba(248, 240, 234, 0.26), transparent 42%);
}

.vnm-baby-intro,
.vnm-photo-story,
.vnm-footer-note {
  background: linear-gradient(135deg, rgba(248, 240, 234, 0.92), rgba(245, 234, 226, 0.9)) !important;
}

.vnm-details {
  background: linear-gradient(135deg, rgba(228, 202, 181, 0.46), rgba(221, 183, 157, 0.26)) !important;
}

.vnm-details .row-large > .col > .col-inner {
  min-height: 190px;
  padding: 28px 20px !important;
}

.vnm-details h3 {
  color: var(--vm-terracotta) !important;
}

.vnm-photo-story img {
  border: 10px solid #fff;
  border-radius: 22px;
  box-shadow: var(--vm-shadow);
}

.footer-wrapper {
  background: var(--baby-ivory) !important;
  border-top: 1px solid rgba(173, 116, 58, 0.18);
  color: var(--vm-muted) !important;
}

.absolute-footer {
  background: var(--baby-cream) !important;
  border-top: 1px solid rgba(173, 116, 58, 0.14);
  color: var(--vm-muted) !important;
}

.footer-wrapper a,
.footer-wrapper h3,
.footer-wrapper h4 {
  color: var(--vm-ink) !important;
}

.footer-wrapper a:hover {
  color: var(--vm-terracotta) !important;
}

/* VCM third-party recorder: keep it minimal and isolate it from site buttons. */
.xmla-widget-wrapper,
.xmla-widget-wrapper.xmla-theme-minimal-white,
.xmla-widget-wrapper[class*="xmla-theme-"] {
  --w-primary: var(--baby-gold) !important;
  --w-bg: var(--baby-ivory) !important;
  --w-panel-bg: var(--baby-ivory) !important;
  --w-card: var(--baby-cream) !important;
  --w-card-strong: var(--baby-champagne) !important;
  --w-recorder-bg: var(--baby-ivory) !important;
  --w-mode-bg: var(--baby-ivory) !important;
  --w-mode-active-bg: var(--baby-cream) !important;
  --w-border: var(--baby-champagne) !important;
  --w-border-strong: var(--baby-gold) !important;
  --w-text: var(--baby-deep-sage) !important;
  --w-muted: var(--baby-sage) !important;
  --w-button-text: #ffffff !important;
  --w-primary-soft: rgba(173, 116, 58, 0.1) !important;
  --w-primary-glow: rgba(173, 116, 58, 0.16) !important;
  --w-surface-highlight: var(--baby-cream) !important;
  --w-radius: 14px !important;
  --w-btn-radius: 12px !important;
  color: var(--baby-deep-sage) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.xmla-widget-inline {
  display: block;
  margin: 0 auto;
  max-width: 960px;
}

.xmla-inline-panel,
.xmla-panel {
  background: var(--baby-ivory) !important;
  border: 1px solid var(--baby-champagne) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 34px rgba(113, 87, 52, 0.1) !important;
  color: var(--baby-deep-sage) !important;
  overflow: hidden;
}

.xmla-panel-header {
  background: var(--baby-cream) !important;
  border-bottom: 1px solid var(--baby-champagne) !important;
}

.xmla-panel-title,
.xmla-mode-label,
.xmla-timer,
.xmla-submit-confirmation h3 {
  color: var(--baby-deep-sage) !important;
}

.xmla-panel-body {
  background: var(--baby-ivory) !important;
  padding: 22px !important;
}

.xmla-mode-selector {
  gap: 14px !important;
  margin-bottom: 20px !important;
}

.xmla-mode-btn,
.xmla-widget-wrapper button.xmla-mode-btn {
  background: var(--baby-ivory) !important;
  border: 1px solid var(--baby-champagne) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  color: var(--baby-deep-sage) !important;
  min-height: 118px !important;
  padding: 20px 16px !important;
  transform: none !important;
}

.xmla-mode-btn:hover,
.xmla-mode-btn.active {
  background: var(--baby-cream) !important;
  border-color: var(--baby-gold) !important;
  box-shadow: 0 8px 22px rgba(173, 116, 58, 0.12) !important;
}

.xmla-mode-btn .xmla-mode-icon {
  background: rgba(228, 202, 181, 0.5) !important;
  color: var(--baby-gold) !important;
}

.xmla-mode-sub,
.xmla-ready-text,
.xmla-timer-limit,
.xmla-branding,
.xmla-submit-confirmation p {
  color: var(--baby-sage) !important;
}

.xmla-recorder-area {
  background: var(--baby-ivory) !important;
  border: 1px solid var(--baby-champagne) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  min-height: 320px !important;
  padding: 24px !important;
}

.xmla-recorder-viewport,
.xmla-video-preview,
.xmla-player-video video {
  background: var(--baby-deep-sage) !important;
}

.xmla-audio-visualizer {
  border-bottom-color: var(--baby-champagne) !important;
}

.xmla-audio-bar {
  background: var(--baby-gold) !important;
}

.xmla-widget-wrapper .xmla-rec-btn,
.xmla-widget-wrapper button.xmla-rec-btn {
  background: var(--baby-gold) !important;
  border: 1px solid var(--baby-gold) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  min-height: 48px !important;
  padding: 12px 32px !important;
  transform: none !important;
}

.xmla-widget-wrapper .xmla-rec-btn:hover,
.xmla-widget-wrapper button.xmla-rec-btn:hover,
.xmla-widget-wrapper .xmla-submit-btn:hover,
.xmla-widget-wrapper .xmla-rerecord-btn:hover {
  transform: none !important;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.12) !important;
}

.xmla-widget-wrapper .xmla-submit-btn,
.xmla-widget-wrapper button.xmla-submit-btn {
  background: var(--baby-gold) !important;
  border: 1px solid var(--baby-gold) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  min-height: 46px !important;
  padding: 12px 16px !important;
  transform: none !important;
}

.xmla-widget-wrapper .xmla-rerecord-btn,
.xmla-widget-wrapper .xmla-btn-link,
.xmla-widget-wrapper button.xmla-rerecord-btn,
.xmla-widget-wrapper button.xmla-btn-link {
  background: var(--baby-ivory) !important;
  border: 1px solid var(--baby-champagne) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--baby-deep-sage) !important;
}

.xmla-widget-wrapper input.xmla-form-input,
.xmla-widget-wrapper textarea.xmla-form-input,
.xmla-widget-wrapper select.xmla-form-input,
.xmla-widget-wrapper .xmla-form-input,
.xmla-widget-wrapper select.xmla-form-select,
.xmla-widget-wrapper .xmla-form-select {
  background-color: #ffffff !important;
  border-color: var(--baby-champagne) !important;
  color: var(--baby-deep-sage) !important;
  -webkit-text-fill-color: var(--baby-deep-sage) !important;
}

.xmla-widget-wrapper .xmla-form-input:focus,
.xmla-widget-wrapper .xmla-form-select:focus {
  background-color: #ffffff !important;
  border-color: var(--baby-gold) !important;
  box-shadow: 0 0 0 3px rgba(173, 116, 58, 0.12) !important;
}

.xmla-widget-wrapper .xmla-status.success {
  background: rgba(158, 162, 147, 0.16) !important;
  border-color: rgba(119, 128, 111, 0.32) !important;
  color: var(--baby-deep-sage) !important;
}

.xmla-widget-wrapper .xmla-status.error {
  background: rgba(221, 183, 157, 0.2) !important;
  border-color: rgba(203, 160, 130, 0.42) !important;
  color: var(--baby-cocoa) !important;
}

.xmla-launcher-btn,
.xmla-widget-wrapper .xmla-launcher-btn {
  background: var(--baby-gold) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(173, 116, 58, 0.18) !important;
}

/* Final overrides for late Customizer/plugin CSS. */
body.wp-theme-flatsome #header .header-wrapper,
body.wp-theme-flatsome #header .header-main {
  background: rgba(248, 240, 234, 0.95) !important;
  border-bottom: 1px solid rgba(173, 116, 58, 0.18) !important;
  box-shadow: 0 8px 24px rgba(113, 87, 52, 0.07) !important;
}

body.wp-theme-flatsome .header-nav-main.nav > li > a {
  color: var(--baby-deep-sage) !important;
}

body.wp-theme-flatsome .header-nav-main.nav > li.active > a,
body.wp-theme-flatsome .header-nav-main.nav > li > a:hover {
  background: rgba(228, 202, 181, 0.46) !important;
  color: var(--baby-bronze) !important;
}

body.wp-theme-flatsome .footer-wrapper,
body.wp-theme-flatsome #footer.footer-wrapper {
  background: var(--baby-ivory) !important;
  border-top: 1px solid rgba(173, 116, 58, 0.18) !important;
  color: var(--baby-sage) !important;
}

body.wp-theme-flatsome .absolute-footer,
body.wp-theme-flatsome #footer .absolute-footer {
  background: var(--baby-cream) !important;
  border-top: 1px solid rgba(173, 116, 58, 0.14) !important;
  color: var(--baby-sage) !important;
}

body.wp-theme-flatsome .footer-wrapper a,
body.wp-theme-flatsome .footer-wrapper h3,
body.wp-theme-flatsome .footer-wrapper h4,
body.wp-theme-flatsome .copyright-footer {
  color: var(--baby-deep-sage) !important;
}

body.wp-theme-flatsome .xmla-widget-wrapper .xmla-mode-btn,
body.wp-theme-flatsome .xmla-widget-wrapper button.xmla-mode-btn {
  background: var(--baby-ivory) !important;
  border: 1px solid var(--baby-champagne) !important;
  box-shadow: none !important;
  color: var(--baby-deep-sage) !important;
}

body.wp-theme-flatsome .xmla-widget-wrapper .xmla-mode-btn:hover,
body.wp-theme-flatsome .xmla-widget-wrapper .xmla-mode-btn.active,
body.wp-theme-flatsome .xmla-widget-wrapper button.xmla-mode-btn:hover,
body.wp-theme-flatsome .xmla-widget-wrapper button.xmla-mode-btn.active {
  background: var(--baby-cream) !important;
  border-color: var(--baby-gold) !important;
  box-shadow: none !important;
}

body.wp-theme-flatsome .xmla-widget-wrapper .xmla-event-frame-overlay {
  display: none !important;
}

body.wp-theme-flatsome .xmla-widget-wrapper .xmla-recorder-viewport {
  border: 1px solid var(--baby-champagne) !important;
  border-radius: 12px !important;
}

.cky-consent-container .cky-consent-bar {
  border-radius: 18px !important;
  box-shadow: var(--vm-shadow) !important;
}

@media (max-width: 849px) {
  body.wp-theme-flatsome {
    font-size: 16px;
  }

  #logo img {
    max-height: 56px !important;
  }

  .banner {
    min-height: 520px;
  }

  .text-box .text,
  .banner .text-box-content {
    max-width: calc(100vw - 36px);
    padding: 22px !important;
  }

  .banner-layer.text-box {
    left: 18px !important;
    transform: none !important;
    width: calc(100vw - 36px) !important;
    max-width: calc(100vw - 36px) !important;
  }

  .vnm-baby-hero .banner-layer.text-box {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .text-box h1,
  .text-box h2 {
    font-size: 36px !important;
  }

  .page-id-36 .section-content .col-inner,
  .page-id-46 #row-1606679624 .col-inner,
  .wpcf7 form,
  .wpforms-container .wpforms-form {
    padding: 24px !important;
  }

  .page-id-36 img.alignleft,
  .page-id-36 img.alignright {
    float: none;
    margin: 18px auto !important;
    width: 100%;
  }
}

@media (max-width: 549px) {
  .banner {
    min-height: 460px;
  }

  .text-box h1,
  .text-box h2 {
    font-size: 31px !important;
  }

  .page-id-363 .gallery-col {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}
