/* ===== CRITICAL OVERRIDES ===== */
/* Override Twenty Twenty-Five white background */
body { background: #0a0a14 !important; color: #f1f5f9 !important; }
.wp-site-blocks { background: #0a0a14 !important; }
/* Override Elementor lazy-loading that strips backgrounds */
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
  background-image: initial !important;
  background-color: inherit !important;
}
/* Fix body padding from theme */
:root { --wp--style--root--padding-top: 0px !important; --wp--style--root--padding-bottom: 0px !important; --wp--preset--color--base: #0a0a14 !important; --wp--preset--color--contrast: #f1f5f9 !important; }
/* Force Elementor sections to be visible */
.elementor-section { display: block !important; visibility: visible !important; opacity: 1 !important; }
/* End Critical Overrides */

/* ===== TASTE SKILL v3 - HIBACHI ANTI-SLOP DESIGN SYSTEM ===== */
/*
  Design Read: premium consumer event landing for party hosts, dark dramatic vibe,
  leaning toward custom CSS dark theme with bold typography.
  Dials: DESIGN_VARIANCE=7, MOTION_INTENSITY=5, VISUAL_DENSITY=3
  
  Anti-Slop: No emojis, no em-dashes, no centered hero, no three-equal-cards,
  max 1 icon-box grid per page.
*/

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Syne:wght@600;700;800&display=swap");

:root {
  --dark: #0a0a14;
  --surface: #111122;
  --surface2: #181830;
  --border: rgba(255,255,255,0.06);
  --accent: #ef4444;
  --accent-soft: rgba(239,68,68,0.12);
  --accent-glow: rgba(239,68,68,0.25);
  --gold: #f59e0b;
  --gold-glow: rgba(245,158,11,0.2);
  --white: #f1f5f9;
  --muted: #8892a4;
  --font-body: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-heading: "Syne", "Manrope", sans-serif;
  --radius: 16px;
  --radius-sm: 10px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); background: var(--dark); color: var(--white); -webkit-font-smoothing: antialiased; line-height: 1.6; }

/* ===== HEADER ===== */
.hibachi-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(10,10,20,0.88);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border);
}
.admin-bar .hibachi-header { top: 32px; }
@media screen and (max-width:782px) { .admin-bar .hibachi-header { top: 46px; } }
.hibachi-header-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 32px; height: 68px;
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
}
.hibachi-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.hibachi-logo svg { width: 36px; height: 36px; }
.hibachi-logo-text {
  font-family: var(--font-heading); font-weight: 700;
  font-size: 1.15rem; color: var(--white); letter-spacing: -0.01em;
}
.hibachi-nav { display: flex; align-items: center; gap: 4px; }
.hibachi-nav > a, .hibachi-nav-parent {
  color: var(--muted); text-decoration: none;
  font-family: var(--font-body); font-size: 0.88rem; font-weight: 500;
  padding: 8px 14px; border-radius: 8px;
  transition: all 0.2s ease; white-space: nowrap;
}
.hibachi-nav > a:hover, .hibachi-nav-parent:hover {
  color: var(--white); background: rgba(255,255,255,0.04);
}
.hibachi-nav-dropdown { position: relative; }
.hibachi-nav-sub {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: rgba(18,18,36,0.95);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  border-radius: 12px; padding: 8px; min-width: 180px;
  opacity: 0; visibility: hidden;
  transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
  display: flex; flex-direction: column; gap: 2px;
}
.hibachi-nav-dropdown:hover .hibachi-nav-sub {
  opacity: 1; visibility: visible; transform: translateX(-50%) translateY(4px);
}
.hibachi-nav-sub a {
  color: var(--muted); text-decoration: none;
  padding: 10px 14px; border-radius: 8px;
  font-size: 0.88rem; transition: all 0.15s;
}
.hibachi-nav-sub a:hover { color: var(--white); background: rgba(255,255,255,0.06); }
.hibachi-btn-header {
  background: linear-gradient(135deg, var(--accent), #dc2626);
  color: white; text-decoration: none;
  font-family: var(--font-heading); font-weight: 700;
  font-size: 0.88rem; padding: 10px 24px;
  border-radius: 50px; transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  white-space: nowrap; flex-shrink: 0;
}
.hibachi-btn-header:hover {
  transform: translateY(-2px); box-shadow: 0 8px 24px var(--accent-glow);
}
.hibachi-mobile-toggle {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 8px;
}
.hibachi-mobile-toggle span {
  display: block; width: 24px; height: 2px;
  background: var(--white); border-radius: 2px; transition: all 0.3s;
}
.hibachi-mobile-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hibachi-mobile-toggle.active span:nth-child(2) { opacity: 0; }
.hibachi-mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ===== MAIN ===== */
.hibachi-main { min-height: 100vh; padding-top: 68px; }

/* ===== SECTION BASE ===== */
.elementor-section {
  animation: revealUp 0.7s cubic-bezier(0.16,1,0.3,1) both;
  border-radius: 0;
}
@keyframes revealUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Section variants - NO emoji prefixes */
.section-hero {
  background: linear-gradient(160deg, var(--dark) 0%, var(--surface) 40%, #141430 70%, var(--dark) 100%) !important;
}
.section-hero::before {
  content: ""; position: absolute;
  top: -50%; left: -20%; width: 140%; height: 200%;
  background:
    radial-gradient(ellipse at 65% 30%, rgba(239,68,68,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 30% 70%, rgba(245,158,11,0.04) 0%, transparent 50%);
  pointer-events: none;
}
.section-accent {
  background: linear-gradient(135deg, #dc2626 0%, var(--accent) 40%, #dc2626 100%) !important;
}
.section-alt {
  background-color: var(--surface) !important;
}
.section-dark { background: var(--dark) !important; }

/* Container */
.elementor-container { max-width: 1200px !important; }

/* ===== TYPOGRAPHY ===== */
.elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}
.section-hero h1.elementor-heading-title {
  font-size: clamp(3rem, 6vw, 4.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}
h2.elementor-heading-title {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  font-weight: 700 !important;
}
h3.elementor-heading-title {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}
.elementor-widget-text-editor {
  font-family: var(--font-body) !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  color: var(--muted) !important;
  max-width: 65ch;
}
.section-hero .elementor-widget-text-editor {
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.section-hero h1.elementor-heading-title {
  text-shadow: 0 2px 20px rgba(0,0,0,0.6), 0 0 60px rgba(0,0,0,0.4);
}

/* ===== BUTTONS ===== */
.elementor-button {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 16px 40px !important;
  border-radius: 50px !important;
  border: none !important;
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
  cursor: pointer;
}
.elementor-button-link {
  background: linear-gradient(135deg, var(--accent), #dc2626) !important;
  color: #fff !important;
}
.elementor-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px var(--accent-glow);
}

/* ===== COUNTERS ===== */
.elementor-counter {
  text-align: center; padding: 8px 0;
}
.elementor-counter-number-wrapper {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  letter-spacing: -0.02em;
}
.elementor-counter-title {
  font-size: 0.78rem !important;
  letter-spacing: 0.1em !important;
  opacity: 0.9;
}

/* ===== ICON BOXES (restrained, max 1 grid) ===== */
.elementor-icon-box-wrapper {
  padding: 36px 24px !important;
  border-radius: var(--radius);
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--border);
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
  height: 100%;
}
.elementor-icon-box-wrapper:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(239,68,68,0.25);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}
.elementor-icon-box-icon { margin-bottom: 20px !important; }
.elementor-icon-box-icon i {
  font-size: 1.8rem;
  color: var(--accent);
  filter: drop-shadow(0 0 8px var(--accent-glow));
}
.elementor-icon-box-title { margin: 10px 0 !important; }
.elementor-icon-box-description {
  color: var(--muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}

/* ===== IMAGE BOXES ===== */
.elementor-image-box-wrapper {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  transition: all 0.35s ease;
  height: 100%;
}
.elementor-image-box-wrapper:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}
.elementor-image-box-content { padding: 24px 20px; }
.elementor-image-box-title { margin-bottom: 8px !important; }
.elementor-image-box-description {
  color: var(--muted) !important;
  font-size: 0.9rem !important;
}

/* ===== ACCORDION ===== */
.elementor-accordion { max-width: 800px; margin: 0 auto; }
.elementor-accordion-item {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  margin-bottom: 8px !important;
  background: rgba(255,255,255,0.015);
}
.elementor-tab-title {
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  padding: 18px 24px !important;
  color: var(--white) !important;
  background: transparent !important;
}
.elementor-tab-title.elementor-active { color: var(--accent) !important; }
.elementor-tab-content {
  padding: 0 24px 20px !important;
  color: var(--muted) !important;
  background: transparent !important;
  border: none !important;
  line-height: 1.7;
}

/* ===== STAR RATING ===== */
.elementor-star-rating {
  justify-content: center !important;
  margin-bottom: 12px;
}
.elementor-star-rating i {
  color: var(--gold) !important;
  font-size: 1.3rem !important;
  filter: drop-shadow(0 0 4px var(--gold-glow));
}

/* ===== DIVIDER ===== */
.elementor-divider-separator { border-top-color: var(--border) !important; }

/* ===== BACKGROUND IMAGES (via CSS selectors) ===== */
.elementor-element-19d01005 {
  background-image: url('https://latepoint.test.wptochina.com/wp-content/uploads/2026/05/9998219911456380-166b4101-fb3d-4039-b4e2-49d8acc52eec-gpt_image_2_backup_task_01KSTRQ6C1YJT2TNFNXCKZW3SM_0.png') !important;
  background-size: cover !important;
  background-position: center !important;
}
.elementor-element-19d01005 > .elementor-background-overlay { opacity: 0.55 !important; }
.elementor-element-42414f26 > .elementor-background-overlay {
  background-image: url('https://latepoint.test.wptochina.com/wp-content/uploads/2026/05/9998219911363673-d2ad4d2e-defa-4acf-86fe-afa6c9ff9208-gpt_image_2_backup_task_01KSTRT0X5163SCCH57109X7BC_0.png') !important;
  background-size: cover !important;
  opacity: 0.15 !important;
}
.elementor-element-3842ee8e {
  background-image: url('https://latepoint.test.wptochina.com/wp-content/uploads/2026/05/9998219911366542-7af2d792-3afd-4dd9-a953-08dacd1ef42b-gpt_image_2_backup_task_01KSTRSY3F520XG2EER2C8XNW0_0.png') !important;
  background-size: cover !important;
  background-position: center !important;
}
.elementor-element-3842ee8e > .elementor-background-overlay { opacity: 0.6 !important; }

/* ===== SECTION SPACING (VISUAL_DENSITY=3) ===== */
.elementor-section {
  padding-top: clamp(64px, 8vw, 100px) !important;
  padding-bottom: clamp(64px, 8vw, 100px) !important;
}
.section-hero {
  padding-top: clamp(100px, 12vw, 160px) !important;
  padding-bottom: clamp(80px, 10vw, 140px) !important;
}
.section-accent {
  padding-top: clamp(36px, 4vw, 52px) !important;
  padding-bottom: clamp(36px, 4vw, 52px) !important;
}
.elementor-widget-heading + .elementor-widget-text-editor { margin-top: 0.5em; }
.elementor-icon-box-wrapper { margin: 0 !important; }
.elementor-image-box-wrapper { margin: 0 !important; }

/* ===== FORM STYLES ===== */
.elementor-widget-html input[type="text"],
.elementor-widget-html input[type="email"],
.elementor-widget-html input[type="tel"],
.elementor-widget-html textarea {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  padding: 14px 16px !important;
  transition: all 0.3s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.elementor-widget-html input:focus,
.elementor-widget-html textarea:focus {
  outline: none !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft) !important;
}
.elementor-widget-html label {
  color: var(--white) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.elementor-widget-html button,
.elementor-widget-html .btn {
  background: linear-gradient(135deg, var(--accent), #dc2626) !important;
  color: white !important;
  border: none !important;
  padding: 16px 40px !important;
  border-radius: 50px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  cursor: pointer !important;
  transition: all 0.35s ease !important;
}
.elementor-widget-html button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px var(--accent-glow) !important;
}

/* ===== FOOTER ===== */
.hibachi-footer {
  background: var(--dark);
  border-top: 1px solid var(--border);
  padding: 80px 0 32px; position: relative;
}
.hibachi-footer::before {
  content: ""; position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(239,68,68,0.3), transparent);
}
.hibachi-footer-inner { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.hibachi-footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px; padding-bottom: 48px;
  border-bottom: 1px solid var(--border);
}
.hibachi-footer-col { display: flex; flex-direction: column; gap: 12px; }
.hibachi-footer-col h4 {
  font-family: var(--font-heading); color: var(--white);
  font-size: 0.88rem; font-weight: 700; letter-spacing: 0.03em;
  text-transform: uppercase;
}
.hibachi-footer-col a {
  color: var(--muted); text-decoration: none;
  font-size: 0.9rem; transition: color 0.2s;
}
.hibachi-footer-col a:hover { color: var(--accent); }
.hibachi-footer-desc {
  color: var(--muted); font-size: 0.88rem;
  line-height: 1.6; max-width: 300px;
}
.hibachi-footer-phone {
  color: var(--accent); font-family: var(--font-heading);
  font-weight: 700; font-size: 1.1rem; text-decoration: none;
}
.hibachi-footer-social { display: flex; gap: 12px; margin-top: 4px; }
.hibachi-footer-social a {
  color: var(--muted); transition: all 0.2s;
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(255,255,255,0.03);
}
.hibachi-footer-social a:hover { color: var(--accent); background: var(--accent-soft); }
.hibachi-footer-bottom { padding-top: 24px; text-align: center; }
.hibachi-footer-bottom p { color: var(--muted); font-size: 0.82rem; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .hibachi-header-inner { padding: 0 20px; gap: 16px; }
  .hibachi-nav > a, .hibachi-nav-parent { font-size: 0.82rem; padding: 8px 10px; }
  .hibachi-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 767px) {
  .hibachi-header-inner { height: 60px; }
  .hibachi-nav {
    display: none; position: fixed;
    top: 60px; left: 0; right: 0; bottom: 0;
    background: rgba(10,10,20,0.98);
    backdrop-filter: blur(20px);
    flex-direction: column; padding: 24px; gap: 4px; overflow-y: auto;
  }
  .hibachi-nav.active { display: flex; }
  .hibachi-nav a, .hibachi-nav-parent { font-size: 1.1rem; padding: 14px 16px; width: 100%; }
  .hibachi-nav-sub { position: static; transform: none; opacity: 1; visibility: visible; background: transparent; border: none; padding-left: 16px; }
  .hibachi-mobile-toggle { display: flex; }
  .hibachi-btn-header { display: none; }
  .hibachi-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .hibachi-footer { padding: 48px 0 24px; }
  .hibachi-main { padding-top: 60px; }
  .elementor-section { padding-top: 48px !important; padding-bottom: 48px !important; }
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: var(--surface2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }
::selection { background: var(--accent); color: white; }