/**
 * Sugar Experience Booking - Frontend Luxury Styles
 */

@property --SE_beam_angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

#SE_booking_root,
#SE_booking_root * {
    box-sizing: border-box !important;
}

#SE_booking_root {
    font-family: 'Manrope', sans-serif !important;
    color: #F5F0E7 !important;
    line-height: 1.7 !important;
}

#SE_booking_root p {
    margin: 0 0 0 0 !important;
}

#SE_booking_root h1,
#SE_booking_root h2,
#SE_booking_root h3,
#SE_booking_root h4 {
    font-family: 'Bodoni Moda', serif !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#SE_booking_root button {
    font-family: 'Manrope', sans-serif !important;
    border-radius: 0 !important;
}

#SE_booking_root input,
#SE_booking_root select,
#SE_booking_root textarea {
    font-family: 'Manrope', sans-serif !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#SE_booking_root .SE_booking_header {
    text-align: center !important;
    padding: 70px 20px 44px !important;
}

#SE_booking_root .SE_booking_eyebrow {
    font-size: 11px !important;
    letter-spacing: 6px !important;
    text-transform: uppercase !important;
    color: #D6B16A !important;
    display: block !important;
    margin-bottom: 22px !important;
}

#SE_booking_root .SE_booking_title {
    font-size: clamp(36px, 6vw, 54px) !important;
    letter-spacing: 5px !important;
    color: #F5F0E7 !important;
    margin: 0 0 18px 0 !important;
}

#SE_booking_root .SE_booking_divider {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    max-width: 260px !important;
    margin: 0 auto 20px !important;
}

#SE_booking_root .SE_booking_divider i {
    flex: 1 !important;
    height: 1px !important;
}

#SE_booking_root .SE_booking_divider i:first-child {
    background: linear-gradient(to left, #D6B16A, transparent) !important;
}

#SE_booking_root .SE_booking_divider i:last-child {
    background: linear-gradient(to right, #D6B16A, transparent) !important;
}

#SE_booking_root .SE_booking_divider b {
    color: #D6B16A !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}

#SE_booking_root .SE_booking_sub {
    font-size: 13px !important;
    color: #8F877A !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    line-height: 1.9 !important;
    letter-spacing: 1px !important;
}

#SE_booking_root .SE_booking_sub b {
    color: #D6B16A !important;
    font-weight: 500 !important;
}

#SE_booking_root .SE_booking_wrap {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 24px 90px !important;
}

#SE_booking_root .SE_booking_box {
    position: relative !important;
    background-color: #000000B8 !important;
    border: 1px solid #D6B16A73 !important;
    padding: 46px 44px !important;
    overflow: visible !important;
    color-scheme: dark !important;
}

#SE_booking_root .SE_booking_box::before,
#SE_booking_root .SE_booking_box::after {
    content: "" !important;
    position: absolute !important;
    inset: -1px !important;
    padding: 2px !important;
    border: none !important;
    background: conic-gradient(from var(--SE_beam_angle), transparent 0deg, transparent 240deg, rgba(214, 177, 106, 0) 240deg, rgba(214, 177, 106, .55) 300deg, #D6B16A 330deg, #ECD59D 350deg, #FFF6DE 358deg, transparent 360deg) !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    mask-composite: exclude !important;
    animation: SE_beam_spin 5s linear infinite !important;
    pointer-events: none !important;
    z-index: 4 !important;
}

#SE_booking_root .SE_booking_box::after {
    filter: blur(10px) !important;
    opacity: .85 !important;
}

@keyframes SE_beam_spin {
    to {
        --SE_beam_angle: 360deg;
    }
}

#SE_booking_root .SE_booking_steps {
    display: flex !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 40px !important;
    position: relative !important;
}

#SE_booking_root .SE_booking_steps::before {
    content: "" !important;
    position: absolute !important;
    top: 16px !important;
    left: 6% !important;
    right: 6% !important;
    height: 1px !important;
    background: #D6B16A73 !important;
}

#SE_booking_root .SE_booking_step {
    position: relative !important;
    z-index: 1 !important;
    text-align: center !important;
    flex: 1 !important;
}

