/*予約フォーム用*/
.mice-webform {
    .booking-form-container {
        max-width: 800px;
        margin: 20px auto;
        background: #fff;
        border-radius: 4px;
        padding: 20px;

        &.sent {
            text-align: center;
        }

        @media screen and (max-width: 768px) {/*SP*/
            padding: 0;
        }
    }

    .booking-form-head {
            margin-bottom: 40px;

        .facility-name {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 8px;
        }
        .facility-detail {
            display: flex;

            img {
                width: 100px;
                height: 100px;
                object-fit: cover;
            }
        }

        .booking-detail {
            dl {
                display: flex;
                padding: 12px 0 12px 20px;
                border-bottom: 1px solid var(--border-color);

                @media screen and (max-width: 768px) { /*SP*/
                    flex-direction: column;
                }

                & * > * {
                    border-top: 1px solid var(--border-color);
                }

                &:last-child {
                    margin-bottom: 12px;
                }
            }
            dt {
                font-weight: bold;
                margin-bottom: 4px;
                width: 200px;

                @media screen and (max-width: 768px) { /*SP*/
                    width: 100%;
                }
            }
            dd{
                margin-bottom: 4px;
                width: calc(100% - 200px);

                @media screen and (max-width: 768px) { /*SP*/
                    width: 100%;
                }
            }
        }
        @media screen and (max-width: 768px) { /*SP*/
            font-size: 12px;
        }
    }

    .booking-form-group {
        margin-bottom: 15px;
        padding: 0 4px 0 20px;
        display: flex;
        flex-direction: column;

        .input-row {
            display: flex;
            gap: 8px;
            align-items: center;

            label {
                font-weight: normal;
                font-size: 10px;
            }
        }

        @media screen and (max-width: 768px) { /*SP*/
            padding: 0 12px;
        }
    }

    .booking-form-group label {
        font-weight: bold;
        margin-bottom: 5px;
    }

    .booking-form-group input,
    .booking-form-group select,
    .booking-form-group textarea {
        width: 100%;
        padding: 10px;
        height: 40px;
        border: 1px solid var(--border-color);
        border-radius: 4px;
        font-size: 16px;
        box-sizing: border-box;
        transition: border-color 0.3s, box-shadow 0.3s;
    }

    .booking-form-group textarea {
        height: 80px;
        resize: vertical;
    }

    .booking-form-group input:focus,
    .booking-form-group select:focus,
    .booking-form-group textarea:focus {
        border-color: var(--secondary-color);
        outline: none;
        box-shadow: 0 0 5px var(--secondary-color);
    }

    .booking-form-group .radio-group {
        display: flex;
        align-items: center;
        gap: 4px;
        row-gap: 4px;
        flex-wrap: wrap;
        margin-top: 12px;
    }

    .booking-form-group .radio-group input[type="radio"] {
        width: 16px;
        height: 16px;
        margin: 0;
    }

    .booking-form-group .radio-group label {
        display: flex;
        align-items: center;
        font-size: 14px;
        font-weight: normal;
        cursor: pointer;
        gap: 4px;
        margin-bottom: 0;
        margin-left: 4px;
        margin-right: 12px;
    }

    .booking-form-group p.user-input-data {
        color: var(--text-color-muted);
        padding-left: 20px;
    }

    .booking-form-actions {
        display: flex;
        justify-content: space-between;
        margin-top: 80px;

        &.mt0 {
            margin-top: 0;
        }

        &.single {
            justify-content: center;
        }
    }

    @media screen and (max-width: 768px) {
        .booking-form-actions {
            flex-direction: column-reverse;
            gap: 12px;
            margin-bottom: 80px;
        }

        form {
            display: block;
            width: 100%;

            input {
                width: 100%;
            }
        }
    }

    .booking-form-actions .btn {
        padding: 12px 20px;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        font-size: 16px;
        height: auto;
    }

    .booking-form-actions .back-button {
        background: var(--btn-disabled);
        color: white;
        text-align: center;
    }

    .booking-form-actions .submit-button {
        background: var(--btn-action);
        color: white;
    }

    .booking-form-actions .submit-button:hover {
        background: var(--btn-action-hover);
    }

    .sent-message {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 20px;
    }

    .error-message {
        color: var(--red);
        font-size: 12px;
        font-weight: bold;
    }

    .form-label {
        font-weight: bold;
        font-size: 16px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--text-color);
    }

    .required-label {
        font-size: 12px;
        padding: 2px 6px;
        background-color: var(--red);
        color: #fff;
        border-radius: 4px;
        line-height: 1;
        vertical-align: middle;
        margin-left: 4px;
    }

    .pmktxt {
        font-size: 12px;
        width: 100%;
        padding: 0 20px;
    }
}/*mice-webform*/