/*
Theme Name: FrogCraft
Theme URI: https://frogcraft.pro/
Author: FrogCraft
Description: A content-independent classic WordPress theme for FrogCraft. Presentation lives in the theme; page copy, media, menus and widgets live in WordPress.
Version: 1.6.10
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: frogcraft
*/

:root{
  --fc-bg:#060806;
  --fc-bg-deep:#040504;
  --fc-surface:#090c09;
  --fc-surface-2:#0c100c;
  --fc-forest:#1f3526;
  --fc-forest-bright:#35553b;
  --fc-gold:#b08c50;
  --fc-gold-bright:#dfc98e;
  --fc-parchment:#eee6d2;
  --fc-text:#d1ccc0;
  --fc-muted:#9a9b94;
  --fc-line:rgba(207,174,105,.18);
  --fc-max:1240px;
  --fc-display:Georgia, "Times New Roman", Times, serif;
  --fc-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fc-header-h:78px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--fc-bg-deep)}
body{margin:0;background:var(--fc-bg);color:var(--fc-parchment);font-family:var(--fc-body);font-size:16.5px;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:var(--fc-gold-bright);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:#ffe088}
button,input,select,textarea{font:inherit}
::selection{background:var(--fc-gold);color:#07100b}

.fc-shell{width:min(calc(100% - 48px),var(--fc-max));margin-inline:auto}
.fc-main{min-height:60vh}

/* Header */
.fc-header{position:sticky;top:0;z-index:1000;height:var(--fc-header-h);border-bottom:1px solid rgba(239,200,102,.10);background:rgba(4,10,6,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.fc-header__inner{height:100%;display:flex;align-items:center;gap:34px}
.fc-brand{display:inline-flex;align-items:center;gap:12px;color:var(--fc-parchment);text-decoration:none;min-width:max-content}
.fc-brand__logo{display:flex;align-items:center}
.fc-brand__logo .custom-logo-link{display:flex;align-items:center}
.fc-brand__logo img{display:block;width:42px;height:42px;object-fit:contain}
.fc-brand__name{font:400 21px/1 var(--fc-display);letter-spacing:.08em;text-transform:uppercase}
.fc-nav{margin-left:auto}
.fc-nav ul,.fc-header-action ul,.fc-footer__menu ul{list-style:none;margin:0;padding:0}
.fc-nav>ul{display:flex;align-items:center;gap:30px}
.fc-nav li{position:relative}
.fc-nav a{display:block;color:#d8d3c3;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fc-nav a:hover,.fc-nav .current-menu-item>a{color:var(--fc-gold-bright)}
.fc-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:240px;padding:16px 0;background:#08120c;border:1px solid var(--fc-line);box-shadow:0 20px 45px rgba(0,0,0,.35)}
.fc-nav li:hover>.sub-menu,.fc-nav li:focus-within>.sub-menu{display:block}
.fc-nav .sub-menu a{padding:10px 18px;font-size:12px;letter-spacing:.05em;text-transform:none}
.fc-header-action ul{display:flex;align-items:center}
.fc-header-action a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid var(--fc-gold);color:var(--fc-gold-bright);text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.fc-header-action a:hover{background:var(--fc-gold);color:#07100b}
.fc-menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;position:relative;cursor:pointer}
.fc-menu-toggle::before,.fc-menu-toggle::after,.fc-menu-toggle span{content:"";position:absolute;left:9px;right:9px;height:1px;background:var(--fc-parchment);transition:.2s ease}
.fc-menu-toggle::before{top:13px}.fc-menu-toggle span{top:20px}.fc-menu-toggle::after{top:27px}
.fc-header.is-open .fc-menu-toggle::before{transform:translateY(7px) rotate(45deg)}
.fc-header.is-open .fc-menu-toggle span{opacity:0}
.fc-header.is-open .fc-menu-toggle::after{transform:translateY(-7px) rotate(-45deg)}

/* Typography */
h1,h2,h3,h4,h5,h6{font-family:var(--fc-display);font-weight:400;color:var(--fc-parchment);line-height:1.06;text-wrap:balance;font-kerning:normal}
h1{font-size:clamp(44px,5.3vw,72px);letter-spacing:-.025em}
h2{font-size:clamp(36px,4.3vw,58px);letter-spacing:-.008em}
h3{font-size:clamp(28px,3vw,42px);letter-spacing:0}
h4{font-size:clamp(22px,2.2vw,30px)}
p{color:var(--fc-text)}

/* Homepage: content comes entirely from the WordPress page. */
.fc-home-content{overflow:hidden;background:var(--fc-bg)}
.fc-home-content>p:empty{display:none}

/* Preserve backgrounds already stored on WPBakery rows / native Cover blocks. */
.fc-home-content .vc_row[style*="background"],
.fc-home-content .vc_row-has-fill,
.fc-home-content .wp-block-cover,
.fc-home-content .wp-block-group.has-background{
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}

/* WPBakery compatibility: the theme styles the output but does not own the content. */
.fc-home-content>.vc_row,
.fc-home-content .vc_section{
  position:relative;
  margin-left:0;
  margin-right:0;
  padding-top:clamp(76px,8vw,126px);
  padding-bottom:clamp(76px,8vw,126px);
}
.fc-home-content>.vc_row:first-child{min-height:calc(82svh - var(--fc-header-h));display:flex;align-items:center;padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(70px,8vw,120px)}
.fc-home-content>.vc_row:first-child>.wpb_column{width:100%}
.fc-home-content>.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper,
.fc-home-content .vc_section>.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper{
  width:min(calc(100% - 48px),var(--fc-max));margin-inline:auto;
}
.fc-home-content .vc_column-inner{padding-left:18px;padding-right:18px}
.fc-home-content .wpb_content_element{margin-bottom:28px}
.fc-home-content .wpb_text_column p{font-size:clamp(17px,1.6vw,20px);line-height:1.65}
.fc-home-content .wpb_text_column>div>*:first-child{margin-top:0}
.fc-home-content .wpb_text_column>div>*:last-child{margin-bottom:0}
.fc-home-content .wpb_single_image img{display:block;margin-inline:auto}
.fc-home-content .vc_separator{color:var(--fc-line)}
.fc-home-content .vc_separator .vc_sep_line{border-color:var(--fc-line)!important}
.fc-home-content .vc_btn3,.fc-home-content .vc_general.vc_btn3{border-radius:0!important;border:1px solid var(--fc-gold)!important;background:var(--fc-gold)!important;color:#07100b!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;box-shadow:none!important}
.fc-home-content .vc_btn3:hover{background:var(--fc-gold-bright)!important;border-color:var(--fc-gold-bright)!important}

/* Native editor blocks get the same visual system. */
.fc-home-content>.wp-block-group,
.fc-home-content>.wp-block-cover,
.fc-home-content>.wp-block-columns,
.fc-home-content>.wp-block-media-text,
.fc-home-content>.wp-block-heading,
.fc-home-content>p,
.fc-home-content>figure{
  margin-top:0;margin-bottom:0;
}
.fc-home-content>.wp-block-group{padding-block:clamp(76px,8vw,126px)}
.fc-home-content>.wp-block-group>.wp-block-group__inner-container,
.fc-home-content>.wp-block-columns,
.fc-home-content>.wp-block-media-text,
.fc-home-content>.wp-block-heading,
.fc-home-content>p,
.fc-home-content>figure:not(.alignfull){width:min(calc(100% - 48px),var(--fc-max));margin-inline:auto}
.fc-home-content .wp-block-cover{min-height:70vh;padding:clamp(76px,8vw,126px) 24px}
.fc-home-content .wp-block-cover__inner-container{width:min(100%,var(--fc-max));margin-inline:auto}
.fc-home-content .wp-block-button__link{border-radius:0;border:1px solid var(--fc-gold);background:var(--fc-gold);color:#07100b;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

/* Give image-backed homepage sections a cinematic overlay without replacing their image. */
.fc-home-content .vc_row[style*="background-image"]::before,
.fc-home-content .wp-block-cover::before{
  content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,8,5,.20),rgba(3,8,5,.52));z-index:0
}
.fc-home-content .vc_row[style*="background-image"]>.wpb_column,
.fc-home-content .wp-block-cover>*{position:relative;z-index:1}

/* Existing homepage details */
.home .fc-home-content h1,.home .fc-home-content h2,.home .fc-home-content h3{margin-top:0;margin-bottom:.45em}
.home .fc-home-content h3{font-size:clamp(34px,4vw,58px)}
.home .fc-home-content iframe{display:block;max-width:100%;margin-inline:auto;border:1px solid var(--fc-line)}
.home .fc-home-content input[type=text],
.home .fc-home-content input[type=password],
.home .fc-home-content input[type=email],
.home .fc-home-content textarea{
  width:100%;max-width:520px;padding:13px 15px;border:1px solid rgba(239,200,102,.22);border-radius:0;background:#07110b;color:var(--fc-parchment);outline:none
}
.home .fc-home-content input:focus,.home .fc-home-content textarea:focus{border-color:var(--fc-gold)}

/* Generic pages/posts */
.fc-page{padding:clamp(110px,12vw,160px) 0 100px}
.fc-page__header{max-width:900px;margin-bottom:50px}
.fc-title{margin:0}.fc-title--lg{font-size:clamp(42px,5vw,68px)}
.fc-rule{width:64px;margin-top:28px;border-top:1px solid var(--fc-gold)}
.entry-content{max-width:900px;color:var(--fc-text)}
.entry-content p,.entry-content li{font-size:17px;line-height:1.75}
.entry-content h2{margin-top:1.8em}.entry-content h3{margin-top:1.7em}
.entry-content img{border:1px solid rgba(239,200,102,.12)}
.fc-post-list{display:grid;gap:0}.fc-post-card{padding:34px 0;border-top:1px solid var(--fc-line)}
.fc-post-card h2{margin:0 0 10px;font-size:34px}.fc-post-card h2 a{color:var(--fc-parchment);text-decoration:none}
.fc-lede{max-width:720px;font-size:20px}
.fc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--fc-gold);text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.fc-btn--gold{background:var(--fc-gold);color:#07100b}.fc-btn--gold:hover{background:var(--fc-gold-bright);color:#07100b}

/* Widget regions */
.fc-home-widgets{padding:70px 0 100px;border-top:1px solid var(--fc-line)}
.widget{margin:0 0 34px}.widget:last-child{margin-bottom:0}.widget-title{margin:0 0 16px;font-size:24px}
.widget ul{list-style:none;margin:0;padding:0}.widget li+li{margin-top:8px}

/* Footer contains only database-driven site identity, menus and widgets. */
.fc-footer{border-top:1px solid var(--fc-line);background:var(--fc-bg-deep)}
.fc-footer__top{padding:54px 0;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:70px;align-items:start}
.fc-brand--footer{margin-bottom:16px}.fc-site-description{max-width:430px;margin:0;color:var(--fc-muted);font-size:14px}
.fc-footer__widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.fc-footer__widgets .widget-title{font:800 11px/1.2 var(--fc-body);letter-spacing:.15em;text-transform:uppercase;color:#bcb7a8}
.fc-footer__widgets,.fc-footer__widgets p,.fc-footer__widgets li{color:var(--fc-muted);font-size:14px}
.fc-footer__widgets a{color:#cbc6b7;text-decoration:none}.fc-footer__widgets a:hover{color:var(--fc-gold-bright)}
.fc-footer__menu{grid-column:1 / -1;padding-top:26px;border-top:1px solid rgba(239,200,102,.08)}
.fc-footer__menu ul{display:flex;flex-wrap:wrap;gap:14px 24px}.fc-footer__menu a{color:#a9aa9e;text-decoration:none;font-size:13px}.fc-footer__menu a:hover{color:var(--fc-gold-bright)}

@media(max-width:1280px){
  .fc-nav,.fc-header-action{display:none}.fc-menu-toggle{display:block}
  .fc-header.is-open{height:100svh;background:rgba(4,10,6,.98)}
  .fc-header.is-open .fc-header__inner{align-items:flex-start;padding-top:18px;position:relative}
  .fc-header.is-open .fc-nav{display:block;position:absolute;left:24px;right:24px;top:88px}
  .fc-header.is-open .fc-nav>ul{display:grid;gap:0}
  .fc-header.is-open .fc-nav li{border-bottom:1px solid rgba(239,200,102,.1)}
  .fc-header.is-open .fc-nav a{padding:17px 0;font:400 25px/1 var(--fc-display);letter-spacing:0;text-transform:none}
  .fc-header.is-open .fc-nav .sub-menu{display:block;position:static;min-width:0;padding:0 0 10px 18px;border:0;background:transparent;box-shadow:none}
  .fc-header.is-open .fc-nav .sub-menu li{border:0}.fc-header.is-open .fc-nav .sub-menu a{padding:9px 0;font:600 15px/1.4 var(--fc-body)}
  .fc-footer__top{grid-template-columns:1fr;gap:42px}.fc-footer__widgets{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:720px){
  :root{--fc-header-h:64px}
  body{font-size:16px}.fc-shell{width:min(calc(100% - 36px),var(--fc-max))}
  .fc-brand__logo img{width:35px;height:35px}.fc-brand__name{font-size:18px}
  .fc-home-content>.vc_row,
  .fc-home-content .vc_section{padding-top:76px;padding-bottom:76px}
  .fc-home-content>.vc_row:first-child{min-height:calc(90svh - var(--fc-header-h));padding-top:82px;padding-bottom:72px}
  .fc-home-content>.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper,
  .fc-home-content .vc_section>.vc_row>.wpb_column>.vc_column-inner>.wpb_wrapper{width:min(calc(100% - 36px),var(--fc-max))}
  .fc-home-content .vc_column-inner{padding-left:0;padding-right:0}
  .fc-home-content>.wp-block-group>.wp-block-group__inner-container,
  .fc-home-content>.wp-block-columns,
  .fc-home-content>.wp-block-media-text,
  .fc-home-content>.wp-block-heading,
  .fc-home-content>p,
  .fc-home-content>figure:not(.alignfull){width:min(calc(100% - 36px),var(--fc-max))}
  .fc-home-content .wp-block-columns{gap:28px}
  .fc-footer__widgets{grid-template-columns:1fr}.fc-footer__top{padding:44px 0}.fc-footer__menu ul{display:grid;gap:8px}
  .fc-page{padding-top:100px}.entry-content p,.entry-content li{font-size:17px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* --------------------------------------------------------------
   Native content components used by the FrogCraft rebuild.
   These are presentation classes only; all copy and media remain
   in WordPress content / Media Library.
-------------------------------------------------------------- */
body.admin-bar .fc-header{top:32px}

.fc-home-content .fc-section{padding:clamp(84px,9vw,140px) 24px;position:relative}
.fc-home-content .fc-section>.wp-block-group__inner-container{width:min(100%,var(--fc-max));margin-inline:auto}
.fc-home-content .fc-section--narrow>.wp-block-group__inner-container{max-width:860px}
.fc-home-content .fc-section--surface{background:linear-gradient(180deg,#0a1710 0%,#07110b 100%);border-block:1px solid rgba(239,200,102,.08)}
.fc-home-content .fc-section--deep{background:#030805}
.fc-home-content .fc-kicker{margin:0 0 14px;color:var(--fc-gold-bright);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.fc-home-content .fc-lead{max-width:760px;font-size:clamp(19px,2vw,24px);line-height:1.55;color:#d8d3c3}

.fc-home-content .fc-hero{min-height:calc(92svh - var(--fc-header-h));padding:clamp(80px,8vw,120px) 24px;display:flex;align-items:center;background-color:#031008}
.fc-home-content .fc-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(3,8,5,.88) 0%,rgba(3,8,5,.58) 56%,rgba(3,8,5,.74) 100%)!important;opacity:1!important}
.fc-home-content .fc-hero .wp-block-cover__inner-container{width:min(100%,var(--fc-max));margin-inline:auto;text-align:center}
.fc-home-content .fc-hero__crest{margin:0 auto 24px;max-width:285px}
.fc-home-content .fc-hero__crest img{border:0;filter:drop-shadow(0 20px 45px rgba(0,0,0,.48))}
.fc-home-content .fc-hero h1{max-width:1040px;margin:0 auto .34em;font-size:clamp(42px,5vw,68px);line-height:1.04;letter-spacing:-.022em}
.fc-home-content .fc-hero .fc-lead{margin:0 auto 28px}
.fc-home-content .fc-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:28px 0 18px}
.fc-home-content .fc-actions .wp-block-button__link{min-height:52px;padding:14px 22px;border-radius:0}
.fc-home-content .fc-actions .is-style-outline>.wp-block-button__link{background:transparent!important;color:var(--fc-gold-bright)!important;border:1px solid var(--fc-gold)!important}
.fc-home-content .fc-meta{margin:0;color:#a7aa9d;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}

.fc-home-content .fc-manifesto{text-align:center}
.fc-home-content .fc-manifesto h2{max-width:980px;margin-inline:auto}
.fc-home-content .fc-manifesto p{max-width:820px;margin-inline:auto}

.fc-home-content .fc-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0!important;border-block:1px solid var(--fc-line);background:#030805}
.fc-home-content .fc-stat{padding:42px 24px;text-align:center;border-right:1px solid var(--fc-line)}
.fc-home-content .fc-stat:last-child{border-right:0}
.fc-home-content .fc-stat strong{display:block;font:400 clamp(40px,5vw,68px)/1 var(--fc-display);color:var(--fc-gold-bright)}
.fc-home-content .fc-stat span{display:block;margin-top:8px;color:#aeb0a5;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

.fc-home-content .fc-split{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(42px,7vw,96px);align-items:center}
.fc-home-content .fc-split--reverse{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.fc-home-content .fc-split figure{margin:0}
.fc-home-content .fc-split img{display:block;width:100%;border:1px solid rgba(239,200,102,.16);box-shadow:0 24px 70px rgba(0,0,0,.32)}
.fc-home-content .fc-split h2{margin-top:0}

.fc-home-content .fc-feature-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--fc-line);border:1px solid var(--fc-line)}
.fc-home-content .fc-feature{background:#07110b;padding:32px}
.fc-home-content .fc-feature figure{margin:0 0 18px}
.fc-home-content .fc-feature img{width:56px;height:56px;image-rendering:auto;border:0}
.fc-home-content .fc-feature h3{font-size:28px;margin:0 0 10px}
.fc-home-content .fc-feature p{margin:0;font-size:16px}

.fc-home-content .fc-dev-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fc-home-content .fc-dev-card{padding:32px;border:1px solid var(--fc-line);background:#07110b}
.fc-home-content .fc-dev-card h3{margin-top:0}

.fc-home-content .fc-cta{text-align:center;background:radial-gradient(circle at 50% 0%,rgba(37,93,53,.30),transparent 48%),#030805}
.fc-home-content .fc-cta p{max-width:700px;margin-inline:auto}

/* General imported-page components. */
.entry-content .fc-page-lead{font-size:21px;line-height:1.6;color:#d8d3c3}
.entry-content .fc-content-section{margin:0 0 52px;padding-bottom:44px;border-bottom:1px solid rgba(239,200,102,.09)}
.entry-content .fc-content-section:last-child{border-bottom:0}
.entry-content .fc-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:34px 0}
.entry-content .fc-gallery figure{margin:0}
.entry-content .fc-gallery img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.entry-content figcaption{margin-top:8px;color:var(--fc-muted);font-size:13px}
.entry-content .fc-boss-race{margin:0 0 64px;padding:30px;border:1px solid var(--fc-line);background:#07110b}
.entry-content .fc-boss-race__heading{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.entry-content .fc-boss-race__heading img{width:64px;height:64px;border:0}
.entry-content .fc-boss-race__heading h2{margin:0}
.entry-content .fc-boss-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.entry-content .fc-boss{padding:20px;border-top:1px solid var(--fc-line)}
.entry-content .fc-boss img{width:92px;height:92px;border:0}
.entry-content .fc-boss h3{font-size:25px;margin:.6em 0 .25em}
.entry-content .fc-boss p{margin:0;color:var(--fc-muted);font-style:italic;font-size:15px}
.entry-content .fc-rule-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.entry-content .fc-rule-card{padding:28px;border:1px solid var(--fc-line);background:#07110b}
.entry-content .fc-rule-card h3{margin-top:0}
.entry-content .fc-link-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.entry-content .fc-link-card{padding:28px;border:1px solid var(--fc-line);background:#07110b}
.entry-content .fc-link-card h3{margin-top:0}

@media(max-width:900px){
  .fc-home-content .fc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fc-home-content .fc-stat:nth-child(2){border-right:0}.fc-home-content .fc-stat:nth-child(-n+2){border-bottom:1px solid var(--fc-line)}
  .fc-home-content .fc-split,.fc-home-content .fc-split--reverse{grid-template-columns:1fr}
  .fc-home-content .fc-feature-list{grid-template-columns:1fr 1fr}
  .entry-content .fc-boss-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body.admin-bar .fc-header{top:46px}
  .fc-home-content .fc-hero{min-height:auto;padding-top:74px;padding-bottom:74px}
  .fc-home-content .fc-hero__crest{max-width:210px}
  .fc-home-content .fc-actions{display:grid;grid-template-columns:1fr}
  .fc-home-content .fc-actions .wp-block-button{width:100%}.fc-home-content .fc-actions .wp-block-button__link{width:100%}
  .fc-home-content .fc-stats{grid-template-columns:1fr 1fr}
  .fc-home-content .fc-stat{padding:28px 14px}
  .fc-home-content .fc-feature-list{grid-template-columns:1fr}
  .fc-home-content .fc-dev-grid{grid-template-columns:1fr}
  .entry-content .fc-gallery{grid-template-columns:1fr}
  .entry-content .fc-boss-grid{grid-template-columns:1fr}
  .entry-content .fc-rule-grid,.entry-content .fc-link-grid{grid-template-columns:1fr}
  .entry-content .fc-boss-race{padding:22px}
}


/* --------------------------------------------------------------
   v1.6.2 Media Library artwork selectors

   The three original artworks are reusable atmospheric scenes, not mandatory
   contiguous bands. Homepage content can opt into them with fc-scene--art-1,
   fc-scene--art-2 and fc-scene--art-3. This lets the composition insert quiet
   solid sections between them while preserving artwork order.
-------------------------------------------------------------- */
.fc-home-content .fc-scene--art-1,
.fc-home-content .fc-scene--art-2,
.fc-home-content .fc-scene--art-3{
  position:relative;
  isolation:isolate;
  background-color:#031008;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.fc-home-content .fc-scene--art-1::before,
.fc-home-content .fc-scene--art-2::before,
.fc-home-content .fc-scene--art-3::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(3,8,5,.40),rgba(3,8,5,.78));
}
.home.fc-has-artwork-1 .fc-home-content .fc-scene--art-1{background-image:var(--fc-artwork-1)!important}
.home.fc-has-artwork-2 .fc-home-content .fc-scene--art-2{background-image:var(--fc-artwork-2)!important}
.home.fc-has-artwork-3 .fc-home-content .fc-scene--art-3{background-image:var(--fc-artwork-3)!important}

/* Artwork 1 is also the natural hero backdrop when selected. */
.home.fc-has-artwork-1 .fc-home-content .fc-hero{
  background-image:var(--fc-artwork-1)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.home.fc-has-artwork-1 .fc-home-content .fc-hero>.wp-block-cover__image-background{display:none!important}

/* Large showcase image utilities. */
.fc-home-content .fc-media-panel{
  min-height:clamp(330px,42vw,620px);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  border:1px solid rgba(239,200,102,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.home.fc-has-hyjal-image .fc-media--hyjal{background-image:linear-gradient(180deg,rgba(3,8,5,.02),rgba(3,8,5,.14)),var(--fc-hyjal-image)}
.home.fc-has-classes-image .fc-media--classes{background-image:linear-gradient(180deg,rgba(3,8,5,.02),rgba(3,8,5,.14)),var(--fc-classes-image)}
.home.fc-has-dungeons-image .fc-media--dungeons{background-image:linear-gradient(180deg,rgba(3,8,5,.02),rgba(3,8,5,.14)),var(--fc-dungeons-image)}
.home.fc-has-items-image .fc-media--items{background-image:linear-gradient(180deg,rgba(3,8,5,.02),rgba(3,8,5,.14)),var(--fc-items-image)}
.home.fc-has-community-image .fc-media--community{background-image:linear-gradient(180deg,rgba(3,8,5,.08),rgba(3,8,5,.24)),var(--fc-community-image)}

/* Small feature-media utilities. */
.fc-home-content .fc-feature-media{
  width:64px;height:64px;margin:0 0 18px;
  background-position:center;background-size:contain;background-repeat:no-repeat;
}
.home.fc-has-spell-image .fc-media--spell{background-image:var(--fc-spell-image)}
.home.fc-has-debuff-image .fc-media--debuff{background-image:var(--fc-debuff-image)}
.home.fc-has-faction-image .fc-media--faction{background-image:var(--fc-faction-image)}
.home.fc-has-cashshop-image .fc-media--cashshop{background-image:var(--fc-cashshop-image)}

/* Backward-compatible placement for the v1.5/v1.6 native-block homepage. */
.home.fc-has-hyjal-image .fc-home-content .fc-section--surface:first-of-type .fc-split>.wp-block-column:first-child{
  min-height:clamp(360px,48vw,660px);
  background-image:linear-gradient(180deg,rgba(3,8,5,.04),rgba(3,8,5,.18)),var(--fc-hyjal-image);
  background-position:center;background-size:cover;
  border:1px solid rgba(239,200,102,.16);box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.home.fc-has-hyjal-image .fc-home-content .fc-section--surface:first-of-type .fc-split>.wp-block-column:first-child>figure{display:none!important}
.home.fc-has-classes-image .fc-home-content .fc-split--reverse>.wp-block-column:last-child{
  min-height:clamp(360px,46vw,620px);
  background-image:linear-gradient(180deg,rgba(3,8,5,.02),rgba(3,8,5,.16)),var(--fc-classes-image);
  background-position:center;background-size:cover;
  border:1px solid rgba(239,200,102,.16);box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.home.fc-has-classes-image .fc-home-content .fc-split--reverse>.wp-block-column:last-child>figure{display:none!important}

@media(max-width:720px){
  .fc-home-content .fc-media-panel{min-height:300px}
  .home.fc-has-hyjal-image .fc-home-content .fc-section--surface:first-of-type .fc-split>.wp-block-column:first-child,
  .home.fc-has-classes-image .fc-home-content .fc-split--reverse>.wp-block-column:last-child{min-height:300px}
}

/* --------------------------------------------------------------
   v1.6.3 visual refinement
-------------------------------------------------------------- */
.fc-header{background:rgba(6,8,6,.91);border-bottom-color:rgba(207,174,105,.11)}
.fc-home-content .fc-section--surface{background:linear-gradient(180deg,#090b09 0%,#060806 100%);border-block:1px solid rgba(207,174,105,.09)}
.fc-home-content .fc-section--deep{background:#040504}

/* FrogCraft divider: a restrained rune-like break rather than a theme asset. */
.fc-divider{display:flex;align-items:center;gap:12px;width:min(360px,72vw);margin:30px auto 38px}
.fc-divider::before,.fc-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(217,186,118,.48))}
.fc-divider::after{transform:scaleX(-1)}
.fc-divider i{display:block;width:11px;height:11px;transform:rotate(45deg);border:1px solid rgba(217,186,118,.85);box-shadow:0 0 0 4px rgba(170,135,73,.06)}
.fc-divider--left{margin-left:0;margin-right:0;width:min(260px,70vw)}
.fc-page__header .fc-divider{margin-top:26px;margin-bottom:0}

/* Let imagery provide the color; UI surfaces stay neutral and translucent. */
.fc-home-content .fc-scene--art-1::before,
.fc-home-content .fc-scene--art-2::before,
.fc-home-content .fc-scene--art-3::before{
  background:linear-gradient(180deg,rgba(5,7,5,.30),rgba(5,7,5,.70));
}
.fc-home-content .fc-scene--art-2::after,
.fc-home-content .fc-scene--art-3::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,7,5,.34),transparent 35%,transparent 65%,rgba(5,7,5,.30));
}

/* Systems: two balanced editorial rows rather than a card grid with a dead cell. */
.fc-home-content .fc-feature-list{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  background:rgba(4,6,4,.68);border:1px solid rgba(207,174,105,.18);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.fc-home-content .fc-feature{
  min-height:190px;padding:32px 34px;display:grid;grid-template-columns:72px minmax(0,1fr);
  grid-template-areas:"icon title" "icon copy";column-gap:22px;align-content:center;
  background:rgba(5,7,5,.72);border:0;border-right:1px solid rgba(207,174,105,.16);border-bottom:1px solid rgba(207,174,105,.16)
}
.fc-home-content .fc-feature:nth-child(even){border-right:0}
.fc-home-content .fc-feature:nth-last-child(-n+2){border-bottom:0}
.fc-home-content .fc-feature-media{grid-area:icon;width:64px;height:64px;margin:2px 0 0;align-self:start}
.fc-home-content .fc-feature h3{grid-area:title;align-self:end;margin:0 0 8px;font-size:clamp(24px,2.2vw,31px)}
.fc-home-content .fc-feature p{grid-area:copy;align-self:start;margin:0;max-width:520px;font-size:16px;color:#d1ccc0}

/* Generic content pages: wide visual canvas, readable text columns. */
.entry-content{max-width:none}
.entry-content>.fc-page-lead,.entry-content>.fc-content-section,.entry-content>h2,.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:900px}
.entry-content .fc-content-section{padding-left:26px;border-left:1px solid rgba(207,174,105,.16);border-bottom:0;padding-bottom:0;margin-bottom:52px}
.entry-content .fc-content-section h2{margin-top:0}

/* Hyjal battlefields: preserve every original angle and group shots by base. */
.entry-content .fc-battlefields{margin-top:48px}
.entry-content .fc-battlefield{margin:0 0 78px}
.entry-content .fc-battlefield__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px;border-bottom:1px solid rgba(207,174,105,.16);padding-bottom:16px}
.entry-content .fc-battlefield__head h2{margin:0;font-size:clamp(28px,3vw,42px)}
.entry-content .fc-battlefield__head span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--fc-gold-bright)}
.entry-content .fc-battlefield__images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.entry-content .fc-battlefield__images--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.entry-content .fc-battle-media{aspect-ratio:16/9;background-position:center;background-size:cover;background-repeat:no-repeat;border:1px solid rgba(207,174,105,.18);box-shadow:0 18px 46px rgba(0,0,0,.24)}
.fc-battle-line-1{background-image:var(--fc-bf-line-1)}.fc-battle-line-2{background-image:var(--fc-bf-line-2)}
.fc-battle-winter-1{background-image:var(--fc-bf-winter-1)}.fc-battle-winter-2{background-image:var(--fc-bf-winter-2)}
.fc-battle-retreat-1{background-image:var(--fc-bf-retreat-1)}.fc-battle-retreat-2{background-image:var(--fc-bf-retreat-2)}
.fc-battle-azgalor-1{background-image:var(--fc-bf-azgalor-1)}.fc-battle-azgalor-2{background-image:var(--fc-bf-azgalor-2)}
.fc-battle-plain-1{background-image:var(--fc-bf-plain-1)}.fc-battle-plain-2{background-image:var(--fc-bf-plain-2)}
.fc-battle-anetheron-1{background-image:var(--fc-bf-anetheron-1)}.fc-battle-anetheron-2{background-image:var(--fc-bf-anetheron-2)}
.fc-battle-defiler-1{background-image:var(--fc-bf-defiler-1)}.fc-battle-defiler-2{background-image:var(--fc-bf-defiler-2)}.fc-battle-defiler-3{background-image:var(--fc-bf-defiler-3)}

/* World boss imagery is also Media-Library controlled / auto-detected. */
.entry-content .fc-boss-race{background:linear-gradient(180deg,rgba(16,20,15,.82),rgba(8,11,8,.88));border-color:rgba(207,174,105,.15)}
.entry-content .fc-race-media{width:68px;height:68px;background-position:center;background-size:contain;background-repeat:no-repeat;flex:0 0 68px}
.entry-content .fc-boss-media{width:108px;height:108px;background-position:center;background-size:contain;background-repeat:no-repeat;margin-bottom:12px}
.fc-race-human{background-image:var(--fc-race-human)}.fc-boss-paladin{background-image:var(--fc-boss-paladin)}.fc-boss-archmage{background-image:var(--fc-boss-archmage)}.fc-boss-mountainking{background-image:var(--fc-boss-mountainking)}
.fc-race-orc{background-image:var(--fc-race-orc)}.fc-boss-blademaster{background-image:var(--fc-boss-blademaster)}.fc-boss-farseer{background-image:var(--fc-boss-farseer)}.fc-boss-chieftain{background-image:var(--fc-boss-chieftain)}
.fc-race-nelf{background-image:var(--fc-race-nelf)}.fc-boss-demonhunter{background-image:var(--fc-boss-demonhunter)}.fc-boss-keeper{background-image:var(--fc-boss-keeper)}.fc-boss-priestess{background-image:var(--fc-boss-priestess)}
.fc-race-undead{background-image:var(--fc-race-undead)}.fc-boss-deathknight{background-image:var(--fc-boss-deathknight)}.fc-boss-dreadlord{background-image:var(--fc-boss-dreadlord)}.fc-boss-lich{background-image:var(--fc-boss-lich)}

/* Links/rules: less generic card-grid feel. */
.entry-content .fc-link-grid,.entry-content .fc-rule-grid{gap:12px}
.entry-content .fc-link-card,.entry-content .fc-rule-card{background:rgba(14,18,13,.72);border-color:rgba(207,174,105,.15)}
.entry-content .fc-rule-grid--ban .fc-rule-card{border-top:2px solid rgba(181,82,63,.78)}
.entry-content .fc-rule-grid--warn .fc-rule-card{border-top:2px solid rgba(197,157,70,.74)}

@media(max-width:900px){
  .fc-home-content .fc-feature-list{grid-template-columns:1fr 1fr}
  .entry-content .fc-battlefield__images--three{grid-template-columns:1fr 1fr}
  .entry-content .fc-battlefield__images--three .fc-battle-media:last-child{grid-column:1/-1;aspect-ratio:2/1}
}
@media(max-width:720px){
  .fc-home-content .fc-feature-list{grid-template-columns:1fr}
  .fc-home-content .fc-feature{grid-template-columns:58px minmax(0,1fr);padding:26px 22px;min-height:0;border-right:0!important;border-bottom:1px solid rgba(207,174,105,.16)!important}
  .fc-home-content .fc-feature:last-child{border-bottom:0!important}
  .fc-home-content .fc-feature-media{width:52px;height:52px}
  .entry-content .fc-battlefield__images,.entry-content .fc-battlefield__images--three{grid-template-columns:1fr}
  .entry-content .fc-battlefield__images--three .fc-battle-media:last-child{grid-column:auto;aspect-ratio:16/9}
  .entry-content .fc-battlefield__head{align-items:start;flex-direction:column;gap:5px}
}


/* --------------------------------------------------------------
   v1.6.4 typography / tonal cohesion / battlefield lightbox
-------------------------------------------------------------- */
/* Header/footer were already the right tonal anchor. Bring the central UI
   toward the same near-black / forest-black range instead of brightening them. */
.fc-main,.fc-home-content,.fc-page{background:#060806}
.fc-home-content .fc-section:not(.fc-scene--art-1):not(.fc-scene--art-2):not(.fc-scene--art-3){background-color:#060806}
.fc-home-content .fc-section--surface{background:linear-gradient(180deg,rgba(10,13,10,.98),rgba(5,7,5,.99))}
.fc-home-content .fc-section--deep{background:#040504}
.fc-home-content .fc-dev-card,
.entry-content .fc-link-card,
.entry-content .fc-rule-card,
.entry-content .fc-boss-race{background:rgba(6,8,6,.82)}

/* Cleaner reading face. Keep Marcellus for display headings only. */
.fc-home-content p,.entry-content p,.entry-content li,
.fc-feature p,.fc-page__header p{font-family:var(--fc-body);font-weight:400;letter-spacing:0}
.fc-home-content .fc-feature p{line-height:1.72}
.fc-home-content .fc-kicker,.fc-meta,.fc-stat span,.fc-nav a,.fc-btn,.fc-header-action a{font-family:var(--fc-body)}

/* Battlefield images are real interactive media, not decorative backgrounds. */
.entry-content .fc-battle-media{
  position:relative;cursor:zoom-in;overflow:hidden;isolation:isolate;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.entry-content .fc-battle-media::after{
  content:"View full size";position:absolute;right:12px;bottom:10px;z-index:1;
  padding:6px 9px;background:rgba(3,4,3,.72);border:1px solid rgba(223,201,142,.22);
  color:#e9e1cf;font:600 10px/1 var(--fc-body);letter-spacing:.08em;text-transform:uppercase;
  opacity:0;transform:translateY(4px);transition:.2s ease;pointer-events:none;
}
.entry-content .fc-battle-media:hover,.entry-content .fc-battle-media:focus{
  transform:translateY(-2px);border-color:rgba(223,201,142,.42);box-shadow:0 24px 58px rgba(0,0,0,.36);outline:none;
}
.entry-content .fc-battle-media:hover::after,.entry-content .fc-battle-media:focus::after{opacity:1;transform:none}
.entry-content .fc-battle-plain-2{order:-1}

.fc-lightbox{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:clamp(18px,4vw,54px);background:rgba(2,3,2,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fc-lightbox.is-open{display:flex}
.fc-lightbox__image{display:block;max-width:min(96vw,1800px);max-height:90vh;width:auto;height:auto;object-fit:contain;border:1px solid rgba(223,201,142,.24);box-shadow:0 28px 100px rgba(0,0,0,.72)}
.fc-lightbox__close{position:fixed;top:18px;right:20px;width:44px;height:44px;border:1px solid rgba(223,201,142,.32);background:rgba(4,6,4,.76);color:#eee6d2;font:300 28px/1 var(--fc-body);cursor:pointer}
.fc-lightbox__close:hover,.fc-lightbox__close:focus{border-color:rgba(223,201,142,.72);background:#0a0d09;outline:none}
body.fc-lightbox-open{overflow:hidden}


/* --------------------------------------------------------------
   v1.6.7 typography stabilization
   Use dependable local/system font stacks so desktop and mobile do not
   jump to radically different fallback faces when a font CDN is blocked.
-------------------------------------------------------------- */
.fc-home-content .fc-hero h1,
.fc-home-content .fc-manifesto h2,
.fc-page__header h1{font-synthesis:none}

@media(max-width:720px){
  .fc-home-content .fc-hero h1{font-size:clamp(38px,11vw,49px);line-height:1.03;letter-spacing:-.018em;max-width:620px}
  .fc-home-content .fc-hero .fc-lead{font-size:18px;line-height:1.58}
}

/* --------------------------------------------------------------
   v1.6.5 mobile rhythm / alignment pass
   Hero, manifesto, stats and CTA are intentionally centered.
   Editorial feature sections remain left-aligned for easier reading.
-------------------------------------------------------------- */
@media(max-width:720px){
  /* The desktop vertical rhythm was too loose on a phone. */
  .fc-home-content .fc-section{padding:62px 18px}
  .fc-home-content .fc-section>.wp-block-group__inner-container{width:100%}

  /* Make alignment rules explicit instead of inheriting accidental centering. */
  .fc-home-content .fc-manifesto,
  .fc-home-content .fc-cta{text-align:center}
  .fc-home-content .fc-split,
  .fc-home-content .fc-feature-list,
  .fc-home-content .fc-dev-grid{text-align:left}
  .fc-home-content .fc-kicker{text-align:inherit}

  /* Editorial dividers should read as part of the left-aligned text block. */
  .fc-home-content .fc-divider--left{
    width:min(190px,58vw);
    margin-top:20px;
    margin-bottom:28px;
  }

  /* PvE / Itemization: two compact chapters, not two desktop columns stacked
     with desktop-sized gaps. Keep screenshots cinematic rather than square. */
  .fc-home-content .fc-section--deep .fc-split{gap:0}
  .fc-home-content .fc-section--deep .fc-split>div+div{
    margin-top:30px;
    padding-top:30px;
    border-top:1px solid rgba(207,174,105,.14);
  }
  .fc-home-content .fc-section--deep .fc-media-panel{
    min-height:0;
    aspect-ratio:16/9;
    margin-bottom:18px;
  }
  .fc-home-content .fc-section--deep .fc-split h3{
    margin:0 0 12px;
    font-size:clamp(30px,8.6vw,37px);
    line-height:1.05;
  }
  .fc-home-content .fc-section--deep .fc-split p{
    margin:0;
    font-size:17px;
    line-height:1.62;
  }

  /* Other stacked feature stories get a deliberate, smaller mobile gap. */
  .fc-home-content .fc-split{row-gap:30px}
  .fc-home-content .fc-split .fc-actions{margin-top:22px}

  /* Keep headings dramatic without letting them dominate a narrow viewport. */
  .fc-home-content .fc-section> .wp-block-group__inner-container > h2{
    font-size:clamp(36px,10.5vw,48px);
  }
}


/* --------------------------------------------------------------
   v1.6.8 desktop PvE / Itemization rhythm
   Mobile already worked; this only normalizes the two-column desktop layout.
-------------------------------------------------------------- */
@media(min-width:721px){
  .fc-home-content .fc-section--deep .fc-split{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(44px,4.5vw,68px);
    align-items:start;
  }
  .fc-home-content .fc-section--deep .fc-split>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .fc-home-content .fc-section--deep .fc-media-panel{
    width:100%;
    min-height:0;
    aspect-ratio:16/10;
    margin:0 0 18px;
  }
  .fc-home-content .fc-section--deep .fc-split h3{
    margin:0 0 14px;
    font-size:clamp(38px,3.4vw,52px);
    line-height:1.02;
  }
  .fc-home-content .fc-section--deep .fc-split p{
    margin:0;
    max-width:58ch;
    font-size:16.5px;
    line-height:1.66;
  }
}

/* --------------------------------------------------------------
   v1.6.10 desktop navigation refinement
   The header gets its own wider canvas. If there still is not enough
   horizontal room, it switches to the mobile menu instead of allowing
   the primary nav to overflow underneath the CTA.
-------------------------------------------------------------- */
@media (min-width:1281px){
  .fc-header .fc-shell{width:min(calc(100% - 48px),1480px)}
  .fc-header__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,1.6vw,30px)}
  .fc-brand{min-width:0}
  .fc-nav{margin-left:0;min-width:0;overflow:visible}
  .fc-nav>ul{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(14px,1.25vw,24px)}
  .fc-nav li{flex:0 0 auto}
  .fc-nav a{white-space:nowrap;font-size:clamp(10px,.68vw,12px);letter-spacing:.055em;line-height:1}
  .fc-header-action{flex:0 0 auto}
  .fc-header-action ul,.fc-header-action li{display:flex;flex:0 0 auto}
  .fc-header-action a{white-space:nowrap;min-width:max-content;padding-inline:16px;line-height:1}
}

/* The long wordmark is decorative; on ordinary laptop widths the icon
   carries the brand and frees room for the real navigation. */
@media (min-width:1281px) and (max-width:1460px){
  .fc-brand__name{display:none}
  .fc-nav>ul{gap:13px}
  .fc-nav a{font-size:10.5px;letter-spacing:.035em}
  .fc-header-action a{padding-inline:13px;font-size:10px;letter-spacing:.07em}
}
