/* 
Theme Name: North Star
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child theme
Author: Elementor Team & Ajanco
Author URI: https://elementor.com/
Template: hello-elementor
Text Domain: maisonchaboisson
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
*{
	outline: 0;
}
html {
    scroll-behavior: smooth;
}
.m0 *:last-child{
    margin-bottom: 0;
}

.hidden{
    display: none;
}

body .elementor-heading-title a{
    font-weight: inherit;
}

.elementor-text-editor a, .elementor-widget-text-editor a, .elementor-widget-post-info a, .article-content a, .elementor-widget-theme-post-content a{
    text-decoration: underline;
    font-weight:500;
    transition: all .2s ease-in-out;
}
.elementor-text-editor a:hover, .elementor-widget-text-editor a:hover, .elementor-widget-post-info a:hover, .article-content a:hover, .elementor-widget-theme-post-content a:hover{
    color: var( --e-global-color-accent);
}

.elementor-text-editor ul, .elementor-widget-post-info ul, .article-content ul{
    margin-bottom: 0.9em;
}

h1.p, h2.p, h3.p, h4.p, h5.p, h6.p{
    font-size: inherit;
    font-weight:600;
    text-transform: inherit;
    display: inline;
    color:inherit;
}

body .givre::before {
  content: "";
  position: absolute;
  background-color: rgba(230, 250, 255, .65);
  backdrop-filter: saturate(300%) blur(5px) brightness(1.5);
  -webkit-backdrop-filter: saturate(300%) blur(5px) brightness(1.5);
  will-change: backdrop-filter;
}

body .givre.gris::before {
  background-color: rgba(214, 214, 214, 0.25);
  backdrop-filter: saturate(80%) blur(5px) brightness(1.5);
  -webkit-backdrop-filter: saturate(80%) blur(5px) brightness(1.5);
}

.skewed:before {
    display: block;
    content:"";
    border-radius: 16px;
    background-color:#fff;
  transform: skewX(-6deg);
}

.div-avec-triangle::after {
  content: "";
    display: block;
  position: absolute;
    background-color: var(--e-global-color-accent);
    width: 28px;
    height:28px;
    top: 6px;
    right: 0;
    z-index: 1;
    transform: translateX(14px) rotate(45deg);
}

/*Slider avantages*/
.slider-avantages .swiper-slide div[data-elementor-type="jet-engine-component"]{
    opacity: .5;
    filter:blur(10px);
    transition: all .6s ease-in-out;
    transform:scale(.6);
    z-index: 0;
}
.slider-avantages .swiper-slide-next div[data-elementor-type="jet-engine-component"]{
    opacity: 1;
    filter:blur(0);
    transform:scale(1.05);
    z-index: 9;
}

/*POPUP*/
.dialog-close-button{
    border-radius: 50px;
    padding: 5px;
}
/*PROFILS*/
.profil-professionnels,.profil-particuliers{
    width:50px;
    height: 50px;
    display: block;
    background-position: center;
    background-size: cover;
    border-radius: 50px;
    margin:-10px 10px -10px 0;
}
.profil-professionnels{
    background-image:url('https://north-star.local/wp-content/uploads/2026/04/profil_pro.webp');
}
.profil-particuliers{
    background-image:url('https://north-star.local/wp-content/uploads/2026/04/profil_particulier.webp');
}

/*CATEGORIES*/
.category-conseil{
    background-color: var( --e-global-color-accent);
    color:var(  --e-global-color-69a775a);
    padding: 2px 15px;
    border-radius: 4px;
    margin-right: 5px;
    font-weight: 500;
    font-size: 14px;
}

.category-conseil.tag-professionnels{
    background-color: var( --e-global-color-secondary);
}

.categories-list{
    display: flex;
    gap: 5px;
    justify-content: center;
    gap:20px;
}

.categories-list .category-button{
    height: 60px;
    min-width: 150px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: .7;
    filter:grayscale(.7);
    border-radius: 16px 16px 0 0;
}

.categories-list .category-button:hover{
    opacity: 1;
    filter:grayscale(0);
}


.categories-list .category-button.current{
    opacity: 1;
    background-color:#fff;
    
}


/*pagination*/
.pagination-accordeon{
    display: flex;
    gap: 10px;
}
.pagination-accordeon > *{
    padding:2px 8px;
    min-width: 28px;
    text-align: center;
    background-color: transparent;
    border: 1px solid transparent;
}
.pagination-accordeon > a:hover{
   color: var(--e-global-color-accent);
    border: 1px solid var(--e-global-color-accent);
    border-radius: 5px;
    
}

