/* ============================================================
   LIMPIA BOOKING EXPERIENCE
   FINAL CUSTOMER UI
   ============================================================ */

#limpia-booking-app {

    --olive: #7B7F58;
    --olive-dark: #3F4D24;
    --olive-deep: #263A19;

    --gold: #B79C5A;

    --ivory: #F6F2EA;
    --cream: #FBF8F2;
    --beige: #E8E0D3;

    --charcoal: #252525;
    --gray: #6B685F;

    --border: #DDD9D0;
    --border-light: #ECE8E1;

    --white: #FFFFFF;

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;
    padding: 26px;

    box-sizing: border-box;

    color: var(--charcoal);

    font-family: inherit;
}


#limpia-booking-app *,
#limpia-booking-app *::before,
#limpia-booking-app *::after {
    box-sizing: border-box;
}


#limpia-booking-app button,
#limpia-booking-app input,
#limpia-booking-app select,
#limpia-booking-app textarea {
    font-family: inherit;
}



/* ============================================================
   PROGRESS
   ============================================================ */

#limpia-booking-app .limpia-progress {

    display: flex;
    align-items: center;

    width: 100%;

    margin-bottom: 12px;
    padding: 17px 24px;

    border: 1px solid var(--border);
    border-radius: 7px;

    background: #fff;
}


#limpia-booking-app .limpia-progress-step {

    display: flex;
    align-items: center;

    flex: 1;

    gap: 11px;

    padding: 0;
    margin: 0;

    border: 0;

    background: transparent;

    color: var(--charcoal);

    opacity: .7;

    text-align: left;
}


#limpia-booking-app .limpia-progress-step.active,
#limpia-booking-app .limpia-progress-step.complete {
    opacity: 1;
}


#limpia-booking-app .limpia-progress-number {

    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    border: 1px solid #CBC7BF;
    border-radius: 50%;

    background: #fff;

    font-size: 14px;
    font-weight: 700;
}


#limpia-booking-app
.limpia-progress-step.active
.limpia-progress-number {

    border-color: var(--olive-dark);

    background: var(--olive-dark);

    color: #fff;
}


#limpia-booking-app
.limpia-progress-step.complete
.limpia-progress-number {

    border-color: var(--olive);

    color: var(--olive-dark);
}


#limpia-booking-app .limpia-progress-label {

    font-size: 14px;
    font-weight: 650;
}


#limpia-booking-app .limpia-progress-divider {

    margin: 0 13px;

    color: var(--olive-dark);

    font-size: 20px;
}



/* ============================================================
   MAIN
   ============================================================ */

#limpia-booking-app .limpia-booking-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 2.1fr)
        minmax(310px, .9fr);

    border: 1px solid var(--border);
    border-radius: 7px;

    background: #fff;

    overflow: hidden;
}


#limpia-booking-app .limpia-booking-main {

    min-width: 0;

    padding: 32px;

    border-right: 1px solid var(--border);
}



/* ============================================================
   TITLES
   ============================================================ */

#limpia-booking-app .limpia-booking-header {

    margin-bottom: 22px;
}


#limpia-booking-app .limpia-booking-header h2 {

    margin: 0 0 7px;

    color: #151515;

    font-size: 30px;
    font-weight: 700;

    line-height: 1.15;
}


#limpia-booking-app .limpia-booking-header p {

    margin: 0;

    color: var(--gray);

    font-size: 14px;
    line-height: 1.5;
}



/* ============================================================
   STEP 1
   ============================================================ */

#limpia-booking-app .limpia-service-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}


#limpia-booking-app .limpia-service-card {
    position: relative;

    display: flex;
    flex-direction: column;

    align-items: flex-start;
    justify-content: center;

    min-height: 150px;

    padding: 22px 24px;

    border: 1px solid var(--border-light) !important;
    border-radius: 12px;

    background: #fff !important;
    color: var(--charcoal) !important;

    text-align: left;

    cursor: pointer;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        background .18s ease;
}


#limpia-booking-app .limpia-service-card:hover {
    border-color: var(--gold) !important;
    box-shadow: 0 6px 18px rgba(37, 37, 37, 0.07);
    transform: translateY(-2px);
}


#limpia-booking-app .limpia-service-card.selected {
    border: 1.5px solid var(--gold) !important;
    background: var(--cream) !important;

    box-shadow:
        0 6px 20px rgba(183, 156, 90, 0.12);
}


#limpia-booking-app .limpia-service-icon {

    display: flex;
    align-items: center;
    justify-content: center;

width: 38px;
height: 38px;
margin-bottom: 14px;
    color: var(--olive-dark);
}


#limpia-booking-app .limpia-service-icon svg {

    width: 46px;
    height: 46px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.65;

    stroke-linecap: round;
    stroke-linejoin: round;
}


#limpia-booking-app .limpia-service-icon-gold {
    color: var(--gold);
}


#limpia-booking-app .limpia-service-copy strong {

    display: block;

    margin-bottom: 6px;

    color: var(--olive-deep);

    font-size: 18px;
    font-weight: 700;
}


#limpia-booking-app .limpia-service-copy > span {

    display: block;

    max-width: 260px;

    color: #555149;

    font-size: 13px;

    line-height: 1.45;
}


#limpia-booking-app .limpia-card-check {

    display: none;
}


/* ============================================================
   FIELD GROUP
   ============================================================ */

#limpia-booking-app .limpia-field-group {

    margin-bottom: 21px;
}


#limpia-booking-app .limpia-field-group h3 {
    margin: 0 0 10px;

    color: var(--olive-deep);

    font-size: 14px;
    font-weight: 900;
    line-height: 1.3;

    letter-spacing: .35px;

    text-transform: uppercase;
}


#limpia-booking-app .limpia-optional {

    color: var(--gray);

    font-size: 10px;
    font-weight: 400;

    text-transform: none;
}



/* ============================================================
   GENERIC OPTIONS
   ============================================================ */

#limpia-booking-app .limpia-option-row {

    display: grid;

    gap: 8px;
}


#limpia-booking-app .limpia-option-row-2 {
    grid-template-columns: repeat(2, 1fr);
}


#limpia-booking-app .limpia-option-row-3 {
    grid-template-columns: repeat(3, 1fr);
}


#limpia-booking-app .limpia-option-row-5 {
    grid-template-columns: repeat(5, 1fr);
}


#limpia-booking-app .limpia-option-row-6 {
    grid-template-columns: repeat(6, 1fr);
}


#limpia-booking-app .limpia-option-button {

    min-height: 47px;

    padding: 8px 10px;

    border: 1px solid var(--border) !important;
    border-radius: 5px;

    background: #fff !important;

    color: var(--charcoal) !important;

    font-size: 13px;

    cursor: pointer;
}


#limpia-booking-app .limpia-option-button:hover {

    border-color: var(--olive) !important;
}


#limpia-booking-app .limpia-option-button.selected {

    border: 1.5px solid var(--olive-dark) !important;

    background: var(--cream) !important;

    color: var(--olive-dark) !important;

    font-weight: 700;
}


#limpia-booking-app .limpia-option-sub {

    display: block;

    margin-top: 2px;

    font-size: 11px;
}



/* ============================================================
   PROPERTY TYPE ICONS
   ============================================================ */

#limpia-booking-app .limpia-property-button {

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 11px;
}


#limpia-booking-app .limpia-property-icon {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    color: var(--gold);
}


#limpia-booking-app .limpia-property-icon svg {

    width: 25px;
    height: 25px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.55;

    stroke-linecap: round;
    stroke-linejoin: round;
}


#limpia-booking-app
.limpia-property-button.selected
.limpia-property-icon {

    color: var(--olive-dark);
}



/* ============================================================
   STEP 3 EXTRAS
   ============================================================ */

#limpia-booking-app .limpia-extras-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 8px;
}


#limpia-booking-app .limpia-extra-option,
#limpia-booking-app .limpia-other-request-card {

    position: relative;

    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 65px;

    padding: 10px 12px;

    border: 1px solid var(--border) !important;
    border-radius: 5px;

    background: #fff !important;

    color: var(--charcoal) !important;

    text-align: left;

    cursor: pointer;
}


#limpia-booking-app .limpia-extra-option:hover,
#limpia-booking-app .limpia-other-request-card:hover {

    border-color: var(--olive) !important;
}


#limpia-booking-app .limpia-extra-option.selected,
#limpia-booking-app .limpia-other-request-card.selected {

    border: 1.5px solid var(--olive-dark) !important;

    background: var(--cream) !important;
}


#limpia-booking-app .limpia-extra-svg {

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    color: var(--gold);
}


#limpia-booking-app .limpia-extra-svg svg {

    width: 28px;
    height: 28px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.55;

    stroke-linecap: round;
    stroke-linejoin: round;
}


#limpia-booking-app
.limpia-extra-option.selected
.limpia-extra-svg,
#limpia-booking-app
.limpia-other-request-card.selected
.limpia-extra-svg {

    color: var(--olive-dark);
}


#limpia-booking-app .limpia-extra-copy {

    display: flex;

    flex-direction: column;
}


#limpia-booking-app .limpia-extra-copy strong {

    margin-bottom: 2px;

    color: var(--olive-deep);

    font-size: 12px;
    font-weight: 700;
}


#limpia-booking-app .limpia-extra-copy span {

    color: var(--olive-dark);

    font-size: 11px;
}


#limpia-booking-app .limpia-extra-check {

    display: none;
}


#limpia-booking-app
.limpia-extra-option.selected
.limpia-extra-check {

    position: absolute;

    top: 7px;
    right: 7px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 17px;
    height: 17px;

    border-radius: 50%;

    background: var(--olive-dark);

    color: #fff;

    font-size: 8px;
}



/* ============================================================
   OTHER REQUEST
   ============================================================ */

#limpia-booking-app .limpia-other-request-wrap {

    margin: -8px 0 15px;
}


#limpia-booking-app #limpia-other-request {

    display: block;

    width: 100%;

    height: 62px;
    min-height: 62px;

    padding: 10px 12px;

    border: 1px solid var(--border);
    border-radius: 5px;

    resize: vertical;

    font-size: 13px;
}



/* ============================================================
   CALENDAR + TIME
   ============================================================ */

#limpia-booking-app .limpia-hidden-date-input {

    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    opacity: 0 !important;

    pointer-events: none !important;
}


#limpia-booking-app .limpia-calendar-time-layout {

    display: grid;

    grid-template-columns:
        minmax(300px, .95fr)
        minmax(300px, 1.05fr);

    gap: 22px;

    align-items: stretch;
}


#limpia-booking-app .limpia-calendar-label {

    margin-bottom: 8px;

    color: var(--olive-deep);

    font-size: 12px;
    font-weight: 700;
}


#limpia-booking-app .limpia-calendar-shell {

    height: 100%;

    padding: 14px;

    border: 1px solid var(--border);
    border-radius: 6px;

    background: #fff;
}


#limpia-booking-app .limpia-calendar-header {

    display: grid;

    grid-template-columns: 34px 1fr 34px;

    align-items: center;

    margin-bottom: 11px;
}


#limpia-booking-app #limpia-calendar-month {

    color: var(--olive-deep);

    text-align: center;

    font-size: 13px;
}


#limpia-booking-app .limpia-calendar-nav {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    padding: 0;

    border: 0;

    background: transparent;

    color: var(--olive-dark);

    font-size: 24px;

    cursor: pointer;
}


#limpia-booking-app .limpia-calendar-weekdays,
#limpia-booking-app .limpia-calendar-days {

    display: grid;

    grid-template-columns: repeat(7, 1fr);

    gap: 3px;
}


#limpia-booking-app .limpia-calendar-weekdays {

    margin-bottom: 5px;
}


#limpia-booking-app .limpia-calendar-weekdays span {

    padding: 4px 0;

    color: var(--gray);

    text-align: center;

    font-size: 10px;
    font-weight: 700;
}


#limpia-booking-app .limpia-calendar-day {

    display: flex;

    align-items: center;
    justify-content: center;

    aspect-ratio: 1 / .78;

    padding: 0;

    border: 1px solid transparent;
    border-radius: 50%;

    background: transparent;

    color: var(--charcoal);

    font-size: 11px;

    cursor: pointer;
}


#limpia-booking-app .limpia-calendar-day:hover:not(:disabled) {

    border-color: var(--beige);

    background: var(--cream);
}


#limpia-booking-app .limpia-calendar-day.today {

    border-color: var(--gold);
}


#limpia-booking-app .limpia-calendar-day.selected {

    border-color: var(--olive-deep);

    background: var(--olive-deep);

    color: #fff;

    font-weight: 700;
}


#limpia-booking-app .limpia-calendar-day:disabled {

    color: #C8C5BF;

    cursor: not-allowed;
}


#limpia-booking-app .limpia-calendar-empty {

    aspect-ratio: 1 / .78;
}



/* ============================================================
   TIME WINDOWS
   ============================================================ */

#limpia-booking-app .limpia-time-grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: 7px;
}


#limpia-booking-app .limpia-time-option {

    min-height: 43px;

    padding: 7px 12px;

    border: 1px solid var(--border) !important;
    border-radius: 5px;

    background: #fff !important;

    color: var(--charcoal) !important;

    font-size: 12px;

    cursor: pointer;
}


#limpia-booking-app .limpia-time-option:hover {

    border-color: var(--olive) !important;
}


#limpia-booking-app .limpia-time-option.selected {

    border: 1.5px solid var(--olive-dark) !important;

    background: var(--cream) !important;

    color: var(--olive-dark) !important;

    font-weight: 700;
}



/* ============================================================
   STEP 4 INPUTS
   ============================================================ */

#limpia-booking-app .limpia-contact-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px;
}


#limpia-booking-app .limpia-contact-grid-3 {

    grid-template-columns: repeat(3, 1fr);
}


#limpia-booking-app .limpia-address-grid {

    display: grid;

    grid-template-columns:
        1.25fr
        1.25fr
        .7fr
        .8fr;

    gap: 12px;
}


#limpia-booking-app .limpia-input-group {

    margin-bottom: 11px;
}


#limpia-booking-app .limpia-input-group label {

    display: block;

    margin-bottom: 5px;

    color: var(--olive-deep);

    font-size: 11px;
    font-weight: 700;
}


#limpia-booking-app .limpia-input-group input,
#limpia-booking-app .limpia-input-group select {

    display: block;

    width: 100%;

    min-height: 46px;

    padding: 9px 11px;

    border: 1px solid var(--border);
    border-radius: 5px;

    background: #fff;

    color: var(--charcoal);

    font-size: 13px;
}


#limpia-booking-app .limpia-input-group input:focus,
#limpia-booking-app .limpia-input-group select:focus,
#limpia-booking-app #limpia-other-request:focus {

    outline: none;

    border-color: var(--olive);

    box-shadow:
        0 0 0 3px rgba(123,127,88,.08);
}



/* ============================================================
   PAYMENT
   ============================================================ */

#limpia-booking-app .limpia-payment-note {

    margin: -2px 0 9px;

    color: var(--gray);

    font-size: 11px;
}


#limpia-booking-app .limpia-payment-placeholder {

    display: flex;

    align-items: center;

    gap: 11px;

    min-height: 50px;

    padding: 10px 12px;

    border: 1px solid var(--border);
    border-radius: 5px;

    color: var(--gray);

    font-size: 12px;
}


#limpia-booking-app .limpia-payment-lock-svg {

    display: flex;

    width: 27px;
    height: 27px;

    color: var(--gold);
}


#limpia-booking-app .limpia-payment-lock-svg svg {

    width: 100%;
    height: 100%;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;
}



/* ============================================================
   BUTTONS
   ============================================================ */

#limpia-booking-app .limpia-single-action {

    display: flex;

    justify-content: center;

    margin-top: 23px;
}


#limpia-booking-app .limpia-primary-button {

    min-height: 50px;

    padding: 11px 28px;

    border: 0 !important;
    border-radius: 4px;

    background:
        linear-gradient(
            90deg,
            #52612C,
            #263A19
        ) !important;

    color: #fff !important;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .3px;

    text-transform: uppercase;

    cursor: pointer;
}


#limpia-booking-app .limpia-primary-button:disabled {

    opacity: .4;

    cursor: not-allowed;
}


#limpia-booking-app #limpia-step-one-continue {

    width: 320px;
}


#limpia-booking-app #limpia-step-two-continue,
#limpia-booking-app #limpia-step-three-continue,
#limpia-booking-app #limpia-confirm-booking {

    min-width: 285px;
}


#limpia-booking-app .limpia-back-button {

    min-width: 140px;
    min-height: 48px;

    padding: 10px 18px;

    border: 1px solid var(--border) !important;
    border-radius: 4px;

    background: #fff !important;

    color: var(--olive-dark) !important;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}


#limpia-booking-app .limpia-step-buttons {

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-top: 20px;
}



/* ============================================================
   SUMMARY
   ============================================================ */

#limpia-booking-app .limpia-booking-summary {

    padding: 30px 27px;

    background: #fff;
}


#limpia-booking-app .limpia-summary-title {

    width: 100%;

    margin-bottom: 16px;

    text-align: center;
}


#limpia-booking-app .limpia-summary-title h3 {

    margin: 0;

    color: var(--olive-deep);

    font-size: 18px;
    font-weight: 700;

    letter-spacing: .1px;
}


#limpia-booking-app .limpia-summary-brand-mark {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    margin: 11px auto 18px;
}


#limpia-booking-app .limpia-summary-brand-mark svg {

    display: block;

    width: 38px;
    height: 38px;
}


#limpia-booking-app .limpia-summary-brand-outline {

    fill: none;

    stroke: var(--gold);

    stroke-width: 6;
}


#limpia-booking-app .limpia-summary-brand-center {

    fill: var(--olive);

    stroke: none;
}


#limpia-booking-app .limpia-summary-empty {

    padding: 5px 0 15px;

    color: var(--gray);

    text-align: center;

    font-size: 12px;
}


#limpia-booking-app .limpia-summary-section {

    padding: 15px 0;

    border-bottom: 1px solid var(--border-light);
}


#limpia-booking-app .limpia-summary-heading {

    display: block;

    margin-bottom: 8px;

    color: var(--olive-deep);

    font-size: 11px;
    font-weight: 750;

    letter-spacing: .3px;

    text-transform: uppercase;
}


#limpia-booking-app .limpia-summary-primary {

    color: var(--olive-dark);

    font-size: 16px;
    font-weight: 700;
}


#limpia-booking-app .limpia-summary-section > div {

    margin-bottom: 5px;

    color: var(--gray);

    font-size: 12px;
    line-height: 1.45;
}

#limpia-booking-app .limpia-summary-schedule-row {

    display: flex;

    align-items: baseline;

    gap: 5px;

    margin-bottom: 5px;
}


#limpia-booking-app .limpia-summary-schedule-row strong {

    color: var(--olive-dark);

    font-weight: 700;
}


#limpia-booking-app .limpia-summary-schedule-row span {

    color: var(--gray);

    font-weight: 400;
}

#limpia-booking-app .limpia-summary-extra-row {

    display: flex;

    justify-content: space-between;

    gap: 10px;
}


#limpia-booking-app .limpia-summary-price > div {

    display: flex;

    justify-content: space-between;

    gap: 12px;

    padding: 3px 0;
}


#limpia-booking-app .limpia-summary-total {

    margin-top: 8px;

    padding: 13px;

    border-radius: 4px;

    background:
        linear-gradient(
            90deg,
            #F3F1E6,
            #EAE9DA
        );
}


#limpia-booking-app .limpia-summary-total span {

    color: var(--olive-deep);

    font-size: 10px;
    font-weight: 750;

    text-transform: uppercase;
}


#limpia-booking-app #summary-total {

    color: var(--olive-dark);

    font-size: 27px;
}


#limpia-booking-app .limpia-summary-trust {

    margin-top: 14px;

    padding: 15px;

    border-radius: 5px;

    background:
        linear-gradient(
            135deg,
            #F5F3E9,
            #EFEEE4
        );
}


#limpia-booking-app .limpia-summary-trust > strong {

    color: var(--olive-deep);

    font-size: 12px;
}


#limpia-booking-app .limpia-summary-trust ul {

    margin: 8px 0 0;

    padding: 0;

    list-style: none;
}


#limpia-booking-app .limpia-summary-trust li {

    position: relative;

    margin-bottom: 5px;

    padding-left: 17px;

    color: var(--charcoal);

    font-size: 10px;

    line-height: 1.4;
}


#limpia-booking-app .limpia-summary-trust li::before {

    content: "\2713";

    position: absolute;

    left: 0;

    color: var(--olive-dark);
}



/* ============================================================
   TRUST STRIP
   ============================================================ */

#limpia-booking-app .limpia-trust-strip {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    margin-top: 12px;

    background:
        linear-gradient(
            90deg,
            #F8F5EF,
            #F2EFE8
        );

    border-radius: 6px;
}


#limpia-booking-app .limpia-trust-item {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 16px 22px;

    border-right: 1px solid var(--border);
}


#limpia-booking-app .limpia-trust-item:last-child {
    border-right: 0;
}


#limpia-booking-app .limpia-trust-svg {

    display: flex;

    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    color: var(--olive-dark);
}


#limpia-booking-app .limpia-trust-svg svg {

    width: 100%;
    height: 100%;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


#limpia-booking-app .limpia-trust-item strong {

    display: block;

    margin-bottom: 2px;

    color: var(--olive-dark);

    font-size: 11px;
}


#limpia-booking-app .limpia-trust-item span:not(.limpia-trust-svg) {

    color: var(--charcoal);

    font-size: 10px;

    line-height: 1.4;
}



/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1050px) {

    #limpia-booking-app {

        padding: 16px;
    }


    #limpia-booking-app .limpia-booking-layout {

        grid-template-columns:
            minmax(0, 1fr)
            285px;
    }


    #limpia-booking-app .limpia-option-row-6 {

        grid-template-columns: repeat(3, 1fr);
    }


    #limpia-booking-app .limpia-option-row-5 {

        grid-template-columns: repeat(3, 1fr);
    }


    #limpia-booking-app .limpia-contact-grid-3 {

        grid-template-columns: repeat(2, 1fr);
    }


    #limpia-booking-app .limpia-address-grid {

        grid-template-columns: repeat(2, 1fr);
    }

}

/* ============================================================
   MOBILE FINAL - APPROVED MOCKUP FOUNDATION
   Applies only to phones. Desktop/tablet rules above remain intact.
   ============================================================ */
/* ============================================================
   DESKTOP COMPATIBILITY FOR MOBILE-READY MARKUP
   Applies only to screens 768px and wider
   ============================================================ */

@media (min-width: 768px) {

    /* ---------------------------------------------------------
       STEP 2 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â PETS + ACCESS
       --------------------------------------------------------- */

   #limpia-booking-app .limpia-mobile-pets-access {
    display: grid;
    gap: 24px;
    padding-top: 22px;
}

