@import url('https://fonts.googleapis.com/css2?family=Sora:wght@100;200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam:wght@100;300;400;500;600;700;800&display=swap');
/* variable */
:root {     
    --base-color: #5758D6;
    --dark-gray: #262b35;
    --medium-gray:#868d98;
    --primary-font: 'Be Vietnam', sans-serif;
    --alt-font: 'Sora', sans-serif;
}
/* reset */
body { 
    font-size: 17px;
    line-height: 32px;
}
/* header */
header .navbar-brand img {
    max-height: 26px;
}
.navbar .navbar-nav .nav-link {
    font-size: 17px;
    font-weight: 400;
}
.sticky .header-transparent .header-button .btn {
    color: var(--dark-gray);
    border-color: var(--dark-gray);
}
.sticky .header-transparent .header-button .btn:hover {
    border-color: var(--dark-gray);
    color: var(--white);
    background:  var(--dark-gray);
}
header.sticky.sticky-active [data-header-hover="light"] .widget-text i {
    color: var(--white);
}
/* accordion style 02 */
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
    background-color: var(--dark-gray);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--white);
}
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li:hover a,
.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li.active a{
    opacity: .5;
}
/* bg color */
.bg-gradient-sherpa-blue-black {
    background-image: linear-gradient(to right top, #23248C, #22236D, #232348, #222226, #232323);
}
.bg-gradient-sherpa-black-blue {
    background-image: linear-gradient(to right top, #232323, #222226, #232348, #22236D, #23248C);
} 
/* bg transparent color */
.bg-base-color-transparent {
    background-color: rgba(87, 88, 214,.8);
}
/*  tabs style 05  */
.tab-style-05 .nav-tabs > li.nav-item {
    letter-spacing: -.5px;
}
/* accordion */
.accordion .accordion-item .accordion-header .accordion-title i {
    top: 52%;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin-bottom: 25px}

/*  progress bar style 01  */
.progress-bar-style-01 .progress .progress-bar-title {
    bottom: 15px;
}
/* page title */
.page-title-extra-large h1 {
    font-size: 4.7rem;
    line-height: 4.7rem;
}
/* separator line */
.separator-line-9px {
    height: 9px;
}
/* tag */
.tag-cloud a { 
    padding-top: 5px;
    padding-bottom: 9px;
}
/* blog comment */ 
.blog-comment li .btn-reply {
    padding-top: 5px;
    padding-bottom: 7px;
}
/* number pagination style 01 */
.pagination-style-01 .page-item .page-link {
    line-height: 42px;
}
.pagination-style-01 .page-item.active .page-link {
    background: var(--dark-gray);
    color: var(--white);
}
/* top right bottom left */
.bottom-minus-45px {
    bottom: -45px;
}
.right-minus-45px {
    right: -45px;
}
/* footer */
footer .footer-logo img {
    max-height: 26px;
}
footer ul li {
    margin-bottom: 0;
}
.footer-dark a:hover {
    color: var(--white);
}
/* model popup */
.mfp-bg {
    background: #000000;
    opacity: 0.7;
}
/* media query responsive */
@media (max-width: 1499px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 15px;
        padding-right: 15px;
    } 
}
@media (max-width: 1399px) {
    .navbar .navbar-nav .nav-link {
        padding-left: 13px;
        padding-right: 13px;
    }
    .sticky-wrap.shadow-in {
        left: 35px;
    }
}
@media (max-width: 1300px) {
    .sticky-wrap.shadow-in {
        left: 10px;
    }
}
@media (max-width: 991px) {
    .header-transparent .header-button .btn {
        color: var(--dark-gray);
        border-color: var(--dark-gray);
    }
    .header-transparent .header-button .btn:hover {
        border-color: var(--dark-gray);
        color: var(--white);
        background:  var(--dark-gray);
    }
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
        width: calc(100% + 30px) !important;
        margin-left: -15px;
        padding: 10px 45px;
        margin-bottom: 0;
        margin-right: -15px;
    }
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li:last-child a {
        padding-bottom: 17px;
    }
    .header-button {
        padding: 15px 0;
        justify-content: flex-start;
    }
    .header-button .btn {
        width: auto;
        display: inline-block;
    }
}
@media (max-width: 767px) {
    p {
        margin-bottom: 20px;
    }
    .page-title-extra-large h1 {
        font-size: 40px;
        line-height: 46px;
    }
}

