main#main {
    margin: 137px 0 0;
    clear: both;
}

.page-template-page-store-php #inner {
    display: none;
}

.page-template-page-store-php #megaMenu-sticky-wrapper {
    height: 0 !important;
}

.page-template-page-store-php #megaMenu-sticky-wrapper {
    margin-top: 0 !important;
}

.welcome_section {
    margin: 137px 0 47px;
}

.welcome_section.rts {
    margin-top: 0;
}

.welcome_section.rbs {
    margin-bottom: 0;
}

.welcome_section .welcome_section_inner_heading .heading {
    font-family: "Inter", sans-serif !important;
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
    color: #272C32;
    margin: 0 0 22px;
}

.welcome_section .welcome_section_inner_content p {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.5px;
    color: #272C32;
}

.welcome_section .welcome_section_inner_content p:last-child {
    margin-bottom: 0;
}

.image_data {
    margin: 78px 0;
}

.image_data.small_tos {
    margin-top: 63px
}

.image_data.small_bos {
    margin-bottom: 63px
}

.image_data.big_tos {
    margin-top: 92px
}

.image_data.big_bos {
    margin-bottom: 92px
}

.image_data.bigger_tos {
    margin-top: 137px
}

.image_data.bigger_bos {
    margin-bottom: 137px
}

.image_data.remove_tos {
    margin-top: 0;
}

.image_data.remove_bos {
    margin-bottom: 0;
}

.image_data .image_data_inner {
    display: flex;
    align-items: center;
    gap: 62px;
    max-width: 1029px;
    margin: 0 auto;
}

.image_data .image_data_inner.big_gap {
    column-gap: 127px;
}

.image_data .image_data_inner.align_end {
    align-items: flex-end;
}

.image_data .image_data_inner.align_start {
    align-items: flex-start; 
}

.image_data .image_data_inner.small_row_gap {
    row-gap: 40px;
}

.image_data .image_data_inner.position_left .image_data_inner_left {
    order: 2;
}

.image_data .image_data_inner.position_left .image_data_inner_right {
    order: 1;
}

.image_data .image_data_inner_main_heading .main_heading_text {
    font-family: "Inter", sans-serif !important;
    font-size: 32px;
    line-height: 1;
    color: #272C32;
    letter-spacing: 0.5px;
    font-weight: 700;
    margin: 0 0 60px;
}

