/* Noryk / site directory and download preview. No external assets. */
.footer-v4 { position:relative; isolation:isolate; overflow:hidden; padding:66px 0 32px; border-top:1px solid #ffffff12; background:#0b0810; color:#f4eefb; }
.footer-v4::before { content:''; position:absolute; z-index:-1; pointer-events:none; width:700px; height:700px; right:-300px; top:40px; border-radius:50%; background:radial-gradient(circle,#7942be13,transparent 65%); }
.footer-v4 .footer-v4-heading { display:flex; align-items:center; gap:25px; padding-bottom:38px; margin-bottom:42px; border-bottom:1px solid #ffffff13; }
.footer-v4 .footer-v4-heading .brand { width:150px; margin-left:-9px; }
.footer-v4 .footer-v4-heading p { color:#ad9bbd; font-size:13px; line-height:1.5; }
.footer-v4 .footer-v4-top { display:inline-flex; align-items:center; gap:12px; margin-left:auto; color:#b9adca; font-size:11px; }
.footer-v4 .footer-v4-top svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
.footer-v4 .footer-v4-layout { display:grid; grid-template-columns:minmax(0,2.38fr) minmax(265px,1fr); gap:64px; }
.footer-v4 .footer-v4-navigation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 30px; align-content:start; }
.footer-v4 .footer-v4-group h3 { margin:0 0 19px; font-family:var(--font-text); font-weight:500; font-size:12px; line-height:1.5; letter-spacing:0; color:#9f8eae; }
.footer-v4 .footer-v4-group ul { display:grid; gap:11px; padding:0; margin:0; list-style:none; }
.footer-v4 .footer-v4-group li { min-width:0; line-height:1.45; }
.footer-v4 .footer-v4-group a,.footer-v4 .footer-v4-group button { display:inline-block; max-width:100%; padding:0; border:0; background:transparent; color:#e5dced; font:400 13px/1.5 var(--font-text); text-align:left; transition:color .2s; }
.footer-v4 .footer-v4-group a:hover,.footer-v4 .footer-v4-group button:hover { color:#cdaaff; }
.footer-v4 .footer-v4-group button { cursor:pointer; }
.footer-v4 .footer-v4-download { min-width:0; }
.footer-v4 .footer-v4-download-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; margin:0 0 15px; }
.footer-v4 .footer-v4-download-heading h3 { font:400 11px/1.5 var(--font-text); color:#aa9bb8; letter-spacing:0; }
.footer-v4 .footer-v4-soon { padding:3px 8px; border:1px solid #c69dff35; border-radius:20px; color:#c7a6f0; font-size:9px; font-weight:500; line-height:1.5; white-space:nowrap; }
.footer-v4 .footer-v4-stores { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.footer-v4 .footer-v4-stores button { min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; padding:9px 8px; border:1px solid #ded0ed83; border-radius:999px; background:transparent; color:#f4eefb; font:400 12px/1.35 var(--font-text); transition:background .2s,border-color .2s; white-space:nowrap; }
.footer-v4 .footer-v4-stores button:hover { background:#cba3ff12; border-color:#c9a4ff; }
.footer-v4 .footer-v4-stores svg { width:20px; height:20px; fill:currentColor; flex:none; }
.footer-v4 .footer-v4-stores .footer-v4-apple { width:18px; }
.footer-v4 .footer-v4-symbol { position:relative; overflow:hidden; width:min(100%,280px); aspect-ratio:388/441; margin:32px auto 28px; opacity:.94; filter:drop-shadow(0 0 50px #a367ff20); }
.footer-v4 .footer-v4-symbol img { position:absolute; width:511.1%; max-width:none; height:auto; left:-33.51%; top:-41.27%; filter:brightness(1.18); }
.footer-v4 .footer-v4-qr-preview { display:flex; align-items:center; gap:13px; padding:13px; border:1px solid #ffffff1b; border-radius:12px; background:#ffffff04; }
.footer-v4 .footer-v4-qr-placeholder { display:block; width:62px; height:62px; flex:none; padding:5px; border-radius:6px; background:#faf7ff; color:#28183a; }
.footer-v4 .footer-v4-qr-placeholder svg { width:100%; height:100%; }
.footer-v4 .footer-v4-qr-preview strong { display:block; color:#e8def3; font-size:11px; font-weight:500; line-height:1.4; }
.footer-v4 .footer-v4-qr-preview p { color:#ab99ba; margin-top:3px; font-size:10px; line-height:1.5; }
.footer-v4 .footer-v4-qr-preview div>span { display:block; margin-top:6px; color:#c5a5ed; font-size:9px; line-height:1.4; }
.footer-v4 .footer-v4-socials { display:flex; align-items:center; flex-wrap:wrap; gap:13px; margin-top:43px; }
.footer-v4 .footer-v4-socials a,.footer-v4 .footer-v4-socials button { display:inline-flex; align-items:center; justify-content:center; padding:0; width:36px; height:36px; border:1px solid transparent; border-radius:8px; color:#eee7f6; background:transparent; transition:color .2s,background .2s; }
.footer-v4 .footer-v4-socials a:hover,.footer-v4 .footer-v4-socials button:hover { color:#cfadff; background:#b88cff12; }
.footer-v4 .footer-v4-socials svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.footer-v4 .footer-v4-socials .footer-v4-solid { fill:currentColor; stroke:none; }
.footer-v4 .footer-v4-socials .footer-v4-instagram { justify-content:flex-start; gap:9px; width:auto; padding:0 9px 0 0; margin-right:7px; font-size:12px; }
.footer-v4 .footer-v4-instagram .footer-v4-external { color:#a581d1; font-size:16px; }
.footer-v4 .footer-v4-disclaimer { max-width:785px; margin-top:22px; color:#9d8eab; font-size:10px; line-height:1.9; }
.footer-v4 .footer-v4-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:32px; padding-top:25px; border-top:1px solid #ffffff13; }
.footer-v4 .footer-v4-copyright { color:#c4b6d1; font-size:11px; line-height:1.5; }
.footer-v4 .footer-v4-language { position:relative; display:flex; align-items:center; gap:8px; margin-left:7px; }
.footer-v4 .footer-v4-language>svg { width:17px; height:17px; flex:none; fill:none; stroke:#e2d5ed; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.footer-v4 .footer-v4-language select { appearance:none; -webkit-appearance:none; min-height:36px; max-width:120px; padding:5px 21px 5px 1px; border:0; border-radius:0; background:transparent; color:#e2d5ed; font:400 11px/1.4 var(--font-text); cursor:pointer; }
.footer-v4 .footer-v4-language option { color:#f4eefb; background:#160d24; }
.footer-v4 .footer-v4-language .footer-v4-chevron { position:absolute; right:0; width:13px; height:13px; pointer-events:none; }
.footer-v4 .footer-v4-language select:focus-visible { outline:2px solid #b88cff; outline-offset:3px; }
.footer-v4 .footer-v4-signature { margin-left:auto; color:#9e86b5; font-size:9px; line-height:1.6; letter-spacing:.13em; }
.footer-v4 .footer-v4-legal { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:20px; }
.footer-v4 .footer-v4-legal button { padding:0; border:0; background:transparent; color:#a99ab7; font:400 10px/1.6 var(--font-text); text-align:left; }
.footer-v4 .footer-v4-legal button:hover { color:#cdaaff; }
.footer-v4 .footer-v4-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(min-width:1600px) { .footer-v4 { padding-top:80px; } }
@media(max-width:1100px) {
  .footer-v4 .footer-v4-layout { grid-template-columns:minmax(0,2.3fr) minmax(235px,1fr); gap:38px; }
  .footer-v4 .footer-v4-navigation { gap:34px 20px; }
  .footer-v4 .footer-v4-group a,.footer-v4 .footer-v4-group button { font-size:12px; }
  .footer-v4 .footer-v4-symbol { width:240px; }
}
@media(max-width:800px) {
  .footer-v4 { padding-top:45px; }
  .footer-v4 .footer-v4-layout { grid-template-columns:1fr; gap:40px; }
  .footer-v4 .footer-v4-navigation { column-gap:28px; }
  .footer-v4 .footer-v4-group a,.footer-v4 .footer-v4-group button { font-size:13px; }
  .footer-v4 .footer-v4-download { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:14px 45px; align-items:start; padding-top:30px; border-top:1px solid #ffffff13; }
  .footer-v4 .footer-v4-download-heading { grid-column:1; margin-bottom:0; }
  .footer-v4 .footer-v4-stores { grid-column:1; align-self:start; }
  .footer-v4 .footer-v4-symbol { grid-column:2; grid-row:1/4; width:145px; margin:0 auto; }
  .footer-v4 .footer-v4-qr-preview { grid-column:1; max-width:360px; }
  .footer-v4 .footer-v4-socials { margin-top:30px; }
  .footer-v4 .footer-v4-signature { flex-basis:100%; margin:0; }
}
@media(max-width:560px) {
  .footer-v4 .footer-v4-heading { flex-wrap:wrap; gap:8px 15px; padding-bottom:26px; margin-bottom:30px; }
  .footer-v4 .footer-v4-heading .brand { width:132px; margin-left:-8px; }
  .footer-v4 .footer-v4-heading p { flex-basis:100%; order:3; font-size:11px; }
  .footer-v4 .footer-v4-top { gap:8px; font-size:10px; }
  .footer-v4 .footer-v4-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:29px 26px; }
  .footer-v4 .footer-v4-group h3 { margin-bottom:13px; font-size:12px; }
  .footer-v4 .footer-v4-group ul { gap:10px; }
  .footer-v4 .footer-v4-group a,.footer-v4 .footer-v4-group button { font-size:12px; line-height:1.5; }
  .footer-v4 .footer-v4-download { grid-template-columns:minmax(0,1fr) 90px; gap:12px 18px; }
  .footer-v4 .footer-v4-download-heading { grid-column:1/-1; }
  .footer-v4 .footer-v4-stores { grid-column:1/-1; }
  .footer-v4 .footer-v4-symbol { width:85px; grid-column:2; grid-row:3; align-self:center; }
  .footer-v4 .footer-v4-qr-preview { padding:10px; gap:9px; grid-column:1; }
  .footer-v4 .footer-v4-qr-placeholder { width:49px; height:49px; padding:4px; }
  .footer-v4 .footer-v4-qr-preview div>span { display:none; }
  .footer-v4 .footer-v4-qr-preview strong { font-size:10px; }
  .footer-v4 .footer-v4-qr-preview p { font-size:9px; }
  .footer-v4 .footer-v4-socials { gap:7px; }
  .footer-v4 .footer-v4-socials .footer-v4-instagram { flex-basis:100%; margin-bottom:5px; }
  .footer-v4 .footer-v4-bottom { gap:10px; margin-top:25px; padding-top:20px; }
  .footer-v4 .footer-v4-copyright { flex-basis:100%; font-size:10px; }
  .footer-v4 .footer-v4-language { margin-left:0; }
  .footer-v4 .footer-v4-signature { flex-basis:auto; margin-left:auto; font-size:8px; }
  .footer-v4 .footer-v4-legal { gap:10px 20px; }
  .footer-v4 .footer-v4-legal button { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .footer-v4 *, .footer-v4 *::before, .footer-v4 *::after { transition:none!important; } }
