/* Vestibular3D site styles: dark theme, Plus Jakarta Sans. Elementor controls the wording; these classes control the look. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
:root{
  --v3d-bg:#0A0C0F;
  --v3d-surface:#14171C;
  --v3d-surface-2:#1C2027;
  --v3d-text:#F2F4F7;
  --v3d-dim:#9AA3B2;
  --v3d-border:rgba(242,244,247,0.10);
  --v3d-cta-bg:#F2F4F7;
  --v3d-cta-text:#0A0C0F;
  --v3d-excite:#FF6369;
  --v3d-excite-soft:#3A1A1C;
  --v3d-inhibit:#7B97F5;
  --v3d-inhibit-soft:#1B2340;
  --v3d-tint:#0086D6;
  --v3d-tint-ink:#0E1116;
  --v3d-tint-edge:color-mix(in srgb,var(--v3d-tint) 62%,var(--v3d-text));
  --v3d-font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth;}
html body{background:var(--v3d-bg);color:var(--v3d-text);font-family:var(--v3d-font);}

/* layout: Elementor containers carry these classes; grids are set here so the wording stays editable in Elementor */
.v3d-wrap,.v3d-wrap.e-con{width:100%;max-width:1240px;margin-left:auto !important;margin-right:auto !important;padding-inline:clamp(20px,4.5vw,56px) !important;box-sizing:border-box;}
.v3d-section{padding-block:clamp(56px,8vw,104px) !important;}
.v3d-hero{min-height:calc(100svh - 72px);justify-content:center;padding-block:clamp(28px,4vw,48px) clamp(96px,9vw,112px) !important;}
.v3d-hero-row.e-con{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(24px,4vw,64px) !important;align-items:start;}
.v3d-hero-text.e-con,.v3d-hero-media.e-con{display:flex;flex-direction:column;gap:18px;min-width:0;}
.v3d-grid-3.e-con{display:grid !important;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px) !important;margin-top:28px;}
.v3d-grid-2.e-con{display:grid !important;grid-template-columns:repeat(2,1fr);gap:18px !important;margin-top:28px;}
.v3d-ewald-card.e-con{display:grid !important;grid-template-columns:150px 1fr;gap:24px !important;align-items:center;padding:30px !important;}
.v3d-closing.e-con{display:flex !important;flex-direction:row !important;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.v3d-cue-wrap{position:static !important;height:0;margin:0 !important;}
.v3d-h1 .elementor-heading-title{font-size:clamp(2.5rem,4.5vw,4.1rem) !important;font-weight:800 !important;}
.v3d-h2 .elementor-heading-title{font-size:clamp(1.9rem,3.6vw,2.9rem) !important;font-weight:800 !important;}
.v3d-h3 .elementor-heading-title{font-size:1.3rem !important;font-weight:800 !important;}
.v3d-lede{font-size:clamp(1.02rem,1.4vw,1.16rem);max-width:46ch;}
.v3d-lede p,.v3d-body p{margin:0;}
.v3d-body{max-width:62ch;font-size:1.06rem;}
.v3d-fine{font-size:.84rem;}
.v3d-currency select,.v3d-currency .wcpbc-currency-switcher{background:var(--v3d-surface);color:var(--v3d-text);border:1px solid var(--v3d-border);border-radius:999px;padding:8px 12px;font-family:var(--v3d-font);font-size:.86rem;}
.v3d-currency .widget-title,.v3d-currency h2{display:none;}
body,body .elementor-widget-text-editor,body .elementor-widget-heading .elementor-heading-title,body .elementor-button,body .elementor-tab-title,body .e-n-accordion-item-title-text{font-family:var(--v3d-font);}
body .elementor-widget-heading .elementor-heading-title{color:var(--v3d-text);letter-spacing:-0.03em;line-height:1.08;text-wrap:balance;}
body .elementor-widget-text-editor{color:var(--v3d-dim);}
a{color:inherit;}
:focus-visible{outline:2px solid var(--v3d-text);outline-offset:3px;}

/* page sections (class names set on Elementor containers) */
.v3d-section{border-top:1px solid var(--v3d-border);}
.v3d-hero{position:relative;overflow:hidden;}
.v3d-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 55% 75% at 72% 38%,color-mix(in srgb,var(--v3d-tint) 42%,transparent),color-mix(in srgb,var(--v3d-tint) 12%,transparent) 55%,transparent 80%);transition:background .5s;}
.v3d-hero > *{position:relative;z-index:1;}
.v3d-eyebrow p{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--v3d-dim);}
.v3d-eyebrow p:first-child::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--v3d-tint);box-shadow:0 0 0 1px var(--v3d-border);transition:background .3s;}
.v3d-eyebrow p:last-child{color:var(--v3d-text);font-weight:700;margin:0;}
.v3d-eyebrow p:last-child::before{content:"";flex:none;width:16px;height:16px;margin:0 -3px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;}
.v3d-h1 .elementor-heading-title{font-weight:800 !important;}
.v3d-label-text{font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--v3d-dim);}
.v3d-label-text p{margin:0;}

/* buttons */
body .v3d-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;text-decoration:none;font-family:var(--v3d-font);font-weight:700;border-radius:999px;transition:transform .15s,filter .15s,background .3s,color .3s;}
body .v3d-btn:hover{transform:translateY(-1px);}
body .v3d-btn-buy{padding:16px 30px;font-size:1rem;flex:1;max-width:260px;}
body .v3d-btn-sm{padding:9px 18px;font-size:.86rem;}
body .v3d-btn-ghost{background:transparent;border:1.5px solid var(--v3d-border);color:var(--v3d-text);padding:10px 18px;font-size:.88rem;}
body .v3d-btn-ghost:hover{border-color:var(--v3d-text);}
body .v3d-tinted{background:var(--v3d-tint) !important;color:var(--v3d-tint-ink) !important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--v3d-tint-edge) 55%,transparent);}
body .v3d-tinted:hover{filter:brightness(1.05) saturate(1.05);}
body .v3d-btn[disabled]{opacity:.7;cursor:progress;}
.v3d-cta-btn .elementor-button{background:var(--v3d-tint) !important;color:var(--v3d-tint-ink) !important;border-radius:999px !important;font-weight:700 !important;padding:16px 30px !important;}

/* buy panel */
.v3d-buy{display:grid;gap:22px;margin-top:6px;}
.v3d-opt-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.v3d-opt-head b{font-size:1.06rem;font-weight:700;color:var(--v3d-text);}
.v3d-label{font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--v3d-dim);}
.v3d-swatches{display:flex;gap:12px;flex-wrap:wrap;}
body .v3d-swatch{width:38px;height:38px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 0 2px var(--v3d-bg);transition:box-shadow .15s,transform .15s;}
body .v3d-swatch:hover{transform:scale(1.06);}
body .v3d-swatch[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 0 3px var(--v3d-bg),0 0 0 5px var(--v3d-text);}
.v3d-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
body .v3d-size-btn{border:1.5px solid var(--v3d-border);background:var(--v3d-surface);color:var(--v3d-text);border-radius:14px;padding:12px 10px;text-align:left;cursor:pointer;font-family:var(--v3d-font);transition:border-color .2s,background .2s,box-shadow .2s;}
body .v3d-size-btn strong{display:block;font-size:1.06rem;font-weight:700;}
body .v3d-size-btn span{font-size:.94rem;color:var(--v3d-dim);}
body .v3d-size-btn[aria-pressed="true"]{border-color:var(--v3d-tint-edge);background:color-mix(in srgb,var(--v3d-tint) 16%,var(--v3d-surface));box-shadow:0 0 0 1px var(--v3d-tint-edge);}
.v3d-price-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.v3d-price{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--v3d-text);font-variant-numeric:tabular-nums;}
.v3d-price small{display:inline;margin-left:10px;font-size:1rem;font-weight:600;color:var(--v3d-dim);letter-spacing:0;}
.v3d-assure{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:1.02rem;font-weight:500;color:var(--v3d-dim);}
.v3d-assure span{white-space:nowrap;}
.v3d-assure span::before{content:"✓";margin-right:6px;color:var(--v3d-text);font-weight:700;}
.v3d-error{margin:0;color:var(--v3d-excite);font-weight:600;}
.v3d-sticky-buy{display:none;}
.v3d-spinner{width:16px;height:16px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:v3dspin .7s linear infinite;}
@keyframes v3dspin{to{transform:rotate(360deg);}}

/* viewer */
.v3d-viewer{position:relative;border-radius:28px;background:color-mix(in srgb,var(--v3d-surface) 45%,transparent);border:1px solid var(--v3d-border);}
.v3d-viewer model-viewer{width:100%;height:clamp(340px,min(46vw,64svh),600px);border-radius:28px;background:transparent;--poster-color:transparent;opacity:0;transition:opacity 1s ease;}
.v3d-viewer model-viewer.ready{opacity:1;}
.v3d-viewer-tag{position:absolute;left:18px;top:16px;z-index:2;font-size:.8rem;font-weight:600;color:var(--v3d-dim);background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:999px;padding:5px 11px;}
body .v3d-ar-btn{position:absolute;right:16px;top:14px;background:var(--v3d-surface);border:1px solid var(--v3d-border);color:var(--v3d-text);padding:9px 16px;font-size:.84rem;}
.v3d-zoom{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;border:1px solid var(--v3d-border);border-radius:14px;overflow:hidden;background:var(--v3d-surface);z-index:2;}
body .v3d-zoom button{width:38px;height:38px;border:0;background:transparent;color:var(--v3d-text);cursor:pointer;font-size:1.15rem;font-weight:600;padding:0;}
body .v3d-zoom button + button{border-top:1px solid var(--v3d-border);}
@media (hover:none) and (pointer:coarse){.v3d-zoom{display:none;}}
.v3d-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;white-space:nowrap;background:color-mix(in srgb,var(--v3d-cta-bg) 88%,transparent);color:var(--v3d-cta-text);backdrop-filter:blur(10px);padding:22px 30px 18px;border-radius:24px;font-size:1.02rem;font-weight:700;box-shadow:0 20px 50px -16px rgba(0,0,0,.5);opacity:0;transition:opacity .6s,top .55s cubic-bezier(.2,.8,.2,1),padding .55s,border-radius .55s,font-size .55s,background .4s,color .4s,gap .55s;}
.v3d-hint.ready{opacity:1;}
.v3d-hint svg{width:96px;height:44px;transition:width .55s,height .55s;}
.v3d-hint .track{stroke:currentColor;stroke-width:2.5;opacity:.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.v3d-hint .mouse-body{fill:var(--v3d-cta-bg);}
.v3d-hint .mover{animation:v3dswipe 1.8s ease-in-out infinite;}
.v3d-hint .wheel{animation:v3dwheel .9s ease-in-out infinite;}
.v3d-hint .ripple{fill:none;stroke:currentColor;stroke-width:2;animation:v3dripple 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center;}
@keyframes v3dswipe{0%,100%{transform:translateX(-28px);}50%{transform:translateX(28px);}}
@keyframes v3dwheel{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(5px);opacity:0;}100%{opacity:0;}}
@keyframes v3dripple{0%,100%{transform:translateX(-28px) scale(.6);opacity:.7;}50%{transform:translateX(28px) scale(1.6);opacity:0;}}
.v3d-hint.mini{top:calc(100% - 34px);flex-direction:row;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;font-size:.88rem;font-weight:600;background:color-mix(in srgb,var(--v3d-surface) 85%,transparent);color:var(--v3d-dim);box-shadow:0 0 0 1px var(--v3d-border);}
.v3d-hint.mini svg{width:34px;height:16px;}
.v3d-hint.mini .mover{animation-duration:3s;}
.v3d-hint.mini .ripple{display:none;}
.v3d-hint.mini .mouse-body{fill:var(--v3d-surface);}

