/*
Theme Name: Heeka Child
Theme URI: https://heeka.fr
Description: Thème enfant personnalisé pour Heeka - Cabinet de recrutement Tech & CDI
Author: Heeka
Author URI: https://heeka.fr
Template: astra
Version: 1.0.3
Text Domain: heeka-child
*/

/* =============================================
   VARIABLES & RESET
============================================= */
:root {
  --heeka-black: #0A0A0A;
  --heeka-white: #FFFFFF;
  --heeka-violet: #B01EAA;
  --heeka-violet-light: #D430CC;
  --heeka-violet-dark: #7D1578;
  --heeka-gray-light: #F4F4F4;
  --heeka-gray-mid: #E0E0E0;
  --heeka-gray-text: #6B6B6B;
  --heeka-green: #1DB87A;
  --heeka-orange: #F26A1B;
  --heeka-yellow: #F5B800;
  --heeka-purple-soft: #7B5EA7;
  --heeka-teal: #0EB8A0;
  --heeka-blue-soft: #7B82C9;

  --font-display: 'Space Grotesk', 'Barlow', sans-serif;
  --font-body: 'DM Sans', 'Inter', sans-serif;

  --radius: 12px;
  --radius-lg: 20px;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --shadow: 0 4px 24px rgba(0,0,0,0.08);
  --shadow-hover: 0 12px 40px rgba(176,30,170,0.15);
}

/* =============================================
   FONTS IMPORT
============================================= */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:wght@300;400;500&display=swap');

/* =============================================
   BASE
============================================= */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  color: var(--heeka-black);
  background: var(--heeka-white);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.15;
  color: var(--heeka-black);
}

a {
  color: var(--heeka-violet);
  text-decoration: none;
  transition: color var(--transition);
}
a:hover { color: var(--heeka-violet-light); }

img { max-width: 100%; height: auto; display: block; }

/* =============================================
   HEADER & NAVIGATION
============================================= */
#masthead,
.site-header {
  background: var(--heeka-white) !important;
  border-bottom: 1px solid var(--heeka-gray-mid);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}

.site-header .ast-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.site-branding img,
.custom-logo {
  max-height: 48px !important;
  width: auto;
}

/* Navigation */
.main-header-menu,
.ast-nav-menu {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
}

.main-header-menu .menu-item a,
.ast-nav-menu .menu-item a {
  color: var(--heeka-black) !important;
  font-size: 15px !important;
  letter-spacing: 0.02em;
  transition: color var(--transition) !important;
}

.main-header-menu .menu-item a:hover,
.ast-nav-menu .menu-item a:hover {
  color: var(--heeka-violet) !important;
}

.main-header-menu .current-menu-item a,
.ast-nav-menu .current-menu-item a {
  color: var(--heeka-violet) !important;
  position: relative;
}

.main-header-menu .current-menu-item a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--heeka-violet);
  border-radius: 2px;
}

/* CTA Nav Button */
.menu-item.menu-cta a {
  background: var(--heeka-violet) !important;
  color: var(--heeka-white) !important;
  padding: 10px 22px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}
.menu-item.menu-cta a:hover {
  background: var(--heeka-violet-dark) !important;
  color: var(--heeka-white) !important;
}

/* Lang switcher */
.wpml-ls a, .pll-parent-menu-item a {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--heeka-gray-text) !important;
  border: 1px solid var(--heeka-gray-mid) !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
}

/* =============================================
   FOOTER
============================================= */
.site-footer, #colophon {
  background: var(--heeka-black) !important;
  color: var(--heeka-white) !important;
  padding: 64px 0 32px !important;
}

.site-footer .widget-title,
.site-footer h3 {
  color: var(--heeka-white) !important;
  font-family: var(--font-display);
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}

.site-footer a {
  color: rgba(255,255,255,0.65) !important;
  font-size: 14px;
  line-height: 2;
}
.site-footer a:hover { color: var(--heeka-violet-light) !important; }

.site-footer p {
  color: rgba(255,255,255,0.5);
  font-size: 13px;
}

.footer-bar, .ast-footer-copyright {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding-top: 24px !important;
  margin-top: 48px !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
}

/* Violet accent in footer */
.footer-logo-violet {
  color: var(--heeka-violet);
}

/* =============================================
   BOUTONS GLOBAUX
============================================= */
.heeka-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  padding: 14px 28px;
  border-radius: 10px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  letter-spacing: 0.01em;
}

.heeka-btn-primary {
  background: var(--heeka-violet);
  color: var(--heeka-white);
  border-color: var(--heeka-violet);
}
.heeka-btn-primary:hover {
  background: var(--heeka-violet-dark);
  border-color: var(--heeka-violet-dark);
  color: var(--heeka-white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.heeka-btn-outline {
  background: transparent;
  color: var(--heeka-black);
  border-color: var(--heeka-black);
}
.heeka-btn-outline:hover {
  background: var(--heeka-black);
  color: var(--heeka-white);
  transform: translateY(-2px);
}

.heeka-btn-white {
  background: var(--heeka-white);
  color: var(--heeka-black);
  border-color: var(--heeka-white);
}
.heeka-btn-white:hover {
  background: var(--heeka-gray-light);
  transform: translateY(-2px);
}

/* =============================================
   LAYOUT HELPERS
============================================= */
.heeka-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

.heeka-section {
  padding: 96px 0;
}

.heeka-section-sm {
  padding: 64px 0;
}

.heeka-label {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--heeka-violet);
  margin-bottom: 16px;
}

.heeka-title {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 20px;
}

.heeka-subtitle {
  font-size: 18px;
  color: var(--heeka-gray-text);
  line-height: 1.7;
  max-width: 600px;
}

/* =============================================
   HERO SECTION (page d'accueil)
============================================= */
.heeka-hero {
  background: var(--heeka-black);
  min-height: 92vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

/* Geometric background decoration */
.heeka-hero::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(176,30,170,0.18) 0%, transparent 70%);
  pointer-events: none;
}

