/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.1
*/

/* ── TOKENS ── */
:root {
    --brand:   #68ED2B;
    --brand-lt:#C5FFA8;
    --brand-dk:#4CB51A;
    --dark:    #0C1A06;
    --dark2:   #162B0B;
    --bg:      #F4FFED;
    --bg2:     #E5FBCF;
    --border:  #BEF299;
    --text:    #172A08;
    --muted:   #4D7A2E;
    --white:   #ffffff;
    --radius:  10px;
    --shadow:  0 2px 14px rgba(104,237,43,.13);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.65;color:var(--text);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none}

/* ── KILL GP ── */
.site-header,.site-footer,.generate-back-to-top,
#generate-back-to-top,.site-main,.content-area,
.inside-article,.widget-area,.main-navigation,
.site-content,.inside-site-inner,.grid-container{
    all:unset;display:revert
}
#page{display:block}
body{margin:0 !important;padding:0 !important}
.generate-back-to-top,#generate-back-to-top{display:none!important}

/* ── CONTAINER ── */
.fi-container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}

/* ── BUTTONS ── */
.fi-btn{
    display:inline-block;padding:11px 26px;border-radius:var(--radius);
    background:var(--brand);color:var(--dark);font-weight:700;font-size:.93rem;
    transition:background .2s,transform .15s;white-space:nowrap;line-height:1
}
.fi-btn:hover{background:var(--brand-dk);color:#fff;transform:translateY(-1px)}
.fi-btn-outline{
    background:transparent;border:2px solid var(--brand);color:var(--brand)
}
.fi-btn-outline:hover{background:var(--brand);color:var(--dark)}
.fi-btn-sm{padding:8px 18px;font-size:.85rem}
.fi-btn-full{display:block;width:100%;text-align:center}

/* ── HEADER ── */
#fi-header{
    position:sticky;top:0;z-index:200;background:var(--dark);
    border-bottom:2px solid var(--brand)
}
.fi-header-inner{
    display:flex;align-items:center;gap:12px;
    max-width:1180px;margin:0 auto;padding:0 20px;height:60px
}
#fi-logo{
    font-size:1.25rem;font-weight:900;color:var(--white);
    letter-spacing:-.5px;margin-right:auto;flex-shrink:0
}
#fi-logo em{color:var(--brand);font-style:normal}

#fi-nav{display:flex;align-items:center;gap:2px}
#fi-nav a{
    display:block;padding:8px 12px;color:rgba(255,255,255,.85);
    font-size:.88rem;font-weight:600;border-radius:6px;transition:color .2s,background .2s
}
#fi-nav a:hover,#fi-nav a.current-menu-item{color:var(--brand);background:rgba(104,237,43,.08)}
#fi-nav .sub-menu{display:none}

.fi-search-btn{
    color:rgba(255,255,255,.75);padding:6px;border-radius:6px;
    transition:color .2s;flex-shrink:0
}
.fi-search-btn:hover{color:var(--brand)}

#fi-hamburger{
    display:none;color:rgba(255,255,255,.85);padding:6px;
    border-radius:6px;flex-shrink:0
}
#fi-hamburger:hover{color:var(--brand)}

.fi-search-bar{
    display:none;background:var(--dark2);
    border-top:1px solid rgba(255,255,255,.08);padding:12px 20px
}
.fi-search-bar.open{display:block}
.fi-search-bar form{
    display:flex;align-items:center;max-width:600px;margin:0 auto;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);
    border-radius:var(--radius);overflow:hidden
}
.fi-search-bar input{
    flex:1;background:none;border:none;outline:none;
    color:#fff;padding:10px 16px;font-size:.95rem
}
.fi-search-bar input::placeholder{color:rgba(255,255,255,.4)}
.fi-search-bar button{
    color:rgba(255,255,255,.7);padding:10px 14px;border-left:1px solid rgba(255,255,255,.1)
}
.fi-search-bar button:hover{color:var(--brand)}

