/* ================================================================
   Yatoon Service Menu - service-menu.css
   Mirrors the Bento menu plugin aesthetic (Uber Eats style)
   ================================================================ */

/* ── Reset ───────────────────────────────────────────────────────── */
#yatoon-svc-wrap,
#yatoon-svc-wrap * {
  box-sizing: border-box;
  font-family: 'Nunito', sans-serif;
}
#yatoon-svc-wrap img {
  width: auto !important; max-width: 100% !important;
  height: auto !important; display: block !important;
}
#yatoon-svc-wrap img.emoji {
  width: 16px !important; height: 16px !important;
  min-width: 0 !important; max-width: 16px !important;
  display: inline !important; vertical-align: middle !important;
}

/* ── Wrapper - transparent like .sbs-booking-container ──────────── */
#yatoon-svc-wrap {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 30px 20px !important;
  color: #1a1a1a !important;
  background: transparent !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Inner white card - like .sbs-booking-main */
#yatoon-svc-wrap .ysm-inner {
  background: var(--sbs-card-bg, #fff) !important;
  border-radius: 8px !important;
  padding: 30px !important;
}

/* ── Search ──────────────────────────────────────────────────────── */
#yatoon-svc-wrap .ysm-search-wrap {
  padding: 0 0 10px !important;
  margin: 0 !important;
}
#yatoon-svc-wrap .ysm-search-box {
  display: flex !important; align-items: center !important; gap: 10px !important;
  background: #f5f5f5 !important; border-radius: 10px !important;
  padding: 8px 14px !important; border: 1.5px solid #f5f5f5 !important;
}
#yatoon-svc-wrap .ysm-search-box:focus-within {
  background: var(--sbs-card-bg, #fff) !important; border-color: #ddd !important;
}
#yatoon-svc-wrap .ysm-search-icon { font-size: 15px !important; flex-shrink: 0 !important; }
#yatoon-svc-wrap .ysm-search-input {
  flex: 1 !important; border: none !important; background: transparent !important;
  font-size: 16px !important; outline: none !important; color: #111 !important;
  padding: 0 !important; margin: 0 !important; box-shadow: none !important;
  -webkit-text-size-adjust: 100% !important;
}
#yatoon-svc-wrap .ysm-search-input::placeholder { color: #aaa !important; }
#yatoon-svc-wrap .ysm-search-clear {
  display: none !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  color: #aaa !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: normal !important;
}
#yatoon-svc-wrap .ysm-search-clear.visible {
  display: block !important;
}

/* ── Category nav ────────────────────────────────────────────────── */
#yatoon-svc-wrap .ysm-cat-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  background: var(--sbs-card-bg, #fff) !important;
  border-bottom: 1px solid #ebebeb !important;
  margin: 0 !important; padding: 0 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
  transition: box-shadow 0.25s ease !important;
}
#yatoon-svc-wrap .ysm-cat-nav.is-stuck {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
}
#yatoon-svc-wrap .ysm-cat-nav-row {
  display: flex !important; align-items: stretch !important;
}
#yatoon-svc-wrap .ysm-cat-nav-inner {
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
  gap: 0 !important; overflow-x: auto !important; scrollbar-width: none !important;
  -ms-overflow-style: none !important; padding: 0 !important; margin: 0 !important;
  list-style: none !important; align-items: stretch !important; flex: 1 !important;
  scroll-behavior: smooth !important;
}
#yatoon-svc-wrap .ysm-cat-nav-inner::-webkit-scrollbar { display: none !important; }
#yatoon-svc-wrap .ysm-cat-nav-inner li { list-style: none !important; margin: 0 !important; padding: 0 !important; }

/* Arrows and hamburger icon - hidden by default, JS shows when overflow detected */
#yatoon-svc-wrap .ysm-cat-prev,
#yatoon-svc-wrap .ysm-cat-next {
  display: none;
  align-items: center !important; justify-content: center !important;
  width: 36px !important; flex-shrink: 0 !important;
  background: var(--sbs-card-bg, #fff) !important; border: none !important; cursor: pointer !important;
  color: #333 !important; font-size: 22px !important; font-weight: 300 !important;
  transition: background .15s, opacity .15s !important; padding: 0 !important;
  border-top: none !important; border-bottom: none !important;
}
#yatoon-svc-wrap .ysm-cat-prev { border-left: 1px solid #ebebeb !important; border-right: none !important; }
#yatoon-svc-wrap .ysm-cat-next { border-right: 1px solid #ebebeb !important; border-left: none !important; }
#yatoon-svc-wrap .ysm-cat-arrow:hover { background: #f5f5f5 !important; }
#yatoon-svc-wrap .ysm-cat-arrow:disabled { opacity: 0.25 !important; cursor: default !important; }

