/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
/* Page title alignment and weight */
/* Page title alignment and weight */
/* --------------------------------------
   Astra Child Theme Custom Styling
----------------------------------------- */

/* Page Title Alignment */
.page .entry-title {
  font-weight: 700;
  margin: 0 auto;
  max-width: fit-content;
}

/* GRID WRAPPER */
.grid-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

@media (min-width: 1025px) {
  .grid-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* GRID ITEM BOX */
.grid-item-box {
  background: linear-gradient(38deg, #06558A, #6A92A6);
  color: #fff;
  border: 1px solid #666;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.grid-item-box img {
  width: 100%;
  display: block;
}

.grid-item-box h4,
.grid-item-box .uagb-heading-text {
  padding: 12px 8px;
  color: #fff;
  text-align: center;
  font-size: 1.1rem;
  margin: 0 !important;
}

/* Grid Link Hover */
.grid-item-link {
  background: linear-gradient(38deg, #06558A, #6A92A6);
  display: block;
  height: 100%;
  color: #fff;
  text-decoration: none;
}

.grid-item-link:hover .grid-item-box {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Job Category Buttons */
.job-category-class {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  padding: 20px 0;
}

.job-category-class .wp-block-button {
  flex: 1 1 calc(23% - 20px);
  max-width: calc(23% - 20px);
  min-width: 180px;
}

.job-category-class .wp-block-button__link {
  background: linear-gradient(38deg, #06558A, #6A92A6);
  color: #fff;
  text-align: center;
  padding: 10px;
  height: 60px;
  font-size: 14px;
  border-radius: 8px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
}

.job-category-class .wp-block-button__link:hover {
  background: linear-gradient(38deg, #6A92A6, #06558A);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* Submenu Styling */
.main-header-menu .sub-menu {
  margin-top: 6px;
  min-width: 240px;
  max-width: none;
  padding: 14px 0;
  background-color: #06558A; /* dark blue background */
  border-radius: 10px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.main-header-menu .sub-menu li a {
  padding: 12px 20px;
  font-size: 16px;
  color: #ffffff;
  font-weight: 500;
  transition: background 0.2s ease;
}

.main-header-menu .sub-menu li a:hover {
  background-color: #F9B234;
  color: #04456d;
  border-radius: 6px;
}

/* Fix overflow in Astra mobile header */
.ast-header-break-point .main-header-bar,
.ast-header-break-point .ast-main-header-wrap {
  overflow: visible !important;
  position: relative !important;
}

/* ------------------------------
   WP Job Manager: Job Listings
--------------------------------- */

.job_listings {
  padding: 20px;
}

.job_listing {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 24px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}

.job_listing:hover {
  transform: translateY(-2px);
}

.job_listing .job-title {
  font-size: 20px;
  font-weight: 600;
  color: #04456d;
  margin-bottom: 8px;
}

.job_listing .meta {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
}

.job_listing .job-type {
  background: #5591e6;
  color: #fff;
  padding: 4px 12px;
  border-radius: 5px;
  font-size: 13px;
  display: inline-block;
  margin-top: 8px;
}

.job_listing .application_button {
  display: inline-block;
  background: #F9B234;
  color: #ffffff !important;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 16px;
  transition: background 0.3s ease;
}

.job_listing .application_button:hover {
  background: #e5a721;
}

/* Job filters */
.job_filters {
  background-color: #f5f8fa;
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.job_filters input, 
.job_filters select {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-right: 10px;
  max-width: 300px;
}

.job_filters input[type="submit"] {
  background: #fff;
  color: #06558A;
  padding: 10px 20px;
  border: 1px solid #eee;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.job_filters input[type="submit"]:hover {
  background: #F9B234;
  color: #fff;
  transform: translateY(-2px);
}

/* ------------------------------
   Job Detail Page
--------------------------------- */
/* Center the job details container */
.single_job_listing {
  max-width: 1200px;
  margin: 40px auto;
  background-color: #ffffff;
  border: 1px solid #06558A;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
  box-sizing: border-box;
}

/* Job Title */
.single_job_listing .job_listing_title h1 {
  font-size: 28px;
  color: #06558A;
  font-weight: 700;
  margin-bottom: 10px;
  text-align: center;
}

/* Job description area */
.single_job_listing .job_description {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 40px;
}

/* Company logo (if used) */
.single_job_listing .company_logo img {
  max-width: 120px;
  display: block;
  margin: 0 auto 20px;
}

/* Job type badge */
.single_job_listing .job-type {
  background: #2EC4B6;
  color: #ffffff;
  font-weight: bold;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  display: inline-block;
  margin-bottom: 20px;
}

/* Apply Now button section */
.job_application.application {
  text-align: center;
  margin-top: 30px;
}

/* Apply Now button with envelope icon */
.application_button {
  background: linear-gradient(to right, #04456d, #547e93) !important;
  color: #ffffff !important;
  padding: 12px 30px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
}

.application_button::before {
  content: "✉️";
  font-size: 16px;
  display: inline-block;
}

.application_button:hover {
  background: #F9B234;
  color: #04456d !important;
}

/* Company meta: location, type, etc. */
.single_job_listing .meta {
  font-size: 14px;
  color: #777;
  margin-bottom: 20px;
  text-align: center;
}

/* ------------------------------
   Resume Dashboard
--------------------------------- */

.candidate-dashboard {
  max-width: 900px;
  margin: 0 auto;
  padding: 30px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}

.candidate-dashboard table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.candidate-dashboard th,
.candidate-dashboard td {
  padding: 14px 16px;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
  font-size: 15px;
  color: #333;
}

.candidate-dashboard th {
  background-color: #f5f8fa;
  color: #04456d;
  font-weight: bold;
}

.candidate-dashboard .resume-title a {
  color: #04456d;
  font-weight: 600;
  text-decoration: none;
}

.candidate-dashboard .resume-title a:hover {
  color: #F9B234;
}

.candidate-dashboard .resume-status {
  background-color: #e0f4ff;
  color: #06558A;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 13px;
  display: inline-block;
}

.candidate-dashboard .actions a {
  background: linear-gradient(to right, #04456d, #547e93);
  color: #fff;
  padding: 6px 12px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 14px;
  margin-right: 8px;
  transition: background 0.3s ease;
}

.candidate-dashboard .actions a:hover {
  background: #F9B234;
  color: #04456d;
}

/* Resume post container alignment */
body.single-resume .site-main > article {
  max-width: 1200px;
  margin: 40px auto;
  background: #fff;
  border: 1px solid #06558A;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
}

/* Add top gap ONLY on resume posts */
body.single-resume .ast-container {
  padding-top: 40px !important;
}

/* Contact button wrapper (centers it) */
.resume_contact {
  text-align: center;
  margin-top: 30px;
}


/* Hover effect */
.resume_contact_button:hover {
  background: #F9B234;
  color: #04456d;
}

/* Center the contact section */
.resume_contact {
  text-align: center;
  margin-top: 30px;
}

/* Style the contact button */
.resume_contact_button {
  background: linear-gradient(to right, #04456d, #547e93) !important;
  color: #ffffff !important;
  padding: 12px 30px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px; /* space between icon and text */
}

/* Hover effect */
.resume_contact_button:hover {
  background: #F9B234;
  color: #04456d;
}

/* Optional: Use emoji for envelope icon */
.resume_contact_button::before {
  content: "✉️";
  font-size: 16px;
  display: inline-block;
}

/* Site-wide Apply Now button styling */
.application_button {
  background: linear-gradient(to right, #04456d, #547e93) !important;
  color: #ffffff !important;
  padding: 12px 30px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.2s ease;
}

/* Envelope icon on the left */
.application_button::before {
  content: "✉️";
  font-size: 16px;
  display: inline-block;
}

/* Hover effect: slight lift + color change */
.application_button:hover {
  background: #F9B234 !important;
  color: #04456d !important;
  transform: translateY(-2px);
}

/* Universal Apply Now button styling */
.application_button,
.application_button:link,
.application_button:visited,
.application_button:active {
  background: linear-gradient(to right, #04456d, #547e93) !important;
  color: #ffffff !important;
  padding: 12px 30px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none !important;
  transition: background 0.3s ease, transform 0.2s ease;
}

/* Optional envelope icon */
.application_button::before {
  content: "✉️";
  font-size: 16px;
  display: inline-block;
}

/* Hover effect with color shift */
.application_button:hover,
.application_button:focus {
  background: #F9B234 !important;
  color: #04456d !important;
  transform: translateY(-2px);
}

/* Resume listing container */
ul.resumes {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #eee;
}

/* Individual resume card */
ul.resumes li.resume {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-bottom: 24px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
}

ul.resumes li.resume:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

/* Resume link block */
ul.resumes li.resume > a {
  display: flex;
  align-items: center;
  padding: 20px;
  text-decoration: none;
  color: inherit;
}

/* Candidate photo */
ul.resumes li.resume img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 20px;
}

/* Candidate info block */
ul.resumes li.resume .candidate-column {
  flex-grow: 1;
}

ul.resumes li.resume .candidate-column h3 {
  margin: 0 0 5px 0;
  font-size: 18px;
  color: #04456d;
  font-weight: 600;
}

ul.resumes li.resume .candidate-column .candidate-title {
  font-size: 14px;
  color: #666;
}

/* Location column */
ul.resumes li.resume .candidate-location-column {
  font-size: 14px;
  color: #777;
  margin-right: 20px;
}

/* Posted date column */
ul.resumes li.resume .resume-posted-column {
  font-size: 13px;
  color: #aaa;
  text-align: right;
}

/* Featured resume highlight */
ul.resumes li.resume_featured {
  border: 1px solid #F9B234;
  background-color: #fffce8;
}

/* Restore full-width layout and spacing for your custom grid-wrapper section 
/* GRID WRAPPER: responsive layout */
.grid-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

@media (min-width: 600px) {
  .grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1025px) {
  .grid-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* GRID ITEM BOX */
.grid-item-box {
  background: linear-gradient(38deg, #06558A, #6A92A6) !important;
  color: #ffffff !important;
  border: 1px solid #666666 !important;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* IMAGE INSIDE BOX */
.grid-item-box img {
  border: none !important;
  border-radius: 0 !important;
  height: 250px;
  margin: 0;
  width: 100%;
  display: block;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .grid-item-box img {
  border: none !important;
  border-radius: 0 !important;
  height: 200px;
  margin: 0;
  width: 100%;
  display: block;
}


/* Mobile */
@media (max-width: 767px) {
  .grid-item-box img {
  border: none !important;
  border-radius: 0 !important;
  height: 150px;
  margin: 0;
  width: 100%;
  display: block;
}

/* HEADING INSIDE BOX */
.grid-item-box h4,
.grid-item-box .uagb-heading-text {
  border: none !important;
  border-radius: 0 !important;
  margin: 0;
  width: 100%;
  display: block;
  padding: 12px 8px;
  color: #ffffff !important;
  background: transparent;
  text-align: center;
  font-size: 1.1rem;
}

/* RESPONSIVE FONT SIZES */
@media (max-width: 1024px) {
  .grid-item-box h4,
  .grid-item-box .uagb-heading-text {
    font-size: 1rem !important;
  }
}

@media (max-width: 600px) {
  .grid-item-box h4,
  .grid-item-box .uagb-heading-text {
    font-size: 0.9rem !important;
    line-height: 1.2rem;
  }
}

@media (max-width: 400px) {
  .grid-item-box h4,
  .grid-item-box .uagb-heading-text {
    font-size: 0.8rem !important;
    line-height: 1.2rem;
  }
}

/* GRID LINK WRAPPER */
.grid-item-link {
  background: linear-gradient(38deg, #06558A, #6A92A6);
  color: #ffffff !important;
  text-decoration: none;
  display: block;
  height: 100%;
}

/* TEXT LINK INSIDE BOX */
.grid-item-box a {
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  color: #1e3a8a !important;
  padding: 12px 8px;
  text-decoration: none !important;
}

/* Spectra heading wrapper reset */
.grid-item-box .wp-block-uagb-advanced-heading {
  margin: 0 !important;
  padding: 0 !important;
}

/* HOVER EFFECT */
.grid-item-link:hover .grid-item-box {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.job_listing .meta .job-type {
    background-color: #5591e6; /* Change this to your desired color */
}

.reading-blog-page {
    padding: 20px;
    max-width: 1200px;
    margin-left: 20%;
    margin-right: 20%;
}

.jobdiva-job {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}

.jobdiva-job h3 {
  font-size: 20px;
  margin-bottom: 5px;
}

.jobdiva-job .apply-btn {
  display: inline-block;
  background-color: #0073aa;
  color: #fff;
  padding: 8px 12px;
  text-decoration: none;
  border-radius: 5px;
}

.jobdiva-job .apply-btn:hover {
  background-color: #005177;
}

.jobdiva-pagination {
  text-align: center;
  margin-top: 30px;
}

.jobdiva-pagination a {
  display: inline-block;
  margin: 0 6px;
  padding: 6px 10px;
  background: #f0f0f0;
  border-radius: 4px;
  text-decoration: none;
  color: #333;
}

.jobdiva-pagination a:hover {
  background: #0073aa;
  color: #fff;
}
