.elementor-440 .elementor-element.elementor-element-c130a74{--display:flex;--margin-top:-132px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-440 .elementor-element.elementor-element-a715bd3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:1;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-440 .elementor-element.elementor-element-a715bd3:not(.elementor-motion-effects-element-type-background), .elementor-440 .elementor-element.elementor-element-a715bd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://onefreesoulgriefjourney.com/wp-content/uploads/2025/11/Section.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-440 .elementor-element.elementor-element-a715bd3::before, .elementor-440 .elementor-element.elementor-element-a715bd3 > .elementor-background-video-container::before, .elementor-440 .elementor-element.elementor-element-a715bd3 > .e-con-inner > .elementor-background-video-container::before, .elementor-440 .elementor-element.elementor-element-a715bd3 > .elementor-background-slideshow::before, .elementor-440 .elementor-element.elementor-element-a715bd3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-440 .elementor-element.elementor-element-a715bd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://onefreesoulgriefjourney.com/wp-content/uploads/2025/11/image-2.png");--background-overlay:'';background-position:top left;background-repeat:no-repeat;background-size:22% auto;}.elementor-440 .elementor-element.elementor-element-d629c5b{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-440 .elementor-element.elementor-element-b60cc7d{width:var( --container-widget-width, 56% );max-width:56%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:56%;--container-widget-flex-grow:0;text-align:center;}.elementor-440 .elementor-element.elementor-element-b60cc7d.elementor-element{--align-self:center;}.elementor-440 .elementor-element.elementor-element-b60cc7d .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:36px;font-weight:bold;line-height:46px;color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-440 .elementor-element.elementor-element-a6d7b3b{width:var( --container-widget-width, 52% );max-width:52%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:52%;--container-widget-flex-grow:0;text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:24px;color:var( --e-global-color-text );}.elementor-440 .elementor-element.elementor-element-a6d7b3b.elementor-element{--align-self:center;}.elementor-440 .elementor-element.elementor-element-a6d7b3b p{margin-block-end:0px;}.elementor-440 .elementor-element.elementor-element-e69b361{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:20px;--margin-bottom:0px;--margin-left:30px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-440 .elementor-element.elementor-element-20a584e{--display:flex;--justify-content:center;--border-radius:30px 30px 30px 30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-440 .elementor-element.elementor-element-41bd5b1 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:14px;font-weight:bold;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-text );border-radius:50px 50px 50px 50px;padding:16px 30px 16px 30px;}.elementor-440 .elementor-element.elementor-element-41bd5b1 .elementor-button:hover, .elementor-440 .elementor-element.elementor-element-41bd5b1 .elementor-button:focus{background-color:var( --e-global-color-text );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-440 .elementor-element.elementor-element-41bd5b1{padding:10px 0px 0px 0px;}.elementor-440 .elementor-element.elementor-element-41bd5b1 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-440 .elementor-element.elementor-element-41bd5b1 .elementor-button:hover svg, .elementor-440 .elementor-element.elementor-element-41bd5b1 .elementor-button:focus svg{fill:var( --e-global-color-primary );}@media(min-width:768px){.elementor-440 .elementor-element.elementor-element-20a584e{--width:100%;}}@media(max-width:767px){.elementor-440 .elementor-element.elementor-element-a715bd3{--padding-top:20px;--padding-bottom:20px;--padding-left:10px;--padding-right:10px;}.elementor-440 .elementor-element.elementor-element-b60cc7d{width:100%;max-width:100%;}.elementor-440 .elementor-element.elementor-element-b60cc7d .elementor-heading-title{font-size:22px;line-height:1.5em;}.elementor-440 .elementor-element.elementor-element-a6d7b3b{width:100%;max-width:100%;font-size:14px;}.elementor-440 .elementor-element.elementor-element-e69b361{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for stepbooking, class: .elementor-element-2e18fbe *//* =========================================================
   ONE FREE SOUL – AMELIA BOOKING DESIGN
   ========================================================= */

.ofs-booking {
    --ofs-dark: #0f4512;
    --ofs-green: #37963c;
    --ofs-light-green: #61ac65;
    --ofs-sage: #eaf4e8;
    --ofs-cream: #fbfaf5;
    --ofs-border: #dce9dc;
    --ofs-white: #ffffff;
}

/* Main booking container */
.ofs-booking #amelia-container.am-fs__wrapper {
    --am-c-primary: var(--ofs-green) !important;
    --am-c-main-heading-text: var(--ofs-dark) !important;
    --am-c-main-text: var(--ofs-dark) !important;
    --am-c-btn-prim: var(--ofs-green) !important;
    --am-c-btn-sec: var(--ofs-green) !important;
    --am-c-sb-bgr: var(--ofs-green) !important;
    --am-mw-main: 1080px !important;
    --am-brad-main: 26px !important;

    width: 100% !important;
    max-width: 1080px !important;
    margin: 20px auto !important;
    border: 1px solid var(--ofs-border) !important;
    border-radius: 26px !important;
    background: var(--ofs-white) !important;
    box-shadow: 0 25px 70px rgba(15, 69, 18, 0.12) !important;
    overflow: hidden !important;
}

