/* ============================================================
   BOOMERANG PUB & KITCHEN — V2 PREMIUM THEME
   Warm Noir · Orange Fire · Bebas Neue · Film Grain
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Outfit:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,600;1,300;1,600&display=swap');

/* ── Variables ────────────────────────────────────────────── */
:root {
  --orange:       #F5A000;
  --orange-bright:#FFB800;
  --orange-deep:  #D4880A;
  --noir:         #070706;
  --noir2:        #0D0C09;
  --noir3:        #141310;
  --noir4:        #1C1A14;
  --noir5:        #252219;
  --warm:         #2A2518;
  --text:         #C8BFA0;
  --muted:        #6A6050;
  --white:        #FAF8F2;
  --font-display: 'Bebas Neue', sans-serif;
  --font-body:    'Outfit', sans-serif;
  --font-accent:  'Cormorant Garamond', Georgia, serif;
  --transition:   all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Reset & Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background: var(--noir) !important;
  color: var(--text) !important;
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased !important;
  overflow-x: hidden !important;
}

/* Film grain overlay */
body::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E") !important;
  pointer-events: none !important;
  z-index: 9999 !important;
  opacity: 0.35 !important;
}

/* ── Scrollbar ────────────────────────────────────────────── */
::-webkit-scrollbar              { width: 3px; }
::-webkit-scrollbar-track        { background: var(--noir); }
::-webkit-scrollbar-thumb        { background: var(--orange); }

/* ── Text Selection ───────────────────────────────────────── */
::selection { background: var(--orange); color: var(--noir); }

/* ── Links ────────────────────────────────────────────────── */
a { color: var(--orange) !important; text-decoration: none !important; transition: var(--transition); }
a:hover { color: var(--orange-bright) !important; }

/* ── Typography ───────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title,
.wp-block-heading {
  font-family: var(--font-display) !important;
  color: var(--white) !important;
  line-height: 1.0 !important;
  letter-spacing: 1px !important;
}

h1 { font-size: clamp(42px, 7vw, 88px) !important; font-weight: 400 !important; }
h2 { font-size: clamp(32px, 4.5vw, 58px) !important; font-weight: 400 !important; }
h3 { font-size: clamp(22px, 3vw, 36px) !important; font-weight: 400 !important; }
h4 { font-size: 18px !important; font-weight: 400 !important; letter-spacing: 0.5px !important; }

p, li { color: var(--text) !important; line-height: 1.8 !important; }
strong { color: var(--white) !important; }

/* ── Header & Navigation ──────────────────────────────────── */
.site-header,
.main-header-bar,
#masthead {
  background: rgba(7, 7, 6, 0.97) !important;
  border-bottom: 1px solid rgba(245, 160, 0, 0.12) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* Site title / logo */
.site-title a,
.ast-site-title a,
#site-title a {
  font-family: var(--font-display) !important;
  color: var(--orange) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

/* Nav links */
.main-navigation a,
.ast-main-header-bar-alignment .main-navigation a,
.ast-header-break-point .main-navigation a {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  padding: 8px 16px !important;
  transition: var(--transition) !important;
  position: relative !important;
}

.main-navigation a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 16px !important;
  width: 0 !important;
  height: 1px !important;
  background: var(--orange) !important;
  transition: width 0.3s !important;
}

.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after { width: calc(100% - 32px) !important; }

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--orange-bright) !important;
}

/* ── Hero / Cover Block ───────────────────────────────────── */
.wp-block-cover {
  background-color: var(--noir2) !important;
  min-height: 92vh !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Animated ambient orb */
.wp-block-cover::before {
  content: '' !important;
  position: absolute !important;
  width: 600px !important;
  height: 600px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(245,160,0,0.11) 0%, transparent 70%) !important;
  top: 5% !important;
  right: 5% !important;
  filter: blur(90px) !important;
  animation: drift 14s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

@keyframes drift {
  0%,100% { transform: translate(0,0) scale(1); }
  33%      { transform: translate(18px,-28px) scale(1.04); }
  66%      { transform: translate(-12px,18px) scale(0.96); }
}

.wp-block-cover__background {
  background: linear-gradient(180deg, rgba(7,7,6,0.2) 0%, rgba(7,7,6,0.55) 45%, rgba(7,7,6,1) 100%) !important;
  opacity: 1 !important;
}

.wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
  padding: 60px 40px 100px !important;
  animation: fadeUp 0.9s 0.3s ease both !important;
}

