/* ========================================
   CLEVA CAREERS - VARIABLES DE COULEURS
   Charte graphique Cleva Solutions
   ======================================== */

/* Import Poppins font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    /* COULEURS CLEVA */
    --cleva-primary: #008577;
    --cleva-primary-hover: #006d62;
    --cleva-primary-light: #e0f4f2;
    --cleva-title: #232d4b;
    --cleva-text: #333333;
    --cleva-text-dark: #232d4b;
    --cleva-text-medium: #333333;
    --cleva-text-light: #666666;
    --cleva-text-lighter: #999999;
    --cleva-bg-white: #ffffff;
    --cleva-bg-light: #f9f9f9;
    --cleva-bg-gray: #eeeeee;
    --cleva-border-light: #e8e8e8;
    --cleva-border-medium: #dddddd;
    --cleva-border-dark: #cccccc;
    --cleva-badge-category-bg: #e0f4f2;
    --cleva-badge-category-text: #008577;
    --cleva-badge-type-bg: #e8eaf6;
    --cleva-badge-type-text: #232d4b;
    --cleva-badge-location-bg: #fff3e0;
    --cleva-badge-location-text: #e65100;
    --cleva-badge-remote-bg: #e8f5e9;
    --cleva-badge-remote-text: #2e7d32;
    --cleva-success-bg: #d4edda;
    --cleva-success-border: #c3e6cb;
    --cleva-success-text: #155724;
    --cleva-error-bg: #f8d7da;
    --cleva-error-border: #f5c6cb;
    --cleva-error-text: #721c24;
    --cleva-shadow-light: 0 2px 8px rgba(0,0,0,0.08);
    --cleva-shadow-medium: 0 4px 12px rgba(0,0,0,0.1);
    --cleva-shadow-heavy: 0 8px 20px rgba(0,0,0,0.12);
    --cleva-transition: all 0.3s ease;
    --cleva-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ========================================
   SCOPE CSS AU PLUGIN UNIQUEMENT
   ======================================== */

/* Police - UNIQUEMENT pour les conteneurs du plugin */
.cleva-careers-wrapper,
.cleva-careers-wrapper *,
.cleva-job-single,
.cleva-job-single *,
.cleva-spontaneous-form-wrapper,
.cleva-spontaneous-form-wrapper *,
.cleva-careers-search-widget,
.cleva-careers-search-widget *,
.cleva-careers-complete-widget,
.cleva-careers-complete-widget * {
    font-family: var(--cleva-font);
}

/* Titres - UNIQUEMENT dans le plugin */
.cleva-careers-wrapper h1,
.cleva-careers-wrapper h2,
.cleva-careers-wrapper h3,
.cleva-job-single h1,
.cleva-job-single h2,
.cleva-job-single h3,
.cleva-spontaneous-form-wrapper h2,
.cleva-careers-title,
.job-title,
.search-widget-title {
    color: var(--cleva-title);
}

/* Texte - UNIQUEMENT dans le plugin */
.cleva-careers-wrapper p,
.cleva-careers-wrapper span,
.cleva-careers-wrapper div,
.cleva-careers-wrapper label,
.cleva-job-single p,
.cleva-job-single span,
.cleva-job-single label,
.cleva-spontaneous-form-wrapper p,
.cleva-spontaneous-form-wrapper span,
.cleva-spontaneous-form-wrapper label,
.job-description,
.job-meta {
    color: var(--cleva-text);
}

/* Boutons principaux */
.job-apply-btn,
.btn-submit,
.btn-spontaneous {
    background: var(--cleva-primary);
    color: #ffffff;
}

.job-apply-btn:hover,
.btn-submit:hover,
.btn-spontaneous:hover {
    background: var(--cleva-primary-hover);
    color: #ffffff;
}

/* Cartes d'offres */
.job-card {
    border-color: var(--cleva-border-light);
}

.job-card:hover {
    border-color: var(--cleva-primary);
    box-shadow: var(--cleva-shadow-heavy);
}