/* review */
.v3d-review{margin:16px 0 0;padding:16px 18px;border:1.5px dashed var(--v3d-border);border-radius:16px;}
.v3d-review .stars{color:#F5B301;letter-spacing:2px;}
.v3d-review p{margin:6px 0 0;}

/* scroll cue */
.v3d-scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--v3d-dim);transition:opacity .6s,transform .6s;}
.v3d-scroll-cue .ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--v3d-text);background:color-mix(in srgb,var(--v3d-surface) 85%,transparent);border:1px solid var(--v3d-border);animation:v3dnudge 2.4s ease-in-out infinite;}
.v3d-scroll-cue svg{width:22px;height:26px;overflow:visible;}
.v3d-scroll-cue .c1,.v3d-scroll-cue .c2{animation:v3dcascade 1.6s ease-in-out infinite;}
.v3d-scroll-cue .c2{animation-delay:.25s;}
@keyframes v3dcascade{0%{opacity:0;transform:translateY(-4px);}40%{opacity:1;}80%,100%{opacity:0;transform:translateY(5px);}}
@keyframes v3dnudge{0%,60%,100%{transform:translateY(0);}75%{transform:translateY(6px);}88%{transform:translateY(0);}}
.v3d-scroll-cue.v3d-hide{opacity:0;transform:translateX(-50%) translateY(14px);pointer-events:none;}

/* features + ewald + faq */
.v3d-feature .elementor-icon-box-icon .elementor-icon{background:var(--v3d-surface-2);border-radius:12px;padding:10px;color:var(--v3d-text);font-size:24px;}
.v3d-feature .elementor-icon-box-title{color:var(--v3d-text);font-weight:700;}
.v3d-feature .elementor-icon-box-description{color:var(--v3d-dim);}
.v3d-card{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:22px;}
.v3d-ewald{width:100%;max-width:180px;height:auto;color:var(--v3d-dim);}
.v3d-pill p{display:inline-block;margin:0;font-size:.74rem;font-weight:700;padding:5px 11px;border-radius:999px;}
.v3d-pill-ex p{background:var(--v3d-excite-soft);color:var(--v3d-excite);}
.v3d-pill-in p{background:var(--v3d-inhibit-soft);color:var(--v3d-inhibit);}

/* sizes */
.v3d-lineup{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:24px;padding:clamp(18px,3vw,36px);overflow-x:auto;}
.v3d-lineup svg{display:block;width:100%;min-width:560px;height:auto;}
.v3d-lineup .sil{fill:var(--v3d-tint);stroke:color-mix(in srgb,var(--v3d-text) 35%,transparent);stroke-width:.5;transition:fill .4s;}
.v3d-lineup text{fill:var(--v3d-dim);font-family:var(--v3d-font);font-size:9px;font-weight:600;}
.v3d-lineup text.big{fill:var(--v3d-text);font-size:10.5px;font-weight:800;}
.v3d-lineup .ref{fill:none;stroke:var(--v3d-dim);stroke-width:.8;stroke-dasharray:2 2;}
.v3d-lineup .base{stroke:var(--v3d-border);stroke-width:1;}
.v3d-size-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px;}
.v3d-size-card{background:var(--v3d-surface);border:1.5px solid var(--v3d-border);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:16px;transition:border-color .2s,background .2s,box-shadow .2s;}
.v3d-size-card.on{border-color:var(--v3d-tint-edge);box-shadow:0 0 0 1px var(--v3d-tint-edge);background:color-mix(in srgb,var(--v3d-tint) 8%,var(--v3d-surface));}
.v3d-size-card h3{margin:0;font-size:1.5rem;font-weight:800;color:var(--v3d-text);letter-spacing:-.03em;}
.v3d-size-card .like{margin:4px 0 0;color:var(--v3d-dim);font-size:.92rem;}
.v3d-dims{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin:0;}
.v3d-dims div{border-top:1px solid var(--v3d-border);padding-top:10px;}
.v3d-dims dt{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--v3d-dim);}
.v3d-dims dd{margin:2px 0 0;font-size:1.06rem;font-weight:700;color:var(--v3d-text);font-variant-numeric:tabular-nums;}
.v3d-dims dd .in{color:var(--v3d-dim);font-weight:600;font-size:.88em;margin-left:5px;}
.v3d-size-card .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:6px;}
.v3d-size-card .v3d-price{font-size:1.5rem;}
.v3d-size-card .v3d-price small{display:block;margin:2px 0 0;font-size:.86rem;}

/* theme resets for our buttons (Hello styles every button pink) */
body .v3d-buy button,body .v3d-size-cards button,body .v3d-viewer button,body .v3d-sticky-buy button{font-family:var(--v3d-font);white-space:normal;line-height:1.2;}
body .v3d-swatch:hover,body .v3d-swatch:focus{background:var(--c);}
body .v3d-size-btn{color:var(--v3d-text);}
body .v3d-size-btn:hover,body .v3d-size-btn:focus{background:var(--v3d-surface);color:var(--v3d-text);}
body .v3d-size-btn[aria-pressed="true"]:hover,body .v3d-size-btn[aria-pressed="true"]:focus{background:color-mix(in srgb,var(--v3d-tint) 16%,var(--v3d-surface));}
body .v3d-btn-ghost:hover,body .v3d-btn-ghost:focus{background:transparent;color:var(--v3d-text);}
body .v3d-zoom button:hover{background:var(--v3d-surface-2);color:var(--v3d-text);}
body .v3d-ar-btn:hover{background:var(--v3d-surface-2);color:var(--v3d-text);}
.v3d-feature .elementor-icon-box-wrapper{text-align:left !important;display:block !important;}
.v3d-feature .elementor-icon-box-icon{display:inline-flex !important;margin:0 0 16px !important;}
.v3d-feature .elementor-icon-box-title{font-size:1.18rem !important;letter-spacing:-.02em;margin:0 0 8px !important;}
.v3d-feature .elementor-icon-box-description{font-size:1rem !important;line-height:1.55;}
.v3d-feature .elementor-icon-box-icon{margin-bottom:14px;}

/* header / footer */
.v3d-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--v3d-text);}
.v3d-logo-mark{flex:none;}
.v3d-wordmark{font-weight:800;font-size:1.2rem;letter-spacing:-.03em;}
.v3d-wordmark span{color:var(--v3d-dim);font-weight:600;}
.v3d-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--v3d-bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--v3d-border);}
.v3d-nav a{color:var(--v3d-dim) !important;text-decoration:none;font-weight:500;}
.v3d-nav a:hover{color:var(--v3d-text) !important;}
.v3d-footer{border-top:1px solid var(--v3d-border);color:var(--v3d-dim);font-size:.88rem;}
.v3d-footer a{color:var(--v3d-dim);text-decoration:none;}
.v3d-footer a:hover{color:var(--v3d-text);}

/* legal pages */
.v3d-legal{max-width:760px;margin:0 auto;padding:48px 20px 80px;color:var(--v3d-dim);line-height:1.7;}
.v3d-legal h1,.v3d-legal h2{color:var(--v3d-text);letter-spacing:-.02em;}
.v3d-legal .v3d-todo{background:#3a2e10;color:#ffd27a;padding:2px 6px;border-radius:6px;}

/* checkout, basket, order received: WooCommerce blocks + classic thank-you, restyled dark */
body.v3d-shop-step .v3d-nav,body.v3d-shop-step .v3d-header-right{display:none !important;}

body.v3d-shop-step .site-main,body.woocommerce-order-received .site-main{max-width:1240px;margin:0 auto;padding:32px clamp(16px,4vw,40px) 64px;}
body.v3d-shop-step .entry-title,body.v3d-shop-step .page-header .entry-title{font-family:var(--v3d-font);font-weight:800;letter-spacing:-.03em;color:var(--v3d-text);font-size:clamp(1.8rem,3vw,2.4rem);}
body.v3d-shop-step,body.v3d-shop-step .wc-block-components-title,body.v3d-shop-step .wc-block-components-checkout-step__title{color:var(--v3d-text);font-family:var(--v3d-font);}
body.v3d-shop-step .wc-block-components-checkout-step__description,body.v3d-shop-step .wc-block-components-checkout-step__heading-content,body.v3d-shop-step .wc-block-checkout__guest-checkout-notice{color:var(--v3d-dim);}
body.v3d-shop-step .wc-block-components-text-input input,body.v3d-shop-step .wc-block-components-combobox .wc-block-components-combobox-control input,body.v3d-shop-step .wc-blocks-components-select .wc-blocks-components-select__select,body.v3d-shop-step .wc-block-components-textarea,body.v3d-shop-step .wc-block-components-totals-coupon input{background:var(--v3d-surface) !important;color:var(--v3d-text) !important;border:1.5px solid rgba(242,244,247,.22) !important;border-radius:12px !important;}
body.v3d-shop-step .wc-block-components-text-input input:focus,body.v3d-shop-step .wc-blocks-components-select__select:focus{border-color:var(--v3d-tint) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v3d-tint) 25%,transparent) !important;}
body.v3d-shop-step .wc-block-components-text-input label,body.v3d-shop-step .wc-blocks-components-select__label,body.v3d-shop-step .wc-block-components-combobox label{color:var(--v3d-dim) !important;}

