/*
Theme Name: Hallelujah Gear v1.2
Theme URI: https://pressmegpt.com
Author: PressMeGPT
Author URI: https://pressmegpt.com
Description: https://hallelujah-gear-website--hardmoneyswag.replit.app/ | This theme was generated by PressMeGPT.com - AI WordPress Theme Generator. Free software released under GNU GPLv2 with attribution.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hallelujah-gear
Tags: custom, pressmegpt, ai-generated, custom-logo, custom-menu, custom-colors, light, custom-fonts

This theme was created with PressMeGPT.com - AI WordPress Theme Generator.
Free to use, modify, and distribute under GNU GPLv2 with attribution.
*/

/* Reset and base styles */
*, *::before, *::after {
box-sizing: border-box;
}

body {
margin: 0;
padding: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
}

img {
max-width: 100%;
height: auto;
}

a {
text-decoration: none;
}

/* ===== Header Styles ===== */
.site-header {
padding: 1rem 2rem;
}

.header-inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 2rem;
}

/* Header Layout: Logo Left, Menu Right (default) */
.header-layout-logo-left-menu-right .header-inner {
flex-direction: row;
justify-content: space-between;
}

/* Header Layout: Logo Right, Menu Left */
.header-layout-logo-right-menu-left .header-inner {
flex-direction: row-reverse;
justify-content: space-between;
}

/* Header Layout: Logo Center, Menu Below */
.header-layout-logo-center-menu-below .header-inner {
flex-direction: column;
text-align: center;
}

.header-layout-logo-center-menu-below .site-branding {
margin-bottom: 1rem;
}

/* Header Layout: Logo Center, Menu Split */
.header-layout-logo-center-menu-split .header-inner {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
}

.header-layout-logo-center-menu-split .menu-left {
justify-self: end;
}

.header-layout-logo-center-menu-split .menu-right {
justify-self: start;
}

/* Site Branding */
.site-branding {
display: flex;
align-items: center;
gap: 1rem;
}

.site-branding a {
display: inline-block;
}

.custom-logo {
display: block;
height: auto;
}

.site-title {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
}

.site-title a {
color: inherit;
}

.site-description {
margin: 0.25rem 0 0;
font-size: 0.875rem;
opacity: 0.8;
}

/* Primary Navigation */
.main-navigation {
display: flex;
align-items: center;
}

.main-navigation ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 1.5rem;
}

.main-navigation li {
position: relative;
}

.main-navigation a {
display: block;
padding: 0.5rem 0;
font-weight: 500;
transition: color 0.2s ease;
}

.main-navigation a:hover {
opacity: 0.7;
}

/* Dropdown menus */
.main-navigation ul ul {
position: absolute;
top: 100%;
left: 0;
min-width: 200px;
flex-direction: column;
gap: 0;
background: #fff;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
border-radius: 4px;
padding: 0.5rem 0;
opacity: 0;
visibility: hidden;
transition: opacity 0.2s, visibility 0.2s;
}

.main-navigation li:hover > ul {
opacity: 1;
visibility: visible;
}

.main-navigation ul ul a {
padding: 0.5rem 1rem;
color: #333;
}

/* Mobile Menu Toggle */
.menu-toggle {
display: none;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem;
}

.menu-toggle svg {
width: 24px;
height: 24px;
}

@media (max-width: 768px) {
.menu-toggle {
    display: block;
}

.main-navigation {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: inherit;
    padding: 1rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.main-navigation.toggled {
    display: block;
}

.main-navigation ul {
    flex-direction: column;
    gap: 0.5rem;
}

.main-navigation ul ul {
    position: static;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
    padding-left: 1rem;
}
}

/* ===== Footer Styles ===== */
.site-footer {
padding: 2rem;
}

.footer-inner {
max-width: 1400px;
margin: 0 auto;
}

/* Footer Layout: Centered */
.footer-layout-centered .footer-inner {
text-align: center;
}

.footer-layout-centered .footer-navigation ul {
justify-content: center;
}

/* Footer Layout: Left Aligned */
.footer-layout-left-aligned .footer-inner {
text-align: left;
}

/* Footer Layout: Split */
.footer-layout-split .footer-inner {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 1rem;
}

/* Footer Navigation */
.footer-navigation {
margin-bottom: 1rem;
}

.footer-navigation ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 1.5rem;
flex-wrap: wrap;
}

.footer-navigation a {
font-size: 0.875rem;
transition: opacity 0.2s;
}

.footer-navigation a:hover {
opacity: 0.7;
}

/* Footer Menu Position */
.footer-menu-below .footer-navigation {
order: 2;
margin-bottom: 0;
margin-top: 1rem;
}

.footer-menu-below .site-info {
order: 1;
}

/* Footer Widgets */
.footer-widgets {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
margin-bottom: 2rem;
}

.footer-widgets .widget {
margin-bottom: 0;
}

.footer-widgets .widget-title {
font-size: 1rem;
font-weight: 600;
margin-bottom: 1rem;
}

/* Site Info */
.site-info {
font-size: 0.875rem;
opacity: 0.8;
}

.site-info p {
margin: 0;
}

@media (max-width: 768px) {
.footer-layout-split .footer-inner {
    flex-direction: column;
    text-align: center;
}

.footer-navigation ul {
    justify-content: center;
}
}

/* ===== Widget Styles ===== */
.widget {
margin-bottom: 2rem;
}

.widget-title {
font-size: 1.125rem;
font-weight: 600;
margin-bottom: 1rem;
}

.widget ul {
list-style: none;
padding: 0;
margin: 0;
}

.widget li {
padding: 0.25rem 0;
}

/* ===== Content Styles ===== */
.content-area {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
}

.content-area.has-sidebar {
display: grid;
grid-template-columns: 1fr 300px;
gap: 3rem;
align-items: start;
}

@media (max-width: 768px) {
.content-area.has-sidebar {
    grid-template-columns: 1fr;
    gap: 2rem;
}
}

/* PressMeGPT: full-bleed entry header for blog posts (rendered outside .content-area) */
.single .entry-header,
.page .entry-header.full-bleed {
width: 100%;
margin: 0;
}

.primary-content {
min-width: 0;
}

.page-content-wrapper {
max-width: 1200px;
margin: 0 auto;
}

/* PressMeGPT inner pages render full-bleed (sections handle their own width) */
.pressmegpt-page-content,
.pressmegpt-page-content.entry-content {
width: 100%;
max-width: none;
margin: 0;
padding: 0;
line-height: inherit;
}

.page-header {
margin-bottom: 2rem;
padding-bottom: 1rem;
border-bottom: 2px solid #D4AF37;
}

.page-title {
font-size: 2rem;
margin: 0 0 0.5rem;
color: #0B0B0B;
}

.archive-description {
font-size: 1rem;
opacity: 0.7;
}

.entry-header {
margin-bottom: 1.5rem;
}