#fi-mobile-nav{
    display:none;background:var(--dark2);padding:14px 20px;
    border-top:1px solid rgba(255,255,255,.08)
}
#fi-mobile-nav.open{display:block}
#fi-mobile-nav a{
    display:block;padding:10px 0;color:rgba(255,255,255,.85);
    font-size:.95rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06)
}
#fi-mobile-nav a:last-child{border-bottom:none}
#fi-mobile-nav a:hover{color:var(--brand)}
#fi-mobile-nav .sub-menu{display:none}

/* ── SECTIONS ── */
.fi-section{padding:60px 0}
.fi-section-bg{background:var(--bg)}
.fi-section-head{text-align:center;margin-bottom:40px}
.fi-section-title{font-size:1.75rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.fi-section-sub{color:var(--muted);font-size:1rem}

/* ── HERO ── */
.fi-hero{
    position:relative;min-height:520px;display:flex;align-items:center;
    background-image:var(--hero-img,none);background-size:cover;background-position:center;
    background-color:var(--dark)
}
.fi-hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(12,26,6,.82) 40%,rgba(12,26,6,.45) 100%)
}
.fi-hero-content{
    position:relative;z-index:1;max-width:700px;
    padding:60px 20px;margin-left:calc((100% - 1180px)/2);
    padding-left:20px
}
@media(max-width:1220px){.fi-hero-content{margin-left:0;padding:50px 28px}}
.fi-hero-label{
    display:inline-block;background:var(--brand);color:var(--dark);
    font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
    padding:5px 14px;border-radius:50px;margin-bottom:18px
}
.fi-hero-title{font-size:clamp(1.7rem,4vw,2.8rem);font-weight:900;color:#fff;line-height:1.2;margin-bottom:14px}
.fi-hero-title a{color:inherit}
.fi-hero-title a:hover{color:var(--brand-lt)}
.fi-hero-meta{color:rgba(255,255,255,.6);font-size:.9rem;margin-bottom:26px}
.fi-hero-btns{display:flex;flex-wrap:wrap;gap:12px}

/* ── STATS BAR ── */
.fi-stats-bar{background:var(--dark2);padding:22px 0;border-bottom:1px solid rgba(104,237,43,.2)}
.fi-stats-inner{display:flex;justify-content:center;gap:0;flex-wrap:wrap}
.fi-stat{
    text-align:center;padding:10px 40px;
    border-right:1px solid rgba(255,255,255,.08)
}
.fi-stat:last-child{border-right:none}
.fi-stat-num{display:block;font-size:1.5rem;font-weight:900;color:var(--brand);line-height:1.1}
.fi-stat-label{display:block;font-size:.78rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}

/* ── CATEGORY GRID ── */
.fi-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.fi-cat-card{
    display:flex;flex-direction:column;border-radius:var(--radius);
    overflow:hidden;border:1px solid var(--border);background:#fff;
    transition:transform .2s,box-shadow .2s;text-decoration:none
}
.fi-cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.fi-cat-img{
    height:140px;background-size:cover;background-position:center;
    background-color:var(--bg2)
}
.fi-cat-icon{
    display:flex;align-items:center;justify-content:center;
    font-size:2.2rem
}
.fi-cat-info{padding:14px 16px}
.fi-cat-name{display:block;font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:4px}
.fi-cat-count{display:block;font-size:.8rem;color:var(--muted)}

/* ── RECIPE GRID & CARD ── */
.fi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fi-card{
    background:#fff;border-radius:var(--radius);border:1px solid var(--border);
    overflow:hidden;transition:transform .2s,box-shadow .2s
}
.fi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.fi-card-link{display:block;text-decoration:none;color:inherit}
.fi-card-img{
    position:relative;padding-bottom:66%;overflow:hidden;
    background:var(--bg2)
}
.fi-card-img img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    transition:transform .35s
}
.fi-card:hover .fi-card-img img{transform:scale(1.05)}
.fi-card-placeholder{
    position:absolute;inset:0;display:flex;
    align-items:center;justify-content:center
}
.fi-badge{
    position:absolute;top:10px;left:10px;background:var(--brand);color:var(--dark);
    font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
    padding:4px 10px;border-radius:50px
}
.fi-card-body{padding:14px 16px}
.fi-card-title{
    font-size:.95rem;font-weight:700;color:var(--dark);line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    margin-bottom:6px
}
.fi-card-date{font-size:.78rem;color:var(--muted)}
.fi-load-wrap{text-align:center;margin-top:36px}