.job-title a {
    color: var(--cleva-title);
}

.job-title a:hover {
    color: var(--cleva-primary);
}

.job-category {
    color: var(--cleva-primary);
}

/* Inputs et focus */
.search-input,
.filter-dropdown,
.cleva-careers-wrapper .form-control,
.cleva-job-single .form-control,
.cleva-spontaneous-form-wrapper .form-control {
    border-color: var(--cleva-border-medium);
    color: var(--cleva-text);
}

.search-input:focus,
.filter-dropdown:focus,
.cleva-careers-wrapper .form-control:focus,
.cleva-job-single .form-control:focus,
.cleva-spontaneous-form-wrapper .form-control:focus {
    border-color: var(--cleva-primary);
    box-shadow: 0 0 0 3px rgba(0, 133, 119, 0.1);
}

/* Placeholders */
.search-input::placeholder,
.filter-dropdown::placeholder,
.cleva-careers-wrapper .form-control::placeholder,
.cleva-job-single .form-control::placeholder,
.cleva-spontaneous-form-wrapper .form-control::placeholder {
    color: var(--cleva-text-lighter);
}

/* Badges */
.badge-category {
    background: var(--cleva-badge-category-bg);
    color: var(--cleva-badge-category-text);
}

.badge-type {
    background: var(--cleva-badge-type-bg);
    color: var(--cleva-badge-type-text);
}

.badge-location {
    background: var(--cleva-badge-location-bg);
    color: var(--cleva-badge-location-text);
}

.badge-remote {
    background: var(--cleva-badge-remote-bg);
    color: var(--cleva-badge-remote-text);
}

/* Spinner */
.spinner {
    border-color: #f3f3f3;
    border-top-color: var(--cleva-primary);
}

/* Section spontanée */
.spontaneous-section {
    background: linear-gradient(135deg, var(--cleva-primary) 0%, var(--cleva-title) 100%);
}

/* Formulaire de candidature */
.application-box {
    border-color: var(--cleva-primary);
    box-shadow: 0 4px 12px rgba(0, 133, 119, 0.1);
}

/* Messages */
.form-message.success {
    background: var(--cleva-success-bg);
    color: var(--cleva-success-text);
    border-color: var(--cleva-success-border);
}

.form-message.error {
    background: var(--cleva-error-bg);
    color: var(--cleva-error-text);
    border-color: var(--cleva-error-border);
}

/* Liste */
.job-list li {
    color: var(--cleva-text);
}

.job-list li:before {
    color: var(--cleva-primary);
}

/* Liens */
.back-link a {
    color: var(--cleva-primary);
}

.back-link a:hover {
    color: var(--cleva-primary-hover);
}

/* Salaire */
.job-salary {
    color: var(--cleva-primary);
}

/* Formulaire wrapper */
.cleva-spontaneous-form-wrapper {
    border: 2px solid var(--cleva-border-light);
}

/* Checkbox labels */
.checkbox-label span {
    color: var(--cleva-text);
}

/* Select dropdowns */
.filter-dropdown {
    background-color: var(--cleva-bg-white);
}

.filter-dropdown:hover {
    border-color: var(--cleva-primary);
}

/* No results */
.no-jobs-found p {
    color: var(--cleva-text-light);
}

/* Section header */
.cleva-careers-header {
    color: var(--cleva-title);
}

.cleva-careers-subtitle {
    color: var(--cleva-text-light);
}

/* Job meta */
.job-type,
.job-location {
    color: var(--cleva-text-light);
}

/* Form labels */
.cleva-careers-wrapper label,
.cleva-job-single label,
.cleva-spontaneous-form-wrapper label {
    color: var(--cleva-text-medium);
    font-weight: 600;
}

/* Form helper text */
.form-text {
    color: var(--cleva-text-lighter);
}

/* Search icon */
.search-icon {
    color: var(--cleva-text-light);
}

/* Filter section */
.cleva-careers-filters {
    background: var(--cleva-bg-white);
    border: 1px solid var(--cleva-border-light);
}