#limpia-booking-app .limpia-mobile-pets-access > .limpia-field-group {
    margin-bottom: 0;
}

   #limpia-booking-app .limpia-field-label {
    display: block;

    margin: 0 0 9px;

    color: var(--olive-deep);

    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;

    letter-spacing: .3px;
    text-transform: uppercase;
}

    #limpia-booking-app .limpia-field-help {
        display: block;
        margin: 0 0 10px;
        color: var(--gray);
        font-size: 11px;
        line-height: 1.4;
    }

    #limpia-booking-app .limpia-pet-option,
    #limpia-booking-app .limpia-access-option {
        min-height: 48px;
        padding: 10px 12px;

        border: 1px solid var(--border);
        border-radius: 5px;

        background: #fff;

        color: var(--charcoal);

        font-size: 12px;
        line-height: 1.25;

        cursor: pointer;

        transition:
            border-color .18s ease,
            background .18s ease,
            color .18s ease;
    }

    #limpia-booking-app .limpia-pet-option:hover,
    #limpia-booking-app .limpia-access-option:hover {
        border-color: var(--olive);
    }

    #limpia-booking-app .limpia-pet-option.selected,
    #limpia-booking-app .limpia-access-option.selected {
        border-color: var(--olive-dark);
        background: var(--cream);
        color: var(--olive-dark);
        font-weight: 600;
    }

    #limpia-booking-app .limpia-option-row-4 {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    #limpia-booking-app .limpia-access-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }


    /* ---------------------------------------------------------
       STEP 2 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â BEDROOM / BATHROOM WRAPPER
       Wrapper should not alter desktop layout
       --------------------------------------------------------- */

    #limpia-booking-app .limpia-mobile-bed-bath {
        display: block;
    }


    /* ---------------------------------------------------------
       STEP 3 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â EXTRAS
       --------------------------------------------------------- */

    #limpia-booking-app .limpia-extras-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    #limpia-booking-app .limpia-extra-option,
    #limpia-booking-app .limpia-other-request-card {
        min-height: 78px;
    }


    /* ---------------------------------------------------------
       STEP 3 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â CALENDAR + ARRIVAL WINDOWS
       --------------------------------------------------------- */

    #limpia-booking-app .limpia-calendar-time-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    #limpia-booking-app .limpia-calendar-panel,
    #limpia-booking-app .limpia-arrival-panel {
        min-width: 0;
    }

    #limpia-booking-app .limpia-time-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #limpia-booking-app .limpia-time-option {
        width: 100%;
        min-height: 45px;
    }

}@media (max-width: 767px) {

    /* Full-bleed booking width inside WPBakery without affecting desktop */
    #limpia-booking-app {
        width: calc(100vw - 24px);
        max-width: none;
        margin-left: calc(50% - 50vw + 12px);
        margin-right: 0;
        padding: 0;
    }

/* ============================================================
   MOBILE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â REFINED STEP BAR FINAL
   38PX CIRCLES
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app .limpia-progress {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;

        width: 100% !important;

        margin: 0 0 14px !important;
        padding: 10px 10px 9px !important;

        gap: 0 !important;

        border: 1px solid var(--border) !important;
        border-radius: 8px !important;

        background: #fff !important;

        overflow: visible !important;
    }

    #limpia-booking-app .limpia-progress-step {
        display: flex !important;

        flex: 0 0 62px !important;
        width: 62px !important;
        min-width: 62px !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 6px !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        border: 0 !important;

        text-align: center !important;

        opacity: .65 !important;
    }

    #limpia-booking-app .limpia-progress-step.active,
    #limpia-booking-app .limpia-progress-step.complete {
        opacity: 1 !important;
    }

    /* CIRCLES */
    #limpia-booking-app .limpia-progress-number {
        position: relative !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 36px !important;
        height: 36px !important;

        min-width: 36px !important;
        max-width: 36px !important;

        flex: 0 0 36px !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 1px solid #cbc8c0 !important;
        border-radius: 50% !important;

        background: #fff !important;

        color: #222 !important;

        font-size: 13px !important;
        font-weight: 700 !important;

        line-height: 36px !important;
    }

    /* ACTIVE STEP */
    #limpia-booking-app
    .limpia-progress-step.active
    .limpia-progress-number {
        border-color: var(--olive-dark) !important;
        background: var(--olive-dark) !important;
        color: #fff !important;
    }

    /* COMPLETED STEP */
    #limpia-booking-app
    .limpia-progress-step.complete
    .limpia-progress-number {
        border-color: var(--olive-dark) !important;
        background: #fff !important;
        color: transparent !important;
        font-size: 0 !important;
    }

    #limpia-booking-app
    .limpia-progress-step.complete
    .limpia-progress-number::after {
        content: "\2713" !important;

        position: absolute !important;

        top: 50% !important;
        left: 50% !important;

        transform: translate(-50%, -50%) !important;

        color: var(--olive-dark) !important;

        font-size: 17px !important;
        font-weight: 800 !important;

        line-height: 1 !important;
    }

    /* LABELS */
    #limpia-booking-app .limpia-progress-label {
        display: block !important;

        width: 62px !important;
        max-width: 62px !important;

        margin: 0 !important;

        color: #333 !important;

        font-size: 10px !important;
        font-weight: 650 !important;

        line-height: 1.1 !important;

        text-align: center !important;

        white-space: nowrap !important;
    }

    #limpia-booking-app
    .limpia-progress-step.active
    .limpia-progress-label {
        color: var(--olive-deep) !important;
        font-weight: 800 !important;
    }

    /* CONNECTING LINES */
    #limpia-booking-app .limpia-progress-divider {
        display: block !important;

        flex: 1 1 auto !important;

        height: 1px !important;

        min-width: 18px !important;

        margin: 19px 3px 0 !important;

        padding: 0 !important;

        background: #d5d2c9 !important;

        color: transparent !important;

        font-size: 0 !important;

        line-height: 0 !important;
    }

}
    /* Main becomes a single mobile column. Summary is moved by JS. */
    #limpia-booking-app .limpia-booking-layout {
        display: block;
        width: 100%;
        border-radius: 8px;
        overflow: visible;
    }

    #limpia-booking-app .limpia-booking-main {
        width: 100%;
        min-width: 0;
        padding: 18px 14px;
        border-right: 0;
    }

    #limpia-booking-app .limpia-booking-step {
        width: 100%;
        min-width: 0;
    }

    #limpia-booking-app .limpia-booking-header {
        margin-bottom: 18px;
    }

    #limpia-booking-app .limpia-booking-header h2 {
        margin-bottom: 6px;
        font-size: 27px;
        line-height: 1.08;
        letter-spacing: -.25px;
    }

    #limpia-booking-app .limpia-booking-header p {
        font-size: 15px;
        line-height: 1.4;
    }

    /* STEP 1 ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â wide compact cards */
    #limpia-booking-app .limpia-service-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #limpia-booking-app .limpia-service-card {
        display: grid;
        grid-template-columns: 62px minmax(0, 1fr);
        align-items: center;
        justify-content: initial;
        min-height: 112px;
        padding: 14px 16px;
        border-radius: 7px;
        text-align: left;
    }

    #limpia-booking-app .limpia-service-icon {
        width: 48px;
        height: 48px;
        margin: 0;
    }

    #limpia-booking-app .limpia-service-icon svg {
        width: 46px;
        height: 46px;
    }

    #limpia-booking-app .limpia-service-copy {
        min-width: 0;
    }

    #limpia-booking-app .limpia-service-copy strong {
        margin: 0 0 5px;
        font-size: 18px;
        line-height: 1.18;
    }

    #limpia-booking-app .limpia-service-copy > span {
        max-width: none;
        margin: 0;
        font-size: 14px;
        line-height: 1.35;
    }

    #limpia-booking-app .limpia-service-card.selected .limpia-card-check,
    #limpia-booking-app .limpia-extra-option.selected .limpia-extra-check {
        display: flex;
        position: absolute;
        top: 9px;
        right: 9px;
        align-items: center;
        justify-content: center;
        width: 23px;
        height: 23px;
        border-radius: 50%;
        background: var(--olive-dark);
        color: #fff;
        font-size: 12px;
    }

    /* Shared section spacing */
    #limpia-booking-app .limpia-field-group {
        margin-bottom: 20px;
    }

    #limpia-booking-app .limpia-field-group h3,
    #limpia-booking-app .limpia-field-label {
        display: block;
        margin: 0 0 7px;
        color: var(--olive-deep);
        font-size: 12px;
        font-weight: 750;
        letter-spacing: .55px;
        text-transform: uppercase;
    }

    #limpia-booking-app .limpia-field-help {
        display: block;
        margin: -2px 0 8px;
        color: var(--gray);
        font-size: 10px;
        line-height: 1.35;
    }

    /* Step 2 */
    #limpia-booking-app .limpia-option-row {
        display: grid;
        gap: 7px;
    }

    #limpia-booking-app .limpia-option-row-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #limpia-booking-app .limpia-option-row-4,
    #limpia-booking-app .limpia-option-row-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #limpia-booking-app .limpia-option-row-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #limpia-booking-app .limpia-option-button,
    #limpia-booking-app .limpia-pet-option,
    #limpia-booking-app .limpia-access-option {
        width: 100%;
        min-width: 0;
        min-height: 43px;
        padding: 7px 6px;
        border: 1px solid var(--border) !important;
        border-radius: 5px;
        background: #fff !important;
        color: var(--charcoal) !important;
        font: inherit;
        font-size: 11px;
        line-height: 1.2;
        text-align: center;
    }

    #limpia-booking-app .limpia-pet-option.selected,
    #limpia-booking-app .limpia-access-option.selected {
        border: 1.5px solid var(--olive-dark) !important;
        background: var(--cream) !important;
        color: var(--olive-dark) !important;
        font-weight: 700;
    }

    #limpia-booking-app .limpia-access-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    #limpia-booking-app .limpia-mobile-pair {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        align-items: start;
    }

    #limpia-booking-app .limpia-mobile-pair > .limpia-field-group {
        min-width: 0;
    }

    /* Step 3 */
    #limpia-booking-app .limpia-extras-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    #limpia-booking-app .limpia-extra-option,
    #limpia-booking-app .limpia-other-request-card {
        min-height: 66px;
        padding: 10px;
    }

    #limpia-booking-app .limpia-extra-svg {
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
    }

    #limpia-booking-app .limpia-extra-copy strong {
        font-size: 11px;
    }

    #limpia-booking-app .limpia-extra-copy span {
        font-size: 10px;
    }

    #limpia-booking-app .limpia-calendar-time-layout {
        grid-template-columns: 1.1fr .9fr;
        gap: 10px;
    }

    #limpia-booking-app .limpia-calendar-shell {
        padding: 9px;
    }

    #limpia-booking-app .limpia-calendar-header {
        margin-bottom: 7px;
    }

    #limpia-booking-app .limpia-calendar-day {
        font-size: 10px;
    }

    #limpia-booking-app .limpia-time-option {
        min-height: 39px;
        padding: 6px 8px;
        font-size: 10px;
    }

    /* Step 4 ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â two columns where practical */
    #limpia-booking-app .limpia-contact-grid,
    #limpia-booking-app .limpia-contact-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    #limpia-booking-app .limpia-contact-grid-3,
    #limpia-booking-app .limpia-address-bottom-row {
        grid-template-columns: 1.2fr .7fr .9fr;
        gap: 8px;
    }

    #limpia-booking-app .limpia-input-group {
        min-width: 0;
        margin-bottom: 9px;
    }

    #limpia-booking-app .limpia-input-group label {
        margin-bottom: 4px;
        font-size: 10px;
    }

    #limpia-booking-app .limpia-input-group input,
    #limpia-booking-app .limpia-input-group select {
        min-width: 0;
        min-height: 44px;
        padding: 8px 9px;
        font-size: 12px;
    }

    #limpia-booking-app .limpia-payment-note {
        font-size: 10px;
    }

    #limpia-booking-app .limpia-payment-placeholder {
        min-height: 48px;
        padding: 9px 10px;
        font-size: 11px;
    }

    /* Mobile summary: compact card inserted before action/payment by JS */
    #limpia-booking-app .limpia-booking-summary {
        position: static;
        width: 100%;
        margin: 16px 0 12px;
        padding: 15px 14px;
        border: 1px solid var(--border);
        border-radius: 7px;
        background: linear-gradient(135deg, #FBF8F2, #F6F2EA);
    }

    #limpia-booking-app .limpia-summary-title {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        margin-bottom: 9px;
        text-align: left;
    }

    #limpia-booking-app .limpia-summary-title h3 {
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: .25px;
    }

    #limpia-booking-app .limpia-summary-brand-mark {
        width: auto;
        margin: 0;
        order: -1;
    }

    #limpia-booking-app .limpia-summary-brand-mark svg {
        width: 25px;
        height: 25px;
    }

    #limpia-booking-app .limpia-summary-empty {
        padding: 8px 0;
        font-size: 11px;
    }

    #limpia-booking-app .limpia-summary-section {
        padding: 8px 0;
    }

    #limpia-booking-app .limpia-summary-heading {
        margin-bottom: 5px;
        font-size: 9px;
    }

    #limpia-booking-app .limpia-summary-primary {
        font-size: 14px;
    }

    #limpia-booking-app .limpia-summary-section > div,
    #limpia-booking-app .limpia-summary-price > div {
        margin-bottom: 3px;
        font-size: 10px;
        line-height: 1.3;
    }

    #limpia-booking-app .limpia-summary-total {
        margin-top: 5px;
        padding: 10px;
    }

    #limpia-booking-app #summary-total {
        font-size: 23px;
    }

    #limpia-booking-app .limpia-summary-trust {
        display: none;
    }

    /* Buttons */
    #limpia-booking-app .limpia-single-action,
    #limpia-booking-app .limpia-step-buttons {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
        margin-top: 10px;
    }

    #limpia-booking-app #limpia-step-one-continue,
    #limpia-booking-app #limpia-step-two-continue,
    #limpia-booking-app #limpia-step-three-continue,
    #limpia-booking-app #limpia-confirm-booking,
    #limpia-booking-app .limpia-back-button {
        width: 100%;
        min-width: 0;
        min-height: 48px;
    }

    #limpia-booking-app .limpia-primary-button {
        padding: 10px 16px;
        font-size: 11px;
    }

    #limpia-booking-app .limpia-back-button {
        padding: 9px 14px;
        font-size: 11px;
    }

    /* Bottom trust strip becomes compact and stacked only after booking card */
    #limpia-booking-app .limpia-trust-strip {
        grid-template-columns: 1fr;
        margin-top: 10px;
    }

    #limpia-booking-app .limpia-trust-item {
        padding: 11px 14px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    #limpia-booking-app .limpia-trust-item:last-child {
        border-bottom: 0;
    }
}



/* ============================================================
   STEP 2 DESKTOP ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â FINAL TITLE + SPACING OVERRIDE
   ============================================================ */

@media (min-width: 768px) {

    /* Make ALL Step 2 section titles identical */
    #limpia-booking-app #limpia-step-2 .limpia-field-group > h3,
    #limpia-booking-app #limpia-step-2 .limpia-field-label {

        display: block !important;

        margin: 0 0 11px 0 !important;

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;

        letter-spacing: .35px !important;
        text-transform: uppercase !important;

        color: var(--olive-deep) !important;
    }


    /* Consistent space AFTER each group of boxes */
    #limpia-booking-app #limpia-step-2 .limpia-field-group {
        margin-bottom: 26px !important;
    }


    /* Bedroom + Bathroom wrapper */
    #limpia-booking-app #limpia-step-2 .limpia-mobile-bed-bath {
        display: block !important;
    }


    /* Remove competing Pets / Access spacing */
    #limpia-booking-app #limpia-step-2 .limpia-mobile-pets-access {
        display: block !important;
        padding-top: 0 !important;
        gap: 0 !important;
    }


    /* Space between Pets boxes and Access title */
    #limpia-booking-app #limpia-step-2
    .limpia-mobile-pets-access > .limpia-field-group {
        margin-bottom: 26px !important;
    }


    /* No unnecessary extra margin after Access */
    #limpia-booking-app #limpia-step-2
    .limpia-mobile-pets-access > .limpia-field-group:last-child {
        margin-bottom: 0 !important;
    }

}


/* ============================================================
   LIMPIA DESKTOP ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â GLOBAL TYPOGRAPHY SCALE
   Applies to screens 768px and wider
   ============================================================ */

@media (min-width: 768px) {

    /* Main step headings */
    #limpia-booking-app .limpia-booking-header h2 {
        font-size: 32px !important;
        font-weight: 750 !important;
        line-height: 1.15 !important;
    }

    /* Intro text below main heading */
    #limpia-booking-app .limpia-booking-header p {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }


    /* All main section titles */
    #limpia-booking-app .limpia-field-group > h3,
    #limpia-booking-app .limpia-field-label {

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;

        letter-spacing: .35px !important;
        text-transform: uppercase !important;

        color: var(--olive-deep) !important;
    }


    /* Option buttons throughout Steps 2 + 3 */
    #limpia-booking-app .limpia-option-button,
    #limpia-booking-app .limpia-pet-option,
    #limpia-booking-app .limpia-access-option,
    #limpia-booking-app .limpia-time-option {

        font-size: 14px !important;
        line-height: 1.3 !important;
    }


    /* Step 1 service titles */
    #limpia-booking-app .limpia-service-copy strong {
        font-size: 19px !important;
        font-weight: 750 !important;
    }

    /* Step 1 service descriptions */
    #limpia-booking-app .limpia-service-copy > span {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }


    /* Step 3 extras titles */
    #limpia-booking-app .limpia-extra-copy strong {
        font-size: 14px !important;
        font-weight: 750 !important;
    }

    /* Step 3 extras prices/descriptions */
    #limpia-booking-app .limpia-extra-copy span {
        font-size: 12px !important;
    }


    /* Step 3 smaller labels */
    #limpia-booking-app .limpia-calendar-panel > label,
    #limpia-booking-app .limpia-arrival-panel > label {

        font-size: 13px !important;
        font-weight: 800 !important;
    }


    /* Step 4 input labels */
    #limpia-booking-app .limpia-input-group label {

        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
    }


    /* Step 4 entered/placeholder text */
    #limpia-booking-app .limpia-input-group input,
    #limpia-booking-app .limpia-input-group select {

        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    #limpia-booking-app .limpia-input-group input::placeholder {
        font-size: 15px !important;
    }


    /* Progress bar */
    #limpia-booking-app .limpia-progress-label {
        font-size: 15px !important;
        font-weight: 700 !important;
    }

    #limpia-booking-app .limpia-progress-number {
        font-size: 15px !important;
    }


    /* Booking summary section headings */
    #limpia-booking-app .limpia-summary-heading {
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    /* Booking summary normal content */
    #limpia-booking-app .limpia-summary-section > div {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    /* Selected service */
    #limpia-booking-app .limpia-summary-primary {
        font-size: 17px !important;
    }


    /* Primary buttons */
    #limpia-booking-app .limpia-primary-button,
    #limpia-booking-app .limpia-back-button {

        font-size: 13px !important;
        font-weight: 750 !important;
    }

}



/* ============================================================
   STEP 3 DESKTOP ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â FINAL FONT + SPACING
   ============================================================ */

@media (min-width: 768px) {

    /* Main Step 3 section titles */
    #limpia-booking-app #limpia-step-3 .limpia-field-group > h3 {
        margin: 0 0 16px 0 !important;

        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;

        letter-spacing: .35px !important;
        text-transform: uppercase !important;

        color: var(--olive-deep) !important;
    }


    /* More space between Add Extras / Frequency / Date & Time */
    #limpia-booking-app #limpia-step-3 .limpia-field-group {
        margin-bottom: 30px !important;
    }


    /* Extra cards */
    #limpia-booking-app #limpia-step-3 .limpia-extra-option,
    #limpia-booking-app #limpia-step-3 .limpia-other-request-card {
        min-height: 82px !important;
        padding: 14px 16px !important;
    }

    #limpia-booking-app #limpia-step-3 .limpia-extra-copy strong {
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
    }

    #limpia-booking-app #limpia-step-3 .limpia-extra-copy span {
        margin-top: 3px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }


    /* Frequency buttons */
    #limpia-booking-app #limpia-step-3 .frequency-option {
        min-height: 50px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }


    /* Select Date / Arrival Window labels */
    #limpia-booking-app #limpia-step-3 .limpia-calendar-panel > label,
    #limpia-booking-app #limpia-step-3 .limpia-arrival-panel > label {
        display: block !important;

        margin: 0 0 12px 0 !important;

        font-size: 14px !important;
        font-weight: 800 !important;

        color: var(--olive-deep) !important;
    }


    /* More room between C. SELECT DATE & TIME and calendar */
    #limpia-booking-app #limpia-step-3 .limpia-calendar-time-layout {
        margin-top: 8px !important;
        gap: 22px !important;
    }


    /* Calendar month */
    #limpia-booking-app #limpia-step-3 #limpia-calendar-month {
        font-size: 14px !important;
        font-weight: 800 !important;
    }


    /* Calendar weekday headings */
    #limpia-booking-app #limpia-step-3
    .limpia-calendar-weekdays span {
        font-size: 12px !important;
        font-weight: 700 !important;
    }


    /* Calendar numbers */
    #limpia-booking-app #limpia-step-3 .limpia-calendar-day {
        font-size: 13px !important;
        font-weight: 500 !important;
    }


    /* Arrival window buttons */
    #limpia-booking-app #limpia-step-3 .limpia-time-option {
        min-height: 50px !important;

        padding: 10px 14px !important;

        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-time-option.selected {
        font-weight: 800 !important;
    }


    /* Back + Continue */
    #limpia-booking-app #limpia-step-3 .limpia-back-button,
    #limpia-booking-app #limpia-step-3 .limpia-primary-button {
        font-size: 14px !important;
        font-weight: 800 !important;
    }

}



/* ============================================================
   LIMPIA ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â READABILITY SCALE ONLY
   Typography + summary price alignment
   DOES NOT alter grids, widths, card sizes or mobile layout
   ============================================================ */


/* ============================================================
   MOBILE ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 767px AND BELOW
   ============================================================ */

/* ============================================================
   LIMPIA ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â MOBILE FINAL
   STEP 1 + SHARED MOBILE TYPOGRAPHY
   Reference: approved mobile mockups
   ============================================================ */

