/*!
Theme Name: nFuze
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* ============================================================
   Blues Restaurant Group — Design tokens
   Color tokens alias Kadence's global palette so Customizer
   edits stay in sync; extra brand hues/fonts/spacing added here.
   ============================================================ */
:root {
  /* ---- Font families ---- */
  --font-display: "DM Serif Display", "Hoefler Text", Georgia, serif;
  --font-sans:    "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-script:  "Caveat", "Hanken Grotesk", cursive;
  --font-cond:    "Oswald", "Hanken Grotesk", sans-serif;

  /* ---- Fluid display sizes ---- */
  --fs-display-xl: clamp(3.5rem, 7vw, 6.5rem);
  --fs-display-l:  clamp(2.75rem, 5vw, 4.5rem);
  --fs-display-m:  clamp(2rem, 3.4vw, 3rem);
  --fs-h1: clamp(2rem, 3vw, 2.75rem);
  --fs-h2: clamp(1.5rem, 2.2vw, 2rem);
  --fs-h3: 1.5rem;
  --fs-h4: 1.25rem;
  --fs-lead: 1.25rem;
  --fs-body: 1.0625rem;
  --fs-sm: 0.9375rem;
  --fs-xs: 0.8125rem;
  --fs-eyebrow: 0.78rem;
  --tracking-eyebrow: 0.18em;
  --tracking-wide: 0.08em;
  --fw-light: 300; --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;
  --lh-tight: 1.04; --lh-snug: 1.18; --lh-body: 1.62; --lh-relaxed: 1.75;

  /* ---- Paper / neutrals ---- */
  --paper-50: #FBF6EA; --paper-100: #F6EFE0; --paper-200: #EFE6D3;
  --paper-300: #E4D8BF; --paper-400: #D6C7A8; --paper-500: #C2B08C;
  /* ---- Ink ---- */
  --ink-900: #14202F; --ink-800: #1B2C40; --ink-700: #29415F;
  --ink-500: #4A6788; --ink-300: #8497AB;
  /* ---- Blues blue ---- */
  --blue-700: #2F4D6E; --blue-600: #3E5C80; --blue-500: #5277A0;
  --blue-200: #B9C9DA; --blue-100: #DCE6EF;
  /* ---- Warm accents ---- */
  --terracotta: #B0552F; --terracotta-soft: #CD9374;
  --ochre: #C28B2C; --ochre-soft: #E0C079;
  --olive: #6E7344; --sage: #8C9B7A; --seaglass: #7FA99B;
  --coral: #C56A5C; --oxblood: #7A3B2E;
  --white: #FFFFFF; --black: #0E1620;

  /* ---- Semantic aliases (tie to Kadence palette where possible) ---- */
  --surface-page: var(--global-palette9, #EFE6D3);
  --surface-card: var(--global-palette8, #F6EFE0);
  --surface-raised: var(--paper-50);
  --surface-sand: var(--global-palette7, #E4D8BF);
  --surface-ink: var(--global-palette3, #1B2C40);
  --surface-ink-deep: var(--ink-900);
  --text-strong: var(--global-palette3, #1B2C40);
  --text-body: var(--global-palette4, #29415F);
  --text-muted: var(--global-palette5, #4A6788);
  --text-on-ink: var(--paper-100);
  --text-on-ink-mut: #9DB0C4;
  --brand: var(--global-palette1, #3E5C80);
  --brand-strong: var(--global-palette2, #2F4D6E);
  --accent-warm: var(--global-palette6, #B0552F);
  --accent-gold: var(--global-palette10, #C28B2C);
  --border-soft: #DBCDB1; --border-strong: var(--ink-800);
  --border-on-ink: rgba(246,239,224,0.16); --focus-ring: var(--blue-600);
  --success: #5C7A4E; --error: #A8412E; --info: var(--blue-600);

  /* ---- Spacing / radius / shadow / motion / layout ---- */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --space-section: clamp(64px, 9vw, 128px);
  --radius-xs:2px; --radius-sm:4px; --radius-md:8px; --radius-lg:14px; --radius-xl:22px; --radius-pill:999px;
  --border-hair:1px; --border-drawn:2px;
  --shadow-xs:0 1px 2px rgba(20,32,47,0.06); --shadow-sm:0 2px 8px rgba(20,32,47,0.08);
  --shadow-md:0 10px 28px -12px rgba(20,32,47,0.20); --shadow-lg:0 28px 60px -24px rgba(20,32,47,0.34);
  --shadow-ink:0 18px 40px -18px rgba(20,32,47,0.55);
  --ease-out:cubic-bezier(0.22,1,0.36,1); --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --dur-fast:140ms; --dur-base:240ms; --dur-slow:420ms;
  --maxw-page:1240px; --maxw-prose:680px; --gutter:clamp(20px,5vw,64px); --header-h:76px;
}

/* ============================================================
   Brand helper classes (usable via Kadence Blocks "Advanced > CSS class")
   ============================================================ */
.blues-eyebrow {
  font-family: var(--font-sans) !important;
  font-size: var(--fs-eyebrow); font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase;
}
.blues-script {
  font-family: var(--font-script) !important;
  font-weight: 600; letter-spacing: 0;
}
.blues-cond { font-family: var(--font-cond) !important; }
.blues-display { font-family: var(--font-display) !important; font-weight: 400; }
.blues-dotgrid {
  background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 6px 6px;
}
::selection { background: var(--ochre-soft); color: var(--ink-900); }

/* Headings use the display serif site-wide (Kadence heading font also set). */
h1, h2, h3, .entry-title { letter-spacing: -0.01em; }

/* ============================================================
   Single-venue template (Kadence Element) — accent-driven,
   reads --venue-accent / --venue-accent-soft / --venue-ink
   injected per venue by the child theme.
   ============================================================ */
.venue-hero{
  position:relative; min-height:76vh; display:flex; align-items:flex-end;
  background:linear-gradient(160deg, var(--venue-accent) 0%, var(--venue-ink) 78%);
  overflow:hidden; margin-top:calc(-1 * var(--header-h)); padding:var(--header-h) 0 clamp(40px,7vh,90px);
}
.venue-hero .kt-inside-inner-col{position:relative; z-index:2;}
.venue-hero .jet-listing-dynamic-image__img,
.venue-hero img{filter:invert(1) brightness(1.8); height:clamp(90px,15vh,150px); max-width:70%; width:auto; margin-bottom:20px;}
.venue-hero-tags{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
.venue-hero-tags .jet-listing-dynamic-field__content{
  display:inline-block; background:rgba(246,239,224,0.12); color:var(--paper-50);
  border:1px solid rgba(246,239,224,0.25); border-radius:var(--radius-pill);
  padding:5px 14px; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:600;
}
.venue-hero-tagline .jet-listing-dynamic-field__content,
.venue-hero-tagline{font-family:var(--font-display); color:var(--paper-50);
  font-size:clamp(1.5rem,2.6vw,2.4rem); line-height:1.18; max-width:720px; margin:0;}

/* accent buttons across the template */
.venue-btn-accent .kt-btn-inner-text, .venue-btn-accent a{background:var(--venue-accent)!important; border-color:var(--venue-accent)!important; color:var(--paper-50)!important;}
.venue-accent-text, .venue-accent-text .jet-listing-dynamic-field__content{color:var(--venue-accent)!important;}

/* details card */
.venue-details-card{background:var(--surface-card); border:1px solid var(--border-soft);
  border-radius:var(--radius-lg); padding:26px 28px;}
.venue-details-card .jet-listing-dynamic-field{display:flex; justify-content:space-between; gap:16px;
  padding:12px 0; border-bottom:1px solid var(--border-soft); font-size:0.95rem; color:var(--ink-800);}
.venue-details-card .jet-listing-dynamic-field__label{font-size:0.72rem; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--ink-500); font-weight:600;}

/* menu */
.venue-menu-list .jet-listing-dynamic-repeater__item{padding:12px 0; border-bottom:1px solid var(--border-soft);}
.venue-menu-list .m-name{font-family:var(--font-display); font-size:1.15rem; color:var(--ink-800);}
.venue-menu-list .m-price{font-weight:600; color:var(--venue-accent); float:right;}
.venue-menu-list .m-cat{font-family:var(--font-cond); text-transform:uppercase; letter-spacing:0.06em;
  color:var(--venue-accent); font-size:0.72rem; display:block;}
.venue-menu-list .m-desc{font-size:0.92rem; color:var(--ink-500); margin-top:2px;}

/* gallery */
.venue-gallery .jet-listing-dynamic-repeater__items{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.venue-gallery img{width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:var(--radius-lg); display:block;}
@media (max-width:767px){ .venue-gallery .jet-listing-dynamic-repeater__items{grid-template-columns:1fr 1fr;} }

/* reviews (dark section) */
.venue-reviews{background:var(--surface-ink-deep);}
.venue-reviews .jet-listing-dynamic-repeater__items{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.venue-reviews figure, .venue-reviews .jet-listing-dynamic-repeater__item{margin:0; background:rgba(246,239,224,0.06);
  border:1px solid var(--border-on-ink); border-radius:var(--radius-lg); padding:22px;}
.venue-reviews .r-quote{font-family:var(--font-display); font-size:1.15rem; line-height:1.3; color:var(--paper-50);}
.venue-reviews .r-name{margin-top:14px; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-on-ink-mut); font-weight:600;}
.venue-reviews .r-stars{color:var(--venue-accent-soft); letter-spacing:1px; margin-bottom:10px;}
@media (max-width:1024px){ .venue-reviews .jet-listing-dynamic-repeater__items{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .venue-reviews .jet-listing-dynamic-repeater__items{grid-template-columns:1fr;} }

/* ============================================================
   Home page + shared marketing sections
   ============================================================ */
.bg-ink{ background:var(--surface-ink-deep); }
.bg-sand{ background:var(--surface-sand); }
.bg-card{ background:var(--surface-card); }
.sec-pad > .kt-row-column-wrap{ padding-top:var(--space-section)!important; padding-bottom:var(--space-section)!important; }

/* Hero */
.home-hero{ background:linear-gradient(160deg,#2F4D6E 0%,#14202F 70%); position:relative; overflow:hidden; }
.home-hero > .kt-row-column-wrap{ min-height:88vh; align-content:end; padding:calc(var(--header-h) + 40px) 0 clamp(56px,9vh,120px)!important; }
.home-hero .kadence-advancedheading, .home-hero h1, .home-hero p{ color:var(--paper-50)!important; }
.home-hero .eyebrow-light{ color:var(--text-on-ink-mut)!important; }
.on-ink .kadence-advancedheading, .on-ink h2, .on-ink h3, .on-ink p{ color:var(--paper-50); }

/* Eyebrow style for advanced headings tagged .eyebrow */
.kb-eyebrow{ font-family:var(--font-sans)!important; font-size:var(--fs-eyebrow)!important; font-weight:600!important;
  letter-spacing:var(--tracking-eyebrow)!important; text-transform:uppercase!important; color:var(--brand); }
.on-ink .kb-eyebrow, .home-hero .kb-eyebrow{ color:var(--text-on-ink-mut)!important; }
.script-accent{ font-family:var(--font-script)!important; color:var(--ochre-soft)!important; }

/* stat cards */
.stat-card{ background:var(--surface-card); border:1px solid var(--border-soft); border-radius:var(--radius-lg); padding:26px 24px; text-align:left; }
.stat-num .kadence-advancedheading, .stat-num{ font-family:var(--font-display)!important; font-size:2.6rem!important; color:var(--brand)!important; line-height:1!important; }
.stat-lab{ font-size:0.74rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-500); font-weight:600; }

/* featured banner */
.feat-banner{ border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-md);
  background:linear-gradient(150deg,#2F5D7C 0%,#14202F 95%); }
.feat-banner .kadence-advancedheading, .feat-banner h3, .feat-banner p{ color:var(--paper-50)!important; }
.feat-logo img{ filter:invert(1) brightness(1.85); max-width:60%; max-height:200px; margin:0 auto; display:block; }

/* venue cards */
.vcard{ background:var(--surface-card); border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-xs); }
.vcard-top{ aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; }
.vcard-top img{ max-width:52%; max-height:64%; filter:invert(1) brightness(1.8); }
.vcard-body{ padding:20px 22px; }

/* city tiles */
.city-tile{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:5/4; display:flex; align-items:flex-end; padding:22px; }
.city-tile .kadence-advancedheading, .city-tile h3{ color:var(--paper-50)!important; position:relative; z-index:2; }

/* private events CTA */
.cta-split{ border-radius:var(--radius-xl); overflow:hidden; border:1px solid var(--border-soft); box-shadow:var(--shadow-md); }
.cta-media{ background:linear-gradient(150deg,#7A3B2E 0%,#14202F 120%); min-height:360px; }

/* Press + FAQ + About pages */
.press-card{ background:var(--surface-card); border:1px solid var(--border-soft); border-radius:var(--radius-lg); padding:26px 24px; height:100%; }
.press-outlet{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:0.08em; color:var(--brand); font-size:0.8rem; margin-bottom:10px; }
.press-quote .kadence-advancedheading, .press-quote{ font-family:var(--font-display)!important; font-size:1.25rem!important; line-height:1.3!important; color:var(--ink-800)!important; margin-bottom:14px!important; }
.award-list{ margin-top:28px; }
.award-row{ display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--border-soft); flex-wrap:wrap; }
.award-name{ font-family:var(--font-display); font-size:1.2rem; color:var(--ink-800); }
.award-org{ font-size:0.85rem; letter-spacing:0.06em; color:var(--ink-500); text-transform:uppercase; }

/* Form pages */
.form-card{ background:var(--surface-card); border:1px solid var(--border-soft); border-radius:var(--radius-lg); padding:32px 30px; }
.contact-info p{ margin:0 0 16px; color:var(--text-body); } .contact-info strong{ color:var(--ink-800); font-family:var(--font-cond); text-transform:uppercase; letter-spacing:0.06em; font-size:0.8rem; }

/* ============================================================
   Footer — dark, light text (overrides Kadence heading palette)
   ============================================================ */
.site-footer .kadence-advancedheading,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer p,
.site-footer .footer-widget-area-inner { color: var(--paper-100) !important; }
.site-footer .footer-widget1 .kadence-advancedheading:first-child { color: var(--paper-50) !important; font-size: 1.5rem; }
.site-footer p { color: var(--text-on-ink-mut) !important; }
/* Widget titles: VENUES / DISCOVER / COMPANY */
.site-footer .widget-title {
  color: var(--text-on-ink-mut) !important;
  font-family: var(--font-sans) !important; font-size: 0.72rem !important; font-weight: 600 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important; margin-bottom: 16px !important;
}
/* Menu links */
.site-footer a { color: var(--paper-100) !important; text-decoration: none; transition: color 140ms ease; }
.site-footer a:hover { color: var(--ochre-soft) !important; }
.site-footer .footer-widget-area li { margin-bottom: 9px; list-style: none; }
.site-footer .footer-widget-area ul { padding-left: 0; margin: 0; }
.site-footer-bottom-section-1, .site-footer-bottom-section-1 * { color: var(--text-on-ink-mut) !important; }

/* Newsletter form in footer — blend with dark background */
.site-footer .footer-widget5 { max-width: 460px; margin: 0 auto; text-align: center; }
.site-footer .footer-widget5 .kadence-advancedheading:first-child { color: var(--paper-50) !important; font-size: 1.6rem; }
.site-footer .srfm-form-container.srfm-bg-color { background: transparent !important; border: none !important; padding: 0 !important; }
.site-footer .srfm-block-label { color: var(--text-on-ink-mut) !important; text-align: left; }
.site-footer .srfm-input-common,
.site-footer .srfm-email-input,
.site-footer input[type="email"] {
  background: rgba(246,239,224,0.06) !important; border: 1px solid var(--border-on-ink) !important;
  color: var(--paper-50) !important;
}
.site-footer .srfm-input-common::placeholder { color: var(--text-on-ink-mut) !important; }
.site-footer .srfm-submit-button, .site-footer .srfm-btn-frontend {
  background: var(--brand) !important; border-color: var(--brand) !important; color: var(--paper-50) !important; width: 100%;
}
.site-footer .srfm-submit-button:hover { background: var(--brand-strong) !important; }

/* ---- v1.0.2 rebuilt-block adjustments ---- */
.vcard .wp-block-kadence-image{ margin:0 0 8px; }
.vcard .kb-image{ display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; background:linear-gradient(150deg,var(--brand),var(--ink-900)); border-radius:var(--radius-md); }
.vcard .kb-image img{ max-width:50%; max-height:60%; filter:invert(1) brightness(1.8); }
.feat-banner .kb-image img{ filter:invert(1) brightness(1.85); max-width:60%; margin:0 auto; display:block; }
.city-tile{ min-height:200px; }
.city-lv{ background:linear-gradient(160deg,#B0552F,#14202F); } .city-sd{ background:linear-gradient(160deg,#2F5D7C,#14202F); } .city-nb{ background:linear-gradient(160deg,#1F5E5B,#14202F); }
.city-tile .kadence-advancedheading{ color:var(--paper-50)!important; }
.quote-block{ max-width:820px; margin:48px auto 0; text-align:center; }
.quote-block .kb-eyebrow{ color:var(--text-muted)!important; }

/* venue location directions link */
.venue-location{ text-align:center; }
.venue-location .venue-directions a{ display:inline-block; margin-top:20px; background:var(--venue-accent); color:var(--paper-50)!important; padding:12px 26px; border-radius:var(--radius-md); font-weight:600; text-decoration:none; }
.venue-location .venue-directions a:hover{ filter:brightness(0.92); }