.elementor-37248 .elementor-element.elementor-element-c233ce4{--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;}.elementor-37248 .elementor-element.elementor-element-10bc583{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:080px;}.elementor-37248 .elementor-element.elementor-element-5a90404{text-align:left;}.elementor-37248 .elementor-element.elementor-element-2bb3d34{width:initial;max-width:initial;color:var( --e-global-color-text );}.elementor-37248 .elementor-element.elementor-element-2bb3d34 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-37248 .elementor-element.elementor-element-2bb3d34.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-37248 .elementor-element.elementor-element-2bb3d34 p{margin-block-end:0px;}.elementor-37248 .elementor-element.elementor-element-fada0b5 .elementor-icon-box-wrapper{align-items:start;gap:16px;}.elementor-37248 .elementor-element.elementor-element-5098ab6 .elementor-icon-box-wrapper{align-items:start;gap:16px;}.elementor-37248 .elementor-element.elementor-element-8645bef .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-37248 .elementor-element.elementor-element-225978a .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-37248 .elementor-element.elementor-element-17c48c8{--display:flex;}.elementor-37248 .elementor-element.elementor-element-3e7d8b8 .elementor-icon-wrapper{text-align:center;}.elementor-37248 .elementor-element.elementor-element-710fef3{--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;--border-radius:30px 30px 30px 30px;--padding-top:00px;--padding-bottom:50px;--padding-left:80px;--padding-right:080px;}.elementor-37248 .elementor-element.elementor-element-c509926{text-align:left;}.elementor-37248 .elementor-element.elementor-element-f7ceb36{width:initial;max-width:initial;color:var( --e-global-color-text );}.elementor-37248 .elementor-element.elementor-element-f7ceb36 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-37248 .elementor-element.elementor-element-f7ceb36.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-37248 .elementor-element.elementor-element-f7ceb36 p{margin-block-end:20px;}.elementor-37248 .elementor-element.elementor-element-10378c0 > .elementor-widget-container{margin:0px 00px 0px 30px;}.elementor-37248 .elementor-element.elementor-element-10378c0 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-37248 .elementor-element.elementor-element-10378c0 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-37248 .elementor-element.elementor-element-10378c0{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-37248 .elementor-element.elementor-element-10378c0 .elementor-icon-list-text{transition:color 0.3s;}.elementor-37248 .elementor-element.elementor-element-d8a3be3{--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;--justify-content:center;--margin-top:0px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37248 .elementor-element.elementor-element-3b17986.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-37248 .elementor-element.elementor-element-3b17986{text-align:center;}@media(min-width:768px){.elementor-37248 .elementor-element.elementor-element-10bc583{--width:65%;}.elementor-37248 .elementor-element.elementor-element-710fef3{--width:35%;}}@media(max-width:1199px) and (min-width:768px){.elementor-37248 .elementor-element.elementor-element-c233ce4{--width:100%;}.elementor-37248 .elementor-element.elementor-element-10bc583{--width:65%;}.elementor-37248 .elementor-element.elementor-element-710fef3{--width:35%;}}@media(max-width:1599px){.elementor-37248 .elementor-element.elementor-element-2bb3d34{width:var( --container-widget-width, 618px );max-width:618px;--container-widget-width:618px;--container-widget-flex-grow:0;}.elementor-37248 .elementor-element.elementor-element-f7ceb36{width:var( --container-widget-width, 618px );max-width:618px;--container-widget-width:618px;--container-widget-flex-grow:0;}}@media(max-width:1366px){.elementor-37248 .elementor-element.elementor-element-3b17986{width:var( --container-widget-width, 349.906px );max-width:349.906px;--container-widget-width:349.906px;--container-widget-flex-grow:0;}}@media(max-width:1199px){.elementor-37248 .elementor-element.elementor-element-10bc583{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-37248 .elementor-element.elementor-element-2bb3d34{text-align:center;}.elementor-37248 .elementor-element.elementor-element-f7ceb36{text-align:start;}.elementor-37248 .elementor-element.elementor-element-d8a3be3{--justify-content:center;}.elementor-37248 .elementor-element.elementor-element-3b17986{text-align:center;}}@media(max-width:767px){.elementor-37248 .elementor-element.elementor-element-c233ce4{--width:100%;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-37248 .elementor-element.elementor-element-5a90404{text-align:center;}.elementor-37248 .elementor-element.elementor-element-710fef3{--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;}.elementor-37248 .elementor-element.elementor-element-d8a3be3{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS for text-editor, class: .elementor-element-2bb3d34 */.rc-steps {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-top: 20px;
}
.rc-steps .rc-step-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  padding: 20px 10px !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.04) !important;
}
.rc-steps .rc-step-icon {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  color: #b6121b !important;
  margin-bottom: 22px !important;
}
.rc-steps .rc-step-icon svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
.rc-steps .rc-step-title {
  margin: 0 0 14px 0 !important;
  color: #111111 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.rc-steps .rc-step-text {
  margin: 0 !important;
  color: #4a4a4a !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}
@media (max-width: 1024px) {
  .rc-steps { gap: 20px !important; }
  .rc-steps .rc-step-card { padding: 34px 24px !important; }
  .rc-steps .rc-step-title { font-size: 20px !important; }
  .rc-steps .rc-step-text { font-size: 15px !important; }
}
@media (max-width: 767px) {
  .rc-steps {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .rc-steps .rc-step-card { padding: 30px 22px !important; }
  .rc-steps .rc-step-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 18px !important;
  }
}/* End custom CSS */
/* Start custom CSS for lte-button, class: .elementor-element-3b17986 *//* ==========================================================================
   RUBY CARE - "TALK WITH AN ADVISOR" BUTTON
   Requires CSS class: contact-us-btn
   Shared sizing tokens — keep identical on .call-now-btn
   ========================================================================== */

.contact-us-btn .lte-btn {
    --rc-height: 75px;      /* total outer height, borders included */
    --rc-circle: 50px;      /* icon disc diameter */
    --rc-gutter: 12px;      /* space from button edge to circle */
    --rc-gap: 10px;         /* space from circle to text */
    --rc-arrow: 26px;       /* arrow glyph width */
    --rc-radius: 16px;

    position: relative !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    height: var(--rc-height) !important;
    min-height: var(--rc-height) !important;

    background: #b6121b !important;
    border: 2px solid #b6121b !important;
    border-radius: var(--rc-radius) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    overflow: visible !important;

    /* left clears the circle, right clears the arrow */
    padding-left: calc(var(--rc-gutter) + var(--rc-circle) + var(--rc-gap)) !important;
    padding-right: calc(var(--rc-gutter) + var(--rc-arrow) + var(--rc-gap)) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    transition: background-color 0.25s ease, border-color 0.25s ease,
                transform 0.25s ease !important;
}

/* ---------- DISABLE THEME HOVER SWEEP ---------- */
.contact-us-btn .lte-btn:before,
.contact-us-btn .lte-btn:after,
.contact-us-btn .lte-btn .lte-btn-inner:after {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* ---------- LABEL: vertically centred via full-height flex ---------- */
.contact-us-btn .lte-btn .lte-btn-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 100% !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    transition: color 0.25s ease !important;
}

/* ---------- WHITE CIRCLE ---------- */
.contact-us-btn .lte-btn .lte-btn-before {
    position: absolute !important;
    left: var(--rc-gutter) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: var(--rc-circle) !important;
    height: var(--rc-circle) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transition: background-color 0.25s ease !important;
}

/* ---------- PERSON ICON ---------- */
.contact-us-btn .lte-btn .lte-btn-before:before {
    content: "" !important;
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    background-color: #b6121b !important;
    transition: background-color 0.25s ease !important;
     -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* ---------- TRAILING ARROW ---------- */
.contact-us-btn .lte-btn .lte-btn-after {
    position: absolute !important;
    right: var(--rc-gutter) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: var(--rc-arrow) !important;
    height: 18px !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
    transition: background-color 0.25s ease, right 0.25s ease !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* ---------- HOVER ---------- */
.contact-us-btn .lte-btn:hover,
.contact-us-btn .lte-btn:focus {
    background: #940e16 !important;
    border-color: #940e16 !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}

.contact-us-btn .lte-btn:hover .lte-btn-inner,
.contact-us-btn .lte-btn:focus .lte-btn-inner {
    color: #ffffff !important;
}

.contact-us-btn .lte-btn:hover .lte-btn-before:before,
.contact-us-btn .lte-btn:focus .lte-btn-before:before {
    background-color: #940e16 !important;
}

.contact-us-btn .lte-btn:hover .lte-btn-after,
.contact-us-btn .lte-btn:focus .lte-btn-after {
    right: calc(var(--rc-gutter) - 5px) !important;
}

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
    .contact-us-btn .lte-btn {
        --rc-height: 78px;
        --rc-circle: 56px;
        --rc-gap: 14px;
    }
    .contact-us-btn .lte-btn .lte-btn-inner {
        font-size: 12px !important;
        letter-spacing: 1.2px !important;
    }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
    .contact-us-btn {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-bottom: 0 !important;
    }
    .contact-us-btn .lte-btn {
        --rc-height: 72px;
        --rc-circle: 50px;
        --rc-gutter: 10px;
        --rc-gap: 13px;
        --rc-arrow: 22px;

        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .contact-us-btn .lte-btn .lte-btn-inner {
        font-size: 13px !important;
        letter-spacing: 0.8px !important;
    }
    .contact-us-btn .lte-btn .lte-btn-before:before {
        width: 21px !important;
        height: 21px !important;
    }
    .contact-us-btn .lte-btn .lte-btn-after {
        height: 15px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-710fef3 *//* ==========================================================================
   RUBY CARE - SENIOR LIVING OPTIONS PANEL
   ========================================================================== */

.rc-options-panel {
    margin-top: 20px !important;
    margin-bottom: 50px !important;
    background: #fdf6f2 !important;
    border-radius: 14px !important;
    padding: 20px 36px !important;
    align-self: flex-start !important;
    position: sticky !important;
    top: 120px !important;
}

/* ---------- EYEBROW ---------- */
.rc-options-eyebrow .lte-header {
    margin: 0 !important;
    padding-bottom: 14px !important;
    position: relative !important;
}

.rc-options-eyebrow .lte-header span {
    color: #b6121b !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

.rc-options-eyebrow .lte-header:after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 62px !important;
    height: 3px !important;
    background: #b6121b !important;
}

/* ---------- INTRO COPY ---------- */
.rc-options-intro p {
    margin: 0 0 14px !important;
    color: #4a4a4a !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.rc-options-intro p:last-child {
    margin-bottom: 0 !important;
    font-weight: 600 !important;
    color: #2f2f2f !important;
}

/* ---------- LINK LIST ---------- */
.rc-options-list {
    margin-top: 5px !important;
    padding-top: 10px !important;
    border-top: 1px solid #ecdcd2 !important;
}

.rc-options-list .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.rc-options-list .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
}

.rc-options-list .elementor-icon-list-item a {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 7px 8px !important;
    margin: 0 -8px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease !important;
}

.rc-options-list .elementor-icon-list-item a:hover {
    background-color: #f8e9e1 !important;
}

/* ---------- ICON ---------- */
.rc-options-list .elementor-icon-list-icon {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rc-options-list .elementor-icon-list-icon i {
    color: #b6121b !important;
    font-size: 16px !important;
    transition: transform 0.2s ease !important;
}

.rc-options-list .elementor-icon-list-item a:hover .elementor-icon-list-icon i {
    transform: translateX(3px) !important;
}

/* ---------- TEXT ---------- */
.rc-options-list .elementor-icon-list-text {
    color: #b6121b !important;
    font-size: 16.5px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

/* ---------- BUTTON WRAPPER ---------- */
.rc-options-cta {
    margin-top: 5px !important;
    padding-top: 24px !important;
    border-top: 1px solid #ecdcd2 !important;
    width: 100% !important;
}

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
    .rc-options-panel {
        padding: 32px 28px !important;
        position: static !important;
    }
    .rc-options-list .elementor-icon-list-text {
        font-size: 15.5px !important;
    }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
    .rc-options-panel {
        padding: 26px 22px !important;
        border-radius: 10px !important;
    }
    .rc-options-eyebrow .lte-header span {
        font-size: 13px !important;
        letter-spacing: 2.5px !important;
    }
    .rc-options-intro p {
        font-size: 15.5px !important;
    }
    .rc-options-list .elementor-icon-list-item a {
        padding: 9px 8px !important;
    }
    .rc-options-list .elementor-icon-list-text {
        font-size: 15px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c233ce4 *//* ==========================================================================
   RUBY CARE - PROCESS STEPS (corrected for actual markup)
   ========================================================================== */

.rc-step {
    --rc-red: #b6121b;
    --rc-disc: 118px;
    --rc-disc-bg: #faf1ec;
    padding: 20px 0 !important;
}

.rc-step + .rc-step {
    border-top: 1px solid #e4ded8 !important;
}

.rc-step .elementor-icon-box-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    gap: 34px !important;
    text-align: left !important;
}

/* ---------- ICON DISC ---------- */
.rc-step .elementor-icon-box-icon {
    flex: 0 0 var(--rc-disc) !important;
    width: var(--rc-disc) !important;
    height: var(--rc-disc) !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: var(--rc-disc-bg) !important;
}

/* Icon font — not SVG */
.rc-step .elementor-icon {
    background: none !important;
    color: var(--rc-red) !important;
    font-size: 52px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rc-step .elementor-icon i {
    color: var(--rc-red) !important;
    font-size: inherit !important;
}

/* Also handle SVG, in case you swap the icon later */
.rc-step .elementor-icon svg {
    width: 54% !important;
    height: 54% !important;
    fill: var(--rc-red) !important;
}

/* ---------- CONTENT ---------- */
.rc-step .elementor-icon-box-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}

.rc-step .elementor-icon-box-title {
    margin: 0 0 8px !important;
}

.rc-step .elementor-icon-box-title span {
    color: var(--rc-red) !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* ---------- COLLAPSE THE EMPTY PARAGRAPHS ---------- */
/* The auto-closed <p> tags carry Elementor's default margin — kill it */
.rc-step p.elementor-icon-box-description {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
}

.rc-step .elementor-icon-box-content > p:empty {
    display: none !important;
}

/* ---------- BULLETS (targets rc-process-list directly) ---------- */
.rc-step .rc-process-list {
    list-style: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
}

.rc-step .rc-process-list li {
    position: relative !important;
    padding-left: 22px !important;
    margin-bottom: 8px !important;
    color: #333333 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
}

.rc-step .rc-process-list li:last-child {
    margin-bottom: 0 !important;
}

.rc-step .rc-process-list li:before {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    top: 10px !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--rc-red) !important;
}

/* ---------- STEP 3: PLAIN PARAGRAPH, SAME ALIGNMENT ---------- */
.rc-step .rc-process-text {
    margin: 0 !important;
    padding-left: 0 !important;
    color: #333333 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
}

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
    .rc-step {
        --rc-disc: 92px;
    }
    .rc-step .elementor-icon-box-wrapper {
        gap: 10px !important;
    }
    .rc-step .elementor-icon {
        font-size: 42px !important;
    }
    .rc-step .elementor-icon-box-title span {
        font-size: 26px !important;
    }
    .rc-step .rc-process-list li,
    .rc-step .rc-process-text {
        font-size: 16px !important;
    }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
    .rc-step {
        --rc-disc: 68px;
        padding: 18px 0 !important;
    }
    .rc-step .elementor-icon-box-wrapper {
        gap: 16px !important;
        align-items: flex-start !important;
    }
    .rc-step .elementor-icon {
        font-size: 32px !important;
    }
    .rc-step .elementor-icon-box-title span {
        font-size: 22px !important;
    }
    .rc-step .rc-process-list li,
    .rc-step .rc-process-text {
        font-size: 15.5px !important;
        line-height: 1.5 !important;
    }
    .rc-step .rc-process-list li {
        padding-left: 18px !important;
        margin-bottom: 7px !important;
    }
    .rc-step .rc-process-list li:before {
        top: 9px !important;
    }
}
/* ==========================================================================
   RUBY CARE - PROCESS STEPS: TIGHTEN SPACING
   ========================================================================== */

/* 1. Reduce vertical padding per step */
.rc-step {
    padding: 20px 0 !important;
}

/* 2. Kill Elementor's widget bottom margin */
.rc-step .elementor-widget-container {
    margin-bottom: 0 !important;
}

.rc-step .elementor-icon-box-content {
    padding-bottom: 0 !important;
}

/* 3. Trim the space between bullets */
.rc-step .elementor-icon-box-description li {
    margin-bottom: 8px !important;
    line-height: 1.5 !important;
}

.rc-step .elementor-icon-box-description li:last-child {
    margin-bottom: 0 !important;
}

/* 4. Tighten paragraph line height too */
.rc-step .elementor-icon-box-description p {
    line-height: 1.5 !important;
}

/* 5. Pull the title closer to the bullets */
.rc-step .elementor-icon-box-title {
    margin: 0 0 8px !important;
}


/* ==========================================================================
   RUBY CARE - "NO COST" NOTE PANEL
   Container: rc-note | Icon widget: rc-note-icon | Text widget: rc-note-text
   ========================================================================== */

.rc-note {
    --rc-red: #b6121b;
    --rc-note-bg: #fdf5f1;
    --rc-rule: #e6d5cc;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;

    background: var(--rc-note-bg) !important;
    border-radius: 12px !important;
    padding: 26px 34px !important;
}

/* ---------- HEART ---------- */
.rc-note-icon {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 32px 0 8px !important;
    margin: 0 !important;
}

.rc-note-icon .elementor-icon {
    color: var(--rc-red) !important;
    display: block !important;
}

.rc-note-icon .elementor-icon svg {
    width: 72px !important;
    height: 72px !important;
    display: block !important;
    stroke: var(--rc-red) !important;
    stroke-width: 1.5 !important;
    fill: none !important;
}

/* ---------- VERTICAL RULE ---------- */
/* On the text widget's left edge, so it sits between the two */
.rc-note-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    padding-left: 30px !important;
    border-left: 1px solid var(--rc-rule) !important;
}

/* ---------- TEXT ---------- */
.rc-note-text p {
    margin: 0 !important;
    color: #333333 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

.rc-note-text .rc-note-title {
    margin: 0 0 5px !important;
    color: var(--rc-red) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
    .rc-note {
        padding: 22px 26px !important;
    }
    .rc-note-icon {
        padding-right: 24px !important;
    }
    .rc-note-icon .elementor-icon svg {
        width: 58px !important;
        height: 58px !important;
    }
    .rc-note-text {
        padding-left: 24px !important;
    }
    .rc-note-text p {
        font-size: 16px !important;
    }
    .rc-note-text .rc-note-title {
        font-size: 18px !important;
    }
}

/* ---------- MOBILE: STACK ---------- */
@media (max-width: 767px) {
    .rc-note {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px !important;
    }
    .rc-note-icon {
        padding: 0 0 14px 0 !important;
    }
    .rc-note-icon .elementor-icon svg {
        width: 48px !important;
        height: 48px !important;
    }
    .rc-note-text {
        padding-left: 0 !important;
        border-left: none !important;
        border-top: 1px solid var(--rc-rule) !important;
        padding-top: 14px !important;
        width: 100% !important;
    }
    .rc-note-text p {
        font-size: 15.5px !important;
    }
    .rc-note-text .rc-note-title {
        font-size: 17px !important;
    }
}/* End custom CSS */