* {
    margin: 0;
    padding: 0;
}
 
html {
    scroll-behavior: smooth;
}
 
:root {
    --primary-color: rgb(24, 15, 4);
      --cream:   #f5efe6;
      --latte:   #d4a96a;
      --espresso:#2c1a0e;
      --mocha:   #6b3f1f;
      --foam:    #fdf8f2;
      --shadow:  rgba(44,26,14,.12);
}
body{
        background-color: rgb(233, 229, 229);
}
/* — Navbar — */
.navbar {
    background-color: var(--primary-color);
    position: fixed;
    z-index: 1000;
    top: 0;
    height: 10vh;
    width: 100%;
    display: flex;
    gap: 20%;
    align-items: center;
    border-bottom: 1px solid #513c28;
}
 
.navbar .navbar-ul {
    font-size: 30px;
    margin-left: 10vh;
}
 
.navbar .rajendra {
    color: aliceblue;
}
 
.navbar .cakra {
    color: grey;
}
 
.navbar .navbar-ul a {
    text-decoration: none;
}
 
.navbar .navbar-menu {
    color: white;
    font-size: 24px;
    display: flex;
    gap: 4vh;
    margin-left: 5vh;
}
 
.navbar .navbar-menu a {
    color: white;
    text-decoration: none;
    transition: 0.3s;
}
 
.navbar .navbar-menu a:hover {
    color: #9f6026;
}

/* hamburger */
/* ===== TAMBAHAN: Hamburger ===== */
.burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 4px;
    margin-left: auto;
    margin-right: 10vh;
}
.burger span {
    display: block;
    width: 26px;
    height: 2px;
    background: white;
    border-radius: 2px;
    transition: transform .3s, opacity .3s;
}
.burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; }
.burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
 
.drawer {
    display: none;
    flex-direction: column;
    background-color: var(--primary-color);
    position: fixed;
    top: 10vh;
    left: 0; right: 0;
    padding: 16px 10vh 24px;
    border-top: 1px solid #513c28;
    gap: 16px;
    z-index: 999;
}
.drawer a {
    color: white;
    text-decoration: none;
    font-size: 20px;
    padding: 8px 0;
    border-bottom: 1px solid #3a2a1a;
    transition: color .2s;
}
.drawer a:last-child { border-bottom: none; }
.drawer a:hover { color: #9f6026; }
.drawer.open { display: flex; }
 
/* Sembunyikan hamburger di layar laptop (>=1024px) */
@media (min-width: 1024px) {
    .burger { display: none !important; }
    .drawer { display: none !important; }
}
 
/* Tampilkan hamburger & sembunyikan menu di mobile/tablet */
@media (max-width: 1023px) {
    .navbar-menu { display: none; }
    .burger { display: flex; }
}
 

 
/* — Section Hero / Content-1 — */
section .content-1 {
    background-color: var(--primary-color);
    height: 100vh;
    padding-top: 0;
}
 
section .content-1 h1 {
    font-size: 10vh;
    padding-left: 13vh;
}
 
section .content-1 .mari {
    color: white;
    padding-top: 23vh;
}
 
section .content-1 .mari2 {
    color: white;
    margin-top: -1.5vh;
}
 
section .content-1 .web {
    color: #a0642b;
    margin-top: -1.5vh;
}
 
section .content-1 .rate {
    display: flex;
    gap: 100px;
    font-size: 40px;
    color: white;
    padding-left: 15vh;
    padding-top: 7vh;
    font-family: "Poppins", impact;
    font-weight: 700;
}
 
section .content-1 .rate1 {
    display: flex;
    gap: 117px;
    font-size: 18px;
    color: rgb(159, 159, 159);
    padding-left: 15vh;
    padding-top: 7px;
    font-family: monospace;
    font-weight: 1;
}
 
section .content-1 .rate1 .bintang {
    margin-left: -17px;
}
 
section .content-1 .h1-cover {
    color: white;
    margin-top: -64vh;
    margin-left: 44vh;
    position: relative;
}
 
section .content-1 .h1-cover h1 {
    font-size: 26vh;
    position: absolute;
    z-index: 1;
    opacity: 0.2;
    margin-left: 35vh;
}
 
section .content-1 .h1-cover .cover2 {
    margin-top: 29vh;
    margin-left: 36vh;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
 
section .content-1 .coffe {
    height: 80vh;
    position: relative;
    z-index: 2;
    width: 80vh;
    margin-top: 3vh;
    padding-left: 52vh;
}
 
section .txt {
    padding-top: 2vh;
}
 
section .text {
    color: white;
    font-size: 18px;
    padding-left: 1vh;
    margin-right: 100vh;
    padding-left: 14vh;
}
 
section .a-1 {
    padding-top: 6vh;
    padding-left: 14vh;
}
 
/* Tombol "Cek Sekarang" di hero */
section a {
    background-color: #9f6026;
    border-radius: 0;
    font-size: 23px;
    padding: 15px;
    padding-left: 50px;
    padding-right: 50px;
    color: white;
    text-decoration: none;
    font-style: bold;
    font-family: 'Times New Roman', Times, serif;
    transition: 0.3s ease;
}
 
section a:hover {
    background-color: #4d3117;
    color: rgb(195, 195, 195);
}

#menu {
    --mn-dark:        rgb(24, 15, 4);
    --mn-dark2:       #1f1409;
    --mn-brown-deep:  #3a2010;
    --mn-brown-mid:   #7a4a1e;
    --mn-accent:      #a0642b;
    --mn-gold:        #d4a055;
    --mn-cream:       #f5ead8;
    --mn-cream-light: #fdf6ec;
    --mn-muted:       #9a8070;
    --mn-border:      rgba(160, 100, 43, 0.2);
}
 
/* === SECTION UTAMA === */
#menu {
    background-color: rgb(24, 15, 4); /* Menyambung dengan warna section hero */
    padding-bottom: 80px;
}
 
