/*
Theme Name: Divi Child Theme
Description: Divi Child Theme - Grab Sauce
Author:  Ryan Saucerman
Author URI:  https://grabsauce.com/
Template: Divi
Version:  1.0.4
*/

@import url("../Divi/style.css");
 
/* =Grab Sauce Theme Customizations
------------------------------------------------------- */

/* ── Color Palette ──
 * Orange: #e77f24
 * Teal:   #2ec4b6
 * Dark:   #1a1a2e
 * Gray:   #f5f5f5 (light), #555 (text), #333 (dark text)
 */

/* ── Global Styles ── */
body {
    overflow-x: hidden;
}

h1 {
    line-height: 1.4em;
}

h4 {
    color: #2ec4b6;
    line-height: 1.3em;
}

header#main-header {
    box-shadow: none;
}

a.et-cart-info {
    display: none;
}

/* ── ASCII Art & Pre Blocks ── */
pre {
    white-space: pre;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ── Link Colors ── */
a {
    color: #e77f24;
    transition: all 0.3s ease;
}

a:hover {
    color: #2ec4b6;
    text-decoration: none;
}

/* ── Button Hover Effects ── */
a[style*="background: #e77f24"]:hover {
    background: #d4691e !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(231, 127, 36, 0.4);
}

a[style*="border: 2px solid #2ec4b6"]:hover {
    background: #2ec4b6 !important;
    color: #1a1a2e !important;
    transform: translateY(-2px);
}

/* ── Service Cards Hover ── */
div[style*="border: 1px solid #2ec4b6"]:hover,
div[style*="border: 1px solid #e77f24"]:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

/* ── Testimonial Cards Hover ── */
div[style*="border: 1px solid rgba(46, 196, 182"]:hover,
div[style*="border: 1px solid rgba(231, 127, 36"]:hover {
    transform: translateY(-3px);
    transition: transform 0.3s ease;
}

/* ── Scrollbar Styling ── */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #1a1a2e;
}

::-webkit-scrollbar-thumb {
    background: #e77f24;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #2ec4b6;
}

/* ── Selection Color ── */
::selection {
    background: #e77f24;
    color: #fff;
}

::-moz-selection {
    background: #e77f24;
    color: #fff;
}

/* ── Divi Overrides ── */
.et_pb_section {
    padding: 0;
}

.et_pb_fullwidth_code {
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove default Divi spacing on text modules in our custom sections */
.et_pb_text {
    word-wrap: break-word;
}

/* ── Remove page header/title on blank template ── */
.et_pb_pagebuilder_layout .entry-title,
.et_pb_pagebuilder_layout .post-meta {
    display: none;
}

/* ── Mobile Responsive ── */
@media (max-width: 980px) {
    /* Stack grid columns on tablet */
    div[style*="grid-template-columns: 1fr 1fr"],
    div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: 1fr 1fr !important;
    }
    
    .et_pb_row {
        width: 90%;
    }
    
    pre {
        font-size: 10px !important;
    }
}

@media (max-width: 767px) {
    /* Stack everything single column on mobile */
    div[style*="grid-template-columns: 1fr 1fr"],
    div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: 1fr !important;
    }
    
    .et_pb_row {
        width: 95%;
    }
    
    .et_pb_module p, .et_pb_module li {
        font-size: 16px;
    }
    
    /* Scale down ASCII art on mobile */
    pre {
        font-size: 7px !important;
        letter-spacing: -0.5px;
    }
    
    h1[style*="font-size: 42px"] {
        font-size: 28px !important;
    }
    
    h2[style*="font-size: 36px"] {
        font-size: 28px !important;
    }
    
    /* Metrics numbers */
    p[style*="font-size: 42px"] {
        font-size: 32px !important;
    }
    
    /* CTA buttons stack */
    div[style*="inline-flex"] {
        flex-direction: column !important;
        display: flex !important;
        align-items: center;
    }
    
    div[style*="inline-flex"] a {
        width: 80%;
        text-align: center;
    }
}

/* ── Sticky Header (kept from original) ── */
.et-menu a:hover {
    opacity: 1;
}

div#header--new.et_pb_sticky {
    padding: 10px 0px 10px !important;
    box-shadow: 0px 4px 4px 0px #0000000D;
}

.et_pb_sticky .et_pb_menu_inner_container>.et_pb_menu__logo-wrap .et_pb_menu__logo img {
    height: 40px;
}

.et_pb_sticky .et_pb_menu__menu>nav>ul>li>a {
    padding: 0 !important;
}

.et_pb_sticky .et_pb_menu_0_tb_header.et_pb_menu ul li a {
    font-size: 16px;
}

@media (max-width: 767px) {
    div#header--new.et_pb_sticky {
        padding: 13px 0px !important;
    }
}

/* ── Smooth Scroll ── */
html {
    scroll-behavior: smooth;
}

/* ── Animation for hero section ── */
@keyframes pulse-glow {
    0%, 100% { text-shadow: 0 0 5px rgba(231, 127, 36, 0.3); }
    50% { text-shadow: 0 0 20px rgba(231, 127, 36, 0.6); }
}

pre[style*="color: #e77f24"][style*="font-size: 14px"] {
    animation: pulse-glow 3s ease-in-out infinite;
}