

        .moving-driver-gps {
            width: 100%;
            margin-top: 25px;
        }

        .driver-gps-status {
            padding: 15px;
            border-radius: 10px;
            background: #f5f8fa;
            margin-bottom: 20px;
        }

        .driver-gps-status strong {
            display: block;
            font-size: 17px;
            margin-bottom: 6px;
        }

        .driver-gps-status p {
            margin: 5px 0 0;
        }

        .driver-live-map-section {
            margin-top: 25px;
        }

        .driver-live-map-section h3 {
            margin-bottom: 10px;
        }

        #moving-driver-map {
            width: 100%;
            min-height: 450px;
            background: #eeeeee;
            z-index: 1;
        }

        .driver-last-location {
            margin-top: 20px;
            padding: 15px;
            background: #f5f8fa;
            border-radius: 10px;
        }

        .driver-last-location h3 {
            margin-top: 0;
        }

        .driver-last-location p {
            margin: 5px 0;
        }

        .driver-map-waiting {
            padding: 15px;
        }

        @media (max-width: 767px) {

            #moving-driver-map {
                height: 350px !important;
                min-height: 350px;
            }

        }

    

				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
					background-image: none !important;
				}
				@media screen and (max-height: 1024px) {
					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
						background-image: none !important;
					}
				}
				@media screen and (max-height: 640px) {
					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
						background-image: none !important;
					}
				}
			

/* Submenu item height */
.main-navigation ul ul li a {
			padding: 8px 15px !important; 
    line-height: 1.2 !important; 
    font-size: 10px;             
}
.main-navigation ul ul {
    padding: 0px 0 !important;
}


.main-navigation ul ul {
    min-width: 210px !important; /* box width control */
}





/* this is contact a quote  */

/* =========================
   Common row styling
   ========================= */
.quote-wrap .row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}

/* =========================
   Row 1: Name, Email, Phone
   ========================= */
.quote-wrap .row-3 label {
  flex: 1;
}

/* =========================
   Inputs & Select styling
   ========================= */
.quote-wrap input,
.quote-wrap select {
  width: 100%;
  padding: 14px 18px;
  border-radius: 30px;
  border: none;
  background: #ffffff;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
}

/* Label text */
.quote-wrap label {
  font-size: 14px;
  color: #000;
}


.quote-wrap .row-6 {
  align-items: flex-end;
}

/* 🔥 From & To – EXTRA WIDE *//* From, To, Date */
.quote-wrap .row-6 label {
  flex: 1.5;
}

/* No of Items – small */
.quote-wrap .row-6 .small-box {
  flex: 0.6;
}

/* Submit button */
.quote-wrap .submit-box {
  flex: 1.2;
}


/* Date – medium width */
.quote-wrap .row-6 label:nth-of-type(3) {
  flex: 1.4;
}

/* =========================
   No. Of Items – SMALL BOX
   ========================= */
.quote-wrap .row-6 .small-box {
  flex: 0 0 80px;
}

.quote-wrap .row-6 .small-box input {
  width: 120px;
  max-width: 120px;
  text-align: center;
  padding: 6px;
}

/* =========================
   Submit button
   ========================= */
.quote-wrap .submit-box {
  flex: 1.5;
  display: flex;
  align-items: flex-end;
}

.quote-wrap input[type="submit"] {
  background: #fcb900;
  color: #000;
  padding: 14px 30px;
  border-radius: 30px;
  cursor: pointer;
  font-weight: 600;
  border: none;
}

/* =========================
   Mobile Responsive
   ========================= */
@media (max-width: 768px) {
  .quote-wrap .row {
    flex-wrap: wrap;
  }

  .quote-wrap .row-3 label,
  .quote-wrap .row-6 label,
  .quote-wrap .row-6 .small-box,
  .quote-wrap .submit-box {
    flex: 1 1 100%;
  }

  .quote-wrap .row-6 .small-box input {
    width: 100%;
    max-width: 100%;
  }
}



/* Header gap remove  */

body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html,
body,
#page,
.site {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

#masthead,
.ast-above-header-bar,
.ast-primary-header-bar {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}



/* footer */
/* Fix space above and below the sticky bottom bar */
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#page {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-footer,
#colophon {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}











/* =========================================================
   BOOK-A-MOVE FORM — PROFESSIONAL REDESIGN
========================================================= */

.mooving-booking-form {
    max-width: 880px !important;
    margin: 32px auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: inherit !important;
    display: block !important;
    box-sizing: border-box !important;
}

.mooving-booking-form fieldset {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    float: none !important;
    background: #ffffff !important;
    border: 1px solid #edf1ee !important;
    border-radius: 16px !important;
    padding: 30px 32px !important;
    margin: 0 0 22px 0 !important;
    box-shadow: 0 2px 14px rgba(10, 20, 32, 0.05) !important;
    box-sizing: border-box !important;
}

.mooving-booking-form legend {
    display: block !important;
    width: 100% !important;
    padding: 0 0 18px 0 !important;
    margin: 0 0 22px 0 !important;
    border-bottom: 1px solid #f0f2f0 !important;
    font-weight: 700 !important;
}

.mooving-booking-form legend h3 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #0a1128 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.mooving-booking-form legend h3::before {
    content: "" !important;
    flex-shrink: 0 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background-color: rgba(76, 175, 80, 0.12) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 19px 19px !important;
}

