body.eco-app .form-grid,
body.eco-guest .form-grid {
    display: grid;
    gap: 1rem;
}

body.eco-app .field,
body.eco-guest .field {
    display: grid;
    gap: 0.45rem;
}

body.eco-app .field label,
body.eco-guest .field label {
    font-size: 0.95rem;
    font-weight: 900;
    color: var(--eco-text);
}

body.eco-app input:not([type="checkbox"]):not([type="radio"]),
body.eco-app select,
body.eco-app textarea,
body.eco-guest input:not([type="checkbox"]):not([type="radio"]),
body.eco-guest select,
body.eco-guest textarea {
    width: 100%;
    min-height: 50px;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(183, 215, 184, 0.95);
    border-radius: 18px;
    background: linear-gradient(180deg, #f7fbf3, var(--eco-surface-soft));
    color: var(--eco-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: border-color var(--eco-transition-fast), box-shadow var(--eco-transition-fast), transform var(--eco-transition-fast);
}

body.eco-app textarea,
body.eco-guest textarea {
    min-height: 124px;
    resize: vertical;
}

body.eco-app input::placeholder,
body.eco-app textarea::placeholder,
body.eco-guest input::placeholder,
body.eco-guest textarea::placeholder {
    color: rgba(82, 121, 111, 0.7);
}

body.eco-app input:not([type="checkbox"]):not([type="radio"]):focus,
body.eco-app select:focus,
body.eco-app textarea:focus,
body.eco-guest input:not([type="checkbox"]):not([type="radio"]):focus,
body.eco-guest select:focus,
body.eco-guest textarea:focus {
    outline: none;
    border-color: rgba(46, 125, 50, 0.5);
    box-shadow: 0 0 0 4px rgba(46, 125, 50, 0.12), 0 10px 22px rgba(46, 125, 50, 0.08);
    transform: translateY(-1px);
}

body.eco-app select,
body.eco-guest select {
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--eco-primary) 50%),
        linear-gradient(135deg, var(--eco-primary) 50%, transparent 50%);
    background-position:
        calc(100% - 24px) calc(50% - 4px),
        calc(100% - 18px) calc(50% - 4px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 3rem;
}

body.eco-app input[type="checkbox"],
body.eco-app input[type="radio"],
body.eco-guest input[type="checkbox"],
body.eco-guest input[type="radio"] {
    accent-color: var(--eco-primary);
}

body.eco-app .search-form,
body.eco-guest .search-form {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(183, 215, 184, 0.7);
}