@media (max-width: 767px) {

    /* ========================================================
       APP WIDTH
       ======================================================== */

    #limpia-booking-app {
        width: calc(100vw - 24px) !important;
        max-width: none !important;

        margin-left: calc(50% - 50vw + 12px) !important;
        margin-right: 0 !important;

        padding: 0 !important;
    }


    /* ========================================================
       PROGRESS
       ======================================================== */

    #limpia-booking-app .limpia-progress {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;

        width: 100% !important;

        margin: 0 0 14px !important;
        padding: 11px 7px 10px !important;

        gap: 2px !important;

        border: 1px solid var(--border) !important;
        border-radius: 8px !important;

        background: #fff !important;
    }

    #limpia-booking-app .limpia-progress-step {
        display: flex !important;
        flex: 1 1 0 !important;

        min-width: 0 !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 5px !important;

        text-align: center !important;
    }

    #limpia-booking-app .limpia-progress-number {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;

        font-size: 14px !important;
        font-weight: 750 !important;
    }

    #limpia-booking-app .limpia-progress-label {
        display: block !important;

        max-width: 76px !important;

        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;

        white-space: normal !important;

        text-align: center !important;
    }

    #limpia-booking-app .limpia-progress-divider {
        flex: 0 0 8px !important;

        margin: 11px -1px 0 !important;

        font-size: 15px !important;
        line-height: 1 !important;
    }


    /* ========================================================
       MAIN BOOKING CARD
       ======================================================== */

    #limpia-booking-app .limpia-booking-layout {
        display: block !important;

        width: 100% !important;

        overflow: visible !important;

        border-radius: 8px !important;
    }

    #limpia-booking-app .limpia-booking-main {
        width: 100% !important;
        min-width: 0 !important;

        padding: 20px 14px 18px !important;

        border-right: 0 !important;
    }

    #limpia-booking-app .limpia-booking-step {
        width: 100% !important;
        min-width: 0 !important;
    }


    /* ========================================================
       PAGE HEADING
       ======================================================== */

    #limpia-booking-app .limpia-booking-header {
        margin-bottom: 18px !important;
    }

    #limpia-booking-app .limpia-booking-header h2 {
        margin: 0 0 6px !important;

        font-size: 27px !important;
        font-weight: 750 !important;
        line-height: 1.08 !important;

        letter-spacing: -.25px !important;
    }

    #limpia-booking-app .limpia-booking-header p {
        margin: 0 !important;

        font-size: 15px !important;
        line-height: 1.45 !important;
    }


    /* ========================================================
       STEP 1 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â SERVICE GRID
       APPROVED 2 ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â 2 MOBILE LAYOUT
       ======================================================== */

    #limpia-booking-app #limpia-step-1 .limpia-service-grid {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 10px !important;
    }

    #limpia-booking-app #limpia-step-1 .limpia-service-card {
        position: relative !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: center !important;
        justify-content: flex-start !important;

        min-width: 0 !important;
        min-height: 166px !important;

        padding: 17px 10px 14px !important;

        border: 1px solid var(--border-light) !important;
        border-radius: 9px !important;

        background: #fff !important;

        text-align: center !important;
    }

    #limpia-booking-app #limpia-step-1 .limpia-service-card.selected {
        border: 1.5px solid var(--gold) !important;

        background: var(--cream) !important;

        box-shadow:
            0 4px 14px rgba(183, 156, 90, .12) !important;
    }


    /* ========================================================
       STEP 1 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ICONS
       ======================================================== */

    #limpia-booking-app #limpia-step-1 .limpia-service-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 48px !important;
        height: 48px !important;

        margin: 0 0 9px !important;

        flex: 0 0 48px !important;
    }

    #limpia-booking-app
    #limpia-step-1
    .limpia-service-icon svg {

        width: 44px !important;
        height: 44px !important;
    }


    /* ========================================================
       STEP 1 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â SERVICE TEXT
       ======================================================== */

    #limpia-booking-app
    #limpia-step-1
    .limpia-service-copy {

        width: 100% !important;
        min-width: 0 !important;

        text-align: center !important;
    }

    #limpia-booking-app
    #limpia-step-1
    .limpia-service-copy strong {

        display: block !important;

        margin: 0 0 5px !important;

        color: var(--olive-deep) !important;

        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.18 !important;
    }

    #limpia-booking-app
    #limpia-step-1
    .limpia-service-copy > span {

        display: block !important;

        max-width: none !important;

        margin: 0 auto !important;

        color: #555149 !important;

        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }


    /* ========================================================
       SELECTED CHECK
       ======================================================== */

    #limpia-booking-app
    #limpia-step-1
    .limpia-service-card.selected
    .limpia-card-check {

        position: absolute !important;

        top: 8px !important;
        right: 8px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 22px !important;
        height: 22px !important;

        border-radius: 50% !important;

        background: var(--olive-dark) !important;

        color: #fff !important;

        font-size: 11px !important;
    }


    /* ========================================================
       SHARED MOBILE SECTION TYPOGRAPHY
       Steps 2ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ4 remain functional until their redesign
       ======================================================== */

    #limpia-booking-app .limpia-field-group > h3,
    #limpia-booking-app .limpia-field-label {
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
    }

    #limpia-booking-app .limpia-field-help,
    #limpia-booking-app .limpia-helper-text,
    #limpia-booking-app .limpia-field-description {

        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    #limpia-booking-app .limpia-optional {
        font-size: 13px !important;
        font-weight: 400 !important;
    }

    #limpia-booking-app .limpia-option-button,
    #limpia-booking-app .limpia-pet-option,
    #limpia-booking-app .limpia-access-option,
    #limpia-booking-app .frequency-option {

        font-size: 15px !important;
        line-height: 1.3 !important;
    }


    /* ========================================================
       MOBILE SUMMARY
       More like approved reference
       ======================================================== */

    #limpia-booking-app .limpia-booking-summary {
        position: static !important;

        width: 100% !important;

        margin: 14px 0 12px !important;
        padding: 16px 14px !important;

        border: 1px solid var(--border) !important;
        border-radius: 8px !important;

        background:
            linear-gradient(
                135deg,
                #FBF8F2,
                #F6F2EA
            ) !important;
    }

    #limpia-booking-app .limpia-summary-title {
        display: flex !important;

        align-items: center !important;
        justify-content: flex-start !important;

        gap: 8px !important;

        margin-bottom: 11px !important;

        text-align: left !important;
    }

    #limpia-booking-app .limpia-summary-title h3 {
        font-size: 15px !important;
        font-weight: 800 !important;

        letter-spacing: .3px !important;

        text-transform: uppercase !important;
    }

    #limpia-booking-app .limpia-summary-brand-mark {
        width: auto !important;

        margin: 0 !important;

        order: -1 !important;
    }

    #limpia-booking-app .limpia-summary-brand-mark svg {
        width: 27px !important;
        height: 27px !important;
    }

    #limpia-booking-app .limpia-summary-section {
        padding: 9px 0 !important;
    }

    #limpia-booking-app .limpia-summary-heading {
        margin-bottom: 5px !important;

        font-size: 11px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-summary-primary {
        font-size: 15px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-summary-section > div,
    #limpia-booking-app .limpia-summary-price > div {

        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    #limpia-booking-app .limpia-summary-total {
        margin-top: 7px !important;

        padding: 11px 12px !important;
    }

    #limpia-booking-app #summary-total {
        font-size: 25px !important;
    }

    #limpia-booking-app .limpia-summary-trust {
        display: none !important;
    }


    /* ========================================================
       BUTTONS
       ======================================================== */

    #limpia-booking-app .limpia-single-action,
    #limpia-booking-app .limpia-step-buttons {

        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 8px !important;

        width: 100% !important;

        margin-top: 12px !important;
    }

    #limpia-booking-app #limpia-step-one-continue,
    #limpia-booking-app #limpia-step-two-continue,
    #limpia-booking-app #limpia-step-three-continue,
    #limpia-booking-app #limpia-confirm-booking,
    #limpia-booking-app .limpia-back-button {

        width: 100% !important;

        min-width: 0 !important;
        min-height: 50px !important;
    }

    #limpia-booking-app .limpia-primary-button,
    #limpia-booking-app .limpia-back-button {

        font-size: 15px !important;
        font-weight: 800 !important;
    }


    /* ========================================================
       INPUT SAFETY
       16px prevents iPhone Safari zoom
       ======================================================== */

    #limpia-booking-app .limpia-input-group input,
    #limpia-booking-app .limpia-input-group select,
    #limpia-booking-app textarea {

        font-size: 16px !important;
    }

}


/* ============================================================
   LAPTOP ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 768px TO 1279px
   ============================================================ */

@media (min-width: 768px) and (max-width: 1279px) {

    #limpia-booking-app .limpia-booking-header h2 {
        font-size: 34px !important;
        line-height: 1.15 !important;
    }

    #limpia-booking-app .limpia-booking-header p {
        font-size: 17px !important;
        line-height: 1.55 !important;
    }


    #limpia-booking-app .limpia-field-group > h3,
    #limpia-booking-app .limpia-field-label {
        font-size: 16px !important;
        font-weight: 800 !important;
    }


    /* Circled helper text */
    #limpia-booking-app #limpia-step-2 .limpia-field-group p,
    #limpia-booking-app .limpia-field-help,
    #limpia-booking-app .limpia-helper-text,
    #limpia-booking-app .limpia-field-description {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }


    #limpia-booking-app .limpia-optional {
        font-size: 13px !important;
    }


    #limpia-booking-app .limpia-option-button,
    #limpia-booking-app .limpia-pet-option,
    #limpia-booking-app .limpia-access-option,
    #limpia-booking-app .frequency-option {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-service-copy strong {
        font-size: 21px !important;
    }

    #limpia-booking-app .limpia-service-copy > span {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }


    #limpia-booking-app .limpia-extra-copy strong {
        font-size: 16px !important;
    }

    #limpia-booking-app .limpia-extra-copy span {
        font-size: 14px !important;
    }


    /* Circled Step 3 labels */
    #limpia-booking-app .limpia-calendar-panel > label,
    #limpia-booking-app .limpia-arrival-panel > label {
        font-size: 15px !important;
        font-weight: 800 !important;
    }


    #limpia-booking-app #limpia-calendar-month {
        font-size: 16px !important;
    }

    #limpia-booking-app .limpia-calendar-weekdays span {
        font-size: 13px !important;
    }

    #limpia-booking-app .limpia-calendar-day {
        font-size: 14px !important;
    }

    #limpia-booking-app .limpia-time-option {
        font-size: 15px !important;
    }


    /* Step 4 */
    #limpia-booking-app .limpia-input-group label {
        font-size: 15px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-input-group input,
    #limpia-booking-app .limpia-input-group select {
        font-size: 16px !important;
    }


    /* Circled summary text */
    #limpia-booking-app .limpia-summary-title h3 {
        font-size: 21px !important;
    }

    #limpia-booking-app .limpia-summary-heading {
        font-size: 14px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-summary-section > div {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    #limpia-booking-app .limpia-summary-primary {
        font-size: 18px !important;
    }

    #limpia-booking-app .limpia-summary-extra-row {
        font-size: 15px !important;
    }

    #limpia-booking-app .limpia-summary-price > div {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }


    #limpia-booking-app .limpia-progress-label {
        font-size: 15px !important;
    }

    #limpia-booking-app .limpia-progress-number {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-primary-button,
    #limpia-booking-app .limpia-back-button {
        font-size: 15px !important;
    }

}



/* ============================================================
   LARGE DESKTOP ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 1280px+
   ============================================================ */

@media (min-width: 1280px) {

    #limpia-booking-app .limpia-booking-header h2 {
        font-size: 38px !important;
        line-height: 1.15 !important;
    }

    #limpia-booking-app .limpia-booking-header p {
        font-size: 18px !important;
        line-height: 1.55 !important;
    }


    #limpia-booking-app .limpia-field-group > h3,
    #limpia-booking-app .limpia-field-label {
        font-size: 17px !important;
        font-weight: 800 !important;
    }


    #limpia-booking-app #limpia-step-2 .limpia-field-group p,
    #limpia-booking-app .limpia-field-help,
    #limpia-booking-app .limpia-helper-text,
    #limpia-booking-app .limpia-field-description {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }


    #limpia-booking-app .limpia-optional {
        font-size: 14px !important;
    }


    #limpia-booking-app .limpia-option-button,
    #limpia-booking-app .limpia-pet-option,
    #limpia-booking-app .limpia-access-option,
    #limpia-booking-app .frequency-option {
        font-size: 17px !important;
    }


    #limpia-booking-app .limpia-service-copy strong {
        font-size: 22px !important;
    }

    #limpia-booking-app .limpia-service-copy > span {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-extra-copy strong {
        font-size: 17px !important;
    }

    #limpia-booking-app .limpia-extra-copy span {
        font-size: 15px !important;
    }


    #limpia-booking-app .limpia-calendar-panel > label,
    #limpia-booking-app .limpia-arrival-panel > label {
        font-size: 16px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app #limpia-calendar-month {
        font-size: 17px !important;
    }

    #limpia-booking-app .limpia-calendar-weekdays span {
        font-size: 14px !important;
    }

    #limpia-booking-app .limpia-calendar-day {
        font-size: 15px !important;
    }

    #limpia-booking-app .limpia-time-option {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-input-group label {
        font-size: 16px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-input-group input,
    #limpia-booking-app .limpia-input-group select {
        font-size: 17px !important;
    }


    /* Summary */
    #limpia-booking-app .limpia-summary-title h3 {
        font-size: 22px !important;
    }

    #limpia-booking-app .limpia-summary-heading {
        font-size: 15px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-summary-section > div {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    #limpia-booking-app .limpia-summary-primary {
        font-size: 19px !important;
    }

    #limpia-booking-app .limpia-summary-extra-row {
        font-size: 16px !important;
    }

    #limpia-booking-app .limpia-summary-price > div {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-progress-label {
        font-size: 16px !important;
    }

    #limpia-booking-app .limpia-progress-number {
        font-size: 17px !important;
    }


    #limpia-booking-app .limpia-primary-button,
    #limpia-booking-app .limpia-back-button {
        font-size: 16px !important;
    }

}



/* ============================================================
   BOOKING SUMMARY ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ALIGN ALL PRICES TO THE RIGHT
   Same visual structure as ADD-ONS
   ============================================================ */

#limpia-booking-app .limpia-summary-extra-row,
#limpia-booking-app .limpia-summary-price > div {

    display: flex !important;

    align-items: baseline !important;

    justify-content: space-between !important;

    width: 100% !important;

    gap: 16px !important;
}


/* Dollar amount stays at far-right */
#limpia-booking-app .limpia-summary-extra-row > *:last-child,
#limpia-booking-app .limpia-summary-price > div > *:last-child {

    margin-left: auto !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* Give labels room while price remains aligned */
#limpia-booking-app .limpia-summary-price > div > *:first-child {

    min-width: 0 !important;

    text-align: left !important;
}




/* ============================================================
   LIMPIA ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â FINAL SUMMARY + TRUST FIX
   Replaces old bullet, price-alignment and trust-strip patches
   ============================================================ */


/* ============================================================
   PRICE DETAILS ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â LABEL LEFT / AMOUNT RIGHT
   ============================================================ */

/* ============================================================
   PRICE DETAILS ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â FINAL FORCED ALIGNMENT
   ============================================================ */


/* Every individual Price Details row */
#limpia-booking-app
.limpia-summary-price
.limpia-price-line {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        max-content !important;

    align-items: baseline !important;

    width: 100% !important;

    column-gap: 24px !important;

    padding: 4px 0 !important;

    margin: 0 0 5px 0 !important;
}


/* LEFT ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â description */
#limpia-booking-app
.limpia-summary-price
.limpia-price-line > span {

    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;

    color: var(--charcoal) !important;

    text-align: left !important;

    font-weight: 400 !important;
}


/* RIGHT ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â price */
#limpia-booking-app
.limpia-summary-price
.limpia-price-line > strong {

    display: block !important;

    justify-self: end !important;

    margin: 0 !important;

    padding: 0 !important;

    color: #000000 !important;

    text-align: right !important;

    font-weight: 700 !important;

    white-space: nowrap !important;
}


/* ============================================================
   PRICE DETAILS ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â FIXED ROWS
   ============================================================ */

#limpia-booking-app #summary-base-row,
#limpia-booking-app #summary-bedroom-row,
#limpia-booking-app #summary-bathroom-row,
#limpia-booking-app #summary-addons-row {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        max-content !important;

    align-items: baseline !important;

    width: 100% !important;

    column-gap: 24px !important;
}


/* ============================================================
   PRICE DETAILS ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â DYNAMIC ROWS
   JS CONTROLS SHOW / HIDE
   ============================================================ */

#limpia-booking-app #summary-service-row,
#limpia-booking-app #summary-discount-row {

    grid-template-columns:
        minmax(0, 1fr)
        max-content !important;

    align-items: baseline !important;

    width: 100% !important;

    column-gap: 24px !important;
}


/* Individual amount IDs ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â force black */
#limpia-booking-app #summary-base-price,
#limpia-booking-app #summary-service-adjustment,
#limpia-booking-app #summary-bedroom-adjustment,
#limpia-booking-app #summary-bathroom-adjustment,
#limpia-booking-app #summary-discount,
#limpia-booking-app #summary-addons {

    color: #000000 !important;

    font-weight: 700 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* ============================================================
   SELECTED ADD-ONS SECTION
   Match the exact same left/right alignment
   ============================================================ */

#limpia-booking-app .limpia-summary-extra-row {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        max-content !important;

    align-items: baseline !important;

    width: 100% !important;

    column-gap: 24px !important;
}


#limpia-booking-app .limpia-summary-extra-row > strong {

    justify-self: end !important;

    margin: 0 !important;

    color: #000000 !important;

    font-weight: 700 !important;

    text-align: right !important;

    white-space: nowrap !important;
}


/* Total */
#limpia-booking-app #summary-total {

    color: #000000 !important;
}



/* ============================================================
   WHY BOOK WITH LIMPIA ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â SINGLE CLEAN BULLET
   ============================================================ */

#limpia-booking-app .limpia-summary-trust {
    margin-top: 18px !important;

    padding: 20px !important;
}


/* Heading */
#limpia-booking-app .limpia-summary-trust > strong {
    display: block !important;

    margin-bottom: 12px !important;

    color: var(--olive-deep) !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}


/* Use normal browser bullets */
#limpia-booking-app .limpia-summary-trust ul {
    margin: 0 !important;

    padding-left: 20px !important;

    list-style: disc !important;
}


/* Individual lines */
#limpia-booking-app .limpia-summary-trust li {
    position: static !important;

    margin-bottom: 8px !important;

    padding-left: 2px !important;

    color: var(--charcoal) !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    line-height: 1.45 !important;
}


/* Remove old generated bullet/checkmark */
#limpia-booking-app .limpia-summary-trust li::before {
    content: none !important;

    display: none !important;
}


#limpia-booking-app .limpia-summary-trust li:last-child {
    margin-bottom: 0 !important;
}



/* ============================================================
   BOTTOM TRUST STRIP
   Easy Online Booking / Safe & Secure / Hassle-Free
   ============================================================ */

#limpia-booking-app .limpia-trust-item {
    gap: 15px !important;

    padding: 20px 24px !important;
}


/* Icons */
#limpia-booking-app .limpia-trust-svg {
    width: 42px !important;
    height: 42px !important;

    flex: 0 0 42px !important;
}


/* Titles */
#limpia-booking-app .limpia-trust-item strong {
    display: block !important;

    margin-bottom: 5px !important;

    color: var(--olive-dark) !important;

    font-size: 15px !important;
    font-weight: 800 !important;

    line-height: 1.3 !important;
}


/* Descriptions */
#limpia-booking-app
.limpia-trust-item
span:not(.limpia-trust-svg) {

    display: block !important;

    color: var(--charcoal) !important;

    font-size: 13px !important;
    font-weight: 500 !important;

    line-height: 1.45 !important;
}



/* ============================================================
   LARGE DESKTOP
   ============================================================ */

@media (min-width: 1280px) {

    /* Why Book With Limpia */
    #limpia-booking-app .limpia-summary-trust > strong {
        font-size: 16px !important;
    }

    #limpia-booking-app .limpia-summary-trust li {
        font-size: 14px !important;
    }


    /* Bottom trust strip */
    #limpia-booking-app .limpia-trust-item strong {
        font-size: 16px !important;
    }

    #limpia-booking-app
    .limpia-trust-item
    span:not(.limpia-trust-svg) {

        font-size: 14px !important;
    }

}



/* ============================================================
   MOBILE
   Keeps layout intact ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â typography only
   ============================================================ */

@media (max-width: 767px) {

    /* Why Book With Limpia */
    #limpia-booking-app .limpia-summary-trust > strong {
        font-size: 17px !important;
    }

    #limpia-booking-app .limpia-summary-trust li {
        font-size: 15px !important;

        line-height: 1.5 !important;
    }


    /* Bottom trust strip */
    #limpia-booking-app .limpia-trust-item strong {
        font-size: 17px !important;
    }

    #limpia-booking-app
    .limpia-trust-item
    span:not(.limpia-trust-svg) {

        font-size: 15px !important;

        line-height: 1.45 !important;
    }

    #limpia-booking-app .limpia-trust-svg {
        width: 40px !important;
        height: 40px !important;

        flex-basis: 40px !important;
    }

}




/* ============================================================
   STEP 3 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â PHOTO UPLOAD ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â FINAL COMPACT VERSION
   ============================================================ */

#limpia-booking-app .limpia-photo-upload-group {
    margin-top: 18px;
    margin-bottom: 16px;
}
#limpia-booking-app .limpia-photo-upload-group h3 span {
    color: var(--gray);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-transform: none;
    opacity: 1;
}

#limpia-booking-app .limpia-photo-upload-group h3 span {
    font-weight: 500;
    opacity: 0.72;
}
#limpia-booking-app .limpia-photo-help {
    margin: 0 !important;
    padding: 0 !important;
}

#limpia-booking-app .limpia-photo-help + .limpia-photo-dropzone {
    margin-top: 4px !important;
}
#limpia-booking-app .limpia-photo-dropzone {
    width: 100%;
    margin-top: 10px;
}

#limpia-booking-app .limpia-photo-upload-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: 100%;
    min-height: 72px;

    padding: 12px 18px;

    border: 1.5px dashed #b9b39d;
    border-radius: 10px;

    background: #fbfaf6;

    cursor: pointer;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease;
}

#limpia-booking-app .limpia-photo-upload-button:hover {
    border-color: var(--olive-dark);
    background: #f6f4ed;
}

#limpia-booking-app .limpia-photo-upload-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    border: 1px solid var(--border);
    border-radius: 50%;

    color: var(--olive-dark);

    font-size: 24px;
    line-height: 1;
    font-weight: 400;
}

#limpia-booking-app .limpia-photo-upload-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
}

#limpia-booking-app .limpia-photo-upload-text strong {
    color: var(--olive-deep);
    font-size: 14px;
    font-weight: 750;
}

