.tp-tm-choix.tp-transforme {
    display: grid;
    align-content: center;
    gap: clamp(18px, 3vw, 38px);
    padding: clamp(14px, 3vw, 36px);
}
.tp-tm-hote .tp-tm-avec-verticale .tp-tm-choix { display: grid; }
.tp-tm-choix #tp-tm-titre-choix {
    margin: 0;
    text-align: center;
    color: #214d3c;
    font: bold clamp(25px, 4.5cqi, 40px)/1.15 Arial, sans-serif;
}
.tp-tm-choix .tp-tm-cartes-themes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 2cqi, 20px);
    margin: 0;
    padding: 0;
    list-style: none;
}
.tp-tm-cartes-themes li { display: flex; min-width: 0; }
.tp-tm-choix .tp-tm-carte-theme {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: clamp(10px, 2.2cqi, 22px);
    border: 2px solid #9cb9a9;
    border-radius: 15px;
    color: #254b3a;
    background: #fff;
    text-align: center;
    text-decoration: none;
    font: bold clamp(18px, 3cqi, 26px)/1.18 Arial, sans-serif;
}
.tp-tm-choix .tp-tm-nom-theme { font: inherit; color: inherit; text-align: inherit; }
.tp-tm-carte-theme img {
    display: block;
    width: 100%;
    height: clamp(80px, 15cqi, 153px);
    object-fit: contain;
}
.tp-tm-choix .tp-tm-carte-theme:disabled {
    opacity: 1;
    border-color: #c9d3cb;
    color: #3e554a;
    cursor: default;
}
.tp-tm-carte-theme small { color: #53655d; font: 500 14px/1.2 Arial, sans-serif; }
.tp-tm-choix .tp-tm-choix-varies { padding-top: clamp(12px, 2.6cqi, 24px); border-top: 1px solid #cdd8d0; }
.tp-tm-choix-varies .tp-tm-carte-theme {
    flex-direction: row;
    width: min(100%, 330px);
    min-height: 66px;
    margin-inline: auto;
    padding: 8px 18px;
    gap: 12px;
    border-width: 1px;
    font-size: clamp(17px, 2.7cqi, 21px);
}
.tp-tm-choix-varies img { width: 64px; height: 48px; }
.tp-tm-choix a.tp-tm-carte-theme:focus-visible { outline: 3px solid #174b80; outline-offset: 3px; }
@media (hover:hover) {
    .tp-tm-choix a.tp-tm-carte-theme:hover { background: #f1f8ef; border-color: #40814c; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .tp-tm-choix a.tp-tm-carte-theme { transition: transform .16s ease, border-color .16s ease; }
    .tp-tm-choix a.tp-tm-carte-theme:hover { transform: translateY(-4px); }
}
@container tp-transforme (max-width: 470px) {
    .tp-tm-choix .tp-tm-cartes-themes { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .tp-tm-cartes-themes .tp-tm-carte-theme {
        display: grid;
        grid-template-columns: 82px 1fr;
        grid-template-rows: auto;
        gap: 2px 10px;
        justify-items: start;
        text-align: left;
        padding: 8px 12px;
    }
    .tp-tm-cartes-themes .tp-tm-carte-theme img { grid-column: 1; grid-row: 1 / span 2; width: 82px; height: 52px; }
    .tp-tm-cartes-themes .tp-tm-carte-theme .tp-tm-nom-theme { grid-column: 2; grid-row: 1 / span 2; }
    .tp-tm-cartes-themes .tp-tm-carte-theme:disabled .tp-tm-nom-theme { grid-row: 1; align-self: end; }
    .tp-tm-cartes-themes .tp-tm-carte-theme small { grid-column: 2; grid-row: 2; align-self: start; }
}
