/* ==========================================================================
   INSTALL COMMUNICATION 33
   COMPARATEUR PRODUITS
   ========================================================================== */


/* ==========================================================================
   VARIABLES
   ========================================================================== */

:root {
    --ic33-blue-dark: #08233d;
    --ic33-blue: #0057a4;
    --ic33-orange: #ff8500;

    --ic33-border: #dce7f2;
    --ic33-light: #f4f8fb;
    --ic33-text: #45596b;

    --ic33-radius: 16px;
}


/* ==========================================================================
   BARRE FLOTTANTE DE COMPARAISON
   ========================================================================== */

#ic33-comparison-bar {
    position: fixed !important;

    left: 50% !important;
    bottom: 20px !important;

    transform: translateX(-50%) !important;

    width: min(1180px, calc(100% - 40px)) !important;

    margin: 0 !important;
    padding: 12px 14px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;

    border: 1px solid var(--ic33-border) !important;
    border-radius: 18px !important;

    box-shadow:
        0 14px 45px rgba(8, 35, 61, .18) !important;

    z-index: 99999 !important;
}


/* ==========================================================================
   STRUCTURE BARRE
   ========================================================================== */

#ic33-comparison-bar .ic33-comparison-bar__inner {
    display: flex !important;
    align-items: center !important;

    gap: 14px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


#ic33-comparison-bar .ic33-comparison-bar__info {
    flex: 0 0 auto !important;

    min-width: 150px !important;

    margin: 0 !important;
    padding: 0 !important;
}


#ic33-comparison-bar .ic33-comparison-bar__count {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ic33-blue-dark) !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    line-height: 1.25 !important;
}


/* ==========================================================================
   PRODUITS DE LA BARRE
   ========================================================================== */

#ic33-comparison-bar .ic33-comparison-bar__products {
    display: flex !important;
    align-items: center !important;

    gap: 8px !important;

    flex: 1 1 auto !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 2px 0 !important;

    overflow-x: auto !important;

    box-sizing: border-box !important;
}


/* ==========================================================================
   MINI CARTE
   ========================================================================== */

.ic33-comparison-mini-card {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    flex: 0 0 190px !important;

    width: 190px !important;
    height: 68px !important;

    margin: 0 !important;
    padding: 6px 8px !important;

    box-sizing: border-box !important;

    background: #f8fbff !important;

    border: 1px solid #dce8f5 !important;
    border-radius: 10px !important;

    overflow: hidden !important;
}


.ic33-comparison-mini-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 55px !important;

    width: 55px !important;
    height: 55px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border-radius: 7px !important;

    overflow: hidden !important;
}


.ic33-comparison-mini-card__image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}


.ic33-comparison-mini-card__content {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 22px 0 8px !important;
}


.ic33-comparison-mini-card__title {
    display: -webkit-box !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    color: var(--ic33-blue-dark) !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    line-height: 1.25 !important;

    text-decoration: none !important;

    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}


.ic33-comparison-mini-card__price {
    margin: 3px 0 0 !important;
    padding: 0 !important;

    color: var(--ic33-blue) !important;

    font-size: 11px !important;
    font-weight: 800 !important;
}


/* ==========================================================================
   SUPPRESSION MINI CARTE
   ========================================================================== */

.ic33-comparison-mini-card__remove {
    position: absolute !important;

    top: 5px !important;
    right: 5px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 19px !important;
    height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #ffffff !important;

    color: #718096 !important;

    font-size: 15px !important;
    line-height: 1 !important;

    cursor: pointer !important;
}


.ic33-comparison-mini-card__remove:hover {
    background: #eef5fa !important;

    color: var(--ic33-blue-dark) !important;
}


/* ==========================================================================
   ACTIONS BARRE
   ========================================================================== */

#ic33-comparison-bar .ic33-comparison-bar__actions {
    display: flex !important;
    align-items: center !important;

    gap: 8px !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


