/* Forms, Post-a-job, Thank-you and CV builder styles (ported from the previous theme + its Additional CSS) */
:root{--paper:#F3F6FB;--slate:#5F6B7F;--gold:#FFCC00;--blue-deep:#04204F;--navy:#04204F}

/* ---- utility shim: only the classes used by the ported pages (post-a-job, thank-you, CV builder) ---- */
.mx-auto{margin-left:auto;margin-right:auto}.px-6{padding-left:24px;padding-right:24px}
.py-8{padding-top:32px;padding-bottom:32px}.py-12{padding-top:48px;padding-bottom:48px}.py-24{padding-top:96px;padding-bottom:96px}
.pt-10{padding-top:40px}.pt-14{padding-top:56px}.pb-4{padding-bottom:16px}.pb-10{padding-bottom:40px}
.p-5{padding:20px}.p-8{padding:32px}.p-10{padding:40px}
.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-8{margin-top:32px}.mb-5{margin-bottom:20px}.mb-8{margin-bottom:32px}
.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}
.text-xs{font-size:12px}.text-sm{font-size:14px}.text-2xl{font-size:24px;line-height:1.25}
.font-semibold{font-weight:600}.font-display{font-family:"Space Grotesk",Inter,sans-serif}.text-center{text-align:center}
.text-white{color:#fff}.text-white\/70{color:rgba(255,255,255,.72)}.bg-white{background:#fff}
.rounded-lg{border-radius:10px}.rounded-2xl{border-radius:18px}.rounded-full{border-radius:999px}
.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}
.gap-3{gap:12px}.gap-4{gap:16px}.grid{display:grid}.grid-cols-1{grid-template-columns:1fr}.w-14{width:56px}.h-14{height:56px}
@media(min-width:640px){.sm\:flex-row{flex-direction:row}}
@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:1fr 1fr}.md\:text-3xl{font-size:30px;line-height:1.2}.md\:text-4xl{font-size:36px;line-height:1.15}.md\:text-base{font-size:16px}}
.no-print{}