.pagination-accordeon > strong{
   color: var(--e-global-color-a719ac7);
    border: 1px solid var(--e-global-color-primary);
    border-radius: 5px;
}

.pagination-accordeon > span{
    opacity: .5
}
/*MENU MOBILE*/

.menu-mobile-panels-wrapper{
    --menu-mobile-height:auto;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: var(--menu-mobile-height);
    transition: height .32s ease;
}

.menu-mobile-panels-wrapper ul,
.menu-mobile-panels-wrapper li{
    list-style: none;
}

.menu-mobile-panels-wrapper ul{
    margin: 0;
    padding: 0;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel{
    position: absolute;
    inset: 0 0 auto 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(100%,0,0);
    transition: transform .32s ease, opacity .32s ease, visibility 0s linear .32s;
    will-change: transform, opacity;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-active,
.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-left,
.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-right{
    visibility: visible;
    background-color: #fff;
    transition: transform .32s ease, opacity .32s ease, visibility 0s linear 0s;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-active{
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0,0,0);
    z-index: 2;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-left{
    transform: translate3d(-100%,0,0);
}

.menu-mobile-panels-wrapper > .menu-mobile-panel.is-on-right{
    transform: translate3d(100%,0,0);
}

.menu-mobile-panels-wrapper li > a,
.menu-mobile-panels-wrapper li > span,
.menu-mobile-panels-wrapper .menu-mobile-trigger,
.menu-mobile-panels-wrapper .menu-mobile-back-button{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 14px 0;
    border: 0;
    background: transparent;
    color: var(--e-global-color-primary);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
    outline: 0;
    transition: color .2s ease;
}

.menu-mobile-panels-wrapper > .menu-mobile-panel > li > a,
.menu-mobile-panels-wrapper > .menu-mobile-panel > li > .menu-mobile-trigger{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
}


.menu-mobile-panels-wrapper li{
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.menu-mobile-panels-wrapper .menu-item-has-children > .menu-mobile-trigger::after,
.menu-mobile-panels-wrapper .menu-mobile-back-button::before{
    content: "";
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform .32s ease, color .2s ease;
}

.menu-mobile-panels-wrapper .menu-item-has-children > .menu-mobile-trigger::after{
    transform: rotate(45deg) translateX(-5px);
    margin-left: 16px;
}

.menu-mobile-panels-wrapper .menu-mobile-back-button::before{
    transform: rotate(-135deg) translateX(-5px);
    margin-right: 16px;
}

.menu-mobile-panels-wrapper .menu-item-has-children > .menu-mobile-trigger:hover,
.menu-mobile-panels-wrapper .menu-item-has-children > .menu-mobile-trigger:focus,
.menu-mobile-panels-wrapper .menu-mobile-back-button:hover,
.menu-mobile-panels-wrapper .menu-mobile-back-button:focus,
.menu-mobile-panels-wrapper li > a:hover,
.menu-mobile-panels-wrapper li > a:focus{
    color: var(--e-global-color-accent);
    border: 0;
    box-shadow: none;
    outline: 0;
}

.menu-mobile-panels-wrapper .menu-mobile-header{
    padding: 0 0 8px;
    border-bottom: 1px solid rgba(0,0,0,.12);
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-mobile-panels-wrapper .menu-mobile-header > *{
    width: fit-content;
}

.menu-mobile-panels-wrapper .menu-mobile-back-button{
    min-height: 0;
    padding: 10px 0;
}

.menu-mobile-panels-wrapper .menu-mobile-title{
    display: flex;
    padding: 10px 0;
    color: var(--e-global-color-primary);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .65;
}

.menu-mobile-panels-wrapper .sub-menu{
    background: inherit;
}


/*FAQ - LEXIQUE*/
#faq-list{
    display: flex;
    flex-direction: column;
}

.faq-filter{
    padding: 20px;
    position:sticky;
    top:130px;
    align-self: flex-start;
}

body .faq-filter .h2{
    font-size:20px;
    font-weight: 700;
    padding: 0 0 10px 0;
}

body .faq-filter form > div{
    display: flex;
    flex-direction: column;
}

body .faq-filter form > div input[type='radio']{
    display: none;
}

body .faq-filter form > div input[type='button'], body .faq-filter form > div label{
    background-color: transparent;
    font-size: 16px;
    font-weight: 400;
    color:var(--e-global-color-primary);
    text-align: left;
    padding:7px 10px;
    margin: 0;
    cursor: pointer;
    transition: all .2s ease-in-out;
    letter-spacing: 0.5px;
    border:none;
    line-height: 1;
}
body .faq-filter form > div input[type='button']{
    font-weight: 700;
}

body .faq-filter form > div input[type='button']:hover, body .faq-filter form > div input[type='button']:focus, body .faq-filter form > div label:hover{
    background-color: transparent;
    color:  var(--e-global-color-accent);
    border:none;
    outline: 0;
}
.faq-recherche .recherche, .lexique-recherche .recherche {
    display: flex;
    gap:10px;
        
}
.faq-recherche .recherche input[type="button"],.lexique-recherche .recherche input[type="button"]{
    color: var(--e-global-color-a719ac7 );
    background-color: var(--e-global-color-9f91369 );
}
.faq-recherche .recherche input[type="button"]:hover,.lexique-recherche .recherche input[type="button"]:hover{
    color: var( --e-global-color-a719ac7 );
    background-color:  var( --e-global-color-1fa178c );
}


body .faq-recherche form > div.recherche,  body .lexique-recherche form > div.recherche{
    display: flex;
    background-color: transparent;
    flex-direction: row;
    align-items: center;
}

body .faq-recherche .recherche input:not([type="button"]),body .lexique-recherche .recherche input:not([type="button"]){
    box-shadow: none;
    border:none !important;
    background:var( --e-global-color-a719ac7 );
    outline: 0;
}

.faq-recherche .recherche input[type="button"],.lexique-recherche .recherche input[type="button"]{
    width: fit-content;
    padding: 10px 20px;
    border:2px solid  var(--e-global-color-9f91369);
}

.faq-recherche .recherche input[type="button"]:hover, .lexique-recherche .recherche input[type="button"]:hover,.faq-recherche .recherche input[type="button"]:focus, .lexique-recherche .recherche input[type="button"]:focus{
    border:2px solid var(--e-global-color-1fa178c);
    background-color:var(--e-global-color-1fa178c);
}

#faq-list article{
    border-bottom: 1px solid var(--e-global-color-796b05b);
}

#faq-list article:hover{
    cursor:pointer;
}

#faq-list article > span{
    background-color: var(--e-global-color-a719ac7);
    padding: 2px 5px
}

body #faq-list article > h3{
    color:var(--e-global-color-primary);
    letter-spacing:0;
    font-size: 20px;
    font-weight: 600;
    margin:0;
    text-transform: initial;
    display: flex;
    justify-content: space-between;
    align-items: center;    
    padding:20px 30px;
    
}
body #faq-list article > h3{    
    transition: all .2s ease-in-out;
}
body #faq-list article > h3:hover{
    color:var(--e-global-color-accent);
}