.mooving-booking-form fieldset:nth-of-type(1) legend h3::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234CAF50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'%3E%3C/rect%3E%3Cpath d='M16 2v4'%3E%3C/path%3E%3Cpath d='M8 2v4'%3E%3C/path%3E%3Cpath d='M3 10h18'%3E%3C/path%3E%3C/svg%3E") !important;
}
.mooving-booking-form fieldset:nth-of-type(2) legend h3::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234CAF50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E") !important;
}
.mooving-booking-form fieldset:nth-of-type(3) legend h3::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234CAF50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E") !important;
}
.mooving-booking-form fieldset:nth-of-type(4) legend h3::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234CAF50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='2'%3E%3C/circle%3E%3Ccircle cx='18' cy='5' r='2'%3E%3C/circle%3E%3Cpath d='M12 19H8.5a2.5 2.5 0 0 1 0-5h7a2.5 2.5 0 0 0 0-5H10'%3E%3C/path%3E%3C/svg%3E") !important;
}
.mooving-booking-form fieldset:nth-of-type(5) legend h3::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234CAF50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h1'%3E%3C/path%3E%3Cpath d='M14 9h4l4 4v4a1 1 0 0 1-1 1h-1'%3E%3C/path%3E%3Ccircle cx='7' cy='18' r='2'%3E%3C/circle%3E%3Ccircle cx='17' cy='18' r='2'%3E%3C/circle%3E%3C/svg%3E") !important;
}

.mooving-booking-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.mooving-booking-form br {
    display: none !important;
}

.mooving-booking-form .form-row-1 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px 0 !important;
}

.mooving-booking-form .form-row-2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 0 18px 0 !important;
    box-sizing: border-box !important;
}

.mooving-booking-form .form-row-3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.mooving-booking-form fieldset > .form-row-1:last-child,
.mooving-booking-form fieldset > .form-row-2:last-child,
.mooving-booking-form fieldset > .form-row-3:last-child {
    margin-bottom: 0 !important;
}

.mooving-booking-form .form-field {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.mooving-booking-form .full-width-field {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}

.mooving-booking-form label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-weight: 650 !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
    color: #374151 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.mooving-booking-form input[type="text"],
.mooving-booking-form input[type="tel"],
.mooving-booking-form input[type="email"],
.mooving-booking-form input[type="date"],
.mooving-booking-form input[type="number"],
.mooving-booking-form input[type="file"],
.mooving-booking-form select,
.mooving-booking-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 16px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    background-color: #fbfcfb !important;
    color: #1f2937 !important;
    margin: 0 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease !important;
}

.mooving-booking-form select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

.mooving-booking-form input[type="text"],
.mooving-booking-form input[type="tel"],
.mooving-booking-form input[type="email"],
.mooving-booking-form input[type="date"],
.mooving-booking-form input[type="number"],
.mooving-booking-form select {
    height: 48px !important;
}

.mooving-booking-form textarea {
    height: 100px !important;
    min-height: 100px !important;
    padding-top: 12px !important;
    resize: vertical !important;
}

.mooving-booking-form .full-width-field textarea[name="pickup-location"] {
    width: 100% !important;
    min-height: 90px !important;
}

.mooving-booking-form .full-width-field textarea[name="delivery-location"] {
    width: 100% !important;
    min-height: 90px !important;
}

.mooving-booking-form .full-width-field textarea[name="delivery-instructions"] {
    width: 100% !important;
    min-height: 90px !important;
}

.mooving-booking-form input[type="file"] {
    height: auto !important;
    padding: 10px 16px !important;
}

.mooving-booking-form input:hover,
.mooving-booking-form select:hover,
.mooving-booking-form textarea:hover {
    border-color: #c7d0c8 !important;
}

.mooving-booking-form input:focus,
.mooving-booking-form select:focus,
.mooving-booking-form textarea:focus {
    border-color: #4CAF50 !important;
    outline: none !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.14) !important;
}

.mooving-booking-form .submit-btn-wrap {
    width: 100% !important;
    display: block !important;
    margin-top: 6px !important;
    text-align: center !important;
}