/* ---- from previous theme style.css ---- */
.ejh-btn{
  display:inline-block;
  padding:10px 20px;
  border-radius:6px;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
  border:1px solid transparent;
  text-align:center;
}
.ejh-btn-primary{ background:var(--blue); color:#fff; border-color:var(--blue); }
.ejh-btn-primary:hover{ background:var(--blue-deep); }
.ejh-btn-outline{ background:#fff; color:var(--blue); border-color:var(--blue); }
.ejh-btn-outline:hover{ background:#F3F6FC; }

.ejh-tag{
  display:inline-block;
  font-size:11px;
  padding:3px 10px;
  border-radius:999px;
  background:#F1EFEA;
  color:var(--ink);
  border:1px solid var(--line);
}
.ejh-tag-gold{ background:#FBF1DE; color:#8A6415; border-color:#EFDBAA; }
.ejh-tag-green{ background:#EAF6EE; color:var(--green); border-color:#CBE9D5; }

.ejh-form-row{ margin-bottom:16px; }
.ejh-form-row label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--ink); }
.ejh-form-row input,
.ejh-form-row select,
.ejh-form-row textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:6px;
  font-size:14px;
  background:#fff;
  color:var(--ink);
}
.ejh-form-row input:focus,
.ejh-form-row select:focus,
.ejh-form-row textarea:focus{
  outline:none;
  border-color:var(--blue);
}

.ejh-apply-form{ max-width:520px; }

#ejh-mobile-menu.hidden{ display:none; }

.prose p{ margin-bottom:1em; }
.prose ul, .prose ol{ margin:1em 0; padding-left:1.5em; }
.prose ul{ list-style:disc; }
.prose ol{ list-style:decimal; }
.prose h2, .prose h3{ font-family:'Space Grotesk', sans-serif; font-weight:600; margin:1.4em 0 0.6em; }
.prose a{ color:var(--blue); }

@media (max-width: 768px) {
  .ejh-tag{ font-size:12px; }
}

/* ===== CV BUILDER ===== */

.cvb-wrap{ display:flex; gap:32px; align-items:flex-start; flex-wrap:wrap; }
.cvb-form-panel{ flex:1 1 420px; min-width:320px; }
.cvb-preview-panel{ flex:1 1 480px; min-width:320px; position:sticky; top:90px; }

.cvb-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:20px;
  margin-bottom:18px;
}
.cvb-card h2{ font-family:'Space Grotesk', sans-serif; font-size:16px; font-weight:600; margin-bottom:14px; }

.cvb-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
@media (max-width: 600px){ .cvb-grid-2{ grid-template-columns:1fr; } }

.cvb-hint{ font-size:12px; color:var(--slate); margin-bottom:10px; }

.cvb-photo-row{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.cvb-photo-preview{
  width:72px; height:72px; border-radius:6px; background:#F1EFEA;
  border:1px dashed var(--line); display:flex; align-items:center; justify-content:center;
  font-size:11px; color:var(--slate); background-size:cover; background-position:center; flex-shrink:0;
}

.cvb-repeat-row{
  border:1px solid var(--line);
  border-radius:6px;
  padding:14px;
  margin-bottom:12px;
  background:var(--paper);
}
.cvb-remove-btn{
  background:none; border:none; color:#B3413E; font-size:12px; cursor:pointer; padding:0; text-decoration:underline;
}
.cvb-add-btn{ width:100%; margin-top:4px; }

.cvb-checkbox-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; font-size:13px; }
.cvb-checkbox-grid label{ display:flex; align-items:center; gap:6px; font-weight:400; }
.cvb-checkbox-grid input{ width:auto; }

.cvb-lang-grid{ display:grid; grid-template-columns:repeat(5, 1fr); gap:8px; margin:10px 0; }
.cvb-lang-grid label{ font-size:11px; font-weight:600; color:var(--slate); display:block; margin-bottom:4px; }
@media (max-width: 700px){ .cvb-lang-grid{ grid-template-columns:1fr 1fr; } }

.cvb-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }

/* PREVIEW SHEET (approximates an A4 page on screen and in print) */
.cvb-preview-sheet{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 30px -12px rgba(0,0,0,0.15);
  display:flex;
  min-height:1000px;
  font-size:12.5px;
  color:var(--ink);
  overflow:hidden;
}
.cvb-preview-sidebar{
  width:34%;
  background:#F1EFEA;
  padding:24px 18px;
}
.cvb-preview-photo{
  width:100px; height:100px; border-radius:6px; background:#DCD7CB;
  display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--slate);
  background-size:cover; background-position:center; margin-bottom:18px;
}
.cvb-preview-block{ margin-bottom:16px; }
.cvb-preview-block h4{ font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate); margin-bottom:4px; }
.cvb-preview-block p{ font-size:12px; word-break:break-word; }

.cvb-preview-main{ flex:1; padding:28px 26px; }
.cvb-preview-main h1{ font-family:'Space Grotesk', sans-serif; font-size:22px; font-weight:700; margin-bottom:2px; }
.cvb-preview-headline{ color:var(--blue); font-size:13px; margin-bottom:18px; }
.cvb-preview-section{ margin-bottom:20px; }
.cvb-preview-section h3{
  font-family:'Space Grotesk', sans-serif; font-size:13px; font-weight:600;
  border-bottom:2px solid var(--gold); padding-bottom:4px; margin-bottom:10px; display:inline-block;
}
.cvb-preview-entry{ margin-bottom:12px; }
.cvb-preview-entry-head{ display:flex; justify-content:space-between; font-size:12.5px; gap:10px; }
.cvb-preview-entry-sub{ font-size:11.5px; color:var(--slate); margin-bottom:3px; }

