/* =========================================================
   WHITEFOX2K – FOOTER CSS
   Phase 4.1: Footer-Styles aus Elementor-Inline-CSS ausgelagert
   Scope: ausschließlich .wff-* Footer-Klassen
   ========================================================= */

.wff-footer,
  .wff-footer *{
    box-sizing:border-box;
  }

  .wff-footer{
    --wff-bg:#030712;
    --wff-bg2:#061127;
    --wff-panel:#07152a;
    --wff-panel2:#0a1a34;
    --wff-border:rgba(120,170,255,.13);
    --wff-border-strong:rgba(120,170,255,.24);
    --wff-text:#f4f8ff;
    --wff-muted:rgba(214,225,255,.72);
    --wff-soft:rgba(214,225,255,.56);
    --wff-blue:#2e9fff;
    --wff-cyan:#7de5ff;
    --wff-gold:#f7c95e;

    position:relative;
    width:100vw;
    left:50%;
    right:50%;
    margin-left:-50vw;
    margin-right:-50vw;
    margin-top:0;
    padding:34px 0 30px;
    color:var(--wff-text);
    background:
      radial-gradient(circle at 12% 10%, rgba(63,132,255,.14), transparent 24%),
      radial-gradient(circle at 84% 12%, rgba(118,221,255,.08), transparent 22%),
      radial-gradient(circle at 50% 100%, rgba(50,98,255,.12), transparent 28%),
      linear-gradient(180deg, #020611 0%, #03101d 40%, #030814 100%);
    overflow:hidden;
  }

  .wff-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px),
      linear-gradient(180deg, rgba(255,255,255,.012) 1px, transparent 1px);
    background-size:46px 46px;
    opacity:.16;
    pointer-events:none;
  }

  .wff-footer::after{
    content:"";
    position:absolute;
    inset:auto -10vw -210px -10vw;
    height:410px;
    background:radial-gradient(circle, rgba(44,114,255,.18), transparent 66%);
    filter:blur(54px);
    opacity:.65;
    pointer-events:none;
  }

  .wff-wrap{
    position:relative;
    z-index:2;
    width:calc(100vw - 22px);
    margin:0 auto;
    max-width:none;
  }

  .wff-shell{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:0;
    background:linear-gradient(180deg, rgba(10,25,50,.92), rgba(5,14,29,.95));
    box-shadow:0 15px 32px rgba(0,0,0,.22);
  }

  .wff-shell::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:2px;
    background:linear-gradient(180deg, var(--wff-cyan), var(--wff-blue));
    pointer-events:none;
  }

  .wff-inner{
    position:relative;
    z-index:1;
    padding:26px 26px 22px;
  }

  .wff-top{
    display:grid;
    grid-template-columns:minmax(320px, 1.12fr) minmax(420px, .88fr);
    gap:26px;
    align-items:start;
    padding-bottom:22px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .wff-brand{
    margin-bottom:16px;
  }

  .wff-brand-link{
    display:inline-flex;
    text-decoration:none;
  }

  .wff-brand-logo{
    width:92px;
    height:92px;
    display:block;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.02);
  }

  .wff-motto-kicker{
    margin:0 0 10px;
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(220,232,255,.64);
    font-weight:900;
  }

  .wff-motto{
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(28px, 2.5vw, 42px);
    line-height:1.02;
    letter-spacing:-.03em;
  }

  .wff-motto .ice{
    color:var(--wff-cyan);
  }

  .wff-motto-sub{
    margin:0;
    max-width:620px;
    color:var(--wff-muted);
    font-size:15px;
    line-height:1.72;
    min-height:10px;
  }

  .wff-cta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
  }

  .wff-btn{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:12px 18px;
    border-radius:0 !important;
    border:1px solid rgba(113,222,255,.20) !important;
    background:linear-gradient(135deg, rgba(75,163,255,.15), rgba(7,16,34,.94)) !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    box-shadow:none !important;
    cursor:pointer;
    transition:.18s ease;
  }

  .wff-btn:hover{
    transform:translateY(-1px);
    border-color:rgba(113,222,255,.40) !important;
    background:linear-gradient(135deg, rgba(75,163,255,.26), rgba(7,16,34,.98)) !important;
  }

  .wff-btn.is-gold{
    border-color:rgba(247,201,94,.24) !important;
    background:linear-gradient(135deg, rgba(247,201,94,.14), rgba(28,18,6,.82)) !important;
  }

  .wff-btn.is-primary{
    border-color:rgba(113,222,255,.28) !important;
  }

  .wff-right{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:16px;
    align-items:start;
  }

  .wff-group{
    min-height:100%;
    padding:16px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
  }

  .wff-label{
    margin:0 0 12px;
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(220,232,255,.64);
    font-weight:900;
  }

  .wff-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:10px;
  }

  .wff-item{
    color:var(--wff-muted);
    font-size:14px;
    line-height:1.55;
  }

  .wff-item .ico{
    display:inline-block;
    width:18px;
    margin-right:2px;
  }

  .wff-item a{
    color:#eef5ff;
    text-decoration:none;
    transition:.18s ease;
  }

  .wff-item a:hover{
    color:var(--wff-cyan);
  }

  .wff-payments{
    padding:20px 0 0;
  }

  .wff-payments-title{
    margin:0 0 14px;
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(220,232,255,.64);
    font-weight:900;
  }

  .wff-payments-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
  }

  .wff-payments-row img{
    height:42px;
    width:auto;
    display:block;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    object-fit:contain;
  }

  .wff-bottom{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .wff-mini{
    color:var(--wff-soft);
    font-size:13px;
    line-height:1.5;
  }

  .wff-mini strong{
    color:#fff;
    font-weight:800;
  }

  .wff-mini-links{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    align-items:center;
  }

  .wff-mini-links a{
    color:var(--wff-muted);
    font-size:13px;
    text-decoration:none;
    transition:.18s ease;
  }

  .wff-mini-links a:hover{
    color:var(--wff-cyan);
  }

  .wff-disclaimer{
    margin-top:18px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
    font-size:12px;
    color:var(--wff-soft);
    text-align:center;
    max-width:1080px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.65;
  }

  .wff-trustcheck{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.02);
    font-size:12px;
    color:var(--wff-soft);
    text-align:center;
    line-height:1.6;
  }

  .wff-trustcheck a{
    color:#7dd3fc;
    text-decoration:none;
  }

  .wff-trustcheck a:hover{
    text-decoration:underline;
  }

  .wff-trustpilot{
    margin-top:16px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.02);
    text-align:center;
  }

  @media (max-width:1180px){
    .wff-top{
      grid-template-columns:1fr;
    }

    .wff-right{
      grid-template-columns:repeat(3, minmax(0,1fr));
    }
  }

  @media (max-width:860px){
    .wff-wrap{
      width:calc(100vw - 12px);
    }

    .wff-inner{
      padding:18px 16px 18px;
    }

    .wff-right{
      grid-template-columns:1fr;
    }

    .wff-bottom{
      flex-direction:column;
      align-items:flex-start;
    }

    .wff-mini-links{
      gap:12px;
    }

    .wff-brand-logo{
      width:78px;
      height:78px;
    }
  }