.mooving-booking-form input[type="submit"] {
    width: 100% !important;
    height: 54px !important;
    padding: 14px 24px !important;
    background: linear-gradient(135deg, #4CAF50, #43a047) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(76, 175, 80, 0.3) !important;
    transition: transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}

.mooving-booking-form input[type="submit"]:hover {
    background: linear-gradient(135deg, #45a049, #3d9440) !important;
    box-shadow: 0 10px 24px rgba(76, 175, 80, 0.38) !important;
    transform: translateY(-1px) !important;
}

.mooving-booking-form input[type="submit"]:active {
    transform: translateY(0) !important;
}

/* =========================================================
   BOOK-A-MOVE FORM — RESPONSIVE
========================================================= */

@media (max-width: 768px) {
    .mooving-booking-form {
        max-width: 100% !important;
        margin: 20px auto !important;
        padding: 0 4px !important;
    }
    .mooving-booking-form fieldset {
        padding: 22px 20px !important;
    }
    .mooving-booking-form .form-row-3,
    .mooving-booking-form .form-row-2 {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

@media (max-width: 480px) {
    .mooving-booking-form fieldset {
        padding: 18px 16px !important;
        border-radius: 14px !important;
    }
    .mooving-booking-form legend h3 {
        font-size: 15.5px !important;
    }
    .mooving-booking-form label {
        font-size: 12.5px !important;
    }
}


/* =========================================
   TRACK BOOKING BUTTON
   DESKTOP + MOBILE
   ========================================= */

/* Main Track Booking item */
#menu-item-8444 {
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Track Booking button */
#menu-item-8444 > a.menu-link {
    background: red !important;
    color: #ffffff !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;

    padding: 0 8px !important;
    margin: 0 !important;

    line-height: normal !important;
    text-align: left !important;

    box-sizing: border-box !important;
}

/* Desktop Hover */
#menu-item-8444 > a.menu-link:hover,
#menu-item-8444 > a.menu-link:focus,
#menu-item-8444 > a.menu-link:active {
    background: red !important;
    color: #ffffff !important;
}


/* =========================================
   MOBILE MENU
   ========================================= */

@media only screen and (max-width: 1024px) {

    /* Track Booking */
    li:has(> a.menu-link[href="#"]) > a.menu-link {
        background: red !important;
        color: #ffffff !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;

        height: 43px !important;
        min-height: 43px !important;
        max-height: 43px !important;

        padding: 0 8px !important;
        margin: 0 !important;

        line-height: normal !important;
        text-align: left !important;

        box-sizing: border-box !important;
    }

    /* Mobile Hover / Focus / Active */
    li:has(> a.menu-link[href="#"]) > a.menu-link:hover,
    li:has(> a.menu-link[href="#"]) > a.menu-link:focus,
    li:has(> a.menu-link[href="#"]) > a.menu-link:active {
        background: red !important;
        color: #ffffff !important;
    }
}

.account-nav-link {
    font-weight: 600;
    color: #ffffff !important;
    background: rgba(255,255,255,0.14);
    padding: 8px 16px;
    border-radius: 999px;
    margin-left: 8px;
    transition: background-color 0.15s ease;
    white-space: nowrap;
}
.account-nav-link:hover {
    background: rgba(255,255,255,0.26);
}

.account-menu { position: relative; display: inline-block; }
.account-menu-trigger { display: flex; align-items: center; gap: 6px; border: none; cursor: pointer; }
.account-menu-chevron { transition: transform 0.15s ease; flex-shrink: 0; }
.account-menu.open .account-menu-chevron { transform: rotate(180deg); }
.account-menu-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 10px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(0,0,0,0.2);
    min-width: 170px;
    padding: 6px;
    z-index: 200;
}
.account-menu.open .account-menu-dropdown { display: block; }
.account-menu-dropdown a,
.account-menu-dropdown button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 9px 12px;
    border-radius: 7px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #0a1128 !important;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}
.account-menu-dropdown a:hover,
.account-menu-dropdown button:hover { background: #f1f5f4; }
.account-menu-dropdown form { margin: 0; }

/* ===== Global footer + sticky CTA bar (shared across all pages, including custom ones) ===== */

    .msg-footer-wrapper {
        --msg-bg-color: #0a0a0a;
        --msg-card-bg: #0a0a0a;
        --msg-primary-green: #4CAF50;
        --msg-light-green: #8BC34A;
        --msg-text-white: #ffffff;
        --msg-text-gray: #b3b3b3;
        --msg-border-color: #222222;

        background-color: var(--msg-bg-color) !important;
        width: 100vw !important;
        position: relative !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        border-top: 2px solid var(--msg-primary-green);
        padding: 25px 0 15px 0 !important; /* Height Reduced */
        overflow-x: hidden;
    }

    .msg-footer-container {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        box-sizing: border-box;
        color: var(--msg-text-white);
        width: 100%;
        padding: 0 20px !important;
    }

    .msg-footer-container *,
    .msg-footer-container *::before,
    .msg-footer-container *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    .msg-footer-inner {
        max-width: 1200px;
        margin: 0 auto;
    }

    .msg-footer-grid {
        display: grid;
        grid-template-columns: 1.2fr 1fr 0.8fr 1.2fr 1.2fr;
        gap: 25px;
        margin-bottom: 20px; /* Reduced gap */
        align-items: start;
    }

    .msg-brand-col .msg-truck-image-area {
        margin-bottom: 10px;
        border-radius: 4px;
        overflow: hidden;
        max-width: 160px; /* Compact image */
    }
    .msg-brand-col .msg-truck-image-area img {
        max-width: 100%;
        height: auto;
        display: block;
    }
    .msg-brand-col h2 {
        font-size: 17px;
        font-weight: 600;
        margin-bottom: 8px;
        line-height: 1.2;
        color: var(--msg-text-white);
    }
    .msg-brand-col h2 span {
        color: var(--msg-light-green);
    }
    .msg-brand-col p.msg-description {
        color: var(--msg-text-gray);
        font-size: 13px;
        line-height: 1.4;
        margin-bottom: 12px;
    }
    .msg-features-icons {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
        text-align: center;
    }
    .msg-feat-item i {
        color: var(--msg-light-green);
        font-size: 18px;
        margin-bottom: 4px;
    }
    .msg-feat-item p {
        font-size: 10px;
        color: var(--msg-text-white);
        line-height: 1.1;
    }

    .msg-links-col h3 {
        font-size: 15px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 15px; /* Reduced space */
        position: relative;
        display: inline-block;
        color: var(--msg-text-white) !important;
    }
    .msg-links-col h3::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -4px;
        width: 25px;
        height: 2px;
        background-color: var(--msg-light-green);
    }
    .msg-links-col ul {
        list-style: none;
    }
    .msg-links-col ul li {
        margin-bottom: 8px; /* Compact list spacing */
    }
    .msg-links-col ul li a {
        color: var(--msg-text-gray);
        text-decoration: none;
        font-size: 13px;
        transition: color 0.3s;
        display: flex;
        align-items: center;
    }
    .msg-links-col ul li a i {
        color: var(--msg-light-green);
        font-size: 9px;
        margin-right: 6px;
    }
    .msg-links-col ul li a:hover {
        color: var(--msg-light-green);
    }

    .msg-contact-col .msg-contact-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 10px; /* Reduced spacing */
        font-size: 13px;
        color: var(--msg-text-gray);
        line-height: 1.3;
    }
    .msg-contact-col .msg-contact-item i {
        color: var(--msg-light-green);
        margin-right: 10px;
        font-size: 14px;
        margin-top: 2px;
    }
    .msg-social-icons {
        display: flex;
        gap: 8px;
        margin-top: 12px;
    }
    .msg-social-icons a {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        text-decoration: none;
        font-size: 12px;
        flex-shrink: 0;
    }
    .msg-social-icons .msg-fb { background-color: #3b5998; }
    .msg-social-icons .msg-insta { background-color: #e1306c; }
    .msg-social-icons .msg-wa { background-color: #25d366; }
    .msg-social-icons .msg-yt { background-color: #FF0000; }

    /* Compact Help Card */
    .msg-help-card {
        background-color: var(--msg-card-bg);
        border: 1px solid #d4af37;
        border-radius: 8px;
        padding: 12px 15px;
        text-align: center;
        align-self: start;
    }
    .msg-help-card .msg-headset-icon {
        color: #d4af37;
        font-size: 20px;
        margin-bottom: 3px;
    }
    .msg-help-card h4 {
        font-size: 11px;
        color: #d4af37;
        letter-spacing: 0.5px;
        margin-bottom: 4px;
        font-weight: bold;
    }
    .msg-help-card h3 {
        font-size: 15px;
        font-weight: bold;
        color: var(--msg-text-white);
        margin-bottom: 8px;
        line-height: 1.2;
    }
    .msg-whatsapp-btn {
        background-color: #25d366;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 6px 10px;
        border-radius: 5px;
        text-decoration: none;
        font-weight: bold;
        font-size: 13px;
        margin-bottom: 10px;
    }
    .msg-whatsapp-btn span {
        display: block;
        font-size: 10px;
        font-weight: normal;
        text-align: left;
    }
    .msg-bullet-points {
        text-align: left;
        padding-left: 5px;
    }
    .msg-bullet-point {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        color: var(--msg-text-white);
        margin-bottom: 4px;
    }
    .msg-bullet-point i {
        color: #d4af37;
        font-size: 11px;
    }

    /* Compact Middle Features Box */
    .msg-middle-features-box {
        border: 1px solid #222;
        border-radius: 6px;
        padding: 10px 15px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        margin-bottom: 15px;
    }
    .msg-mid-feat-item {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .msg-mid-feat-item .msg-icon-wrapper {
        font-size: 24px;
        color: #d4af37;
        flex-shrink: 0;
    }
    .msg-mid-feat-item h4 {
        color: #d4af37;
        font-size: 12px;
        text-transform: uppercase;
        margin-bottom: 2px;
        letter-spacing: 0.5px;
    }
    .msg-mid-feat-item p {
        color: var(--msg-text-gray);
        font-size: 11px;
        line-height: 1.2;
    }

    /* Compact Bottom Bar */
    .msg-bottom-bar {
        border-top: 1px solid var(--msg-border-color);
        padding-top: 12px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 12px;
        color: var(--msg-text-gray);
    }
    .msg-bottom-bar .msg-center-text {
        color: var(--msg-light-green);
    }
    .msg-bottom-bar a {
        color: var(--msg-text-gray);
        text-decoration: none;
    }

    @media (max-width: 1024px) {
        .msg-footer-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 25px;
        }
        .msg-brand-col {
            grid-column: span 2;
        }
    }

    @media (max-width: 768px) {
        .msg-footer-wrapper {
            padding: 20px 0 40px 0 !important;
        }
        .msg-footer-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }
        .msg-brand-col {
            grid-column: span 1;
        }
        .msg-features-icons {
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }
        .msg-bottom-bar {
            flex-direction: column;
            text-align: center;
            gap: 10px;
        }
        .msg-middle-features-box {
            display: grid !important;
            grid-template-columns: repeat(3, 1fr) !important;
            gap: 8px !important;
            padding: 10px 5px !important;
        }
        .msg-mid-feat-item {
            flex-direction: column !important;
            text-align: center !important;
            gap: 4px !important;
        }
        .msg-mid-feat-item .msg-icon-wrapper {
            font-size: 18px !important;
        }
        .msg-mid-feat-item h4 {
            font-size: 9px !important;
            line-height: 1.1;
        }
        .msg-mid-feat-item p {
            font-size: 8px !important;
            line-height: 1.1;
        }
    }


    .msg-sticky-cta-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        background-color: #0a0a0a;
        border-top: 2px solid #4CAF50;
        display: flex;
        z-index: 999999;
        box-shadow: 0 -4px 15px rgba(0,0,0,0.5);
    }
    .msg-sticky-cta-bar a {
        flex: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 6px 4px;
        text-decoration: none;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        font-size: 11px;
        font-weight: 600;
        color: #ffffff;
        border-right: 1px solid rgba(255,255,255,0.08);
        transition: background-color 0.2s;
    }
    .msg-sticky-cta-bar a:last-child {
        border-right: none;
    }
    .msg-sticky-cta-bar a i {
        font-size: 14px;
    }
    .msg-sticky-cta-bar .msg-sticky-call {
        background-color: #1a1a1a;
    }
    .msg-sticky-cta-bar .msg-sticky-call i {
        color: #8BC34A;
    }
    .msg-sticky-cta-bar .msg-sticky-call:active {
        background-color: #222222;
    }
    .msg-sticky-cta-bar .msg-sticky-whatsapp {
        background-color: #25d366;
    }
    .msg-sticky-cta-bar .msg-sticky-whatsapp:active {
        background-color: #1fb955;
    }
    .msg-sticky-cta-bar .msg-sticky-quote {
        background-color: #d4af37;
        color: #0a0a0a;
    }
    .msg-sticky-cta-bar .msg-sticky-quote i {
        color: #0a0a0a;
    }
    .msg-sticky-cta-bar .msg-sticky-quote:active {
        background-color: #c19d2e;
    }


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="number"],
input[type="password"],
textarea {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus {
    outline: none;
    border-color: #4CAF50 !important;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.16);
}


/* =========================================================
   CONTACT / GET-A-QUOTE FORM — PROFESSIONAL REDESIGN
========================================================= */

.moving-quote-form .quote-heading {
    margin: 0 0 26px 0 !important;
}
.moving-quote-form .quote-heading h2 {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: #0a1128 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
}
.moving-quote-form .quote-heading p {
    color: #6b7280 !important;
    font-size: 0.95rem !important;
    margin: 0 !important;
}

.moving-quote-form .quote-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 22px !important;
}
.moving-quote-form .form-field.full-width {
    grid-column: 1 / -1 !important;
}
.moving-quote-form .form-submit {
    grid-column: 1 / -1 !important;
    margin-top: 8px !important;
}
.moving-quote-form .form-field p {
    margin: 0 !important;
}

.moving-quote-form label {
    display: block !important;
    font-weight: 650 !important;
    font-size: 13.5px !important;
    color: #374151 !important;
    margin: 0 0 8px 0 !important;
}

.moving-quote-form .wpcf7-form-control-wrap {
    display: block !important;
}

.moving-quote-form input.wpcf7-form-control,
.moving-quote-form select.wpcf7-form-control,
.moving-quote-form textarea.wpcf7-form-control {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 16px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    font-size: 14.5px !important;
    background-color: #fbfcfb !important;
    color: #1f2937 !important;
    margin: 0 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease !important;
}
.moving-quote-form input.wpcf7-form-control {
    height: 48px !important;
}
.moving-quote-form select.wpcf7-form-control {
    height: 48px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}
.moving-quote-form textarea.wpcf7-form-control {
    height: 130px !important;
    min-height: 130px !important;
    padding-top: 12px !important;
    resize: vertical !important;
}

.moving-quote-form input.wpcf7-form-control:hover,
.moving-quote-form select.wpcf7-form-control:hover,
.moving-quote-form textarea.wpcf7-form-control:hover {
    border-color: #c7d0c8 !important;
}
.moving-quote-form input.wpcf7-form-control:focus,
.moving-quote-form select.wpcf7-form-control:focus,
.moving-quote-form textarea.wpcf7-form-control:focus {
    border-color: #4CAF50 !important;
    outline: none !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.14) !important;
}

