/* Prestige 3D Visualizer */
.vz-intro{background:linear-gradient(180deg,#F4F6FC,#fff);padding:clamp(36px,5vw,64px) 0 28px}
.vz-intro h1{font-size:clamp(32px,4.4vw,54px);font-weight:700;margin:14px 0 10px}
.vz-intro p{color:var(--muted);font-size:17.5px;max-width:640px}
.vz{width:min(1360px,100% - 32px);margin:0 auto clamp(56px,8vw,96px);display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}
.vz__stage{position:sticky;top:96px;height:calc(100vh - 120px);min-height:520px;max-height:820px;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(180deg,#CFE3F5,#EEF4F9 60%,#E8EDE4);box-shadow:var(--shadow-lg)}
#vz-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
#vz-canvas:active{cursor:grabbing}
.vz__top{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}
.vz__seg{pointer-events:auto;display:flex;gap:4px;padding:5px;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.vz__seg button{border:0;background:transparent;padding:9px 14px;border-radius:10px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer}
.vz__seg button.is-on{background:var(--ink);color:#fff}
.vz__rooms{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:6px;padding:6px;border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg);max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
.vz__rooms::-webkit-scrollbar{display:none}
.vz__rooms button{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;padding:9px 14px;border-radius:13px;font-weight:600;font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}
.vz__rooms button span{font-size:20px;line-height:1}
.vz__rooms button.is-on{background:var(--brand);color:#fff}
.vz__hint{position:absolute;top:76px;left:50%;transform:translateX(-50%);background:rgba(11,20,51,.82);color:#fff;font-size:13.5px;font-weight:500;padding:9px 16px;border-radius:999px;pointer-events:none;transition:opacity .4s;white-space:nowrap}
.vz__hint.is-gone{opacity:0}
.vz__loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:#EEF3F9;color:var(--muted);font-weight:600;transition:opacity .5s}
.vz__loading span{width:44px;height:44px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--brand);animation:vzspin 1s linear infinite}
.vz__loading.is-done{opacity:0;pointer-events:none}
@keyframes vzspin{to{transform:rotate(360deg)}}

.vz__panel{display:grid;gap:14px;min-width:0}
.vz__card,.vz__stage{min-width:0}
.vz__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow)}
.vz__lbl{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vz__row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.vz__sel{display:flex;gap:14px;align-items:center;margin:10px 0 14px}
.vz__sel i{width:52px;height:52px;border-radius:14px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);background:repeating-linear-gradient(45deg,#E6E6E6 0 6px,#F4F4F4 6px 12px)}
.vz__sel b{display:block;font-family:var(--head);font-size:19px;color:var(--ink);line-height:1.2}
.vz__sel span{font-size:13.5px;color:var(--muted)}
.vz__surfaces{display:flex;flex-wrap:wrap;gap:6px}
.vz__surfaces button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 11px 6px 6px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink)}
.vz__surfaces button i{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);background:repeating-linear-gradient(45deg,#ddd 0 3px,#f4f4f4 3px 6px)}
.vz__surfaces button.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.vz__search{width:100%;margin:12px 0 10px;padding:11px 14px;border-radius:12px;border:1.5px solid var(--line);font-size:14.5px}
.vz__search:focus{outline:0;border-color:var(--brand)}
.vz__fams{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.vz__fams button{flex:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:500;cursor:pointer}
.vz__fams button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vz__colours{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;max-height:250px;overflow:auto;padding:4px 2px 2px}
.vz__colours button{aspect-ratio:1;border-radius:10px;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);transition:transform .15s}
.vz__colours button:hover{transform:scale(1.1)}
.vz__colours button.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.vz__plan{display:grid;gap:8px;margin:12px 0 14px;max-height:220px;overflow:auto}
.vz__plan li{display:flex;gap:10px;align-items:center;font-size:13.5px}
.vz__plan li i{width:26px;height:26px;border-radius:8px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.vz__plan li b{color:var(--ink);font-weight:600}
.vz__plan li small{display:block;color:var(--muted);font-size:12px}
.vz__reset{border:0;background:none;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer}
.vz__actions{display:grid;gap:8px;margin-bottom:10px}

@media (max-width:1000px){
  .vz{grid-template-columns:1fr}
  .vz__stage{position:relative;top:0;height:62vh;min-height:420px}
}
@media (max-width:600px){
  .vz{width:calc(100% - 20px)}
  .vz__stage{height:58vh;min-height:380px;border-radius:20px}
  .vz__seg button{padding:8px 10px;font-size:13px}
  .vz__rooms button{padding:8px 10px;font-size:12px}
  .vz__hint{top:66px;font-size:12.5px}
  .vz__colours{grid-template-columns:repeat(7,1fr)}
}

/* tabs + snap your house */
.vz-tabs{display:inline-flex;gap:4px;padding:5px;margin-top:22px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.vz-tabs button{border:0;background:transparent;padding:11px 18px;border-radius:12px;font-weight:600;font-size:15px;color:var(--muted);cursor:pointer;display:flex;gap:8px;align-items:center}
.vz-tabs button.is-on{background:var(--brand);color:#fff}
.vz[hidden]{display:none}
.ph__stage{background:#1A1D27;display:grid;place-items:center}
#ph-canvas{max-width:100%;max-height:100%;cursor:crosshair;display:none;touch-action:manipulation}
.ph__stage.has-photo #ph-canvas{display:block}
.ph__stage.has-photo .ph__empty{display:none}
.ph__empty{color:#fff;text-align:center;display:grid;gap:10px;justify-items:center;padding:30px;max-width:460px}
.ph__empty b{font-family:var(--head);font-size:24px}
.ph__empty span{color:#B9BED0}
.ph__btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.ph__btns .btn--line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.ph__steps{margin:10px 0 14px 18px;padding:0;list-style:decimal;font-size:14px;color:var(--text);display:grid;gap:4px}
.ph__tools{display:flex;gap:8px;flex-wrap:wrap}
.ph__tools label{cursor:pointer}
.ph__tol{display:grid;gap:6px;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink)}
.ph__tol input{accent-color:var(--brand)}

.vz__part{display:flex;gap:6px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);flex-wrap:wrap}
.vz__part[hidden]{display:none}
.vz__part span{font-size:12.5px;font-weight:600;color:var(--muted);margin-right:2px}
.vz__part button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}
.vz__part button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vz__ideas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.vz__ideas button{display:flex;flex-direction:column;gap:7px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:14px;padding:9px;font-size:13px;font-weight:600;cursor:pointer;text-align:left;color:var(--ink)}
.vz__ideas button:hover{border-color:var(--ink)}
.vz__ideas button.is-on{box-shadow:0 0 0 2px var(--ink)}
.vz__ideas span{display:flex;width:100%;height:26px;border-radius:8px;overflow:hidden}
.vz__ideas span i{flex:1}
.vz-intro{background:var(--bg)}
.vz__stage{background:linear-gradient(180deg,#D7E6F2,#F1F4F6 62%,#E9ECE4)}
.vz__card{box-shadow:none;border-radius:20px}
.vz__rooms button.is-on{background:var(--ink)}
.vz-tabs button.is-on{background:var(--ink)}
.vz__seg button.is-on{background:var(--ink)}

/* Magic tap (AI) */
.ai{margin:4px 0 14px;display:grid;gap:10px}
.ai__btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;border:1.5px solid var(--line);background:linear-gradient(135deg,#fff,#F4F1FF);border-radius:16px;padding:12px 14px;cursor:pointer}
.ai__btn b{font-size:15px;color:var(--ink)}
.ai__btn small{grid-column:2;font-size:12.5px;color:var(--muted)}
.ai__dot{grid-row:span 2;width:14px;height:14px;border-radius:50%;background:#C9CCD6;box-shadow:0 0 0 4px #EEF0F5}
.ai.is-on .ai__btn{border-color:#6D4AFF;background:linear-gradient(135deg,#F3EEFF,#E9F0FF)}
.ai.is-on .ai__dot{background:#6D4AFF;box-shadow:0 0 0 4px rgba(109,74,255,.2)}
.ai.is-busy .ai__dot{animation:aipulse 1s ease-in-out infinite}
@keyframes aipulse{50%{transform:scale(.6)}}
.ai__bar{height:6px;border-radius:9px;background:var(--line);overflow:hidden}
.ai__bar[hidden],.ai__size[hidden]{display:none}
.ai__bar i{display:block;height:100%;width:0;background:#6D4AFF;transition:width .3s}
.ai__size{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ai__size span{font-size:12.5px;font-weight:600;color:var(--muted)}
.ai__size button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}
.ai__size button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ph__stage.is-thinking::after{content:"✨ AI is finding the wall…";position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(109,74,255,.92);color:#fff;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600}

[data-ph-erase].is-on{background:#D7262E!important;color:#fff!important;box-shadow:none!important}
/* better contrast in the 3D panel */
.vz__lbl{color:#3c4150}.vz__sel span,.vz__card .note{color:#4a4f5c}
.vz__surfaces button,.vz__fams button,.vz__part button{color:#14161c;border-color:#cfd3dc}
.vz__rooms button{color:#14161c}
.vz__hint{background:#14161c;font-weight:600}

/* photo tab: always a dark stage so the white text is readable, and the photo fills it */
.vz__stage.ph__stage{background:radial-gradient(120% 90% at 50% 0%,#24305A 0%,#121726 70%)}
.ph__empty b{color:#fff;font-size:clamp(20px,5.2vw,26px);line-height:1.2}
.ph__empty span{color:#D5D9E6;font-size:15px}
.ph__btns{flex-direction:column;align-items:stretch;width:min(100%,320px)}
.ph__btns .btn{justify-content:center}
.ph__btns .btn--line{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.ph__stage.has-photo{background:#121726}
#ph-canvas{width:auto;height:auto;object-fit:contain}
@media (max-width:600px){.ph__stage.has-photo{height:auto;min-height:0;aspect-ratio:auto;display:block}.ph__stage.has-photo #ph-canvas{width:100%;max-height:none}}
/* contrast fixes */
.vz-intro{background:linear-gradient(160deg,#1E46C7,#153574)!important}
.vz-intro h1{color:#fff!important}
.vz-intro p{color:rgba(255,255,255,.9)!important}
.vz-intro .eyebrow{color:#F6C445}
.ph__btns .btn--brand{background:#fff;color:#10173A}
.vz-tabs button:not(.is-on){color:#2A2F3D}
/* 3D: room bar sits clear of the WhatsApp button on phones */
@media (max-width:600px){.vz__rooms{right:84px}.vz__hint{font-size:12px;padding:8px 12px}}

/* ---------- phone: work like an app ----------
   The house (or your photo) stays pinned at the top while you scroll the colours below it,
   so you can tap a wall, then a colour, without scrolling up and down. */
@media (max-width:900px){
  .vz{gap:12px}
  .vz__stage{position:sticky!important;top:64px;z-index:6;height:46vh!important;min-height:300px!important;max-height:460px;box-shadow:0 10px 30px rgba(11,20,51,.25)}
  .ph__stage.has-photo{height:46vh!important;display:grid!important;place-items:center}
  .ph__stage.has-photo #ph-canvas{width:auto!important;max-width:100%;max-height:100%}
  .vz__rooms{left:8px;right:8px;transform:none;max-width:none;bottom:8px;justify-content:flex-start}
  .vz__rooms button{flex:0 0 auto}
  .vz__top{top:8px;left:8px;right:8px}
  .vz__hint{top:58px}
  body.is-viz .wa-float{display:none}
}
@media (max-width:900px){
  .ph__stage.has-photo{height:auto!important;min-height:0!important;max-height:none}
  .ph__stage.has-photo #ph-canvas{width:auto!important;height:auto!important;max-width:100%;max-height:52vh}
}
.ph__back{display:none;position:absolute;top:12px;left:12px;z-index:3;background:rgba(255,255,255,.95);color:#10173A;border:0;border-radius:999px;padding:10px 16px;font:700 14px/1 var(--body,inherit);box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer}
.ph__stage.has-photo .ph__back{display:block}
/* auto walls (AI) */
.seg{margin:4px 0 14px;padding:12px 14px;border-radius:14px;background:#F1F4FF;border:1px solid #D9E1FF}
.seg__status{margin:0 0 8px;font-size:14px;font-weight:600;color:#1b2a5e}
.seg__chips{display:flex;flex-wrap:wrap;gap:8px}
.seg__chips:empty{display:none}
.seg__chips button{border:1.5px solid #1E46C7;background:#fff;color:#1E46C7;border-radius:999px;padding:9px 14px;font-weight:700;font-size:14px;cursor:pointer}
.seg__chips button.is-on{background:#1E46C7;color:#fff}
.ph__stage.is-studying::after{content:"✨ AI is studying your photo…";position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(30,70,199,.92);color:#fff;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;white-space:nowrap}
.ai__line{margin:0 0 6px;font-size:13.5px;font-weight:600;color:#4b3aa8}
[data-ai-toggle][hidden]{display:none!important}
.ph__stage.is-painting::after{content:"Painting…";position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(16,23,58,.88);color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600}
/* progress bar on the photo */
.ph__prog{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;pointer-events:none;background:rgba(16,23,58,.9);color:#fff;border-radius:14px;padding:10px 14px 12px;display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;box-shadow:0 6px 20px rgba(0,0,0,.3);transition:opacity .4s}
.ph__prog[hidden]{display:none}
.ph__prog span{font-size:13.5px;font-weight:600;line-height:1.3}
.ph__prog b{font-size:13px;color:#F6C445}
.ph__prog-bar{grid-column:1/-1;height:6px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}
.ph__prog-bar i{display:block;height:100%;width:3%;border-radius:99px;background:linear-gradient(90deg,#F6C445,#FFE08A);transition:width .35s ease}
.ph__prog.is-done{background:rgba(21,128,61,.92)}
.ph__prog.is-done .ph__prog-bar i{background:#fff}
.ph__stage.is-studying::after{display:none}
/* small, out-of-the-way AI badge */
.ph__stage.is-thinking::after{content:"✨ Finding…";top:14px;right:12px;left:auto;bottom:auto;transform:none;font-size:12.5px;padding:7px 12px;white-space:nowrap}
/* phone: photo fills the width, no dark side bars */
@media (max-width:900px){.ph__stage.has-photo{background:transparent!important;box-shadow:none}.ph__stage.has-photo #ph-canvas{width:100%!important;max-height:62vh;object-fit:contain;border-radius:18px}}
.ph__nowall{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);background:rgba(16,23,58,.92);color:#fff;padding:12px 18px;border-radius:14px;font-weight:700;font-size:15px;opacity:0;pointer-events:none;transition:.2s;z-index:5;white-space:nowrap}
.ph__nowall.is-up{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ph__tips{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px;text-align:left;color:#E3E7F2;font-size:14px}
/* helper after first paint */
.ph__help{position:absolute;left:12px;right:12px;bottom:14px;z-index:5;background:rgba(21,128,61,.94);color:#fff;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.4;opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}
.ph__help.is-up{opacity:1;transform:none}
/* suggest colours */
.sug{margin:6px 0 14px}
.sug__btn{width:100%;border:0;border-radius:14px;padding:14px;font-weight:800;font-size:15.5px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#1E46C7,#6D4AFF)}
.sug__list{display:grid;gap:10px;margin-top:12px}
.sug__lead{margin:0;font-weight:700;color:#10173A}
.sug__card{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;text-align:left;background:#fff;border:1.5px solid #dcdfe8;border-radius:14px;padding:12px;cursor:pointer}
.sug__card.is-on{border-color:#1E46C7;background:#F1F4FF}
.sug__sw{grid-row:1/4;display:flex;align-items:center}
.sug__sw i{width:26px;height:44px;border-radius:8px;margin-right:-6px;box-shadow:0 0 0 2px #fff,inset 0 0 0 1px rgba(0,0,0,.1)}
.sug__card b{font-size:15px;color:#10173A}.sug__card small{color:#4b5268;font-size:13px}.sug__card em{font-style:normal;font-size:12.5px;font-weight:700;color:#1E46C7}
.ph__nowall{white-space:normal;text-align:center;max-width:80%}.ph__nowall small{font-weight:500;opacity:.85}
/* no text-selection menu / zoom when tapping the photo quickly */
.ph__stage,.ph__stage *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#ph-canvas{touch-action:manipulation}
/* tap made while the AI is still reading the photo */
.ph__wait{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(.9);background:rgba(16,23,58,.92);color:#fff;padding:12px 18px;border-radius:14px;font-weight:700;font-size:15px;text-align:center;opacity:0;pointer-events:none;transition:.2s;z-index:6;max-width:80%}
.ph__wait small{font-weight:500;opacity:.85}
.ph__wait.is-up{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ph__dot{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.35);z-index:5;pointer-events:none;animation:phDot 1.2s ease-in-out infinite}
@keyframes phDot{50%{transform:scale(1.25)}}
.ph__tipshead{margin:8px 0 2px;font-weight:700;font-size:14px;color:#fff}
/* before a photo is chosen the start card grows to fit the tips and buttons (it was cut off on phones) */
.vz__stage.ph__stage:not(.has-photo){height:auto!important;max-height:none!important;min-height:0!important;position:relative!important;top:0!important;overflow:visible}
.vz__stage.ph__stage:not(.has-photo) .ph__empty{padding:24px 18px}
.ph__tips b{font-family:inherit;font-size:inherit;color:#FFD34D}
.ph__tips li{line-height:1.4}
.vz__plan li{position:relative}
.plan__x{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid #E1DCD2;background:#fff;color:#7A7F8C;font-size:15px;line-height:1;cursor:pointer;flex:none}
.plan__x:hover{background:#FDECEC;color:#C62828;border-color:#F3B4B4}
/* ✨ HD paint */
.hd__btn[hidden],.hd__small[hidden],.hd__sheet[hidden],.hd__before[hidden]{display:none!important}
.hd__btn{background:linear-gradient(135deg,#1E46C7,#6A3DF0);color:#fff;border:0;font-weight:800;width:100%}
.hd__btn:hover{filter:brightness(1.08)}
.hd__small{margin:4px 0 0;text-align:center;font-size:13px;color:#5B6070}
html.hd-open{overflow:hidden}
.hd__sheet{position:fixed;inset:0;z-index:200;background:rgba(10,14,30,.6);display:flex;align-items:flex-end;justify-content:center;padding:0}
@media(min-width:700px){.hd__sheet{align-items:center;padding:24px}}
.hd__box{position:relative;background:#fff;width:100%;max-width:520px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:26px 20px 22px;box-shadow:0 -10px 40px rgba(0,0,0,.25)}
@media(min-width:700px){.hd__box{border-radius:22px}}
.hd__close{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:#F1EEE8;font-size:16px;cursor:pointer}
.hd__body h3{margin:0 40px 8px 0;font-size:21px;line-height:1.25;color:#10173A}
.hd__body p{margin:0 0 14px;color:#3E4352;line-height:1.5}
.hd__body .btn{width:100%;justify-content:center}
.hd__google{background:#fff;border:1.5px solid #D9D4CA;color:#1F2330;font-weight:700;gap:10px}
.hd__g{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);color:#fff;font-weight:900;font-size:13px}
.hd__or{text-align:center;color:#8A8F9C;font-size:13px;margin:14px 0 10px}
.hd__form{display:grid;gap:10px;margin-bottom:10px}
.hd__form input{font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid #D9D4CA;border-radius:12px;width:100%;box-sizing:border-box}
.hd__fine{font-size:13px!important;color:#6B7080!important}
.hd__err{color:#C62828!important;font-weight:600}
.hd__wait{display:grid;justify-items:center;gap:10px;padding:26px 0;text-align:center}
.hd__wait small{color:#6B7080}
.hd__spin{width:44px;height:44px;border-radius:50%;border:4px solid #E3E7F2;border-top-color:#1E46C7;animation:hdspin .9s linear infinite}
@keyframes hdspin{to{transform:rotate(360deg)}}
.hd__view{position:relative;border-radius:14px;overflow:hidden;margin-bottom:12px;background:#111}
.hd__view img{display:block;width:100%;height:auto}
.hd__before{position:absolute;inset:0}
.hd__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hd__row .btn{font-size:14px;padding-left:8px;padding-right:8px}
.hd__link{background:none;border:0;padding:6px 0;color:#1E46C7;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;justify-self:center}
