/*
Theme Name: Forge
Theme URI: https://example.com/forge
Author: Forge
Description: A custom, responsive theme for artisan blacksmiths and fabricators.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: forge
*/

:root { --forge-rust: #773e1b; --forge-wine: #6d2f36; --forge-gold: #ffe46f; --forge-ink: #282220; --forge-paper: #f8f4eb; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--forge-rust); background: #211d1a url('assets/images/dark_metal_texture2bb.jpg') repeat; font-family: Georgia, 'Times New Roman', serif; font-size: 1.125rem; line-height: 1.6; }
a { color: inherit; } img { display: block; max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 9999; width: auto; height: auto; padding: 1rem; margin: 0; overflow: visible; clip: auto; color: #fff; background: var(--forge-wine); }
.site { width: min(100% - 2rem, 925px); margin: 2rem auto; overflow: hidden; border: 14px solid rgba(255,255,255,.2); border-radius: 22px; background: var(--forge-paper); box-shadow: 0 3px 18px rgba(0,0,0,.5); }
.site-header { padding: 1.25rem 2rem 0; }
.masthead { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.custom-logo-link img, .site-branding__logo { width: min(390px, 100%); height: auto; }
.site-title { margin: 0; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1; } .site-title a { text-decoration: none; }
.site-description, .contact-details { margin: 0; font-size: 1.1rem; }
.menu-toggle { display: none; padding: .6rem 1rem; color: var(--forge-rust); border: 1px solid currentColor; background: transparent; font: inherit; }
.primary-navigation { margin-top: 1rem; border-top: 1px solid rgba(119,62,27,.2); border-bottom: 1px solid rgba(119,62,27,.2); }
.menu { display: flex; flex-wrap: wrap; justify-content: center; padding: 0; margin: 0; list-style: none; }.menu a { display: block; padding: .6rem .75rem; text-decoration: none; }.menu a:hover, .menu .current-menu-item > a { color: #fff; background: var(--forge-wine); }
.hero { position: relative; min-height: clamp(240px, 36vw, 310px); overflow: hidden; background: var(--forge-ink); }.hero__slides, .hero__slide { position: absolute; inset: 0; }.hero__slide { opacity: 0; transition: opacity .8s ease; background: center/cover no-repeat; }.hero__slide.is-active { opacity: 1; }.hero__content { position: relative; z-index: 1; display: flex; min-height: inherit; align-items: end; padding: 2rem; color: #fff; text-shadow: 0 2px 4px #000; }.hero__content h1 { max-width: 36rem; margin: 0; font-size: clamp(2rem, 5vw, 4rem); line-height: 1.05; }
.content-area { padding: 3rem 2rem; }.entry-content > :first-child { margin-top: 0; }.entry-title { margin-top: 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; }.two-column { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(220px, .85fr); gap: 3rem; }.feature-stack { display: grid; gap: 2rem; }.feature-stack figure { margin: 0; }.feature-stack img { width: 100%; border: 1px solid rgba(119,62,27,.3); }
.section { margin-block: 3rem; }.section-title { font-size: clamp(1.75rem, 3vw, 2.5rem); }.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }.card { overflow: hidden; color: var(--forge-rust); border: 1px solid rgba(119,62,27,.25); background: #fffdf8; }.card__body { padding: 1.15rem; }.card__title { margin: 0 0 .4rem; font-size: 1.35rem; }.card__link { text-decoration: none; }.card__link:hover .card__title { text-decoration: underline; }.testimonial { margin: 0; padding: 1.5rem; border-left: 4px solid var(--forge-gold); background: #fffdf8; }.testimonial cite { display: block; margin-top: .75rem; font-style: normal; font-weight: bold; }.cta { padding: 2.25rem; color: #fff; background: var(--forge-wine); text-align: center; }.button { display: inline-block; padding: .65rem 1.1rem; color: var(--forge-ink); background: var(--forge-gold); font-weight: bold; text-decoration: none; }.button:hover { filter: brightness(.92); }
.site-footer { padding: 1.5rem 2rem; color: #fff; background: #282220; font-family: Arial, sans-serif; font-size: .8rem; }.footer-widgets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }.site-footer p { margin: 0; }.site-footer a { color: #fff; }.footer-credit { margin-top: 1rem !important; text-align: right; }.post-meta { font-family: Arial, sans-serif; font-size: .85rem; }.navigation.pagination { margin-top: 2rem; }.nav-links { display: flex; gap: .5rem; }.page-numbers { padding: .4rem .7rem; border: 1px solid currentColor; text-decoration: none; }.page-numbers.current { color: #fff; background: var(--forge-wine); }
@media (max-width: 700px) { .site { width: 100%; margin: 0; border-width: 0; border-radius: 0; }.site-header, .content-area { padding-inline: 1.25rem; }.masthead { align-items: flex-start; flex-direction: column; gap: 1rem; }.menu-toggle { display: block; }.primary-navigation .menu { display: none; flex-direction: column; align-items: stretch; }.primary-navigation.is-open .menu { display: flex; }.menu a { text-align: center; }.two-column, .footer-widgets { grid-template-columns: 1fr; }.hero__content { padding: 1.25rem; }.content-area { padding-block: 2rem; } }
