/* DiGoR global footer — single source for every page (index.html, roadmap.html, future pages).
   Markup lives in global-footer.js; include both files and place <script src="global-footer.js"></script> where the footer belongs. */
.ft{--ease-out:cubic-bezier(.2,.7,.2,1)}
/* App/Play store badges (shared with the entry screen on index.html) */
.stores{grid-row:4;align-self:start;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,1.4vw,24px);margin-top:clamp(18px,3.4vh,36px);
  --bw:clamp(188px,14.4vw,260px);--bh:calc(var(--bw) * 80 / 255)}
.stores__a{box-sizing:border-box;position:relative;display:grid;place-items:center;width:var(--bw);height:var(--bh);overflow:hidden;background:#000;
  border:1px solid rgba(217,163,35,.62);border-radius:calc(var(--bh) * .14);box-shadow:0 6px 18px rgba(0,0,0,.45);outline:none;
  transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out);-webkit-tap-highlight-color:transparent}
.stores__a img{display:block;max-width:none;width:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.stores__a--as img{width:calc((var(--bw) - 2px) * .96);height:auto;clip-path:inset(2.4% .9% round calc(var(--bh) * .08))}
.stores__a--gp img{width:calc((var(--bw) - 2px) * .96 * 646 / 564);height:auto;clip-path:inset(17.6% 6.9% round calc(var(--bh) * .1))}
.stores__a:hover{transform:translateY(-1px);border-color:rgba(240,200,110,.95);box-shadow:0 6px 18px rgba(0,0,0,.45),0 0 22px rgba(217,163,35,.35)}
.stores__a:focus-visible{border-color:var(--gold);box-shadow:0 0 0 2px #0b0a08,0 0 0 4px var(--gold),0 0 22px rgba(217,163,35,.5)}
.stores.is-flash .stores__a{border-color:var(--gold);box-shadow:0 0 0 1px rgba(217,163,35,.7),0 0 28px rgba(217,163,35,.5)}
@media (max-width:720px){.stores{--bw:min(42vw,220px)}}
@media (max-width:460px){.stores{--bw:min(70vw,240px);flex-direction:column;gap:10px}}
@media (max-height:640px){.stores{--bw:clamp(150px,11vw,200px);margin-top:12px}}
@media (prefers-reduced-motion:reduce){.stores__a{transition:none}.stores__a:hover{transform:none}}
/* FOOTER — ref: uploads/Section_Footer.png. Landscape band + rock foreground are cut from that supplied artwork (text-free regions only);
   dividers / icons are the supplied footer SVGs. */
.ft{position:relative;z-index:3;background:#0B0A09;color:#F4F0E7;font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;overflow:hidden;--ft-pad:clamp(20px,7vw,150px)}
.ft a{color:inherit;text-decoration:none}
.ft--vendor{position:absolute;left:0;right:0;top:0;z-index:30;visibility:hidden;transform:translate3d(0,100vh,0);will-change:transform;box-shadow:0 -40px 80px rgba(0,0,0,.6)}
.ft__land{position:relative;width:100%;aspect-ratio:1733/243;min-height:150px;background:url(public/assets/footer/footer_landscape.webp) center/cover no-repeat}
.ft__land::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,0) 55%,rgba(11,10,9,.55) 100%)}
.ft__sep{position:relative;z-index:2;display:flex;justify-content:center;pointer-events:none}
/* SVG drawn at ≥1200px so its 1-unit line stays ≥1px and the ornament ≥28px; on narrow screens the faded line ends overflow evenly */
.ft__sep{overflow:hidden}
.ft__sep img{display:block;width:max(100%,1200px);height:auto;flex:none}
.ft__sep::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 42%,rgba(255,240,196,.95) 50%,transparent 58% 100%) no-repeat;background-size:260% 100%;background-position:130% 0;-webkit-mask:url(assets/brand/footer/digor-footer-divider.svg) center/max(100%,1200px) 100% no-repeat;mask:url(assets/brand/footer/digor-footer-divider.svg) center/max(100%,1200px) 100% no-repeat;opacity:0}
.ft__sep--top{margin-top:calc(max(100%, 1200px) * -32 / 1200)}
.ft__sep--bar{margin:0 calc(-1 * var(--ft-pad))}
.ft__main{position:relative;padding:clamp(28px,4vw,56px) var(--ft-pad) clamp(90px,8vw,120px);margin-top:calc(max(100%, 1200px) * -32 / 1200);background:radial-gradient(55% 60% at 50% 0%,rgba(217,163,35,.09),rgba(217,163,35,0) 70%)}
.ft__rocks{position:absolute;left:0;right:0;bottom:0;aspect-ratio:1733/510;background:url(public/assets/footer/footer_foreground.webp) center bottom/100% 100% no-repeat;pointer-events:none;z-index:0}
.ft__grid{position:relative;z-index:1;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:25fr 18fr 19fr 28fr;align-items:start}
.ft__col{padding:4px clamp(18px,3.2vw,58px) 4px;border-left:1px solid rgba(217,163,35,.26);min-width:0}
.ft__col--brand{border-left:0;padding-left:0}
.ft__col--app{padding-right:0}
.ft__h{margin:0 0 clamp(14px,1.4vw,22px);font-family:"Rajdhani","Montserrat",sans-serif;font-weight:700;font-size:clamp(15px,1.05vw,18px);letter-spacing:.28em;text-transform:uppercase;color:#E3AE35}
.ft__list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(8px,.8vw,13px)}
.ft__cookie{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;font-family:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}
.ft__cookie:hover{color:#F5D27A}
.ft__link{display:inline-block;font-size:clamp(14px,1vw,17px);line-height:1.35;color:#E6E0D2;transition:color .25s var(--ease-out)}
.ft__link:not(.is-off):hover{color:#F5D27A}
.ft__link.is-off{cursor:default}
.ft__support{margin-top:clamp(28px,3.2vw,52px)}
.ft__logo{display:inline-flex;align-items:center;gap:12px}
.ft__mark{width:clamp(44px,3.6vw,60px);height:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}
.ft__word{width:clamp(100px,7.6vw,128px);height:auto;filter:drop-shadow(0 3px 4px rgba(0,0,0,.7))}
.ft__slogan{margin:clamp(12px,1.1vw,18px) 0 0;font-family:"Rajdhani","Montserrat",sans-serif;font-weight:700;font-size:clamp(12px,.92vw,15px);letter-spacing:.32em;text-transform:uppercase;color:#E3AE35;white-space:nowrap}
.ft__rule{display:block;height:1px;width:100%;max-width:320px;margin:clamp(16px,1.6vw,26px) 0;background:linear-gradient(90deg,rgba(217,163,35,.75),rgba(217,163,35,.25))}
.ft__rule--wide{max-width:none;margin:clamp(26px,3vw,48px) 0 clamp(18px,1.8vw,28px);background:linear-gradient(90deg,rgba(217,163,35,.7),rgba(217,163,35,.35))}
.ft__text{margin:0;max-width:330px;font-size:clamp(14px,1vw,17px);line-height:1.68;color:#D8D1C2}
.ft__text--app{max-width:360px;color:#E6E0D2;line-height:1.6}
.ft__socials{list-style:none;margin:clamp(20px,2vw,30px) 0 0;padding:0;display:flex;gap:clamp(12px,1.1vw,18px)}
.ft__soc{display:grid;place-items:center;width:48px;height:48px;box-sizing:border-box;border:1px solid rgba(217,163,35,.7);border-radius:7px;background:rgba(0,0,0,.4);transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.ft__soc img{width:26px;height:26px}
.ft__soc:hover,.ft__soc:focus-visible{border-color:#F0C86E;box-shadow:0 0 14px rgba(217,163,35,.35);outline:none}
.ft__col--app{container-type:inline-size}
.ft__stores{grid-row:auto;margin-top:clamp(18px,1.8vw,30px);justify-content:flex-start;align-self:auto;flex-wrap:nowrap;gap:16px;--bw:min(calc((100cqw - 16px) / 2),206px)}
.ft__lang{position:relative;display:inline-flex;align-items:center;gap:14px;padding:6px 8px;cursor:pointer}
.ft__lang img{width:32px;height:32px}
.ft__lang select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:#F4F0E7;font:500 clamp(15px,1vw,17px)/1 "Montserrat",sans-serif;letter-spacing:.06em;padding:6px 26px 6px 2px;cursor:pointer;border-radius:4px}
.ft__lang select option{background:#151817;color:#F4F0E7}
.ft__lang select:focus-visible{outline:2px solid #D9A323;outline-offset:3px}
.ft__chev{position:absolute;right:12px;top:50%;margin-top:-4px;pointer-events:none}
.ft__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ft a:focus-visible{outline:2px solid #D9A323;outline-offset:4px;border-radius:3px}
.ft__bar{position:relative;padding:0 var(--ft-pad) clamp(36px,4.6vw,72px);margin-top:calc(max(100%, 1200px) * -32 / 1200);background:linear-gradient(180deg,rgba(11,10,9,0) 0%,#0B0A09 30%,#0f0c08 70%,#1c140a 100%)}
.ft__copy{position:absolute;left:max(var(--ft-pad),calc(50% - 790px));top:max(calc(100vw * 32 / 1200),32px);transform:translateY(calc(-50% - 14px));margin:0;font-size:clamp(13px,.95vw,16px);color:#BDB6A8}
.ft__claim{margin:clamp(10px,1vw,16px) 0 0;text-align:center;font-family:"Rajdhani","Montserrat",sans-serif;font-weight:600;font-size:clamp(12px,.9vw,15px);letter-spacing:.38em;text-transform:uppercase;color:#E3AE35}
/* reveal + shimmer (IntersectionObserver adds .is-in once) */
@media (prefers-reduced-motion:no-preference){
.ft__land{opacity:0;transition:opacity 1.2s ease}
.ft__col{opacity:0;transform:translateY(12px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.ft.is-in .ft__land{opacity:1}
.ft.is-in .ft__col{opacity:1;transform:none}
.ft.is-in .ft__col:nth-child(2){transition-delay:.1s}.ft.is-in .ft__col:nth-child(3){transition-delay:.2s}.ft.is-in .ft__col:nth-child(4){transition-delay:.3s}
.ft.is-in .ft__sep::after{animation:ftSweep 8s ease-in-out 1s infinite}
.ft.is-in .ft__sep--bar::after{animation-delay:5s}}
@keyframes ftSweep{0%{opacity:0;background-position:130% 0}8%{opacity:1}34%{opacity:1;background-position:-30% 0}40%,100%{opacity:0;background-position:-30% 0}}
/* tablet: two balanced columns */
@media (max-width:1100px){
.ft__grid{grid-template-columns:1fr 1fr;row-gap:44px}
.ft__col:nth-child(3){border-left:0;padding-left:0}
.ft__col--app{padding-right:0}
.ft__col:nth-child(2),.ft__col:nth-child(4){padding-right:0}
.ft__col:nth-child(3),.ft__col:nth-child(4){padding-top:36px;border-top:1px solid rgba(217,163,35,.2)}
.ft__copy{position:static;transform:none;text-align:center;margin-top:10px}
.ft__claim{margin-top:10px}}
/* mobile: stacked brand → links → legal/support → app */
@media (max-width:640px){
.ft{--ft-pad:22px}
.ft__main{padding-top:34px;padding-bottom:70px}
.ft__grid{grid-template-columns:1fr;row-gap:0}
.ft__col,.ft__col:nth-child(3),.ft__col:nth-child(4){border-left:0;padding:30px 0;border-top:1px solid rgba(217,163,35,.2)}
.ft__col--brand{border-top:0;padding-top:0}
.ft__col:nth-child(2) .ft__list{grid-template-columns:1fr 1fr;column-gap:20px}
.ft__col:nth-child(3){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;align-items:start}.ft__col:nth-child(3) .ft__support{margin-top:0}
.ft__rocks{opacity:.6}
.ft__slogan{white-space:normal}}

/* informational pages (class added by global-footer.js): footer pinned to the end of the flow, at the bottom of the viewport when the content is short */
.ft-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.ft-page>.ft{margin-top:auto;flex:none}
