/* =============================================================================
Theme Name: Phlox
Theme URI: http://phlox.pro/
Author: averta
Author URI: http://www.averta.net
Description: Phlox is a modern, lightweight and customizable theme perfect for almost any type of website including, blog, portfolio, business, agency, news & magazine, food & restaurant, travel, and photography as well as WooCommerce storefront. What makes the Phlox unbeatable is being fast, truly responsive, translation ready, RTL layout, built with SEO in mind, professional portfolio features, 30 exclusive widgets and elements, 19 demo sites for one-click import, WooCommerce Ready, WPML ready, 100% GDPR compliance, reliable with regular updates, and also integrated with Elementor, Visual Composer and SiteOrigin page builders. Phlox is architect from scratch by the team behind the famous "Master Slider" project, so relax and be assured that you are supported by a good company. Phlox is the only theme that you have ever need to use and look no further. Start exploring the demos: http://demo.phlox.pro/default/
Version: 2.17.11
Tested up to: 6.8.2
Requires at least: 5.4
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.g0.html
Tags: one-column,two-columns, three-columns, four-columns, left-sidebar, right-sidebar, grid-layout, custom-menu, custom-colors, editor-style, featured-images, featured-image-header, footer-widgets, full-width-template, post-formats, sticky-post, theme-options, translation-ready, e-commerce, portfolio, food-and-drink, threaded-comments, custom-logo
Text Domain: phlox
==============================================================================*/

/* Organic Luxury Design System */
:root {
    /* Color Palette - Organic Luxury */
    --color-primary: #1B4D3E;
    /* Deep Emerald Green */
    --color-secondary: #D4AF37;
    /* Muted Gold/Brass */
    --color-accent: #F5F1E8;
    /* Soft Cream */
    --color-text-main: #2C3338;
    /* Charcoal for text */
    --color-text-light: #5A666D;
    /* Slate for secondary text */
    --color-white: #FFFFFF;
    --color-light-gray: #F9FAFB;

    /* Typography */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Inter', sans-serif;

    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --spacing-xl: 8rem;

    /* Shadows */
    --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.05);
    --shadow-card: 0 10px 30px rgba(27, 77, 62, 0.08);
    /* Tinted with primary */
}

body {
    font-family: var(--font-body);
    color: var(--color-text-main);
    background-color: var(--color-light-gray);
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--color-primary);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--spacing-sm);
}

h1 {
    font-size: 3.5rem;
}

h2 {
    font-size: 2.5rem;
}

h3 {
    font-size: 1.75rem;
}

a {
    color: var(--color-primary);
    transition: all 0.3s ease;
    text-decoration: none;
}

a:hover {
    color: var(--color-secondary);
}

/* Base Utility Classes */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
}

.t-center {
    text-align: center;
}

.mb-lg {
    margin-bottom: var(--spacing-lg);
}

.mb-md {
    margin-bottom: var(--spacing-md);
}

/* Button Styles */
/* Button Styles */
.btn-primary {
    display: inline-block;
    background-color: var(--color-primary);
    color: var(--color-white) !important;
    /* Force white text */
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 0.9rem;
    border: none;
    cursor: pointer;
}

.btn-primary:hover {
    background-color: var(--color-secondary);
    color: var(--color-white) !important;
    /* Force white text on hover too */
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

/* Grid Layouts - Force display */
.grid-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--spacing-md);
}

.grid-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--spacing-md);
}

/* Hard Override for Links */
a {
    color: var(--color-primary) !important;
    text-decoration: none !important;
}

a:hover {
    color: var(--color-secondary) !important;
}

/* Container Fixes specific to BMC */
.bmc-home-container .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
    width: 100%;
}

@media (max-width: 768px) {

    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr !important;
    }

    body h1 {
        font-size: 2.2rem !important;
    }
}


/* Homepage - Hero Section */
.bmc-hero {
    position: relative;
    height: 85vh;
    min-height: 600px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Centering Horizontal */
    text-align: center;
    /* Centering Text */
    margin-top: -20px;
}

.bmc-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Balanced gradient for center focus */
    background: linear-gradient(0deg, rgba(27, 77, 62, 0.85) 0%, rgba(27, 77, 62, 0.6) 50%, rgba(27, 77, 62, 0.4) 100%);
    z-index: 1;
}

.bmc-hero .container {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: center;
}

.bmc-hero-content {
    max-width: 800px;
    /* Slightly wider for center layout */
    color: var(--color-white);
    padding: var(--spacing-md);
}

.bmc-hero-content h1 {
    color: var(--color-white) !important;
    font-size: 4.5rem !important;
    /* Larger for impact */
    line-height: 1.1 !important;
    margin-bottom: var(--spacing-md) !important;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
    font-weight: 700;
}

