/*
Theme Name: FortuneScouts-Modern
Theme URI: https://fortunescouts.com/
Author: Performance Bros
Description: A restrained privateer-inspired theme with modern typography, classic editorial headings, block-editor styles, and Fortune Scouts content components.
Version: 1.0.3
Requires at least: 6.6
Tested up to: 7.1
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: fortunescouts-modern
Tags: blog, custom-logo, custom-menu, featured-images, full-width-template, editor-style, block-styles, threaded-comments
*/

body { margin:0; background:var(--fs-paper); color:var(--fs-ink); font-family:var(--fs-font-body); font-size:16px; line-height:1.7; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-padding-top:24px; }
img,video { max-width:100%; height:auto; }
img { vertical-align:middle; }
a { color:inherit; text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
button,input,select,textarea { font:inherit; }
button,.button,input[type=submit],.wp-element-button { cursor:pointer; border:1px solid transparent; border-radius:2px; background:var(--fs-brass); color:var(--fs-navy); padding:11px 21px; min-height:46px; font-size:15px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:10px; }
button:hover,.button:hover,input[type=submit]:hover,.wp-element-button:hover { background:#ddc48e; }
input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select { max-width:100%; border:1px solid var(--fs-rule); background:#fffdf8; color:var(--fs-ink); padding:11px 13px; font-size:16px; border-radius:2px; }
textarea { width:100%; min-height:140px; }
input[type=checkbox],input[type=radio] { accent-color:var(--fs-navy); }
:focus-visible { outline:3px solid #936825; outline-offset:4px; }
.site-header :focus-visible,.site-footer :focus-visible,.page-hero :focus-visible { outline-color:var(--fs-brass); }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; word-wrap:normal!important; }
.screen-reader-text:focus { clip:auto; clip-path:none; width:auto; height:auto; margin:0; background:#fff; color:var(--fs-navy); padding:16px; left:12px; top:12px; z-index:100000; }
:root { --fs-content-width:825px; --fs-site-width:1149px; --fs-sidebar-width:280px; --fs-column-gap:44px; }
.site-width,.site-header-inner { width:min(var(--fs-site-width),calc(100% - 88px)); margin-inline:auto; }
.site-header { background:var(--fs-header); color:var(--fs-light); border-bottom:1px solid var(--fs-line); }
.site-header-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-block:17px; }
.site-brand { flex:0 0 250px; }
.site-brand img { width:250px; max-height:110px; object-fit:contain; object-position:left center; }
.site-brand a { display:block; }
.site-navigation { font-size:15px; }
.site-navigation ul { list-style:none; padding:0; margin:0; }
.site-navigation>.menu-list { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.site-navigation li { position:relative; }
.site-navigation a { text-decoration:none; display:inline-block; padding-block:12px; }
.site-navigation a:hover,.site-navigation .current-menu-item>a,.site-navigation .current_page_item>a { color:var(--fs-brass); text-decoration:underline; }
.site-navigation li>ul { display:none; position:absolute; z-index:20; top:100%; left:0; min-width:220px; max-width:85vw; padding:8px 18px; background:var(--fs-header); border:1px solid var(--fs-line); box-shadow:0 10px 25px #0002; }
.site-navigation li:hover>ul,.site-navigation li:has(:focus-visible)>ul { display:block; }
.site-navigation li li>ul { top:0; left:auto; right:100%; }
.menu-toggle { display:none; background:transparent; border:1px solid var(--fs-line); color:var(--fs-light); }
.menu-toggle:hover { background:var(--fs-brass);color:var(--fs-navy); }
.page-hero { padding:48px 0 52px; color:var(--fs-light); background:var(--fs-navy); }
.page-hero h1 { font-family:var(--fs-font-heading); font-size:clamp(44px,6.1vw,76px); line-height:1.02; letter-spacing:-.025em; font-weight:500; margin:20px 0; max-width:960px; overflow-wrap:anywhere; }
.page-hero p,.page-hero .page-lead { color:var(--fs-muted); max-width:var(--fs-content-width); }
.page-hero .page-lead { font-size:17px; }
.crumbs { font-size:15px; color:var(--fs-muted); }
.post-meta { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:25px; font-size:15px; color:var(--fs-muted); }
.content-layout { padding-block:64px; }
.content-layout>article { width:100%; max-width:var(--fs-content-width); margin-inline:auto; min-width:0; }
.content-layout.has-sidebar { display:grid; grid-template-columns:minmax(0,1fr) var(--fs-sidebar-width); gap:var(--fs-column-gap); align-items:start; }
.content-layout article { min-width:0; }
.article-sidebar { position:sticky; top:24px; min-width:0; font-size:15px; overflow-wrap:anywhere; }
.side { border-top:2px solid var(--fs-brass); background:var(--fs-wash); padding:22px; margin-bottom:24px; }
.side h3 { font-family:var(--fs-font-heading); font-size:27px; line-height:1.15; font-weight:500; margin:0 0 14px; }
.side summary { font-size:17px; font-weight:600; cursor:pointer; }
.side .toc { list-style:none; padding:0; margin:15px 0 0; }
.toc li { border-bottom:1px solid var(--fs-rule); margin:0; }
.toc a { display:flex; align-items:baseline; gap:12px; padding:10px 0; text-decoration:none; font-size:15px; }
.toc a:hover { text-decoration:underline; }
.toc .num { color:var(--fs-quiet); font-variant-numeric:tabular-nums; }
.stat-mini { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--fs-rule); padding:10px 0; }
.featured-image { margin:0 0 32px; }
.featured-image img { width:100%; }
.club-content { margin:0; }
.archive-content { padding-block:56px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.post-card { border:1px solid var(--fs-rule); background:#f7f3e9; min-width:0; }
.post-card img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.post-card-inner { padding:25px; }
.post-card time { font-size:15px; color:var(--fs-quiet); }
.post-card h2 { font:500 32px/1.12 var(--fs-font-heading); margin:14px 0; }
.post-card h2 a { text-decoration:none; }
.post-card.sticky { border-top:3px solid var(--fs-brass); }
.text-link { display:inline-block; margin-top:14px; font-size:15px; }
.pagination,.post-navigation,.comments-navigation,.page-links { margin-top:36px; border-top:1px solid var(--fs-rule); padding-top:22px; }
.nav-links { display:flex; gap:15px; justify-content:space-between; flex-wrap:wrap; }
.page-numbers { padding:7px 12px; }
.page-numbers.current { background:var(--fs-navy); color:var(--fs-light); }
.post-tags { margin-top:32px; font-size:15px; }
.search-form { display:flex; gap:10px; flex-wrap:wrap; max-width:680px; }
.search-form input[type=search] { flex:1; min-width:150px; }
.comments-area { margin-top:48px; border-top:1px solid var(--fs-rule); padding-top:28px; }
.comments-area h2,.comments-area h3 { font:500 30px/1.2 var(--fs-font-heading); }
.comment-list { list-style:none; padding:0; }
.comment-list .children { list-style:none; padding-left:24px; }
.comment-body { padding-block:22px; border-bottom:1px solid var(--fs-rule); }
.comment-author .avatar { float:left; margin:0 14px 10px 0; border-radius:50%; }
.comment-metadata,.reply { font-size:15px; }
.bypostauthor>.comment-body { border-left:2px solid var(--fs-brass); padding-left:16px; }
.comment-form label { display:block; }
.comment-form-cookies-consent label { display:inline; }
.site-footer { background:var(--fs-header); color:var(--fs-light); padding:44px 0 26px; }
.footer-top { display:flex; justify-content:space-between; gap:32px; padding-bottom:28px; }
.footer-top p { margin:10px 0; font-size:16px; color:var(--fs-muted); }
.footer-top .footer-brand { font:500 29px/1.1 var(--fs-font-heading); color:var(--fs-brass); margin-top:0; }
.footer-links { display:flex; gap:12px 24px; list-style:none; flex-wrap:wrap; padding:0; margin:0; font-size:15px; }
.footer-links a { display:inline-block; padding-block:10px; text-decoration:none; }
.site-footer .fine-print { border-top:1px solid var(--fs-line); padding-top:20px; font-size:12px; color:var(--fs-muted); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; font-size:15px; margin-top:22px; color:var(--fs-muted); }
.footer-responsible { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px 40px; border-top:1px solid var(--fs-line); padding-block:26px; }
.footer-age { display:flex; align-items:center; gap:18px; flex:1 1 420px; min-width:0; max-width:700px; }
.footer-age>img { flex:0 0 56px; width:56px; height:56px; }
.footer-age p { margin:0; font-size:16px; line-height:1.7; color:var(--fs-light); }
.footer-responsible-link { display:block; flex:0 0 auto; max-width:100%; }
.footer-responsible-link>img { display:block; width:236px; height:auto; max-width:100%; }
.footer-responsible-link:hover { opacity:.85; }
.site-footer a:hover { color:var(--fs-brass); }
@media(max-width:1100px) {
 .content-layout.has-sidebar { grid-template-columns:1fr; }
 .article-sidebar { position:static; grid-row:1; width:100%; max-width:var(--fs-content-width); margin-inline:auto; }
}
@media(max-width:980px) {
 .post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-header-inner { flex-wrap:wrap; }
 .site-navigation { flex-basis:100%; }
 .fsm-js .menu-toggle { display:inline-flex; margin-left:auto; }
 .fsm-js .site-navigation { display:none; }
 .fsm-js .site-navigation.is-open { display:block; }
 .site-navigation>.menu-list { display:block; }
 .site-navigation li>ul,.site-navigation li li>ul { display:block; position:static; box-shadow:none; max-width:none; margin-left:16px; }
}
@media(hover:none) {
 .site-navigation li>ul,.site-navigation li li>ul { display:block; position:static; box-shadow:none; max-width:none; margin-left:16px; }
}
@media(max-width:620px) {
 .site-width,.site-header-inner { width:calc(100% - 40px); }
 .site-header-inner { gap:12px; padding-block:12px; }
 .site-brand { flex-basis:210px; }
 .site-brand img { width:210px; }
 .page-hero { padding-block:32px; }
 .page-hero h1 { font-size:47px; }
 .content-layout,.archive-content { padding-block:40px; }
 .post-grid { grid-template-columns:1fr; }
 .footer-top { display:block; }
 .footer-links { margin-top:24px; }
 .footer-bottom { flex-wrap:wrap; }
}
@media(max-width:380px) { .page-hero h1 { font-size:43px; } .site-brand { flex-basis:185px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print { .site-header,.site-footer,.article-sidebar,.post-navigation,.comments-area { display:none; } body,.page-hero { background:white;color:black; } .site-width { width:100%; } .content-layout.has-sidebar { display:block; } a { text-decoration:underline; } }
