@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 {
    --bs-nav-link-padding-x: .75rem !important;
}

#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: #bdbdbd;
    --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);
}

/*  =========================================
*   === 3. Alert ===
*   =========================================
*/

.lpe-alert {
    --link-color-rgb: var(--primary);
    --alert-color: var(--dark);
    --alert-bg-color: var(--light-blue);
    --alert-border-color: var(--gray);
    padding: 1.25rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    color: var(--alert-color, inherit);
    background-color: var(--alert-bg-color, var(--bs-gray-100));
    border-left: .25rem solid var(--alert-border-color, var(--bs-gray-300));
}

.lpe-alert.lpe-alert-info {
    --alert-bg-color: #9bedff69;
    --alert-border-color: #00232b;
    --alert-color: #00232b;
}

.lpe-alert.lpe-alert-warning {
    --alert-bg-color: #ffed9b99;
    --alert-border-color: #493a03;
    --alert-color: #2b2200;
}

.lpe-alert.lpe-alert-danger {
    --alert-bg-color: #ff2e1e52;
    --alert-border-color: #2b0000;
    --alert-color: #2b0000;
}

.lpe-alert.lpe-alert-success {
    --alert-bg-color: #e5ff9b;
    --alert-border-color: #233607;
    --alert-color: #233607;
}

/*  =========================================
*   === 4. Badge ===
*   =========================================
*/

.lpe-basic-lbl {
    --bg-color: #fff;
    --text-color: #000000;
    --border-color: #626262;
    display: inline-block;
    line-height: 1;
    vertical-align: baseline;
    margin: 0 .14285714em;
    padding: 7px;
    text-transform: none;
    font-weight: 700;
    font-size: 14px;
    border-radius: .28571429rem;
    /*-webkit-transition: background .1s ease;*/
    transition: background .1s ease;
    border: 1px solid;
    background-color: var(--bg-color);
    color: var(--text-color);
    border-color: var(--border-color);
}

.lpe-lbl-primary {
    --bg-color: #fff;
    --text-color: #126FF9;
    --border-color: #126FF9;
}

.lpe-lbl-orange {
    --bg-color: #fff;
    --text-color: #ffa500;
    --border-color: #ffa500;
}

.lpe-lbl-purple {
    --bg-color: #fff;
    --text-color: #ff0066;
    --border-color: #ff0066;
}

.lpe-lbl-teal {
    --bg-color: #fff;
    --text-color: #004b27;
    --border-color: #00ff84;
}

.lpe-lbl-danger {
    --bg-color: #fff;
    --text-color: #d11027;
    --border-color: #d11027;
}

.lpe-lbl-success {
    --bg-color: #fff;
    --text-color: #91b60a;
    --border-color: #91b60a;
}

.lpe-lbl-gray {
    background-color: #ededed !important;
    color: #313130 !important;
    border-color: #313130 !important;
}

/*  ===============================================
*   ============== 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;
}