.discoverHidden {
    opacity:0;
    max-height: 0!important;
    opacity: 0!important;
    padding: 0!important;
    margin-bottom: 0!important;
}

#discoverCardContainer {
    max-height: 1000px;
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.5s ease, opacity 0.5s ease, padding 0.5s ease, margin 0.5s ease;
    width: min-content;
    padding:0;
    border-radius: 15px;
}

.mainDiscoverCardText {
    display:none
}


.discoverCard {
    border: 2px solid var(--stW);
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
    text-align: center;
    padding:10px;
}

.discoverCard.left {
    background-color: rgb(250,250,250);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.discoverCard.right {
    display: flex;
    border-top-left-radius: 0;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    justify-content: center;
    align-items: center;
}

.row {
    --bs-gutter-x:0rem;
}

/* Load More Button Styles */
.load-more-container {
    display: flex;
    justify-content: center;
    margin: 30px 0;
    padding: 20px;
}

.load-more-button {
    background-color: var(--stB);
    color: var(--stW);
    border: 1px solid var(--stB);
    border-radius: 5px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 180px;
    justify-content: center;
}

.load-more-button:hover:not(:disabled) {
    background-color: var(--stW);
    color: var(--stB);
    border: 1px solid var(--stB);
}

.load-more-button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.button-icon {
    font-size: 14px;
    transition: transform 0.2s ease;
}

.load-more-button:hover:not(:disabled) .button-icon {
    transform: translateY(1px);
}

.button-spinner {
    font-size: 14px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.button-text {
    font-weight: 500;
}

#search-bar {
    background-color: var(--stW);
    width:100%;
    height:50px;
    border-top-right-radius:25px;
    border-top-left-radius:25px;
    border-bottom-right-radius:25px;
    border-bottom-left-radius:25px;
    padding-left:20px;
    padding-right:20px;
    border: 0;
    outline: none;
    transition:0.5s;
}

.searched {
    border-bottom: 2px solid var(--stB)!important;
    border-bottom-left-radius:0px!important;
}

.row>* {
    padding:0;
}

#resultsRow {
    margin:0;
    display: block;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    background-color: var(--stW);
    padding: 5px;
    border-radius: 10px;
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
    transition: opacity 0.5s, max-height 0.5s;
    position: relative;
    z-index: 10;
}

.resultDiv {
    display: flex;
    justify-items: center;
    opacity: 0;
    max-height: 0;
    transition: opacity 0.3s, max-height 0.3s;
    border-radius: 5px;
    padding: 5px;
    padding-bottom: 10px;
    padding-top: 10px;
    margin: 2.5px;
    cursor: pointer;
    min-height: 50px;
    align-items: center;
}

.resultDiv p {
    transition: 0.3s;
    margin: 0;
    padding: 0;
    color: var(--sftB);
}

.resultDiv:hover {
    background-color: var(--sft);
}

.resultDiv:hover p {
    color: var(--stW);
}

.result-divider {
    margin: 5px 10px;
    border: none;
    border-top: 1px solid #e0e0e0;
    opacity: 0;
    transition: opacity 0.3s;
}

#apprenticeshipsRow {
    margin-top: 10px;
    display: none;
    background-color: var(--stW);
    border-radius: 10px;
    padding:10px;
}

#filterCol {
    padding-top:10px;
    padding-left:10px;
}

#filter {
    transition:0.2s;
    height: min-content;
    border-radius: 10px;
    padding:10px;
    background-color: var(--stW);
    margin-top: 15px;
    margin-bottom: 20px;
}

.filterButton {
    transition: 0.2s;
    width:auto;
    background-color: var(--stW);
    border-radius: 5px;
    color:var(--sftB);
    border:1px solid var(--sftB);
    margin-right: 6px;
    margin-bottom: 4px;
    padding: 4px 8px;
    font-size: 13px;
}

.selectedFilter {
    background-color: var(--stB);
    border:1px solid var(--stB);
    width: auto;
    color:var(--stW);
}

.filterp {
    margin:0;
    margin-top: 12px;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 600;
}

/* Filter layout adjustments for new position */
#filter .row {
    margin-bottom: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

#filter .row:last-of-type {
    margin-bottom: 12px;
}

#searchButton {
    margin-top: 10px;
    background-color: var(--stB);
    border-radius: 5px;
    color:var(--stW);
    width:50%;
    height:40px;
    border:0;
}

#errormessage {
    transition: 0.2s;
    margin:0;
    color:var(--stR);
}

