/* Custom Font Implementation and Base Styling */
body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background-color: #f8f9fa;
    color: #002244;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

/* Hero Section Background */
.hero-section {
    background-color: #ebeff2; /* Light grey/blue background from image */
    min-height: auto;
    width: 100%;
}

/* Typography Styling */
.main-heading {
    font-size: 3.2rem;
    font-weight: 700;
    color: #002b5c; /* Dark navy color */
    line-height: 1.1;
}

.sub-heading {
    font-size: 2.5rem;
    font-weight: 700;
    color: #002b5c;
    line-height: 1.15;
}

.description-text {
    font-size: 1.2rem;
    color: #002b5c;
    font-weight: 400;
}

/* Phone Elements */
.phone-icon-circle {
    background-color: #e40000; /* Bright red color */
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.call-text {
    font-size: 0.8rem;
    color: #002b5c;
    font-weight: 500;
    margin-bottom: -2px;
}

.phone-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: #002b5c;
}

/* Get a Quote Button Custom Design */
.btn-red, .btn-red:hover {
    background: #E10006;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600;
    padding-left: 5px;
    padding-right: 20px;
    display: flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
}

.quote-btn .icon-wrap,
.quote-btn .text-wrap {
    display: inline-flex;
    font-size:14px;
    align-items: center;
    transition: transform 1s ease;
}

.arrow-img {
    width: 37px;
    background: #001F3F;
    border-radius: 5px;
    margin-right: 5px;
}

/* Hover animation */
.quote-btn:hover .icon-wrap {
    transform: translateX(125px);
}

.quote-btn:hover .arrow-img {
    background: #E10006;
}

.quote-btn:hover{
    background: #001F3F;
}

.quote-btn:hover .text-wrap {
    transform: translateX(-36px);
}

/* Features List Styling */
.features-container {
    font-size: 1.15rem;
    font-weight: 500;
}

.feature-item {
    color: #e40000; /* Red color for features text */
}

.check-icon {
    color: #333333; /* Dark/Black tick marks */
    font-weight: 900;
    margin-right: 4px;
}

/* Custom gap handling for feature inline layout */
.gap-x-4 {
    column-gap: 1.5rem;
}
.gap-y-2 {
    row-gap: 0.5rem;
}

/* Responsive Breakpoints for Tablet & Mobile */
@media (max-width: 991.98px) {
    .main-heading {
        font-size: 2.5rem;
    }
    .sub-heading {
        font-size: 2rem;
    }
}

@media (max-width: 575.98px) {
    .main-heading {
        font-size: 2.2rem;
        br { display: none; } /* Remove break on small screens */
    }
    .sub-heading {
        font-size: 1.7rem;
        br { display: none; }
    }
    .phone-number {
        font-size: 1.3rem;
    }
    .features-container {
        font-size: 1rem;
        flex-direction: column;
        align-items: flex-start !important;
    }
}

/* --- Features Gradient Section Styling --- */

.features-gradient-section {
    width: 100%;
}

