/* UXChimp v1.8 - shared footer video, compact glass header and safe page fades. */
.vve-page .uxc-footer { padding-top: 0; }
.vve-page .uxc-footer-cta { position: relative; isolation: isolate; display: grid; place-items: center; min-height: clamp(540px,48vw,760px); padding: 110px 24px; overflow: hidden; background: #000; color: #fff; border: 0; border-radius: 0; }
.vve-page .uxc-cta-media { position: absolute; inset: -1px; z-index: 0; overflow: hidden; border: 0; border-radius: 0; background: #000; pointer-events: none; user-select: none; }
.vve-page .uxc-cta-video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; border: 0; border-radius: 0; outline: 0; pointer-events: none; }
.vve-page .uxc-cta-video::-webkit-media-controls,
.vve-page .uxc-cta-video::-webkit-media-controls-enclosure,
.vve-page .uxc-cta-video::-webkit-media-controls-start-playback-button { display: none !important; }
.vve-page .uxc-cta-media > span { display: block; position: absolute; inset: 0; pointer-events: none; }
.vve-page .uxc-cta-shade { background: rgba(0,0,0,var(--uxc-cta-dim,.36)); box-shadow: inset 35px 0 65px -22px #000, inset -35px 0 65px -22px #000; }
.vve-page .uxc-cta-media > .uxc-cta-edge-top { bottom: auto; height: var(--uxc-cta-top,28%); background: linear-gradient(to bottom,#000 0%,rgba(0,0,0,.84) 28%,rgba(0,0,0,0) 100%); }
.vve-page .uxc-cta-media > .uxc-cta-edge-bottom { top: auto; height: var(--uxc-cta-bottom,36%); background: linear-gradient(to top,#000 0%,rgba(0,0,0,.9) 24%,rgba(0,0,0,0) 100%); }
.vve-page .uxc-cta-content { position: relative; z-index: 2; width: 100%; padding: 0; margin: 0 auto; text-align: center; }
.vve-page .uxc-cta-title { margin: 0; color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.5); font-size: clamp(42px,5.2vw,76px); line-height: 1.04; }
.vve-page .uxc-cta-actions { margin-top: 34px; }
.vve-page .uxc-cta-actions > a { min-height: 44px; padding: 13px 20px; font-size: 14px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.vve-page .uxc-cta-actions > a:first-child { background: rgba(25,25,25,.8); border: 1px solid rgba(255,255,255,.24); color: #fff; }
.vve-page .uxc-cta-actions > a:first-child:hover { background: rgba(55,55,55,.9); }
.vve-page .uxc-cta-actions > a:nth-child(2) { background: #fff; color: #050505; border: 1px solid #fff; }
.vve-page .uxc-cta-actions > a:nth-child(2):hover { background: #f3fe00; border-color: #f3fe00; }
.vve-page .uxc-cta-actions > a:focus-visible { outline: 2px solid #f3fe00; outline-offset: 5px; }
/* Preserve the uploaded UX artwork and glass links BELOW the new video section. */
.vve-page .uxc-footer-lower { position: relative; isolation: isolate; padding-top: clamp(160px,17vw,250px); background: var(--vv-bg,#000); }
.vve-page .uxc-footer-lower > .uxc-footer-logo { top: clamp(-200px,-13vw,-72px); width: clamp(620px,90vw,1050px); z-index: 0; }
.vve-page .uxc-footer-lower > div { position: relative; z-index: 1; }
.vve-page .uxc-footer-lower .uxc-footer-glass { margin-top: 0 !important; }
/* In light mode only the OUTER boundaries blend into the light neighbouring sections. */
html[data-theme='light'] .uxc-footer-cta::before,
html[data-theme='light'] .uxc-footer-cta::after { content: ''; position: absolute; left: 0; right: 0; height: 75px; z-index: 1; pointer-events: none; }
html[data-theme='light'] .uxc-footer-cta::before { top: 0; background: linear-gradient(#fff,transparent); }
html[data-theme='light'] .uxc-footer-cta::after { bottom: 0; background: linear-gradient(transparent,#fff); }
/* One shell changes size. Never scale text or transform the page containing a fixed header. */
.vve-page .uxc-site-header,
.vve-page .uxc-site-header.uxc-scrolled { top: var(--uxc-admin-offset,0px); padding: 0; border: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; pointer-events: none; }
.vve-page .uxc-header-shell { pointer-events: auto; width: calc(100% - 16px); max-width: 1380px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 24px; margin: 0 auto; padding: 16px 24px; border: 1px solid transparent; border-radius: 0; background: transparent; box-shadow: 0 0 0 transparent; transition: max-width .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1),padding .5s cubic-bezier(.22,1,.36,1),border-radius .5s cubic-bezier(.22,1,.36,1),background-color .35s,border-color .35s,box-shadow .5s; }
.vve-page .uxc-header-brand { min-width: 0; max-width: 200px; }
.vve-page .uxc-header-brand .vve-site-logo { max-height: 54px; max-width: 100%; object-fit: contain; object-position: left center; transition: max-height .5s cubic-bezier(.22,1,.36,1); }
.vve-page .uxc-header-links { justify-self: center; white-space: nowrap; gap: clamp(18px,1.9vw,28px); }
.vve-page .uxc-header-actions { gap: 12px; }
.vve-page .uxc-site-header.uxc-scrolled .uxc-header-shell { max-width: 1180px; width: calc(100% - 48px); margin-top: 14px; padding: 11px 23px; border-radius: 999px; background: rgba(9,9,9,.78); border-color: rgba(255,255,255,.15); box-shadow: 0 12px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
.vve-page .uxc-site-header.uxc-scrolled .vve-site-logo { max-height: 42px; }
html[data-theme='light'] .vve-page .uxc-site-header.uxc-scrolled .uxc-header-shell { background: rgba(255,255,255,.84); border-color: rgba(0,0,0,.12); box-shadow: 0 12px 38px rgba(0,0,0,.09); }
.vve-page .uxc-header-links a[aria-current='page'] { color: var(--vv-text-primary,#fff); font-weight: 500; }
body.elementor-editor-active .uxc-header-shell { transition: none !important; }
/* The page fade is a non-layout overlay. Full WP navigation still handles history and scripts. */
html.uxc-page-transition-ready::before { content: ''; position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; background: #000; opacity: 0; transition: opacity .36s cubic-bezier(.22,1,.36,1); }
html.uxc-page-transition-ready.uxc-page-leaving::before { opacity: 1; pointer-events: auto; transition-duration: .22s; }
html.uxc-page-transition-ready.uxc-page-arriving::before { opacity: 1; transition: none; }
@media (min-width: 1180px) { .vve-page .uxc-currency-in-header { display: block; } }
@media (max-width: 1179px) { .vve-page .uxc-currency-in-header { display: none; } }
@media (min-width: 1100px) {
 .vve-page .uxc-header-links { display: flex; }
 .vve-page .uxc-header-actions > button[aria-label$='menu'] { display: none; }
}
@media (max-width: 1099px) {
 .vve-page .uxc-header-shell { grid-template-columns: minmax(0,1fr) auto; gap: 16px; }
 .vve-page .uxc-header-links { display: none; }
 .vve-page .uxc-header-actions > button[aria-label$='menu'] { display: grid; }
 .vve-page .uxc-header-brand { max-width: 175px; }
}
@media (max-width: 767px) {
 .vve-page .uxc-footer-cta { min-height: 520px; padding: 108px 20px; }
 .vve-page .uxc-cta-video { object-position: center 42%; }
 .vve-page .uxc-cta-shade { box-shadow: inset 18px 0 32px -16px #000,inset -18px 0 32px -16px #000; }
 .vve-page .uxc-cta-title { font-size: clamp(38px,10vw,56px); line-height: 1.08; }
 .vve-page .uxc-cta-actions { gap: 10px; margin-top: 28px; }
 .vve-page .uxc-cta-actions > a { padding-inline: 17px; }
 .vve-page .uxc-header-shell { width: 100%; padding: 14px 16px; gap: 12px; }
 .vve-page .uxc-site-header.uxc-scrolled .uxc-header-shell { width: calc(100% - 20px); margin-top: 10px; padding: 9px 12px; }
 .vve-page .uxc-header-actions { gap: 8px; }
 .vve-page .uxc-header-brand { max-width: 142px; }
 .vve-page .uxc-header-brand .vve-site-logo { max-height: 44px; }
 .vve-page .uxc-site-header.uxc-scrolled .vve-site-logo { max-height: 38px; }
}
@media (max-width: 359px) {
 .vve-page .uxc-header-brand { max-width: 106px; }
 .vve-page .uxc-header-actions { gap: 6px; }
 .vve-page .uxc-header-actions > a { padding-inline: 12px; }
 .vve-page .uxc-header-actions > button[role='switch'] { width: 38px; }
}
@media (prefers-reduced-motion: reduce) {
 .vve-page .uxc-header-shell,.vve-page .uxc-header-brand .vve-site-logo { transition: none !important; }
 html.uxc-page-transition-ready::before { display: none !important; }
}
/* Original imported animation styles otherwise leave the lower mark at opacity:0. */
.vve-page .uxc-footer-lower > .uxc-footer-logo { opacity: 1 !important; transform: translateX(-50%) !important; }
.vve-page .uxc-header-links a:not([aria-current='page']) { color: var(--vv-text-muted,#9a9a9a); }
.vve-page .uxc-header-links a:hover { color: var(--vv-text-primary,#fff); }
/* Keep the overlay menu breakpoint in sync with the capsule header (including tablets). */
@media(max-width:1099px) {
 .vve-page .uxc-mobile-menu { display: flex; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; gap: 24px; }
 .vve-page .uxc-mobile-menu > nav,.vve-page .uxc-mobile-menu > div { flex-shrink: 0; }
}
@media(min-width:1100px) { .vve-page .uxc-mobile-menu { display: none !important; } }
.vve-page nav[aria-label='Mobile'] a:not([aria-current='page']) > span:last-child[aria-hidden='true'] { display: none; }
.vve-page nav[aria-label='Mobile'] a[aria-current='page'] { border-color: rgba(243,254,0,.5); }
.vve-page nav[aria-label='Mobile'] a[aria-current='page'] > span { color: var(--vv-text-primary,#fff); }
body.vve-page.admin-bar .elementor header.uxc-site-header { top: var(--uxc-admin-offset,32px); }
@media(max-width:782px) { body.vve-page.admin-bar .elementor header.uxc-site-header { top: var(--uxc-admin-offset,46px); } }