.bmc-hero-content p {
    font-size: 1.5rem !important;
    line-height: 1.6;
    margin-bottom: var(--spacing-lg) !important;
    opacity: 0.95;
    font-weight: 400;
    color: var(--color-white);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* Utility for Background Alternation */
.bg-soft {
    background-color: #F9F7F2;
    /* Cream/Off-white for warmth */
}

/* Homepage - Categories */
/* Homepage - Categories */
.section-pady {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-lg);
}

.bmc-cat-card {
    position: relative;
    background-color: var(--color-primary);
    /* Fallback */
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    transition: all 0.4s ease;
    text-align: center;
    padding: var(--spacing-lg) var(--spacing-md);
    border: none;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Dark overlay for readability */
.bmc-cat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(27, 77, 62, 0.4);
    /* Green tint */
    transition: background 0.3s ease;
    z-index: 1;
}

.bmc-cat-card:hover::before {
    background: rgba(27, 77, 62, 0.2);
    /* Lighter on hover */
}

.bmc-cat-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-card);
}

.bmc-cat-icon {
    display: none;
    /* Hide icon, using background now */
}

.bmc-cat-title {
    position: relative;
    z-index: 2;
    font-family: var(--font-heading);
    font-size: 2rem;
    margin-bottom: var(--spacing-xs);
    color: var(--color-white) !important;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.bmc-cat-card p {
    position: relative;
    z-index: 2;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    font-weight: 500;
}

/* Center Mission Section */
.bmc-about-teaser .container {
    text-align: center !important;
    max-width: 900px !important;
    margin: 0 auto;
}

.bmc-about-teaser h2 {
    font-size: 3.5rem !important;
    margin-bottom: var(--spacing-sm);
}

.bmc-about-teaser p {
    font-size: 1.35rem !important;
    margin-bottom: var(--spacing-md);
    line-height: 1.8;
}

/* Homepage - Latest Posts */
.bmc-post-card {
    background: var(--color-white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    transition: transform 0.3s ease;
}

.bmc-post-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-card);
}

.bmc-post-img {
    height: 240px;
    background-color: #eee;
    background-size: cover;
    background-position: center;
}

.bmc-post-content {
    padding: var(--spacing-md);
}

.bmc-post-meta {
    font-size: 0.85rem;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-xs);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bmc-post-title {
    font-size: 1.35rem;
    line-height: 1.3;
    margin-bottom: var(--spacing-sm);
}

.bmc-post-title a {
    color: var(--color-text-main);
}

.bmc-post-title a:hover {
    color: var(--color-primary);
}

.bmc-post-excerpt {
    font-size: 0.95rem;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-sm);
}

.read-more {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--color-primary);
}

/* Single Post and Page Styles */
.typography-enrich {
    font-size: 1.125rem;
    line-height: 1.8;
    color: var(--color-text-main);
}

.typography-enrich p {
    margin-bottom: var(--spacing-md);
}

.typography-enrich h2 {
    font-size: 2rem;
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-sm);
}

.typography-enrich h3 {
    font-size: 1.5rem;
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.typography-enrich ul,
.typography-enrich ol {
    margin-bottom: var(--spacing-md);
    padding-left: var(--spacing-md);
}

.typography-enrich li {
    margin-bottom: var(--spacing-xs);
}

.typography-enrich blockquote {
    border-left: 4px solid var(--color-secondary);
    padding-left: var(--spacing-md);
    font-style: italic;
    font-size: 1.25rem;
    margin: var(--spacing-md) 0;
    color: var(--color-text-light);
}

/* Single Hero */
.bmc-single-hero {
    position: relative;
    height: 60vh;
    min-height: 400px;
    background-size: cover;
    background-position: center;
    background-color: var(--color-primary);
    display: flex;
    align-items: flex-end;
    padding-bottom: var(--spacing-lg);
}

.bmc-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);
}

.bmc-single-header-content {
    position: relative;
    z-index: 2;
}

.color-white {
    color: var(--color-white);
}

.color-white-opacity {
    color: rgba(255, 255, 255, 0.8);
}

.meta-cats a {
    background: var(--color-secondary);
    color: var(--color-white);
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.meta-cats a:hover {
    background: var(--color-primary);
}

/* Post Navigation */
.bmc-post-nav a {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 700;
}

/* Archive Header */
.bmc-archive-header {
    background-color: var(--color-light-gray);
    padding: var(--spacing-lg) 0;
    text-align: center;
    margin-bottom: var(--spacing-lg);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.bmc-archive-title {
    font-size: 2.5rem;
    color: var(--color-primary);
    margin-bottom: var(--spacing-xs);
}

.bmc-archive-desc {
    font-size: 1.1rem;
    color: var(--color-text-light);
    max-width: 600px;
    margin: 0 auto;
}

/* Force Center Mission Section Alignment */
.bmc-about-teaser h2,
.bmc-about-teaser p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.bmc-about-teaser .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}