#limpia-booking-app .limpia-photo-upload-text small {
    color: var(--gray);
    font-size: 11px;
    line-height: 1.4;
}

#limpia-booking-app .limpia-photo-preview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;

    margin-top: 8px;
}

#limpia-booking-app .limpia-photo-preview-item {
    position: relative;

    aspect-ratio: 1 / 1;

    overflow: hidden;

    border: 1px solid var(--border);
    border-radius: 10px;

    background: #f5f5f2;
}

#limpia-booking-app .limpia-photo-preview-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#limpia-booking-app .limpia-photo-remove {
    position: absolute;
    top: 6px;
    right: 6px;

    width: 24px;
    height: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(50, 60, 39, 0.92);
    color: #ffffff;

    font-size: 16px;
    line-height: 1;

    cursor: pointer;
}


/* MOBILE */

@media (max-width: 767px) {

    #limpia-booking-app .limpia-photo-upload-group {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    #limpia-booking-app .limpia-photo-upload-button {
        min-height: 72px;
        padding: 12px 14px;
    }

    #limpia-booking-app .limpia-photo-upload-text strong {
        font-size: 15px;
    }

    #limpia-booking-app .limpia-photo-upload-text small {
        font-size: 12px;
    }

    #limpia-booking-app .limpia-photo-preview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}
/* ============================================================
   MOBILE REDESIGN ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â STEP 1
   Compact premium layout
   ============================================================ */

@media (max-width: 767px) {

    /* Main card spacing */
    #limpia-booking-app #limpia-step-1 {
        padding-bottom: 0 !important;
    }

    #limpia-booking-app #limpia-step-1 .limpia-booking-header {
        margin-bottom: 16px !important;
    }

    #limpia-booking-app #limpia-step-1 .limpia-booking-header h2 {
        font-size: 25px !important;
        line-height: 1.12 !important;
        margin-bottom: 6px !important;
    }

    #limpia-booking-app #limpia-step-1 .limpia-booking-header p {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }


    /* 2 ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â 2 service grid */
    #limpia-booking-app #limpia-step-1 .limpia-service-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }


    /* Compact service cards */
    #limpia-booking-app #limpia-step-1 .limpia-service-card {
        min-height: 145px !important;
        padding: 14px 9px 12px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;

        border-radius: 8px !important;
        text-align: center !important;
    }


    /* Selected state */
    #limpia-booking-app #limpia-step-1 .limpia-service-card.selected {
        border: 1.5px solid var(--gold) !important;
        background: #fbfaf5 !important;
        box-shadow: none !important;
    }


    /* Icons */
    #limpia-booking-app #limpia-step-1 .limpia-service-icon {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;

        margin: 0 0 8px !important;
    }

    #limpia-booking-app #limpia-step-1 .limpia-service-icon svg {
        width: 40px !important;
        height: 40px !important;
    }


    /* Titles */
    #limpia-booking-app #limpia-step-1 .limpia-service-copy strong {
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.18 !important;

        margin-bottom: 4px !important;
    }


    /* Description */
    #limpia-booking-app #limpia-step-1 .limpia-service-copy > span {
        font-size: 13px !important;
        line-height: 1.3 !important;

        max-width: 145px !important;
        margin: 0 auto !important;
    }


    /* Selected check */
    #limpia-booking-app #limpia-step-1
    .limpia-service-card.selected
    .limpia-card-check {

        top: 7px !important;
        right: 7px !important;

        width: 21px !important;
        height: 21px !important;

        font-size: 11px !important;
    }


    /* Compact total bar */
    #limpia-booking-app #limpia-step-1
    .limpia-mobile-total-bar {

        margin: 12px 0 8px !important;

        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;
    }

    #limpia-booking-app #limpia-step-1
    .limpia-mobile-total-copy {

        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;

        width: 100% !important;
    }

    #limpia-booking-app #limpia-step-1
    .limpia-mobile-total-copy span {

        font-size: 14px !important;
        font-weight: 700 !important;

        color: var(--charcoal) !important;
    }

    #limpia-booking-app #limpia-step-1
    .limpia-mobile-total-amount {

        font-size: 23px !important;
        font-weight: 800 !important;

        color: var(--olive-deep) !important;
    }


    /* Continue button */
    #limpia-booking-app #limpia-step-1
    #limpia-step-one-continue {

        min-height: 52px !important;

        font-size: 15px !important;
        font-weight: 800 !important;

        border-radius: 7px !important;
    }

}
/* ============================================================
   MOBILE TOTAL BAR
   Hidden on desktop, shown only on mobile
   ============================================================ */

#limpia-booking-app .limpia-mobile-total-bar {
    display: none;
}

@media (max-width: 767px) {

    #limpia-booking-app .limpia-mobile-total-bar {
        display: block;
    }

}



/* ============================================================
   MOBILE REDESIGN ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â STEP 2
   Compact Home Details Layout
   ============================================================ */

@media (max-width: 767px) {

    /* --------------------------------------------------------
       STEP 2 HEADER
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-booking-header {
        margin-bottom: 16px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-booking-header h2 {
        margin-bottom: 6px !important;

        font-size: 25px !important;
        font-weight: 750 !important;
        line-height: 1.12 !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-booking-header p {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }


    /* --------------------------------------------------------
       STEP 2 SECTION TITLES
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-field-group > h3,
    #limpia-booking-app #limpia-step-2 .limpia-field-label {

        margin: 0 0 8px !important;

        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;

        letter-spacing: .45px !important;

        color: var(--olive-deep) !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-field-help {

        margin: -2px 0 8px !important;

        font-size: 13px !important;
        line-height: 1.35 !important;
    }


    /* --------------------------------------------------------
       STEP 2 GENERAL GROUP SPACING
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-field-group {
        margin-bottom: 17px !important;
    }


    /* --------------------------------------------------------
       PROPERTY TYPE
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-option-row-2 {

        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 8px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-property-button {

        min-height: 58px !important;

        padding: 8px 10px !important;

        gap: 8px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-property-icon {

        width: 25px !important;
        height: 25px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-property-icon svg {

        width: 23px !important;
        height: 23px !important;
    }


    /* --------------------------------------------------------
       SQUARE FOOTAGE
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-option-row-5 {

        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 7px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-option-row-5
    .limpia-option-button {

        min-height: 52px !important;

        padding: 6px 7px !important;

        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-option-sub {

        margin-top: 2px !important;

        font-size: 11px !important;
        line-height: 1.1 !important;
    }


    /* --------------------------------------------------------
       BEDROOMS + BATHROOMS SIDE BY SIDE
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-mobile-bed-bath {

        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;

        align-items: start !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-mobile-bed-bath > .limpia-field-group {

        min-width: 0 !important;

        margin-bottom: 17px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-option-row-6 {

        display: grid !important;

        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 6px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-option-row-6
    .limpia-option-button {

        min-width: 0 !important;
        min-height: 42px !important;

        padding: 5px 3px !important;

        font-size: 14px !important;
        line-height: 1.1 !important;
    }


    /* --------------------------------------------------------
       PETS + ACCESS SIDE BY SIDE
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-mobile-pets-access {

        display: grid !important;

        grid-template-columns:
            .92fr 1.08fr !important;

        gap: 12px !important;

        padding-top: 0 !important;

        align-items: start !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-mobile-pets-access > .limpia-field-group {

        min-width: 0 !important;

        margin-bottom: 0 !important;
    }


    /* --------------------------------------------------------
       PET BUTTONS
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-option-row-4 {

        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 6px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-pet-option {

        min-height: 44px !important;

        padding: 6px 5px !important;

        font-size: 13px !important;
        line-height: 1.15 !important;

        text-align: center !important;
    }


    /* --------------------------------------------------------
       ACCESS BUTTONS
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2 .limpia-access-grid {

        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 6px !important;
    }

    #limpia-booking-app #limpia-step-2 .limpia-access-option {

        min-width: 0 !important;
        min-height: 48px !important;

        padding: 6px 4px !important;

        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;

        text-align: center !important;
    }


    /* --------------------------------------------------------
       SELECTED STATES
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2
    .limpia-option-button.selected,

    #limpia-booking-app #limpia-step-2
    .limpia-pet-option.selected,

    #limpia-booking-app #limpia-step-2
    .limpia-access-option.selected {

        border: 1.5px solid var(--olive-dark) !important;

        background: var(--cream) !important;

        color: var(--olive-dark) !important;

        font-weight: 800 !important;
    }


    /* --------------------------------------------------------
       ESTIMATED TOTAL
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2
    .limpia-mobile-total-bar {

        margin: 13px 0 8px !important;

        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-mobile-total-copy {

        display: flex !important;

        align-items: baseline !important;

        justify-content: space-between !important;

        width: 100% !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-mobile-total-copy span {

        font-size: 14px !important;
        font-weight: 700 !important;

        color: var(--charcoal) !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-mobile-total-amount {

        font-size: 23px !important;
        font-weight: 800 !important;

        color: var(--olive-deep) !important;
    }


    /* --------------------------------------------------------
       STEP 2 BUTTONS
       Continue first visually, Back second
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-2
    .limpia-step-buttons {

        display: flex !important;

        flex-direction: column !important;

        gap: 8px !important;

        margin-top: 8px !important;
    }

    #limpia-booking-app #limpia-step-2
    #limpia-step-two-continue {

        order: 1 !important;

        width: 100% !important;

        min-height: 52px !important;

        font-size: 15px !important;
        font-weight: 800 !important;

        border-radius: 7px !important;
    }

    #limpia-booking-app #limpia-step-2
    #limpia-step-two-back {

        order: 2 !important;

        width: 100% !important;

        min-height: 46px !important;

        font-size: 14px !important;

        border-radius: 7px !important;
    }

}
/* ============================================================
   MOBILE STEP 2 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â COMPACT CONTROL STRUCTURE
   ============================================================ */

.limpia-mobile-only {
    display: none;
}

@media (max-width: 767px) {

  /* Keep Bedroom/Bathroom wrapper visible */
#limpia-booking-app #limpia-step-2
.limpia-mobile-bed-bath {
    display: block !important;
}

/* Hide only the OLD Bedroom/Bathroom button groups */
#limpia-booking-app #limpia-step-2
.limpia-mobile-bed-bath > .limpia-field-group {
    display: none !important;
}

/* Show the NEW compact Bedroom/Bathroom dropdown row */
#limpia-booking-app #limpia-step-2
.limpia-mobile-bed-bath > .limpia-mobile-compact-home-row {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;

    margin-bottom: 17px !important;
}

    /* Hide original Pets/Access button groups */
    #limpia-booking-app #limpia-step-2
    .limpia-mobile-pets-access {
        display: none !important;
    }

    /* Show compact mobile controls */
    #limpia-booking-app #limpia-step-2
    .limpia-mobile-only {
        display: grid !important;
    }

    #limpia-booking-app
    .limpia-mobile-compact-home-row {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;

        margin-bottom: 17px;
    }

    #limpia-booking-app
    .limpia-mobile-select-field {

        min-width: 0;
    }

    #limpia-booking-app
    .limpia-mobile-select-field label {

        display: block;

        margin: 0 0 7px;

        color: var(--olive-deep);

        font-size: 14px;
        font-weight: 800;

        text-transform: uppercase;
    }

    #limpia-booking-app
    .limpia-mobile-select-field select {

        display: block;

        width: 100%;
        height: 48px;

        padding: 0 10px;

        border: 1px solid var(--border);
        border-radius: 7px;

        background: #fff;

        color: var(--charcoal);

        font-size: 16px;

        appearance: auto;
    }

}

/* ============================================================
   MOBILE STEP 3 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â APP FLOW
   ============================================================ */

#limpia-booking-app .limpia-mobile-schedule-fields {
    display: none;
}

@media (max-width: 767px) {

    /* Turn Step 3 into a controlled app-flow stack */
    #limpia-booking-app #limpia-step-3 {
        display: flex;
        flex-direction: column;
    }

    #limpia-booking-app #limpia-step-3 .limpia-booking-header {
        order: 1;
    }

    #limpia-booking-app #limpia-step-3 .limpia-extras-section {
        order: 2;
    }

    #limpia-booking-app #limpia-step-3
    #limpia-other-request-wrap {
        order: 3;
    }

    #limpia-booking-app #limpia-step-3
    #limpia-frequency-section {
        order: 4;
    }

    #limpia-booking-app #limpia-step-3
    .limpa-date-time-section {
        order: 5;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-photo-upload-group {
        order: 6;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-total-bar {
        order: 7;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-step-buttons {
        order: 8;
    }


    /* Header */
    #limpia-booking-app #limpia-step-3
    .limpia-booking-header {
        margin-bottom: 16px !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-booking-header h2 {
        font-size: 25px !important;
        line-height: 1.1 !important;
        margin-bottom: 6px !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-booking-header p {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }


    /* Extras */
    #limpia-booking-app #limpia-step-3
    .limpia-extras-grid {
        display: grid !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-extra-option,
    #limpia-booking-app #limpia-step-3
    .limpia-other-request-card {
        min-height: 67px !important;
        padding: 9px 10px !important;
        border-radius: 7px !important;
    }


    /* Frequency */
    #limpia-booking-app #limpia-step-3
    #limpia-frequency-section {
        margin-bottom: 16px !important;
    }

    #limpia-booking-app #limpia-step-3
    #limpia-frequency-section
    .limpia-option-row-3 {
        display: grid !important;
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    #limpia-booking-app #limpia-step-3
    .frequency-option {
        min-height: 48px !important;
        padding: 6px 5px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
    }


    /* Hide desktop calendar/time on mobile */
    #limpia-booking-app #limpia-step-3
    .limpia-calendar-time-layout {
        display: none !important;
    }

    /* Show mobile app-style schedule fields */
    #limpia-booking-app #limpia-step-3
    .limpia-mobile-schedule-fields {
        display: grid !important;
        gap: 12px !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-schedule-field label {
        display: block;
        margin: 0 0 6px;
        color: var(--olive-deep);
        font-size: 13px;
        font-weight: 800;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-schedule-field input,
    #limpia-booking-app #limpia-step-3
    .limpia-mobile-schedule-field select {
        display: block;
        width: 100%;
        min-height: 52px;
        padding: 0 13px;

        border: 1px solid var(--border);
        border-radius: 8px;

        background: #fff;
        color: var(--charcoal);

        font-size: 16px;
    }


    /* Photo upload after schedule */
    #limpia-booking-app #limpia-step-3
    .limpia-photo-upload-group {
        margin-top: 16px !important;
        margin-bottom: 16px !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-photo-upload-button {
        min-height: 58px !important;
        padding: 9px 12px !important;
    }


    /* Total */
    #limpia-booking-app #limpia-step-3
    .limpia-mobile-total-bar {
        margin: 12px 0 8px !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-total-copy {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-total-copy span {
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-total-amount {
        font-size: 23px !important;
        font-weight: 800 !important;
        color: var(--olive-deep) !important;
    }


    /* Buttons */
    #limpia-booking-app #limpia-step-3
    .limpia-step-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        margin-top: 8px !important;
    }

    #limpia-booking-app #limpia-step-3
    #limpia-step-three-continue {
        order: 1 !important;
        width: 100% !important;
        min-height: 52px !important;
    }

    #limpia-booking-app #limpia-step-3
    #limpia-step-three-back {
        order: 2 !important;
        width: 100% !important;
        min-height: 46px !important;
    }

}


/* ============================================================
   MOBILE STEP 3 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â DATE FIELD ALIGNMENT
   ============================================================ */

@media (max-width: 767px) {


    #limpia-booking-app #limpia-step-3
    .limpia-mobile-schedule-fields {

        width: 100% !important;
        min-width: 0 !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-mobile-schedule-field {

        width: 100% !important;
        min-width: 0 !important;
    }

    #limpia-booking-app #limpia-step-3
    #limpia-mobile-cleaning-date,

    #limpia-booking-app #limpia-step-3
    #limpia-mobile-time {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;

        margin: 0 !important;
    }
#limpia-booking-app #limpia-step-3
#limpia-mobile-cleaning-date {

    -webkit-appearance: none !important;
    appearance: none !important;

    height: 48px !important;

    padding: 0 14px !important;

    border: 1px solid #d8d4c8 !important;
    border-radius: 14px !important;

    background: #ffffff !important;

    font-size: 17px !important;
    font-weight: 500 !important;

    line-height: 48px !important;

    color: #222222 !important;

    text-align: left !important;

    box-shadow: none !important;
}
#limpia-booking-app #limpia-step-3
#limpia-mobile-time {

    -webkit-appearance: none !important;
    appearance: none !important;

    height: 48px !important;

    padding: 0 14px !important;

    border: 1px solid #d8d4c8 !important;
    border-radius: 14px !important;

    background: #ffffff !important;

    font-size: 17px !important;
    font-weight: 500 !important;

    line-height: 48px !important;

    color: #222222 !important;

    box-shadow: none !important;
}
#limpia-booking-app #limpia-step-3
#limpia-mobile-cleaning-date::-webkit-date-and-time-value {

    text-align: left !important;
}

#limpia-booking-app #limpia-step-3
#limpia-mobile-cleaning-date::-webkit-calendar-picker-indicator {

    opacity: 1 !important;

    cursor: pointer;
}

#limpia-booking-app #limpia-step-3
.limpia-mobile-schedule-field {

    margin-bottom: 18px !important;
}

#limpia-booking-app #limpia-step-3
.limpia-mobile-schedule-field label {

    display: block !important;

    margin-bottom: 10px !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    color: #2f4720 !important;
}
}


/* ============================================================
   MOBILE STEP 3 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â LARGER CARD TEXT
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app #limpia-step-3
    .limpia-extra-copy strong {

        font-size: 15px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-extra-copy span {

        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    #limpia-booking-app #limpia-step-3
    .limpia-extra-option,
    #limpia-booking-app #limpia-step-3
    .limpia-other-request-card {

        min-height: 76px !important;
        padding: 10px 12px !important;
    }

}


/* ============================================================
   MOBILE ONLY ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â SHORT STEP LABELS
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app .limpia-progress-step:nth-of-type(1) .limpia-progress-label,
    #limpia-booking-app .limpia-progress-step:nth-of-type(2) .limpia-progress-label,
    #limpia-booking-app .limpia-progress-step:nth-of-type(3) .limpia-progress-label,
    #limpia-booking-app .limpia-progress-step:nth-of-type(4) .limpia-progress-label {
        font-size: 0 !important;
    }

    #limpia-booking-app .limpia-progress-step:nth-of-type(1) .limpia-progress-label::after {
        content: "Service";
        font-size: 10px;
    }

    #limpia-booking-app .limpia-progress-step:nth-of-type(2) .limpia-progress-label::after {
        content: "Home";
        font-size: 10px;
    }

    #limpia-booking-app .limpia-progress-step:nth-of-type(3) .limpia-progress-label::after {
        content: "Schedule";
        font-size: 10px;
    }

    #limpia-booking-app .limpia-progress-step:nth-of-type(4) .limpia-progress-label::after {
        content: "Details";
        font-size: 10px;
    }

}

/* ============================================================
   BOOKING CONFIRMATION ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â PREMIUM 2 COLUMN
   ============================================================ */

#limpia-booking-app .limpia-booking-confirmation {
    width: 100%;
    padding: 18px 0 10px;
}


#limpia-booking-app .limpia-confirmation-card {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 34px 34px 28px;

    border: 1px solid #e2ded5;
    border-radius: 10px;

    background: #fffdfa;

    box-shadow:
        0 10px 34px rgba(38, 58, 25, .055);
}


/* ============================================================
   BRAND
   ============================================================ */

#limpia-booking-app .limpia-confirmation-brand {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 54px;

    margin: 4px 0 6px;

    overflow: hidden;
}

#limpia-booking-app .limpia-confirmation-logo {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 245px;
    max-width: none;
    height: auto;

    margin: 0;

    transform: translate(-51%, -50%);
}
#limpia-booking-app .limpia-confirmation-brand-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
}


#limpia-booking-app .limpia-confirmation-brand-icon svg {
    display: block;

    width: 100%;
    height: 100%;
}


#limpia-booking-app .limpia-confirmation-brand-outline {
    fill: none;
    stroke: var(--gold);
    stroke-width: 6;
}


#limpia-booking-app .limpia-confirmation-brand-center {
    fill: var(--olive-dark);
}


#limpia-booking-app .limpia-confirmation-brand-copy {
    display: flex;
    flex-direction: column;

    line-height: 1;
}


#limpia-booking-app .limpia-confirmation-brand-name {
    color: var(--olive-deep);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 27px;
    font-weight: 500;

    letter-spacing: 7px;
}


#limpia-booking-app .limpia-confirmation-brand-sub {
    margin-top: 5px;

    color: var(--olive-dark);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 5px;

    text-align: center;
}


/* ============================================================
   CONFIRMATION HEADING
   ============================================================ */

#limpia-booking-app .limpia-confirmation-heading {
    max-width: 720px;

    margin: 0 auto 20px;

    text-align: center;
}


#limpia-booking-app .limpia-confirmation-eyebrow {
    display: block;

    margin-bottom: 6px;

    color: var(--gold);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


#limpia-booking-app .limpia-confirmation-heading h2 {
    margin: 0;

    color: var(--olive-deep);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 39px;
    font-weight: 500;
    line-height: 1.1;

    letter-spacing: -.5px;
}


#limpia-booking-app .limpia-confirmation-heading p {
    margin: 9px 0 0;

    color: #555149;

    font-size: 13px;
    line-height: 1.55;
}


/* ============================================================
   BOOKING NUMBER
   ============================================================ */

#limpia-booking-app .limpia-confirmation-number-wrap {
    width: 100%;
    max-width: 430px;

    margin: 0 auto 22px;
    padding: 13px 20px;

    border: 1px solid #e4dfd4;
    border-radius: 7px;

    background:
        linear-gradient(
            90deg,
            #fbf8f2,
            #f3efe5
        );

    text-align: center;
}


#limpia-booking-app .limpia-confirmation-number-wrap span {
    display: block;

    margin-bottom: 3px;

    color: #6b685f;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


#limpia-booking-app .limpia-confirmation-number-wrap strong {
    color: var(--olive-deep);

    font-size: 24px;
    font-weight: 800;

    letter-spacing: .5px;
}


/* ============================================================
   TWO COLUMN LAYOUT
   ============================================================ */

#limpia-booking-app .limpia-confirmation-details {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 18px;

    align-items: stretch;
}


#limpia-booking-app .limpia-confirmation-column {
    display: flex;
    flex-direction: column;

    min-width: 0;

    border: 1px solid #e4dfd6;
    border-radius: 8px;

    background: #fff;

    overflow: hidden;
}


/* ============================================================
   SECTIONS
   ============================================================ */

#limpia-booking-app .limpia-confirmation-section {
    padding: 20px 20px 18px;

    border-bottom: 1px solid #ece8e0;
}