#ic33-comparison-bar .ic33-comparison-bar__clear {
    margin: 0 !important;
    padding: 10px 11px !important;

    border: 0 !important;

    background: transparent !important;

    color: #66788a !important;

    font-family: inherit !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    cursor: pointer !important;
}


#ic33-comparison-bar .ic33-comparison-bar__clear:hover {
    color: var(--ic33-blue-dark) !important;
}


#ic33-comparison-bar .ic33-comparison-bar__compare {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 110px !important;

    margin: 0 !important;
    padding: 11px 18px !important;

    border: 0 !important;
    border-radius: 9px !important;

    background: var(--ic33-orange) !important;

    color: #ffffff !important;

    font-family: inherit !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    cursor: pointer !important;

    box-shadow:
        0 6px 16px rgba(255, 133, 0, .22) !important;
}


#ic33-comparison-bar .ic33-comparison-bar__compare:hover:not(:disabled) {
    background: #f07800 !important;
}


#ic33-comparison-bar .ic33-comparison-bar__compare:disabled {
    opacity: .45 !important;

    cursor: not-allowed !important;

    box-shadow: none !important;
}


/* ==========================================================================
   BOUTON COMPARER DES CARDS PRODUITS
   ========================================================================== */

.ic33-product-card__compare.is-active {
    background: var(--ic33-blue) !important;

    border-color: var(--ic33-blue) !important;

    color: #ffffff !important;

    box-shadow:
        0 8px 22px rgba(0, 87, 164, .25) !important;
}


.ic33-product-card__compare.is-active:hover {
    background: #004b8d !important;

    border-color: #004b8d !important;

    color: #ffffff !important;
}


/* ==========================================================================
   PAGE COMPARAISON
   ========================================================================== */


/*
 * IMPORTANT
 *
 * Storefront impose une largeur maximale sur .col-full.
 *
 * Nous ne modifions PAS globalement Storefront.
 *
 * Le comparateur sort lui-même de cette contrainte grâce à une largeur
 * calculée par rapport à la fenêtre.
 */


/* --------------------------------------------------------------------------
   Zone du comparateur
   -------------------------------------------------------------------------- */

.ic33-comparison {
    display: block !important;

    /*
     * Sort du container parent Storefront.
     *
     * 100vw = largeur de la fenêtre
     * -40px = 20px à gauche + 20px à droite
     */

    width: calc(100vw - 40px) !important;

    max-width: none !important;

    /*
     * Centre le bloc par rapport à la fenêtre.
     */

    margin-left: calc(50% - 50vw + 20px) !important;
    margin-right: 0 !important;

    margin-top: 0 !important;

    padding: 30px 0 100px !important;

    box-sizing: border-box !important;

    color: var(--ic33-blue-dark) !important;
}


/* ==========================================================================
   TITRE
   ========================================================================== */

/*
 * Le titre principal visible est celui généré par WordPress.
 *
 * Le PHP du shortcode peut éventuellement posséder un header interne :
 * on le masque afin d'éviter un doublon.
 */

.ic33-comparison__header {
    display: none !important;
}


/* ==========================================================================
   CARTES PRODUITS
   ========================================================================== */

.ic33-comparison__products {
    display: grid !important;

    /*
     * 2 produits par défaut.
     */

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 45px !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    float: none !important;

    clear: both !important;
}


/* --------------------------------------------------------------------------
   3 produits
   -------------------------------------------------------------------------- */

.ic33-comparison__products:has(
    > .ic33-comparison__product:nth-child(3)
) {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
}


/* --------------------------------------------------------------------------
   4 produits
   -------------------------------------------------------------------------- */

.ic33-comparison__products:has(
    > .ic33-comparison__product:nth-child(4)
) {
    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;
}


/* --------------------------------------------------------------------------
   5 produits
   -------------------------------------------------------------------------- */

