.escape-room-card { width: 100%; height: 100%; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 4px 14px rgba(28,49,68,.07); }
.escape-room-card__image { position: relative; aspect-ratio: 2.3 / 1; overflow: hidden; background: #edf1f5; display: grid; place-items: center; color: #1c3144; }
.escape-room-card__image img { width: 100%; height: 100%; object-fit: cover; }
.escape-room-card__status { position: absolute; bottom: 10px; left: 10px; background: #1c3144; color: #fff; border-radius: 6px; padding: 5px 8px; font-size: .8rem; }
.escape-room-card__body { padding: 20px; display: flex; flex: 1; flex-direction: column; gap: 14px; color: #1c3144; }
.escape-room-card__body h3 { margin: 0; font-size: 1.2rem; color: #1c3144; }
.escape-room-card__body p { margin: 0; }
.escape-room-card__provider { font-size: .9rem; color: #435569; }
.escape-room-card__facts { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 auto; }
.escape-room-card__facts li { padding: 3px 0; font-size: .85rem; color: #435569; }
.escape-room-card__facts i { margin-right: 3px; }
.escape-room-card__difficulty { width: fit-content; border-radius: 20px; padding: 5px 10px; font-size: .78rem; font-weight: 700; }
.escape-room-card__difficulty--1 { background: #e4f3e8; color: #226038; }
.escape-room-card__difficulty--2 { background: #dff3f2; color: #16615f; }
.escape-room-card__difficulty--3 { background: #fff1ce; color: #795400; }
.escape-room-card__difficulty--4 { background: #ffeadb; color: #943f13; }
.escape-room-card__difficulty--5 { background: #f5e1e8; color: #82243f; }
.escape-room-card__story summary { cursor: pointer; list-style: none; }
.escape-room-card__story summary::-webkit-details-marker { display: none; }
.escape-room-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .9rem; line-height: 1.55; }
.escape-room-card__more { display: inline-block; margin-top: 6px; font-size: .82rem; text-decoration: underline; color: #435569; }
.escape-room-card__story[open] .escape-room-card__excerpt { display: none; }
.escape-room-card__story[open] p { margin-top: 8px; font-size: .9rem; line-height: 1.55; }
.escape-room-card__body .category-button { text-align: center; }
.escape-room-card__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.activity-rooms { margin: 28px 0; min-width: 0; }
.activity-rooms__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.activity-rooms__heading .titre-activity { margin: 0; color: #fff; }
.activity-rooms__controls { display: flex; gap: 8px; }
.activity-rooms__controls[hidden] { display: none; }
.activity-rooms__controls button { width: 38px; height: 38px; border: 1px solid #d8e2ea; border-radius: 50%; background: #fff; color: #1c3144; cursor: pointer; font-size: 1.2rem; }
.activity-rooms__controls button:disabled { opacity: .4; cursor: default; }
.activity-rooms__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 16px; scrollbar-width: thin; scrollbar-color: #8799aa transparent; }
.activity-rooms__track > .gv-wrapper { display: flex; flex: 0 0 min(38%, 280px); width: min(38%, 280px); min-width: 0; max-width: none; padding: 0; scroll-snap-align: start; }
.activity-rooms__track > .gv-wrapper:only-child { flex-basis: min(100%, 280px); }
.activity-rooms .escape-room-card { border-radius: 14px; }
.activity-rooms .escape-room-card__image { aspect-ratio: 2.6 / 1; }
.activity-rooms .escape-room-card__body { padding: 14px; gap: 10px; }
.activity-rooms .escape-room-card__body h3 { font-size: 1.05rem; line-height: 1.35; }
.activity-rooms .escape-room-card__difficulty { font-size: .73rem; padding: 4px 8px; }
.activity-rooms .escape-room-card__excerpt { font-size: .84rem; }
.activity-rooms .escape-room-card__facts { gap: 5px 10px; }
.activity-rooms .escape-room-card__facts li { font-size: .78rem; }
.activity-rooms .category-button { display: block; padding: 9px 12px; border-radius: 8px; text-decoration: none; font-weight: 700; font-size: .88rem; }
.activity-rooms .category-button--primary { background: #eec13f; color: #1c3144; }
.activity-rooms .category-button:focus-visible { outline: 3px solid #b27b00; outline-offset: 3px; }
@media (max-width: 640px) { .activity-rooms__track > .gv-wrapper { flex-basis: min(82%, 280px); width: min(82%, 280px); } }
.escape-room-card__discover { background: #f4f7fa; color: #1c3144; border: 1px solid #d8e2ea; padding: 10px 12px; border-radius: 10px; font-weight: 700; cursor: pointer; }
.escape-room-dialog { box-sizing: border-box; width: min(680px, calc(100vw - 32px)); max-height: 90dvh; padding: 0; border: 0; border-radius: 20px; color: #1c3144; background: #fff; box-shadow: 0 24px 80px #0005; }
.escape-room-dialog::backdrop { background: rgba(10,25,38,.7); }
.escape-room-dialog__close { position: sticky; top: 12px; z-index: 1; height: 0; display: flex; justify-content: flex-end; margin: 0; padding-right: 12px; }
.escape-room-dialog__close button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #d8e2ea; background: #fff; color: #1c3144; font-size: 1.6rem; cursor: pointer; }
.escape-room-dialog__photo { display: block; width: 100%; height: auto; max-height: 280px; object-fit: cover; }
.escape-room-dialog__body { padding: 26px; display: flex; flex-direction: column; gap: 18px; }
.escape-room-dialog__body h2, .escape-room-dialog__body p { margin: 0; }
.escape-room-dialog__body h2 { font-size: 1.5rem; }
.escape-room-dialog__description { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.7; }
.escape-room-dialog__themes { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.escape-room-dialog__themes li { border-radius: 20px; padding: 6px 12px; background: #edf1f5; font-size: .85rem; }
.escape-room-dialog__note { display: block; color: #435569; font-size: .85rem; line-height: 1.6; margin-top: 8px; }
.escape-room-dialog .category-button--primary { display: block; padding: 12px; border-radius: 10px; background: #eec13f; color: #1c3144; text-align: center; text-decoration: none; font-weight: 700; }
.escape-room-dialog button:focus-visible, .escape-room-card__discover:focus-visible, .escape-room-dialog a:focus-visible { outline: 3px solid #b27b00; outline-offset: 3px; }
@media (max-width: 640px) {
    .escape-room-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 14px; }
    .escape-room-dialog__body { padding: 20px; }
}
.room-experience { padding: 16px; border: 1px solid #e5edf5; border-radius: 14px; background: #f6f9fc; }
.room-experience h3 { margin: 0 0 14px; font-size: .95rem; color: #1c3144; }
.room-experience__row { display: grid; grid-template-columns: 86px minmax(0, 1fr) 44px; align-items: center; gap: 12px; margin: 10px 0; font-size: .8rem; }
.room-experience__row--search { --dimension-color: #e9b400; }
.room-experience__row--logic { --dimension-color: #4385f5; }
.room-experience__row--action { --dimension-color: #ed5263; }
.room-experience__label { display: flex; align-items: center; gap: 8px; color: #435569; }
.room-experience__label i { width: 14px; text-align: center; color: var(--dimension-color); }
.room-experience__track { display: block; height: 6px; overflow: hidden; background: #dfe7f0; border-radius: 8px; }
.room-experience__track > span { display: block; height: 100%; border-radius: inherit; background: var(--dimension-color); }
.room-experience__value { font-weight: 700; text-align: right; color: #1c3144; }
.room-experience__source { display: block; margin-top: 12px; font-size: .73rem; color: #435569; }
.room-success { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: #eef6f2; }
.room-success__ring { flex: 0 0 52px; height: 52px; display: grid; place-items: center; position: relative; border-radius: 50%; background: conic-gradient(#388062 var(--success), #d5e6dc 0); }
.room-success__ring::before { content: ''; position: absolute; inset: 6px; border-radius: 50%; background: #eef6f2; }
.room-success__ring i { position: relative; color: #286348; }
.room-success__title { font-size: .9rem; }
.room-success__title strong { margin-left: 8px; font-size: 1.1rem; color: #286348; }
.room-success small { color: #435569; font-size: .75rem; }
@media (max-width: 380px) { .room-experience__row { grid-template-columns: 74px minmax(0, 1fr) 40px; gap: 8px; } }
.escape-room-card--premium { border: 2px solid #eec13f; box-shadow: 0 4px 16px rgba(190,143,18,.18); }
.escape-room-card__premium { position: absolute; top: 10px; left: 10px; z-index: 1; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 8px; background: #1c3144; color: #eec13f; font-size: .75rem; font-weight: 700; }
.escape-room-card__bookable { position: absolute; top: 10px; right: 10px; z-index: 1; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 8px; background: #e4f3e8; color: #226038; box-shadow: 0 2px 8px rgba(0,0,0,.12); font-size: .72rem; font-weight: 700; }