#SE_booking_root .SE_booking_step_num {
    width: 33px !important;
    height: 33px !important;
    margin: 0 auto 8px !important;
    border: 1px solid #8F877A !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    color: #8F877A !important;
    background: #070706 !important;
    transition: all .4s ease !important;
}

#SE_booking_root .SE_booking_step_label {
    font-size: 9px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #8F877A !important;
}

#SE_booking_root .SE_booking_step_active .SE_booking_step_num {
    border-color: #D6B16A !important;
    background: #D6B16A !important;
    color: #070706 !important;
}

#SE_booking_root .SE_booking_step_active .SE_booking_step_label {
    color: #D6B16A !important;
}

#SE_booking_root .SE_booking_step_done .SE_booking_step_num {
    border-color: #D6B16A !important;
    color: #D6B16A !important;
}

#SE_booking_root .SE_booking_step_done .SE_booking_step_label {
    color: #ECD59D !important;
}

#SE_booking_root .SE_booking_panel {
    display: none !important;
}

#SE_booking_root .SE_booking_panel_active {
    display: block !important;
    animation: SE_booking_fade .5s ease !important;
}

@keyframes SE_booking_fade {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#SE_booking_root .SE_booking_step_title {
    font-size: 22px !important;
    letter-spacing: 2px !important;
    color: #ECD59D !important;
    margin: 0 0 6px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

#SE_booking_root .SE_booking_step_title span {
    color: #D6B16A !important;
    font-size: 12px !important;
}

#SE_booking_root .SE_booking_step_sub {
    font-size: 12.5px !important;
    color: #8F877A !important;
    margin: 0 0 26px 0 !important;
    line-height: 1.7 !important;
}

#SE_booking_root .SE_booking_cats {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

#SE_booking_root .SE_booking_cat {
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #F5F0E7 !important;
    background: transparent !important;
    border: 1px solid #D6B16A73 !important;
    padding: 10px 18px !important;
    cursor: pointer !important;
    transition: all .3s ease !important;
}

#SE_booking_root .SE_booking_cat:hover {
    border-color: #D6B16A !important;
    color: #D6B16A !important;
}

#SE_booking_root .SE_booking_cat_active {
    background: #D6B16A !important;
    border-color: #D6B16A !important;
    color: #070706 !important;
}

#SE_booking_root .SE_booking_services {
    border: 1px solid #D6B16A73 !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    margin-bottom: 20px !important;
    scrollbar-width: thin !important;
    scrollbar-color: #D6B16A #070706 !important;
}

#SE_booking_root .SE_booking_services::-webkit-scrollbar {
    width: 6px !important;
}

#SE_booking_root .SE_booking_services::-webkit-scrollbar-track {
    background: #070706 !important;
}

#SE_booking_root .SE_booking_services::-webkit-scrollbar-thumb {
    background: #D6B16A !important;
}

#SE_booking_root .SE_booking_service {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(214, 177, 106, .16) !important;
    padding: 14px 18px !important;
    cursor: pointer !important;
    transition: background .3s ease !important;
}

#SE_booking_root .SE_booking_service:last-child {
    border-bottom: none !important;
}

#SE_booking_root .SE_booking_service:hover {
    background: rgba(214, 177, 106, .06) !important;
}

#SE_booking_root .SE_booking_service_selected {
    background: rgba(214, 177, 106, .12) !important;
    box-shadow: inset 3px 0 0 #D6B16A !important;
}

#SE_booking_root .SE_booking_service_name {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 16px !important;
    color: #F5F0E7 !important;
    display: block !important;
}

#SE_booking_root .SE_booking_service_dur {
    font-size: 11px !important;
    color: #8F877A !important;
    letter-spacing: 1px !important;
}

#SE_booking_root .SE_booking_service_price {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 16px !important;
    color: #ECD59D !important;
    white-space: nowrap !important;
}

#SE_booking_root .SE_booking_service_price_var {
    font-size: 13px !important;
    font-style: italic !important;
}

