/* Levi personal print — live crystal-block preview */
.lv-cp{position:relative;min-width:0;-webkit-user-select:none;user-select:none}
@media(min-width:960px){.lv-cp{position:sticky;top:110px}}
.lv-cp__stage{position:relative;aspect-ratio:1/1;border-radius:var(--lv-radius,18px);overflow:hidden;border:1px solid var(--lv-line,#ECE6DA);
  background:radial-gradient(120% 90% at 50% 18%,#FFFFFF 0%,#FBF8F3 45%,#F1EADF 100%)}
.lv-cp__stage::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,transparent,rgba(232,222,206,.55));pointer-events:none}
.lv-cp__scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:6%;perspective:1600px}

/* the block: a real 3D crystal block, photo printed edge-to-edge on the front, clear 20mm sides */
.lv-cp__stage{background:radial-gradient(120% 95% at 50% 20%,#FFFFFF 0%,#FFFFFF 45%,#F3EEE6 100%)}
.lv-cp__stage::after{display:none}
.lv-cp__scene{perspective:1500px;perspective-origin:50% 45%}
.lv-cp__block{--d:22px;--ry:30deg;--rx:-11deg;position:relative;z-index:2;width:46%;aspect-ratio:3/4;transform-style:preserve-3d;
  transform:rotateX(var(--rx)) rotateY(var(--ry));transition:width .55s cubic-bezier(.2,.7,.2,1),aspect-ratio .55s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1)}
.lv-cp__block.is-landscape{width:58%;aspect-ratio:4/3}
.lv-cp__face{position:absolute;inset:0;overflow:hidden;border-radius:1px;background:linear-gradient(160deg,#F7F1E6,#EADFCB);cursor:grab;touch-action:none;outline:none;
  transform:translateZ(calc(var(--d) / 2));box-shadow:0 0 0 1px rgba(150,165,160,.35)}
.lv-cp__side{position:absolute;display:block;pointer-events:none;backface-visibility:hidden;
  background:linear-gradient(rgba(255,255,255,.5),rgba(236,243,240,.6)),var(--img,linear-gradient(#EFE7DA,#E3D7C3));background-size:cover;background-position:center}
.lv-cp__side--back{inset:0;transform:rotateY(180deg) translateZ(calc(var(--d) / 2));background:rgba(232,240,237,.6)}
.lv-cp__side--l,.lv-cp__side--r{top:0;width:var(--d);height:100%}
.lv-cp__side--l{left:calc(var(--d) / -2);transform:rotateY(-90deg)}
.lv-cp__side--r{left:calc(100% - var(--d) / 2);transform:rotateY(90deg)}
.lv-cp__side--t,.lv-cp__side--b{left:0;width:100%;height:var(--d)}
.lv-cp__side--t{top:calc(var(--d) / -2);transform:rotateX(90deg)}
.lv-cp__side--b{top:calc(100% - var(--d) / 2);transform:rotateX(-90deg)}
/* acrylic edges: bright polished lines + faint refraction */
.lv-cp__side::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),inset 0 0 6px rgba(255,255,255,.7)}
.lv-cp__side--l::before,.lv-cp__side--t::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.55),transparent 35%,transparent 70%,rgba(160,180,175,.25))}
.lv-cp__img{position:absolute;top:0;left:0;max-width:none!important;height:auto;transform-origin:0 0;user-select:none;-webkit-user-drag:none;will-change:transform;margin:0!important;border-radius:0!important;box-shadow:none!important}
.lv-cp__empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12%;color:#9C8A64;font-family:'Assistant',system-ui,sans-serif}
.lv-cp__empty strong{font-size:clamp(14px,1.5vw,17px);color:#6E6048;font-weight:700}
.lv-cp__empty span{font-size:12.5px}
.lv-cp__text{position:absolute;inset:auto 0 0 0;padding:26% 8% 6.5%;text-align:center;font:600 clamp(13px,1.6vw,19px)/1.35 'Frank Ruhl Libre','Assistant',serif;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45);background:linear-gradient(to top,rgba(20,12,6,.5),transparent);pointer-events:none;word-break:break-word}
.lv-cp__bevel{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),inset 0 0 0 3px rgba(255,255,255,.18),inset 0 0 22px rgba(255,255,255,.25)}
.lv-cp__gloss{position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.1) 22%,transparent 40%,transparent 78%,rgba(255,255,255,.12) 100%)}
.lv-cp__gloss::after{content:"";position:absolute;top:-10%;bottom:-10%;width:20%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-16deg);animation:lvCpShine 7s ease-in-out infinite}
@keyframes lvCpShine{0%,62%{left:-40%}100%{left:140%}}
.lv-cp__shadow{position:absolute;z-index:1;left:50%;top:50%;width:52%;height:46px;transform:translate(-42%,calc(var(--lv-cp-half,150px) + 4px));background:radial-gradient(ellipse at center,rgba(60,50,40,.28),rgba(60,50,40,.1) 45%,transparent 72%);filter:blur(4px);pointer-events:none}