.moving-quote-form .form-submit input[type="submit"] {
    width: 100% !important;
    height: 54px !important;
    background: linear-gradient(135deg, #4CAF50, #43a047) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(76, 175, 80, 0.3) !important;
    transition: transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}
.moving-quote-form .form-submit input[type="submit"]:hover {
    background: linear-gradient(135deg, #45a049, #3d9440) !important;
    box-shadow: 0 10px 24px rgba(76, 175, 80, 0.38) !important;
    transform: translateY(-1px) !important;
}

.moving-quote-form .quote-benefits {
    margin-top: 22px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 12px !important;
}
.moving-quote-form .quote-benefits p {
    display: contents !important;
}
.moving-quote-form .quote-benefits br {
    display: none !important;
}
.moving-quote-form .quote-benefits span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    color: #166534 !important;
    background: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
}

@media (max-width: 768px) {
    .moving-quote-form .quote-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   TRACK BOOKING PAGE — PROFESSIONAL REDESIGN
   Unifies the many independently-built widgets on this page
   (search box, result card, progress card, lorry/driver
   cards, route card, moving-details card, trust row) into
   one consistent card system: same radius, shadow, border,
   spacing rhythm and accent color throughout.
========================================================= */

.moving-customer-tracking {
    background: #f6f8f9 !important;
    padding: 44px 20px 56px !important;
}

/* Shared card look */
.tracking-search-box,
.booking-card,
.card,
.route-card,
.moving-card-container > .moving-details-left,
.contact-box-right,
.why-choose-wrapper {
    border-radius: 16px !important;
    border: 1px solid #e8ece8 !important;
    box-shadow: 0 4px 20px rgba(10, 20, 32, 0.05) !important;
}

.tracking-search-box {
    max-width: 1100px !important;
    padding: 32px !important;
    margin: 0 auto 24px !important;
}
.tracking-search-box h2 {
    font-size: 1.4rem !important;
    color: #0a1128 !important;
}

.tracking-input-row #moving-tracking-id {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.tracking-input-row #moving-tracking-id:focus {
    outline: none !important;
    border-color: #4CAF50 !important;
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.14) !important;
}