body.v3d-shop-step .wc-block-components-radio-control__option,body.v3d-shop-step .wc-block-components-radio-control-accordion-option{border-color:rgba(242,244,247,.22) !important;color:var(--v3d-text);}
body.v3d-shop-step .wc-block-components-radio-control__option-checked,body.v3d-shop-step .wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 1.5px var(--v3d-tint) !important;}
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block{background:var(--v3d-surface);border:1px solid var(--v3d-border) !important;border-radius:20px;color:var(--v3d-text);}
body.v3d-shop-step .wc-block-components-order-summary-item__quantity{background:var(--v3d-dim);color:var(--v3d-bg);border:0;}
body.v3d-shop-step .wc-block-components-order-summary-item__description{display:flex;flex-direction:column;}
body.v3d-shop-step .wc-block-components-totals-item,body.v3d-shop-step .wc-block-components-order-summary-item{color:var(--v3d-text);}
body.v3d-shop-step .wc-block-components-totals-item__description,body.v3d-shop-step .wc-block-components-product-metadata{color:var(--v3d-dim);}
body.v3d-shop-step .site-main a{color:var(--v3d-text);text-decoration:underline;text-underline-offset:3px;}
body.v3d-shop-step .v3d-logo{text-decoration:none;}
body.v3d-shop-step .wc-block-components-checkout-place-order-button,body.v3d-shop-step .wc-block-cart__submit-button,body.v3d-shop-step .wc-block-components-button:not(.is-link){background:var(--v3d-cta-bg) !important;color:var(--v3d-cta-text) !important;border:0 !important;border-radius:14px !important;font-family:var(--v3d-font);font-weight:700;min-height:56px;font-size:1.06rem;}
body.v3d-shop-step .wc-block-components-checkout-place-order-button:hover{filter:brightness(.95);}
body.v3d-shop-step input[type=checkbox]{accent-color:var(--v3d-tint);}
.v3d-free-note{margin:-8px 0 0;font-size:.98rem;font-weight:600;color:var(--v3d-text);}
.v3d-free-note::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#4CC38A;margin-right:8px;vertical-align:middle;}
.v3d-free-note[hidden]{display:none;}
.v3d-qty{display:grid;gap:8px;margin-top:8px;}
.v3d-variant{display:grid;gap:6px;}
.v3d-variant select{width:100%;max-width:260px;height:32px;border-radius:9px;border:1.5px solid rgba(242,244,247,.22);background:var(--v3d-surface);color:var(--v3d-text);font-family:var(--v3d-font);font-size:.82rem;font-weight:600;padding:0 8px;cursor:pointer;}
.v3d-colour{display:inline-flex;align-items:center;position:relative;width:100%;max-width:260px;}
.v3d-colour i{position:absolute;left:9px;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);pointer-events:none;}
.v3d-colour select{padding-left:26px;}
.v3d-line-actions{display:flex;align-items:center;gap:12px;}
.v3d-trust{padding:14px 16px;border-top:1px solid var(--v3d-border);display:grid;gap:8px;font-size:.86rem;color:var(--v3d-dim);}
.v3d-trust p{margin:0;}
.v3d-trust p:first-child{color:var(--v3d-text);font-weight:600;}
.v3d-assure-co{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:14px;font-size:.88rem;color:var(--v3d-dim);width:100%;}
.v3d-assure-co span::before{content:"✓";margin-right:6px;color:#4CC38A;font-weight:800;}
body.v3d-shop-step .wc-block-components-order-summary-item .wc-block-components-product-metadata{display:none;}
.v3d-qty.busy{opacity:.5;pointer-events:none;}
.v3d-stepper{display:inline-flex;align-items:center;border:1.5px solid rgba(242,244,247,.22);border-radius:10px;overflow:hidden;}
body .v3d-stepper button{width:32px;height:30px;border:0;padding:0;background:transparent;color:var(--v3d-text);font-size:1.05rem;font-weight:700;cursor:pointer;border-radius:0;}
body .v3d-stepper button:hover,body .v3d-stepper button:focus{background:var(--v3d-surface-2);color:var(--v3d-text);}
body .v3d-stepper button[disabled]{opacity:.3;cursor:default;}
.v3d-stepper input{width:44px;height:30px;border:0;border-left:1px solid var(--v3d-border);border-right:1px solid var(--v3d-border);background:transparent;color:var(--v3d-text);text-align:center;font-weight:700;font-family:var(--v3d-font);font-size:.95rem;padding:0;}
body .v3d-rm{background:none;border:0;padding:0;color:var(--v3d-dim);text-decoration:underline;text-underline-offset:3px;font-size:.84rem;cursor:pointer;}
body .v3d-rm:hover,body .v3d-rm:focus{background:none;color:#FF6369;}
.v3d-free{padding:14px 16px;border-top:1px solid var(--v3d-border);font-size:.92rem;color:var(--v3d-text);display:grid;gap:8px;}
.v3d-free .bar{display:block;height:6px;border-radius:99px;background:var(--v3d-surface-2);overflow:hidden;}
.v3d-free .bar i{display:block;height:100%;background:#4CC38A;border-radius:99px;transition:width .3s;}
.v3d-edit-order{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 16px;margin:0;border-top:1px solid var(--v3d-border);font-size:.92rem;font-weight:600;}
.v3d-add-another{margin:16px 0 0;font-weight:600;}
body.v3d-shop-step .wc-block-components-notice-banner{border-radius:12px;}
/* thank-you page */
body.woocommerce-order-received .woocommerce-order{color:var(--v3d-text);font-family:var(--v3d-font);}
body.woocommerce-order-received .woocommerce-notice--success{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.03em;color:var(--v3d-text);margin:8px 0 18px;}
body.woocommerce-order-received .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:16px 18px;margin:0 0 24px;background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:16px;color:var(--v3d-dim);}
body.woocommerce-order-received .woocommerce-order-overview strong{display:block;color:var(--v3d-text);}
body.woocommerce-order-received table{border-color:var(--v3d-border) !important;color:var(--v3d-text);}
body.woocommerce-order-received h2{color:var(--v3d-text);font-weight:800;letter-spacing:-.02em;}
.v3d-next{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:20px;padding:24px 26px;margin:0 0 28px;}
.v3d-next h2{margin:0 0 16px;font-size:1.2rem;}
.v3d-timeline{list-style:none;margin:0;padding:0;}
.v3d-timeline li{position:relative;padding:0 0 20px 40px;}
.v3d-timeline li:last-child{padding-bottom:0;}
.v3d-timeline li::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;border:2px solid rgba(242,244,247,.3);background:var(--v3d-surface);box-sizing:border-box;}
.v3d-timeline li::after{content:"";position:absolute;left:11px;top:26px;bottom:2px;width:2px;background:var(--v3d-border);}
.v3d-timeline li:last-child::after{display:none;}
.v3d-timeline li.done::before{background:#4CC38A;border-color:#4CC38A;}
.v3d-timeline li.done::after{background:#4CC38A;}
.v3d-timeline li.now::before{border-color:#4CC38A;box-shadow:inset 0 0 0 5px var(--v3d-surface),inset 0 0 0 12px #4CC38A;}
.v3d-timeline b{display:block;color:var(--v3d-text);}
.v3d-timeline span{color:var(--v3d-dim);font-size:.94rem;}
.v3d-next-help{margin:18px 0 0;color:var(--v3d-dim);font-size:.92rem;}

/* FAQ (Elementor toggle) */
.v3d-faq .elementor-toggle-item{border-top:1px solid var(--v3d-border);}
.v3d-faq .elementor-toggle-item:last-child{border-bottom:1px solid var(--v3d-border);}
.v3d-faq .elementor-tab-title{padding:20px 0 !important;border:0 !important;font-size:1.06rem !important;display:flex !important;justify-content:space-between;align-items:center;gap:16px;}
.v3d-faq .elementor-tab-title a{color:var(--v3d-text) !important;text-decoration:none;font-weight:700;order:1;}
.v3d-faq .elementor-toggle-icon{order:2;color:var(--v3d-dim) !important;margin:0 !important;}
.v3d-faq .elementor-toggle-icon svg{fill:var(--v3d-dim);width:14px;}
.v3d-faq .elementor-tab-content{border:0 !important;padding:0 0 20px !important;color:var(--v3d-dim);font-size:1rem;max-width:68ch;}
.v3d-faq .elementor-tab-content p{margin:0;}


/* ===== checkout: matches the prototype ===== */
/* header: wordmark only + outline padlock; checkout-only footer; no page title */
body.v3d-shop-step .v3d-logo-mark{display:none;}
body.v3d-shop-step .v3d-header-row.e-con::after{content:"Secure checkout";font-size:.9rem;font-weight:600;color:var(--v3d-dim);padding-left:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA3B2' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") left center/15px no-repeat;}
body.v3d-shop-step .v3d-footer-row > .elementor-widget:first-child{display:none;}
body.v3d-shop-step .v3d-footer-row.e-con{justify-content:flex-start;}
body.v3d-shop-step .page-header,body.v3d-shop-step .entry-title{display:none;}
body.v3d-shop-step .wc-block-checkout__guest-checkout-notice{display:none;}

/* section titles; subtitle on the right for Shipping + Payment */
body.v3d-shop-step .wc-block-components-checkout-step__title{font-size:1.32rem !important;font-weight:800 !important;letter-spacing:-.02em;color:var(--v3d-text);}
body.v3d-shop-step .wc-block-checkout__shipping-option,body.v3d-shop-step .wc-block-checkout__payment-method{position:relative;}
body.v3d-shop-step .wc-block-checkout__shipping-option .wc-block-components-checkout-step__description,
body.v3d-shop-step .wc-block-checkout__payment-method .wc-block-components-checkout-step__description{position:absolute;right:0;top:6px;margin:0;font-size:.88rem;color:var(--v3d-dim);}

/* labels ABOVE fields. Fail-safe: only re-positions WooCommerce's existing <label>; if WooCommerce renames these
   classes the rules simply stop matching and its standard floating labels come back. Nothing is rebuilt or removed. */
body.v3d-shop-step .wc-block-components-text-input,
body.v3d-shop-step .wc-block-components-combobox .wc-block-components-combobox-control{display:flex !important;flex-direction:column-reverse;}
body.v3d-shop-step .wc-block-components-text-input label,
body.v3d-shop-step .wc-block-components-combobox .wc-block-components-combobox-control label,
body.v3d-shop-step .wc-blocks-components-select__label{position:static !important;transform:none !important;inset:auto !important;margin:0 0 6px !important;font-size:.9rem !important;font-weight:600 !important;color:var(--v3d-text) !important;line-height:1.3 !important;white-space:normal !important;max-width:none !important;overflow:visible !important;}
body.v3d-shop-step .wc-block-components-text-input input,
body.v3d-shop-step .wc-block-components-combobox .wc-block-components-combobox-control input{height:52px !important;min-height:52px !important;padding:0 14px !important;font-size:1rem !important;line-height:52px !important;}
body.v3d-shop-step .wc-blocks-components-select__container{display:flex !important;flex-direction:column;height:auto !important;background:transparent !important;border:0 !important;position:relative;}
body.v3d-shop-step .wc-blocks-components-select__select{height:52px !important;padding:0 40px 0 14px !important;font-size:1rem !important;}
body.v3d-shop-step .wc-blocks-components-select__expand{top:auto !important;bottom:14px !important;right:14px !important;transform:none !important;fill:var(--v3d-dim);}
body.v3d-shop-step .wc-block-components-text-input input::placeholder{color:rgba(154,163,178,.65);opacity:1;}
body.v3d-shop-step .wc-block-components-address-form .wc-block-components-text-input,body.v3d-shop-step .wc-block-components-address-form .wc-block-components-combobox,body.v3d-shop-step .wc-block-components-address-form .wc-blocks-components-select{margin-top:14px !important;}
.v3d-email-help{margin:6px 0 0;font-size:.86rem;color:var(--v3d-dim);}

/* shipping option as a card: truck icon, name, "Tracked to your door · Arrives <dates>", price */
body.v3d-shop-step .v3d-single .wc-block-components-radio-control__input{display:none !important;}
body.v3d-shop-step .v3d-single .wc-block-components-radio-control__option{padding:16px 16px 16px 68px !important;position:relative;border-radius:14px !important;}
body.v3d-shop-step .v3d-single .wc-block-components-radio-control__option::before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;background:#14291F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234CC38A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center/20px no-repeat;}
body.v3d-shop-step .wc-block-components-radio-control__label{font-weight:700;color:var(--v3d-text);}
body.v3d-shop-step .wc-block-components-radio-control__secondary-label{font-weight:800;color:var(--v3d-text);}




.v3d-customs{display:flex;gap:10px;margin:12px 0 0;padding:12px 14px;border-radius:12px;background:var(--v3d-surface-2);color:var(--v3d-dim);font-size:.88rem;}
.v3d-customs::before{content:"";flex:none;width:17px;height:17px;margin-top:1px;background:var(--v3d-dim);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16.5v.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16.5v.5'/%3E%3C/svg%3E") center/contain no-repeat;}

body.v3d-shop-step .wc-block-components-radio-control__description,body.v3d-shop-step .wc-block-components-radio-control__secondary-description{color:var(--v3d-dim);font-size:.9rem;font-weight:400;}
.v3d-arrives{color:#4CC38A;font-weight:700;}
/* summary line controls on a full-width row aligned with the text */
body.v3d-shop-step .wc-block-components-order-summary-item{flex-wrap:wrap !important;}
body.v3d-shop-step .wc-block-components-order-summary-item > .v3d-qty{flex:0 0 100%;grid-column:1 / -1;box-sizing:border-box;padding-left:80px;margin-top:10px;}

/* pay button: padlock; Stripe line; terms at the very bottom */
body.v3d-shop-step .wc-block-components-checkout-place-order-button::before{content:"";width:17px;height:17px;margin-right:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;flex:none;}
body.v3d-shop-step .wc-block-components-checkout-place-order-button{display:flex !important;align-items:center;justify-content:center;width:100% !important;}
body.v3d-shop-step .wc-block-checkout__actions_row{flex-direction:column;align-items:stretch !important;}
.v3d-stripe-note{display:flex;justify-content:center;align-items:center;gap:8px;margin:14px 0 0;font-size:.86rem;color:var(--v3d-dim);text-align:center;width:100%;}
.v3d-stripe-note::before{content:"";flex:none;width:15px;height:15px;background:var(--v3d-dim);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;}
body.v3d-shop-step .wc-block-checkout__terms{text-align:center;font-size:.84rem;color:var(--v3d-dim);margin-top:14px !important;}

/* order summary as a full-height side panel on desktop */
body.v3d-shop-step .wp-block-woocommerce-checkout,body.v3d-shop-step .wc-block-checkout{margin-top:0 !important;padding-top:0 !important;}
body.v3d-shop-step .page-content,body.v3d-shop-step .site-main > .page-content{margin-top:0 !important;padding-top:0 !important;}
body.v3d-shop-step .wc-block-components-sidebar{margin-top:0 !important;}
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block h2,body.v3d-shop-step .wc-block-components-checkout-order-summary__title-text,body.v3d-shop-step .wc-block-components-checkout-order-summary__title{font-size:1.15rem !important;font-weight:800 !important;color:var(--v3d-text) !important;letter-spacing:-.02em;}
@media (min-width:1000px){
  body.v3d-shop-step .site-main{padding-top:0 !important;}
  body.v3d-shop-step .wc-block-components-sidebar-layout{align-items:stretch;margin-bottom:0;}
  body.v3d-shop-step .wc-block-components-main{padding-top:40px;}
  body.v3d-shop-step .wc-block-components-sidebar{background:var(--v3d-surface);border-left:1px solid var(--v3d-border);border-right:1px solid var(--v3d-border);padding:40px 28px 40px !important;min-height:calc(100vh - 69px);}
  body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block{background:transparent;border:0 !important;border-radius:0;position:sticky;top:20px;}
}
body.v3d-shop-step .wc-block-components-checkout-order-summary__title-text{font-size:1.15rem;font-weight:800;color:var(--v3d-text);}

/* summary lines: thumbnail tile, quantity badge only above 1, no repeated unit price, Remove under the price */
body.v3d-shop-step .wc-block-components-order-summary-item__image{width:64px !important;height:64px;border-radius:14px;background:var(--v3d-surface-2);border:1px solid var(--v3d-border);display:grid !important;place-items:center;padding:6px;box-sizing:border-box;}
body.v3d-shop-step .wc-block-components-order-summary-item__image img{width:100% !important;height:100% !important;object-fit:contain;}
body.v3d-shop-step .wc-block-components-order-summary-item__quantity.v3d-one{display:none !important;}
body.v3d-shop-step .wc-block-components-order-summary-item__individual-prices{display:none !important;}
body.v3d-shop-step .wc-block-components-order-summary-item__total-price{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-weight:800;}
body.v3d-shop-step .wc-block-components-order-summary-item{border-top:1px solid var(--v3d-border);padding-top:14px !important;}
body.v3d-shop-step .wc-block-components-order-summary-item:first-child{border-top:0;padding-top:0 !important;}
.v3d-busy-row{opacity:.5;pointer-events:none;}
body .v3d-add-model{display:grid;gap:2px;width:100%;margin:14px 0 4px;padding:13px 14px;border:1.5px dashed rgba(242,244,247,.25);border-radius:12px;background:transparent;color:var(--v3d-text);text-align:left;cursor:pointer;font-family:var(--v3d-font);}
body .v3d-add-model:hover,body .v3d-add-model:focus{border-color:var(--v3d-text);background:transparent;color:var(--v3d-text);}
.v3d-add-model b{font-size:.94rem;}
.v3d-add-model span{font-size:.84rem;color:var(--v3d-dim);font-weight:500;}
.v3d-add-model.busy{opacity:.5;pointer-events:none;}
body.v3d-shop-step .wc-block-components-totals-coupon .wc-block-components-panel__button{color:var(--v3d-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
body.v3d-shop-step .wc-block-components-totals-coupon .wc-block-components-panel__button-icon{display:none;}
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__description{display:none;}
body.v3d-shop-step .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:1.1rem;font-weight:800;}
body.v3d-shop-step .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;}
.v3d-cur{margin-left:auto;margin-right:6px;font-size:.8rem;font-weight:600;color:var(--v3d-dim);align-self:center;}
.v3d-cur + .wc-block-components-totals-item__value{margin-left:0 !important;}
.v3d-eta{display:flex;align-items:center;gap:10px;line-height:1.4;margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#14291F;color:var(--v3d-text);font-size:.92rem;}
.v3d-eta::before{content:"";flex:none;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234CC38A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center/contain no-repeat;}
.v3d-trust p{display:flex;gap:10px;align-items:flex-start;}
.v3d-trust p::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:var(--v3d-dim);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;}
.v3d-trust p + p::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16v12H4zM4 7l8 6 8-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16v12H4zM4 7l8 6 8-6'/%3E%3C/svg%3E");}
.v3d-trust p:first-child{font-weight:500 !important;color:var(--v3d-dim) !important;}

/* accordion (FAQ) */
.v3d-faq .e-n-accordion-item,.v3d-faq .elementor-accordion-item{border-color:var(--v3d-border) !important;}
.v3d-faq .e-n-accordion-item-title,.v3d-faq .elementor-tab-title{color:var(--v3d-text) !important;font-weight:700;}

.v3d-review .who{font-size:.88rem;color:var(--v3d-dim);}
.v3d-review p{color:var(--v3d-text);}
.v3d-header-row.e-con{display:flex !important;flex-direction:row !important;align-items:center;justify-content:space-between;gap:20px;min-height:68px;flex-wrap:nowrap;}
.v3d-nav p{display:flex;gap:28px;margin:0;font-size:.92rem;}
.v3d-header-right.e-con{display:flex !important;flex-direction:row !important;align-items:center;gap:12px;width:auto;}
.v3d-cta-sm .elementor-button{padding:10px 20px !important;font-size:.88rem !important;}
.v3d-footer-row.e-con{display:flex !important;flex-direction:row !important;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-block:32px 44px !important;}
.v3d-footer p{margin:0;}
@media (max-width:960px){
  .v3d-hero-row.e-con,.v3d-grid-3.e-con,.v3d-grid-2.e-con{grid-template-columns:1fr;}
  .v3d-hero-media.e-con{display:contents !important;}
  .v3d-hero-media .elementor-widget-shortcode{order:-1;}
  .v3d-review{order:2;}
  .v3d-hero{min-height:0;}
  .v3d-nav{display:none;}
  .v3d-header-row.e-con{min-height:60px;}
  .v3d-size-cards{grid-template-columns:1fr;}
  .v3d-hero::before{inset:-10% -30% auto -30%;height:70%;}
}
@media (max-width:560px){
  .v3d-btn-buy{max-width:none;}
  .v3d-ewald-card.e-con{grid-template-columns:1fr;}
  .v3d-currency{display:none;}
  .v3d-sticky-buy{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;align-items:center;justify-content:space-between;gap:12px;background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:999px;padding:8px 8px 8px 20px;box-shadow:0 12px 30px -12px rgba(0,0,0,.5);}
  .v3d-sticky-buy small{font-weight:500;color:var(--v3d-dim);}
  body{padding-bottom:76px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;}
  .v3d-hint .mover,.v3d-hint .ripple,.v3d-hint .wheel,.v3d-scroll-cue .ring,.v3d-scroll-cue .c1,.v3d-scroll-cue .c2{animation:none;}
  html{scroll-behavior:auto;}
}
body.woocommerce-order-received .page-header,body.woocommerce-order-received .entry-title{display:none;}
body.v3d-shop-step .v3d-stepper input{width:44px !important;min-width:0 !important;flex:none !important;}
.v3d-line-actions{justify-self:start;}
.v3d-eta b{white-space:nowrap;}
.v3d-size-card .foot{flex-wrap:wrap;row-gap:12px;}
.v3d-size-card .v3d-price small{white-space:nowrap;}
body .v3d-size-card .v3d-btn-ghost{white-space:nowrap;}

/* ===== home page: prototype parity ===== */
.v3d-header .v3d-logo-mark{display:none;}
/* narrower text columns, as in the prototype */
.v3d-section .elementor-widget.v3d-h2,.v3d-section .elementor-widget.v3d-body{max-width:720px !important;--container-widget-width:720px;}
.v3d-closing .elementor-widget.v3d-h2{max-width:none !important;--container-widget-width:auto;}
/* feature icons: custom line icons instead of Font Awesome */
.v3d-feature .elementor-icon i,.v3d-feature .elementor-icon svg{display:none !important;}
.v3d-feature .elementor-icon{width:44px;height:44px;padding:0 !important;display:grid !important;place-items:center;}
.v3d-feature .elementor-icon::before{content:"";width:24px;height:24px;background:var(--v3d-text);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Ccircle cx='5' cy='9' r='3'/%3E%3Ccircle cx='19' cy='9' r='3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Ccircle cx='5' cy='9' r='3'/%3E%3Ccircle cx='19' cy='9' r='3'/%3E%3C/svg%3E") center/contain no-repeat;}
.v3d-grid-3 > .v3d-feature:nth-child(2) .elementor-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h6M8 9v6M14 12h5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h6M8 9v6M14 12h5'/%3E%3C/svg%3E");}
.v3d-grid-3 > .v3d-feature:nth-child(3) .elementor-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v10M7 20h10M9 14h6l1 6H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v10M7 20h10M9 14h6l1 6H8z'/%3E%3C/svg%3E");}
/* review placeholder badge */
.v3d-review .who span,.v3d-review .ph{display:inline-block;margin-left:8px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--v3d-surface-2);color:var(--v3d-dim);border-radius:999px;padding:3px 9px;vertical-align:middle;}
/* FAQ: two columns, + / – icons */
.v3d-faq .elementor-toggle{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin-top:20px;}
.v3d-faq .elementor-toggle-item:last-child{border-bottom:0;}
.v3d-faq .elementor-toggle-icon{display:none !important;}
.v3d-faq .elementor-tab-title::after{content:"+";order:3;font-size:1.3rem;font-weight:500;line-height:1;color:var(--v3d-dim);}
.v3d-faq .elementor-tab-title.elementor-active::after{content:"–";}
@media (max-width:960px){ .v3d-faq .elementor-toggle{grid-template-columns:1fr;} }
/* closing button: white, as in the prototype */
.v3d-closing .v3d-cta-btn .elementor-button{background:var(--v3d-cta-bg) !important;color:var(--v3d-cta-text) !important;}

/* summary panel must start at the top: WooCommerce makes the sidebar sticky, which shifts the panel background */
@media (min-width:1000px){
  body.v3d-shop-step .wc-block-checkout__sidebar,body.v3d-shop-step .wc-block-components-sidebar{position:static !important;top:auto !important;align-self:stretch !important;}
}
.v3d-free > span{display:block;}

/* ===== round 3 feedback ===== */
/* header stays on screen while scrolling (Elementor's header location wrapper is the sticky element) */
.elementor-location-header{position:sticky !important;top:0;z-index:100;}
body.admin-bar .elementor-location-header{top:32px;}
@media (max-width:782px){ body.admin-bar .elementor-location-header{top:0;} }
html{scroll-padding-top:84px;}
html,body{overflow-x:clip !important;}

/* links never take the theme's default dark-purple hover */
body a:hover,body a:active,body a:focus{color:inherit;}
body .v3d-scroll-cue:hover,body .v3d-scroll-cue:focus{color:var(--v3d-text);}
body .v3d-scroll-cue:hover .ring{border-color:color-mix(in srgb,var(--v3d-text) 35%,transparent);}

/* colour swatches: ring + soft glow in the chosen colour (as the prototype) */
body .v3d-swatch{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 0 2px var(--v3d-bg) !important;}
body .v3d-swatch[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 0 3px var(--v3d-bg),0 0 0 5px var(--v3d-text),0 0 22px 6px color-mix(in srgb,var(--c) 55%,transparent) !important;}

/* hero glow in the chosen colour (Elementor reuses ::before for overlays and sets content:none) */
.v3d-hero.e-con::before{content:"" !important;display:block !important;position:absolute;inset:-20% -10% auto 30%;height:120%;opacity:1 !important;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--v3d-tint) 34%,transparent),transparent) !important;transition:background .5s;}
@media (max-width:960px){ .v3d-hero.e-con::before{inset:-10% -30% auto -30%;height:70%;} }

/* section labels and headings: larger */
.v3d-label-text,.v3d-label-text p{font-size:1.08rem !important;letter-spacing:.1em;font-weight:800 !important;}
.v3d-h2 .elementor-heading-title{font-size:clamp(2.1rem,4vw,3.2rem) !important;}

/* "Why it's different": roomier cards with two-tone line icons (outline = text colour, accent = chosen colour) */
.v3d-grid-3.e-con{gap:clamp(18px,2.4vw,28px) !important;margin-top:28px;}
.v3d-grid-3 > .v3d-feature{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:22px;padding:30px 28px 32px !important;}
.v3d-feature .elementor-icon{position:relative;width:64px !important;height:64px !important;border-radius:18px !important;padding:0 !important;
  background:color-mix(in srgb,var(--v3d-tint) 14%,var(--v3d-surface-2)) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v3d-tint) 30%,transparent);transition:background .4s,box-shadow .4s;}
.v3d-feature .elementor-icon::before,.v3d-feature .elementor-icon::after{content:"";position:absolute;inset:7px;width:auto !important;height:auto !important;
  -webkit-mask-size:contain !important;mask-size:contain !important;-webkit-mask-repeat:no-repeat !important;mask-repeat:no-repeat !important;-webkit-mask-position:center !important;mask-position:center !important;}
.v3d-feature .elementor-icon::before{background:var(--v3d-text);}
.v3d-feature .elementor-icon::after{background:var(--v3d-tint);transition:background .4s;}
.v3d-feature .elementor-icon-box-icon{margin:0 0 22px !important;}
.v3d-feature .elementor-icon-box-title{font-size:1.28rem !important;margin:0 0 10px !important;}
.v3d-feature .elementor-icon-box-description{font-size:1.02rem !important;line-height:1.6;}

/* reviews (replaces the placeholder) */
.v3d-review.v3d-reviews-w{border:0 !important;padding:0 !important;margin:16px 0 0 !important;}
.v3d-rv{position:relative;background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:18px;padding:18px 20px 16px;}
.v3d-rv-track{display:grid;}
.v3d-rv-item{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;}
.v3d-rv-item.is-on{opacity:1;visibility:visible;}
.v3d-rv-stars{color:#F5B301;letter-spacing:3px;font-size:1.02rem;line-height:1;}
.v3d-rv blockquote{margin:10px 0 0;padding:0;border:0;}
.v3d-rv blockquote p{margin:0;font-size:1.02rem;font-weight:500;line-height:1.55;color:var(--v3d-text);}
.v3d-rv figcaption{display:flex;align-items:center;gap:10px;margin-top:12px;padding-right:64px;}
.v3d-rv-av{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.86rem;font-weight:800;color:var(--v3d-tint-ink);background:var(--v3d-tint);transition:background .3s,color .3s;}
.v3d-rv figcaption b{display:block;font-size:.94rem;color:var(--v3d-text);}
.v3d-rv figcaption b + span{display:block;font-size:.84rem;color:var(--v3d-dim);}
.v3d-rv-dots{position:absolute;right:18px;bottom:22px;display:flex;gap:6px;}
body .v3d-rv-dots button{width:8px;height:8px;min-height:0;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--v3d-text) 22%,transparent);cursor:pointer;transition:background .2s,width .2s;}
body .v3d-rv-dots button[aria-current="true"]{width:20px;border-radius:4px;background:var(--v3d-text);}
body .v3d-rv-dots button:hover,body .v3d-rv-dots button:focus{background:color-mix(in srgb,var(--v3d-text) 60%,transparent);}
/* feature icons (two-tone; source: fb_icons.py) */
.v3d-grid-3 > .v3d-feature:nth-child(1) .elementor-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate%2824 28%29 scale%28.8%29 translate%28-24 -28%29'%3E%3Cpath d='M24 12.5c-5.4 0-8.9 4.3-8.9 10 0 4 1.5 6.9 4.1 8.6V37h9.6v-5.9c2.6-1.7 4.1-4.6 4.1-8.6 0-5.7-3.5-10-8.9-10z'/%3E%3Cpath d='M13.5 43.5c2-3.5 5.6-5.1 10.5-5.1s8.5 1.6 10.5 5.1'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate%2824 28%29 scale%28.8%29 translate%28-24 -28%29'%3E%3Cpath d='M24 12.5c-5.4 0-8.9 4.3-8.9 10 0 4 1.5 6.9 4.1 8.6V37h9.6v-5.9c2.6-1.7 4.1-4.6 4.1-8.6 0-5.7-3.5-10-8.9-10z'/%3E%3Cpath d='M13.5 43.5c2-3.5 5.6-5.1 10.5-5.1s8.5 1.6 10.5 5.1'/%3E%3C/g%3E%3C/svg%3E");}
.v3d-grid-3 > .v3d-feature:nth-child(1) .elementor-icon::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.6 22.0C13.7 0.4 -3.7 12.1 15.6 22.0zM15.6 22.0C-0.7 11.3 -2.0 30.3 15.6 22.0zM15.6 22.0C-1.9 28.9 11.9 40.4 15.6 22.0z'/%3E%3Cg transform='translate%2848 0%29 scale%28-1 1%29'%3E%3Cpath d='M15.6 22.0C13.7 0.4 -3.7 12.1 15.6 22.0zM15.6 22.0C-0.7 11.3 -2.0 30.3 15.6 22.0zM15.6 22.0C-1.9 28.9 11.9 40.4 15.6 22.0z'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.6 22.0C13.7 0.4 -3.7 12.1 15.6 22.0zM15.6 22.0C-0.7 11.3 -2.0 30.3 15.6 22.0zM15.6 22.0C-1.9 28.9 11.9 40.4 15.6 22.0z'/%3E%3Cg transform='translate%2848 0%29 scale%28-1 1%29'%3E%3Cpath d='M15.6 22.0C13.7 0.4 -3.7 12.1 15.6 22.0zM15.6 22.0C-0.7 11.3 -2.0 30.3 15.6 22.0zM15.6 22.0C-1.9 28.9 11.9 40.4 15.6 22.0z'/%3E%3C/g%3E%3C/svg%3E");}
.v3d-grid-3 > .v3d-feature:nth-child(2) .elementor-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 26.5a14.5 14.5 0 0 1 29 0'/%3E%3Cpath d='M21 9.2l3.4 2.8-3.4 2.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 26.5a14.5 14.5 0 0 1 29 0'/%3E%3Cpath d='M21 9.2l3.4 2.8-3.4 2.8'/%3E%3C/svg%3E");}
.v3d-grid-3 > .v3d-feature:nth-child(2) .elementor-icon::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9.5' cy='33' r='6.5'/%3E%3Cpath d='M6.2 33h6.6M9.5 29.7v6.6'/%3E%3Ccircle cx='38.5' cy='33' r='6.5'/%3E%3Cpath d='M35.2 33h6.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9.5' cy='33' r='6.5'/%3E%3Cpath d='M6.2 33h6.6M9.5 29.7v6.6'/%3E%3Ccircle cx='38.5' cy='33' r='6.5'/%3E%3Cpath d='M35.2 33h6.6'/%3E%3C/svg%3E");}
.v3d-grid-3 > .v3d-feature:nth-child(3) .elementor-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='rotate%28-32 22 34%29'%3E%3Cpath d='M17 38v-4.5c-3.2-2.1-5.2-5.6-5.2-9.6 0-6.6 5-11.4 11.6-11.4 6.2 0 10.8 4.4 10.8 10.4 0 1.4-.3 2.7-.8 3.9l2.4 3.6-2.6 1v3.1c0 1.6-1.2 2.8-2.8 2.8H27V38'/%3E%3C/g%3E%3Cpath d='M6 43h36'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='rotate%28-32 22 34%29'%3E%3Cpath d='M17 38v-4.5c-3.2-2.1-5.2-5.6-5.2-9.6 0-6.6 5-11.4 11.6-11.4 6.2 0 10.8 4.4 10.8 10.4 0 1.4-.3 2.7-.8 3.9l2.4 3.6-2.6 1v3.1c0 1.6-1.2 2.8-2.8 2.8H27V38'/%3E%3C/g%3E%3Cpath d='M6 43h36'/%3E%3C/svg%3E");}
.v3d-grid-3 > .v3d-feature:nth-child(3) .elementor-icon::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 6.5a17 17 0 0 1 12 15'/%3E%3Cpath d='M42 21.6l-3.6-2.6M42 21.6l1.8-4.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 6.5a17 17 0 0 1 12 15'/%3E%3Cpath d='M42 21.6l-3.6-2.6M42 21.6l1.8-4.1'/%3E%3C/svg%3E");}

/* Ewald diagrams (new) */
.v3d-ewald-card.e-con{grid-template-columns:210px 1fr !important;}
@media (max-width:560px){ .v3d-ewald-card.e-con{grid-template-columns:1fr !important;} .v3d-ew{max-width:240px;} }
.v3d-ew{width:100%;height:auto;display:block;overflow:visible}
.v3d-ew .tube{fill:none;stroke:color-mix(in srgb,var(--v3d-text) 13%,var(--v3d-surface));stroke-width:13}
.v3d-ew .lumen{fill:none;stroke:color-mix(in srgb,var(--v3d-text) 5%,var(--v3d-surface));stroke-width:6}
.v3d-ew .amp{fill:color-mix(in srgb,var(--v3d-text) 13%,var(--v3d-surface))}
.v3d-ew .amp-in{fill:color-mix(in srgb,var(--v3d-text) 5%,var(--v3d-surface))}
.v3d-ew .crista{fill:color-mix(in srgb,var(--v3d-text) 30%,var(--v3d-surface))}
.v3d-ew .cupula{fill:color-mix(in srgb,var(--ew) 30%,transparent);stroke:var(--ew);stroke-width:1.4;stroke-linejoin:round}
.v3d-ew .flow{fill:none;stroke:var(--ew);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1 7;animation:v3dflow 1.4s linear infinite}
.v3d-ew .head{fill:none;stroke:var(--ew);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes v3dflow{to{stroke-dashoffset:-8}}
@media (prefers-reduced-motion:reduce){.v3d-ew .flow{animation:none}}
.v3d-ew .badge{fill:var(--ew)}
.v3d-ew .sign{stroke:#fff;stroke-width:2.6;stroke-linecap:round}
.v3d-ew .base{stroke:color-mix(in srgb,var(--v3d-text) 18%,transparent);stroke-width:1.2}
.v3d-ew .spikes{stroke:var(--ew);stroke-width:2;stroke-linecap:round}
.v3d-ew-ex{--ew:var(--v3d-excite)}.v3d-ew-in{--ew:var(--v3d-inhibit)}
.v3d-rv figcaption,.v3d-rv figcaption *{font-style:normal !important;}

/* ===== checkout: order summary matches the prototype ===== */
@media (min-width:1000px){
  body.v3d-shop-step .site-main{max-width:1180px !important;}
  body.v3d-shop-step .wc-block-components-sidebar-layout{display:grid !important;grid-template-columns:minmax(0,1fr) 420px;column-gap:clamp(32px,5vw,64px);flex-wrap:nowrap !important;}
  body.v3d-shop-step .wc-block-components-main{width:auto !important;max-width:none !important;padding-right:0 !important;}
  body.v3d-shop-step .wc-block-components-sidebar{width:auto !important;padding:44px 32px 40px !important;}
}
/* content runs the full panel width, so dividers and boxes line up */
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content,
body.v3d-shop-step .wc-block-components-checkout-order-summary__title,
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item,
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button,
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__content{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;}
body.v3d-shop-step .wc-block-components-checkout-order-summary__title-text{margin:0 0 18px !important;padding:0 !important;font-size:1.15rem !important;}
body.v3d-shop-step .v3d-trust{padding-left:0 !important;padding-right:0 !important;}

/* each line: thumbnail | name, size + colour pickers, quantity | price + Remove */
body.v3d-shop-step .wc-block-components-order-summary-item{display:grid !important;grid-template-columns:64px minmax(0,1fr) auto;column-gap:14px;align-items:start;padding:16px 0 !important;}
body.v3d-shop-step .wc-block-components-order-summary-item:first-child{padding-top:0 !important;}
body.v3d-shop-step .wc-block-components-order-summary-item__image{grid-column:1;grid-row:1 / span 2;margin:0 !important;position:relative;}
body.v3d-shop-step .wc-block-components-order-summary-item__image img{display:none !important;}
body.v3d-shop-step .wc-block-components-order-summary-item__image .v3d-sil{width:48px;height:auto;display:block;}
body.v3d-shop-step .wc-block-components-order-summary-item__image .v3d-sil path{stroke:color-mix(in srgb,var(--v3d-text) 35%,transparent);stroke-width:.8;transition:fill .3s;}
body.v3d-shop-step .wc-block-components-order-summary-item__description{grid-column:2;grid-row:1;padding:0 !important;min-width:0;}
body.v3d-shop-step .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-weight:700 !important;font-size:1rem !important;color:var(--v3d-text) !important;text-decoration:none !important;}
body.v3d-shop-step .wc-block-components-order-summary-item__description .wc-block-components-product-name::after{content:" model";}
body.v3d-shop-step .wc-block-components-order-summary-item__total-price{grid-column:3;grid-row:1 / span 2;align-self:start;padding:0 !important;font-weight:700 !important;}
body.v3d-shop-step .wc-block-components-order-summary-item > .v3d-qty{grid-column:2;grid-row:2;padding:0 !important;margin-top:8px;flex:none !important;display:grid;gap:8px;}
body.v3d-shop-step .v3d-variant{display:flex !important;flex-wrap:wrap;gap:8px;}
body.v3d-shop-step .v3d-variant select{width:auto !important;max-width:none !important;height:36px !important;border-radius:10px !important;font-size:.88rem !important;font-weight:600 !important;padding:0 30px 0 10px !important;}
body.v3d-shop-step .v3d-colour{width:auto !important;max-width:none !important;}
body.v3d-shop-step .v3d-colour i{left:10px;width:14px;height:14px;}
body.v3d-shop-step .v3d-colour select{padding-left:30px !important;}
body.v3d-shop-step .v3d-stepper{height:34px;}

/* totals: quieter, like the prototype */
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__value,
body.v3d-shop-step .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__value{font-weight:400 !important;text-transform:none !important;}
body.v3d-shop-step .wc-block-components-totals-item__label{font-size:1rem !important;}
body.v3d-shop-step .v3d-eta{display:flex;align-items:flex-start;}
body.v3d-shop-step .v3d-eta span{display:inline;}

/* express checkout: plain label on the left, no box (as the prototype) */
body.v3d-shop-step .wc-block-components-express-payment--checkout{border:0 !important;padding:0 !important;margin-bottom:8px !important;}
body.v3d-shop-step .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container{display:block !important;margin:0 0 12px !important;padding:0 !important;}
body.v3d-shop-step .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
body.v3d-shop-step .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after{display:none !important;}
body.v3d-shop-step .wc-block-components-express-payment--checkout .wc-block-components-title{padding:0 !important;margin:0 !important;font-size:1rem !important;font-weight:700 !important;color:var(--v3d-dim) !important;text-align:left !important;background:none !important;}
body.v3d-shop-step .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content{padding:0 !important;border:0 !important;}
body.v3d-shop-step .wc-block-components-express-payment-continue-rule{margin:18px 0 26px !important;}

/* flags beside country / currency pickers */
.v3d-flag{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:24px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.12);pointer-events:none;z-index:2;}
.v3d-flag[hidden]{display:none;}
body.v3d-shop-step .wc-blocks-components-select__container{position:relative;}
body.v3d-shop-step select.v3d-has-flag{padding-left:50px !important;}
body.v3d-shop-step .wc-blocks-components-select__container .v3d-flag{top:auto;bottom:15px;transform:none;}
.v3d-flag-wrap{position:relative;}
.v3d-flag-wrap .v3d-flag{left:10px;width:20px;height:15px;}
.v3d-currency select.v3d-has-flag{padding-left:38px !important;}
body .v3d-rm[hidden]{display:none !important;}
body.v3d-shop-step .wc-block-components-totals-coupon{padding-left:0 !important;padding-right:0 !important;}
body.v3d-shop-step .v3d-free{padding-left:0 !important;padding-right:0 !important;}
body.v3d-shop-step .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container{position:static !important;transform:none !important;}
body.v3d-shop-step .wc-block-components-order-summary-item__image .v3d-sil{width:54px;}

/* 3D model labels: canals + cupulae (model-viewer hotspots follow the model as it turns) */
.v3d-viewer model-viewer .v3d-hs{--o:1;opacity:var(--o);transition:opacity .35s ease;pointer-events:auto;font-family:var(--v3d-font);}
.v3d-viewer model-viewer .v3d-hs:not([data-visible]){--o:.12;}
.v3d-viewer.v3d-nolabels model-viewer .v3d-hs{--o:0 !important;pointer-events:none;}
body .v3d-hs-canal{transform:translateY(-16px);padding:4px 10px;border:1px solid color-mix(in srgb,var(--v3d-tint) 55%,transparent);border-radius:999px;
  background:color-mix(in srgb,var(--v3d-bg) 78%,transparent);backdrop-filter:blur(6px);color:var(--v3d-text);font-size:.74rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;cursor:default;line-height:1.3;min-height:0;}
body .v3d-hs-canal:hover,body .v3d-hs-canal:focus{background:color-mix(in srgb,var(--v3d-bg) 90%,transparent);color:var(--v3d-text);}
body .v3d-hs-cup{position:relative;width:14px;height:14px;padding:0;min-height:0;border:2px solid #fff;border-radius:50%;background:var(--v3d-tint);cursor:default;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--v3d-tint) 35%,transparent),0 0 16px 4px color-mix(in srgb,var(--v3d-tint) 70%,transparent);animation:v3dcup 2.4s ease-in-out infinite;}
body .v3d-hs-cup:hover,body .v3d-hs-cup:focus{background:var(--v3d-tint);}
.v3d-hs-cup span{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--v3d-bg);color:var(--v3d-text);border:1px solid var(--v3d-border);opacity:0;pointer-events:none;transition:opacity .2s;}
.v3d-hs-cup:hover span,.v3d-hs-cup:focus span{opacity:1;}
@keyframes v3dcup{0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--v3d-tint) 30%,transparent),0 0 10px 2px color-mix(in srgb,var(--v3d-tint) 55%,transparent);}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--v3d-tint) 18%,transparent),0 0 20px 6px color-mix(in srgb,var(--v3d-tint) 75%,transparent);}}
@media (prefers-reduced-motion:reduce){ body .v3d-hs-cup{animation:none;} }
body .v3d-labels-toggle{position:absolute;left:16px;top:14px;z-index:3;min-height:0;padding:7px 13px;border-radius:999px;border:1px solid var(--v3d-border);background:var(--v3d-surface);color:var(--v3d-text);font-family:var(--v3d-font);font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;}
body .v3d-labels-toggle::before{content:"";width:26px;height:15px;border-radius:99px;background:var(--v3d-surface-2);box-shadow:inset 0 0 0 1px var(--v3d-border);transition:background .2s;}
body .v3d-labels-toggle[aria-pressed="true"]::before{background:var(--v3d-tint);}
body .v3d-labels-toggle::after{content:"";position:absolute;left:16px;width:11px;height:11px;border-radius:50%;background:#fff;transition:transform .2s;transform:translateX(0);}
body .v3d-labels-toggle[aria-pressed="true"]::after{transform:translateX(11px);}
body .v3d-labels-toggle:hover,body .v3d-labels-toggle:focus{background:var(--v3d-surface);color:var(--v3d-text);}
.v3d-labels-toggle{padding-left:13px;}
.v3d-labels-toggle::after{left:15px !important;top:50%;margin-top:-5.5px;}
.v3d-cup-key{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--v3d-dim);background:color-mix(in srgb,var(--v3d-surface) 85%,transparent);border:1px solid var(--v3d-border);border-radius:999px;padding:5px 11px 5px 8px;transition:opacity .3s;}
.v3d-cup-key i{width:10px;height:10px;border-radius:50%;background:var(--v3d-tint);box-shadow:0 0 8px 2px color-mix(in srgb,var(--v3d-tint) 70%,transparent);border:1.5px solid #fff;}
.v3d-viewer.v3d-nolabels .v3d-cup-key{opacity:0;}
.v3d-viewer model-viewer{--min-hotspot-opacity:1;}
/* cupula dots: white core + dark ring + white glow (visible on every model colour) */
body .v3d-hs-cup{width:13px;height:13px;border:2.5px solid #0E1116;background:#fff;animation:v3dcup2 2.4s ease-in-out infinite;box-shadow:0 0 0 2px rgba(255,255,255,.55),0 0 14px 4px rgba(255,255,255,.55);}
body .v3d-hs-cup:hover,body .v3d-hs-cup:focus{background:#fff;}
@keyframes v3dcup2{0%,100%{box-shadow:0 0 0 2px rgba(255,255,255,.5),0 0 10px 2px rgba(255,255,255,.45);}50%{box-shadow:0 0 0 5px rgba(255,255,255,.28),0 0 22px 7px rgba(255,255,255,.6);}}
@media (prefers-reduced-motion:reduce){ body .v3d-hs-cup{animation:none;} }
.v3d-cup-key{bottom:auto;top:54px;}
.v3d-cup-key i{background:#fff;border:2px solid #0E1116;box-shadow:0 0 6px 2px rgba(255,255,255,.6);}
body .v3d-labels-toggle[aria-pressed="true"]::before{background:#4CC38A;}

/* size tip under the size buttons */
.v3d-size-tip{margin:10px 0 0;font-size:.95rem;font-weight:500;color:var(--v3d-dim);display:flex;align-items:center;gap:8px;min-height:1.5em;}
.v3d-size-tip::before{content:"";flex:none;width:16px;height:16px;background:var(--v3d-tint);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;transition:background .3s;}

/* review arrows (bottom-right, beside the dots) */
.v3d-rv figcaption{padding-right:150px;}
.v3d-rv-dots{right:92px;}
.v3d-rv-nav{position:absolute;right:14px;bottom:14px;display:flex;gap:6px;}
body .v3d-rv-arrow{width:32px;height:32px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--v3d-border);background:var(--v3d-surface-2);color:var(--v3d-text);display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s;}
body .v3d-rv-arrow:hover,body .v3d-rv-arrow:focus{background:var(--v3d-surface-2);border-color:color-mix(in srgb,var(--v3d-text) 40%,transparent);color:var(--v3d-text);}
.v3d-rv-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:560px){ .v3d-rv figcaption{padding-right:0;padding-bottom:40px;} .v3d-rv-dots{left:20px;right:auto;bottom:24px;} }

/* 3D labels: larger, solid and brighter; still readable (dimmer) when facing away */
body .v3d-hs-canal{font-size:.86rem !important;font-weight:800 !important;padding:6px 12px !important;background:#0E1116 !important;color:#fff !important;border:2px solid var(--v3d-tint) !important;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.7),0 0 0 3px rgba(14,17,22,.35);backdrop-filter:none;letter-spacing:.01em;}
.v3d-viewer model-viewer .v3d-hs:not([data-visible]){--o:.4;}
.v3d-viewer model-viewer .v3d-hs-canal:not([data-visible]){border-color:color-mix(in srgb,var(--v3d-tint) 45%,transparent) !important;}

/* flag picker panel (open list with flags) */
.v3d-fp{position:fixed;z-index:100000;display:flex;flex-direction:column;max-height:340px;background:#14171C;border:1px solid rgba(242,244,247,.14);border-radius:14px;box-shadow:0 24px 60px -18px rgba(0,0,0,.75);overflow:hidden;font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:#F2F4F7;}
.v3d-fp-search{padding:8px;border-bottom:1px solid rgba(242,244,247,.1);}
.v3d-fp-search input{width:100%;height:38px;border-radius:10px;border:1px solid rgba(242,244,247,.18);background:#0A0C0F;color:#F2F4F7;padding:0 12px;font:inherit;font-size:.92rem;outline:none;}
.v3d-fp-search input:focus{border-color:#0086D6;}
.v3d-fp ul{list-style:none;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;}
.v3d-fp li{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:9px;cursor:pointer;font-size:.92rem;font-weight:500;line-height:1.3;outline:none;}
.v3d-fp li:hover,.v3d-fp li:focus{background:#1C2027;}
.v3d-fp li[aria-selected="true"]{font-weight:700;background:#1C2027;}
.v3d-fp li[aria-selected="true"]::after{content:"✓";margin-left:auto;color:#4CC38A;font-weight:800;}
.v3d-fp li[aria-disabled="true"]{opacity:.45;cursor:default;}
.v3d-fp-flag{flex:none;width:22px;height:16px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.12);}
.v3d-fp-none{display:inline-block;background:#1C2027;}
.v3d-fp-cur li{font-variant-numeric:tabular-nums;}
/* quantity: no inner box around the number (single outline only, as the prototype) */
body.v3d-shop-step .v3d-stepper input,body.v3d-shop-step .v3d-stepper input:focus,body.v3d-shop-step .v3d-stepper input:hover{border:0 !important;box-shadow:none !important;outline:none !important;background:transparent !important;border-radius:0 !important;padding:0 !important;height:30px !important;min-height:0 !important;font-weight:700;color:var(--v3d-text) !important;}
body.v3d-shop-step .v3d-stepper input:focus-visible{background:var(--v3d-surface-2) !important;}
/* "this is a real, physical model" note under the 3D viewer */
.v3d-viewer-note{display:flex;align-items:center;gap:9px;margin:12px 4px 0;font-size:.92rem;line-height:1.45;color:var(--v3d-dim);}
.v3d-viewer-note b{color:var(--v3d-text);font-weight:700;}
.v3d-viewer-note svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--v3d-tint);stroke-width:2;stroke-linejoin:round;transition:stroke .3s;}
.v3d-cta-sm .elementor-button .v3d-spinner{margin:0 14px;}

/* ===== Learn: teaching guides ===== */
body.v3d-guide-page .page-header,body.v3d-guide-page .entry-title{display:none;}
body.v3d-guide-page .site-main{max-width:none;padding:0;}
.v3d-guide{max-width:780px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(18px,4vw,32px) 80px;color:var(--v3d-text);font-family:var(--v3d-font);font-size:1.06rem;line-height:1.7;}
.v3d-guide p{margin:0 0 14px;color:color-mix(in srgb,var(--v3d-text) 82%,var(--v3d-dim));}
.v3d-guide a{color:var(--v3d-text);text-decoration:underline;text-underline-offset:3px;}
.v3d-crumbs{font-size:.86rem;font-weight:600;color:var(--v3d-dim);margin-bottom:18px;}
.v3d-crumbs a{color:var(--v3d-dim) !important;text-decoration:none !important;}
.v3d-guide h1{font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.08;font-weight:800;letter-spacing:-.035em;margin:0 0 16px;color:var(--v3d-text);}
.v3d-guide h2{font-size:clamp(1.4rem,2.6vw,1.8rem);line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:48px 0 14px;color:var(--v3d-text);}
.v3d-guide h3{font-size:1.12rem;font-weight:800;margin:0 0 6px;color:var(--v3d-text);}
.v3d-g-lede{font-size:1.2rem;line-height:1.6;color:var(--v3d-dim) !important;margin-bottom:22px !important;}
.v3d-g-meta{font-size:.88rem;color:var(--v3d-dim);display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 28px;}
.v3d-g-meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--v3d-tint);margin-right:8px;vertical-align:middle;}
.v3d-g-goals{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:18px;padding:20px 24px;margin:0 0 8px;}
.v3d-g-goals b{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--v3d-dim);margin-bottom:8px;}
.v3d-g-goals ul,.v3d-g-key ul{margin:0;padding-left:20px;}
.v3d-g-goals li,.v3d-g-key li{margin:4px 0;}
.v3d-g-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0 8px;}
.v3d-g-card{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:18px;padding:20px;}
.v3d-g-card .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--v3d-surface-2);font-weight:800;font-size:.9rem;margin-bottom:10px;}
.v3d-g-card p{font-size:.98rem;margin:0;}
.v3d-g-card.ex{border-color:color-mix(in srgb,var(--v3d-excite) 45%,transparent);}
.v3d-g-card.in{border-color:color-mix(in srgb,var(--v3d-inhibit) 45%,transparent);}
.v3d-g-fig{margin:22px 0;background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:20px;padding:22px;}
.v3d-g-fig .pair{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.v3d-g-fig figcaption{font-size:.9rem;color:var(--v3d-dim);margin-top:12px;text-align:center;}
.v3d-g-fig .lbl{font-size:.82rem;font-weight:700;text-align:center;margin-top:6px;}
.v3d-g-fig svg{width:100%;height:auto;display:block;}
.v3d-g-callout{border-radius:18px;padding:20px 24px;margin:26px 0;border:1px solid var(--v3d-border);}
.v3d-g-callout.try{background:color-mix(in srgb,var(--v3d-tint) 10%,var(--v3d-surface));border-color:color-mix(in srgb,var(--v3d-tint) 40%,transparent);}
.v3d-g-callout.warn{background:color-mix(in srgb,#F5B301 8%,var(--v3d-surface));border-color:color-mix(in srgb,#F5B301 40%,transparent);}
.v3d-g-callout.why{background:var(--v3d-surface);}
.v3d-g-callout h3{display:flex;align-items:center;gap:8px;}
.v3d-g-callout ol,.v3d-g-callout ul{margin:6px 0 0;padding-left:22px;}
.v3d-g-callout li{margin:5px 0;}
.v3d-g-tablewrap{overflow-x:auto;margin:18px 0;border:1px solid var(--v3d-border);border-radius:16px;}
.v3d-g-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:640px;}
.v3d-g-table th,.v3d-g-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--v3d-border);}
.v3d-g-table th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v3d-dim);background:var(--v3d-surface);}
.v3d-g-table tr:last-child td{border-bottom:0;}
.v3d-g-table td b{color:var(--v3d-text);}
.v3d-g-key{background:var(--v3d-surface);border-left:4px solid var(--v3d-tint);border-radius:0 16px 16px 0;padding:18px 22px;margin:32px 0;}
.v3d-g-key b.t{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--v3d-dim);margin-bottom:6px;}
.v3d-g-quiz details{background:var(--v3d-surface);border:1px solid var(--v3d-border);border-radius:16px;margin:10px 0;padding:0 20px;}
.v3d-g-quiz summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700;display:flex;justify-content:space-between;gap:14px;}
.v3d-g-quiz summary::-webkit-details-marker{display:none;}
.v3d-g-quiz summary::after{content:"Show answer";flex:none;font-size:.8rem;font-weight:700;color:var(--v3d-dim);border:1px solid var(--v3d-border);border-radius:999px;padding:3px 10px;height:fit-content;}
.v3d-g-quiz details[open] summary::after{content:"Hide";}
.v3d-g-quiz details > div{padding:0 0 16px;border-top:1px solid var(--v3d-border);padding-top:12px;}
.v3d-g-quiz details > div p:last-child{margin-bottom:0;}
.v3d-g-cta{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin:44px 0 18px;padding:24px;border-radius:20px;background:var(--v3d-surface);border:1px solid var(--v3d-border);}
.v3d-g-cta b{display:block;font-size:1.15rem;}
.v3d-g-cta span{color:var(--v3d-dim);font-size:.95rem;}
.v3d-g-cta a.v3d-g-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;background:var(--v3d-tint);color:var(--v3d-tint-ink) !important;text-decoration:none !important;font-weight:700;white-space:nowrap;}
.v3d-g-next{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px;}
.v3d-g-next a{flex:1 1 240px;display:block;padding:16px 18px;border:1px solid var(--v3d-border);border-radius:16px;text-decoration:none !important;}
.v3d-g-next a small{display:block;color:var(--v3d-dim);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
.v3d-g-next a b{font-size:1.02rem;}
.v3d-g-note{font-size:.84rem;color:var(--v3d-dim) !important;margin-top:28px !important;}
.v3d-g-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:26px;}
.v3d-g-hub a{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;background:var(--v3d-surface);border:1px solid var(--v3d-border);text-decoration:none !important;transition:border-color .2s,transform .2s;}
.v3d-g-hub a:hover{border-color:color-mix(in srgb,var(--v3d-text) 30%,transparent);transform:translateY(-2px);}
.v3d-g-hub a small{color:var(--v3d-dim);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;}
.v3d-g-hub a b{font-size:1.2rem;line-height:1.25;}
.v3d-g-hub a span{color:var(--v3d-dim);font-size:.95rem;line-height:1.55;}
@media (max-width:620px){ .v3d-g-fig .pair{grid-template-columns:1fr;} .v3d-g-cta{grid-template-columns:1fr;} }
.v3d-viewer model-viewer .v3d-hs-canal:not([data-visible]){--o:.2;}
/* home: teaching guide cards */
.v3d-learn-cards{margin-top:30px !important;}
.v3d-learn-cards a{color:var(--v3d-text) !important;}
.v3d-learn-all{margin:18px 0 0;font-weight:700;}
.v3d-learn-all a{color:var(--v3d-text) !important;text-decoration:none;border-bottom:1.5px solid var(--v3d-tint);padding-bottom:2px;}
/* "View on your desk" (AR) button: hidden on phones and tablets (Sunjay: looks bad on mobile) */
@media (max-width:960px),(hover:none) and (pointer:coarse){ .v3d-viewer .v3d-ar-btn,.v3d-viewer [slot="ar-button"]{display:none !important;} }
