/*
Theme Name: Coffey Bros Movers Custom
Theme URI: https://coffeybrosmovers.com/
Description: High performance custom theme for Coffey Bros Movers.
Version: 1.0.1
Author: Antigravity
Author URI: https://deepmind.google/
Text Domain:  coffey-bros-theme
*/

:root {
    /* === Core Colors (exact values from demo) === */
    --awb-color1: #ffffff;
    --awb-color1-h: 0;
    --awb-color1-s: 0%;
    --awb-color1-l: 100%;
    --awb-color1-a: 100%;

    --awb-color2: #f1f1f1;
    --awb-color2-h: 0;
    --awb-color2-s: 0%;
    --awb-color2-l: 95%;
    --awb-color2-a: 100%;

    --awb-color3: #e5e5e5;
    --awb-color3-h: 0;
    --awb-color3-s: 0%;
    --awb-color3-l: 90%;
    --awb-color3-a: 100%;

    --awb-color4: #132c73;
    --awb-color4-h: 224;
    --awb-color4-s: 72%;
    --awb-color4-l: 26%;
    --awb-color4-a: 100%;

    --awb-color5: #beec42;
    --awb-color5-h: 76;
    --awb-color5-s: 82%;
    --awb-color5-l: 59%;
    --awb-color5-a: 100%;

    --awb-color6: #999999;
    --awb-color6-h: 0;
    --awb-color6-s: 0%;
    --awb-color6-l: 60%;
    --awb-color6-a: 100%;

    --awb-color7: #555555;
    --awb-color7-h: 0;
    --awb-color7-s: 0%;
    --awb-color7-l: 33%;
    --awb-color7-a: 100%;

    --awb-color8: #132c73;
    --awb-color8-h: 224;
    --awb-color8-s: 72%;
    --awb-color8-l: 26%;
    --awb-color8-a: 100%;

    /* === Custom Colors === */
    --awb-custom_color_1: #e6f3fa;
    --awb-custom_color_1-h: 201;
    --awb-custom_color_1-s: 67%;
    --awb-custom_color_1-l: 94%;
    --awb-custom_color_1-a: 100%;

    --awb-custom_color_2: #beec42;
    --awb-custom_color_2-h: 76;
    --awb-custom_color_2-s: 82%;
    --awb-custom_color_2-l: 59%;
    --awb-custom_color_2-a: 100%;

    --awb-custom_color_3: #f99d1b;
    --awb-custom_color_3-h: 35;
    --awb-custom_color_3-s: 95%;
    --awb-custom_color_3-l: 54%;
    --awb-custom_color_3-a: 100%;

    --awb-custom_color_4: #beec42;
    --awb-custom_color_4-h: 76;
    --awb-custom_color_4-s: 82%;
    --awb-custom_color_4-l: 59%;
    --awb-custom_color_4-a: 100%;

    --awb-custom_color_5: #000000;
    --awb-custom_color_5-h: 0;
    --awb-custom_color_5-s: 0%;
    --awb-custom_color_5-l: 0%;
    --awb-custom_color_5-a: 100%;

    /* === Site Width === */
    --site_width: 1200px;

    /* === Typography 1 (H1) === */
    --awb-typography1-font-family: Montserrat, Arial, Helvetica, sans-serif;
    --awb-typography1-font-size: 62px;
    --awb-typography1-font-weight: 600;
    --awb-typography1-font-style: normal;
    --awb-typography1-line-height: 1.3;
    --awb-typography1-letter-spacing: 0px;
    --awb-typography1-text-transform: capitalize;
    /* === Typography 2 (H2) === */
    --awb-typography2-font-family: Montserrat, Arial, Helvetica, sans-serif;
    --awb-typography2-font-size: 24px;
    --awb-typography2-font-weight: 600;
    --awb-typography2-font-style: normal;
    --awb-typography2-line-height: 1.6;
    --awb-typography2-letter-spacing: 0px;
    --awb-typography2-text-transform: none;

    /* === Typography 3 (Nav/Menu) === */
    --awb-typography3-font-family: Montserrat, Arial, Helvetica, sans-serif;
    --awb-typography3-font-size: 16px;
    --awb-typography3-font-weight: 500;
    --awb-typography3-font-style: normal;
    --awb-typography3-line-height: 1.2;
    --awb-typography3-letter-spacing: 0px;
    --awb-typography3-text-transform: capitalize;

    /* === Typography 4 (Body/Buttons) === */
    --awb-typography4-font-family: Montserrat, Arial, Helvetica, sans-serif;
    --awb-typography4-font-size: 17px;
    --awb-typography4-font-weight: 400;
    --awb-typography4-font-style: normal;
    --awb-typography4-line-height: 1.8;
    --awb-typography4-letter-spacing: 0px;
    --awb-typography4-text-transform: none;

    /* === Typography 5 === */
    --awb-typography5-font-family: Montserrat, Arial, Helvetica, sans-serif;
    --awb-typography5-font-size: 15px;
    --awb-typography5-font-weight: 400;
    --awb-typography5-font-style: normal;
    --awb-typography5-line-height: 1.72;
    --awb-typography5-letter-spacing: 0px;
    --awb-typography5-text-transform: none;

    /* === H2 Typography alias === */
    --h2_typography-font-family: var(--awb-typography2-font-family);
    --h2_typography-font-weight: var(--awb-typography2-font-weight);
    --h2_typography-font-style: var(--awb-typography2-font-style);
    --h2_typography-font-size: var(--awb-typography2-font-size);
    --h2_typography-text-transform: var(--awb-typography2-text-transform);
    --h2_typography-line-height: var(--awb-typography2-line-height);
    --h2_typography-letter-spacing: var(--awb-typography2-letter-spacing);

    /* === Custom Typography 1 === */
    --awb-custom_typography_1-font-family: Montserrat, Arial, Helvetica, sans-serif;
    --awb-custom_typography_1-font-size: 24px;
    --awb-custom_typography_1-font-weight: 400;
    --awb-custom_typography_1-font-style: normal;
    --awb-custom_typography_1-line-height: 1.5;
    --awb-custom_typography_1-letter-spacing: 0px;
    --awb-custom_typography_1-text-transform: none;
}

