/*************************

Theme Name: CELLAVEN
Description: Theme enfant de GeneratePress. Vous pouvez maintenant effectuer vos modifications en toute sécurité.
Author: Florian | Progressio Web
Author URI: https://progressio-web.fr
Template: generatepress
Version: 1.0

*************************/


html,
body {
    overflow-x: clip;
}

body::-webkit-scrollbar {
    width: 10px;
    background-color: #ffffff;
}

body::-webkit-scrollbar-thumb {
    background-color: #EC651E;
    border-radius: 999px;
}

.swiper-wrapper {
    transition-timing-function: linear !important;
}

.swiper-container {
    overflow: hidden;
}

.cover {
    background-size: cover !important;
}

.fixed {
    background-attachment: fixed;
}

.one-container.archive .post:not(:last-child):not(.is-loop-template-item),
.one-container.blog .post:not(:last-child):not(.is-loop-template-item) {
    padding-bottom: 0px;
}

a.elementor-button:hover span.elementor-button-icon svg path {
    fill: inherit;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong,
p strong,
p b,
.orange {
    color: #EC651E
}

/*********************************************/
/************** CUSTOM CONTENT ***************/
/*********************************************/

.content_custom * {
    margin-bottom: 30px !important;
}

.content_custom *:first-child {
    margin-top: 0px !important;
}

.content_custom h2, .content_custom h3 {
    margin-top: 50px;
}

.content_custom *:last-child {
    margin-bottom: 0px !important;
}

.content_custom li {
    margin-bottom: 10px !important;
}


.header_nav.desk a:before {
    content: "";
    width: 0%;
    height: 2px;
    background: var(--e-global-color-accent);
    bottom: 5px;
    transition: all 0.3s ease-out;
}

li.lang-item img {
    max-width: 35px;
    max-height: 35px;
}

li.lang-item a:before {
    display: none !important;
}

li.cpel-switcher__lang .cpel-switcher__flag img {
    border-radius: 0px !important;
    object-fit: cover !important;
    border-radius: 9999px !important;
}

li.cpel-switcher__lang .cpel-switcher__flag {
    width: 30px !important;
    height: 30px !important;
    object-fit: cover !important;
}

.header_nav.desk a:hover:before,
.header_nav.desk a.elementor-item.elementor-item-active:before {
    width: 100%;
    transition: all 0.3s ease-out;
}

.header_nav.desk .menu-item-62 a,
.header_nav.desk .menu-item-26009871 a {
    opacity: 1 !important;
    font-weight: 700;
    letter-spacing: 0px;
    color: #ffffff !important;
    background: transparent linear-gradient(90deg, #EC651E 0%, #EC851E 100%) 0% 0% no-repeat padding-box !important;
    border-radius: 9999px;
    padding: 15px 20px !important;
    transition: all 0.3s ease-out;
    font-weight: 700 !important;
    font-size: 16px !important;
}

.header_nav.desk .menu-item-62 a:hover,
.header_nav.desk .menu-item-26009871 a:hover {
    transform: scale(1.1);
    transition: all 0.3s ease-out;
}

.header_nav.desk .menu-item-62 a:before,
.header_nav.desk .menu-item-26009871 a:before {
    display: none !important;
}


/*********************************************/
/***************** GENERAL *******************/
/*********************************************/

.page-numbers.prev,
.page-numbers.next {
    background: var(--e-global-color-primary);
    color: white !important;
    padding: 15px;
    border-radius: 9999px;
    transition: all 0.3s ease-out;
}

.page-numbers.prev:hover,
.page-numbers.next:hover {
    background: var(--e-global-color-secondary);
    transition: all 0.3s ease-out;
}

.page-numbers.prev {
    margin-right: 20px !important;
}

.page-numbers.next {
    margin-left: 20px !important;
}

a.page-numbers,
span.page-numbers.current {
    background: var(--e-global-color-primary);
    color: white !important;
    width: 35px;
    height: 35px;
    border-radius: 999px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

span.page-numbers.current {
    background: var(--e-global-color-secondary);
}

a.elementor-button {
    transition: all 0.3s ease-out !important;
    background: transparent linear-gradient(90deg, #EC651E 0%, #EC851E 100%) 0% 0% no-repeat padding-box !important;
    position: relative;
    top: 0;
    transition: all 0.3s ease-out !important;
}

a.elementor-button:hover {
    transition: all 0.3s ease-out !important;
    opacity: 0.8;
    top: -10px;
}

.mode-switch {
    display: flex;
    align-items: center;
    gap: 15px;
}

.mode-switch .label {
    font-weight: 700;
    font-size: 30px;
    color: #013399 !important;
    transition: color 0.2s ease-out;
}

.mode-switch .label.active {
    color: #F36518 !important;
}

.switch {
    position: relative;
    width: 70px;
    height: 40px;
    display: inline-block;
}

.switch input {
    display: none;
}

.slider {
    position: absolute;
    inset: 0;
    border-radius: 30px;
    cursor: pointer;
    border: 3px solid #013399;
    background: transparent;
    box-sizing: border-box;
}

.slider::before {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    background: #F36518;
    border-radius: 50%;
    transition: transform 0.3s ease-out;
}

.switch input:checked+.slider::before {
    transform: translateY(-50%) translateX(33px);
}

.item_blurable {
    transition: filter 0.3s ease-out, opacity 0.3s ease-out;
}

.item_blurable.blur_active {
    filter: blur(2px);
    opacity: 0.4;
    pointer-events: none;
}

div#banner_cellaven img {
    padding: 0px 15px;
    transform: translateY(14px);
}

.btn_white a.elementor-button {
    background: white !important;
    color: #EC651E;
}

.btn_white a.elementor-button:hover {
    background: white !important;
    color: #EC651E;
    opacity: 0.8;
}

.hover_animated_top {
    position: relative;
    top: 0px;
    transition: all 0.3s ease-out !important;
}

.hover_animated_top:hover {
    position: relative;
    top: -10px;
    transition: all 0.3s ease-out !important;
}

div#faq_custom summary.e-n-accordion-item-title[aria-expanded=true] h3,
div#faq_custom summary.e-n-accordion-item-title:hover h3 {
    color: white !important;
}

.e-n-tabs-heading .e-n-tab-title {
    max-width: 100%;
}

body .wpforms-container .wpforms-field,
body .wp-core-ui div.wpforms-container .wpforms-field {
    padding: 7px 0;
}

.wpforms-field-file-upload {
    padding: 25px 0px !important;
}

/******************************************/
/********* Filtrage ressources ************/
/******************************************/

.pw-cats-title {
    font-weight: 700;
    margin-bottom: 10px
}

.pw-cats-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.pw-cats-item {
    margin: 0
}

/* Ligne : lien à gauche, flèche à droite */
.pw-cats-row {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0px;
    padding: 7px 2px;
}

.pw-cats-link {
    text-decoration: none;
    line-height: 1.2;
    flex: 1;
    min-width: 0;
    font-size: 17px;
}

ul.pw-cats-list ul.pw-cats-list a {
    font-size: 16px;
}

.pw-cats-link:hover {
    text-decoration: underline
}

.pw-cats-count {
    opacity: .6;
    font-size: .9em
}

/* Toggle à droite */
.pw-cats-toggle {
    width: 30px;
    height: 30px;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex: 0 0 auto;
    background: none !important;
    width: auto !important;
    padding: 10px !important;
}

.pw-cats-toggle:hover {
    background: rgba(0, 0, 0, .05)
}

/* Chevron (peut être override par ton thème, on laisse simple) */
.pw-cats-chevron {
    width: 7px;
    height: 7px;
    display: block;
    border-right: 2px solid rgba(0, 0, 0, .55);
    border-bottom: 2px solid rgba(0, 0, 0, .55);
    transform: rotate(45deg);
    transition: transform .18s ease;
}

.pw-cats-item.is-open>.pw-cats-row .pw-cats-chevron {
    transform: rotate(-135deg);
}

/* Enfants + animation */
.pw-cats-children {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-2px);
    transition: max-height .25s ease, opacity .20s ease, transform .20s ease;
    will-change: max-height;
}

.pw-cats-item.is-open>.pw-cats-children {
    opacity: 1;
    transform: translateY(0);
}

/* Indentation par niveau (jusqu’à 6 niveaux) */
.pw-cats-children .pw-cats-row {
    padding-left: 15px
}

.pw-cats-children .pw-cats-children .pw-cats-row {
    padding-left: 30px
}

.pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-row {
    padding-left: 45px
}

.pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-row {
    padding-left: 60px
}

.pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-row {
    padding-left: 75px
}

.pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-children .pw-cats-row {
    padding-left: 90px
}

/* Terme courant */
.pw-cats-item.is-current>.pw-cats-row .pw-cats-link {
    font-weight: 700
}

.pw-cats-item.is-current>.pw-cats-row {
    color: #f26b21
}

.pwcg-box {
    padding: 40px;
    border: none;
    border-radius: 14px;
    max-width: 620px;
    background: white;
    box-shadow: 0 0 27px 0 rgba(0, 30, 58, .1);
}

.pwcg-title {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 6px
}

.pwcg-desc {
    opacity: .85;
    margin-bottom: 12px
}

.pwcg-form {
    display: flex;
    gap: 10px;
    align-items: center
}

.pwcg-form input {
    flex: 1;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, .18);
    border-radius: 10px
}