.cvb-lang-table{ width:100%; border-collapse:collapse; font-size:11px; }
.cvb-lang-table th, .cvb-lang-table td{ border:1px solid var(--line); padding:5px 6px; text-align:center; }
.cvb-lang-table th{ background:#F1EFEA; font-weight:600; }
.cvb-lang-table td:first-child, .cvb-lang-table th:first-child{ text-align:left; }

/* PRINT — only the CV sheet is shown, at real A4 size */
@media print {
  .no-print, header, footer { display:none !important; }
  body { background:#fff !important; }
  .cvb-preview-panel{ position:static; width:100%; }
  .cvb-preview-sheet{
    box-shadow:none; border:none;
    width:210mm; min-height:297mm; margin:0 auto;
  }
  section { padding:0 !important; margin:0 !important; }
}

/* PREVENT BOOTSTRAP FROM SETTING SMALL FONT-SIZE */
@media (max-width: 768px) {
  html {
    font-size: 18px !important;
  }

  body {
    font-size: 18px !important;
  }

  p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  input, button, textarea, select {
    font-size: 18px !important; /* Prevents iOS zoom on input focus */
  }

/* ---- from previous Additional CSS ---- */
/* ==========================================================================
   EU JobHub — Europass CV Builder styling
   Paste this into: Appearance → Customize → Additional CSS
   (or append to wp-content/themes/eu-jobhub-theme/style.css)
   Uses the site's existing brand variables: --navy --gold --blue --paper
   ========================================================================== */

/* ---------- Layout shell ---------- */
.cvb-wrap {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    flex-wrap: wrap;
}
.cvb-form-panel {
    flex: 1 1 480px;
    min-width: 0;
}
.cvb-preview-panel {
    flex: 1 1 420px;
    min-width: 0;
    position: sticky;
    top: 90px;
    align-self: flex-start;
}

/* ---------- Cards (form sections) ---------- */
.cvb-card {
    background: #fff;
    border: 1px solid rgba(20, 32, 51, 0.08);
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(20, 32, 51, 0.05);
    transition: box-shadow 0.2s ease;
}
.cvb-card:hover { box-shadow: 0 4px 14px rgba(20, 32, 51, 0.07); }
.cvb-card h2 {
    font-family: "Space Grotesk", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--navy);
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gold);
    display: inline-block;
}

/* ---------- Form fields ---------- */
.ejh-form-row { margin-bottom: 16px; }
.ejh-form-row label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 6px;
    letter-spacing: 0.2px;
}
.ejh-form-row input[type="text"],
.ejh-form-row input[type="email"],
.ejh-form-row input[type="date"],
.ejh-form-row textarea,
.cvb-photo-row input[type="file"],
#cvb-skills,
#cvb-first-name, #cvb-last-name, #cvb-headline,
#cvb-email, #cvb-phone, #cvb-address, #cvb-nationality, #cvb-dob {
    width: 100%;
    padding: 11px 13px;
    border: 1.5px solid #dcdfe4;
    border-radius: 7px;
    font-size: 14px;
    font-family: "Inter", sans-serif;
    color: var(--navy);
    background: #fdfdfc;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ejh-form-row input:focus,
.ejh-form-row textarea:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(41, 87, 164, 0.12);
    background: #fff;
}
.ejh-form-row textarea { resize: vertical; min-height: 90px; }

.cvb-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.cvb-hint {
    font-size: 12px;
    color: #7a8494;
    margin-top: 6px;
    line-height: 1.4;
}

/* ---------- Photo upload ---------- */
.cvb-photo-row {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}
.cvb-photo-preview {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: #eef0f3;
    border: 2px dashed #c7cdd6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #9aa2ad;
    flex-shrink: 0;
    overflow: hidden;
    text-align: center;
}
.cvb-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.cvb-photo-row > div { flex: 1; min-width: 0; }
.cvb-photo-row input[type="file"] {
    padding: 8px 10px;
    font-size: 12.5px;
    cursor: pointer;
}