#SE_booking_root .SE_booking_pricebox {
    border: 1px solid #D6B16A73 !important;
    background: rgba(7, 7, 6, .6) !important;
    padding: 20px 22px !important;
    margin-bottom: 26px !important;
}

#SE_booking_root .SE_booking_price_row {
    display: flex !important;
    justify-content: space-between !important;
    padding: 7px 0 !important;
    font-size: 13px !important;
    color: #8F877A !important;
    border-bottom: 1px solid rgba(214, 177, 106, .14) !important;
}

#SE_booking_root .SE_booking_price_row:last-child {
    border-bottom: none !important;
}

#SE_booking_root .SE_booking_price_row span:last-child {
    color: #F5F0E7 !important;
}

#SE_booking_root .SE_booking_price_row_deposit {
    color: #D6B16A !important;
}

#SE_booking_root .SE_booking_price_row_deposit span:last-child {
    color: #D6B16A !important;
    font-family: 'Bodoni Moda', serif !important;
    font-size: 17px !important;
}

#SE_booking_root .SE_booking_row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}

#SE_booking_root .SE_booking_field {
    margin-bottom: 20px !important;
}

#SE_booking_root .SE_booking_label {
    display: block !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #D6B16A !important;
    margin-bottom: 8px !important;
}

#SE_booking_root input[type="text"],
#SE_booking_root input[type="email"],
#SE_booking_root input[type="tel"],
#SE_booking_root input[type="date"],
#SE_booking_root select,
#SE_booking_root textarea {
    width: 100% !important;
    background: rgba(7, 7, 6, .7) !important;
    border: 1px solid #D6B16A73 !important;
    color: #F5F0E7 !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    padding: 13px 15px !important;
    outline: none !important;
    border-radius: 0 !important;
    transition: border-color .3s ease, box-shadow .3s ease !important;
    margin: 0 !important;
}

#SE_booking_root input[type="text"]:focus,
#SE_booking_root input[type="email"]:focus,
#SE_booking_root input[type="tel"]:focus,
#SE_booking_root input[type="date"]:focus,
#SE_booking_root select:focus,
#SE_booking_root textarea:focus {
    border-color: #D6B16A !important;
    box-shadow: 0 0 0 3px rgba(214, 177, 106, .12) !important;
}

#SE_booking_root textarea {
    min-height: 110px !important;
    resize: vertical !important;
}

#SE_booking_root select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: linear-gradient(45deg, transparent 50%, #D6B16A 50%), linear-gradient(135deg, #D6B16A 50%, transparent 50%) !important;
    background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50% !important;
    background-size: 6px 6px !important;
    background-repeat: no-repeat !important;
}

#SE_booking_root select option {
    background: #0f0f0e !important;
    color: #F5F0E7 !important;
}

#SE_booking_root select option:disabled {
    color: #5c564c !important;
}

#SE_booking_root .SE_booking_hint {
    font-size: 11px !important;
    color: #8F877A !important;
    margin-top: 8px !important;
    letter-spacing: .5px !important;
}

#SE_booking_root .SE_booking_hint b {
    color: #D6B16A !important;
    font-weight: 500 !important;
}

#SE_booking_root .SE_booking_summary {
    border: 1px solid #D6B16A73 !important;
    background: rgba(7, 7, 6, .6) !important;
    padding: 22px 24px !important;
    margin-bottom: 22px !important;
}

#SE_booking_root .SE_booking_sum_row {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid rgba(214, 177, 106, .14) !important;
    font-size: 13px !important;
}

#SE_booking_root .SE_booking_sum_row:last-child {
    border-bottom: none !important;
}

#SE_booking_root .SE_booking_sum_row b {
    color: #8F877A !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-size: 10px !important;
    padding-top: 2px !important;
}

#SE_booking_root .SE_booking_sum_row span {
    color: #F5F0E7 !important;
    text-align: right !important;
}

#SE_booking_root .SE_booking_sum_row_total span {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 16px !important;
}

#SE_booking_root .SE_booking_sum_row_deposit b,
#SE_booking_root .SE_booking_sum_row_deposit span {
    color: #D6B16A !important;
}

