/* Compensación estricta de 75px para menús fijos (offset) */
section { 
    scroll-margin-top: 75px; 
}

.bg-au-gradient { 
    background: linear-gradient(135deg, #facc15 0%, #ca8a04 100%); 
}

/* Sistema de Giro Libre con "Caché" */
.perspective-container {
    perspective: 2000px;
    width: 280px;
    height: 480px;
    position: relative;
}

.flip-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-style: preserve-3d;
    transform: rotateX(10deg) rotateY(-12deg) rotateZ(-3deg);
}

/* Hover de la tarjeta */
.perspective-container:hover .flip-inner {
    transform: rotateX(0deg) rotateY(180deg) rotateZ(0deg) !important;
}

.backface-hidden {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 1.5rem;
    box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.25);
}

.rotate-y-180 { 
    transform: rotateY(180deg); 
}

/* Animaciones para el Bottom Sheet (Modales) */
.overlay-fade {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.overlay-fade.open {
    opacity: 1;
}

.bottom-sheet {
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
}

.bottom-sheet.open {
    transform: translateY(0);
}