:root {
    --gastro-yellow: #FFC107;
    --mypos-blue: #009FE3;
    --text-color: #333333;
    --bg-color: #FFFFFF;
    --accent-gray: #F5F7FA;
    --font-main: 'Montserrat', sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-main);
    background-color: #000;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* 
   RESPONSIVE CONTAINER STRATEGY:
   1. Fix aspect ratio to 16:9
   2. Use vmin/vmax or container units to scale font and elements relative to this box.
   3. Box is centered and letterboxed (black bars) if screen ratio mismatches.
*/

.slideshow-container {
    position: relative;
    background-color: var(--bg-color);
    overflow: hidden;

    /* Logic for perfect containment */
    width: 100vw;
    height: 62.5vw;
    /* 16:10 ratio of width (10/16 = 0.625) */
    max-height: 100vh;
    max-width: 160vh;
    /* 16:10 ratio of height (16/10 = 1.6) */

    aspect-ratio: 16/10;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);

    /* Enable Container Queries for internal sizing */
    container-type: size;
}

/* Internal sizing uses cqw (Container Query Width) for perfect scaling */
.sticky-logos {
    position: absolute;
    top: 2cqw;
    /* Moved up */
    left: 0;
    width: 100%;
    padding: 0 4cqw;
    display: flex;
    justify-content: space-between;
    z-index: 1000;
    pointer-events: none;
}

.sticky-logo {
    height: 6cqw;
    object-fit: contain;
    filter: drop-shadow(0 0.5cqw 1cqw rgba(0, 0, 0, 0.1));
}

.sticky-logo:last-child {
    margin-right: -6.5cqw;
    /* Updated margin as requested */
    height: 4.5cqw;
    /* Smaller logo as requested */
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: scale(1.05);
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
    /* More padding on top (7cqw) than bottom (5cqw) */
    padding: 7cqw 5cqw 5cqw 5cqw;
}

.slide.active {
    opacity: 1;
    transform: scale(1);
    z-index: 10;
}

/* Utilities */
.content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-title {
    font-size: 4cqw;
    font-weight: 800;
    color: var(--text-color);
    margin-bottom: 2cqw;
    line-height: 1.2;
}

/* Layouts */
.split-layout {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4cqw;
    height: 100%;
}

.split-layout.reverse {
    flex-direction: row-reverse;
}

.text-side,
.image-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    height: 100%;
}

.center-layout {
    align-items: center;
    text-align: center;
}

/* Slide 1: Intro - Redesign (Responsive) */
/* Slide 1: Intro - Redesign (Responsive) */
#slide-1 h1 {
    font-size: 7cqw;
    /* Much larger */
    font-weight: 800;
    color: var(--text-color);
    margin-bottom: 2cqw;
    line-height: 1.1;
    letter-spacing: -0.2cqw;
}

.accent-x {
    color: var(--gastro-yellow);
    font-weight: 300;
    margin: 0 1cqw;
}

#slide-1 h2 {
    font-size: 3cqw;
    /* Larger */
    color: var(--mypos-blue);
    font-weight: 700;
    line-height: 1.4;
}

#slide-1 h2 .light {
    font-weight: 400;
    color: #666;
}

/* Image styles kept for other slides if needed */
.image-mask {
    border-radius: 2cqw;
    overflow: hidden;
    box-shadow: 0 2cqw 4cqw rgba(0, 0, 0, 0.15);
    transform: rotate(2deg);
    border: 0.5cqw solid #fff;
    width: 100%;
    height: 60%;
}

.hero-image-full {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* Slide 2: Features */
.feature-list {
    list-style: none;
    margin-left: 1cqw;
}

.feature-list li {
    font-size: 2.2cqw;
    margin-bottom: 1.5cqw;
    color: #444;
    display: flex;
    align-items: center;
    gap: 1.5cqw;
}

.feature-list i {
    color: var(--gastro-yellow);
    font-size: 2.5cqw;
}

.device-image {
    width: 90%;
    max-height: 70%;
    object-fit: contain;
    filter: drop-shadow(0 2cqw 4cqw rgba(0, 0, 0, 0.15));
    align-self: center;
}

#slide-5 .device-image {
    width: 70%;
}


