/* Une invitation sous le résultat ; aucun élément ne recouvre le calculateur. */
.studio-promo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 1rem;
  min-height: 224px;
  border: 1px solid #234044;
  border-radius: 0;
  background: var(--monitor-bg);
  color: var(--monitor-text);
  contain: layout;
  scroll-margin-top: calc(var(--stack-h, 6rem) + 4.5rem);
}
.studio-promo__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}
.studio-promo::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #0b1220 10%, rgba(11,18,32,.96) 36%, rgba(11,18,32,.58) 62%, transparent 100%);
}
.studio-promo__content { position: relative; padding: 1.25rem; }
.studio-promo__eyebrow {
  display: block;
  margin-bottom: .5rem;
  color: var(--mint);
  font-family: 'IBM Plex Mono', monospace;
  font-size: .625rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.studio-promo__title {
  max-width: 13ch;
  margin: 0 0 .5rem;
  color: #f8fafc;
  font-size: 1.25rem;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -.02em;
}
.studio-promo__text {
  margin: 0 0 .875rem;
  color: #d0dce5;
  font-size: .8125rem;
  line-height: 1.5;
}
.studio-promo__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  min-height: 44px;
  padding: .625rem .875rem;
  border: 1px solid var(--mint);
  border-radius: 0;
  background: var(--mint);
  color: #07281f;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background .15s;
}
.studio-promo__cta:hover { background: #a7f3d0; color: #07281f; }
.studio-promo__cta:focus-visible { outline: 3px solid #f8fafc; outline-offset: 4px; }
.studio-promo__note { display: block; margin-top: .5rem; font-size: .625rem; color: #bacbd7; }
.resource-carousel { margin-top: 1rem; border: 1px solid #234044; background: var(--monitor-bg); color: var(--monitor-text); scroll-margin-top: calc(var(--stack-h, 6rem) + 4.5rem); }
.resource-carousel .studio-promo { margin-top: 0; min-height: 260px; border: 0; }
.resource-carousel__slide { min-width: 0; }
.resource-carousel .studio-promo__content { min-height: 260px; }
.resource-carousel__controls { display: flex; align-items: center; justify-content: center; gap: .75rem; min-height: 44px; padding-inline: .5rem; border-top: 1px solid #234044; }
.resource-carousel__arrow { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--monitor-text); cursor: pointer; }
.resource-carousel__arrow:hover { background: var(--monitor-surface); color: var(--mint); }
.resource-carousel__arrow:focus-visible { outline: 2px solid var(--mint); outline-offset: -4px; }
.resource-carousel__dots { display: flex; align-items: center; gap: .375rem; }
.resource-carousel__dots > span { width: .3125rem; height: .3125rem; background: var(--monitor-faint); }
.resource-carousel__dots > span.is-active { background: var(--mint); }
.resource-carousel__counter { min-width: 2.5rem; color: #bacbd7; font: .6875rem 'IBM Plex Mono', monospace; }
.resource-carousel__fallback { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .75rem 1.25rem; border-top: 1px solid #234044; font-size: .75rem; }
.resource-carousel__fallback a { color: var(--mint); text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .studio-promo__cta { transition: none; } }
@media print { .studio-promo, .resource-carousel { display: none !important; } }