.heeka-hero::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(176,30,170,0.08) 0%, transparent 70%);
  pointer-events: none;
}

.heeka-hero .heeka-container {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  padding-bottom: 80px;
}

.heeka-hero-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 40px;
  align-items: start;
}

.heeka-hero-label {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--heeka-violet);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.heeka-hero-label::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--heeka-violet);
  border-radius: 2px;
}

.heeka-hero h1 {
  font-size: clamp(18px, 1.8vw, 26px);
  font-weight: 700;
  color: var(--heeka-white);
  line-height: 1.2;
  margin-bottom: 12px;
}

.heeka-hero h1 span.accent {
  color: var(--heeka-violet);
}

.heeka-hero-desc {
  font-size: 15px;
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 500px;
}

.heeka-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0;
}

.heeka-hero-stats {
  display: flex;
  gap: 32px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.heeka-stat-number {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 700;
  color: var(--heeka-white);
  display: block;
}
.heeka-stat-number span {
  color: var(--heeka-violet);
}
.heeka-stat-label {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  display: block;
  margin-top: 4px;
}

/* Hero right — floating cards */
.heeka-hero-visual {
  position: relative;
  align-self: start;
}

#heeka-icons-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.heeka-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 12px 8px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.02);
  transition: border-color .2s, background .2s;
}

.heeka-icon-box {
  width: 56px;
  height: 56px;
  padding: 9px;
  border-radius: 11px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: transform .2s;
  flex-shrink: 0;
}

.heeka-hero-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-lg);
  padding: 24px;
  backdrop-filter: blur(10px);
}

.heeka-hero-card-main {
  background: rgba(176,30,170,0.12);
  border-color: rgba(176,30,170,0.3);
}

.heeka-sector-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  margin: 4px;
}

/* =============================================
   SECTEURS CARDS
============================================= */
.heeka-sectors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.heeka-sector-card {
  background: var(--heeka-white);
  border: 1px solid var(--heeka-gray-mid);
  border-radius: var(--radius-lg);
  padding: 36px 28px;
  transition: all var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.heeka-sector-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--sector-color, var(--heeka-violet));
  transform: scaleX(0);
  transition: transform var(--transition);
  transform-origin: left;
}

.heeka-sector-card:hover {
  border-color: var(--sector-color, var(--heeka-violet));
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
  transform: translateY(-4px);
}

.heeka-sector-card:hover::before {
  transform: scaleX(1);
}

.heeka-sector-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 20px;
}

.heeka-sector-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.heeka-sector-card p {
  font-size: 14px;
  color: var(--heeka-gray-text);
  line-height: 1.6;
  margin-bottom: 20px;
}

.heeka-sector-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.heeka-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 50px;
  background: var(--heeka-gray-light);
  color: var(--heeka-gray-text);
}

/* Sector colors */
.sector-infrastructure { --sector-color: #1DB87A; }
.sector-product        { --sector-color: #7B5EA7; }
.sector-data           { --sector-color: #F5B800; }
.sector-cybersecurity  { --sector-color: #F26A1B; }
.sector-software       { --sector-color: #0EB8A0; }
.sector-hardware       { --sector-color: #7B82C9; }

/* =============================================
   OFFRES D'EMPLOI
============================================= */
.heeka-jobs-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.heeka-filter-btn {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 50px;
  border: 1.5px solid var(--heeka-gray-mid);
  background: transparent;
  color: var(--heeka-gray-text);
  cursor: pointer;
  transition: all var(--transition);
}

.heeka-filter-btn:hover,
.heeka-filter-btn.active {
  background: var(--heeka-black);
  color: var(--heeka-white);
  border-color: var(--heeka-black);
}

.heeka-filter-btn.active-violet {
  background: var(--heeka-violet);
  color: var(--heeka-white);
  border-color: var(--heeka-violet);
}

.heeka-job-card {
  background: var(--heeka-white);
  border: 1px solid var(--heeka-gray-mid);
  border-radius: var(--radius-lg);
  padding: 28px 32px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  transition: all var(--transition);
  cursor: pointer;
}

.heeka-job-card:hover {
  border-color: var(--heeka-violet);
  box-shadow: var(--shadow-hover);
  transform: translateX(4px);
}

.heeka-job-sector-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--sector-color, var(--heeka-violet));
  flex-shrink: 0;
}

.heeka-job-title {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--heeka-black);
  margin-bottom: 6px;
}

.heeka-job-meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
}

.heeka-job-meta-item {
  font-size: 13px;
  color: var(--heeka-gray-text);
  display: flex;
  align-items: center;
  gap: 5px;
}

.heeka-job-badge {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 50px;
  background: rgba(176,30,170,0.08);
  color: var(--heeka-violet);
  border: 1px solid rgba(176,30,170,0.2);
}

/* =============================================
   PAGE CONTACT
============================================= */
.heeka-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}

.heeka-contact-info h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  margin-bottom: 20px;
}

