/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */
 
 /* --- DYNAMIC GOOGLE REVIEWS SECTION POLISH --- */
.customer-reviews-section {
    padding: 80px 0;
    background-color: #F8FAFC;
}

.reviews-header-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap; /* Safe stack wrap protection on tablet profiles */
}

.section-title-left {
    font-size: 2rem;
    font-weight: 700;
    color: #004b87;
    margin: 0;
    letter-spacing: -0.5px;
}

/* Button layout matching your standard site buttons */
.view-all-reviews-btn {
    font-size: 0.95rem !important;
    padding: 10px 20px !important;
    border-color: #4285F4 !important; /* Elegant Google Blue color match */
    color: #4285F4 !important;
    background: transparent;
}

.view-all-reviews-btn:hover {
    background: #4285F4 !important;
    color: #FFFFFF !important;
}

/* Container safety alignment block */
.dynamic-reviews-container {
    width: 100%;
    display: block;
}

/* subscribe */
/* ==========================================================================
   NOPTIN SUBSCRIPTION FORM OVERRIDES (OPTIMIZED)
   ========================================================================== */

/* 1. Structural Form Wrappers */
.noptin-template-main-wrapper,
.noptin-template-main-wrapper .noptin-optin-form-wrapper {
    max-width: 100% !important;
    min-height: auto !important;
    background: #F8FAFC !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

/* 2. Header Text & Typography */
.noptin-template-main-wrapper .noptin-form-heading {
    text-align: center !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #004b87 !important;
    font-family: inherit !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
}

.noptin-template-main-wrapper .noptin-form-description {
    text-align: center !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #475569 !important;
    font-family: inherit !important;
    line-height: 1.6 !important;
    max-width: 600px;
    margin: 0 auto 10px auto !important; /* Fixed shorthand layout syntax */
}

/* 3. Fields Flexbox Container Asset Layout */
.noptin-template-main-wrapper .noptin-form-fields {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: stretch !important; /* Automatically stretches input and button to match height */
    gap: 12px !important;
    max-width: 550px;
    margin: 0 auto !important;
    width: 100%;
}

/* 4. Sub-container Wrapper Cleanup Elements */
.noptin-template-main-wrapper .noptin-form-field-wrapper,
#noptin-form-1__field-email--wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

.noptin-template-main-wrapper .noptin-form-field-email {
    flex: 1 !important;
}

.noptin-template-main-wrapper .noptin-field-email {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
}

/* 5. Shared Global Dimensions for Inputs & Buttons */
.noptin-template-main-wrapper input[type="email"].noptin-text,
.noptin-template-main-wrapper input[type="submit"].noptin-form-submit {
    box-sizing: border-box !important;
    height: 48px !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-size: 0.95rem !important;
}

/* 6. Isolated Email Field Focus Controls */
.noptin-template-main-wrapper input[type="email"].noptin-text {
    width: 100% !important;
    padding: 12px 16px !important;
    background-color: #FFFFFF !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 6px !important;
    color: #0F172A !important;
    outline: none !important;
}

.noptin-template-main-wrapper input[type="email"].noptin-text:focus {
    border-color: #004B87 !important;
    box-shadow: 0 0 0 2px rgba(0, 75, 135, 0.15) !important;
}

/* 7. Isolated Submit Button Action Branding Controls */
.noptin-template-main-wrapper input[type="submit"].noptin-form-submit {
    background-color: #004B87 !important;
    color: #FFFFFF !important;
    border: 1px solid #004B87 !important;
    padding: 0 24px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.noptin-template-main-wrapper input[type="submit"].noptin-form-submit:hover {
    background-color: #00335C !important;
    border-color: #00335C !important;
}


/* --- CUSTOM HTML BLOCK PHONE ALIGNMENT --- */
.custom-phone-block {
    margin: 15px 0;
}

.phone-link-click {
    font-family: inherit;
    font-size: 1.1rem;
    font-weight: 600;
    color: #0F172A; /* Dark charcoal text color */
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.phone-link-click:hover {
    color: #004B87; /* Changes smoothly to your brand corporate blue on hover */
}

.phone-link-click i {
    transition: transform 0.2s ease;
}

.phone-link-click:hover i {
    transform: scale(1.1); /* Subtle playful pop effect on the icon when hovered */
}

/* 8. Responsive Mobile Safe Breakpoint */
@media (max-width: 580px) {
    .noptin-template-main-wrapper .noptin-form-fields {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
}

/* Responsive adjustments for mobile screens */
@media (max-width: 768px) {
    .reviews-header-block {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .section-title-left {
        font-size: 1.8rem;
    }
    .view-all-reviews-btn {
        width: 100%;
        text-align: center;
    }
}
