/* ============================
   COFFEE LIFE CAFE - Final Premium Styles
   ============================ */

/* ===== Root Variables ===== */
:root {
    --coffee: #4b2e1e;
    --gold: #b85c38;
    --cream: #f5e6d3;
    --dark: #2c1b0e;
    --shadow: 0 4px 15px rgba(0,0,0,0.2);
    --whatsapp: #25d366;
}

/* ===== General Styles ===== */
body {
    font-family: 'Arial', sans-serif;
    margin: 0;
    background-color: #1c1c1c;
    color: #fff;
}

html {
    scroll-behavior: smooth;
}

a { text-decoration: none; color: inherit; }

/* ===== Header ===== */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    background-color: var(--gold);
    box-shadow: var(--shadow);
    position: sticky;
    top: 0;
    z-index: 999;
}

header .logo {
    height: 50px;
}

nav ul {
    list-style: none;
    display: flex;
    gap: 20px;
}

nav a {
    color: #fff;
    font-weight: bold;
    transition: 0.3s;
}

nav a:hover { text-decoration: underline; }

/* ===== Hero Section ===== */
.hero {
    text-align: center;
    padding: 100px 20px;
    background: url('../images/logo.jpg') no-repeat center center/cover;
    position: relative;
}

.hero h1 {
    font-size: 3rem;
    margin-bottom: 20px;
    color: var(--cream);
    text-shadow: 2px 2px 8px rgba(0,0,0,0.6);
}

.hero p {
    font-size: 1.5rem;
    margin-bottom: 30px;
    color: #fff;
}

/* ===== Buttons ===== */
.btn, .btn-add, .btn-whatsapp, .cart-order-btn {
    background-color: var(--gold);
    padding: 12px 25px;
    color: var(--dark);
    font-weight: 700;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn:hover, .btn-add:hover, .btn-whatsapp:hover, .cart-order-btn:hover {
    background-color: var(--coffee);
    color: var(--cream);
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}

/* ===== Features & Menu Sections ===== */
.features, .menu {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    padding: 50px 20px;
    gap: 20px;
}

.feature, .menu-item {
    max-width: 300px;
    text-align: center;
    margin: 20px;
    background: #fff;
    color: var(--dark);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: all 0.4s ease;
}

.menu-item img, .menu-item video {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 18px 18px 0 0;
    transition: transform 0.4s ease;
}

.menu-item:hover img,
.menu-item:hover video { transform: scale(1.05); }

.menu-body { padding: 0.8rem 1rem 1.2rem; }
.menu-body h4 { font-weight: 600; margin-bottom: 0.3rem; color: var(--dark); }
.menu-body .desc { font-size: 0.85rem; margin-bottom: 0.4rem; color: var(--coffee); }
.menu-body .price { font-weight: 700; color: var(--gold); font-size: 1.05rem; }
.menu-body .price .delivery-note { font-size: 0.78rem; color: #a8844f; font-style: italic; display: block; margin-top: 3px; }
.menu-body .actions { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; flex-wrap: wrap; }

/* ===== WhatsApp Floating Button ===== */
.whatsapp-btn, .whatsapp-float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: var(--whatsapp);
    color: #fff;
    padding: 15px 20px;
    border-radius: 50px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    cursor: pointer;
    z-index: 1000;
    transition: all 0.3s ease;
}

.whatsapp-btn:hover, .whatsapp-float:hover { background-color: #1ebe57; }
.whatsapp-float.highlight { box-shadow: 0 0 20px var(--whatsapp), 0 0 40px var(--whatsapp) inset; transform: scale(1.1); }

/* ===== Cart Styles ===== */
.cart-container { position: fixed; top:0; right:-400px; width:360px; height:100vh; background:#fff; color:var(--dark); box-shadow:-5px 0 20px rgba(0,0,0,0.25); transition: right 0.5s ease; z-index:9999; overflow-y:auto; border-left:4px solid var(--coffee); font-family:'Poppins', sans-serif; }
.cart-container.active { right:0; }
.cart-header { background: var(--coffee); color: var(--cream); padding:1rem 1.5rem; display:flex; justify-content:space-between; align-items:center; }
.cart-header h3 { font-family:'Playfair Display', serif; font-size:1.5rem; letter-spacing:1px; margin:0; }
.cart-close { font-size:1.5rem; cursor:pointer; transition:0.3s; }
.cart-close:hover { color: var(--gold); transform: rotate(90deg); }
.cart-item { display:flex; align-items:center; justify-content:space-between; padding:1rem; border-bottom:1px solid #eee; animation: fadeInCart 0.5s ease; }
.cart-item img { width:60px; height:60px; border-radius:8px; margin-right:10px; object-fit:cover; }
.cart-item-info { flex:1; }
.cart-item-info h4 { margin:0; font-size:1rem; color: var(--dark); }
.cart-item-info p { margin:0; font-size:0.9rem; color:#777; }
.cart-item-remove { color:#c0392b; cursor:pointer; transition: transform 0.3s, color 0.3s; font-size:1.2rem; }
.cart-item-remove:hover { transform: scale(1.3); color:#e74c3c; }
.cart-total { padding:1rem 1.5rem; text-align:right; font-weight:bold; color: var(--coffee); border-top:1px solid #eee; font-size:1.1rem; }
.cart-order-btn { display:block; width:90%; margin:1rem auto 2rem auto; background: var(--gold); color: var(--dark); font-weight:700; padding:1rem; border-radius:50px; text-align:center; box-shadow:0 5px 15px rgba(207,160,122,0.5); }

/* ===== Cart Quantity Buttons ===== */
.cart-item .controls { display:flex; align-items:center; gap:0.5rem; margin-left:10px; }
.cart-item .qty-btn { background: var(--coffee); color: var(--cream); border:none; padding:0.3rem 0.6rem; border-radius:5px; cursor:pointer; font-weight:bold; transition: all 0.3s; }
.cart-item .qty-btn:hover { background: var(--gold); color: var(--dark); transform: scale(1.1); }
.cart-item .qty-btn.shake { animation: shakeBtn 0.5s ease; }
.cart-item .qty-btn.glow { box-shadow: 0 0 10px var(--gold), 0 0 20px var(--gold); }

/* ===== Animations ===== */
@keyframes shakeBtn { 0%,100%{transform:translateX(0);} 20%,60%{transform:translateX(-3px);} 40%,80%{transform:translateX(3px);} }
@keyframes fadeInCart { from{opacity:0;transform:translateX(30px);} to{opacity:1;transform:translateX(0);} }

/* ===== Footer ===== */
footer { text-align:center; padding:20px; background-color:#111; color:#fff; font-size:0.9rem; }

/* ===== Responsive ===== */
@media(max-width:1024px){ .menu-item img{height:190px;} }
@media(max-width:768px){
    nav ul { flex-direction: column; gap:10px; }
    .menu-item img { height:170px; }
    .hero h1 { font-size:2.2rem; }
    .hero p { font-size:1.2rem; }
    .btn, .btn-add, .btn-whatsapp, .cart-order-btn { padding:0.6rem 1.2rem; font-size:0.9rem; }
}
@media(max-width:480px){
    .menu-item { max-width:90%; }
    .hero { padding:80px 10px; }
}