.heeka-contact-info p {
  font-size: 16px;
  color: var(--heeka-gray-text);
  line-height: 1.7;
  margin-bottom: 40px;
}

.heeka-contact-detail {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.heeka-contact-icon {
  width: 44px;
  height: 44px;
  background: var(--heeka-gray-light);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.heeka-contact-text strong {
  display: block;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 2px;
}

.heeka-contact-text span {
  font-size: 15px;
  color: var(--heeka-gray-text);
}

/* Form */
.heeka-form {
  background: var(--heeka-gray-light);
  border-radius: var(--radius-lg);
  padding: 48px;
}

.heeka-form .form-group {
  margin-bottom: 20px;
}

.heeka-form label {
  display: block;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--heeka-black);
  margin-bottom: 8px;
}

.heeka-form input,
.heeka-form select,
.heeka-form textarea,
.wpcf7-form input,
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: 14px 18px;
  border: 1.5px solid var(--heeka-gray-mid);
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 15px;
  background: var(--heeka-white);
  color: var(--heeka-black);
  transition: border-color var(--transition);
  outline: none;
  appearance: none;
}

.heeka-form input:focus,
.heeka-form select:focus,
.heeka-form textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: var(--heeka-violet);
  box-shadow: 0 0 0 3px rgba(176,30,170,0.08);
}

.heeka-form textarea,
.wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
}

.wpcf7-submit,
.heeka-form button[type="submit"] {
  background: var(--heeka-violet) !important;
  color: var(--heeka-white) !important;
  font-family: var(--font-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all var(--transition) !important;
  width: 100%;
}

.wpcf7-submit:hover,
.heeka-form button[type="submit"]:hover {
  background: var(--heeka-violet-dark) !important;
  transform: translateY(-2px) !important;
}

/* =============================================
   SECTION "POURQUOI HEEKA"
============================================= */
.heeka-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 56px;
}

.heeka-why-item {
  text-align: center;
  padding: 40px 24px;
}

.heeka-why-number {
  font-family: var(--font-display);
  font-size: 56px;
  font-weight: 700;
  color: var(--heeka-gray-mid);
  line-height: 1;
  margin-bottom: 16px;
}

.heeka-why-item h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

.heeka-why-item p {
  font-size: 15px;
  color: var(--heeka-gray-text);
  line-height: 1.65;
}

/* =============================================
   DARK SECTION
============================================= */
.heeka-dark-section {
  background: var(--heeka-black);
  color: var(--heeka-white);
}

.heeka-dark-section .heeka-title {
  color: var(--heeka-white);
}

.heeka-dark-section .heeka-subtitle {
  color: rgba(255,255,255,0.6);
}

/* =============================================
   LANGUAGES & CLOUDS SECTION
============================================= */
.heeka-tech-scroll {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.heeka-tech-badge {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.85);
  transition: all var(--transition);
}

.heeka-tech-badge:hover {
  background: var(--heeka-violet);
  border-color: var(--heeka-violet);
  color: var(--heeka-white);
}

/* =============================================
   MOBILE RESPONSIVE
============================================= */
@media (max-width: 1024px) {
  .heeka-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .heeka-hero-visual { display: none; }
  .heeka-sectors-grid { grid-template-columns: repeat(2, 1fr); }
  .heeka-why-grid { grid-template-columns: repeat(2, 1fr); }
  .heeka-contact-grid { grid-template-columns: 1fr; gap: 48px; }
}

@media (max-width: 768px) {
  .heeka-container { padding: 0 20px; }
  .heeka-section { padding: 64px 0; }
  .heeka-sectors-grid { grid-template-columns: 1fr; }
  .heeka-why-grid { grid-template-columns: 1fr; }
  .heeka-form { padding: 28px 20px; }
  .heeka-hero-stats { flex-direction: column; gap: 24px; }
  .heeka-job-card { flex-direction: column; align-items: flex-start; }
  .heeka-hero h1 { font-size: 36px; }
}

/* =============================================
   ANIMATIONS
============================================= */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.animate-fadein-up {
  animation: fadeInUp 0.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.animate-delay-1 { animation-delay: 0.1s; opacity: 0; }
.animate-delay-2 { animation-delay: 0.25s; opacity: 0; }
.animate-delay-3 { animation-delay: 0.4s; opacity: 0; }
.animate-delay-4 { animation-delay: 0.55s; opacity: 0; }

/* =============================================
   BREADCRUMB
============================================= */
.ast-breadcrumbs-wrapper {
  background: var(--heeka-gray-light);
  padding: 12px 0;
}

.ast-breadcrumbs a { color: var(--heeka-violet); }

/* ═══════════════════════════════════════
   PAGE OFFRES D'EMPLOI
═══════════════════════════════════════ */

/* Barre de recherche hero */
.heeka-search-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,0.08);
  border: 1.5px solid rgba(255,255,255,0.15);
  border-radius: 14px;
  padding: 14px 20px;
  max-width: 580px;
  transition: all 0.3s;
}
.heeka-search-bar:focus-within {
  background: rgba(255,255,255,0.12);
  border-color: var(--heeka-violet);
  box-shadow: 0 0 0 3px rgba(176,30,170,0.15);
}
.heeka-search-bar input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: var(--font-body);
  font-size: 15px;
  color: #fff;
}
.heeka-search-bar input::placeholder { color: rgba(255,255,255,0.4); }
#heeka-search-clear {
  background: none;
  border: none;
  color: rgba(255,255,255,0.4);
  cursor: pointer;
  font-size: 16px;
  padding: 0 4px;
  transition: color 0.2s;
}
#heeka-search-clear:hover { color: #fff; }