.wp-block-cover h1 {
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(48px, 8vw, 100px) !important;
  line-height: 0.92 !important;
  letter-spacing: 2px !important;
  margin-bottom: 16px !important;
}

.wp-block-cover p {
  color: var(--text) !important;
  font-family: var(--font-accent) !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  margin-bottom: 36px !important;
}

@keyframes fadeUp {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── Buttons ──────────────────────────────────────────────── */
.wp-block-button__link,
.wp-element-button {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  padding: 15px 36px !important;
  border-radius: 0 !important;
  transition: var(--transition) !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--orange) !important;
  color: var(--noir) !important;
  border: none !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: var(--orange-bright) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 40px rgba(245,160,0,0.3) !important;
  color: var(--noir) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1px solid rgba(245,160,0,0.35) !important;
  color: var(--text) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--orange) !important;
  color: var(--orange-bright) !important;
  background: transparent !important;
}

/* ── Marquee Strip ────────────────────────────────────────── */
.wp-block-group.marquee-strip,
.marquee-strip {
  background: var(--orange) !important;
  padding: 11px 0 !important;
  overflow: hidden !important;
}

/* ── Feature Columns (Why Boomerang / Event cards) ───────── */
.wp-block-columns {
  gap: 2px !important;
}

.wp-block-columns .wp-block-column {
  background: var(--noir3) !important;
  border: none !important;
  padding: 34px 28px !important;
  border-radius: 0 !important;
  transition: var(--transition) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Vertical orange bar on left — slides in on hover */
.wp-block-columns .wp-block-column::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 3px !important;
  height: 100% !important;
  background: var(--orange) !important;
  transform: scaleY(0) !important;
  transition: transform 0.4s !important;
  transform-origin: bottom !important;
}

.wp-block-columns .wp-block-column:hover::before { transform: scaleY(1) !important; }

.wp-block-columns .wp-block-column:hover {
  background: var(--warm) !important;
}

.wp-block-columns .wp-block-column h4 {
  font-family: var(--font-display) !important;
  color: var(--white) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

.wp-block-columns .wp-block-column p {
  font-size: 13px !important;
  color: var(--text) !important;
  line-height: 1.7 !important;
}

/* ── Section Headings ─────────────────────────────────────── */
.wp-block-heading.has-text-align-center,
h2.has-text-align-center {
  position: relative !important;
  padding-bottom: 20px !important;
}

.wp-block-heading.has-text-align-center::before,
h2.has-text-align-center::before {
  content: '' !important;
  display: block !important;
  font-size: 10px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--orange) !important;
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  margin-bottom: 10px !important;
  opacity: 0.8 !important;
}

/* ── Content Area ─────────────────────────────────────────── */
.site-content,
.content-area,
#content,
.ast-container {
  background: var(--noir) !important;
}

.entry-content {
  background: var(--noir) !important;
}

.wp-block-group {
  background: var(--noir2) !important;
}

/* ── Blog Archive Cards ───────────────────────────────────── */
.ast-article-post,
article.type-post,
article.post,
.ast-archive-post,
.blog article,
.archive article,
.home article,
li.ast-article-post {
  background: var(--noir3) !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  margin-bottom: 2px !important;
  position: relative !important;
  box-shadow: none !important;
}

