/* Kings Fusion Dining site styles */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #141414; }
::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #D4A359; }
.gold-gradient-text { background: linear-gradient(135deg, #FFF0D0 0%, #D4A359 50%, #B8860B 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.tab-btn.active { color: #D4A359; border-bottom: 2px solid #D4A359; background-color: rgba(212,163,89,.08); }
.hero-bg { background: linear-gradient(rgba(10,10,10,.78), rgba(20,20,20,.95)), url('https://images.unsplash.com/photo-1555396273-367ea4eb4db5?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat; }
.letseat-bg { background: linear-gradient(rgba(15,15,15,.88), rgba(15,15,15,.92)), url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat; }
/* Elementor/Astra full-screen page layout */
body.kfd-fullsite-page { background:#141414 !important; margin:0; }
body.kfd-fullsite-page #page, body.kfd-fullsite-page .site-content, body.kfd-fullsite-page .ast-container, body.kfd-fullsite-page .content-area, body.kfd-fullsite-page .site-main { width:100%; max-width:none; margin:0; padding:0; }
body.kfd-fullsite-page .ast-primary-header-bar, body.kfd-fullsite-page .ast-mobile-header-wrap, body.kfd-fullsite-page .ast-above-header-wrap, body.kfd-fullsite-page .ast-below-header-wrap, body.kfd-fullsite-page .site-footer { display:none !important; }
#kfd-site-root { background:#141414; color:#d4d4d8; min-height:100vh; width:100%; font-family:'Poppins',sans-serif; }
#kfd-site-root img { max-width:100%; }
#kfd-site-root a { text-decoration:none; }
#kfd-site-root button { cursor:pointer; }

/* Full-bleed fix: let the custom site escape Elementor's boxed content width. */
html:has(body.kfd-fullsite-page),
body.kfd-fullsite-page { width:100%; max-width:100%; overflow-x:hidden !important; }
body.kfd-fullsite-page .elementor,
body.kfd-fullsite-page .elementor-section-wrap,
body.kfd-fullsite-page .elementor-element,
body.kfd-fullsite-page .elementor-widget-wrap,
body.kfd-fullsite-page .e-con,
body.kfd-fullsite-page .e-con-inner { max-width:none; }
body.kfd-fullsite-page #kfd-site-root {
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box;
  overflow-x:clip;
}


/* Standardise all menu images across every category page. */
#kfd-site-root .menu-card { min-width: 0; }
#kfd-site-root .menu-card > div:first-child,
#kfd-site-root .menu-card .h-48 {
  height: 192px !important;
  min-height: 192px !important;
  max-height: 192px !important;
  flex: 0 0 192px !important;
  overflow: hidden !important;
  position: relative;
  aspect-ratio: 4 / 3;
}
#kfd-site-root .menu-card > div:first-child img,
#kfd-site-root .menu-card .h-48 img,
#kfd-site-root .menu-card img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}
/* Ensure menu header remains visible while visitors scroll. */
#kfd-site-root > header,
#kfd-site-root header.sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  width: 100%;
}
body.admin-bar #kfd-site-root > header,
body.admin-bar #kfd-site-root header.sticky { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar #kfd-site-root > header,
  body.admin-bar #kfd-site-root header.sticky { top: 46px !important; }
}
@media (max-width: 640px) {
  #kfd-site-root .menu-card > div:first-child,
  #kfd-site-root .menu-card .h-48 {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    flex-basis: 180px !important;
  }
}
/* Navigation is normal links for crawlable, separate pages. */
#kfd-site-root nav a { display:inline-flex; align-items:center; }
#kfd-site-root #mobile-menu a { display:block; }
#kfd-site-root [id^="tab-"] { display:block; }

/* v1.1.2 corrective layout: remove theme/Elementor top spacing on custom pages. */
body.kfd-fullsite-page,
body.kfd-fullsite-page #page,
body.kfd-fullsite-page #content,
body.kfd-fullsite-page .site-content,
body.kfd-fullsite-page .content-area,
body.kfd-fullsite-page .site-main,
body.kfd-fullsite-page article,
body.kfd-fullsite-page .entry-content,
body.kfd-fullsite-page .elementor,
body.kfd-fullsite-page .elementor-section-wrap,
body.kfd-fullsite-page .elementor-widget-shortcode,
body.kfd-fullsite-page .elementor-widget-shortcode .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.kfd-fullsite-page .entry-header,
body.kfd-fullsite-page .entry-title,
body.kfd-fullsite-page .ast-breadcrumbs-wrapper { display:none !important; }

/* Standard image frame whether the image is wrapped or is a direct card child. */
#kfd-site-root .menu-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
}
#kfd-site-root .menu-card > img,
#kfd-site-root .menu-card > div:first-child:has(> img) {
  display: block;
  width: 100% !important;
  height: 192px !important;
  min-height: 192px !important;
  max-height: 192px !important;
  flex: 0 0 192px !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3;
}
#kfd-site-root .menu-card > img {
  object-fit: cover !important;
  object-position: center center;
}
#kfd-site-root .menu-card > div:first-child:has(> img) img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}
#kfd-site-root .menu-card > div:not(:first-child) { min-width: 0; }
#kfd-site-root .menu-card .text-gold { color: #E5A823 !important; }
#kfd-site-root .menu-card .text-gold.font-bold,
#kfd-site-root .menu-card .font-bold.text-gold { font-weight: 700 !important; }

/* Keep the custom menu navigation pinned after it reaches the top of the viewport. */
#kfd-site-root > header,
#kfd-site-root header.sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 999999 !important;
  align-self: start;
}
#kfd-site-root { overflow: visible !important; }
#kfd-site-root main { min-width: 0; }
@media (max-width: 640px) {
  #kfd-site-root .menu-card > img,
  #kfd-site-root .menu-card > div:first-child:has(> img) {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    flex-basis: 180px !important;
  }
}


/* v1.1.4: robust fixed navigation and contained back-to-top icon. */
#kfd-site-root > header,
#kfd-site-root header.sticky {
  z-index: 999999 !important;
}
#kfd-site-root .kfd-header-spacer { flex: 0 0 auto; }
#kfd-site-root .kfd-back-to-top {
  width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important;
  padding: 0 !important; box-sizing: border-box !important; overflow: hidden !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  line-height: 1 !important; text-align: center !important;
}
#kfd-site-root .kfd-back-to-top i {
  display: block !important; width: 18px !important; height: 18px !important;
  line-height: 18px !important; margin: 0 !important; padding: 0 !important;
  position: static !important; transform: none !important; text-align: center !important;
}

/* Prevent theme/page-builder wrappers from clipping the fixed navigation. */
body.kfd-fullsite-page #kfd-site-root { overflow: visible !important; transform: none !important; }
body.kfd-fullsite-page #kfd-site-root > header.kfd-is-fixed { position: fixed !important; }
#kfd-site-root .kfd-back-to-top, #kfd-site-root .kfd-back-to-top * { box-sizing: border-box !important; }
#kfd-site-root .kfd-back-to-top i { font-size: 18px !important; }