.entry-title {
font-size: 2rem;
margin: 0 0 0.5rem;
}

.entry-title a {
color: #0B0B0B;
text-decoration: none;
transition: color 0.2s;
}

.entry-title a:hover {
color: #D4AF37;
}

.entry-meta {
font-size: 0.875rem;
opacity: 0.7;
margin-bottom: 0.5rem;
}

.entry-content {
margin-bottom: 2rem;
line-height: 1.8;
}

.entry-footer {
font-size: 0.875rem;
padding: 1rem 0;
border-top: 1px solid rgba(0,0,0,0.1);
margin-bottom: 1.5rem;
}

.entry-footer .cat-links,
.entry-footer .tags-links {
display: block;
margin-bottom: 0.25rem;
}

.entry-footer a {
color: #D4AF37;
}

.post-thumbnail {
margin-bottom: 1.5rem;
}

.post-thumbnail img {
border-radius: 8px;
width: 100%;
}

/* Post navigation */
.post-navigation,
.posts-navigation {
padding: 1.5rem 0;
border-top: 1px solid rgba(0,0,0,0.1);
margin-top: 1rem;
}

.post-navigation a,
.posts-navigation a,
.nav-links a {
color: #D4AF37;
text-decoration: none;
font-weight: 500;
}

.post-navigation a:hover,
.posts-navigation a:hover,
.nav-links a:hover {
text-decoration: underline;
}

.nav-subtitle {
display: block;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.05em;
opacity: 0.6;
margin-bottom: 0.25rem;
}

/* ===== Search ===== */
.search-form {
display: flex;
max-width: 500px;
}

.search-form .search-field {
flex: 1;
padding: 10px 16px;
border: 2px solid rgba(0,0,0,0.15);
border-right: none;
border-radius: 6px 0 0 6px;
font-size: 1rem;
outline: none;
}

.search-form .search-field:focus {
border-color: #D4AF37;
}

.search-form .search-submit {
padding: 10px 20px;
background: #D4AF37;
color: #fff;
border: 2px solid #D4AF37;
border-radius: 0 6px 6px 0;
cursor: pointer;
font-weight: 600;
font-size: 1rem;
}

.search-result {
padding-bottom: 1.5rem;
margin-bottom: 1.5rem;
border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* ===== Comments ===== */
.comments-area {
margin-top: 2rem;
padding-top: 2rem;
border-top: 2px solid rgba(0,0,0,0.08);
}

.comments-title {
font-size: 1.5rem;
margin-bottom: 1.5rem;
}

.comment-list {
list-style: none;
padding: 0;
margin: 0;
}

.comment-list li {
padding: 1rem 0;
border-bottom: 1px solid rgba(0,0,0,0.06);
}

.comment-list .comment-author img {
border-radius: 50%;
margin-right: 0.75rem;
vertical-align: middle;
}

.comment-form label {
display: block;
margin-bottom: 0.25rem;
font-weight: 500;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
width: 100%;
padding: 10px 14px;
border: 2px solid rgba(0,0,0,0.12);
border-radius: 6px;
font-size: 1rem;
margin-bottom: 1rem;
}

.comment-form textarea {
min-height: 120px;
resize: vertical;
}

.comment-form .submit-button,
.comment-form input[type="submit"] {
background: #D4AF37;
color: #fff;
border: none;
padding: 12px 24px;
border-radius: 6px;
cursor: pointer;
font-weight: 600;
font-size: 1rem;
}

/* ===== Sidebar ===== */
.widget-area {
padding: 1.5rem;
background: rgba(0,0,0,0.03);
border-radius: 8px;
}

.widget-area .widget {
margin-bottom: 2rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid rgba(0,0,0,0.08);
}

.widget-area .widget:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}

.widget-area .widget-title {
font-size: 1rem;
font-weight: 700;
margin-bottom: 0.75rem;
color: #0B0B0B;
}

.widget-area ul {
list-style: none;
padding: 0;
margin: 0;
}

.widget-area li {
padding: 0.35rem 0;
}

.widget-area a {
color: #D4AF37;
text-decoration: none;
}

.widget-area a:hover {
text-decoration: underline;
}

/* ===== Utility Classes ===== */
.screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
word-wrap: normal !important;
}

.skip-link:focus {
background-color: #f1f1f1;
clip: auto !important;
clip-path: none;
color: #21759b;
display: block;
font-size: 0.875rem;
font-weight: 700;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000;
}

