/* Grundläggande styling */

/* Wildcard-regel: Tvingar Montserrat på ALLA element */
* {
    font-family: "Montserrat", sans-serif;
    box-sizing: border-box; /* Bra praxis för layout */
}

body {
    margin: 0;
    padding: 0;
    background-color: #1a1a1a; /* Mörk fallback-färg */
    position: relative; /* Nödvändigt för att placera pseudo-elementet */
    min-height: 100vh;
    overflow-x: hidden; /* Förhindrar scroll i sidled pga blur-skalning */
}
/* Det nya lagret för mörkare och suddigare bakgrund */
body::before {
    content: "";
    position: fixed; /* Låser fast bakgrunden så den inte scrollar */
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    z-index: -1; /* Lägger bakgrunden bakom allt annat innehåll */

    /*
       Här lägger vi två lager:
       1. En mörk övertoning (rgba(0,0,0, 0.6) betyder svart med 60% opacitet).
          Ändra 0.6 till t.ex. 0.7 för ännu mörkare, eller 0.5 för ljusare.
       2. Själva bakgrundsbilden.
    */
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
                url('/assets/background.webp') no-repeat center center;
    background-size: cover;

    /* Gör bakgrunden suddig */
    /* Ändra 8px till ett högre värde för mer oskärpa, lägre för mindre */
    filter: blur(6px);

    /* Skalar upp bakgrunden lite för att dölja de suddiga kanterna */
    transform: scale(1.05);
}
/* För skärmar under 1000px (din föreslagna lösning) */
@media (max-width: 1000px) {
    body::before {
        position: absolute; /* Ändra från fixed till absolute */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; /* Täcker hela sidans längd */
        
        /* 1. Bestäm din skala här (t.ex. 120% av bredden eller ett pixelvärde) */
        background-size: 300% auto; 
        
        /* 2. Gör så att bilden bara upprepar sig nedåt */
        background-repeat: repeat-y; 
        
        /* 3. Centrera bilden horisontellt så den ser bra ut när den skalas */
        background-position: center top;

        /* Ta bort fixed för att undvika "hopp" på mobil */
        background-attachment: scroll;
        
        /* Valfritt: Ta bort transform eftersom vi sköter storleken med background-size */
        transform: none;
    }
    
    body {
        /* Gör resten av bakgrunden under 100vh enfärgad för att spara prestanda */
        background-color: #1a1a1a; 
    }
}
html {
    scroll-behavior: smooth;
}

p {
    font-size: 16px;
    line-height: 1.6;
}


/* Section menu ------------------------------------------------------------------*/

        .menu-section {
            padding-top: 140px; 
            padding-bottom: 60px;
            color: rgba(255,255,255,0.9);
            max-width: 900px;
            margin: 0 auto;
            padding-left: 20px;
            padding-right: 20px;
        }

        .menu-header {
            text-align: center;
            margin-bottom: 50px;
        }

        .menu-header h1 {
            font-size: 38px;
            text-transform: uppercase;
            letter-spacing: 3px;
            margin-bottom: 10px;
            color: rgba(255,255,255,0.8);
        }

        .menu-header p {
            font-style: italic;
            letter-spacing: 1px;
        }

        .menu-category { margin-bottom: 60px; }

        .category-title {
            font-size: 24px;
            border-bottom: 2px solid rgba(255,255,255,0.1);
            padding-bottom: 8px;
            margin-bottom: 30px;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: rgba(255,255,255,0.8);
        }

        /* Maträtt styling med skuggeffekt */
        .menu-item {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 15px;
            padding: 20px;
            border-radius: 12px;
            transition: all 0.3s ease;
            background-color: rgba(0, 0, 0, 0.2);
        }

        .menu-item:hover {
            background-color: rgba(0, 0, 0, 0.3);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
            transform: translateY(-3px);
        }

        .item-info { flex: 1; }

        .item-name {
            font-weight: 700;
            font-size: 18px;
            color: rgba(255,255,255,0.8);
            text-transform: uppercase;
        }

        .item-description {
            font-size: 14px;
            margin-top: 6px;
            color: rgba(255,255,255,0.9);
            line-height: 1.6;
        }

        .item-price {
            font-weight: 800;
            margin-left: 30px;
            white-space: nowrap;
            color: rgba(255,255,255,0.9);
            font-size: 18px;
        }
        @media (max-width: 1000px) {
            .menu-header h1 {
                font-size: 28px;
            }

            .menu-section {
                padding-top: 70px;
            }

            .category-title {
                font-size: 22px;
            }

            .menu-item {
                flex-direction: row; /* Behåller rad men tillåter wrapping om det behövs */
                flex-wrap: wrap;
                padding: 10px;
            }

            .item-name {
                font-size: 17px;
            }

            .item-price {
                margin-left: 0;
                margin-top: 5px;
                width: 100%; /* Priset hamnar under på mycket små skärmar om det behövs */
                text-align: left;
            }
        }
/* =========================================
   RESPONSIVT (Mindre än 1000px)
   ========================================= */
@media (max-width: 1000px) {
    /* Hero Sektion */
    #menu-hero {
        padding-top: 130px; /* Mindre padding top */
        padding-bottom: 20px;
    }

    .menu-hero-content h1 {
        font-size: 26px; /* Mindre rubrik */
        margin-bottom: 15px;
    }

    .menu-hero-content p {
        font-size: 16px;
        text-align: justify; /* Ibland snyggare på mobil, eller använd left/center */
        padding: 0 10px;
    }

    /* Meny-val kort */
    .choose-container {
        flex-direction: column; /* Stapla korten vertikalt */
        align-items: center;
        gap: 20px;
    }

    .menu-card {
        width: 100%; /* Använd hela bredden */
        max-width: 400px; /* Men inte hur bred som helst */
        height: 140px; /* Lite lägre kort på mobil */
    }

    .menu-card h2 {
        font-size: 22px;
    }
}