/* ==========================================
   NOXAR LOUNGE COMPONENTS
========================================== */

/* HERO */

.hero{

    text-align:center;

    padding:40px 20px 20px;

}

.logo{

    width:180px;

    margin:auto;

    margin-bottom:20px;

}

.brand-name{

    font-family:'Cinzel',serif;

    font-size:3rem;

    font-weight:700;

    letter-spacing:6px;

    background:
    linear-gradient(
    180deg,
    #FFF8D6 0%,
    #F2C94C 25%,
    #D4A857 55%,
    #A87422 100%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

.brand-sub{

    margin-top:8px;

    color:var(--gold);

    letter-spacing:8px;

    font-size:.85rem;

}

.gold-line{

    width:120px;

    height:2px;

    margin:15px auto;

    background:
    linear-gradient(
    90deg,
    transparent,
    var(--gold),
    transparent
    );

}

.tagline{

    color:var(--gold-light);

    font-size:.95rem;

    margin-top:12px;

}

/* ==========================================
   CATEGORY GRID
========================================== */

.categories{

    padding:25px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:15px;

}

.category-card{

    background:
    linear-gradient(
    180deg,
    rgba(255,255,255,.05),
    rgba(255,255,255,.02)
    );

    border:
    1px solid rgba(212,168,87,.18);

    border-radius:24px;

    padding:28px 20px;

    text-align:center;

    backdrop-filter:blur(12px);

    transition:
    all .35s cubic-bezier(.175,.885,.32,1.275);

    animation:fadeUp .6s ease;

}

.category-card:hover{

    transform:
    translateY(-6px)
    scale(1.02);

    border-color:var(--gold);

    box-shadow:
    0 15px 35px rgba(212,168,87,.15);

}

.category-card:active{

    transform:scale(.97);

}

.category-card h3{

    margin-top:12px;

    font-size:1rem;

    font-weight:600;

}

.category-card p{

    color:#bdbdbd;

    font-size:.85rem;

    margin-top:6px;

}

/* ==========================================
   PAGE HEADER
========================================== */

.page-header{

    padding:20px;

}

.back-btn{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--gold);

    font-weight:600;

    margin-bottom:20px;

    transition:.3s;

}

.back-btn:hover{

    transform:translateX(-3px);

}

/* ==========================================
   BANNER
========================================== */

.banner{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    min-height:220px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px 25px;

    border:
    1px solid rgba(212,168,87,.18);

    background:
    linear-gradient(
    135deg,
    rgba(58,9,9,.90),
    rgba(10,10,10,.95)
    );

}

.banner-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    rgba(0,0,0,.15),
    rgba(0,0,0,.55)
    );

}

.banner-content{

    position:relative;

    z-index:2;

    text-align:center;

}

.banner h1{

    font-family:'Cinzel',serif;

    color:var(--gold);

    font-size:2rem;

    letter-spacing:2px;

}

.banner p{

    margin-top:10px;

    color:#dddddd;

}

/* ==========================================
   PRODUCT LIST
========================================== */

.menu-list{

    padding:20px;

    max-width:700px;

    margin:0 auto;

}

.menu-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:15px;

    padding:18px;

    margin-bottom:14px;

    border-radius:22px;

    background:
    linear-gradient(
    180deg,
    rgba(255,255,255,.04),
    rgba(255,255,255,.02)
    );

    border:
    1px solid rgba(212,168,87,.12);

    backdrop-filter:blur(10px);

    transition:.3s;

    cursor:pointer;

}

.menu-item:hover{

    transform:translateY(-3px);

    border-color:var(--gold);

    box-shadow:
    0 10px 30px rgba(212,168,87,.12);

}

.item-left{

    display:flex;

    align-items:center;

    gap:14px;

    flex:1;

    min-width:0;

}

.item-number{

    width:42px;
    height:42px;

    min-width:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    rgba(212,168,87,.08);

    border:
    1px solid rgba(212,168,87,.25);

    color:var(--gold);

    font-size:.9rem;

    font-weight:700;

}

.item-content{

    flex:1;

    min-width:0;

}

.item-content h3{

    font-size:1rem;

    margin-bottom:6px;

    font-weight:600;

}