body #faq-list article > h3 > div{
    
    display: flex;
    justify-content: start;
    gap: 5px;
}
body #faq-list article > h3 > div > strong{
    font-weight: 700;
}
body #faq-list article > h3 > div > strong span{
    color:var(--e-global-color-accent);
}

#faq-list article h3 i.icon{
    font-size: 32px;
    margin-left: 10px;
    transition: all .2s ease-in-out;    
}

#faq-list article.active h3 i.icon{
   transform: rotate(90deg);
}

#faq-list article > div{
    height: 0;
    overflow: hidden;
    padding: 0 15px;
}

#faq-list article.active > div{
    height: initial;
    padding:0 30px 15px;
}

#faq-list article.active > div a{
    text-decoration: underline;
    font-weight: 700;
    transition: all .2s ease-in-out;
}
#faq-list article.active > div a:hover{
    color:var(  --e-global-color-accent);
}
#faq-list{
    transition: all .25s ease-in-out;
    opacity: 1;
    filter: blur(0);
}
#faq-list.loading, #lexique-list.loading{
    opacity: .3;
    filter: blur(2px);
}

body h2.faq-filter-titre i.fas{
    display: none;
}

@media (max-width:768px){
    body.post-type-archive-faq > div[data-elementor-type="header"] + div {
        z-index: 1;
    }

    #faq-list{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    body .faq-filter:before{
        content:"Filtrer";
        display: flex;
        justify-content: center;
    }
    body .faq-filter > form{
        background-color: var(--e-global-color-a719ac7);
        position:fixed;
        display: flex;
        flex-direction: column;
        top: initial;
        bottom:-410px;
        z-index: 20;
        width: 100%;
        left: 0;
        padding: 10px 20px 10px;
        box-shadow: 0 0 20px rgba(100,66,61,.25);
        transition: all .4s ease-in-out;
    }
    body .faq-filter.active > form{
        bottom:0;
    }
    
    .faq-filter{
        z-index: 10;
    }
    .faq-filter .h2{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
    .faq-filter .h2:after{
        content:"x";
        font-size: 120%;
        transform: scaleY(.8);
    }

    body h2.faq-filter-rechercher{
        display: none;
    }
    
    body h2.faq-filter-titre{
        order:1;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    body h2.faq-filter-titre i.fas{
        font-size: 18px;
        display: initial;
    }
    
    body .faq-filter.active h2.faq-filter-titre i.fas{
        transform: rotate(90deg);
    }
    body div.faq-filter-filtres{
        order:2;
        border-bottom:1px solid var(--e-global-color-secondary);
        padding-bottom: 20px;
        margin-bottom: 10px
    }
    .faq-recherche .recherche, .lexique-recherche .recherche{
        order:3;
        flex-direction: column;
    }
    
    body div.recherche > input:not([type="button"]):not([type="submit"]){
        padding: 10px;
    }

}

/*FOOTER*/
ul.prestations-seo-enfants{
    display: flex;
    gap: 2px 20px ;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    flex-wrap: wrap;
    padding: 0;
}
.prestations-seo-enfants a{
    font-size: 14px;
    text-decoration: underline;
    font-weight: 700;
}
.footer-links .menu-mini > ul{
    font-size: 15px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style-type: none;
    
}
.footer-links .menu-mini a{
    color:  var( --e-global-color-primary);
    opacity: .8;
}

.footer-links .menu-mini a:hover{
    opacity: 1;
    text-decoration: underline;
}

.footer-bottom-links .menu-mini > ul{
    font-size: 15px;
    padding: 0;
    display: flex;
    flex-direction: row;
    gap: 0;
    list-style-type: none;
    
}
.footer-bottom-links .menu-mini a{
    color: var( --e-global-color-primary);
}

.footer-bottom-links .menu-mini a:hover{
    text-decoration: underline;
}

.footer-bottom-links .menu-mini li:not(:last-child):after{
    content:"―";
    color:  var(--e-global-color-primary);
    display: inline-block;
    margin: 0 15px;
}

.footer-bottom-credits a *{
    transition:all .2s ease-in-out;
}

.footer-bottom-credits a small{
    opacity: .5;
    font-size: inherit;
}
.footer-bottom-credits a:hover small{
    opacity: 1;
}

.footer-bottom-credits a:not(:hover) strong{
    color:  var(--e-global-color-d76a251);
}


@media(max-width:767px){
    .footer-bottom-links .menu-mini > ul{
        flex-wrap:wrap;
        justify-content:center;
        gap:10px;
        
    }
    .footer-bottom-links .menu-mini li:not(:last-child):after{
        display:none;
        
    }
    
    
}

/*Formulaires*/

body form input[type=file]:not([type="button"]):not([type="submit"]){
    width: 100%;
}
input[type=file]::file-selector-button {
  font-family: "Urbanist", sans-serif;
  margin-right: 20px;
  border: none;
  background: var(--e-global-color-accent);
  padding: 10px 20px;
  border-radius: 5px;
  color: var(--e-global-color-primary);
    font-weight: 700;
  cursor: pointer;
  transition: background .2s ease-in-out;
}

input[type=file]::file-selector-button:hover {
  background: var(--e-global-color-primary);
  color: var(--e-global-color-a719ac7);
}
form.elementor-form input.elementor-field:not([type="submit"]):not([type="button"]){
    border-radius: 16px;
}
form.elementor-form textarea.elementor-field {
    border-radius: 8px;
}
form.elementor-form .elementor-field-type-text, form.elementor-form .elementor-field-type-textarea, form.elementor-form .elementor-field-type-email, form.elementor-form .elementor-field-type-tel {
    position: relative;   
}

form.elementor-form .elementor-field-group > label{
    font-weight: 700;
    margin: 15px 0 0;
}
form.elementor-form .elementor-field-group.elementor-field-type-select > label{
    
    margin: 5px 0 10px;
}

form.elementor-form .elementor-field-type-text > label,form.elementor-form .elementor-field-type-textarea > label,form.elementor-form .elementor-field-type-email > label, form.elementor-form .elementor-field-type-tel > label{
   position: absolute;
    font-weight: 400;
    margin: 0;
    top:18px;
    left: 20px;    
    transform-origin: center left;
    transition: all .2s ease-in-out;
}

form.elementor-form .elementor-field-type-text.focusin > label,form.elementor-form .elementor-field-type-textarea.focusin > label, form.elementor-form .elementor-field-type-email.focusin > label, form.elementor-form .elementor-field-type-tel.focusin > label{
    transform:scale(.7) translatey(-24px);
    opacity: .8;
}
form.elementor-form h3,form.elementor-form h4{
    margin: 0;
}
form.elementor-form .elementor-acceptance-field + label a{
    text-decoration: underline;
}

/*Complianz*/
body #cmplz-manage-consent{
    display: none!important;
}

