
/* SOURCE: ffrewards-premium-design-system.php */
/* =========================================================
       FF REWARDS HUB — PREMIUM GLOBAL DESIGN SYSTEM v1
       ========================================================= */

    :root{
        --ffr-navy:#071126;
        --ffr-navy-2:#0d1833;
        --ffr-blue:#2563eb;
        --ffr-blue-2:#3b82f6;
        --ffr-purple:#7c3aed;
        --ffr-orange:#ff6b16;
        --ffr-text:#111a30;
        --ffr-muted:#667085;
        --ffr-border:#e6eaf2;
        --ffr-surface:#ffffff;
        --ffr-soft:#f4f7fc;
        --ffr-radius:18px;
        --ffr-shadow:0 12px 35px rgba(7,17,38,.08);
        --ffr-shadow-hover:0 18px 45px rgba(7,17,38,.14);
    }

    html{
        scroll-behavior:smooth;
    }

    body{
        background:
            radial-gradient(circle at 15% 8%, rgba(59,130,246,.08), transparent 28%),
            radial-gradient(circle at 88% 18%, rgba(124,58,237,.06), transparent 25%),
            var(--ffr-soft);
        color:var(--ffr-text);
    }

    /* =========================================================
       HEADER / NAVBAR
       ========================================================= */

    .site-header{
        background:rgba(255,255,255,.94);
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
        border-bottom:1px solid rgba(230,234,242,.9);
        box-shadow:0 8px 28px rgba(7,17,38,.05);
        position:relative;
        z-index:100;
    }

    .inside-header{
        min-height:82px;
    }

    .site-logo a,
    .site-branding a{
        font-weight:900;
        letter-spacing:-.04em;
        color:var(--ffr-navy)!important;
    }

    .main-navigation{
        background:transparent!important;
    }

    .main-navigation .main-nav ul li a{
        margin:8px 3px;
        padding:12px 16px;
        border-radius:12px;
        font-size:15px;
        font-weight:650;
        transition:
            background .2s ease,
            color .2s ease,
            transform .2s ease;
    }

    .main-navigation .main-nav ul li a:hover{
        background:#eef4ff;
        color:var(--ffr-blue)!important;
        transform:translateY(-1px);
    }

    .main-navigation .main-nav ul li.current-menu-item > a,
    .main-navigation .main-nav ul li.current-menu-ancestor > a,
    .main-navigation .main-nav ul li.current-menu-parent > a{
        background:linear-gradient(135deg,var(--ffr-blue),var(--ffr-purple));
        color:#fff!important;
        box-shadow:0 8px 22px rgba(37,99,235,.22);
    }

    .main-navigation .main-nav ul ul{
        background:rgba(255,255,255,.98);
        border:1px solid var(--ffr-border);
        border-radius:15px;
        box-shadow:0 18px 45px rgba(7,17,38,.14);
        padding:8px;
    }

    .main-navigation .main-nav ul ul li a{
        margin:2px;
        border-radius:10px;
        padding:11px 13px;
    }

    /* =========================================================
       GLOBAL LINKS / BUTTONS
       ========================================================= */

    a{
        transition:color .2s ease, opacity .2s ease;
    }

    .button,
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"]{
        border-radius:11px;
        font-weight:700;
        transition:
            transform .2s ease,
            box-shadow .2s ease,
            opacity .2s ease;
    }

    .button:hover,
    button:hover,
    input[type="button"]:hover,
    input[type="submit"]:hover{
        transform:translateY(-2px);
        box-shadow:0 10px 25px rgba(7,17,38,.12);
    }

    /* =========================================================
       CONTENT AREA
       ========================================================= */

    .site-content{
        padding-top:34px;
        padding-bottom:42px;
    }

    .content-area article,
    .content-area > .page,
    .content-area > .post{
        background:var(--ffr-surface);
        border:1px solid var(--ffr-border);
        border-radius:var(--ffr-radius);
        box-shadow:var(--ffr-shadow);
        padding:34px;
        overflow:hidden;
    }

    .content-area article + article{
        margin-top:22px;
    }

    .entry-title,
    .page-title{
        color:var(--ffr-navy);
        font-weight:850;
        letter-spacing:-.035em;
    }

    .entry-header .entry-title{
        font-size:clamp(30px,4vw,48px);
        line-height:1.08;
    }

    .entry-content h2,
    .entry-content h3{
        color:var(--ffr-navy);
        letter-spacing:-.025em;
    }

    .entry-content p,
    .entry-content li{
        color:#27344d;
        line-height:1.8;
    }

    /* =========================================================
       CATEGORY / ARCHIVE
       ========================================================= */

    .page-header,
    .archive-description{
        background:
            radial-gradient(circle at 90% 15%, rgba(59,130,246,.14), transparent 28%),
            linear-gradient(135deg,#ffffff,#f5f8ff);
        border:1px solid var(--ffr-border);
        border-radius:22px;
        box-shadow:var(--ffr-shadow);
        padding:34px;
        margin-bottom:24px;
    }

    .page-header h1,
    .archive-title{
        color:var(--ffr-navy);
        font-weight:850;
        letter-spacing:-.04em;
        margin-bottom:10px;
    }

    .archive-description{
        color:var(--ffr-muted);
    }

    /* =========================================================
       POST CARDS / ARCHIVE IMAGES
       ========================================================= */

    .blog .inside-article,
    .archive .inside-article,
    .search .inside-article{
        background:#fff;
        border:1px solid var(--ffr-border);
        border-radius:18px;
        overflow:hidden;
        box-shadow:var(--ffr-shadow);
        transition:transform .22s ease, box-shadow .22s ease;
    }

    .blog .inside-article:hover,
    .archive .inside-article:hover,
    .search .inside-article:hover{
        transform:translateY(-4px);
        box-shadow:var(--ffr-shadow-hover);
    }

    .post-image,
    .featured-image{
        overflow:hidden;
    }

    .featured-image img,
    .post-image img{
        transition:transform .45s ease;
    }

    .inside-article:hover .featured-image img,
    .inside-article:hover .post-image img{
        transform:scale(1.035);
    }

    /* =========================================================
       SIDEBAR
       ========================================================= */

    .widget-area .widget{
        background:rgba(255,255,255,.96);
        border:1px solid var(--ffr-border);
        border-radius:18px;
        box-shadow:var(--ffr-shadow);
        padding:22px;
        margin-bottom:22px;
    }

    .widget-title{
        color:var(--ffr-navy);
        font-size:20px;
        font-weight:800;
        letter-spacing:-.025em;
    }

    .widget-area ul li{
        border-bottom:1px solid #edf0f5;
        padding:10px 0;
    }

    .widget-area ul li:last-child{
        border-bottom:0;
    }

    .widget-area a{
        font-weight:600;
    }

    /* =========================================================
       TOOL PAGES
       ========================================================= */

    .ffr-name-generator,
    .ffr-sensitivity-generator,
    .ffr-dpi-helper,
    .ffr-lag-fix-tool,
    .ffr-fps-tool{
        position:relative;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.08)!important;
        box-shadow:0 22px 55px rgba(7,17,38,.15)!important;
    }

    .ffr-name-generator::before,
    .ffr-sensitivity-generator::before,
    .ffr-dpi-helper::before,
    .ffr-lag-fix-tool::before,
    .ffr-fps-tool::before{
        content:"";
        position:absolute;
        top:-130px;
        right:-110px;
        width:280px;
        height:280px;
        border-radius:50%;
        background:radial-gradient(circle,rgba(59,130,246,.18),transparent 70%);
        pointer-events:none;
    }

    /* =========================================================
       FOOTER
       ========================================================= */

    .site-footer{
        margin-top:30px;
        background:
            radial-gradient(circle at 12% 15%, rgba(59,130,246,.16), transparent 25%),
            radial-gradient(circle at 85% 25%, rgba(124,58,237,.15), transparent 22%),
            linear-gradient(135deg,var(--ffr-navy),#0b1530 55%,#111b3d);
        color:#dce5f7;
        border-top:1px solid rgba(255,255,255,.08);
    }

    .site-footer a{
        color:#dce5f7;
    }

    .site-footer a:hover{
        color:#fff;
    }

    .site-footer .widget,
    .site-footer .footer-widget{
        background:transparent;
        border:0;
        box-shadow:none;
    }

    .site-footer .widget-title{
        color:#fff;
        font-size:18px;
        font-weight:800;
    }

    .site-footer .inside-footer-widgets{
        padding-top:54px;
        padding-bottom:36px;
    }

    .site-info{
        background:rgba(0,0,0,.18);
        border-top:1px solid rgba(255,255,255,.08);
        color:#9fb0cf;
        padding:18px 20px;
    }

    /* =========================================================
       BACK-TO-TOP
       ========================================================= */

    .generate-back-to-top{
        border-radius:12px!important;
        box-shadow:0 10px 25px rgba(0,0,0,.18);
    }

    /* =========================================================
       MOBILE
       ========================================================= */

    @media (max-width:900px){

        .inside-header{
            min-height:68px;
        }

        .main-navigation .main-nav ul li a{
            margin:3px 0;
            border-radius:10px;
        }

        .content-area article,
        .content-area > .page,
        .content-area > .post{
            padding:22px;
            border-radius:16px;
        }

        .page-header,
        .archive-description{
            padding:24px;
            border-radius:18px;
        }
    }

    @media (max-width:600px){

        .site-content{
            padding-top:20px;
        }

        .entry-header .entry-title{
            font-size:32px;
        }

        .widget-area .widget{
            padding:18px;
            border-radius:15px;
        }

        .site-footer .inside-footer-widgets{
            padding-top:36px;
        }
    }


/* SOURCE: ffr-premium-ui-v2.php */
/* =========================================================
       FF REWARDS HUB — PREMIUM UI v2
       ========================================================= */

    :root{
        --ffr-bg:#f5f7fb;
        --ffr-white:#ffffff;
        --ffr-navy:#08142d;
        --ffr-navy2:#101d3b;
        --ffr-blue:#2864ff;
        --ffr-blue-soft:#eaf0ff;
        --ffr-purple:#7c3aed;
        --ffr-orange:#ff6a18;
        --ffr-text:#14213d;
        --ffr-muted:#68758d;
        --ffr-line:#e6ebf3;
        --ffr-radius:20px;
        --ffr-shadow:0 14px 40px rgba(8,20,45,.08);
        --ffr-shadow2:0 22px 55px rgba(8,20,45,.13);
    }

    body{
        background:
            radial-gradient(circle at 0% 0%, rgba(40,100,255,.07), transparent 24%),
            radial-gradient(circle at 100% 10%, rgba(124,58,237,.06), transparent 22%),
            var(--ffr-bg);
    }

    /* =========================================================
       HEADER
       ========================================================= */

    .site-header{
        background:rgba(255,255,255,.96)!important;
        border-bottom:1px solid var(--ffr-line)!important;
        box-shadow:0 8px 30px rgba(8,20,45,.06)!important;
    }

    .inside-header{
        min-height:86px!important;
    }

    .site-branding,
    .site-logo{
        padding-left:4px;
    }

    .site-logo a,
    .site-branding a{
        color:var(--ffr-navy)!important;
        font-size:24px!important;
        font-weight:900!important;
        letter-spacing:-.055em!important;
    }

    .main-navigation .main-nav ul{
        align-items:center;
    }

    .main-navigation .main-nav ul li{
        margin-left:3px;
        margin-right:3px;
    }

    .main-navigation .main-nav ul li a{
        position:relative;
        padding:13px 15px!important;
        border-radius:13px;
        color:var(--ffr-text)!important;
        font-weight:650!important;
        font-size:15px!important;
    }

    .main-navigation .main-nav ul li a:hover{
        background:var(--ffr-blue-soft)!important;
        color:var(--ffr-blue)!important;
    }

    .main-navigation .main-nav ul li.current-menu-item > a,
    .main-navigation .main-nav ul li.current-menu-ancestor > a,
    .main-navigation .main-nav ul li.current-menu-parent > a{
        color:#fff!important;
        background:linear-gradient(135deg,#2864ff,#6d48f5)!important;
        box-shadow:0 9px 24px rgba(40,100,255,.25);
    }

    .main-navigation .main-nav ul ul{
        min-width:270px;
        padding:8px!important;
        background:#fff!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:16px!important;
        box-shadow:var(--ffr-shadow2)!important;
    }

    .main-navigation .main-nav ul ul li a{
        padding:12px 14px!important;
        margin:2px!important;
    }

    /* =========================================================
       PAGE BACKGROUND / CONTAINER
       ========================================================= */

    .site-content{
        padding-top:30px!important;
        padding-bottom:48px!important;
    }

    .content-area{
        min-width:0;
    }

    /* =========================================================
       SINGLE PAGES / POSTS
       ========================================================= */

    .content-area article,
    .content-area > .page,
    .content-area > .post{
        background:#fff!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:22px!important;
        box-shadow:var(--ffr-shadow)!important;
    }

    .entry-title,
    .page-title,
    .archive-title{
        color:var(--ffr-navy)!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    .entry-meta{
        color:#7a879c!important;
    }

    .entry-content h2{
        margin-top:35px;
        margin-bottom:14px;
        font-weight:800;
    }

    .entry-content h3{
        margin-top:28px;
        font-weight:800;
    }

    .entry-content p,
    .entry-content li{
        color:#29374f;
        line-height:1.82;
    }

    /* =========================================================
       ARCHIVE HERO
       ========================================================= */

    .page-header,
    .archive-description{
        position:relative;
        overflow:hidden;
        background:
            radial-gradient(circle at 90% 15%, rgba(40,100,255,.15), transparent 23%),
            radial-gradient(circle at 75% 100%, rgba(124,58,237,.08), transparent 24%),
            linear-gradient(135deg,#ffffff,#f5f8ff)!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:24px!important;
        box-shadow:var(--ffr-shadow)!important;
        padding:38px!important;
    }

    .page-header::after,
    .archive-description::after{
        content:"";
        position:absolute;
        width:170px;
        height:170px;
        right:-50px;
        top:-55px;
        border-radius:50%;
        border:1px solid rgba(40,100,255,.12);
        box-shadow:
            0 0 0 28px rgba(40,100,255,.025),
            0 0 0 56px rgba(40,100,255,.018);
        pointer-events:none;
    }

    /* =========================================================
       ARCHIVE ARTICLE CARDS
       ========================================================= */

    .blog .inside-article,
    .archive .inside-article,
    .search .inside-article{
        position:relative;
        overflow:hidden;
        background:#fff!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:20px!important;
        box-shadow:var(--ffr-shadow)!important;
        transition:transform .25s ease, box-shadow .25s ease;
    }

    .blog .inside-article:hover,
    .archive .inside-article:hover,
    .search .inside-article:hover{
        transform:translateY(-5px);
        box-shadow:var(--ffr-shadow2)!important;
    }

    .featured-image,
    .post-image{
        position:relative;
        overflow:hidden;
    }

    .featured-image img,
    .post-image img{
        display:block;
        width:100%;
        transition:transform .45s ease;
    }

    .inside-article:hover .featured-image img,
    .inside-article:hover .post-image img{
        transform:scale(1.045);
    }

    /* =========================================================
       SIDEBAR
       ========================================================= */

    .widget-area .widget{
        background:#fff!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:18px!important;
        box-shadow:var(--ffr-shadow)!important;
        padding:23px!important;
    }

    .widget-title{
        color:var(--ffr-navy)!important;
        font-size:19px!important;
        font-weight:850!important;
    }

    .widget-area .search-form{
        display:flex;
        gap:8px;
    }

    .widget-area .search-form label{
        flex:1;
    }

    .widget-area .search-field{
        border-radius:11px!important;
        border:1px solid var(--ffr-line)!important;
    }

    .widget-area .search-submit{
        border-radius:11px!important;
        background:var(--ffr-navy)!important;
        color:#fff!important;
    }

    .widget-area ul li{
        padding:11px 0!important;
        border-bottom:1px solid #edf0f5!important;
    }

    .widget-area a{
        color:var(--ffr-text)!important;
        font-weight:600;
    }

    .widget-area a:hover{
        color:var(--ffr-blue)!important;
    }

    /* =========================================================
       TOOLS
       ========================================================= */

    .ffr-name-generator,
    .ffr-sensitivity-generator,
    .ffr-dpi-helper,
    .ffr-lag-fix-tool,
    .ffr-fps-tool{
        background:
            radial-gradient(circle at 100% 0%,rgba(40,100,255,.10),transparent 28%),
            linear-gradient(180deg,#fff,#fbfcff)!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:22px!important;
        box-shadow:var(--ffr-shadow2)!important;
    }

    .ffr-name-generator h2,
    .ffr-sensitivity-heading h2,
    .ffr-dpi-heading h2,
    .ffr-lag-heading h2,
    .ffr-fps-heading h2{
        color:var(--ffr-navy)!important;
        font-weight:900!important;
        letter-spacing:-.04em!important;
    }

    /* =========================================================
       GLOBAL FORM CONTROLS
       ========================================================= */

    .ffr-name-generator select,
    .ffr-sensitivity-generator select,
    .ffr-dpi-helper select,
    .ffr-lag-fix-tool select,
    .ffr-fps-tool select,
    input[type="text"],
    input[type="email"],
    input[type="search"],
    input[type="number"],
    textarea{
        border:1px solid #dce3ef!important;
        border-radius:11px!important;
        background:#fff!important;
        color:var(--ffr-text)!important;
    }

    .ffr-name-generator button,
    .ffr-sensitivity-generator button,
    .ffr-dpi-helper button,
    .ffr-lag-fix-tool button,
    .ffr-fps-tool button{
        background:linear-gradient(135deg,#2864ff,#6d48f5);
        color:#fff;
        border:0!important;
        box-shadow:0 9px 24px rgba(40,100,255,.20);
    }

    /* =========================================================
       FOOTER
       ========================================================= */

    .site-footer{
        position:relative;
        overflow:hidden;
        margin-top:36px;
        background:
            radial-gradient(circle at 12% 12%,rgba(40,100,255,.18),transparent 23%),
            radial-gradient(circle at 86% 18%,rgba(124,58,237,.18),transparent 22%),
            linear-gradient(135deg,#071126,#0b1732 54%,#111d3d)!important;
        color:#dbe6fb!important;
    }

    .site-footer::before{
        content:"";
        position:absolute;
        inset:0;
        pointer-events:none;
        background:
            linear-gradient(90deg,transparent 0%,rgba(255,255,255,.025) 50%,transparent 100%);
    }

    .site-footer .inside-footer-widgets{
        position:relative;
        padding-top:62px!important;
        padding-bottom:42px!important;
    }

    .site-footer .widget-title{
        color:#fff!important;
        font-size:18px!important;
        font-weight:850!important;
        margin-bottom:14px!important;
    }

    .site-footer .widget{
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        padding:0!important;
    }

    .site-footer .widget_text,
    .site-footer .widget_recent_entries,
    .site-footer .widget_nav_menu{
        color:#b7c5de!important;
    }

    .site-footer .widget ul li{
        border:0!important;
        padding:6px 0!important;
    }

    .site-footer a{
        color:#c7d3e8!important;
    }

    .site-footer a:hover{
        color:#fff!important;
    }

    .site-info{
        position:relative;
        background:rgba(0,0,0,.20)!important;
        border-top:1px solid rgba(255,255,255,.08)!important;
        color:#94a7c7!important;
        padding:18px 20px!important;
    }

    /* =========================================================
       MOBILE
       ========================================================= */

    @media(max-width:900px){

        .inside-header{
            min-height:72px!important;
        }

        .content-area article,
        .content-area > .page,
        .content-area > .post{
            padding:24px!important;
            border-radius:18px!important;
        }

        .page-header,
        .archive-description{
            padding:26px!important;
            border-radius:19px!important;
        }
    }

    @media(max-width:600px){

        .site-content{
            padding-top:18px!important;
        }

        .content-area article,
        .content-area > .page,
        .content-area > .post{
            padding:18px!important;
        }

        .entry-title{
            font-size:31px!important;
        }

        .widget-area .widget{
            padding:18px!important;
        }

        .site-footer .inside-footer-widgets{
            padding-top:42px!important;
            padding-bottom:30px!important;
        }
    }


/* SOURCE: ffr-premium-chrome-v3.php */
:root{
        --ffr-navy:#071126;
        --ffr-navy2:#101c38;
        --ffr-blue:#2864ff;
        --ffr-purple:#7048f4;
        --ffr-orange:#ff6a18;
        --ffr-text:#14213d;
        --ffr-line:#e6ebf3;
    }

    /* ================= HEADER ================= */

    .site-header{
        background:rgba(255,255,255,.96)!important;
        border-bottom:1px solid var(--ffr-line)!important;
        box-shadow:0 8px 28px rgba(7,17,38,.06)!important;
    }

    .inside-header{
        min-height:84px!important;
    }

    .site-logo a,
    .site-branding a{
        color:var(--ffr-navy)!important;
        font-weight:900!important;
        letter-spacing:-.055em!important;
    }

    .main-navigation .main-nav ul li a{
        margin:5px 2px!important;
        padding:13px 15px!important;
        border-radius:12px!important;
        font-weight:700!important;
        color:var(--ffr-text)!important;
        transition:all .2s ease!important;
    }

    .main-navigation .main-nav ul li a:hover{
        background:#edf3ff!important;
        color:var(--ffr-blue)!important;
    }

    .main-navigation .main-nav ul li.current-menu-item>a,
    .main-navigation .main-nav ul li.current-menu-parent>a,
    .main-navigation .main-nav ul li.current-menu-ancestor>a{
        background:linear-gradient(135deg,var(--ffr-blue),var(--ffr-purple))!important;
        color:#fff!important;
        box-shadow:0 8px 22px rgba(40,100,255,.23)!important;
    }

    /* TOOLS DROPDOWN */

    .main-navigation .main-nav ul ul{
        min-width:280px!important;
        padding:8px!important;
        background:#fff!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:16px!important;
        box-shadow:0 20px 50px rgba(7,17,38,.14)!important;
    }

    .main-navigation .main-nav ul ul li a{
        margin:2px!important;
        border-radius:10px!important;
    }

    /* ================= FOOTER ================= */

    .site-footer{
        position:relative;
        overflow:hidden;
        margin-top:36px;
        background:
            radial-gradient(circle at 10% 10%,rgba(40,100,255,.18),transparent 24%),
            radial-gradient(circle at 88% 18%,rgba(112,72,244,.17),transparent 24%),
            linear-gradient(135deg,#071126,#0b1731 58%,#111d3b)!important;
        color:#d9e4f8!important;
        border-top:1px solid rgba(255,255,255,.07)!important;
    }

    .site-footer .inside-footer-widgets{
        padding-top:62px!important;
        padding-bottom:42px!important;
    }

    .site-footer .widget{
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        padding:0!important;
    }

    .site-footer .widget-title{
        color:#fff!important;
        font-size:18px!important;
        font-weight:850!important;
        margin-bottom:15px!important;
    }

    .site-footer .widget ul li{
        border:0!important;
        padding:6px 0!important;
    }

    .site-footer a{
        color:#bfcce2!important;
    }

    .site-footer a:hover{
        color:#fff!important;
    }

    .site-info{
        background:rgba(0,0,0,.22)!important;
        border-top:1px solid rgba(255,255,255,.08)!important;
        color:#94a7c8!important;
        padding:18px 20px!important;
    }

    .generate-back-to-top{
        border-radius:12px!important;
        box-shadow:0 12px 28px rgba(0,0,0,.2)!important;
    }

    @media(max-width:900px){

        .inside-header{
            min-height:72px!important;
        }

        .main-navigation .main-nav ul li a{
            margin:2px 0!important;
        }

        .site-footer .inside-footer-widgets{
            padding-top:42px!important;
            padding-bottom:30px!important;
        }
    }


/* SOURCE: ffr-final-navbar-polish.php */
:root{
        --ffr-navy:#071126;
        --ffr-blue:#2864ff;
        --ffr-purple:#7048f4;
        --ffr-line:#e6ebf3;
    }

    .site-header{
        background:rgba(255,255,255,.97)!important;
        border-bottom:1px solid var(--ffr-line)!important;
        box-shadow:0 8px 28px rgba(7,17,38,.055)!important;
    }

    .inside-header{
        min-height:82px!important;
    }

    .site-logo a,
    .site-branding a{
        color:var(--ffr-navy)!important;
        font-weight:900!important;
        letter-spacing:-.055em!important;
    }

    .main-navigation .main-nav ul{
        align-items:center;
    }

    .main-navigation .main-nav ul > li > a{
        margin:4px 2px!important;
        padding:12px 14px!important;
        border-radius:11px!important;
        font-weight:700!important;
        font-size:15px!important;
        transition:all .18s ease!important;
    }

    .main-navigation .main-nav ul > li > a:hover{
        background:#edf3ff!important;
        color:var(--ffr-blue)!important;
    }

    .main-navigation .main-nav ul > li.current-menu-item > a,
    .main-navigation .main-nav ul > li.current-menu-parent > a,
    .main-navigation .main-nav ul > li.current-menu-ancestor > a{
        background:linear-gradient(135deg,var(--ffr-blue),var(--ffr-purple))!important;
        color:#fff!important;
        box-shadow:0 8px 20px rgba(40,100,255,.20)!important;
    }

    .main-navigation .main-nav ul ul{
        min-width:275px!important;
        padding:8px!important;
        background:#fff!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:15px!important;
        box-shadow:0 18px 42px rgba(7,17,38,.13)!important;
    }

    .main-navigation .main-nav ul ul li a{
        margin:2px!important;
        padding:11px 13px!important;
        border-radius:9px!important;
    }

    @media(max-width:900px){

        .inside-header{
            min-height:70px!important;
        }

        .main-navigation .main-nav ul li a{
            margin:2px 0!important;
            border-radius:10px!important;
        }
    }


/* SOURCE: ffr-home-categories-premium-v1.php */
/* =========================================================
       FF REWARDS HUB — HOMEPAGE CATEGORIES PREMIUM v1
       ========================================================= */

    .ff-home-categories{
        width:min(1180px,calc(100% - 40px));
        margin:0 auto;
        padding:58px 0 10px;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:16px;
    }

    .ff-home-cat{
        position:relative;
        overflow:hidden;
        min-height:230px;
        display:flex;
        flex-direction:column;
        padding:25px;
        border:1px solid #e2e8f2;
        border-radius:20px;
        background:#fff;
        box-shadow:0 12px 32px rgba(7,17,38,.06);
        transition:
            transform .22s ease,
            box-shadow .22s ease,
            border-color .22s ease;
    }

    .ff-home-cat::before{
        content:"";
        position:absolute;
        width:180px;
        height:180px;
        top:-85px;
        right:-75px;
        border-radius:50%;
        background:radial-gradient(
            circle,
            rgba(40,100,255,.14),
            transparent 68%
        );
        pointer-events:none;
    }

    .ff-home-cat:hover{
        transform:translateY(-6px);
        border-color:#d7e0ef;
        box-shadow:0 22px 45px rgba(7,17,38,.11);
    }

    .ff-home-icon{
        position:relative;
        z-index:2;
        width:52px;
        height:52px;
        display:grid;
        place-items:center;
        margin-bottom:20px;
        border-radius:14px;
        font-size:23px;
        font-weight:900;
        background:#edf3ff;
        color:#2864ff;
        box-shadow:inset 0 0 0 1px rgba(40,100,255,.06);
    }

    .ff-home-cat h3{
        position:relative;
        z-index:2;
        margin:0 0 9px;
        color:#0b1730;
        font-size:20px;
        line-height:1.2;
        font-weight:850;
        letter-spacing:-.03em;
    }

    .ff-home-cat p{
        position:relative;
        z-index:2;
        margin:0;
        max-width:280px;
        color:#6c788f;
        font-size:13px;
        line-height:1.65;
    }

    .ff-home-cat a{
        position:relative;
        z-index:2;
        display:inline-flex;
        align-items:center;
        gap:5px;
        margin-top:auto;
        padding-top:18px;
        color:#2864ff;
        font-size:13px;
        font-weight:850;
        text-decoration:none;
    }

    .ff-home-cat a:hover{
        color:#7048f4;
    }

    /* =========================================================
       CATEGORY COLORS
       ========================================================= */

    .ff-home-cat:nth-child(1)::before{
        background:radial-gradient(
            circle,
            rgba(40,100,255,.16),
            transparent 68%
        );
    }

    .ff-home-cat:nth-child(1) .ff-home-icon{
        background:linear-gradient(135deg,#eaf0ff,#eef3ff);
        color:#2864ff;
    }

    .ff-home-cat:nth-child(2)::before{
        background:radial-gradient(
            circle,
            rgba(112,72,244,.16),
            transparent 68%
        );
    }

    .ff-home-cat:nth-child(2) .ff-home-icon{
        background:linear-gradient(135deg,#f0eaff,#f3efff);
        color:#7048f4;
    }

    .ff-home-cat:nth-child(3)::before{
        background:radial-gradient(
            circle,
            rgba(243,106,25,.16),
            transparent 68%
        );
    }

    .ff-home-cat:nth-child(3) .ff-home-icon{
        background:linear-gradient(135deg,#fff0e8,#fff5ef);
        color:#f36a19;
    }

    .ff-home-cat:nth-child(4)::before{
        background:radial-gradient(
            circle,
            rgba(21,150,90,.15),
            transparent 68%
        );
    }

    .ff-home-cat:nth-child(4) .ff-home-icon{
        background:linear-gradient(135deg,#e9fbf1,#f0fcf6);
        color:#15965a;
    }

    /* =========================================================
       RESPONSIVE
       ========================================================= */

    @media(max-width:1050px){

        .ff-home-categories{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:700px){

        .ff-home-categories{
            width:min(100% - 28px,1180px);
            grid-template-columns:1fr;
            padding-top:48px;
        }

        .ff-home-cat{
            min-height:205px;
        }
    }


/* SOURCE: ffr-home-tools-premium-v1.php */
/* =========================================================
       HOMEPAGE TOOLS — PREMIUM CARD GRID
       ========================================================= */

    .ff-home-tools{
        width:min(1180px,calc(100% - 40px));
        margin:0 auto;
        padding:70px 0 10px;
    }

    .ff-home-tools-heading{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:24px;
        margin-bottom:26px;
    }

    .ff-home-tools-heading > div{
        max-width:720px;
    }

    .ff-tools-kicker{
        display:block;
        margin-bottom:8px;
        color:#2864ff;
        font-size:11px;
        font-weight:900;
        letter-spacing:.16em;
        text-transform:uppercase;
    }

    .ff-home-tools-heading h2{
        margin:0;
        color:#08142d;
        font-size:42px;
        line-height:1.08;
        font-weight:900;
        letter-spacing:-.045em;
    }

    .ff-home-tools-heading p{
        margin:9px 0 0;
        color:#69768d;
        font-size:16px;
    }

    .ff-home-tools-heading > a{
        white-space:nowrap;
        color:#2864ff;
        font-weight:800;
        text-decoration:none;
    }

    .ff-home-tools-grid{
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:15px;
    }

    .ff-home-tool-card{
        position:relative;
        min-height:235px;
        display:flex;
        flex-direction:column;
        overflow:hidden;
        padding:22px;
        border:1px solid #e1e7f0;
        border-radius:20px;
        background:#fff;
        color:#101b33;
        text-decoration:none!important;
        box-shadow:0 12px 32px rgba(7,17,38,.07);
        transition:
            transform .22s ease,
            box-shadow .22s ease,
            border-color .22s ease;
    }

    .ff-home-tool-card::before{
        content:"";
        position:absolute;
        width:150px;
        height:150px;
        right:-65px;
        top:-65px;
        border-radius:50%;
        background:radial-gradient(
            circle,
            rgba(40,100,255,.16),
            transparent 68%
        );
        pointer-events:none;
    }

    .ff-home-tool-card:hover{
        transform:translateY(-6px);
        border-color:#d5def0;
        color:#101b33;
        box-shadow:0 22px 48px rgba(7,17,38,.13);
    }

    .ff-home-tool-icon{
        position:relative;
        z-index:2;
        width:50px;
        height:50px;
        display:grid;
        place-items:center;
        border-radius:14px;
        margin-bottom:18px;
        font-size:22px;
        font-weight:900;
        background:linear-gradient(
            135deg,
            #eaf0ff,
            #f1edff
        );
        color:#2864ff;
        box-shadow:inset 0 0 0 1px rgba(40,100,255,.06);
    }

    .ff-home-tool-content{
        position:relative;
        z-index:2;
    }

    .ff-home-tool-content > span{
        display:block;
        margin-bottom:7px;
        color:#78859b;
        font-size:10px;
        font-weight:900;
        letter-spacing:.13em;
    }

    .ff-home-tool-content h3{
        margin:0 0 9px;
        color:#0c1831;
        font-size:18px;
        line-height:1.22;
        font-weight:850;
        letter-spacing:-.025em;
    }

    .ff-home-tool-content p{
        margin:0;
        color:#6c788f;
        font-size:13px;
        line-height:1.65;
    }

    .ff-home-tool-arrow{
        position:absolute;
        right:18px;
        bottom:17px;
        width:32px;
        height:32px;
        display:grid;
        place-items:center;
        border-radius:9px;
        background:#edf3ff;
        color:#2864ff;
        font-size:17px;
        transition:transform .2s ease,background .2s ease;
    }

    .ff-home-tool-card:hover .ff-home-tool-arrow{
        transform:translate(2px,-2px);
        background:#2864ff;
        color:#fff;
    }

    /* Small accent variations */

    .ff-home-tool-card.tool-purple .ff-home-tool-icon{
        background:linear-gradient(135deg,#f0eaff,#eee9ff);
        color:#7048f4;
    }

    .ff-home-tool-card.tool-purple::before{
        background:radial-gradient(
            circle,
            rgba(112,72,244,.16),
            transparent 68%
        );
    }

    .ff-home-tool-card.tool-cyan .ff-home-tool-icon{
        background:linear-gradient(135deg,#e7f9ff,#ebf3ff);
        color:#0887c2;
    }

    .ff-home-tool-card.tool-cyan::before{
        background:radial-gradient(
            circle,
            rgba(8,135,194,.13),
            transparent 68%
        );
    }

    .ff-home-tool-card.tool-orange .ff-home-tool-icon{
        background:linear-gradient(135deg,#fff0e8,#fff5ee);
        color:#f36a19;
    }

    .ff-home-tool-card.tool-orange::before{
        background:radial-gradient(
            circle,
            rgba(243,106,25,.15),
            transparent 68%
        );
    }

    .ff-home-tool-card.tool-green .ff-home-tool-icon{
        background:linear-gradient(135deg,#e9fbf1,#effbf5);
        color:#15965a;
    }

    .ff-home-tool-card.tool-green::before{
        background:radial-gradient(
            circle,
            rgba(21,150,90,.14),
            transparent 68%
        );
    }

    @media(max-width:1050px){

        .ff-home-tools-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:700px){

        .ff-home-tools{
            width:min(100% - 28px,1180px);
            padding-top:55px;
        }

        .ff-home-tools-heading{
            align-items:flex-start;
            flex-direction:column;
        }

        .ff-home-tools-heading h2{
            font-size:32px;
        }

        .ff-home-tools-grid{
            grid-template-columns:1fr;
        }

        .ff-home-tool-card{
            min-height:205px;
        }
    }


/* SOURCE: ffr-home-cta-premium-v1.php */
/* =========================================================
       FF REWARDS HUB — HOMEPAGE FINAL CTA
       ========================================================= */

    body.home .ff-home-cta{
        position:relative!important;
        overflow:hidden!important;

        width:min(1180px,calc(100% - 40px))!important;
        margin:68px auto 10px!important;
        padding:42px 46px!important;

        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:30px!important;

        border:1px solid #223967!important;
        border-radius:23px!important;

        background:
            radial-gradient(
                circle at 86% 15%,
                rgba(80,130,255,.22),
                transparent 25%
            ),
            radial-gradient(
                circle at 20% 85%,
                rgba(112,72,244,.16),
                transparent 26%
            ),
            linear-gradient(
                135deg,
                #071126,
                #0d1935 58%,
                #111d3d
            )!important;

        box-shadow:0 22px 52px rgba(7,17,38,.15)!important;

        color:#fff!important;
    }

    body.home .ff-home-cta::before{
        content:""!important;
        position:absolute!important;
        inset:0!important;
        pointer-events:none!important;

        background:
            linear-gradient(
                120deg,
                transparent 0%,
                rgba(255,255,255,.025) 50%,
                transparent 100%
            )!important;
    }

    body.home .ff-home-cta::after{
        content:"FF"!important;
        position:absolute!important;
        right:30px!important;
        bottom:-70px!important;

        font-size:190px!important;
        line-height:1!important;
        font-weight:950!important;
        letter-spacing:-.12em!important;

        color:rgba(255,255,255,.025)!important;
        pointer-events:none!important;
    }

    body.home .ff-home-cta > div{
        position:relative!important;
        z-index:2!important;
        max-width:720px!important;
    }

    body.home .ff-home-cta > div > span{
        display:block!important;
        margin-bottom:9px!important;

        color:#8eb2ff!important;
        font-size:11px!important;
        font-weight:900!important;
        letter-spacing:.16em!important;
    }

    body.home .ff-home-cta h2{
        position:relative!important;
        z-index:2!important;

        margin:0 0 10px!important;

        color:#fff!important;
        font-size:38px!important;
        line-height:1.08!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    body.home .ff-home-cta p{
        position:relative!important;
        z-index:2!important;

        margin:0!important;

        color:#b4c4df!important;
        font-size:15px!important;
        line-height:1.7!important;
    }

    body.home .ff-home-cta > a{
        position:relative!important;
        z-index:3!important;

        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;

        min-height:50px!important;
        padding:0 20px!important;

        border:0!important;
        border-radius:12px!important;

        background:linear-gradient(
            135deg,
            #4a82ff,
            #7048f4
        )!important;

        color:#fff!important;
        font-size:14px!important;
        font-weight:850!important;
        text-decoration:none!important;

        white-space:nowrap!important;

        box-shadow:0 13px 28px rgba(40,100,255,.25)!important;

        transition:
            transform .2s ease,
            box-shadow .2s ease!important;
    }

    body.home .ff-home-cta > a:hover{
        transform:translateY(-3px)!important;
        color:#fff!important;
        box-shadow:0 18px 34px rgba(40,100,255,.32)!important;
    }

    /* =========================================================
       MOBILE
       ========================================================= */

    @media(max-width:700px){

        body.home .ff-home-cta{
            width:min(100% - 28px,1180px)!important;
            margin-top:52px!important;
            padding:30px 24px!important;

            align-items:flex-start!important;
            flex-direction:column!important;
        }

        body.home .ff-home-cta h2{
            font-size:29px!important;
        }

        body.home .ff-home-cta p{
            font-size:14px!important;
        }

        body.home .ff-home-cta > a{
            width:100%!important;
        }

        body.home .ff-home-cta::after{
            font-size:125px!important;
            right:12px!important;
            bottom:-38px!important;
        }
    }


/* SOURCE: ffr-home-cta-final.php */
body.home .ff-home-cta{
        position:relative!important;
        overflow:hidden!important;
        width:min(1180px,calc(100% - 40px))!important;
        margin:62px auto 14px!important;
        padding:38px 42px!important;

        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:28px!important;

        border:1px solid #243a67!important;
        border-radius:22px!important;

        background:
            radial-gradient(
                circle at 84% 18%,
                rgba(91,139,255,.22),
                transparent 25%
            ),
            linear-gradient(
                135deg,
                #071126,
                #101d3c
            )!important;

        box-shadow:0 20px 46px rgba(7,17,38,.14)!important;
        color:#fff!important;
    }

    body.home .ff-home-cta > div{
        position:relative!important;
        z-index:2!important;
        max-width:720px!important;
    }

    body.home .ff-home-cta > div > span{
        display:block!important;
        margin-bottom:8px!important;
        color:#8fb3ff!important;
        font-size:11px!important;
        font-weight:900!important;
        letter-spacing:.16em!important;
    }

    body.home .ff-home-cta h2{
        margin:0 0 9px!important;
        color:#fff!important;
        font-size:36px!important;
        line-height:1.08!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    body.home .ff-home-cta p{
        margin:0!important;
        color:#b7c7e2!important;
        font-size:15px!important;
        line-height:1.7!important;
    }

    body.home .ff-home-cta > a{
        position:relative!important;
        z-index:3!important;

        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;

        min-height:50px!important;
        padding:0 20px!important;

        border:0!important;
        border-radius:11px!important;

        background:linear-gradient(
            135deg,
            #4a82ff,
            #7048f4
        )!important;

        color:#fff!important;
        font-size:14px!important;
        font-weight:850!important;
        text-decoration:none!important;

        white-space:nowrap!important;

        box-shadow:0 12px 27px rgba(40,100,255,.25)!important;
    }

    body.home .ff-home-cta > a:hover{
        transform:translateY(-2px)!important;
        color:#fff!important;
        box-shadow:0 17px 32px rgba(40,100,255,.31)!important;
    }

    @media(max-width:700px){

        body.home .ff-home-cta{
            width:min(100% - 28px,1180px)!important;
            padding:28px 23px!important;
            margin-top:52px!important;
            align-items:flex-start!important;
            flex-direction:column!important;
        }

        body.home .ff-home-cta h2{
            font-size:29px!important;
        }

        body.home .ff-home-cta > a{
            width:100%!important;
        }
    }


/* SOURCE: ffr-home-stats-about-premium-v1.php */
/* =========================================================
       STATS
       ========================================================= */

    .ff-home-stats{
        width:min(1180px,calc(100% - 40px));
        margin:0 auto;
        padding:70px 0 10px;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:14px;
    }

    .ff-home-stats > div{
        position:relative;
        overflow:hidden;
        padding:24px 20px;
        text-align:center;
        border:1px solid #e2e8f2;
        border-radius:17px;
        background:#fff;
        box-shadow:0 10px 28px rgba(7,17,38,.05);
    }

    .ff-home-stats > div::before{
        content:"";
        position:absolute;
        top:0;
        left:0;
        right:0;
        height:3px;
        background:linear-gradient(90deg,#2864ff,#7048f4);
    }

    .ff-home-stats strong{
        display:block;
        color:#08142d;
        font-size:32px;
        line-height:1;
        font-weight:900;
        letter-spacing:-.04em;
    }

    .ff-home-stats span{
        display:block;
        margin-top:8px;
        color:#6c788f;
        font-size:12px;
        font-weight:700;
    }

    /* =========================================================
       ABOUT / TRUST SECTION
       ========================================================= */

    .ff-home-bottom{
        width:min(1180px,calc(100% - 40px));
        margin:0 auto;
        padding:70px 0 10px;
        display:grid;
        grid-template-columns:1.15fr .85fr;
        gap:28px;
        align-items:stretch;
    }

    .ff-home-bottom > small{
        display:none;
    }

    .ff-home-bottom::before{
        content:"";
        grid-column:1;
        grid-row:1;
    }

    .ff-home-bottom h2,
    .ff-home-bottom p,
    .ff-home-bottom > div{
        grid-column:1;
        margin-left:0;
    }

    .ff-home-bottom{
        position:relative;
    }

    .ff-home-bottom h2{
        margin:0;
        padding:38px 38px 0;
        border-left:1px solid #e2e8f2;
        border-top:1px solid #e2e8f2;
        border-right:1px solid #e2e8f2;
        border-radius:22px 22px 0 0;
        background:linear-gradient(145deg,#fff,#f7f9ff);
        color:#08142d;
        font-size:40px;
        line-height:1.08;
        font-weight:900;
        letter-spacing:-.045em;
    }

    .ff-home-bottom p{
        margin:0;
        padding:16px 38px 0;
        border-left:1px solid #e2e8f2;
        border-right:1px solid #e2e8f2;
        background:linear-gradient(145deg,#fff,#f7f9ff);
        color:#68758c;
        font-size:15px;
        line-height:1.8;
    }

    .ff-home-bottom > div{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        padding:22px 38px 38px;
        border-left:1px solid #e2e8f2;
        border-right:1px solid #e2e8f2;
        border-bottom:1px solid #e2e8f2;
        border-radius:0 0 22px 22px;
        background:linear-gradient(145deg,#fff,#f7f9ff);
    }

    .ff-home-bottom > div a{
        display:inline-flex;
        align-items:center;
        min-height:40px;
        padding:0 13px;
        border:1px solid #dfe6f1;
        border-radius:10px;
        background:#fff;
        color:#2864ff;
        font-size:12px;
        font-weight:800;
        text-decoration:none;
        box-shadow:0 6px 18px rgba(7,17,38,.04);
        transition:all .2s ease;
    }

    .ff-home-bottom > div a:hover{
        color:#fff;
        border-color:#2864ff;
        background:#2864ff;
        transform:translateY(-2px);
    }

    /* Visual trust panel on right */

    .ff-home-bottom::after{
        content:
            "PRACTICAL\A"
            "FREE\A"
            "PLAYER-FOCUSED\A"
            "TOOLS + GUIDES";
        white-space:pre;
        grid-column:2;
        grid-row:1;
        display:flex;
        align-items:center;
        justify-content:center;
        text-align:center;
        padding:40px;
        min-height:100%;
        border:1px solid #22345b;
        border-radius:22px;
        background:
            radial-gradient(circle at 75% 18%,rgba(78,125,255,.22),transparent 28%),
            radial-gradient(circle at 25% 85%,rgba(112,72,244,.18),transparent 27%),
            linear-gradient(145deg,#08142d,#101e3e);
        color:#dce7fa;
        font-size:25px;
        line-height:1.35;
        font-weight:900;
        letter-spacing:.06em;
        box-shadow:0 20px 45px rgba(7,17,38,.12);
    }

    /* =========================================================
       RESPONSIVE
       ========================================================= */

    @media(max-width:850px){

        .ff-home-stats{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .ff-home-bottom{
            grid-template-columns:1fr;
        }

        .ff-home-bottom::after{
            grid-column:1;
            grid-row:2;
            min-height:220px;
        }
    }

    @media(max-width:600px){

        .ff-home-stats,
        .ff-home-bottom{
            width:min(100% - 28px,1180px);
        }

        .ff-home-stats{
            grid-template-columns:1fr 1fr;
            padding-top:50px;
        }

        .ff-home-stats strong{
            font-size:27px;
        }

        .ff-home-bottom{
            padding-top:50px;
        }

        .ff-home-bottom h2{
            padding:28px 22px 0;
            font-size:31px;
        }

        .ff-home-bottom p{
            padding:14px 22px 0;
        }

        .ff-home-bottom > div{
            padding:18px 22px 28px;
        }

        .ff-home-bottom::after{
            font-size:21px;
        }
    }


/* SOURCE: ffr-home-stats-about-fix-v2.php */
/* =========================================================
       RESET OLD HOMEPAGE STATS STYLING
       ========================================================= */

    .ff-home-stats{
        width:min(1180px,calc(100% - 40px))!important;
        margin:0 auto!important;
        padding:65px 0 8px!important;

        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:15px!important;

        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        border-radius:0!important;
    }

    .ff-home-stats > div{
        position:relative!important;
        min-height:145px!important;

        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;

        padding:24px!important;

        background:#fff!important;
        border:1px solid #e2e8f2!important;
        border-radius:18px!important;

        box-shadow:0 12px 30px rgba(7,17,38,.06)!important;

        text-align:center!important;
        color:#08142d!important;
    }

    .ff-home-stats > div::before{
        content:""!important;
        position:absolute!important;
        left:0!important;
        right:0!important;
        top:0!important;
        height:3px!important;

        border-radius:18px 18px 0 0!important;

        background:linear-gradient(
            90deg,
            #2864ff,
            #7048f4
        )!important;
    }

    .ff-home-stats > div strong{
        display:block!important;
        margin:0!important;

        color:#08142d!important;
        font-size:35px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    .ff-home-stats > div span{
        display:block!important;
        margin-top:9px!important;

        color:#6b7890!important;
        font-size:12px!important;
        line-height:1.4!important;
        font-weight:700!important;
    }

    /* =========================================================
       ABOUT SECTION RESET
       ========================================================= */

    .ff-home-bottom{
        width:min(1180px,calc(100% - 40px))!important;
        margin:0 auto!important;
        padding:65px 0 10px!important;

        display:grid!important;
        grid-template-columns:1.15fr .85fr!important;
        gap:22px!important;

        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
    }

    .ff-home-bottom > small{
        display:block!important;
        grid-column:1!important;
        grid-row:1!important;

        margin:0 0 -10px 30px!important;
        color:#2864ff!important;
        font-size:11px!important;
        font-weight:900!important;
        letter-spacing:.15em!important;
        text-transform:uppercase!important;
    }

    .ff-home-bottom h2{
        grid-column:1!important;
        grid-row:2!important;

        margin:0!important;
        padding:34px 34px 0!important;

        color:#08142d!important;
        background:#fff!important;

        border:1px solid #e2e8f2!important;
        border-bottom:0!important;
        border-radius:21px 21px 0 0!important;

        font-size:39px!important;
        line-height:1.08!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    .ff-home-bottom p{
        grid-column:1!important;
        grid-row:3!important;

        margin:0!important;
        padding:16px 34px 0!important;

        color:#68758c!important;
        background:#fff!important;

        border-left:1px solid #e2e8f2!important;
        border-right:1px solid #e2e8f2!important;

        font-size:15px!important;
        line-height:1.8!important;
    }

    .ff-home-bottom > div{
        grid-column:1!important;
        grid-row:4!important;

        display:flex!important;
        flex-wrap:wrap!important;
        gap:10px!important;

        margin:0!important;
        padding:22px 34px 34px!important;

        background:#fff!important;

        border-left:1px solid #e2e8f2!important;
        border-right:1px solid #e2e8f2!important;
        border-bottom:1px solid #e2e8f2!important;

        border-radius:0 0 21px 21px!important;
    }

    .ff-home-bottom > div a{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;

        min-height:40px!important;
        padding:0 14px!important;

        border:1px solid #dce5f1!important;
        border-radius:10px!important;

        background:#f8faff!important;
        color:#2864ff!important;

        font-size:12px!important;
        font-weight:800!important;
        text-decoration:none!important;
    }

    .ff-home-bottom > div a:hover{
        color:#fff!important;
        background:#2864ff!important;
        border-color:#2864ff!important;
    }

    /* RIGHT TRUST PANEL */

    .ff-home-bottom::after{
        content:
            "PRACTICAL\A"
            "FREE\A"
            "PLAYER-FOCUSED\A"
            "TOOLS + GUIDES"!important;

        white-space:pre!important;

        grid-column:2!important;
        grid-row:1 / 5!important;

        display:flex!important;
        align-items:center!important;
        justify-content:center!important;

        min-height:100%!important;
        padding:35px!important;

        border:1px solid #233763!important;
        border-radius:21px!important;

        background:
            radial-gradient(
                circle at 70% 20%,
                rgba(86,132,255,.22),
                transparent 27%
            ),
            radial-gradient(
                circle at 22% 82%,
                rgba(112,72,244,.18),
                transparent 28%
            ),
            linear-gradient(
                145deg,
                #08142d,
                #101e3e
            )!important;

        color:#fff!important;

        text-align:center!important;
        font-size:26px!important;
        line-height:1.35!important;
        font-weight:900!important;
        letter-spacing:.05em!important;

        box-shadow:0 18px 42px rgba(7,17,38,.12)!important;
    }

    /* =========================================================
       RESPONSIVE
       ========================================================= */

    @media(max-width:850px){

        .ff-home-stats{
            grid-template-columns:repeat(2,minmax(0,1fr))!important;
        }

        .ff-home-bottom{
            grid-template-columns:1fr!important;
        }

        .ff-home-bottom > small,
        .ff-home-bottom h2,
        .ff-home-bottom p,
        .ff-home-bottom > div{
            grid-column:1!important;
        }

        .ff-home-bottom::after{
            grid-column:1!important;
            grid-row:5!important;
            min-height:240px!important;
        }
    }

    @media(max-width:600px){

        .ff-home-stats,
        .ff-home-bottom{
            width:min(100% - 28px,1180px)!important;
        }

        .ff-home-stats{
            grid-template-columns:1fr 1fr!important;
            padding-top:50px!important;
        }

        .ff-home-stats > div{
            min-height:125px!important;
            padding:18px!important;
        }

        .ff-home-stats > div strong{
            font-size:28px!important;
        }

        .ff-home-bottom{
            padding-top:50px!important;
        }

        .ff-home-bottom h2{
            padding:27px 22px 0!important;
            font-size:31px!important;
        }

        .ff-home-bottom p{
            padding:14px 22px 0!important;
        }

        .ff-home-bottom > div{
            padding:18px 22px 28px!important;
        }

        .ff-home-bottom::after{
            font-size:21px!important;
        }
    }


/* SOURCE: ffr-home-stats-about-final-fix.php */
/* =========================================================
       STATS — HARD RESET
       ========================================================= */

    body.home .ff-home-stats{
        width:min(1180px,calc(100% - 40px))!important;
        margin:0 auto!important;
        padding:62px 0 10px!important;

        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:15px!important;

        background:transparent!important;
        background-image:none!important;

        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;

        color:#08142d!important;
    }

    body.home .ff-home-stats::before,
    body.home .ff-home-stats::after{
        display:none!important;
        content:none!important;
    }

    body.home .ff-home-stats > div{
        position:relative!important;

        min-height:138px!important;
        width:auto!important;

        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:center!important;

        padding:22px!important;

        background:#ffffff!important;
        background-image:none!important;

        border:1px solid #e2e8f2!important;
        border-radius:18px!important;

        box-shadow:0 10px 28px rgba(7,17,38,.055)!important;

        color:#08142d!important;
        text-align:center!important;

        opacity:1!important;
    }

    body.home .ff-home-stats > div::before,
    body.home .ff-home-stats > div::after{
        display:none!important;
        content:none!important;
    }

    body.home .ff-home-stats > div strong{
        display:block!important;
        margin:0!important;
        padding:0!important;

        color:#08142d!important;
        opacity:1!important;

        font-size:35px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;
    }

    body.home .ff-home-stats > div span{
        display:block!important;
        margin:9px 0 0!important;
        padding:0!important;

        color:#68758c!important;
        opacity:1!important;

        font-size:12px!important;
        line-height:1.4!important;
        font-weight:700!important;
    }

    /* =========================================================
       ABOUT — CLEAN TWO-COLUMN CARD
       ========================================================= */

    body.home .ff-home-bottom{
        width:min(1180px,calc(100% - 40px))!important;
        margin:0 auto!important;
        padding:62px 0 10px!important;

        display:grid!important;
        grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
        grid-template-rows:auto auto auto auto!important;

        column-gap:22px!important;
        row-gap:0!important;

        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        border-radius:0!important;
    }

    body.home .ff-home-bottom > small{
        display:block!important;

        grid-column:1!important;
        grid-row:1!important;

        margin:0 0 11px 26px!important;
        padding:0!important;

        color:#2864ff!important;
        font-size:11px!important;
        line-height:1.2!important;
        font-weight:900!important;
        letter-spacing:.16em!important;
        text-transform:uppercase!important;

        background:none!important;
        border:0!important;
    }

    body.home .ff-home-bottom h2{
        grid-column:1!important;
        grid-row:2!important;

        margin:0!important;
        padding:31px 30px 0!important;

        background:#fff!important;
        background-image:none!important;

        border:1px solid #e2e8f2!important;
        border-bottom:0!important;

        border-radius:20px 20px 0 0!important;

        color:#08142d!important;
        font-size:38px!important;
        line-height:1.07!important;
        font-weight:900!important;
        letter-spacing:-.045em!important;

        box-shadow:none!important;
    }

    body.home .ff-home-bottom p{
        grid-column:1!important;
        grid-row:3!important;

        margin:0!important;
        padding:14px 30px 0!important;

        background:#fff!important;
        background-image:none!important;

        border-left:1px solid #e2e8f2!important;
        border-right:1px solid #e2e8f2!important;

        color:#68758c!important;
        font-size:15px!important;
        line-height:1.8!important;
    }

    body.home .ff-home-bottom > div{
        grid-column:1!important;
        grid-row:4!important;

        display:flex!important;
        flex-wrap:wrap!important;
        gap:9px!important;

        margin:0!important;
        padding:20px 30px 30px!important;

        background:#fff!important;
        background-image:none!important;

        border-left:1px solid #e2e8f2!important;
        border-right:1px solid #e2e8f2!important;
        border-bottom:1px solid #e2e8f2!important;

        border-radius:0 0 20px 20px!important;

        box-shadow:0 12px 30px rgba(7,17,38,.055)!important;
    }

    body.home .ff-home-bottom > div a{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;

        min-height:39px!important;
        padding:0 13px!important;

        border:1px solid #dce5f1!important;
        border-radius:10px!important;

        background:#f8faff!important;

        color:#2864ff!important;
        font-size:12px!important;
        line-height:1!important;
        font-weight:800!important;

        text-decoration:none!important;
    }

    body.home .ff-home-bottom > div a:hover{
        background:#2864ff!important;
        border-color:#2864ff!important;
        color:#fff!important;
    }

    /* RIGHT TRUST PANEL */

    body.home .ff-home-bottom::after{
        display:flex!important;

        grid-column:2!important;
        grid-row:1 / 5!important;

        align-items:center!important;
        justify-content:center!important;

        min-height:100%!important;

        margin-top:0!important;
        padding:36px!important;

        border:1px solid #243a67!important;
        border-radius:20px!important;

        background:
            radial-gradient(
                circle at 72% 18%,
                rgba(84,130,255,.23),
                transparent 27%
            ),
            radial-gradient(
                circle at 24% 82%,
                rgba(112,72,244,.18),
                transparent 28%
            ),
            linear-gradient(
                145deg,
                #08142d,
                #101e40
            )!important;

        color:#ffffff!important;

        text-align:center!important;
        font-size:25px!important;
        line-height:1.35!important;
        font-weight:900!important;
        letter-spacing:.05em!important;

        box-shadow:0 18px 42px rgba(7,17,38,.13)!important;
        white-space:pre!important;
        content:
            "PRACTICAL\A"
            "FREE\A"
            "PLAYER-FOCUSED\A"
            "TOOLS + GUIDES"!important;
    }

    /* =========================================================
       MOBILE
       ========================================================= */

    @media(max-width:850px){

        body.home .ff-home-stats{
            grid-template-columns:repeat(2,minmax(0,1fr))!important;
        }

        body.home .ff-home-bottom{
            grid-template-columns:1fr!important;
            grid-template-rows:auto auto auto auto auto!important;
        }

        body.home .ff-home-bottom > small,
        body.home .ff-home-bottom h2,
        body.home .ff-home-bottom p,
        body.home .ff-home-bottom > div{
            grid-column:1!important;
        }

        body.home .ff-home-bottom::after{
            grid-column:1!important;
            grid-row:5!important;
            min-height:240px!important;
            margin-top:18px!important;
        }
    }

    @media(max-width:600px){

        body.home .ff-home-stats,
        body.home .ff-home-bottom{
            width:min(100% - 28px,1180px)!important;
        }

        body.home .ff-home-stats{
            padding-top:50px!important;
        }

        body.home .ff-home-stats > div{
            min-height:120px!important;
            padding:18px!important;
        }

        body.home .ff-home-stats > div strong{
            font-size:28px!important;
        }

        body.home .ff-home-stats > div span{
            font-size:11px!important;
        }

        body.home .ff-home-bottom{
            padding-top:50px!important;
        }

        body.home .ff-home-bottom h2{
            padding:26px 21px 0!important;
            font-size:30px!important;
        }

        body.home .ff-home-bottom p{
            padding:13px 21px 0!important;
            font-size:14px!important;
        }

        body.home .ff-home-bottom > div{
            padding:18px 21px 26px!important;
        }

        body.home .ff-home-bottom::after{
            min-height:210px!important;
            padding:25px!important;
            font-size:20px!important;
        }
    }


/* SOURCE: ffr-inner-pages-premium-v1.php */
:root{
        --ffr-navy:#071126;
        --ffr-blue:#2864ff;
        --ffr-purple:#7048f4;
        --ffr-text:#14213d;
        --ffr-muted:#6d7890;
        --ffr-line:#e4e9f2;
        --ffr-soft:#f5f7fb;
        --ffr-shadow:0 12px 34px rgba(7,17,38,.07);
        --ffr-shadow-hover:0 20px 44px rgba(7,17,38,.12);
    }

    /* =====================================================
       CATEGORY / ARCHIVE PAGES
       ===================================================== */

    body.archive .site-content,
    body.blog .site-content{
        background:var(--ffr-soft);
    }

    body.archive .page-header,
    body.blog .page-header{
        position:relative;
        overflow:hidden;
        margin-bottom:28px!important;
        padding:38px!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:22px!important;
        background:
            radial-gradient(circle at 90% 15%,rgba(40,100,255,.13),transparent 23%),
            linear-gradient(135deg,#fff,#f6f8ff)!important;
        box-shadow:var(--ffr-shadow)!important;
    }

    body.archive .page-header::after,
    body.blog .page-header::after{
        content:"";
        position:absolute;
        right:-60px;
        top:-60px;
        width:180px;
        height:180px;
        border-radius:50%;
        border:1px solid rgba(40,100,255,.12);
        box-shadow:
            0 0 0 26px rgba(40,100,255,.025),
            0 0 0 52px rgba(40,100,255,.018);
        pointer-events:none;
    }

    body.archive .page-header h1,
    body.blog .page-header h1{
        position:relative;
        z-index:2;
        margin:0 0 10px;
        color:var(--ffr-navy)!important;
        font-weight:900!important;
        letter-spacing:-.05em!important;
    }

    /* =====================================================
       ARCHIVE POST CARDS
       ===================================================== */

    body.archive .inside-article,
    body.blog .inside-article{
        overflow:hidden;
        margin-bottom:20px;
        padding:0!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:20px!important;
        background:#fff!important;
        box-shadow:var(--ffr-shadow)!important;
        transition:transform .22s ease,box-shadow .22s ease;
    }

    body.archive .inside-article:hover,
    body.blog .inside-article:hover{
        transform:translateY(-4px);
        box-shadow:var(--ffr-shadow-hover)!important;
    }

    body.archive .inside-article .entry-header,
    body.blog .inside-article .entry-header,
    body.archive .inside-article .entry-summary,
    body.blog .inside-article .entry-summary,
    body.archive .inside-article .entry-content,
    body.blog .inside-article .entry-content{
        padding-left:24px;
        padding-right:24px;
    }

    body.archive .inside-article .entry-header,
    body.blog .inside-article .entry-header{
        padding-top:22px;
    }

    body.archive .inside-article .entry-summary,
    body.blog .inside-article .entry-summary{
        padding-bottom:22px;
    }

    body.archive .entry-title,
    body.blog .entry-title{
        font-weight:850!important;
        letter-spacing:-.035em!important;
        line-height:1.18!important;
    }

    body.archive .entry-title a,
    body.blog .entry-title a{
        color:var(--ffr-navy)!important;
    }

    body.archive .entry-title a:hover,
    body.blog .entry-title a:hover{
        color:var(--ffr-blue)!important;
    }

    /* FEATURED IMAGE */

    body.archive .post-image,
    body.blog .post-image,
    body.archive .featured-image,
    body.blog .featured-image{
        overflow:hidden;
    }

    body.archive .post-image img,
    body.blog .post-image img,
    body.archive .featured-image img,
    body.blog .featured-image img{
        display:block;
        width:100%;
        transition:transform .42s ease;
    }

    body.archive .inside-article:hover img,
    body.blog .inside-article:hover img{
        transform:scale(1.035);
    }

    /* =====================================================
       SINGLE POSTS
       ===================================================== */

    body.single-post .content-area .inside-article{
        padding:34px!important;
        border:1px solid var(--ffr-line)!important;
        border-radius:22px!important;
        background:#fff!important;
        box-shadow:var(--ffr-shadow)!important;
    }

    body.single-post .entry-header .entry-title{
        margin-bottom:13px!important;
        font-size:clamp(34px,5vw,54px)!important;
        line-height:1.06!important;
        font-weight:900!important;
        letter-spacing:-.05em!important;
        color:var(--ffr-navy)!important;
    }

    body.single-post .entry-meta{
        color:#7b879d!important;
        font-weight:600;
    }

    body.single-post .entry-content{
        color:#26344c;
        font-size:16px;
    }

    body.single-post .entry-content h2{
        margin-top:38px;
        padding-top:7px;
        color:var(--ffr-navy)!important;
        font-weight:850!important;
        letter-spacing:-.035em;
    }

    body.single-post .entry-content h3{
        color:var(--ffr-navy)!important;
        font-weight:800!important;
    }

    body.single-post .entry-content p,
    body.single-post .entry-content li{
        line-height:1.85;
    }

    /* =====================================================
       SIDEBAR
       ===================================================== */

    .widget-area .widget{
        border:1px solid var(--ffr-line)!important;
        border-radius:18px!important;
        background:#fff!important;
        box-shadow:var(--ffr-shadow)!important;
    }

    .widget-area .widget-title{
        margin-bottom:14px!important;
        color:var(--ffr-navy)!important;
        font-size:19px!important;
        font-weight:850!important;
    }

    .widget-area ul li{
        border-bottom:1px solid #edf0f5!important;
    }

    .widget-area ul li:last-child{
        border-bottom:0!important;
    }

    .widget-area a{
        color:var(--ffr-text)!important;
        font-weight:600;
    }

    .widget-area a:hover{
        color:var(--ffr-blue)!important;
    }

    /* =====================================================
       SEARCH BAR
       ===================================================== */

    .widget-area .search-form{
        display:flex;
        gap:8px;
    }

    .widget-area .search-field{
        min-height:44px;
        border:1px solid #dce3ef!important;
        border-radius:11px!important;
    }

    .widget-area .search-submit{
        min-height:44px;
        border:0!important;
        border-radius:11px!important;
        background:linear-gradient(135deg,var(--ffr-blue),var(--ffr-purple))!important;
        color:#fff!important;
        font-weight:800;
    }

    /* =====================================================
       PAGINATION
       ===================================================== */

    .paging-navigation .nav-links{
        display:flex;
        gap:8px;
    }

    .paging-navigation .page-numbers{
        min-width:40px;
        min-height:40px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border:1px solid var(--ffr-line);
        border-radius:10px;
        background:#fff;
        font-weight:700;
        box-shadow:0 6px 18px rgba(7,17,38,.05);
    }

    .paging-navigation .page-numbers.current{
        color:#fff!important;
        background:linear-gradient(135deg,var(--ffr-blue),var(--ffr-purple))!important;
        border-color:transparent!important;
    }

    /* =====================================================
       MOBILE
       ===================================================== */

    @media(max-width:700px){

        body.archive .page-header,
        body.blog .page-header{
            padding:26px!important;
            border-radius:18px!important;
        }

        body.archive .inside-article .entry-header,
        body.blog .inside-article .entry-header{
            padding-top:18px;
        }

        body.archive .inside-article .entry-header,
        body.blog .inside-article .entry-header,
        body.archive .inside-article .entry-summary,
        body.blog .inside-article .entry-summary,
        body.archive .inside-article .entry-content,
        body.blog .inside-article .entry-content{
            padding-left:18px;
            padding-right:18px;
        }

        body.single-post .content-area .inside-article{
            padding:20px!important;
            border-radius:18px!important;
        }

        body.single-post .entry-header .entry-title{
            font-size:31px!important;
        }
    }


/* ==========================================================
   FFR MASTER CORE — CONSOLIDATED FRONTEND OVERRIDES
   ========================================================== */

/* Home: remove the default GeneratePress page card around our designed content. */
body.home .entry-header{display:none!important;}
body.home .site-content{padding-top:0!important;padding-bottom:0!important;}
body.home .content-area > .page{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}

/* Tournament section — existing homepage markup, premium presentation. */
.ffr-live-tournaments{
    position:relative;
    overflow:hidden;
    margin:54px auto 0!important;
    padding:64px 34px!important;
    max-width:1180px!important;
    border-radius:26px!important;
    background:
        radial-gradient(circle at 12% 10%,rgba(40,100,255,.18),transparent 28%),
        radial-gradient(circle at 88% 16%,rgba(112,72,244,.16),transparent 24%),
        linear-gradient(135deg,#071126,#0b1732 56%,#111d3d)!important;
    color:#fff!important;
    box-shadow:0 24px 60px rgba(7,17,38,.18)!important;
}
.ffr-live-tournaments::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent);
}
.ffr-tournament-inner{position:relative;z-index:2;max-width:1080px;margin:0 auto;}
.ffr-tournament-copy{text-align:left;max-width:820px;}
.ffr-tournament-eyebrow{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    margin-bottom:13px!important;
    color:#9eb6ff!important;
    font-size:12px!important;
    font-weight:850!important;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.ffr-tournament-title{
    margin:0 0 13px!important;
    color:#fff!important;
    font-size:clamp(32px,4vw,50px)!important;
    line-height:1.08!important;
    font-weight:900!important;
    letter-spacing:-.045em!important;
}
.ffr-tournament-description{
    margin:0!important;
    max-width:760px;
    color:#b9c8e3!important;
    font-size:17px!important;
    line-height:1.75!important;
}
.ffr-tournament-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    margin-top:22px!important;
    padding:13px 20px!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#2864ff,#7048f4)!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:800!important;
    box-shadow:0 12px 28px rgba(40,100,255,.24)!important;
    transition:transform .2s ease,box-shadow .2s ease!important;
}
.ffr-tournament-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(40,100,255,.32)!important;}
.ffr-tournament-features{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:34px!important;
}
.ffr-tournament-feature{
    min-height:110px;
    padding:20px!important;
    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.045)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.ffr-tournament-icon{font-size:23px!important;margin-bottom:10px!important;}
.ffr-tournament-feature strong{display:block;color:#fff!important;font-size:15px!important;margin-bottom:5px!important;}
.ffr-tournament-feature div:not(.ffr-tournament-icon){color:#aebed9!important;font-size:13px!important;line-height:1.55!important;}

@media(max-width:800px){
  .ffr-live-tournaments{margin-top:38px!important;padding:46px 22px!important;border-radius:20px!important;}
  .ffr-tournament-features{grid-template-columns:1fr;}
}

/* ==========================================================
   TOURNAMENT ARCHIVE / SINGLE
   ========================================================== */
.ffr-tournaments-page{padding:52px 22px 64px;}
.ffr-tournaments-wrap{width:min(1180px,100%);margin:0 auto;}
.ffr-tournaments-hero{
    margin-bottom:28px;
    padding:40px;
    border-radius:24px;
    background:linear-gradient(135deg,#071126,#0b1732 56%,#111d3d);
    color:#fff;
    box-shadow:0 22px 55px rgba(7,17,38,.16);
}
.ffr-tournaments-kicker{display:block;color:#9eb6ff;font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;}
.ffr-tournaments-hero h1{margin:0 0 10px;color:#fff;font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.045em;}
.ffr-tournaments-hero p{margin:0;color:#b9c8e3;max-width:760px;line-height:1.75;font-size:17px;}
.ffr-tournament-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.ffr-tournament-card{
    overflow:hidden;
    border:1px solid #e4e9f2;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 34px rgba(7,17,38,.08);
    transition:transform .22s ease,box-shadow .22s ease;
}
.ffr-tournament-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(7,17,38,.13);}
.ffr-tournament-card-media{aspect-ratio:16/9;background:#edf2fb;overflow:hidden;}
.ffr-tournament-card-media img{width:100%;height:100%;object-fit:cover;display:block;}
.ffr-tournament-card-body{padding:24px;}
.ffr-tournament-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf4ff;color:#2864ff;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;}
.ffr-tournament-card h2{margin:12px 0 10px;color:#071126;font-size:23px;line-height:1.2;letter-spacing:-.025em;}
.ffr-tournament-card p{margin:0 0 16px;color:#667085;line-height:1.7;font-size:14px;}
.ffr-tournament-meta{display:grid;gap:8px;margin-bottom:18px;color:#4b5870;font-size:13px;}
.ffr-tournament-meta strong{color:#14213d;}
.ffr-tournament-card-link{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:11px 15px;border-radius:11px;background:linear-gradient(135deg,#2864ff,#7048f4);color:#fff!important;text-decoration:none!important;font-weight:800;}
.ffr-tournament-empty{padding:50px 24px;text-align:center;border:1px dashed #ccd5e4;border-radius:20px;background:#fff;color:#667085;}
.ffr-tournament-single{padding:44px 22px 64px;}
.ffr-tournament-single-wrap{width:min(920px,100%);margin:0 auto;background:#fff;border:1px solid #e4e9f2;border-radius:22px;box-shadow:0 14px 40px rgba(7,17,38,.08);overflow:hidden;}
.ffr-tournament-single-head{padding:36px 36px 20px;}
.ffr-tournament-single-head h1{margin:10px 0 14px;color:#071126;font-size:clamp(34px,5vw,54px);line-height:1.08;letter-spacing:-.045em;}
.ffr-tournament-single-meta{display:flex;gap:10px;flex-wrap:wrap;color:#667085;font-size:13px;}
.ffr-tournament-single-content{padding:0 36px 36px;color:#27344d;font-size:18px;line-height:1.85;}
.ffr-tournament-single-content img{max-width:100%;height:auto;border-radius:14px;}
.ffr-tournament-cta{display:inline-flex;margin-top:20px;padding:13px 20px;border-radius:12px;background:linear-gradient(135deg,#2864ff,#7048f4);color:#fff!important;text-decoration:none!important;font-weight:800;}
@media(max-width:900px){.ffr-tournament-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:650px){.ffr-tournaments-hero{padding:28px 24px}.ffr-tournament-grid{grid-template-columns:1fr}.ffr-tournament-single-head,.ffr-tournament-single-content{padding-left:22px;padding-right:22px;}}

/* ==========================================================
   FOOTER — custom final footer. Hide old GP footer only.
   ========================================================== */
body .site-footer.ffr-legacy-hidden{display:none!important;}
.ffr-master-footer{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 8%,rgba(40,100,255,.18),transparent 24%),radial-gradient(circle at 88% 15%,rgba(112,72,244,.18),transparent 23%),linear-gradient(135deg,#071126,#0b1731 58%,#111d3b);color:#dce6f8;}
.ffr-master-footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent);}
.ffr-master-footer-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:60px 0 28px;}
.ffr-master-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.25fr .9fr;gap:38px;}
.ffr-master-footer-brand{max-width:340px;}
.ffr-master-footer-logo{display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none!important;font-size:24px;font-weight:900;letter-spacing:-.055em;margin-bottom:17px;}
.ffr-master-footer-logo svg{width:42px;height:42px;flex:0 0 42px;display:block;}
.ffr-master-footer-brand p{margin:0;color:#aebed9;font-size:14px;line-height:1.75;}
.ffr-master-footer-label{display:block;margin-bottom:14px;color:#fff;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.13em;}
.ffr-master-footer-links{list-style:none;margin:0;padding:0;}
.ffr-master-footer-links li{margin:0 0 10px;}
.ffr-master-footer-links a{color:#b9c8e2;text-decoration:none;font-size:14px;}
.ffr-master-footer-links a:hover{color:#fff;}
.ffr-master-footer-card{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.045);}
.ffr-master-footer-card h3{margin:0 0 8px;color:#fff;font-size:17px;}
.ffr-master-footer-card p{margin:0;color:#aebed9;font-size:13px;line-height:1.65;}
.ffr-master-footer-divider{height:1px;margin:38px 0 18px;background:rgba(255,255,255,.08);}
.ffr-master-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;}
.ffr-master-footer-copy{color:#879abb;font-size:13px;}
.ffr-master-footer-bottom-links{display:flex;flex-wrap:wrap;gap:16px;}
.ffr-master-footer-bottom-links a{color:#9eb0cf;font-size:12px;text-decoration:none;}
.ffr-master-footer-bottom-links a:hover{color:#fff;}
@media(max-width:1000px){.ffr-master-footer-grid{grid-template-columns:1fr 1fr}.ffr-master-footer-brand{max-width:none}}
@media(max-width:600px){.ffr-master-footer-inner{width:min(100% - 28px,1180px);padding:44px 0 24px}.ffr-master-footer-grid{grid-template-columns:1fr;gap:30px}.ffr-master-footer-bottom{align-items:flex-start;flex-direction:column}}

/* FFR Master Core 1.4 - tournament account & registration UI */
.ffr-tournament-lead{max-width:760px;margin:0 0 22px;color:#56647c;font-size:17px;line-height:1.75}
.ffr-tournament-body-copy{margin-bottom:32px}
.ffr-tournament-registration{margin-top:34px;padding:30px;border:1px solid #e5eaf2;border-radius:20px;background:linear-gradient(180deg,#fbfcff,#f7f9fd);box-shadow:0 10px 30px rgba(7,17,38,.05)}
.ffr-tournament-registration-head h2{margin:6px 0 10px;color:#071126;font-size:30px}
.ffr-tournament-registration-head p{margin:0;color:#667085;line-height:1.75}
.ffr-tournament-registration-kicker,.ffr-tournament-auth-kicker{display:block;color:#2864ff;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ffr-tournament-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.ffr-tournament-step{padding:20px;border:1px solid #e3e8f1;border-radius:16px;background:#fff}
.ffr-tournament-step strong{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2864ff,#7048f4);color:#fff;font-size:13px;margin-bottom:14px}
.ffr-tournament-step h3{margin:0 0 7px;color:#071126;font-size:17px}
.ffr-tournament-step p{margin:0;color:#667085;line-height:1.65;font-size:14px}
.ffr-tournament-authbox{padding:24px;border:1px solid #dfe6f1;border-radius:16px;background:#fff}
.ffr-tournament-authbox h3{margin:7px 0 8px;color:#071126;font-size:22px}
.ffr-tournament-authbox p{margin:0 0 18px;color:#667085;line-height:1.7}
.ffr-tournament-auth-actions{display:flex;gap:12px;flex-wrap:wrap}
.ffr-tournament-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:12px;border:1px solid #d8dfeb;color:#1c2a42!important;background:#fff;text-decoration:none!important;font-weight:800}
.ffr-tournament-register-form{margin-top:8px}
.ffr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:16px}
.ffr-form-grid label{display:block;color:#1b2a43;font-size:13px;font-weight:800}
.ffr-form-grid input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d7deea;border-radius:11px;background:#fff;color:#111a30;font-size:15px;box-sizing:border-box}
.ffr-form-grid input:focus{outline:none;border-color:#2864ff;box-shadow:0 0 0 3px rgba(40,100,255,.10)}
.ffr-tournament-alert{margin-bottom:20px;padding:13px 15px;border-radius:11px;background:#eef4ff;border:1px solid #d9e6ff;color:#21427b;font-weight:700}
.ffr-tournament-alert-success{background:#ecfdf3;border-color:#ccefd9;color:#166534}
.ffr-tournament-alert-error{background:#fff1f2;border-color:#ffd4d8;color:#9f1239}
.ffr-tournament-legacy-link{margin-top:18px;font-size:13px;color:#667085}
@media(max-width:800px){.ffr-tournament-steps{grid-template-columns:1fr}.ffr-form-grid{grid-template-columns:1fr}}