#moving-track-button {
    background: linear-gradient(135deg, #4CAF50, #43a047) !important;
    border-radius: 10px !important;
    padding: 14px 28px !important;
    box-shadow: 0 6px 16px rgba(76, 175, 80, 0.3) !important;
    transition: transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}
#moving-track-button:hover {
    background: linear-gradient(135deg, #45a049, #3d9440) !important;
    box-shadow: 0 10px 22px rgba(76, 175, 80, 0.38) !important;
    transform: translateY(-1px) !important;
}

.moving-tracking-result {
    max-width: 1100px !important;
    margin: 0 auto 24px !important;
}

.booking-card {
    max-width: 1100px !important;
    margin: 0 auto 24px !important;
    border-radius: 16px !important;
}

.card,
.route-card,
.moving-card-container > .moving-details-left,
.contact-box-right,
.why-choose-wrapper {
    padding: 26px 28px !important;
}

.why-choose-wrapper {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* Several widgets on this page were each built independently and
   fill whatever full-width wrapper they happen to sit in, so their
   visible width drifted out of sync with the rest of the page
   (search box / result card / booking-card are all 1100px).
   Constrain and center them all to the same 1100px measure. */
.wrapper,
.route-card,
.moving-card-container {
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.route-wrapper,
.moving-section-wrapper {
    background: transparent !important;
    padding: 0 20px 24px !important;
    flex-direction: column !important;
}

/* Consistent vertical rhythm between the stacked sections */
.route-wrapper { margin-bottom: 0 !important; }
.wrapper { margin-top: 24px !important; margin-bottom: 24px !important; }


/* =========================================================
   TRACK BOOKING PAGE — TRUST & SECURITY ELEMENTS
========================================================= */

.tracking-trust-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px dashed #e5e9ea !important;
}
.tracking-trust-strip span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    color: #3d6b3f !important;
}
.tracking-trust-strip svg {
    color: #4CAF50 !important;
    flex-shrink: 0 !important;
}

