

.fooda-float-nav {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
}
.fooda-float-toggle {
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 22px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.fooda-float-menu {
  display: none;
  flex-direction: column;
  margin-top: 10px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  overflow: hidden;
}
.fooda-float-menu.open { display: flex; }
.fooda-float-menu a {
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #eee;
}
.fooda-float-menu a:last-child { border-bottom: none; }
.fooda-float-menu a:hover { background: #f5f5f5; }

.fooda-float-toggle {
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 24px;      /* sedikit lebih besar */
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);

  /* ini yang bikin ikon benar-benar center */
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1; /* buang extra space font */
  padding: 0;
}








/* === Drawer Cart Panel === */
.restora-cart {
  position: fixed !important;
  top: 0 !important;
  right: -350px !important; /* posisi awal tersembunyi */
  width: 320px;
  height: 100% !important;
  background: #fff;
  box-shadow: -2px 0 6px rgba(0,0,0,0.2);
  transition: right .3s ease;
  z-index: 999999 !important;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.restora-cart.open {
  right: 0 !important; /* saat terbuka */
}

/* === Header Cart === */
.restora-cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  font-weight: 700;
  border-bottom: 1px solid #eee;
}

/* tombol close (X) */
.restora-cart-header .restora-remove {
  background: #f00;
  border: none;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

/* === Items === */
.restora-cart-items {
  flex: 1;
  padding: 12px;
}
.restora-cart-item {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.restora-cart-item img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 6px;
}
.restora-cart-item .restora-mini {
  font-size: 12px;
  color: #666;
}
.restora-cart-item .restora-row {
  display: flex;
  align-items: center;
  margin-top: 4px;
}
.restora-cart-item input.restora-qty {
  border: 1px solid #ddd;
  border-radius: 6px;
  text-align: center;
}

/* tombol hapus item */
.restora-cart-item .restora-remove {
  background: #f44336;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 4px 6px;
  margin-left: 8px;
  cursor: pointer;
  font-size: 12px;
}

/* === Footer === */
.restora-cart-footer {
  padding: 12px;
  border-top: 1px solid #eee;
}
.restora-total {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  margin-bottom: 12px;
}
.restora-checkout {
  width: 100%;
  background: #25D366; /* hijau WA */
  color: #fff;
  padding: 10px;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
}
.restora-checkout:hover {
  background: #20b558;
}

/* === Floating Icon / Toggle === */
.restora-cart-toggle {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 999998 !important;
  background: #f00 !important; /* merah biar sama seperti #fooda-cart-icon lama */
  padding: 11px 16px;
  border-radius: 50px;
  color: #fff;
  font-weight: 600;
  border: none;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.restora-cart-toggle:hover {
  background: #d00 !important;
}
```css
/* ================== GRID FRONTEND ================== */
.fooda-grid {
  display: grid;
  gap: 20px;
}

/* Variasi kolom */
.fooda-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.fooda-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.fooda-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }

/* Tablet */
@media (max-width: 1024px) {
  .fooda-grid.cols-3,
  .fooda-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile */
@media (max-width: 600px) {
  .fooda-grid.cols-2,
  .fooda-grid.cols-3,
  .fooda-grid.cols-4 { grid-template-columns: 1fr; }
}

/* Frontend card */
.fooda-item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.08);
  padding: 16px;
  text-align: center;
  box-sizing: border-box;
}
.fooda-item img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.fooda-item h4 {
  font-size: 1.1em;
  margin: 10px 0 6px;
}
.fooda-item p {
  font-size: 0.95em;
  color: #555;
}
/* font mobile lebih kecil */
@media (max-width: 600px) {
  .fooda-item p { font-size: 0.75em; }
}

/* ================== GRID ADMIN ================== */
.fooda-admin .fooda-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Admin responsive */
@media (max-width: 768px) {
  .fooda-admin .fooda-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .fooda-admin .fooda-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px;
  }
}

/* Admin card */
.fooda-admin .fooda-item {
  background: #f9f9f9;
  border: 1px dashed #bbb;
  padding: 12px;
  text-align: left;
}
```



/* ========================
   GLOBAL WRAPPER
======================== */
.fooda-wrapper {
  padding: 4px;
  font-family: Arial, sans-serif;
}

/* ========================
   HEADER & FOOTER
======================== */
.fooda-header, .fooda-footer {
  text-align: center;
  margin: 30px 0;
}

.fooda-header h1 {
  font-size: 2em;
  margin-bottom: 0.3em;
}

.fooda-header p {
  font-size: 1.1em;
  color: #555;
}

.fooda-footer p {
  font-size: 0.9em;
  color: #777;
}

/* ========================
   SECTIONS FRONTEND
======================== */
.fooda-section {
  margin-bottom: 40px;
}

.fooda-section-title {
  font-size: 1.5em;
  margin-bottom: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 8px;
}

/* ========================
   GRID LAYOUT (ADMIN + FRONT)
======================== */
.fooda-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media(max-width: 1024px){
  .fooda-grid { grid-template-columns: repeat(2, 1fr); }
}

@media(max-width: 600px){
  .fooda-grid { grid-template-columns: 1fr; }
}


@media (max-width: 600px) {
  .fooda-grid {
    gap: 10px; /* lebih rapat di mobile */
  }
}




.fooda-btn.restora-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  font-size: 16px;
  font-weight: bold;
}

/* Kalau mau warna tetap hijau */
.fooda-btn.restora-add {
  background: #28a745;
  color: #fff;
}
.fooda-btn.restora-add:hover {
  background: #218838;
}










/* ========================
   ITEM / CARD FRONTEND
======================== */
.fooda-item {
  border: 1px solid #ddd;
  padding: 8px;
  border-radius: 8px;
  background: #fff;
  text-align: center;
  transition: box-shadow .3s ease;
}

.fooda-item:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.fooda-item img {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
  border-radius: 4px;
}

.fooda-item h3 {
  margin: 10px 0 10px;
  font-size: 100%;
}

.fooda-item p {
  font-size: 0.95em;
  color: #555;
}

.fooda-price {
  font-weight: bold;
  color: #e67e22;
  margin: 8px 0;
}

.fooda-btn {
  display: inline-block;
  padding: 4px 14px;
  background: #28a745;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background .3s ease; margin: 8px;
}
.fooda-btn:hover {
  background: #218838;
}

/* ========================
   ADMIN BUILDER STYLING
======================== */
.fooda-admin input[type="text"],
.fooda-admin select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 8px;
}

.fooda-section-admin {
  border: 2px solid #006400;
  padding: 15px;
  margin-bottom: 25px;
  border-radius: 8px;
  background: #cbf4cb;
}

.fooda-section-admin h3 {
  background: #006400;
  color: #fff;
  padding: 8px 12px;
  border-radius: 5px;
  margin-top: 0;
}

.fooda-section-meta {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 15px;
  margin-bottom: 15px;
}

.fooda-col {
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px;
  border-radius: 6px;
  position: relative;
}

/* Preview image in admin */
.fooda-img-wrap img.fooda-preview {
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 6px;
}

/* Tombol remove item */
.fooda-remove-item-btn {
  background: #f00 !important;
  color: #fff !important;
  border: none;
  border-radius: 4px;
}
.fooda-remove-item-btn:hover {
  background: #a00 !important;
}



.fooda-section-admin h3,
.fooda-col h4 {
  cursor: move;
}

.fooda-section-placeholder {
  border: 2px dashed #666;
  height: 50px;
  margin: 10px 0;
  background: #fafafa;
}

.fooda-item-placeholder {
  border: 2px dashed #999;
  background: #f0f0f0;
  height: 80px;
  border-radius: 6px;
}


.fooda-section-content {
  padding: 10px;
  border-top: 1px solid #ddd;
}

.fooda-section-collapsed .fooda-section-content {
  display: none;
}

.fooda-toggle-section {
  float: right;
  font-size: 14px;
  cursor: pointer;
}



.fooda-variants {
  margin-top: 10px;
  padding: 8px;
  border: 1px solid #ddd;
  background: #fafafa;
  border-radius: 6px;
}
.fooda-variant-row {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}
.fooda-variant-row input {
  flex: 1;
}




/* Harga utama */
.fooda-price {
  font-size: 16px;
  font-weight: bold;
  margin: 5px 0;
  color: #222;
}

/* Dropdown varian */
.fooda-variants-select {
  display: block;
  width: 100%;
  padding: 6px 8px;
  margin-top: 6px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: border-color 0.2s;
}

.fooda-variants-select:hover {
  border-color: #999;
}


.fooda-toggle-section {
  color: #fff !important;   /* teks panah putih */
  background: transparent;  /* hilangin background default WP */
  border: none;
  font-size: 16px;
  cursor: pointer;
}




/* Responsive untuk builder admin */
@media (max-width: 768px) {
  .fooda-admin .fooda-grid {
    grid-template-columns: 1fr !important; /* semua item full width */
    gap: 12px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .fooda-admin .fooda-grid {
    grid-template-columns: repeat(2, 1fr) !important; /* tablet: 2 kolom */
    gap: 15px;
  }
}