#error-message-container {
    overflow: hidden;
    max-height: 10px;
    opacity: 0;
    transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}

#error-message-container.show {
    max-height: 20px; /* Adjust as needed */
    opacity: 1;
}

/* New offering card styles */
.offering-card {
    background-color: var(--stW);
    border: 1px solid var(--sftB);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.offering-card:hover {
    background-color: var(--sft);
    border-color: var(--sft);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.offering-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.company-logo {
    width: 60px;
    height: 60px;
    border: 1px solid var(--sftB);
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.offering-info {
    flex: 1;
    min-width: 0; /* Allows text to wrap properly */
}

.offering-title {
    margin: 0 0 4px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--sftB);
    line-height: 1.3;
}

.offering-subtitle {
    margin: 0;
    font-size: 0.9rem;
    color: var(--sftB);
    opacity: 0.8;
    line-height: 1.4;
}

.offering-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.year-badge {
    background-color: var(--stG);
    color: var(--stW);
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
}

.schnup-badge {
    background-color: var(--stB);
}

.option-badge {
    border: 1px solid var(--sftB);
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--sftB);
    background-color: transparent;
    white-space: nowrap;
}

/* Hover effects for new structure */
.offering-card:hover .offering-title,
.offering-card:hover .offering-subtitle {
    color: var(--stW);
}

.offering-card:hover .company-logo {
    border-color: var(--stW);
}

.offering-card:hover .option-badge {
    border-color: var(--stW);
    color: var(--stW);
}

/* No results styling */
.no-results {
    text-align: center;
    padding: 40px 20px;
    color: var(--sftB);
}

.no-results h3 {
    margin: 0 0 8px 0;
    font-size: 1.2rem;
    font-weight: 600;
}

.no-results p {
    margin: 0;
    font-size: 1rem;
    opacity: 0.8;
}

/* Legacy styles for backward compatibility */
.offeringDiv {
    background-color: var(--stW);
    border: 1px solid var(--sftB);
    border-radius: 5px;
    padding:5px;
    margin-bottom: 5px;
    transition: 0.2s;
    cursor: pointer;
}

.offeringDiv p, .offeringDiv h3, .offeringDiv h4 {
    margin:0;
}

.basicInfoRow {
    display: flex;
    align-items: center;
    margin:0;
}

.companyLogo {
    width: 50px;
    height: 50px;
    border: 1px solid var(--sftB);
    border-radius: 5px;
    margin-right:5px;
}

.optionsRow, .yearRow {
    margin:0;
    margin-bottom: 5px;
}

.optionLabel {
    border: 1px solid var(--sftB);
    border-radius: 5px;
    padding-left:5px;
    padding-right:5px;
    width:auto;
    margin-right:5px!important;
}

.yearLabel {
    background-color: var(--stG);
    border-radius: 5px;
    padding-left:5px;
    padding-right:5px;
    color:var(--stW);
    width:auto;
    margin-right:5px!important;
}

/*Hover over offering div*/

.offeringDiv:hover {
    background-color: var(--sft);
    border: 1px solid var(--sft);
}

.offeringDiv:hover h3, .offeringDiv:hover h4, .offeringDiv:hover p {
    color: var(--stW);
}

.offeringDiv:hover .optionLabel, .offeringDiv:hover .companyLogo {
    border-color: var(--stW);
}

@media (max-width: 991px) {
    #searchButton {
        width:100%;
    }

    #filterCol {
        padding-left:0px;
    }
    
    /* Mobile styles for filters */
    #filter {
        margin-top: 10px;
        margin-bottom: 15px;
        padding: 8px;
    }
    
    #filter .row {
        gap: 4px;
        margin-bottom: 6px;
    }
    
    .filterButton {
        margin-right: 4px;
        margin-bottom: 4px;
        padding: 3px 6px;
        font-size: 12px;
    }
    
    #searchButton {
        width: 100%;
        margin-top: 8px;
    }
    
    /* Ensure search suggestions appear above filter on mobile */
    #resultsRow {
        position: relative;
        z-index: 15;
        margin-bottom: 0;
    }
    
    /* Mobile styles for offering cards */
    .offering-card {
        padding: 12px;
        margin-bottom: 10px;
    }
    
    .offering-header {
        gap: 10px;
        margin-bottom: 10px;
    }
    
    .company-logo {
        width: 50px;
        height: 50px;
    }
    
    .offering-title {
        font-size: 1rem;
    }
    
    .offering-subtitle {
        font-size: 0.85rem;
    }
    
    .offering-badges {
    }
    
    .year-badge, .option-badge {
        font-size: 0.75rem;
        padding: 3px 6px;
    }
}

