@import url('https://fonts.googleapis.com/css2?family=El+Messiri:wght@400;500;600;700&family=Karla:wght@300;400;500;600;700&display=swap');

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   font-family: 'Karla', sans-serif;
   background-color: #f5f5f5;
}

main {
   background-color: #f5f5f5;
}

@media (max-width: 768px) {
    .awsm-filter-item-search {
        width: 100%;
    }
}

.awsm-filter-wrap .awsm-filter-items {
    display: block;
}

.awsm-filter-item-search .awsm-job-search-icon-wrapper {
    position: absolute;
     right: 0; 
     top: 20;
}



.introductory {
   background:#0a2834;
      padding: 60px 20px;
   text-align: center;
}

.introductory .container {
   max-width: 1200px;
   margin: 0 auto;
}

.page-title {
   font-family: 'El Messiri', sans-serif;
   color: white;
   font-size: 48px;
   font-weight: 300;
   letter-spacing: 8px;
   margin-bottom: 40px;
}

.header {
   background: #0a2834;
   padding: 60px 20px;
   text-align: center;
}

.header h1 {
   font-family: 'El Messiri', sans-serif;
   color: white;
   font-size: 48px;
   font-weight: 300;
   letter-spacing: 8px;
   margin-bottom: 40px;
}

.search-container {
   max-width: 1200px;
   margin: 0 auto;
   display: flex;
   gap: 15px;
   flex-wrap: wrap;
   justify-content: center;
   margin-bottom: 30px;
}

.search-input {
   background-color: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: white;
   padding: 15px 20px;
   font-size: 14px;
   border-radius: 4px;
   min-width: 250px;
   flex: 1;
}

.search-input::placeholder {
   color: rgba(255, 255, 255, 0.7);
}

.search-input:focus {
   outline: none;
   border-color: rgba(255, 255, 255, 0.5);
   background-color: rgba(255, 255, 255, 0.15);
}

.awsm-job-wrap {
   background-color: #f5f5f5;
   padding-bottom: 40px;
}

.awsm-filter-wrap {
   background: #0a2834;
   padding: 0 20px 60px 20px;
}

.awsm-filter-wrap form {
   max-width: 1200px;
   margin: 0 auto;
}

.awsm-filter-item-search {
   margin-bottom: unset;
}


.awsm-filter-item-search-in {
   max-width: 1200px;
   margin: 0 auto;
   display: flex;
   position: relative;
}

.awsm-job-search {
   background-color: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: white;
   padding: 15px 50px 15px 20px;
   font-size: 14px;
   border-radius: 4px;
   width: 100%;
}

.awsm-job-search::placeholder {
   color: rgba(255, 255, 255, 0.7);
}

.awsm-job-search:focus {
   outline: none;
   border-color: rgba(255, 255, 255, 0.5);
   background-color: rgba(255, 255, 255, 0.15);
}

.awsm-job-search-btn,
.awsm-job-search-close-btn {
   position: absolute;
   right: 15px;
   top: 50%;
   transform: translateY(-50%);
   background: none;
   border: none;
   color: rgba(255, 255, 255, 0.7);
   cursor: pointer;
   padding: 5px;
}

.awsm-job-icon-search,
.awsm-job-icon-close-circle {
   font-size: 18px;
}

.awsm-filter-toggle {
   display: none;
}

