/*
Theme Name: ForgeGether
Theme URI: https://forgegather.com/
Author: ForgeGether
Description: A charcoal, steel, and ember WordPress theme designed to match the native ForgeGether community plugin and WooCommerce.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forgegether-theme
Tags: dark, custom-logo, custom-menu, featured-images, block-styles, wide-blocks, e-commerce, one-column, two-columns
*/

:root{
  --fgt-bg:#111417;
  --fgt-surface:#191d21;
  --fgt-surface-2:#20252a;
  --fgt-line:#30363c;
  --fgt-text:#eee9e1;
  --fgt-muted:#a8a29a;
  --fgt-primary:#e46f2a;
  --fgt-accent:#f0ad4e;
  --fgt-danger:#d85b4b;
  --fgt-success:#6f9c74;
  --fgt-radius:6px;
  --fgt-content:1180px;
  --fgt-reading:760px;
  --fgt-shadow:0 18px 60px rgba(0,0,0,.18);
  color-scheme:dark;
}
html[data-fgt-theme="light"],html[data-fgwp-theme="light"]{
  --fgt-bg:#f2efe9;
  --fgt-surface:#fbfaf7;
  --fgt-surface-2:#f0ede6;
  --fgt-line:#d7d0c5;
  --fgt-text:#1f2327;
  --fgt-muted:#6d685f;
  --fgt-shadow:0 14px 42px rgba(65,55,40,.09);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fgt-bg);color:var(--fgt-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration-color:color-mix(in srgb,var(--fgt-primary) 65%,transparent);text-underline-offset:3px}
a:hover{color:var(--fgt-accent)}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
::selection{background:color-mix(in srgb,var(--fgt-primary) 45%,transparent);color:var(--fgt-text)}
.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.screen-reader-text:focus{clip:auto!important;height:auto;width:auto;display:block;top:8px;left:8px;padding:10px 14px;z-index:100000;background:var(--fgt-surface);color:var(--fgt-text);border:1px solid var(--fgt-primary)}

/* ForgeGether plugin bridge: keep both systems on one visual language. */
body.forgegether-app{--fg-bg:var(--fgt-bg);--fg-panel:var(--fgt-surface);--fg-panel-2:var(--fgt-surface-2);--fg-line:var(--fgt-line);--fg-text:var(--fgt-text);--fg-muted:var(--fgt-muted);--fg-primary:var(--fgt-primary);--fg-accent:var(--fgt-accent);--fg-danger:var(--fgt-danger)}

.fgt-site{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column}
.fgt-shell{width:min(calc(100% - 40px),var(--fgt-content));margin-inline:auto}
.fgt-reading{width:min(100%,var(--fgt-reading));margin-inline:auto}