body .cmplz-show-banner{
    text-decoration: underline;
    cursor: pointer;
}

body .cmplz-show-banner:hover{
    color:var(--e-global-color-accent);    
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny, body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences{
    background-color: rgba(255,255,255,.8);
    border:none;    
    font-size:13px;
    text-decoration: underline;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny{
    position: absolute;
    top:-35px;
    right: 0;
    line-height: 0;
    width: fit-content;
    padding: 5px 15px 3px;
    height: 30px;
    border-radius: 30px;
    background-color:transparent
}

body .cmplz-cookiebanner .cmplz-buttons{
    flex-direction: column;
}


body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover{
    background-color:var(--e-global-color-accent);
    border-color:var(--e-global-color-accent);
}

body.single-lp #cmplz-cookiebanner-container > .cmplz-cookiebanner:before{
    content:"";
    top:0;
    left: 0;
    background-color: rgba(255,255,255,.9);
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: 0;
}
    body.single-lp #cmplz-cookiebanner-container > .cmplz-cookiebanner> *{
    z-index: 1;
}
@media (min-width: 768px) {
    body.single-lp #cmplz-cookiebanner-container > .cmplz-cookiebanner{
        bottom:45vh;
        right: calc(50vw - 263px);
    }
}

/*Table styling*/