.ic33-comparison__products:has(
    > .ic33-comparison__product:nth-child(5)
) {
    grid-template-columns:
        repeat(5, minmax(0, 1fr)) !important;
}


/* ==========================================================================
   CARTE PRODUIT
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product {

    display: flex !important;

    flex-direction: column !important;
    align-items: center !important;

    position: relative !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 100% !important;

    min-height: 430px !important;

    margin: 0 !important;
    padding: 25px 20px 25px !important;

    box-sizing: border-box !important;

    float: none !important;
    clear: none !important;

    background: #ffffff !important;

    border: 1px solid var(--ic33-border) !important;
    border-radius: var(--ic33-radius) !important;

    box-shadow:
        0 6px 24px rgba(8, 35, 61, .07) !important;

    text-align: center !important;
}


/* ==========================================================================
   LIEN PRODUIT
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-link {

    display: flex !important;

    flex-direction: column !important;
    align-items: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    color: inherit !important;

    text-decoration: none !important;
}


/* ==========================================================================
   IMAGE PRODUIT
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-link
> img {

    display: block !important;

    width: 100% !important;

    max-width: 320px !important;

    height: 240px !important;

    margin: 0 auto 20px !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    object-fit: contain !important;

    object-position: center !important;
}


/* ==========================================================================
   NOM PRODUIT
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-link
> .ic33-comparison__product-name {

    display: block !important;

    width: 100% !important;

    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    color: var(--ic33-blue-dark) !important;

    font-size: 17px !important;

    font-weight: 700 !important;

    line-height: 1.35 !important;

    text-align: center !important;
}


/* ==========================================================================
   HOVER NOM
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-link:hover
> .ic33-comparison__product-name {

    color: var(--ic33-blue) !important;
}


/* ==========================================================================
   PRIX
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-price {

    display: block !important;

    width: 100% !important;

    margin: 15px 0 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    color: var(--ic33-blue) !important;

    font-size: 24px !important;

    font-weight: 800 !important;

    line-height: 1.2 !important;

    text-align: center !important;
}


.ic33-comparison__product-price del {
    color: #718096 !important;

    font-size: 14px !important;
}


.ic33-comparison__product-price ins {
    color: var(--ic33-blue) !important;

    text-decoration: none !important;
}


/* ==========================================================================
   BOUTON VOIR LE PRODUIT
   ========================================================================== */

.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-link::after {

    content: "Voir le produit" !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 160px !important;
    height: 42px !important;

    margin: auto auto 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    border-radius: 9px !important;

    background: var(--ic33-blue-dark) !important;

    color: #ffffff !important;

    font-family: inherit !important;

    font-size: 13px !important;

    font-weight: 800 !important;

    line-height: 1 !important;

    text-align: center !important;

    transition:
        background .2s ease,
        transform .2s ease !important;
}


.ic33-comparison__products
> .ic33-comparison__product
> .ic33-comparison__product-link:hover::after {

    background: var(--ic33-blue) !important;

    transform: translateY(-1px) !important;
}


/* ==========================================================================
   TABLEAU DE COMPARAISON
   ========================================================================== */

.ic33-comparison__table-wrapper {

    display: block !important;

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow-x: auto !important;

    background: #ffffff !important;

    border: 1px solid var(--ic33-border) !important;

    border-radius: 16px !important;

    box-shadow:
        0 6px 24px rgba(8, 35, 61, .06) !important;

    -webkit-overflow-scrolling: touch !important;
}


/* ==========================================================================
   TABLE
   ========================================================================== */

.ic33-comparison__table {

    display: table !important;

    width: 100% !important;

    min-width: 760px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    table-layout: fixed !important;
}


/* ==========================================================================
   THEAD
   ========================================================================== */

.ic33-comparison__table thead {

    display: table-header-group !important;
}


.ic33-comparison__table thead tr {

    display: table-row !important;
}