/* Use the website font */
/* Allow Amelia's icon font to load correctly */
.ofs-booking #amelia-container {
    font-family: inherit !important;
}

.ofs-booking #amelia-container * {
    box-sizing: border-box;
}

/* =========================================================
   LEFT STEP SIDEBAR
   ========================================================= */

.ofs-booking .am-fs-sb {
    width: 255px !important;
    padding: 36px 20px 65px !important;
    background:
        radial-gradient(
            circle at 20% 5%,
            rgba(255, 255, 255, 0.20),
            transparent 34%
        ),
        linear-gradient(155deg, #4da752 0%, #26782c 52%, #0f4512 100%) !important;
}

/* Individual steps */
.ofs-booking .am-fs-sb__step {
    margin-bottom: 10px !important;
    padding: 12px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease !important;
}

.ofs-booking .am-fs-sb__step:hover {
    background: rgba(255, 255, 255, 0.10) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    transform: translateX(3px);
}

.ofs-booking .am-fs-sb__step-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.13) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ofs-booking .am-fs-sb__step-heading {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1px !important;
}

/* Selected step indicator */
.ofs-booking .am-fs-sb__step-checker-selected {
    background: var(--ofs-white) !important;
    border-color: var(--ofs-white) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
}

/* Collapse menu */
.ofs-booking .am-fs-sb__menu {
    padding: 11px 13px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.09) !important;
}

/* =========================================================
   MAIN CONTENT
   ========================================================= */

.ofs-booking .am-fs__main {
    --am-mw-fsm: 825px !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(97, 172, 101, 0.10),
            transparent 34%
        ),
        var(--ofs-cream) !important;
}

.ofs-booking .am-fs__main-inner {
    background: transparent !important;
}

/* Main heading */
.ofs-booking .am-fs__main-heading {
    padding: 30px 34px 20px !important;
    border-bottom: 1px solid rgba(15, 69, 18, 0.09) !important;
}

.ofs-booking .am-fs__main-heading-inner-title {
    color: var(--ofs-dark) !important;
    font-size: clamp(24px, 3vw, 32px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px !important;
}

/* Main content spacing */
.ofs-booking .am-fs__main-content {
    padding: 26px 30px !important;
}

/* =========================================================
   SEARCH FIELD
   ========================================================= */

.ofs-booking .am-fs-scl__filters {
    margin-bottom: 22px !important;
}

.ofs-booking .el-input__wrapper {
    min-height: 50px !important;
    padding: 0 17px !important;
    border: 1px solid var(--ofs-border) !important;
    border-radius: 14px !important;
    background: var(--ofs-white) !important;
    box-shadow: 0 6px 20px rgba(15, 69, 18, 0.05) !important;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease !important;
}

.ofs-booking .el-input__wrapper:hover,
.ofs-booking .el-input__wrapper.is-focus {
    border-color: var(--ofs-light-green) !important;
    box-shadow: 0 0 0 4px rgba(97, 172, 101, 0.12) !important;
}

.ofs-booking .el-input__inner {
    color: var(--ofs-dark) !important;
    font-size: 15px !important;
}

.ofs-booking .el-input__inner::placeholder {
    color: #6d866e !important;
}

/* =========================================================
   SERVICE CARD GRID
   ========================================================= */

.ofs-booking .am-fs-scl__content {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

/* Service card */
.ofs-booking .am-fs__init-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid var(--ofs-border) !important;
    border-radius: 19px !important;
    background: var(--ofs-white) !important;
    box-shadow: 0 8px 25px rgba(15, 69, 18, 0.07) !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}

/* Decorative top border */
.ofs-booking .am-fs__init-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 3px;
    border-radius: 0 0 10px 10px;
    background: linear-gradient(
        90deg,
        var(--ofs-light-green),
        var(--ofs-green)
    );
    opacity: 0;
    transform: scaleX(0.4);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

.ofs-booking .am-fs__init-item:hover {
    border-color: rgba(55, 150, 60, 0.5) !important;
    box-shadow: 0 16px 35px rgba(15, 69, 18, 0.14) !important;
    transform: translateY(-4px) !important;
}

.ofs-booking .am-fs__init-item:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

/* Service image */
.ofs-booking .am-fs__init-item__img {
    width: 92px !important;
    height: 92px !important;
    padding: 6px !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #f3f9f1, #e3f0e1) !important;
    overflow: hidden !important;
}

.ofs-booking .am-fs__init-item__img img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    transition: transform 0.35s ease !important;
}

.ofs-booking .am-fs__init-item:hover .am-fs__init-item__img img {
    transform: scale(1.06);
}