#yatoon-svc-wrap .ysm-cat-nav-icon {
  display: none;
  align-items: center !important; justify-content: center !important;
  width: 48px !important; flex-shrink: 0 !important;
  border-left: 1px solid #ebebeb !important; cursor: pointer !important;
  background: none !important; border-top: none !important;
  border-right: none !important; border-bottom: none !important;
  color: #444 !important; font-size: 18px !important; padding: 0 !important;
}
#yatoon-svc-wrap .ysm-cat-nav-icon:hover { background: #fafafa !important; }

#yatoon-svc-wrap .ysm-cat-tab {
  display: inline-flex !important; align-items: center !important;
  padding: 14px 18px !important; font-size: 14px !important; font-weight: 700 !important;
  color: #888 !important; white-space: nowrap !important; flex-shrink: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-top: none !important; border-right: none !important; border-left: none !important;
  background: none !important; cursor: pointer !important; line-height: 1.2 !important;
  margin: 0 !important; transition: color .15s !important; text-decoration: none !important;
}
#yatoon-svc-wrap .ysm-cat-tab:hover { color: #111 !important; }
#yatoon-svc-wrap .ysm-cat-tab.active {
  color: #111 !important; border-bottom-color: #111 !important;
}

/* Mobile hamburger */
#yatoon-svc-wrap .ysm-cat-hamburger {
  display: none !important; align-items: center !important;
  gap: 10px !important; padding: 12px 16px !important;
  font-size: 14px !important; font-weight: 700 !important; color: #111 !important;
  cursor: pointer !important; border: none !important; background: none !important;
  width: 100% !important;
}
#yatoon-svc-wrap .ysm-cat-hamburger-label { flex: 1 !important; text-align: right !important; }
#yatoon-svc-wrap .ysm-cat-hamburger-arrow { font-size: 11px !important; color: #aaa !important; }

/* Mobile dropdown */
#yatoon-svc-wrap .ysm-cat-dropdown {
  list-style: none !important; margin: 0 !important; padding: 8px 0 !important;
  border-top: 1px solid #ebebeb !important; background: var(--sbs-card-bg, #fff) !important;
}
#yatoon-svc-wrap .ysm-cat-dropdown li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
#yatoon-svc-wrap .ysm-cat-dropdown-item {
  display: block !important; width: 100% !important; text-align: right !important;
  padding: 12px 16px !important; font-size: 15px !important; font-weight: 600 !important;
  color: #555 !important; background: none !important; border: none !important;
  cursor: pointer !important;
}
#yatoon-svc-wrap .ysm-cat-dropdown-item.active { color: #111 !important; font-weight: 800 !important; }
#yatoon-svc-wrap .ysm-cat-dropdown-item:hover { background: #f5f5f5 !important; }

/* Responsive: switch desktop/mobile nav */
@media (max-width: 640px) {
  #yatoon-svc-wrap .ysm-cat-nav-row   { display: none !important; }
  #yatoon-svc-wrap .ysm-cat-hamburger { display: flex !important; }
}
@media (min-width: 641px) {
  #yatoon-svc-wrap .ysm-cat-hamburger { display: none !important; }
  #yatoon-svc-wrap .ysm-cat-nav-row   { display: flex !important; }
  #yatoon-svc-wrap .ysm-cat-dropdown  { display: none !important; }
}

/* ── Section ──────────────────────────────────────────────────────── */
#yatoon-svc-wrap .ysm-menu-body { padding: 0 !important; }
#yatoon-svc-wrap .ysm-section {
  padding: 12px 0 4px !important;
  scroll-margin-top: 80px !important;
  margin: 0 !important; border: none !important;
}

