/* ==========================================================================
   General Styles
   ========================================================================== */
body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 20px 0;
    font-family: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

p {
    color: #4D5B6A;
}

main {
    flex: 1 0 auto;
}

/* ==========================================================================
   Header Styles
   ========================================================================== */
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    z-index: 1000;
    padding: 10px 0;
    box-shadow: none;
    transition: box-shadow 0.3s ease;
    
}

header.scrolled {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.header-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-wrapper {
    display: flex;
    justify-content: flex-start;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo {
    width: 240px;
}

.hamburger-wrapper {
    display: flex;
    justify-content: flex-end;
}

.hamburger {
    display: none; /* Hidden by default on desktop */
    position: relative;
    width: 30px;
    height: 20px;
    background: none;
    border: none;
    cursor: pointer;
    appearance: none;
}

button.hamburger:focus,
button.hamburger:active {
    outline: none;
    box-shadow: none;
}

.hamburger span,
.hamburger span::before,
.hamburger span::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #4D5B6A;
    left: 0;
    transition: all 0.3s ease;
}

.hamburger span {
    top: 50%;
    transform: translateY(-50%);
}

.hamburger span::before {
    top: -8px;
}

.hamburger span::after {
    top: 8px;
}

.hamburger.active span {
    background-color: transparent;
}

.hamburger.active span::before {
    top: 0;
    transform: rotate(45deg);
}

.hamburger.active span::after {
    top: 0;
    transform: rotate(-45deg);
}

/* Navigation */
nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 15px;
    align-items: center;
}

nav a {
    text-decoration: none;
    color: #4D5B6A;
    font-size: 0.9rem;
}

nav a:not(.book-button):hover {
    text-decoration: underline;
}

.book-button {
    background-color: #2877be;
    color: #fff;
    padding: 6px 18px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 550;
    display: inline-block;
}

.book-button:hover {
    background-color: #1E5B94;
}

.mobile-book-button {
    display: none; /* Hidden by default on desktop */
}

/* ==========================================================================
   Section Styles
   ========================================================================== */
/* Section Spacing */
.video-section {
    padding: 30px 0 40px;
    position: relative;
}

.pricing,
.breastfeeding-problems,
.quotes,
.content-section,
footer {
    padding: 30px 0;
}

/* Standardized Section Container */
.content-section {
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 50px; /* Prevents footer overlap */
}

/* Specific override for freecall.html */
.content-section.freecall-section {
    padding-bottom: 0; /* Remove bottom padding */
    margin-bottom: 0; /* Ensure no bottom margin */
}

/* Confirmation page content */
.content-section.confirmation-content {
    text-align: center; /* Center text and image */
    padding-top: 50px; /* Move content down */
}

/* Standardized Section Title */
.section-title {
    font-size: 1.6rem;
    color: #4D5B6A;
    margin-bottom: 50px;
    text-align: center;
    font-weight: 400;
}

/* Hero Section */
.hero {
    padding-top: 35px;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    background-color: #E8E8E8;
    overflow: hidden;
}

.hero-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    max-width: 1000px;
    margin: 0 auto;
}

.hero-text {
    max-width: 575px;
    min-width: 0;
    margin-bottom: 15px;
}

.hero-text h1 {
    font-size: 2rem;
    margin-bottom: 15px;
    color: #4D5B6A;
}

.hero-text p {
    font-size: 0.8rem;
    margin-bottom: 22px;
}

.hero-image img {
    width: 85%;
    height: auto; 
}

/* Video Section */
.video-section {
    max-width: 1100px;
    margin: 0 auto;
}

.video-section video {
    width: 100%;
    max-width: 1100px;
    height: auto;
    display: block;
}

.video-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 1100px;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.play-button::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 30px solid #fff;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    margin-left: 10px;
}

.play-button:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

/* Pricing Section */
.pricing-grid {
    display: flex; /* Match index page */
    flex-wrap: wrap; /* Allow wrapping */
    justify-content: center; /* Center items horizontally */
    gap: 35px; /* Consistent gap */
}

.pricing-item {
    text-align: center;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    width: 100%; /* Full width within flex constraints */
    max-width: 350px; /* Uniform max-width from index */
}

.pricing-item h3 {
    font-size: 1.4rem;
    color: #fff;
    background-color: #4D5B6A;
    margin: -20px -20px 0;
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
}

.pricing-item .description {
    font-size: 0.8rem;
    background-color: #f5f5f5;
    padding: 18px 20px;
    margin: 0 -20px;
    font-weight: 550;
}

.pricing-item .cost {
    font-size: 1.8rem;
    font-weight: bold;
}

