/*
 * Nostalgii TV Menu - Design 25.0 (Final Polishing)
 * KORREKT KOD FÖR STÅENDE TV (PORTRAIT MODE)
 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Special+Elite&display=swap&family=Lato:wght@300;400&display=swap');

html, body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    height: 100%;
    width: 100%;
    background-color: #1a1a1a;
}

.nlm-page-container {
    display: flex;
    width: 100vw;
    height: 100vh;
}

/* VÄNSTERPANEL */
.nlm-side-panel {
    width: 35%;
    max-width: 450px;
    height: 100%;
    background-color: #592b2e;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 5vh 2vw;
    box-sizing: border-box;
    text-align: center;
    color: #FFFFFF;
}

.nlm-side-content-top .nlm-main-logo {
    width: 90%; 
    max-width: 320px; 
    margin-top: 5vh;
}

.nlm-side-content-top .nlm-main-logo img {
    width: 100%;
    height: auto;
    filter: brightness(0) invert(92%) sepia(13%) saturate(301%) hue-rotate(359deg) contrast(88%);
}

.nlm-side-content-bottom .nlm-date-info {
    font-family: 'Special Elite', monospace;
    font-size: clamp(1.4rem, 2.5vmin, 2.4rem);
    color: #E0D9C2;
    opacity: 0.9;
    line-height: 1.4;
    margin-bottom: 2vh;
}

/* HÖGERPANEL */
.nlm-display-container {
    flex-grow: 1;
    height: 100%;
    background-color: #3d3d3d;
    color: #F5F5F5;
    display: flex;
    flex-direction: column;
    padding: 7vh 6vw; 
    box-sizing: border-box;
    overflow-y: hidden;
    position: relative;
}

.nlm-display-container::after {
    content: "";
    background-image: var(--logo-background-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 90% auto;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    opacity: 0.06; 
    z-index: 0;
}

.nlm-display-container > * { position: relative; z-index: 1; }
.nlm-display-items { padding-bottom: 2vh; }

.nlm-category-wrapper {
    margin-bottom: 1vh;
    opacity: 0;
    transform: translateY(40px);
    animation: fadeInSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    animation-delay: var(--animation-delay, 0ms);
}

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

.nlm-category-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(3rem, 6.8vmin, 8rem);
    color: #E0D9C2;
    letter-spacing: 0.2vw;
    text-align: center;
    margin-bottom: 3vh;
    margin-top: 3.5vh;
    text-shadow: 0 0 30px rgba(224, 217, 194, 0.15);
}

.nlm-category-wrapper:first-of-type .nlm-category-title {
    margin-top: 0;
}

.nlm-menu-item {
    text-align: center;
    margin-bottom: 3.5vh;
}

.nlm-item-name {
    font-family: 'Special Elite', monospace;
    font-size: clamp(2.2rem, 4vmin, 5.5rem);
    color: #FFFFFF;
    margin-bottom: 1.2vh;
    line-height: 1.2;
}

.nlm-item-desc {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: clamp(1.5rem, 2.5vmin, 3.2rem);
    color: #cccccc;
    line-height: 1.4;
    white-space: pre-wrap;
    padding: 0 1vw;
    margin-bottom: 1.2vh;
}

.nlm-allergen-icons {
    display: flex;
    justify-content: center;
    gap: 1.5vmin;
    margin-top: 1.5vmin;
}
.nlm-allergen-icon {
    width: clamp(25px, 3vmin, 45px);
    height: clamp(25px, 3vmin, 45px);
}
.nlm-allergen-icon svg {
    width: 100%; height: 100%; fill: #E0D9C2; opacity: 0.7;
}

/* Priscirkeln */
.nlm-price-cycle {
    position: absolute; 
    top: 4vh;
    right: 5vw;
    z-index: 10;
    width: clamp(180px, 22vmin, 280px);
    height: clamp(180px, 22vmin, 280px);
    border: 2px solid #E0D9C2; 
    border-radius: 50%;
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center;
    text-align: center; 
    padding: 1.5vmin;
    box-sizing: border-box;
    opacity: 0; 
    animation: stampIn 0.7s 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
.nlm-price-cycle .price-text { 
    font-family: 'Playfair Display', serif; 
    font-size: clamp(1.4rem, 2vmin, 2.2rem);
    color: #E0D9C2; 
    line-height: 1.2;
    margin-bottom: 0.5vmin;
}
.nlm-price-cycle .price-amount { 
    font-family: 'Special Elite', monospace; 
    font-size: clamp(2.8rem, 5vmin, 5.5rem);
    color: #FFFFFF; 
    line-height: 1.1;
    margin: 0.5vmin 0;
}
.nlm-price-cycle .price-extra-info { 
    font-family: 'Lato', sans-serif; 
    font-size: clamp(1.1rem, 1.5vmin, 1.8rem);
    color: #cccccc; 
    line-height: 1.3;
}

.nlm-display-footer { 
    margin-top: auto; padding-top: 3vh; display: flex; justify-content: center; 
}

.nlm-grill-cycle {
    width: clamp(250px, 32vmin, 400px);
    height: clamp(250px, 32vmin, 400px);
    border: 2px solid #E0D9C2; border-radius: 50%;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center; padding: 3vw; box-sizing: border-box;
    opacity: 0; animation: stampIn 0.7s 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes stampIn { 
    from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } 
}

.nlm-grill-cycle .grill-title { 
    font-family: 'Playfair Display', serif; 
    font-size: clamp(1.8rem, 3vmin, 3.2rem);
    color: #E0D9C2; letter-spacing: 0.3vw; line-height: 1.2; 
}
.nlm-grill-cycle .grill-separator { 
    width: 35%;
    height: 1px; background-color: rgba(224, 217, 194, 0.5); 
    margin: 2vh 0;
}
.nlm-grill-cycle .grill-text { 
    font-family: 'Special Elite', monospace; 
    font-size: clamp(1.4rem, 2vmin, 2.2rem);
    line-height: 1.5; color: #cccccc; 
}

.nlm-general-info {
    text-align: center; font-family: 'Lato', sans-serif;
    font-size: clamp(1.2rem, 1.8vmin, 2rem);
    color: #E0D9C2; margin-top: 3vh; padding-top: 2vh;
    border-top: 1px solid rgba(224, 217, 194, 0.2);
    opacity: 0; animation: fadeInSlideUp 0.9s 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
/* --- TILLÄGG FÖR EVENTMENY --- */

.nem-client-logo-wrapper .nlm-menu-item {
    margin-bottom: 2vh;
}

.nem-client-logo-wrapper img {
    max-width: 50%; /* Justera vid behov */
    height: auto;
    max-height: 20vh; /* Se till att den inte blir för hög */
    margin: 0 auto;
    filter: brightness(0) invert(1); /* Gör loggan vit (bra för mörk bakgrund) */
    opacity: 0.8;
}

/* Om du vill ha färg-logotyper, ta bort 'filter' och 'opacity' ovan */