/* Card content */
.ofs-booking .am-fs__init-item__content {
    width: 100% !important;
    min-width: 0 !important;
}

/* Service name and price */
.ofs-booking .am-fs__init-item__heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 12px !important;
}

.ofs-booking .am-fs__init-item__name {
    width: 100% !important;
    color: var(--ofs-dark) !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.ofs-booking .am-fs__init-item__cost {
    width: auto !important;
}

.ofs-booking .am-fs__init-item__price {
    display: inline-flex !important;
    padding: 5px 10px !important;
    border-radius: 50px !important;
    background: var(--ofs-sage) !important;
    color: var(--ofs-green) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

/* Service information */
.ofs-booking .am-fs__init-item__info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-bottom: 14px !important;
}

.ofs-booking .am-fs__init-item__info-inner {
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 5px !important;
    padding: 6px 8px !important;
    border-radius: 9px !important;
    background: #f5f8f3 !important;
    color: #436946 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}

/* Hide the unhelpful “Default” category and capacity number */
.ofs-booking .am-fs__init-item__info-inner:first-child,
.ofs-booking .am-fs__init-item__info-inner:nth-child(3) {
    display: none !important;
}

/* Learn More action */
.ofs-booking .am-fs__init-item__footer {
    margin-top: auto !important;
}

.ofs-booking .am-fs__init-item__footer-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--ofs-green) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    transition: gap 0.2s ease !important;
}

.ofs-booking .am-fs__init-item__footer-actions::after {
    content: "→";
    font-size: 17px;
    line-height: 1;
}

.ofs-booking .am-fs__init-item:hover
.am-fs__init-item__footer-actions {
    gap: 12px !important;
}

/* =========================================================
   BUTTONS AND FORM FIELDS
   ========================================================= */

.ofs-booking .am-button {
    min-height: 48px !important;
    padding: 12px 24px !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1px !important;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease !important;
}

.ofs-booking .am-button:not(.is-disabled):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 22px rgba(55, 150, 60, 0.25) !important;
}

.ofs-booking .am-button.is-disabled {
    opacity: 0.45 !important;
}

/* Footer containing Continue/Back buttons */
.ofs-booking .am-fs__main-footer {
    padding: 18px 30px !important;
    border-top: 1px solid rgba(15, 69, 18, 0.09) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 -8px 25px rgba(15, 69, 18, 0.04) !important;
}

/* Text areas, selects and additional inputs */
.ofs-booking textarea,
.ofs-booking select,
.ofs-booking .el-select__wrapper,
.ofs-booking .el-textarea__inner {
    border-color: var(--ofs-border) !important;
    border-radius: 13px !important;
    background: var(--ofs-white) !important;
}

/* Slide-up information popup */
.ofs-booking .am-slide-popup__block-inner {
    border-radius: 24px 24px 0 0 !important;
    box-shadow: 0 -20px 55px rgba(15, 69, 18, 0.16) !important;
}

/* =========================================================
   TABLET AND MOBILE
   ========================================================= */

@media (max-width: 900px) {
    .ofs-booking #amelia-container.am-fs__wrapper {
        flex-direction: column !important;
        border-radius: 20px !important;
    }

    .ofs-booking .am-fs-sb {
        width: 100% !important;
        padding: 18px !important;
    }

    .ofs-booking .am-fs-sb__step-wrapper {
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        padding-bottom: 5px !important;
    }

    .ofs-booking .am-fs-sb__step {
        min-width: 155px !important;
        margin: 0 !important;
    }

    .ofs-booking .am-fs-sb__footer {
        display: none !important;
    }

    .ofs-booking .am-fs__main {
        width: 100% !important;
    }
}

@media (max-width: 700px) {
    .ofs-booking .am-fs-scl__content {
        grid-template-columns: 1fr !important;
    }

    .ofs-booking .am-fs__main-heading {
        padding: 24px 20px 17px !important;
    }

    .ofs-booking .am-fs__main-content {
        padding: 20px 16px !important;
    }

    .ofs-booking .am-fs__main-footer {
        padding: 15px 16px !important;
    }
}

@media (max-width: 420px) {
    .ofs-booking .am-fs__init-item {
        grid-template-columns: 72px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 14px !important;
        border-radius: 16px !important;
    }

    .ofs-booking .am-fs__init-item__img {
        width: 72px !important;
        height: 72px !important;
        border-radius: 13px !important;
    }

    .ofs-booking .am-fs__init-item__name {
        font-size: 16px !important;
    }

    .ofs-booking .am-fs-sb__step {
        min-width: 140px !important;
    }
}

.amelia-v2-booking #amelia-container.am-fs__wrapper {

    height: 100% !important;

}
.amelia-v2-booking #amelia-container .am-fs__main-content {

    height: 100% !important;

}/* End custom CSS */