/* === HEADER SECTION MENU === */
.mn-header {
    text-align: center;
    padding: 80px 40px 50px;
    position: relative;
    overflow: hidden;
}
 
/* Teks "MENU" besar di background sebagai dekorasi */
.mn-header::before {
    content: 'MENU';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Playfair Display', serif;
    font-size: 20vw;
    color: rgba(160, 100, 43, 0.04); /* sangat transparan, hanya sebagai texture */
    white-space: nowrap;
    pointer-events: none;            /* tidak bisa diklik */
    letter-spacing: 0.3em;
}
 
.mn-label {
    font-size: 11px;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: var(--mn-accent);
    margin-bottom: 14px;
}
 
/* Judul besar "Our Signature Collection" */
.mn-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(36px, 6vw, 80px); /* responsif: min 36px, max 80px */
    font-weight: 400;
    line-height: 1.1;
    color: var(--mn-cream-light);
}
 
/* Kata "Signature" miring dan berwarna gold */
.mn-title em {
    font-style: italic;
    color: var(--mn-gold);
}
 
.mn-subtitle {
    margin-top: 14px;
    font-size: 13px;
    color: var(--mn-muted);
    letter-spacing: 0.05em;
}
 
/* Garis dekoratif di bawah header */
.mn-divider {
    width: 60px;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--mn-accent), transparent);
    margin: 24px auto 0;
}
 
/* === NAVIGASI TAB (tombol Best Seller / Drinks / Food / Dessert) === */
.mn-tab-nav {
    display: flex;
    justify-content: center;
    gap: 0;
    padding: 0 40px;
    margin-bottom: 50px;
    border-bottom: 1px solid var(--mn-border);
    overflow-x: auto; /* scroll horizontal kalau layar kecil */
}
 
.mn-tab-btn {
    background: none;
    border: none;
    color: var(--mn-muted);
    font-family: 'DM Sans', sans-serif;  /* fallback ke sans-serif */
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    padding: 14px 28px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
    white-space: nowrap;
}
 