/* Filtres */
.heeka-filters-bar {
  background: var(--heeka-gray-light);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.heeka-filters-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.heeka-filters-label {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--heeka-gray-text);
  min-width: 80px;
  flex-shrink: 0;
}
.heeka-filters-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.heeka-pill {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 50px;
  border: 1.5px solid var(--heeka-gray-mid);
  background: #fff;
  color: var(--heeka-gray-text);
  cursor: pointer;
  transition: all 0.2s;
}
.heeka-pill:hover {
  border-color: var(--pill-color, var(--heeka-violet));
  color: var(--pill-color, var(--heeka-violet));
}
.heeka-pill.active {
  background: var(--pill-color, var(--heeka-black));
  border-color: var(--pill-color, var(--heeka-black));
  color: #fff;
}

/* Cards offres */
.heeka-offre-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: #fff;
  border: 1.5px solid var(--heeka-gray-mid);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  margin-bottom: 12px;
  transition: all 0.25s;
}
.heeka-offre-card:hover {
  border-color: var(--heeka-violet);
  box-shadow: 0 8px 32px rgba(176,30,170,0.1);
  transform: translateY(-2px);
}
.heeka-offre-card-left { flex: 1; min-width: 0; }
.heeka-offre-card-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.heeka-offre-secteur {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sec-color, var(--heeka-violet));
  margin-bottom: 8px;
}
.heeka-offre-secteur-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sec-color, var(--heeka-violet));
  flex-shrink: 0;
}
.heeka-offre-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.2;
}
.heeka-offre-title a {
  color: var(--heeka-black);
  text-decoration: none;
  transition: color 0.2s;
}
.heeka-offre-title a:hover { color: var(--heeka-violet); }
.heeka-offre-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 10px;
}
.heeka-offre-meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--heeka-gray-text);
}
.heeka-offre-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.heeka-offre-sal {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--heeka-black);
  white-space: nowrap;
}
.heeka-offres-empty {
  text-align: center;
  padding: 80px 40px;
  background: var(--heeka-gray-light);
  border-radius: var(--radius-lg);
}
.heeka-offres-empty h3 {
  font-size: 22px;
  margin-bottom: 12px;
}
.heeka-offres-empty p {
  color: var(--heeka-gray-text);
  max-width: 400px;
  margin: 0 auto;
}

/* ═══════════════════════════════════════
   FICHE OFFRE DÉTAILLÉE
═══════════════════════════════════════ */
.heeka-fiche-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.heeka-fiche-bloc {
  background: #fff;
  border: 1.5px solid var(--heeka-gray-mid);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.heeka-fiche-bloc-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  background: var(--heeka-gray-light);
  border-bottom: 1.5px solid var(--heeka-gray-mid);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--bloc-color, var(--heeka-black));
  letter-spacing: 0.02em;
}
.heeka-fiche-bloc-header svg { color: var(--bloc-color, var(--heeka-black)); flex-shrink: 0; }
.heeka-fiche-bloc-body { padding: 20px; }
.heeka-fiche-bloc-body p {
  font-size: 14px;
  color: var(--heeka-gray-text);
  line-height: 1.65;
  margin-bottom: 8px;
}
.heeka-fiche-bloc-body p strong { color: var(--heeka-black); font-weight: 600; }
.heeka-fiche-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.heeka-fiche-list li {
  font-size: 14px;
  color: var(--heeka-gray-text);
  padding: 5px 0;
  padding-left: 16px;
  position: relative;
  line-height: 1.5;
}
.heeka-fiche-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--heeka-violet);
}

/* Responsive offres */
@media (max-width: 900px) {
  .heeka-offre-card { flex-direction: column; align-items: flex-start; }
  .heeka-offre-card-right { width: 100%; justify-content: flex-start; }
  .heeka-fiche-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .heeka-filters-group { flex-direction: column; align-items: flex-start; }
  .heeka-filters-label { min-width: auto; }
}

/* ─── Header sticky ─── */
#masthead,
.ast-header-wrap,
.site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* ─── Ambient glow — pages sombres (position unique par page via CSS vars PHP) ─── */
.hk-offres-page {
  background-color: #0a0a0a;
  background-image:
    radial-gradient(ellipse var(--hk-glow-w, 800px) var(--hk-glow-h, 420px) at var(--hk-glow-x, 50%) var(--hk-glow-y, -60px),
      rgba(176,30,170,var(--hk-glow-op, .11)) 0%, transparent 65%),
    radial-gradient(ellipse var(--hk-glow2-w, 450px) var(--hk-glow2-w, 450px) at var(--hk-glow2-x, 80%) var(--hk-glow2-y, 55%),
      rgba(176,30,170,var(--hk-glow2-op, .05)) 0%, transparent 65%);
  background-attachment: fixed;
  background-repeat: no-repeat;
}