.awsm-filter-items {
   max-width: 1200px;
   margin: 0 auto;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

.awsm-filter-item {
   min-width: 200px;
   flex: 1;
   max-width: 300px;
}

.awsm-selectric-wrapper {
   width: 100%;
}

.awsm-selectric {
   background-color: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: white;
   padding: 15px 20px;
   font-size: 14px;
   line-height: 1.5;
   border-radius: 4px;
   cursor: pointer;
   display: flex;
   justify-content: space-between;
   align-items: center;
   box-sizing: border-box;
   height: 48px;
}

.awsm-selectric:hover,
.awsm-selectric:focus {
   border-color: rgba(255, 255, 255, 0.5);
   background-color: rgba(255, 255, 255, 0.15);
}

.awsm-selectric .label {
   color: white;
}

.awsm-selectric-arrow-drop {
   color: rgba(255, 255, 255, 0.7);
   margin-left: 10px;
}

.awsm-selectric-items {
   background-color: #0a2834;
   border: 1px solid rgba(255, 255, 255, 0.3);
   border-radius: 4px;
   margin-top: 5px;
   display: none;
   position: absolute;
   z-index: 100;
   width: 100%;
}

.awsm-selectric-items ul {
   list-style: none;
   margin: 0;
   padding: 0;
}

.awsm-selectric-items li {
   color: white;
   padding: 10px 20px;
   cursor: pointer;
   transition: background-color 0.2s;
}

.awsm-selectric-items li:hover,
.awsm-selectric-items li.selected {
   background-color: rgba(255, 255, 255, 0.1);
}

.awsm-selectric-hide-select {
   display: none;
}

.awsm-selectric-input {
   position: absolute;
   opacity: 0;
   pointer-events: none;
}

.awsm-sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border-width: 0;
}

.filters {
   max-width: 1200px;
   margin: 0 auto;
   display: flex;
   gap: 25px;
   flex-wrap: wrap;
   justify-content: center;
}

.checkbox-label {
   display: flex;
   align-items: center;
   gap: 10px;
   color: white;
   font-size: 14px;
   cursor: pointer;
}

.checkbox-label input[type="checkbox"] {
   width: 18px;
   height: 18px;
   cursor: pointer;
}

.awsm-job-listings {
   max-width: 1400px;
   margin: 40px auto;
   padding: 0 20px;
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
   gap: 25px;
}

.awsm-job-listing-item {
   background: white;
   border-radius: 8px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   transition: transform 0.2s, box-shadow 0.2s;
   position: relative;
}

.awsm-job-listing-item:hover {
   transform: translateY(-4px);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.awsm-job-item {
   display: block;
   padding: 25px;
   text-decoration: none;
   color: inherit;
   position: relative;
}

.awsm-grid-left-col {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   margin-bottom: 20px;
}

.awsm-job-post-title {
   font-family: 'El Messiri', sans-serif;
   font-size: 18px;
   font-weight: 500;
   color: #2d3748;
   line-height: 1.4;
   margin: 0;
   flex: 1;
}

.awsm-grid-left-col::after {
   content: "♡";
   background: none;
   border: none;
   cursor: pointer;
   font-size: 20px;
   color: #cbd5e0;
   transition: color 0.2s;
   flex-shrink: 0;
   margin-left: 10px;
}

.awsm-job-listing-item:hover .awsm-grid-left-col::after {
   color: #fc8181;
}

.awsm-grid-right-col {
   display: flex;
   gap: 20px;
   position: relative;
}

.awsm-grid-right-col::before {
   content: "";
   display: block;
   width: 60px;
   height: 60px;
   flex-shrink: 0;
   background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='16' y='8' width='32' height='48' fill='none' stroke='%234a5568' stroke-width='2' /%3E%3Crect x='22' y='14' width='6' height='6' fill='%234a5568' /%3E%3Crect x='36' y='14' width='6' height='6' fill='%234a5568' /%3E%3Crect x='22' y='24' width='6' height='6' fill='%234a5568' /%3E%3Crect x='36' y='24' width='6' height='6' fill='%234a5568' /%3E%3Crect x='22' y='34' width='6' height='6' fill='%234a5568' /%3E%3Crect x='36' y='34' width='6' height='6' fill='%234a5568' /%3E%3Crect x='28' y='44' width='8' height='12' fill='%234a5568' /%3E%3C/svg%3E");
   background-size: contain;
   background-repeat: no-repeat;
}

.awsm-job-specification-wrapper {
   display: flex;
   flex-direction: column;
   gap: 8px;
   flex: 1;
}

.awsm-job-specification-item {
   display: flex;
   align-items: center;
   gap: 5px;
}

.awsm-job-specification-job-location .awsm-job-specification-term::before {
   content: "📍 ";
}

.awsm-job-specification-job-category .awsm-job-specification-term::before {
   content: "🏢 ";
}

.awsm-job-specification-term {
   display: inline-block;
   padding: 0;
   background-color: transparent;
   color: #718096;
   font-size: 13px;
   border-radius: 0;
   line-height: 1.4;
}

.awsm-job-specification-job-location .awsm-job-specification-term {
   color: #718096;
   font-size: 13px;
}

.awsm-job-specification-job-category .awsm-job-specification-term {
   font-size: 12px;
}

.awsm-job-specification-job-type {
   margin-top: auto;
   text-align: right;
}

.awsm-job-specification-job-type .awsm-job-specification-term {
   background-color: #0a2834;
   color: white;
   padding: 4px 12px;
   border-radius: 3px;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 1px;
}

.awsm-job-more-container {
   display: none;
}

.awsm-job-more {
   display: none;
}

.awsm-job-more span {
   display: none;
}

.job-grid {
   max-width: 1400px;
   margin: 40px auto;
   padding: 0 20px;
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
   gap: 25px;
}

.job-card {
   background: white;
   border-radius: 8px;
   padding: 25px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   transition: transform 0.2s, box-shadow 0.2s;
   position: relative;
}

.job-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.job-header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   margin-bottom: 20px;
}