.fgt-header{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--fgt-line);background:color-mix(in srgb,var(--fgt-bg) 92%,transparent);backdrop-filter:blur(14px)}
.admin-bar .fgt-header{top:32px}
.fgt-header-inner{min-height:68px;display:flex;align-items:center;gap:26px}
.fgt-brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.fgt-brand:hover{color:var(--fgt-text)}
.fgt-brand-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--fgt-primary) 65%,var(--fgt-line));border-radius:4px;background:#151719;color:var(--fgt-accent);font-size:11px;font-weight:900;letter-spacing:.05em;flex:0 0 auto}
.fgt-brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.05}
.fgt-brand-title{font-weight:850;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fgt-brand-tagline{margin-top:4px;font-size:10px;color:var(--fgt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.custom-logo{display:block;max-height:38px;width:auto}

.fgt-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.fgt-nav ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.fgt-nav a{display:block;padding:9px 10px;color:var(--fgt-muted);text-decoration:none;font-size:14px;font-weight:650}
.fgt-nav a:hover,.fgt-nav .current-menu-item>a,.fgt-nav .current_page_item>a{color:var(--fgt-text)}
.fgt-header-actions{display:flex;align-items:center;gap:8px}
.fgt-menu-toggle{display:none;border:1px solid var(--fgt-line);background:transparent;color:var(--fgt-text);border-radius:4px;padding:8px 10px;cursor:pointer}

.fgt-button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border-radius:5px;border:1px solid var(--fgt-primary)!important;background:var(--fgt-primary)!important;color:#fff!important;text-decoration:none!important;font-weight:750;box-shadow:none!important;cursor:pointer
}
.fgt-button:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{filter:brightness(1.06);color:#fff!important}
.fgt-button-secondary{background:transparent!important;color:var(--fgt-text)!important;border-color:var(--fgt-line)!important}
.fgt-text-link{color:var(--fgt-muted);font-size:14px;text-decoration:none}
.fgt-text-link:hover{color:var(--fgt-text)}

.fgt-main{flex:1}
.fgt-page-head{padding:64px 0 28px;border-bottom:1px solid var(--fgt-line);margin-bottom:34px}
.fgt-kicker{font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--fgt-accent);margin:0 0 11px}
.fgt-page-title{font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:920px}
.fgt-page-intro{font-size:18px;color:var(--fgt-muted);max-width:720px;margin:18px 0 0}

/* Homepage: editorial rather than repeated rounded cards. */
.fgt-home-hero{min-height:640px;display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center;padding:68px 0 82px;border-bottom:1px solid var(--fgt-line)}
.fgt-home-hero h1{font-size:clamp(48px,7vw,86px);line-height:.93;letter-spacing:-.065em;margin:0;max-width:760px}
.fgt-home-hero p{font-size:19px;color:var(--fgt-muted);max-width:630px;margin:23px 0}
.fgt-home-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.fgt-product-frame{border:1px solid var(--fgt-line);background:var(--fgt-surface);border-radius:7px;overflow:hidden;box-shadow:var(--fgt-shadow)}
.fgt-product-bar{height:42px;padding:0 14px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--fgt-line);font-size:11px;color:var(--fgt-muted)}
.fgt-product-bar i{width:8px;height:8px;border:1px solid var(--fgt-line);border-radius:50%}
.fgt-product-bar span{margin-left:auto}
.fgt-product-layout{display:grid;grid-template-columns:145px 1fr;min-height:410px}
.fgt-product-layout aside{border-right:1px solid var(--fgt-line);padding:22px 14px;display:flex;flex-direction:column;gap:12px;color:var(--fgt-muted);font-size:12px}
.fgt-product-layout aside strong{color:var(--fgt-text);margin-bottom:6px}
.fgt-product-layout section{padding:30px}
.fgt-product-layout h3{font-size:27px;letter-spacing:-.035em;margin:0 0 24px}
.fgt-demo-line{padding:17px 0;border-top:1px solid var(--fgt-line)}
.fgt-demo-line b{display:block;font-size:14px}
.fgt-demo-line span{display:block;color:var(--fgt-muted);font-size:12px;margin-top:3px}

.fgt-editorial{display:grid;grid-template-columns:.7fr 1.3fr;gap:82px;padding:90px 0;border-bottom:1px solid var(--fgt-line)}
.fgt-editorial h2{font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.05em;margin:0}
.fgt-editorial-copy>p{color:var(--fgt-muted);font-size:17px;max-width:720px;margin:0 0 28px}
.fgt-feature-lines{border-top:1px solid var(--fgt-line)}
.fgt-feature-line{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--fgt-line)}
.fgt-feature-line strong{font-size:15px}
.fgt-feature-line span{color:var(--fgt-muted)}
.fgt-final-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:78px 0 30px}
.fgt-final-cta h2{font-size:clamp(32px,4vw,52px);line-height:1.03;letter-spacing:-.05em;margin:0 0 12px}
.fgt-final-cta p{color:var(--fgt-muted);margin:0;max-width:680px}

/* Blog / content */
.fgt-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:58px;padding-bottom:80px}
.fgt-post-list{border-top:1px solid var(--fgt-line)}
.fgt-post-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--fgt-line)}
.fgt-post-row time,.fgt-meta{color:var(--fgt-muted);font-size:12px}
.fgt-post-row h2{font-size:27px;letter-spacing:-.035em;margin:0 0 9px}
.fgt-post-row h2 a{text-decoration:none}
.fgt-post-row p{color:var(--fgt-muted);margin:0;max-width:720px}
.fgt-sidebar{border-top:3px solid var(--fgt-primary);padding-top:18px}
.fgt-sidebar .widget{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--fgt-line)}
.fgt-sidebar .widget-title{font-size:15px;margin:0 0 12px}
.fgt-sidebar ul{list-style:none;margin:0;padding:0}
.fgt-sidebar li{padding:7px 0;color:var(--fgt-muted)}
.fgt-sidebar a{text-decoration:none}

.fgt-entry{padding-bottom:80px}
.fgt-entry-header{padding:62px 0 28px;border-bottom:1px solid var(--fgt-line);margin-bottom:36px}
.fgt-entry-title{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.055em;margin:0}
.fgt-entry-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--fgt-muted);font-size:12px;margin-top:17px}
.fgt-entry-content{font-size:17px;line-height:1.78}
.fgt-entry-content h2,.fgt-entry-content h3,.fgt-entry-content h4{letter-spacing:-.03em;line-height:1.15;margin-top:1.7em}
.fgt-entry-content h2{font-size:34px}.fgt-entry-content h3{font-size:27px}
.fgt-entry-content p,.fgt-entry-content li{color:color-mix(in srgb,var(--fgt-text) 88%,var(--fgt-muted))}
.fgt-entry-content blockquote{margin:30px 0;padding:4px 0 4px 22px;border-left:3px solid var(--fgt-primary);color:var(--fgt-muted);font-size:19px}
.fgt-entry-content pre,.fgt-entry-content code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.fgt-entry-content pre{overflow:auto;background:var(--fgt-surface);border:1px solid var(--fgt-line);padding:17px;border-radius:5px}
.fgt-entry-content table{width:100%;border-collapse:collapse;margin:25px 0}
.fgt-entry-content th,.fgt-entry-content td{border-bottom:1px solid var(--fgt-line);padding:11px 8px;text-align:left}
.wp-block-image img,.wp-block-cover,.wp-block-media-text{border-radius:4px}
.wp-block-separator{border-color:var(--fgt-line)}