.hks-wrap {
  background-color: #0a0a0a;
  background-image:
    radial-gradient(ellipse var(--hk-glow-w, 800px) var(--hk-glow-h, 420px) at var(--hk-glow-x, 50%) var(--hk-glow-y, -60px),
      rgba(176,30,170,var(--hk-glow-op, .11)) 0%, transparent 65%),
    radial-gradient(ellipse var(--hk-glow2-w, 450px) var(--hk-glow2-w, 450px) at var(--hk-glow2-x, 80%) var(--hk-glow2-y, 55%),
      rgba(176,30,170,var(--hk-glow2-op, .05)) 0%, transparent 65%);
  background-attachment: fixed;
  background-repeat: no-repeat;
}


/* ===== Contact page - Option A redesign ===== */

/* À qui s'adresse & contact direct - demo page */
.hk-contact-grid > div:last-child > div:last-child > div{background:#fff!important;border:0.5px solid #e0e0e0!important;border-left:3px solid #B01EAA!important;border-radius:0 12px 12px 0!important;padding:14px 16px!important;margin-bottom:8px!important;}
.hk-contact-grid > div:last-child > div:last-child > div > div:first-child{font-size:14px!important;font-weight:600!important;color:#B01EAA!important;margin-bottom:5px!important;}
.hk-contact-grid > div:last-child > div:last-child > div > div:last-child{font-size:13px!important;color:#666!important;line-height:1.5!important;}


/* ================================================================
   PAGE ACCUEIL - Thème blanc global
   Hero (1ère section) reste sombre.
   Cartes sombres conservées: #hkL, .hk-terminal, cartes offres
   ================================================================ */

/* ================================================================
   PAGE ACCUEIL — Thème clair complet
   Hero blanc + logo, sections blanches, séparateurs gradient,
   cartes offres redesignées, cartes sombres conservées.
   ================================================================ */

/* Corps blanc — évite bandes transparentes entre sections */
body.page-template-page-accueil {
  background:#fff!important;
}

/* 1. HERO — fond blanc */
body.page-template-page-accueil section.hk-pad:first-of-type {
  background:#fff!important;
}

/* Logo à la place du titre HEEKA */
body.page-template-page-accueil h1.hk-hero-title {
  font-size:0!important;
  display:block!important;
  width:320px!important;
  height:109px!important;
  background:url('https://heeka.fr/wp-content/uploads/2026/06/Heeka-Black.png') center/contain no-repeat!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
  -webkit-text-fill-color:initial!important;
  color:transparent!important;
  margin:0 auto 36px!important;
}

/* Pill badge hero */
body.page-template-page-accueil section.hk-pad:first-of-type .hk-fade > div:first-child {
  color:#B01EAA!important;
  border-color:rgba(176,30,170,0.35)!important;
  background:rgba(176,30,170,0.07)!important;
}
body.page-template-page-accueil section.hk-pad:first-of-type .hk-fade > div:first-child * {
  color:#B01EAA!important;
}

/* Description hero */
body.page-template-page-accueil section.hk-pad:first-of-type p {
  color:#444!important;
}

/* 2. SECTIONS — fond blanc + séparateur gradient */
.page-template-page-accueil section.hk-pad:not(:first-of-type) {
  background:#fff!important;
  border-top:1px solid!important;
  border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important;
}

/* 3. Section terminal (d3) — texte droit sombre */
.page-template-page-accueil section.d3 .hk-grid-2>div:last-child h1,
.page-template-page-accueil section.d3 .hk-grid-2>div:last-child h2,
.page-template-page-accueil section.d3 .hk-grid-2>div:last-child h3,
.page-template-page-accueil section.d3 .hk-grid-2>div:last-child p:not(:first-child) {
  color:#0f0f0f!important;
}
.page-template-page-accueil section.d3 .hk-grid-2>div:last-child p:first-child {
  color:#B01EAA!important;
}

/* 4. Section offres — titres sombres, lien mauve */
.page-template-page-accueil section.hk-pad:has(#hk-offres-grid) h1,
.page-template-page-accueil section.hk-pad:has(#hk-offres-grid) h2,
.page-template-page-accueil section.hk-pad:has(#hk-offres-grid) h3 {
  color:#0f0f0f!important;
}
.page-template-page-accueil section.hk-pad:has(#hk-offres-grid)>div>a {
  color:#B01EAA!important;
  font-weight:600;
}

/* 5. CARTES OFFRES — design clair bordure mauve */
.page-template-page-accueil #hk-offres-grid > div {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.1)!important;
  border-left:4px solid #B01EAA!important;
  border-radius:12px!important;
  box-shadow:0 4px 24px rgba(176,30,170,0.13), 0 1px 4px rgba(0,0,0,0.06)!important;
}
/* sector color: let JS inline styles show through */
.page-template-page-accueil #hk-offres-grid > div > *:nth-child(2) > span:last-child {
  color:#666!important;
}
.page-template-page-accueil #hk-offres-grid > div > *:nth-child(3) {
  color:#0f0f0f!important;
}
.page-template-page-accueil #hk-offres-grid > div > *:nth-child(4) {
  color:#666!important;
}
.page-template-page-accueil #hk-offres-grid > div > *:nth-child(5) > span {
  background:#f2f2f4!important;
  color:#555!important;
  border:1px solid rgba(0,0,0,0.1)!important;
}
.page-template-page-accueil #hk-offres-grid > div > *:last-child > *:first-child {
  color:#0f0f0f!important;
}
.page-template-page-accueil #hk-offres-grid > div > *:last-child > *:last-child {
  background:#B01EAA!important;
  color:#fff!important;
}

