/* style.css */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Poppins:wght@300;400;500;600;700&display=swap');

/* Base font from your design */
.font-body { 
    font-family: 'Poppins', sans-serif; 
}
.font-display { 
    font-family: 'Playfair Display', serif; 
}

/* Slideshow animation */
.slideshow-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.slideshow-image.active {
    opacity: 1;
}

/* Parallax Background */
.parallax-bg {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Scroll Animation */
.fade-in-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* UPDATED: Number Counting Animation */
@property --num {
    syntax: '<integer>';
    initial-value: 0;
    inherits: false;
}
.stat-number {
    transition: --num 2s ease-out;
    counter-reset: num var(--num);
    /* Hide the initial "0" before animation starts */
    color: transparent; 
}
.stat-number.is-visible {
    --num: var(--target-number);
    /* Reveal the number as it animates */
    color: white; 
}
.stat-number::after {
    content: counter(num);
}
.stat-number[data-plus="true"]::after {
    content: counter(num) "+";
}

/* NEW: Preserves line breaks in room descriptions */
.room-description {
    white-space: pre-line;
}