#SE_booking_root .SE_booking_sum_row_deposit span {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 19px !important;
}

#SE_booking_root .SE_booking_cancelbox {
    border: 1px solid #D6B16A73 !important;
    border-left: 2px solid #D6B16A !important;
    background: rgba(7, 7, 6, .6) !important;
    padding: 18px 22px !important;
    margin-bottom: 26px !important;
}

#SE_booking_root .SE_booking_cancelbox h4 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #D6B16A !important;
    margin: 0 0 12px 0 !important;
}

#SE_booking_root .SE_booking_cancelbox ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#SE_booking_root .SE_booking_cancelbox li {
    font-size: 12px !important;
    color: #8F877A !important;
    line-height: 1.7 !important;
    padding: 4px 0 4px 18px !important;
    position: relative !important;
}

#SE_booking_root .SE_booking_cancelbox li::before {
    content: "✦" !important;
    position: absolute !important;
    left: 0 !important;
    top: 5px !important;
    color: #D6B16A !important;
    font-size: 8px !important;
}

#SE_booking_root .SE_booking_cancelbox li b {
    color: #F5F0E7 !important;
    font-weight: 500 !important;
}

#SE_booking_root .SE_booking_termslink {
    display: inline-block !important;
    color: #D6B16A !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(214, 177, 106, .4) !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
}

#SE_booking_root .SE_booking_termslink:hover {
    color: #ECD59D !important;
}

#SE_booking_root .SE_booking_check {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 0 26px 0 !important;
    font-size: 13px !important;
    color: #F5F0E7 !important;
    line-height: 1.8 !important;
    cursor: pointer !important;
}

#SE_booking_root .SE_booking_check input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    margin-top: 3px !important;
    accent-color: #D6B16A !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

#SE_booking_root .SE_booking_nav {
    display: flex !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 8px !important;
}

#SE_booking_root .SE_booking_nav_end {
    justify-content: flex-end !important;
}

#SE_booking_root .SE_booking_btn {
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    transition: all .35s ease !important;
    border: 1px solid #D6B16A !important;
    background: #D6B16A !important;
    color: #070706 !important;
}

#SE_booking_root .SE_booking_btn:hover {
    background: #ECD59D !important;
    border-color: #ECD59D !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 26px rgba(214, 177, 106, .25) !important;
}

#SE_booking_root .SE_booking_btn_ghost {
    background: transparent !important;
    color: #D6B16A !important;
    border-color: #D6B16A73 !important;
}

#SE_booking_root .SE_booking_btn_ghost:hover {
    background: transparent !important;
    color: #ECD59D !important;
    border-color: #D6B16A !important;
    box-shadow: none !important;
}

#SE_booking_root .SE_booking_err {
    display: none;
    border: 1px solid rgba(200, 80, 80, .5) !important;
    background: rgba(120, 30, 30, .15) !important;
    color: #E8B4B4 !important;
    font-size: 12.5px !important;
    padding: 11px 16px !important;
    margin-bottom: 20px !important;
}

#SE_booking_root .SE_booking_success {
    display: none;
    text-align: center !important;
}

#SE_booking_root .SE_booking_success_active {
    display: block !important;
    animation: SE_booking_fade .6s ease !important;
}

#SE_booking_root .SE_booking_success_diamond {
    color: #D6B16A !important;
    font-size: 24px !important;
    display: block !important;
    margin-bottom: 16px !important;
}

#SE_booking_root .SE_booking_success_title {
    font-size: clamp(30px, 5vw, 44px) !important;
    letter-spacing: 4px !important;
    color: #F5F0E7 !important;
    margin: 0 0 10px 0 !important;
}

#SE_booking_root .SE_booking_success_sub {
    font-size: 14px !important;
    color: #8F877A !important;
    margin: 0 auto 26px !important;
    max-width: 480px !important;
    line-height: 1.8 !important;
}

#SE_booking_root .SE_booking_refbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 18px !important;
    border: 1px solid #D6B16A73 !important;
    background: rgba(7, 7, 6, .6) !important;
    padding: 14px 26px !important;
    margin-bottom: 26px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

