/* ============================================================================
   SAMKO Recrutement · Design System
   Palette : Navy (#0f2a47) · Blue (#1a5490) · Gold (#c9a961) · Ivory (#f9f6ef)
   ============================================================================ */

:root {
    --samko-navy: #0f2a47;
    --samko-navy-deep: #0a1d33;
    --samko-blue: #1a5490;
    --samko-blue-soft: #4a7cb0;
    --samko-gold: #c9a961;
    --samko-gold-soft: #d9bd80;
    --samko-ivory: #f9f6ef;
    --samko-ink: #1c2638;
    color-scheme: light;
}

/* Couleurs custom (utilisables comme classes Tailwind-like) */
.bg-samko-navy { background-color: var(--samko-navy); }
.bg-samko-navy-deep { background-color: var(--samko-navy-deep); }
.bg-samko-blue { background-color: var(--samko-blue); }
.bg-samko-gold { background-color: var(--samko-gold); }
.bg-samko-ivory { background-color: var(--samko-ivory); }
.text-samko-navy { color: var(--samko-navy); }
.text-samko-blue { color: var(--samko-blue); }
.text-samko-gold { color: var(--samko-gold); }
.border-samko-blue { border-color: var(--samko-blue); }
.border-samko-gold { border-color: var(--samko-gold); }
.bg-samko-blue\/10 { background-color: rgba(26, 84, 144, 0.10); }
.bg-samko-blue\/20 { background-color: rgba(26, 84, 144, 0.20); }
.bg-samko-gold\/10 { background-color: rgba(201, 169, 97, 0.10); }
.bg-samko-gold\/20 { background-color: rgba(201, 169, 97, 0.20); }
.text-samko-gold\/80 { color: rgba(201, 169, 97, 0.80); }
.text-samko-gold-soft { color: var(--samko-gold-soft); }
.ring-samko-blue:focus { --tw-ring-color: var(--samko-blue); }
.focus\:ring-samko-blue:focus { box-shadow: 0 0 0 2px rgba(26, 84, 144, 0.30); }
.focus\:border-samko-blue:focus { border-color: var(--samko-blue); }
.hover\:border-samko-blue:hover { border-color: var(--samko-blue); }
.hover\:bg-samko-navy:hover { background-color: var(--samko-navy); }
.hover\:bg-samko-blue\/20:hover { background-color: rgba(26, 84, 144, 0.20); }
.file\:bg-samko-blue\/10::file-selector-button { background-color: rgba(26, 84, 144, 0.10); }
.file\:text-samko-blue::file-selector-button { color: var(--samko-blue); }
.hover\:file\:bg-samko-blue\/20:hover::file-selector-button { background-color: rgba(26, 84, 144, 0.20); }

/* Typographie de base */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;
    color: var(--samko-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-serif-display {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    letter-spacing: -0.015em;
}
.font-display {
    font-family: 'Playfair Display', Georgia, serif;
    letter-spacing: -0.015em;
}

/* Logo SVG : container */
.samko-logo { height: 2.5rem; width: auto; display: block; }
.samko-logo-sm { height: 2rem; width: auto; display: block; }
.samko-logo-lg { height: 4rem; width: auto; display: block; }

/* Hero section publique (couches background combinées pour éviter la cascade qui override) */
.hero-public {
    background-color: #0a1d33;
    background-image:
        linear-gradient(rgba(201, 169, 97, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201, 169, 97, 0.03) 1px, transparent 1px),
        radial-gradient(ellipse at 75% 25%, rgba(201, 169, 97, 0.18) 0%, transparent 50%),
        radial-gradient(ellipse at 15% 80%, rgba(26, 84, 144, 0.32) 0%, transparent 55%),
        linear-gradient(135deg, #0a1d33 0%, #0f2a47 50%, #08172a 100%);
    background-size: 56px 56px, 56px 56px, auto, auto, auto;
    color: white;
    position: relative;
    overflow: hidden;
}

.hero-public::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201, 169, 97, 0.4), transparent);
}

.hero-public::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 60px;
    background: linear-gradient(to bottom, transparent, var(--samko-ivory));
    pointer-events: none;
}

/* Card poste */
.poste-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.poste-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px -8px rgba(15, 42, 71, 0.18);
    border-color: var(--samko-blue);
}

/* Tag domaine */
.tag-domaine {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 0.25rem;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.tag-mining { background: rgba(168, 85, 247, 0.12); color: #7e22ce; }
.tag-construction { background: rgba(234, 88, 12, 0.10); color: #c2410c; }
.tag-finance { background: rgba(16, 185, 129, 0.10); color: #047857; }
.tag-audit { background: rgba(59, 130, 246, 0.10); color: #1d4ed8; }
.tag-other { background: rgba(100, 116, 139, 0.10); color: #475569; }

/* Bouton principal style */
.btn-primary {
    background-color: var(--samko-blue);
    color: white;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    transition: background-color 0.15s ease;
}
.btn-primary:hover { background-color: var(--samko-navy); }
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }

.btn-gold {
    background-color: var(--samko-gold);
    color: var(--samko-navy);
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    transition: background-color 0.15s ease;
}
.btn-gold:hover { background-color: var(--samko-gold-soft); }

/* Sections */
.section-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(15, 42, 71, 0.15), transparent);
    margin: 4rem 0;
}

/* Line-clamp helpers */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Inputs amélioration */
.input-samko {
    width: 100%;
    border-radius: 0.5rem;
    border: 1px solid #cbd5e1;
    padding: 0.625rem 0.875rem;
    font-size: 0.9rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    background-color: white;
}
.input-samko:focus {
    outline: none;
    border-color: var(--samko-blue);
    box-shadow: 0 0 0 3px rgba(26, 84, 144, 0.15);
}

/* Pas de bordure d'accordion par défaut */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

/* Subtle fade-in animation pour les cards */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
    animation: fadeInUp 0.4s ease-out;
}