/* 6. Section CTA */
.page-template-page-accueil section.hk-pad:last-of-type h1,
.page-template-page-accueil section.hk-pad:last-of-type h2,
.page-template-page-accueil section.hk-pad:last-of-type h3,
.page-template-page-accueil section.hk-pad:last-of-type p:not([style*="B01EAA"]):not([style*="#B01"]) {
  color:#0f0f0f!important;
}
.page-template-page-accueil section.hk-pad:last-of-type [style*="B01EAA"] {
  color:#B01EAA!important;
}
.page-template-page-accueil section.hk-pad:last-of-type a[style*="background"]:not([href*="linkedin"]):not([href*="mailto"]) {
  background:#B01EAA!important;
  color:#fff!important;
  border:none!important;
}

/* ================================================================
   PAGE OFFRES D'EMPLOI — Thème clair
   ================================================================ */

/* Fond blanc hero + filtres + zone principale */
.page-template-page-offres .hk-hero {
  background:#fff!important;
}
.page-template-page-offres .hk-filters {
  background:#f5f5f7!important;
  border-top:1px solid!important;
  border-bottom:1px solid rgba(0,0,0,0.08)!important;
  border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important;
}
.page-template-page-offres .hk-main {
  background:#fff!important;
}

/* Hero — textes */
.page-template-page-offres .hk-hero h1 {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
  background:none!important;
}
.page-template-page-offres .hk-hero p {
  color:#555!important;
}

/* Barre de recherche */
.page-template-page-offres .hk-search-wrap {
  background:#f5f5f7!important;
  border:1px solid rgba(0,0,0,0.1)!important;
}
.page-template-page-offres .hk-search-wrap input {
  background:transparent!important;
  color:#0f0f0f!important;
}
.page-template-page-offres .hk-search-wrap input::placeholder {
  color:#999!important;
}

/* Filtres secteurs — pills */
.page-template-page-offres .hk-filters * {
  color:#444!important;
}

/* Compteur */
.page-template-page-offres .hk-count-bar,
.page-template-page-offres .hk-count-bar * {
  color:#555!important;
}

/* CARTES — même design que page accueil */
.page-template-page-offres .hk-card {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.1)!important;
  border-left:4px solid #B01EAA!important;
  border-radius:12px!important;
  box-shadow:0 4px 24px rgba(176,30,170,0.13),0 1px 4px rgba(0,0,0,0.06)!important;
}

/* Salaire */
.page-template-page-offres .hk-salary {
  color:#666!important;
}

/* Titre poste */
.page-template-page-offres .hk-card-title {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
}

/* Localisation / meta */
.page-template-page-offres .hk-card-meta,
.page-template-page-offres .hk-card-meta * {
  color:#666!important;
}

/* Tags tech — gris neutre */
.page-template-page-offres .hk-tag-tech {
  background:#f2f2f4!important;
  color:#555!important;
  border:1px solid rgba(0,0,0,0.1)!important;
}

/* Voir l'offre */
.page-template-page-offres .hk-btn-voir {
  color:#0f0f0f!important;
}

/* Candidature spontanée */
.page-template-page-offres .hk-spontane {
  background:rgba(176,30,170,0.05)!important;
  border:1px solid rgba(176,30,170,0.2)!important;
  border-radius:16px!important;
  text-align:center!important;
}
.page-template-page-offres .hk-spontane h2,
.page-template-page-offres .hk-spontane h3 {
  color:#0f0f0f!important;
  font-size:1.4rem!important;
}
.page-template-page-offres .hk-spontane p {
  color:#555!important;
}
.page-template-page-offres .hk-spontane .heeka-btn,
.page-template-page-offres .hk-spontane button {
  background:#B01EAA!important;
  color:#fff!important;
  border:none!important;
  border-radius:999px!important;
  padding:14px 32px!important;
  font-weight:600!important;
  cursor:pointer!important;
  margin-top:8px!important;
}
.page-template-page-offres .hk-spontane .heeka-btn:hover,
.page-template-page-offres .hk-spontane button:hover {
  background:#95189f!important;
}

/* ================================================================
   PAGE ENTREPRISES — Thème clair
   ================================================================ */

body.page-template-page-entreprises {
  background:#fff!important;
}
.page-template-page-entreprises section {
  background:#fff!important;
}

/* Textes hero */
.page-template-page-entreprises section h1,
.page-template-page-entreprises section h2,
.page-template-page-entreprises section h3 {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
}
.page-template-page-entreprises section h1 span[style*="B01EAA"],
.page-template-page-entreprises section h2 span[style*="B01EAA"],
.page-template-page-entreprises section h1 .hk-accent,
.page-template-page-entreprises section h2 .hk-accent {
  color:#B01EAA!important;
  -webkit-text-fill-color:#B01EAA!important;
}
.page-template-page-entreprises section p {
  color:#555!important;
}

