/* フォーム */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    padding: 10px 15px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    width: 100%;
    color: var(--text-color);
    background-color: #fff;
    transition: border-color 0.3s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    border-color: var(--primary-color);
    outline: none;
}

textarea {
    width: 100%;
    resize: vertical;
}

label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
}

.form-group {
    margin-bottom: 20px;
}

.search-form {
    display: flex;
    align-items: center;
}

.search-field {
    border-radius: 4px 0 0 4px;
    border-right: none;
}

.search-submit {
    border-radius: 0 4px 4px 0;
    padding: 10px 15px;
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

.search-submit:hover {
    background-color: var(--secondary-color);
}