.route-section-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    max-width: 1100px !important;
    margin: 0 auto 14px !important;
}
.route-eyebrow {
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    color: #0a1128 !important;
}
.route-verified-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    color: #15803d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
}
.route-verified-badge svg {
    flex-shrink: 0 !important;
}

.route-security-note {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: 1100px !important;
    margin: 14px auto 0 !important;
    padding: 12px 18px !important;
    background: #f6f8f9 !important;
    border: 1px solid #edf1ee !important;
    border-radius: 10px !important;
    color: #64748b !important;
    font-size: 12.5px !important;
    font-weight: 550 !important;
}
.route-security-note svg {
    color: #4CAF50 !important;
    flex-shrink: 0 !important;
}

@media (max-width: 620px) {
    .route-section-header,
    .route-security-note {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .route-security-note { margin-left: 20px !important; margin-right: 20px !important; max-width: calc(100% - 40px) !important; }
    .route-section-header { max-width: calc(100% - 40px) !important; margin-left: 20px !important; margin-right: 20px !important; }
}


/* =========================================================
   GLOBAL DESIGN SYSTEM — PROFESSIONAL / TRUSTWORTHY REDESIGN
   =========================================================
   CSS-only visual refresh layered on top of the existing
   Astra/Elementor markup. No HTML structure, JS behavior, or
   CTA links/labels are touched anywhere by this section —
   every button, form and interaction keeps working exactly
   as before. Consolidates the site's real brand colors
   (gold #d4af37, olive-green #91ad00, near-black) — which
   were previously scattered across ~7 slightly different
   shades — into one consistent, disciplined token set, and
   adds real typography in place of default system fonts.
========================================================= */

:root {
    --brand-ink: #14161d;
    --brand-ink-soft: #2a2d38;
    --brand-green: #91ad00;
    --brand-green-light: #b9d34a;
    --brand-green-dark: #5c7000;
    --brand-gold: #d4af37;
    --brand-gold-dark: #b8952c;
    --brand-muted: #64748b;
    --brand-border: #e6e9ec;
    --brand-paper: #ffffff;
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 22px;
    --shadow-sm: 0 1px 3px rgba(20,22,29,0.07);
    --shadow-md: 0 10px 30px rgba(20,22,29,0.10);
    --shadow-lg: 0 24px 60px rgba(20,22,29,0.20);
}

/* ---- Typography ---- */
body, p, li, span, input, textarea, select, button,
.elementor-widget-text-editor, .wpcf7-form-control {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .site-title,
.elementor-heading-title,
.moving-title, .booking-header, .contact-title {
    font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
}
/* Note: color is deliberately left alone above — headings appear on both
   light and dark sections throughout the site (dark hero banners, the
   near-black footer, light content areas) and each already sets its own
   correct color for its background. A single forced color here would
   make white-on-dark headings invisible. */
::selection { background: var(--brand-green); color: #ffffff; }
:focus-visible { outline: 2px solid var(--brand-green) !important; outline-offset: 2px !important; }

/* ---- Header ----
   Clean white bar (the corporate-trust pattern most B2B/service sites
   use) instead of a colored one — dark ink text, a single green accent
   for hover/active states, and one clear primary CTA. The visible bar
   is .ast-primary-header-bar (an inner element, not #masthead itself);
   theme-global.css otherwise paints it navy via Astra's customizer
   export. */
#masthead {
    position: relative;
    z-index: 50;
}
.ast-primary-header-bar {
    background-color: #ffffff !important;
    box-shadow: 0 1px 2px rgba(20,22,29,0.24), 0 2px 6px 2px rgba(20,22,29,0.12) !important;
}
/* The <ul> itself (not just the bar around it) also gets a navy
   background straight from theme-global.css's customizer export —
   has to be cleared separately. */
#ast-hf-menu-1 {
    background: transparent !important;
}
/* Scoped to #ast-hf-menu-1 (the desktop nav's own ID) rather than the
   shared .main-header-menu class — the mobile dropdown menu reuses that
   same class but is a separate white-background overlay with its own
   (already-fine) default styling, left untouched. */
#ast-hf-menu-1 > li > a.menu-link {
    font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.01em !important;
    color: var(--brand-ink) !important;
    transition: color 0.15s ease;
}
#ast-hf-menu-1 > li > a.menu-link:hover {
    color: var(--brand-green-dark) !important;
}
#ast-hf-menu-1 > li.current-menu-item > a.menu-link {
    color: var(--brand-green-dark) !important;
    position: relative;
}
#ast-hf-menu-1 > li.current-menu-item > a.menu-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
    height: 2px;
    background: var(--brand-green);
    border-radius: 2px;
}

