/* Comparatif des formats */
.sqelm-cmp {
    --sqelm-cmp-col: 22%;
    --sqelm-cmp-pad: 32px;
    --sqelm-cmp-vpad: 20px;
    --sqelm-cmp-r: 4px;
    --sqelm-cmp-texte: #FFFFFF;
    --sqelm-cmp-doux: #C9D4D3;
    --sqelm-cmp-lignes: rgba(255, 255, 255, .2);
    --sqelm-cmp-jauge: #A8A26C;
    --sqelm-cmp-jauge-vide: rgba(255, 255, 255, .25);
    --sqelm-cmp-btn: #A8A26C;
    --sqelm-cmp-btn-txt: #1B1B1B;
    --sqelm-cmp-fond: #2F4547;
    --sqelm-cmp-max: 1392px;
    --sqelm-cmp-espace: 56px;
    --sqelm-cmp-etiquette: #C9D4D3;
    --sqelm-cmp-titre: #FFFFFF;
    padding: 96px 64px;
    border-radius: 6px;
    background: var(--sqelm-cmp-fond);
    color: var(--sqelm-cmp-texte);
}
.sqelm-cmp__inner { max-width: var(--sqelm-cmp-max); margin: 0 auto; }
.sqelm-cmp__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 48px; margin-bottom: var(--sqelm-cmp-espace); }
.sqelm-cmp__etiquette { margin: 0 0 14px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--sqelm-cmp-etiquette); }
.sqelm-cmp__titre { margin: 0; font-size: 52px; font-weight: 300; line-height: 1.06; letter-spacing: -.02em; color: var(--sqelm-cmp-titre); }
.sqelm-cmp__intro { margin: 0; max-width: 46ch; font-size: 15px; line-height: 1.6; color: var(--sqelm-cmp-doux); }

/* Neutralise the theme's table styles (stripes, borders, backgrounds) */
.sqelm-cmp table, .sqelm-cmp thead, .sqelm-cmp tbody, .sqelm-cmp tr, .sqelm-cmp th, .sqelm-cmp td { background: transparent !important; border: 0; box-shadow: none; }
.sqelm-cmp table tbody > tr:nth-child(odd) > td, .sqelm-cmp table tbody > tr:nth-child(odd) > th,
.sqelm-cmp table tbody > tr:nth-child(even) > td, .sqelm-cmp table tbody > tr:nth-child(even) > th { background: transparent !important; }
.sqelm-cmp table tbody tr:hover > td, .sqelm-cmp table tbody tr:hover > th { background: transparent !important; }
/* No line above the header row, whatever the theme or the Elementor kit adds */
.sqelm-cmp .sqelm-cmp__table,
.sqelm-cmp .sqelm-cmp__table thead,
.sqelm-cmp .sqelm-cmp__table thead tr,
.sqelm-cmp .sqelm-cmp__table thead th,
.sqelm-cmp .sqelm-cmp__table thead td { border-top: 0 !important; border-right: 0 !important; border-bottom: 0 !important; outline: 0; }
.sqelm-cmp .sqelm-cmp__table thead .sqelm-cmp__vide { border-left: 0 !important; }
.sqelm-cmp__table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0; border: 0; background: transparent; }
.sqelm-cmp__table th, .sqelm-cmp__table td { border: 0; background: transparent; text-align: left; vertical-align: top; }
.sqelm-cmp__caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sqelm-cmp__vide { width: var(--sqelm-cmp-col); }
.sqelm-cmp__table thead th { padding: 0 var(--sqelm-cmp-pad) 24px; border-left: 1px solid var(--sqelm-cmp-lignes); font-weight: 400; }
.sqelm-cmp__pieces { display: block; font-size: 56px; font-weight: 300; line-height: 1; color: var(--sqelm-cmp-texte); white-space: nowrap; }
.sqelm-cmp__nom { display: block; margin-top: 8px; font-size: 14px; color: var(--sqelm-cmp-doux); }
.sqelm-cmp__table tbody th, .sqelm-cmp__table tbody td { padding: var(--sqelm-cmp-vpad) var(--sqelm-cmp-pad); border-top: 1px solid var(--sqelm-cmp-lignes); }
.sqelm-cmp__table tbody th { padding-left: 0; }
.sqelm-cmp__table tbody td { border-left: 1px solid var(--sqelm-cmp-lignes); }
.sqelm-cmp__lib { font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--sqelm-cmp-doux); }
.sqelm-cmp__val { font-size: 17px; line-height: 1.5; color: var(--sqelm-cmp-texte); }
.sqelm-cmp__table .sqelm-cmp__actions td { padding-top: 24px; padding-bottom: 0; border-top: 0; }
.sqelm-cmp__table .sqelm-cmp__actions td:first-child { border-left: 0; }

