/*
Theme Name: Job Board by Ejobsitesoftware
Theme URI: https://ejobsitesoftware.com/free-wordpress-theme/
Author: Ejobsitesoftware
Author URI: https://ejobsitesoftware.com/
Description: A responsive WordPress theme for the Ejobsitesoftware plugin, built with Bootstrap 5.
Version: 1.6
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, theme-options, translation-ready
Text Domain: job-board-by-ejobsitesoftware
Copyright: © 2025 Ejobsitesoftware. All rights reserved.
*/

body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;

    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

a {
    color:#0D99FF;
}

header h1 {
    margin: 0;
    text-align: center;
}
/* Prevent long titles from breaking layout */
.job-title,
.entry-title,
h1.entry-title,
h2.entry-title {
    word-wrap: break-word;        /* Old name */
    overflow-wrap: break-word;    /* Modern name */
    hyphens: auto;                /* Break long words with hyphens if needed */
    line-height: 1.3;
}

/* Optional: limit how tall a title can be in lists */
.job-title {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Show max 3 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.job-listing {
background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(4px);
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
    padding: 0px;
    color: #1f2937;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border-left: 4px solid #cae9f3;
    transition: all 0.3s ease;
    margin-bottom: 20px;
}
.job-listing:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
              0 4px 6px -4px rgba(0, 0, 0, 0.1);     /* shadow-lg */
  border-left: 4px solid #0D99FF;                   /* hover:border-l-primary (e.g., blue-600) */
}

.job-title {
    font-size: 1.5em;
    color: #007bff;
}

.job-description {
    margin-top: 10px;
}

.footer {
    background: #f8f9fa;
    padding: 20px 0;
    text-align: center;
}

.footer p {
    margin: 0;
}
/* WordPress Core Compatibility Classes */

.wp-caption {
    max-width: 100%;
    padding: 5px;
    border: 1px solid #ddd;
    background: #f9f9f9;
    text-align: center;
}

.wp-caption img {
    max-width: 100%;
    height: auto;
}

.wp-caption-text {
    font-size: 0.875em;
    color: #666;
    margin-top: 5px;
}

.gallery-caption {
    text-align: center;
    font-size: 0.9em;
    color: #888;
}

.bypostauthor {
    font-weight: bold;
    border-left: 3px solid #007bff;
    padding-left: 10px;
}

.alignleft {
    float: left;
    margin: 0 1em 1em 0;
}

.alignright {
    float: right;
    margin: 0 0 1em 1em;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Screen Reader Text */
.screen-reader-text {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px; height: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  position: static;
  width: auto; height: auto;
  margin: 1rem;
}

.alignwide {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.alignfull {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
/* ==========================
   EUROPA JOBS
========================== */

body{
    font-family:Arial,Helvetica,sans-serif;
    background:#f5f7fa;
    color:#333;
}

.site-header{
    position:sticky;
    top:0;
    z-index:9999;
    background:#fff;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.navbar{
    min-height:85px;
}

.navbar-brand img{
    max-height:65px;
}

.navbar-nav .nav-link{
    font-weight:600;
    color:#003366;
    padding:15px;
    transition:.3s;
}

.navbar-nav .nav-link:hover{
    color:#0d6efd;
}

.europa-search{
    background:#0d6efd;
    padding:35px 0;
}

.europa-search input,
.europa-search select{
    height:58px;
    border-radius:10px;
}

.europa-search button{
    height:58px;
    border-radius:10px;
    font-weight:700;
}

section{
    padding:60px 0;
}

.card{
    border:none;
    border-radius:12px;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
    transition:.3s;
}

.card:hover{
    transform:translateY(-5px);
}

footer{
    background:#003366;
    color:#fff;
    padding:50px 0;
}

footer a{
    color:#fff;
    text-decoration:none;
}

footer a:hover{
    color:#ffc107;
}
/* ===== HERO EUROPA JOBS ===== */

.hero-section{
    background:#0d6efd;
    background-size:cover;
    position:relative;
    min-height:550px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,40,90,.60);
}

.hero-section .container{
    position:relative;
    z-index:2;
}

.hero-section h1{
    color:#fff;
    font-size:54px;
    font-weight:700;
}

.hero-section p{
    color:#fff;
    font-size:22px;
}