/* ==============================================
   LOADING ANIMATION - "Revelo..." TYPING EFFECT
   ============================================== */

/* "Revelo..." loading indicator while AJAX fetches results */
.revelo-loading {
    text-align: center;
    padding: 40px 20px;
    font-size: 20px;
    font-weight: 500;
    color: #002025;
    letter-spacing: 2px;
}

/* Hide default spinner */
.searchwp-live-search-results-showing .swp-spinner,
.searchwp-live-search-results-showing .spinner,
.searchwp-live-search-results-showing svg.spinner,
.searchwp-live-search-results-showing [class*="spinner"],
.searchwp-live-search-results-showing [class*="loading"] svg {
    display: none !important;
}

/* Hide "Continue typing" message */
.searchwp-live-search-results-showing .searchwp-live-search-instructions,
.searchwp-live-search-results-showing [class*="instructions"],
.searchwp-live-search-results-showing [class*="continue"],
.searchwp-live-search-results .swp-live-search-default-notice,
.swp-live-search-default-notice,
.searchwp-live-search-no-min-chars {
    display: none !important;
}

/* Remove all default ::before and ::after pseudo elements */
.searchwp-live-search-results-showing::before,
.searchwp-live-search-results-showing::after,
.searchwp-live-search-results-container::before,
.searchwp-live-search-results-container::after {
    content: none !important;
    display: none !important;
}

/* ==============================================
   DROPDOWN CONTAINER STYLING
   ============================================== */

/* Search form wrapper - relative positioning for dropdown */
.search-box--drawer,
form[id^="searchwp-form"],
.searchwp-live-search-form {
    position: relative !important;
}

/* Main dropdown - same width as search input, centered */
.searchwp-live-search-results-showing {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: fixed !important;
    z-index: 99999 !important;
    background: #fff !important;
    border: 1px solid rgba(0, 32, 37, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 32, 37, 0.08), 0 2px 8px rgba(0, 32, 37, 0.04) !important;

    /* Safe defaults; JS sets exact coordinates */
    width: auto !important;
    max-width: none !important;
    left: -9999px !important;
    top: -9999px !important;

    margin-top: 0 !important;
    max-height: 450px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Prevent left-jump flicker while JS reapplies coordinates */
.searchwp-live-search-results-showing.swp-dropdown-ready {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Inner scrollable container */
.searchwp-live-search-results-showing .searchwp-live-search-results-container {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 450px !important;
    overflow-y: auto !important;
}

/* Remove radius from individual results - container handles it */
.searchwp-live-search-result {
    border-radius: 0 !important;
}

/* Last result - no bottom border */
.searchwp-live-search-result:last-child {
    border-bottom: none !important;
}

/* Result row - CSS Grid (plugin-generated markup) */
.searchwp-live-search-result {
    display: grid !important;
    grid-template-columns: 75px 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 3px 15px !important;
    padding: 12px 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    align-items: center !important;
}

.searchwp-live-search-result:last-child {
    border-bottom: none !important;
}

/* Product Image - spans 2 rows */
.searchwp-live-search-result--img {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 75px !important;
    height: 75px !important;
}

.searchwp-live-search-result--img img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

/* Info section - spans column 2, both rows */
.searchwp-live-search-result--info {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
}

/* Product title (h4) */
.searchwp-live-search-result--title {
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.searchwp-live-search-result--title a {
    color: #333 !important;
    text-decoration: none !important;
}

/* Description (p) */
.searchwp-live-search-result--desc {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #888 !important;
    line-height: 1.3 !important;
}

/* Ecommerce section (price) - right side, spans 2 rows */
.searchwp-live-search-result--ecommerce {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
}

/* Hide add to cart button */
.searchwp-live-search-result--add-to-cart {
    display: none !important;
}

/* Hover effect on plugin-generated rows */
.searchwp-live-search-result {
    cursor: pointer !important;
}

.searchwp-live-search-result:hover {
    background-color: #f8f9fa !important;
}

/* Price container - flex column to stack del/ins vertically */
.searchwp-live-search-result--price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.searchwp-live-search-result--price del {
    display: block !important;
    order: 1 !important;
    margin-bottom: 2px !important;
}

.searchwp-live-search-result--price del,
.searchwp-live-search-result--price del span,
.searchwp-live-search-result--price del bdi,
.searchwp-live-search-result--price del .woocommerce-Price-amount,
.searchwp-live-search-result--price del .amount {
    color: #999 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}

.searchwp-live-search-result--price ins {
    display: block !important;
    order: 2 !important;
    background: none !important;
    background-color: transparent !important;
}

.searchwp-live-search-result--price ins,
.searchwp-live-search-result--price ins span,
.searchwp-live-search-result--price ins bdi,
.searchwp-live-search-result--price ins .woocommerce-Price-amount,
.searchwp-live-search-result--price ins .amount {
    color: #f85858 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: none !important;
    background-color: transparent !important;
}

.searchwp-live-search-result--price > .woocommerce-Price-amount,
.searchwp-live-search-result--price > span,
.searchwp-live-search-result--price > span bdi,
.searchwp-live-search-result--price > .woocommerce-Price-amount bdi {
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: inline !important;
}

.searchwp-live-search-result--price:not(:has(del)) {
    flex-direction: row !important;
    white-space: nowrap !important;
}

/* ==============================================
   LIVE SEARCH PRICE (our template - WC del/ins)
   ============================================== */

.swp-live-price del {
    color: #999;
    font-size: 13px;
    font-weight: 400;
}

.swp-live-price ins {
    background: none;
    color: #f85858;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

/* ==============================================
   SEARCH INPUT - ICON POSITIONING
   ============================================== */

.searchwp-live-search-form,
.dgwt-wcas-search-wrapp {
    position: relative !important;
}

.swp-input--search,
input.swp-input--search,
input[name="swps"] {
    width: 100% !important;
    padding-left: 15px !important;
    padding-right: 44px !important;
    box-sizing: border-box !important;
}

.searchwp-form-input-container,
.searchwp-form-input-container.swp-items-stretch {
    width: 100% !important;
    flex: 1 !important;
}

.swp-flex--row.swp-items-stretch.swp-flex--gap-md {
    gap: 0 !important;
}

.searchwp-form-input-container ~ *,
.swp-flex--row.swp-items-stretch > *:not(.searchwp-form-input-container) {
    display: none !important;
}

.swp-input--search::-webkit-search-cancel-button,
input[name="swps"]::-webkit-search-cancel-button {
    margin-right: 0 !important;
}

.dgwt-wcas-search-input,
.searchwp-live-search-input,
input[type="search"].dgwt-wcas-search-input {
    padding-left: 45px !important;
}

.dgwt-wcas-search-wrapp.dgwt-wcas-active .dgwt-wcas-ico-magnifier,
.dgwt-wcas-search-wrapp.dgwt-wcas-active .dgwt-wcas-ico-magnifier-handler,
.searchwp-live-search-form.is-active .search-icon {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.dgwt-wcas-close,
.searchwp-live-search-close,
.swp-close {
    right: 12px !important;
    margin-right: 0 !important;
}