/* ── SPOTLIGHT ── */
.fi-spotlight{background:var(--bg2);padding:60px 0}
.fi-spotlight-inner{
    display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center
}
.fi-spotlight-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.fi-spotlight-img img{width:100%;height:380px;object-fit:cover}
.fi-spotlight-body{min-width:0}
.fi-spotlight-label{
    display:inline-block;background:var(--brand);color:var(--dark);
    font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
    padding:5px 14px;border-radius:50px;margin-bottom:16px
}
.fi-spotlight-title{font-size:1.7rem;font-weight:800;color:var(--dark);margin-bottom:14px;line-height:1.25}
.fi-spotlight-exc{color:var(--muted);line-height:1.7;margin-bottom:22px}

/* ── AUTHOR STRIP ── */
.fi-author-strip{background:var(--dark);padding:50px 0}
.fi-author-inner{display:flex;align-items:center;gap:30px}
.fi-author-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid var(--brand);flex-shrink:0}
.fi-author-text{flex:1;min-width:0}
.fi-author-name{font-size:1.15rem;font-weight:800;color:#fff;margin-bottom:8px}
.fi-author-bio{color:rgba(255,255,255,.65);font-size:.93rem;line-height:1.65;margin-bottom:16px}

/* ── NEWSLETTER ── */
.fi-nl-section{padding:60px 0;background:var(--brand)}
.fi-nl-box{text-align:center;max-width:560px;margin:0 auto}
.fi-nl-title{font-size:1.65rem;font-weight:900;color:var(--dark);margin-bottom:10px}
.fi-nl-sub{color:rgba(12,26,6,.65);margin-bottom:22px;font-size:.95rem}
.fi-nl-form{display:flex;gap:10px;max-width:420px;margin:0 auto}
.fi-nl-input{
    flex:1;padding:12px 16px;border-radius:var(--radius);
    border:2px solid rgba(12,26,6,.2);font-size:.93rem;outline:none;background:#fff
}
.fi-nl-input:focus{border-color:var(--dark)}
.fi-nl-full{width:100%;margin-bottom:8px}

/* ── BREADCRUMBS ── */
.fi-breadcrumbs{
    font-size:.82rem;color:var(--muted);margin-bottom:16px;
    display:flex;flex-wrap:wrap;align-items:center;gap:4px
}
.fi-breadcrumbs a{color:var(--muted)}
.fi-breadcrumbs a:hover{color:var(--brand-dk)}
.fi-bc-sep{color:var(--border)}
/* Rank Math breadcrumb output */
.fi-breadcrumbs .rank-math-breadcrumb p{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0}
.fi-breadcrumbs .rank-math-breadcrumb a{color:var(--muted);transition:color .2s}
.fi-breadcrumbs .rank-math-breadcrumb a:hover{color:var(--brand-dk)}
.fi-breadcrumbs .rank-math-breadcrumb .separator{color:var(--border);margin:0 2px}
.fi-breadcrumbs-dark .rank-math-breadcrumb a{color:rgba(255,255,255,.6)}
.fi-breadcrumbs-dark .rank-math-breadcrumb a:hover{color:var(--brand-lt)}
.fi-breadcrumbs-dark .rank-math-breadcrumb .separator{color:rgba(255,255,255,.3)}
.fi-breadcrumbs-dark a{color:rgba(255,255,255,.6)}
.fi-breadcrumbs-dark a:hover{color:var(--brand-lt)}
.fi-breadcrumbs-dark .fi-bc-sep{color:rgba(255,255,255,.3)}

/* ── SINGLE POST ── */
.fi-single-wrap{padding:40px 0 60px}
.fi-single-layout{display:grid;grid-template-columns:1fr 310px;gap:46px;align-items:start}
.fi-article{min-width:0}
.fi-single-hero{margin-bottom:28px}
.fi-single-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:var(--dark);line-height:1.25;margin-bottom:12px}
.fi-single-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fi-meta-author{font-size:.85rem;font-weight:700;color:var(--brand-dk);transition:color .2s}
.fi-meta-author:hover{color:var(--dark)}
.fi-meta-sep{font-size:.85rem;color:var(--border)}
.fi-meta-date{font-size:.85rem;color:var(--muted)}
.fi-meta-updated{
    font-size:.82rem;color:var(--muted);background:var(--bg2);
    padding:3px 10px;border-radius:50px;border:1px solid var(--border)
}
.fi-single-content{font-size:1rem;line-height:1.75;color:var(--text)}
.fi-single-content h2{font-size:1.4rem;font-weight:800;color:var(--dark);margin:28px 0 12px}
.fi-single-content h3{font-size:1.15rem;font-weight:700;color:var(--dark);margin:22px 0 10px}
.fi-single-content p{margin-bottom:18px}
.fi-single-content ul,.fi-single-content ol{margin:0 0 18px 24px;list-style:revert}
.fi-single-content img{border-radius:var(--radius);margin:20px 0}
.fi-single-content a{color:var(--brand-dk);text-decoration:underline}
.fi-single-content a:hover{color:var(--dark)}