#SE_booking_root .SE_booking_refbox b {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #8F877A !important;
    font-weight: 400 !important;
}

#SE_booking_root .SE_booking_refbox span {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 18px !important;
    color: #ECD59D !important;
    letter-spacing: 2px !important;
}

#SE_booking_root .SE_booking_status {
    border: 1px solid #D6B16A !important;
    color: #D6B16A !important;
    font-size: 9px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    padding: 5px 12px !important;
}

#SE_booking_root .SE_booking_success_summary {
    text-align: left !important;
    border: 1px solid #D6B16A73 !important;
    background: rgba(7, 7, 6, .6) !important;
    padding: 20px 24px !important;
    margin: 0 auto 26px !important;
    max-width: 560px !important;
}

#SE_booking_root .SE_booking_bank {
    text-align: left !important;
    border: 1px solid #D6B16A !important;
    background: rgba(7, 7, 6, .7) !important;
    padding: 28px 28px 24px !important;
    margin: 0 auto 26px !important;
    max-width: 560px !important;
}

#SE_booking_root .SE_booking_bank_title {
    font-size: 19px !important;
    letter-spacing: 2px !important;
    color: #ECD59D !important;
    margin: 0 0 4px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

#SE_booking_root .SE_booking_bank_title span {
    color: #D6B16A !important;
    font-size: 11px !important;
}

#SE_booking_root .SE_booking_bank_sub {
    font-size: 12px !important;
    color: #8F877A !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.7 !important;
}

#SE_booking_root .SE_booking_bank_amount {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border: 1px solid #D6B16A73 !important;
    background: rgba(214, 177, 106, .08) !important;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
}

#SE_booking_root .SE_booking_bank_amount b {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #D6B16A !important;
    font-weight: 500 !important;
}

#SE_booking_root .SE_booking_bank_amount span {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 26px !important;
    color: #ECD59D !important;
}

#SE_booking_root .SE_booking_method {
    border: 1px solid #D6B16A73 !important;
    padding: 16px 18px !important;
    margin-bottom: 12px !important;
}

#SE_booking_root .SE_booking_method_name {
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #D6B16A !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#SE_booking_root .SE_booking_method_name i {
    font-style: normal !important;
    font-size: 9px !important;
}

#SE_booking_root .SE_booking_method_row {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 12.5px !important;
    padding: 4px 0 !important;
}

#SE_booking_root .SE_booking_method_row b {
    color: #8F877A !important;
    font-weight: 400 !important;
}

#SE_booking_root .SE_booking_method_row span {
    color: #F5F0E7 !important;
    letter-spacing: .5px !important;
}

#SE_booking_root .SE_booking_bank_steps {
    list-style: none !important;
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    counter-reset: SE_bank_step !important;
}

#SE_booking_root .SE_booking_bank_steps li {
    counter-increment: SE_bank_step !important;
    font-size: 12px !important;
    color: #8F877A !important;
    line-height: 1.7 !important;
    padding: 6px 0 6px 34px !important;
    position: relative !important;
}

#SE_booking_root .SE_booking_bank_steps li::before {
    content: counter(SE_bank_step) !important;
    position: absolute !important;
    left: 0 !important;
    top: 6px !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid #D6B16A73 !important;
    color: #D6B16A !important;
    font-size: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#SE_booking_root .SE_booking_bank_steps li b {
    color: #F5F0E7 !important;
    font-weight: 500 !important;
}

#SE_booking_root .SE_booking_quote_note {
    border: 1px solid #D6B16A73 !important;
    border-left: 2px solid #D6B16A !important;
    background: rgba(7, 7, 6, .6) !important;
    padding: 18px 22px !important;
    margin: 0 auto 26px !important;
    max-width: 560px !important;
    font-size: 13px !important;
    color: #8F877A !important;
    line-height: 1.8 !important;
    text-align: left !important;
}

#SE_booking_root .SE_booking_quote_note b {
    color: #ECD59D !important;
    font-weight: 500 !important;
}