.pricing-item .cost.paid {
    color: #4D5B6A;
}

.pricing-item p {
    font-size: 0.8rem;
    margin: 15px 0;
}

.pricing-item p.with-line {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 10px 0;
}

.pricing-item .book-button {
    margin-top: 10px;
}

.second-row-pricing {
    display: flex; /* Flexbox for second row */
    justify-content: center; /* Center the 2 items */
    gap: 20px; /* Match gap from first row */
    width: 100%; /* Full width to align with .pricing-grid */
    max-width: 1100px; /* Match content-section */
    margin: 20px 0 auto; /* Center within section */
}

/* Quotes Section */
.quotes {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.quotes h3 {
    font-size: 1.6rem;
    color: #4D5B6A;
    margin-bottom: 20px;
    text-align: center;
    grid-column: 1 / -1;
}

.quote-item {
    position: relative;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #dadce0;
    border-radius: 8px;
    text-align: left;
}

.quote-item p {
    margin: 0 0 1em;
    line-height: 1.5;
}

.quote-item p:last-child {
    margin-bottom: 0;
}

/* Review Styles (Shared by Quotes and Reviews) */
.review-header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.review-avatar {
    width: 40px;
    height: 40px;
    background-color: #ccc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #fff;
    margin-right: 10px;
    flex-shrink: 0;
}

.review-user {
    flex-grow: 1;
}

.review-username {
    font-weight: 500;
    color: #4D5B6A;
}

.review-meta {
    font-size: 0.8rem;
    color: #5f6368;
}

.review-stars {
    color: #fbbc04;
    font-size: 1rem;
    margin: 5px 0;
}

.review-text {
    line-height: 1.5;
    color: #4D5B6A;
}

.review-card {
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
}

.review-card:last-child {
    border-bottom: none;
}

.review-card.first-review {
    padding-top: 0;
}

.owner-response {
    background-color: #f5f5f5;
    padding: 15px;
    border-radius: 8px;
    margin-top: 10px;
}

.owner-response .review-text {
    color: #4D5B6A;
}

/* Contact Page Styles */
.contact-info {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr; /* Matches footer proportions */
    max-width: 1100px;
    margin: 40px auto;
    gap: 40px; /* Consistent horizontal spacing */
    padding: 20px; /* Uniform padding */
    align-items: flex-start; /* Align tops of each column */
}

.contact-column {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center items horizontally */
    text-align: center;
}

.contact-column.left img {
    width: 85px;
    height: auto;
    border-radius: 50%;
    margin: 0; /* No extra margins */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.contact-column.middle p,
.contact-column.right p {
    margin: 8px 0; /* Consistent vertical spacing */
    color: #4D5B6A; /* Matches site text color */
}

.contact-column.right .book-button {
    margin: 8px 0 0; /* Spacing above button */
}

/* Home Visits Steps Section */
.home-visits-steps {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px; /* Reduced gap since arrows are removed */
}

.step-content {
    background-color: #fff;
    padding: 20px;
    border-left: 6px solid #4D5B6A;
    border-radius: 0 0 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.step-content h4 {
    font-size: 1rem;
    color: #4D5B6A;
    margin-bottom: 10px;
    font-weight: 500;
}

.step-content p {
    line-height: 1.5;
    margin: 0;
}

/* Support Process Section */
.support-process {
    max-width: 1100px;
    margin: 0 auto;
}

.support-process h3 {
    font-size: 1.6rem;
    color: #4D5B6A;
    margin-bottom: 30px;
    text-align: center;
}

.timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
}

.timeline::before {
    content: '';
    position: absolute;
    top: 25px;
    height: calc(100% - 50px);
    left: 25px;
    width: 2px;
    background-color: #4D5B6A;
    z-index: 0;
}

.timeline-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    z-index: 1;
}

.timeline-step-number {
    width: 50px;
    height: 50px;
    background-color: #4D5B6A;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.timeline-step-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    margin-left: 20px;
    flex: 1;
}

.timeline-step-content h4 {
    font-size: 1rem;
    color: #4D5B6A;
    margin-bottom: 10px;
    font-weight: 500;
}

.timeline-step-content p {
    color: #666;
    line-height: 1.5;
    margin: 0;
}

/* Breastfeeding Problems Section */
.breastfeeding-problems {
    padding: 40px 0;
}

.breastfeeding-problems h3 {
    font-size: 1.6rem;
    color: #4D5B6A;
    margin-bottom: 30px;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.problems-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
    background-color: #E8E8E8;
    padding: 20px 20px 0;
    border-radius: 8px;
}

.problems-column {
    flex: 1;
    min-width: 0;
}

details {
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

summary {
    font-size: 0.9em;
    padding: 15px 20px;
    background-color: #fff;
    cursor: pointer;
    color: #4D5B6A !important;
    font-weight: 500;
}

summary:focus,
summary:active,
details[open] summary {
    color: #4D5B6A !important;
    outline: none;
}

details[open] > summary {
    margin-bottom: 0;
}

.accordion-content {
    padding: 20px;
    background-color: #fff;
}

.accordion-content p {
    margin: 0 0 10px;
}

.accordion-content ul {
    color: #4D5B6A;
    font-size: 0.9em;
    margin: 0 0 10px;
    padding-left: 20px;
    list-style-type: disc !important;
}

.accordion-content img {
    float: left;
    width: 85px;
    height: auto;
    margin-right: 20px;
    margin-bottom: 10px;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.accordion-content cite {
    font-style: italic;
    display: block;
    margin-bottom: 10px;
}

/* About Section */
.about-container {
    display: grid;
    grid-template-columns: 1fr 200px; /* Two columns: text (left), image (right) */
    gap: 40px; /* Gap between text and image */
    max-width: 1000px;
    margin: 0 auto;
    align-items: stretch; /* Ensure both columns stretch to match height */
}

.about-text {
    grid-column: 1 / 2; /* Text in first column (left) */
    grid-row: 1 / 2; /* Single row */
}

.profile-image {
    grid-column: 2 / 3; /* Image in second column (right) */
    grid-row: 1 / 2; /* Single row */
    width: 100%; /* Fill the column width */
    height: auto; /* Maintain aspect ratio */
    object-fit: cover; /* Ensure image fits without distortion */
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    opacity: 0.7;
    position: relative;
}

.profile-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(128, 128, 128, 0.2);
    border-radius: 8px;
    z-index: 1;
}

.about-text p {
    margin: 0 0 1em;
    line-height: 1.5;
}

.about-text p:last-child {
    margin-bottom: 0; /* Remove bottom margin from the last paragraph */
}

/* Confirmation Page Styles */
.confirmation-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center all content horizontally */
    padding: 50px 20px; /* Adequate padding around the section */
    min-height: calc(100vh - 68px - 200px); /* Full height minus header (~68px) and footer (~200px) */
}

.confirmation-image-wrapper {
    margin-bottom: 20px; /* Space between image and text */
}

.confirmation-image-wrapper img {
    width: 85px; /* Matches footer image size for consistency */
    height: auto;
    border-radius: 50%; /* Circular image like footer */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.confirmation-text {
    text-align: center; /* Center-align text */
}

.confirmation-text p {
    margin: 0 0 20px; /* 20px spacing between each <p> */
    color: #4D5B6A; /* Matches site’s text color */
    font-size: 1rem; /* Readable size */
}

.confirmation-text p:last-child {
    margin-bottom: 0; /* Remove bottom margin from last <p> */
}

/* Desktop-specific adjustments */
@media (min-width: 769px) {
    .about-container {
        grid-template-columns: 1fr 340px; /* Maintain two columns */
        grid-template-rows: auto; /* Single row */
        align-items: stretch; /* Stretch to match tallest item */
        gap: 60px;
    }

    .profile-image {
        width: 100%; /* Fixed width from grid column */
        height: auto; /* Maintain aspect ratio */
        object-fit: cover; /* Preserve aspect ratio */
    }
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .about-container {
        display: flex;
        flex-direction: column; /* Stack vertically: text above image */
        gap: 40px; /* Smaller gap for mobile */
        max-width: 100%;
    }

    .about-text {
        order: 1; /* Text first */
    }

    .profile-image {
        order: 2; /* Image second */
        width: 100%;
        height: auto; /* Maintain aspect ratio */
        object-fit: cover; /* Preserve aspect ratio */
        margin: 0 auto; /* Center image */
    }

    .about-page .about-container {
        margin-bottom: 50px; /* Maintain spacing before footer */
    }

    .about-text p {
        font-size: 1rem;
    }
}

/* Calendly Section */
.calendly-container {
    max-width: 1100px; /* Matches .content-section for consistency */
    margin: 0 auto;
}

.calendly-text {
    color: #4D5B6A;
    max-width: 800px; /* Reduced to match smaller Calendly width on desktop */
    margin: 0 auto 20px; /* Centers text and adds white gap */
}

.calendly-wrapper {
    position: relative;
    max-width: 800px; /* Reduced from 740px for smaller desktop display */
    margin: 0 auto;
}

#my-cal-inline {
    width: 100%;
}

.cal-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px; /* Reduced to avoid cutting off calendar */
    background-color: white;
    pointer-events: none;
}

