/* Site footer - design "C · Columns" (Claude, 2026-10-13). Everything is scoped to #footer .gf so the old
   .site-footer / .footer-* rules in themes/l2glory/css/style.css don't touch it. */
#footer .gf{--gold:#d7a84b;--gold-hi:#f1cf86;--line:#d7a84b2e;--text:#b9b3a6;--head:#f3e6c6;
  position:relative;overflow:hidden;border-top:1px solid var(--line);border-radius:20px 20px 0 0;color:var(--text);font-family:Rajdhani,system-ui,sans-serif;
  background:radial-gradient(ellipse at 4% 5%,#76201338,transparent 58%),radial-gradient(ellipse at 95% 100%,#32404b24,transparent 55%),linear-gradient(140deg,#201815c7,#0b0c0ed9 60%,#191310d4)}
#footer .gf::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.55}
#footer .gf-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:40px 24px 0}
/* The mobile card's small flame treatment, softened for the footer. */
#footer .gf-seal-fire{position:absolute;inset:12px 4% 15px;width:auto;height:auto;pointer-events:none;opacity:.8}
#footer .gf-seal-halo{position:absolute;inset:7px 8px 0;border-radius:50%;background:radial-gradient(ellipse,transparent 51%,#d8a13c0e 59%,#c67c251a 66%,transparent 74%);animation:gf-seal-warmth 8s ease-in-out infinite}
#footer .gf-seal-flame{position:absolute;left:var(--fx);top:var(--fy);width:26px;height:58px;transform-origin:50% 100%;border-radius:65% 20% 55% 40%;background:radial-gradient(ellipse at 50% 90%,#f4d17ccc 0%,#db9d3980 30%,#ab641e35 59%,transparent 76%);filter:blur(2px);opacity:0;animation:gf-seal-rise var(--ft) ease-in-out var(--fd) infinite;mix-blend-mode:screen}
@keyframes gf-seal-rise{0%{transform:translateY(10px) rotate(var(--fr)) scale(.65,.6);opacity:0}25%{opacity:.5}55%{transform:translateY(-15px) rotate(calc(var(--fr) + 9deg)) scale(.9,1.15);opacity:.6}100%{transform:translateY(-34px) rotate(calc(var(--fr) - 5deg)) scale(.45,1.4);opacity:0}}
@keyframes gf-seal-warmth{0%,100%{opacity:.35;transform:scale(.97)}50%{opacity:.7;transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){#footer .gf-seal-flame,#footer .gf-seal-halo{animation:none}#footer .gf-seal-halo{opacity:.4}}
#footer .gf-cols{display:grid;grid-template-columns:1.2fr .8fr 1.8fr;gap:40px;align-items:start}

#footer .gf-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
#footer .gf-lock{display:flex;align-items:center;gap:14px}
#footer .gf-lock img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 0 10px #d7a84b55)}
#footer .gf-lock small{display:block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:700}
#footer .gf-lock h2{margin:2px 0 0;font:700 30px/1.15 Cinzel,serif;color:var(--head);letter-spacing:.06em;text-transform:uppercase}
#footer .gf-tag{margin:0;font-style:italic;font-size:15px;opacity:.85}
#footer .gf-social{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
#footer .gf-social a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--head);font-size:18px;text-decoration:none;
  border:1px solid #d7a84b55;background:radial-gradient(circle at 50% 35%,#29303a,#111519);box-shadow:inset 0 1px #ffffff12,0 4px 14px #0007;transition:.2s}
#footer .gf-social a:hover{transform:translateY(-2px);border-color:var(--gold);color:#fff;box-shadow:0 0 18px #d7a84b55}
#footer .gf-social a svg{width:18px;height:18px;fill:currentColor}
#footer .gf-cta{display:inline-flex;gap:8px;align-items:center;color:var(--gold);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
#footer .gf-cta:hover{color:var(--gold-hi)}

#footer .gf-col h4{display:flex;align-items:center;gap:8px;margin:6px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line);font:700 14px Cinzel,serif;letter-spacing:.2em;color:var(--head);text-transform:uppercase}
#footer .gf-col h4 i{color:var(--gold);font-size:10px}
#footer .gf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#footer .gf-col li a{color:var(--text);text-decoration:none;font-size:15px}
#footer .gf-col li a::before{content:"•";color:var(--gold);margin-right:8px}
#footer .gf-col li a:hover{color:var(--gold-hi)}

/* partners: small and quiet */
#footer .gf-pt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
#footer .gf-pt{position:relative;display:grid;place-items:center;grid-auto-flow:column;gap:8px;height:40px;padding:6px 10px;border-radius:8px;text-decoration:none;
  border:1px solid #ffffff12;background:linear-gradient(160deg,#17171a,#0d0d0f);box-shadow:inset 0 1px #ffffff0a;transition:border-color .25s,box-shadow .25s,background .25s;will-change:transform}
#footer .gf-pt img{max-width:100%;max-height:22px;object-fit:contain;filter:grayscale(.35) brightness(.95) contrast(1.05);opacity:.88;transition:.25s}
#footer .gf-pt:hover{border-color:#d7a84b88;box-shadow:0 8px 20px #000a,0 0 0 1px #d7a84b33,0 0 18px #d7a84b22}
#footer .gf-pt:hover img{filter:none;opacity:1}
#footer .gf-pt[data-fix~="light"] img{filter:invert(1) hue-rotate(180deg) grayscale(.4) brightness(1.1)}
#footer .gf-pt[data-fix~="light"]:hover img{filter:invert(1) hue-rotate(180deg) brightness(1.15)}
#footer .gf-pt[data-fix~="named"] img{max-height:20px}
#footer .gf-pt[data-fix~="named"]::after{content:attr(data-name);font:700 12px Rajdhani,sans-serif;letter-spacing:.08em;color:#d8d2c4;text-transform:uppercase}
#footer .gf-pt[data-fix~="named"]:hover::after{color:#fff}

#footer .gf-pt-text{font:700 13px Cinzel,serif;color:var(--head);letter-spacing:.05em}

#footer .gf-bottom{margin-top:36px;border-top:1px solid #ffffff10;padding:16px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px}
#footer .gf-legal{display:flex;gap:18px;flex-wrap:wrap}
#footer .gf-legal a{color:var(--text);text-decoration:none;opacity:.8}
#footer .gf-legal a:hover{color:var(--gold);opacity:1}
#footer .gf-brand .gf-clock{margin-top:8px}
#footer .gf-clock{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid #d7a84b44;background:#d7a84b0d;color:var(--head);font-weight:600;letter-spacing:.06em}
#footer .gf-clock i{color:var(--gold)}
#footer .gf-clock b{font-variant-numeric:tabular-nums;font-size:15px;color:#fff}

@media (max-width:980px){
  #footer .gf-cols{grid-template-columns:1fr 1fr}
  #footer .gf-partners{grid-column:1/-1}
  /* partners: two per row (even rows, as before); three per row only when the count divides by 3, so no tile is left alone */
  #footer .gf-pt-grid:has(> :nth-child(3n):last-child){grid-template-columns:repeat(3,1fr)}
}
@media (max-width:600px){
  #footer .gf-wrap{padding:30px 16px 0}
  #footer .gf-cols{grid-template-columns:1fr;gap:28px}
  #footer .gf-lock h2{font-size:22px}
  #footer .gf-pt-grid{grid-template-columns:repeat(2,1fr)}
  #footer .gf-bottom{justify-content:center;text-align:center}
}

/* click feedback on partner tiles: press-in + gold flash sweeping across (Maximos, 2026-10-13) */
#footer .gf-pt{overflow:hidden;-webkit-tap-highlight-color:transparent}
#footer .gf-pt:active{transform:scale(.95);border-color:var(--gold);box-shadow:0 0 0 1px #d7a84b66,0 0 22px #d7a84b55;transition-duration:.06s}
#footer .gf-pt:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
#footer .gf-pt::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(circle at var(--gx-x,50%) var(--gx-y,50%),#ffe2a0aa 0,#d7a84b55 18%,transparent 55%)}
#footer .gf-pt.gx-clicked::before{animation:gf-pt-flash .55s ease-out}
#footer .gf-pt.gx-clicked img{animation:gf-pt-pop .45s ease-out}
@keyframes gf-pt-flash{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(1.6)}}
@keyframes gf-pt-pop{0%{transform:scale(1)}40%{transform:scale(1.12);filter:none;opacity:1}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#footer .gf-pt.gx-clicked::before,#footer .gf-pt.gx-clicked img{animation:none}}

/* same click feedback on every footer button / link (Maximos, 2026-10-13) */
#footer .gf-social a,#footer .gf-cta,#footer .gf-col li a,#footer .gf-legal a{position:relative;-webkit-tap-highlight-color:transparent}
#footer .gf-social a{overflow:hidden}
#footer .gf-social a:active{transform:scale(.9);border-color:var(--gold);box-shadow:0 0 0 1px #d7a84b66,0 0 22px #d7a84b66;transition-duration:.06s}
#footer .gf-cta:active,#footer .gf-col li a:active,#footer .gf-legal a:active{transform:scale(.95);color:#fff;text-shadow:0 0 12px #f1cf86}
#footer .gf-col li a,#footer .gf-legal a,#footer .gf-cta{display:inline-block;transition:color .2s,transform .12s,text-shadow .2s}
#footer .gf-social a::before,#footer .gf-cta::before,#footer .gf-col li a::after,#footer .gf-legal a::before{content:"";position:absolute;pointer-events:none;opacity:0;border-radius:inherit;
  background:radial-gradient(circle at var(--gx-x,50%) var(--gx-y,50%),#ffe2a0aa 0,#d7a84b55 20%,transparent 60%)}
#footer .gf-social a::before{inset:0}
#footer .gf-cta::before,#footer .gf-col li a::after,#footer .gf-legal a::before{inset:-6px -10px;border-radius:10px}
#footer .gx-clicked::before,#footer .gf-col li a.gx-clicked::after{animation:gf-pt-flash .55s ease-out}
#footer .gf-social a.gx-clicked i,#footer .gf-social a.gx-clicked svg{animation:gf-pt-pop .45s ease-out}
#footer :focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
@media(prefers-reduced-motion:reduce){#footer .gx-clicked::before,#footer .gx-clicked::after,#footer .gx-clicked i{animation:none!important}}

/* bronze clock: the ring from the owner's image + live hands and a turning gear (Maximos, 2026-10-13) */
#footer .gf-brand .gf-clock{padding:6px 16px 6px 6px;gap:10px}
#footer .gf-dial{position:relative;flex:0 0 46px;width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle,#3a2a14 0,#1d150b 55%,#120d07 70%);box-shadow:0 0 12px #d7a84b33,inset 0 0 8px #000}
#footer .gf-dial img{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 1px 1px #000)}
#footer .gf-gear{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;opacity:.55;
  background:repeating-conic-gradient(#b58a46 0 12deg,transparent 12deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 0 4px,#000 4.5px 8px,transparent 8.5px 9px,#000 9.5px);mask:radial-gradient(circle,transparent 0 4px,#000 4.5px 8px,transparent 8.5px 9px,#000 9.5px);
  animation:gf-gear-turn 12s linear infinite}
@keyframes gf-gear-turn{to{transform:rotate(360deg)}}
#footer .gf-hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:2px;background:linear-gradient(#f3d48d,#a77a35);box-shadow:0 0 2px #000}
#footer .gf-h{width:3px;height:9px;margin-left:-1.5px;transform:rotate(var(--gx-h,0deg))}
#footer .gf-m{width:2px;height:13px;margin-left:-1px;transform:rotate(var(--gx-m,0deg))}
#footer .gf-s{width:1px;height:15px;margin-left:-.5px;background:#e8604c;transform:rotate(var(--gx-s,0deg));transition:transform .25s cubic-bezier(.4,2.2,.6,1)}
#footer .gf-pin{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe6a8,#8a6328)}
@media(prefers-reduced-motion:reduce){#footer .gf-gear{animation:none}#footer .gf-s{transition:none}}

/* Neutral controls balance the burgundy / charcoal card palette. */
#footer .gf-social a{border-color:#8294a13d;color:#d3d9df}
#footer .gf-clock{background:#19212a66;border-color:#8294a12e}
#footer .gf-pt{background:linear-gradient(160deg,#1c2024a6,#0d1013b8);border-color:#8294a126}
#footer .gf-lock small,#footer .gf-cta{color:#c7b391}
#footer .gf-col li a::before{color:#a68d7c}

/* trust strip: secure payments / PEGI / app badges + company line (Claude, 2026-10-13) */
#footer .gf-trust{margin-top:34px;padding:16px 0;border-top:1px solid #ffffff10;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
#footer .gf-pay{display:flex;flex-direction:column;gap:6px}
#footer .gf-trust-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a99a7c;font-weight:700}
#footer .gf-trust-label i{color:#7fd39a;margin-right:4px}
#footer .gf-pay-icons{display:flex;gap:12px;font-size:30px;color:#8d867a}
#footer .gf-pay-icons i{transition:color .2s,transform .2s}
#footer .gf-pay-icons i:hover{color:#f3e6c6;transform:translateY(-2px)}
#footer .gf-pegi{display:flex;align-items:center;gap:12px;max-width:520px;margin:0 auto}
#footer .gf-pegi p{margin:0;font-size:12.5px;line-height:1.45;color:#9a9283}
#footer .gf-pegi-badge{flex:0 0 46px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;
  background:linear-gradient(180deg,#f7a521,#e88b00);color:#1a1205;box-shadow:inset 0 0 0 2px #fff6,0 4px 12px #0007}
#footer .gf-pegi-badge b{font:800 24px/1 Rajdhani,sans-serif}
#footer .gf-pegi-badge small{font:800 9px/1 Rajdhani,sans-serif;letter-spacing:.12em;margin-top:2px}
#footer .gf-apps{display:flex;gap:8px}
#footer .gf-app{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:9px;border:1px solid #ffffff26;background:#000;color:#f1ece2;
  font:700 14px/1.05 Rajdhani,sans-serif;opacity:.85;cursor:default}
#footer .gf-app i{font-size:20px}
#footer .gf-app small{display:block;font-size:9px;font-weight:600;letter-spacing:.06em;color:#a8a090;text-transform:uppercase}
/* coloured store badges; live ones are links that follow the Mobile App card */
#footer .gf-app{opacity:1;background:linear-gradient(180deg,#151515,#000);border-color:#ffffff33;box-shadow:0 4px 14px #0006}
#footer .gf-app-play i{background:conic-gradient(from 210deg,#00d7fe 0 25%,#00f076 0 50%,#ffce00 0 75%,#ff3a44 0);-webkit-background-clip:text;background-clip:text;color:transparent}
#footer .gf-app-apple i{color:#fff}
#footer .gf-app-play{border-color:#34a85355}
#footer .gf-app-apple{border-color:#ffffff40}
#footer a.gf-app.is-live{cursor:pointer;text-decoration:none;color:#fff;transition:transform .18s,box-shadow .18s,border-color .18s}
#footer a.gf-app.is-live:hover{transform:translateY(-2px);border-color:#e8c27a;box-shadow:0 6px 18px #000a,0 0 0 1px #e8c27a55}
#footer a.gf-app.is-live small{color:#d9cfb8}
#footer span.gf-app small{color:#e8c27a}
#footer .gf-copy small{display:block;margin-top:3px;font-size:11.5px;color:#7f786c;letter-spacing:.02em}
@media(max-width:980px){#footer .gf-trust{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px}#footer .gf-pay{align-items:center}#footer .gf-pegi{text-align:left}}
/* phones: room under the legal links so the round back-to-top button (bottom-right, 42px) never covers them (Maximos, 2026-10-14) */
@media (max-width:600px){#footer .gf-legal{justify-content:center;padding-bottom:58px}}

/* compact desktop footer (Maximos, 2026-10-18: "the footer is too tall"): same parts, less height.
   Explore links in two columns, partners three per row, the call to action and the server clock side by side,
   tighter gaps. Phones/tablets (<=980px) keep their approved layout untouched. */
@media (min-width:981px){
  #footer .gf-wrap{padding-top:26px}
  #footer .gf-cols{grid-template-columns:1.35fr 1fr 1.6fr;gap:30px}
  #footer .gf-brand{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:18px;row-gap:9px}
  #footer .gf-brand>.gf-lock,#footer .gf-brand>.gf-tag,#footer .gf-brand>.gf-social{grid-column:1/-1}
  #footer .gf-lock img{width:50px;height:50px}
  #footer .gf-lock h2{font-size:25px;white-space:nowrap}
  #footer .gf-tag{font-size:13px}
  #footer .gf-cta,#footer .gf-clock{white-space:nowrap}
  #footer .gf-clock{justify-self:start;order:1}
  #footer .gf-cta{order:2}   /* server time first, then the call to action (Maximos, 2026-10-18) */
  #footer .gf-social a{width:40px;height:40px;font-size:16px}
  #footer .gf-col h4{margin:4px 0 10px;padding-bottom:8px}
  #footer .gf-col ul{grid-template-columns:repeat(2,minmax(0,max-content));column-gap:26px;row-gap:7px}
  #footer .gf-col li a{font-size:14px;white-space:nowrap}
  /* partners: two per row (even rows, as before); three per row only when the count divides by 3, so no tile is left alone */
  #footer .gf-pt-grid:has(> :nth-child(3n):last-child){grid-template-columns:repeat(3,1fr)}
  #footer .gf-pt{height:34px;padding:5px 8px}
  #footer .gf-trust{margin-top:20px;padding-top:11px;padding-bottom:11px}
  #footer .gf-bottom{margin-top:14px;padding-top:12px;padding-bottom:14px}
}
@media (min-width:981px) and (max-width:1199px){
  #footer .gf-cols{grid-template-columns:1.25fr 1.15fr 1.45fr;gap:22px}
  #footer .gf-col ul{column-gap:16px}
  #footer .gf-col li a{font-size:13px}
}
/* less see-through (Maximos, 2026-10-18): the page art behind the footer showed through too much (base was ~80% opaque) */
#footer .gf{background:radial-gradient(ellipse at 4% 5%,#76201338,transparent 58%),radial-gradient(ellipse at 95% 100%,#32404b24,transparent 55%),linear-gradient(140deg,#1d1613f0,#0b0c0ef5 60%,#171210f2)}