/**
 * HUEGO Hat Filter.
 * Portable component: archive + Elementor shortcode.
 * Attribute order: Chất liệu -> Màu sắc -> Họa tiết.
 *
 * Layout responds to the component container width, not viewport width.
 */

.huego-hat-filter {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 var(--huego-space-lg);
    padding: 14px;
    border: 1px solid var(--huego-color-border);
    border-radius: var(--huego-radius-md);
    background: var(--huego-color-surface-soft);
    container-name: huego-hat-filter;
    container-type: inline-size;
}

.huego-hat-filter__header {
    margin: 0 0 10px;
}

.huego-hat-filter__title {
    margin: 0;
    color: var(--huego-color-primary);
    font-family: var(--huego-font-family);
    font-size: 18px;
    font-weight: var(--huego-font-weight-bold);
    line-height: 1.3;
}

/* Narrow-container default: same behavior as mobile, even on desktop. */
.huego-hat-filter__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    gap: 10px;
    width: 100%;
}

.huego-hat-filter__field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.huego-hat-filter__label {
    color: var(--huego-color-text);
    font-size: 12px;
    font-weight: var(--huego-font-weight-semibold);
    line-height: 1.35;
}

.huego-hat-filter select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 40px;
    margin: 0;
    padding: 0 36px 0 12px;
    border: 1px solid var(--huego-color-border);
    border-radius: var(--huego-radius-sm);
    outline: none;
    background-color: var(--huego-color-surface);
    color: var(--huego-color-text);
    font-family: inherit;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
}

.huego-hat-filter select:hover {
    border-color: var(--huego-color-border-strong);
}

.huego-hat-filter select:focus-visible {
    border-color: var(--huego-color-focus);
    box-shadow: 0 0 0 3px var(--huego-color-focus-ring);
}

.huego-hat-filter__actions {
    display: flex;
    min-width: 0;
    min-height: 40px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.huego-hat-filter__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 40px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid var(--huego-color-primary);
    border-radius: var(--huego-radius-sm);
    background: var(--huego-color-primary);
    color: var(--huego-color-white);
    font-family: inherit;
    font-size: 13px;
    font-weight: var(--huego-font-weight-semibold);
    line-height: 1;
    cursor: pointer;
    transition: background var(--huego-transition-fast), border-color var(--huego-transition-fast);
}

.huego-hat-filter__submit:hover,
.huego-hat-filter__submit:focus-visible {
    border-color: var(--huego-color-primary-hover);
    background: var(--huego-color-primary-hover);
    color: var(--huego-color-white);
}

.huego-hat-filter__submit:focus-visible,
.huego-hat-filter__reset:focus-visible {
    outline: 2px solid var(--huego-color-focus);
    outline-offset: 2px;
}

.huego-hat-filter__reset {
    color: var(--huego-color-text-muted);
    font-size: 12px;
    font-weight: var(--huego-font-weight-semibold);
    line-height: 1.3;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.huego-hat-filter__reset:hover {
    color: var(--huego-color-primary);
}

/*
 * Wide-container enhancement.
 * Example: 65% Elementor column is typically wide enough and becomes horizontal.
 * A 35% column remains vertical regardless of the desktop viewport width.
 */
@container huego-hat-filter (min-width: 680px) {
    .huego-hat-filter {
        padding: 18px;
    }

    .huego-hat-filter__header {
        margin-bottom: 12px;
    }

    .huego-hat-filter__title {
        font-size: 20px;
    }

    .huego-hat-filter__form {
        grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
        gap: 12px;
    }

    .huego-hat-filter__label {
        font-size: 13px;
    }

    .huego-hat-filter select,
    .huego-hat-filter__submit {
        height: 42px;
    }

    .huego-hat-filter__actions {
        min-height: 42px;
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    .huego-hat-filter__submit {
        width: auto;
        min-width: 112px;
    }

    .huego-hat-filter__reset {
        text-align: left;
    }
}

/*
 * Old-browser fallback:
 * keep the narrow/default vertical layout. This is intentionally conservative:
 * without Container Queries we cannot know the Elementor/container width, so
 * viewport-based horizontal forcing would violate the component contract.
 */
