/*
 Theme Name:   Hubspot Man Custom
 Description:  Unified, responsive framework for hubspotman.com
 Author:       Paul Hancock
 Template:     hello-elementor
 Version:      1.8.0
*/

/* --- 1. GLOBAL VARIABLES --- */
:root {
    --site-max-width: 1140px; 
    --brand-orange: #ff7a59;
    --navy-dark: #1a2b3c;
    --text-grey: #4a5568;
}

/* --- 2. MASTER CONTAINERS (1140px Wall) --- */
/* Unified alignment to ensure no jagged edges across the site */
.inside-header,
.site-main,
#primary,
.footer-widgets-container,
.footer-bottom,
.contact-hero-banner,
.contact-white-card {
    max-width: var(--site-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box;
}

/* Neutralize parent theme margins that cause horizontal shifts */
.site-main {
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
}

/* --- 3. HEADER & BRANDING --- */
.site-header {
    padding: 15px 0;
    border-bottom: 1px solid #eaf0f6;
    background-color: #ffffff;
}

.inside-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px !important;
}

/* Side-by-side branding logic for logo icon and dynamic text */
.site-branding {
    display: flex;
    align-items: center;
    gap: 15px;
}

.site-title-text a {
    font-size: 24px;
    font-weight: 800;
    color: var(--navy-dark);
    text-decoration: none;
    white-space: nowrap;
}

/* --- 4. FOOTER: 3-COLUMN LAYOUT --- */
.site-footer {
    padding: 80px 0 30px;
    background-color: #ffffff;
    border-top: 1px solid #f0f0f0;
}

.footer-widgets-container {
    display: grid !important;
    grid-template-columns: 2.2fr 1fr 1fr; 
    gap: 40px;
    padding: 0 20px !important;
}

.footer-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--navy-dark);
    margin-bottom: 25px;
}

.footer-links {
    list-style: none;
    padding: 0;
}

.footer-links li { margin-bottom: 12px; }
.footer-links a { color: var(--brand-orange); text-decoration: none; }

/* Social Icons pinned to top-right of the column */
.social-section {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.social-icons {
    display: flex;
    gap: 20px;
}

.footer-bottom {
    margin-top: 60px !important;
    padding: 20px 20px 0 !important;
    border-top: 1px solid #f0f0f0;
    text-align: left;
    font-size: 0.85rem;
    color: #718096;
}

/* --- 5. FULL MOBILE RESPONSIVE SUITE --- */
@media (max-width: 1140px) {
    .contact-hero-banner, 
    .contact-white-card, 
    .footer-widgets-container {
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .inside-header { 
        flex-direction: column !important; 
        gap: 15px; 
    }

    .site-title-text a { 
        font-size: 18px; 
    }

    .contact-hero-banner { 
        height: 250px !important; 
    }

    .contact-white-card { 
        padding: 40px 20px !important; 
    }

    .footer-widgets-container { 
        grid-template-columns: 1fr !important; 
        text-align: left;
    }

    .social-section { 
        justify-content: flex-start !important; 
        margin-top: 20px;
    }
}