/*
 Theme Name:   SERESA Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Custom SERESA theme built with Bricks
 Author:       SERESA
 Author URI:   https://seresa.com
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* System Font Stack and Variables */
:root {
    /* Typography System */
    --font-system-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 
        Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 
        "Liberation Mono", "Courier New", monospace;
    --font-system-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

    /* Brand Colors */
    --color-primary: #DE3163;
    --color-primary-light: #FF3366;
    --color-primary-dark: #D62E5E;
    --color-secondary: #4A90E2;
    --color-secondary-dark: #3B5998;
    --color-navy: #261E43;
    --color-accent-purple: #A579D4;
    --color-accent-blue: #8DD3FA;

    /* Typography Scale */
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
}
/* Base Typography */
body {
    font-family: var(--font-system-primary);
    font-size: var(--font-size-base);
    line-height: 1.5;
    color: var(--color-navy);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-system-heading);
    line-height: 1.25;
    margin-bottom: 0.5em;
}

h1 { font-size: var(--font-size-4xl); }
h2 { font-size: var(--font-size-3xl); }
h3 { font-size: var(--font-size-2xl); }
h4 { font-size: var(--font-size-xl); }
h5 { font-size: var(--font-size-lg); }
h6 { font-size: var(--font-size-base); }

/* Button Styles */
.brxe-button {
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.brxe-button.primary {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary));
    color: white;
}

.brxe-button.secondary {
    background: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-dark));
    color: white;
}
/* Custom Title Element Styles */
.custom-title-wrapper {
    margin-bottom: 2rem;
}

.custom-title-wrapper .title {
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}

.custom-title-wrapper .subtitle {
    color: var(--color-secondary-dark);
    font-size: var(--font-size-lg);
}

/* Card Styles */
.brxe-container.card {
    border-radius: 12px;
    padding: 1.5rem;
    background: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Form Elements */
.brxe-form input[type="text"],
.brxe-form input[type="email"],
.brxe-form textarea {
    font-family: var(--font-system-primary);
    font-size: var(--font-size-base);
    padding: 0.75rem;
    border: 1px solid var(--color-accent-blue);
    border-radius: 8px;
    transition: border-color 0.3s ease;
}

.brxe-form input[type="text"]:focus,
.brxe-form input[type="email"]:focus,
.brxe-form textarea:focus {
    border-color: var(--color-primary);
    outline: none;
}
/* WooCommerce Styles */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary));
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-family: var(--font-system-primary);
}

.woocommerce ul.products li.product {
    background: white;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Responsive Styles */
@media (max-width: 768px) {
    :root {
        --font-size-4xl: 2rem;
        --font-size-3xl: 1.75rem;
        --font-size-2xl: 1.375rem;
    }
    
    .brxe-button {
        width: 100%;
        text-align: center;
    }
    
    .custom-title-wrapper {
        text-align: center;
    }
}

/* Helper Classes */
.gradient-primary {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary));
}

.gradient-secondary {
    background: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-dark));
}

.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

/* ENHANCED BLOG POST STYLES - Replace your existing blog section */

/* Main Content Container */
.single-post .brxe-post-content,
.blog .brxe-post-content,
article .brxe-post-content {
    max-width: 750px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    box-sizing: border-box !important;
}

/* Typography Hierarchy */
.brxe-post-content h1 {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    color: #1a1a1a !important;
    margin: 0 0 1.5rem 0 !important;
    text-align: left !important;
}

.brxe-post-content h2 {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 32px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    color: #2c2c2c !important;
    margin: 3rem 0 1.25rem 0 !important;
    text-align: left !important;
}

.brxe-post-content h3 {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #333333 !important;
    margin: 2.5rem 0 1rem 0 !important;
    text-align: left !important;
}

.brxe-post-content h4 {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #444444 !important;
    margin: 2rem 0 0.75rem 0 !important;
    text-align: left !important;
}

/* Body Text */
.brxe-post-content p {
    font-family: 'Georgia', 'Times New Roman', serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #444444 !important;
    margin: 0 0 1.5rem 0 !important;
    text-align: left !important;
}