/* Gradient Card Container */
.gradient-card {
    /* Exact Red to Dark Blue Gradient matching the image */
    background: linear-gradient(to right, #cf3136 0%, #683049 45%, #182e4e 100%);
    border-radius: 24px; /* Smooth rounded corners as seen in image */
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

/* Main Heading Styling */
.section-title {
    font-size: 2.1rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.5px;
}

.section-title strong {
    font-weight: 700;
    color: #ffffff;
}

/* Feature Headings */
.feature-heading {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
}

/* Feature Descriptions */
.feature-desc {
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
    margin-bottom: 0;
}

/* Desktop Vertical Dividers using Bootstrap Grid & CSS Pseudo-elements */
@media (min-width: 768px) {
    .feature-row {
        display: flex;
    }
    
    /* Creating thin vertical borders between columns */
    .feature-col {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        position: relative;
    }
    
    .feature-col:not(:last-child)::after {
        content: "";
        position: absolute;
        right: 0;
        top: 10%;
        height: 80%;
        width: 1px;
        background-color: rgba(255, 255, 255, 0.25); /* Subtle white border */
    }
    
    /* Adjusting outer paddings to match alignment */
    .feature-row .col-md-4:first-child {
        padding-left: 1rem;
    }
    .feature-row .col-md-4:last-child {
        padding-right: 1rem;
    }
}

/* Responsive Mobile Layout Fixes */
@media (max-width: 767.98px) {
    .gradient-card {
        border-radius: 16px;
        padding: 2rem 1.5rem !important;
    }
    
    .section-title {
        font-size: 1.6rem;
        margin-bottom: 2rem !important;
    }
    
    .feature-heading {
        font-size: 1.4rem;
    }
    
    /* Horizontal divider for mobile stack view */
    .feature-col:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        padding-bottom: 1.5rem;
    }
}

/* --- Trusted Movers Map Section Styling --- */

.trusted-movers-section {
    background-color: #ebeff2; /* Section wrapper background matches the overall site theme */
    width: 100%;
}

/* Headings & Text */
.movers-heading {
    font-size: 2.2rem;
    font-weight: 700;
    color: #002b5c; /* Primary dark navy color */
    letter-spacing: -0.5px;
}

.movers-body-text {
    font-size: 1.1rem;
    line-height: 1.45;
    color: #002b5c;
    font-weight: 400;
}

.movers-highlight-text {
    font-size: 1.1rem;
    line-height: 1.45;
    color: #e40000; /* Distinct red highlight text */
    font-weight: 500;
}

/* Get Quote Custom Inline Button */
.inline-quote-btn {
    background-color: #e40000;
    color: #ffffff;
    border-radius: 4px;
    overflow: hidden;
    height: 40px;
    width: 100%;
    max-width: 380px; /* Limits the stretch wide matching the image scale */
    transition: background-color 0.2s ease;
}

.inline-quote-btn:hover {
    background-color: #cc0000;
    color: #ffffff;
}

.inline-btn-block {
    background-color: #001f3f; /* Small square dark block on the left edge */
    width: 35px;
    height: 100%;
    flex-shrink: 0;
}

.inline-btn-text {
    width: 100%;
    text-align: center;
    font-weight: 500;
    font-size: 0.95rem;
    padding-right: 35px; /* Centers text visually considering the left block */
}

/* Map Image Wrapper */
.map-wrapper {
    width: 100%;
    height: 320px; /* Fixed height matching visual ratio */
    border-radius: 4px;
    overflow: hidden;
    background-color: #e5e3df;
}

.map-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive Fixes for Small Screens */
@media (max-width: 767.98px) {
    .movers-heading {
        font-size: 1.8rem;
    }
    
    .movers-body-text, 
    .movers-highlight-text {
        font-size: 1rem;
    }
    
    .inline-quote-btn {
        max-width: 100%; /* Spans full width gracefully on smartphones */
    }
    
    .map-wrapper {
        height: 240px; /* Reduced height on smaller screens for compactness */
    }
}

/* --- Why Choose Us Dark Section Styling --- */

.why-choose-us-section {
    background-color: #001c3d; /* Exact dark navy blue background from image */
    color: #ffffff;
    width: 100%;
}

/* Main Section Title */
.dark-section-title {
    font-size: 2.3rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.5px;
}

/* Feature Title */
.dark-feature-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
}

/* Feature Description (Muted White/Grayish) */
.dark-feature-desc {
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.55); /* Lighter opacity text matching the image */
    font-weight: 400;
}

/* Custom Red Badge/Ribbon Icon Implementation */
.badge-icon-wrapper {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    margin-top: 3px;
}

.badge-icon {
    color: #df0000; /* Distinct red color for the badge */
    font-size: 1.4rem;
}

.check-overlay {
    position: absolute;
    color: #001c3d; /* Background color cutout effect for the checkmark */
    font-size: 0.65rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 900;
}

/* Responsive Scaling for Tablets and Mobile devices */
@media (max-width: 991.98px) {
    .dark-section-title {
        font-size: 1.9rem;
    }
}