/* Footer Styles */
.footer-columns {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr; /* Maintains proportional widths */
    max-width: 1100px;
    margin: 0 auto;
    gap: 40px; /* Consistent horizontal spacing */
    padding: 20px; /* Uniform padding around the grid */
    align-items: flex-start; /* Align all column contents to the top */
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center items horizontally within each column */
    text-align: center;
}

.footer-column.left img {
    width: 85px;
    height: auto;
    border-radius: 50%;
    margin: 0; /* Remove any default margins */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.footer-column.middle p,
.footer-column.right p {
    margin: 8px 0; /* Consistent vertical spacing between <p> elements */
}

.footer-column.right .book-button {
    margin: 8px 0 0; /* Consistent spacing above button */
}

footer {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    background-color: #f5f5f5;
    text-align: center;
    overflow: hidden;
    flex-shrink: 0;
}

/* ==========================================================================
   Media Queries (Mobile and Tablet Adjustments up to 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
    /* Header and Navigation */
    .hamburger {
        display: block; /* Show hamburger on tablets and mobile */
    }

    nav ul {
        display: none; /* Hide desktop nav on tablets and mobile */
        flex-direction: column;
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        padding-top: 30px;
        margin: 0;
        align-items: center;
        justify-content: flex-start;
        z-index: 999;
    }

    nav ul.active {
        display: flex;
        gap: 0;
    }

    nav li {
        margin: 0;
        font-weight: 500;
    }

    nav ul.active a {
        font-size: 1.6rem;
    }

    nav ul.active .book-button {
        font-size: 1.5rem;
    }

    .book-button {
        width: fit-content;
    }

    .mobile-book-button {
        display: block; /* Show mobile book button in menu */
    }

    nav ul.active .mobile-book-button a.book-button {
        margin-top: 5px;
    }

    .logo {
        width: 180px; /* Smaller logo for mobile/tablet */
    }

    .logo-wrapper,
    .hamburger-wrapper {
        width: 50%;
    }

    .logo-wrapper {
        justify-content: flex-start;
    }

    .hamburger-wrapper {
        justify-content: flex-end;
        margin-right: 5px;
    }

    /* Hero Section */
    .hero {
        padding: 60px 0 0;
        margin-top: -60px;
    }

    .hero-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0;
        padding: 0 20px;
    }

    .hero-text h1 {
        font-size: 1.5rem;
        margin: 5px 0 25px 0;
        color: #4D5B6A;
    }

    .hero-text {
        min-width: 0;
        margin-bottom: 0;
    }

    .hero-text p {
        font-size: 1rem;
        margin-bottom: 25px;
    }

    .hero-text h2 {
        font-size: 1.5rem;
        margin-bottom: 25px;
    }

    .hero-image {
        order: 3;
        margin-left: 0px;
        margin-top: 30px;
    }

    .hero-text .book-button {
        margin-top: 10px;
        font-size: 1.2rem;
    }

    /* Video Section */
    .video-section {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: 30px 0 20px;
    }

    .video-section video {
        width: 100%;
        max-width: none;
    }

    /* Pricing Section */
    .pricing {
        padding: 0 0 30px; /* Reduce top padding to 0, keep bottom padding for spacing */
    }
    .pricing-grid {
        flex-direction: column; /* Stack items vertically */
        align-items: center; /* Center items horizontally */
        gap: 30px; /* Adequate spacing */
    }

    .pricing-item {
        width: 100%; /* Full width on mobile/tablet */
        max-width: none; /* Remove max-width constraint */
    }

    .second-row-pricing {
        flex-direction: column; /* Stack second row items */
        align-items: center; /* Center items */
        gap: 30px; /* Match spacing */
        width: 100%; /* Full width */
        margin: 0; /* Reset margin */
    }

    .pricing-item h3 {
        font-size: 1.6rem;
    }

    .pricing-item .description {
        font-size: 1rem;
        font-weight: 500;
    }

    .pricing-item .cost {
        font-size: 1.8rem;
        font-weight: 800;
    }

    .pricing-item p {
        font-size: 1rem;
    }

    .pricing-item .book-button {
        font-size: 1rem;
    }
  
    /* Breastfeeding Problems Section */
    .breastfeeding-problems,
    .content-section {
        padding: 40px 0 20px;
    }

    .content-section {
        padding: 0;
        padding-bottom: 50px; /* Consistent with desktop */
    }

    .problems-container {
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: 20px 20px 0 20px;
        flex-direction: column;
        gap: 0;
        border-radius: 0;
    }

    .faq-page .problems-container {
        margin-bottom: 50px;
    }

    .problems-column {
        width: 100%;
    }

    details {
        margin-bottom: 30px;
    }

    summary {
        font-weight: 500;
    }

    .accordion-content {
        padding: 25px;
    }

    .accordion-content p {
        margin: 0 0 15px;
    }

    .accordion-content ul {
        font-size: 1rem;
        margin: 0 0 15px;
        padding-left: 20px;
    }

    .accordion-content img {
        width: 100px;
    }

    /* Quotes Section */
    .quotes {
        grid-template-columns: 1fr;
    }

    .quote-item {
        margin-bottom: 20px;
    }

    .quotes .quote-item:last-child {
        margin-bottom: 30px; /* Increase distance between last quote and footer */
    }

    .quote-item p {
        font-size: 1em;
    }

    /* Map Section */
    #map {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
    }

    .areacovered-page #map {
        margin-bottom: 50px !important;
    }

    /* Reviews Section */
    .review-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .review-avatar {
        margin-bottom: 10px;
    }

    .review-text {
        line-height: 1.5;
    }

    .reviews-page .review-card:last-child {
        margin-bottom: 50px;
    }

    /* Support Process Section */
    .timeline {
        max-width: 100%;
    }

    .timeline::before {
        left: 25px;
        height: calc(100% - 25px);
    }

    .timeline-step {
        flex-direction: column;
        align-items: flex-start;
    }

    .timeline-step-number {
        margin-bottom: 15px;
    }

    .timeline-step-content {
        margin-left: 0;
        width: 100%;
    }

    /* Calendly Section */
    .calendly-text {
        padding: 0 20px; /* Ensures text stays within edges */
    }

    .calendly-wrapper {
        max-width: 100%; /* Full width on mobile/tablet */
        margin-bottom: 20px; /* Adds 20px extra gap before footer */
    }

    .cal-overlay {
        height: 10px; /* Smaller overlay on mobile/tablet */
    }

    #my-cal-inline {
        width: 100%;
    }

    /* Home Visits Steps Section */
    .home-visits-steps .step-content:last-child {
        margin-bottom: 50px; /* Add 50px bottom margin to the last step */
    }

    /* Footer Section */
    .footer-columns {
        grid-template-columns: 1fr; /* Stack columns vertically */
        gap: 0px; /* Reduce gap for mobile/tablet */
        padding: 15px; /* Consistent padding */
        align-items: center; /* Center entire column content */
    }

    .footer-column {
        align-items: center; /* Keep items centered horizontally */
    }

    .footer-column.left {
        margin: 0; /* Reset any desktop-specific margins */
    }

    .footer-column.left img {
        width: 100px; /* Slightly larger for visibility */
        margin-bottom: 15px; /* No additional margins */
    }

    .footer-column.middle p,
    .footer-column.right p {
        font-size: 1rem;
        margin: 8px 0; /* Consistent spacing */
    }

    .footer-column.right .book-button {
        font-size: 1rem;
        margin: 15px 0; /* Consistent spacing */
    }

    .section-title {
        margin-bottom: 30px;
        font-weight: 500;
    }

    .confirmation-content {
        padding: 40px 20px; /* Slightly less padding */
        min-height: calc(100vh - 68px - 300px); /* Adjust for taller stacked footer */
    }

    .confirmation-image-wrapper img {
        width: 100px; /* Slightly larger, matching footer */
    }

    .confirmation-text p {
        font-size: 1rem; /* Maintain readability */
        margin-bottom: 20px; /* Consistent spacing */
    }

    .contact-info {
        grid-template-columns: 1fr; /* Stack columns */
        gap: 0; /* Reduced gap */
        padding: 20px;
        align-items: center; /* Center content */
        margin: 0 auto;
    }

    .contact-column.left img {
        width: 100px; /* Slightly larger */
        margin: 15px 0;
    }

    .contact-column.right .book-button {
        margin: 15px 0 0; /* Spacing above button */
    }

    .contact-column.middle p,
    .contact-column.right p {
        font-size: 1rem;
        margin: 8px 0;
    }
}

/* ==========================================================================
   Desktop-Specific Adjustments (Above 1024px)
   ========================================================================== */
@media (min-width: 1025px) {
    .hamburger {
        display: none; /* Ensure hamburger stays hidden on desktop */
    }

    nav ul {
        display: flex; /* Ensure desktop nav is visible */
    }

    .mobile-book-button {
        display: none; /* Hide mobile book button on desktop */
    }
}