/**
 * forms.css — inputs, textareas, selects, search form.
 *
 * Single responsibility: form control styling. No buttons (those live in
 * buttons.css).
 *
 * @package ICE_GeneratePress_Child
 * @since   1.0.0
 */

.ice-search-form {
        display: flex;
        align-items: stretch;
        gap: var(--ice-spacing-2xs);
        max-width: 480px;
}

.ice-search-form__input {
        flex: 1 1 auto;
        min-width: 0;
        padding: 12px 16px;
        font-family: var(--ice-font-body);
        font-size: var(--ice-fs-base);
        color: var(--ice-title);
        background: var(--ice-white);
        border: 2px solid var(--ice-border);
        border-radius: var(--ice-btn-radius);
        transition: border-color var(--ice-t-fast), box-shadow var(--ice-t-fast);
}

.ice-search-form__input::placeholder {
        color: var(--ice-gray-light);
}

.ice-search-form__input:focus {
        outline: none;
        border-color: var(--ice-accent);
        box-shadow: 0 0 0 3px rgba(214, 181, 110, 0.25);
}

.ice-search-form__submit {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 48px;
        padding: 0 var(--ice-spacing-md);
        background: var(--ice-accent);
        color: var(--ice-primary);
        border: 0;
        border-radius: var(--ice-btn-radius);
        cursor: pointer;
        transition: background var(--ice-t-fast);
}

.ice-search-form__submit:hover {
        background: var(--ice-accent-dark);
}

/* ----- Search overlay (removed in v1.0.2) ----- */
/* The full-screen search overlay has been removed. The .ice-search-form
 * above is still used by searchform.php + search.php for the inline
 * search form. */

/* ----- Classic editor form elements inside post content ----- */

.ice-entry-content input[type="text"],
.ice-entry-content input[type="email"],
.ice-entry-content input[type="url"],
.ice-entry-content input[type="password"],
.ice-entry-content input[type="search"],
.ice-entry-content input[type="number"],
.ice-entry-content input[type="tel"],
.ice-entry-content input[type="date"],
.ice-entry-content textarea,
.ice-entry-content select {
        width: 100%;
        max-width: 480px;
        padding: 12px 16px;
        font-family: var(--ice-font-body);
        font-size: var(--ice-fs-base);
        color: var(--ice-title);
        background: var(--ice-white);
        border: 2px solid var(--ice-border);
        border-radius: var(--ice-btn-radius);
        transition: border-color var(--ice-t-fast), box-shadow var(--ice-t-fast);
}

.ice-entry-content textarea {
        max-width: 720px;
        min-height: 120px;
        resize: vertical;
}

.ice-entry-content input:focus,
.ice-entry-content textarea:focus,
.ice-entry-content select:focus {
        outline: none;
        border-color: var(--ice-accent);
        box-shadow: 0 0 0 3px rgba(214, 181, 110, 0.25);
}

.ice-entry-content label {
        display: block;
        margin-bottom: 6px;
        font-weight: var(--ice-fw-semibold);
        color: var(--ice-title);
        font-size: var(--ice-fs-sm);
}

.ice-entry-content fieldset {
        border: 1px solid var(--ice-border);
        border-radius: var(--ice-btn-radius-sm);
        padding: var(--ice-spacing-md);
        margin-bottom: var(--ice-spacing-md);
}

.ice-entry-content legend {
        padding: 0 var(--ice-spacing-xs);
        font-weight: var(--ice-fw-bold);
        color: var(--ice-title);
}

/* ----- Comment form ----- */

.ice-comment-form {
        margin-top: var(--ice-spacing-xl);
}

.ice-comment-form .comment-form-author,
.ice-comment-form .comment-form-email,
.ice-comment-form .comment-form-url,
.ice-comment-form .comment-form-comment {
        margin-bottom: var(--ice-spacing-md);
}

.ice-comment-form input[type="text"],
.ice-comment-form input[type="email"],
.ice-comment-form input[type="url"],
.ice-comment-form textarea {
        width: 100%;
        max-width: 100%;
        padding: 12px 16px;
        font-family: var(--ice-font-body);
        font-size: var(--ice-fs-base);
        color: var(--ice-title);
        background: var(--ice-white);
        border: 2px solid var(--ice-border);
        border-radius: var(--ice-btn-radius);
}

.ice-comment-form input:focus,
.ice-comment-form textarea:focus {
        outline: none;
        border-color: var(--ice-accent);
        box-shadow: 0 0 0 3px rgba(214, 181, 110, 0.25);
}

.ice-comment-form label {
        display: block;
        margin-bottom: 6px;
        font-weight: var(--ice-fw-semibold);
        color: var(--ice-title);
        font-size: var(--ice-fs-sm);
}

.ice-comment-form .comment-form-cookies-consent {
        display: flex;
        align-items: center;
        gap: var(--ice-spacing-xs);
        margin-bottom: var(--ice-spacing-md);
}

.ice-comment-form .comment-form-cookies-consent input[type="checkbox"] {
        width: auto;
        margin: 0;
}

.ice-comment-form .form-submit input[type="submit"] {
        display: inline-flex;
        align-items: center;
        gap: var(--ice-spacing-2xs);
        padding: 12px 24px;
        font-family: var(--ice-font-body);
        font-size: var(--ice-fs-base);
        font-weight: var(--ice-fw-semibold);
        border-radius: var(--ice-btn-radius);
        background: var(--ice-accent);
        color: var(--ice-primary);
        border: 0;
        cursor: pointer;
        transition: all var(--ice-btn-transition);
}

.ice-comment-form .form-submit input[type="submit"]:hover {
        background: var(--ice-accent-dark);
        transform: translateY(-1px);
}

/* ----- Comment list ----- */

.ice-comments__list {
        margin: 0 0 var(--ice-spacing-xl);
        padding: 0;
        list-style: none;
}

.ice-comments__list .comment,
.ice-comments__list .pingback,
.ice-comments__list .trackback {
        padding: var(--ice-spacing-md);
        border: 1px solid var(--ice-border);
        border-radius: var(--ice-btn-radius-sm);
        margin-bottom: var(--ice-spacing-sm);
        background: var(--ice-light);
}

.ice-comments__list .comment .children {
        list-style: none;
        margin: var(--ice-spacing-sm) 0 0;
        padding-left: var(--ice-spacing-md);
        border-left: 2px solid var(--ice-border);
}

.ice-comments__list .comment-body {
        display: flex;
        gap: var(--ice-spacing-md);
}

.ice-comments__list .avatar {
        border-radius: 50%;
}

.ice-comments__list .comment-author {
        font-weight: var(--ice-fw-bold);
        color: var(--ice-title);
}

.ice-comments__list .comment-meta {
        font-size: var(--ice-fs-sm);
        color: var(--ice-gray);
        margin-bottom: var(--ice-spacing-xs);
}

.ice-comments__list .comment-content {
        margin-top: var(--ice-spacing-xs);
        color: var(--ice-body);
        line-height: var(--ice-lh-normal);
}

.ice-comments__list .reply {
        margin-top: var(--ice-spacing-xs);
        font-size: var(--ice-fs-sm);
}

.ice-comments__list .reply a {
        color: var(--ice-accent);
        font-weight: var(--ice-fw-semibold);
}