.job-title {
   font-family: 'El Messiri', sans-serif;
   font-size: 18px;
   font-weight: 500;
   color: #2d3748;
   line-height: 1.4;
}

.favorite-btn {
   background: none;
   border: none;
   cursor: pointer;
   font-size: 20px;
   color: #cbd5e0;
   transition: color 0.2s;
}

.favorite-btn:hover {
   color: #fc8181;
}

.job-content {
   display: flex;
   gap: 20px;
}

.building-icon {
   width: 60px;
   height: 60px;
   flex-shrink: 0;
}

.building-icon svg {
   width: 100%;
   height: 100%;
   fill: #4a5568;
}

.job-details {
   flex: 1;
}

.job-location {
   display: flex;
   align-items: center;
   gap: 5px;
   color: #718096;
   font-size: 13px;
   margin-bottom: 8px;
}

.job-type {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   color: #a0aec0;
   font-size: 12px;
   margin-bottom: 12px;
}

.job-description {
   color: #4a5568;
   font-size: 13px;
   line-height: 1.6;
   margin-bottom: 12px;
}

.job-badge {
   position: absolute;
   bottom: 25px;
   right: 25px;
   background-color: #0a2834;
   color: white;
   padding: 4px 12px;
   border-radius: 3px;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 1px;
}

.job-link {
   text-decoration: none;
   color: inherit;
   display: block;
}

.awsm-jobs-pagination {
   grid-column: 1 / -1;
   text-align: center;
   margin-top: 20px;
}

.awsm-jobs-pagination ul {
   list-style: none;
   display: inline-flex;
   gap: 10px;
   padding: 0;
   margin: 0;
}

.awsm-jobs-pagination li {
   display: inline-block;
}

.awsm-jobs-pagination a,
.awsm-jobs-pagination .page-numbers {
   display: inline-block;
   padding: 8px 12px;
   background-color: white;
   color: #4a5568;
   text-decoration: none;
   border-radius: 4px;
   transition: background-color 0.2s, color 0.2s;
}

.awsm-jobs-pagination a:hover {
   background-color: #0a2834;
   color: white;
}

.awsm-jobs-pagination .current {
   background-color: #0a2834;
   color: white;
}

@media (max-width: 768px) {
   .page-title {
      font-size: 32px;
   }

   .header h1 {
      font-size: 32px;
   }

   .search-container {
      flex-direction: column;
   }

   .search-input {
      min-width: 100%;
   }

   .awsm-filter-items {
      flex-direction: column;
   }

   .awsm-filter-item {
      max-width: 100%;
   }

   .awsm-job-listings,
   .job-grid {
      grid-template-columns: 1fr;
   }
   
}



.awsm-grid-item {
   width: 100% !important;
}

.job-grid {
   width: 100%;
}

.search-input option {
   color: black;
}

.awsm-job-hide {
   display: none !important;
}

.awsm-grid-item .awsm-job-item {
    border: unset;
}

.awsm-job-item .awsm-job-item:hover{
    box-shadow: unset;
}
