/* ==========================================================================
   Children's Fairyland — Global Responsive Footer Overrides
   Created: May 2026
   Aligns the custom TNEW template footer elements to match the WordPress parent theme.
   ========================================================================== */

/* --- 1. GENERAL WRAPPER LAYOUT & TRANSITIONS --- */
footer.et-l--footer {
    background-color: #ffffff;
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    color: #333333;
    width: 100%;
    margin-top: 50px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

/* Base structural row normalization */
footer.et-l--footer .et_pb_row {
    width: 100%;
    max-width: 1350px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* --- 2. SECTION 1: LOGO, SOCIAL LINKS, & TAX ID STRIP (Desktop Flex Distribution) --- */
.et_pb_section_1_tb_footer {
    background-color: #ffffff !important;
    padding: 25px 0 15px !important;
}

.et_pb_row_1_tb_footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}

/* Scoped column rules to lock alignment */
.et_pb_column_2_tb_footer {
    flex: 0 0 auto !important;
    margin-right: 35px !important;
}

.et_pb_column_3_tb_footer {
    flex: 0 0 auto !important;
    margin-right: auto !important; /* Pushes the subsequent columns (Tax ID) to the far right */
}

.et_pb_column_4_tb_footer {
    flex: 0 1 auto !important;
}

/* Brand Image Alignment */
.et_pb_image_0_tb_footer img {
    max-width: 180px !important;
    height: auto !important;
    display: block !important;
}

/* Social Media Follow Buttons Customization (Teal Circles with White Icons) */
ul.et_pb_social_media_follow_0_tb_footer {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

ul.et_pb_social_media_follow_0_tb_footer li {
    margin: 0 !important;
    padding: 0 !important;
}

ul.et_pb_social_media_follow_0_tb_footer li a {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important; /* Guarantees perfect circle borders */
    background-color: #75C7CB !important; /* Signature brand teal circle background */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: background-color 0.25s ease-in-out !important;
    border: none !important;
    box-shadow: none !important;
}

ul.et_pb_social_media_follow_0_tb_footer li a:hover {
    background-color: #A662A5 !important; /* Transition to brand purple on hover */
}

/* Hide Divi/WordPress screen reader texts safely */
ul.et_pb_social_media_follow_0_tb_footer .et_pb_social_media_follow_network_name {
    display: none !important;
}

/* FontAwesome icon injection rules */
ul.et_pb_social_media_follow_0_tb_footer li.et-social-instagram a::before {
    content: "\f16d" !important;
    font-family: 'FontAwesome' !important;
    font-size: 22px !important;
    color: #ffffff !important;
}

ul.et_pb_social_media_follow_0_tb_footer li.et-social-facebook a::before {
    content: "\f09a" !important;
    font-family: 'FontAwesome' !important;
    font-size: 22px !important;
    color: #ffffff !important;
}

/* Tax Exemption text block */
.et_pb_text_2_tb_footer .et_pb_text_inner p {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5em !important;
    color: #555555 !important;
    margin: 0 !important;
    text-align: right !important;
}

/* --- 3. SECTION 2 & 3: THREE-COLUMN MENU GRID & VISIT US SPECIALTY MODULES --- */
/* Divi specialty layouts display section 3 on desktop which includes both "Visit Us" and "Menus" */
.et_pb_section_3_tb_footer {
    background-color: #ffffff !important;
    padding: 30px 0 !important;
}

/* Hide Section 2 on desktop to prevent double menu columns rendering */
@media screen and (min-width: 769px) {
    .et_pb_section_2_tb_footer {
        display: none !important;
    }
}

/* Split Specialty Row Layout into Left Side (Visit Us) and Right Side (Menus) */
.et_pb_section_3_tb_footer > .et_pb_row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 50px !important;
}

@media screen and (min-width:768px){
	.et_pb_column_8_tb_footer {
		flex: 0 0 422px !important; /* Fixed width boundary for Left Column Visit Card */
    }
}

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

.et_pb_column_9_tb_footer {
    flex: 1 !important; /* Fill remaining workspace */
    margin: 0 !important;
    padding: 0 !important;
}

/* Specialty Inner Menu grid row wrapper */
.et_pb_row_inner_0_tb_footer {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    gap: 30px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Forces inner columns on specialty layouts to preserve horizontal inline formats */
.et_pb_row_inner_0_tb_footer .et_pb_column_inner {
    flex: none !important;
}

/* --- 4. TNEW FOOTER MENU NAVIGATION LINK FORMATS (Menu Alignments and Equal Styles) --- */
.dsm-menu-container ul.dsm-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important; /* Closely spaced menu layouts */
}

.dsm-menu-container ul.dsm-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

/* All menu list anchors styled identically (no bold/large first-child heading) */
.dsm-menu-container ul.dsm-menu li a {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0085A5 !important; /* Live site teal link color */
    text-decoration: none !important;
    transition: color 0.2s ease-in-out !important;
    display: inline-block !important;
}

.dsm-menu-container ul.dsm-menu li a:hover {
    color: var(--brand-red, #E30613) !important;
}

/* --- 5. VISIT US DETAILS FORMATTING (Left Specialty Column) --- */
.et_pb_section_3_tb_footer h3 {
    font-family: 'CooperBlack', Helvetica, Arial, Lucida, sans-serif !important;
    color: #f7941e !important; /* Live brand gold/orange heading color */
    font-size: 20px !important;
    font-weight: normal !important;
    margin: 0 0 30px 0 !important;
    line-height: 1.1em !important;
}

/* Contact Blurby list layouts */
.et_pb_blurb_0_tb_footer,
.et_pb_blurb_1_tb_footer,
.et_pb_blurb_2_tb_footer {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 18px !important;
}

.et_pb_blurb_content {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 0 !important;
}

/* Specialty icons coloring matching screenshot references */
.et-pb-icon {
    font-family: 'ETmodules' !important;
    font-size: 28px !important;
    display: inline-block !important;
    line-height: 1;
}

/* Specific Font Override to force FontAwesome loading for email and phone glyphs */
.et_pb_blurb_1_tb_footer .et-pb-icon,
.et_pb_blurb_2_tb_footer .et-pb-icon {
    font-family: 'FontAwesome' !important;
}

.et_pb_blurb_0_tb_footer .et-pb-icon {
    color: var(--brand-red, #E30613) !important; /* Address Pin (Red) */
}

.et_pb_blurb_1_tb_footer .et-pb-icon {
    color: var(--brand-green, #A6C642) !important; /* Phone (Green) */
}

.et_pb_blurb_2_tb_footer .et-pb-icon {
    color: var(--brand-teal, #75C7CB) !important; /* Email (Teal) */
}

.et_pb_blurb_description p {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5em !important;
    color: #333333 !important;
    margin: 0 !important;
}

/* --- 6. SECTION 4: DEEP BLUE COPYRIGHT BAR STRIP --- */
.et_pb_section_4_tb_footer {
    background-color: #0085A5!important; /* High contrast brand blue bar background */
    padding: 13px 0 !important;
}

/* Normalize desktop inline alignment inside copyright row */
.et_pb_row_3_tb_footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}

/* Left, Center, Right placements */
.et_pb_column_10_tb_footer {
    flex: 1 !important;
    text-align: left !important;
}

.et_pb_column_11_tb_footer {
    flex: 1 !important;
    text-align: center !important;
}

.et_pb_column_12_tb_footer {
    flex: 1 !important;
    text-align: right !important;
}

/* Yellow copyright text */
.et_pb_text_4_tb_footer .et_pb_text_inner p {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 15px !important;
    color: #ffde00 !important; /* Signature brand yellow */
    margin: 0 !important;
    line-height: 1 !important;
}

/* White privacy policy button anchor link */
.et_pb_column_11_tb_footer a.et_pb_button {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 15px !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    transition: color 0.2s ease !important;
}

.et_pb_column_11_tb_footer a.et_pb_button:hover {
    color: #ffde00 !important;
}

/* Web Creator light teal label text */
.et_pb_text_5_tb_footer .et_pb_text_inner p {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
    font-size: 15px !important;
    color: #75c7cb !important; /* Branded light teal color representation */
    margin: 0 !important;
    text-align: right !important;
    line-height: 1 !important;
}

/* Hide standard duplicate mobile copyright bar on desktops */
.et_pb_section_5_tb_footer {
    display: none !important;
}

/* --- 7. MOBILE BREAKPOINT MEDIA COUPLING --- */
@media screen and (max-width: 768px) {
    /* Hide Specialty Desktop Bar & Show standard Divi Mobile Bar if both present */
    .et_pb_section_5_tb_footer {
        display: block !important;
        background-color: #005F78 !important;
        padding: 20px 0 !important;
    }
    
    /* Standardized mobile centering overlays */
    .et_pb_row_1_tb_footer,
    .et_pb_section_3_tb_footer > .et_pb_row,
    .et_pb_row_inner_0_tb_footer,
    .et_pb_row_3_tb_footer,
    .et_pb_row_4_tb_footer {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 25px !important;
    }
    
    .et_pb_column_2_tb_footer,
    .et_pb_column_3_tb_footer,
    .et_pb_column_4_tb_footer,
    .et_pb_column_8_tb_footer,
    .et_pb_column_9_tb_footer,
    .et_pb_column_10_tb_footer,
    .et_pb_column_11_tb_footer,
    .et_pb_column_12_tb_footer,
    .et_pb_column_13_tb_footer,
    .et_pb_column_14_tb_footer,
    .et_pb_column_15_tb_footer {
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
    }
    
    ul.et_pb_social_media_follow_0_tb_footer,
    .et_pb_blurb_0_tb_footer,
    .et_pb_blurb_1_tb_footer,
    .et_pb_blurb_2_tb_footer {
        justify-content: center !important;
    }
    
    .et_pb_text_2_tb_footer .et_pb_text_inner p,
    .et_pb_text_5_tb_footer .et_pb_text_inner p,
    .et_pb_text_7_tb_footer .et_pb_text_inner p {
        text-align: center !important;
    }
    
    /* Hide desktop version copyright bar on mobile screen limits */
    .et_pb_section_4_tb_footer {
        display: none !important;
    }
    
    .et_pb_section_5_tb_footer .et_pb_row_4_tb_footer {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .et_pb_column_13_tb_footer p {
        text-align: center !important;
        color: #ffde00 !important;
        font-size: 15px !important;
    }
    
    .et_pb_column_14_tb_footer a.et_pb_button {
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }
    
    .et_pb_column_15_tb_footer p {
        text-align: center !important;
        color: #75c7cb !important;
        font-size: 15px !important;
    }
}