/*
Theme Name: Multi-Brand Business Theme
Theme URI: 
Author: YohDev
Author URI: 
Description: A flexible WordPress block theme designed for multiple brands and industries. Easily customizable through the WordPress Customizer.
Requires at least: 6.6
Tested up to: 6.6
Requires PHP: 5.7
GitHub Repo: canterpower/cp-blocks
Version: 0.1.27
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: multi-brand-theme
Tags: block-theme, business, customizable, multi-brand
*/

/* Wp overides */
.wp-block-cover .wp-block-embed {
    min-height: 220px;
}

/* remove odd block spacing above footer */
.wp-site-blocks > footer {
    margin-top: 0;
}

/* Utility Classes */
@media (min-width: 767px) {
    .hide-desktop {
        display: none;
    }

    .cp-breadcrumbs .has-legal-font-size {
        font-size: 16px !important;
    }
}

@media (max-width: 767px) {
    .hide-mobile {
        display: none !important;
    }
}

.no-padding-group {
    padding: 0;
    margin-block-start: 0;
}

@media (max-width: 768px) {
    .wp-block-columns.is-style-reverse-mobile {
        display: flex;
        flex-direction: column-reverse;
    }
}

@media (min-width: 769px) {
    .wp-block-columns.is-style-reverse-mobile {
        display: flex;
        flex-direction: row;
    }
}

/* Navigation styles are handled in functions.php for frontend only */

/* Hero Pattern Styles */
.cover-hub-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}

.col-hub-text {
    z-index: 3;
}

/* Mobile responsiveness for hero */
@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .hide-desktop {
        display: none !important;
    }
}

.footer-bottom {
    a:hover {
        color: var(--wp--preset--color--background);
    }
}


.wp-block-cover {
    margin-block-start: 0;
    margin-block-end: 0;
}

/* .wp-block-columns {
    gap: 64px;
} */

@media (max-width: 767px) {
    .wp-block-columns {
        gap: 24px;
    }

    .footer-top {
        text-align: center;

    .cps-phone-number {
        justify-content: center !important;
    }
        
        .wp-block-columns {
            flex-direction: column;
            gap: 40px;
        }
        
        .wp-block-column {
            flex-basis: 100% !important;
            width: 100% !important;
            max-width: 100%;
            position: relative;
        }
        
        /* Add dividers between sections on mobile */
        .wp-block-column:not(:last-child)::after {
            content: '';
            position: absolute;
            bottom: -20px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 1px;
            background-color: rgb(from var(--wp--preset--color--primary) r g b / 0.4);
        }
        
        /* Center logo and contact info */
        .wp-block-site-logo,
        .wp-block-paragraph,
        .wp-block-buttons {
            text-align: center;
            justify-content: center;
            margin-left: auto;
            margin-right: auto;
        }
        
        /* Ensure site logo is centered */
        .wp-block-site-logo img {
            margin: 0 auto;
            display: block;
        }
        
        /* Center button container */
        .wp-block-buttons {
            display: flex;
            justify-content: center;
        }
        
        /* Center navigation menus */
        .wp-block-navigation__container {
            width: 100%;
            align-items: center;
            justify-content: center;
            flex-direction: column;

            li {
                line-height: 3rem;
                text-align: center;
            }
        }
        
        /* Center headings */
        .wp-block-heading {
            text-align: center;
        }
        
        /* Hide the empty spacer column on mobile */
        .wp-block-column:last-child .wp-block-spacer {
            display: none;
        }
    }
    
    /* Footer bottom mobile styles */
    .footer-bottom {
        text-align: center;
        
        .wp-block-group {
            flex-direction: column;
            gap: 20px;
        }
        
        .wp-block-social-links {
            justify-content: center;
        }
        
        .wp-block-navigation {
            justify-content: center;
        }
        
        .wp-block-navigation__container {
            justify-content: center;
            flex-wrap: wrap;
            gap: 20px;
        }
    }
}

/* Tablet styles for footer */
@media (min-width: 768px) and (max-width: 1024px) {
    .footer-top {
        .wp-block-columns {
            gap: 32px;
        }

        .cps-phone-number {
            justify-content: center;
        }
        
        .wp-block-column {
            text-align: center;
        }
        
        .wp-block-site-logo,
        .wp-block-paragraph,
        .wp-block-buttons,
        .wp-block-heading {
            text-align: center;
        }
        
        .wp-block-navigation__container {
            justify-content: center;
        }
        
        .wp-block-buttons {
            justify-content: center;
        }
    }
    
    .footer-bottom {
        .wp-block-group {
            gap: 24px;
        }
    }
}

.wp-block-button__link:hover {
    background: var(--brand-primary, var(--wp--preset--color--primary)) !important;
    transform: scale(1.05);
    transition: background 0.3s ease, transform 0.3s ease;
}

.wp-block-separator {
    width: 100%;
    max-width: 100%;
}

.logo-column {
    position: relative;
    bottom: 32px;
}

.footer-top {
    border-top: 1px solid var(--wp--preset--color--contrast-3);
    border-bottom: 2px solid var(--wp--preset--color--contrast-3);
    box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);

    .wp-block-navigation-item__content {
        &:hover {
            color: var(--brand-primary, var(--wp--preset--color--primary)) !important;
        }
    }
    
    .cps-phone-number {
        justify-content: start;
    }
}