/* ---------- Checkbox grids (digital skills, driving licence) ---------- */
.cvb-checkbox-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}
.cvb-checkbox-grid label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    color: var(--navy);
    cursor: pointer;
    padding: 6px 4px;
    border-radius: 6px;
    transition: background 0.15s ease;
}
.cvb-checkbox-grid label:hover { background: #f5f6f8; }
.cvb-checkbox-grid input[type="checkbox"] {
    width: 17px; height: 17px;
    accent-color: var(--blue);
    cursor: pointer;
    flex-shrink: 0;
}

/* ---------- Repeatable entries (experience / education / language rows) ---------- */
#cvb-experience-list .cvb-entry,
#cvb-education-list .cvb-entry,
#cvb-language-list .cvb-entry {
    border: 1px solid #e6e8ec;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    background: #fafbfc;
    position: relative;
}
#cvb-experience-list .cvb-entry-remove,
#cvb-education-list .cvb-entry-remove,
#cvb-language-list .cvb-entry-remove {
    position: absolute;
    top: 10px; right: 10px;
    background: none;
    border: none;
    color: #c0392b;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
}

.cvb-add-btn {
    width: 100%;
    padding: 12px;
    background: #fff;
    border: 1.5px dashed var(--blue);
    color: var(--blue);
    border-radius: 8px;
    font-weight: 600;
    font-size: 13.5px;
    cursor: pointer;
    margin-top: 4px;
    transition: background 0.15s ease;
}
.cvb-add-btn:hover { background: #eef3fb; }

/* ---------- Buttons ---------- */
.cvb-actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}
.ejh-btn {
    padding: 13px 26px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14.5px;
    cursor: pointer;
    border: none;
    font-family: "Space Grotesk", sans-serif;
    transition: transform 0.1s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.ejh-btn-primary {
    background: var(--gold);
    color: var(--navy);
    box-shadow: 0 2px 8px rgba(201, 150, 44, 0.35);
}
.ejh-btn-primary:hover { background: #dba933; transform: translateY(-1px); }
.ejh-btn-outline {
    background: #fff;
    color: var(--navy);
    border: 1.5px solid #d3d7dd;
}
.ejh-btn-outline:hover { background: #f5f6f8; }

/* ---------- Live preview sheet (the actual CV mockup) ---------- */
.cvb-preview-sheet {
    display: flex;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(20, 32, 51, 0.12);
    min-height: 700px;
}
.cvb-preview-sidebar {
    width: 34%;
    background: var(--navy);
    color: #fff;
    padding: 32px 22px;
}
.cvb-preview-photo {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    border: 2px solid rgba(255,255,255,0.25);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    margin: 0 auto 24px;
    overflow: hidden;
}
.cvb-preview-photo img { width: 100%; height: 100%; object-fit: cover; }
.cvb-preview-block { margin-bottom: 22px; }
.cvb-preview-block h4 {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--gold);
    margin: 0 0 8px;
    font-weight: 600;
}
.cvb-preview-block p {
    font-size: 12.5px;
    color: rgba(255,255,255,0.85);
    margin: 0 0 3px;
    word-break: break-word;
    line-height: 1.5;
}

.cvb-preview-main {
    flex: 1;
    padding: 36px 34px;
    min-width: 0;
}
.cvb-preview-main h1 {
    font-family: "Space Grotesk", sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: var(--navy);
    margin: 0 0 4px;
}
.cvb-preview-headline {
    font-size: 14px;
    color: var(--blue);
    font-weight: 500;
    margin: 0 0 24px;
}
.cvb-preview-section { margin-bottom: 26px; }
.cvb-preview-section h3 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 700;
    color: var(--navy);
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--gold);
}
.cvb-preview-section p { font-size: 13.5px; color: #3a4150; line-height: 1.6; margin: 0; }

#pv-experience .pv-item,
#pv-education .pv-item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eef0f3;
}
#pv-experience .pv-item:last-child,
#pv-education .pv-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
#pv-experience .pv-item-title,
#pv-education .pv-item-title { font-weight: 700; color: var(--navy); font-size: 14px; }
#pv-experience .pv-item-meta,
#pv-education .pv-item-meta { font-size: 12px; color: #8a92a0; margin: 2px 0 6px; }
#pv-experience ul, #pv-education ul { margin: 6px 0 0 18px; padding: 0; }
#pv-experience li, #pv-education li { font-size: 13px; color: #3a4150; margin-bottom: 3px; }