#limpia-booking-app .limpia-confirmation-section:last-child {
    border-bottom: 0;
}


#limpia-booking-app .limpia-confirmation-section h3 {
    margin: 0 0 12px;

    color: var(--olive-deep);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 15px;
    font-weight: 500;

    letter-spacing: .4px;

    text-transform: uppercase;
}


#limpia-booking-app .limpia-confirmation-row {
    display: grid;

    grid-template-columns:
        minmax(130px, .9fr)
        minmax(0, 1.35fr);

    gap: 16px;

    align-items: baseline;

    padding: 3px 0;
}


#limpia-booking-app .limpia-confirmation-row span {
    color: #5f5b53;

    font-size: 12px;
    line-height: 1.4;
}


#limpia-booking-app .limpia-confirmation-row strong {
    min-width: 0;

    color: #1f1f1f;

    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;

    text-align: right;

    overflow-wrap: anywhere;
}


#limpia-booking-app .limpia-confirmation-address {
    color: #232323;

    font-size: 12px;
    font-weight: 600;
    line-height: 1.55;
}


/* ============================================================
   ADD-ONS
   ============================================================ */

#limpia-booking-app #limpia-confirmation-extras > div {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 16px;

    padding: 3px 0;
}


#limpia-booking-app #limpia-confirmation-extras span {
    color: #4f4c46;

    font-size: 12px;
}


#limpia-booking-app #limpia-confirmation-extras strong {
    color: #222;

    font-size: 12px;
    font-weight: 700;
}


/* ============================================================
   PAYMENT SUMMARY
   ============================================================ */

#limpia-booking-app .limpia-confirmation-payment {
    margin-top: auto;

    background:
        linear-gradient(
            135deg,
            #faf7f0,
            #f5f0e6
        );
}


#limpia-booking-app .limpia-confirmation-payment .limpia-confirmation-row strong {
    font-variant-numeric: tabular-nums;
}


#limpia-booking-app .limpia-confirmation-discount-row strong {
    color: var(--olive-dark);
}


#limpia-booking-app .limpia-confirmation-payment-divider {
    height: 1px;

    margin: 12px 0 10px;

    background: #dcd5c8;
}


#limpia-booking-app .limpia-confirmation-total-row {
    align-items: center;

    padding-top: 2px;
}


#limpia-booking-app .limpia-confirmation-total-row span {
    color: var(--olive-deep);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 17px;
    font-weight: 500;

    text-transform: uppercase;
}


#limpia-booking-app .limpia-confirmation-total-row strong {
    color: var(--olive-deep);

    font-size: 27px;
    font-weight: 800;
}


/* ============================================================
   SUCCESS MESSAGE
   ============================================================ */

#limpia-booking-app .limpia-confirmation-message {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 3px;

    margin-top: 18px;
    padding: 14px 18px;

    border: 1px solid #e3ded2;
    border-radius: 7px;

    background:
        linear-gradient(
            90deg,
            #f6f3e9,
            #efeee4
        );

    text-align: center;
}


#limpia-booking-app .limpia-confirmation-message strong {
    color: var(--olive-deep);

    font-family: Georgia, "Times New Roman", serif;

    font-size: 18px;
    font-weight: 500;
}


#limpia-booking-app .limpia-confirmation-message span {
    color: #57534c;

    font-size: 11px;
}


/* ============================================================
   ACTION
   ============================================================ */

#limpia-booking-app .limpia-confirmation-actions {
    margin-top: 12px;
}


#limpia-booking-app .limpia-confirmation-actions .limpia-primary-button {
    width: 100%;
    min-height: 48px;

    border-radius: 5px;

    font-size: 12px;
    letter-spacing: .8px;
}


/* ============================================================
   MOBILE CONFIRMATION
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app .limpia-booking-confirmation {
        padding: 0;
    }


    #limpia-booking-app .limpia-confirmation-card {
        width: 100%;

        padding: 22px 14px 18px;

        border-radius: 8px;

        box-shadow: none;
    }


    #limpia-booking-app .limpia-confirmation-brand {
        margin-bottom: 10px;
    }


    #limpia-booking-app .limpia-confirmation-brand-icon {
        width: 31px;
        height: 31px;
        flex-basis: 31px;
    }


    #limpia-booking-app .limpia-confirmation-brand-name {
        font-size: 23px;
        letter-spacing: 5px;
    }


    #limpia-booking-app .limpia-confirmation-brand-sub {
        font-size: 7px;
        letter-spacing: 4px;
    }


    #limpia-booking-app .limpia-confirmation-heading {
        margin-bottom: 16px;
    }


    #limpia-booking-app .limpia-confirmation-eyebrow {
        font-size: 10px;
    }


    #limpia-booking-app .limpia-confirmation-heading h2 {
        font-size: 31px;
        line-height: 1.08;
    }


    #limpia-booking-app .limpia-confirmation-heading p {
        font-size: 12px;
        line-height: 1.45;
    }


    #limpia-booking-app .limpia-confirmation-number-wrap {
        margin-bottom: 14px;
        padding: 12px 10px;
    }


    #limpia-booking-app .limpia-confirmation-number-wrap strong {
        font-size: 20px;
    }


    #limpia-booking-app .limpia-confirmation-details {
        display: block;
    }


    #limpia-booking-app .limpia-confirmation-column {
        display: block;

        margin-bottom: 10px;

        border: 0;
        border-radius: 0;

        background: transparent;
    }


    #limpia-booking-app .limpia-confirmation-section {
        padding: 14px 0;

        border-bottom: 1px solid #e6e1d8;
    }

#limpia-booking-app
.limpia-confirmation-column:first-child
.limpia-confirmation-section:last-child {
    border-bottom: 1px solid #e6e1d8;
}
    #limpia-booking-app .limpia-confirmation-column:last-child
    .limpia-confirmation-section:last-child {
        border-bottom: 0;
    }


    #limpia-booking-app .limpia-confirmation-section h3 {
        margin-bottom: 9px;

        font-size: 13px;
    }


    #limpia-booking-app .limpia-confirmation-row {
        grid-template-columns:
            minmax(0, .85fr)
            minmax(0, 1.15fr);

        gap: 10px;

        padding: 4px 0;
    }


    #limpia-booking-app .limpia-confirmation-row span,
    #limpia-booking-app .limpia-confirmation-row strong,
    #limpia-booking-app .limpia-confirmation-address,
    #limpia-booking-app #limpia-confirmation-extras span,
    #limpia-booking-app #limpia-confirmation-extras strong {
        font-size: 12px;
    }


    #limpia-booking-app .limpia-confirmation-payment {
        margin-top: 0;
        padding: 15px 13px;

        border: 1px solid #e0dbcf;
        border-radius: 7px;

        background:
            linear-gradient(
                135deg,
                #faf7f0,
                #f3eee3
            );
    }


    #limpia-booking-app .limpia-confirmation-total-row span {
        font-size: 15px;
    }


    #limpia-booking-app .limpia-confirmation-total-row strong {
        font-size: 24px;
    }


    #limpia-booking-app .limpia-confirmation-message {
        margin-top: 12px;
        padding: 13px 12px;
    }


    #limpia-booking-app .limpia-confirmation-message strong {
        font-size: 17px;
    }


    #limpia-booking-app .limpia-confirmation-message span {
        font-size: 11px;
    }


    #limpia-booking-app .limpia-confirmation-actions {
        margin-top: 9px;
    }

}

/* ============================================================
   CONFIRMATION ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â DESKTOP VISUAL POLISH
   ============================================================ */

@media (min-width: 768px) {

    #limpia-booking-app .limpia-confirmation-section {
        padding: 22px 22px 20px;
    }

    #limpia-booking-app .limpia-confirmation-section h3 {
        position: relative;

        margin: 0 0 16px;

        padding-bottom: 9px;

        color: var(--olive-deep);

        font-size: 17px;
        font-weight: 700;
        line-height: 1.2;

        letter-spacing: .45px;

        border-bottom: 1px solid #e7e1d6;
    }

    #limpia-booking-app .limpia-confirmation-section h3::after {
        content: "";

        position: absolute;

        left: 0;
        bottom: -1px;

        width: 36px;
        height: 2px;

        background: var(--gold);
    }

    #limpia-booking-app .limpia-confirmation-row {
        padding: 5px 0;

        gap: 18px;
    }

    #limpia-booking-app .limpia-confirmation-row span {
        color: #5a5751;

        font-size: 14px;
        font-weight: 500;
        line-height: 1.45;
    }

    #limpia-booking-app .limpia-confirmation-row strong {
        color: #202020;

        font-size: 14px;
        font-weight: 700;
        line-height: 1.45;
    }

    #limpia-booking-app .limpia-confirmation-address {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.6;
    }

    #limpia-booking-app #limpia-confirmation-extras > div {
        padding: 5px 0;
    }

    #limpia-booking-app #limpia-confirmation-extras span,
    #limpia-booking-app #limpia-confirmation-extras strong {
        font-size: 14px;
    }

    #limpia-booking-app .limpia-confirmation-payment {
        background:
            linear-gradient(
                135deg,
                #faf7ef,
                #f2ecdf
            );
    }

    #limpia-booking-app .limpia-confirmation-payment-divider {
        margin: 15px 0 12px;

        background: #d6cebf;
    }

    #limpia-booking-app .limpia-confirmation-total-row span {
        font-size: 18px;
        font-weight: 700;
    }

    #limpia-booking-app .limpia-confirmation-total-row strong {
        font-size: 30px;
        font-weight: 800;
    }

    #limpia-booking-app .limpia-confirmation-message strong {
        font-size: 20px;
        font-weight: 600;
    }

    #limpia-booking-app .limpia-confirmation-message span {
        font-size: 13px;
        line-height: 1.45;
    }

}

/* ============================================================
   STEP 3 ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â FINAL DESKTOP CLEANING TIME GRID
   Calendar unchanged
   Mobile dropdown unchanged
   ============================================================ */

@media (min-width: 768px) {


    /* ========================================================
       TIME GRID
       ======================================================== */

    #limpia-booking-app #limpia-step-3
    .limpia-time-grid {

        display: grid !important;

        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;

        gap: 8px !important;

        width: 100% !important;

        margin-top: 10px !important;

        align-content: start !important;
    }


    /* ========================================================
       NORMAL TIME CARDS
       ======================================================== */

    #limpia-booking-app #limpia-step-3
    .limpia-time-option {

        width: 100% !important;

        min-width: 0 !important;

        height: 46px !important;
        min-height: 46px !important;

        margin: 0 !important;

        padding: 5px 6px !important;

        border:
            1px solid #DED9CF !important;

        border-radius:
            5px !important;

        background:
            #FFFFFF !important;

        color:
            #252525 !important;

        font-size:
            12.5px !important;

        font-weight:
            650 !important;

        line-height:
            1.1 !important;

        text-align:
            center !important;

        cursor:
            pointer !important;

        box-shadow:
            none !important;

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


    /* HOVER */

    #limpia-booking-app #limpia-step-3
    .limpia-time-option:hover {

        border-color:
            var(--olive-dark) !important;
    }


    /* ========================================================
       SELECTED TIME
       Match selected calendar date:
       solid olive green + white text
       ======================================================== */

    #limpia-booking-app #limpia-step-3
    .limpia-time-option.selected {

        border-color:
            var(--olive-dark) !important;

        background:
            var(--olive-dark) !important;

        color:
            #FFFFFF !important;

        font-weight:
            800 !important;

        box-shadow:
            none !important;
    }


    #limpia-booking-app #limpia-step-3
    .limpia-time-option.selected:hover {

        background:
            var(--olive-dark) !important;

        color:
            #FFFFFF !important;
    }


    /* ========================================================
       AFTER-HOURS CTA
       6:00 PM occupies first column.
       This card occupies remaining 3 columns.
       ======================================================== */

    #limpia-booking-app #limpia-step-3
    .limpia-after-hours-card {

        grid-column:
            span 3;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        gap:
            10px;

        width:
            100%;

        min-width:
            0;

        height:
            46px;

        min-height:
            46px;

        margin:
            0;

        padding:
            5px 12px;

        border:
            1px solid #D7BF80;

        border-radius:
            5px;

        background:
            #FBF8F2;

        color:
            var(--olive-dark);

        text-decoration:
            none !important;

        cursor:
            pointer;

        box-sizing:
            border-box;

        transition:
            border-color .15s ease,
            background-color .15s ease;
    }


    #limpia-booking-app #limpia-step-3
    .limpia-after-hours-card:hover {

        border-color:
            var(--gold);

        background:
            #F7F2E7;

        text-decoration:
            none !important;
    }


    /* QUESTION */

    #limpia-booking-app #limpia-step-3
    .limpia-after-hours-question {

        color:
            var(--olive-dark);

        font-size:
            12px;

        font-weight:
            750;

        line-height:
            1.1;

        white-space:
            nowrap;
    }


    /* CONTACT US + PHONE */

    #limpia-booking-app #limpia-step-3
    .limpia-after-hours-action {

        display:
            inline-flex;

        align-items:
            center;

        gap:
            5px;

        color:
            var(--olive-dark);

        font-size:
            12px;

        font-weight:
            850;

        line-height:
            1;

        white-space:
            nowrap;
    }


    #limpia-booking-app #limpia-step-3
    .limpia-after-hours-action > span {

        text-decoration:
            underline;

        text-underline-offset:
            2px;
    }


    /* PHONE ICON ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â RIGHT OF CONTACT US */

    #limpia-booking-app #limpia-step-3
    .limpia-after-hours-phone {

        width:
            15px;

        height:
            15px;

        flex:
            0 0 15px;

        fill:
            none;

        stroke:
            currentColor;

        stroke-width:
            1.8;

        stroke-linecap:
            round;

        stroke-linejoin:
            round;
    }

}

/* ============================================================
   LIMPIA STEP 4 ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â APP-STYLE PAYMENT FLOW
   FINAL OVERRIDE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â 2026-08-24
   ============================================================ */

/* ------------------------------------------------------------
   Shared helpers
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-mobile-only {
    display: none;
}

#limpia-booking-app .limpia-summary-mobile-overlay,
#limpia-booking-app .limpia-summary-mobile-close {
    display: none;
}

#limpia-booking-app .limpia-summary-trust li::before {
    content: "\2713";
}


/* ------------------------------------------------------------
   Step 4 cards
   ------------------------------------------------------------ */

#limpia-booking-app #limpia-step-4 .limpia-step4-card {
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

#limpia-booking-app #limpia-step-4 .limpia-step4-payment-card {
    margin-top: 2px;
}

#limpia-booking-app .limpia-payment-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
}

#limpia-booking-app .limpia-payment-heading-row h3 {
    margin: 0 0 4px;
}

#limpia-booking-app .limpia-payment-heading-row .limpia-payment-note {
    margin: 0;
    color: var(--gray);
    font-size: 11px;
    line-height: 1.4;
}

#limpia-booking-app .limpia-payment-secure-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 4px 9px;
    border: 1px solid #dcd7ca;
    border-radius: 999px;
    background: var(--cream);
    color: var(--olive-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .45px;
    text-transform: uppercase;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   Payment method selector
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-payment-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

#limpia-booking-app .limpia-payment-method-option {
    position: relative;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 68px;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid var(--border) !important;
    border-radius: 7px;
    background: #fff !important;
    color: var(--charcoal) !important;
    text-align: left;
    cursor: pointer;
    box-shadow: none;
    transition:
        border-color .16s ease,
        background-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

#limpia-booking-app .limpia-payment-method-option:hover {
    border-color: var(--olive) !important;
    transform: translateY(-1px);
}

#limpia-booking-app .limpia-payment-method-option.is-selected {
    border: 1.5px solid var(--olive-dark) !important;
    background: var(--cream) !important;
    box-shadow: 0 5px 14px rgba(63, 77, 36, .08);
}

#limpia-booking-app .limpia-payment-method-icon,
#limpia-booking-app .limpia-payment-method-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #ddd8ce;
    border-radius: 7px;
    background: #fff;
    color: var(--olive-dark);
    font-size: 15px;
    font-weight: 850;
    line-height: 1;
}

#limpia-booking-app .limpia-payment-method-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#limpia-booking-app .limpia-payment-method-copy {
    display: block;
    min-width: 0;
}

#limpia-booking-app .limpia-payment-method-copy strong {
    display: block;
    margin-bottom: 2px;
    color: var(--olive-deep);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

#limpia-booking-app .limpia-payment-method-copy > span {
    display: block;
    color: var(--gray);
    font-size: 9.5px;
    line-height: 1.3;
}

#limpia-booking-app .limpia-payment-method-check {
    display: none;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: var(--olive-dark);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

#limpia-booking-app .limpia-payment-method-option.is-selected
.limpia-payment-method-check {
    display: flex;
}


/* ------------------------------------------------------------
   Stripe + manual-payment panels
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-payment-panel {
    width: 100%;
}

#limpia-booking-app #limpia-payment-container {
    padding-top: 2px;
}

#limpia-booking-app #limpia-payment-element {
    width: 100%;
}

#limpia-booking-app #limpia-payment-error {
    margin-top: 10px;
    padding: 10px 11px;
    border: 1px solid #e6c8c2;
    border-radius: 6px;
    background: #fff8f6;
    color: #8b2f25;
    font-size: 11px;
    line-height: 1.4;
}

#limpia-booking-app .limpia-manual-payment-notice {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 11px;
    padding: 12px 13px;
    border: 1px solid #ddd7c8;
    border-radius: 7px;
    background:
        linear-gradient(
            135deg,
            #fbf8f1,
            #f5f0e5
        );
}

#limpia-booking-app .limpia-manual-payment-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--olive-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

#limpia-booking-app .limpia-manual-payment-notice strong {
    display: block;
    margin-bottom: 4px;
    color: var(--olive-deep);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

#limpia-booking-app .limpia-manual-payment-notice p {
    margin: 0 0 7px;
    color: #555149;
    font-size: 10.5px;
    line-height: 1.45;
}

#limpia-booking-app .limpia-manual-payment-status {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    color: var(--gray);
    font-size: 9.5px;
    line-height: 1.35;
}

#limpia-booking-app .limpia-manual-payment-status strong {
    display: inline;
    margin: 0;
    color: var(--olive-dark);
    font-size: inherit;
}


/* ------------------------------------------------------------
   Step 4 action row
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-step4-actions {
    align-items: stretch;
}

#limpia-booking-app #limpia-confirm-booking {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}


/* ------------------------------------------------------------
   Confirmation overview ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â shared
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(190px, .65fr);
    gap: 12px;
    margin: 0 0 16px;
}

#limpia-booking-app .limpia-confirmation-overview-main,
#limpia-booking-app .limpia-confirmation-payment-status-card {
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid #e2ddd3;
    border-radius: 8px;
    background: #fff;
}

#limpia-booking-app .limpia-confirmation-overview-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

#limpia-booking-app .limpia-confirmation-overview-main strong {
    color: var(--olive-deep);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

#limpia-booking-app .limpia-confirmation-overview-main span {
    color: #5c5851;
    font-size: 11px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

#limpia-booking-app .limpia-confirmation-payment-status-card {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    text-align: right;
    background:
        linear-gradient(
            135deg,
            #faf7ef,
            #f2ecdf
        );
}

#limpia-booking-app .limpia-confirmation-payment-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
    padding: 4px 8px;
    border: 1px solid #d7d0c1;
    border-radius: 999px;
    background: #fff;
    color: var(--olive-dark);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .4px;
    text-transform: uppercase;
}

#limpia-booking-app #limpia-confirmation-overview-total {
    color: var(--olive-deep);
    font-size: 26px;
    font-weight: 850;
    line-height: 1.1;
}

#limpia-booking-app #limpia-confirmation-payment-method {
    margin-top: 4px;
    color: #5b574f;
    font-size: 10px;
    font-weight: 650;
}

#limpia-booking-app .limpia-confirmation-pending-payment-note {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 11px 13px;
    border: 1px solid #dfd3b3;
    border-radius: 7px;
    background: #fbf7ed;
}

#limpia-booking-app .limpia-confirmation-pending-payment-note strong {
    color: var(--olive-deep);
    font-size: 11px;
    font-weight: 850;
}

#limpia-booking-app .limpia-confirmation-pending-payment-note span {
    color: #5b574f;
    font-size: 10px;
    line-height: 1.4;
}

#limpia-booking-app .limpia-confirmation-details-toggle {
    grid-column: 1 / -1;
    display: none;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #ddd8ce !important;
    border-radius: 6px;
    background: #fff !important;
    color: var(--olive-dark) !important;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

#limpia-booking-app .limpia-confirmation-details-toggle > span {
    font-size: 18px;
    line-height: 1;
    transition: transform .16s ease;
}

#limpia-booking-app .limpia-confirmation-details-toggle.is-open > span {
    transform: rotate(90deg);
}

#limpia-booking-app .limpia-confirmation-manual-payment {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 13px;
    padding: 12px 14px;
    border: 1px solid #dfd3b3;
    border-radius: 7px;
    background: #fbf7ed;
}

#limpia-booking-app .limpia-confirmation-manual-payment strong {
    color: var(--olive-deep);
    font-size: 12px;
    font-weight: 850;
}

#limpia-booking-app .limpia-confirmation-manual-payment span {
    color: #5b574f;
    font-size: 10.5px;
    line-height: 1.45;
}


/* ============================================================
   DESKTOP / TABLET
   ============================================================ */

@media (min-width: 768px) {

    #limpia-booking-app .limpia-step4-mobile-summary,
    #limpia-booking-app .limpia-summary-mobile-overlay,
    #limpia-booking-app .limpia-summary-mobile-close {
        display: none !important;
    }

    #limpia-booking-app .limpia-booking-summary {
        transform: none !important;
    }

    #limpia-booking-app .limpia-confirmation-details {
        display: grid !important;
    }

}


/* ============================================================
   MOBILE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â APP FLOW
   ============================================================ */

