/* Frontend styles for Limbo Menu */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

/* Base section styles */
.limbo-section {
    padding: 0;
}

/* TEMNA SEKCIJA (Dark Section) */
.limbo-section--dark {
    background: #2F2F2F;
    color: #F3E5D1;
}

/* SVETLA SEKCIJA (Light Section) */
.limbo-section--light {
    background: #F3E5D1;
    color: #2F2F2F;
}

.limbo-section__inner {
    margin: 0 auto;
    padding: 0 4px;
}

/* Section titles - naslovi sekcij */
.limbo-section__title {
    font-family: 'Source Serif 4', serif;
    font-weight: 700;
    font-size: 60px;
    letter-spacing: -1.5px;
    margin: 0 0 32px;
    line-height: 1.1;
}

.limbo-section--dark .limbo-section__title {
    color: #F3E5D1;
}

.limbo-section--light .limbo-section__title {
    color: #CE9949;
}

/* Category container */
.limbo-category {
    margin: 32px 0;
}


/* Multiple categories in same section spacing */
.limbo-category + .limbo-category {
    margin-top: 60px;
}

.limbo-category--daily + .limbo-category--daily {
    margin-top: 0px;
}


/* Category titles - naslovi kategorij */
.limbo-category__title {
    font-family: 'Source Serif 4', serif;
    font-weight: 700;
    font-size: 32px;
    letter-spacing: -1.5px;
    margin: 0 0 24px;
    line-height: 1.2;
}

.limbo-section--dark .limbo-category__title {
    color: #F3E5D1;
}

.limbo-section--light .limbo-category__title {
    color: #CE9949;
}

/* Dishes grid */
.limbo-dishes {
    display: grid;
    grid-template-columns: repeat(var(--limbo-cols, 2), minmax(0, 1fr));
    gap: 60px;
}

/* Individual dish */
.limbo-dish {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 16px 0 0;
    border-top: 1px solid;
}

.limbo-section--dark .limbo-dish {
    border-color: #CE9949;
}

.limbo-section--light .limbo-dish {
    border-color: #2F2F2F;
}

/* Dish image */
.limbo-dish__image {
    flex: 0 0 auto;
    max-width: var(--limbo-img-max-h, 100px);
}

.limbo-dish__image img {
    display: block;
    max-height: var(--limbo-img-max-h, 100px);
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
}

/* Dish content */
.limbo-dish__content {
    flex: 1 1 auto;
    min-width: 0;
}

/* Dish header (name + prices) */
.limbo-dish__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 8px;
}

/* Dish name - ime izdelka */
.limbo-dish__name {
    font-family: 'Source Serif 4', serif;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
}

.limbo-section--dark .limbo-dish__name {
    color: #CE9949;
}

.limbo-section--light .limbo-dish__name {
    color: #2F2F2F;
}

/* Dish description - sestavine */
.limbo-dish__desc {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.25px;
    line-height: 1.4;
    margin: 8px 0 0;
}

.limbo-section--dark .limbo-dish__desc {
    color: #F3E5D1;
}

.limbo-section--light .limbo-dish__desc {
    color: rgba(47, 47, 47, 0.8);
}

/* Prices container */
.limbo-dish__prices {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    align-items: flex-start;
}

/* Price badge - cena */
.limbo-price-badge {
    display: inline-block;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.5px;
    line-height: 1.2;
    padding: 8px 10px;
    border-radius: 8px;
    white-space: nowrap;
}

.limbo-section--dark .limbo-price-badge {
    color: #F3E5D1;
    background: rgba(146, 146, 146, 0.1);
}

.limbo-section--light .limbo-price-badge {
    color: #2F2F2F;
    background: rgba(255, 255, 255, 0.5);
}

/* No image adjustment */
.limbo-dish--noimg {
    padding-left: 0;
}

/* Responsive breakpoints */

/* Laptop: 1550px */
@media (max-width: 1550px) {
    .limbo-section__title {
        font-size: 48px;
    }
    
    .limbo-category__title {
        font-size: 28px;
    }
    
    .limbo-dishes {
        gap: 25px;
    }
    
    .limbo-dish__image {
        max-width: 60px;
    }
    
    .limbo-dish__image img {
        max-height: 60px;
    }
}

/* Tablet: 1024px - en izdelek v vrsti (one item per row) */
@media (max-width: 1024px) {
    .limbo-dishes {
        grid-template-columns: 1fr;
    }
    
    .limbo-section__title {
        font-size: 40px;
    }
    
    .limbo-category__title {
        font-size: 24px;
    }
    
    .limbo-section__inner {
        padding: 0 16px;
    }
}

/* Phone: 767px */
@media (max-width: 767px) {
    .limbo-section__title {
        font-size: 30px;
        margin-bottom: 24px;
    }
    
    .limbo-category__title {
        font-size: 20px;
        margin-bottom: 16px;
    }
    
    .limbo-category {
        margin: 24px 0;
    }
    
    .limbo-category + .limbo-category {
        margin-top: 40px;
    }
    
    .limbo-dish {
        flex-direction: row;
        gap: 10px;
        padding: 12px 0 0;
    }
    
    .limbo-dish__image {
        flex: 0 0 auto;
        max-width: 60px;
        align-self: flex-start;
    }
    
    .limbo-dish__image img {
        max-height: 60px;
    }
    
    .limbo-dish__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .limbo-dish__name {
        font-size: 20px;
    }
    
    .limbo-price-badge {
        font-size: 14px;
        padding: 8px 12px;
    }
    
    .limbo-section__inner {
        padding: 0 12px;
    }
}

/* Special handling for pizza toppings - always one per row */
.limbo-category[id*="pizza"] .limbo-dishes,
.limbo-category[id*="dodatki"] .limbo-dishes,
.limbo-category[id*="toppings"] .limbo-dishes {
    grid-template-columns: 1fr !important;
}

/* Daily menu specific styles */
.limbo-category--daily .limbo-category__title--daily {
    font-size: 24px;
}

.limbo-dish--daily {
    padding: 8px 0 0;
}

.limbo-dish--daily .limbo-dish__header {
    margin-bottom: 0;
}

/* Responsive adjustments for daily menu titles */
@media (max-width: 1550px) {
    .limbo-category--daily .limbo-category__title--daily {
        font-size: 22px;
    }
}

@media (max-width: 1024px) {
    .limbo-category--daily .limbo-category__title--daily {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .limbo-category--daily .limbo-category__title--daily {
        font-size: 18px;
    }
}