/* Garis bawah yang muncul saat tab aktif */
.mn-tab-btn::after {
    content: '';
    position: absolute;
    bottom: -1px; /* menempel tepat di atas border-bottom nav */
    left: 0;
    right: 0;
    height: 2px;
    background: var(--mn-accent);
    transform: scaleX(0);          /* awalnya tidak terlihat */
    transition: transform 0.3s;    /* animasi muncul saat aktif */
}
 
.mn-tab-btn.active {
    color: var(--mn-cream-light);
}
 
.mn-tab-btn.active::after {
    transform: scaleX(1); /* garis bawah muncul saat tab aktif */
}
 
.mn-tab-btn:hover {
    color: var(--mn-cream);
}
 
/* === WRAPPER PANEL KONTEN === */
.mn-content-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 80px); /* padding responsif kiri-kanan */
}
 
/* === PANEL (setiap kategori menu) ===
   Secara default panel disembunyikan.
   Hanya panel dengan class "active" yang terlihat.
   Pergantian diatur oleh menu.js */
.mn-panel {
    display: none; /* tersembunyi secara default */
}
 
.mn-panel.active {
    display: block; /* terlihat saat tab dipilih */
    animation: mn-fadeIn 0.4s ease; /* animasi muncul halus */
}
 
/* Animasi fade-in saat panel berganti */
@keyframes mn-fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
 
/* === LABEL & JUDUL TIAP KATEGORI === */
.mn-sec-label {
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--mn-accent);
    margin-bottom: 6px;
}
 
.mn-sec-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 300;
    color: var(--mn-cream-light);
    margin-bottom: 36px;
}
 
/* ─────────────────────────────────────────────
   KARTU BEST SELLER
   Layout: 5 kartu dalam grid responsif
───────────────────────────────────────────── */
.mn-bs-grid {
    display: grid;
    /* auto-fit: browser pilih jumlah kolom otomatis berdasar lebar layar */
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
}
 
.mn-bs-card {
    background: var(--mn-dark2);
    border: 1px solid var(--mn-border);
    border-radius: 2px;
    padding: 28px 24px;
    position: relative;         /* untuk posisi badge di pojok kanan atas */
    transition: border-color 0.3s, transform 0.3s;
    cursor: default;
}
 
/* Efek hover: kartu naik sedikit dan border menyala */
.mn-bs-card:hover {
    border-color: var(--mn-accent);
    transform: translateY(-4px);
}
 
/* Badge "Best Seller" di pojok kanan atas kartu */
.mn-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    background: var(--mn-accent);
    color: var(--mn-cream-light);
    font-size: 8px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 4px 8px;
}
 
/* Nomor ranking besar dan transparan sebagai dekorasi latar */
.mn-rank {
    font-family: 'Playfair Display', serif;
    font-size: 52px;
    font-weight: 700;
    color: rgba(160, 100, 43, 0.12);
    line-height: 1;
    margin-bottom: -6px;
}
 
/* Bintang rating */
.mn-stars {
    font-size: 13px;
    color: var(--mn-gold);
    margin-bottom: 6px;
}
 
/* Nama menu di semua jenis kartu */
.mn-card-name {
    font-family: 'Playfair Display', serif;
    font-size: 19px;
    font-weight: 400;
    color: var(--mn-cream-light);
    margin-bottom: 4px;
}
 
/* Kategori / tag kecil (contoh: "Espresso · Hot / Iced") */
.mn-card-tag {
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--mn-accent);
    margin-bottom: 10px;
}
 
/* Deskripsi singkat menu */
.mn-card-desc {
    font-size: 13px;
    color: var(--mn-muted);
    line-height: 1.7;
    margin-bottom: 18px;
}
 
/* Harga menu */
.mn-price {
    font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    font-weight: 600;
    color: var(--mn-gold);
    display: block; /* agar bisa diposisikan sendiri */
}
 
