.elementor-10 .elementor-element.elementor-element-25abd8b{--display:flex;}.elementor-10 .elementor-element.elementor-element-a00e392{--display:flex;}.elementor-10 .elementor-element.elementor-element-4a3495c{--display:flex;}.elementor-10 .elementor-element.elementor-element-3e71683{--display:flex;}.elementor-10 .elementor-element.elementor-element-e271928{--display:flex;}.elementor-10 .elementor-element.elementor-element-8d7ffc0{--display:flex;}.elementor-10 .elementor-element.elementor-element-ab75988{--display:flex;}.elementor-10 .elementor-element.elementor-element-f6ddba8{--display:flex;}.elementor-10 .elementor-element.elementor-element-dd3d436{--display:flex;}.elementor-10 .elementor-element.elementor-element-603d776{--display:flex;}.elementor-10 .elementor-element.elementor-element-bb15ff1{--display:flex;}.elementor-10 .elementor-element.elementor-element-fd5174d{--display:flex;}.elementor-10 .elementor-element.elementor-element-1c33a43{--display:flex;}.elementor-10 .elementor-element.elementor-element-154768e{--display:flex;}.elementor-10 .elementor-element.elementor-element-af0bed3{--display:flex;}.elementor-10 .elementor-element.elementor-element-01150f2{--display:flex;}.elementor-10 .elementor-element.elementor-element-f4ba6e7{--display:flex;}.elementor-10 .elementor-element.elementor-element-a5d72c7{--display:flex;}.elementor-10 .elementor-element.elementor-element-f159494{--display:flex;}/* Start custom CSS *//* ============ Godelf Catering - Global CSS ============ */
:root{
  --bg: #0b0c10;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.10);
  --text: rgba(255,255,255,.90);
  --muted: rgba(255,255,255,.70);
  --muted2: rgba(255,255,255,.55);
  --primary: #ffb703;   /* kuning hangat */
  --primary2:#fb8500;   /* oranye */
  --good:#2dd4bf;
  --danger:#fb7185;
  --border: rgba(255,255,255,.14);
  --shadow: 0 18px 60px rgba(0,0,0,.35);
  --radius: 18px;
  --radius2: 28px;
  --max: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  background:
    radial-gradient(1200px 500px at 15% 0%, rgba(255,183,3,.12), transparent 60%),
    radial-gradient(900px 500px at 85% 20%, rgba(251,133,0,.12), transparent 55%),
    radial-gradient(900px 700px at 50% 100%, rgba(45,212,191,.10), transparent 55%),
    var(--bg);
  color:var(--text);
  line-height:1.55;
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.gd-wrap{ max-width:var(--max); margin:0 auto; padding:0 18px; }
.gd-section{ padding:72px 0; }
.gd-subtle{ color:var(--muted); }
.gd-chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border:1px solid var(--border);
  border-radius:999px; background:rgba(255,255,255,.04);
  color:var(--muted);
  font-size:13px;
}
.gd-title{
  font-size: clamp(28px, 4vw, 44px);
  line-height:1.12;
  letter-spacing:-.02em;
  margin:12px 0 10px;
}
.gd-h2{
  font-size: clamp(22px, 3vw, 32px);
  margin:0 0 10px;
  letter-spacing:-.01em;
}
.gd-h3{
  font-size:18px; margin:0 0 6px;
}
.gd-lead{
  font-size: clamp(15px, 2vw, 18px);
  color:var(--muted);
  margin:0 0 18px;
}
.gd-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:18px;
}
.gd-card{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
}
.gd-pad{ padding:18px; }
.gd-pad-lg{ padding:26px; }

.gd-btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.gd-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  color:var(--text);
  font-weight:600;
  transition:.18s ease;
  cursor:pointer;
}
.gd-btn:hover{ transform: translateY(-1px); background:rgba(255,255,255,.10); }
.gd-btn--primary{
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  border:0;
  color:#241a00;
}
.gd-btn--primary:hover{ filter:brightness(1.02); }
.gd-btn--ghost{ background:transparent; }
.gd-btn small{ opacity:.8; font-weight:600; }