/* Styles spécifiques pour les articles de blog */
.blog-content {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
}

.blog-header {
    position: relative;
    overflow: hidden;
}

.blog-header img {
    transition: transform 0.3s ease-in-out;
}

.blog-header:hover img {
    transform: scale(1.02);
}

.post-meta {
    font-size: 14px;
    color: #777;
    display: flex;
    gap: 20px;
}

.post-meta span {
    position: relative;
}

.post-meta span:not(:last-child):after {
    content: "";
    position: absolute;
    right: -10px;
    top: 50%;
    width: 1px;
    height: 12px;
    background-color: #ddd;
    transform: translateY(-50%);
}

/* Table des matières améliorée */
.list-style-02 {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 8px;
    padding: 20px 30px;
    margin: 0;
    list-style: none;
}

.list-style-02 li {
    margin: 10px 0;
    position: relative;
    padding-left: 20px;
}

.list-style-02 li:before {
    content: "•";
    color: #6c63ff;
    position: absolute;
    left: 0;
    top: 0;
}

.list-style-02 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.list-style-02 a:hover {
    color: #6c63ff;
}

/* Styles pour les tableaux de comparaison */
.table-responsive {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0,0,0,0.05);
}

.table {
    margin-bottom: 0;
}

.table thead th {
    background: linear-gradient(45deg, #6c63ff, #ff6b6b);
    color: white;
    font-weight: 500;
    border: none;
    padding: 15px;
}

.table tbody td {
    padding: 12px 15px;
    border-color: #f0f0f0;
    vertical-align: middle;
}

.table tbody tr:hover {
    background-color: rgba(108,99,255,0.02);
}

.text-success {
    color: #28a745 !important;
}

.text-warning {
    color: #ffc107 !important;
}

.text-danger {
    color: #dc3545 !important;
}

/* Styles pour les feature boxes améliorés */
.feature-box {
    background: white;
    transition: all 0.3s ease;
}

.feature-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.feature-box .icon-medium {
    font-size: 36px;
    background: linear-gradient(45deg, #6c63ff, #ff6b6b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Styles pour le CTA */
.bg-base-color {
    background: linear-gradient(45deg, #6c63ff, #ff6b6b) !important;
}

.btn-white {
    background: white;
    color: #6c63ff;
    border: none;
    transition: all 0.3s ease;
}

.btn-white:hover {
    background: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.btn-white .right-icon {
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.btn-white:hover .right-icon {
    transform: translateX(5px);
}

/* Styles pour les sections de critères */
.feature-box .d-flex {
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.feature-box:last-child .d-flex {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 10px;
}

/* Responsive adjustments pour les tableaux */
@media (max-width: 768px) {
    .table-responsive {
        margin: 0 -15px;
        width: calc(100% + 30px);
        border-radius: 0;
    }
    
    .table td, .table th {
        padding: 10px;
        font-size: 14px;
    }
    
    .feature-box {
        margin: 0 -15px;
        border-radius: 0;
    }
}

/* Styles pour les erreurs numérotées */
.feature-box .w-35px {
    width: 35px !important;
    height: 35px !important;
    font-size: 18px;
    font-weight: 600;
    background: linear-gradient(45deg, #6c63ff, #ff6b6b);
}

.feature-box .ps-5 {
    background: rgba(255,255,255,0.5);
    border-radius: 6px;
    margin-top: 15px;
}

.feature-box .bg-white {
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.list-style-01 {
    list-style: none;
    padding-left: 0;
}

.list-style-01 li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

.list-style-01 li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #6c63ff;
    font-weight: bold;
}

/* Styles pour la navigation entre articles */
.blog-navigation {
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid rgba(0,0,0,0.1);
}

.blog-nav-link {
    display: block;
    padding: 20px;
    background: white;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.blog-nav-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    color: #6c63ff;
}

.blog-nav-link .nav-label {
    display: block;
    font-size: 14px;
    color: #777;
    margin-bottom: 5px;
}

.blog-nav-link .nav-title {
    display: block;
    font-weight: 600;
    color: #333;
    font-size: 16px;
}

.blog-nav-link.prev {
    padding-left: 40px;
    position: relative;
}

.blog-nav-link.next {
    padding-right: 40px;
    position: relative;
    text-align: right;
}

.blog-nav-link.prev:before,
.blog-nav-link.next:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 20px;
    height: 20px;
    background: linear-gradient(45deg, #6c63ff, #ff6b6b);
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>');
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>');
    transform: translateY(-50%);
}

.blog-nav-link.prev:before {
    left: 10px;
}

.blog-nav-link.next:after {
    right: 10px;
    transform: translateY(-50%) rotate(180deg);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .blog-nav-link {
        margin-bottom: 15px;
    }
    
    .blog-nav-link.next {
        text-align: left;
        padding-left: 40px;
        padding-right: 20px;
    }
    
    .blog-nav-link.next:after {
        left: 10px;
        transform: translateY(-50%);
    }
}

/* Ajustements du bouton dans le header */
.header-button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 20px 0 8px 0;
}

.header-button .btn {
    padding: 8px 20px;
    line-height: 1.4;
    background: linear-gradient(45deg, #6c63ff, #ff6b6b);
    color: white !important;
    border: none;
    transition: all 0.3s ease;
    margin-top: -10px;
}

.header-button .btn:hover {
    background: linear-gradient(45deg, #ff6b6b, #6c63ff);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(108, 99, 255, 0.2);
}

.navbar-expand-lg .navbar-nav {
    align-items: center;
}

/* Styles pour les titres des types d'annonces */
.category-title,
.announcement-type-title,
h2.section-title,
.legal-announcement-title {
    background: linear-gradient(45deg, #6c63ff, #ff6b6b) !important;
    color: white !important;
    padding: 15px 25px !important;
    border-radius: 8px;
    margin-bottom: 25px;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(108, 99, 255, 0.2);
    position: relative;
    overflow: hidden;
}

.category-title::before,
.announcement-type-title::before,
h2.section-title::before,
.legal-announcement-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.category-title:hover::before,
.announcement-type-title:hover::before,
h2.section-title:hover::before,
.legal-announcement-title:hover::before {
    opacity: 1;
}

/* Supprimer les styles des badges */
.badge-category,
.badge-creation,
.badge-modification,
.badge-direction,
.badge-radiation,
.badge-commerce,
.badge-personne,
.badge-rectificatif {
    display: none !important;
}

/* Désactivation du curseur magique */
.magic-cursor {
    display: none !important;
}

#ball-cursor {
    display: none !important;
}

/* Réinitialisation du curseur par défaut pour le header */
header {
    cursor: default !important;
}

header a, 
header button,
header .btn,
header .nav-link {
    cursor: pointer !important;
}

/* Désactivation des classes de curseur magique */
.magic-cursor-wrapper,
.magic-cursor-light,
.magic-cursor-base-color,
.magic-view-cursor,
.magic-drag-cursor,
.magic-round-cursor {
    cursor: default !important;
}

/* Désactivation du curseur personnalisé */
.custom-cursor .circle-cursor,
.custom-cursor .circle-cursor-inner,
.custom-cursor .circle-cursor-outer {
    display: none !important;
}