/* ─────────────────────────────────────────────
   KARTU STANDAR (Drinks & Food)
   Layout: grid dengan border tipis antar item
───────────────────────────────────────────── */
.mn-std-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1px;
    border: 1px solid var(--mn-border);
}
 
.mn-std-item {
    padding: 24px;
    background: var(--mn-dark2);
    transition: background 0.3s;
    cursor: default;
}
 
.mn-std-item:hover {
    background: var(--mn-brown-deep);
}
 
/* Baris atas item: nama (kiri) dan harga (kanan) */
.mn-item-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 6px;
    gap: 10px;
}
 
/* Override harga khusus di grid standar (lebih kecil) */
.mn-std-item .mn-price {
    font-size: 20px;
    flex-shrink: 0; /* harga tidak boleh diperas/menyempit */
}
 
/* ─────────────────────────────────────────────
   KARTU DESSERT
   Layout: kartu terpusat (centered) dengan ikon emoji besar
───────────────────────────────────────────── */
.mn-dessert-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}
 
.mn-dessert-card {
    background: var(--mn-dark2);
    border: 1px solid var(--mn-border);
    border-radius: 2px;
    padding: 32px 24px;
    text-align: center; /* semua konten di tengah */
    transition: border-color 0.3s, transform 0.3s;
    cursor: default;
}
 
.mn-dessert-card:hover {
    border-color: var(--mn-gold); /* hover dessert memakai gold, bukan accent */
    transform: translateY(-4px);
}
 
/* Ikon emoji besar di atas kartu dessert */
.mn-dessert-icon {
    font-size: 34px;
    display: block;
    margin-bottom: 14px;
}
 
/* === selesai === */
section .jam-loc{
    background-color: var(--primary-color);
    border-top:1px solid #513c28;
    display: flex;
    height: 110vh;
    gap: 20vh;
}

section .lokasi{
    display: flex;
    align-items: center;
}
section iframe{
    padding-left: 5vh;
    height: 80vh;
    width: 80vh;
}

section .tm{
    color: white;
}

section .time{
    padding-top: 16vh;
    padding-left: 7vh;
    
}
section .time h1{
        font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 300;
    color: var(--mn-cream-light);
}
section .dt{
    display: flex;
    gap: 12vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 5vh;
}
section .dt .a{
    padding-left: 7vh;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
}
section .dt .b{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 19vh;
}
section .time1,.time2,.time3,.time4,.time5,.time6,.time7{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 27vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .time1{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 27vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .time3{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 24vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .time4{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 26vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .time5{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 29vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .time6{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 27vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .time7{
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 12px;
    margin-bottom: 20px;
    padding-left: 4px;
    display: flex;
    justify-content: center;
    gap: 28vh;
    border-bottom: 2px solid #513c28;
    width: 58vh;
    padding-top: 20px;
    padding-bottom: 20px;
}
section .tm p{
    font-size: 20px;
    color: #d6d6d6;
}


section .contactsection{
    background-color: rgb(233, 229, 229);
}
header {
    position: relative;
    background: var(--espresso);
    color: var(--cream);
    padding: 70px 40px 60px;
    text-align: center;
    overflow: hidden;
}
 
header::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 120%, var(--mocha) 0%, transparent 70%);
}
 
.header-badge {
    display: inline-block;
    font-family: 'DM Sans', sans-serif;
    font-weight: 300;
    font-size: .75rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--latte);
  border: 1px solid var(--latte);
  padding: 6px 18px;
  border-radius: 100px;
  margin-bottom: 22px;
  position: relative;
  animation: fadeDown .8s ease both;
}

header h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 6vw, 4.2rem);
  line-height: 1.1;
  position: relative;
  animation: fadeDown .9s .1s ease both;
}

header h1 em {
  font-style: italic;
  color: var(--latte);
}

header p {
  margin-top: 14px;
  font-size: 1rem;
  font-weight: 300;
  opacity: .7;
  position: relative;
  animation: fadeDown 1s .2s ease both;
}

/* decorative rings */
.ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(212,169,106,.15);
  pointer-events: none;
}
.ring-1 { width:320px; height:320px; top:-80px; right:-60px; }
.ring-2 { width:200px; height:200px; bottom:-40px; left:-20px; }