/* Kill Astra white card background globally */
.ast-separate-container .ast-article-post,
.ast-separate-container article,
.site-content article,
#primary article,
.posts-container article {
  background: var(--noir3) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Kill all white backgrounds from Astra */
.ast-separate-container #primary,
.ast-separate-container #content,
.content-area,
#primary,
.site-main,
.ast-container {
  background: var(--noir) !important;
}

/* Astra inner article wrap */
.ast-article-inner-wrap,
.ast-article-post .ast-article-inner-wrap {
  background: var(--noir3) !important;
}

.ast-article-post::after,
article.type-post::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 2px !important;
  background: var(--orange) !important;
  transform: scaleX(0) !important;
  transition: transform 0.35s !important;
}

.ast-article-post:hover::after,
article.type-post:hover::after { transform: scaleX(1) !important; }

.ast-article-post:hover,
article.type-post:hover {
  background: var(--noir4) !important;
}

/* Post thumbnail zoom */
.ast-article-post .post-thumbnail,
article .post-thumbnail { overflow: hidden !important; }

.ast-article-post .post-thumbnail img,
article .post-thumbnail img,
.ast-article-post .wp-post-image {
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
  width: 100% !important;
}

.ast-article-post:hover .post-thumbnail img,
article:hover .post-thumbnail img,
.ast-article-post:hover .wp-post-image {
  transform: scale(1.06) !important;
}

.ast-article-inner-wrap,
.entry-content-single {
  padding: 26px 24px !important;
}

/* Post title */
.entry-title a {
  font-family: var(--font-display) !important;
  color: var(--white) !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.5px !important;
  line-height: 1.2 !important;
  transition: var(--transition) !important;
}

.entry-title a:hover { color: var(--orange-bright) !important; }

/* Post meta */
.entry-meta,
.ast-article-post .ast-post-author,
.posted-on, .byline {
  color: var(--orange) !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
}

.entry-meta a { color: var(--orange) !important; }

/* Post excerpt */
.entry-summary p,
.ast-excerpt {
  font-family: var(--font-accent) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.7 !important;
}