@media (max-width: 767.98px) {
    .dark-section-title {
        font-size: 1.6rem;
        text-align: left !important; /* Left aligned on mobile for better readability */
    }
    
    .dark-feature-title {
        font-size: 1.15rem;
    }
    
    .why-choose-us-section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* --- Services Cards Section Styling --- */

.services-section {
    background-color: #ffffff; /* Clean white or soft wrapper background */
    width: 100%;
}

/* Main Section Title */
.services-main-title {
    font-size: 2.3rem;
    font-weight: 700;
    color: #002b5c; /* Navy blue color */
    letter-spacing: -0.5px;
}

/* Custom Card Wrapper */
.service-card {
    background-color: #ebeff2; /* Exact soft grayish-blue background of the card body from image */
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

/* Top Image Rounding & Proportions */
.card-img-wrapper {
    width: 100%;
    height: 220px; /* Fixed proportional height */
    overflow: hidden;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Card Body Content Padding */
.service-card-body {
    padding: 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Card Typography */
.service-card-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #002b5c;
}

.service-card-text {
    font-size: 0.95rem;
    color: #556c83; /* Subtle muted slate-gray color for summary description */
    line-height: 1.5;
    font-weight: 400;
}

/* Red Button: Online Estimate */
.btn-online-estimate {
    background-color: #e40000;
    color: #ffffff !important;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 10px 30px;
    border-radius: 20px; /* Fully rounded pill shape matching the image */
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s ease;
}

.btn-online-estimate:hover {
    background-color: #cc0000;
}

.btn-online-estimate i {
    font-size: 0.8rem;
    font-weight: 900;
}

/* Text Link: Read More */
.link-read-more {
    color: #002b5c !important;
    font-size: 0.9rem;
    font-weight: 700;
    transition: opacity 0.2s ease;
}

.link-read-more:hover {
    opacity: 0.8;
}

/* Mobile & Tablet Optimizations */
@media (max-width: 991.98px) {
    .services-main-title {
        font-size: 1.9rem;
    }
}

@media (max-width: 575.98px) {
    .services-main-title {
        font-size: 1.6rem;
        text-align: left !important;
    }
    
    .service-card-body {
        padding: 1.5rem 1.2rem;
    }
    
    .card-img-wrapper {
        height: 180px;
    }
}

/* --- Testimonials & Ratings Section Styling --- */

.testimonials-section {
    background-color: #ebeff2; /* Exact light grayish background from image */
    width: 100%;
}

/* Section Heading */
.testimonials-main-title {
    font-size: 2.15rem;
    font-weight: 700;
    color: #002b5c;
    line-height: 1.25;
    max-width: 900px;
}

/* User Review Cards Layout */
.testimonial-card {
    background-color: #ffffff;
    border-radius: 16px; /* Smooth rounded corners */
    padding: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.015);
}

.user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.user-name {
    font-size: 1.15rem;
    font-weight: 700;
    color: #002b5c;
}

.user-meta-sub {
    font-size: 0.85rem;
    color: #7d93a8;
}

.user-meta-sub i {
    font-size: 0.8rem;
}

.loc-divider {
    width: 1px;
    height: 12px;
    background-color: #ccd6dd;
}

.card-divider {
    border-top: 1px solid #edf2f6;
    opacity: 1;
}

/* Star Ratings Styling */
.stars-row {
    color: #ffb400; /* Star Golden/Orange color */
    font-size: 1.05rem;
    letter-spacing: 1px;
}

/* Review Headings & Descriptions */
.review-heading {
    font-size: 1.15rem;
    font-weight: 700;
    color: #002b5c;
    line-height: 1.3;
}

.review-text {
    font-size: 12px;
    color: #556c83; /* Subtle body paragraph look */
    line-height: 1.6;
    font-weight: 400;
}

/* --- Bottom Platform Badges Grid --- */
.platform-title {
    font-size: 1rem;
    font-weight: 700;
    color: #002b5c;
}

.platform-icon {
    font-size: 2.5rem;
    flex-shrink: 0;
}

/* Brands Specific Colors */
.fb-color { color: #1877f2; }
.google-color { color: #ea4335; }
.product-color { color: #5cb85c; } /* Green comment icon styling */

.platform-meta {
    font-size: 0.9rem;
    color: #002b5c;
}

.platform-stars {
    color: #ffb400;
    font-size: 0.75rem;
}

.badge-label {
    font-size: 0.85rem;
    color: #002b5c;
    font-weight: 500;
}

.reviews-count-text {
    font-size: 0.78rem;
    color: #7d93a8;
    display: block;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 991.98px) {
    .testimonials-main-title {
        font-size: 1.8rem;
    }
}

@media (max-width: 575.98px) {
    .testimonials-main-title {
        font-size: 1.5rem;
        text-align: left !important;
    }
    .testimonial-card {
        padding: 1.5rem;
    }
}

/* --- Lead Capture Form Section Styling --- */

.lead-form-section {
    background-color: #001c3d; /* Exact deep navy blue theme matches previous dark blocks */
    color: #ffffff;
    width: 100%;
    overflow: hidden;
}

/* Form Top Headers */
.form-main-heading {
    font-size: 2.2rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.form-sub-heading {
    font-size: 1.1rem;
    color: #ffffff;
    font-weight: 500;
    opacity: 0.95;
}

/* Input Fields Design Rules */
.input-wrapper {
    position: relative;
}

.custom-input, 
.custom-textarea {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 0.95rem;
    color: #333333 !important;
    padding: 12px 16px;
    height: auto;
}

.custom-input {
    padding-right: 40px; /* Leave space for inline right-side icons */
    height: 48px;
}

.custom-input::placeholder,
.custom-textarea::placeholder {
    color: #9cb1c6; /* Muted slate placeholder color */
    font-weight: 400;
}

/* Inline Input Icon Positioning */
.input-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #ccd6dd; /* Light gray color for input inline symbols */
    font-size: 1rem;
    pointer-events: none;
}

/* Dropdown Select Adjustment */
.select-custom {
    color: #9cb1c6 !important;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ccd6dd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-size: 12px !important;
    background-position: right 16px center !important;
}

/* Submit Form Action Button Custom Element */
.form-submit-btn {
    background-color: #e40000;
    color: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    height: 48px;
    transition: background-color 0.2s ease;
    padding: 0;
}

.form-submit-btn:hover {
    background-color: #cc0000;
}

.submit-btn-block {
    background-color: #001229; /* Deep dark tone on left edge block */
    width: 42px;
    height: 100%;
    flex-shrink: 0;
}

.submit-btn-text {
    width: 100%;
    text-align: center;
    font-weight: 600;
    font-size: 1rem;
    padding-right: 42px; /* Balanced centering offset */
}

/* Right Content Column Styling */
.brand-info-title {
    font-size: 2.1rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.25;
}

.brand-info-desc {
    font-size: 1rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.75);
    font-weight: 400;
}

/* Truck Line Art Container & Soft Opacity Overlay Mask */
.truck-graphic-wrapper {
    width: 100%;
    max-width: 480px;
    opacity: 0.18; /* Muted ghost drawing outline visibility overlay */
    mix-blend-mode: screen;
}

.truck-line-art {
    width: 100%;
    height: auto;
    filter: brightness(0) invert(1); /* Converts a standard asset to clean white line illustration layers */
}

/* Responsive Fixes for Small Viewports */
@media (max-width: 991.98px) {
    .brand-info-title {
        font-size: 1.8rem;
    }
    .truck-graphic-wrapper {
        margin: 0 auto;
    }
}

@media (max-width: 575.98px) {
    .form-main-heading {
        font-size: 1.8rem;
    }
    .brand-info-title {
        font-size: 1.5rem;
    }
}
.contact-form-card{background: url(https://scottysthemovers.com.au/assets/images/contact-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    border: 1px solid #FFFFFF;
    border-radius: 20px;
    padding:30px;
}