/* ── MAIN LAYOUT ── */
main {
  max-width: 1060px;
  margin: 0 auto;
  padding: 60px 24px 80px;
}

/* ── SECTION TITLE ── */
.section-label {
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--mocha);
  font-weight: 500;
  margin-bottom: 8px;
}

.section-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.9rem;
  margin-bottom: 32px;
}

/* ── CARDS GRID ── */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 56px;
}

.card {
  background: var(--foam);
  border-radius: 20px;
  padding: 32px 26px 28px;
  border: 1px solid rgba(44,26,14,.08);
  box-shadow: 0 4px 24px var(--shadow);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  transition: transform .28s ease, box-shadow .28s ease;
  position: relative;
  overflow: hidden;
  animation: fadeUp .7s ease both;
}

.card:nth-child(1) { animation-delay: .05s; }
.card:nth-child(2) { animation-delay: .12s; }
.card:nth-child(3) { animation-delay: .19s; }
.card:nth-child(4) { animation-delay: .26s; }

.card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 60%, rgba(212,169,106,.08));
  pointer-events: none;
}

.card:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 12px 40px var(--shadow);
}

.card-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: grid; place-items: center;
  font-size: 1.45rem;
  flex-shrink: 0;
}

.card-icon.gmaps      { background:#cee1d0; }
.card-icon.whatsapp   { background:#c4f0c7; }
.card-icon.instagram  { background:#e6cfd7; }
.card-icon.facebook   { background:#bfd4e3; }

.card-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 700;
}
 
.card-detail {
  font-size: .85rem;
  font-weight: 300;
  opacity: .65;
  line-height: 1.5;
}

.card-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  font-weight: 500;
  color: var(--mocha);
  letter-spacing: .04em;
}

.card-cta svg { transition: transform .2s; }
.card:hover .card-cta svg { transform: translateX(3px); }

/* ── DIVIDER ── */
.divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 48px 0;
  opacity: .35;
}
.divider::before, .divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--espresso);
}
.divider span { font-size: 1.1rem; }

/* ── MAP EMBED ── */
.map-wrapper {
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(44,26,14,.1);
  box-shadow: 0 8px 40px var(--shadow);
  position: relative;
  animation: fadeUp .9s .1s ease both;
}

.map-wrapper iframe {
  width: 100%;
  height: 380px;
  display: block;
  border: none;
  filter: sepia(15%) saturate(85%) brightness(97%);
}

.map-caption {
  background: var(--espresso);
  color: var(--cream);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .9rem;
}

.map-caption span { opacity: .65; font-size: .8rem; }

/* ── HOURS BLOCK ── */
.hours-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
}

.hour-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--foam);
  border-radius: 12px;
  padding: 12px 18px;
  border: 1px solid rgba(44,26,14,.07);
  font-size: .88rem;
}

.hour-row .day { font-weight: 500; }
.hour-row .time { color: var(--mocha); font-weight: 500; }

/* ── BOTTOM CTA ── */
.bottom-cta {
  margin-top: 60px;
  text-align: center;
  background: var(--espresso);
  border-radius: 24px;
  padding: 50px 32px;
  color: var(--cream);
  position: relative;
  overflow: hidden;
}

.bottom-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 50%, var(--mocha), transparent 60%);
}

.bottom-cta h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  position: relative;
}

.bottom-cta h2 em { color: var(--latte); }

.bottom-cta p {
  margin: 10px 0 28px;
  font-weight: 300;
  opacity: .7;
  position: relative;
}

.cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--latte);
  color: var(--espresso);
  font-weight: 600;
  font-size: .9rem;
  padding: 14px 30px;
  border-radius: 100px;
  text-decoration: none;
  position: relative;
  transition: background .2s, transform .2s;
}

.cta-btn:hover {
  background: #e0b87a;
  transform: scale(1.04);
}