.gd-badge{
  display:inline-flex; align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid var(--border);
  background:rgba(255,255,255,.05);
}
.gd-badge--hot{ border-color: rgba(255,183,3,.35); background: rgba(255,183,3,.12); color:#ffe7b0; }
.gd-badge--deal{ border-color: rgba(45,212,191,.35); background: rgba(45,212,191,.12); color:#bff7ef; }

.gd-divider{ height:1px; background:rgba(255,255,255,.10); margin:18px 0; }

/* Navbar */
.gd-nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(11,12,16,.55);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.gd-nav-inner{
  max-width:var(--max); margin:0 auto; padding:12px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.gd-brand{ display:flex; align-items:center; gap:10px; font-weight:900; letter-spacing:.2px; }
.gd-brand-mark{
  width:36px; height:36px; border-radius:12px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  box-shadow: 0 18px 45px rgba(251,133,0,.25);
}
.gd-nav-links{ display:flex; align-items:center; gap:14px; color:var(--muted); }
.gd-nav-links a{ padding:10px 10px; border-radius:12px; }
.gd-nav-links a:hover{ background:rgba(255,255,255,.06); color:var(--text); }

.gd-nav-toggle{
  display:none;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  color:var(--text);
}

/* Hero */
.gd-hero{ padding:56px 0 26px; }
.gd-hero .gd-grid{ align-items:center; }
.gd-hero-left{ grid-column: span 7; }
.gd-hero-right{ grid-column: span 5; }
.gd-hero-card{
  padding:22px;
  border-radius:var(--radius2);
  background:
    radial-gradient(600px 280px at 30% 20%, rgba(255,183,3,.16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.16);
  box-shadow: var(--shadow);
}
.gd-kpis{ display:grid; grid-template-columns: repeat(3,1fr); gap:10px; margin-top:16px;}
.gd-kpi{
  padding:12px; border-radius:16px; background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
}
.gd-kpi strong{ display:block; font-size:16px;}
.gd-kpi span{ color:var(--muted2); font-size:12px; }

/* Product cards */
.gd-products{
  grid-column: span 12;
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:18px;
}
.gd-prod{
  grid-column: span 4;
  overflow:hidden;
}
.gd-prod .gd-prod-img{
  aspect-ratio: 16/10;
  background:
    radial-gradient(400px 220px at 30% 20%, rgba(255,183,3,.18), transparent 60%),
    radial-gradient(420px 240px at 70% 20%, rgba(45,212,191,.14), transparent 60%),
    rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.10);
  position:relative;
}
.gd-prod .gd-prod-img::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,.35));
}
.gd-prod .gd-prod-body{ padding:16px; }
.gd-price{ font-weight:900; }
.gd-note{ font-size:12px; color:var(--muted2); }
.gd-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.gd-stars{ color:#ffd166; letter-spacing:1px; font-size:13px; }
.gd-tagline{ color:var(--muted); font-size:13px; margin:8px 0 0; }

/* Promo Banner */
.gd-banner{
  grid-column: span 12;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:18px 18px;
  border-radius: var(--radius2);
  background:
    radial-gradient(800px 280px at 10% 20%, rgba(251,133,0,.22), transparent 60%),
    radial-gradient(680px 280px at 80% 20%, rgba(255,183,3,.16), transparent 55%),
    rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
}
.gd-banner h3{ margin:0 0 6px; }
.gd-countdown{
  display:flex; gap:10px; flex-wrap:wrap;
}
.gd-pill{
  padding:10px 12px;
  border-radius:16px;
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.12);
  min-width:78px;
  text-align:center;
}
.gd-pill strong{ display:block; font-size:16px; }
.gd-pill span{ font-size:12px; color:var(--muted2); }

/* Testimonials */
.gd-testis{ grid-column: span 12; display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.gd-tcol{ grid-column: span 6; }
.gd-quote{
  padding:18px;
  border-radius:var(--radius);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
}
.gd-quote p{ margin:10px 0 0; color:var(--muted); }
.gd-person{ display:flex; align-items:center; gap:10px; margin-top:14px; }
.gd-avatar{ width:42px; height:42px; border-radius:14px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); }
.gd-person strong{ display:block; }
.gd-person span{ color:var(--muted2); font-size:12px; }