body .pwcg-btn {
    cursor: pointer;
    font-size: 14px !important;
    padding: 15px 30px !important;
    border-radius: 15px !important;
}

.pwcg-btn-secondary {
    background: rgba(0, 0, 0, .08)
}

.pwcg-alert {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 0, 0, .06);
    border: 1px solid rgba(255, 0, 0, .18)
}

.pwcg-error {
    padding: 12px;
    border: 1px solid rgba(255, 0, 0, .3);
    border-radius: 10px;
    background: rgba(255, 0, 0, .05)
}

/*********************************************/
/**************** RESPONSIVE *****************/
/*********************************************/

@media screen and (min-width:1025px) {
    .no_desk {
        display: none !important;
    }
}


/*********************************************/
/***************** TABLETTE ******************/
/*********************************************/

@media screen and (max-width:1024px) {
    .no_mob {
        display: none !important;
    }

    .header_nav.mob .menu-item-62 a {
        opacity: 1 !important;
        font-weight: 700;
        letter-spacing: 0px;
        color: #ffffff !important;
        background: transparent linear-gradient(90deg, #EC651E 0%, #EC851E 100%) 0% 0% no-repeat padding-box !important;
        border-radius: 9999px;
        padding: 15px 20px !important;
        transition: all 0.3s ease-out;
        font-weight: 700 !important;
        font-size: 16px !important;
        width: fit-content;
        margin: auto;
    }
}


/*********************************************/
/****************** MOBILE *******************/
/*********************************************/

@media screen and (max-width:768px) {
    .mode-switch .label {
        font-size: 19px;
    }

    .blurable2.blur_active,
    .blurable1.blur_active {
        display: none;
    }

}