/* ---- "Service" dropdown — Material menu surface ----
   Astra's compiled CSS gives the submenu a 1px RED divider
   (border-color: #c90a0a) between every item and no shadow/radius at
   all, so it opens as a flat white box with red hairlines. Rebuilt as
   a proper elevated Material menu: card-like elevation, rounded
   corners, a soft green hover state layer per item instead of a color
   change, and a small fade/rise entrance. Astra's own hover/focus
   trigger (a `left` position swap from off-canvas) is left completely
   untouched — this only layers opacity/transform on top of it. */
#ast-hf-menu-1 .sub-menu {
    width: 270px !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 4px 8px 3px rgba(20,22,29,0.14), 0 1px 3px rgba(20,22,29,0.22) !important;
    padding: 8px !important;
    margin-top: 12px !important;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.16s ease, transform 0.16s ease;
}
#ast-hf-menu-1 .menu-item.focus > .sub-menu,
#ast-hf-menu-1 .menu-item:hover > .sub-menu {
    opacity: 1;
    transform: translateY(0);
}
#ast-hf-menu-1 .sub-menu .menu-item > a.menu-link {
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 12px 14px !important;
    margin: 2px 0 !important;
    color: var(--brand-ink) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    transition: background-color 0.12s ease, color 0.12s ease !important;
}
#ast-hf-menu-1 .sub-menu .menu-item > a.menu-link:hover {
    background: rgba(145,173,0,0.12) !important;
    color: var(--brand-green-dark) !important;
}
.main-navigation ul ul {
    background: #ffffff !important;
}
.main-navigation ul ul li a.menu-link {
    color: var(--brand-ink) !important;
}

/* Track Booking nav item — was a hardcoded `background: red` solid
   block. Restyled as a quiet secondary/outline pill rather than a
   second solid color competing with the header's one primary CTA
   ("Book a Free Site Visit") — a page can only have one loudest button
   and still read as deliberate. Same selector/specificity, later in
   cascade, so this wins; layout/sizing untouched, only the color. */
#menu-item-8444 > a.menu-link,
#menu-item-8444 > a.menu-link:hover,
#menu-item-8444 > a.menu-link:focus,
#menu-item-8444 > a.menu-link:active {
    background: #ffffff !important;
    color: var(--brand-green-dark) !important;
    border: 1.5px solid var(--brand-green) !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