/* Two-column grid on wide screens */
@media (min-width: 900px) {
  #yatoon-svc-wrap .ysm-items-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 40px !important;
  }
  #yatoon-svc-wrap .ysm-item {
    border-bottom: 1px solid #f0f0f0 !important;
  }
}
#yatoon-svc-wrap .ysm-section-title {
  font-size: 22px !important; font-weight: 700 !important; color: #111 !important;
  padding: 0 0 14px !important; margin: 0 !important;
  border: none !important; border-bottom: 1px solid #ebebeb !important;
  background: none !important; line-height: 1.3 !important;
}

/* ── Items list ───────────────────────────────────────────────────── */
#yatoon-svc-wrap .ysm-items-list {
  display: flex !important; flex-direction: column !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
#yatoon-svc-wrap .ysm-item {
  display: flex !important; flex-direction: row !important;
  justify-content: space-between !important; align-items: center !important;
  gap: 16px !important; padding: 16px 0 !important;
  border: none !important; border-bottom: 1px solid #f0f0f0 !important;
  background: var(--sbs-card-bg, #fff) !important; margin: 0 !important; list-style: none !important;
}
#yatoon-svc-wrap .ysm-item:last-child { border-bottom: none !important; }
#yatoon-svc-wrap .ysm-item.hidden { display: none !important; }
#yatoon-svc-wrap .ysm-item-link {
  color: inherit !important; text-decoration: none !important;
  display: flex !important; flex-direction: row !important;
  justify-content: space-between !important; align-items: center !important;
  gap: 16px !important; width: 100% !important;
}

#yatoon-svc-wrap .ysm-item-info {
  flex: 1 1 auto !important; min-width: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 3px !important;
}
#yatoon-svc-wrap .ysm-item-name {
  font-size: 16px !important; font-weight: 700 !important; color: #111 !important;
  margin: 0 !important; padding: 0 !important; line-height: 1.3 !important;
}
/* Duration sits directly under the name as its own line */
#yatoon-svc-wrap .ysm-item-duration {
  font-size: 13px !important; color: #aaa !important; font-weight: 600 !important;
  margin: 0 !important; padding: 0 !important; line-height: 1.4 !important;
  display: block !important;
}
/* Description flows below duration, clamped to 2 lines */
#yatoon-svc-wrap .ysm-item-desc {
  font-size: 13px !important; color: #888 !important; line-height: 1.5 !important;
  margin: 2px 0 0 !important; padding: 0 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
}
#yatoon-svc-wrap .ysm-item-meta {
  display: flex !important; align-items: center !important; gap: 10px !important;
  margin: 4px 0 0 !important; padding: 0 !important;
}
#yatoon-svc-wrap .ysm-item-price {
  font-size: 14px !important; font-weight: 700 !important; color: #111 !important;
}
#yatoon-svc-wrap .ysm-item-img-wrap {
  flex: 0 0 100px !important; width: 100px !important; height: 100px !important;
  border-radius: 10px !important; overflow: hidden !important; display: block !important;
}
#yatoon-svc-wrap .ysm-item-img {
  width: 100px !important; height: 100px !important; max-width: 100px !important;
  min-width: 100px !important; object-fit: cover !important;
  border-radius: 10px !important; display: block !important;
}
#yatoon-svc-wrap .ysm-item-no-img {
  background: #f5f5f5 !important;
  width: 100px !important; height: 100px !important; border-radius: 10px !important;
}

/* ── Search results label ──────────────────────────────────────────── */
#yatoon-svc-wrap .ysm-section-label {
  font-size: 11px !important; font-weight: 700 !important; color: #aaa !important;
  text-transform: uppercase !important; letter-spacing: .8px !important;
  padding: 12px 0 10px !important; margin: 0 !important;
}

/* ── Featured carousel ────────────────────────────────────────────── */
#yatoon-svc-wrap .ysm-featured-wrap {
  margin: 0 0 20px !important; padding: 0 0 4px !important;
}
#yatoon-svc-wrap .ysm-featured-header {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; margin-bottom: 14px !important;
}
#yatoon-svc-wrap .ysm-featured-title {
  font-size: 20px !important; font-weight: 800 !important; color: #111 !important;
  margin: 0 !important; padding: 0 !important; border: none !important; background: none !important;
}
#yatoon-svc-wrap .ysm-featured-arrows { display: flex !important; gap: 8px !important; }
#yatoon-svc-wrap .ysm-feat-arrow {
  width: 32px !important; height: 32px !important; border-radius: 50% !important;
  border: 1.5px solid #ddd !important; background: var(--sbs-card-bg, #fff) !important;
  font-size: 18px !important; cursor: pointer !important; color: #444 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: box-shadow .15s !important; padding: 0 !important; line-height: 1 !important;
}
#yatoon-svc-wrap .ysm-feat-arrow:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important; }
#yatoon-svc-wrap .ysm-feat-arrow:disabled { opacity: 0.3 !important; cursor: default !important; }

