/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Thème enfant d'Hello Elementor pour agence-juridique.com. Nettoyé le 10/09/2026 : suppression des styles du thème The7 (plus installé) et des blocs repris par le plugin Cocon Sémantique.
Author: Legal2digital
Template: hello-elementor
Version: 3.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* =========================================================================
   1. Contenu
   ====================================================================== */

.content table {
    margin: 50px auto !important;
    width: 100% !important;
}

ul.custom-list li,
ul.custom-list-white li {
    background-position: left center;
    background-repeat: no-repeat;
    list-style-type: none;
    padding: 0 0 3px 35px;
}

ul.custom-list-white li {
    background-image: url("https://agence-juridique.com/wp-content/uploads/2023/06/white-check.png");
}

ul.custom-list li {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+PHVzZSB4bGluazpocmVmPSIjX0ltYWdlMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIvPjxkZWZzPjxpbWFnZSBpZD0iX0ltYWdlMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFVQ0FZQUFBQ05pUjBOQUFBQUNYQklXWE1BQUE3RUFBQU94QUdWS3c0YkFBQUJpRWxFUVZRNGpaM1VQNDhOVVJpQThkOGRWN0swa3ZrSUJ4Vzd1SXVzaG9aT2ZBQ2NTcUc3aVdxVlNuSTdoV2FFVGk5UjBKRzdjdTJ1anN4SE9QMnlFZGxWekF5VG0xbjN6NU9jWnM1NW4zblBlYzk3ZWpySWl6TERMVnpBS3Rad0VoTjhyc2Y3Rk1QdjZkaGVoK3cwQ2x6cCtsbUxDZTZsR0w1MUN2T2k3R0dJSjFpWklXdll4eVpHS1laRDZMY21oM2c2cDZoaEJjOXdpTkhmRE90dGZsMGdzNjVNVjFNTTMzdDVVUjdEUjF4ZVV0WXd3ZFVNTjVlUVRmQWM3U3Bmd28xTWRUVVc0UzAyVWd3UDhXbHFiajFUM2JORlpIZFNETC95b2p5SFFaZHdiZXJqSGg3ZzlRelpCNXlZV2pQSVZCM1E1a3VLNFVXSzRhNS8xNmhMZHFwakIzdVo2b0RiWE11TDhqYWtHQjRoemltRG5VelZsMjB5dkdsSlg4NHBnOTB1SVJ4dlMrZVV3WFl2TDhvK3hyallzZUFBVzZyQ3plcWlNVGFhMWp1TG5UbUNqdUluenFjWXlnenFKMmh6U1JrOFRqR1VWQVZvR0tsZW5QMEZNeHZXc2VoK1lNL2dsYW8zLzhjWTk1dk1qaFRXMGo2dVk3MGVBL3hRbmZNdXR2RXV4WEF3SGZzSFR4T0V0Zm1kd0hZQUFBQUFTVVZPUks1Q1lJST0iLz48L2RlZnM+PC9zdmc+);
}

td[colspan]:not([colspan="1"]) {
    background: #f1f1f1;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
}

.thead th div {
    text-align: center;
}

/* =========================================================================
   2. Tableau comparatif  (.comparison)
   ====================================================================== */

.comparison {
    font: 13px/1.4 'Poppins', sans-serif;
    margin: 30px auto 20px;
    padding: 10px;
    text-align: center;
}

.comparison b { font-weight: 600; }

.content table#comparison { border-color: transparent; }

.comparison table {
    border-collapse: collapse;
    border-radius: 10px;
    border-spacing: 0;
    table-layout: auto;
    width: 100%;
}

.comparison table thead { border-radius: 0 10px 0 0; }

.comparison td,
.comparison th {
    border-bottom: 1px solid #E8E8E8;
    border-right: 1px solid #E8E8E8;
    border-top: 1px solid #E8E8E8;
    color: #333;
    empty-cells: show;
    font-size: 15px;
    padding: 10px;
    text-align: center;
}

.comparison th {
    border-bottom: 0;
    border-top: 0;
    font-weight: normal;
    padding: 0;
}