.footer-bottom span.wp-block-navigation-item__label {
    color: white;

    &:hover {
        text-decoration: underline;
    }
}

.footer-bottom {
    background-color: var(--wp--preset--color--contrast-3);
}


/* Patterns */
  @media (max-width: 768px) {
    .col-hub-text {
        text-align: center;
        max-width: 327px;
        margin: auto !important;
    }
}

.cover-hub-hero {
    height: 600px; /* Default height for larger screens */
}

@media (max-width: 768px) {
    .cover-hub-hero {
        height: auto; /* Height for mobile screens */

        .wp-block-columns {
            gap: 24px !important;
        }
    }
    
    .hero-pattern {
        min-height: 200px !important;

        h1,p {
            text-align: center;
        }
    }
}

.what-to-expect {
    .wp-block-column {
        max-width: 220px;
        margin: auto;
    }
}




.home-generator {
    position: relative;
    bottom: 100px;
    z-index: 2;
}

/* Carousel/Review Slider Styles */
.wp-block-group.review-slider {
    [class*="slide-"] {
        display: none;
        transition: opacity 0.5s ease-in-out;
    }

    /* Show the active slide using inline JS styling — but this class can help if needed */
    .slide-visible {
        display: flex !important;
    }

    /* Make sure slides behave as flex containers */
    .wp-block-columns {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
    }

    /* Arrow button styling */
    [class*="to-slide-"] {
        cursor: pointer;
        transition: transform 0.3s ease;
    }
    
    /* Hide all to-slide-* buttons by default */
    [class*="to-slide-"] {
        display: none;
    }

    /* Show navigation arrows inside the currently visible slide */
    .slide-1[style*="display: flex"] .to-slide-2,
    .slide-1[style*="display: flex"] .to-slide-3,
    .slide-2[style*="display: flex"] .to-slide-1,
    .slide-2[style*="display: flex"] .to-slide-3,
    .slide-3[style*="display: flex"] .to-slide-1,
    .slide-3[style*="display: flex"] .to-slide-2 {
        display: inline-flex;
    }

    [class*="to-slide-"]:hover {
        transform: scale(1.05);
    }

    /* Optional: Responsive tweaks */
    @media (max-width: 768px) {
        br {
            display: none;
        }
        
        .wp-block-columns {
            flex-direction: column;
        }

        .wp-block-column {
            flex-basis: 100% !important;
        }
    }
}

.brand-phone-number {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--wp--preset--color--contrast-2);
  justify-content: center;
}

.brand-phone-number:hover {
  color: var(--wp--preset--color--tertiary);
}

.number {
  font-size: 16px;
  font-weight: bold;
}

.home-generator {
    position: relative;
    bottom: 100px;
    z-index: 2;
}

/* Carousel/Review Slider Styles */
.wp-block-group.review-slider {
    [class*="slide-"] {
        display: none;
        transition: opacity 0.5s ease-in-out;
    }

    /* Show the active slide using inline JS styling — but this class can help if needed */
    .slide-visible {
        display: flex !important;
    }

    /* Make sure slides behave as flex containers */
    .wp-block-columns {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
    }

    /* Arrow button styling */
    [class*="to-slide-"] {
        cursor: pointer;
        transition: transform 0.3s ease;
    }
    
    /* Hide all to-slide-* buttons by default */
    [class*="to-slide-"] {
        display: none;
    }

    /* Show navigation arrows inside the currently visible slide */
    .slide-1[style*="display: flex"] .to-slide-2,
    .slide-1[style*="display: flex"] .to-slide-3,
    .slide-2[style*="display: flex"] .to-slide-1,
    .slide-2[style*="display: flex"] .to-slide-3,
    .slide-3[style*="display: flex"] .to-slide-1,
    .slide-3[style*="display: flex"] .to-slide-2 {
        display: inline-flex;
    }

    [class*="to-slide-"]:hover {
        transform: scale(1.05);
    }

    /* Optional: Responsive tweaks */
    @media (max-width: 768px) {
        br {
            display: none;
        }
        
        .wp-block-columns {
            flex-direction: column;
        }

        .wp-block-column {
            flex-basis: 100% !important;
        }
    }
}

/* Navigation Hover Styles - Exclude footer bottom */
.wp-block-navigation-item a:hover:not(.footer-bottom .wp-block-navigation-item a),
.wp-block-navigation-item__content:hover:not(.footer-bottom .wp-block-navigation-item__content),
.wp-block-navigation-link__content:hover:not(.footer-bottom .wp-block-navigation-link__content),
.wp-block-navigation a:hover:not(.footer-bottom .wp-block-navigation a),
.wp-block-navigation-block-extended-desktop-block a:hover,
.wp-block-navigation-block-extended-mobile-block a:hover {
    background-color: var(--wp--preset--color--on-surface);
    transition: background-color 0.3s ease;
}

/* Exclude footer-bottom from background hover */
.footer-bottom .wp-block-navigation-item a:hover,
.footer-bottom .wp-block-navigation-item__content:hover,
.footer-bottom .wp-block-navigation-link__content:hover,
.footer-bottom .wp-block-navigation a:hover {
    background-color: transparent;
}

/* Navigation submenu hover styles */
.wp-block-navigation__submenu-container a:hover,
.wp-block-navigation-submenu a:hover {
    background-color: var(--wp--preset--color--on-surface);
}