#yatoon-svc-wrap .ysm-featured-track {
  display: flex !important; flex-direction: row !important; gap: 14px !important;
  overflow-x: auto !important; scroll-behavior: smooth !important;
  scrollbar-width: none !important; -ms-overflow-style: none !important;
  padding-bottom: 12px !important;
}
#yatoon-svc-wrap .ysm-featured-track::-webkit-scrollbar { display: none !important; }

#yatoon-svc-wrap .ysm-feat-card {
  flex: 0 0 160px !important; width: 160px !important; cursor: default !important;
  color: inherit !important; text-decoration: none !important;
  transition: transform .15s !important;
}
#yatoon-svc-wrap .ysm-feat-card:hover { transform: translateY(-2px) !important; }

#yatoon-svc-wrap .ysm-feat-img-wrap {
  width: 160px !important; height: 140px !important;
  border-radius: 14px !important; overflow: hidden !important;
  margin-bottom: 10px !important; background: #f5f5f5 !important;
}
#yatoon-svc-wrap .ysm-feat-img {
  width: 160px !important; height: 140px !important;
  object-fit: cover !important; display: block !important; border-radius: 14px !important;
}
#yatoon-svc-wrap .ysm-feat-no-img {
  width: 160px !important; height: 140px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; font-size: 48px !important;
  background: #f5f5f5 !important;
}
#yatoon-svc-wrap .ysm-feat-name {
  font-size: 14px !important; font-weight: 700 !important; color: #111 !important;
  margin: 0 0 3px !important; padding: 0 !important;
  white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
#yatoon-svc-wrap .ysm-feat-price {
  font-size: 13px !important; color: #555 !important;
  font-weight: 600 !important; margin: 0 !important; padding: 0 !important;
}

@media (max-width: 480px) {
  #yatoon-svc-wrap .ysm-feat-card { flex: 0 0 140px !important; width: 140px !important; }
  #yatoon-svc-wrap .ysm-feat-img-wrap { width: 140px !important; height: 120px !important; }
  #yatoon-svc-wrap .ysm-feat-img { width: 140px !important; height: 120px !important; }
  #yatoon-svc-wrap .ysm-feat-no-img { width: 140px !important; height: 120px !important; }
  #yatoon-svc-wrap .ysm-item-img-wrap { flex: 0 0 80px !important; width: 80px !important; height: 80px !important; }
  #yatoon-svc-wrap .ysm-item-img { width: 80px !important; height: 80px !important; max-width: 80px !important; min-width: 80px !important; }
  #yatoon-svc-wrap .ysm-section { scroll-margin-top: 80px !important; }
}

/* ================================================================
   4.8.7 UI Polish: modern menu surface and easier scanning
   ================================================================ */
#yatoon-svc-wrap {
  color: #111827 !important;
}

#yatoon-svc-wrap .ysm-inner {
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .06) !important;
}

#yatoon-svc-wrap .ysm-search-box {
  background: #f8fafc !important;
  border-color: #e5e7eb !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
}

#yatoon-svc-wrap .ysm-search-box:focus-within {
  border-color: #111827 !important;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, .08) !important;
}

#yatoon-svc-wrap .ysm-cat-nav {
  border-bottom-color: #eef2f7 !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .04) !important;
}

#yatoon-svc-wrap .ysm-cat-nav-row {
  align-items: center !important;
}

#yatoon-svc-wrap .ysm-cat-nav-inner {
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
}

#yatoon-svc-wrap .ysm-cat-nav-inner li {
  display: flex !important;
  align-items: center !important;
}

#yatoon-svc-wrap .ysm-cat-tab {
  min-height: 38px !important;
  padding: 8px 17px !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .05) !important;
  transition: background .15s, color .15s, border-color .15s, box-shadow .15s !important;
}