/* Slide 3: Target Groups */
#slide-3 .content {
    justify-content: flex-start;
    /* Move content to top */
    padding-top: 7cqw;
    /* Push down slightly from top */
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3cqw;
    width: 80%;
    /* Reduced width */
}

.grid-item {
    background: var(--accent-gray);
    padding: 2cqw;
    /* Reduced padding */
    border-radius: 2cqw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1cqw 2cqw rgba(0, 0, 0, 0.05);
}

.grid-item i {
    font-size: 3.5cqw;
    /* Reduced icon size */
    color: var(--mypos-blue);
    margin-bottom: 0.8cqw;
}

.grid-item p {
    font-size: 1.4cqw;
    /* Reduced font size */
    font-weight: 600;
    color: var(--text-color);
}


/* Slide 4: Benefits */
.benefit-list {
    list-style: none;
    display: grid;
    /* Changed to grid */
    grid-template-columns: 1fr 1fr;
    /* 2 columns */
    gap: 2cqw;
}

.benefit-list li {
    display: flex;
    flex-direction: column;
    /* Icon above text */
    align-items: center;
    text-align: center;
    gap: 1cqw;
    margin-bottom: 0;
    background: #fff;
    padding: 2cqw;
    border-radius: 1.5cqw;
    box-shadow: 0 0.5cqw 1.5cqw rgba(0, 0, 0, 0.03);
}

.icon-box {
    width: 5cqw;
    height: 5cqw;
    background: var(--gastro-yellow);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2cqw;
    flex-shrink: 0;
    margin-bottom: 0.5cqw;
    /* Spacing below icon */
}

.benefit-list .text {
    font-size: 1.4cqw;
    /* Slightly smaller text */
    color: #444;
    line-height: 1.3;
}

.device-image-laptop {
    width: 90%;
    /* transform: perspective(100cqw) rotateY(-10deg); */
    align-self: center;
}


/* Slide 5: Price Deal */
/* Slide 3: Target Groups */
#slide-3 .content {
    /* Shift center point up visually */
    padding-bottom: 10cqw;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3cqw;
    width: 80%;
    /* Reduced width */
}

/* ... (skipping grid-item styles as they are unchanged) ... */

/* Slide 4: Benefits */
/* ... (unchanged) ... */

/* Slide 5: Price Deal */
.brand-bg {
    background: linear-gradient(135deg, var(--mypos-blue) 0%, #29b6f6 100%);
    color: #fff;
    border-radius: 2cqw;
    width: auto;
    /* Hug content */
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 4cqw 8cqw;
    /* Increased padding as requested */
    box-shadow: 0 2cqw 5cqw rgba(0, 159, 227, 0.3);
}

#slide-5 h2 {
    font-size: 2.5cqw;
    /* Reduced font size */
    margin-bottom: 0.5cqw;
    color: #fff;
}

.price-container {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-weight: 800;
    margin: 0.5cqw 0;
    /* Reduced margin */
    color: #fff;
    background: rgba(255, 255, 255, 0.15);
    padding: 1cqw 3cqw;
    /* Reduced padding */
    border-radius: 3cqw;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.currency {
    font-size: 2.5cqw;
    /* Reduced font size */
    margin-top: 1cqw;
}

.amount {
    font-size: 8cqw;
    /* Reduced font size */
    line-height: 1;
}

.period {
    font-size: 1.5cqw;
    /* Reduced font size */
    align-self: flex-end;
    margin-bottom: 1.5cqw;
    margin-left: 1cqw;
}

.subtitle {
    font-size: 1.5cqw;
    /* Reduced font size */
    opacity: 0.95;
    font-weight: 600;
}


/* Slide 6: Upgrade/Hardware */
#slide-6 .text-side {
    position: relative;
    padding-left: 2cqw;
}