#SE_booking_root .SE_booking_hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media(max-width:760px) {
    #SE_booking_root .SE_booking_box {
        padding: 32px 20px !important;
    }

    #SE_booking_row,
    #SE_booking_root .SE_booking_row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    #SE_booking_root .SE_booking_step_label {
        display: none !important;
    }

    #SE_booking_root .SE_booking_nav {
        flex-direction: column-reverse !important;
    }

    #SE_booking_root .SE_booking_btn {
        width: 100% !important;
    }
}

@media(prefers-reduced-motion:reduce) {
    #SE_booking_root .SE_booking_box::before,
    #SE_booking_root .SE_booking_box::after {
        animation: none !important;
    }

    #SE_booking_root .SE_booking_panel_active,
    #SE_booking_root .SE_booking_success_active {
        animation: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   Square Payment Step (Panel 6)
   ═══════════════════════════════════════════════════════════════════════ */

/* The payment panel lives outside the main <form> but still inside .SE_booking_box */
#SE_booking_root .SE_booking_panel_payment {
    display: none !important;
}
#SE_booking_root .SE_booking_panel_payment.SE_booking_panel_active {
    display: block !important;
    animation: SE_fadein 0.45s ease both !important;
}

/* Step 6 indicator — hidden by default when Square is not enabled */
#SE_booking_root .SE_booking_step_payment {
    display: none;
}
#SE_booking_root .SE_booking_step_payment.SE_booking_step_active,
#SE_booking_root .SE_booking_step_payment.SE_booking_step_done {
    display: flex;
}

/* Deposit amount summary box */
#SE_booking_root .SE_booking_sq_amount {
    background: linear-gradient(135deg, rgba(214,177,106,0.12) 0%, rgba(214,177,106,0.04) 100%) !important;
    border: 1px solid rgba(214,177,106,0.35) !important;
    border-radius: 10px !important;
    padding: 20px 24px !important;
    margin: 0 0 26px !important;
    text-align: center !important;
}
#SE_booking_root .SE_booking_sq_amount_label {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #8F877A !important;
    margin-bottom: 6px !important;
}
#SE_booking_root .SE_booking_sq_amount_value {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 38px !important;
    font-weight: 600 !important;
    color: #D6B16A !important;
    line-height: 1.1 !important;
    margin-bottom: 6px !important;
}
#SE_booking_root .SE_booking_sq_amount_ref {
    font-size: 12px !important;
    color: #6B6258 !important;
    letter-spacing: 0.04em !important;
}

/* Square card element mount container */
#SE_booking_root .SE_booking_sq_card_wrap {
    margin-bottom: 24px !important;
}
#SE_booking_root #SE_sq_card_container {
    min-height: 52px !important;
    overflow: visible !important;
    --sq-background-color: #11100E;
    --sq-border-color: #C8B78A;
    --sq-text-color: #F5F0E7;
    --sq-placeholder-color: #8F877A;
    --sq-input-background-color: #141310;
}

/* Square card field errors */
#SE_booking_root .SE_booking_sq_err {
    display: none;
    margin-top: 10px !important;
    padding: 10px 14px !important;
    background: rgba(200,50,50,0.12) !important;
    border: 1px solid rgba(200,50,50,0.3) !important;
    border-radius: 6px !important;
    color: #E88080 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* PCI / secure badge */
#SE_booking_root .SE_booking_sq_secure {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 11px !important;
    color: #6B6258 !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 24px !important;
}

/* Full-width pay button */
#SE_booking_root .SE_booking_btn_full {
    width: 100% !important;
    justify-content: center !important;
    font-size: 16px !important;
    padding: 17px 24px !important;
    letter-spacing: 0.08em !important;
}

/* Success screen — paid confirmation badge */
#SE_booking_root .SE_booking_sq_paid {
    display: none;
    align-items: center !important;
    gap: 10px !important;
    background: rgba(46,164,79,0.12) !important;
    border: 1px solid rgba(46,164,79,0.3) !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    margin: 0 0 18px !important;
    font-size: 13.5px !important;
    color: #7FD898 !important;
    line-height: 1.5 !important;
}

/* Spinner keyframes for processing state */
@keyframes SE_spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