/* Label pill hero */
.page-template-page-entreprises .hk-hero-label,
.page-template-page-entreprises section > div > div:first-child > span:first-child {
  color:#B01EAA!important;
}

/* Stat cards (hk-g4) */
.page-template-page-entreprises .hk-g4 > * {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.12)!important;
  border-radius:12px!important;
  box-shadow:0 2px 12px rgba(176,30,170,0.08)!important;
}
.page-template-page-entreprises .hk-g4 > * * {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
}

/* Exp cards (étapes / stack) */
.page-template-page-entreprises .hk-exp-card {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.1)!important;
  border-left:4px solid #B01EAA!important;
  border-radius:12px!important;
  box-shadow:0 4px 24px rgba(176,30,170,0.10),0 1px 4px rgba(0,0,0,0.05)!important;
}
.page-template-page-entreprises .hk-exp-card * {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
}
.page-template-page-entreprises .hk-exp-card p {
  color:#555!important;
}

/* CTA hero button */
.page-template-page-entreprises section a[href],
.page-template-page-entreprises section button {
  border-color:rgba(176,30,170,0.4)!important;
  color:#0f0f0f!important;
}

/* Section séparateur */
.page-template-page-entreprises section:not(:first-of-type) {
  border-top:1px solid!important;
  border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important;
}

/* ================================================================
   PAGE CONTACT — Thème clair
   ================================================================ */

body.page-template-page-contact {
  background:#fff!important;
}
.page-template-page-contact section {
  background:#fff!important;
}
.page-template-page-contact h1,
.page-template-page-contact h2,
.page-template-page-contact h3 {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
}
.page-template-page-contact h1 span,
.page-template-page-contact h2 span {
  color:#B01EAA!important;
  -webkit-text-fill-color:#B01EAA!important;
}
.page-template-page-contact p {
  color:#555!important;
}
.page-template-page-contact .hk-label {
  color:#333!important;
}
/* Form card */
.page-template-page-contact .hk-g2 > *:first-child {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.1)!important;
  border-radius:16px!important;
}
/* Contact direct card */
.page-template-page-contact .hk-g2 > *:last-child {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.1)!important;
  border-radius:16px!important;
}
.page-template-page-contact .hk-g2 > * * {
  color:#0f0f0f!important;
}
.page-template-page-contact .hk-g2 > * p,
.page-template-page-contact .hk-g2 > * span:not([style]) {
  color:#555!important;
}
/* Label "CONTACT DIRECT" */
.page-template-page-contact [style*="B01EAA"],
.page-template-page-contact [class*="label"] {
  color:#B01EAA!important;
}
/* Hero label pill */
.page-template-page-contact section:first-of-type > div > *:first-child {
  color:#B01EAA!important;
}
/* Separator */
.page-template-page-contact section:not(:first-of-type) {
  border-top:1px solid!important;
  border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important;
}

/* ================================================================
   PAGE ÉQUIPE — Thème clair
   ================================================================ */

body.page-template-page-equipe {
  background:#fff!important;
}
.page-template-page-equipe section {
  background:#fff!important;
}
.page-template-page-equipe h1,
.page-template-page-equipe h2,
.page-template-page-equipe h3,
.page-template-page-equipe h4 {
  color:#0f0f0f!important;
  -webkit-text-fill-color:#0f0f0f!important;
}
.page-template-page-equipe h1 span,
.page-template-page-equipe h2 span {
  color:#B01EAA!important;
  -webkit-text-fill-color:#B01EAA!important;
}
.page-template-page-equipe p,
.page-template-page-equipe li {
  color:#555!important;
}

/* Secteurs box */
.page-template-page-equipe .hke-about-sectors {
  background:rgba(176,30,170,0.06)!important;
  border:1px solid rgba(176,30,170,0.15)!important;
  border-radius:12px!important;
}
.page-template-page-equipe .hke-about-sectors * {
  color:#0f0f0f!important;
}

/* Value cards */
.page-template-page-equipe .hke-val-card {
  background:#f9f8fc!important;
  border:1px solid rgba(176,30,170,0.1)!important;
  border-radius:12px!important;
  box-shadow:0 2px 12px rgba(176,30,170,0.08)!important;
}
.page-template-page-equipe .hke-val-card * {
  color:#0f0f0f!important;
}
.page-template-page-equipe .hke-val-card p {
  color:#555!important;
}
.page-template-page-equipe .hke-val-icon {
  background:rgba(176,30,170,0.1)!important;
}

/* Stats */
.page-template-page-equipe .hke-stats * {
  color:#0f0f0f!important;
}
.page-template-page-equipe .hke-stats [style*="B01EAA"],
.page-template-page-equipe .hke-stats [style*="#B01"] {
  color:#B01EAA!important;
}

/* Separators */
.page-template-page-equipe section:not(:first-of-type) {
  border-top:1px solid!important;
  border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important;
}