/* Services / Menu */
.gd-cols3{ grid-column: span 12; display:grid; grid-template-columns:repeat(12,1fr); gap:18px;}
.gd-col{ grid-column: span 4; }
.gd-icon{
  width:42px; height:42px; border-radius:16px;
  display:grid; place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:10px;
}

/* FAQ */
.gd-faq{ grid-column: span 12; }
.gd-acc{ border-radius: var(--radius); border:1px solid rgba(255,255,255,.12); overflow:hidden; }
.gd-acc button{
  width:100%;
  text-align:left;
  padding:14px 16px;
  display:flex; justify-content:space-between; gap:12px; align-items:center;
  background:rgba(255,255,255,.05);
  color:var(--text);
  border:0;
  cursor:pointer;
  font-weight:700;
}
.gd-acc button:hover{ background:rgba(255,255,255,.08); }
.gd-acc .gd-panel{
  padding:0 16px 14px;
  color:var(--muted);
  display:none;
}
.gd-acc .gd-panel.open{ display:block; }

/* Contact */
.gd-form{
  display:grid; grid-template-columns: repeat(12,1fr); gap:12px;
}
.gd-field{ grid-column: span 6; }
.gd-field.full{ grid-column: span 12; }
.gd-input, .gd-textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: var(--text);
  outline:none;
}
.gd-textarea{ min-height:110px; resize:vertical; }
.gd-input:focus, .gd-textarea:focus{ border-color: rgba(255,183,3,.45); }

/* Footer */
.gd-footer{
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
}
.gd-foot-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
}
.gd-foot-links{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  color:var(--muted);
}
.gd-foot-links a{ padding:8px 10px; border-radius:12px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); }
.gd-foot-links a:hover{ background:rgba(255,255,255,.08); color:var(--text); }

/* Utilities */
.gd-hide{ display:none !important; }

/* Responsive */
@media (max-width: 980px){
  .gd-hero-left{ grid-column: span 12; }
  .gd-hero-right{ grid-column: span 12; }
  .gd-prod{ grid-column: span 6; }
  .gd-tcol{ grid-column: span 12; }
  .gd-col{ grid-column: span 6; }
  .gd-field{ grid-column: span 12; }
  .gd-nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .gd-nav-links{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    padding:10px 0 12px;
  }
  .gd-nav-links.open{ display:flex; }
  .gd-nav-inner{ flex-wrap:wrap; }
}
@media (max-width: 560px){
  .gd-section{ padding:56px 0; }
  .gd-prod{ grid-column: span 12; }
  .gd-col{ grid-column: span 12; }
  .gd-banner{ flex-direction:column; align-items:flex-start; }
  .gd-kpis{ grid-template-columns: 1fr; }
}

/* ===========================
   Godelf Catering - Mobile Fix
   (tanpa ubah HTML/JS)
   Tempel di paling bawah CSS
=========================== */

