/* ================================================================
   CBEZT GLOBAL STYLESHEET v3.1
   PT Cipta Aneka Selera · #ServingTheBezt
================================================================ */

@font-face {
  font-family: 'CBZT Inter';
  src: url('/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}


/* ── VARIABLES ───────────────────────────────────────────────── */
:root {
  --cbz-blue:        #1565C0;
  --cbz-blue-dk:     #0D47A1;
  --cbz-blue-lt:     #1976D2;
  --cbz-blue-pale:   #E3F2FD;
  --cbz-blue-xp:     #F0F7FF;
  --cbz-orange:      #F57C00;
  --cbz-orange-lt:   #FF9800;
  --cbz-yellow:      #FFC107;
  --cbz-yellow-lt:   #FFD54F;
  --cbz-yellow-bg:   #FFF8E1;
  --cbz-dark:        #0A1929;
  --cbz-dark2:       #132F4C;
  --cbz-gray:        #546E7A;
  --cbz-gray-lt:     #78909C;
  --cbz-white:       #FFFFFF;
  --cbz-cream:       #FAFCFF;

  --font-display: 'Bebas Neue', Impact, 'Arial Narrow', 'CBZT Inter', sans-serif;
  --font-body:    'Plus Jakarta Sans', 'CBZT Inter', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --radius-sm:  8px;
  --radius:     14px;
  --radius-lg:  22px;
  --radius-xl:  32px;
  --radius-2xl: 48px;

  --shadow-sm:  0 2px 8px rgba(21,101,192,.08);
  --shadow:     0 8px 32px rgba(21,101,192,.12);
  --shadow-lg:  0 20px 60px rgba(21,101,192,.18);
  --shadow-xl:  0 32px 80px rgba(21,101,192,.22);
  --shadow-o:   0 8px 28px rgba(245,124,0,.28);
  --shadow-y:   0 8px 28px rgba(255,193,7,.32);
  --shadow-dark:0 20px 60px rgba(10,25,41,.35);

  --ease:       cubic-bezier(.4, 0, .2, 1);
  --ease-spring:cubic-bezier(.34, 1.56, .64, 1);
  --transition: .25s var(--ease);
  --transition-slow: .5s var(--ease);
}

/* ── RESET ───────────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }
body { font-family:var(--font-body); background:var(--cbz-cream); color:var(--cbz-dark);
       overflow-x:hidden; line-height:1.6; -webkit-font-smoothing:antialiased; }
.cbz-public-main { min-width:0; max-width:100%; overflow-x:hidden; overflow-x:clip; }
.cbz-public-main > * { max-width:100%; }
img, video { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input, select, textarea { font-family:inherit; }
ul { list-style:none; }

/* ── TYPOGRAPHY UTILITIES ────────────────────────────────────── */
.font-display { font-family:var(--font-display) !important; }

/* Gradient text */
.cbz-text-gradient {
  background: linear-gradient(135deg, var(--cbz-blue), var(--cbz-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cbz-text-gradient-yellow {
  background: linear-gradient(135deg, var(--cbz-yellow), var(--cbz-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cbz-text-gradient-blue {
  background: linear-gradient(135deg, #42A5F5, var(--cbz-blue-dk));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── LAYOUT ──────────────────────────────────────────────────── */
.cbz-container { max-width:1200px; margin:0 auto; padding:0 5vw; }
.cbz-section    { padding:100px 0; }
.cbz-section-sm { padding:70px 0; }

/* ── SECTION HEADER ──────────────────────────────────────────── */
.cbz-section-label {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.73rem; font-weight:800; letter-spacing:.18em;
  text-transform:uppercase; color:var(--cbz-orange); margin-bottom:.8rem;
}
.cbz-section-label::before {
  content:''; width:24px; height:3px; background:currentColor;
  border-radius:2px; flex-shrink:0;
}
.cbz-section-title {
  font-family:var(--font-display);
  font-size:clamp(34px,6vw,64px);
  line-height:1.02; letter-spacing:.03em; margin-bottom:.6rem;
}
.cbz-section-sub {
  color:var(--cbz-gray); font-size:1.05rem; font-weight:500;
  line-height:1.7; max-width:580px;
}
.text-center .cbz-section-sub { margin:0 auto; }

/* ── BUTTONS ─────────────────────────────────────────────────── */
.cbz-btn {
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-body); font-weight:700; font-size:.9rem;
  letter-spacing:.02em; padding:.8rem 2rem; border-radius:50px;
  transition:all var(--transition); cursor:pointer; border:none;
  white-space:nowrap; position:relative; overflow:hidden;
}
.cbz-btn::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.12); opacity:0;
  transition:opacity var(--transition);
}
.cbz-btn:hover::after { opacity:1; }

.cbz-btn-primary { background:var(--cbz-blue); color:#fff; box-shadow:var(--shadow); }
.cbz-btn-primary:hover { background:var(--cbz-blue-dk); transform:translateY(-2px); box-shadow:var(--shadow-lg); }

.cbz-btn-orange { background:var(--cbz-orange); color:#fff; box-shadow:var(--shadow-o); }
.cbz-btn-orange:hover { background:var(--cbz-orange-lt); transform:translateY(-2px); }

.cbz-btn-yellow { background:var(--cbz-yellow); color:var(--cbz-dark); box-shadow:var(--shadow-y); font-weight:800; }
.cbz-btn-yellow:hover { background:var(--cbz-yellow-lt); transform:translateY(-2px); }

.cbz-btn-outline { border:2px solid var(--cbz-blue); color:var(--cbz-blue); background:transparent; }
.cbz-btn-outline:hover { background:var(--cbz-blue); color:#fff; transform:translateY(-2px); }

.cbz-btn-outline-white { border:2px solid rgba(255,255,255,.4); color:#fff; background:transparent; }
.cbz-btn-outline-white:hover { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.8); }

.cbz-btn-ghost { color:var(--cbz-blue); background:var(--cbz-blue-xp); border:none; }
.cbz-btn-ghost:hover { background:var(--cbz-blue-pale); transform:translateY(-1px); }

.cbz-btn-lg { padding:1rem 2.6rem; font-size:1rem; }
.cbz-btn-sm { padding:.45rem 1.15rem; font-size:.82rem; }
.cbz-btn-xs { padding:.3rem .8rem; font-size:.75rem; }

/* ── BADGES ──────────────────────────────────────────────────── */
.cbz-badge {
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.72rem; font-weight:800; letter-spacing:.05em;
  text-transform:uppercase; padding:.3rem .85rem; border-radius:50px;
}
.cbz-badge-blue   { background:var(--cbz-blue-pale); color:var(--cbz-blue); }
.cbz-badge-orange { background:#FFF3E0; color:var(--cbz-orange); }
.cbz-badge-yellow { background:var(--cbz-yellow-bg); color:#F57F17; }
.cbz-badge-green  { background:#E8F5E9; color:#2E7D32; }
.cbz-badge-white  { background:rgba(255,255,255,.15); color:#fff; }
.cbz-badge-dark   { background:rgba(10,25,41,.08); color:var(--cbz-dark); }

/* ── CARDS ───────────────────────────────────────────────────── */
.cbz-card {
  background:#fff; border-radius:var(--radius-lg);
  border:1.5px solid rgba(21,101,192,.09);
  transition:all var(--transition); overflow:hidden;
}
.cbz-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-6px); border-color:rgba(21,101,192,.2); }

/* Glass card */
.cbz-glass {
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-lg);
  transition:all var(--transition);
}
.cbz-glass:hover { background:rgba(255,255,255,.2); transform:translateY(-4px); }

/* Dark glass */
.cbz-glass-dark {
  background:rgba(10,25,41,.6);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-lg);
}

/* ── FORMS ───────────────────────────────────────────────────── */
.cbz-input {
  width:100%; padding:.75rem 1.1rem;
  border:1.5px solid rgba(21,101,192,.15);
  border-radius:var(--radius); font-family:var(--font-body);
  font-size:.9rem; color:var(--cbz-dark); background:#fff;
  outline:none; transition:all var(--transition);
}
.cbz-input:focus { border-color:var(--cbz-blue); box-shadow:0 0 0 3px rgba(21,101,192,.1); }
.cbz-input::placeholder { color:var(--cbz-gray-lt); }
.cbz-label {
  display:block; font-size:.78rem; font-weight:800; color:var(--cbz-dark);
  letter-spacing:.04em; text-transform:uppercase; margin-bottom:.4rem;
}

/* ── NAVBAR ──────────────────────────────────────────────────── */
.cbz-nav { position:fixed; top:0; left:0; right:0; z-index:1000; height:72px; transition:all var(--transition); }
.cbz-nav.scrolled { background:rgba(255,255,255,.96) !important; backdrop-filter:blur(24px); box-shadow:0 2px 24px rgba(21,101,192,.1); }

/* ── STATS STRIP ─────────────────────────────────────────────── */
.cbz-stats-strip { background:var(--cbz-blue-dk); }
.cbz-stat-item {
  flex:1; padding:2.4rem 1.5rem; text-align:center;
  border-right:1px solid rgba(255,255,255,.07);
  transition:background var(--transition);
}
.cbz-stat-item:last-child { border-right:none; }
.cbz-stat-item:hover { background:rgba(255,193,7,.08); }
.cbz-stat-num {
  font-family:var(--font-display); font-size:2.8rem;
  color:var(--cbz-yellow); letter-spacing:.04em; line-height:1; margin-bottom:.3rem;
}
.cbz-stat-label { font-size:.82rem; color:rgba(255,255,255,.55); font-weight:600; }

/* ── MENU CARD ───────────────────────────────────────────────── */
.cbz-menu-card {
  background:#fff; border-radius:var(--radius-lg); overflow:hidden;
  border:2px solid transparent; transition:all var(--transition);
}
.cbz-menu-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:var(--cbz-yellow); }
.cbz-menu-card-img {
  aspect-ratio:1; overflow:hidden; position:relative;
  background:linear-gradient(135deg, var(--cbz-blue-pale), var(--cbz-yellow-bg));
  display:flex; align-items:center; justify-content:center;
}
.cbz-menu-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.cbz-menu-card:hover .cbz-menu-card-img img { transform:scale(1.07); }
.cbz-menu-card-body { padding:1.2rem; }
.cbz-menu-card-name { font-weight:800; font-size:.98rem; color:var(--cbz-dark); margin-bottom:.25rem; }
.cbz-menu-card-price { font-family:var(--font-display); font-size:1.4rem; color:var(--cbz-blue); letter-spacing:.04em; }

/* ── OUTLET CARD ─────────────────────────────────────────────── */
.cbz-outlet-card { background:#fff; border-radius:var(--radius-lg); overflow:hidden; border:1.5px solid rgba(21,101,192,.09); transition:all var(--transition); }
.cbz-outlet-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.cbz-outlet-head { background:linear-gradient(135deg, var(--cbz-blue-dk), var(--cbz-blue)); padding:1.2rem 1.5rem; display:flex; align-items:center; gap:.9rem; }
.cbz-outlet-icon { width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; overflow:hidden; }
.cbz-outlet-code { font-size:.7rem; font-weight:800; color:rgba(255,255,255,.65); letter-spacing:.1em; text-transform:uppercase; }
.cbz-outlet-name { font-weight:800; color:#fff; font-size:.98rem; }
.cbz-outlet-body { padding:1.2rem 1.5rem; }
.cbz-outlet-row { display:flex; gap:.6rem; font-size:.84rem; color:var(--cbz-gray); margin-bottom:.4rem; align-items:flex-start; font-weight:500; }

/* ── TESTIMONIAL ─────────────────────────────────────────────── */
.cbz-testi-card { border-radius:var(--radius-lg); padding:2rem; transition:all var(--transition); }

/* ── FAQ ─────────────────────────────────────────────────────── */
.cbz-faq-item { background:#fff; border-radius:var(--radius); border:1.5px solid rgba(21,101,192,.09); overflow:visible; transition:border-color var(--transition),box-shadow var(--transition); }
.cbz-faq-item.open { border-color:var(--cbz-blue); }
.cbz-faq-q { width:100%; text-align:left; padding:1.2rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-weight:700; font-size:.95rem; color:var(--cbz-dark); cursor:pointer; transition:background var(--transition); }
.cbz-faq-q:hover { background:var(--cbz-blue-xp); }
.cbz-faq-q.open { color:var(--cbz-blue); }
.cbz-faq-arrow { width:28px; height:28px; border-radius:50%; background:var(--cbz-blue-pale); color:var(--cbz-blue); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.75rem; transition:all var(--transition); }
.cbz-faq-q.open .cbz-faq-arrow { background:var(--cbz-blue); color:#fff; transform:rotate(180deg); }
.cbz-faq-body { max-height:0; overflow:hidden; transition:max-height .32s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1); padding:0 1.5rem; }
.cbz-faq-body.open { max-height:1200px; padding:0 1.5rem 1.3rem; }
.cbz-faq-body p { font-size:.9rem; color:var(--cbz-gray); line-height:1.75; }

/* ── FOOTER ──────────────────────────────────────────────────── */
.cbz-footer { background:var(--cbz-dark); color:#fff; }
.cbz-footer-link { font-size:.87rem; color:rgba(255,255,255,.45); transition:color var(--transition); display:inline-block; }
.cbz-footer-link:hover { color:#fff; }
.cbz-social-btn { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:all var(--transition); }
.cbz-social-btn:hover { background:var(--cbz-blue); color:#fff; transform:translateY(-2px); }

/* ── FLOAT BUTTONS ───────────────────────────────────────────── */
.cbz-wa-float {
  position:fixed; bottom:24px; right:24px; z-index:500;
  display:flex; align-items:center; gap:.65rem;
  background:#25D366; color:#fff; padding:.8rem 1.5rem;
  border-radius:50px; font-family:var(--font-body); font-weight:700; font-size:.88rem;
  box-shadow:0 6px 24px rgba(37,211,102,.35); transition:all var(--transition);
  animation:fadeSlideLeft .8s 1s ease both;
}
.cbz-wa-float:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(37,211,102,.45); }

.cbz-back-top {
  position:fixed; bottom:90px; right:24px; z-index:500;
  width:44px; height:44px; border-radius:50%;
  background:var(--cbz-blue); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(21,101,192,.30); transition:all .25s cubic-bezier(.4,0,.2,1);
  opacity:0; pointer-events:none; transform:translateY(16px);
}
.cbz-back-top.show { opacity:1; pointer-events:auto; transform:translateY(0); }
.cbz-back-top:hover { background:var(--cbz-blue-dk); transform:translateY(-3px); box-shadow:0 12px 32px rgba(21,101,192,.38); }

/* ── WAVE DIVIDERS ───────────────────────────────────────────── */
.cbz-wave-bottom {
  position:absolute; bottom:-1px; left:0; right:0;
  overflow:hidden; line-height:0;
}
.cbz-wave-bottom svg { display:block; width:100%; }

/* ── HIGHLIGHT CARD (penghargaan) ───────────────────────────── */
.cbz-award-card {
  background:#fff; border-radius:var(--radius-lg);
  border:2px solid var(--cbz-blue-pale);
  padding:1.5rem; text-align:center;
  transition:all var(--transition);
  position:relative; overflow:hidden;
}
.cbz-award-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--cbz-blue), var(--cbz-orange));
}
.cbz-award-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); border-color:var(--cbz-blue); }
.cbz-award-year { font-family:var(--font-display); font-size:2.5rem; color:var(--cbz-blue); letter-spacing:.04em; line-height:1; }
.cbz-award-title { font-weight:800; font-size:.9rem; color:var(--cbz-dark); margin:.4rem 0 .25rem; }
.cbz-award-org { font-size:.78rem; color:var(--cbz-gray); font-weight:600; }

/* ── PLATFORM CARD (GrabFood/GoFood) ─────────────────────────── */
.cbz-platform-card {
  border-radius:var(--radius-xl); padding:2rem 1.5rem;
  text-align:center; border:2px solid transparent;
  transition:all var(--transition-slow); cursor:pointer;
  position:relative; overflow:hidden;
}
.cbz-platform-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); }

/* ── GALLERY ─────────────────────────────────────────────────── */
.cbz-gallery-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  grid-template-rows:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.cbz-gallery-grid .cbz-gallery-item:first-child {
  grid-column:span 2; grid-row:span 2;
}
.cbz-gallery-item {
  border-radius:var(--radius-lg); overflow:hidden;
  position:relative; background:var(--cbz-blue-pale);
  min-height:0;
}
.cbz-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.cbz-gallery-item:hover img { transform:scale(1.06); }
.cbz-gallery-item::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(13,71,161,.5) 0%, transparent 60%);
  opacity:0; transition:opacity var(--transition);
}
.cbz-gallery-item:hover::after { opacity:1; }

/* ── TRUST BADGES ────────────────────────────────────────────── */
.cbz-trust-item {
  display:flex; align-items:center; gap:.75rem;
  padding:.75rem 1.5rem; border-radius:50px;
  background:#fff; border:1.5px solid rgba(21,101,192,.1);
  font-weight:700; font-size:.85rem; color:var(--cbz-dark);
  white-space:nowrap; transition:all var(--transition);
}
.cbz-trust-item:hover { box-shadow:var(--shadow); border-color:var(--cbz-blue); }

/* ── SCROLL INDICATOR ────────────────────────────────────────── */
.cbz-scroll-indicator {
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  color:rgba(10,25,41,.45); font-size:.72rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; cursor:pointer;
  transition:color var(--transition);
}
.cbz-scroll-indicator:hover { color:var(--cbz-blue); }
.cbz-scroll-mouse {
  width:22px; height:36px; border:2px solid currentColor;
  border-radius:11px; display:flex; justify-content:center; padding-top:6px;
}
.cbz-scroll-wheel {
  width:3px; height:6px; background:currentColor; border-radius:2px;
  animation:scrollWheel 1.6s ease-in-out infinite;
}
@keyframes scrollWheel {
  0%   { transform:translateY(0); opacity:1; }
  100% { transform:translateY(10px); opacity:0; }
}

/* ── ANIMATIONS ──────────────────────────────────────────────── */
@keyframes fadeSlideDown  { from{opacity:0;transform:translateY(-20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeSlideUp    { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeSlideLeft  { from{opacity:0;transform:translateX(20px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeSlideRight { from{opacity:0;transform:translateX(-20px)} to{opacity:1;transform:translateX(0)} }
@keyframes floatY    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes floatYSlow{ 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-8px) rotate(2deg)} }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes spinSlow { to{transform:rotate(360deg)} }
@keyframes bounceIn { 0%{transform:scale(.8);opacity:0} 60%{transform:scale(1.05)} 100%{transform:scale(1);opacity:1} }
@keyframes glow {
  0%,100% { box-shadow:0 0 20px rgba(21,101,192,.3); }
  50%      { box-shadow:0 0 40px rgba(21,101,192,.6); }
}

.cbz-float     { animation:floatY 3s ease-in-out infinite; }
.cbz-float-2   { animation:floatY 3.5s .5s ease-in-out infinite; }
.cbz-float-3   { animation:floatYSlow 4s ease-in-out infinite; }
.cbz-pulse     { animation:pulse 2.5s ease-in-out infinite; }
.cbz-spin-slow { animation:spinSlow 20s linear infinite; }
.cbz-glow      { animation:glow 2.5s ease-in-out infinite; }

/* Scroll reveal */
.cbz-reveal       { opacity:0; transform:translateY(30px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.cbz-reveal-left  { opacity:0; transform:translateX(-30px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.cbz-reveal-right { opacity:0; transform:translateX(30px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.cbz-reveal-zoom  { opacity:0; transform:scale(.9); transition:opacity .6s var(--ease), transform .6s var(--ease-spring); }
.cbz-reveal.visible, .cbz-reveal-left.visible, .cbz-reveal-right.visible, .cbz-reveal-zoom.visible {
  opacity:1; transform:none;
}
.delay-100{transition-delay:.1s!important} .delay-200{transition-delay:.2s!important}
.delay-300{transition-delay:.3s!important} .delay-400{transition-delay:.4s!important}
.delay-500{transition-delay:.5s!important} .delay-600{transition-delay:.6s!important}

/* ── STRIPES DECORATION ──────────────────────────────────────── */
.cbz-stripes {
  background:repeating-linear-gradient(-45deg,rgba(255,193,7,.15),rgba(255,193,7,.15) 8px,transparent 8px,transparent 20px);
}
.cbz-stripes-dark {
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.04),rgba(255,255,255,.04) 8px,transparent 8px,transparent 20px);
}

/* ── SKELETON ────────────────────────────────────────────────── */
.cbz-skeleton {
  background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
  background-size:200% 100%; animation:shimmer 1.5s infinite; border-radius:var(--radius-sm);
}

/* ── SCROLLBAR ───────────────────────────────────────────────── */
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--cbz-blue-xp); }
::-webkit-scrollbar-thumb { background:var(--cbz-blue); border-radius:6px; }

/* ── ALERTS ──────────────────────────────────────────────────── */
.cbz-alert { display:flex; align-items:flex-start; gap:.75rem; padding:1rem 1.2rem; border-radius:var(--radius); font-size:.9rem; font-weight:600; animation:fadeSlideDown .3s ease; }
.cbz-alert-success { background:#E8F5E9; color:#1B5E20; border:1px solid #A5D6A7; }
.cbz-alert-error   { background:#FFEBEE; color:#B71C1C; border:1px solid #EF9A9A; }
.cbz-alert-warning { background:#FFFDE7; color:#F57F17; border:1px solid #FFE082; }
.cbz-alert-info    { background:var(--cbz-blue-pale); color:var(--cbz-blue-dk); border:1px solid #90CAF9; }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:1024px){ :root{ --section-py:80px; } }
@media(max-width:768px){
  .cbz-wa-float .wa-label { display:none; }
  .cbz-wa-float { padding:.8rem; border-radius:50%; }
  .cbz-gallery-grid { grid-template-columns:repeat(2,1fr); }
  .cbz-gallery-grid .cbz-gallery-item:first-child { grid-column:span 1; grid-row:span 1; }
}
@media(max-width:480px){
  .cbz-gallery-grid { grid-template-columns:1fr 1fr; gap:8px; }
}
@media print {
  .cbz-nav, .cbz-wa-float, .cbz-back-top { display:none; }
}
/* ── CRITICAL PUBLIC SHELL — independent from Tailwind runtime ── */
#cbzNavOverlay {
  opacity:0;
  pointer-events:none;
}
#cbzNavOverlay.cbz-open {
  opacity:1;
  pointer-events:auto;
}
#cbzMobileMenu {
  transform:translateX(100%);
  will-change:transform;
}
#cbzMobileMenu.cbz-open {
  transform:translateX(0);
}
body.cbz-nav-open {
  overflow:hidden;
}
[data-cbz-theme-icon][hidden] {
  display:none !important;
}

/* Table-order overlays use Tailwind display utilities; keep native hidden authoritative. */
[data-order-checkout-modal][hidden],
[data-order-payment-lightbox][hidden] {
  display:none !important;
}
body.cbz-order-overlay-open {
  overflow:hidden;
}

/* ── PUBLIC THEME CONTROLS & MANUAL DARK MODE ─────────────── */
.cbz-theme-toggle {
  width:40px; height:40px; align-items:center; justify-content:center;
  border-radius:12px; border:1px solid rgba(21,101,192,.14);
  background:#fff; color:var(--cbz-blue); box-shadow:var(--shadow-sm);
  transition:all var(--transition);
}
.cbz-theme-toggle:hover { background:var(--cbz-blue-xp); border-color:rgba(21,101,192,.28); transform:translateY(-1px); }
.cbz-theme-toggle-mobile {
  width:100%; min-height:44px; display:flex; align-items:center; justify-content:center;
  border-radius:16px; border:1.5px solid rgba(21,101,192,.18);
  background:var(--cbz-blue-xp); color:var(--cbz-blue); font-size:.86rem; font-weight:700;
  transition:all var(--transition);
}
.cbz-theme-toggle-mobile:hover { border-color:var(--cbz-blue); }

html.cbz-dark { color-scheme:dark; }
html.cbz-dark body { background:#081523; color:#E7EEF7; }
html.cbz-dark #cbzNav { background:rgba(8,21,35,.94) !important; border-color:rgba(148,163,184,.14) !important; }
html.cbz-dark #cbzNav.scrolled { background:rgba(8,21,35,.97) !important; box-shadow:0 8px 28px rgba(0,0,0,.28) !important; }
html.cbz-dark #cbzMobileMenu { background:#0D2034 !important; color:#E7EEF7; }
html.cbz-dark #cbzMobileMenu .border-brand-blue-pale { border-color:rgba(148,163,184,.16) !important; }
html.cbz-dark #cbzMobileMenu .hover\:bg-brand-blue-xp:hover,
html.cbz-dark #cbzMobileMenu .bg-brand-blue-pale { background:rgba(21,101,192,.22) !important; }
html.cbz-dark .cbz-theme-toggle { background:#102B47; border-color:rgba(147,197,253,.20); color:#FFD54F; }
html.cbz-dark .cbz-theme-toggle:hover { background:#163553; border-color:rgba(255,213,79,.28); }
html.cbz-dark .cbz-theme-toggle-mobile { background:#102B47; border-color:rgba(147,197,253,.20); color:#FFD54F; }

html.cbz-dark .bg-white { background-color:#0D2034 !important; }
html.cbz-dark .bg-brand-cream { background-color:#081523 !important; }
html.cbz-dark .bg-brand-blue-xp { background-color:#0B1C2E !important; }
html.cbz-dark .bg-brand-blue-pale { background-color:#102B47 !important; }
html.cbz-dark .text-brand-dark { color:#E7EEF7 !important; }
html.cbz-dark .text-brand-gray { color:#A9BACB !important; }
html.cbz-dark .text-gray-400 { color:#8EA2B5 !important; }
html.cbz-dark .text-gray-500 { color:#A9BACB !important; }
html.cbz-dark .text-gray-600 { color:#C2CEDA !important; }
html.cbz-dark .text-gray-700 { color:#D6E0EA !important; }
html.cbz-dark .border-gray-100,
html.cbz-dark .border-gray-200,
html.cbz-dark .border-brand-blue-pale { border-color:rgba(148,163,184,.16) !important; }

html.cbz-dark .cbz-card,
html.cbz-dark .cbz-menu-card,
html.cbz-dark .cbz-outlet-card,
html.cbz-dark .cbz-award-card,
html.cbz-dark .cbz-faq-item,
html.cbz-dark .cbz-platform-card { background:#0D2034 !important; border-color:rgba(148,163,184,.14) !important; }
html.cbz-dark .cbz-menu-card-name,
html.cbz-dark .cbz-award-title,
html.cbz-dark .cbz-faq-q,
html.cbz-dark .cbz-label { color:#E7EEF7 !important; }
html.cbz-dark .cbz-section-sub,
html.cbz-dark .cbz-award-org,
html.cbz-dark .cbz-faq-body p,
html.cbz-dark .cbz-outlet-row { color:#A9BACB !important; }
html.cbz-dark .cbz-faq-q:hover { background:#102B47 !important; }
html.cbz-dark .cbz-input,
html.cbz-dark input:not([type="checkbox"]):not([type="radio"]),
html.cbz-dark select,
html.cbz-dark textarea { background:#102B47; color:#F7FAFC; border-color:rgba(147,197,253,.18); }
html.cbz-dark .cbz-input::placeholder,
html.cbz-dark input::placeholder,
html.cbz-dark textarea::placeholder { color:#8297AA; }
html.cbz-dark ::-webkit-scrollbar-track { background:#081523; }
html.cbz-dark ::-webkit-scrollbar-thumb { background:#4779A9; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ── PATCH 13C: landing home content hardening ─────────────── */
.cbz-trust-strip { background:#fff; }
html.cbz-dark .cbz-trust-strip { background:#0D2034; border-color:rgba(148,163,184,.16) !important; }
html.cbz-dark .cbz-trust-item {
  background:#102B47;
  color:#E7EEF7;
  border-color:rgba(147,197,253,.16);
}
html.cbz-dark .cbz-trust-item:hover { border-color:rgba(255,193,7,.45); }

/* ── PATCH 13F: final public UX consistency contract ────────── */
.cbz-skip-link {
  position:fixed;
  top:10px;
  left:10px;
  z-index:9999;
  transform:translateY(-160%);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.65rem 1rem;
  border-radius:12px;
  background:var(--cbz-blue);
  color:#fff;
  font-size:.85rem;
  font-weight:800;
  box-shadow:var(--shadow-lg);
  transition:transform .15s ease;
}
.cbz-skip-link:focus { transform:translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline:3px solid rgba(255,193,7,.95);
  outline-offset:3px;
}

.cbz-brand-fallback {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--cbz-blue);
  font-family:var(--font-display);
  font-size:1.25rem;
  letter-spacing:.04em;
  line-height:1;
}
html.cbz-dark .cbz-brand-fallback { color:#FFD54F; }

.cbz-btn { min-height:44px; justify-content:center; }
.cbz-social-btn { width:44px; height:44px; }
#cbzNavClose { min-width:44px; min-height:44px; }

[data-cbz-public-form][aria-busy="true"] { cursor:progress; }
[data-cbz-submit][disabled] { pointer-events:none; }

@media (max-width: 640px) {
  .cbz-footer-link { min-height:40px; display:inline-flex; align-items:center; }
}

/* ── PATCH 13H9: engagement pages CSP inline-style cleanup ───── */
.cbz-contact-dept-blue { background:linear-gradient(135deg,#1565C0,#1976D2); }
.cbz-contact-dept-orange { background:linear-gradient(135deg,#E65100,#F57C00); }
.cbz-contact-dept-purple { background:linear-gradient(135deg,#4C1D95,#6D28D9); }
.cbz-bg-yellow { background:#FFC107; }
.cbz-contact-submit { background:linear-gradient(135deg,#1565C0,#1976D2);box-shadow:0 10px 30px rgba(21,101,192,.3); }
.cbz-partnership-express-accent { background:linear-gradient(90deg,#1565C0,#0D47A1); }
.cbz-partnership-express-card { background:linear-gradient(145deg,#FFC107,#FFB300); }
.cbz-contact-whatsapp { background:#25D366;box-shadow:0 8px 24px rgba(37,211,102,.3); }
.cbz-partnership-price-watermark { font-size:18rem; }
.cbz-partnership-packages { background:linear-gradient(145deg,#0A1929,#0D47A1); }
.cbz-engagement-hero-title { font-size:clamp(40px,7vw,72px);line-height:.92; }
.cbz-engagement-hero { background:linear-gradient(145deg,#0A1929 0%,#0D47A1 55%,#1565C0 100%); }
.cbz-partnership-package-stripes { background:repeating-linear-gradient(-45deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1.5px,transparent 1.5px,transparent 20px); }
.cbz-partnership-hero-word { font-size:clamp(100px,18vw,220px); }
.cbz-partnership-stat { background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12); }
.cbz-contact-hero-glow { background:radial-gradient(circle,rgba(255,193,7,.12),transparent 70%); }
.cbz-partnership-stat-number { font-size:1.9rem;line-height:1; }
.cbz-text-yellow { color:#FFC107; }
.cbz-partnership-cta { background:linear-gradient(135deg,#FFC107,#FFB300);box-shadow:0 10px 28px rgba(255,193,7,.35); }
.cbz-engagement-badge { background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.3); }
.cbz-engagement-icon-yellow { background:rgba(255,193,7,.2); }
.cbz-contact-hero-word { font-size:clamp(120px,22vw,260px); }
.cbz-partnership-price-regular-value { font-size:3.5rem; }
.cbz-partnership-benefits-glass { background:rgba(255,255,255,.08);backdrop-filter:blur(16px); }
.cbz-partnership-package-title { font-size:clamp(32px,5.5vw,56px); }
.cbz-partnership-price-express { background:linear-gradient(135deg,#1565C0,#0D47A1);box-shadow:0 12px 32px rgba(21,101,192,.35); }
.cbz-engagement-form-header { background:linear-gradient(135deg,#EEF4FF,#F0F7FF); }
.cbz-partnership-price-regular { background:linear-gradient(135deg,#FFC107,#FFB300);box-shadow:0 16px 48px rgba(255,193,7,.4); }
.cbz-partnership-submit { background:linear-gradient(135deg,#FFC107,#FFB300);box-shadow:0 10px 30px rgba(255,193,7,.35); }
.cbz-partnership-price-express-value { font-size:2.8rem; }
.cbz-partnership-benefit-icon { background:rgba(255,193,7,.12); }
.cbz-engagement-badge-text { font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#FFC107; }
.cbz-partnership-hero-glow { background:radial-gradient(circle,rgba(255,193,7,.12),transparent 65%); }
.cbz-engagement-hero-stripes { background:repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1.5px,transparent 1.5px,transparent 20px); }
.cbz-whatsapp-icon-bg { background:#dcfce7; }
.cbz-engagement-glass { background:rgba(255,255,255,.07);backdrop-filter:blur(12px); }
.cbz-hours-closed { color:#EF4444; }
.cbz-hours-limited { color:#F59E0B; }
.cbz-hours-open { color:#22C55E; }
.cbz-social-facebook { color:#1877F2;border-color:#1877F230;background:#1877F208; }
.cbz-social-instagram { color:#E1306C;border-color:#E1306C30;background:#E1306C08; }
.cbz-social-youtube { color:#FF0000;border-color:#FF000030;background:#FF000008; }
.cbz-partnership-stripe:nth-child(odd) { background:#F57C00; }
.cbz-partnership-stripe:nth-child(even) { background:#FFC107; }

/* ── PATCH 13H10: about + promo CSP inline-style cleanup phase 2 ── */
.cbz-about-hero-bg { background:linear-gradient(145deg,#0D47A1,#1565C0,#1976D2); }
.cbz-about-hero-stripes { background:repeating-linear-gradient(-45deg,#fff 0,#fff 1.5px,transparent 1.5px,transparent 20px); }
.cbz-about-founded-year { font-size:4.5rem; }
.cbz-about-values-section { background:linear-gradient(165deg,#f8faff,#EEF4FF); }
.cbz-about-value-blue { background:linear-gradient(145deg,#0D47A1,#1565C0); }
.cbz-about-value-orange { background:linear-gradient(145deg,#E65100,#F57C00); }
.cbz-about-card-stripes { background:repeating-linear-gradient(-45deg,#fff 0,#fff 1.5px,transparent 1.5px,transparent 18px); }
html.cbz-dark .cbz-about-values-section { background:linear-gradient(165deg,#081523,#0D2034); }
html.cbz-dark .cbz-about-value-blue { background:linear-gradient(145deg,#0A2A4A,#0D47A1); }
html.cbz-dark .cbz-about-value-orange { background:linear-gradient(145deg,#4B2407,#A74400); }
.cbz-about-stat { --cbz-about-stat-color:#1565C0; --cbz-about-stat-bg:#1565C00d; --cbz-about-stat-border:#1565C025; --cbz-about-stat-icon:#1565C022; background:var(--cbz-about-stat-bg); border-color:var(--cbz-about-stat-border); }
.cbz-about-stat-2 { --cbz-about-stat-color:#F57C00; --cbz-about-stat-bg:#F57C000d; --cbz-about-stat-border:#F57C0025; --cbz-about-stat-icon:#F57C0022; }
.cbz-about-stat-3 { --cbz-about-stat-color:#16A34A; --cbz-about-stat-bg:#16A34A0d; --cbz-about-stat-border:#16A34A25; --cbz-about-stat-icon:#16A34A22; }
.cbz-about-stat-4 { --cbz-about-stat-color:#7C3AED; --cbz-about-stat-bg:#7C3AED0d; --cbz-about-stat-border:#7C3AED25; --cbz-about-stat-icon:#7C3AED22; }
.cbz-about-stat-icon { width:52px; height:52px; background:var(--cbz-about-stat-icon); }
.cbz-about-stat-color { color:var(--cbz-about-stat-color); }
.cbz-about-stat-number { font-size:2.6rem; line-height:1; }
.cbz-about-timeline-section { background:linear-gradient(165deg,#0A1929 0%,#0D47A1 60%,#1565C0 100%); }
.cbz-about-timeline-badge { background:rgba(255,193,7,.15); border:1px solid rgba(255,193,7,.3); }
.cbz-about-timeline-dot { background:#FFC107; animation:pulse 1.5s ease-in-out infinite; }
.cbz-about-eyebrow { font-size:.72rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; color:#FFC107; }
.cbz-about-title-xl { font-size:clamp(36px,6vw,64px); }
.cbz-about-timeline-line { background:linear-gradient(to bottom,transparent,rgba(255,193,7,.4),rgba(255,255,255,.15),transparent); }
.cbz-about-timeline-marker-yellow { background:linear-gradient(135deg,#FFC107,#FFB300); box-shadow:0 4px 16px rgba(255,193,7,.35); }
.cbz-about-timeline-year { font-size:1.6rem; }
.cbz-about-timeline-icon-yellow { background:linear-gradient(135deg,#FFC107,#FFB300); box-shadow:0 6px 20px rgba(255,193,7,.4); }
.cbz-about-timeline-icon-blue { background:linear-gradient(135deg,#1565C0,#0D47A1); box-shadow:0 6px 20px rgba(21,101,192,.4); }
.cbz-about-year-blue { color:#60A5FA; }
.cbz-about-dot-blue { background:#60A5FA; }
.cbz-about-award-year { font-size:1.5rem; }
.cbz-about-group-section { background:linear-gradient(145deg,#0A1929 0%,#111827 100%); }
.cbz-about-group-badge { background:rgba(255,193,7,.12); border:1px solid rgba(255,193,7,.25); }
.cbz-about-brand-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));
  gap:1.25rem;
  width:100%;
  max-width:74rem;
  margin-inline:auto;
}
.cbz-about-brand-grid[data-brand-count="1"] {
  grid-template-columns:minmax(0,1fr);
  max-width:24rem;
}
.cbz-about-brand-grid[data-brand-count="2"] {
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:46rem;
}
.cbz-about-brand-grid[data-brand-count="3"] {
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:64rem;
}
.cbz-about-brand-grid[data-brand-count="4"] {
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:74rem;
}
.cbz-about-brand-card { min-width:0; }
.cbz-about-brand-logo-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:5.5rem;
  margin:0 auto 1.25rem;
  padding:.55rem .8rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.96);
}
.cbz-about-brand-logo {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:4.2rem;
  object-fit:contain;
}
@media (min-width:768px) and (max-width:1023.98px) {
  .cbz-about-brand-grid:not([data-brand-count="1"]):not([data-brand-count="2"]) {
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:46rem;
  }
}
@media (max-width:767.98px) {
  .cbz-about-brand-grid,
  .cbz-about-brand-grid[data-brand-count="1"],
  .cbz-about-brand-grid[data-brand-count="2"],
  .cbz-about-brand-grid[data-brand-count="3"],
  .cbz-about-brand-grid[data-brand-count="4"] {
    grid-template-columns:minmax(0,1fr);
    max-width:28rem;
  }
  .cbz-about-brand-logo-wrap { height:5rem; }
  .cbz-about-brand-logo { max-height:3.8rem; }
}
.cbz-about-cta-card { background:linear-gradient(135deg,#FFC107,#FFB300); }
.cbz-about-cta-stripes { background:repeating-linear-gradient(-45deg,#000 0,#000 1.5px,transparent 1.5px,transparent 18px); }
.cbz-about-cta-title { font-size:clamp(28px,5vw,52px); }
.cbz-about-cta-button { background:linear-gradient(135deg,#1565C0,#0D47A1); box-shadow:0 12px 36px rgba(21,101,192,.35); }

.cbz-promo-card-blue { background:linear-gradient(145deg,#0D47A1,#1565C0,#1976D2); }
.cbz-promo-card-purple { background:linear-gradient(145deg,#4C1D95,#6D28D9,#7C3AED); }
.cbz-promo-card-orange { background:linear-gradient(145deg,#C2410C,#EA580C,#F97316); }
.cbz-promo-card-green { background:linear-gradient(145deg,#14532D,#15803D,#16A34A); }
.cbz-promo-card-stripes { background:repeating-linear-gradient(-45deg,#fff 0,#fff 1.5px,transparent 1.5px,transparent 18px); }
.cbz-promo-cta-yellow { background:linear-gradient(135deg,#FFC107,#FFB300); box-shadow:0 8px 24px rgba(255,193,7,.35); }
.cbz-promo-tier { --cbz-promo-tier-color:#64748B; --cbz-promo-tier-bg:#64748B22; --cbz-promo-tier-border:#64748B55; background:var(--cbz-promo-tier-bg); border-color:var(--cbz-promo-tier-border); }
.cbz-promo-tier-2 { --cbz-promo-tier-color:#94A3B8; --cbz-promo-tier-bg:#94A3B822; --cbz-promo-tier-border:#94A3B855; }
.cbz-promo-tier-3 { --cbz-promo-tier-color:#F59E0B; --cbz-promo-tier-bg:#F59E0B22; --cbz-promo-tier-border:#F59E0B55; }
.cbz-promo-tier-4 { --cbz-promo-tier-color:#A78BFA; --cbz-promo-tier-bg:#A78BFA22; --cbz-promo-tier-border:#A78BFA55; }
.cbz-promo-tier-label { color:var(--cbz-promo-tier-color); }
.cbz-promo-glass-box { background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.3); }
.cbz-promo-cta-blue, .cbz-promo-claim-button { background:linear-gradient(135deg,#1565C0,#0D47A1); box-shadow:0 8px 22px rgba(21,101,192,.24); }
.cbz-promo-campaign-header-orange { background:linear-gradient(145deg,#C2410C,#F97316); }
.cbz-promo-campaign-header-blue { background:linear-gradient(145deg,#1565C0,#1976D2); }
.cbz-promo-step { --cbz-promo-step-bg:linear-gradient(135deg,#1565C0,#1976D2); background:var(--cbz-promo-step-bg); }
.cbz-promo-step-2 { --cbz-promo-step-bg:linear-gradient(135deg,#C2410C,#F97316); }
.cbz-promo-step-3 { --cbz-promo-step-bg:linear-gradient(135deg,#14532D,#16A34A); }
.cbz-promo-final-cta { background:linear-gradient(145deg,#FFC107,#FFB300); }
.cbz-promo-final-stripes { background:repeating-linear-gradient(-45deg,#000 0,#000 1.5px,transparent 1.5px,transparent 18px); }
.cbz-promo-final-title { font-size:clamp(32px,5.5vw,64px); }
.cbz-promo-final-button { background:linear-gradient(135deg,#1565C0,#0D47A1); box-shadow:0 12px 36px rgba(21,101,192,.35); }

/* ── PATCH 13H11: homepage CSP inline-style cleanup phase 3 ─── */
.cbz-home-hero-hatch { background:repeating-linear-gradient(-45deg,#1a1a1a 0,#1a1a1a 2px,transparent 2px,transparent 20px); }
.cbz-home-hero-title { font-size:clamp(58px,10.5vw,116px); }
.cbz-home-hero-highlight { text-shadow:3px 3px 0 rgba(245,124,0,.2); }
.cbz-home-outlet-cta { background:var(--cbz-orange);color:#fff;box-shadow:var(--shadow-o); }
.cbz-home-hero-visual { width:480px;height:520px; }
.cbz-home-hero-glow { background:radial-gradient(circle,var(--cbz-orange) 0%,transparent 70%);transform:translate(-5%,5%); }
.cbz-home-hero-wave { height:72px;line-height:0; }
.cbz-home-stats-strip { margin-top:-1px; }
.cbz-home-platform-grab-card { background:#F0FFF4;border-color:#00B14F; }
.cbz-home-platform-grab-bg { background:#00B14F;color:#fff; }
.cbz-home-platform-grab-text { color:#00B14F; }
.cbz-home-platform-gofood-card { background:#FFF5F5;border-color:#E31C25; }
.cbz-home-platform-gofood-bg { background:#E31C25;color:#fff; }
.cbz-home-platform-gofood-text { color:#E31C25; }
.cbz-home-platform-dine-card { background:var(--cbz-blue-xp);border-color:var(--cbz-blue); }
.cbz-home-tagline-primary { font-size:2.2rem;color:var(--cbz-orange);opacity:1; }
.cbz-home-tagline-secondary { font-size:1.8rem;color:var(--cbz-blue);opacity:.5; }
.cbz-home-tagline-tertiary { font-size:1.3rem;color:var(--cbz-blue);opacity:.2; }
.cbz-home-outlet-count { font-size:clamp(120px,22vw,220px); }
.cbz-home-city-name { font-size:1.25rem; }
.cbz-home-whatsapp { background:#25D366;color:#fff; }
.cbz-home-menu-title { color:var(--cbz-orange); }
.cbz-home-badge-bestseller { background:var(--cbz-orange);color:#fff;font-size:.67rem; }
.cbz-home-badge-compact { font-size:.67rem; }
.cbz-home-partnership-stripe:nth-child(odd) { background:var(--cbz-orange); }
.cbz-home-partnership-stripe:nth-child(even) { background:var(--cbz-yellow); }
.cbz-home-partnership-title { font-size:clamp(26px,4.5vw,50px); }
.cbz-home-partnership-packages-title { font-size:clamp(20px,3.5vw,36px); }
.cbz-home-price-regular { font-size:3.5rem; }
.cbz-home-price-express { font-size:2.8rem; }
.cbz-home-partnership-city-count { font-size:clamp(2.5rem,6vw,4rem); }
.cbz-home-testimonial-card { background:#0A1929;border-color:rgba(255,255,255,.07); }
.cbz-home-member-section { background:linear-gradient(145deg,#0A1929 0%,#0D47A1 55%,#1565C0 100%); }
.cbz-home-member-hatch { background:repeating-linear-gradient(-45deg,#fff 0,#fff 1.5px,transparent 1.5px,transparent 20px); }
.cbz-home-member-glow-yellow { background:radial-gradient(circle,#FFC107,transparent 70%); }
.cbz-home-member-glow-blue { background:radial-gradient(circle,#1976D2,transparent 70%); }
.cbz-home-member-watermark { font-size:clamp(160px,30vw,340px);letter-spacing:-.02em; }
.cbz-home-member-title { font-size:clamp(42px,6.5vw,80px); }
.cbz-home-member-gradient-text { background:linear-gradient(135deg,#FFC107,#FF8F00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.cbz-home-member-register { background:linear-gradient(135deg,#FFC107,#FFB300);box-shadow:0 12px 36px rgba(255,193,7,.4); }
.cbz-home-member-card { background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06));backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.18);box-shadow:0 32px 72px rgba(0,0,0,.35); }
.cbz-home-member-icon { background:linear-gradient(135deg,#FFC107,#FF8F00); }

/* ── PATCH 13H12: menu + outlet CSP inline-style cleanup phase 4 ── */
.cbz-menu-hero { background:linear-gradient(145deg,#7C2D12 0%,#C2410C 50%,#F57C00 100%); }
.cbz-menu-hero-stripes { background:repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1.5px,transparent 1.5px,transparent 20px); }
.cbz-menu-hero-word { font-size:clamp(120px,20vw,280px); }
.cbz-menu-hero-badge { background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.3); }
.cbz-menu-hero-badge-text { font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#FFC107; }
.cbz-menu-hero-title { font-size:clamp(40px,8vw,72px);line-height:.95; }
.cbz-menu-search-icon { color:#9ca3af; }
.cbz-menu-search-button { background:linear-gradient(135deg,#FFC107,#FFB300);box-shadow:0 8px 24px rgba(255,193,7,.35); }
.cbz-scrollbar-none { scrollbar-width:none; }
.cbz-scrollbar-none::-webkit-scrollbar { display:none; }
.cbz-aspect-square { aspect-ratio:1; }
.cbz-menu-badge-bestseller { background:var(--cbz-orange);color:#fff;font-size:.67rem; }
.cbz-menu-badge-compact { font-size:.67rem; }
.cbz-menu-badge-spicy { background:#D32F2F;color:#fff;font-size:.67rem; }
.cbz-menu-whatsapp { background:#25D366;color:#fff; }

.cbz-outlet-hero { background:linear-gradient(145deg,#0A1929 0%,#0D47A1 55%,#1565C0 100%); }
.cbz-outlet-hero-stripes { background:repeating-linear-gradient(-45deg,rgba(255,255,255,.038) 0,rgba(255,255,255,.038) 1.5px,transparent 1.5px,transparent 20px); }
.cbz-outlet-hero-glow { background:radial-gradient(circle,rgba(255,193,7,.14),transparent 70%); }
.cbz-outlet-hero-word { font-size:clamp(120px,22vw,260px);letter-spacing:-.02em; }
.cbz-outlet-badge-active { background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.3); }
.cbz-outlet-badge-active-text { font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#FFC107; }
.cbz-outlet-badge-cities { background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2); }
.cbz-outlet-badge-cities-text { font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7); }
.cbz-outlet-hero-title { font-size:clamp(40px,8vw,72px);line-height:.95; }
.cbz-outlet-locator-panel { background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16); }
.cbz-outlet-cta-card { background:linear-gradient(145deg,#FFC107,#FFB300); }
.cbz-outlet-cta-stripes { background:repeating-linear-gradient(-45deg,#000 0,#000 1.5px,transparent 1.5px,transparent 18px); }
.cbz-outlet-cta-title { font-size:clamp(28px,4.5vw,48px); }
.cbz-outlet-cta-button { background:linear-gradient(135deg,#1565C0,#0D47A1);box-shadow:0 10px 28px rgba(21,101,192,.3); }
.cbz-outlet-featured-badge { background:linear-gradient(135deg,#FFC107,#FFB300);color:#0A1929; }
.cbz-outlet-card-fallback { background:linear-gradient(145deg,#0D47A1,#1565C0); }
.cbz-outlet-card-fallback-stripes { background:repeating-linear-gradient(-45deg,#fff 0,#fff 1.5px,transparent 1.5px,transparent 16px); }
.cbz-outlet-card-fallback-icon { background:rgba(255,255,255,.15); }
.cbz-outlet-timezone-wib { background:#EEF4FF;color:#1565C0; }
.cbz-outlet-timezone-wita { background:#FFF3E0;color:#F57C00; }
.cbz-outlet-timezone-wit { background:#FFF3E0;color:#6A1B9A; }
.cbz-outlet-map-button { background:linear-gradient(135deg,#1565C0,#1976D2);box-shadow:0 4px 14px rgba(21,101,192,.25); }
.cbz-outlet-whatsapp-button { background:#25D366;box-shadow:0 4px 14px rgba(37,211,102,.25); }
.cbz-outlet-map-embed { height:160px; }
.cbz-outlet-map-frame { border:0; }


/* ── PATCH 13H13: final public inline-style CSP cleanup phase 5 ── */
.cbz-page-header-blue { background:linear-gradient(135deg,var(--cbz-blue-dk),var(--cbz-blue)); }
.cbz-page-header-orange { background:linear-gradient(135deg,#E65100,var(--cbz-orange)); }
.cbz-page-header-yellow { background:var(--cbz-yellow); }
.cbz-page-header-pattern { background:repeating-linear-gradient(-45deg,#fff 0,#fff 2px,transparent 2px,transparent 18px); }
.cbz-page-header-title { font-size:clamp(40px,8vw,80px);line-height:1; }
.cbz-career-detail-hero { background:linear-gradient(145deg,#0A1929 0%,#0D47A1 55%,#1565C0 100%); }
.cbz-career-detail-pattern { background:repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1.5px,transparent 1.5px,transparent 20px); }
.cbz-career-badge-type { background:var(--cbz-orange);color:#fff; }
.cbz-career-badge-location { background:rgba(255,255,255,.15);color:#fff; }
.cbz-career-badge-deadline { background:var(--cbz-yellow);color:var(--cbz-dark); }
.cbz-career-detail-title { font-size:clamp(32px,6vw,60px);line-height:1.05; }
.cbz-whatsapp-button { background:#25D366;color:#fff; }
.cbz-public-form-honeypot { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }


/* PATCH 13H23: CSP enforcement runtime-state helpers (class/attribute only). */
[hidden] { display:none !important; }
.cbz-filter-enter { animation:fadeSlideUp .3s ease both; }
.cbz-dismiss-out { opacity:0 !important; transform:translateY(-8px) !important; pointer-events:none; transition:opacity .4s ease,transform .4s ease !important; }
.cbz-dismiss-out-fast { transition-duration:.2s !important; }
[data-tooltip] { position:relative; }
[data-tooltip]::after {
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  background:var(--cbz-dark);
  color:#fff;
  font-size:.75rem;
  font-weight:600;
  padding:.35rem .75rem;
  border-radius:6px;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,visibility .2s ease;
  z-index:9999;
}
[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after { opacity:1; visibility:visible; }

/* CBEZT PATCH 13H24 — dark-mode shell contrast polish. */
html.cbz-dark #cbzHamburger {
  border:1px solid rgba(148,163,184,.16);
  background:#102B47;
}
html.cbz-dark #cbzHamburger:hover { border-color:rgba(147,197,253,.32); background:#163553; }
html.cbz-dark #cbzHamburger .ham-bar {
  background:#F7FAFC !important;
  box-shadow:0 0 0 1px rgba(247,250,252,.08);
}
html.cbz-dark #cbzHamburger:focus-visible,
html.cbz-dark #cbzNavClose:focus-visible {
  outline:2px solid #FFD54F;
  outline-offset:2px;
}
html.cbz-dark #cbzNavClose { background:#102B47 !important; color:#93C5FD !important; }
html.cbz-dark #cbzNavClose:hover { background:#1565C0 !important; color:#fff !important; }

/* CBEZT PATCH 13H25 — compact mobile footer columns without changing Tailwind class surface. */
@media (max-width:767.98px) {
  .cbz-footer > .max-w-screen-xl:first-child {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:2rem 1.25rem !important;
    padding-top:2.75rem !important;
    padding-bottom:2.75rem !important;
  }
  .cbz-footer > .max-w-screen-xl:first-child > :first-child,
  .cbz-footer > .max-w-screen-xl:first-child > :last-child {
    grid-column:1 / -1;
  }
  .cbz-footer > .max-w-screen-xl:first-child > :nth-child(2),
  .cbz-footer > .max-w-screen-xl:first-child > :nth-child(3) {
    min-width:0;
  }
}

/* CBEZT PATCH 13H25G2 — custom landing pagination.
   Data attributes keep this custom-CSS component outside the Tailwind utility fingerprint. */
[data-cbz-pagination] {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  width:100%;
  min-width:0;
}
[data-cbz-pagination-pages] {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  min-width:0;
}
[data-cbz-pagination] [data-cbz-pagination-control],
[data-cbz-pagination] [data-cbz-pagination-page],
[data-cbz-pagination] [data-cbz-pagination-ellipsis],
[data-cbz-pagination] [data-cbz-pagination-status] {
  min-height:44px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
}
[data-cbz-pagination] [data-cbz-pagination-control],
[data-cbz-pagination] [data-cbz-pagination-page] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(21,101,192,.16);
  background:#fff;
  color:var(--cbz-blue);
  box-shadow:0 4px 14px rgba(21,101,192,.08);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
[data-cbz-pagination] [data-cbz-pagination-control] {
  gap:.4rem;
  padding:.72rem 1rem;
  white-space:nowrap;
}
[data-cbz-pagination] [data-cbz-pagination-page] {
  width:44px;
  padding:.72rem .45rem;
}
[data-cbz-pagination] [data-cbz-pagination-control]:hover,
[data-cbz-pagination] [data-cbz-pagination-page]:hover {
  border-color:rgba(21,101,192,.35);
  background:var(--cbz-blue-pale);
  color:var(--cbz-blue-dk);
  box-shadow:0 7px 20px rgba(21,101,192,.14);
  transform:translateY(-1px);
}
[data-cbz-pagination] [data-cbz-pagination-control]:focus-visible,
[data-cbz-pagination] [data-cbz-pagination-page]:focus-visible {
  outline:3px solid var(--cbz-yellow-lt);
  outline-offset:2px;
}
[data-cbz-pagination] [data-cbz-pagination-page][data-state="active"] {
  border-color:var(--cbz-blue);
  background:linear-gradient(135deg,var(--cbz-blue),var(--cbz-blue-dk));
  color:#fff;
  box-shadow:0 8px 20px rgba(21,101,192,.24);
}
[data-cbz-pagination] [data-cbz-pagination-control][data-state="disabled"] {
  border-color:rgba(84,110,122,.12);
  background:rgba(255,255,255,.62);
  color:rgba(84,110,122,.42);
  box-shadow:none;
  cursor:not-allowed;
}
[data-cbz-pagination] [data-cbz-pagination-ellipsis] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  color:var(--cbz-gray-lt);
}
[data-cbz-pagination] [data-cbz-pagination-icon] {
  width:18px;
  height:18px;
  flex:0 0 auto;
}
[data-cbz-pagination] [data-cbz-pagination-status] {
  display:none;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:.72rem .85rem;
  border:1px solid rgba(21,101,192,.12);
  background:var(--cbz-blue-xp);
  color:var(--cbz-dark2);
  text-align:center;
}
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-control],
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-page] {
  border-color:rgba(148,163,184,.18);
  background:#0D2034;
  color:#93C5FD;
  box-shadow:0 5px 18px rgba(0,0,0,.2);
}
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-control]:hover,
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-page]:hover {
  border-color:#287AC8;
  background:#163553;
  color:#fff;
}
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-page][data-state="active"] {
  border-color:#287AC8;
  background:linear-gradient(135deg,#1976D2,#0D47A1);
  color:#fff;
}
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-control][data-state="disabled"] {
  border-color:rgba(148,163,184,.1);
  background:rgba(13,32,52,.62);
  color:rgba(148,163,184,.42);
}
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-ellipsis] { color:#78909C; }
html.cbz-dark [data-cbz-pagination] [data-cbz-pagination-status] {
  border-color:rgba(148,163,184,.14);
  background:#102B47;
  color:#E3F2FD;
}
@media (max-width:639.98px) {
  [data-cbz-pagination] { gap:.5rem; }
  [data-cbz-pagination-pages] { display:none; }
  [data-cbz-pagination-status] { display:inline-flex; }
  [data-cbz-pagination-control] {
    width:44px;
    padding:.72rem;
  }
  [data-cbz-pagination-control-text] { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  [data-cbz-pagination-control],
  [data-cbz-pagination-page] { transition:none; }
}

/* ── PATCH 13H29D3: about main image responsive presentation ── */
.cbz-about-media {
  position:relative;
  width:min(100%, 34rem);
}
.cbz-about-media::before {
  content:"";
  position:absolute;
  inset:1.75rem -1rem auto 1.5rem;
  height:72%;
  border-radius:2.25rem;
  background:linear-gradient(145deg,rgba(21,101,192,.12),rgba(255,193,7,.12));
  filter:blur(24px);
  pointer-events:none;
}
.cbz-about-media-frame {
  position:relative;
  z-index:1;
  overflow:hidden;
  padding:.55rem;
  border:1px solid rgba(21,101,192,.14);
  border-radius:2rem;
  background:#fff;
  box-shadow:0 24px 60px rgba(10,25,41,.14);
}
.cbz-about-media-image {
  display:block;
  width:100%;
  height:auto;
  max-height:34rem;
  object-fit:contain;
  object-position:center;
  border-radius:1.55rem;
  background:#f7faff;
}
.cbz-about-media-meta {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:.75rem;
  margin-top:.8rem;
}
.cbz-about-media-fact {
  min-width:0;
  min-height:6.25rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(21,101,192,.12);
  border-radius:1.35rem;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 30px rgba(10,25,41,.09);
}
.cbz-about-media-fact-experience {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.75rem;
}
.cbz-about-media-fact-partner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.cbz-about-media-number {
  font-size:2.45rem;
  line-height:.9;
}
.cbz-about-media-label {
  margin-top:.35rem;
  color:#607d8b;
  font-size:.67rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cbz-about-media-partner-name {
  margin-top:.15rem;
  font-size:1.15rem;
  line-height:1.1;
  letter-spacing:.02em;
}
.cbz-about-media-asuh {
  display:grid;
  grid-template-columns:repeat(2,1.75rem);
  gap:.3rem;
  flex:0 0 auto;
}
.cbz-about-media-asuh span {
  display:inline-flex;
  width:1.75rem;
  height:1.75rem;
  align-items:center;
  justify-content:center;
  border-radius:.55rem;
  background:#eaf3ff;
  color:#1565c0;
  font-size:.68rem;
  font-weight:900;
}
html.cbz-dark .cbz-about-media-frame,
html.cbz-dark .cbz-about-media-fact {
  border-color:rgba(148,163,184,.18);
  background:#102b47;
}
html.cbz-dark .cbz-about-media-image { background:#0d2034; }
html.cbz-dark .cbz-about-media-label { color:#b0bec5; }
html.cbz-dark .cbz-about-media-partner-name { color:#f5f9ff; }
html.cbz-dark .cbz-about-media-asuh span {
  background:#163553;
  color:#93c5fd;
}
@media (max-width:639.98px) {
  .cbz-about-media { width:100%; }
  .cbz-about-media::before {
    inset:1rem .5rem auto .5rem;
    height:62%;
    filter:blur(18px);
  }
  .cbz-about-media-frame {
    padding:.4rem;
    border-radius:1.55rem;
    box-shadow:0 18px 42px rgba(10,25,41,.12);
  }
  .cbz-about-media-image {
    max-height:none;
    border-radius:1.2rem;
  }
  .cbz-about-media-meta {
    grid-template-columns:1fr;
    gap:.6rem;
    margin-top:.65rem;
  }
  .cbz-about-media-fact {
    min-height:0;
    padding:.9rem 1rem;
    border-radius:1.1rem;
  }
  .cbz-about-media-fact-experience,
  .cbz-about-media-fact-partner {
    align-items:center;
  }
  .cbz-about-media-number { font-size:2rem; }
}
@media (prefers-reduced-motion:reduce) {
  .cbz-about-media,
  .cbz-about-media-image { animation:none !important; }
}