@media (max-width: 767px) {

    /* --------------------------------------------------------
       Step 4 overall compaction
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4 .limpia-booking-header {
        margin-bottom: 13px !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-booking-header h2 {
        font-size: 24px !important;
        line-height: 1.08 !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-booking-header p {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-step4-card {
        margin-bottom: 10px !important;
        padding: 12px !important;
        border-radius: 7px !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-contact-grid,
    #limpia-booking-app #limpia-step-4 .limpia-contact-grid-2 {
        gap: 7px !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-contact-grid-3,
    #limpia-booking-app #limpia-step-4 .limpia-address-bottom-row {
        gap: 7px !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-input-group {
        margin-bottom: 7px !important;
    }

    #limpia-booking-app #limpia-step-4 .limpia-input-group input,
    #limpia-booking-app #limpia-step-4 .limpia-input-group select {
        min-height: 42px !important;
        padding: 7px 8px !important;
        font-size: 12px !important;
    }


    /* --------------------------------------------------------
       Compact Step 4 summary card
       -------------------------------------------------------- */

    #limpia-booking-app .limpia-mobile-only {
        display: block;
    }

    #limpia-booking-app .limpia-step4-mobile-summary {
        display: block !important;
        width: 100%;
        margin: 4px 0 10px;
    }

    #limpia-booking-app .limpia-mobile-summary-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-width: 0;
        padding: 11px 12px;
        border: 1px solid #ddd8ce !important;
        border-radius: 7px;
        background:
            linear-gradient(
                135deg,
                #fbf8f2,
                #f5f0e6
            ) !important;
        color: var(--charcoal) !important;
        text-align: left;
        cursor: pointer;
    }

    #limpia-booking-app .limpia-mobile-summary-main {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    #limpia-booking-app .limpia-mobile-summary-kicker {
        margin-bottom: 2px;
        color: var(--olive-dark);
        font-size: 8px;
        font-weight: 850;
        letter-spacing: .55px;
        text-transform: uppercase;
    }

    #limpia-booking-app #limpia-mobile-summary-service {
        color: var(--olive-deep);
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
    }

    #limpia-booking-app #limpia-mobile-summary-meta,
    #limpia-booking-app #limpia-mobile-summary-address {
        margin-top: 2px;
        color: #5d5951;
        font-size: 9.5px;
        line-height: 1.3;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #limpia-booking-app .limpia-mobile-summary-side {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 3px;
        white-space: nowrap;
    }

    #limpia-booking-app #limpia-mobile-summary-total {
        color: var(--olive-deep);
        font-size: 18px;
        font-weight: 850;
        line-height: 1.1;
    }

    #limpia-booking-app .limpia-mobile-summary-link {
        color: var(--olive-dark);
        font-size: 9px;
        font-weight: 800;
    }


    /* --------------------------------------------------------
       Mobile booking-summary bottom sheet
       Overrides old static/mobile-summary rules
       -------------------------------------------------------- */

    body.limpia-summary-open {
        overflow: hidden;
    }

    #limpia-booking-app .limpia-summary-mobile-overlay {
        position: fixed !important;
        inset: 0 !important;
        z-index: 999997 !important;
        display: block !important;
        background: rgba(20, 20, 18, .42) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition:
            opacity .2s ease,
            visibility .2s ease !important;
    }

    #limpia-booking-app .limpia-summary-mobile-overlay.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #limpia-booking-app .limpia-booking-summary {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        z-index: 999998 !important;

        display: block !important;

        width: 100% !important;
        max-width: none !important;
        max-height: min(82vh, 720px) !important;

        margin: 0 !important;
        padding: 15px 15px calc(16px + env(safe-area-inset-bottom)) !important;

        border: 1px solid #d9d3c7 !important;
        border-bottom: 0 !important;
        border-radius: 16px 16px 0 0 !important;

        background: #fff !important;

        overflow-y: auto !important;
        overscroll-behavior: contain;

        box-shadow:
            0 -18px 45px rgba(32, 31, 27, .20) !important;

        transform: translateY(105%) !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transition:
            transform .22s ease,
            visibility .22s ease !important;
    }

    #limpia-booking-app .limpia-booking-summary.is-mobile-open {
        transform: translateY(0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #limpia-booking-app .limpia-summary-title {
        position: sticky;
        top: -15px;
        z-index: 3;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 34px !important;
        align-items: center !important;

        gap: 8px !important;

        margin: -15px -15px 8px !important;
        padding: 14px 15px 10px !important;

        border-bottom: 1px solid var(--border-light);

        background: #fff !important;

        text-align: left !important;
    }

    #limpia-booking-app .limpia-summary-title h3 {
        font-size: 14px !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    #limpia-booking-app .limpia-summary-brand-mark {
        display: none !important;
    }

    #limpia-booking-app .limpia-summary-mobile-close {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 32px !important;
        height: 32px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 1px solid #ddd8ce !important;
        border-radius: 50% !important;

        background: #fff !important;

        color: var(--olive-deep) !important;

        font-size: 23px !important;
        font-weight: 400 !important;
        line-height: 1 !important;

        cursor: pointer !important;
    }

    #limpia-booking-app .limpia-summary-empty {
        padding: 8px 0 12px !important;
    }

    #limpia-booking-app .limpia-summary-section {
        padding: 10px 0 !important;
    }

    #limpia-booking-app .limpia-summary-heading {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    #limpia-booking-app .limpia-summary-primary {
        font-size: 14px !important;
    }

    #limpia-booking-app .limpia-summary-section > div,
    #limpia-booking-app .limpia-summary-price > div {
        margin-bottom: 3px !important;
        font-size: 10px !important;
        line-height: 1.35 !important;
    }

    #limpia-booking-app .limpia-summary-total {
        margin-top: 6px !important;
        padding: 10px !important;
    }

    #limpia-booking-app #summary-total {
        font-size: 24px !important;
    }

    #limpia-booking-app .limpia-summary-trust {
        display: none !important;
    }


    /* --------------------------------------------------------
       Mobile payment selector ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â short, app-like row
       -------------------------------------------------------- */

    #limpia-booking-app .limpia-payment-heading-row {
        margin-bottom: 9px;
    }

    #limpia-booking-app .limpia-payment-heading-row .limpia-payment-note {
        font-size: 9.5px;
    }

    #limpia-booking-app .limpia-payment-secure-badge {
        min-height: 22px;
        padding: 3px 7px;
        font-size: 8px;
    }

    #limpia-booking-app .limpia-payment-method-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-bottom: 10px !important;
    }

    #limpia-booking-app .limpia-payment-method-option {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 4px !important;

        min-width: 0 !important;
        min-height: 70px !important;

        padding: 7px 4px !important;

        text-align: center !important;
    }

    #limpia-booking-app .limpia-payment-method-icon,
    #limpia-booking-app .limpia-payment-method-brand {
        width: 27px !important;
        height: 27px !important;
        border-radius: 6px !important;
        font-size: 12px !important;
    }

    #limpia-booking-app .limpia-payment-method-icon svg {
        width: 18px !important;
        height: 18px !important;
    }

    #limpia-booking-app .limpia-payment-method-copy {
        width: 100%;
    }

    #limpia-booking-app .limpia-payment-method-copy strong {
        margin: 0 !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
    }

    #limpia-booking-app .limpia-payment-method-copy > span {
        display: none !important;
    }

    #limpia-booking-app .limpia-payment-method-check {
        position: absolute !important;
        top: 5px !important;
        right: 5px !important;

        width: 16px !important;
        height: 16px !important;

        font-size: 8px !important;
    }

    #limpia-booking-app .limpia-manual-payment-notice {
        grid-template-columns: 26px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 10px !important;
    }

    #limpia-booking-app .limpia-manual-payment-notice-icon {
        width: 24px !important;
        height: 24px !important;
        font-size: 10px !important;
    }

    #limpia-booking-app .limpia-manual-payment-notice strong {
        margin-bottom: 2px !important;
        font-size: 10.5px !important;
    }

    #limpia-booking-app .limpia-manual-payment-notice p {
        margin-bottom: 4px !important;
        font-size: 9.5px !important;
        line-height: 1.35 !important;
    }

    #limpia-booking-app .limpia-manual-payment-status {
        font-size: 9px !important;
    }


    /* --------------------------------------------------------
       Step 4 actions remain app-like and compact
       -------------------------------------------------------- */

    #limpia-booking-app .limpia-step4-actions {
        grid-template-columns: 1fr !important;
        margin-top: 8px !important;
        gap: 7px !important;
    }

    #limpia-booking-app #limpia-confirm-booking {
        min-height: 49px !important;
        order: 1;
    }

    #limpia-booking-app #limpia-step-four-back {
        min-height: 43px !important;
        order: 2;
    }


    /* --------------------------------------------------------
       Compact mobile confirmation
       -------------------------------------------------------- */

    #limpia-booking-app .limpia-confirmation-card {
        padding: 18px 12px 15px !important;
    }

    #limpia-booking-app .limpia-confirmation-heading {
        margin-bottom: 12px !important;
    }

    #limpia-booking-app .limpia-confirmation-heading h2 {
        font-size: 27px !important;
        line-height: 1.06 !important;
    }

    #limpia-booking-app .limpia-confirmation-heading p {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
        font-size: 11px !important;
    }

    #limpia-booking-app .limpia-confirmation-number-wrap {
        margin-bottom: 10px !important;
        padding: 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-number-wrap strong {
        font-size: 17px !important;
    }

    #limpia-booking-app .limpia-confirmation-overview {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        margin-bottom: 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-overview-main,
    #limpia-booking-app .limpia-confirmation-payment-status-card {
        padding: 11px 12px !important;
        border-radius: 7px !important;
    }

    #limpia-booking-app .limpia-confirmation-overview-main strong {
        font-size: 14px !important;
    }

    #limpia-booking-app .limpia-confirmation-overview-main span {
        font-size: 9.5px !important;
    }

    #limpia-booking-app .limpia-confirmation-payment-status-card {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        grid-template-areas:
            "status total"
            "method total" !important;
        align-items: center !important;
        gap: 2px 10px !important;
        text-align: left !important;
    }

    #limpia-booking-app .limpia-confirmation-payment-status {
        grid-area: status;
        justify-self: start;
        margin: 0 !important;
        font-size: 8px !important;
    }

    #limpia-booking-app #limpia-confirmation-payment-method {
        grid-area: method;
        justify-self: start;
        margin: 0 !important;
        font-size: 9px !important;
    }

    #limpia-booking-app #limpia-confirmation-overview-total {
        grid-area: total;
        justify-self: end;
        font-size: 22px !important;
    }

    #limpia-booking-app .limpia-confirmation-pending-payment-note {
        padding: 9px 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-pending-payment-note strong {
        font-size: 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-pending-payment-note span {
        font-size: 9px !important;
    }

    #limpia-booking-app .limpia-confirmation-details-toggle {
        display: flex !important;
    }

    #limpia-booking-app .limpia-confirmation-details {
        display: none !important;
        margin-top: 7px !important;
    }

    #limpia-booking-app .limpia-confirmation-details.is-open {
        display: block !important;
    }

    #limpia-booking-app .limpia-confirmation-column {
        margin-bottom: 0 !important;
    }

    #limpia-booking-app .limpia-confirmation-section {
        padding: 11px 0 !important;
    }

    #limpia-booking-app .limpia-confirmation-section h3 {
        margin-bottom: 7px !important;
        font-size: 12px !important;
    }

    #limpia-booking-app .limpia-confirmation-row {
        padding: 3px 0 !important;
    }

    #limpia-booking-app .limpia-confirmation-row span,
    #limpia-booking-app .limpia-confirmation-row strong,
    #limpia-booking-app .limpia-confirmation-address,
    #limpia-booking-app #limpia-confirmation-extras span,
    #limpia-booking-app #limpia-confirmation-extras strong {
        font-size: 10.5px !important;
    }

    #limpia-booking-app .limpia-confirmation-payment {
        padding: 12px 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-total-row span {
        font-size: 13px !important;
    }

    #limpia-booking-app .limpia-confirmation-total-row strong {
        font-size: 21px !important;
    }

    #limpia-booking-app .limpia-confirmation-manual-payment {
        margin-top: 8px !important;
        padding: 9px 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-manual-payment strong {
        font-size: 10.5px !important;
    }

    #limpia-booking-app .limpia-confirmation-manual-payment span {
        font-size: 9.5px !important;
    }

    #limpia-booking-app .limpia-confirmation-message {
        margin-top: 8px !important;
        padding: 10px !important;
    }

    #limpia-booking-app .limpia-confirmation-message strong {
        font-size: 15px !important;
    }

    #limpia-booking-app .limpia-confirmation-message span {
        font-size: 9.5px !important;
    }

    #limpia-booking-app .limpia-confirmation-actions {
        margin-top: 8px !important;
    }

}


/* ============================================================
   LIMPIA MOBILE READABILITY â€” FINAL TYPOGRAPHY OVERRIDE
   ============================================================ */


/* ------------------------------------------------------------
   PAYMENT / PENDING STATUS â€” DESKTOP + MOBILE
   ------------------------------------------------------------ */

#limpia-booking-app
.limpia-payment-heading-row h3 {
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}


#limpia-booking-app
.limpia-payment-heading-row
.limpia-payment-note {
    font-size: 12px !important;
    line-height: 1.45 !important;
}


#limpia-booking-app
.limpia-payment-method-copy strong {
    font-size: 13px !important;
    line-height: 1.25 !important;
}


#limpia-booking-app
.limpia-payment-method-copy > span {
    font-size: 11px !important;
    line-height: 1.4 !important;
}


#limpia-booking-app
.limpia-manual-payment-notice strong {
    font-size: 13px !important;
    line-height: 1.35 !important;
}


#limpia-booking-app
.limpia-manual-payment-notice p {
    font-size: 12px !important;
    line-height: 1.5 !important;
}


#limpia-booking-app
.limpia-manual-payment-status {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}


/* ------------------------------------------------------------
   CONFIRMATION â€” PAYMENT PENDING
   ------------------------------------------------------------ */

#limpia-booking-app
.limpia-confirmation-pending-payment-note {
    padding: 13px 14px !important;
}


#limpia-booking-app
.limpia-confirmation-pending-payment-note strong {
    font-size: 13px !important;
    line-height: 1.35 !important;
}


#limpia-booking-app
.limpia-confirmation-pending-payment-note span {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}


#limpia-booking-app
.limpia-confirmation-payment-status {
    font-size: 10.5px !important;
}


#limpia-booking-app
.limpia-confirmation-manual-payment strong {
    font-size: 13px !important;
}


#limpia-booking-app
.limpia-confirmation-manual-payment span {
    font-size: 12px !important;
    line-height: 1.5 !important;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {


    /* --------------------------------------------------------
       SECTION TITLES
       -------------------------------------------------------- */

    #limpia-booking-app
    #limpia-step-4
    .limpia-field-group h3,

    #limpia-booking-app
    #limpia-step-4
    .limpia-payment-heading-row h3 {

        font-size: 16px !important;
        line-height: 1.25 !important;
        letter-spacing: .7px !important;
        font-weight: 850 !important;

    }


    /* --------------------------------------------------------
       FORM LABELS
       -------------------------------------------------------- */

    #limpia-booking-app
    #limpia-step-4
    .limpia-input-group label {

        font-size: 12.5px !important;
        line-height: 1.3 !important;
        font-weight: 750 !important;

    }


    /* --------------------------------------------------------
       FORM INPUTS
       -------------------------------------------------------- */

    #limpia-booking-app
    #limpia-step-4
    .limpia-input-group input,

    #limpia-booking-app
    #limpia-step-4
    .limpia-input-group select {

        min-height: 44px !important;

        font-size: 14px !important;
        line-height: 1.25 !important;

    }


    /* --------------------------------------------------------
       PAYMENT INTRO
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-payment-heading-row
    .limpia-payment-note {

        font-size: 12px !important;
        line-height: 1.45 !important;

    }


    #limpia-booking-app
    .limpia-payment-secure-badge {

        font-size: 9.5px !important;

    }


    /* --------------------------------------------------------
       PAYMENT METHOD BUTTONS
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-payment-method-option {

        min-height: 78px !important;

        padding:
            9px
            5px !important;

    }


    #limpia-booking-app
    .limpia-payment-method-copy strong {

        font-size: 12.5px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;

    }


    #limpia-booking-app
    .limpia-payment-method-icon,

    #limpia-booking-app
    .limpia-payment-method-brand {

        width: 30px !important;
        height: 30px !important;

        font-size: 13px !important;

    }


    /* --------------------------------------------------------
       VENMO / ZELLE PENDING MESSAGE
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-manual-payment-notice {

        padding: 12px !important;
        gap: 10px !important;

    }


    #limpia-booking-app
    .limpia-manual-payment-notice strong {

        font-size: 13px !important;
        line-height: 1.35 !important;

    }


    #limpia-booking-app
    .limpia-manual-payment-notice p {

        font-size: 12px !important;
        line-height: 1.5 !important;

    }


    #limpia-booking-app
    .limpia-manual-payment-status {

        font-size: 11.5px !important;
        line-height: 1.4 !important;

    }


    /* --------------------------------------------------------
       COMPACT BOOKING SUMMARY
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-mobile-summary-kicker {

        font-size: 10px !important;

    }


    #limpia-booking-app
    #limpia-mobile-summary-service {

        font-size: 14px !important;
        line-height: 1.3 !important;

    }


    #limpia-booking-app
    #limpia-mobile-summary-meta,

    #limpia-booking-app
    #limpia-mobile-summary-address {

        font-size: 11.5px !important;
        line-height: 1.35 !important;

    }


    #limpia-booking-app
    .limpia-mobile-summary-link {

        font-size: 11px !important;

    }


    #limpia-booking-app
    #limpia-mobile-summary-total {

        font-size: 20px !important;

    }


    /* --------------------------------------------------------
       CONFIRMATION PENDING MESSAGE
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-confirmation-pending-payment-note {

        padding: 12px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-pending-payment-note strong {

        font-size: 13px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-pending-payment-note span {

        font-size: 12px !important;
        line-height: 1.5 !important;

    }


    /* --------------------------------------------------------
       CONFIRMATION OVERVIEW
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-confirmation-overview-main strong {

        font-size: 15px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-overview-main span {

        font-size: 11.5px !important;
        line-height: 1.45 !important;

    }


    #limpia-booking-app
    #limpia-confirmation-payment-method {

        font-size: 11px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-payment-status {

        font-size: 9.5px !important;

    }


    /* --------------------------------------------------------
       VIEW BOOKING DETAILS
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-confirmation-details-toggle {

        min-height: 46px !important;

        font-size: 12.5px !important;

    }


    /* --------------------------------------------------------
       EXPANDED CONFIRMATION DETAILS
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-confirmation-section h3 {

        font-size: 14px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-row span,

    #limpia-booking-app
    .limpia-confirmation-row strong,

    #limpia-booking-app
    .limpia-confirmation-address,

    #limpia-booking-app
    #limpia-confirmation-extras span,

    #limpia-booking-app
    #limpia-confirmation-extras strong {

        font-size: 12px !important;
        line-height: 1.45 !important;

    }


    /* --------------------------------------------------------
       FINAL CONFIRMATION MESSAGE
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-confirmation-message strong {

        font-size: 15px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-message span {

        font-size: 12px !important;
        line-height: 1.5 !important;

    }


    /* --------------------------------------------------------
       TRUST STRIP
       -------------------------------------------------------- */

    #limpia-booking-app
    .limpia-trust-item strong {

        font-size: 14px !important;
        line-height: 1.3 !important;

    }


    #limpia-booking-app
    .limpia-trust-item span:not(.limpia-trust-svg) {

        font-size: 12.5px !important;
        line-height: 1.45 !important;

    }

}

/* ============================================================
   LIMPIA SECONDARY TEXT READABILITY
   ============================================================ */


/* DESKTOP + TABLET */

#limpia-booking-app
.limpia-payment-heading-row
.limpia-payment-note,

#limpia-booking-app
.limpia-payment-method-copy > span,

#limpia-booking-app
.limpia-manual-payment-notice p,

#limpia-booking-app
.limpia-manual-payment-status,

#limpia-booking-app
.limpia-confirmation-pending-payment-note span,

#limpia-booking-app
.limpia-confirmation-manual-payment span,

#limpia-booking-app
.limpia-confirmation-overview-main span,

#limpia-booking-app
.limpia-confirmation-message span,

#limpia-booking-app
.limpia-trust-item span:not(.limpia-trust-svg) {

    font-size: 14px !important;
    line-height: 1.5 !important;

}


/* MOBILE */

@media (max-width: 767px) {

    #limpia-booking-app
    .limpia-payment-heading-row
    .limpia-payment-note,

    #limpia-booking-app
    .limpia-payment-method-copy > span,

    #limpia-booking-app
    .limpia-manual-payment-notice p,

    #limpia-booking-app
    .limpia-manual-payment-status,

    #limpia-booking-app
    .limpia-mobile-summary-meta,

    #limpia-booking-app
    .limpia-mobile-summary-address,

    #limpia-booking-app
    .limpia-confirmation-pending-payment-note span,

    #limpia-booking-app
    .limpia-confirmation-manual-payment span,

    #limpia-booking-app
    .limpia-confirmation-overview-main span,

    #limpia-booking-app
    .limpia-confirmation-message span,

    #limpia-booking-app
    .limpia-trust-item span:not(.limpia-trust-svg) {

        font-size: 14px !important;
        line-height: 1.5 !important;

    }

}


/* ============================================================
   LIMPIA CONFIRMATION â€” READABLE SMALL TEXT
   ============================================================ */


/* Booking confirmed eyebrow */

#limpia-booking-app
.limpia-confirmation-eyebrow {

    font-size: 12px !important;
    line-height: 1.4 !important;
}


/* Text directly under:
   "Your Cleaning Is Booked"
*/

#limpia-booking-app
.limpia-confirmation-heading p,

#limpia-booking-app
#limpia-confirmation-status-message {

    font-size: 14px !important;
    line-height: 1.5 !important;
}


/* BOOKING NUMBER small label */

#limpia-booking-app
.limpia-confirmation-number-wrap span,

#limpia-booking-app
.limpia-confirmation-number-label {

    font-size: 12px !important;
    line-height: 1.35 !important;

    letter-spacing: 1px !important;
}


/* Service summary secondary information */

#limpia-booking-app
.limpia-confirmation-overview-main span {

    font-size: 13px !important;
    line-height: 1.5 !important;
}


/* Payment pending explanatory text */

#limpia-booking-app
.limpia-confirmation-pending-payment-note span {

    font-size: 13px !important;
    line-height: 1.5 !important;
}


/* General confirmation detail labels */

#limpia-booking-app
.limpia-confirmation-row span,

#limpia-booking-app
.limpia-confirmation-address {

    font-size: 13px !important;
    line-height: 1.45 !important;
}


/* General confirmation detail values */

#limpia-booking-app
.limpia-confirmation-row strong {

    font-size: 13px !important;
    line-height: 1.45 !important;
}


/* Payment method under total */

#limpia-booking-app
#limpia-confirmation-payment-method {

    font-size: 12px !important;
    line-height: 1.4 !important;
}


/* Payment status badge */

#limpia-booking-app
.limpia-confirmation-payment-status {

    font-size: 11px !important;
    line-height: 1.3 !important;
}


/* Final confirmation helper text */

#limpia-booking-app
.limpia-confirmation-message span {

    font-size: 13px !important;
    line-height: 1.5 !important;
}


/* MOBILE */