/* language table */
.cvb-lang-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.cvb-lang-table th, .cvb-lang-table td {
    border: 1px solid #e6e8ec;
    padding: 8px 6px;
    text-align: center;
}
.cvb-lang-table th {
    background: #f7f8fa;
    font-weight: 700;
    color: var(--navy);
    font-size: 10.5px;
    text-transform: uppercase;
}
.cvb-lang-table td:first-child { text-align: left; font-weight: 600; }

/* ---------- Print styles (Download as PDF) ---------- */
@media print {
    .no-print, header, footer, .cvb-form-panel, .cvb-actions { display: none !important; }
    .cvb-wrap { display: block; }
    .cvb-preview-panel { position: static; }
    .cvb-preview-sheet { box-shadow: none; border-radius: 0; min-height: 0; }
    body { background: #fff; }
    section.max-w-6xl { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }
}

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
    .cvb-wrap { flex-direction: column; }
    .cvb-preview-panel {
        position: static;
        width: 100%;
        order: 2;
    }
    .cvb-form-panel { order: 1; width: 100%; }
    .cvb-preview-sheet { flex-direction: column; min-height: 0; }
    .cvb-preview-sidebar { width: 100%; }
    .cvb-grid-2, .cvb-checkbox-grid { grid-template-columns: 1fr; }
    .cvb-actions {
        position: sticky;
        bottom: 0;
        background: #fff;
        padding: 12px 0;
        margin: 0 -6px;
        padding-left: 6px;
        padding-right: 6px;
        border-top: 1px solid #eee;
        z-index: 20;
    }
    .ejh-btn { flex: 1; text-align: center; }
    .cvb-card { padding: 18px; }
    .cvb-preview-main h1 { font-size: 21px; }
}


/* Show featured images on job listings */
.job-post-item img,
.job-card img,
article .post-thumbnail {
    display: block !important;
    width: 100%;
    height: auto;
    margin-bottom: 15px;
}

/* Make featured images responsive */
.post-thumbnail {
    max-width: 100%;
    height: auto;
}



/* ---- PATCH: force colors, photo and backgrounds to actually print ---- */
.cvb-preview-sheet, .cvb-preview-sheet * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
}


/* ---- FIX: photo preview turning into a stretched oval ---- */
/* The earlier rule "(.cvb-photo-row > div)" was accidentally also matching
   the photo circle itself. This excludes it, and locks both photo circles
   to a true 1:1 circle no matter what else tries to resize them. */

.cvb-photo-row > div:not(.cvb-photo-preview) {
    flex: 1 !important;
    min-width: 0 !important;
}

.cvb-photo-preview,
.cvb-preview-photo {
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
    background-size: cover !important;
    background-position: center center !important;
}
.cvb-photo-preview {
    width: 84px !important;
    height: 84px !important;
}
.cvb-preview-photo {
    width: 96px !important;
    height: 96px !important;
}
.cvb-photo-preview img,
.cvb-preview-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}






/* Display featured image on single article pages */
.single-post .post-thumbnail,
.single article .wp-post-image,
.single .featured-image,
article .post-thumbnail img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    margin-bottom: 30px !important;
    object-fit: cover !important;
}

/* Ensure featured image wrapper is visible */
.single .post-thumbnail,
.single-post .featured-image-wrapper,
article .featured-image {
    display: block !important;
    width: 100%;
    margin-bottom: 30px;
}