.image_data .image_data_inner_left {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.image_data .image_data_inner_right {
    width: 100%;
    /* align-self: flex-start; */
}

.image_data .image_data_inner.big_gap .image_data_inner_left {
    width: calc(44.9% - 63.5px);
}

.image_data .image_data_inner.big_gap .image_data_inner_right {
    width: calc(55.1% - 63.5px);
}

.image_data .image_data_inner_right img {
    width: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

.image_data .image_data_inner_right_small {
    position: relative;
    width: 44.011%;
    border: 6px solid #F8F9F9;
    padding-top: 57.376%;
    z-index: 1;
    border-radius: 4px;
}


.image_data .image_data_inner_right_big {
    width: 100%;
    position: relative;
    border-radius: 4px;
}

.image_data .image_data_inner_right_big img {
    position: relative;
    height: auto;
    width: 100%;
}


.image_data .image_data_inner_right.has_small_image .image_data_inner_right_big img,
.image_data .image_data_inner_right_small img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;

}

.image_data .image_data_inner_right.has_small_image .image_data_inner_right_big {
    margin: -168px 0 0 auto;
    width: 69.16%;
    padding-top: 48.14%;
}

.image_data .image_data_inner_left_heading .heading {
    font-family: "Inter", sans-serif !important;
    font-size: 24px;
    line-height: 32px;
    color: #121212;
    font-weight: 700;
    margin: 0;
}

.image_data .image_data_inner_left_tagline {
    /* font-size: 16px;
    line-height: 24px; */
    font-weight: 700;
    color: #1F2124;
}

.image_data .image_data_inner_left_content {
    /* max-width: 386px; */
}

.image_data .image_data_inner_left_content p {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 30px;
    color: #1F2124;

}

.image_data .image_data_inner_left_content p:last-child {
    margin-bottom: 0;
}

.image_data .image_data_inner_left_button {
    margin-top: 5px;
}

.image_data .image_data_inner_left_button a {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.24px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: #C03731;
    border-radius: 4px;
    padding: 15px 20px;
    min-width: 334px;
    color: #fff;
    transition: all 0.5s ease;
    white-space: normal;
}

.image_data .image_data_inner_left_button a:hover {
    background-color: #B3251E;
}

.store_list__post_map .map_store_list {
    height: 816px;
}

.store_details_inner_left_link.directions_link {
    margin: 0 0 15px;
    padding: 0;
    border-bottom: none;
}

.store_details_inner_left_address.have_direction_link {
    margin-bottom: 10px;
}

.store_details_inner_left .store_details_inner_left_address {
    color: #000000;
    text-decoration: none !important;
}

.store_details_inner_left .get_directions_link {
    margin-bottom: 15px;
}
/* .store_details_inner_left .get_directions_link a {
    text-decoration: underline;
    text-underline-offset: 5px;
    color: #2D9CDB;
    text-decoration-color: #2D9CDB;
} */

.store_details_inner_left .get_directions_link a {
    text-decoration: none;
    text-underline-offset: 0;
    color: #c03731;
    text-decoration-color: transparent;
    border-radius: 4px;
    background-color: transparent;
    width: 100%;
    padding: 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 8px;
    transition: all ease .4s;
    font-family: "Inter", sans-serif !important;
    font-size: 16px;
    font-weight: 500 !important;
    line-height: normal;
    letter-spacing: 0.235px;
    min-height: 48px;
    border: 2px solid #c03731;
}

.store_details_inner_left .get_directions_link a:hover {
    background-color: #c03731;
    color: #FFFFFF;
}

@media (min-width:992px) {
    .image_data .image_data_inner_left_content p {
        font-size: 16px;
        line-height: 24px;
        font-family: "Inter", sans-serif;
        color: #444A53;
        margin-bottom: 24px;

    }
}


@media (max-width:1359px) {

    .image_data .image_data_inner {
        column-gap: 80px;
    }

    .image_data .image_data_inner_left {
        width: calc(44.9% - 40px);
        row-gap: 20px;
    }

    .image_data .image_data_inner_right {
        width: calc(55.1% - 40px);
    }

    .image_data .image_data_inner.big_gap .image_data_inner {
        column-gap: 90px;
    }

    .image_data .image_data_inner.big_gap .image_data_inner_left {
        width: calc(44.9% - 45px);
    }

    .image_data .image_data_inner.big_gap .image_data_inner_right {
        width: calc(55.1% - 45px);
    }
}

@media (max-width:1199px) {
    .welcome_section {
        margin-top: 100px;
    }

    .welcome_section .welcome_section_inner_heading .heading {
        font-size: 30px;
    }


    .image_data {
        margin: 60px 0;
    }

    .image_data.small_tos {
        margin-top: 50px
    }

    .image_data.small_bos {
        margin-bottom: 50px
    }

    .image_data.big_tos {
        margin-top: 80px
    }

    .image_data.big_bos {
        margin-bottom: 80px
    }

    .image_data.bigger_tos {
        margin-top: 120px
    }

    .image_data.bigger_bos {
        margin-bottom: 120px
    }

    .image_data .image_data_inner {
        column-gap: 60px;
    }

    .image_data .image_data_inner_main_heading .main_heading_text {
        font-size: 28px;
    }


    .image_data .image_data_inner_left {
        width: calc(44.9% - 30px);
    }

    .image_data .image_data_inner_right {
        width: calc(55.1% - 30px);
    }

    .image_data .image_data_inner.big_gap .image_data_inner {
        column-gap: 70px;
    }

    .image_data .image_data_inner.big_gap .image_data_inner_left {
        width: calc(44.9% - 35px);
    }

    .image_data .image_data_inner.big_gap .image_data_inner_right {
        width: calc(55.1% - 35px);
    }

}

@media (max-width:1000px) {
    main#main {
        margin: 0;
    }
}