.elementor-widget-text-editor tr{
  display: table-row;
}

.elementor-widget-text-editor thead td {
  background: var(--e-global-color-primary);
  color:var(--e-global-color-a719ac7);
  text-align: center;
    vertical-align: middle;
  line-height: 1.2;
  font-weight: unset !important;
}

.elementor-widget-text-editor td {
  display: table-cell;
}

.elementor-widget-text-editor tr td {
  padding: 10px;
}

.elementor-widget-text-editor table, .elementor-widget-text-editor tr {
  width: 100% !important;
    font-size: 1.05em;
}

@media (min-width: 768px) {
    .elementor-widget-text-editor table{
        overflow: scroll;
        display: block;
        max-width: 100%;
    }
}
@media screen and (max-width: 767px) {
  
  .elementor-widget-text-editor table, .elementor-widget-text-editor tbody, .elementor-widget-text-editor tr, .elementor-widget-text-editor td {
    width: 100% !important;
    display: block;
  }
    

  .elementor-widget-text-editor thead {
    padding: 0;
    height: 0px;
    display: none;
  }

  .elementor-widget-text-editor tr td:before {
    display: block;
      font-family: var(--e-global-typography-primary-font-family);
    color: var(--e-global-color-9f91369);
      font-size: .8em;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 600 !important;
    content: attr(data-title);
    min-width: 98px;
  }
    
    
  .elementor-widget-text-editor tr {
    padding:15px 0;
    margin: 0;
  }
  
  .elementor-widget-text-editor tr td {
    border: none;
    padding:10px 15px;
  }

}

/*Recaptcha*/
.grecaptcha-badge { visibility: hidden; }

/*Téléchargements produits*/
.telechargements-produit{
    display: flex;
    gap: 20px;
}

.telechargements-produit a{
    display: flex;
    justify-content: center;
    gap:10px;
    padding: 4px 15px 4px 4px;
    border:1px solid var(--e-global-color-primary);
    background-color: var(--e-global-color-69a775a);
    border-radius: 50px;
    transition: all .2s ease-in-out;
}


.telechargements-produit a span{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    background-color: var(--e-global-color-primary);
    border-radius: 20px;
    font-weight: 700;
    color:var(--e-global-color-69a775a);
    transition: all .2s ease-in-out;
}

.telechargements-produit a:hover{
    border:1px solid var(--e-global-color-accent);
     background-color: var(--e-global-color-accent);
     color:var(--e-global-color-69a775a);
}


.telechargements-produit a:hover span{
     background-color: var(--e-global-color-69a775a);
     color:var(--e-global-color-accent);
}


