/* ========== VARIABLES ========== */
:root{
  --retro-red:#d94848;--hot-pink:#fc46aa;--warm-cream:#fdf5e7;
  --maroon:#8c1f2d;--soft-yellow:#ffe369;--coffee-brown:#6b3e26;
  --light-coffee:#a67c52;--dark-coffee:#4a2c1a;
}

/* ========== BASE RESET ========== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Poppins',sans-serif;background:var(--warm-cream);color:var(--coffee-brown);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.handwriting{font-family:'Dancing Script',cursive}

/* ========== HEADER ========== */
header{
  position:fixed;top:0;left:0;width:100%;
  display:flex;justify-content:space-between;align-items:center;
  padding:16px;background:#6b3e26;z-index:1000;
  box-shadow:0 2px 5px rgba(0,0,0,.1);
}
.logo{font-family:'Dancing Script',cursive;font-size:24px;font-weight:700;color:var(--soft-yellow)}
.nav-links{display:flex;gap:20px}
.nav-links a{color:var(--soft-yellow);font-weight:500;transition:.3s}
.nav-links a:hover{opacity:.85}
.mobile-menu-btn{font-size:24px;color:#fff;display:none;cursor:pointer}

/* ========== HERO ========== */
.hero{
  height:100vh;min-height:600px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 20px;
  background:linear-gradient(135deg,rgba(107,62,38,.4) 0%,rgba(253,245,231,.2) 100%),
    url('https://images.unsplash.com/photo-1498804103079-a6351b050096?auto=format&fit=crop&w=1350&q=80') center/cover no-repeat;
}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.3) 100%)}
.hero-content{
  max-width:800px;z-index:2;animation:fadeInUp 1s ease-out;
  padding:40px;border:1px solid rgba(253,245,231,.1);border-radius:20px;
  background:rgba(107,62,38,.15);backdrop-filter:blur(5px);box-shadow:0 15px 35px rgba(0,0,0,.1)
}
.hero h2{font-size:clamp(2rem,6vw,4.5rem);color:var(--warm-cream);margin-bottom:25px;text-shadow:2px 2px 8px rgba(0,0,0,.4);line-height:1.2}
.hero h2 span{position:relative;display:inline-block}
.hero h2 span::after{content:"";position:absolute;left:0;bottom:10px;width:100%;height:8px;background:var(--soft-yellow);opacity:.7;z-index:-1;transform:rotate(-1deg)}
.hero p{font-size:clamp(1rem,3.5vw,1.4rem);color:var(--warm-cream);margin-bottom:40px;text-shadow:1px 1px 4px rgba(0,0,0,.4);line-height:1.6;max-width:600px;margin-inline:auto}
.hero-cta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.coffee-steam{position:absolute;width:120px;height:120px;filter:drop-shadow(0 0 5px rgba(255,255,255,.3));opacity:0;
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 Q30,0 40,20 Q50,5 60,25 Q70,10 80,20" fill="none" stroke="white" stroke-width="3" stroke-opacity="0.5" stroke-linecap="round"/></svg>') no-repeat;
  animation:steam 4s infinite ease-in-out}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes steam{0%{transform:translateY(0) scale(.8);opacity:0}50%{opacity:.6}100%{transform:translateY(-100px) scale(1.1);opacity:0}}

/* ========== BUTTONS ========== */
.btn{
  display:inline-block;padding:12px 30px;border-radius:50px;border:none;cursor:pointer;
  background:var(--soft-yellow);color:var(--coffee-brown);font-weight:600;transition:.3s;
  box-shadow:0 4px 15px rgba(255,227,105,.4)
}
.btn:hover{background:var(--retro-red);color:#fff;transform:translateY(-3px);box-shadow:0 6px 20px rgba(217,72,72,.4)}
.btn-outline{background:transparent;border:2px solid var(--soft-yellow);color:var(--soft-yellow)}
.btn-outline:hover{background:var(--soft-yellow);color:var(--coffee-brown)}

/* ========== GENERIC SECTION ========== */
.section{padding:100px 10%;position:relative}
.section-title2{text-align:center;margin-bottom:60px}
.section-title2 h2{font-size:2.5rem;color:var(--retro-red);margin-bottom:15px}
.section-title2 p{color:var(--light-coffee);max-width:700px;margin:0 auto}

/* ========== ABOUT ========== */
.about-content{display:flex;align-items:center;gap:50px}
.about-text{flex:1}
.about-text h3{font-size:1.8rem;color:var(--coffee-brown);margin-bottom:20px}
.about-text p{margin-bottom:20px;line-height:1.8}
.about-image{flex:1;position:relative}
.about-image img{width:100%;border-radius:10px;box-shadow:0 20px 40px rgba(107,62,38,.2)}
.coffee-bean{position:absolute;width:40px;height:25px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 60"><path d="M90,30 C90,50 60,55 50,30 C40,5 10,10 10,30 C10,50 40,55 50,30 C60,5 90,10 90,30 Z" fill="%236b3e26" opacity="0.6"/></svg>') no-repeat;animation:float 6s infinite ease-in-out}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}

/* ========== MENU SECTION ========== */
.menu-section{padding:4rem 2rem;background:var(--warm-cream);color:var(--coffee-brown)}
.menu-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}
.filter-btn{padding:.5rem 1rem;border:2px solid var(--coffee-brown);border-radius:50px;background:transparent;color:var(--coffee-brown);cursor:pointer;transition:.3s}
.filter-btn.active,.filter-btn:hover{background:var(--coffee-brown);color:var(--warm-cream)}
.menu-category{margin-bottom:3rem}
.category-title{font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--soft-yellow)}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.menu-item{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);display:flex;justify-content:space-between;transition:.3s}
.menu-item:hover{transform:translateY(-5px)}
.item-name{font-weight:600}
.item-price{font-weight:500;color:var(--coffee-brown)}