/* Display featured images on category/archive pages */
.archive-page .post-item img,
.category .post-item img,
.archive article img.wp-post-image,
.category article img.wp-post-image {
    display: block !important;
    width: 100%;
    height: auto;
    margin-bottom: 15px;
    object-fit: cover;
}

/* Ensure featured image appears before title on archive */
.archive .post-thumbnail,
.category .post-thumbnail,
.archive-page .featured-image {
    display: block !important;
    width: 100%;
    height: 200px;
    overflow: hidden;
    margin-bottom: 12px;
    object-fit: cover;
}

/* For the specific article list layout */
article .post-thumbnail img {
    display: block !important;
    opacity: 1 !important;
}


/* ===== PROFESSIONAL CONTACT FORM 7 STYLING ===== */

.wpcf7 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.wpcf7-form {
    max-width: 100%;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    padding: 32px;
    border-radius: 12px;
    border: 1px solid #e8eef5;
    box-shadow: 0 2px 8px rgba(0, 40, 100, 0.08);
}

/* Form Title */
.wpcf7-form h3 {
    color: #001a4d;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
    letter-spacing: -0.3px;
}

/* Form Description */
.wpcf7-form > p:first-of-type {
    color: #5a6f8f;
    font-size: 14px;
    margin-bottom: 24px;
    line-height: 1.5;
}

/* Labels */
.wpcf7-form label {
    display: block;
    color: #1a2744;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    letter-spacing: 0.2px;
}

.wpcf7-form label strong {
    color: #d4a017;
    margin-left: 2px;
}

/* Input Fields */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="file"],
.wpcf7-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid #d1dce9;
    border-radius: 6px;
    font-size: 14px;
    color: #2c3e50;
    background-color: #ffffff;
    transition: all 0.3s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="file"]:focus,
.wpcf7-form textarea:focus {
    outline: none;
    border-color: #d4a017;
    background-color: #fffbf0;
    box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.1);
}

/* File Input */
.wpcf7-form input[type="file"] {
    padding: 10px;
    cursor: pointer;
}

/* Textarea */
.wpcf7-form textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.5;
}

/* Placeholder Text */
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: #9ca8bf;
    font-size: 13px;
}

/* Form Row Spacing */
.wpcf7-form p {
    margin-bottom: 18px;
}

/* HR/Divider */
.wpcf7-form hr {
    border: none;
    border-top: 1px solid #e8eef5;
    margin: 24px 0;
}