/* Offres — section "Vous ne trouvez pas l'offre idéale" */
body.page-template-page-offres > section[style*="0A0A0A"] {
  background:#fff!important;
  border-top:1px solid!important;
  border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important;
}
body.page-template-page-offres > section[style*="0A0A0A"] h1,
body.page-template-page-offres > section[style*="0A0A0A"] h2,
body.page-template-page-offres > section[style*="0A0A0A"] h3 {
  color:#0f0f0f!important;
}
body.page-template-page-offres > section[style*="0A0A0A"] p {
  color:#555!important;
}
body.page-template-page-offres > section[style*="0A0A0A"] a {
  background:#B01EAA!important;
  color:#fff!important;
  border-radius:999px!important;
}

/* ================================================================
   HEADER STICKY — toutes les pages
   ================================================================ */

#masthead {
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:#fff!important;
  box-shadow:0 1px 0 rgba(176,30,170,0.12)!important;
  transition:box-shadow 0.2s ease!important;
}

/* Décalage admin bar WP */
.admin-bar #masthead {
  top:32px!important;
}

/* Compenser la hauteur du header fixe sous chaque page */
body:not(.page-template-page-accueil) .site-content {
  padding-top:83px!important;
}
body.page-template-page-accueil .site-content,
body.page-template-page-offres .site-content,
body.page-template-page-contact .site-content,
body.page-template-page-entreprises .site-content,
body.page-template-page-equipe .site-content {
  padding-top:0!important;
}

/* PAGES OFFRES D'EMPLOI INDIVIDUELLES — Thème clair */
body.single-offre_emploi { background:#fff!important; }
body.single-offre_emploi .hks-wrap { background:#fff!important; }
body.single-offre_emploi .hks-hero { background:#f9f8fc!important; border-bottom:1px solid!important; border-image:linear-gradient(90deg,transparent 0%,rgba(176,30,170,0.5) 25%,#B01EAA 50%,rgba(176,30,170,0.5) 75%,transparent 100%) 1!important; }
body.single-offre_emploi .hks-back { color:#555!important; }
body.single-offre_emploi .hks-back:hover { color:#B01EAA!important; }
body.single-offre_emploi .hks-title { color:#0f0f0f!important; -webkit-text-fill-color:#0f0f0f!important; }
body.single-offre_emploi .hks-pill { background:#f2f2f4!important; color:#555!important; border:1px solid rgba(0,0,0,0.1)!important; }
body.single-offre_emploi .hks-pill-accent { background:rgba(176,30,170,0.1)!important; color:#B01EAA!important; border:1px solid rgba(176,30,170,0.3)!important; }
body.single-offre_emploi .hks-badge { border-radius:6px!important; }
body.single-offre_emploi .hks-card { background:#f9f8fc!important; border:1px solid rgba(176,30,170,0.1)!important; border-left:4px solid #B01EAA!important; border-radius:12px!important; box-shadow:0 4px 24px rgba(176,30,170,0.08),0 1px 4px rgba(0,0,0,0.05)!important; }
body.single-offre_emploi .hks-card-header { color:#B01EAA!important; }
body.single-offre_emploi .hks-card-body { color:#333!important; }
body.single-offre_emploi .hks-card-body * { color:#333!important; }
body.single-offre_emploi .hks-read-more { color:#B01EAA!important; background:none!important; }
body.single-offre_emploi .hks-sidebar-cta { background:#f9f8fc!important; border:1px solid rgba(176,30,170,0.12)!important; border-radius:16px!important; box-shadow:0 4px 20px rgba(176,30,170,0.08)!important; }
body.single-offre_emploi .hks-rec-header { color:#0f0f0f!important; }
body.single-offre_emploi .hks-rec-header * { color:#0f0f0f!important; }
body.single-offre_emploi .hks-infos-label { color:#666!important; }
body.single-offre_emploi .hks-info-row { border-color:rgba(0,0,0,0.07)!important; }
body.single-offre_emploi .hks-info-key { color:#666!important; }
body.single-offre_emploi .hks-info-val { color:#0f0f0f!important; }
body.single-offre_emploi .hks-section-divider { border-color:rgba(176,30,170,0.15)!important; }
body.single-offre_emploi .hks-divider-label { color:#B01EAA!important; background:#fff!important; }
body.single-offre_emploi .hks-similar { background:#f9f8fc!important; }
body.single-offre_emploi .hks-sim-card { background:#fff!important; border:1px solid rgba(176,30,170,0.1)!important; border-radius:12px!important; }
body.single-offre_emploi .hks-sim-card:hover { border-color:rgba(176,30,170,0.3)!important; box-shadow:0 4px 16px rgba(176,30,170,0.1)!important; }
body.single-offre_emploi .hks-sim-name { color:#0f0f0f!important; }
body.single-offre_emploi .hks-sim-excerpt { color:#555!important; }
body.single-offre_emploi .hks-sim-salary { color:#666!important; }
body.single-offre_emploi .hks-sim-meta { color:#666!important; }
body.single-offre_emploi .hks-sim-cta { color:#B01EAA!important; }
body.single-offre_emploi h1,body.single-offre_emploi h2,body.single-offre_emploi h3,body.single-offre_emploi h4 { color:#0f0f0f!important; -webkit-text-fill-color:#0f0f0f!important; }
body.single-offre_emploi p { color:#333!important; }
body.single-offre_emploi li { color:#333!important; }