@media (max-width: 767px) {

    #limpia-booking-app
    .limpia-confirmation-heading p,

    #limpia-booking-app
    #limpia-confirmation-status-message {

        font-size: 14px !important;
        line-height: 1.5 !important;
    }


    #limpia-booking-app
    .limpia-confirmation-number-wrap span,

    #limpia-booking-app
    .limpia-confirmation-number-label {

        font-size: 12px !important;
    }


    #limpia-booking-app
    .limpia-confirmation-overview-main span,

    #limpia-booking-app
    .limpia-confirmation-pending-payment-note span,

    #limpia-booking-app
    .limpia-confirmation-row span,

    #limpia-booking-app
    .limpia-confirmation-row strong,

    #limpia-booking-app
    .limpia-confirmation-address,

    #limpia-booking-app
    .limpia-confirmation-message span {

        font-size: 13px !important;
        line-height: 1.5 !important;
    }

}


/* ============================================================
   LIMPIA â€” CUSTOMER TEXT SIZE FLOOR
   Desktop minimum: 14px
   Mobile minimum: 15px
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP + TABLET
   ------------------------------------------------------------ */

/* General helper / secondary text */

#limpia-booking-app
.limpia-booking-header p,

#limpia-booking-app
.limpia-payment-note,

#limpia-booking-app
.limpia-payment-heading-row
.limpia-payment-note,

#limpia-booking-app
.limpia-payment-method-copy > span,

#limpia-booking-app
.limpia-manual-payment-notice p,

#limpia-booking-app
.limpia-manual-payment-status,

#limpia-booking-app
.limpia-summary-section > div,

#limpia-booking-app
.limpia-summary-price > div,

#limpia-booking-app
.limpia-confirmation-heading p,

#limpia-booking-app
#limpia-confirmation-status-message,

#limpia-booking-app
.limpia-confirmation-overview-main span,

#limpia-booking-app
.limpia-confirmation-pending-payment-note span,

#limpia-booking-app
.limpia-confirmation-manual-payment span,

#limpia-booking-app
.limpia-confirmation-row span,

#limpia-booking-app
.limpia-confirmation-row strong,

#limpia-booking-app
.limpia-confirmation-address,

#limpia-booking-app
#limpia-confirmation-extras span,

#limpia-booking-app
#limpia-confirmation-extras strong,

#limpia-booking-app
.limpia-confirmation-message span,

#limpia-booking-app
.limpia-trust-item span:not(.limpia-trust-svg) {

    font-size: 14px !important;
    line-height: 1.5 !important;

}


/* Form labels */

#limpia-booking-app
.limpia-input-group label {

    font-size: 14px !important;
    line-height: 1.35 !important;

}


/* Inputs and selects */

#limpia-booking-app
input,

#limpia-booking-app
select,

#limpia-booking-app
textarea {

    font-size: 14px !important;

}


/* Payment method names */

#limpia-booking-app
.limpia-payment-method-copy strong {

    font-size: 14px !important;
    line-height: 1.3 !important;

}


/* Pending-payment title */

#limpia-booking-app
.limpia-manual-payment-notice strong,

#limpia-booking-app
.limpia-confirmation-pending-payment-note strong,

#limpia-booking-app
.limpia-confirmation-manual-payment strong {

    font-size: 14px !important;
    line-height: 1.4 !important;

}


/* Previously tiny uppercase labels */

#limpia-booking-app
.limpia-confirmation-eyebrow,

#limpia-booking-app
.limpia-confirmation-number-wrap span,

#limpia-booking-app
.limpia-confirmation-number-label,

#limpia-booking-app
.limpia-confirmation-payment-status,

#limpia-booking-app
.limpia-payment-secure-badge,

#limpia-booking-app
.limpia-summary-heading {

    font-size: 14px !important;
    line-height: 1.3 !important;

}


/* Payment method below total */

#limpia-booking-app
#limpia-confirmation-payment-method {

    font-size: 14px !important;
    line-height: 1.4 !important;

}


/* Compact booking summary */

#limpia-booking-app
.limpia-mobile-summary-kicker,

#limpia-booking-app
#limpia-mobile-summary-meta,

#limpia-booking-app
#limpia-mobile-summary-address,

#limpia-booking-app
.limpia-mobile-summary-link {

    font-size: 14px !important;
    line-height: 1.4 !important;

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app
    .limpia-booking-header p,

    #limpia-booking-app
    .limpia-payment-note,

    #limpia-booking-app
    .limpia-payment-heading-row
    .limpia-payment-note,

    #limpia-booking-app
    .limpia-payment-method-copy strong,

    #limpia-booking-app
    .limpia-manual-payment-notice p,

    #limpia-booking-app
    .limpia-manual-payment-notice strong,

    #limpia-booking-app
    .limpia-manual-payment-status,

    #limpia-booking-app
    .limpia-mobile-summary-kicker,

    #limpia-booking-app
    #limpia-mobile-summary-meta,

    #limpia-booking-app
    #limpia-mobile-summary-address,

    #limpia-booking-app
    .limpia-mobile-summary-link,

    #limpia-booking-app
    .limpia-confirmation-heading p,

    #limpia-booking-app
    #limpia-confirmation-status-message,

    #limpia-booking-app
    .limpia-confirmation-overview-main span,

    #limpia-booking-app
    .limpia-confirmation-pending-payment-note strong,

    #limpia-booking-app
    .limpia-confirmation-pending-payment-note span,

    #limpia-booking-app
    .limpia-confirmation-manual-payment strong,

    #limpia-booking-app
    .limpia-confirmation-manual-payment span,

    #limpia-booking-app
    .limpia-confirmation-row span,

    #limpia-booking-app
    .limpia-confirmation-row strong,

    #limpia-booking-app
    .limpia-confirmation-address,

    #limpia-booking-app
    .limpia-confirmation-message span,

    #limpia-booking-app
    .limpia-trust-item span:not(.limpia-trust-svg) {

        font-size: 15px !important;
        line-height: 1.5 !important;

    }


    #limpia-booking-app
    .limpia-input-group label {

        font-size: 14px !important;

    }


    #limpia-booking-app
    input,

    #limpia-booking-app
    select,

    #limpia-booking-app
    textarea {

        font-size: 16px !important;

    }


    #limpia-booking-app
    .limpia-confirmation-eyebrow,

    #limpia-booking-app
    .limpia-confirmation-number-wrap span,

    #limpia-booking-app
    .limpia-confirmation-number-label,

    #limpia-booking-app
    .limpia-confirmation-payment-status,

    #limpia-booking-app
    .limpia-payment-secure-badge {

        font-size: 14px !important;

    }

}

/* ============================================================
   LIMPIA v1.0.155 â€” LUXURY WHITE CONFIRMATION
   Approved direction:
   - White surfaces instead of yellow/cream fills
   - Charcoal + champagne accents
   - Bold confirmation title
   - 14.875px minimum confirmation text size
   - Download PDF secondary action
   ============================================================ */

#limpia-booking-app .limpia-booking-confirmation {
    --limpia-confirm-charcoal: #1d2122;
    --limpia-confirm-charcoal-2: #272c2d;
    --limpia-confirm-champagne: #b79c5a;
    --limpia-confirm-text: #252525;
    --limpia-confirm-muted: #6b685f;
    --limpia-confirm-border: #e6e2db;
    --limpia-confirm-border-strong: #d8d2c8;
    --limpia-confirm-white: #ffffff;

    background: #ffffff !important;
}


#limpia-booking-app .limpia-confirmation-card {
    max-width: 1180px !important;
    padding: 36px 38px 30px !important;

    border: 1px solid var(--limpia-confirm-border) !important;
    border-radius: 12px !important;

    background: var(--limpia-confirm-white) !important;

    box-shadow:
        0 18px 46px rgba(29, 33, 34, .07) !important;
}


/* ------------------------------------------------------------
   Heading
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-heading {
    max-width: 760px !important;
    margin: 2px auto 22px !important;
}


#limpia-booking-app .limpia-confirmation-eyebrow {
    margin-bottom: 8px !important;

    color: var(--limpia-confirm-champagne) !important;

    font-size: 14.875px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: 1.35px !important;
}


#limpia-booking-app .limpia-confirmation-heading h2 {
    margin: 0 !important;

    color: var(--limpia-confirm-charcoal) !important;

    font-family:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 46px !important;
    font-weight: 700 !important;
    line-height: 1.03 !important;
    letter-spacing: -.45px !important;
}


#limpia-booking-app .limpia-confirmation-heading p,
#limpia-booking-app #limpia-confirmation-status-message {
    max-width: 650px !important;
    margin: 11px auto 0 !important;

    color: var(--limpia-confirm-muted) !important;

    font-size: 15.5px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}


/* ------------------------------------------------------------
   Booking number
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-number-wrap {
    max-width: 440px !important;
    margin: 0 auto 24px !important;
    padding: 14px 20px 15px !important;

    border: 1px solid var(--limpia-confirm-border) !important;
    border-radius: 8px !important;

    background: #ffffff !important;

    box-shadow:
        0 6px 18px rgba(29, 33, 34, .045) !important;
}


#limpia-booking-app .limpia-confirmation-number-wrap span {
    margin-bottom: 4px !important;

    color: var(--limpia-confirm-muted) !important;

    font-size: 14.875px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: 1px !important;
}


#limpia-booking-app .limpia-confirmation-number-wrap strong {
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 27px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}


/* ------------------------------------------------------------
   Overview cards
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-overview {
    gap: 14px !important;
    margin-bottom: 16px !important;
}


#limpia-booking-app .limpia-confirmation-overview-main,
#limpia-booking-app .limpia-confirmation-payment-status-card {
    padding: 17px 20px !important;

    border: 1px solid var(--limpia-confirm-border) !important;
    border-radius: 9px !important;

    background: #ffffff !important;

    box-shadow:
        0 5px 16px rgba(29, 33, 34, .03) !important;
}


#limpia-booking-app .limpia-confirmation-overview-main strong {
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.28 !important;
}


#limpia-booking-app .limpia-confirmation-overview-main span {
    color: var(--limpia-confirm-muted) !important;

    font-size: 14.875px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}


#limpia-booking-app .limpia-confirmation-payment-status-card {
    background: #ffffff !important;
}


#limpia-booking-app .limpia-confirmation-payment-status {
    margin-bottom: 7px !important;
    padding: 5px 10px !important;

    border: 1px solid rgba(183, 156, 90, .58) !important;
    border-radius: 999px !important;

    background: #ffffff !important;

    color: var(--limpia-confirm-charcoal) !important;

    font-size: 14.875px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: .35px !important;
}


#limpia-booking-app #limpia-confirmation-overview-total {
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 29px !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
}


#limpia-booking-app #limpia-confirmation-payment-method {
    margin-top: 6px !important;

    color: var(--limpia-confirm-muted) !important;

    font-size: 14.875px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}


/* ------------------------------------------------------------
   Pending-payment notice â€” white, not yellow
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-pending-payment-note {
    gap: 5px !important;
    padding: 15px 17px 15px 19px !important;

    border: 1px solid var(--limpia-confirm-border) !important;
    border-left: 3px solid var(--limpia-confirm-champagne) !important;
    border-radius: 8px !important;

    background: #ffffff !important;
}


#limpia-booking-app .limpia-confirmation-pending-payment-note strong {
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}


#limpia-booking-app .limpia-confirmation-pending-payment-note span {
    color: var(--limpia-confirm-muted) !important;

    font-size: 14.875px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}


/* ------------------------------------------------------------
   Mobile details toggle
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-details-toggle {
    min-height: 48px !important;
    padding: 11px 14px !important;

    border: 1px solid var(--limpia-confirm-border-strong) !important;
    border-radius: 8px !important;

    background: #ffffff !important;
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}


/* ------------------------------------------------------------
   Detail columns / cards
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-details {
    gap: 16px !important;
}


#limpia-booking-app .limpia-confirmation-column {
    border: 1px solid var(--limpia-confirm-border) !important;
    border-radius: 9px !important;

    background: #ffffff !important;

    box-shadow:
        0 5px 16px rgba(29, 33, 34, .025) !important;
}


#limpia-booking-app .limpia-confirmation-section {
    padding: 19px 20px 18px !important;

    border-bottom: 1px solid var(--limpia-confirm-border) !important;

    background: #ffffff !important;
}


#limpia-booking-app .limpia-confirmation-section:last-child {
    border-bottom: 0 !important;
}


#limpia-booking-app .limpia-confirmation-section h3 {
    position: relative !important;

    margin: 0 0 13px !important;
    padding-bottom: 10px !important;

    color: var(--limpia-confirm-charcoal) !important;

    font-family:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    letter-spacing: .25px !important;
}


#limpia-booking-app .limpia-confirmation-section h3::after {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;

    width: 30px !important;
    height: 2px !important;

    background: var(--limpia-confirm-champagne) !important;
}


#limpia-booking-app .limpia-confirmation-row {
    padding: 4px 0 !important;
}


#limpia-booking-app .limpia-confirmation-row span,
#limpia-booking-app .limpia-confirmation-row strong,
#limpia-booking-app .limpia-confirmation-address,
#limpia-booking-app #limpia-confirmation-extras span,
#limpia-booking-app #limpia-confirmation-extras strong {
    font-size: 14.875px !important;
    line-height: 1.45 !important;
}


#limpia-booking-app .limpia-confirmation-row span,
#limpia-booking-app #limpia-confirmation-extras span {
    color: var(--limpia-confirm-muted) !important;
    font-weight: 500 !important;
}


#limpia-booking-app .limpia-confirmation-row strong,
#limpia-booking-app .limpia-confirmation-address,
#limpia-booking-app #limpia-confirmation-extras strong {
    color: var(--limpia-confirm-text) !important;
    font-weight: 750 !important;
}


/* ------------------------------------------------------------
   Payment summary â€” white instead of cream/yellow
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-payment {
    background: #ffffff !important;
}


#limpia-booking-app .limpia-confirmation-payment-divider {
    background: var(--limpia-confirm-border) !important;
}


#limpia-booking-app .limpia-confirmation-discount-row strong {
    color: #48614f !important;
}


#limpia-booking-app .limpia-confirmation-total-row span {
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 16px !important;
    font-weight: 700 !important;
}


#limpia-booking-app .limpia-confirmation-total-row strong {
    color: var(--limpia-confirm-charcoal) !important;

    font-size: 25px !important;
    font-weight: 850 !important;
}


/* ------------------------------------------------------------
   The approved mockup does not use the old final message card.
   The booking state is already communicated above.
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-message {
    display: none !important;
}


/* ------------------------------------------------------------
   Actions â€” dark luxury primary + white PDF secondary
   ------------------------------------------------------------ */

#limpia-booking-app .limpia-confirmation-actions {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.75fr)
        minmax(250px, .85fr) !important;
    gap: 14px !important;

    margin-top: 18px !important;
}


#limpia-booking-app .limpia-confirmation-actions .limpia-primary-button,
#limpia-booking-app .limpia-confirmation-pdf-button {
    min-height: 52px !important;
    width: 100% !important;

    border-radius: 7px !important;

    font-size: 15.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .45px !important;
}


#limpia-booking-app .limpia-confirmation-actions .limpia-primary-button,
#limpia-booking-app .limpia-confirmation-return-button {
    border: 1px solid var(--limpia-confirm-charcoal) !important;

    background:
        linear-gradient(
            135deg,
            var(--limpia-confirm-charcoal-2),
            #171a1b
        ) !important;

    color: #ffffff !important;

    box-shadow:
        0 7px 18px rgba(29, 33, 34, .12) !important;
}


#limpia-booking-app .limpia-confirmation-actions .limpia-primary-button:hover,
#limpia-booking-app .limpia-confirmation-return-button:hover {
    transform: translateY(-1px) !important;

    box-shadow:
        0 10px 22px rgba(29, 33, 34, .16) !important;
}


#limpia-booking-app .limpia-confirmation-pdf-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    padding: 10px 18px !important;

    border: 1px solid var(--limpia-confirm-charcoal) !important;

    background: #ffffff !important;
    color: var(--limpia-confirm-charcoal) !important;

    cursor: pointer !important;

    transition:
        transform .16s ease,
        border-color .16s ease,
        background-color .16s ease,
        box-shadow .16s ease !important;
}


#limpia-booking-app .limpia-confirmation-pdf-button svg {
    width: 20px !important;
    height: 20px !important;

    fill: none !important;
    stroke: var(--limpia-confirm-champagne) !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}


#limpia-booking-app .limpia-confirmation-pdf-button:hover {
    transform: translateY(-1px) !important;

    border-color: var(--limpia-confirm-champagne) !important;
    background: #fcfbf8 !important;

    box-shadow:
        0 7px 18px rgba(29, 33, 34, .08) !important;
}


#limpia-booking-app .limpia-confirmation-pdf-button:disabled,
#limpia-booking-app .limpia-confirmation-pdf-button.is-loading {
    opacity: .65 !important;
    cursor: wait !important;
    transform: none !important;
}


/* ============================================================
   MOBILE â€” same luxury white direction
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app .limpia-confirmation-card {
        padding: 20px 12px 16px !important;

        border-radius: 9px !important;

        background: #ffffff !important;
        box-shadow: none !important;
    }


    #limpia-booking-app .limpia-confirmation-heading {
        margin-bottom: 15px !important;
    }


    #limpia-booking-app .limpia-confirmation-eyebrow {
        font-size: 14.875px !important;
    }


    #limpia-booking-app .limpia-confirmation-heading h2 {
        font-size: 34px !important;
        font-weight: 700 !important;
        line-height: 1.04 !important;
    }


    #limpia-booking-app .limpia-confirmation-heading p,
    #limpia-booking-app #limpia-confirmation-status-message {
        max-width: 335px !important;

        font-size: 15px !important;
        line-height: 1.5 !important;
    }


    #limpia-booking-app .limpia-confirmation-number-wrap {
        margin-bottom: 12px !important;
        padding: 12px !important;

        background: #ffffff !important;
    }


    #limpia-booking-app .limpia-confirmation-number-wrap span {
        font-size: 14.875px !important;
    }


    #limpia-booking-app .limpia-confirmation-number-wrap strong {
        font-size: 22px !important;
    }


    #limpia-booking-app .limpia-confirmation-overview {
        gap: 8px !important;
        margin-bottom: 11px !important;
    }


    #limpia-booking-app .limpia-confirmation-overview-main,
    #limpia-booking-app .limpia-confirmation-payment-status-card {
        padding: 13px 14px !important;

        background: #ffffff !important;
    }


    #limpia-booking-app .limpia-confirmation-overview-main strong {
        font-size: 17px !important;
    }


    #limpia-booking-app .limpia-confirmation-overview-main span {
        font-size: 15px !important;
    }


    #limpia-booking-app .limpia-confirmation-payment-status {
        font-size: 14.875px !important;
    }


    #limpia-booking-app #limpia-confirmation-payment-method {
        font-size: 14.875px !important;
    }


    #limpia-booking-app #limpia-confirmation-overview-total {
        font-size: 27px !important;
    }


    #limpia-booking-app .limpia-confirmation-pending-payment-note {
        padding: 13px 14px 13px 16px !important;

        background: #ffffff !important;
    }


    #limpia-booking-app .limpia-confirmation-pending-payment-note strong {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-confirmation-pending-payment-note span {
        font-size: 15px !important;
    }


    #limpia-booking-app .limpia-confirmation-details-toggle {
        min-height: 50px !important;

        font-size: 15px !important;
    }


    #limpia-booking-app .limpia-confirmation-section {
        padding: 14px 13px !important;

        background: #ffffff !important;
    }


    #limpia-booking-app .limpia-confirmation-section h3 {
        margin-bottom: 10px !important;
        padding-bottom: 8px !important;

        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-confirmation-row span,
    #limpia-booking-app .limpia-confirmation-row strong,
    #limpia-booking-app .limpia-confirmation-address,
    #limpia-booking-app #limpia-confirmation-extras span,
    #limpia-booking-app #limpia-confirmation-extras strong {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }


    #limpia-booking-app .limpia-confirmation-payment {
        padding: 14px 13px !important;
        background: #ffffff !important;
    }


    #limpia-booking-app .limpia-confirmation-total-row span {
        font-size: 16px !important;
    }


    #limpia-booking-app .limpia-confirmation-total-row strong {
        font-size: 24px !important;
    }


    #limpia-booking-app .limpia-confirmation-actions {
        grid-template-columns: 1fr !important;
        gap: 9px !important;

        margin-top: 12px !important;
    }


    #limpia-booking-app .limpia-confirmation-actions .limpia-primary-button,
    #limpia-booking-app .limpia-confirmation-pdf-button {
        min-height: 52px !important;

        font-size: 16px !important;
    }

}
/* ============================================================
   LIMPIA DASHBOARD BRAND COLOR SYNC
   ============================================================ */

#limpia-booking-app {
    --olive: #006B46;
    --olive-dark: #006B46;
    --olive-deep: #173B2E;
}

/* Primary actions match dashboard */
#limpia-booking-app .limpia-primary-button {
    background: #006B46 !important;
}

/* Dashboard hover green */
#limpia-booking-app
.limpia-primary-button:not(:disabled):hover {
    background: #004D35 !important;
}

/* Slightly softer selected-state treatment */
#limpia-booking-app
.limpia-option-button.selected,
#limpia-booking-app
.limpia-property-button.selected,
#limpia-booking-app
.limpia-extra-option.selected {
    border-color: #006B46 !important;
}

/* Active progress + calendar/time selections */
#limpia-booking-app
.limpia-progress-step.active
.limpia-progress-number,
#limpia-booking-app
.limpia-calendar-day.selected,
#limpia-booking-app
.limpia-time-option.selected {
    border-color: #006B46 !important;
    background: #006B46 !important;
    color: #FFFFFF !important;
}

/* LIMPIA CONFIRMATION DASHBOARD COLOR SYNC — START */

/*
 * Confirmation UI now follows the dashboard palette:
 * Primary Green: #006B46
 * Dark Green:    #173B2E
 * Pale Green:    #E7F2EC / #EAF4EF
 *
 * Gold remains reserved for the Limpia logo and
 * pending-payment warning states.
 */

/* BOOKING CONFIRMED */
#limpia-booking-app
.limpia-confirmation-eyebrow {
    color: #006B46 !important;
}

/* MAIN CONFIRMATION TITLE */
#limpia-booking-app
.limpia-confirmation-heading h2 {
    color: #173B2E !important;
}

/* BOOKING NUMBER CARD */
#limpia-booking-app
.limpia-confirmation-number-wrap {
    border-color: #D7E9E0 !important;

    background:
        linear-gradient(
            90deg,
            #F5FAF7,
            #EAF4EF
        ) !important;
}

#limpia-booking-app
.limpia-confirmation-number-wrap span {
    color: #006B46 !important;
}

#limpia-booking-app
#limpia-confirmation-booking-number {
    color: #173B2E !important;
}