/* 1) Biar baris "kiri teks - kanan tombol" tidak bikin sempit */
@media (max-width: 560px){
  .gd-row{
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px;
  }

  /* 2) Semua grup tombol jadi stack rapi (1 kolom) */
  .gd-btns{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
  }

  /* 3) Tombol jadi full width biar enak dipencet */
  .gd-btn,
  .gd-btn--primary,
  .gd-btn--ghost{
    width: 100%;
    justify-content: center;
  }

  /* 4) Card CTA/Promo padding lebih aman */
  .gd-pad-lg{ padding: 18px; }
  .gd-hero-card{ padding: 18px; }

  /* 5) Banner promo: paksa jadi kolom (teks dulu, tombol, lalu countdown) */
  .gd-banner{
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  /* 6) Countdown biar gak ngumpul kecil-kecil */
  .gd-countdown{
    width: 100%;
    justify-content: flex-start;
  }
  .gd-pill{
    flex: 1 1 80px;   /* biar nyebar dan wrap rapi */
    min-width: 70px;
  }

  /* 7) List bullet di card promo biar tidak terlalu "nge-press" */
  .gd-card ul{ margin-top: 10px; }

  /* 8) Contact page: pastikan card tetap rapi dan tidak kepotong */
  .gd-form{ gap: 10px; }
  .gd-input, .gd-textarea{ font-size: 16px; } /* anti zoom iOS */
}

/* 9) Tablet kecil juga sering kena: rapikan tombol agar tidak nabrak */
@media (max-width: 980px){
  .gd-banner .gd-btns{
    align-items: stretch;
  }
}
/* ===========================
   FIX: Hubungi Kami - Mobile
   tanpa ubah HTML/JS
=========================== */

@media (max-width: 560px){

  /* 1) Paksa semua layout grid jadi 1 kolom penuh */
  .gd-grid{
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* 2) Semua elemen di dalam grid jangan bawa "span 7 / span 5" */
  .gd-grid > *{
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* 3) Card tidak boleh kepotong */
  .gd-card{
    overflow: visible !important;
  }

  /* 4) Rapikan padding card di mobile */
  .gd-pad-lg{
    padding: 16px !important;
  }

  /* 5) Fix teks panjang (misal nomor WA / email) supaya tidak memanjang keluar */
  .gd-card, .gd-card *{
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* 6) Jika ada area yang masih sempit karena flex internal */
  .gd-row{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* 7) Tombol full width biar rapi */
  .gd-btns{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .gd-btn{
    width: 100% !important;
    justify-content: center !important;
  }

  /* 8) Anti zoom iOS pada input + lebih nyaman dibaca */
  .gd-input, .gd-textarea{
    font-size: 16px !important;
  }
}

/* ===========================
   FIX: Konten kartu produk rata tengah (mobile)
   tanpa ubah HTML/JS
=========================== */
@media (max-width: 560px){

  /* 1) Tengah-kan semua isi text di body kartu produk */
  .gd-prod .gd-prod-body{
    text-align: center !important;
  }

  /* 2) Baris yang tadinya "kiri-kanan" jadi ditengah & stack */
  .gd-prod .gd-row{
    justify-content: center !important;
    text-align: center !important;
  }

  /* 3) Bikin elemen yang pakai flex (person, row) tetap center */
  .gd-prod .gd-row,
  .gd-prod .gd-btns{
    align-items: center !important;
  }

  /* 4) Badge (Terlaris/Favorit) yang biasanya di kanan jadi center */
  .gd-prod .gd-badge{
    margin-left: auto;
    margin-right: auto;
  }

  /* 5) Harga, bintang, note jadi center */
  .gd-prod .gd-price,
  .gd-prod .gd-stars,
  .gd-prod .gd-note,
  .gd-prod .gd-tagline{
    text-align: center !important;
  }

  /* 6) Divider biar tetap estetis saat center */
  .gd-prod .gd-divider{
    margin-left: auto;
    margin-right: auto;
  }

  /* 7) Tombol full width (opsional tapi biasanya lebih rapi) */
  .gd-prod .gd-btns{
    flex-direction: column;
    width: 100%;
  }
  .gd-prod .gd-btn{
    width: 100%;
    justify-content: center !important;
  }
}

/* ===========================
   FIX: Footer rata tengah (Mobile)
   tanpa ubah HTML/JS
=========================== */
@media (max-width: 560px){

  /* 1) Footer jadi kolom & center */
  .gd-foot-row{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 14px;
  }

  /* 2) Copyright text center */
  .gd-footer .gd-subtle{
    text-align: center !important;
  }

  /* 3) Link footer (tombol) jadi kolom & center */
  .gd-foot-links{
    flex-direction: column !important;
    align-items: center !important;
    width: 100%;
    gap: 10px;
  }

  /* 4) Tombol footer biar konsisten & center */
  .gd-foot-links a{
    width: 100%;
    max-width: 320px;   /* biar tidak kepanjangan */
    text-align: center;
    justify-content: center;
  }
}/* End custom CSS */