/* Related */
.fi-related{margin-top:48px;padding-top:36px;border-top:2px solid var(--border)}
.fi-related-title{font-size:1.2rem;font-weight:800;color:var(--dark);margin-bottom:22px}
.fi-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* Sidebar */
.fi-sidebar{display:flex;flex-direction:column;gap:22px}
.fi-sidebar-widget{
    background:#fff;border:1px solid var(--border);
    border-radius:var(--radius);padding:22px;overflow:hidden
}
.fi-sidebar-about{text-align:center}
.fi-sidebar-avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;margin:0 auto 12px;border:2px solid var(--brand)}
.fi-sidebar-name{font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:6px}
.fi-sidebar-bio{font-size:.83rem;color:var(--muted);line-height:1.55;margin-bottom:14px}
.fi-widget-title{
    font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;
    color:var(--muted);margin-bottom:14px;padding-bottom:8px;
    border-bottom:2px solid var(--brand)
}
.fi-widget-cats li{border-bottom:1px solid var(--bg2)}
.fi-widget-cats li:last-child{border-bottom:none}
.fi-widget-cats a{
    display:flex;justify-content:space-between;align-items:center;
    padding:8px 0;font-size:.88rem;color:var(--text);transition:color .2s
}
.fi-widget-cats a:hover{color:var(--brand-dk)}
.fi-widget-cats a span{
    font-size:.78rem;background:var(--bg2);color:var(--muted);
    padding:2px 8px;border-radius:50px
}
.fi-sidebar-nl-text{font-size:.83rem;color:var(--muted);margin-bottom:10px}
.fi-sidebar-recent{
    display:flex;align-items:center;gap:10px;padding:8px 0;
    border-bottom:1px solid var(--bg2);transition:color .2s
}
.fi-sidebar-recent:last-child{border-bottom:none}
.fi-sidebar-recent img{width:56px;height:44px;border-radius:6px;object-fit:cover;flex-shrink:0}
.fi-sidebar-recent span{font-size:.83rem;color:var(--text);line-height:1.4}
.fi-sidebar-recent:hover span{color:var(--brand-dk)}

