/** These styles are used in your backend/frontend editor. **/
.bold { font-weight: bold; }
.italic { font-style: italic; }
.underline { text-decoration: underline; }

.optional {
    font-style: italic;
    color: gray;
    padding: .3em .5em;
    background: white;
    border: 1px solid lightgray;
    border-radius: 5px;
    font-size: .9em;
    font-weight: normal;
    margin: 0;
}

.help, .info, .success, .warning, .error, .ads {
    display: block;
    font-size: 15px;
    line-height: 18px;
    margin: 20px 0 20px 40px !important;
    position: relative;
    padding: 10px 20px;
    border: 1px solid lightgray;
    border-radius: 3px;
    box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.03);
    background: white;
}
.ads {
    margin: 30px 0 25px 0 !important;
}

.help:before, .info:before, .success:before, .warning:before, .error:before,
.help:after, .info:after, .success:after, .warning:after, .error:after {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    transform: translateX(-160%) translateY(-50%);
}
.help:before, .info:before, .success:before, .warning:before, .error:before {
    background-color: white;
    border-radius: 50%;
    z-index: 1;
}
.help:after, .info:after, .success:after, .warning:after, .error:after {
    -webkit-mask: var(--icon-svg) no-repeat center / contain;
    mask: var(--icon-svg) no-repeat center / contain;
    z-index:2;
}

.help p, .info p, .success p, .warning p, .error p {
    margin: 0 0 10px 0;
}

.help {
    border-left: 5px solid #7F50B2;
    color: #7F50B2 !important;
}
/* Icône Help (Point d'interrogation / Ampoule minimaliste) en SVG data-uri */
.help:after {
    --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z'/%3E%3C/svg%3E");
    background-color: #7F50B2;
}

.info {
    border-left: 5px solid #5091B2;
    color: #5091B2 !important;
}
/* Icône Info (Information "i" dans un cercle) */
.info:after {
    --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z'/%3E%3C/svg%3E");
    background-color: #5091B2;
}

.success {
    border-left: 5px solid #5F9025;
    color: #5F9025 !important;
}
/* Icône Success (Coche / Check dans un cercle) */
.success:after {
    --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E");
    background-color: #5F9025;
}

.warning {
    border-left: 5px solid #ffcc00 ;
    color: #ff7700  !important;
}
/* Icône Warning (Triangle d'alerte) */
.warning:after {
    --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E");
    background-color: #ffcc00 ;
}

.error {
    border-left: 5px solid #DE5959;
    color: #DE5959 !important;
}
/* Icône Error (Croix dans un cercle) */
.error:after {
    --icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z'/%3E%3C/svg%3E");
    background-color: #DE5959;
}

.ads {
    background-color: white;
    color: gray !important;
    border: 2px solid #F66;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}
.ads:before {
    position: absolute;
    content: "Annonce";
    color: gray;
    right: 0;
    top: -20px;
    font-size: 12px;
    font-style: italic;
}

@media screen and (max-width: 500px) {
    .help, .info, .success, .warning, .error, .ads {
        border-width: 1px;
        border-color: lightgray;
        margin: 50px 0 25px !important;
    }
    .help { border-top: 5px solid #7F50B2; }
    .info { border-top: 5px solid #5091B2; }
    .success { border-top: 5px solid #5F9025; }
    .warning { border-top: 5px solid #ffa300; }
    .error { border-top: 5px solid #DE5959; }

    .help:before, .info:before, .success:before, .warning:before, .error:before, .ads:before,
    .help:after, .info:after, .success:after, .warning:after, .error:after {
        position: absolute;
        top: 0;
        left: 50%;
        width: 28px;
        height: 28px;
        transform: translateX(-50%) translateY(-130%);
    }
}