.ic33-comparison__table thead th {

    display: table-cell !important;

    padding: 18px !important;

    background: var(--ic33-blue-dark) !important;

    color: #ffffff !important;

    border: 0 !important;

    font-size: 13px !important;

    font-weight: 800 !important;

    line-height: 1.3 !important;

    text-align: center !important;

    vertical-align: middle !important;

    box-sizing: border-box !important;
}


.ic33-comparison__table thead th:first-child {

    width: 220px !important;

    background: var(--ic33-blue) !important;

    text-align: left !important;
}


/* ==========================================================================
   TBODY
   ========================================================================== */

.ic33-comparison__table tbody {

    display: table-row-group !important;
}


.ic33-comparison__table tbody tr {

    display: table-row !important;
}


.ic33-comparison__table tbody th,
.ic33-comparison__table tbody td {

    display: table-cell !important;

    padding: 17px 18px !important;

    border-top: 1px solid #e5edf5 !important;

    font-size: 13px !important;

    line-height: 1.45 !important;

    vertical-align: middle !important;

    box-sizing: border-box !important;
}


/* ==========================================================================
   NOM DE LA CARACTÉRISTIQUE
   ========================================================================== */

.ic33-comparison__table tbody th {

    width: 220px !important;

    background: #f2f7fb !important;

    color: var(--ic33-blue-dark) !important;

    font-weight: 800 !important;

    text-align: left !important;
}


/* ==========================================================================
   VALEURS
   ========================================================================== */

.ic33-comparison__table tbody td {

    background: #ffffff !important;

    color: var(--ic33-text) !important;

    font-weight: 500 !important;

    text-align: center !important;

    word-break: break-word !important;
}


/* ==========================================================================
   DIFFÉRENCES
   ========================================================================== */

.ic33-comparison__table tbody tr.is-different th {

    background: #fff4e8 !important;

    color: var(--ic33-blue-dark) !important;

    border-left: 4px solid var(--ic33-orange) !important;
}


.ic33-comparison__table tbody tr.is-different td {

    background: #fffaf5 !important;

    color: var(--ic33-blue-dark) !important;

    font-weight: 700 !important;

    box-shadow:
        inset 0 0 0 1px rgba(255, 133, 0, .10) !important;
}


/* ==========================================================================
   VALEURS IDENTIQUES
   ========================================================================== */

.ic33-comparison__table tbody tr.is-identical td {

    background: #ffffff !important;

    color: #53687a !important;

    font-weight: 500 !important;
}


/* ==========================================================================
   ALTERNANCE TABLEAU
   ========================================================================== */

.ic33-comparison__table tbody tr:nth-child(even)
:not(.is-different) td {

    background: #fafdff !important;
}


.ic33-comparison__table tbody tr:nth-child(even)
:not(.is-different) th {

    background: #eef5fa !important;
}


/* ==========================================================================
   ÉTAT VIDE
   ========================================================================== */

.ic33-comparison__empty {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    min-height: 220px !important;

    margin: 20px 0 !important;
    padding: 35px !important;

    box-sizing: border-box !important;

    background: #f8fbff !important;

    border: 1px solid var(--ic33-border) !important;

    border-radius: 16px !important;

    color: var(--ic33-text) !important;

    text-align: center !important;
}


.ic33-comparison__empty p {

    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;

    font-weight: 600 !important;
}


/* ==========================================================================
   TABLETTE
   ========================================================================== */

