/*
Theme Name: Production Picture Vehicles Child
Theme URI: https://propicvehicles.limeedge.co.uk/
Description: Child theme for the Production Picture Vehicles website
Author: Lime Edge
Author URI: https://www.limeedge.co.uk/
Template: Divi
Version: 1.0.0
Text Domain: production-picture-vehicles-child
*/

/* Add custom CSS below this line */


/* === PPV GLOBAL TYPOGRAPHY === */

h1, h2, h3, h4, h5, h6,
.et_pb_slide_title,
.et_pb_module_header {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700;
    letter-spacing: -0.01em;
}

body, p, .et_pb_text, input, textarea, select {
    font-family: 'Inter', sans-serif !important;
    font-weight: 400;
}

#top-menu a, .et_pb_menu a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500;
}
Buttons
/* === PPV BUTTONS === */

/* Primary — Filled Red */
.et_pb_button.ppv-btn-primary,
.ppv-btn-primary.et_pb_button {
    background: #db4235 !important;
    color: #ffffff !important;
    border: 2px solid #db4235 !important;
    border-radius: 0px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    transition: all 0.2s ease !important;
}
.et_pb_button.ppv-btn-primary:hover {
    background: #c0392b !important;
    border-color: #c0392b !important;
}

/* Outline — White border */
.et_pb_button.ppv-btn-outline {
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    transition: all 0.2s ease !important;
}
.et_pb_button.ppv-btn-outline:hover {
    background: #ffffff !important;
    color: #1E1E1E !important;
}

/* Dark — for use on red sections */
.et_pb_button.ppv-btn-dark {
    background: #1E1E1E !important;
    color: #ffffff !important;
    border: 2px solid #1E1E1E !important;
    border-radius: 0px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
}
.et_pb_button.ppv-btn-dark:hover {
    background: #000025 !important;
    border-color: #000025 !important;
}
Navigation
/* === PPV NAVIGATION === */

#main-header,
#main-header.et-fixed-header {
    background: #1E1E1E !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

#top-menu > li > a {
    color: #ffffff !important;
    font-size: 14px !important;
    letter-spacing: 0.04em;
}

#top-menu > li > a:hover {
    color: #db4235 !important;
}

/* Contact nav button */
#top-menu li:last-child a {
    background: #db4235 !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 0 !important;
    font-weight: 600 !important;
}
#top-menu li:last-child a:hover {
    background: #c0392b !important;
}
Utility Classes
/* === PPV UTILITY CLASSES === */

/* Red accent underline on headings */
/* Add CSS class 'ppv-heading-accent' in Divi module Advanced tab */
.ppv-heading-accent::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: #db4235;
    margin-top: 14px;
}

/* Section spacing */
.et_pb_section { padding: 80px 0 !important; }
.ppv-section-tight { padding: 60px 0 !important; }

/* Image left red border accent */
.ppv-img-accent img {
    border-left: 4px solid #db4235 !important;
}
Service Cards
/* === SERVICE CARDS === */

.ppv-service-card {
    background: #ffffff;
    padding: 0 0 24px 0;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
    height: 100%;
}

.ppv-service-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    margin-bottom: 20px;
}

.ppv-service-card h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1E1E1E !important;
    padding: 0 20px;
    margin-bottom: 10px;
}

.ppv-service-card p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #252525;
    line-height: 1.65;
    padding: 0 20px;
}
Why PPV Points
/* === WHY PPV SECTION === */

.ppv-why-point h5 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1E1E1E !important;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ppv-why-point h5::before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 3px;
    background: #db4235;
    flex-shrink: 0;
}

.ppv-why-point p {
    font-size: 15px;
    color: #252525;
    line-height: 1.65;
    margin-bottom: 24px;
    padding-left: 38px;
}
Footer
/* === FOOTER === */

#main-footer {
    background: #1E1E1E !important;
    border-top: 2px solid #db4235;
}

#main-footer .footer-widget h4 {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 18px;
}

#main-footer p,
#main-footer a,
#main-footer li {
    font-family: 'Inter', sans-serif !important;
    color: rgba(255,255,255,0.65) !important;
    font-size: 14px !important;
    line-height: 1.8;
}

#main-footer a:hover { color: #db4235 !important; }

.et_pb_footer_bottom_bar {
    background: #111111 !important;
    color: rgba(255,255,255,0.35) !important;
    font-size: 12px !important;
    font-family: 'Inter', sans-serif !important;
}
Mobile Responsive
/* === MOBILE === */

@media (max-width: 768px) {

    /* Hero */
    .ppv-hero h1 { font-size: 34px !important; }
    .ppv-hero .et_pb_text { font-size: 15px !important; }
    .ppv-hero { min-height: 70vh !important; }

    /* Stack button groups vertically */
    .et_pb_button_module_wrapper {
        display: block !important;
        margin-bottom: 14px !important;
    }
    .et_pb_button { width: 100% !important; text-align: center !important; }

    /* Banner section */
    .ppv-banner h2 { font-size: 30px !important; }

    /* Section padding */
    .et_pb_section { padding: 48px 0 !important; }

}
