:root {
    --primary: #000;
    --secondary: #fff;
    --border: #E5E5E7;
    --grey-background:#F5F5F5;
    --light-grey:#FAF9F9;
    --subtitle: #737373;
    --titre: "Libre Caslon Text";
    --text: "nunito";
    --text-small: 13px;
    --text-regular: 15px;
    --text-title: 20px;
    /*info*/
    --info: #0284C7;
    --info-rgb:2, 132, 199;
    --info-bg: #E0F2FE;
    /*valid*/
    --valid: #059669;
    --valid-rgb: 5, 150 ,105;
    --valid-bg: #D1FAE5;
    /*warning*/
    --warning: #EA580C;
    --warning-rgb: 234, 88, 12;
    --warning-bg: #FFEDD5;
    /*error*/
    --error: #DC2626;
    --error-rgb: 220, 38, 38;
    --error-bg: #FEF2F2;
    /*menu*/
    --menu-group: #BCBCBC;
    /*category filter*/
    --bg-grey: #F5F5F5;

    /*categories*/
    --product: #9747FF;
    --marketing: #FF47CB;
    --content: #45A6FF;
    --seo: #FF9447;
    --custom: #000000;
}

#main{
    min-height: calc(100vh - 80px);
}

*{
    font-family: "Nunito";
    font-weight: 400;
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
}

#main .title{
    font-family:var(--titre);
    font-size:1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
    font-weight:600;
}

.button{
    font-weight:700;
    border:2px solid var(--primary);
    background-color:var(--primary)!important;
    color:var(--secondary);
    border-radius:50px;
    padding:5px 20px;
    cursor:pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap:10px;
}

.button.secondary:hover{
    background-color:var(--primary)!important;
    color:var(--secondary);
}

.button.secondary,
.button:hover{
    background-color:var(--secondary)!important;
    color:var(--primary);
}

.button.big{
    padding:12px 20px;
}

.button.delete{
    background-color: var(--error)!important;
    border-color: var(--error);
    white-space: nowrap;
}

.button.delete:hover{
    background-color: var(--secondary);
    color: var(--error);
}

.button.cancel::before{
    content: url('/svg/Cross/none/000/');
    height:24px;
    padding-right:5px;
}

.button.cancel:hover::before{
    content: url('/svg/Cross/none/FFF/');
}

.button.next::after{
    content: url('/svg/Next/FFF/none');
    height:24px;
    padding-left:5px;
}

.button.next:hover::after{
    content: url('/svg/Next/000/none');
}

#next path{
    fill:var(--secondary)
}

#next:hover path{
    fill:var(--primary)
}



.pagination .active{
    color:var(--border);
    cursor:default;
}
.pagination .disabled path{
    fill:var(--border)
}

.border-right{
    border-right:1px solid var(--border, #000);
}

tr.odd td{
    background-color: var(--grey-background);
}

/*writer list*/
/*commun à service et config*/

.writer-list .writer{
    border:1px solid var(--border);
    border-radius:10px;
    overflow: hidden;
}

.writer-list .writer.favorite{
    border:2px solid var(--primary);
}

.writer-list .writer .job{
    font-weight:700;
}

.writer-list .writer .lang-attr{
    color:var(--subtitle);
}
.writer-list .writer .lang-attr span{
    font-weight:700;
}

.writer-list .writer .fav{
    font-weight:700;
}

.writer-list .writer svg{
    height:17px;
    margin-right:5px;
}

.writer-list .writer .fav{
    display:none;
}

.writer-list .writer .favorite{
    display:flex;
}

.writer-list .writer.favorite .fav{
    display:flex;
}

.writer-list .writer.favorite .fav-btn{
    display:none;
}

.fav-btn{
    font-weight:700;
    border:2px solid var(--primary);
    border-radius:20px;
    cursor:pointer;
}
.fav-btn:hover{
    background-color: var(--primary);
    color:var(--secondary);
}

/*avatar*/
#account{
    /*position:absolute;*/
    /*bottom:10px;*/
    /*left: 0;*/
    /*width:280px;*/
}

#service-writer{
    .avatar{
        height: 120px;
        width: 120px;
    }
}

@media (max-width: 1280px) {
    #service-writer{
        .avatar{
            height: 80px;
            width: 80px;
        }
    }
}

.avatar{
    height: 50px;
    width: 50px;
    border-radius: 50px;
}

.avatar,
.avatar .badge{
    /*display: flex;*/
    /*justify-content: center;*/
    /*align-items: center;*/
}
.avatar .badge{
    background:var(--primary);
}
.avatar .badge svg{
    height:15px;
    width:15px;
}
.avatar .badge svg path{
    fill:var(--secondary);
}

#account .name,
#account .credits span{
    font-weight:700
}

#account .email{
    color: var(--subtitle);
}

#account .logout{
    color:var(--subtitle);
}
#account .logout svg{
    height:17px;
}
#account .logout svg path{
    fill:var(--subtitle)
}

a.action,
button.action{
    background-color: var(--primary);
    color: var(--secondary);
    border-radius: 30px;
    font-weight: 800;
    cursor:pointer;
}

