
/* Search page styling */

#ontario-search-form-container-searchpage #ontario-search-input-field {
    width: 100%;
    box-sizing: border-box;
    outline: 2px solid #919191;
  }
  
  form#ontario-search-form-container-searchpage {
    width: 100%;
    margin: 0;
  }

  #ontario-search-form-container-searchpage .ontario-header__search-submit {
    right: 0;
    top: 0;
    cursor: pointer;
    padding-left: .75rem;
    padding-right: .75rem;
    background-color: #404040;
    color: white;
  }

  #ontario-search-form-container-searchpage #ontario-search-reset {
    right: 4rem;
  }

  .search-page-search {
    padding: 0;
  }

  .search-page-search form#ontario-search-form-container-searchpage {
    padding: 0;
  }

  .text-right {
    text-align: right;
}

.ontario-input--50-width {
    width: 50%;
    max-width: 200px;
}

.search-margin {
    margin-top: 1rem !important;
    margin-bottom:1rem !important;
}

.ontario-dropdown--search {
    border: 1px solid #666;
    padding: 0.5rem 2.5rem 0.5rem 0.5rem;
    background-color: white;
    border-radius: 4px;
    min-width: 120px;
    float: right;
    margin-right: 1rem;
}

.ontario-text-right {
    text-align: right;
}


/* Results page specific searchbar styling */
.results-page-search-wrapper {
    width: 100%;
}

.results-search-container {
    display: flex;
    width: 100%;
    position: relative;
}

.results-search-input {
    width: 100%;
    border: 2px solid #404040;
    border-right: none;
    padding: 0.5rem 2.5rem 0.5rem 0.5rem;
    border-radius: 4px 0 0 4px;
}

.results-search-submit {
    border: 2px solid #404040;
    border-left: none;
    background-color: #252523;
    padding: 0.5rem 1rem;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
}

.results-search-icon {
    fill: #ffffff;
    width: 24px;
    height: 24px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Prevent clear button from affecting layout */
.results-search-input::-webkit-search-cancel-button {
    display: none;
}

.results-search-submit:hover, 
.results-search-submit:focus {
    background-color: #00478F;
}

.results-search-reset {
    position: absolute;
    right: 4.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") center/contain no-repeat;
    background: transparent;
    border: none;
    cursor: pointer;
    opacity: 0.5;
}

.results-search-reset:hover {
    opacity: 1;
}

/* Hide reset button when input is empty */
.results-search-input:placeholder-shown + .results-search-reset {
    display: none;
}



/* Base styles remain the same until media queries */

@media (max-width: 39.99rem) {
    .ontario-column--form-output {
        display: flex;
        flex-direction: column;
    }
    
    .search-bar-wrapper {
        order: -1; 
        padding-right: 1rem;
    }
    
    .ontario-column--form-filters {
        margin-top: 1rem;
    }
}


.search-margin {
    margin-bottom: 2rem; /* 32px spacing for date/relevance filter */
}

.ontario-card__description--forms {
    /* apparently they dont want this??? */
    /* 12px spacing between format type and description */
    /* margin-top: 0.75rem;  */
}

/* Mobile specific adjustments */
@media (max-width: 39.99rem) {
    .ontario-card--forms {
        /* apparently they dont want this either */
        /* 16px padding for mobile search results */
        /* padding: 1rem;  */
    }

    .forms-pagination-container {
        margin-top: 2rem; /* 32px above pagination */
        margin-bottom: 3rem; /* 48px below pagination */
    }
}

.ontario-dropdown-container {
    position: relative;
    display: inline-block;
    float: right;
    margin-right: 1rem;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    min-width: 120px;
}

.ontario-dropdown-button {
    width: 100%;
    border: 1px solid #666;
    padding: 0.5rem 2.5rem 0.5rem 0.5rem;
    background-color: white;
    border-radius: 4px;
    cursor: pointer;
    text-align: left;
    position: relative;
    font-size: inherit;
    font-family: inherit;
    color: #1a1a1a;
}

.ontario-dropdown-list {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    display: none;
    background: white;
    border: 1px solid #666;
    border-radius: 4px;
    list-style: none;
    padding: 0;
    margin: 2px 0 0;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.ontario-dropdown-list li {
    padding: 0.5rem;
    cursor: pointer;
    color: #1a1a1a;
}

.ontario-dropdown-button .ontario-icon {
    position: absolute;
    right: 0.25rem;
    top: 55%;
    transform: translateY(-50%);
}

.ontario-dropdown-list li:hover,
.ontario-dropdown-list li:focus {
    background-color: #f2f2f2;
    outline: none;
}

.ontario-dropdown-list li:first-child {
    border-radius: 4px 4px 0 0;
}

.ontario-dropdown-list li:last-child {
    border-radius: 0 0 4px 4px;
}

.ontario-fieldset__legend--filter:focus {
    outline: 2px solid #009ADB; /* Ontario's primary blue */
    outline-offset: 2px;
    border-radius: 4px;
}

@media (max-width: 39.99rem) {
    .ontario-dropdown-container {
        margin: 1rem 0;
        width: 100%;
    }
}

/***** Tablet styles for filter button *****/
@media (max-width: 39.999rem) {
    .search-bar-wrapper {
        padding-right: 0;
    }

    .ontario-dropdown-button .ontario-icon {
        top: 70%;
    }
}
@media (max-width: 72.999rem) {
    #filters {
        padding-right: 0;
    }

    #filtersOpen .hydrated {
        position: relative;
        top: -3px;
    }
}
@media (min-width: 40rem) and (max-width: 72.999rem) {
    .results-page-search-wrapper {
        display: flex;
    }
    #filters {
        width: fit-content;
        padding-right: 0;
    }
    [data-search-filters] #filtersOpen {
        padding-left: 1rem;
        padding-right: 1rem;
        min-width: 8rem;
        margin-right: 0;
        margin-bottom: 0;
        margin-left: 1rem;
    }

}

.ontario-card__relationships--forms .ontario-card__relationship {
    margin-top: 0.75rem;
  }

  .ontario-card__heading a svg {
    margin-left: 0.5rem;
    vertical-align: middle;
    position: relative;
    top: -0.125rem;
}

.search-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0.5rem;
    line-height: 1.5;
    max-height: 3em; /* Approximately 2 lines */
}

.search-excerpt mark,
.search-excerpt .relevanssi-query-term {
    background-color: transparent;
    font-weight: bold;
    color: inherit;
}

.search-margin .ontario-columns .ontario-dropdown-container {
    margin-right: 0;
}

.ontario-card__description .search-excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-height: 2.6em !important;
    line-height: 1.3em !important;
    text-overflow: ellipsis;
  }

/* Search term validation error styling */
.search-term-required {
    color: #D2242A !important;
    font-weight: 600;
}

.search-term-required[role="alert"] {
    padding: 0.5rem 0;
}
  