/* VOXENNE 3.4 | Mobile / Performance / Accessibility polish */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}
body.public-v30{min-width:320px}
body.public-v30 img,body.public-v30 video,body.public-v30 canvas,body.public-v30 svg{max-width:100%}
body.public-v30 :where(a,button,input,select,textarea,summary){-webkit-tap-highlight-color:rgba(109,151,255,.16);touch-action:manipulation}
body.public-v30 :where(button,input,select,textarea){font:inherit}
body.public-v30 :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){max-width:100%}
body.public-v30 :where(h1,h2,h3){text-wrap:balance}
body.public-v30 :where(p,li,small,strong,span){overflow-wrap:break-word}
body.public-v30 :where(main[id],section[id],[id].vx-section){scroll-margin-top:92px}
body.public-v30 :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #70ddff;outline-offset:3px}
body.public-v30 .skip-link:focus{position:fixed;left:12px;top:12px;z-index:9999;width:auto;height:auto;padding:11px 14px;clip:auto;overflow:visible;border-radius:10px;background:#fff;color:#07070b;font-weight:850}
body.vx-modal-open{overflow:hidden}

/* Avoid rendering deep homepage sections before they approach the viewport. */
@supports (content-visibility:auto){
  body.public-v30 .vx-home>.vx-section:not(.vx-hero),
  body.public-v30 .vx-home>.vx-occasions{content-visibility:auto;contain-intrinsic-size:auto 820px}
}

/* Media stays visually stable while lazy metadata is deferred. */
body.public-v30 [data-vx-lazy-media]{background:#03050a}
body.public-v30 video{max-height:80vh}

/* Better pointer and touch ergonomics. */
@media (pointer:coarse){
  body.public-v30 :where(.vx-btn,.button,.vx-customer-btn,.vx-player-download){min-height:46px}
  body.public-v30 :where(.lang-switch a,.vx-player-play,.vx-player-mute,.vx-approve-close){min-width:44px;min-height:44px}
  body.public-v30 summary{min-height:48px}
}

/* Mobile header keeps a compact create action instead of removing the primary route. */
@media(max-width:820px){
  html{scroll-padding-top:80px}
  body.public-v30 :where(main[id],section[id],[id].vx-section){scroll-margin-top:80px}
  body.public-v30 .header-inner{gap:10px}
  body.public-v30 .brand{min-width:0;flex:0 1 auto}
  body.public-v30 .brand img{max-width:128px;height:auto;max-height:27px}
  body.public-v30 .header-actions{margin-left:auto;flex:0 0 auto}
  body.public-v30 .header-actions>.button{display:inline-flex;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;justify-content:center;gap:0}
  body.public-v30 .header-actions>.button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  body.public-v30 .header-actions>.button b{font-size:18px;line-height:1}
  body.public-v30 .lang-switch a{min-width:32px;min-height:32px}
  body.public-v30 :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
  body.public-v30 :where(.vx-order-sticky-actions,.vx-order-actions.is-sticky,.vx-wizard-actions,.order-sticky-actions){padding-bottom:max(12px,env(safe-area-inset-bottom))}
  body.public-v30 .site-footer{padding-bottom:max(0px,env(safe-area-inset-bottom))}
}

@media(max-width:420px){
  body.public-v30 .shell{width:calc(100% - 20px)}
  body.public-v30 .header-inner{gap:7px}
  body.public-v30 .brand img{max-width:112px}
  body.public-v30 .lang-switch{padding:3px}
  body.public-v30 .lang-switch a{min-width:29px;min-height:30px;font-size:10px}
  body.public-v30 .header-actions>.button{width:40px;height:40px;min-height:40px}
}

/* Reduced data keeps decorative media from being eagerly promoted. */

/* Stronger visibility for users requesting additional contrast. */
@media(prefers-contrast:more){
  body.public-v30{--vx-line:rgba(255,255,255,.22);--vx-line-strong:rgba(255,255,255,.36);--vx-muted:#c4cbda;--vx-dim:#a6afc0}
  body.public-v30 :where(a,button,input,select,textarea,summary):focus-visible{outline-width:4px;outline-color:#fff}
}

/* Motion preference applies across old and new public components, including wizard/review overlays. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.public-v30 *,body.public-v30 *::before,body.public-v30 *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  body.public-v30 .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* VOXENNE 3.4.8 | remembered customer order */
.vx-my-order-link{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid rgba(104,210,255,.18);border-radius:999px;background:rgba(78,183,255,.045);color:#bcecff!important;font-size:11px;font-weight:780;text-decoration:none;white-space:nowrap}.vx-my-order-link:before{content:'●';font-size:7px;color:#62d9ff;box-shadow:0 0 9px rgba(98,217,255,.3)}.vx-my-order-link:hover{border-color:rgba(104,210,255,.34);background:rgba(78,183,255,.08)}
@media(max-width:820px){.vx-my-order-link{min-height:32px;padding:0 9px;font-size:10px}.header-actions{gap:6px}}
@media(max-width:560px){.vx-my-order-link{padding:0 8px;font-size:9px}}

@media(max-width:420px){.header-actions.has-my-order .lang-switch{display:none}.header-actions.has-my-order{gap:7px}.header-actions.has-my-order .vx-my-order-link{font-size:10px;max-width:118px;overflow:hidden;text-overflow:ellipsis}}

/* 3.9.361: clear legal/contact presentation. Document content remains unchanged. */
.legal-doc-v18 .legal-version-v18{display:none}
.legal-doc-v18{max-width:900px;margin-inline:auto;padding:clamp(24px,4vw,48px);border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#101521;color:#e5ecf7}
.legal-doc-v18 h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 24px}
.legal-doc-v18 .legal-body-v18{font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.legal-doc-v18 .legal-body-v18 a{color:#bcb5ff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.legal-doc-v18{padding:24px 18px;border-radius:16px}.legal-doc-v18 .legal-body-v18{font-size:16px;line-height:1.75}}