/* First paragraph styling */
.brxe-post-content > p:first-of-type {
    font-size: 20px !important;
    line-height: 1.6 !important;
    color: #333333 !important;
    margin-bottom: 2rem !important;
}

/* Lists */
.brxe-post-content ul,
.brxe-post-content ol {
    font-family: 'Georgia', 'Times New Roman', serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #444444 !important;
    margin: 0 0 1.5rem 0 !important;
    padding-left: 30px !important;
    text-align: left !important;
}

.brxe-post-content li {
    margin-bottom: 0.5rem !important;
    text-align: left !important;
}

.brxe-post-content li strong {
    color: #222222 !important;
    font-weight: 600 !important;
}

/* Code Styling */
.brxe-post-content code {
    background: #f6f8fa !important;
    color: #e83e8c !important;
    padding: 0.25em 0.5em !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace !important;
    border: 1px solid #e1e8ed !important;
}

.brxe-post-content pre {
    background: #f8f9fa !important;
    border: 1px solid #e1e8ed !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin: 2rem 0 !important;
    overflow-x: auto !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.brxe-post-content pre code {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #24292e !important;
    font-weight: 400 !important;
}

/* Links */
.brxe-post-content a {
    color: var(--color-primary, #DE3163) !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.2s ease !important;
}

.brxe-post-content a:hover {
    border-bottom-color: var(--color-primary, #DE3163) !important;
}

/* Blockquotes */
.brxe-post-content blockquote {
    border-left: 4px solid var(--color-primary, #DE3163) !important;
    margin: 2rem 0 !important;
    padding: 1rem 0 1rem 1.5rem !important;
    background: #fafbfc !important;
    font-style: italic !important;
    color: #555555 !important;
}

.brxe-post-content blockquote p {
    margin-bottom: 0 !important;
    font-size: 19px !important;
}

/* Highlighted Content Boxes */
.brxe-post-content .highlight-box {
    background: linear-gradient(135deg, #f8f9ff, #f0f2ff) !important;
    border: 1px solid #e1e8ff !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    margin: 2rem 0 !important;
    border-left: 4px solid var(--color-secondary, #4A90E2) !important;
}

/* Images */
.brxe-post-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 2rem 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Tables */
.brxe-post-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 2rem 0 !important;
    font-size: 16px !important;
}

.brxe-post-content th,
.brxe-post-content td {
    padding: 12px 16px !important;
    text-align: left !important;
    border-bottom: 1px solid #e1e8ed !important;
}

.brxe-post-content th {
    background: #f8f9fa !important;
    font-weight: 600 !important;
    color: #333333 !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .single-post .brxe-post-content,
    .blog .brxe-post-content,
    article .brxe-post-content {
        padding: 0 20px !important;
    }
    
    .brxe-post-content h1 {
        font-size: 32px !important;
    }
    
    .brxe-post-content h2 {
        font-size: 26px !important;
    }
    
    .brxe-post-content h3 {
        font-size: 22px !important;
    }
    
    .brxe-post-content p,
    .brxe-post-content li {
        font-size: 17px !important;
    }
    
    .brxe-post-content ul,
    .brxe-post-content ol {
        padding-left: 20px !important;
    }
}

/* Override any conflicting styles */
.brxe-post-content * {
    text-align: left !important;
}

/* Ensure proper spacing for content sections */
.brxe-post-content > *:first-child {
    margin-top: 0 !important;
}

.brxe-post-content > *:last-child {
    margin-bottom: 0 !important;
}
/* HR Separator Styles */
/* Default margin for all pages */
hr,
.wp-block-separator {
    border: none;
    border-top: 1px solid var(--bricks-border-color);
    margin: 1em 0;
}

/* Increased margin for blog posts on desktop */
@media (min-width: 769px) {
    .single-post .brxe-post-content hr,
    .single-post .brxe-post-content .wp-block-separator,
    .blog .brxe-post-content hr,
    .blog .brxe-post-content .wp-block-separator,
    article .brxe-post-content hr,
    article .brxe-post-content .wp-block-separator {
        margin: 3em 0 !important;
    }
}

/* Keep 1em margin on mobile for all pages */
@media (max-width: 768px) {
    hr,
    .wp-block-separator {
        margin: 1em 0 !important;
    }
}