.lv-cp__hint{position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);margin:0;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--lv-line,#ECE6DA);font:600 12.5px 'Assistant',sans-serif;color:var(--lv-ink,#2A2520);white-space:nowrap;animation:lvCpHint .5s ease both}
@keyframes lvCpHint{from{opacity:0;transform:translate(-50%,8px)}}
.lv-cp__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.lv-cp__chips span{font:600 12.5px 'Assistant',sans-serif;color:var(--lv-ink,#2A2520);background:var(--lv-cream,#FAF8F3);border:1px solid var(--lv-line,#ECE6DA);border-radius:999px;padding:5px 12px}
.lv-cp .lv-labels{top:16px;right:16px}

/* ---------- steps in the buy box ---------- */
.lv-cpf{display:grid;gap:22px;margin-top:22px}
.lv-cpf__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.lv-cpf__n{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--lv-ink,#2A2520);color:#F4EFE3;font:700 13px/1 'Assistant',sans-serif;flex:0 0 26px}
.lv-pp .lv-cpf__head h3{margin:0;font:700 17px/1.2 'Assistant',sans-serif;color:var(--lv-ink,#2A2520)}
.lv-cpf__head small{font-weight:500;color:var(--lv-muted,#7B7368);font-size:13px}
.lv-pp .lv-cpf__drop{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border:1.5px dashed #D3C5A4;border-radius:16px;background:var(--lv-gold-soft,#F4EFE3);text-align:right;transition:background .2s,border-color .2s;cursor:pointer}
.lv-pp .lv-cpf__drop:hover,.lv-cpf__drop.is-over{background:#EFE6D3;border-color:var(--lv-gold,#BCAC84)}
.lv-cpf__drop.is-done{border-style:solid;background:#fff}
.lv-cpf__ico{width:48px;height:48px;flex:0 0 48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--lv-ink,#2A2520);color:var(--lv-gold,#BCAC84);overflow:hidden}
.lv-cpf__ico img{width:100%;height:100%;object-fit:cover}
.lv-cpf__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.lv-cpf__title{font:700 15px/1.3 'Assistant',sans-serif;color:var(--lv-ink,#2A2520);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-cpf__sub{font:500 12.5px/1.4 'Assistant',sans-serif;color:var(--lv-muted,#7B7368)}
.lv-cpf__progress{height:4px;border-radius:999px;background:var(--lv-line,#ECE6DA);overflow:hidden;margin-top:10px}
.lv-cpf__progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lv-gold,#BCAC84),#A38F5E);transition:width .2s}
.lv-cpf__msg{margin:8px 0 0;font:600 13.5px 'Assistant',sans-serif;color:#9C3D2E}
.lv-cpf__adjust[aria-disabled="true"]{opacity:.45;pointer-events:none}
.lv-cpf__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lv-cpf__seg{display:inline-flex;padding:4px;border:1px solid var(--lv-line,#ECE6DA);border-radius:999px;background:#fff}
.lv-pp .lv-cpf__seg button{height:34px;padding:0 16px;border-radius:999px;font:600 14px 'Assistant',sans-serif;color:var(--lv-muted,#7B7368)}
.lv-pp .lv-cpf__seg button.is-on{background:var(--lv-ink,#2A2520);color:#fff}
.lv-pp .lv-cpf__reset{font:600 13.5px 'Assistant',sans-serif;color:var(--lv-ink,#2A2520);text-decoration:underline;text-decoration-color:var(--lv-gold,#BCAC84);text-underline-offset:4px}
.lv-cpf__zoom{display:flex;align-items:center;gap:12px;margin-top:14px;font:600 14px 'Assistant',sans-serif;color:var(--lv-ink,#2A2520)}
.lv-cpf__zoom input{flex:1;accent-color:var(--lv-ink,#2A2520);height:28px}
.lv-cpf__warn{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#FBF1E6;border:1px solid #EBCFAF;font:500 13px/1.5 'Assistant',sans-serif;color:#7A4B1E}
.lv-pp input.lv-cpf__text{width:100%;height:50px;padding:0 16px;border:1px solid var(--lv-line,#ECE6DA);border-radius:14px;background:#fff;font:500 15px 'Assistant',sans-serif;color:var(--lv-ink,#2A2520);box-shadow:none;margin:0}
.lv-pp input.lv-cpf__text:focus{border-color:var(--lv-gold,#BCAC84);outline:0;box-shadow:0 0 0 4px rgba(188,172,132,.18)}
.lv-pp .lv-btn--primary.is-waiting{opacity:.55}
@media (max-width:959px){.lv-cp__hint{bottom:10px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.lv-cp__gloss::after{animation:none}.lv-cp__block{transition:none}}
.lv-cp [hidden],.lv-cpf [hidden]{display:none!important}