/* Submit Button - PROMINENT AND VISIBLE */
.wpcf7-form input[type="submit"],
.wpcf7-submit {
    background: linear-gradient(135deg, #d4a017 0%, #c29015 100%);
    color: #ffffff;
    padding: 16px 70px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 160, 23, 0.3);
    text-transform: uppercase;
    display: block;
    width: 100%;
    max-width: 500px;
    text-align: center;
    margin-top: 20px;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
    background: linear-gradient(135deg, #c29015 0%, #b3800d 100%);
    box-shadow: 0 6px 16px rgba(212, 160, 23, 0.4);
    transform: translateY(-2px);
}

.wpcf7-form input[type="submit"]:active,
.wpcf7-submit:active {
    transform: translateY(0);
}

/* Success Message */
.wpcf7-mail-success-message {
    background-color: #e8f5e9;
    border-left: 4px solid #4caf50;
    color: #2e7d32;
    padding: 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 500;
}

/* Error Message */
.wpcf7-validation-errors {
    background-color: #ffebee;
    border-left: 4px solid #f44336;
    color: #c62828;
    padding: 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 500;
}

/* Field Error */
.wpcf7-form span.wpcf7-not-valid-tip {
    color: #d32f2f;
    font-size: 12px;
    margin-top: 4px;
    display: block;
    font-weight: 500;
}

.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid {
    border-color: #f44336 !important;
    background-color: #ffebee !important;
}

/* Warning/Info Box */
.wpcf7-form div[style*="background:#fff3cd"] {
    background: linear-gradient(135deg, #fff8e1 0%, #fffbf0 100%) !important;
    border-left: 4px solid #d4a017 !important;
    padding: 16px !important;
    border-radius: 6px !important;
}

.wpcf7-form div[style*="background:#fff3cd"] p {
    color: #856404 !important;
    font-size: 14px;
    line-height: 1.6;
}

.wpcf7-form div[style*="background:#fff3cd"] a {
    background: #d4a017 !important;
    color: white !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    display: inline-block !important;
    margin-top: 10px !important;
    transition: all 0.3s ease !important;
}

.wpcf7-form div[style*="background:#fff3cd"] a:hover {
    background: #c29015 !important;
    box-shadow: 0 4px 12px rgba(212, 160, 23, 0.3) !important;
    transform: translateY(-2px) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .wpcf7-form {
        padding: 24px;
    }

    .wpcf7-form input[type="submit"],
    .wpcf7-submit {
        min-width: 100%;
        max-width: 100%;
        padding: 14px 24px;
        font-size: 15px;
    }

    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form input[type="file"],
    .wpcf7-form textarea {
        font-size: 16px;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    .wpcf7-form {
        background: linear-gradient(135deg, #1a2744 0%, #0f1729 100%);
        border-color: #2c3e50;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    }

    .wpcf7-form label {
        color: #e8eef5;
    }

    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form input[type="file"],
    .wpcf7-form textarea {
        background-color: #2c3e50;
        border-color: #3d5578;
        color: #e8eef5;
    }

    .wpcf7-form input::placeholder,
    .wpcf7-form textarea::placeholder {
        color: #7a8aa0;
    }
}



/* Removes boxed background and forces full-width post content container */
.single-post .site-content, 
.single-post .content-area,
.single-post article {
    background-color: transparent !important;
    max-width: 100% !important;
    box-shadow: none !important;
    border: none !important;
}

/* Expand single post container width to full screen width */
.single-post .site-content,
.single-post .content-area,
.single-post .entry-content,
.single-post main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 5% !important;
    padding-right: 5% !important;
}

/* Ensure the main article container removes boxed constraints */
.single-post article {
    max-width: 100% !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}


/* =========================================
   EU JOB HUB - LEGAL DROPDOWN
   ========================================= */

/* Make the main menu position children correctly */
#menu-eu-jo-hub > li {
    position: relative;
}

/* Legal submenu - hidden by default */
#menu-eu-jo-hub > li.menu-item-has-children > .sub-menu {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: var(--navy, #142033);
    border: 1px solid rgba(201, 150, 44, 0.35);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    z-index: 9999;
}

/* Show submenu on hover */
#menu-eu-jo-hub > li.menu-item-has-children:hover > .sub-menu {
    display: block;
}

/* Keep dropdown open when moving mouse into it */
#menu-eu-jo-hub > li.menu-item-has-children {
    position: relative;
}

/* Dropdown links */
#menu-eu-jo-hub > li.menu-item-has-children > .sub-menu > li > a {
    display: block;
    padding: 11px 18px;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.4;
}

/* Hover effect */
#menu-eu-jo-hub > li.menu-item-has-children > .sub-menu > li > a:hover {
    background: var(--gold, #C9962C);
    color: var(--navy, #142033);
}

/* Legal parent */
#menu-eu-jo-hub > li.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Add dropdown arrow */
#menu-eu-jo-hub > li.menu-item-has-children > a::after {
    content: "▾";
    font-size: 11px;
    color: var(--gold, #C9962C);
    transition: transform 0.2s ease;
}

/* Rotate arrow when opened */
#menu-eu-jo-hub > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Small invisible bridge between Legal and dropdown */
#menu-eu-jo-hub > li.menu-item-has-children > .sub-menu::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
}