/* Read More */
.ast-read-more, .more-link {
  color: var(--orange) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ── Single Post ──────────────────────────────────────────── */
.single-post .entry-header {
  padding: 60px 0 40px !important;
  border-bottom: 1px solid rgba(245,160,0,0.1) !important;
  margin-bottom: 40px !important;
}

.single-post .entry-title {
  font-size: clamp(32px, 5vw, 72px) !important;
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  letter-spacing: 1px !important;
  line-height: 1.0 !important;
  margin-bottom: 16px !important;
}

.single-post .entry-content h2,
.single-post .entry-content h3 {
  color: var(--orange) !important;
  font-family: var(--font-display) !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}

.single-post .entry-content p {
  font-family: var(--font-accent) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  line-height: 1.9 !important;
  color: var(--text) !important;
}

/* Featured image */
.single-post .post-thumbnail img {
  border-radius: 0 !important;
  margin-bottom: 40px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
}

/* ── Page content ─────────────────────────────────────────── */
.page .entry-content h2,
.page .entry-content h3 {
  color: var(--orange) !important;
  font-family: var(--font-display) !important;
}

/* ── Menu page category headings ──────────────────────────── */
.page .entry-content h3 {
  font-size: clamp(18px, 3vw, 28px) !important;
  letter-spacing: 1px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(245,160,0,0.12) !important;
  margin-top: 40px !important;
}

/* ── Separator ────────────────────────────────────────────── */
hr, .wp-block-separator {
  border: none !important;
  border-top: 1px solid rgba(245,160,0,0.1) !important;
  opacity: 1 !important;
}

/* ── Lists ────────────────────────────────────────────────── */
.wp-block-list li::marker { color: var(--orange) !important; }
ul li, ol li { color: var(--text) !important; margin-bottom: 8px !important; }

/* ── Images ───────────────────────────────────────────────── */
img { border-radius: 0 !important; }

.wp-block-image figcaption {
  color: var(--muted) !important;
  font-size: 12px !important;
  text-align: center !important;
  font-family: var(--font-accent) !important;
  font-style: italic !important;
}

/* ── Forms / Inputs ───────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select {
  background: var(--noir) !important;
  border: 1px solid rgba(245,160,0,0.12) !important;
  color: var(--text) !important;
  padding: 13px 15px !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  transition: border-color 0.3s !important;
  width: 100% !important;
}

input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: rgba(245,160,0,0.45) !important;
  box-shadow: none !important;
}

/* ── Footer ───────────────────────────────────────────────── */
.site-footer,
#colophon,
.footer-widget-area,
.ast-small-footer {
  background: var(--noir) !important;
  border-top: 1px solid rgba(245,160,0,0.08) !important;
  color: var(--muted) !important;
}

.site-footer p,
.ast-small-footer p,
.site-footer span {
  color: var(--muted) !important;
  font-size: 12px !important;
}

.site-footer a {
  color: var(--muted) !important;
  transition: var(--transition) !important;
}

.site-footer a:hover { color: var(--orange-bright) !important; }

.widget-title {
  font-family: var(--font-display) !important;
  color: var(--white) !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
  border-bottom: 1px solid rgba(245,160,0,0.1) !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

/* ── Pagination ───────────────────────────────────────────── */
.page-numbers a,
.page-numbers span {
  background: var(--noir3) !important;
  color: var(--muted) !important;
  border: none !important;
  padding: 8px 14px !important;
  border-radius: 0 !important;
  transition: var(--transition) !important;
  font-size: 12px !important;
}

.page-numbers a:hover {
  background: var(--noir4) !important;
  color: var(--orange) !important;
}

.page-numbers .current {
  background: var(--orange) !important;
  color: var(--noir) !important;
  font-weight: 600 !important;
}

/* ── Category / Tag badges ────────────────────────────────── */
.cat-links a,
.tags-links a {
  background: rgba(245,160,0,0.1) !important;
  border: 1px solid rgba(245,160,0,0.25) !important;
  color: var(--orange) !important;
  padding: 3px 10px !important;
  border-radius: 0 !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.cat-links a:hover,
.tags-links a:hover {
  background: var(--orange) !important;
  color: var(--noir) !important;
}

/* ── Post Navigation ──────────────────────────────────────── */
.post-navigation {
  border-top: 1px solid rgba(245,160,0,0.1) !important;
  padding-top: 30px !important;
  margin-top: 40px !important;
}

.nav-links .nav-previous a,
.nav-links .nav-next a {
  color: var(--orange) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

/* ── Scroll-to-top ────────────────────────────────────────── */
.ast-scroll-top,
#scroll-to-top {
  background: var(--orange) !important;
  color: var(--noir) !important;
  border-radius: 0 !important;
}

/* ── Mobile Responsive ────────────────────────────────────── */
@media (max-width: 768px) {
  .wp-block-cover { min-height: 80vh !important; }
  .wp-block-cover h1 { font-size: 48px !important; }

  .wp-block-columns {
    flex-direction: column !important;
    gap: 2px !important;
  }

  .wp-block-columns .wp-block-column {
    margin-bottom: 0 !important;
  }

  .main-navigation {
    background: rgba(7,7,6,0.99) !important;
    border-bottom: 1px solid rgba(245,160,0,0.1) !important;
  }

  .ast-header-break-point .main-navigation a {
    padding: 14px 20px !important;
    border-bottom: 1px solid rgba(245,160,0,0.06) !important;
  }
}

/* ── Staggered reveal on columns ─────────────────────────── */
.wp-block-columns .wp-block-column:nth-child(1) { animation: fadeUp 0.7s 0.1s ease both; }
.wp-block-columns .wp-block-column:nth-child(2) { animation: fadeUp 0.7s 0.25s ease both; }
.wp-block-columns .wp-block-column:nth-child(3) { animation: fadeUp 0.7s 0.4s ease both; }