/*service*/
.head{
    /*background-color:var(--grey-background);*/
    /*border-bottom:1px solid var(--border);*/
}

.head .left,
.content .left{
    border-right:1px solid var(--border);
}

.head .writer .name *,
.head .info .titre{
    font-family: var(--titre);
    font-size:1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
    font-weight: 600;
}

.head .info .titre .meta{
    margin-top:5px;
}
.head .writer p,
.head .info p{
    color:var(--subtitle);
}

.head .info svg path{
    fill: var(--grey-background)
}

.content .left .titre,
.content .right .titre{
    font-family: var(--titre);
    font-size:1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
    font-weight: 600;
}


/*resultat service + historique*/
#service-result-container #close svg{
    margin-right:5px;
}
#service-result-container #close:hover{
    cursor:pointer;
    text-decoration: underline;
}

/* Style des réponse dans les interfaces */
#result-list li .result *,
.mapping .result *{
    font-size:1.0em;
    font-weight:500;
}

#result-list li .result strong,
.mapping .result strong{
    font-weight:700;
}
#result-list li .result em,
.mapping .result em{
    font-style: italic;
}

#result-list li .result h2,
.mapping .result  h2{
    font-weight: 700;
    font-size: 1.3em;
}

#result-list li .result h3,
.mapping .result h3{
    font-weight: 600;
    font-size: 1.2em;
}

#result-list li .result h4,
.mapping .result h4{
    font-weight: 600;
    font-size: 1.1em;
}

#result-list li .result ul,
.mapping .result ul{
    padding-left:20px;
}
#result-list li .result ul li,
.mapping .result ul li{
    list-style-type: disc;
}
#result-list li .result a,
.mapping .result a{
    text-decoration: underline;
}

.keyword-highlight{
    background-color: var(--bg-grey);
    color:var(--primary);
    border-radius: 5px;
    padding:2px 5px;
    font-weight: bold;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 3px;
}
.keyword-highlight:hover{
    background-color: var(--primary);
    color:var(--secondary);
    cursor: default;
}

/* Fin */

a.action svg{
    margin-left: 10px;
}

a.action svg path{
    fill: var(--secondary);
}

button.action.generate svg{
    margin-right: 10px;
}

/*button.generate svg path{*/
/*    fill: var(--secondary);*/
/*}*/

/* services */

.service-box div.picto svg {
    height:24px;
    width:24px;
    color:var(--secondary);
}

.service-box div.picto svg *{
    fill:var(--secondary);
}


.service-box div.name{
    width:calc(100% - 50px);
    background-color:#FFFFFF88;
}

/*category*/
section.categories-filter{
    /*background-color:var(--light-grey, #FFF);*/
    /*width:280px;*/
}

section.categories-filter h1{
    font-size: 20px;
    font-family: "Libre Caslon Text";
    font-weight: 600;
    width:280px;
}


section.categories-filter ul li a:hover,
section.categories-filter ul li a:hover div svg circle,
section.categories-filter ul li a.active,
section.categories-filter ul li a.active div svg circle{
    color:var(--secondary, #FFF);
}
section.categories-filter ul li a.custom:hover,
section.categories-filter ul li a.custom:hover div svg circle,
section.categories-filter ul li a.custom.active,
section.categories-filter ul li a.custom.active div svg circle{
    fill:var(--secondary, #FFF);
}

section.categories-filter ul li a{
    border-radius:10px;
    padding:5px 10px;
    font-weight:800;
}

section.categories-filter ul li a:hover{
    background: var(--primary, #000);
}

section.categories-filter ul li a div{
    margin-right:7px;
}

section.categories-filter hr{
    margin:10px 0;
}

/*Menu*/
ul#menu-full{
    /*padding:50px 30px;*/
}

ul#menu-full li{
    margin:10px 0;
}

ul#menu-full li.title{
    color:var(--menu-group, #000);
    text-transform: uppercase;
    font-size: 13px;
    font-weight:400;
    padding:0 10px;
}


ul#menu-full li a{
    display:flex;
    padding:8px 10px;
    font-weight:800;
}

ul#menu-full li a div{
    margin-right:10px;
}

ul#menu-full li a div svg path{
    fill:var(--primary, #000);
}