@media (max-width:991px) {
    .welcome_section {
        margin-top: 70px;
    }

    .welcome_section .welcome_section_inner_heading .heading {
        font-size: 26px;
    }

    .image_data {
        margin: 50px 0;
    }

    .image_data.small_tos {
        margin-top: 45px
    }

    .image_data.small_bos {
        margin-bottom: 45px
    }

    .image_data.big_tos {
        margin-top: 70px
    }

    .image_data.big_bos {
        margin-bottom: 70px
    }


    .image_data .image_data_inner {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .image_data .image_data_inner.align_end {
        align-items: flex-start;
    }

    .image_data .image_data_inner_main_heading .main_heading_text {
        font-size: 26px;
    }


    .image_data .image_data_inner.position_left .image_data_inner_left {
        order: 1;
    }

    .image_data .image_data_inner_left {
        width: 100%;
        row-gap: 14px;
        padding: 0 9px;
    }

    .image_data .image_data_inner_right {
        width: 100%;
        position: relative;

    }

    .image_data .image_data_inner_right:not(.has_small_image) {
        padding: 0 0 0 8px;
    }

    .image_data .image_data_inner.big_gap .image_data_inner_left {
        width: 100%;
    }

    .image_data .image_data_inner.big_gap .image_data_inner_right {
        width: 100%;
    }

    .image_data .image_data_inner_right_small {
        width: 47.25%;
        /* padding-top: 46%; */
        position: absolute;
        top: 0;
        left: 8px;
        padding-top: 0;
        height: 100%;
        max-height: calc(100% - 28px);
    }

    .image_data .image_data_inner_right_big {
        padding-top: 0;
        height: auto;
        position: static;
    }

    .image_data .image_data_inner_right.has_small_image .image_data_inner_right_big:after {
        content: '';
        position: absolute;
        top: 59px;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #E0E0E0;
    }

    .image_data .image_data_inner_right.has_small_image .image_data_inner_right_big {
        margin-top: 60px;
        padding-top: 50px;
        margin-right: 14px;
        width: 57%;
    }

    .image_data .image_data_inner_right.has_small_image .image_data_inner_right_big img {
        height: auto;
        position: relative;
    }
    .store_list__post_map .map_store_list {
        height: 642px;
    }
}

@media (max-width:767px) {

    .welcome_section {
        margin-top: 36px;
    }

    .welcome_section .welcome_section_inner_heading .heading {
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 15px;
    }

    .welcome_section .welcome_section_inner_content p {
        font-size: 14px;
        font-weight: 500;
    }

    .image_data {
        margin: 36px 0 112px;
    }

    .image_data {
        margin: 40px 0;
    }

    .image_data.small_tos {
        margin-top: 36px
    }

    .image_data.small_bos {
        margin-bottom: 36px
    }

    .image_data.big_tos {
        margin-top: 60px
    }

    .image_data.big_bos {
        margin-bottom: 60px
    }

    .image_data.bigger_tos {
        margin-top: 108px
    }

    .image_data.bigger_bos {
        margin-bottom: 108px
    }

    .image_data .image_data_inner_main_heading .main_heading_text {
        font-size: 24px;
        line-height: 32px;
        padding-right: 3px;
        margin-bottom: 55px;
    }

    .image_data .image_data_inner_left_heading .heading {
        font-size: 28px;
        line-height: 40px;
    }

    .image_data .image_data_inner_left_button a {
        min-width: auto;
    }

    .image_data .image_data_inner_left_content p {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 20px;
    }
    .store_list__post_map .map_store_list {
        height: 510px;
    }
}
/* --- Store page layout changes (mockup by Mark, 2026-08): third View Menu button,
       store image moved up beside the details, full-width description block --- */

/* Order Online: divider moves from this button to the last button in the stack */
.store_details_inner_left_link.order_link {
    margin: 0 0 15px;
    padding: 0;
    border-bottom: none;
}

/* View Menu: dark outline button linking to the store's menu on the ordering domain */
.store_details_inner_left_link.menu_link .btn {
    background-color: transparent;
    border: 2px solid #272C32;
    color: #272C32;
}

.store_details_inner_left_link.menu_link .btn:hover {
    background-color: #272C32;
    color: #FFFFFF;
}

/* Store front image moved up into the right column, above the map (desktop) */
.store_details_inner_right {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.store_details_inner_right_image img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

.store_details_inner_right .store-map {
    flex: 1 1 auto;
    min-height: 400px;
}

/* Store front image on mobile (right column is hidden below 992px) */
.store_details_inner_left_image {
    margin: 30px 0 0;
}

.store_details_inner_left_image img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

@media (min-width: 992px) {
    .store_details_inner_left_image {
        display: none;
    }
}

/* Store description block at the base of the page now spans the full content width */
.image_data .image_data_inner.full_width_text .image_data_inner_left {
    width: 100%;
}

/* (Store page CTAs use the mockup red #C03731 from the base styles above.) */

/* --- Hours tables restyled to Mark's mockup: grey bar only on the heading,
       white rows with thin dividers, Inter, 16px.
       Scoped to the store details column so it applies to BOTH the API
       tables and the transposed ACF fallback, and nothing else. --- */

.store_details_inner_left_hrs .store-section-header {
    background: #EDEDED;
    color: #272C32;
    font-family: "Inter", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: normal;
    letter-spacing: 0.5px;
    margin: 32px 0 0;
    padding: 12px 16px;
}

.store_details_inner_left_hrs .store-section-header:first-child {
    margin-top: 0;
}

.store_details_inner_left_hrs .opening-hours.vertical-layout {
    margin: 6px 0 0;
}

.store_details_inner_left_hrs .opening-hours.vertical-layout table.hours-table {
    background: transparent;
    max-width: none;
    margin: 0;
}

.store_details_inner_left_hrs .opening-hours.vertical-layout table.hours-table tbody tr,
.store_details_inner_left_hrs .opening-hours.vertical-layout table.hours-table tbody tr:last-child {
    border-bottom: 1px solid #D9D9D9;
}

.store_details_inner_left_hrs .opening-hours.vertical-layout table.hours-table tbody tr td {
    padding: 14px 16px;
    font-size: 16px;
    color: #272C32;
    font-family: "Inter", sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px;
}

/* More breathing room between the address and the Get Directions button */
.store_details_inner_left_address.have_direction_link {
    margin-bottom: 20px;
}

/* Mobile/tablet: the mobile header is fixed (80px tall) and main#main has no
   top margin below 1000px, so store pages started underneath it. Same
   compensation pattern as the FAQ template: header height + breathing room. */
@media (max-width: 1023px) {
    .single-store main#main {
        margin-top: 112px;
    }

    .single-store .store_details {
        margin-top: 0;
    }
}