/* ── ARCHIVE HERO ── */
.fi-archive-hero{background:var(--dark);padding:48px 0}
.fi-archive-title{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:900;color:#fff;margin-bottom:8px}
.fi-archive-desc{color:rgba(255,255,255,.6);font-size:1rem;margin-bottom:8px}
.fi-archive-count{font-size:.85rem;color:var(--brand);font-weight:700}

/* ── FILTER BAR ── */
.fi-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.fi-filter-btn{
    padding:9px 18px;border-radius:50px;border:1.5px solid var(--border);
    font-size:.88rem;font-weight:600;color:var(--muted);transition:all .2s;background:#fff
}
.fi-filter-btn:hover,.fi-filter-btn.active{
    background:var(--brand);color:var(--dark);border-color:var(--brand)
}

/* ── DEFAULT PAGE ── */
.fi-page-wrap{padding:50px 0}
.fi-page-content{max-width:760px;font-size:1rem;line-height:1.75;color:var(--text)}
.fi-page-content h1,.fi-page-content h2{font-size:1.4rem;font-weight:800;color:var(--dark);margin:28px 0 12px}
.fi-page-content h3{font-size:1.1rem;font-weight:700;color:var(--dark);margin:20px 0 8px}
.fi-page-content p{margin-bottom:16px}
.fi-page-content ul,.fi-page-content ol{margin:0 0 16px 24px;list-style:revert}
.fi-page-content a{color:var(--brand-dk);text-decoration:underline}
.fi-page-content a:hover{color:var(--dark)}

/* ── ABOUT PAGE ── */
.fi-about-hero{background:var(--dark);padding:52px 0}
.fi-about-h1{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:900;color:#fff;margin-bottom:10px}
.fi-about-tagline{color:rgba(255,255,255,.6);font-size:1.05rem}
.fi-about-intro{display:grid;grid-template-columns:220px 1fr;gap:44px;align-items:start}
.fi-about-photo{text-align:center}
.fi-about-avatar{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid var(--brand);margin:0 auto}
.fi-about-avatar-placeholder{width:200px;height:200px;border-radius:50%;background:var(--bg2);border:4px solid var(--brand);margin:0 auto}
.fi-about-intro-text h2{font-size:1.5rem;font-weight:800;color:var(--dark);margin-bottom:16px}
.fi-about-intro-text p{color:var(--text);line-height:1.75;margin-bottom:14px}
.fi-pullquote-section{background:var(--brand);padding:48px 0;text-align:center}
.fi-quote{
    font-size:clamp(1.1rem,2.5vw,1.4rem);font-style:italic;font-weight:600;
    color:var(--dark);max-width:700px;margin:0 auto 12px;line-height:1.55
}
.fi-quote-cite{font-size:.9rem;font-weight:700;color:rgba(12,26,6,.65)}
.fi-about-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.fi-about-cat-card{
    background:#fff;border:1px solid var(--border);border-radius:var(--radius);
    padding:22px 18px;text-align:center
}
.fi-about-cat-icon{font-size:2rem;display:block;margin-bottom:10px}
.fi-about-cat-card h3{font-size:.95rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.fi-about-cat-card p{font-size:.83rem;color:var(--muted);line-height:1.6}
.fi-about-story h2{font-size:1.45rem;font-weight:800;color:var(--dark);margin:32px 0 14px}
.fi-about-story h2:first-child{margin-top:0}
.fi-about-story p{color:var(--text);line-height:1.75;margin-bottom:14px}
.fi-about-story a{color:var(--brand-dk);text-decoration:underline}
.fi-about-creds{background:var(--dark2);padding:48px 0}
.fi-creds-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border:1px solid rgba(104,237,43,.2);border-radius:var(--radius);overflow:hidden
}
.fi-creds-grid > div{
    text-align:center;padding:28px 20px;
    border-right:1px solid rgba(104,237,43,.15)
}
.fi-creds-grid > div:last-child{border-right:none}
.fi-cred-num{display:block;font-size:2rem;font-weight:900;color:var(--brand);margin-bottom:6px}
.fi-cred-label{display:block;font-size:.82rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.06em}

/* ── CONTACT PAGE ── */
.fi-contact-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:start}
.fi-contact-info h2{font-size:1.45rem;font-weight:800;color:var(--dark);margin-bottom:14px}
.fi-contact-info > p{color:var(--muted);line-height:1.7;margin-bottom:24px}
.fi-contact-cards{display:flex;flex-direction:column;gap:14px}
.fi-contact-card{
    display:flex;align-items:center;gap:14px;
    padding:14px 18px;background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border)
}
.fi-contact-icon{font-size:1.4rem;flex-shrink:0}
.fi-contact-card strong{display:block;font-size:.88rem;font-weight:700;color:var(--dark);margin-bottom:2px}
.fi-contact-card span{font-size:.85rem;color:var(--muted)}
.fi-form{display:flex;flex-direction:column;gap:18px}
.fi-form-msg{
    padding:12px 16px;border-radius:var(--radius);font-size:.9rem;font-weight:600;display:none
}
.fi-form-msg.success{display:block;background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.fi-form-msg.error{display:block;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.fi-form-row{display:flex;flex-direction:column;gap:6px}
.fi-form-row label{font-size:.88rem;font-weight:700;color:var(--dark)}
.fi-form-row label span{color:#e53e3e}
.fi-form-row input,.fi-form-row select,.fi-form-row textarea{
    padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);
    font-size:.93rem;color:var(--text);outline:none;background:#fff;
    transition:border-color .2s;font-family:inherit
}
.fi-form-row input:focus,.fi-form-row select:focus,.fi-form-row textarea:focus{border-color:var(--brand)}
.fi-form-row textarea{resize:vertical;min-height:130px}

/* ── WPRM ── */
.wprm-recipe-container{
    background:var(--bg)!important;border:2px solid var(--brand)!important;
    border-radius:var(--radius)!important;margin:30px 0!important
}
.wprm-recipe-block-container-columns .wprm-recipe-block-container-column{background:transparent!important}
.wprm-recipe-name{color:var(--dark)!important}
.wprm-recipe-header{background:var(--dark)!important;color:#fff!important;border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0!important}

/* ── FOOTER ── */
#fi-footer{background:var(--dark);border-top:3px solid var(--brand);padding:52px 0 0}
.fi-footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;
    max-width:1180px;margin:0 auto;padding:0 20px 48px
}
.fi-footer-brand{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:12px}
.fi-footer-brand em{color:var(--brand);font-style:normal}
.fi-footer-tagline{color:rgba(255,255,255,.5);font-size:.85rem;line-height:1.65;margin-bottom:18px}
.fi-footer-social{display:flex;gap:10px}
.fi-footer-social a{
    color:rgba(255,255,255,.5);transition:color .2s;
    width:32px;height:32px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.1);border-radius:6px
}
.fi-footer-social a:hover{color:var(--brand);border-color:var(--brand)}
.fi-footer-head{
    font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
    color:rgba(255,255,255,.35);margin-bottom:16px
}
.fi-footer-links{display:flex;flex-direction:column;gap:10px}
.fi-footer-links a{color:rgba(255,255,255,.6);font-size:.87rem;transition:color .2s}
.fi-footer-links a:hover{color:var(--brand)}
.fi-footer-nl-text{color:rgba(255,255,255,.5);font-size:.85rem;line-height:1.6;margin-bottom:14px}
.fi-footer-nl{display:flex;flex-direction:column;gap:8px}
.fi-footer-nl input{
    padding:10px 14px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.06);color:#fff;font-size:.88rem;outline:none
}
.fi-footer-nl input::placeholder{color:rgba(255,255,255,.3)}
.fi-footer-nl input:focus{border-color:var(--brand)}
.fi-footer-nl button{
    padding:10px 14px;border-radius:var(--radius);background:var(--brand);
    color:var(--dark);font-size:.88rem;font-weight:700;transition:background .2s
}
.fi-footer-nl button:hover{background:var(--brand-dk);color:#fff}
.fi-footer-bottom{
    max-width:1180px;margin:0 auto;padding:18px 20px;
    border-top:1px solid rgba(255,255,255,.07);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px
}
.fi-footer-copy{font-size:.8rem;color:rgba(255,255,255,.3)}
.fi-footer-legal{display:flex;gap:18px}
.fi-footer-legal a{font-size:.8rem;color:rgba(255,255,255,.3);transition:color .2s}
.fi-footer-legal a:hover{color:rgba(255,255,255,.6)}

/* ── BACK TO TOP ── */
#fi-back-top{
    position:fixed;bottom:24px;right:24px;z-index:300;
    width:40px;height:40px;border-radius:50%;background:var(--brand);
    color:var(--dark);font-size:1.3rem;font-weight:700;
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .3s;box-shadow:0 3px 12px rgba(104,237,43,.35)
}
#fi-back-top.visible{opacity:1;pointer-events:auto}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
    .fi-cat-grid{grid-template-columns:repeat(3,1fr)}
    .fi-about-cats{grid-template-columns:repeat(3,1fr)}
    .fi-grid{grid-template-columns:repeat(3,1fr)}
    .fi-footer-grid{grid-template-columns:1fr 1fr;gap:30px}
    .fi-creds-grid{grid-template-columns:repeat(2,1fr)}
    .fi-creds-grid>div:nth-child(2){border-right:none}
    .fi-creds-grid>div:nth-child(3){border-top:1px solid rgba(104,237,43,.15)}
    .fi-creds-grid>div:nth-child(4){border-top:1px solid rgba(104,237,43,.15)}
}
@media(max-width:860px){
    #fi-nav{display:none}
    #fi-hamburger{display:flex}
    .fi-single-layout{grid-template-columns:1fr}
    .fi-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .fi-spotlight-inner{grid-template-columns:1fr}
    .fi-spotlight-img img{height:260px}
    .fi-about-intro{grid-template-columns:1fr}
    .fi-about-photo{text-align:left}
    .fi-contact-wrap{grid-template-columns:1fr}
}
@media(max-width:680px){
    .fi-cat-grid{grid-template-columns:repeat(2,1fr)}
    .fi-about-cats{grid-template-columns:repeat(2,1fr)}
    .fi-grid{grid-template-columns:repeat(2,1fr)}
    .fi-related-grid{grid-template-columns:repeat(2,1fr)}
    .fi-footer-grid{grid-template-columns:1fr}
    .fi-stats-inner{gap:0;justify-content:space-around}
    .fi-stat{padding:10px 16px;border-right:none}
    .fi-hero{min-height:400px}
    .fi-sidebar{grid-template-columns:1fr}
    .fi-author-inner{flex-direction:column;text-align:center}
}
@media(max-width:480px){
    .fi-cat-grid{grid-template-columns:1fr 1fr}
    .fi-grid{grid-template-columns:1fr}
    .fi-related-grid{grid-template-columns:1fr}
    .fi-about-cats{grid-template-columns:1fr 1fr}
    .fi-hero-btns{flex-direction:column}
    .fi-nl-form{flex-direction:column}
    .fi-creds-grid{grid-template-columns:1fr 1fr}
    .fi-creds-grid>div:nth-child(2){border-right:none}
    .fi-creds-grid>div:nth-child(odd){border-right:1px solid rgba(104,237,43,.15)}
    .fi-creds-grid>div:nth-child(3),.fi-creds-grid>div:nth-child(4){border-top:1px solid rgba(104,237,43,.15)}
}