/* ── FOOTER ── */
    /* ─── FOOTER ─────────────────────────────────────── */
    .footer {
      background: #1a1208;
      color: #c9b48a;
      height: 10vh;
      min-height: 72px;
      display: flex;
      align-items: center;
      padding: 0 5%;
      width: 90%;
      font-family: 'DM Sans', sans-serif;
      border-top: 1px solid #3a2c14;
    }
 
    .footer-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 90%;
      gap: 12px;
      flex-wrap: wrap;
    }
 
    /* Brand */
    .footer-brand {
      display: flex;
      flex-direction: column;
      gap: 2px;
      flex-shrink: 0;
    }
 
    .footer-brand .name {
      font-family: 'Playfair Display', serif;
      font-weight: 600;
      font-size: 19px;
      color: #e8d5a3;
      letter-spacing: 0.02em;
      line-height: 1.2;
    }
 
    .footer-brand .address {
      font-size: 13px;
      color: #7a6644;
      font-weight: 300;
      letter-spacing: 0.01em;
      line-height: 1.4;
      max-width: 260px;
    }
 
    /* Social icons */
    .footer-icons {
      display: flex;
      align-items: center;
      gap: 2vh;
      flex-shrink: 0;
      padding-left: 9vh;
    }
 
    .footer-icons a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      border: 0.5px solid #3a2c14;
      color: #c9b48a;
      font-size: 16px;
      text-decoration: none;
      transition: background 0.2s, border-color 0.2s, color 0.2s;
    }
 
    .footer-icons a:hover {
      background: #2e2010;
      border-color: #6b5030;
      color: #e8d5a3;
    }
 
    /* Copyright */
    .footer-copy {
      font-size: 17px;
      color: #5a4828;
      font-weight: 300;
      flex-shrink: 0;

    }
    .footer-copy p{
        margin-right: -16vh;
    }
 

