/*!
Theme Name: sundancer
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: sundancer
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

sundancer is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/* ==========================================
   Sundancer Buses - WPForms Styling
   Beautification Only
   ========================================== */

/* Labels */
.wpforms-container .wpforms-field-label {
    margin-bottom: 8px !important;
    color: #1f2937 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}

/* Required star */
.wpforms-container .wpforms-required-label {
    color: #e85d04 !important;
    font-weight: 600 !important;
}

/* Input fields */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container input[type="url"],
.wpforms-container input[type="date"],
.wpforms-container input[type="password"],
.wpforms-container select,
.wpforms-container textarea {
    border: 1px solid #e1e5ea !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    color: #252525 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    padding: 13px 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease !important;
}

/* Input height */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container input[type="url"],
.wpforms-container input[type="date"],
.wpforms-container input[type="password"],
.wpforms-container select {
    min-height: 50px !important;
}

/* Textarea */
.wpforms-container textarea {
    min-height: 140px !important;
    resize: vertical !important;
}

/* Placeholder */
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
    color: #9ca3af !important;
    opacity: 1 !important;
}

/* Focus effect */
.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container input[type="tel"]:focus,
.wpforms-container input[type="number"]:focus,
.wpforms-container input[type="url"]:focus,
.wpforms-container input[type="date"]:focus,
.wpforms-container input[type="password"]:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    border-color: #f28c28 !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(242, 140, 40, 0.12) !important;
}

/* Hover */
.wpforms-container input[type="text"]:hover,
.wpforms-container input[type="email"]:hover,
.wpforms-container input[type="tel"]:hover,
.wpforms-container input[type="number"]:hover,
.wpforms-container input[type="url"]:hover,
.wpforms-container input[type="date"]:hover,
.wpforms-container input[type="password"]:hover,
.wpforms-container select:hover,
.wpforms-container textarea:hover {
    border-color: #cbd1d8 !important;
}

/* Description / helper text */
.wpforms-container .wpforms-field-description {
    margin-top: 6px !important;
    color: #7a8088 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* Validation error */
.wpforms-container label.wpforms-error {
    color: #dc3545 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    margin-top: 5px !important;
}

/* Error fields */
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.08) !important;
}

/* Submit button */
.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"] {
    border: 0 !important;
    border-radius: 8px !important;
    background: #f28c28 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 13px 28px !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
}

/* Submit hover */
.wpforms-container button[type="submit"]:hover,
.wpforms-container input[type="submit"]:hover {
    background: #df7715 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Success message */
.wpforms-container .wpforms-confirmation-container {
    border-radius: 8px !important;
    border: 1px solid #c7ead4 !important;
    background: #f0fff5 !important;
    color: #23613b !important;
    padding: 15px 18px !important;
    font-size: 14px !important;
}




/* =========================================
   Sundancer Buses - CF7 Booking Form
   ========================================= */

.booking-form {
    width: 100%;
}

.booking-form .form-group {
    margin-bottom: 0;
}

.booking-form .form-label,
.booking-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    line-height: 1.4;
}

.booking-form .form-control {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 12px 15px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    background: #fff;
    font-size: 15px;
    line-height: 1.5;
    box-shadow: none;
    transition: all 0.2s ease;
}

.booking-form textarea.form-control {
    min-height: 130px;
    resize: vertical;
}

.booking-form .form-control:focus {
    border-color: #999;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
}

/* Date input */
.booking-form input[type="date"].form-control {
    appearance: auto;
}

/* Time picker */
.booking-form .walcf7-timepicker {
    width: 100%;
}

/* Notice */
.booking-notice {
    margin-top: 2px;
    padding: 12px 15px;
    border-left: 3px solid #000;
    background: #f7f7f7;
    font-size: 14px;
    line-height: 1.6;
}

/* Section headings */
.booking-section {
    margin-top: 35px;
}

.booking-section-title {
    margin: 0 0 20px;
    font-size: 22px;
    font-weight: 700;
}

/* Payment */
.payment-info {
    margin-bottom: 15px;
}

.payment-methods {
    margin-bottom: 10px;
}

.payment-methods .wpcf7-list-item {
    margin: 0 20px 0 0;
}

.payment-methods input[type="radio"] {
    margin-right: 6px;
}

/* Credit card section */
.credit-card-section {
    margin-top: 15px;
    padding: 25px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fafafa;
}

/* Information boxes */
.booking-info-box {
    margin-bottom: 15px;
}

.booking-info-box p {
    margin-bottom: 0;
    line-height: 1.7;
}

/* Terms */
.terms-section {
    line-height: 1.7;
}

.terms-list {
    margin: 15px 0 20px;
    padding-left: 22px;
}

.terms-list li {
    margin-bottom: 8px;
}

/* Checkboxes */
.booking-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.booking-checkbox .wpcf7-list-item {
    margin: 0;
}

.booking-checkbox input[type="checkbox"] {
    margin-top: 5px;
    flex: 0 0 auto;
}

.booking-checkbox label {
    margin: 0;
    font-weight: 400;
    line-height: 1.6;
}

/* Submit button */
.booking-submit {
    min-width: 180px;
    min-height: 50px;
    padding: 12px 28px !important;
    border: 0 !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.booking-submit:hover {
    transform: translateY(-1px);
}

/* CF7 validation */
.booking-form .wpcf7-not-valid {
    border-color: #dc3545 !important;
}

.booking-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 13px;
}

.booking-form .wpcf7-response-output {
    margin: 25px 0 0 !important;
    padding: 12px 15px !important;
}

/* Remove unwanted CF7 spacing */
.booking-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Mobile */
@media (max-width: 767.98px) {

    .booking-section {
        margin-top: 28px;
    }

    .booking-section-title {
        font-size: 20px;
    }

    .credit-card-section {
        padding: 18px;
    }

    .booking-form .form-control {
        min-height: 46px;
    }

    .booking-submit {
        width: 100%;
    }

}