/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability...
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/* Link styles */
a {
  text-decoration-thickness: 1px !important;
  text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
  outline-width: 2px;
  outline-style: solid;
}

/* Navigation adjustments */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
  margin-bottom: 3px;
}
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
  outline-offset: 4px;
}
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  outline-offset: 0;
}

/* Typography */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
  text-wrap: pretty;
}

/* More link */
.more-link {
  display: block;
}

/* Titre des annonces */
.job-title-wrapper h2 a,
.job-title-wrapper h4 a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  white-space: normal !important;

}

.job-title-wrapper h2,
.job-title-wrapper h4 {
  margin-top: 5px;     /* espace réduit */
}


.job-title-line .job-title a {
  display: block;
  width: 100%;
  line-height: 1.3;
}

/* Localisation côte à côte */
.job-location-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}
.job-location-wrapper > div {
  flex: 0 0 auto;
  width: auto !important;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}

/* Salary + Type + Date alignés à gauche */
.sjb-type-date-row {
  display: flex;
  justify-content: flex-start; /* alignement à gauche */
  align-items: center;
  gap: 35px;                   /* espace horizontal entre les badges */
  flex-wrap: nowrap;
}
.sjb-type-date-row > div {
  margin: 0;
  width: auto;
}

/* Carte annonce */
.list-data .v1 {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  margin-bottom: 5px !important;
  padding: 10px !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.list-data .v1:hover {
  background-color: #f9f9f9;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  cursor: pointer;
}

/* Badge rouge Type */
.sjb-type,
.job-type {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #d32f2f;
  color: #fff;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

/* Badge jaune Date */
.sjb-type-date-row .sjb-date,
.sjb-type-date-row .job-date,
.sjb-type-date-row .sjb-posted-date {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #fbc02d;
  color: #000;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}
.sjb-type-date-row .sjb-date:hover,
.sjb-type-date-row .job-date:hover,
.sjb-type-date-row .sjb-posted-date:hover {
  background-color: #ffeb3b;
}

/* Supprimer logo/icônes */
.job-location i.fa,
.job-title-wrapper img,
.list-data .v1 .logo,
.list-data .v1 .company-logo {
  display: none !important;
}

/* Badge rose Location */
.job-location {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #f8bbd0;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  color: #000 !important;
}
.job-location a,
.job-location a:hover,
.job-location i,
.job-location .fa,
.job-location svg {
  color: #000 !important;
  fill: #000 !important;
  opacity: 1 !important;
}

/* Cacher Quick Apply */
.sjb-quick-apply-btn,
.quick-apply {
  display: none !important;
}

/* Souligner le titre au survol de la carte */
.list-data .v1:hover .job-title-wrapper h2 a,
.list-data .v1:hover .job-title-wrapper h4 a {
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  display: inline; /* le soulignement suit uniquement le texte */
}

/* Supprimer le margin-top du conteneur principal */
main.wp-block-group.has-global-padding.is-layout-constrained {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ajuster le titre de page */
.wp-block-post-title {
  margin-top: 0 !important;
  margin-bottom: 15px !important; /* espace fin sous le titre */
  line-height: 1.2;
}

/* Neutraliser le block gap entre enfants du group */
main.wp-block-group.has-global-padding.is-layout-constrained > * + * {
  margin-block-start: 10px !important; /* réduit l’espace entre le titre et le contenu */
}

}

.job-date {
    background-color: #fff9c4; /* jaune clair */
    border-radius: 8px;       /* arrondis */
    padding: 6px 10px;        /* espace intérieur */
    display: inline-block;    /* pour que le surlignage épouse le contenu */
}


.sjb-filters.sjb-filters-v1 {
    margin-top: 0px;   /* réduit la marge en haut */
}

.sjb-page {
    margin-top: 10px;  /* ajuste selon ton besoin */
}

.entry-content {
    margin-top: 10px;  /* réduit la marge en haut du contenu global */
}

.entry-content.wp-block-post-content {
    margin-top: 10px;   /* réduit la marge en haut */
}

/* 1. Empêche tout débordement horizontal */
body {
    overflow-x: hidden;
}

/* 2. Applique box-sizing universel */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* 3. Corrige les colonnes Bootstrap sur mobile */
.sjb-listing .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}

/* 4. Images et icônes responsives */
.sjb-listing img,
.sjb-listing .sjb-img-responsive {
    max-width: 100%;
    height: auto;
    display: block;
}

/* 5. Supprime les marges latérales inutiles */
.sjb-listing .list-data {
    padding-left: 10px;
    padding-right: 10px;
}

/* 6. Optionnel : réduit les marges internes */
.sjb-type-date-row,
.job-location-wrapper {
    margin-left: 0;
    margin-right: 0;
}

/* Réduction automatique de la taille des titres sur petits écrans */
@media screen and (max-width: 480px) {
  .job-title-wrapper h2 a,
  .job-title-wrapper h4 a {
    font-size: 0.9rem;   /* plus petit */
    line-height: 1.2;
    word-wrap: break-word; /* force retour à la ligne si trop long */
  }

  .job-location,
  .job-type,
  .job-date {
    font-size: 0.8rem;   /* badges plus petits */
    padding: 4px 10px;   /* réduit le padding */
  }

  .list-data .v1 {
    padding: 8px !important; /* réduit marges internes */
  }
}
/* Autoriser le retour à la ligne des badges */
.sjb-type-date-row {
  display: flex;
  flex-wrap: wrap;              /* permet de passer à la ligne */
  gap: 12px;                    /* option : réduit l’écart */
}

/* La colonne qui contient la date doit prendre toute la ligne */
.sjb-type-date-row .col-md-3.col-sm-4.col-xs-12 {
  flex: 0 0 100% !important;    /* occupe 100% de la largeur */
  max-width: 100% !important;
  width: 100% !important;
}

/* Le badge date lui-même en pleine largeur (optionnel) */
.sjb-type-date-row .job-date {
  display: inline-flex;         /* garde le style badge */
  
  margin-top: 0px;
}
/* Masquer complètement le footer */
footer,
.site-footer,
#footer {
  display: none !important;
}

/* Cacher le titre par défaut */
.sjb-job-158 h3 {
    display: none;
}