.sticker {
    position: absolute;
    top: -5cqw;
    right: 2cqw;
    background: var(--gastro-yellow);
    color: var(--text-color);
    padding: 1cqw 2.5cqw;
    font-weight: 900;
    font-size: 1.8cqw;
    transform: rotate(8deg);
    box-shadow: 0 1.5cqw 3cqw rgba(0, 0, 0, 0.2);
    z-index: 5;
    border-radius: 0.5cqw;
    text-transform: uppercase;
}

.sub-lead {
    font-size: 2.2cqw;
    color: var(--mypos-blue);
    margin-bottom: 3cqw;
    font-weight: 600;
}

.deal-features {
    list-style: none;
    margin-bottom: 3cqw;
    width: 120%;
    /* Extend width to fit long text */
    margin-right: -20%;
}

.deal-features li {
    font-size: 1.8cqw;
    margin-bottom: 1.2cqw;
    color: #555;
    font-weight: 600;
}

.check-icon {
    color: var(--gastro-yellow);
    margin-right: 0.5cqw;
}

.price-tag {
    background: var(--mypos-blue);
    color: #fff;
    display: inline-block;
    padding: 2cqw 4cqw;
    border-radius: 1.5cqw;
    box-shadow: 0 1cqw 2.5cqw rgba(0, 0, 0, 0.1);
}

.price-tag .small {
    display: block;
    font-size: 1.2cqw;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 0.5cqw;
}

.price-main {
    font-size: 5cqw;
    font-weight: 800;
}

.price-main .excl {
    font-size: 1.2cqw;
    font-weight: 400;
}

.kit-image {
    max-height: 70%;
    max-width: 90%;
    align-self: center;
    /* Soften edges/shadows fading to white/transparent */
    mask-image: radial-gradient(circle at center, black 60%, transparent 100%);
    -webkit-mask-image: radial-gradient(circle at center, black 60%, transparent 100%);
}


/* Progress Bar */
.progress-bar-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1cqw;
    background: rgba(0, 0, 0, 0.05);
    z-index: 2000;
}

.progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--mypos-blue), var(--gastro-yellow));
    width: 0%;
    transition: width 0.1s linear;
}


/* ANIMATIONS */
/* Re-use animations but ensure transforms use cqw/percentage logic where appropriate or keep pixels small */
.slide.active .animate-fade-in {
    animation: fadeIn 0.8s forwards;
}

.slide.active .animate-slide-up {
    animation: slideUp 0.8s forwards;
}

.slide.active .animate-slide-down {
    animation: slideDown 0.8s forwards;
}

.slide.active .animate-slide-right {
    animation: slideRight 0.8s forwards;
}

.slide.active .animate-slide-left {
    animation: slideLeft 0.8s forwards;
}

.slide.active .animate-zoom-in {
    animation: zoomIn 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.slide.active .animate-pop-in {
    animation: popIn 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.slide.active .animate-bounce {
    animation: bounce 1s infinite alternate;
}

.delay-1 {
    animation-delay: 0.2s !important;
    opacity: 0;
}

.delay-2 {
    animation-delay: 0.4s !important;
    opacity: 0;
}

.delay-3 {
    animation-delay: 0.6s !important;
    opacity: 0;
}

.delay-4 {
    animation-delay: 0.8s !important;
    opacity: 0;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(4cqw);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-4cqw);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideRight {
    from {
        opacity: 0;
        transform: translateX(-4cqw);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideLeft {
    from {
        opacity: 0;
        transform: translateX(4cqw);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes popIn {
    from {
        opacity: 0;
        transform: scale(0.5);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes bounce {
    from {
        transform: translateY(0) rotate(5deg);
    }

    to {
        transform: translateY(-1cqw) rotate(5deg);
    }
}