/* Header CTA ("Book a Free Site Visit") — Astra renders both an outer
   <a class="ast-custom-button-link"> and an inner <div
   class="ast-custom-button"> that independently paints its own
   background/padding from the theme's blue accent color. Styling only
   the outer link left the inner div's blue showing through as a ring;
   the inner div is the one that needs the brand color. The outer link
   is reset to a plain transparent wrapper. Also hides the plain-text
   duplicate link Astra renders right beside it (same href, unstyled). */
.ast-header-button-1 .ast-custom-button-link {
    display: inline-flex !important;
    align-items: center !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 999px !important;
    box-shadow: var(--shadow-sm) !important;
    transition: box-shadow 0.15s ease, transform 0.15s ease !important;
}
.ast-header-button-1 .ast-custom-button-link:hover {
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}
.ast-header-button-1 .ast-custom-button {
    background: var(--brand-green) !important;
    border-color: var(--brand-green) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 10px 20px !important;
}
.ast-builder-button-wrap .ast-custom-button-link + a.menu-link {
    display: none !important;
}

/* Sign In / account pill — was designed for a dark header (white text
   on a translucent-white chip); on the new white header that would be
   invisible, so it's now a light neutral chip with dark text. */
.account-nav-link {
    color: var(--brand-ink) !important;
    background: #f1f3f0 !important;
}
.account-nav-link:hover {
    background: #e4e8e0 !important;
}

/* ---- Global buttons / CTAs (labels & links unchanged — styling only) ---- */
.wpcf7-submit,
input[type="submit"],
button[type="submit"] {
    background: var(--brand-green) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
    padding: 14px 32px !important;
    box-shadow: var(--shadow-sm) !important;
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}
.wpcf7-submit:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background: var(--brand-green-dark) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.msg-whatsapp-btn {
    background-color: #10b981 !important;
}
.msg-sticky-cta-bar .msg-sticky-call {
    background-color: var(--brand-ink) !important;
}
.msg-sticky-cta-bar .msg-sticky-quote {
    background-color: var(--brand-green) !important;
    color: #ffffff !important;
}
.msg-sticky-cta-bar .msg-sticky-quote i {
    color: #ffffff !important;
}
.msg-sticky-cta-bar .msg-sticky-quote:active {
    background-color: var(--brand-green-dark) !important;
}

/* ---- Footer polish (guarded with !important so it wins over the
   identical footer CSS block still duplicated inline on several
   older pages — same values, kept in sync intentionally). One accent
   color (green) throughout rather than mixing gold and green, so the
   footer reads as one deliberate palette instead of several. ---- */
.msg-footer-wrapper {
    /* Unify with the same dark tone used elsewhere (header, hero
       overlays) instead of a separate pure-black (#0a0a0a); these
       custom properties feed every color/background rule below via
       var(), so overriding them here re-themes the whole footer from
       one place. !important beats the identical (non-important)
       declaration still duplicated inline on several older pages. */
    --msg-bg-color: var(--brand-ink) !important;
    --msg-card-bg: var(--brand-ink-soft) !important;
    --msg-primary-green: var(--brand-green) !important;
    --msg-light-green: var(--brand-green-light) !important;
    /* A solid full-width colored stripe read more "template" than
       premium — a barely-there hairline still marks the section break
       without shouting. The near-black surface itself does most of
       the work of separating it from the light content above. */
    border-top: 1px solid rgba(255,255,255,0.08) !important;
}
.msg-help-card {
    border-color: rgba(145,173,0,0.35) !important;
    background-color: var(--brand-ink-soft) !important;
}
.msg-help-card h4,
.msg-headset-icon {
    color: var(--brand-green-light) !important;
}
.msg-social-icons a {
    transition: transform 0.15s ease, opacity 0.15s ease;
}
.msg-social-icons a:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

/* Icon "badges" — a flat colored glyph floating on a dark background
   reads flatter/cheaper than the same icon in a soft tinted circle,
   which is the treatment already used successfully elsewhere on the
   site (the "5.0 Google Rating / Fully Insured / ..." row). Applied
   here for consistency. */
.msg-feat-item i,
.msg-mid-feat-item .msg-icon-wrapper {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: var(--brand-green-light) !important;
    background: rgba(145,173,0,0.14);
    border-radius: 999px;
}
.msg-feat-item i {
    width: 34px;
    height: 34px;
    font-size: 15px !important;
}
.msg-mid-feat-item .msg-icon-wrapper {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
}
.msg-bottom-bar .msg-center-text {
    color: var(--brand-green-light) !important;
}

/* Footer typography — column headings get a Material "label" treatment
   (small, bold, wide tracking, uppercase) instead of reading like body
   text; links get the same professional body font and a bit more
   breathing room and a clear hover state instead of just color. */
.msg-links-col h3,
.msg-contact-col h3,
.msg-brand-col h2 {
    font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
}
.msg-links-col h3,
.msg-contact-col h3 {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    /* Color deliberately left as the original white (set elsewhere,
       !important) — a white heading with a small green accent
       underline reads calmer/more corporate than a fully green one. */
}
.msg-links-col ul li a {
    display: inline-block;
    padding: 3px 0;
    transition: color 0.15s ease, transform 0.15s ease;
}
.msg-links-col ul li a:hover {
    color: var(--brand-green-light) !important;
    transform: translateX(2px);
}
.msg-mid-feat-item h4 {
    font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
    letter-spacing: 0.02em !important;
}