/* CONFIRMATION DETAIL HEADINGS */
#limpia-booking-app
.limpia-confirmation-section h3 {
    color: #173B2E !important;
    border-color: #D7E9E0 !important;
}

/*
 * Covers the short decorative heading underline
 * if the current confirmation stylesheet uses one.
 */
#limpia-booking-app
.limpia-confirmation-section h3::before,
#limpia-booking-app
.limpia-confirmation-section h3::after {
    background-color: #006B46 !important;
    border-color: #006B46 !important;
}

/* PAID / SUCCESS STATUS */
#limpia-booking-app
.limpia-confirmation-payment-status.is-paid {
    border-color: #B9DDCD !important;
    background: #E7F2EC !important;
    color: #006B46 !important;
}

/* KEEP PENDING SEMANTICALLY AMBER */
#limpia-booking-app
.limpia-confirmation-payment-status.is-pending {
    border-color: #DFC98E !important;
    background: #FBF8F0 !important;
    color: #6B5725 !important;
}

#limpia-booking-app
.limpia-confirmation-pending-payment-note {
    border-color: #DFC98E !important;
    border-left-color: #B7923B !important;
    background: #FBF9F3 !important;
}

#limpia-booking-app
.limpia-confirmation-pending-payment-note strong {
    color: #5E4A1F !important;
}

/* PAID TOTALS / SUCCESS ACCENTS */
#limpia-booking-app
.limpia-confirmation-total-row span,
#limpia-booking-app
#limpia-confirmation-total {
    color: #173B2E !important;
}

/* FINAL SUCCESS MESSAGE */
#limpia-booking-app
.limpia-confirmation-message {
    border-color: #D7E9E0 !important;

    background:
        linear-gradient(
            90deg,
            #F5FAF7,
            #EAF4EF
        ) !important;
}

#limpia-booking-app
.limpia-confirmation-message-check {
    background: #006B46 !important;
}

#limpia-booking-app
.limpia-confirmation-message strong {
    color: #173B2E !important;
}

/* CONFIRMATION BUTTON */
#limpia-booking-app
#limpia-confirmation-home {
    background: #006B46 !important;
    border-color: #006B46 !important;
    color: #FFFFFF !important;
}

#limpia-booking-app
#limpia-confirmation-home:hover {
    background: #004D35 !important;
    border-color: #004D35 !important;
}

/* LIMPIA CONFIRMATION DASHBOARD COLOR SYNC — END */

/* PAID CONFIRMATION STATUS — DASHBOARD SUCCESS STATE */
#limpia-booking-app
#limpia-confirmation-payment-status.is-paid {
    border-color: #B9DDCD !important;
    background: #E7F2EC !important;
    color: #006B46 !important;
}


/* ============================================================
   STRONGER PENDING PAYMENT AMBER
   ============================================================ */

/* Pending status pill */
#limpia-booking-app
#limpia-confirmation-payment-status.is-pending {
    background: #FFF3CD !important;
    border: 1px solid #D8A92E !important;
    color: #765200 !important;
}

/* Pending information panel */
#limpia-booking-app
.limpia-confirmation-pending-payment-note {
    background: #FFF9E8 !important;
    border: 1px solid #E5C66B !important;
    border-left: 4px solid #D8A92E !important;
}

#limpia-booking-app
.limpia-confirmation-pending-payment-note strong {
    color: #765200 !important;
}

#limpia-booking-app
.limpia-confirmation-pending-payment-note span {
    color: #5F5540 !important;
}

/* PAID remains dashboard green */
#limpia-booking-app
#limpia-confirmation-payment-status.is-paid {
    background: #E7F2EC !important;
    border: 1px solid #B9DDCD !important;
    color: #006B46 !important;
}


/* ============================================================
   PAYMENT STATUS — MATCHED GREEN / AMBER SYSTEM
   ============================================================ */

/* STRIPE PAID */
#limpia-booking-app
#limpia-confirmation-payment-status.is-paid {
    background: #E7F2EC !important;
    border: 1px solid #B9DDCD !important;
    color: #006B46 !important;
}

/* VENMO / ZELLE PAYMENT PENDING */
#limpia-booking-app
#limpia-confirmation-payment-status.is-pending {
    background: #FFF4D6 !important;
    border: 1px solid #E2BE63 !important;
    color: #765300 !important;
}

/* Pending information panel */
#limpia-booking-app
.limpia-confirmation-pending-payment-note {
    background: #FFF9EA !important;
    border: 1px solid #E7CC8A !important;
    border-left: 4px solid #C9951A !important;
}

#limpia-booking-app
.limpia-confirmation-pending-payment-note strong {
    color: #765300 !important;
}

#limpia-booking-app
.limpia-confirmation-pending-payment-note span {
    color: #5B574F !important;
}



/* ============================================================
   MOBILE STEP 4 — IOS INPUT ZOOM PREVENTION
   Keep form controls >= 16px so Safari does not auto-zoom.
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app #limpia-step-4 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    #limpia-booking-app #limpia-step-4 select,
    #limpia-booking-app #limpia-step-4 textarea {

        font-size: 16px !important;
        line-height: 1.35 !important;

    }


    #limpia-booking-app #limpia-step-4 input::placeholder,
    #limpia-booking-app #limpia-step-4 textarea::placeholder {

        font-size: 16px !important;

    }

}


/* ============================================================
   MOBILE FULL-WIDTH BOOKING — FINAL OVERRIDE
   Near full-bleed with a safe 4px screen gutter.
   ============================================================ */

@media (max-width: 767px) {

    #limpia-booking-app {
        width: calc(100vw - 8px) !important;
        max-width: none !important;

        margin-left: calc(50% - 50vw + 4px) !important;
        margin-right: 0 !important;

        padding: 0 !important;

        box-sizing: border-box !important;
    }

    #limpia-booking-app .limpia-progress,
    #limpia-booking-app .limpia-booking-layout {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    #limpia-booking-app .limpia-booking-main {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        padding-left: 10px !important;
        padding-right: 10px !important;

        box-sizing: border-box !important;
    }

    #limpia-booking-app .limpia-booking-step,
    #limpia-booking-app .limpia-field-group,
    #limpia-booking-app .limpia-step4-mobile-summary {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

}

/* ============================================================
   AFTER-HOURS REQUEST UI
   ============================================================ */


#limpia-booking-app #limpia-step-3
.limpia-after-hours-card {
    font: inherit;
    cursor: pointer;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-chevron {
    font-size: 18px;
    line-height: 1;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-request-options {
    grid-column: 1 / -1;
    display: none;
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
    gap: 10px;
    width: 100%;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-request-options.is-open {
    display: grid;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-call {
    grid-column: 1 / -1;
    display: block;
    padding: 6px 4px 2px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--olive-dark);
    text-decoration: none;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-call:hover {
    text-decoration: underline;
}

#limpia-booking-app #limpia-step-3
.limpia-mobile-after-hours-call {
    display: none;
    margin-top: 8px;
    text-align: right;
    font-size: 12px;
    font-weight: 700;
    color: var(--olive-dark);
    text-decoration: none;
}

#limpia-booking-app #limpia-step-3
.limpia-mobile-after-hours-call.is-visible {
    display: block;
}

/* ============================================================
   AFTER-HOURS REVIEW NOTICE
   ============================================================ */


#limpia-booking-app #limpia-step-3
.limpia-after-hours-review-notice {
    margin: 12px 0 4px;
    padding: 12px 14px;
    border: 1px solid rgba(123, 106, 55, 0.28);
    border-radius: 10px;
    background: #F7F2E7;
    color: var(--olive-dark);
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-review-notice[hidden] {
    display: none !important;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-review-notice strong {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 800;
}

#limpia-booking-app #limpia-step-3
.limpia-after-hours-review-notice span {
    display: block;
    font-size: 12px;
    line-height: 1.45;
}

/* ============================================================
   LIMPIA MOBILE PREMIUM PASS 1 — UNIFIED WHITE
   Mobile presentation only.
   Progress + form read as one connected card.
   Continue button COLORS are intentionally untouched.
   ============================================================ */

@media (max-width: 767px) {

    /* ========================================================
       1. CLEAN WHITE MOBILE CANVAS
       ======================================================== */

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;

        background: #FFFFFF !important;
    }

    [data-limpia-embed] {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 20px 0 0 !important;

        background: #FFFFFF !important;
    }

    #limpia-booking-app {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #FFFFFF !important;

        box-sizing: border-box !important;
    }


    /* ========================================================
       2. PROGRESS — TOP OF THE SAME CARD
       ======================================================== */

    #limpia-booking-app .limpia-progress {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;

        width: calc(100% - 16px) !important;

        margin: 0 8px !important;
        padding: 13px 10px 12px !important;

        gap: 2px !important;

        border:
            1px solid #E4DED3 !important;

        border-bottom:
            1px solid #EAE5DC !important;

        border-radius:
            18px 18px 0 0 !important;

        background:
            #FFFFFF !important;

        box-shadow:
            0 -2px 14px rgba(35, 43, 37, .025) !important;

        box-sizing:
            border-box !important;
    }

    #limpia-booking-app .limpia-progress-step {
        flex: 1 1 0 !important;

        min-width: 0 !important;

        gap: 4px !important;
    }

    #limpia-booking-app .limpia-progress-number {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;

        font-size: 14px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app .limpia-progress-label {
        max-width: none !important;

        font-size: 12.5px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
    }

    #limpia-booking-app .limpia-progress-divider {
        flex: 0 0 12px !important;

        margin-top: 11px !important;

        font-size: 13px !important;
    }


    /* ========================================================
       3. BOOKING SHELL
       ======================================================== */

    #limpia-booking-app .limpia-booking-layout {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: #FFFFFF !important;

        box-shadow: none !important;

        overflow: visible !important;
    }


    /* ========================================================
       4. FORM — BOTTOM OF SAME CARD
       ======================================================== */

    #limpia-booking-app .limpia-booking-main {
        width: calc(100% - 16px) !important;
        min-width: 0 !important;

        margin: 0 8px !important;

        padding: 22px 14px 20px !important;

        border:
            1px solid #E4DED3 !important;

        border-top:
            0 !important;

        border-radius:
            0 0 18px 18px !important;

        background:
            #FFFFFF !important;

        box-shadow:
            0 8px 22px rgba(35, 43, 37, .045) !important;

        box-sizing:
            border-box !important;
    }

    #limpia-booking-app .limpia-booking-step {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
    }


    /* ========================================================
       5. MAIN HEADING
       ======================================================== */

    #limpia-booking-app .limpia-booking-header {
        margin-bottom: 23px !important;
    }

    #limpia-booking-app .limpia-booking-header h2 {
        margin: 0 0 7px !important;

        font-size: 28px !important;
        font-weight: 800 !important;
        line-height: 1.08 !important;

        letter-spacing: -.35px !important;
    }

    #limpia-booking-app .limpia-booking-header p {
        margin: 0 !important;

        font-size: 17px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
    }


    /* ========================================================
       6. FIELD GROUPS / LABELS
       ======================================================== */

    #limpia-booking-app .limpia-field-group {
        margin-bottom: 25px !important;
    }

    #limpia-booking-app .limpia-field-group > h3 {
        margin: 0 0 11px !important;

        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;

        letter-spacing: .2px !important;
    }


    /* ========================================================
       7. STEP 2 — PROPERTY TYPE
       Keep efficient two-column layout.
       ======================================================== */

    #limpia-booking-app #limpia-step-2
    .limpia-option-row-2 {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 8px !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-property-button {
        min-width: 0 !important;
        min-height: 72px !important;

        padding: 12px 10px !important;

        border-radius: 9px !important;

        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.18 !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-property-button.selected {
        font-weight: 800 !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-property-button:not(.selected) {
        border-color:
            #DED8CE !important;

        background:
            #FFFFFF !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-property-icon {
        width: 33px !important;
        height: 33px !important;

        flex: 0 0 33px !important;
    }


    /* ========================================================
       8. STEP 2 — SQUARE FOOTAGE
       ======================================================== */

    #limpia-booking-app #limpia-step-2
    .limpia-option-row-5 {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 8px !important;
    }

    #limpia-booking-app #limpia-step-2
    .sqft-option {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 64px !important;

        padding: 9px 7px !important;

        border-radius: 8px !important;

        font-size: 17px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;
    }

    #limpia-booking-app #limpia-step-2
    .sqft-option:not(.selected) {
        border-color:
            #DED8CE !important;

        background:
            #FFFFFF !important;
    }

    #limpia-booking-app #limpia-step-2
    .sqft-option.selected {
        font-weight: 800 !important;
    }

    #limpia-booking-app #limpia-step-2
    .limpia-option-sub {
        margin-top: 3px !important;

        font-size: 13px !important;
        line-height: 1.05 !important;
    }


    /* ========================================================
       9. INPUTS / SELECTS
       ======================================================== */

    #limpia-booking-app select,
    #limpia-booking-app input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    #limpia-booking-app textarea {
        min-height: 56px !important;

        border-color:
            #DED8CE !important;

        border-radius:
            9px !important;

        font-size:
            17px !important;

        line-height:
            1.3 !important;
    }


    /* ========================================================
       10. MOBILE TOTAL
       ======================================================== */

    #limpia-booking-app .limpia-mobile-total-bar {
        margin-top: 4px !important;

        padding-top: 16px !important;

        border-top:
            1px solid #E8E2D8 !important;
    }

    #limpia-booking-app
    .limpia-mobile-total-copy > span {
        font-size: 17px !important;
        font-weight: 800 !important;
    }

    #limpia-booking-app
    .limpia-mobile-total-amount {
        font-size: 20px !important;
        font-weight: 850 !important;
    }


    /* ========================================================
       11. NAVIGATION BUTTON DIMENSIONS ONLY

       IMPORTANT:
       Continue background/color states are NOT overridden here.
       Existing active/disabled colors remain exactly as designed.
       ======================================================== */

    #limpia-booking-app .limpia-primary-button,
    #limpia-booking-app .limpia-back-button {
        min-height: 58px !important;

        border-radius:
            9px !important;

        font-size:
            17px !important;

        font-weight:
            800 !important;
    }


    /* ========================================================
       12. TRUST BENEFITS
       White background, readable horizontal rows.
       ======================================================== */

    #limpia-booking-app .limpia-trust-strip {
        display: flex !important;
        flex-direction: column !important;

        width: calc(100% - 32px) !important;

        margin: 22px 16px 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: #FFFFFF !important;

        box-shadow: none !important;

        overflow: visible !important;
    }

    #limpia-booking-app .limpia-trust-item {
        display: flex !important;
        flex-direction: row !important;

        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;
        min-width: 0 !important;

        gap: 14px !important;

        padding: 17px 4px !important;

        border: 0 !important;
        border-bottom:
            1px solid #EAE5DC !important;

        background:
            #FFFFFF !important;

        text-align:
            left !important;
    }

    #limpia-booking-app
    .limpia-trust-item:last-child {
        border-bottom:
            0 !important;
    }

    #limpia-booking-app
    .limpia-trust-svg {
        width: 36px !important;
        height: 36px !important;

        flex: 0 0 36px !important;
    }

    #limpia-booking-app
    .limpia-trust-item > div {
        min-width: 0 !important;
    }

    #limpia-booking-app
    .limpia-trust-item strong {
        display: block !important;

        margin: 0 0 3px !important;

        font-size:
            16px !important;

        font-weight:
            800 !important;

        line-height:
            1.2 !important;
    }

    #limpia-booking-app
    .limpia-trust-item
    span:not(.limpia-trust-svg) {
        display: block !important;

        font-size:
            14px !important;

        font-weight:
            500 !important;

        line-height:
            1.35 !important;
    }

}

/* ============================================================
   LIMPIA MOBILE STEP 4 PREMIUM POLISH
   Mobile Step 4 presentation only.
   Payment behavior and button colors remain untouched.
   ============================================================ */

@media (max-width: 767px) {

    /* --------------------------------------------------------
       REMOVE "CARD INSIDE CARD" LOOK
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-step4-card {
        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: #FFFFFF !important;
        box-shadow: none !important;
    }


    /* --------------------------------------------------------
       CONTACT INFORMATION + SERVICE ADDRESS
       Clean sections with subtle separators.
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-step4-contact-card,
    #limpia-booking-app #limpia-step-4
    .limpia-step4-address-card {
        margin-bottom: 22px !important;
        padding-bottom: 22px !important;

        border-bottom:
            1px solid #E8E2D8 !important;
    }


    /* --------------------------------------------------------
       SECTION TITLES
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-step4-card > h3,
    #limpia-booking-app #limpia-step-4
    .limpia-payment-heading-row h3 {
        margin: 0 0 14px !important;

        color: var(--olive-dark) !important;

        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;

        letter-spacing: 0 !important;
        text-transform: none !important;
    }


    /* --------------------------------------------------------
       KEEP CURRENT TWO-COLUMN FIELD LAYOUT
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-contact-grid {
        gap: 10px !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-contact-grid
    + .limpia-contact-grid {
        margin-top: 11px !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-input-group label {
        margin-bottom: 5px !important;

        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }


    /* --------------------------------------------------------
       BOOKING SUMMARY
       Lighter, cleaner horizontal section.
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-step4-mobile-summary {
        width: 100% !important;

        margin: 0 0 22px !important;
        padding: 0 !important;

        border: 0 !important;
        border-top:
            1px solid #E8E2D8 !important;
        border-bottom:
            1px solid #E8E2D8 !important;

        border-radius: 0 !important;

        background: #FFFFFF !important;

        box-shadow: none !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-mobile-summary-toggle {
        width: 100% !important;

        padding: 14px 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: #FFFFFF !important;

        box-shadow: none !important;

        text-align: left !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-mobile-summary-kicker {
        margin-bottom: 4px !important;

        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    #limpia-booking-app #limpia-step-4
    #limpia-mobile-summary-service {
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    #limpia-booking-app #limpia-step-4
    #limpia-mobile-summary-meta {
        margin-top: 3px !important;

        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    /*
     * Service address is already immediately above,
     * so don't repeat it in the compact summary.
     */
    #limpia-booking-app #limpia-step-4
    #limpia-mobile-summary-address {
        display: none !important;
    }

    #limpia-booking-app #limpia-step-4
    #limpia-mobile-summary-total {
        font-size: 19px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-mobile-summary-link {
        margin-top: 4px !important;

        font-size: 12.5px !important;
        font-weight: 800 !important;
    }


    /* --------------------------------------------------------
       PAYMENT SECTION
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-step4-payment-card {
        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: #FFFFFF !important;

        box-shadow: none !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-payment-heading-row {
        align-items: flex-start !important;

        margin-bottom: 13px !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-payment-heading-row h3 {
        margin-bottom: 5px !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-payment-note {
        margin: 0 !important;

        max-width: 260px !important;

        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-payment-secure-badge {
        flex: 0 0 auto !important;

        padding: 4px 8px !important;

        border-radius: 999px !important;

        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }


    /* --------------------------------------------------------
       PAYMENT OPTIONS
       Current payment colors intentionally preserved.
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-payment-method-grid {
        gap: 8px !important;

        margin-top: 12px !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-payment-method-option {
        min-height: 68px !important;

        border-radius: 9px !important;

        box-shadow: none !important;
    }


    /* --------------------------------------------------------
       VENMO / ZELLE VERIFICATION NOTICE
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-manual-payment-panel {
        margin-top: 10px !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-manual-payment-notice {
        display: flex !important;
        align-items: flex-start !important;

        gap: 10px !important;

        padding: 12px !important;

        border:
            1px solid #E7DDC9 !important;

        border-radius: 9px !important;

        background: #FBF8F1 !important;

        box-shadow: none !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-manual-payment-notice-icon {
        width: 24px !important;
        height: 24px !important;

        flex: 0 0 24px !important;

        font-size: 12px !important;
    }

    #limpia-booking-app #limpia-step-4
    #limpia-manual-payment-title {
        display: block !important;

        margin: 0 0 4px !important;

        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
    }

    #limpia-booking-app #limpia-step-4
    #limpia-manual-payment-message {
        margin: 0 0 6px !important;

        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-manual-payment-status {
        display: block !important;

        font-size: 12.5px !important;
        line-height: 1.3 !important;
    }

    #limpia-booking-app #limpia-step-4
    .limpia-manual-payment-status strong {
        font-weight: 850 !important;
    }


    /* --------------------------------------------------------
       FINAL ACTION
       SPACING ONLY — BUTTON COLORS UNCHANGED
       -------------------------------------------------------- */

    #limpia-booking-app #limpia-step-4
    .limpia-step4-actions {
        margin-top: 18px !important;
    }

}

/* ============================================================
   LIMPIA MOBILE SUMMARY IOS SCROLL FIX
   DUAL SCROLL MODE:
   - Booking Summary scrolls independently.
   - Visible Step 4 remains scrollable behind it.
   - Summary stays open until explicitly closed.
   ============================================================ */

@media (max-width: 767px) {

    /* ========================================================
       SUMMARY SHEET
       The whole sheet becomes its own natural scroll area.
       ======================================================== */

    #limpia-booking-app
    .limpia-booking-summary.is-mobile-sheet-open {
        max-height: 88dvh !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        overscroll-behavior-y: contain !important;

        touch-action: pan-y !important;

        -webkit-overflow-scrolling: touch !important;

        pointer-events: auto !important;

        padding-bottom:
            max(
                32px,
                env(safe-area-inset-bottom)
            ) !important;
    }


    /* ========================================================
       SUMMARY CONTENT
       Avoid nested scrolling. The entire summary sheet scrolls.
       ======================================================== */

    #limpia-booking-app
    .limpia-booking-summary.is-mobile-sheet-open
    #limpia-summary-content {
        max-height: none !important;

        overflow: visible !important;

        touch-action: pan-y !important;
    }

    #limpia-booking-app
    .limpia-booking-summary.is-mobile-sheet-open
    #limpia-summary-content * {
        touch-action: pan-y !important;
    }


    /* ========================================================
       SUMMARY HEADER
       Keep title + close button visible while summary scrolls.
       ======================================================== */

    #limpia-booking-app
    .limpia-booking-summary.is-mobile-sheet-open
    .limpia-summary-title {
        position: sticky !important;

        top: 0 !important;

        z-index: 5 !important;

        background: #FFFFFF !important;

        padding-top: 2px !important;
        padding-bottom: 12px !important;
    }


    /* ========================================================
       OVERLAY
       Keep visual dimming, but do not let the overlay capture
       swipes intended for the visible Step 4 area.
       ======================================================== */

    #limpia-booking-app
    .limpia-summary-mobile-overlay {
        pointer-events: none !important;
    }


    /* ========================================================
       STEP 4
       Explicitly preserve normal vertical scrolling behind
       the open summary.
       ======================================================== */

    #limpia-booking-app
    #limpia-step-4 {
        touch-action: pan-y !important;
    }

}