.short-desc{

    color:#bfbfbf;

    font-size:.8rem;

    line-height:1.5;

    overflow:hidden;

    text-overflow:ellipsis;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    max-width:100%;

}

.read-more{

    display:inline-block;

    margin-left:5px;

    color:var(--gold);

    font-size:.7rem;

    font-weight:600;

    cursor:pointer;

}

.item-right{

    display:flex;

    align-items:center;

    gap:12px;

    flex-shrink:0;

}

.price{

    color:var(--gold-light);

    font-weight:700;

    white-space:nowrap;

    font-family:'Cinzel',serif;

    font-size:1.1rem;

}

/* NEW - Section Divider for Category Pages */
.section-divider{
    text-align:center;
    margin:2rem 0 1rem;
    position:relative;
}

.section-divider span{
    background:rgba(0,0,0,0.6);
    backdrop-filter:blur(10px);
    padding:0.5rem 2rem;
    border-radius:40px;
    font-family:'Cinzel',serif;
    font-size:1.2rem;
    font-weight:600;
    color:var(--gold);
    letter-spacing:2px;
    border:1px solid rgba(212,168,87,0.3);
    display:inline-block;
}

/* NEW - Subtitle for Sections */
.subtitle{
    text-align:center;
    color:rgba(255,255,255,0.6);
    font-size:0.85rem;
    margin-top:-0.5rem;
    margin-bottom:1.5rem;
    font-style:italic;
}

/* ==========================================
   ADD BUTTON
========================================== */

.add-btn{

    width:40px;
    height:40px;

    border:none;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #F2C94C,
    #D4A857
    );

    color:black;

    font-size:1.2rem;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

    display:flex;

    align-items:center;

    justify-content:center;

}

.add-btn:hover{

    transform:scale(1.08);

}

.add-btn:active{

    transform:scale(.92);

}

/* ==========================================
   CART FLOAT
========================================== */

.cart-float{

    position:fixed;

    right:20px;
    bottom:20px;

    width:65px;
    height:65px;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #F2C94C,
    #D4A857
    );

    display:flex;

    align-items:center;

    justify-content:center;

    color:black;

    font-size:1.5rem;

    box-shadow:
    0 10px 30px rgba(212,168,87,.35);

    transition:.3s;

    z-index:999;

}

.cart-float:hover{

    transform:translateY(-4px);

}

.cart-count{

    position:absolute;

    top:-4px;
    right:-4px;

    width:24px;
    height:24px;

    border-radius:50%;

    background:white;

    color:black;

    font-size:.8rem;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

}

.cart-page{
    padding:20px;
    max-width:800px;
    margin:auto;
}

.cart-title{
    font-family:'Cinzel',serif;
    color:var(--gold);
    text-align:center;
    font-size:2rem;
    margin-bottom:25px;
}

.cart-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px;
    margin-bottom:15px;
    border-radius:20px;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    border:1px solid rgba(212,168,87,.12);
}

.cart-info h3{
    font-size:1rem;
    margin-bottom:6px;
}

.cart-info .item-detail{
    color:#bbb;
    font-size:.8rem;
    margin-top:4px;
}

.cart-info .item-option{
    color:var(--gold);
    font-size:.75rem;
    margin-top:2px;
}