/* ── ANIMATIONS ── */
@keyframes fadeDown {
  from { opacity: 0; transform: translateY(-18px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── RESPONSIVE ── */
@media (max-width: 560px) {
  header { padding: 50px 24px 44px; }
  .hours-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE ADDITIONS — kode asli di atas tidak diubah sama sekali
   ═══════════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────────────────────
   NON-LAPTOP  (≤ 1023px)
   Berlaku untuk TABLET + MOBILE sekaligus:
   • Sembunyikan navbar-menu, tampilkan hamburger
   • Sembunyikan .h1-cover sepenuhnya
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 1023px) {

  /* ── Navbar: sembunyikan link, tampilkan hamburger ── */
  .navbar-menu          { display: none !important; }
  .burger               { display: flex !important; }

  /* Navbar layout: logo kiri, hamburger kanan */
  .navbar {
    gap: 0;
    justify-content: space-between;
    padding-right: 0;
  }
  .navbar .navbar-ul { margin-left: 24px; }
  .burger            { margin-right: 24px; }

  /* ── Hero: sembunyikan h1-cover total ── */
  section .content-1 .h1-cover { display: none !important; }
}


/* ─────────────────────────────────────────────────────────────────
   TABLET ONLY  769px – 1023px
   Perbaikan hero supaya konten terpusat di layar tablet
   ───────────────────────────────────────────────────────────────── */
@media (min-width: 769px) and (max-width: 1023px) {

  /* Navbar */
  .navbar                  { height: 60px; }
  .navbar .navbar-ul       { font-size: 22px; }
  .burger                  { margin-right: 20px; }
  .drawer                  { top: 60px; }

  /* Hero — content-1 jadi flex column terpusat */
  section .content-1 {
    height: auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 32px 60px;
    box-sizing: border-box;
  }

  /* H1 group */
  .h1-judul { text-align: center; }
  section .content-1 h1         { font-size: 7.5vw; padding-left: 0; }
  section .content-1 .mari      { padding-top: 0; }
  section .content-1 .mari2     { margin-top: -0.5vw; }
  section .content-1 .web       { margin-top: -0.5vw; }

  /* Teks deskripsi */
  section .txt                  { text-align: center; padding-top: 20px; }
  section .text                 { padding-left: 0; margin-right: 0; font-size: 15px; }

  /* Tombol */
  section .a-1                  { padding-left: 0; padding-top: 28px; text-align: center; }

  /* Rate row */
  section .content-1 .rate      { padding-left: 0; gap: 48px; font-size: 32px; padding-top: 32px; justify-content: center; }
  section .content-1 .rate1     { padding-left: 0; gap: 57px; font-size: 15px; justify-content: center; }
  section .content-1 .rate1 .bintang { margin-left: -20px; }

  /* Jam Buka */
  section .jam-loc { height: auto; gap: 4vh; padding: 40px 24px 60px; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
  section iframe   { padding-left: 0; height: 340px; width: 420px; }
  section .time    { padding-top: 0; padding-left: 0; }
  section .dt      { width: 46vh; }
  section .dt .b   { padding-left: 14vh; }
  section .time1,section .time2,section .time3,section .time4,
  section .time5,section .time6,section .time7 { width: 46vh; gap: 14vh; }
  section .time3 { gap: 10vh; }
  section .time4 { gap: 12vh; }
  section .time5 { gap: 16vh; }
  section .time6 { gap: 14vh; }

  /* Contact */
  .cards-grid { grid-template-columns: repeat(2, 1fr); }
}


/* ─────────────────────────────────────────────────────────────────
   MOBILE  ≤ 768px
   Hero terpusat + semua layout vertikal
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* ── Navbar ── */
  .navbar        { height: 56px; }
  .burger        { margin-right: 16px; }
  .drawer        { top: 56px; padding: 12px 20px 24px; }
  .navbar .navbar-ul { font-size: 18px; margin-left: 16px; }

  /* ── Hero: content-1 terpusat ── */
  section .content-1 {
    height: auto;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px 56px;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* Judul terpusat */
  .h1-judul                     { text-align: center; width: 100%; }
  section .content-1 h1         { font-size: 10.5vw; padding-left: 0; }
  section .content-1 .mari      { padding-top: 0; }
  section .content-1 .mari2     { margin-top: -1.5vw; }
  section .content-1 .web       { margin-top: -1.5vw; }

  /* Teks deskripsi terpusat */
  section .txt                  { text-align: center; padding-top: 16px; width: 100%; }
  section .text                 { padding-left: 0; margin-right: 0; font-size: 13px; line-height: 1.7; }

  /* Tombol terpusat */
  section .a-1                  { padding-left: 0; padding-top: 24px; text-align: center; width: 100%; }
  section a                     { font-size: 15px; padding: 12px 32px; }

  /* Rate row terpusat */
  section .content-1 .rate      { padding-left: 0; gap: 50px; font-size: 26px; padding-top: 35px; justify-content: center; }
  section .content-1 .rate1     { padding-left: 17px; gap: 57px; font-size: 13px; padding-top: 6px; justify-content: center; }
  section .content-1 .rate1 .bintang { margin-left: -17px; }

  /* ── Section Menu ── */
  .mn-header          { padding: 48px 16px 28px; }
  .mn-tab-nav         { padding: 0 8px; }
  .mn-tab-btn         { padding: 12px 10px; font-size: 9px; letter-spacing: 0.15em; }
  .mn-content-wrapper { padding: 0 14px; }
  .mn-sec-title       { margin-bottom: 20px; }
  .mn-bs-grid         { grid-template-columns: 1fr; gap: 14px; }
  .mn-std-grid        { grid-template-columns: 1fr; gap: 1px; }
  .mn-dessert-grid    { grid-template-columns: 1fr 1fr; gap: 12px; }

  /* ── Jam Buka ── */
  section .jam-loc {
    flex-direction: column;
    height: auto;
    gap: 0;
    padding-bottom: 48px;
    align-items: stretch;
  }
  section .lokasi { justify-content: center; padding-top: 32px; }
  section iframe  {
    padding-left: 0;
    width: calc(100vw - 32px);
    height: 52vw;
    min-height: 200px;
    display: block;
    margin: 0 auto;
  }
  section .tm              { padding: 16px 16px; }
  section .time            { padding-top: 24px; padding-left: 0; }
  section .time h1         { font-size: clamp(18px, 5vw, 28px); }
  section .dt              { width: 100%; gap: 17vh; justify-content: center; padding-top: 14px; box-sizing: border-box; }
  section .dt .a           { padding-left: 3vh; }
  section .dt .b           { padding-left: 0; padding-right: 5vh; }
  section .time1,section .time2,section .time3,section .time4,
  section .time5,section .time6,section .time7 {
    width: 100%;
    gap: 0;
    justify-content: space-between;
    padding-left: 5vh;
    padding-right: 5vh;
    box-sizing: border-box;
    margin-bottom: 0;
  }
  section .tm p { font-size: 15px; }

  /* ── Contact / Kontak ── */
  header        { padding: 44px 16px 36px; }
  header h1     { font-size: clamp(1.8rem, 7vw, 3rem); }
  main          { padding: 36px 12px 56px; }
  .cards-grid   { grid-template-columns: 1fr; gap: 14px; }
  .hours-grid   { grid-template-columns: 1fr; }
  .section-title{ font-size: 1.4rem; margin-bottom: 20px; }
  .card         { padding: 24px 18px 20px; border-radius: 14px; }
}


/* ─────────────────────────────────────────────────────────────────
   SMALL MOBILE  ≤ 420px
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 420px) {
  section .content-1 h1         { font-size: 9vw; }
  section .content-1 .rate      { gap: 40px; font-size: 22px; }
  section .content-1 .rate1     { gap: 50px; font-size: 11px; margin-left: -20px;}
  section .content-1 .rate1 .bintang { margin-left: -8px; }
  section .content-1 .rate1 .bintang { margin-left: -8px; }
  .mn-dessert-grid { grid-template-columns: 1fr; }
  .mn-tab-btn { padding: 10px 8px; font-size: 8px; letter-spacing: 0.1em; }


  .footer{
    height: auto;
  }
    .footer {

    }
 
    .footer-inner {
        padding-top: 10px;
    }
 
    /* Brand */
    .footer-brand a{
        height: 0px;
        width: 0px;
    }
 
    .footer-brand .name {
      font-family: 'Playfair Display', serif;
      font-weight: 600;
      font-size: 13px;
      color: #e8d5a3;
      letter-spacing: 0.02em;
      line-height: 1.2;
      display: flex;
      justify-content: center;
      padding-left: 5vh;
    }
 
    .footer-brand .address {
      font-size: 13px;
      color: #7a6644;
      font-weight: 300;
      letter-spacing: 0.01em;
      line-height: 1.4;
      max-width: 260px;
      display: flex;
      justify-content: center;
      padding-left: 6vh;
    }
    .footer-brand .address1 {
      font-size: 13px;
      color: #7a6644;
      font-weight: 300;
      letter-spacing: 0.01em;
      line-height: 1.4;
      max-width: 260px;
      display: flex;
      justify-content: center;
      padding-left: 6vh;
    }
 
    /* Social icons */
    .footer-icons {
      display: flex;
      align-items: center;
      gap: 2vh;
      flex-shrink: 0;
      padding-left: 9vh;
    }
 
    .footer-icons a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      border: 0.5px solid #3a2c14;
      color: #c9b48a;
      font-size: 16px;
    }
 
    .footer-icons a:hover {
      background: #2e2010;
      border-color: #6b5030;
      color: #e8d5a3;
    }
 
    /* Copyright */
    .footer-copy {
      font-size: 11px;
      color: #5a4828;
      font-weight: 300;
      flex-shrink: 0;

    }
    .footer-copy p{
        padding-left: 9vh;
        margin-top: 10px;
        padding-bottom:20px ;
    }
}