/* Theme Designer Custom Styles */
:root {
 --td-color-primary: #D4AF37;
 --td-color-secondary: #0B0B0B;
 --td-color-background: #F5F0E6;
 --td-color-text: #0B0B0B;
 --td-color-heading: #0B0B0B;
 --td-color-header-bg: #0B0B0BF7;
 --td-color-header-text: #F5F0E6;
 --td-color-footer-bg: #0B0B0B;
 --td-color-footer-text: #F5F0E6;
 --td-font-body: 'DM Sans', sans-serif;
 --td-font-heading: 'Barlow Condensed', sans-serif;
 --td-font-mono: 'Space Mono', monospace;
 --gold-deep: #B8872D;
 --charcoal: #1B1B1B;
 --ivory: #F5F0E6;
}
* { box-sizing: border-box; }
body { background: var(--td-color-background); font-family: var(--td-font-body); color: var(--td-color-text); line-height: 1.6; font-size: 18px; }
.fse-header { height: auto; padding: 15px 0; background: var(--td-color-header-bg); border-bottom: 1px solid rgba(212, 175, 55, 0.3); }
.fse-header-content { display: flex; justify-content: space-between; align-items: center; max-width: 1280px; margin: 0 auto; height: 100%; padding: 0 40px; }
.fse-logo-area { text-decoration: none; display: flex; align-items: center; gap: 15px; }
.fse-logo { height: 60px; width: auto; object-fit: contain; }
.fse-site-title { color: #fff; font-family: var(--td-font-heading); font-weight: 800; font-size: 24px; letter-spacing: 0.05em; display: block; }
.fse-site-tagline { color: var(--td-color-primary); font-family: var(--td-font-mono); font-size: 18px; font-weight: 600; letter-spacing: 0.1em; display: block; margin-top: 5px; }
.fse-nav-menu { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }
.fse-nav-menu a { color: #e5dfd3; text-decoration: none; font-size: 18px; font-weight: 600; text-transform: uppercase; transition: 0.2s; }
.fse-nav-menu a:hover { color: var(--td-color-primary); }
.header-cta { font-size: 18px !important; min-height: 55px !important; padding: 0 24px !important; }
.display { font-family: var(--td-font-heading); font-weight: 800; text-transform: uppercase; line-height: 0.9; letter-spacing: -0.04em; }
.mono { font-family: var(--td-font-mono); font-weight: 700; }
.eyebrow { font-family: var(--td-font-mono); font-size: 18px; text-transform: uppercase; color: var(--gold-deep); letter-spacing: 0.1em; margin-bottom: 25px; }
.accent { color: var(--td-color-primary); }
.fse-section { padding: 100px 0; }
.section-head { max-width: 760px; margin-bottom: 50px; margin-left: auto; margin-right: auto; text-align: center; }
.section-head p:not(.eyebrow) { color: #59564f; font-size: 18px; margin-top: 20px; line-height: 1.6; }
.fse-hero-section { background: var(--td-color-secondary); color: var(--ivory); padding: 80px 40px; position: relative; overflow: hidden; }
.fse-hero-container { max-width: 1280px; margin: 0 auto; align-items: center; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; }
.fse-hero-section h1 { font-size: clamp(50px, 7vw, 110px); }
.hero-description { color: #d1cabc; font-size: 18px; margin: 30px 0; max-width: 580px; line-height: 1.7; }
.fse-hero-buttons { display: flex; gap: 20px; margin-bottom: 30px; flex-wrap: wrap; }
.hero-slogan { border-left: 2px solid var(--td-color-primary); padding: 5px 0 5px 15px; color: #d6caae; font-family: var(--td-font-mono); font-size: 18px; font-weight: 700; letter-spacing: 0.05em; line-height: 1.4; }
.hero-art { position: relative; display: flex; justify-content: center; align-items: center; min-height: 460px; }
.hero-garment { width: 440px; aspect-ratio: 0.9; background: linear-gradient(145deg, #292929, #141414); clip-path: polygon(25% 4%, 37% 0, 44% 9%, 56% 9%, 64% 0, 77% 4%, 100% 20%, 87% 45%, 77% 39%, 80% 100%, 20% 100%, 23% 39%, 13% 45%, 0 20%); display: flex; justify-content: center; align-items: center; filter: drop-shadow(15px 20px 30px rgba(0,0,0,0.5)); border: 1px solid #333; }
.garment-label { color: #f5f0e6; text-align: center; border: 1px dashed var(--td-color-primary); padding: 30px; flex-direction: column; display: flex; }
.garment-label b { font-size: 18px; margin-bottom: 10px; line-height: 1.4; }
.garment-label span { font-size: 18px; opacity: 0.8; line-height: 1.4; }
.placeholder-orbit { position: absolute; border: 1px solid rgba(212, 175, 55, 0.3); border-radius: 50%; inset: 0; transform: rotate(-15deg) scaleY(0.7); }
.hero-index { position: absolute; bottom: 0; right: 0; font-size: 18px; opacity: 0.5; writing-mode: vertical-rl; }
.fse-button { border-radius: 0; min-height: 55px; padding: 0 28px; font-family: var(--td-font-mono); font-weight: 700; font-size: 18px; text-transform: uppercase; display: inline-flex; align-items: center; text-decoration: none; transition: 0.2s; border: none; cursor: pointer; }
.fse-button-primary { background: var(--td-color-primary); color: #0b0b0b; }
.fse-button-secondary { background: var(--ivory); color: #0b0b0b; border: 1px solid #0b0b0b; }
.fse-button-outline { background: transparent; border: 1px solid rgba(245, 240, 230, 0.5); color: var(--ivory); }
.fse-button:hover { transform: translateY(-3px); filter: brightness(1.1); }
.path-section { background: var(--td-color-primary); }
.path-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; padding: 0 40px; }
.path-card { background: var(--td-color-secondary); color: var(--ivory); padding: 50px; min-height: 380px; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.path-card:after { content:''; position: absolute; top:-50px; right:-50px; width: 200px; height: 200px; border-radius: 50%; border: 1px solid rgba(212, 175, 55, 0.1); box-shadow: 0 0 0 40px rgba(212, 175, 55, 0.05); }
.path-num { color: var(--td-color-primary); font-size: 18px; margin-bottom: 25px; }
.path-card h3 { font-size: 50px; margin-bottom: 20px; }
.path-card p { color: #c8c0b1; margin-bottom: 30px; font-size: 18px; line-height: 1.6; }
.path-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; }
.path-list li { border: 1px solid rgba(245,240,230,0.2); padding: 8px 15px; font-size: 18px; }
.merch-section { background: var(--ivory); padding: 100px 40px; }
.merch-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.art-stage { background: #e7dfd0; aspect-ratio: 0.8; position: relative; display: flex; justify-content: center; align-items: center; overflow: hidden; padding: 0; }
.art-stage img { width: 100%; height: 100%; object-fit: cover; }
.merch-copy { padding: 20px 0; }
.merch-copy h3 { font-family: var(--td-font-heading); font-size: 28px; margin: 10px 0; text-transform: uppercase; }
.merch-copy p { font-size: 18px; opacity: 0.8; margin-bottom: 15px; line-height: 1.5; }
.text-link { color: var(--td-color-text); font-family: var(--td-font-mono); font-size: 18px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--td-color-primary); }
.merch-note { background: #eee7d9; border-left: 2px solid var(--gold-deep); padding: 20px 25px; margin-top: 50px; font-size: 18px; max-width: 1280px; margin-left: auto; margin-right: auto; line-height: 1.6; }
.custom-section { background: var(--charcoal); color: #fff; padding: 100px 40px; }
.service-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: rgba(245,240,230,0.1); border: 1px solid rgba(245,240,230,0.1); max-width: 1280px; margin: 0 auto; }
.service-card { background: #22221f; grid-column: span 2; padding: 40px; min-height: 250px; display: flex; flex-direction: column; }
.service-card.large-card { grid-column: span 3; }
.service-card h3 { font-family: var(--td-font-heading); font-size: 30px; text-transform: uppercase; margin-bottom: 15px; }
.service-card p { color: #c1b9ab; font-size: 18px; margin-bottom: 25px; flex-grow: 1; line-height: 1.6; }
.accent-text { color: var(--td-color-primary); font-size: 18px; }
.custom-bottom-cta { display: flex; justify-content: space-between; align-items: center; max-width: 1280px; margin: 50px auto 0; gap: 30px; flex-wrap: wrap; }
.custom-bottom-cta p { max-width: 600px; color: #c9c0af; font-size: 18px; line-height: 1.6; }
.serve-section { background: #e6dece; padding: 100px 40px; }
.serve-grid { border-top: 1px solid #b7ad9c; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.serve-item { display: flex; gap: 25px; padding: 30px 0; border-bottom: 1px solid #b7ad9c; }
.serve-num { color: var(--gold-deep); font-size: 20px; margin-top: 5px; }
.serve-item h3 { font-family: var(--td-font-heading); font-size: 30px; text-transform: uppercase; margin-bottom: 10px; }
.serve-item p { font-size: 18px; color: #615b50; line-height: 1.7; }
.serve-cta { max-width: 1280px; margin: 50px auto 0; }
.partnership-section { background: #fffdf8; padding: 100px 40px; }
.partnership-layout { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px; align-items: start; }
.partnership-copy h2 { font-size: 70px; margin: 15px 0; }
.partnership-copy p { font-size: 18px; line-height: 1.7; margin-bottom: 20px; }
.promise-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #d8cfbf; }
.promise { padding: 30px; border-bottom: 1px solid #d8cfbf; }
.promise:nth-child(odd) { border-right: 1px solid #d8cfbf; padding-left: 0; }
.promise:nth-child(even) { padding-right: 0; }
.promise h3 { font-family: var(--td-font-heading); font-size: 24px; text-transform: uppercase; margin-bottom: 10px; }
.promise p { font-size: 18px; color: #625e56; line-height: 1.6; }
.steps-section { background: #d9cdb9; padding: 100px 40px; }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1280px; margin: 0 auto; border-top: 1px solid #aa9c84; }
.step { padding: 35px 30px 35px 0; position: relative; }
.step:not(:last-child):after { content:''; position: absolute; top: 50px; right: 20px; width: 40px; height: 1px; background: var(--gold-deep); }
.step-number { font-size: 18px; color: #79602b; }
.step h3 { font-family: var(--td-font-heading); font-size: 28px; margin: 20px 0 10px; text-transform: uppercase; }
.step p { font-size: 18px; color: #595349; line-height: 1.6; }
.about-section { background: var(--ivory); padding: 100px 40px; }
.about-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 80px; align-items: center; }
.founder-image { background: #d9cdb9; position: relative; min-height: 450px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.founder-image .fse-image { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 2; display: block; }
.founder-mark { font-family: var(--td-font-heading); font-size: 100px; font-weight: 900; color: rgba(11,11,11,0.1); position: absolute; z-index: 1; }
.about-copy h2 { font-size: 70px; margin: 15px 0; }
.about-copy h3 { font-size: 20px; margin-bottom: 25px; color: var(--td-color-text); line-height: 1.5; }
.about-copy p { font-size: 18px; line-height: 1.7; margin-bottom: 20px; }
.community-section { background: var(--charcoal); color: #fff; padding: 100px 40px; }
.community-layout { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.community-list { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 30px; margin: 30px 0; }
.community-list li { font-size: 18px; display: flex; align-items: center; gap: 10px; color: #e4dccd; line-height: 1.4; }
.community-list i { color: var(--td-color-primary); font-size: 18px; }
.team-redemption-box { border: 1px solid var(--td-color-primary); aspect-ratio: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; transform: rotate(3deg); position: relative; }
.team-redemption-box:before { content:''; position: absolute; inset: 15px; border: 1px solid rgba(212,175,55,0.4); }
.team-redemption-box h2 { font-size: 50px; margin-bottom: 15px; }
.team-redemption-box p { font-size: 18px; line-height: 1.4; }
.mission-section { background: #0b0b0b; color: #fff; text-align: center; padding: 120px 40px; position: relative; }
.mission-content { max-width: 900px; margin: 0 auto; }
.mission-content p { font-size: 18px; line-height: 1.7; }
.mission-quote { color: var(--td-color-primary); font-size: 22px; margin: 40px 0; line-height: 1.5; }
.faq-section { background: var(--ivory); padding: 100px 40px; }
.faq-layout { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 80px; }
.faq-list { border-top: 1px solid #cfc5b4; }
.faq-list details { border-bottom: 1px solid #cfc5b4; }
.faq-list summary { padding: 30px 0; font-weight: 700; cursor: pointer; list-style: none; position: relative; font-size: 18px; line-height: 1.5; }
.faq-list summary:after { content: '+'; position: absolute; right: 0; color: var(--gold-deep); font-size: 22px; top: 28px; }
.faq-list details[open] summary:after { content: '-'; }
.faq-list details p { padding-bottom: 30px; color: #5f5a50; line-height: 1.7; font-size: 18px; }
.quote-section { background: #e4dac8; padding: 100px 40px; }
.quote-layout { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 80px; }
.quote-intro p { font-size: 18px; line-height: 1.7; margin-bottom: 20px; }
.quote-callout { background: var(--td-color-secondary); color: #fff; border-left: 3px solid var(--td-color-primary); padding: 30px; margin-top: 30px; font-size: 18px; line-height: 1.6; }
.quote-form { background: #fffdf8; padding: 40px; border: 1px solid #d3c8b5; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.field { display: flex; flex-direction: column; gap: 10px; }
.field label, .fieldset legend { font-size: 18px; font-weight: 700; }
.field input, .field select, .field textarea { padding: 15px; border: 1px solid #bdb3a2; background: #fffdf8; font-size: 18px; }
.fieldset legend { margin-bottom: 15px; }
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.check-grid label { font-size: 18px; }
.full { grid-column: 1 / -1; }
.full-btn { width: 100%; margin-top: 30px; }
.contact-bar { background: var(--td-color-primary); padding: 70px 40px; }
.contact-layout { max-width: 1280px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.contact-copy p { font-size: 18px; line-height: 1.6; }
.contact-actions { display: flex; gap: 20px; flex-wrap: wrap; }
.fse-footer { background: var(--td-color-footer-bg); color: var(--td-color-footer-text); padding: 80px 40px 40px; }
.fse-footer-content { max-width: 1280px; margin: 0 auto; }
.fse-footer-columns { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 60px; border-bottom: 1px solid rgba(245,240,230,0.1); padding-bottom: 50px; }
.wordmark { text-decoration: none; display: flex; flex-direction: column; color: #fff; font-family: var(--td-font-heading); font-weight: 800; font-size: 24px; }
.wordmark small { font-size: 18px; font-family: var(--td-font-mono); color: var(--td-color-primary); margin-top: 8px; }
.footer-brand p { margin-top: 20px; color: #c8c0b1; font-size: 18px; line-height: 1.7; }
.fse-footer-columns h4 { margin-bottom: 25px; font-size: 18px; text-transform: uppercase; color: var(--td-color-primary); }
.fse-footer-menu { list-style: none; padding: 0; }
.fse-footer-menu li { margin-bottom: 15px; }
.fse-footer-menu a { color: #d9d1c3; text-decoration: none; font-size: 18px; }
.fse-footer-bottom { padding-top: 30px; font-family: var(--td-font-mono); font-size: 18px; color: #a69d8d; text-align: center; }
@media (max-width: 992px) {
 .fse-hero-container, .partnership-layout, .serve-grid, .about-grid, .community-layout, .faq-layout, .quote-layout, .merch-grid { grid-template-columns: 1fr; }
 .merch-grid { grid-template-columns: repeat(2, 1fr); }
 .service-grid { grid-template-columns: repeat(2, 1fr); }
 .service-card, .service-card.large-card { grid-column: span 1; }
 .steps-grid { grid-template-columns: repeat(2, 1fr); }
 .fse-footer-columns { grid-template-columns: 1fr; }
 .contact-layout { flex-direction: column; align-items: flex-start; gap: 30px; }
}
@media (max-width: 576px) {
 .merch-grid, .steps-grid, .service-grid { grid-template-columns: 1fr; }
 .check-grid { grid-template-columns: 1fr; }
 .contact-actions { flex-direction: column; width: 100%; }
 .fse-button { width: 100%; justify-content: center; }
 .fse-header-content { padding: 0 20px; }
 .fse-logo-area { gap: 10px; }
 .fse-site-title { font-size: 20px; }
 .fse-site-tagline { font-size: 16px; }
 .fse-logo { height: 50px; }
 .fse-nav-menu a { font-size: 16px; }
 .header-cta { font-size: 16px !important; min-height: 50px !important; }
 .fse-hero-section h1 { font-size: clamp(40px, 10vw, 70px); }
 .fse-button { min-height: 50px; padding: 0 20px; font-size: 16px; }
 .path-grid { padding: 0 20px; }
 .path-card { padding: 40px 30px; min-height: auto; }
 .path-card h3 { font-size: 40px; }
 .merch-section { padding: 80px 20px; }
 .merch-grid { gap: 10px; }
 .merch-copy h3 { font-size: 24px; }
 .merch-note { padding: 15px 20px; }
 .custom-section { padding: 80px 20px; }
 .service-card { padding: 30px 20px; }
 .service-card h3 { font-size: 26px; }
 .custom-bottom-cta { margin: 40px auto 0; gap: 20px; }
 .serve-section { padding: 80px 20px; }
 .serve-item { gap: 15px; padding: 25px 0; }
 .serve-item h3 { font-size: 26px; }
 .partnership-section { padding: 80px 20px; }
 .partnership-layout { gap: 50px; }
 .partnership-copy h2 { font-size: 50px; }
 .promise { padding: 25px 0; }
 .promise:nth-child(odd) { border-right: none; }
 .steps-section { padding: 80px 20px; }
 .steps-grid { gap: 20px; }
 .step { padding: 25px 0; }
 .step:not(:last-child):after { display: none; }
 .step h3 { font-size: 24px; margin-top: 15px; }
 .about-section { padding: 80px 20px; }
 .about-grid { gap: 50px; }
 .founder-image { min-height: 350px; }
 .about-copy h2 { font-size: 50px; }
 .community-section { padding: 80px 20px; }
 .community-layout { gap: 50px; }
 .team-redemption-box h2 { font-size: 40px; }
 .mission-section { padding: 100px 20px; }
 .faq-section { padding: 80px 20px; }
 .faq-layout { gap: 50px; }
 .faq-list summary { padding: 20px 0; font-size: 17px; }
 .faq-list summary:after { font-size: 20px; top: 18px; }
 .faq-list details p { padding-bottom: 20px; }
 .quote-section { padding: 80px 20px; }
 .quote-layout { gap: 50px; }
 .quote-form { padding: 30px 20px; }
 .form-grid { gap: 15px; }
 .field input, .field select, .field textarea { padding: 12px; font-size: 16px; }
 .field label, .fieldset legend, .check-grid label { font-size: 16px; }
 .contact-bar { padding: 50px 20px; }
 .fse-footer { padding: 60px 20px 30px; }
 .fse-footer-columns { padding-bottom: 30px; gap: 40px; }
 .wordmark { font-size: 20px; }
 .wordmark small { font-size: 16px; }
 .footer-brand p, .fse-footer-columns h4, .fse-footer-menu a, .fse-footer-bottom { font-size: 16px; }
}


/* PressMeGPT: header bar vertical padding floor (never 0) */
.site-header,
.theme-designer-header > header,
.theme-designer-header .fse-header,
header.fse-header,
.fse-header {
padding-top: 10px !important;
padding-bottom: 10px !important;
}


/* PressMeGPT FAQ accordion (native details/summary + JS fallback) */
.fse-faq-details,
details.fse-faq-item,
details[class*="faq"] {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.fse-faq-details summary,
details.fse-faq-item summary,
details[class*="faq"] summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 0;
  font-weight: 600;
}
.fse-faq-details summary::-webkit-details-marker,
details.fse-faq-item summary::-webkit-details-marker {
  display: none;
}
.fse-faq-answer,
.fse-faq-details > div,
details.fse-faq-item > div {
  padding-bottom: 1rem;
}
.fse-faq-item.is-open > .fse-faq-answer,
.fse-accordion-item.is-open > .fse-accordion-body {
  display: block;
}
.fse-faq-item:not(.is-open) > .fse-faq-answer,
.fse-accordion-item:not(.is-open) > .fse-accordion-body {
  display: none;
}


/* PressMeGPT interactive widgets (quiz / tabs / toggle / filter) */
[data-pmgpt-quiz] [data-pmgpt-quiz-result] { display: none; }
[data-pmgpt-quiz][data-pmgpt-ready] [data-pmgpt-quiz-step] { display: none; }
[data-pmgpt-quiz][data-pmgpt-ready] [data-pmgpt-quiz-step].is-active,
[data-pmgpt-quiz][data-pmgpt-ready] [data-pmgpt-quiz-result].is-active { display: block; }
[data-pmgpt-quiz][data-pmgpt-ready] [data-pmgpt-quiz-restart] { display: none; }
[data-pmgpt-quiz][data-pmgpt-ready].is-complete [data-pmgpt-quiz-restart] { display: inline-flex; }
[data-pmgpt-quiz-option] { cursor: pointer; }
[data-pmgpt-quiz-option].is-selected { outline: 2px solid currentColor; outline-offset: 2px; }
[data-pmgpt-quiz-progress] { display: block; }

[data-pmgpt-tabs][data-pmgpt-ready] [data-pmgpt-panel] { display: none; }
[data-pmgpt-tabs][data-pmgpt-ready] [data-pmgpt-panel].is-active { display: block; }
[data-pmgpt-tab] { cursor: pointer; }

[data-pmgpt-toggle] { cursor: pointer; }
[data-pmgpt-toggle-target].is-hidden { display: none; }

[data-pmgpt-filter-btn] { cursor: pointer; }
[data-pmgpt-filter-item].is-hidden { display: none; }



/* Copy-site Gutenberg fidelity — never style header/footer nav as content lists */
footer.fse-designed-footer:not(.fse-copy-preserve) {
  color: #ffffff !important;
}
main .wp-block-html .fse-section-dark :where(h1,h2,h3,h4,h5,h6,p,li,span,a:not(.fse-button)),
main .wp-block-html .fse-hero-dark :where(h1,h2,h3,h4,h5,h6,p,li,span,a:not(.fse-button)),
main .wp-block-html .fse-deals-section :where(h1,h2,h3,h4,h5,h6,p,li,span,a:not(.fse-button)),
footer.fse-designed-footer:not(.fse-copy-preserve) :where(h1,h2,h3,h4,h5,h6,p,li,a:not(.fse-button)) {
  color: inherit !important;
}

header.fse-designed-header:not(.fse-copy-preserve) ul,
header.fse-designed-header:not(.fse-copy-preserve) ol,
.fse-designed-header:not(.fse-copy-preserve) .wp-block-html ul,
.fse-designed-header:not(.fse-copy-preserve) .wp-block-html ol,
.fse-designed-header:not(.fse-copy-preserve) ul,
.fse-designed-header:not(.fse-copy-preserve) ol,
.fse-designed-header:not(.fse-copy-preserve) nav ul,
.fse-designed-header:not(.fse-copy-preserve) .fse-main-nav ul,
.fse-designed-header:not(.fse-copy-preserve) .fse-nav-menu {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
}
.fse-designed-header:not(.fse-copy-preserve) li::marker { content: none !important; }
.fse-designed-header:not(.fse-copy-preserve) .fse-header-content,
.fse-designed-header:not(.fse-copy-preserve) .fse-header-inner,
.fse-designed-header:not(.fse-copy-preserve) .fse-header-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
}
.fse-designed-header:not(.fse-copy-preserve) .fse-header-actions {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

footer.fse-designed-footer:not(.fse-copy-preserve) ul,
footer.fse-designed-footer:not(.fse-copy-preserve) ol,
.fse-designed-footer:not(.fse-copy-preserve) .wp-block-html ul,
.fse-designed-footer:not(.fse-copy-preserve) .wp-block-html ol,
.fse-designed-footer:not(.fse-copy-preserve) ul,
.fse-designed-footer:not(.fse-copy-preserve) ol,
.fse-designed-footer:not(.fse-copy-preserve) nav ul,
.fse-designed-footer:not(.fse-copy-preserve) .fse-nav-menu,
.fse-designed-footer:not(.fse-copy-preserve) .fse-footer-columns ul {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.fse-designed-footer:not(.fse-copy-preserve) li::marker { content: none !important; }
/* Preserve footer column grid/flex from masterCss — do not force flex layout here */

/* Preserve per-section colors from masterCss — avoid theme.json global text on dark sections */
main .wp-block-html .fse-section,
main .wp-block-html .fse-hero,
main .wp-block-html .fse-cta,
main .wp-block-html section[class*="fse-"] {
  color: unset;
}
main .wp-block-html .fse-section-dark,
main .wp-block-html .fse-hero-dark,
main .wp-block-html .fse-section[class*="dark"],
main .wp-block-html .fse-hero[class*="dark"],
main .wp-block-html .fse-deals-section,
footer.fse-designed-footer:not(.fse-copy-preserve) {
  color: #ffffff !important;
}
main .wp-block-html .fse-section-dark :where(h1,h2,h3,h4,h5,h6,p,li,span,a:not(.fse-button)),
main .wp-block-html .fse-hero-dark :where(h1,h2,h3,h4,h5,h6,p,li,span,a:not(.fse-button)),
main .wp-block-html .fse-deals-section :where(h1,h2,h3,h4,h5,h6,p,li,span,a:not(.fse-button)),
footer.fse-designed-footer:not(.fse-copy-preserve) :where(h1,h2,h3,h4,h5,h6,p,li,a:not(.fse-button)) {
  color: inherit !important;
}

main.wp-block-group ul:not(.fse-nav-menu):not(.fse-main-nav ul),
main .wp-block-html ul:not(.fse-nav-menu),
.fse-section ul:not(.fse-nav-menu) {
  list-style: disc;
  padding-left: 1.5em;
  margin-left: 0;
}
main.wp-block-group ol:not(.fse-nav-menu),
main .wp-block-html ol:not(.fse-nav-menu),
.fse-section ol:not(.fse-nav-menu) {
  list-style: decimal;
  padding-left: 1.5em;
}
main .wp-block-list:not(.fse-nav-menu) {
  list-style: revert;
  padding-left: 1.5em;
}
main .wp-block-list li,
.fse-section li:not(.fse-nav-menu li) {
  margin-bottom: 0.35em;
}

.fse-section i[class*="fa-"],
.fse-section .fa,
.fse-section .fas,
.fse-section .far,
.fse-section .fab,
main i[class*="fa-"],
.fse-card [class*="icon"],
.fse-service-card [class*="icon"] {
  font-size: 1.25em;
  line-height: 1;
  vertical-align: middle;
}
.fse-section svg,
.fse-card svg {
  width: auto;
  height: 1.25em;
  max-width: 2em;
}

.wp-block-html i[class*="fa-"],
.wp-block-html .fa,
.wp-block-html .fas,
.wp-block-html .far,
.wp-block-html .fab {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 1.25em;
  line-height: 1;
}

.fse-section:not(.fse-copy-preserve) img,
.fse-card img,
main:not(.fse-copy-preserve) .wp-block-html img {
  max-width: 100%;
  height: auto;
  display: block;
}
main:not(.fse-copy-preserve) .wp-block-html .fse-column img,
main:not(.fse-copy-preserve) .wp-block-html .fse-grid img,
main:not(.fse-copy-preserve) .wp-block-html .fse-card img,
main:not(.fse-copy-preserve) .wp-block-html .fse-two-column img,
main:not(.fse-copy-preserve) .wp-block-html .fse-services img,
main:not(.fse-copy-preserve) .wp-block-html .fse-feature img {
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
main:not(.fse-copy-preserve) .wp-block-html .fse-hero-image,
main:not(.fse-copy-preserve) .wp-block-html .fse-hero-graphic,
main:not(.fse-copy-preserve) .wp-block-html .fse-hero-image img,
main:not(.fse-copy-preserve) .wp-block-html .fse-hero-graphic img,
main:not(.fse-copy-preserve) .wp-block-html .fse-hero img.fse-hero-image {
  max-width: 100%;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  object-fit: contain;
}

.fse-section i[class*="fa-"],
main .wp-block-html .fse-section p,
main .wp-block-html .fse-card p {
  font-size: 1rem;
  line-height: 1.65;
}
main .wp-block-html .fse-card h3,
main .wp-block-html .fse-column h3 {
  font-size: 1.125rem;
  line-height: 1.35;
}

.fse-section[style*="background-image"],
.fse-hero[style*="background-image"],
[class*="fse-"][style*="background-image"],
.wp-block-html [style*="background-image"] {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

iframe,
.wp-block-html iframe {
  max-width: 100%;
  width: 100%;
  border: 0;
  display: block;
}

.wp-block-cover .fse-hero-content,
.wp-block-cover .fse-section-header,
.wp-block-html .fse-hero-content {
  text-align: inherit;
}
.wp-block-cover__inner-container .fse-hero-content {
  max-width: none;
  width: 100%;
}

.fse-section,
.fse-hero,
.wp-block-html .fse-section,
.wp-block-html .fse-hero {
  position: relative;
}

/* Classic theme designer wrappers (mockup / figma / copy-site exports) */
.theme-designer-header ul,
.theme-designer-header ol,
.theme-designer-footer ul,
.theme-designer-footer ol,
.theme-designer-footer .fse-footer-columns ul,
.theme-designer-footer .menu {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.theme-designer-header li::marker,
.theme-designer-footer li::marker {
  content: none !important;
}
/* Fallback footer columns for plain theme-designer footers only.
   Do NOT force flex on .fse-copy-preserve / mockup / figma designed footers —
   their master CSS owns grid/flex layout (EXP-12). */
.theme-designer-footer:not(:has(.fse-copy-preserve)) .fse-footer-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

/* Let source-site CSS control image sizing inside copy-preserve shells */
.fse-copy-preserve img,
header.fse-copy-preserve img,
footer.fse-copy-preserve img,
main.fse-copy-preserve .wp-block-html img {
  max-width: 100%;
}


/* Copy-site image fidelity — content photos full width; icons only capped.
 * IMPORTANT: exclude header/footer chrome (logos, payment badges, social icons)
 * so their authored sizes are respected instead of being blown up to intrinsic. */
.fse-section:not(.fse-header):not(.fse-footer) img:not(.fse-icon):not([class*="icon"]):not(.fse-logo):not(.fse-footer-logo),
.fse-hero img:not(.fse-icon):not([class*="icon"]):not(.fse-logo),
.fse-gallery img,
.fse-portfolio img,
.fse-project img,
.fse-service img,
.fse-feature img,
.fse-card img:not(.fse-icon):not([class*="icon"]):not(.fse-template-thumb img),
.fse-column img:not(.fse-icon):not([class*="icon"]),
.wp-block-html img:not(.fse-icon):not([class*="icon"]) {
  max-width: 100% !important;
  max-height: none !important;
  width: auto;
  height: auto;
  object-fit: cover;
}
/* Hero band images fill the content column. Authored design CSS (e.g.
 * .fse-hero-content .fse-image { width: 100% }) must win over the generic
 * intrinsic-size rule above, which is why that rule is no longer !important. */
.fse-hero img.fse-image,
.fse-hero-content img.fse-image,
.fse-hero .fse-image img,
.fse-hero-content .fse-image img,
.fse-hero figure.wp-block-image img,
.fse-hero-content figure.wp-block-image img,
.fse-hero > img:only-child,
.fse-hero-content > img:only-child {
  width: 100%;
  height: auto;
  display: block;
}
.fse-hero figure.wp-block-image,
.fse-hero-content figure.wp-block-image {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.fse-hero-image img,
.fse-hero-graphic img,
.fse-card .fse-template-thumb img,
.fse-deal-card img,
.fse-product-card img,
.fse-template-card img,
.fse-product-grid .fse-card > img:first-child,
.fse-featured-grid .fse-card > img:first-child {
  max-width: 100% !important;
  max-height: none !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover;
}
.fse-card img.fse-icon,
.fse-column img.fse-icon,
img.fse-category-icon,
.fse-card img[class*="icon"]:not([class*="thumb"]),
.fse-column img[width="64"],
.fse-column img[height="64"] {
  max-width: 64px;
  max-height: 64px;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}
/* Header/footer chrome caps — safety net so logos and payment/social badges
 * never render at intrinsic size. Specificity is deliberately >= the broad
 * .fse-section img:not(...):not(...) rule above so these caps actually win. */
.fse-section.fse-header img.fse-logo:not(.fse-logo-sprite),
header.fse-section img.fse-logo:not(.fse-logo-sprite),
header.fse-header img.fse-logo:not(.fse-logo-sprite) {
  height: 60px !important;
  max-height: 64px !important;
  max-width: 260px !important;
  width: auto !important;
  object-fit: contain !important;
}
.fse-section.fse-header img.fse-logo[src$=".svg"]:not(.fse-logo-sprite),
header.fse-section img.fse-logo[src$=".svg"]:not(.fse-logo-sprite),
header.fse-header img.fse-logo[src$=".svg"]:not(.fse-logo-sprite) {
  height: 60px !important;
}
.fse-section.fse-footer img.fse-footer-logo:not(.fse-logo-sprite),
.fse-section.fse-footer img.fse-logo:not(.fse-logo-sprite),
footer.fse-section img.fse-footer-logo:not(.fse-logo-sprite),
footer.fse-section img.fse-logo:not(.fse-logo-sprite),
footer.fse-footer img.fse-footer-logo:not(.fse-logo-sprite) {
  height: 44px !important;
  max-height: 56px !important;
  max-width: 220px !important;
  width: auto !important;
  object-fit: contain !important;
}
.fse-section.fse-footer img.fse-footer-logo[src$=".svg"]:not(.fse-logo-sprite),
.fse-section.fse-footer img.fse-logo[src$=".svg"]:not(.fse-logo-sprite),
footer.fse-section img.fse-footer-logo[src$=".svg"]:not(.fse-logo-sprite),
footer.fse-section img.fse-logo[src$=".svg"]:not(.fse-logo-sprite),
footer.fse-footer img.fse-footer-logo[src$=".svg"]:not(.fse-logo-sprite) {
  height: 44px !important;
}
/* Footer inline images (payment badges, social icons, app-store buttons) */
.fse-section.fse-footer img:not(.fse-logo):not(.fse-footer-logo):not(.fse-logo-sprite),
footer.fse-section img:not(.fse-logo):not(.fse-footer-logo):not(.fse-logo-sprite),
footer.fse-footer img:not(.fse-logo):not(.fse-footer-logo):not(.fse-logo-sprite) {
  max-height: 40px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
/* Header inline images beside logo (badges, small icons) */
.fse-section.fse-header img:not(.fse-logo):not(.fse-logo-sprite),
header.fse-section img:not(.fse-logo):not(.fse-logo-sprite),
header.fse-header img:not(.fse-logo):not(.fse-logo-sprite) {
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.fse-hero-content,
.fse-hero-overlay,
.fse-section .fse-hero-content,
[class*="overlay"] .fse-hero-content {
  position: relative;
  z-index: 2;
}
.fse-hero[style*="background-image"],
.fse-section[style*="background-image"] {
  background-size: cover !important;
  background-position: center !important;
}


/* PressMeGPT header archetype (designed markup): logo-left-menu-right */
.theme-designer-header .fse-logo img:not(.fse-logo-sprite), .theme-designer-header .site-logo img:not(.fse-logo-sprite), .theme-designer-header .logo img:not(.fse-logo-sprite), .theme-designer-header .custom-logo:not(.fse-logo-sprite), .theme-designer-header header img.logo:not(.fse-logo-sprite), .theme-designer-header img.fse-logo:not(.fse-logo-sprite), .theme-designer-header img.site-logo:not(.fse-logo-sprite), .theme-designer-header img.logo:not(.fse-logo-sprite), .theme-designer-header .fse-logo-area img:not(.fse-logo-sprite), .theme-designer-header .site-branding img:not(.fse-logo-sprite), .theme-designer-header .fse-header-left img:not(.fse-logo-sprite) {
  height: auto !important;
  width: auto !important;
  max-height: 60px !important;
  max-width: min(320px, 60vw) !important;
  object-fit: contain;
}
@media (max-width: 781px) {
  .theme-designer-header .fse-logo img:not(.fse-logo-sprite), .theme-designer-header .site-logo img:not(.fse-logo-sprite), .theme-designer-header .logo img:not(.fse-logo-sprite), .theme-designer-header .custom-logo:not(.fse-logo-sprite), .theme-designer-header header img.logo:not(.fse-logo-sprite), .theme-designer-header img.fse-logo:not(.fse-logo-sprite), .theme-designer-header img.site-logo:not(.fse-logo-sprite), .theme-designer-header img.logo:not(.fse-logo-sprite), .theme-designer-header .fse-logo-area img:not(.fse-logo-sprite), .theme-designer-header .site-branding img:not(.fse-logo-sprite), .theme-designer-header .fse-header-left img:not(.fse-logo-sprite) { max-height: 44px !important; }
}
.theme-designer-header .fse-header-inner, .theme-designer-header .header-inner, .theme-designer-header .fse-header > div, .theme-designer-header > div { flex-direction: row; justify-content: space-between; align-items: center; }
/* PressMeGPT — sprite logos keep their designed crop */
.theme-designer-header img.fse-logo-sprite {
  object-fit: none !important;
  max-width: none !important;
  max-height: none !important;
  flex: 0 0 auto;
}
.theme-designer-header img.fse-logo-sprite[style*="height"] {
  /* height/width come from the element's own inline style */
  transform-origin: left center;
}
@media (max-width: 781px) {
  .theme-designer-header img.fse-logo-sprite { transform: scale(0.75); }
}


/* PressMeGPT header: sticky (design declares fse-header-sticky) */
.theme-designer-header, .theme-designer-header > header, .theme-designer-header .fse-header {
  position: sticky !important;
  top: 0;
  z-index: 999;
}

/* PressMeGPT footer archetype: columns-3 */
.theme-designer-footer .fse-footer-layout-target, .fse-footer .fse-footer-layout-target, footer.fse-section .fse-footer-layout-target, .theme-designer-footer:not(:has(.fse-footer-layout-target)) .fse-footer-columns, .theme-designer-footer:not(:has(.fse-footer-columns)):not(:has(.fse-footer-layout-target)) .fse-footer-inner, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner)):not(:has(.fse-footer-layout-target)) .footer-inner, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)):not(:has(.fse-footer-layout-target)) > .container, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:only-child > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .fse-footer:not(:has(.fse-footer-layout-target)) .fse-footer-columns, .fse-footer:not(:has(.fse-footer-columns)):not(:has(.fse-footer-layout-target)) .fse-footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner)):not(:has(.fse-footer-layout-target)) .footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)):not(:has(.fse-footer-layout-target)) > .container, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:only-child > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), footer.fse-section:not(:has(.fse-footer-layout-target)) .fse-footer-columns, footer.fse-section:not(:has(.fse-footer-columns)):not(:has(.fse-footer-layout-target)) .fse-footer-inner, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner)):not(:has(.fse-footer-layout-target)) .footer-inner, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)):not(:has(.fse-footer-layout-target)) > .container, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:only-child > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
  text-align: left;
}
@media (max-width: 781px) {
  .theme-designer-footer .fse-footer-layout-target, .fse-footer .fse-footer-layout-target, footer.fse-section .fse-footer-layout-target, .theme-designer-footer:not(:has(.fse-footer-layout-target)) .fse-footer-columns, .theme-designer-footer:not(:has(.fse-footer-columns)):not(:has(.fse-footer-layout-target)) .fse-footer-inner, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner)):not(:has(.fse-footer-layout-target)) .footer-inner, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)):not(:has(.fse-footer-layout-target)) > .container, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:only-child > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .fse-footer:not(:has(.fse-footer-layout-target)) .fse-footer-columns, .fse-footer:not(:has(.fse-footer-columns)):not(:has(.fse-footer-layout-target)) .fse-footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner)):not(:has(.fse-footer-layout-target)) .footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)):not(:has(.fse-footer-layout-target)) > .container, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:only-child > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), footer.fse-section:not(:has(.fse-footer-layout-target)) .fse-footer-columns, footer.fse-section:not(:has(.fse-footer-columns)):not(:has(.fse-footer-layout-target)) .fse-footer-inner, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner)):not(:has(.fse-footer-layout-target)) .footer-inner, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)):not(:has(.fse-footer-layout-target)) > .container, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:only-child > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)):not(:has(.fse-footer-layout-target)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)) { grid-template-columns: 1fr; }
}




/* ===== Per-Page Scoped Styles (PressMeGPT) ===== */


/* ===== PressMeGPT: Blog/Archive Layout Enforcement (must win over master CSS) ===== */
body.single .content-area,
body.blog .content-area,
body.archive .content-area,
body.search .content-area,
body.error404 .content-area {
max-width: 1200px !important;
margin-left: auto !important;
margin-right: auto !important;
padding-left: 2rem !important;
padding-right: 2rem !important;
box-sizing: border-box;
}

@media (max-width: 768px) {
body.single .content-area,
body.blog .content-area,
body.archive .content-area,
body.search .content-area,
body.error404 .content-area {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}
}

body.single .content-area.has-sidebar,
body.blog .content-area.has-sidebar,
body.archive .content-area.has-sidebar,
body.search .content-area.has-sidebar {
display: grid !important;
grid-template-columns: minmax(0, 1fr) 300px !important;
gap: 3rem !important;
align-items: start;
}

@media (max-width: 900px) {
body.single .content-area.has-sidebar,
body.blog .content-area.has-sidebar,
body.archive .content-area.has-sidebar,
body.search .content-area.has-sidebar {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
}
}

body.single .primary-content,
body.single .primary-content > article,
body.single .entry-content,
body.single .entry-footer,
body.single .post-navigation,
body.single .comments-area,
body.blog .primary-content,
body.archive .primary-content {
max-width: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
box-sizing: border-box;
}

/* PressMeGPT scroll-reveal guard — supports both .visible and .is-visible conventions */
.animate-on-scroll.visible, .animate-on-scroll.is-visible,
.animate-slide-left.visible, .animate-slide-left.is-visible,
.animate-slide-right.visible, .animate-slide-right.is-visible,
.animate-scale.visible, .animate-scale.is-visible,
.animate-slide-up.visible, .animate-slide-up.is-visible {
  opacity: 1 !important;
  transform: none !important;
}