@media (max-width: 1100px) {

    .ic33-comparison__products,
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(3)
    ),
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(4)
    ),
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(5)
    ) {

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }


    .ic33-comparison__product-link img {

        height: 200px !important;
    }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 700px) {

    .ic33-comparison {

        width: calc(100vw - 40px) !important;

        margin-left:
            calc(50% - 50vw + 20px) !important;

        padding-top: 20px !important;
        padding-bottom: 80px !important;
    }


    .ic33-comparison__products,
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(3)
    ),
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(4)
    ),
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(5)
    ) {

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;
    }


    .ic33-comparison__products
    > .ic33-comparison__product {

        min-height: 360px !important;

        padding: 15px 10px 18px !important;
    }


    .ic33-comparison__products
    > .ic33-comparison__product
    > .ic33-comparison__product-link
    > img {

        height: 150px !important;

        margin-bottom: 12px !important;
    }


    .ic33-comparison__product-name {

        min-height: 45px !important;

        font-size: 13px !important;
    }


    .ic33-comparison__product-price {

        font-size: 18px !important;
    }


    .ic33-comparison__products
    > .ic33-comparison__product
    > .ic33-comparison__product-link::after {

        width: 100% !important;

        min-width: 0 !important;

        font-size: 11px !important;
    }


    .ic33-comparison__table {

        min-width: 700px !important;
    }

}


/* ==========================================================================
   TRÈS PETIT MOBILE
   ========================================================================== */

@media (max-width: 480px) {

    .ic33-comparison__products,
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(3)
    ),
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(4)
    ),
    .ic33-comparison__products:has(
        > .ic33-comparison__product:nth-child(5)
    ) {

        grid-template-columns: 1fr !important;
    }


    .ic33-comparison__products
    > .ic33-comparison__product {

        min-height: 390px !important;
    }


    .ic33-comparison__products
    > .ic33-comparison__product
    > .ic33-comparison__product-link
    > img {

        height: 180px !important;
    }


    .ic33-comparison__table {

        min-width: 680px !important;
    }

}


/* ==========================================================================
   BARRE FLOTTANTE MOBILE
   ========================================================================== */

@media (max-width: 900px) {

    #ic33-comparison-bar {

        width: calc(100% - 20px) !important;

        bottom: 10px !important;
    }


    #ic33-comparison-bar .ic33-comparison-bar__inner {

        flex-wrap: wrap !important;
    }


    #ic33-comparison-bar .ic33-comparison-bar__info {

        width: 100% !important;
    }


    #ic33-comparison-bar .ic33-comparison-bar__products {

        width: 100% !important;

        order: 2 !important;
    }


    #ic33-comparison-bar .ic33-comparison-bar__actions {

        margin-left: auto !important;

        order: 3 !important;
    }

}


@media (max-width: 600px) {

    .ic33-comparison-mini-card {

        flex-basis: 170px !important;

        width: 170px !important;
    }


    #ic33-comparison-bar
    .ic33-comparison-bar__compare {

        min-width: 100px !important;

        padding: 10px 14px !important;
    }

}

/* ==========================================================================
   PAGE COMPARAISON — FOOTER PLEINE LARGEUR
   ========================================================================== */

/*
 * Le comparateur est volontairement sorti du conteneur Storefront.
 * Le footer, lui, reste dans la structure normale de Storefront.
 *
 * Objectif :
 * - fond du footer sur toute la largeur de la fenêtre ;
 * - aucun débordement horizontal ;
 * - contenu interne du footer conservé dans sa largeur normale ;
 * - aucune modification du footer sur les autres pages.
 */

/* --------------------------------------------------------------------------
   CONTENEUR PRINCIPAL DU FOOTER
   -------------------------------------------------------------------------- */

body:has(.ic33-comparison) .site-footer {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;

    clear: both !important;
}


/* --------------------------------------------------------------------------
   SI LE FOOTER EST ENFERMÉ DANS .col-full
   -------------------------------------------------------------------------- */

