/* KreaSuite (logiciel de caisse) : chiffres clés, grilles, galerie de captures
   et visionneuse, carte tarif, encart « jour du contrôle ». */

/* Chiffres clés */
.ks-figures { border-bottom: 1px solid var(--kf-border); }
.ks-figures__list { margin: 0; display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: center; }
@media (min-width: 768px) { .ks-figures__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ks-figures__list dt { font: 800 clamp(1.6rem, 1.3rem + 1.4vw, 2.2rem)/1.1 var(--kf-font-display); color: var(--kf-brand-text); }
.ks-figures__list dd { margin: 0.35rem 0 0; color: var(--kf-text-muted); font-size: var(--kf-text-sm); }

/* Modules (4 colonnes) et bénéfices (icône à gauche) */
.ks-grid-4 { display: grid; gap: var(--kf-space-6); }
@media (min-width: 640px) { .ks-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ks-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ks-benefits { display: grid; gap: var(--kf-space-5, 1.25rem); max-width: 1040px; margin: 0 auto; }
@media (min-width: 768px) { .ks-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ks-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ks-benefit { display: flex; gap: 1rem; align-items: flex-start; }
.ks-benefit .kf-card__icon { flex-shrink: 0; }
.ks-benefit h3 { margin-bottom: 0.4rem; }
.ks-benefit p { color: var(--kf-text-muted); font-size: var(--kf-text-sm); }

/* Vidéo */
.ks-video { max-width: 960px; margin: 0 auto 3rem; }
.ks-video video { width: 100%; display: block; border-radius: var(--kf-radius-xl); background: #000; box-shadow: var(--kf-shadow-lg); aspect-ratio: 16 / 9; }
.ks-video figcaption { text-align: center; color: var(--kf-text-muted); font-size: var(--kf-text-sm); margin-top: 0.85rem; }

/* Galerie de captures, cadrées par le haut (l'information d'une capture
   d'application s'y trouve) */
.ks-filters { justify-content: center; }
.ks-gallery { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.ks-shot { margin: 0; }
.ks-shot__open {
    position: relative; display: block; width: 100%; padding: 0; line-height: 0; cursor: zoom-in;
    border: 1px solid var(--kf-border); border-radius: var(--kf-radius-lg); overflow: hidden; background: var(--kf-surface);
    transition: transform var(--kf-dur) var(--kf-ease), box-shadow var(--kf-dur) var(--kf-ease);
}
.ks-shot__open:hover, .ks-shot__open:focus-visible { transform: translateY(-4px); box-shadow: var(--kf-shadow-md); }
.ks-shot__open img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; display: block; }
.ks-shot__open img.is-contain { object-fit: contain; }
.ks-shot__zoom {
    position: absolute; top: 0.7rem; right: 0.7rem; width: 34px; height: 34px; display: grid; place-items: center;
    border-radius: 50%; background: rgba(15, 11, 33, 0.68); color: #fff; font-size: 1rem; line-height: 1;
    opacity: 0; transition: opacity var(--kf-dur-fast) ease;
}
.ks-shot__open:hover .ks-shot__zoom, .ks-shot__open:focus-visible .ks-shot__zoom { opacity: 1; }
.ks-shot figcaption { padding: 0.9rem 0.2rem 0; }
.ks-shot figcaption strong { display: block; color: var(--kf-text-strong); font-family: var(--kf-font-display); margin-bottom: 0.25rem; }
.ks-shot figcaption span { display: block; color: var(--kf-text-muted); font-size: var(--kf-text-sm); line-height: 1.6; }
.ks-note { text-align: center; color: var(--kf-text-muted); font-size: var(--kf-text-sm); margin-top: 2rem; }
.ks-note .kf-link-arrow { margin-left: 0.25rem; }

/* Visionneuse plein écran */
.ks-viewer {
    position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: clamp(1rem, 4vw, 3rem); background: rgba(9, 7, 20, 0.94); animation: ks-fade 0.18s ease-out;
}
.ks-viewer[hidden] { display: none; }
@keyframes ks-fade { from { opacity: 0; } to { opacity: 1; } }
.ks-viewer__content { margin: 0; max-width: min(1400px, 100%); max-height: 100%; display: flex; flex-direction: column; }
.ks-viewer__content img { max-width: 100%; max-height: 76vh; object-fit: contain; border-radius: 10px; background: #0f0b21; }
.ks-viewer__content figcaption { color: rgba(255, 255, 255, 0.92); text-align: center; padding-top: 1rem; }
.ks-viewer__content figcaption strong { display: block; font-size: 1.08rem; margin-bottom: 0.3rem; }
.ks-viewer__content figcaption span { color: rgba(255, 255, 255, 0.74); font-size: 0.9rem; line-height: 1.6; }
.ks-viewer__count { display: block; margin-top: 0.6rem; font-size: 0.8rem; letter-spacing: 1px; }
.ks-viewer__btn {
    flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; cursor: pointer; color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.08); transition: background var(--kf-dur-fast) ease;
}
.ks-viewer__btn:hover { background: rgba(255, 255, 255, 0.2); }
.ks-viewer__nav { width: 46px; height: 46px; font-size: 1.6rem; }
.ks-viewer__close { position: absolute; top: 1.2rem; right: 1.2rem; width: 44px; height: 44px; font-size: 1.3rem; }
@media (max-width: 640px) {
    .ks-viewer__nav { position: absolute; bottom: 1.2rem; }
    .ks-viewer__prev { left: 1.2rem; }
    .ks-viewer__next { right: 1.2rem; }
    .ks-viewer__content img { max-height: 62vh; }
}

/* Preuve et appel final : bloc centré */
.ks-proof { max-width: 780px; text-align: center; }
.ks-proof .kf-card__icon { margin: 0 auto 1rem; }
.ks-proof .kf-lead { margin-top: 1rem; }
.ks-proof__links { justify-content: center; gap: 1rem 1.75rem; margin-top: 1.5rem; }

/* Carte tarif */
.ks-price { max-width: 620px; margin: 0 auto; text-align: center; padding: clamp(1.75rem, 1.25rem + 2vw, 2.75rem); }
.ks-price__amount { font: 800 clamp(2.75rem, 2.2rem + 2.5vw, 3.5rem)/1.1 var(--kf-font-display); color: var(--kf-brand-text); margin: 0.5rem 0; }
.ks-price__amount span { font: 500 1.1rem var(--kf-font-body); color: var(--kf-text-muted); }
.ks-price .check-list { text-align: left; margin: 1.75rem 0; }
.ks-price .kf-hint { margin-top: 1rem; font-size: var(--kf-text-sm); }

/* Conformité */
.ks-compliance { align-items: start; }
.ks-compliance h3 { margin-bottom: 1.25rem; }
.ks-conditions { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ks-conditions li { display: flex; gap: 0.75rem; line-height: 1.65; }
.ks-conditions i { color: var(--kf-brand-text); font-size: 1.2rem; flex-shrink: 0; }
.ks-conditions strong { color: var(--kf-text-strong); }
.ks-control {
    padding: 2rem; border-radius: var(--kf-radius-xl); background: var(--kf-ink-950); color: #DCD7EC;
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.ks-control h3 { color: #fff; display: flex; gap: 0.5rem; align-items: center; }
.ks-control h3 i { color: #B9A6FF; }
.ks-control p { color: #DCD7EC; line-height: 1.7; }
.ks-control p + p { margin-top: 1rem; }
.ks-control strong { color: #fff; }
.ks-control .ks-control__aside { color: #C9C4DD; }

/* Bande démonstration : même style que l'appel final, espacée de la section précédente */
.ks-demo { padding-top: var(--kf-section-y); }
