.siatel-services-grid { align-items: stretch; }

.siatel-feature, .siatel-room, .siatel-service, .siatel-groupes__support-card, .siatel-groupes__hero-card, .siatel-location__visual, .siatel-trustindex, .siatel-contact__form-card { min-width: 0; border: 1px solid var(--siatel-line); box-shadow: var(--siatel-shadow-soft); background: var(--siatel-surface); border-radius: var(--siatel-radius-xl); }
.siatel-feature, .siatel-room, .siatel-service, .siatel-groupes__support-card { transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.siatel-feature:hover, .siatel-room:hover, .siatel-service:hover, .siatel-groupes__support-card:hover, .siatel-trustindex:hover, .siatel-contact__form-card:hover { transform: translateY(-3px); box-shadow: var(--siatel-shadow); border-color: rgba(143,31,43,.14); }

.siatel-feature h3, .siatel-room h3, .siatel-service h3, .siatel-groupes__content h3, .siatel-trustindex h3, .siatel-contact__form-card h3 { margin-bottom: 8px; font-size: 1.18rem; line-height: 1.2; }
.siatel-feature p, .siatel-room p, .siatel-service p, .siatel-groupes__lead, .siatel-location__lead, .siatel-contact__lead { color: var(--siatel-muted); line-height: 1.65; }

.siatel-room, .siatel-service { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.siatel-room__media { aspect-ratio: 4 / 3; background: #e7dfd5; overflow: hidden; }
.siatel-service__media { aspect-ratio: 4 / 3; min-height: 0; padding: 0; background: #e7dfd5; overflow: hidden; display: grid; place-items: center; }
.siatel-room__media img, .siatel-groupes__hero-card img, .siatel-groupes__support-card--image img, .siatel-location__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.siatel-service__media img, .siatel-groupes__hero-card .siatel-groupes__img, .siatel-groupes__support-card--image .siatel-groupes__img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.siatel-service__media picture, .siatel-groupes__hero-card picture, .siatel-groupes__support-card--image picture { display: block; width: 100%; height: 100%; }
.siatel-service__media .siatel-lightbox-trigger img { object-fit: cover; object-position: center; }
.siatel-room:hover .siatel-room__media img, .siatel-service:hover .siatel-service__media img, .siatel-groupes__hero-card:hover img, .siatel-groupes__support-card--image:hover img, .siatel-location__image:hover img { transform: scale(1.04); }
.siatel-room__body, .siatel-service__body, .siatel-contact__form-card { padding: 20px; display: flex; flex-direction: column; min-width: 0; }
.siatel-room__body { gap: 10px; flex: 1; background: linear-gradient(180deg, #fff 0%, #fcf8f4 100%); }
.siatel-room__meta span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: var(--siatel-radius-pill); background: rgba(143,31,43,.10); color: var(--siatel-accent); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.siatel-room__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.siatel-room__tags span { min-height: 32px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: var(--siatel-radius-pill); background: var(--siatel-bg-soft); color: var(--siatel-ink); font-size: .82rem; font-weight: 700; }
.siatel-room__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.siatel-room__actions .siatel-btn { flex: 1 1 160px; }
.siatel-room__actions a:not(.siatel-btn) { display: inline-flex; align-items: center; min-height: 44px; color: var(--siatel-accent); font-weight: 800; text-decoration: underline; text-decoration-color: rgba(143,31,43,.3); text-underline-offset: .22em; }
.siatel-room__actions a:not(.siatel-btn):hover { text-decoration-color: currentColor; }
.siatel-room__actions a:not(.siatel-btn):focus-visible { outline: 3px solid rgba(143,31,43,.28); outline-offset: 3px; border-radius: 4px; }

.siatel-service__body { gap: 10px; flex: 1; padding: 18px 20px 20px; background: linear-gradient(180deg, #fff 0%, #fcf8f4 100%); }
.siatel-service__body h3 { margin-bottom: 0; font-size: 1.05rem; line-height: 1.18; }
.siatel-service__body p { font-size: .87rem; line-height: 1.5; margin-bottom: 0; }
.siatel-service__facts, .siatel-groupes__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.siatel-service__facts li, .siatel-groupes__list li { min-height: 32px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: var(--siatel-radius-pill); background: var(--siatel-bg-soft); color: var(--siatel-ink); font-size: .78rem; font-weight: 700; line-height: 1.18; }
.siatel-service__cta { margin-top: auto; }
.siatel-service__cta .siatel-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--siatel-accent); font-size: .92rem; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(143,31,43,.3); text-underline-offset: .22em; box-shadow: none; }
.siatel-service__cta .siatel-btn:hover { text-decoration-color: currentColor; box-shadow: none; transform: none; }
.siatel-service__cta .siatel-btn:focus-visible { outline: 3px solid rgba(143,31,43,.28); outline-offset: 3px; }

.siatel-groupes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; margin-top: 14px; }
.siatel-groupes-card { height: 100%; }

.siatel-lightbox-trigger { appearance: none; border: 0; background: transparent; padding: 0; margin: 0; display: block; width: 100%; height: 100%; cursor: zoom-in; color: inherit; }
.siatel-lightbox-trigger:focus-visible { outline: 3px solid rgba(143,31,43,.35); outline-offset: 4px; border-radius: 12px; }
.siatel-lightbox-trigger picture { display: block; width: 100%; height: 100%; }
.siatel-lightbox-trigger img { width: 100%; height: 100%; object-fit: contain; display: block; }
.siatel-lightbox { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 18px; background: rgba(24, 21, 20, .72); opacity: 0; pointer-events: none; transition: opacity 180ms ease; }
.siatel-lightbox.is-open { opacity: 1; pointer-events: auto; }
.siatel-lightbox__backdrop { position: absolute; inset: 0; border: 0; background: transparent; padding: 0; margin: 0; cursor: zoom-out; }
.siatel-lightbox__panel { position: relative; z-index: 1; width: min(96vw, 1600px); max-height: 92vh; display: grid; gap: 10px; }
.siatel-lightbox__media { width: 100%; max-height: 84vh; display: grid; place-items: center; }
.siatel-lightbox__media picture, .siatel-lightbox__media img { display: block; width: auto; max-width: 100%; max-height: 84vh; }
.siatel-lightbox__close { justify-self: end; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 999px; background: rgba(255,255,255,.95); color: var(--siatel-accent); font-size: 1.4rem; font-weight: 700; line-height: 1; cursor: pointer; box-shadow: var(--siatel-shadow-soft); }
.siatel-lightbox__close:focus-visible { outline: 3px solid rgba(255,255,255,.6); outline-offset: 4px; }
.siatel-lightbox__caption { color: rgba(255,255,255,.95); font-size: .92rem; line-height: 1.4; text-align: center; max-width: 70ch; margin: 0 auto; }
.siatel-lightbox-open { overflow: hidden; }

#groupes .siatel-shell { display: block; }

@media (max-width: 1100px) {
  .siatel-section__head--split, .siatel-location, .siatel-contact { grid-template-columns: 1fr; }
  .siatel-grid--4, .siatel-grid--3, .siatel-trustindex__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .siatel-groupes-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .siatel-grid--4, .siatel-grid--3, .siatel-trustindex__grid, .siatel-groupes__highlights, .siatel-location__points, .siatel-contact__details, .siatel-contact-grid, .siatel-form__grid { grid-template-columns: 1fr; }
  .siatel-hero h1 { max-width: 100%; }
  .siatel-groupes-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .siatel-mini-card { padding: 14px; }
  .siatel-room__body, .siatel-service__body, .siatel-contact__form-card { padding: 16px; }
  .siatel-service__media { min-height: 320px; padding: 2px; }
  .siatel-groupes-card { min-height: 632px; }
  .siatel-groupes__hero-card { min-height: 320px; padding: 6px; }
  .siatel-groupes__floating-card { left: 14px; top: 14px; max-width: calc(100% - 28px); }
  .siatel-location__visual { padding: 14px; }
  .siatel-location__map iframe { min-height: 260px; }
  .siatel-footer__cta { width: 100%; }
}