.comparison tbody tr td:not(:empty) { background-color: #fff; }
.comparison tbody tr.compare-row td:not(:empty) { background: rgba(18, 32, 83, .05) !important; }
.comparison tbody tr:nth-child(odd) { display: none; }
.comparison .compare-row { background: rgba(18, 32, 83, .05); }

.comparison tr td:first-child {
    border-left: 1px solid #E8E8E8;
    border-top: 1px solid #E8E8E8;
    padding: 15px;
    text-align: left;
}

.comparison tr:last-child td { padding: 0; }
.comparison tr:last-child td:first-child { border-width: 1px 1px 0 0 !important; }

.product-1,
.product-2,
.product-3 { background: #122053; }
.product-1 { border-left: 0; border-top-left-radius: 10px; }
.product-3 { border-right: 0; border-top-right-radius: 10px; }

.comparison .product,
.comparison .tl {
    color: #fff;
    font-size: 14px;
    padding: 10px;
}

.comparison .tl2 { border-right: 0; }

.comparison .product {
    background: #122053;
    font-size: 1.6em;
    height: 40px;
}

.comparison .price-info {
    background-color: rgba(18, 32, 83, .9);
    color: #fff;
    padding: 15px;
}

.comparison .price-now,
.comparison .price-now span { color: #fff; }
.comparison .price-now span { font-size: 36px; }

.comparison .price-now p {
    display: inline;
    font-size: 14px;
    line-height: 16px;
    text-align: center;
}

.comparison .price-buy {
    background: rgba(18, 32, 83, .75);
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    height: 100%;
    letter-spacing: 1px;
    margin: 0;
    padding: 15px 5px;
    text-decoration: none;
    text-transform: uppercase;
    transition: .3s all ease;
    width: 100%;
}

.comparison .price-buy:hover { background: #122053; }

.fa-check { color: #122053; }

@media screen and (min-width: 721px) and (max-width: 1000px) {
    .comparison .price-now span { font-size: 32px; }
    .comparison .price-now p { display: block; }
}

@media screen and (max-width: 720px) {
    .comparison { max-width: 100%; }
    .comparison td:first-child,
    .comparison th:first-child { display: none; }
    .comparison tbody tr:nth-child(odd) { background: #F7F7F7; display: table-row; }
    .comparison .row { background: #fff; }
    .comparison td,
    .comparison th { border: 1px solid #CCC; border-top: none; font-size: 14px; padding: 10px; }
    .comparison .compare-row { background: #fff; }
    .comparison .price-now p { display: block; }
    .comparison .price-now span { font-size: 24px; }
    .comparison .qbse { font-size: 1.2em; }
    .price-info { background-color: rgba(18, 32, 83, .767); border-top: 0 !important; padding: 10px 0 !important; }
    .price-info p { font-size: 8px !important; line-height: 8px; }
}

/* =========================================================================
   3. Bloc CTA
   ====================================================================== */

.cta {
    background: #122053;
    border-radius: 10px;
    color: #fff;
    overflow: hidden;
    padding: 50px;
    position: relative;
}

.cta a { color: #fff; }

.cta .cta--bg {
    background-image: url(https://agence-juridique.com/wp-content/uploads/2022/10/blob-scene-wide-simple.svg);
    background-position: center center;
    background-size: cover;
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    opacity: .16;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
}

.cta .cta--content {
    position: relative;
    z-index: 1;
}

/* =========================================================================
   4. Fenêtre modale (HTML posé dans Elementor)
   ====================================================================== */

.modal-overlay {
    background-color: rgba(0, 0, 0, .75);
    display: none;
    inset: 0;
    overflow: auto;
    padding: 40px;
    position: fixed;
    z-index: 10000;
}

.modal-overlay.open {
    align-items: center;
    display: flex;
    justify-content: center;
}

.modal {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25);
    margin: auto;
    max-width: 600px;
    position: relative;
    width: 100%;
}

.modal img { max-width: 600px; width: 100%; }

.modal-close {
    background: url(https://agence-juridique.com/wp-content/uploads/2023/05/close.png) no-repeat;
    cursor: pointer;
    height: 49px;
    opacity: 1;
    position: absolute;
    right: -35px;
    top: -35px;
    transition: all ease-in-out .3s;
    width: 49px;
    z-index: 9999;
}

.modal-close:hover { opacity: .2; }

.modal-header {
    border-radius: 10px 10px 0 0;
    font-size: 18px;
    font-weight: 600;
    overflow: hidden;
    padding: 20px;
    text-align: center;
}

.modal-body { padding: 20px; text-align: center; }

.modal-footer {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 20px;
}

body.modal-open { overflow: hidden; }

.modal .modal-body .step { display: none; }
.modal .modal-body .step.show { display: block; }

.modal .modal-body .list {
    display: flex;
    flex-flow: row wrap;
    gap: 10px;
    justify-content: center;
}

.modal .modal-body .list .button {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    line-height: 14px;
    margin: 0;
    min-height: 0;
    padding: 15px;
    width: fit-content;
}

.modal .modal-body .list .button-return {
    background-color: #fff !important;
    border: 2px solid #122053 !important;
    color: #122053 !important;
    font-weight: 600;
}

/* =========================================================================
   5. [custom_related_posts] — articles similaires
   ====================================================================== */

.more-posts {
    color: #122053;
    display: block;
    font-size: 38px;
    font-weight: 600;
    margin: 50px auto;
    text-align: center;
}

.related-posts {
    display: flex;
    flex-flow: row wrap;
    gap: 20px;
    margin: auto;
    padding: 20px;
    width: 100%;
}

.related-post {
    display: flex;
    flex-direction: column;
    width: 300px;
}

.related-post a { color: #333; }

.related-post .related-post-img { flex-shrink: 0; }

.related-post .related-post-img > img {
    border-radius: 10px;
    height: 160px;
    object-fit: cover;
}

.related-post .related-post-text {
    display: flex;
    flex-direction: column;
}

.related-post .related-post-text h3 {
    font-size: 24px !important;
    margin-bottom: 12px !important;
}

.related-post .related-post-text span {
    color: #000;
    font-size: 12px !important;
    margin-bottom: 12px;
}

/* =========================================================================
   6. [liste_sujet_blog] — étiquettes des sujets du blog
   ====================================================================== */

.liste-tags-sujet-blog {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
}

.tag-sujet-blog {
    background-color: #f0f0f0;
    border-radius: 30px;
    color: #333 !important;
    display: inline-block;
    font-size: 14px;
    padding: 5px 12px;
    text-decoration: none;
    transition: background-color .3s ease;
}

.tag-sujet-blog:hover { background-color: #e0e0e0; }
.tag-sujet-blog .tag-count { font-size: 12px; opacity: .7; }

/* =========================================================================
   7. Divers Elementor
   ====================================================================== */

a.elementor-button-link.elementor-button.elementor-size-xl.popup-button {
    display: flex;
    gap: 10px;
    margin: auto;
    width: fit-content;
}

.dialog-type-lightbox { background-color: rgba(18, 32, 83, .8) !important; }
