/* Container aligns the whole bar via Elementor control */
.fms-container {
    text-align: center; /* default; Elementor control will override */
}

/* Search wrapper: controls overall width (Elementor slider overrides max-width) */
.fms-search-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 400px; /* default; overridden by Elementor width control */
}

/* Input with left padding to make room for the icon */
.fms-input {
    width: 100%;
    padding: 10px 12px 10px 38px; /* overridden by Elementor icon spacing */
    border: 1px solid #ccc;       /* color overridden by control */
    border-radius: 6px;           /* radius overridden by control */
    font-size: 16px;
    box-sizing: border-box;
}

/* Icon is absolutely positioned inside the input area */
.fms-search-icon {
    position: absolute;
    top: 50%;
    left: 12px;                   /* overridden by Elementor icon spacing */
    transform: translateY(-50%);
    color: #999;                  /* overridden by icon color control */
    pointer-events: none;
}

.fms-search-icon svg {
    display: block;
}

/* Results box */
.fms-output {
    margin-top: 14px;
    padding: 12px 14px;
    background: #fff;             /* overridden by control */
    border: 1px solid #eee;
    border-radius: 6px;           /* overridden by control */
    text-align: left;
}

.fms-output ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fms-output li {
    padding: 6px 0;
}

.fms-output .fms-error {
    color: #cc0000;
}