.fgt-pagination{display:flex;gap:6px;flex-wrap:wrap;padding:28px 0}
.fgt-pagination .page-numbers{border:1px solid var(--fgt-line);padding:7px 10px;border-radius:4px;text-decoration:none;color:var(--fgt-muted)}
.fgt-pagination .current{border-color:var(--fgt-primary);color:var(--fgt-text)}

/* Forms */
input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number],textarea,select{
  width:100%;max-width:100%;border:1px solid var(--fgt-line);background:var(--fgt-surface);color:var(--fgt-text);border-radius:5px;padding:10px 11px;outline:none
}
input:focus,textarea:focus,select:focus{border-color:var(--fgt-primary);box-shadow:0 0 0 1px var(--fgt-primary)}
label{font-weight:650}

/* Comments */
.fgt-comments{border-top:1px solid var(--fgt-line);padding-top:30px;margin-top:50px}
.fgt-comments-title{font-size:22px}
.comment-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--fgt-line)}
.comment-list li{padding:20px 0;border-bottom:1px solid var(--fgt-line)}
.comment-meta{font-size:12px;color:var(--fgt-muted)}
.comment-content p{color:var(--fgt-muted)}

/* WooCommerce — intentionally flatter than the common card-heavy shop style. */
.woocommerce .woocommerce-breadcrumb,.woocommerce-result-count,.woocommerce-ordering,.woocommerce .woocommerce-ordering select{color:var(--fgt-muted)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px!important;background:var(--fgt-line);border:1px solid var(--fgt-line);margin:30px 0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:22px!important;background:var(--fgt-surface);min-width:0}
.woocommerce ul.products li.product a img{border:1px solid var(--fgt-line);margin:0 0 17px!important;border-radius:4px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px!important;letter-spacing:-.025em;color:var(--fgt-text)}
.woocommerce ul.products li.product .price{color:var(--fgt-accent)!important;font-weight:750}
.woocommerce span.onsale{min-height:auto!important;min-width:auto!important;line-height:1!important;top:12px!important;left:12px!important;margin:0!important;padding:6px 8px!important;border-radius:3px!important;background:var(--fgt-primary)!important}
.woocommerce div.product{padding-bottom:70px}
.woocommerce div.product .product_title{font-size:clamp(38px,5vw,58px);letter-spacing:-.05em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--fgt-accent)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid var(--fgt-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0!important;padding:0 15px!important;border-radius:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--fgt-primary)!important}
.woocommerce table.shop_table,.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--fgt-line)!important}
.woocommerce table.shop_table{border-radius:5px!important;background:var(--fgt-surface)}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid var(--fgt-line)!important;border-radius:5px!important;background:var(--fgt-surface)}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{background:var(--fgt-surface);color:var(--fgt-text);border-top-color:var(--fgt-primary)}
.woocommerce-account .woocommerce-MyAccount-navigation{border-top:2px solid var(--fgt-primary)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--fgt-line)}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:11px 4px;text-decoration:none;color:var(--fgt-muted)}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--fgt-text)}
.woocommerce-checkout #payment{background:var(--fgt-surface)!important;border:1px solid var(--fgt-line);border-radius:5px!important}
.woocommerce-checkout #payment div.payment_box{background:var(--fgt-surface-2)!important;color:var(--fgt-muted)!important}

.fgt-footer{margin-top:auto;border-top:1px solid var(--fgt-line);padding:30px 0 38px;color:var(--fgt-muted);font-size:12px}
.fgt-footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.fgt-footer-nav ul{display:flex;flex-wrap:wrap;gap:15px;list-style:none;margin:0;padding:0}
.fgt-footer a{text-decoration:none}

#fgt-embers{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}

@media(max-width:980px){
  .fgt-home-hero{grid-template-columns:1fr;gap:42px;min-height:auto}
  .fgt-editorial{grid-template-columns:1fr;gap:34px}
  .fgt-content-grid{grid-template-columns:1fr}
  .fgt-sidebar{display:none}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgt-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--fgt-surface);border-bottom:1px solid var(--fgt-line);padding:10px 20px}
  .fgt-nav.is-open{display:block}
  .fgt-nav ul{display:block}
  .fgt-menu-toggle{display:inline-flex}
}
@media(max-width:782px){.admin-bar .fgt-header{top:46px}}
@media(max-width:640px){
  .fgt-shell{width:min(calc(100% - 28px),var(--fgt-content))}
  .fgt-brand-tagline{display:none}
  .fgt-header-actions .fgt-text-link{display:none}
  .fgt-home-hero{padding-top:48px}.fgt-home-hero h1{font-size:47px}
  .fgt-product-layout{grid-template-columns:1fr}.fgt-product-layout aside{display:none}
  .fgt-feature-line{grid-template-columns:1fr;gap:5px}
  .fgt-final-cta{align-items:flex-start;flex-direction:column}
  .fgt-post-row{grid-template-columns:1fr;gap:8px}
  .woocommerce ul.products{grid-template-columns:1fr}
  .fgt-footer-inner{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