body:has(.ic33-comparison) .site-footer > .col-full {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* --------------------------------------------------------------------------
   CONTENEURS INTERNES IC33
   -------------------------------------------------------------------------- */

body:has(.ic33-comparison) .site-footer .ic33-footer__inner,
body:has(.ic33-comparison) .site-footer .ic33-container {
    box-sizing: border-box !important;
}


/* --------------------------------------------------------------------------
   SI LE FOOTER EST LUI-MÊME ENFERMÉ PAR UN CONTENEUR STOREFRONT
   -------------------------------------------------------------------------- */

body:has(.ic33-comparison) .site-footer,
body:has(.ic33-comparison) .site-footer::before,
body:has(.ic33-comparison) .site-footer::after {
    box-sizing: border-box !important;
}


/* --------------------------------------------------------------------------
   CORRECTION DU CONTENEUR PARENT STOREFRONT
   --------------------------------------------------------------------------

   Le footer peut être enfant direct d'un .col-full limité par Storefront.
   On élargit uniquement le parent qui contient le footer, sans toucher
   aux autres zones du site.
 */

body:has(.ic33-comparison) .site-footer {
    position: relative !important;

    left: 50% !important;
    right: auto !important;

    width: 100vw !important;

    margin-left: -50vw !important;
    margin-right: 0 !important;
}


/* --------------------------------------------------------------------------
   CONTENU DU FOOTER
   --------------------------------------------------------------------------

   Le fond prend 100vw.
   Le contenu reste aligné dans la largeur du site.
 */

body:has(.ic33-comparison) .site-footer > .col-full > * {
    box-sizing: border-box !important;
}


/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 700px) {

    body:has(.ic33-comparison) .site-footer {
        width: 100vw !important;
        max-width: none !important;

        margin-left: -50vw !important;
    }

}

/* ==========================================================================
   PAGE COMPARAISON — FOOTER IC33 PLEINE LARGEUR
   ========================================================================== */

body:has(.ic33-comparison) .ic33-footer {
    position: relative !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;

    clear: both !important;
}


/* Le contenu interne garde ses marges normales */
body:has(.ic33-comparison) .ic33-footer > .container,
body:has(.ic33-comparison) .ic33-footer > .ic33-container,
body:has(.ic33-comparison) .ic33-footer > .ic33-container-wide {
    box-sizing: border-box !important;
}


/* Footer-bottom pleine largeur également */
body:has(.ic33-comparison) .ic33-footer .footer-bottom {
    width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/* ==========================================================================
   TITRE WORDPRESS — COMPARER LES PRODUITS
   ========================================================================== */

/*
 * Le titre de la page est généré par le template WordPress page.php.
 * Classe HTML réelle :
 *
 * <h1 class="ic33-page__title">Comparer les produits</h1>
 *
 * Il faut donc cibler .ic33-page__title et NON :
 * .entry-title / .page-title / .entry-header h1
 */

body:has(.ic33-comparison) .ic33-page__title {
    display: block !important;

    width: fit-content !important;
    max-width: calc(100% - 40px) !important;

    margin: 0 0 34px 0 !important;
    padding: 0 0 12px 0 !important;

    box-sizing: border-box !important;

    color: var(--ic33-blue-dark) !important;

    font-family:
        "Roboto Condensed",
        "Arial Narrow",
        Arial,
        sans-serif !important;

    font-size: 42px !important;
    font-weight: 900 !important;

    line-height: 1 !important;

    letter-spacing: -1.2px !important;

    text-align: left !important;
    text-transform: none !important;
}

/* Trait orange façon boutique */

body:has(.ic33-comparison) .ic33-page__title::after {
    content: "" !important;

    display: block !important;

    width: 60px !important;
    height: 4px !important;

    margin-top: 11px !important;

    background: var(--ic33-orange) !important;

    border-radius: 2px !important;
}

/* Mobile */

@media (max-width: 700px) {

    body:has(.ic33-comparison) .ic33-page__title {
        font-size: 30px !important;
        letter-spacing: -.7px !important;

        margin-bottom: 26px !important;
        padding-bottom: 10px !important;
    }

    body:has(.ic33-comparison) .ic33-page__title::after {
        width: 48px !important;
        height: 3px !important;

        margin-top: 8px !important;
    }
}