/* Jauge : un carré par appartement */
.sqelm-cmp__jauge { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 10px; max-width: 220px; }
.sqelm-cmp__jauge i { width: 8px; height: 8px; border-radius: 2px; background: var(--sqelm-cmp-jauge-vide); }
.sqelm-cmp__jauge i.is-on { background: var(--sqelm-cmp-jauge); }

.sqelm-cmp__bouton {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: var(--sqelm-cmp-r);
    background: var(--sqelm-cmp-btn);
    color: var(--sqelm-cmp-btn-txt);
    font-size: 15px;
    text-decoration: none;
    transition: filter .2s ease;
}
.sqelm-cmp__bouton.is-complet { background: transparent; color: var(--sqelm-cmp-texte); box-shadow: inset 0 0 0 1px var(--sqelm-cmp-lignes); }
.sqelm-cmp__bouton:hover, .sqelm-cmp__bouton:focus { color: var(--sqelm-cmp-btn-txt); filter: brightness(.94); text-decoration: none; }
.sqelm-cmp__bouton.is-complet:hover, .sqelm-cmp__bouton.is-complet:focus { color: var(--sqelm-cmp-texte); }
.sqelm-cmp__bouton:focus-visible { outline: 2px solid var(--sqelm-cmp-texte); outline-offset: 3px; }

/* Cellulaire : un format ouvert à la fois */
.sqelm-cmp__mobile { display: none; }
.sqelm-cmp__item { border-top: 1px solid var(--sqelm-cmp-lignes); }
.sqelm-cmp__item:last-child { border-bottom: 1px solid var(--sqelm-cmp-lignes); }
.sqelm-cmp__item summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 0; cursor: pointer; list-style: none; }
.sqelm-cmp__item summary::-webkit-details-marker { display: none; }
.sqelm-cmp__item summary > span:first-child { display: flex; align-items: baseline; gap: 12px; }
.sqelm-cmp__item .sqelm-cmp__pieces { display: inline; font-size: 32px; }
.sqelm-cmp__item .sqelm-cmp__nom { display: inline; margin: 0; }
.sqelm-cmp__plus { position: relative; flex: none; width: 14px; height: 14px; }
.sqelm-cmp__plus::before, .sqelm-cmp__plus::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--sqelm-cmp-jauge); transition: transform .3s ease; }
.sqelm-cmp__plus::after { transform: rotate(90deg); }
.sqelm-cmp__item[open] .sqelm-cmp__plus::after { transform: rotate(0deg); }
.sqelm-cmp__item dl { margin: 0; }
.sqelm-cmp__item dl > div { display: grid; grid-template-columns: 96px 1fr; gap: 10px; padding: 12px 0; border-top: 1px solid var(--sqelm-cmp-lignes); }
.sqelm-cmp__item dt { margin: 0; font-size: 13px; }
.sqelm-cmp__item dd { margin: 0; font-size: 15px; }
.sqelm-cmp__mbtn { padding: 12px 0 20px; }

@media (max-width: 767px) {
    .sqelm-cmp { padding: 44px 18px 24px; }
    .sqelm-cmp__titre { font-size: 30px; }
    .sqelm-cmp__tete { margin-bottom: 24px; }
    .sqelm-cmp__table { display: none; }
    .sqelm-cmp__mobile { display: block; }
}

.sqelm-cmp__aide { padding: 16px; border: 1px dashed #B9B5A3; font-size: 14px; }