/* Core styles only, specific layout is handled by enqueued CSS files */
body {
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    -webkit-font-smoothing: antialiased;
}

img.img-responsive {
    max-width: 100%;
    height: auto;
}

/* Layout Reset for 100% Parity */
#main {
    padding: 0 !important;
}

#main > .fusion-row {
    max-width: 100% !important;
    padding: 0 !important;
}

.fusion-fullwidth {
    width: 100% !important;
    margin: 0 !important;
}

/* Remove vertical grid lines/borders from rows in ratings and badges */
.fusion-builder-row-3 .fusion-builder-column,
.fusion-builder-row-4 .fusion-builder-column,
.fusion-builder-row-3 .fusion-row,
.fusion-builder-row-4 .fusion-row,
.fusion-builder-row-3 .fusion-column-wrapper,
.fusion-builder-row-4 .fusion-column-wrapper,
.fusion-builder-row-3,
.fusion-builder-row-4 {
    border: none !important;
    border-right: none !important;
    border-left: none !important;
    box-shadow: none !important;
}

.fusion-builder-row-3:before,
.fusion-builder-row-3:after,
.fusion-builder-row-4:before,
.fusion-builder-row-4:after,
.fusion-builder-row-3 .fusion-row:after,
.fusion-builder-row-3 .fusion-row:before,
.fusion-builder-row-4 .fusion-row:after,
.fusion-builder-row-4 .fusion-row:before {
    display: none !important;
    content: none !important;
}

/* Community Outreach Section Parity */
.fusion-builder-row-6,
.fusion-builder-row-6 *,
.fusion-builder-row-6 *:before,
.fusion-builder-row-6 *:after {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-right: none !important;
    border-left: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
    background-image: none !important; /* Kill pattern bgs if any */
}

.fusion-builder-row-6 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.fusion-builder-row-6 .fusion-title-8 {
    width: 100% !important;
    text-align: center !important;
    display: block !important;
}

.fusion-builder-row-6 .fusion-title-8 h2 {
    font-size: 48px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin: 0 auto !important;
}

.fusion-builder-row-7 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* Header Specific Fixes for Visual Parity */


