/* ==========================================================================
   RESPONSIVE.CSS — Beauty Morals
   Breakpoints: 1024px (tablet), 768px (mobile), 480px (small mobile)
   ========================================================================== */


/* ==========================================================================
   1. NAVBAR / MOBILE MENU TOGGLE
   ========================================================================== */
@media (max-width: 1024px) {

    .header-container {
        padding: 0 25px;
    }

    /* Hide the desktop nav links + book button, show the hamburger */
    .main-nav ul,
    .header-icons .login-btn {
        display: none;
    }

    .header-icons a {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .qadr-header {
        padding: 20px 0;
    }
}

@media (max-width: 480px) {
    .beauty-morals h4 {
        font-size: 16px;
    }
    .mobile-nav-overlay {
        width: 88%;
        padding: 90px 24px 24px;
    }
}


/* ==========================================================================
   2. MAIN HERO BANNER
   ========================================================================== */
@media (max-width: 1024px) {
    .main-hero-banner {
        padding-top: 130px;
        padding-bottom: 60px;
    }

    .hero-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 40px;
    }

    /* hero-right duplicates the "BEKIJK VIDEO" button already inside
       .cta-flex — on desktop they sit apart (left vs right column) so it
       reads fine, but stacked on mobile it looked like two video buttons */
    .hero-right {
        display: none;
    }

    :root {
        --size-h1: 40px;
    }
}

@media (max-width: 768px) {
    :root {
        --size-h1: 34px;
        --size-h1-sub: 22px;
    }

    .hero-text {
        max-width: 100%;
    }

    .cta-flex {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .cta-flex .hero-btn {
        width: 100%;
        justify-content: center;
    }
}


/* ==========================================================================
   3. PMU TRUST BADGES BAR
   ========================================================================== */
@media (max-width: 1024px) {
    .trust-container {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 24px;
    }

    .trust-item {
        flex: 0 0 45%;
    }
}

@media (max-width: 480px) {
    .trust-item {
        flex: 0 0 100%;
        justify-content: flex-start;
    }
}


/* ==========================================================================
   4. TREATMENTS SECTION
   ========================================================================== */
@media (max-width: 1024px) {
    .tratment-flex {
        flex-direction: column;
        gap: 40px;
    }

    .hero-left {
        max-width: 100%;
    }

    .img-treatment-itemmain {
        flex-direction: column;
        width: 100%;
        gap: 30px;
    }

    .img-center img {
        width: 100% !important;
        max-width: 340px;
        margin: 0 auto;
    }

    /* the -90px offset was tuned for the fixed desktop layout next to the
       face image — it pushes items off-screen once things stack, so reset it */
    .treatment-item {
        left: 0;
        width: 100%;
    }

    .treatment-itemflex {
        height: auto;
        width: 100%;
        gap: 22px;
    }

    .line {
        width: 40px;
    }
}

@media (max-width: 480px) {
    .treatment-item {
        gap: 0;
    }

    .treatment-content p {
        max-width: 160px;
    }

    .connector {
        gap: 4px;
    }
}


/* ==========================================================================
   5. RESULTATEN — VOOR/NA SLIDER
   ========================================================================== */
@media (max-width: 1024px) {
    .results-flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .results-left {
        flex: none;
        width: 100%;
    }

    .results-text {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .results-section {
        padding: 60px 0;
    }

    .ba-slider {
        aspect-ratio: 4 / 3;
    }

    .ba-handle {
        width: 36px;
        height: 36px;
    }
}


/* ==========================================================================
   6. MEDIK8 — PRODUCT SHOWCASE
   The animation itself (float + rotate) stays identical on every screen —
   only the box shape and each product's position/size are re-tuned so the
   podiums, text and floating products don't collapse on a short mobile
   viewport. This keeps the effect efficient (same 3 lightweight CSS
   keyframe animations, no extra JS) while fitting a taller layout.
   ========================================================================== */
@media (max-width: 1024px) {
    .medik8-hero {
        aspect-ratio: 3 / 4;
    }

    .medik8-text {
        top: 8%;
        left: 6%;
        right: 6%;
        transform: none;
        max-width: 100%;
    }

    :root {
        --size-h2: 28px;
    }

    .medik8-desc {
        max-width: 100%;
    }

    /* re-tuned positions for a taller box — products sit lower, stacked
       across the width instead of the wide desktop spread */
    .medik8-product.cream {
        width: 22%;
        left: 14%;
        bottom: 10%;
    }

    .medik8-product.serum {
        width: 34%;
        left: 33%;
        bottom: 6%;
    }

    .medik8-product.tube {
        width: 30%;
        left: 66%;
        bottom: 0%;
    }

    /* lighter float distance on smaller screens keeps the motion feeling
       subtle rather than jumpy in a shorter box */
    @keyframes floatCream {
        0% { transform: rotate(22deg) translateY(0); }
        50% { transform: rotate(22deg) translateY(-7px); }
        100% { transform: rotate(22deg) translateY(0); }
    }

    @keyframes floatSerum {
        0% { transform: rotate(346deg) translateY(0); }
        50% { transform: rotate(346deg) translateY(-7px); }
        100% { transform: rotate(346deg) translateY(0); }
    }

    @keyframes floatTube {
        0% { transform: translateY(0); }
        50% { transform: translateY(-7px); }
        100% { transform: translateY(0); }
    }
}

@media (max-width: 600px) {
    .medik8-hero {
        aspect-ratio: 3 / 4.6;
    }

    .medik8-eyebrow {
        margin-bottom: 8px;
    }

    .medik8-text h1 {
        font-size: 26px;
    }

    .medik8-text h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .medik8-cta {
        font-size: 11px;
    }

    .medik8-product.cream {
        width: 26%;
        left: 10%;
        bottom: 12%;
    }

    .medik8-product.serum {
        width: 40%;
        left: 30%;
        bottom: 7%;
    }

    .medik8-product.tube {
        width: 34%;
        left: 64%;
        bottom: 0%;
    }
}


/* ==========================================================================
   7. FOOTER
   ========================================================================== */
@media (max-width: 1024px) {
    .footer-cta-block {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 40px 25px;
    }

    .footer-cta-image {
        width: 100%;
        height: 180px;
    }

    .footer-cta-btn-wrap {
        width: 100%;
    }

    .footer-cta-btn {
        width: 100%;
        justify-content: center;
    }

    .footer-bottom-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        padding: 30px 25px;
    }

    .footer-cta-btn-small {
        width: 100%;
        justify-content: center;
    }

    .footer-copyright-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 18px 25px;
    }
}


/* ==========================================================================
   8. FLOATING WHATSAPP WIDGET
   ========================================================================== */
@media (max-width: 480px) {
    .wa-button {
        width: 50px;
        height: 50px;
        font-size: 24px;
        bottom: 16px;
        right: 16px;
    }

    .wa-popup {
        width: calc(100% - 32px);
        right: 16px;
        bottom: 76px;
    }
}