@charset "UTF-8";

/*!
 * Version - 1.1.1
 * Copyright (c) 2025 Cooland <info@cooland.com>
 * L’autorisation est accordée à toute personne qui en obtient une copie de ce style.
 * Il est strictement interdit de publier(vendre) sans l'autorisation préalable des auteurs.
 * Des spécialistes sont à l'origine des documents fournis.
*/

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');
@import url('../vendor/bootstrap/css/bootstrap.min.css');
@import url('color.css');
@import url('typography.css');

/*  ==========================================
*   ================= GENERAL ================
*/
* {
    font-family: var(--ff-source);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

a {
    text-decoration: none !important;
}

p {
    font-size: 1rem;
}

main {
    color: var(--dark);
}

.lpe-link {
    color: var(--dark);
}

.lpe-link:hover {
    color: #bf022b !important;
}

/*  =========================================
*   ================== HEADER ==================
*/

.topbar {
    background-color: #bf022b;
    color: #f9f2f2;
}

/*  =========================================
*   ================== NAV ==================
*/
#nav .nav-link {
    --nav-color: var(--dark);
    --nav-bgcolor: transparent;

    color: var(--nav-color);
    background-color: var(--nav-bgcolor);
    font-weight: 600;
    font-size: 0.906rem;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease-in-out;
}

/* hover */
#nav .nav-link:hover {
    --nav-color: var(--primary);
    border-bottom: 2px solid var(--primary);
    color: var(--nav-color);
}

/* active */
#nav .nav-link.active {
    --nav-color: #d9000c;
    border-bottom: 2px solid var(--primary);
    color: var(--nav-color);
}

/* hover sur parent mais pas active */
#nav .nav-item:hover .nav-link:not(.active) {
    background-color: #fdf9ff40;
}


/*  =========================================
*   ================== FOOTER ==================
*/
footer {
    background-color: #f0f0ef;
    color: var(--dark);
}

footer .title {
    font-size: 1.375rem !important;
    font-weight: 400;
    font-family: var(--ff-title);
}

footer #copyright {
    background-color: #f0f0ef;
    border-top: 1px solid #eaeaea5b;
    font-size: 14px;
    color: var(--dark);
}

footer #copyright a {
    text-decoration: none;
    font-size: 14px;
    color: var(--dark);
}

footer .nav .nav-item .nav-link {
    color: var(--dark);
    padding: 2px;
    font-size: 14px;
    font-weight: 400;
}

/*  =========================================
*   === 1. Forms ===
*   =========================================
*/

.form-control,
.form-select {
    --bs-border-color: #1c1c1c;
    --bs-border-width: 2px;
    --bs-border-radius: 0;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.form-control:focus,
.form-select:focus {
    outline: none !important;
    border-color: var(--dark-primary) !important;
    box-shadow: 0 0 0 0px #4a90e21a !important;
}

.form-check-input {
    --bs-border-color: var(--dark);
    --bs-border-width: 2px;
}

.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Search */

.search .input-group {
    --border-color: #1c1c1c;
    border: 2px solid var(--border-color);
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.search .form-control {
    --bs-border-color: transparent;
}

.search .form-control:focus {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 0px #4a90e21a !important;
}

.search .input-group .input-group-text {
    border: 0px !important;
    box-sizing: border-box !important;
    background-color: transparent !important;
}

/*  =========================================
*   === 2. BreadCrumb ===
*   =========================================
*/
#breadcrumb {
    --bs-breadcrumb-divider: '›';
    display: inline-flex;
    justify-content: center;
    align-items: start;
    margin-bottom: 10px;
}

.breadcrumb {
    margin-bottom: 0;
}

.breadcrumb .breadcrumb-item,
.breadcrumb .breadcrumb-item a {
    color: #111111;
    font-size: 0.95rem;
    font-weight: 600;
}

.breadcrumb .breadcrumb-item.active {
    color: var(--primary);
}

/*  ===============================================
*   ============== Variables Global ===============
*/

*::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px var(--light);
    background-color: var(--light);
}

*::-webkit-scrollbar {
    width: 10px;
    background-color: var(--light);
}

*::-webkit-scrollbar-thumb {
    background-color: var(--secondary) !important;
}

::selection {
    background-color: var(--secondary);
    color: var(--dark);
}

:root {
    --primary: #c41c25;
    --dark-primary: #5c0f14;
    --secondary: #D4A373;
    --dark: #000000;
    --light: #ffffff;
    --gray: #EAEAEA;
    --light-blue: #DFF7FF;

    --ff-title: "Playfair Display", serif;
    --ff-source: "Lato", serif;
}