.fusion-builder-row-2 .fusion-title-1.hero_section_main_h1 h1,
.fusion-builder-row-2 .fusion-title-1.hero_section_main_h1 .fusion-title-heading {
    font-size: 35px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    color: var(--awb-color4, #132c73) !important;
}


/* === Hero Section Text Fix (match demo) === */
/* H1 heading — 35px, bold, dark navy, proper line-height */
.fusion-builder-row-2 .fusion-title-1 h1,
.fusion-builder-row-2 .fusion-title-1 .fusion-title-heading {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    color: var(--awb-color4, #132c73) !important;
}

/* Subtext 1 — 18px */
.fusion-builder-row-2 .fusion-title-2 p,
.fusion-builder-row-2 .fusion-title-2 .fusion-title-heading {
    font-size: 20px;
    line-height: 1.5 !important;
    color: var(--awb-color4, #132c73) !important;
         margin: 0;
    margin-bottom: 10px;
}

/* Subtext 2 — 17px */
.fusion-builder-row-2 .fusion-title-3 p,
.fusion-builder-row-2 .fusion-title-3 .fusion-title-heading {
    font-size: 17px;
    line-height: 1.5 !important;
    color: #132c73 !important;
        margin: 0;
    margin-bottom: 10px;
}

/* === Global fix: fusion-responsive-typography-calculated ===
   Avada's JS normally calculates font-size from --fontSize var.
   Without the JS, all headings fall back to 1em (body size).
   This rule applies --awb-font-size from the parent title div. */
.fusion-title .fusion-responsive-typography-calculated {
    font-size: var(--awb-font-size, 1em) !important;
}

/* === Visibility Classes (Ensure these work globally) === */
@media screen and (max-width: 800px) {
    .fusion-no-small-visibility { display: none !important; }

    }

body:not(.home):not(.front-page) @media screen and (max-width: 800px) {

       .fusion-title .fusion-responsive-typography-calculated {
        font-size: 28px !important;
        margin-bottom: 0px !important;
    }

    /* Subtext 2 — 17px */
    .fusion-builder-row-2 .fusion-title-3 p,
    .fusion-builder-row-2 .fusion-title-3 .fusion-title-heading {
        font-size: 17px !important;
    }

    .hero-section h1.fusion-title-heading.title-heading-left.fusion-responsive-typography-calculated {
        font-size: 28px !important;
        margin-bottom: 0 !important;
    }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
    .fusion-no-medium-visibility { display: none !important; }
    .fusion-builder-row-2 .fusion-title-1 h1,
.fusion-builder-row-2 .fusion-title-1 .fusion-title-heading {
    font-size: 28px !important;
    margin-bottom: 0 !important;
}

.fusion-builder-row-2 .fusion-title-2 p,
.fusion-builder-row-2 .fusion-title-2 .fusion-title-heading {
    font-size: 18px !important;
}
}
@media screen and (min-width: 1101px) {
    .fusion-no-large-visibility { display: none !important; }
}

/* === Footer Legal Links — plain text, no button background === */
.fusion-tb-footer .fusion-button.button-5,
.fusion-tb-footer .fusion-button.button-6,
.fusion-tb-footer .fusion-button.button-7 {
    background: none !important;
    background-image: none !important;
    border: none !important;
    padding: 2px 0 !important;
    display: block !important;
    text-align: left !important;
    box-shadow: none !important;
}

.fusion-tb-footer .fusion-button.button-5 .fusion-button-text,
.fusion-tb-footer .fusion-button.button-6 .fusion-button-text,
.fusion-tb-footer .fusion-button.button-7 .fusion-button-text {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}

.fusion-tb-footer .fusion-button.button-5:hover .fusion-button-text,
.fusion-tb-footer .fusion-button.button-6:hover .fusion-button-text,
.fusion-tb-footer .fusion-button.button-7:hover .fusion-button-text {
    color: var(--awb-color5, #beec42) !important;
}
.fusion-tb-footer .footer_main_menu ul,
.fusion-tb-footer .footer_main_menu .fusion-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.fusion-tb-footer .footer_main_menu li {
    padding: 0 0 !important;
    border: none !important;
    background: none !important;
}

.fusion-tb-footer .footer_main_menu li a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.fusion-tb-footer .footer_main_menu li a:hover {
    color: var(--awb-color5, #beec42) !important;
}

/* Footer column headings */
.fusion-tb-footer .fusion-title h3 {
    color: #ffffff !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}

/* === "Flexible Storage" Section Fix === */
.fusion-builder-row-14 .fusion-title-23 h2,
.fusion-builder-row-14 .fusion-title-23 .fusion-title-heading,
.fusion-builder-row-15 .fusion-title-25 h2,
.fusion-builder-row-15 .fusion-title-25 .fusion-title-heading {
    font-size: 48px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--awb-color4, #132c73) !important;
}

/* === "Clear Pricing" Section Fix === */
.fusion-builder-row-12 .fusion-title-19 h2,
.fusion-builder-row-12 .fusion-title-19 .fusion-title-heading {
    font-size: 48px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--awb-color4, #132c73) !important;
    letter-spacing: 0.5px !important;
}
/* Desktop H2 — 46px bold */
.fusion-builder-row-8 .fusion-title-9 h2,
.fusion-builder-row-8 .fusion-title-9 .fusion-title-heading {
    font-size: 46px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--awb-color4, #132c73) !important;
}

/* Subtitle H3 — 24px */
.fusion-builder-row-8 .fusion-title-11 h3,
.fusion-builder-row-8 .fusion-title-11 .fusion-title-heading {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: var(--awb-color4, #132c73) !important;
}

/* Ensure the menu items are uppercase and bold as per reference */
/* .awb-menu__main-ul .menu-text {
    text-transform: uppercase !important;
    font-size: 14px !important;
    font-weight: 500 !important;
} */

/* Fix the squashed menu issue by enforcing gap */
.awb-menu_row {
    --awb-gap: 20px !important;
}

/* Column distribution — desktop only, let CSS vars handle mobile/tablet */
@media screen and (min-width: 1101px) {
    .fusion-tb-header .fusion-builder-column-0 { width: 20% !important; }
    .fusion-tb-header .fusion-builder-column-1 { width: 45% !important; }
    .fusion-tb-header .fusion-builder-column-2 { width: 35% !important; }
}

/* Mobile header: logo 70%, buttons column 30% (menu col is hidden) */
@media screen and (max-width: 800px) {
    .fusion-tb-header .fusion-builder-column-0 { width: 70% !important; }
    .fusion-tb-header .fusion-builder-column-2 { width: 30% !important; }

    /* Make logo image bigger on mobile */
    .fusion-tb-header .fusion-builder-column-0 img {
        max-width: 200px !important;
        width: 100% !important;
        height: auto !important;
    }

    /* Mobile hamburger icon — bigger and right-aligned */
    .fusion-tb-header .fb-icon-element.awb-factorymenu {
        font-size: 28px !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: 100% !important;
        height: 100% !important;
        margin-left: 0 !important;
    }

    /* Buttons column: hide price/phone buttons, show only hamburger */
    .fusion-tb-header .fusion-builder-column-2 .fusion-column-wrapper {
        justify-content: flex-end !important;
        align-items: center !important;
    }
}

/* Tablet: logo 40%, menu hidden, buttons 60% */
@media screen and (min-width: 801px) and (max-width: 1100px) {
    .fusion-tb-header .fusion-builder-column-0 { width: 40% !important; }
    .fusion-tb-header .fusion-builder-column-2 { width: 60% !important; }
}

/* Button Fine-tuning */
.fusion-button.button-1 {
    background-color: var(--awb-custom_color_4) !important;
    color: var(--awb-color8) !important;
    border: none !important;
}

.fusion-button.button-2 {
    background-color: var(--awb-color2) !important;
    color: var(--awb-color8) !important;
    border: 1px solid var(--awb-color2) !important;
}

/* Fix for the green text issue in navigation */
.awb-menu__main-a {
    color: var(--awb-color8) !important;
}

.awb-menu__main-li.current-menu-item .awb-menu__main-a,
.awb-menu__main-li.current-page-item .awb-menu__main-a,
.awb-menu__main-a:hover {
    color: var(--awb-custom_color_4) !important;
}

/* Dropdown Sub-menu Refinements */
.awb-menu__sub-ul {
    position: absolute !important;
    top: 100%;
    left: 0;
    background-color: var(--awb-color1) !important;
    box-shadow: 0px 4px 20px rgba(0,0,0,0.1) !important;
    padding: 0 !important;
    min-width: var(--awb-submenu-max-width, 240px) !important;
    max-width: var(--awb-submenu-max-width, 260px) !important;
    z-index: 100 !important;
    display: none;
    list-style: none !important;
    margin: 0 !important;
    border-top: 1px solid var(--awb-color2);
}

.awb-menu__li:hover > .awb-menu__sub-ul {
    display: block !important;
}

.awb-menu__sub-li {
    border-bottom: 1px solid var(--awb-color2);
}

.awb-menu__sub-li:last-child {
    border-bottom: none;
}

.awb-menu__sub-li .menu-text {
    color: var(--awb-submenu-color, var(--awb-color8)) !important;
    font-weight: 400 !important;
    text-transform: capitalize !important;
    padding: var(--awb-submenu-items-padding-top, 15px) var(--awb-submenu-items-padding-left, 30px) !important;
    display: block !important;
    font-size: 16px !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.awb-menu__sub-li:hover .menu-text {
    background-color: var(--awb-color2) !important;
    color: var(--awb-color4) !important;
}


/* --- Footer Parity Styles --- */
.fusion-footer {
    background-color: var(--awb-color4) !important;
}

.fusion-footer .fusion-title h3 {
    font-weight: 600 !important;
    letter-spacing: 0px !important;
    text-transform: none !important;
}

.footer_main_menu .awb-menu__main-ul_column {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.footer_main_menu .awb-menu__main-li {
    margin-bottom: 5px !important;
}

.footer_main_menu .awb-menu__main-a {
    padding: 0 !important;
    font-size: 16px !important;
    color: var(--awb-color1) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    font-weight: 400 !important;
    line-height: normal !important;
}

.footer_main_menu .awb-menu__main-a:hover {
    color: #beec42 !important;
}

/* .fusion-footer p {
    margin-bottom: 0 !important;
    line-height: 1.6 !important;
} */

.fusion-footer a {
    text-decoration: none !important;
    transition: color 0.1s ease !important;
}

.fusion-footer a:hover {
    color: #beec42 !important;
}

.fusion-footer .fa {
    font-size: 16px !important;
    width: 20px;
    text-align: center;
}

.footer-legal-links p {
    margin-bottom: 5px !important;
}

.footer-legal-links a {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* Sticky/Responsive Footer Fixes */
@media (max-width: 767px) {
    .fusion-footer .fusion-builder-row {
        gap: 25px;
    }

    .fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper:not(.fusion-flex-column-wrapper-legacy).fusion-content-layout-row {
    flex-direction: column;
    flex-wrap: wrap;
}

     .fusion-footer .Bottom_footer .fusion-builder-row {
        gap: 0px;
    }
    .fusion-footer .fusion-layout-column {
        text-align: left !important;
    }
    .fusion-footer .fusion-flex-justify-content-center {
        justify-content: flex-start !important;
    }
    .fusion-footer .fusion-flex-justify-content-flex-end {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .fusion-footer .fusion-flex-justify-content-flex-end div {
        text-align: left !important;
    }
    .fusion-footer .fusion-flex-justify-content-flex-end p {
        margin-left: 0 !important;
    }
}

/* ============================================
   BLOG PAGE STYLES
   ============================================ */

/* Page title */
.blog-page-title {
    font-size: 50px !important;
    font-weight: 600 !important;
    color: var(--awb-color4, #132c73) !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    line-height: 1.3 !important;
}

/* Grid container */
.fusion-post-cards .fusion-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    align-items: stretch !important;
}

@media screen and (max-width: 1100px) {
    .fusion-post-cards .fusion-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media screen and (max-width: 640px) {
    .fusion-post-cards .fusion-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Card */
.fusion-post-cards .card-wrapper,
.fusion-post-cards .post-card {
    background: #ffffff !important;
    /* border: 1px solid var(--awb-custom_color_4, #beec42) !important; */
    border-radius: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 100% !important;
}

.fusion-post-cards .card-wrapper > .fusion-column-wrapper,
.fusion-post-cards .post-card > .fusion-column-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: 0 !important;
}

.fusion-post-cards .card-wrapper .fusion-builder-row-inner {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.fusion-post-cards .card-wrapper .column-wrapper-style > .fusion-column-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    justify-content: space-between !important;
}

/* Card image */
.fusion-post-cards .image-element-style {
    width: 100% !important;
    overflow: hidden !important;
    /* border-radius: 10px 10px 0 0 !important; */
    display: block !important;
    line-height: 0 !important;
}

.fusion-post-cards .image-element-style a {
    display: block !important;
    line-height: 0 !important;
}

.fusion-post-cards .blog-card-img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.fusion-post-cards .blog-card-no-img {
    background: #f1f1f1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--awb-custom_color_4, #beec42) !important;
    font-family: Montserrat, sans-serif !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 220px !important;
    position: relative !important;
}

/* Ensure placeholder fills Avada's aspect-ratio container */
.has-aspect-ratio .blog-card-no-img,
.imageframe-none .blog-card-no-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Make sure the link container doesn't collapse the layout */
.fusion-imageframe a,
.fusion-image-element a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.fusion-imageframe,
.fusion-image-element {
    /* Removed padding override to preserve padding-bottom aspect ratio hack */
}

.fusion-post-cards .blog-card-no-img::before {
    content: "\f03e" !important; /* FontAwesome image icon */
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 900 !important;
    font-size: 32px !important;
    margin-bottom: 8px !important;
}

.fusion-post-cards .blog-card-no-img::after {
    content: "No Image Available" !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 11px !important;
}

.fusion-post-cards .image-element-style:hover .blog-card-img {
    transform: scale(1.05) !important;
}

/* Card inner content */
.fusion-post-cards .column-wrapper-style {
    padding: 15px 15px 24px 15px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: auto !important;
}

.fusion-post-cards .column-wrapper-style .fusion-column-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

/* Date with calendar icon */
.fusion-post-cards .fusion-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
}

.fusion-post-cards .fusion-checklist .fusion-li-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--awb-color4, #132c73) !important;
    font-size: 16px !important;
}

.fusion-post-cards .fusion-checklist .icon-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}

.fusion-post-cards .fusion-checklist .fa-calendar-alt {
    color: var(--awb-custom_color_4, #beec42) !important;
    font-size: 14px !important;
}

/* Remove extra space between date and title, and title and excerpt */
.fusion-post-cards .fusion-title-2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.fusion-post-cards .fusion-title-2 h4 {
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 0 8px 0 !important;
}

/* Reduce inner column padding */
.fusion-post-cards .column-wrapper-style {
    padding: 12px 12px 16px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: auto !important;
}

/* Tighten checklist (date row) spacing */
.fusion-post-cards .fusion-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
}

.fusion-post-cards .fusion-title-2 h4 a {
    color: var(--awb-color8, #132c73) !important;
    text-decoration: none !important;
}

.fusion-post-cards .fusion-title-2 h4 a:hover {
    color: var(--awb-custom_color_4, #beec42) !important;
}

/* Excerpt */
.fusion-post-cards .fusion-text-1 {
    font-size: 15px !important;
    color: #132c73 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    flex: 1 !important;
    min-height: 60px !important;
}

.fusion-post-cards .fusion-text-1 p {
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Read More button */
.fusion-post-cards .fusion-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--awb-custom_color_4, #beec42) !important;
    background-image: none !important;
    color: var(--awb-color8, #132c73) !important;
    border-radius: 10px !important;
    padding: 12px 20px !important;
    font-size: 17px !important;
    /* font-weight: 600 !important; */
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    margin-top: auto !important;
    transition: background 0.2s ease !important;
    cursor: pointer !important;
}

.fusion-post-cards .fusion-button:hover {
    background: #a9cd24 !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

.fusion-post-cards .fusion-button .fusion-button-text {
    color: var(--awb-color8, #132c73) !important;
}

.fusion-post-cards .fusion-button .awb-button__icon {
    color: var(--awb-color8, #132c73) !important;
    margin-left: 6px !important;
}

/* Pagination */
.pagination {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 30px !important;
    padding: 0 !important;
}

.pagination a,
.pagination span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    color: var(--awb-color4, #132c73) !important;
    text-decoration: none !important;
    background: #fff !important;
}

.pagination .current {
    background: var(--awb-color4, #132c73) !important;
    color: #fff !important;
    border-color: var(--awb-color4, #132c73) !important;
}

.pagination a:hover {
    background: var(--awb-custom_color_4, #beec42) !important;
    border-color: var(--awb-custom_color_4, #beec42) !important;
    color: var(--awb-color4, #132c73) !important;
}

/* ============================================
   BLOG DETAIL PAGE (single.php)
   ============================================ */

/* Featured image */
.single-blog-featured-image {
    width: 100% !important;
    margin-bottom: 30px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.single-blog-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 8px !important;
}

/* Date */
.single-blog-date {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--awb-color4, #132c73) !important;
    margin-bottom: 12px !important;
}

/* Title */
.single-blog-title {
    font-size: 40px !important;
    font-weight: 700 !important;
    color: var(--awb-color8, #132c73) !important;
    line-height: 1.3 !important;
    margin: 0 0 20px 0 !important;
}

/* Content */
.single-blog-content {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #444 !important;
}

.single-blog-content p {
    margin-bottom: 18px !important;
}

.single-blog-content a {
    color: var(--awb-custom_color_4, #beec42) !important;
}

/* Sidebar */
.single-blog-sidebar {
    align-self: flex-start !important;
}

/* Search box */
.single-blog-search {
    margin-bottom: 30px !important;
}

.single-blog-search .search-form {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.single-blog-search .search-field {
    flex: 1 !important;
    border: none !important;
    padding: 10px 15px !important;
    font-size: 15px !important;
    outline: none !important;
    background: transparent !important;
}

.single-blog-search .search-submit {
    background: none !important;
    border: none !important;
    padding: 10px 15px !important;
    cursor: pointer !important;
    color: #777 !important;
    font-size: 16px !important;
}

/* Related Posts */
.single-blog-related {
    margin-bottom: 30px !important;
}

.single-blog-related-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--awb-color8, #132c73) !important;
    margin: 0 0 15px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Related posts carousel */
.related-posts-carousel {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}

.related-posts-track {
    display: flex !important;
    transition: transform 0.4s ease !important;
}

.related-post-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
}

.related-post-img-link {
    display: block !important;
}

.related-post-img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 8px !important;
}

.related-post-no-img {
    height: 200px !important;
    background: #e5e5e5 !important;
    border-radius: 8px !important;
}

/* Carousel prev/next buttons */
.related-prev,
.related-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: rgba(255,255,255,0.9) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    color: var(--awb-color4, #132c73) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
}

.related-prev { left: 8px !important; }
.related-next { right: 8px !important; }

.related-prev:hover,
.related-next:hover {
    background: var(--awb-custom_color_4, #beec42) !important;
}

/* Filter by Category */
.single-blog-categories {
    margin-top: 10px !important;
}

.single-blog-widget-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--awb-color8, #132c73) !important;
    margin: 0 0 15px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.blog-category-tag {
    display: inline-block !important;
    padding: 6px 16px !important;
    margin: 0 8px 8px 0 !important;
    border: 1px solid var(--awb-custom_color_4, #beec42) !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    color: var(--awb-color8, #132c73) !important;
    text-decoration: none !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
}

.blog-category-tag:hover,
.blog-category-tag.active {
    background: var(--awb-custom_color_4, #beec42) !important;
    border-color: var(--awb-custom_color_4, #beec42) !important;
    color: var(--awb-color8, #132c73) !important;
}

/* Responsive */
@media screen and (max-width: 1100px) {
    .single-blog-title {
        font-size: 30px !important;
    }
}

@media screen and (max-width: 800px) {
    .single-blog-title {
        font-size: 24px !important;
    }
    .single-blog-sidebar {
        margin-top: 40px !important;
    }
}

/* ============================================
   CITY DETAILS PAGE (template-city.php)
   ============================================ */

/* Hero section */
.city-hero-section {
    background-attachment: scroll !important;
    position: relative !important;
}

/* Left white box */
.city-hero-left {
    background: #ffffff !important;
    border-radius: 10px !important;
    padding: 20px !important;
}

.city-hero-left .fusion-title-1 h1 {
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #132c73 !important;
    margin-bottom: 15px !important;
    line-height: 1.3 !important;
}

.city-hero-left .fusion-title-2 p {
    font-size: 17px !important;
    line-height: 1.6 !important;
    color: var(--awb-color8, #132c73) !important;
    margin: 0 !important;
}

/* Right form box — dark navy */
.city-hero-right .custom-contact-box {
    background: #132c73 !important;
}

/* City page main content */
.city-page-content h2 {
    font-size: 30px !important;
    font-weight: 700 !important;
    color: var(--awb-color4, #132c73) !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.3 !important;
}

.city-page-content p {
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: var(--awb-color8, #132c73) !important;
    margin-bottom: 20px !important;
}

/* Responsive */
@media screen and (max-width: 800px) {
    .city-hero-left,
    .city-hero-right {
        width: 100% !important;
        margin-top: 20px !important;
    }

    .city-hero-left .fusion-title-1 h1 {
        font-size: 24px !important;
    }
}

.fusion-accordian .fusion-panel.fusion-toggle-no-divider .panel-title a {
    padding: 0;
}

.fusion-accordian .fusion-toggle-icon-right .fusion-toggle-heading {
    font-size: var(--awb-typography4-font-size);
}


.fusion-checklist .fusion-li-item-content, ul.fusion-checklist .fusion-li-item-content {
    color: var(--awb-textcolor);
    margin-inline-start: 0;
}

/* --- Footer Accordion (Mobile) --- */
@media (min-width: 800px) {
.fusion-footer .footer-accordion-title .accordion-icon {
    display: none !important;
}
}

li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-home.menu-item-5671 {
    display: none;
}

/* --- Footer Accordion (Mobile) --- */
@media (max-width: 800px) {

    .bottom_border{
        border-top: 1px solid #618EC3 !important;
    }

    li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-home.menu-item-5671 {
    display: block;
}

    .fusion-footer .fusion-title h3 {
        display: flex;
    align-items: center;
    justify-content: space-between;
    }

    .footer-accordion-title {
        cursor: pointer !important;
        position: relative !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        /* border-bottom: 1px solid rgba(255,255,255,0.1) !important; */
        padding: 0 0 !important;
        margin-top: 0 !important;
    }



    .footer-accordion-title h3 {
        margin: 0 !important;
        flex: 1 !important;
        font-size: 25px !important;
        color: #ffffff !important;
    }
    .footer-accordion-title .accordion-icon {
        font-size: 24px !important;
        transition: transform 0.3s ease !important;
        color: #ffffff !important;
    }
    .footer-accordion-title.active .accordion-icon {
        transform: rotate(180deg) !important;
    }
    .footer_main_menu {
        display: none !important;
        overflow: hidden !important;
    }
    .footer-accordion-title.active + .footer_main_menu {
        display: block !important;
        padding-top: 10px !important;
        padding-bottom: 20px !important;
        margin-left: 20px;
    }
    /* Special handling for column with two headers */
    .fusion-title-5.footer-accordion-title {
        margin-top: 0 !important;
        /* border-top: 1px solid rgba(255,255,255,0.1) !important; */
    }

}



@media only screen and (max-width: 767px) {
.fusion-footer .fusion-builder-column-6  .fusion-title:first-child {
        margin-bottom: 20px !important;
    }
}


#awb-oc-1932 .awb-menu__main-li, #awb-oc-1932 li {
    flex-direction: column;
    align-items: flex-start !important;
    border: none !important;
}



.menu-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

ul#menu-mobile-nav li.menu-item {
    padding-bottom: 10px;
}

ul#menu-mobile-nav li.menu-item ul.sub-menu li {
    padding-bottom: inherit;
}

.menu-mobile a {
    color: #212934;
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 500;
}

.menu-mobile.active a,  .menu-mobile.active button.oc-chevron-btn, ul.sub-menu li a:hover {
    color: #132c73;
}

ul.sub-menu {
padding-left: 10px;
}

ul.sub-menu li a {
    color: #212934;
    font-size: 15px;
    text-transform: capitalize;
    width: 100%;
    border-bottom: 1px solid #e6f3fa;
}

ul.sub-menu li a:hover {
    border-bottom: 1px solid #132c73;
}

button.oc-chevron-btn {
    background-color: transparent;
   color: #212934;
    border: none;
    font-size: 15px;
}


@media only screen and (min-width: 1095px) and  (max-width: 1365px) {
    .awb-menu_row .awb-menu__main-ul .menu-text {
    font-size: 13.5px !important;
    padding: 10px 0 !important;
}
}