/* ========== GALLERY ========== */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.gallery-item{position:relative;overflow:hidden;border-radius:10px;height:250px;box-shadow:0 5px 15px rgba(107,62,38,.1);transition:.3s}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover{box-shadow:0 10px 25px rgba(107,62,38,.2)}
.gallery-item:hover img{transform:scale(1.1)}
.instagram-feed{margin-top:50px;text-align:center}
.instagram-feed h3{font-size:1.5rem;color:var(--retro-red);margin-bottom:20px}
.instagram-feed a{color:var(--hot-pink);font-weight:600}

/* ========== TESTIMONIALS ========== */
.testimonials{background:#fff}
.testimonial-slider{max-width:1000px;margin:0 auto;position:relative}
.testimonial-item{background:var(--warm-cream);padding:40px;border-radius:10px;box-shadow:0 10px 30px rgba(107,62,38,.1);margin:0 20px;position:relative}
.testimonial-item:before{content:'"';position:absolute;top:20px;left:20px;font-family:'Dancing Script',cursive;font-size:5rem;color:rgba(107,62,38,.1);line-height:1}
.testimonial-text{font-size:1.1rem;line-height:1.8;color:var(--coffee-brown);margin-bottom:20px;font-style:italic}
.testimonial-author{display:flex;align-items:center}
.testimonial-author img{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-right:15px;border:3px solid var(--retro-red)}
.author-info h4{color:var(--retro-red);margin-bottom:5px}
.author-info p{color:var(--light-coffee);font-size:.9rem}
.stars{color:var(--soft-yellow);margin-bottom:10px}

/* ========== CONTACT ========== */
.contact{padding:80px 0;background:#f9f9f9}
.contact-container{display:flex;flex-wrap:wrap;gap:30px;max-width:1200px;margin:0 auto;padding:0 20px}
.contact-info{flex:1;min-width:300px}
.contact-info h3{font-size:1.8rem;margin-bottom:20px;color:#333}
.info-item{display:flex;margin-bottom:25px}
.info-item i{font-size:1.5rem;color:#8B4513;margin-right:15px;margin-top:5px}
.info-content h4{font-size:1.2rem;margin-bottom:5px;color:#555}
.info-content p,.info-content a{color:#666;line-height:1.6;transition:color .3s}
.info-content a:hover{color:#8B4513}
.contact-map{flex:1;min-width:300px;height:400px}
.contact-map iframe{width:100%;height:100%;border:none;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.1)}

/* ========== FAQ (VISIBLE) ========== */
.faq{padding:80px 10%;background:var(--warm-cream)}
.faq h2{text-align:center;color:var(--retro-red);margin-bottom:40px}
.faq details{max-width:800px;margin:0 auto 16px;background:#fff;border:1px solid #eee;border-radius:8px;padding:12px 16px}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin-top:10px;line-height:1.7;color:var(--coffee-brown)}

/* ========== FOOTER ========== */
footer{background:var(--maroon);color:#fff;padding:70px 10% 30px}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:50px}
.footer-column h3{font-size:1.3rem;margin-bottom:20px;color:var(--soft-yellow)}
.footer-column p{margin-bottom:15px;line-height:1.6;opacity:.8}
.footer-links li{margin-bottom:10px;list-style:none}
.footer-links a{color:#fff;opacity:.8;transition:opacity .3s}
.footer-links a:hover{opacity:1;text-decoration:underline}
.social-links{display:flex;gap:15px}
.social-links a{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#fff;font-size:1.2rem;transition:.3s}
.social-links a:hover{background:var(--soft-yellow);color:var(--coffee-brown);transform:translateY(-3px)}
.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom p{opacity:.7;font-size:.9rem}

/* ========== WHATSAPP FLOAT ========== */
.whatsapp-float{
  position:fixed;right:30px;bottom:30px;z-index:1000;
  width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#25D366;color:#fff;font-size:1.8rem;box-shadow:0 5px 20px rgba(37,211,102,.4);transition:.3s
}
.whatsapp-float:hover{transform:scale(1.1) translateY(-5px);box-shadow:0 8px 25px rgba(37,211,102,.5)}

/* ========== SIDEBAR (MOBILE) ========== */
#mobileSidebar{
  position:fixed;top:0;right:-250px;height:100%;width:250px;background:#fff;
  box-shadow:-2px 0 5px rgba(0,0,0,.2);z-index:2000;padding:40px 20px;transition:right .3s
}
#mobileSidebar a{display:block;margin:20px 0;color:#333}

/* ========== RESPONSIVE ========== */
@media (max-width:992px){
  .about-content{flex-direction:column}
  .contact-container{flex-direction:column}
  .hero h2{font-size:3rem}
}
@media (max-width:768px){
  .nav-links{display:none}
  .mobile-menu-btn{display:block}
  .section{padding:70px 5%}
  .menu-items{grid-template-columns:1fr}
  .hero{padding:0 15px}
  .hero-content{padding:25px}
  .hero-cta{flex-direction:column;gap:15px}
}
@media (max-width:576px){
  .hero h2{font-size:2rem}
  .btn{padding:10px 20px}
  .testimonial-item{padding:30px 20px}
}
@media (max-width:480px){
  .contact{padding:50px 0}
  .contact-map{height:250px}
  .info-item{flex-direction:column}
  .info-item i{margin-bottom:10px}
}