@media (max-width: 1200px) {
    .searched {
        border-bottom-right-radius:0px!important;
    }

    .discoverCard.right {
        border-top-left-radius:15px;
    }
}

@media (min-width: 1200px) {
    .discoverCard.right {
        border-bottom-left-radius: 0px;
    }
}

@media (max-width: 1200px) {
    .discoverCard.right {
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }
    .discoverCard.left {
        border-bottom-left-radius: 0px;
        padding:20px;
    }
}

@media (max-width: 768px) {
    #discoverCardContainer {
        display:none;
    }
    
    /* Mobile search suggestions positioning */
    #resultsRow {
        position: relative;
        z-index: 15;
        margin-top: 0;
        margin-bottom: 0;
    }
    
    #filter {
        position: relative;
        z-index: 5;
        margin-top: 10px;
    }
    
    /* Extra small mobile styles */
    .offering-card {
        padding: 10px;
        margin-bottom: 8px;
    }
    
    .offering-header {
        gap: 8px;
        margin-bottom: 8px;
    }
    
    .company-logo {
        width: 45px;
        height: 45px;
    }
    
    .offering-title {
        font-size: 0.95rem;
        line-height: 1.2;
    }
    
    .offering-subtitle {
        font-size: 0.8rem;
        line-height: 1.3;
    }
    
    .year-badge, .option-badge {
        font-size: 0.7rem;
        padding: 2px 5px;
    }
    
    .offering-badges {
        gap: 4px;
    }
}

/* Vertical carousel */
#carouselWrapper {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  border-radius:5px;
}

#carousel {
  position: absolute;
  visibility: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
}

#carousel h2 {
    color: var(--stW);
    transition: 0.25s;
}
.itemFrame {
  display: block;
  text-align: center;
  padding: 2px 0;    
  box-sizing: border-box;
}

.sideItem {
    transition:0.25s;
  opacity: 0.7;
  transform: scale(0.8);
  border-radius: 10px;
}
.middleItem {
    transition:0.25s;
  opacity: 1!important;
  transform: scale(1);
}

.middleItem:hover, .sideItem:hover {
    background-color: rgb(250,250,250,0.5);
    cursor: pointer;
}

.sideItem:hover h2, .middleItem:hover h2 {
    background-color: transparent;
}

.middleItem h2 {
    opacity: 1!important;
}

.tipContainer {
    margin-left:10px;
    margin-right:10px;
    background-color: var(--stW);
    border-radius:10px;
    padding-bottom:10px;
    transition:0.2s;
    cursor:pointer;
    margin-top:10px;
    padding:10px;
}

.tipContainer:hover {
    opacity:0.75
}

.tipContainer img {
    border-top-left-radius:10px;
    border-top-right-radius:10px;
    width: 100%;
    height: auto;
}

.tipText {
    margin-left:10px;
    margin-right:10px;
}

.tipCutoffText {
    display: -webkit-box;           /* Enables flexbox layout for WebKit */
    -webkit-box-orient: vertical;   /* Sets vertical orientation */
    -webkit-line-clamp: 2;          /* Limits the content to 2 lines */
    overflow: hidden;               /* Hides the overflowing text */
}

#topTipText {
    color:var(--stW);
    text-align:center;
    margin:15px;
}

.sepDivContainer {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center
}
.sepDiv {
    width:90%;
    border:2px solid var(--stW);
    border-radius:2px;
}

#downloadAppNowButton {
    margin-top:25px;
    background-color:var(--stW);
    border-radius:5px;
    color:var(--sftB);
    padding:10px 15px 10px 15px;
    border:none;
    transition:0.25s;
}

#downloadAppNowButton:hover {
    opacity:0.75
}

#educatorOrCompanyJoinWrapper {
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

#joinEducatorOrCompany {
    background-color:var(--stW);
    color:var(--sftB);
    border-radius:10px;
    text-align:center;
    padding:20px;
    width:75%;
    margin-top:30px;
}
#joinEducatorOrCompany button {
    background-color:var(--stB);
    color:var(--stW);
    transition:0.25s;
    cursor:pointer;
    padding: 10px 15px 10px 15px;
    border-radius:5px;
    border:none;
}

#joinEducatorOrCompany button:hover {
    opacity:0.75;
}

/*#tipsContainer {
/*    background-color:var(--stW);
/*    border-radius:10px;
/*    padding:10px;
/*    margin-top:75px;
/*}