/* Flipbook maison (retour client 27-07) — popup + effet livre en CSS 3D, aucun code tiers */
.idcom-flipbook-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(11, 49, 66, 0.96);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.idcom-flipbook-overlay.visible {
    opacity: 1;
}

.idcom-flipbook-stage {
    position: relative;
    perspective: 2600px;
}

.idcom-flipbook-book {
    position: relative;
    transform-style: preserve-3d;
}

.idcom-flipbook-sheet {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    transform-style: preserve-3d;
    transform-origin: left center;
    transition: transform 0.9s cubic-bezier(0.4, 0.05, 0.3, 1);
}

.idcom-flipbook-sheet.flipped {
    transform: rotateY(-180deg);
}

.idcom-flipbook-face {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    background-color: #fff;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    overflow: hidden;
}

.idcom-flipbook-face.back {
    transform: rotateY(180deg);
}

/* ombre de pliure côté reliure */
.idcom-flipbook-face::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.13), transparent 12%);
}

.idcom-flipbook-face.back::after {
    background: linear-gradient(to left, rgba(0, 0, 0, 0.13), transparent 12%);
}

.idcom-flipbook-close {
    position: absolute;
    top: 18px;
    right: 22px;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: #f9b222;
    color: #0b3142;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    z-index: 3;
}

.idcom-flipbook-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: #0b3142;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    z-index: 3;
}

.idcom-flipbook-nav:disabled {
    opacity: 0.25;
    cursor: default;
}

.idcom-flipbook-nav.prev { left: -60px; }
.idcom-flipbook-nav.next { right: -60px; }

@media screen and (max-width: 900px) {
    .idcom-flipbook-nav.prev { left: 4px; }
    .idcom-flipbook-nav.next { right: 4px; }
}

.idcom-flipbook-counter {
    position: absolute;
    bottom: -38px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 15px;
    white-space: nowrap;
}

.idcom-flipbook-loader {
    color: #fff;
    font-size: 18px;
}

/* mode mobile/tablette : une page à la fois, vraie tourne de page sur la reliure */
.idcom-flipbook-single {
    position: absolute;
    inset: 0;
    background-color: #fff;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.idcom-flipbook-leaf {
    z-index: 2;
    transform-origin: left center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
    box-shadow: 6px 0 14px rgba(0, 0, 0, 0.25);
}

/* page sortante : se plie vers la reliure en s'assombrissant */
.idcom-flipbook-leaf.fold-out {
    animation: idcom-fb-fold-out 0.55s ease-in forwards;
}

/* page entrante (retour arrière) : se déplie depuis la reliure */
.idcom-flipbook-leaf.fold-in {
    animation: idcom-fb-fold-in 0.55s ease-out forwards;
}

@keyframes idcom-fb-fold-out {
    from { transform: rotateY(0deg); filter: brightness(1); }
    to { transform: rotateY(-88deg); filter: brightness(0.55); }
}

@keyframes idcom-fb-fold-in {
    from { transform: rotateY(-88deg); filter: brightness(0.55); }
    to { transform: rotateY(0deg); filter: brightness(1); }
}

body.idcom-flipbook-open {
    overflow: hidden;
}
