/* ── SEARCH WIDGET — v2.5.2.61 ──────────────────────────────────────────
 * Unified GLASS design — single style works on all backgrounds:
 *   • Front-page transparent hero (dark imagery)
 *   • Inner-page transparent hero (dark imagery — user's report)
 *   • Inner-page solid white nav
 *   • Scrolled state on any page
 *
 * v2.5.2.61 removes the body.lc-nav-light split (which produced an
 * unwanted SOLID WHITE bar on hero pages with light nav class but
 * dark-photo backdrops). The bar is now ALWAYS dark glass with strong
 * backdrop-blur + drop-shadow — readable on any backdrop.
 * ───────────────────────────────────────────────────────────────────────── */

/* Wrapper — anchors the absolutely-positioned bar + dropdown.
 * row-reverse so the search button stays on the right and the bar grows left. */
.lc-fp-nav-search {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    z-index: 200;
}

.lc-fp-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Expanding bar — fully transparent, no background, no border, no shadow.
 * !important beats Enfold's high-specificity #top input { background:#fff } rule. */
.lc-fp-search-bar {
    position: absolute;
    right: calc(100% + 6px);   /* bar right-edge = 6px left of the icon wrapper */
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    width: 0;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 4px 0 0;
    transition: max-width 0.42s cubic-bezier(0.32, 0.72, 0.18, 1),
                width     0.42s cubic-bezier(0.32, 0.72, 0.18, 1),
                opacity   0.24s ease;
}
.lc-fp-nav-search.active .lc-fp-search-bar {
    width: 480px;
    max-width: 60vw;
    opacity: 1;
    pointer-events: auto;
}

.lc-fp-search-input {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent !important;  /* beat Enfold #top input{background:#fff} */
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #fff;
    font: 14px/1.4 var(--lc-nav-font, inherit);
    padding: 9px 0;
    text-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}
.lc-fp-search-input::placeholder { color: rgba(255, 255, 255, 0.6); }

/* X clear button — no background, just the icon */
.lc-fp-search-clear {
    flex: 0 0 auto;
    background: transparent;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: none;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: color 0.15s;
}
.lc-fp-search-clear:hover { color: #fff; }
.lc-fp-nav-search.has-text .lc-fp-search-clear { display: inline-flex; }

/* Results dropdown — anchored to same right-edge as the bar so widths match */
.lc-fp-search-results {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: calc(100% + 6px);   /* same anchor as .lc-fp-search-bar */
    width: 480px;
    max-width: 60vw;
    background: rgba(15, 15, 18, 0.78);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    padding: 6px;
    flex-direction: column;
    gap: 1px;
    z-index: 10000;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.55);
    animation: lc-srp-in 0.16s ease;
}
.lc-fp-search-results.visible { display: flex; }
@keyframes lc-srp-in {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.lc-fp-search-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.12s;
}
.lc-fp-search-result:hover { background: rgba(255, 255, 255, 0.09); text-decoration: none; }

.lc-fp-search-result-thumb,
.lc-fp-search-no-thumb {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.08);
    display: block;
    object-fit: cover;
}
.lc-fp-search-no-thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.3);
}

.lc-fp-search-result-body { display: flex; flex-direction: column; min-width: 0; }
.lc-fp-search-result-title {
    font-size: 13.5px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.95);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lc-fp-search-result-type {
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 2px;
    letter-spacing: 0.4px;
}

.lc-fp-search-status {
    padding: 16px 12px;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.55);
    text-align: center;
}

/* Footer "View all results for X" */
.lc-fp-search-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 4px;
    padding-top: 4px;
}
.lc-fp-search-footer a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    font-size: 12.5px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8) !important;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.15s, color 0.15s;
}
.lc-fp-search-footer a:hover {
    background: rgba(255, 149, 0, 0.15);
    color: #ffb84d !important;
}

/* ── LIGHT THEME (body.lc-nav-light = white nav on inner pages) ──────────
 * Bar stays transparent — only text colour and underline colour change.
 * No background, no shadow, no box — exactly like the dark theme. */
body.lc-nav-light .lc-fp-search-bar {
    border-bottom-color: rgba(0, 0, 0, 0.25);
}
body.lc-nav-light .lc-fp-search-input {
    color: #111;
}
body.lc-nav-light .lc-fp-search-input::placeholder {
    color: rgba(0, 0, 0, 0.4);
}
body.lc-nav-light .lc-fp-search-clear {
    color: rgba(0, 0, 0, 0.45);
}
body.lc-nav-light .lc-fp-search-clear:hover { color: #111; }

/* ── RESPONSIVE — narrow on small screens, hide on mobile menu ── */
@media (max-width: 900px) {
    .lc-fp-nav-search.active .lc-fp-search-bar { width: 320px; max-width: 70vw; }
    .lc-fp-search-results                       { width: 320px; max-width: 70vw; }
}
@media (max-width: 768px) {
    /* Desktop search hides on mobile — mobile menu has its own search input. */
    .lc-fp-nav-utils .lc-fp-nav-search { display: none; }
}

/* ── MOBILE SEARCH (inside hamburger menu) — glass dark, always ────────── */
.lc-fp-mobile-search {
    padding: 0 0 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    margin-bottom: 4px;
}
.lc-fp-mobile-search-input {
    width: 100%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    color: #fff;
    font-size: 15px;
    font-family: inherit;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.2s, background 0.2s;
}
.lc-fp-mobile-search-input::placeholder { color: rgba(255, 255, 255, 0.35); }
.lc-fp-mobile-search-input:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.22);
}
