.elementor-808 .elementor-element.elementor-element-d10626c{--display:flex;}.elementor-808 .elementor-element.elementor-element-294dcaf{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 2px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-808 .elementor-element.elementor-element-6ac10d0{margin:-70px -70px calc(var(--kit-widget-spacing, 0px) + 0px) -70px;}.elementor-808 .elementor-element.elementor-element-6ac10d0.elementor-element{--align-self:center;}/* Start custom CSS for shortcode, class: .elementor-element-294dcaf *//* ============================================
   CALENDAR PAGE — FULL COMBINED STYLING
   ============================================ */

/* MAIN CALENDAR CARD */
.cbs-calendar {
    background: #fefaf3 !important;
    border: 1px solid #C4C4C4 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    max-width: 1000px;
    margin: 0 auto 40px auto;
    position: relative; /* ensures :before positions correctly */
}

/* ----------------------------------------------------
   FIRST INSTRUCTION LINE
---------------------------------------------------- */
.cbs-calendar:before {
    content: "Select a date, then choose a time below.";
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #7A7A7A;
    margin-bottom: 15px;
}

/* ----------------------------------------------------
   MULTI‑SESSION NOTICE — styled box under the first line
---------------------------------------------------- */
.cbs-multi-session-box {
    background: #F9FBFA;
    border: 2px solid #E2E8E5;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.4;
    color: #7A7A7A;
    margin-bottom: 25px;
}

/* HEADINGS */
.cbs-calendar h3 {
    margin-top: 20px !important;
    margin-bottom: 12px !important;
}

/* DATE PICKER */
.cbs-calendar input[type="date"] {
    background: #ffffff !important;
    border: 1px solid #C4C4C4 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

/* SLOT CONTAINER */
#cbs-slots-container {
    margin-top: 20px !important;
}
/* ============================================
   TIME SLOTS — BUTTON STYLING
   ============================================ */

/* Slot container spacing */
.cbs-slots {
    margin-top: 20px !important;
}

/* TIME SLOT BUTTONS — FIX WIDTH + STYLE */
.cbs-slots .cbs-slot-btn {
    display: inline-block !important;   /* prevents full-width stretch */
    width: auto !important;             /* FIX */
    min-width: 140px !important;        /* keeps them tidy */
    background: #ffffff !important;
    border: 1px solid #C4C4C4 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    color: #333 !important;
    cursor: pointer !important;
    margin: 6px !important;             /* spacing between buttons */
    transition: all 0.15s ease-in-out !important;
    text-align: center !important;
}

/* Hover */
.cbs-slots .cbs-slot-btn:hover {
    background: #fefaf3 !important;
    border-color: #AFAFAF !important;
}

/* SELECTED SLOT — FULL GREEN WITH WHITE TEXT */
.cbs-slots .cbs-slot-btn.cbs-selected {
    background: #87B3A3 !important;   /* your brand green */
    border-color: #87B3A3 !important; /* match border */
    color: #ffffff !important;        /* white text */
    font-weight: 600 !important;
}


/* ============================================
   CLIENT INFO CARD
   ============================================ */

.cbs-client-info {
    background: #fefaf3 !important;
    border: 1px solid #C4C4C4 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 30px !important;
}

/* Labels */
.cbs-client-info label {
    font-weight: 600 !important;
    margin-top: 12px !important;
    display: block !important;
}

/* Inputs */
.cbs-client-info input {
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #C4C4C4 !important;
    border-radius: 8px !important;
    margin-top: 6px !important;
    background: #ffffff !important;
    color: #4A4A4A !important;
}

/* Error messages */
.cbs-error {
    color: #C0392B !important;
    font-size: 14px !important;
    margin-top: 4px !important;
}
/* DARKEN TEXT INSIDE THE DATE PICKER */
.cbs-calendar input[type="date"] {
    color: #4A4A4A !important;   /* same as client fields */
}


#cbs-session-type {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    display: block;
    width: 100%;
    max-width: 340px;

    height: 48px;              /* ← FIX: force full height */
    line-height: 48px;         /* ← FIX: vertically centers text */

    padding: 0 16px;           /* ← remove vertical padding so line-height works */

    font-size: 16px;
    font-family: Lato, sans-serif;
    color: #7A7A7A;

    background: #ffffff;
    border: 1px solid #C4C4C4 !important;
    border-radius: 8px !important;

    cursor: pointer;
    outline: none;

    background-image: url("data:image/svg+xml;utf8,<svg fill='%237A7A7A' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
}

#cbs-session-type:focus {
    border-color: #87B3A3 !important;
    box-shadow: 0 0 0 2px rgba(135,179,163,0.25);
}

@media (max-width: 768px) {
    .cbs-session-card {
        --flex-direction: column !important;
        flex-direction: column !important;
        align-items: center !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6ac10d0 */#cbs-continue {
    display: block;
    width: 100%;
    max-width: 260px;
    margin-top: 35px;
    background-color: #87B3A3;
    color: #ffffff;
    padding: 14px 24px;
    border: none;
    border-radius: 6px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    font-family: "Lato", sans-serif;
    transition: background-color 0.2s ease, transform 0.15s ease;
    text-align: center;
}

#cbs-continue:hover:not(:disabled) {
    background-color: #AAC4BA;
    transform: translateY(-2px);
}

#cbs-continue:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
    transform: none;
}/* End custom CSS */