.cart-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.qty-btn{
    width:36px;
    height:36px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    background:linear-gradient(135deg, #F2C94C, #D4A857);
    font-weight:bold;
}

.qty-number{
    min-width:25px;
    text-align:center;
}

.remove-btn{
    border:none;
    background:#8B0000;
    color:white;
    padding:8px 12px;
    border-radius:10px;
    cursor:pointer;
}

.summary{
    margin-top:30px;
    padding:20px;
    border-radius:20px;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    border:1px solid rgba(212,168,87,.12);
}

.total{
    display:flex;
    justify-content:space-between;
    font-size:1.3rem;
    font-weight:700;
    margin-bottom:20px;
}

.checkout-btn{
    width:100%;
    padding:16px;
    border:none;
    border-radius:15px;
    cursor:pointer;
    font-weight:700;
    font-size:1rem;
    background:linear-gradient(135deg, #F2C94C, #D4A857);
    color:black;
}

.empty-cart{
    text-align:center;
    padding:60px 20px;
    color:#999;
}

.clear-cart-btn{
    width:100%;
    padding:12px;
    margin-top:15px;
    border:none;
    border-radius:15px;
    cursor:pointer;
    font-weight:600;
    background:rgba(139,0,0,0.8);
    color:white;
}


/* ==========================================
   MODAL
========================================== */

.modal{

    position:fixed;

    inset:0;

    background:
    rgba(0,0,0,.75);

    display:none;

    align-items:center;

    justify-content:center;

    padding:20px;

    z-index:9999;

}

.modal.show{

    display:flex;

}

.modal-box{

    width:100%;

    max-width:430px;

    background:
    linear-gradient(
    180deg,
    #1B0909,
    #0A0A0A
    );

    border:
    1px solid rgba(212,168,87,.35);

    border-radius:28px;

    padding:28px;

    position:relative;

    animation:modalPop .25s ease;

}

.close-modal{

    position:absolute;

    top:15px;
    right:15px;

    background:none;

    border:none;

    color:white;

    font-size:1.2rem;

    cursor:pointer;

}

.modal-box h2{

    color:var(--gold);

    margin-bottom:15px;

}

.modal-box p{

    color:#d7d7d7;

    line-height:1.7;

}

.modal-price{

    margin-top:20px;

    font-size:1.4rem;

    font-weight:700;

    color:var(--gold-light);

}

.quantity{

    display:flex;

    justify-content:center;

    gap:15px;

    margin:25px 0;

}

.quantity button{

    width:42px;
    height:42px;

    border:none;

    border-radius:50%;

    background:var(--gold);

    cursor:pointer;

    font-size:1.2rem;

}

.modal-cart-btn{

    width:100%;

    padding:15px;

    border:none;

    border-radius:15px;

    background:
    linear-gradient(
    135deg,
    #F2C94C,
    #D4A857
    );

    color:black;

    font-weight:700;

    cursor:pointer;

}

/* NEW - Responsive for small screens */
@media (max-width: 550px) {
    .menu-item {
        flex-wrap: wrap;
        padding: 15px;
    }
    
    .item-left {
        width: 100%;
    }
    
    .item-right {
        width: 100%;
        justify-content: flex-end;
        margin-top: 8px;
    }
    
    .item-number {
        width: 36px;
        height: 36px;
        min-width: 36px;
        font-size: 0.8rem;
    }
    
    .price {
        font-size: 1rem;
    }
    
    .section-divider span {
        font-size: 1rem;
        padding: 0.4rem 1.5rem;
    }
    
    .banner h1 {
        font-size: 1.5rem;
    }
}

/* ==========================================
   ANIMATIONS
========================================== */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes modalPop{

    from{

        opacity:0;

        transform:scale(.92);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}


/* ==========================================
   FOOTER
========================================== */

.footer {
    background: linear-gradient(180deg, rgba(0,0,0,0.95), rgba(20,10,10,0.98));
    border-top: 1px solid rgba(212,168,87,0.2);
    padding: 30px 20px 20px;
    margin-top: 50px;
    text-align: center;
    backdrop-filter: blur(10px);
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto;
}

.footer-logo {
    font-family: 'Cinzel', serif;
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, #F2C94C, #D4A857);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 15px;
}

.footer-divider {
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    margin: 15px auto;
}

.copyright {
    color: #666;
    font-size: 0.7rem;
    letter-spacing: 1px;
}

.copyright .heart {
    color: #e53935;
}

.copyright .dr-solutions {
    color: var(--gold);
    font-weight: 600;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 15px 0;
}

.social-icons a {
    color: #888;
    font-size: 1.2rem;
    transition: all 0.3s;
    text-decoration: none;
}

.social-icons a:hover {
    color: var(--gold);
    transform: translateY(-3px);
}

/* Responsive Footer */
@media (max-width: 550px) {
    .footer {
        padding: 25px 15px 15px;
        margin-top: 40px;
    }
    
    .footer-logo {
        font-size: 1.2rem;
    }
    
    .copyright {
        font-size: 0.6rem;
    }
}