/* SaliSalvia v4 — twin scan cards, results modal, fix band, certificates slot */
:root{--v4-gold:#d6af5c;--v4-gold2:#f1d48a;--v4-blue:#5ab4ff;--v4-bg:#0b0f17;--v4-card:rgba(255,255,255,.035);--v4-line:rgba(214,175,92,.22)}
.v4-hide{display:none!important}
/* exact twin service cards */
.v4-twin{display:flex;flex-direction:column;height:100%}
.v4-twin .service-logo{width:min(260px,62%)!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;border-radius:50%;margin-inline:auto;display:block;filter:drop-shadow(0 10px 30px rgba(90,180,255,.18))}
.v4-twin > p{min-height:4.8em}
.v4-scan{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.6rem}
.v4-sbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:66px;padding:.7rem .8rem;border-radius:.8rem;cursor:pointer;font:inherit;text-align:center;transition:transform .18s,box-shadow .18s,background .18s}
.v4-sbtn b{font-size:.95rem;font-weight:700;line-height:1.3}.v4-sbtn small{font-size:.72rem;opacity:.78;line-height:1.35}
.v4-sq{background:linear-gradient(135deg,var(--v4-gold2),var(--v4-gold));color:#14100a;border:0;box-shadow:0 6px 22px -8px rgba(214,175,92,.7)}
.v4-st{background:rgba(90,180,255,.08);color:inherit;border:1px solid rgba(90,180,255,.45)}
.v4-sbtn:hover{transform:translateY(-2px)}.v4-st:hover{background:rgba(90,180,255,.16)}
.v4-sbtn:focus-visible,.v4-btn:focus-visible{outline:2px solid var(--v4-gold2);outline-offset:2px}
.v4-twin .mt-7.flex{margin-top:.8rem}
@media (max-width:420px){.v4-scan{grid-template-columns:1fr}}
/* modal */
.v4-lock{overflow:hidden}
.v4-modal{position:fixed;inset:0;z-index:90;display:none;align-items:flex-start;justify-content:center;padding:4vh 12px;background:rgba(3,5,10,.78);backdrop-filter:blur(6px);overflow-y:auto}
.v4-modal.open{display:flex}
.v4-box{position:relative;width:min(760px,100%);background:linear-gradient(180deg,#121826,#0b0f17);border:1px solid var(--v4-line);border-radius:1.1rem;padding:1.4rem 1.2rem 1.3rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);color:#ece6d8;animation:v4in .22s ease-out}
@keyframes v4in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.v4-x{position:absolute;top:.6rem;inset-inline-end:.7rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--v4-line);background:transparent;color:inherit;font-size:1.4rem;line-height:1;cursor:pointer}
.v4-head{display:flex;align-items:center;gap:.8rem;padding-inline-end:2.4rem}
.v4-head img{width:56px;height:56px;border-radius:50%;flex:none}
.v4-head h3{font-size:1.08rem;font-weight:700;margin:0;line-height:1.4}
.v4-kicker{font-size:.72rem;letter-spacing:.06em;color:var(--v4-gold2);margin:0 0 .15rem}
.v4-desc{margin:.9rem 0 0;font-size:.9rem;line-height:1.8;color:#b9b2a2}
.v4-form{display:grid;gap:.85rem;margin-top:1rem}
.v4-form label{display:grid;gap:.35rem;font-size:.85rem}
.v4-form input[name=domain],.v4-gate input{width:100%;padding:.75rem .9rem;border-radius:.65rem;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:inherit;font:inherit;font-size:16px}
.v4-form input:focus,.v4-gate input:focus{outline:none;border-color:var(--v4-gold);box-shadow:0 0 0 3px rgba(214,175,92,.18)}
.v4-chk{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:.55rem!important;line-height:1.7;color:#cfc7b5}
.v4-chk input{margin-top:.35rem;accent-color:var(--v4-gold);width:18px;height:18px;flex:none}
.v4-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.v4-err{min-height:1.2em;margin:0;color:#ff8b95;font-size:.85rem}.v4-err-big{font-size:1rem;margin:1.2rem 0;line-height:1.8}
.v4-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;padding:.65rem 1.2rem;border-radius:.7rem;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:transform .15s,filter .15s}
.v4-btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.v4-btn:disabled{opacity:.6;cursor:wait;transform:none}
.v4-primary{background:linear-gradient(135deg,#3d8bff,#5ab4ff);color:#06101e}
.v4-gold{background:linear-gradient(135deg,var(--v4-gold2),var(--v4-gold));color:#14100a}
.v4-ghost{background:transparent;color:inherit;border-color:var(--v4-line)}
/* running */
.v4-run{text-align:center;padding:1.4rem 0 .6rem}
.v4-orbit{width:120px;height:120px;margin:0 auto 1rem;border-radius:50%;padding:6px;background:conic-gradient(var(--v4-gold),var(--v4-blue),var(--v4-gold));animation:v4spin 3s linear infinite}
.v4-orbit img{width:100%;height:100%;border-radius:50%;background:#0b0f17;animation:v4spin 3s linear infinite reverse}
@keyframes v4spin{to{transform:rotate(360deg)}}
.v4-run-t{line-height:1.8;color:#d8d0bf}.v4-run-s{font-variant-numeric:tabular-nums;color:var(--v4-gold2);margin-top:.4rem}
.v4-prog{height:6px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:1rem}
.v4-prog i{display:block;height:100%;width:2%;background:linear-gradient(90deg,var(--v4-gold),var(--v4-blue));transition:width 1s linear}
/* results */
.v4-domain{margin:.8rem 0 0;font-weight:700;color:var(--v4-gold2);text-align:center;letter-spacing:.02em}
.v4-charts{display:grid;grid-template-columns:1fr;gap:.8rem;margin-top:1rem}
@media (min-width:680px){.v4-charts{grid-template-columns:1fr 1.25fr 1fr}}
.v4-card{background:var(--v4-card);border:1px solid var(--v4-line);border-radius:.9rem;padding:.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center}
.v4-ct{font-size:.78rem;color:var(--v4-gold2);margin:0 0 .3rem;align-self:stretch;text-align:center}
.v4-gauge{width:100%;max-width:220px}.v4-gauge-num{font-size:38px;font-weight:800}.v4-gauge-lbl{font-size:12px;fill:#b9b2a2}
.v4-gauge-arc{transition:stroke-dashoffset 1.2s ease-out}
.v4-total{margin:.2rem 0 0;font-size:.82rem;color:#cfc7b5;text-align:center}.v4-total b{color:#ff9f6e;font-size:1.05rem}
.v4-radar{width:100%;max-width:300px}.v4-ax{font-size:10px;fill:#cfc7b5}.v4-axv{fill:var(--v4-gold2);font-weight:700}
.v4-radar-poly{animation:v4in .6s ease-out}
.v4-bars{display:grid;gap:.55rem;width:100%}
.v4-bar{display:grid;grid-template-columns:4.2rem 1fr 1.8rem;align-items:center;gap:.5rem;font-size:.8rem}
.v4-bar-t{height:10px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}.v4-bar-t i{display:block;height:100%;border-radius:9px}
.v4-bar b{text-align:end}
.v4-h4{margin:1.2rem 0 .5rem;font-size:.95rem;font-weight:700}
.v4-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.v4-f{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .7rem;border-radius:.65rem;background:var(--v4-card);border:1px solid rgba(255,255,255,.06);font-size:.86rem;line-height:1.6}
.v4-f small{display:block;color:#a9a291;font-size:.78rem;margin-top:.15rem}
.v4-sev{flex:none;font-size:.7rem;font-weight:800;padding:.15rem .5rem;border-radius:99px;color:var(--c);border:1px solid var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.v4-f.is-locked{opacity:.75}.v4-lockt{display:inline-flex;align-items:center;gap:.4rem;color:#9d968a;filter:blur(.0px)}
.v4-lockt svg{width:15px;height:15px;fill:none;stroke:var(--v4-gold);stroke-width:2}
.v4-gate,.v4-receipt{margin-top:1.1rem;padding:1rem;border-radius:.9rem;border:1px solid rgba(90,180,255,.35);background:rgba(90,180,255,.06);display:grid;gap:.6rem}
.v4-gt{margin:0;font-weight:800;color:#e8f2ff}.v4-gs{margin:0;font-size:.82rem;color:#b9c3d2;line-height:1.7}
.v4-grid{display:grid;gap:.55rem}@media (min-width:560px){.v4-grid{grid-template-columns:1fr 1fr}}
.v4-dl{display:flex;flex-wrap:wrap;gap:.6rem}.v4-dl .v4-btn{flex:1 1 200px}
.v4-receipt code{color:var(--v4-gold2)}
.v4-up{margin-top:1rem;padding:1rem;border-radius:.9rem;border:1px solid var(--v4-line);background:linear-gradient(135deg,rgba(214,175,92,.09),transparent)}
.v4-up p{margin:0 0 .7rem;line-height:1.8;font-size:.88rem}.v4-up span{color:#cfc7b5}
.v4-up-a{display:flex;flex-wrap:wrap;gap:.5rem}.v4-up-a .v4-btn{flex:1 1 160px}
/* fix-for-you band */
.v4-fix{padding:3.5rem 1.25rem}
.v4-fix-in{max-width:72rem;margin:0 auto;display:grid;gap:1.6rem;padding:1.8rem 1.4rem;border-radius:1.3rem;border:1px solid var(--v4-line);background:radial-gradient(120% 140% at 0 0,rgba(90,180,255,.10),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(214,175,92,.12),transparent 55%),rgba(255,255,255,.02)}
@media (min-width:900px){.v4-fix-in{grid-template-columns:1.5fr 1fr;padding:2.4rem}}
.v4-fix h2{font-size:clamp(1.35rem,3.6vw,2rem);font-weight:800;line-height:1.45;margin:.6rem 0 0}
.v4-fix-p{margin:.9rem 0 0;line-height:1.95;color:#bdb6a6;font-size:.95rem}
.v4-fix ul{list-style:none;padding:0;margin:1.1rem 0 0;display:grid;gap:.55rem}
@media (min-width:560px){.v4-fix ul{grid-template-columns:1fr 1fr}}
.v4-fix li{position:relative;padding-inline-start:1.5rem;font-size:.9rem;line-height:1.7}
.v4-fix li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:.7rem;height:.7rem;border-radius:50%;background:linear-gradient(135deg,var(--v4-gold2),var(--v4-blue))}
.v4-fix-g{display:grid;gap:.75rem;align-content:center;padding:1.3rem;border-radius:1rem;background:rgba(10,14,22,.6);border:1px solid rgba(90,180,255,.3)}
.v4-fix-g svg{width:42px;height:42px;fill:none;stroke:var(--v4-gold2);stroke-width:1.6}
.v4-fix-g p{margin:0;line-height:1.9;font-weight:600;font-size:.95rem}
.v4-bnote{margin-top:1rem;font-size:.8rem;line-height:1.7;color:var(--v4-gold2)}
/* certificates slot (filled in a later version) */
.ss-certs{max-width:72rem;margin:1.2rem auto 0;padding:0 1.25rem}
.ss-certs h3{font-size:.8rem;letter-spacing:.06em;color:var(--v4-gold2);margin:0 0 .6rem;text-align:center;font-weight:700}
.ss-certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;min-height:12px}
.ss-certs-grid:empty{display:none}
.ss-cert{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem;border-radius:.7rem;border:1px solid var(--v4-line);background:rgba(255,255,255,.03);font-size:.7rem;text-align:center;color:#cfc7b5;text-decoration:none}
.ss-cert img{width:56px;height:56px;object-fit:contain}
/* global polish: round logos everywhere, mobile safety */
header img[src*="emblem"],footer img[src*="emblem"],img[src*="header-emblem"]{border-radius:50%}
html,body{overflow-x:hidden}
@media (max-width:640px){.v4-box{padding:1.1rem .9rem 1rem;border-radius:1rem}.v4-modal{padding:2vh 8px}.v4-fix{padding:2.4rem 1rem}}
@media (prefers-reduced-motion:reduce){.v4-orbit,.v4-orbit img,.v4-box,.v4-radar-poly{animation:none}.v4-gauge-arc,.v4-prog i{transition:none}}
/* ===== v4.1 — circular brand emblems, exact twin cards, header language switch ===== */
:root{--v4-ring:conic-gradient(from 210deg,#f1d48a,#d6af5c,#5ab4ff,#1e7fe0,#d6af5c,#f1d48a)}
.v4-logo{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin:0 auto .4rem;width:100%}
.v4-ring{display:block;width:min(230px,70%);aspect-ratio:1/1;border-radius:50%;padding:4px;background:var(--v4-ring);box-shadow:0 0 0 1px rgba(214,175,92,.35),0 14px 40px -12px rgba(90,180,255,.45),0 0 34px -8px rgba(214,175,92,.45)}
.v4-ring img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#090d16}
.v4-wordmark{display:block;width:min(240px,78%);height:auto;object-fit:contain}
.v4-head img.v4-emblem-sm{border-radius:50%;padding:2px;background:var(--v4-ring);object-fit:cover}
.v4-orbit img{object-fit:cover}
header img[src*="header-emblem"]{border-radius:50%!important;border:2px solid transparent;background:linear-gradient(#090d16,#090d16) padding-box,var(--v4-ring) border-box;box-shadow:0 0 14px -3px rgba(214,175,92,.55);object-fit:cover}
footer img[src*="emblem"]{border-radius:50%!important;border:2px solid transparent;background:linear-gradient(#090d16,#090d16) padding-box,var(--v4-ring) border-box}
/* twins: identical structure, equal height, bottoms aligned */
.grid:has(> #salisecure){align-items:stretch}
#salisecure.v4-twin,#saliseo.v4-twin{height:100%;display:flex;flex-direction:column}
.v4-twin > p{min-height:3.6em}
.v4-twin > div.grid{flex:1 1 auto;align-items:stretch}
.v4-twin > div.grid > div{height:100%}
.v4-twin .v4-scan{margin-top:1.2rem}
.v4-sample{margin:.7rem 0 0;font-size:.85rem}.v4-sample a{color:var(--v4-blue);text-decoration:underline;text-underline-offset:3px}
/* fix band */
.v4-eyebrow{margin:0;font-size:.78rem;letter-spacing:.06em;font-weight:700;color:var(--v4-gold2)}
.v4-fix h2{background:linear-gradient(90deg,#f1d48a,#d6af5c 45%,#9fd0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.v4-fix-badge{font-size:1.06rem!important;font-weight:800!important;color:#e8f2ff;line-height:1.7!important}
@media (max-width:640px){
  .v4-ring{width:min(132px,92%);padding:3px}
  .v4-wordmark{width:96%}
  .v4-logo{gap:.5rem}
  .v4-twin > p{min-height:7.5em}
  .v4-scan{grid-template-columns:1fr!important;gap:.45rem}
  .v4-sbtn{min-height:54px;padding:.5rem .4rem}.v4-sbtn b{font-size:.74rem}.v4-sbtn small{font-size:.6rem}
}
/* language switch: on phones it lives in the header bar, never over section titles */
@media (max-width:767.98px){
  html body .language-switch.fixed.bottom-5.left-5,html body .language-switch{position:fixed!important;top:16px!important;bottom:auto!important;left:72px!important;right:auto!important;z-index:60!important;height:42px!important;min-height:42px!important;padding:0 .7rem!important;font-size:.72rem!important;border-radius:.65rem!important;box-shadow:none!important}
  html[lang=en] body .language-switch.fixed.bottom-5.left-5,html[lang=en] body .language-switch{left:auto!important;right:72px!important}
  .v4-lock .language-switch{display:none!important}
}
/* keep the sticky header working: overflow-x:hidden on html/body breaks position:sticky */
html,body{overflow-x:clip!important}
@media (max-width:767.98px){
  html body .language-switch.fixed.bottom-5.left-5,html body .language-switch{font-size:0!important;width:46px!important;min-width:46px!important;padding:0!important;justify-content:center}
  html body .language-switch::after{content:"EN";font-size:.8rem;font-weight:800;letter-spacing:.06em}
  html body .language-switch[lang=fa]::after{content:"فا";letter-spacing:0;font-size:.9rem}
}
@media (max-width:359.98px){
  html body .language-switch.fixed.bottom-5.left-5,html body .language-switch{left:64px!important;width:40px!important;min-width:40px!important}
  html[lang=en] body .language-switch.fixed.bottom-5.left-5,html[lang=en] body .language-switch{left:auto!important;right:64px!important}
}
/* the modal must cover the whole viewport, regardless of generic [role=dialog] rules */
.v4-modal{inset:0!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;transform:none!important;translate:none!important}
.v4-ax{font-size:11.5px}