#yatoon-svc-wrap .ysm-cat-tab:hover {
  color: #111827 !important;
  border-color: #cbd5e1 !important;
}

#yatoon-svc-wrap .ysm-cat-tab.active {
  background: #050505 !important;
  border-color: #050505 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .15) !important;
}

#yatoon-svc-wrap .ysm-section-title,
#yatoon-svc-wrap .ysm-featured-title {
  color: #111827 !important;
  letter-spacing: 0 !important;
}

#yatoon-svc-wrap .ysm-item {
  align-items: flex-start !important;
  padding: 18px 0 !important;
  border-bottom-color: #eef2f7 !important;
}

#yatoon-svc-wrap .ysm-item-name {
  color: #111827 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

#yatoon-svc-wrap .ysm-item-desc {
  color: #6b7280 !important;
  font-size: 13.5px !important;
}

#yatoon-svc-wrap .ysm-item-price {
  color: #374151 !important;
  font-weight: 600 !important;
}

#yatoon-svc-wrap .ysm-item-img-wrap,
#yatoon-svc-wrap .ysm-item-img,
#yatoon-svc-wrap .ysm-item-no-img,
#yatoon-svc-wrap .ysm-feat-img-wrap,
#yatoon-svc-wrap .ysm-feat-img,
#yatoon-svc-wrap .ysm-feat-no-img {
  border-radius: 14px !important;
}

#yatoon-svc-wrap .ysm-feat-card {
  cursor: pointer !important;
}

#yatoon-svc-wrap .ysm-feat-name {
  color: #111827 !important;
  font-weight: 800 !important;
}

#yatoon-svc-wrap .ysm-feat-price {
  color: #4b5563 !important;
  font-weight: 600 !important;
}

@media (max-width: 640px) {
  #yatoon-svc-wrap {
    padding: 16px 10px !important;
  }

  #yatoon-svc-wrap .ysm-inner {
    padding: 18px 14px !important;
    border-right: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #yatoon-svc-wrap .ysm-cat-hamburger {
    border-radius: 999px !important;
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    margin: 8px 0 !important;
  }

  #yatoon-svc-wrap .ysm-item {
    gap: 12px !important;
  }

  #yatoon-svc-wrap .ysm-item-link {
    gap: 12px !important;
  }
}

/* ================================================================
   Final cleanup: remove ALL borders, lines, shadows
   Category tab borders are restored individually below.
   ================================================================ */
#yatoon-svc-wrap *,
#yatoon-svc-wrap li,
#yatoon-svc-wrap ul,
#yatoon-svc-wrap .ysm-inner,
#yatoon-svc-wrap .ysm-item,
#yatoon-svc-wrap .ysm-cat-nav,
#yatoon-svc-wrap .ysm-section-title,
#yatoon-svc-wrap .ysm-search-wrap {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-right: none !important;
  border-left: none !important;
  box-shadow: none !important;
}

#yatoon-svc-wrap .ysm-search-empty {
  padding: 40px 16px !important;
  color: #6b7280 !important;
  text-align: center !important;
}

#yatoon-svc-wrap button:focus-visible,
#yatoon-svc-wrap a:focus-visible,
#yatoon-svc-wrap input:focus-visible {
  outline: 3px solid rgba(17, 24, 39, .28) !important;
  outline-offset: 3px !important;
}

/* Restore category tab pill borders + active state */
#yatoon-svc-wrap .ysm-cat-tab {
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #374151 !important;
}
#yatoon-svc-wrap .ysm-cat-tab.active,
#yatoon-svc-wrap .ysm-cat-tab.active:link,
#yatoon-svc-wrap .ysm-cat-tab.active:visited,
#yatoon-svc-wrap .ysm-cat-tab.active:hover,
#yatoon-svc-wrap .ysm-cat-tab.active *,
body #yatoon-svc-wrap .ysm-cat-tab.active {
  background: #050505 !important;
  border-color: #050505 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
  -webkit-text-fill-color: #ffffff !important;
}

#yatoon-svc-wrap .ysm-cat-tab:hover,
#yatoon-svc-wrap .ysm-cat-tab:focus-visible {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #fff !important;
}
