/*
Theme Name: kopka v1.1
Theme URI: https://pressmegpt.com
Author: PressMeGPT
Author URI: https://pressmegpt.com
Description: Create a modern, fast, mobile-first Russian WordPress homepage for an independent backhoe loader owner-operator in Kaliningrad, Russia. Business name: "Экскаватор-погрузчик Калининград". This is one private operator who works personally on his own backhoe loader. It is not a large construction company, not a fleet, not a marketplace and not a dispatching service. The site must build trust and generate direct phone calls and WhatsApp/Telegram messages from homeowners, private house builders and small contractors. Main H1 in Russian: "Экскаватор-погрузчик с оператором в Калининграде" Hero subtitle in Russian: "Копка траншей и котлованов, планировка участка, погрузка грунта. Работаю сам — без посредников. Почасовая оплата." Hero buttons in Russian: "Позвонить" "Оставить заявку" Use editable placeholders: Phone: +7 (900) 000-00-00 Price: от ___ ₽/час Area: Калининград и Калининградская область Design style: Practical, robust, trustworthy, industrial and clean. Use dark graphite, white and construction-yellow accent colors. Use realistic high-quality photos of a yellow backhoe loader digging soil, excavating trenches, loading gravel and working on private building plots. Avoid skyscrapers, business people, luxury corporate design, cartoon illustrations, fake machinery fleets and excessive animations. Create these homepage sections in this order: 1. Sticky header: logo text, navigation links "Услуги", "Техника", "Цены", "Фото работ", "Отзывы", "Контакты"; phone number and | This theme was generated by PressMeGPT.com - AI WordPress Theme Generator. Free software released under GNU GPLv2 with attribution.
Version: 1.1.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: kopka
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 #FFC107;
}

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

.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: #212529;
text-decoration: none;
transition: color 0.2s;
}

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

.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: #FFC107;
}

.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: #FFC107;
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: #FFC107;
}

.search-form .search-submit {
padding: 10px 20px;
background: #FFC107;
color: #fff;
border: 2px solid #FFC107;
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: #FFC107;
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: #212529;
}

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

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

.widget-area a {
color: #FFC107;
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 */
/* Universal Styles */
* { min-width: 0; box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.fse-group, .fse-section { overflow-x: hidden; }

/* Root Variables */
:root {
  --td-color-primary: #FFC107;
  --td-color-secondary: #6C757D;
  --td-color-background: #F8F9FA;
  --td-color-text: #343A40;
  --td-color-heading: #212529;
  --td-color-link: var(--td-color-primary);
  --td-color-link-hover: #E0A800;
  --td-color-btn-primary-bg: var(--td-color-primary);
  --td-color-btn-primary-text: var(--td-color-heading);
  --td-color-btn-primary-hover: var(--td-color-link-hover);
  --td-color-btn-secondary-bg: var(--td-color-heading);
  --td-color-btn-secondary-text: var(--td-color-background);
  --td-color-btn-secondary-hover: #495057;
  --td-color-header-bg: var(--td-color-heading);
  --td-color-header-text: var(--td-color-background);
  --td-color-footer-bg: var(--td-color-heading);
  --td-color-footer-text: #CED4DA;
  --td-font-body: 'Inter', sans-serif;
  --td-font-heading: 'Outfit', sans-serif;
  --td-font-size-base: 16px;
  --td-heading-scale: 1.25;
}

body { margin: 0; font-family: var(--td-font-body); color: var(--td-color-text); background-color: var(--td-color-background); line-height: 1.6; }

/* Accessibility */
a { color: var(--td-color-link); text-decoration: none; transition: color 0.3s ease; }
a:hover { color: var(--td-color-link-hover); }

/* FSE General */
.fse-section { padding: 80px 0; position: relative; }
.fse-group { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.fse-section-header { text-align: center; margin-bottom: 60px; }

/* Headings */
.fse-heading {
  font-family: var(--td-font-heading);
  color: var(--td-color-heading);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}
h1.fse-heading { font-size: clamp(2.8rem, 5vw, 4.5rem); line-height: 1.1; }
h2.fse-heading { font-size: clamp(2.2rem, 4vw, 3.2rem); margin-bottom: 30px; }
h3.fse-heading { font-size: clamp(1.8rem, 3vw, 2.4rem); }
h4.fse-heading { font-size: 1.4rem; }

.fse-paragraph { font-size: 1.15rem; line-height: 1.7; margin-bottom: 20px; }

/* Buttons */
.fse-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 8px;
  font-family: var(--td-font-body);
  font-weight: 600;
  font-size: 1.1rem;
  cursor: pointer;
  border: none;
  transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
  white-space: nowrap;
}
.fse-button-primary {
  background-color: var(--td-color-btn-primary-bg);
  color: var(--td-color-btn-primary-text);
}
.fse-button-secondary {
  background-color: var(--td-color-btn-secondary-bg);
  color: var(--td-color-btn-secondary-text);
  border: 1px solid var(--td-color-btn-secondary-bg);
}
.fse-button:hover { filter: brightness(1.1); transform: translateY(-2px); text-decoration: none; }
.fse-button-primary:hover { box-shadow: 0 8px 20px rgba(255,193,7,0.3); }
.fse-button-secondary:hover { box-shadow: 0 8px 20px rgba(33,37,41,0.3); }
.fse-button-large { padding: 18px 36px; font-size: 1.25rem; }

/* Cards */
.fse-card { background-color: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 30px rgba(0,0,0,0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; align-items: flex-start; text-align: left; height: 100%; }
.fse-card:hover { transform: translateY(-5px); box-shadow: 0 10px 40px rgba(0,0,0,0.12); }
.fse-card-icon { font-size: 3rem; color: var(--td-color-primary); margin-bottom: 20px; display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; background-color: rgba(255,193,7,0.1); border-radius: 50%; }
.fse-card .fse-heading { font-size: 1.5rem; margin-top: 0; margin-bottom: 15px; color: var(--td-color-heading); }
.fse-card .fse-paragraph { font-size: 1rem; line-height: 1.7; color: var(--td-color-text); flex-grow: 1; }

/* Icons */
.fse-icon, .fse-card-icon img, .fse-category-icon img { max-width: 64px; max-height: 64px; width: auto; height: auto; object-fit: contain; }

/* Columns */
.fse-columns { display: flex; flex-wrap: wrap; gap: 40px; }
.fse-column { flex: 1 1 45%; min-width: 0; display: flex; flex-direction: column; justify-content: center; }

/* Section Variants */
.fse-section-dark { background-color: var(--td-color-heading); color: var(--td-color-background); }
.fse-section-dark .fse-heading { color: var(--td-color-background); }
.fse-section-dark .fse-paragraph { color: #CED4DA; }
.fse-section-dark-alt { background-color: #343A40; color: var(--td-color-background); }
.fse-section-dark-alt .fse-heading { color: var(--td-color-background); }
.fse-section-dark-alt .fse-paragraph { color: #CED4DA; }

/* Header */
.fse-header { padding: 15px 0; background: var(--td-color-header-bg); border-bottom: 1px solid rgba(255,255,255,0.1); box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.fse-header-sticky { position: sticky; top: 0; z-index: 999; }
.fse-header-content { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.fse-header-left { display: flex; align-items: center; gap: 10px; flex: 0 1 auto; padding-left: 16px; }
.fse-header-right { display: flex; align-items: center; gap: 15px; flex: 0 0 auto; margin-left: auto; padding-right: 16px; }
.fse-logo-area { display: flex; align-items: center; gap: 10px; }
.fse-logo { height: 70px; width: auto; min-height: 60px; filter: brightness(1.5); }
.fse-site-title { font-size: 1.75rem; font-weight: 700; color: var(--td-color-header-text); font-family: var(--td-font-heading); letter-spacing: -0.02em; }
.fse-main-nav { display: flex; }
.fse-nav-menu { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; justify-content: center; align-items: center; }
.fse-nav-menu a { text-decoration: none; color: var(--td-color-header-text); font-weight: 500; white-space: nowrap; font-size: 1.05rem; transition: color 0.3s ease; }
.fse-nav-menu a:hover { color: var(--td-color-primary); }
.fse-toggle-button { display: none; background: none; border: none; font-size: 24px; cursor: pointer; color: var(--td-color-header-text); }
.fse-header-actions { display: flex; gap: 15px; }
.fse-header-actions .fse-button-phone { background-color: var(--td-color-primary); color: var(--td-color-heading); padding: 10px 20px; font-size: 1rem; border-radius: 6px; }
.fse-header-actions .fse-button-phone:hover { filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 4px 15px rgba(255,193,7,0.2); }

/* Mobile Nav (required structure) */
.fse-main-nav.mobile-open { display: flex !important; position: absolute; top: 100%; left: 0; right: 0; background: var(--td-color-header-bg, #fff); flex-direction: column; padding: 20px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); z-index: 100; }
.fse-main-nav.mobile-open .fse-nav-menu { flex-direction: column; gap: 15px; align-items: flex-start; }

/* Hero Section */
.fse-hero { padding: 100px 0; min-height: 85vh; display: flex; align-items: center; text-align: left; position: relative; overflow: hidden; }
.fse-hero-gradient { background-color: var(--td-color-heading); }
.fse-hero-gradient::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E"); background-size: cover; z-index: 1; }
.fse-hero-content { display: grid; grid-template-columns: 55fr 45fr; gap: 40px; align-items: center; position: relative; z-index: 2; }
.fse-hero-text-column { color: var(--td-color-background); }
.fse-hero-text-column .fse-heading { color: var(--td-color-background); margin-bottom: 25px; letter-spacing: -0.04em; }
.fse-hero-text-column .fse-paragraph { font-size: 1.3rem; line-height: 1.5; color: #E0E0E0; margin-bottom: 40px; }
.fse-hero-buttons { display: flex; gap: 15px; margin-top: 30px; flex-wrap: wrap; justify-content: flex-start; }
.fse-hero-visual-column { background: radial-gradient(circle at 60% 80%, rgba(255,193,7,0.3) 0%, transparent 60%), radial-gradient(circle at 20% 20%, rgba(255,193,7,0.2) 0%, transparent 70%); height: 450px; border-radius: 12px; position: relative; overflow: hidden; transform: rotate(3deg); margin-top: -30px; margin-bottom: 30px; }
.fse-hero-visual-column::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,193,7,0.6) 0%, rgba(255,193,7,0.2) 100%); mix-blend-mode: overlay; opacity: 0.8; }

/* Services Section */
.fse-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1200px; margin: 0 auto; }
.fse-services-grid .fse-card { background-color: #343A40; color: #F8F9FA; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }
.fse-services-grid .fse-card .fse-heading { color: #F8F9FA; }
.fse-services-grid .fse-card .fse-paragraph { color: #CED4DA; }

/* Equipment Section */
.fse-equipment .fse-columns { gap: 60px; align-items: center; }
.fse-equipment .fse-image-column { flex: 0 0 55%; }
.fse-equipment .fse-text-column { flex: 0 0 40%; }
.fse-equipment .fse-image { border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.1); }
.fse-feature-list { list-style: none; padding: 0; margin: 30px 0; }
.fse-feature-list li { display: flex; align-items: center; margin-bottom: 15px; font-size: 1.1rem; line-height: 1.5; color: var(--td-color-text); }
.fse-feature-list li .fse-icon { color: var(--td-color-primary); margin-right: 15px; font-size: 1.5rem; flex-shrink: 0; }

/* Prices Section */
.fse-prices { text-align: center; }
.fse-price-card { background-color: var(--td-color-heading); padding: 50px; border-radius: 15px; max-width: 600px; margin: 40px auto 0; box-shadow: 0 15px 50px rgba(0,0,0,0.2); }
.fse-price-card .fse-heading { color: var(--td-color-primary); font-size: 2.2rem; margin-bottom: 20px; }
.fse-price-card .fse-paragraph { font-size: 1.25rem; color: #CED4DA; margin-bottom: 25px; }
.fse-price-value { font-size: 3.5rem; font-weight: 700; color: var(--td-color-background); line-height: 1; margin-bottom: 20px; }
.fse-highlight-price { color: var(--td-color-primary); }

/* Portfolio Section */
.fse-portfolio { background-color: var(--td-color-background); }
.fse-portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.fse-portfolio-item { border-radius: 12px; overflow: hidden; background-color: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.06); text-align: center; }
.fse-portfolio-item .fse-image-container { width: 100%; aspect-ratio: 4/3; overflow: hidden; }
.fse-portfolio-item .fse-image-container img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.fse-portfolio-item:hover .fse-image-container img { transform: scale(1.05); }
.fse-portfolio-item .fse-heading { font-size: 1.4rem; margin: 20px 0 25px; color: var(--td-color-heading); padding: 0 20px; }

/* Testimonials Section */
.fse-testimonials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; max-width: 1000px; margin: 0 auto; }
.fse-testimonial-card { background-color: #343A40; color: #F8F9FA; padding: 40px; border-radius: 15px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); }
.fse-quote { font-style: italic; font-size: 1.25rem; line-height: 1.8; margin-bottom: 25px; color: #CED4DA; }
.fse-quote .fse-icon { font-size: 2rem; color: var(--td-color-primary); margin-right: 15px; vertical-align: middle; }
.fse-testimonial-author { display: flex; align-items: center; margin-top: 20px; }
.fse-avatar { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; margin-right: 20px; border: 3px solid var(--td-color-primary); }
.fse-author-name { font-weight: 600; font-size: 1.1rem; color: var(--td-color-primary); margin: 0; }

/* Contact CTA Section */
.fse-contact-cta { text-align: center; }
.fse-contact-content { max-width: 800px; margin: 0 auto; }
.fse-contact-content .fse-heading { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 25px; }
.fse-contact-content .fse-paragraph { font-size: 1.2rem; margin-bottom: 30px; }
.fse-contact-info { font-size: 1.3rem; margin-bottom: 10px; font-weight: 500; }
.fse-contact-info a { color: var(--td-color-primary); text-decoration: none; }
.fse-contact-buttons { display: flex; justify-content: center; gap: 20px; margin-top: 40px; flex-wrap: wrap; }

/* Footer */
.fse-footer { background: var(--td-color-footer-bg); padding: 60px 0 20px; color: var(--td-color-footer-text); }
.fse-footer-content { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.fse-footer-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; margin-bottom: 40px; }
.fse-footer-columns .fse-column { text-align: left; }
.fse-footer-columns .fse-column h4 { margin-bottom: 15px; font-size: 1.2rem; color: var(--td-color-background); text-align: left; font-family: var(--td-font-heading); }
.fse-footer-logo { height: 50px; width: auto; margin-bottom: 15px; filter: brightness(1.5); }
.fse-footer-about .fse-paragraph { font-size: 0.95rem; line-height: 1.6; color: #CED4DA; }
.fse-footer-menu { list-style: none; padding: 0; margin: 0; text-align: left; }
.fse-footer-menu li { margin-bottom: 10px; }
.fse-footer-menu a { color: #CED4DA; text-decoration: none; font-weight: 400; font-size: 0.95rem; transition: color 0.3s ease; }
.fse-footer-menu a:hover { color: var(--td-color-primary); }
.fse-contact-list { list-style: none; padding: 0; margin: 0; text-align: left; }
.fse-contact-list li { margin-bottom: 12px; display: flex; align-items: flex-start; gap: 10px; justify-content: flex-start; font-size: 0.95rem; color: #CED4DA; }
.fse-contact-list li a { color: #CED4DA; transition: color 0.3s ease; }
.fse-contact-list li a:hover { color: var(--td-color-primary); }
.fse-contact-list i { width: 20px; color: var(--td-color-primary); flex-shrink: 0; margin-top: 3px; font-size: 1.1rem; }
.fse-footer-bottom { border-top: 1px solid rgba(255,255,255,0.15); padding-top: 20px; text-align: center; }
.fse-copyright { font-size: 14px; text-align: center; color: #ADB5BD; margin: 0; }

/* Responsive Styles */
@media (max-width: 992px) {
  .fse-hero-content { grid-template-columns: 1fr; text-align: center; }
  .fse-hero-text-column { order: 2; }
  .fse-hero-visual-column { order: 1; height: 350px; transform: none; margin: 0 auto 40px; width: 80%; }
  .fse-hero-buttons { justify-content: center; }

  .fse-services-grid, .fse-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .fse-columns { flex-direction: column; gap: 30px; }
  .fse-column { flex: 1 1 100%; }
  .fse-equipment .fse-image-column, .fse-equipment .fse-text-column { flex: 0 0 100%; }
  .fse-equipment .fse-image { max-width: 80%; margin: 0 auto; }
  .fse-testimonials-grid { grid-template-columns: 1fr; }
  .fse-testimonial-author { justify-content: center; }
}

@media (max-width: 768px) {
  .fse-toggle-button { display: block; order: 3; margin-left: auto; }
  .fse-main-nav { display: none; }
  .fse-header-actions { display: none; }
  .fse-header-content { flex-wrap: wrap; }

  .fse-section { padding: 60px 0; }
  h1.fse-heading { font-size: clamp(2.2rem, 8vw, 3.5rem); }
  h2.fse-heading { font-size: clamp(1.8rem, 7vw, 2.5rem); }
  .fse-paragraph { font-size: 1rem; }
  .fse-hero-text-column .fse-paragraph { font-size: 1.1rem; }
  .fse-hero-buttons { flex-direction: column; align-items: center; }
  .fse-hero-buttons .fse-button { width: 100%; max-width: 280px; text-align: center; }

  .fse-services-grid, .fse-portfolio-grid { grid-template-columns: 1fr; }
  .fse-footer-columns { grid-template-columns: 1fr; gap: 30px; }
  .fse-footer-columns .fse-column { text-align: center; }
  .fse-footer-columns .fse-column h4 { text-align: center; }
  .fse-footer-menu { text-align: center; }
  .fse-contact-list li { justify-content: center; }
  .fse-equipment .fse-image { max-width: 100%; }
  .fse-contact-buttons { flex-direction: column; align-items: center; }
  .fse-contact-buttons .fse-button { width: 100%; max-width: 320px; }
}

@media (max-width: 480px) {
  .fse-hero-visual-column { height: 250px; }
  .fse-price-card { padding: 30px; }
  .fse-price-value { font-size: 2.8rem; }
}
/* === Scroll Reveal Animation System === */
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeSlideLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeSlideRight {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.animate-on-scroll { opacity: 0; }
.animate-slide-left { opacity: 0; }
.animate-slide-right { opacity: 0; }
.animate-scale { opacity: 0; }
.animate-on-scroll.visible { animation: fadeSlideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-slide-left.visible { animation: fadeSlideLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-slide-right.visible { animation: fadeSlideRight 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-scale.visible { animation: scaleIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
/* Hover micro-interactions — buttons only lighten slightly, no underline, no text color change */
.fse-button { transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.2s ease; }
.fse-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.15); filter: brightness(1.1); text-decoration: none !important; }
.fse-button:hover * { text-decoration: none !important; color: inherit !important; }



/* 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 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;
  background: var(--td-color-header-bg, #ffffff);
}

/* PressMeGPT footer archetype: columns-3 */
.theme-designer-footer .fse-footer-columns, .theme-designer-footer:not(:has(.fse-footer-columns)) .fse-footer-inner, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner)) .footer-inner, .theme-designer-footer: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)) > 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)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .fse-footer .fse-footer-columns, .fse-footer:not(:has(.fse-footer-columns)) .fse-footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner)) .footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)) > .container, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)) > 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)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), footer.fse-section .fse-footer-columns, footer.fse-section:not(:has(.fse-footer-columns)) .fse-footer-inner, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner)) .footer-inner, footer.fse-section: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)) > 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)) > 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-columns, .theme-designer-footer:not(:has(.fse-footer-columns)) .fse-footer-inner, .theme-designer-footer:not(:has(.fse-footer-columns, .fse-footer-inner)) .footer-inner, .theme-designer-footer: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)) > 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)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), .fse-footer .fse-footer-columns, .fse-footer:not(:has(.fse-footer-columns)) .fse-footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner)) .footer-inner, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner)) > .container, .fse-footer:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)) > 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)) > div:not(:has(.fse-footer-columns, .fse-footer-inner, .footer-inner, .container)), footer.fse-section .fse-footer-columns, footer.fse-section:not(:has(.fse-footer-columns)) .fse-footer-inner, footer.fse-section:not(:has(.fse-footer-columns, .fse-footer-inner)) .footer-inner, footer.fse-section: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)) > 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)) > 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;
}