ul#menu-full li.active a,
ul#menu-full li.active a div svg path,
ul#menu-full li:hover a,
ul#menu-full li:hover a div svg path{
    color:var(--secondary, #FFF);
    fill:var(--secondary, #FFF);
    border-radius:5px;
}

ul#menu-full li.active a,
ul#menu-full li:hover a{
    background: var(--primary, #000);
    fill:var(--secondary, #FFF);
}

/*messages*/
.message{
    color:var(--primary);
    border-radius:5px;
    padding:1rem;
    display: flex;
    align-items: center;
    gap: .625rem;
}

.message::before {
    margin-right:10px;
    width: 24px;
    height: 24px;
    display: inline-block; /* Pour afficher le contenu comme un élément en ligne */
}

.message.valid { background-color: var(--valid-bg); }
.message.valid::before { content: url('/svg/Valid/059669/none/'); }
.message.info { background-color: var(--info-bg); }
.message.info::before { content: url('/svg/Info/0284C7/none/'); }
.message.warning { background-color: var(--warning-bg); }
.message.warning::before { content: url('/svg/Help/EA580C/none/') }
.message.error { background-color: var(--error-bg); }
.message.error::before { content: url('/svg/Error/DC2626/none/') }

.message .button{
    font-weight:400;
    border:none;
    color:var(--secondary);
    border-radius:5px;
    padding:0 10px;
    height:35px;
    cursor:pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.message.hidden{
    display:none;
}


.message.valid .button{ background-color:var(--valid)!important; }
.message.info .button{ background-color:var(--info)!important; }
.message.warning .button{ background-color:var(--warning)!important; }
.message.error .button{ background-color:var(--error)!important; }

.message.info .button:hover{ background-color: rgba(var(--valid-rgb), 0.5)!important; }
.message.info .button:hover{ background-color: rgba(var(--info-rgb), 0.5)!important; }
.message.warning .button:hover{ background-color: rgba(var(--warning-rgb), 0.5)!important; }
.message.error .button:hover{ background-color: rgba(var(--error-rgb), 0.5)!important; }

/* Format des tableaux de liste */
table.liste{
    tr{
        border-bottom: 1px solid var(--border);
    }
    tr.error td{
        background-color: var(--error-bg);
    }

    tr:hover:not(.error) td{
        background-color:var(--light-grey);
    }

    th{
        color:var(--primary);
        font-weight: bold;
        padding:10px 20px;
    }
}

.gupload{
    span.picto{
        content: url('/svg/Upload/737373/none/')
    }
}

.spinner {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   background: radial-gradient(farthest-side,#737373 94%,#0000) top/5px 5px no-repeat,
          conic-gradient(#0000 20%,#737373);
   -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 0);
   animation: spinner-c7wet2 1s infinite linear;
}

@keyframes spinner-c7wet2 {
   100% {
      transform: rotate(1turn);
   }
}


/* MODAL */
.jquery-modal.blocker{
    background-color:rgba(230, 230, 230, 0.95);
    z-index:1000;
}

div.modal{
    border:1px solid var(--primary);
    box-shadow:5px 5px 0 #000;
    padding:30px 30px;
    margin-top: 20px;
}

circle-progress.product::part(value) {
	stroke: var(--product);
}
circle-progress.content::part(value) {
	stroke: var(--content);
}
circle-progress.seo::part(value) {
	stroke: var(--seo);
}
circle-progress.marketing::part(value) {
	stroke: var(--marketing);
}
circle-progress.custom::part(value) {
	stroke: var(--custom);
}

circle-progress::part(circle) {
    stroke:#D5D5DE;
	stroke-width:6px;
}


.tooltipster-sidetip.tooltipster-noir.tooltipster-noir-customized .tooltipster-box {
	background: rgba(0,0,0,0.8);
	border-radius: 6px;
	box-shadow: 5px 5px 0 0 rgba(0,0,0,0.2);
}

.tooltipster-sidetip.tooltipster-noir.tooltipster-noir-customized .tooltipster-content {
	color: white;
	padding: 8px;
}
.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow-background{
    border-right-color:rgba(0,0,0,0.8);
}

/*white*/
.tooltipster-sidetip.tooltipster-white.tooltipster-white-customized .tooltipster-box {
	background: white;
	border-radius: 10px;
	box-shadow: 5px 5px 0 0 var(--primary);
    border:1px solid var(--primary);
}

.tooltipster-sidetip.tooltipster-white.tooltipster-white-customized .tooltipster-content {
	color: var(--primary);
	padding: 8px;
}
.tooltipster-sidetip.tooltipster-white .tooltipster-arrow-background{
    border-right-color:rgba(0,0,0,0.8);
    display: none;
}

.tooltipster-sidetip.tooltipster-white.tooltipster-white-customized.tooltipster-white .tooltipster-arrow-background{
    left:1px;
}
.tooltipster-sidetip.tooltipster-white.tooltipster-white-customized.tooltipster-top .tooltipster-arrow {
    bottom:-1px;
}

.tooltipster-sidetip.tooltipster-white.tooltipster-white-customized.tooltipster-left .tooltipster-arrow{
    right:-1px!important;
}

.tooltipster-sidetip.tooltipster-white.tooltipster-white-customized.tooltipster-bottom .tooltipster-arrow{
    top:-1px;
}



.tooltipster-sidetip.tooltipster-light.tooltipster-light-customized .tooltipster-box {
	background: var(--light-grey);
	border-radius: 6px;
	box-shadow: 5px 5px 0 0 rgba(0,0,0,0.1);
    border:1px solid var(--border);
}

.tooltipster-sidetip.tooltipster-light.tooltipster-light-customized .tooltipster-content {
	color: var(--primary);
	padding: 8px;
}

.tooltipster-sidetip.tooltipster-light .tooltipster-arrow-background{
    border-right-color:var(--light-grey);
}
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background{
    left:2px;
}

.tooltipster-sidetip.tooltipster-light .tooltipster-arrow-border{
    border-right-color:var(--border);
}