.liquid-park-bookingwidget {
    width: 100%;
    /* Typography Overrides to prevent WordPress interference */
    font-size: 1rem !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important;

    /* Bootstrap Fallbacks if not loaded */
    --bs-primary: #7266bb;
    --bs-primary-rgb: 114, 102, 187;
    --bs-light: #f8f9fa;
    --bs-border-color: #ced4da;
    --bs-danger-bg-subtle: #ffe5e5;
    --bs-link-color: var(--bs-primary);
}

.liquid-park-bookingwidget a {
    color: var(--bs-link-color);
    text-decoration: none;
}

.liquid-park-bookingwidget a:hover {
    color: var(--bs-link-color);
    filter: brightness(0.9);
    text-decoration: underline;
}

.liquid-park-input-group {
    display: flex;
    width: 100%;
    gap: 0;
    position: relative;
}

.liquid-park-input-group .flatpickr-wrapper {
    flex: 1;
    display: flex;
}

.liquid-park-bookingwidget-input {
    padding: 10px 30px;
    border-radius: 50px;
    background-color: var(--bs-light);
    width: 100%;
    border: 1px solid var(--bs-border-color);
    height: 60px;
    border-right: none;
    box-sizing: border-box;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.liquid-park-bookingwidget-button {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 50px !important;
    cursor: pointer;
    min-width: 100px;
    padding: 0 20px;
    background-color: var(--bs-primary) !important;
    color: white;
    border: 1px solid var(--bs-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 24px !important;
}

.liquid-park-bookingwidget-button:hover {
    filter: brightness(0.9);
}

.liquid-park-bookingwidget .flatpickr-calendar {
    width: 100% !important;
}

.liquid-park-bookingwidget .is-invalid {
    background-color: var(--bs-danger-bg-subtle);
}

.lp-input-group .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.lp-input-group .form-select:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}