/*
 * AUSTIN DAILY PRESS — Full Design System
 * Philosophy: Bold Texas Fast-Casual
 * Palette: #141414 (near-black) + #E8601C (ADP orange) + #F9F5F0 (cream)
 * Typography: Barlow Condensed (display) + Barlow (body)
 * Voice: "Big flavor, zero B.S." — cheeky, direct, East Austin
 */

/* ── Reset & Base ─────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --adp-orange:    #E8601C;
  --adp-orange-dk: #C44E14;
  --adp-black:     #141414;
  --adp-cream:     #F9F5F0;
  --adp-warm-gray: #8A7F78;
  --adp-border:    rgba(255,255,255,0.12);
  --font-display:  'Barlow Condensed', sans-serif;
  --font-body:     'Barlow', sans-serif;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--adp-black);
  background: var(--adp-cream);
  overflow-x: hidden;
}

/* Remove Kadence default padding that squishes content */
.site-main, .entry-content, .kadence-inner-column-inner,
.wp-site-blocks, .entry-header, .entry-title {
  padding: 0 !important;
  margin: 0 !important;
}
.entry-content > * { max-width: none !important; }
.kadence-column { padding: 0 !important; }
#content, .content-area { padding-top: 0 !important; }

/* ── Typography ───────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.adp-btn-primary, a.adp-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--adp-orange);
  color: #fff !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.9rem 2rem;
  border: 2px solid var(--adp-orange);
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  cursor: pointer;
  border-radius: 0;
}
.adp-btn-primary:hover, a.adp-btn-primary:hover {
  background: var(--adp-orange-dk);
  border-color: var(--adp-orange-dk);
  transform: translateY(-2px);
  color: #fff !important;
}
.adp-btn-sm { padding: 0.5rem 1.25rem !important; font-size: 0.875rem !important; }

.adp-btn-outline-white, a.adp-btn-outline-white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #fff !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.9rem 2rem;
  border: 2px solid #fff;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.15s;
  cursor: pointer;
  border-radius: 0;
}
.adp-btn-outline-white:hover, a.adp-btn-outline-white:hover {
  background: #fff;
  color: var(--adp-black) !important;
  transform: translateY(-2px);
}

.adp-btn-outline-dark, a.adp-btn-outline-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--adp-black) !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.9rem 2rem;
  border: 2px solid var(--adp-black);
  text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.15s;
  cursor: pointer;
  border-radius: 0;
}
.adp-btn-outline-dark:hover, a.adp-btn-outline-dark:hover {
  background: var(--adp-black);
  color: #fff !important;
  transform: translateY(-2px);
}

.adp-btn-dark, a.adp-btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--adp-black);
  color: #fff !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.9rem 2rem;
  border: 2px solid var(--adp-black);
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  cursor: pointer;
  border-radius: 0;
}
.adp-btn-dark:hover, a.adp-btn-dark:hover {
  background: #2a2a2a;
  transform: translateY(-2px);
  color: #fff !important;
}

/* ── Eyebrow / Section Label ──────────────────────────────────────────────── */
.adp-eyebrow {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--adp-orange);
  margin-bottom: 0.75rem;
  display: block;
}

/* ── NAV ──────────────────────────────────────────────────────────────────── */
.adp-site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  transition: background 0.3s;
}
.adp-site-header.scrolled .adp-nav-inner,
.adp-site-header.page-nav .adp-nav-inner {
  background: var(--adp-black);
  box-shadow: 0 2px 20px rgba(0,0,0,0.4);
}

.adp-announce-bar {
  background: var(--adp-orange);
  color: #fff;
  text-align: center;
  padding: 0.5rem 1rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.4;
}

.adp-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2rem;
  height: 64px;
  background: rgba(20, 20, 20, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 0.3s;
}

.adp-logo {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff !important;
  text-decoration: none;
  white-space: nowrap;
}
.adp-logo:hover { color: var(--adp-orange) !important; }

.adp-nav-links {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.adp-nav-link {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none;
  transition: color 0.2s;
}
.adp-nav-link:hover, .adp-nav-link.active {
  color: var(--adp-orange) !important;
}

.adp-nav-ctas {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* Mobile toggle */
.adp-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.adp-mobile-toggle span {
  display: block;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: all 0.3s;
}

.adp-mobile-menu {
  display: none;
  flex-direction: column;
  background: var(--adp-black);
  padding: 1.5rem 2rem;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.adp-mobile-menu.open { display: flex; }

.adp-mobile-link {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: color 0.2s;
}
.adp-mobile-link:hover { color: var(--adp-orange) !important; }

.adp-mobile-ctas {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1.25rem;
  margin-top: 0.5rem;
}

@media (max-width: 900px) {
  .adp-nav-links, .adp-nav-ctas { display: none; }
  .adp-mobile-toggle { display: flex; }
}

/* ── Page offset for fixed nav ────────────────────────────────────────────── */
body { padding-top: 0; }
.site-main { padding-top: 0 !important; }

/* ── HERO — full-bleed, no text ───────────────────────────────────────────── */
.adp-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}
.adp-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.adp-hero-scroll {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.7);
  font-size: 1.5rem;
  animation: bounce 2s infinite;
  cursor: pointer;
}
@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* ── BRAND STATEMENT ──────────────────────────────────────────────────────── */
.adp-brand-statement {
  background: var(--adp-cream);
  text-align: center;
  padding: 6rem 2rem;
}
.adp-brand-statement h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(3.5rem, 9vw, 7.5rem);
  line-height: 0.92;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--adp-black);
  margin: 1rem 0 1.5rem;
}
.adp-brand-body {
  font-family: var(--font-body);
  font-size: 1.15rem;
  color: #5a5048;
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ── FOOD HERO ────────────────────────────────────────────────────────────── */
.adp-food-hero {
  position: relative;
  width: 100%;
  height: 80vh;
  min-height: 500px;
  overflow: hidden;
}
.adp-food-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.adp-food-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, 0.52);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
}
.adp-food-hero-overlay h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(3rem, 8vw, 6.5rem);
  line-height: 0.92;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 1rem;
}
.adp-food-hero-overlay p {
  font-family: var(--font-body);
  font-size: 1.15rem;
  color: rgba(255,255,255,0.85);
  margin-bottom: 2rem;
}

/* ── HOW TO ADP ───────────────────────────────────────────────────────────── */
.adp-how-to {
  background: var(--adp-black);
  padding: 6rem 2rem;
  text-align: center;
}
.adp-how-to h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  color: #fff;
  margin-bottom: 0.5rem;
}
.adp-how-to .adp-section-sub {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.6);
  font-size: 1.05rem;
  margin-bottom: 3.5rem;
}
.adp-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
.adp-how-card {
  position: relative;
  overflow: hidden;
  background: #1e1e1e;
}
.adp-how-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.adp-how-card:hover img { transform: scale(1.04); }
.adp-how-card-body {
  padding: 1.75rem 1.5rem 2rem;
  text-align: left;
}
.adp-how-card-body h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}
.adp-how-card-body p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.65);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

@media (max-width: 768px) {
  .adp-how-grid { grid-template-columns: 1fr; }
}

/* ── LOCATION CALLOUT ─────────────────────────────────────────────────────── */
.adp-location {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
}
.adp-location-photo { overflow: hidden; }
.adp-location-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.adp-location-info {
  background: var(--adp-orange);
  padding: 4rem 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
}
.adp-location-info .adp-eyebrow { color: rgba(255,255,255,0.75); }
.adp-location-info h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  color: #fff;
  margin-bottom: 0.5rem;
}
.adp-location-info p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.9);
  font-size: 1rem;
  line-height: 1.6;
}
.adp-location-info a:not(.adp-btn-primary):not(.adp-btn-outline-white):not(.adp-btn-dark) {
  color: rgba(255,255,255,0.9) !important;
  text-decoration: none;
}
.adp-location-info a:not(.adp-btn-primary):not(.adp-btn-outline-white):not(.adp-btn-dark):hover {
  color: #fff !important;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .adp-location { grid-template-columns: 1fr; }
  .adp-location-photo { height: 280px; }
  .adp-location-info { padding: 3rem 2rem; }
}

/* ── PRESS LOGOS ──────────────────────────────────────────────────────────── */
.adp-press {
  background: var(--adp-cream);
  padding: 4.5rem 2rem;
  text-align: center;
}
.adp-press .adp-eyebrow { text-align: center; }
.adp-press-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 3rem;
  margin-top: 2rem;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.adp-press-logos a {
  display: inline-flex;
  align-items: center;
  opacity: 0.45;
  transition: opacity 0.2s;
  filter: grayscale(100%);
}
.adp-press-logos a:hover {
  opacity: 1;
  filter: grayscale(0%);
}
.adp-press-logos img {
  height: 32px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  display: block;
}

/* ── FINAL CTA SECTION ────────────────────────────────────────────────────── */

/* Reviews section dark background button override */
.adp-reviews .adp-btn-outline-dark {
  border-color: rgba(255,255,255,0.7) !important;
  color: #fff !important;
}
.adp-reviews .adp-btn-outline-dark:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: #fff !important;
  color: #fff !important;
}

.adp-final-cta {
  background: var(--adp-black);
  padding: 6rem 2rem;
  text-align: center;
}
.adp-final-cta h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  color: #fff;
  margin-bottom: 2.5rem;
}
.adp-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

/* ── PAGE HERO (inner pages) ──────────────────────────────────────────────── */
.adp-page-hero {
  position: relative;
  width: 100%;
  height: 55vh;
  min-height: 380px;
  overflow: hidden;
  margin-top: 0;
}
.adp-page-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.adp-page-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, 0.55);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 3rem 2rem;
  text-align: center;
}
.adp-page-hero-overlay h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(3rem, 7vw, 5.5rem);
  color: #fff;
  line-height: 0.95;
  margin-bottom: 0.75rem;
}
.adp-page-hero-overlay p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.8);
  font-size: 1.1rem;
}

/* ── MENU PAGE ────────────────────────────────────────────────────────────── */
.adp-menu-intro {
  background: var(--adp-cream);
  padding: 5rem 2rem;
  text-align: center;
}
.adp-menu-intro h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: var(--adp-black);
  margin-bottom: 2.5rem;
}
.adp-first-timer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.adp-first-timer-card {
  background: #fff;
  padding: 2rem 1.75rem;
  text-align: left;
  border: 1px solid rgba(0,0,0,0.08);
  position: relative;
}
.adp-first-timer-card.adp-featured {
  border-top: 3px solid var(--adp-orange);
}
.adp-badge {
  display: inline-block;
  background: var(--adp-orange);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.25rem 0.6rem;
  margin-bottom: 0.75rem;
}
.adp-first-timer-card h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--adp-black);
  margin-bottom: 0.5rem;
}
.adp-first-timer-card p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #5a5048;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}
.adp-price {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--adp-orange);
}
.adp-order-cta-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 2rem;
  background: var(--adp-black);
  max-width: 1100px;
  margin: 0 auto;
}
.adp-order-cta-bar span {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
}

.adp-menu-section {
  padding: 4.5rem 2rem;
  background: var(--adp-cream);
}
.adp-menu-section.adp-menu-dark {
  background: #1a1714;
}
.adp-menu-cat-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--adp-black);
  margin-bottom: 0.4rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.adp-menu-section.adp-menu-dark .adp-menu-cat-title { color: #fff; }
.adp-menu-cat-sub {
  font-family: var(--font-body);
  color: var(--adp-warm-gray);
  font-size: 0.95rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.adp-menu-section.adp-menu-dark .adp-menu-cat-sub { color: rgba(255,255,255,0.5); }

.adp-menu-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  max-width: 1100px;
  margin: 0 auto;
  background: rgba(0,0,0,0.08);
}
.adp-menu-section.adp-menu-dark .adp-menu-grid { background: rgba(255,255,255,0.06); }

.adp-menu-item {
  background: #fff;
  padding: 1.5rem 1.75rem;
}
.adp-menu-section.adp-menu-dark .adp-menu-item { background: #1e1b18; }
.adp-menu-item.adp-bestseller {
  border-left: 3px solid var(--adp-orange);
}
.adp-menu-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.4rem;
}
.adp-menu-item h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.2rem;
  color: var(--adp-black);
  line-height: 1.1;
}
.adp-menu-section.adp-menu-dark .adp-menu-item h3 { color: #fff; }
.adp-menu-item p {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: #6b6058;
  line-height: 1.55;
}
.adp-menu-section.adp-menu-dark .adp-menu-item p { color: rgba(255,255,255,0.55); }
.adp-star { color: var(--adp-orange); }
.adp-tag {
  display: inline-block;
  background: #2d6a2d;
  color: #fff;
  font-size: 0.65rem;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.15rem 0.4rem;
  margin-left: 0.4rem;
  vertical-align: middle;
}
.adp-taco-options {
  background: rgba(232,96,28,0.1);
  border-left: 3px solid var(--adp-orange);
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.adp-taco-options p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: rgba(255,255,255,0.75);
}
.adp-menu-order-cta {
  background: var(--adp-orange);
  padding: 5rem 2rem;
  text-align: center;
}
.adp-menu-order-cta h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #fff;
  margin-bottom: 0.75rem;
}
.adp-menu-order-cta p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.85);
  margin-bottom: 2rem;
  font-size: 1.05rem;
}

@media (max-width: 768px) {
  .adp-menu-grid { grid-template-columns: 1fr; }
  .adp-first-timer-grid { grid-template-columns: 1fr; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   ADP CATERING PAGE — Rebuilt CSS (adp-cat-* namespace)
   ══════════════════════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════════════════════════
   ADP CATERING PAGE — Full CSS Rebuild
   Namespace: adp-cat-*
   Max-width: 1200px container, consistent gutters, mobile-first
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Shared container ────────────────────────────────────────────────────────── */
.adp-cat-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* ── Section base ────────────────────────────────────────────────────────────── */
.adp-cat-section {
  padding: 5rem 0;
}

/* ── HERO ────────────────────────────────────────────────────────────────────── */
.adp-cat-hero {
  position: relative;
  width: 100%;
  height: 75vh;
  min-height: 520px;
  max-height: 780px;
  overflow: hidden;
}
.adp-cat-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block;
}
.adp-cat-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(20,20,20,0.85) 0%, rgba(20,20,20,0.45) 60%, rgba(20,20,20,0.2) 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 4rem 2rem;
  text-align: center;
}
.adp-cat-hero-overlay h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.25rem, 5.5vw, 4.5rem);
  color: #fff;
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  max-width: 900px;
  margin-bottom: 1.25rem;
}
.adp-cat-hero-overlay p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.85);
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.6;
  max-width: 680px;
  margin-bottom: 2rem;
}
.adp-cat-hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}

/* ── TRUST BAR ───────────────────────────────────────────────────────────────── */
.adp-cat-trust-bar {
  background: var(--adp-black);
  padding: 1.25rem 2rem;
}
.adp-cat-trust-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
  align-items: center;
  justify-content: center;
}
.adp-cat-trust-item {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.adp-cat-trust-check {
  color: var(--adp-orange);
  font-size: 1rem;
  font-weight: 900;
}

/* ── WHO WE FEED ─────────────────────────────────────────────────────────────── */
.adp-cat-who {
  background: var(--adp-cream);
}
.adp-cat-who-grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
}
.adp-cat-who-copy .adp-eyebrow {
  margin-bottom: 0.75rem;
}
.adp-cat-who-copy h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--adp-black);
  line-height: 1;
  margin-bottom: 1.25rem;
}
.adp-cat-who-copy p {
  font-family: var(--font-body);
  color: #5a5048;
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 1.25rem;
}
.adp-cat-use-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  border-top: 1px solid rgba(0,0,0,0.08);
}
.adp-cat-use-list li {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #5a5048;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.adp-cat-use-list li::before {
  content: '→';
  color: var(--adp-orange);
  font-weight: 700;
  flex-shrink: 0;
}

/* Contact box */
.adp-cat-contact-box {
  position: sticky;
  top: 100px;
}
.adp-cat-contact-box-inner {
  background: var(--adp-black);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.adp-cat-contact-box-inner h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 0;
}
.adp-cat-contact-box-inner p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.6;
}
.adp-cat-contact-btn {
  display: block;
  text-align: center;
  width: 100%;
}
.adp-cat-contact-small {
  font-family: var(--font-body);
  font-size: 0.8rem !important;
  color: rgba(255,255,255,0.4) !important;
}
.adp-cat-contact-small a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: underline;
}

/* ── PACKAGES ────────────────────────────────────────────────────────────────── */
.adp-cat-packages {
  background: #1a1714;
}
.adp-cat-packages .adp-eyebrow {
  color: var(--adp-orange);
  display: block;
  margin-bottom: 0.5rem;
}
.adp-cat-packages h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #fff;
  margin-bottom: 0.75rem;
}
.adp-cat-section-sub {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.55);
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 3rem;
  max-width: 680px;
}
.adp-cat-packages .adp-cat-section-sub {
  color: rgba(255,255,255,0.55);
}

/* Package grid */
.adp-cat-pkg-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 3rem;
  align-items: start;
}
.adp-cat-pkg-card {
  background: #242018;
  border: 1px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  position: relative;
}
.adp-cat-pkg-featured {
  border-top: 3px solid var(--adp-orange);
}
.adp-cat-pkg-badge {
  position: absolute;
  top: -1px;
  right: 1.5rem;
  background: var(--adp-orange);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
}
.adp-cat-pkg-top {
  padding: 2rem 2rem 0;
}
.adp-cat-pkg-top h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 0.2rem;
}
.adp-cat-pkg-format {
  font-family: var(--font-body);
  color: var(--adp-orange);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}
.adp-cat-pkg-desc {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 0.75rem;
}
.adp-cat-pkg-bestfor {
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 0;
  padding-bottom: 1.5rem;
}
.adp-cat-pkg-bestfor strong {
  color: rgba(255,255,255,0.75);
}

/* Pricing rows */
.adp-cat-pkg-pricing {
  margin: 0 2rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
}
.adp-cat-pkg-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.adp-cat-pkg-price-row:last-child {
  border-bottom: none;
}
.adp-cat-pkg-headcount {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.6);
  font-size: 0.9rem;
}
.adp-cat-pkg-price {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--adp-orange);
  letter-spacing: -0.01em;
}

/* Includes */
.adp-cat-pkg-includes {
  padding: 1.5rem 2rem;
  flex: 1;
}
.adp-cat-pkg-includes-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 0.75rem;
}
.adp-cat-pkg-includes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1.5rem;
}
.adp-cat-pkg-includes-grid div {
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.55;
}
.adp-cat-pkg-includes-grid strong {
  color: rgba(255,255,255,0.8);
  display: block;
  margin-bottom: 0.2rem;
}

/* Package CTA */
.adp-cat-pkg-cta {
  display: block;
  text-align: center;
  margin: 0 2rem 2rem;
  width: calc(100% - 4rem);
}

/* Proteins */
.adp-cat-proteins {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 2.5rem;
  margin-top: 1rem;
}
.adp-cat-proteins h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.5rem;
  color: #fff;
  margin-bottom: 1rem;
}
.adp-cat-proteins-sub {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.4);
  text-transform: none;
  letter-spacing: 0;
}
.adp-cat-protein-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.adp-cat-protein-chip {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.adp-cat-protein-chip span {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  opacity: 0.7;
}
.adp-cat-protein-popular {
  border-color: var(--adp-orange);
  color: var(--adp-orange);
}
.adp-cat-protein-veg {
  border-color: #5a9e5a;
  color: #7ec97e;
}

/* ── GROUP BUNDLES ───────────────────────────────────────────────────────────── */
.adp-cat-bundles {
  background: var(--adp-cream);
}
.adp-cat-bundles .adp-eyebrow {
  display: block;
  margin-bottom: 0.5rem;
}
.adp-cat-bundles h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: var(--adp-black);
  margin-bottom: 0.75rem;
}
.adp-cat-bundles .adp-cat-section-sub {
  color: #5a5048;
}
.adp-cat-bundle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  align-items: start;
}
.adp-cat-bundle-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.1);
  border-top: 3px solid rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 2rem;
}
.adp-cat-bundle-featured {
  border-top-color: var(--adp-orange);
}
.adp-cat-bundle-vegan {
  border-top-color: #5a9e5a;
}
.adp-cat-bundle-badge {
  position: absolute;
  top: -1px;
  right: 1.25rem;
  background: var(--adp-orange);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.25rem 0.65rem;
}
.adp-cat-bundle-badge-green {
  background: #5a9e5a;
}
.adp-cat-bundle-card h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--adp-black);
  margin-bottom: 0.2rem;
}
.adp-cat-bundle-sub {
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: #8a7f78;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.75rem;
}
.adp-cat-bundle-items {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #5a5048;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  flex: 1;
}

/* Bundle pricing rows */
.adp-cat-bundle-pricing {
  background: #f5f0eb;
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
}
.adp-cat-bundle-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.adp-cat-bundle-price-row:last-child {
  border-bottom: none;
}
.adp-cat-bundle-headcount {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: #5a5048;
}
.adp-cat-bundle-price {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.35rem;
  color: var(--adp-black);
  letter-spacing: -0.01em;
}

/* Bundle CTA */
.adp-cat-bundle-cta {
  display: block;
  text-align: center;
  width: 100%;
}
.adp-cat-bundle-note {
  font-family: var(--font-body);
  font-size: 0.82rem;
  color: #8a7f78;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ── HOW WE WORK ─────────────────────────────────────────────────────────────── */
.adp-cat-how {
  background: var(--adp-black);
}
.adp-cat-how .adp-eyebrow {
  color: var(--adp-orange);
  display: block;
  margin-bottom: 0.5rem;
}
.adp-cat-how h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #fff;
  margin-bottom: 3rem;
}
.adp-cat-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}
.adp-cat-how-card {
  background: #1e1e1e;
  padding: 2rem;
  border-top: 3px solid var(--adp-orange);
}
.adp-cat-how-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 3rem;
  color: rgba(255,255,255,0.08);
  line-height: 1;
  margin-bottom: 0.75rem;
}
.adp-cat-how-card h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 0.75rem;
}
.adp-cat-how-card p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.55);
  font-size: 0.9rem;
  line-height: 1.65;
}
.adp-cat-service-areas {
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.7;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 2rem;
}
.adp-cat-service-areas strong {
  color: rgba(255,255,255,0.65);
  display: block;
  margin-bottom: 0.4rem;
}

/* ── FAQ ─────────────────────────────────────────────────────────────────────── */
.adp-cat-faq {
  background: var(--adp-cream);
}
.adp-cat-faq-inner {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 4rem;
  align-items: start;
}
.adp-cat-faq-header {
  position: sticky;
  top: 100px;
}
.adp-cat-faq-header .adp-eyebrow {
  display: block;
  margin-bottom: 0.5rem;
}
.adp-cat-faq-header h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--adp-black);
  line-height: 1;
}
.adp-cat-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.adp-cat-faq-item {
  padding: 1.75rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  padding-right: 2rem;
}
.adp-cat-faq-item:nth-child(odd) {
  border-right: 1px solid rgba(0,0,0,0.08);
  padding-right: 2rem;
}
.adp-cat-faq-item:nth-child(even) {
  padding-left: 2rem;
  padding-right: 0;
}
.adp-cat-faq-item h4 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--adp-black);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.adp-cat-faq-item p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #5a5048;
  line-height: 1.65;
  margin: 0;
}
.adp-cat-faq-item a {
  color: var(--adp-orange) !important;
}

/* ── FINAL CTA ───────────────────────────────────────────────────────────────── */
.adp-cat-final-cta {
  background: var(--adp-orange);
  padding: 5rem 0;
}
.adp-cat-final-cta-inner {
  text-align: center;
}
.adp-cat-final-cta h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #fff;
  margin-bottom: 0.75rem;
}
.adp-cat-final-cta p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.85);
  font-size: 1.1rem;
  margin-bottom: 2rem;
}
.adp-cat-final-cta-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.adp-cat-final-cta .adp-btn-outline-white {
  border-color: rgba(255,255,255,0.7);
}

/* ── RESPONSIVE ──────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .adp-cat-who-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .adp-cat-contact-box {
    position: static;
  }
  .adp-cat-faq-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .adp-cat-faq-header {
    position: static;
  }
}

@media (max-width: 900px) {
  .adp-cat-pkg-grid {
    grid-template-columns: 1fr;
  }
  .adp-cat-bundle-grid {
    grid-template-columns: 1fr;
  }
  .adp-cat-how-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .adp-cat-pkg-includes-grid {
    grid-template-columns: 1fr;
  }
  .adp-cat-faq-grid {
    grid-template-columns: 1fr;
  }
  .adp-cat-faq-item:nth-child(odd) {
    border-right: none;
    padding-right: 0;
  }
  .adp-cat-faq-item:nth-child(even) {
    padding-left: 0;
  }
}

@media (max-width: 640px) {
  .adp-cat-section {
    padding: 3.5rem 0;
  }
  .adp-cat-container {
    padding: 0 1.25rem;
  }
  .adp-cat-hero {
    height: 80vh;
    min-height: 480px;
  }
  .adp-cat-hero-overlay {
    padding: 2.5rem 1.25rem;
  }
  .adp-cat-hero-ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .adp-cat-hero-ctas a {
    text-align: center;
  }
  .adp-cat-trust-inner {
    gap: 1rem 1.5rem;
    justify-content: flex-start;
  }
  .adp-cat-pkg-top {
    padding: 1.5rem 1.5rem 0;
  }
  .adp-cat-pkg-pricing {
    margin: 0 1.5rem;
  }
  .adp-cat-pkg-includes {
    padding: 1.25rem 1.5rem;
  }
  .adp-cat-pkg-cta {
    margin: 0 1.5rem 1.5rem;
    width: calc(100% - 3rem);
  }
  .adp-cat-bundle-card {
    padding: 1.5rem;
  }
  .adp-cat-final-cta-btns {
    flex-direction: column;
    align-items: center;
  }
}

  .adp-faq-grid { grid-template-columns: 1fr; }
}

/* ── ABOUT PAGE ───────────────────────────────────────────────────────────── */
.adp-about-story {
  background: var(--adp-cream);
  padding: 5rem 2rem;
}
.adp-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  max-width: 1100px;
  margin: 0 auto;
  align-items: start;
}
.adp-about-text h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3.25rem);
  color: var(--adp-black);
  margin-bottom: 1.25rem;
}
.adp-about-text p {
  font-family: var(--font-body);
  font-size: 1rem;
  color: #5a5048;
  line-height: 1.75;
  margin-bottom: 1rem;
}
.adp-about-values {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.adp-value-card {
  background: #fff;
  padding: 1.5rem 1.75rem;
  border-left: 3px solid var(--adp-orange);
}
.adp-value-card h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.3rem;
  color: var(--adp-black);
  margin-bottom: 0.4rem;
}
.adp-value-card p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #6b6058;
  line-height: 1.6;
}

.adp-location-hours {
  background: var(--adp-black);
  padding: 5rem 2rem;
}
.adp-location-hours .adp-eyebrow { text-align: center; }
.adp-location-hours h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #fff;
  text-align: center;
  margin-bottom: 3rem;
}
.adp-location-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 1000px;
  margin: 0 auto;
  align-items: start;
}
.adp-location-details h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 0.75rem;
}
.adp-location-details p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.7);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 0.5rem;
}
.adp-location-details a:not(.adp-btn-primary) {
  color: var(--adp-orange) !important;
  text-decoration: none;
}
.adp-hours-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0 1.5rem;
}
.adp-hours-table td {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.7);
  padding: 0.4rem 0;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.adp-hours-table td:last-child { text-align: right; }
.adp-location-map-placeholder { overflow: hidden; border-radius: 0; }
.adp-location-map-placeholder img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  .adp-about-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .adp-location-grid { grid-template-columns: 1fr; }
}

/* ── CONTACT PAGE ─────────────────────────────────────────────────────────── */
.adp-contact-page {
  padding: 8rem 2rem 5rem;
  background: var(--adp-cream);
}
.adp-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 4rem;
  max-width: 1100px;
  margin: 0 auto;
  align-items: start;
}
.adp-contact-info h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(3rem, 6vw, 5rem);
  color: var(--adp-black);
  margin-bottom: 2rem;
}
.adp-contact-block {
  margin-bottom: 2rem;
}
.adp-contact-block h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--adp-black);
  margin-bottom: 0.5rem;
}
.adp-contact-block p {
  font-family: var(--font-body);
  color: #5a5048;
  font-size: 0.95rem;
  line-height: 1.7;
}
.adp-contact-block a {
  color: var(--adp-orange) !important;
  text-decoration: none;
}
.adp-contact-form-area h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 2rem;
  color: var(--adp-black);
  margin-bottom: 0.5rem;
}
.adp-contact-form-area p {
  font-family: var(--font-body);
  color: var(--adp-warm-gray);
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .adp-contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .adp-contact-page { padding: 7rem 1.5rem 4rem; }
}

/* ── FOOTER ───────────────────────────────────────────────────────────────── */
.adp-footer {
  background: #0d0d0d;
  color: rgba(255,255,255,0.65);
  padding: 4.5rem 2rem 0;
}
.adp-footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.adp-footer-logo {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 0.75rem;
}
.adp-footer-brand p {
  font-family: var(--font-body);
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.adp-footer-ig {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  color: var(--adp-orange) !important;
  text-decoration: none;
  text-transform: uppercase;
}
.adp-footer-col h4 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 1rem;
}
.adp-footer-col a, .adp-footer-col p {
  display: block;
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none;
  line-height: 1.7;
  margin-bottom: 0.25rem;
}
.adp-footer-col a:hover { color: #fff !important; }
.adp-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 0;
  max-width: 1200px;
  margin: 0 auto;
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: rgba(255,255,255,0.3);
}
.adp-footer-bottom a {
  color: rgba(255,255,255,0.4) !important;
  text-decoration: none;
}
.adp-footer-bottom a:hover { color: rgba(255,255,255,0.7) !important; }

@media (max-width: 900px) {
  .adp-footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
  .adp-footer-inner { grid-template-columns: 1fr; }
  .adp-footer-bottom { flex-direction: column; gap: 0.5rem; text-align: center; }
}

/* ── Kadence overrides ────────────────────────────────────────────────────── */
/* Kadence header removed via PHP remove_action; CSS belt+suspenders */
#masthead, .site-header, .kadence-header-wrap, .site-header-wrap { display: none !important; }
/* Kadence footer */
.site-footer, footer.site-footer, .kadence-footer-wrap, .site-footer-wrap, #colophon { display: none !important; }
/* Kadence page title H1 and entry-hero section */
.entry-hero, .entry-hero.page-hero-section, .entry-header, .entry-header.page-title, .entry-title { display: none !important; }
/* Kadence mobile nav */
#mobile-site-navigation, .mobile-navigation { display: none !important; }
.wp-block-post-title { display: none !important; }
.site-main { padding-top: 0 !important; margin-top: 0 !important; }
.content-area { padding: 0 !important; }
.entry-content { padding: 0 !important; max-width: none !important; }
.entry-content > .wp-block-group { padding: 0 !important; }
.kadence-inner-column-inner { padding: 0 !important; }

/* Remove default Kadence page padding that squishes full-bleed sections */
.wp-site-blocks { padding: 0 !important; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}
/* Remove Kadence entry-content-wrap padding at all breakpoints */
.entry-content-wrap { padding: 0 !important; max-width: none !important; }
.single-content { padding: 0 !important; max-width: none !important; }
.content-area { max-width: none !important; width: 100% !important; }
/* Override Kadence responsive padding on entry-content-wrap */
@media all and (max-width: 1024px) { .entry-content-wrap { padding: 0 !important; } }
@media all and (max-width: 767px) { .entry-content-wrap { padding: 0 !important; } }


/* ══════════════════════════════════════════════════════════════════════════════
   ADP HOMEPAGE FIXES — May 2026
   Patches for class mismatches and layout issues identified in homepage audit
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── FIX 1: Announcement bar — HTML uses .adp-announcement-bar, CSS had .adp-announce-bar ── */
.adp-announcement-bar {
  background: var(--adp-orange);
  color: #fff;
  text-align: center;
  padding: 0.55rem 1rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 1.25rem;
  position: relative;
  z-index: 1001;
}
.adp-announcement-bar .adp-specials {
  color: rgba(255,255,255,0.82);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .adp-announcement-bar {
    font-size: 0.68rem;
    padding: 0.5rem 0.75rem;
    flex-direction: column;
    gap: 0.2rem;
  }
}

/* ── FIX 2: Hero image — use .adp-hero-img class, fix object-position ── */
.adp-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

/* ── FIX 3: East Austin Since 2009 eyebrow — ensure it's large enough ── */
.adp-brand-statement .adp-eyebrow {
  font-size: 1.1rem !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 1rem;
}

/* ── FIX 4: How Do You Use This Place — HTML uses .adp-how, CSS had .adp-how-to ── */
.adp-how {
  background: var(--adp-black);
  padding: 6rem 2rem;
  text-align: center;
}
.adp-how-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  color: #fff;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  line-height: 0.95;
  padding: 0 1rem;
}
.adp-how-sub {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.6);
  font-size: 1.05rem;
  margin-bottom: 3.5rem;
}
/* Reuse existing .adp-how-grid and .adp-how-card from .adp-how-to context */
.adp-how .adp-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
.adp-how-card-img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.adp-how-card:hover .adp-how-card-img { transform: scale(1.04); }
/* ── HOW CARD LABEL ───────────────────────────────────────────────────────── */
.adp-card-label {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--adp-orange);
  margin-bottom: 0.6rem;
}

@media (max-width: 768px) {
  .adp-how .adp-how-grid { grid-template-columns: 1fr; }
}

/* ── FIX 5: Location section — HTML wraps in .adp-location-inner, fix grid ── */
.adp-location-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
  width: 100%;
}
.adp-location-inner figure {
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.adp-location-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Override the outer .adp-location grid since inner wrapper now handles it */
.adp-location {
  display: block;
}
@media (max-width: 768px) {
  .adp-location-inner {
    grid-template-columns: 1fr;
  }
  .adp-location-inner figure {
    height: 280px;
  }
}

/* ── FIX 6: Press logos — ensure horizontal flex layout ── */
.adp-press-logos {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2rem 3rem !important;
  margin-top: 2rem !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.adp-press-logos a {
  display: inline-flex !important;
  align-items: center !important;
  opacity: 0.45;
  transition: opacity 0.2s;
  filter: grayscale(100%);
}
.adp-press-logos a:hover {
  opacity: 1;
  filter: grayscale(0%);
}
.adp-press-logos img {
  height: 30px !important;
  width: auto !important;
  max-width: 120px !important;
  object-fit: contain !important;
  display: block !important;
}

/* ── FIX 7: Google Reviews section ── */
.adp-reviews {
  background: var(--adp-black);
  padding: 5rem 2rem;
  text-align: center;
}
.adp-reviews .adp-eyebrow {
  text-align: center;
  margin-bottom: 0.75rem;
  color: var(--adp-orange);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.95;
  letter-spacing: 0.02em;
}
.adp-reviews-headline,
.adp-reviews h2.adp-reviews-headline {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: rgba(255,255,255,0.7);
  margin-bottom: 3rem;
  text-transform: none;
  line-height: 1.5;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  text-align: center !important;
  display: block;
  width: 100%;
}
.adp-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.adp-review-card {
  background: rgba(255,255,255,0.06);
  padding: 2rem 1.75rem;
  text-align: left;
  border-top: 3px solid var(--adp-orange);
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.adp-review-stars {
  color: var(--adp-orange);
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}
.adp-review-text {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.7;
  margin-bottom: 1rem;
  font-style: italic;
}
.adp-review-author {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.adp-reviews-cta {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .adp-reviews-grid { grid-template-columns: 1fr; }
}

/* ── FIX 8: Hungry Now CTA buttons — HTML uses .adp-final-cta-btns, CSS had .adp-cta-row ── */
.adp-final-cta-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
  align-items: center;
  margin-top: 0.5rem;
}
/* Ensure the two buttons are visually distinct */
.adp-final-cta-btns .adp-btn-primary {
  min-width: 200px;
}
.adp-final-cta-btns .adp-btn-outline-white {
  min-width: 200px;
}

/* ── FIX 9: Remove duplicate Kadence theme footer — target body-level footer ── */
/* Footer: hide the duplicate entry-content footer, keep body-level footer */
.entry-content footer.adp-footer,
.single-content footer.adp-footer {
  display: none !important;
}
body > footer.adp-footer {
  display: block !important;
}

/* Also hide the old-style footer that was inside the page content (first one) */
/* The footer we keep is the one with .adp-footer-brand and .adp-footer-nav */
/* The old one had direct .adp-footer-logo + simple nav columns */

/* ── Footer: ensure the correct footer renders properly ── */
.adp-footer {
  background: #0d0d0d;
  color: rgba(255,255,255,0.65);
  padding: 4.5rem 2rem 0;
}
.adp-footer-brand {
  /* Handled by .adp-footer-inner grid */
}
.adp-footer-nav {
  display: contents; /* Let .adp-footer-inner grid handle layout */
}
.adp-footer-heading {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 1rem;
  display: block;
}
.adp-footer-social {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  color: var(--adp-orange) !important;
  text-decoration: none;
  text-transform: uppercase;
}
.adp-footer-copy {
  font-family: var(--font-body);
  font-size: 0.8rem;
  color: rgba(255,255,255,0.3);
  text-align: center;
  padding: 1.25rem 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  max-width: 1200px;
  margin: 0 auto;
}
.adp-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.adp-footer ul li a {
  display: block;
  font-family: var(--font-body);
  font-size: 0.875rem;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none;
  line-height: 1.7;
  margin-bottom: 0.25rem;
}
.adp-footer ul li a:hover { color: #fff !important; }

/* ── Responsive footer layout ── */
@media (max-width: 900px) {
  .adp-footer-inner { grid-template-columns: 1fr 1fr !important; gap: 2rem !important; }
}
@media (max-width: 600px) {
  .adp-footer-inner { grid-template-columns: 1fr !important; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   FINAL QA PASS — All fixes in one block
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── FIX A: Homepage hero overlay — brand statement visible above the fold ── */
.adp-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.adp-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}
.adp-hero-overlay {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 5rem 4rem 5rem;
  background: linear-gradient(to top, rgba(10,8,6,0.82) 0%, rgba(10,8,6,0.45) 60%, rgba(10,8,6,0.0) 100%);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.adp-brand-eyebrow {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  margin-bottom: 1rem;
  display: block;
}
.adp-brand-headline {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(3.5rem, 9vw, 7.5rem);
  line-height: 0.92;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 1.25rem;
}
.adp-brand-sub {
  font-family: var(--font-body);
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: rgba(255,255,255,0.82);
  max-width: 520px;
  margin: 0 auto 2rem;
  line-height: 1.6;
}
.adp-hero-ctas {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
/* Remove the old bounce scroll indicator on the new overlay hero */
.adp-hero-scroll { display: none; }

/* ── FIX B: Mobile top bar — one short line, hide specials ── */
@media (max-width: 768px) {
  .adp-announce-bar,
  .adp-announcement-bar {
    font-size: 0.72rem !important;
    letter-spacing: 0.04em !important;
    padding: 0.4rem 0.75rem !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    gap: 0 !important;
    line-height: 1.2 !important;
  }
  .adp-announcement-bar .adp-specials {
    display: none !important;
  }
  /* Show only the short version on mobile */
  .adp-announcement-bar::before {
    content: '1900 E MLK · Mon–Sat 11–10';
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
  }
  /* Hide the original text content on mobile */
  .adp-announcement-bar {
    font-size: 0 !important;
    color: transparent !important;
  }
  .adp-announcement-bar::before {
    font-size: 0.72rem !important;
    color: #fff !important;
  }
}

/* ── FIX C: Mobile letter-spacing — reduce tracking 50% across all elements ── */
@media (max-width: 768px) {
  /* Trust bar */
  .adp-cat-trust-item {
    letter-spacing: 0.04em !important;
    font-size: 0.7rem !important;
  }
  /* Package card labels and subtitles */
  .adp-cat-pkg-format,
  .adp-cat-pkg-badge,
  .adp-cat-pkg-includes-label,
  .adp-cat-bundle-tag {
    letter-spacing: 0.04em !important;
  }
  /* Button text */
  .adp-btn-primary,
  a.adp-btn-primary,
  .adp-btn-outline-white,
  a.adp-btn-outline-white,
  .adp-btn-outline-dark,
  a.adp-btn-outline-dark,
  .adp-btn-dark,
  a.adp-btn-dark {
    letter-spacing: 0.05em !important;
  }
  /* Section eyebrow labels */
  .adp-eyebrow,
  .adp-how-eyebrow,
  .adp-cat-eyebrow,
  span.adp-eyebrow,
  p.adp-eyebrow {
    letter-spacing: 0.08em !important;
    font-size: 0.72rem !important;
  }
  /* Nav announce bar */
  .adp-announce-bar span,
  .adp-nav-link {
    letter-spacing: 0.03em !important;
  }
  /* Card labels */
  .adp-card-label,
  .adp-cat-pkg-format {
    letter-spacing: 0.05em !important;
  }
  /* Hero overlay mobile */
  .adp-hero-overlay {
    padding: 3rem 1.5rem 3.5rem !important;
  }
  .adp-brand-headline {
    font-size: clamp(1.9rem, 8vw, 2.8rem) !important;
    line-height: 0.93 !important;
  }
  .adp-brand-sub {
    font-size: 0.95rem !important;
  }
  .adp-hero-ctas {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 320px;
  }
  .adp-hero-ctas a {
    text-align: center;
  }
}

/* ── FIX D: Catering quote card — compact, no dead space ── */
.adp-cat-contact-box-inner {
  background: var(--adp-black) !important;
  padding: 1.75rem !important;
  gap: 0.85rem !important;
}
.adp-cat-contact-box-inner h3 {
  font-size: 1.35rem !important;
  margin-bottom: 0 !important;
}
.adp-cat-contact-box-inner p {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
.adp-cat-contact-btn {
  padding: 0.7rem 1.5rem !important;
  font-size: 0.875rem !important;
}
@media (max-width: 1024px) {
  .adp-cat-contact-box {
    position: static !important;
    max-width: 480px !important;
    margin: 0 auto !important;
  }
  .adp-cat-contact-box-inner {
    padding: 1.5rem !important;
  }
}

/* ── FIX E: Catering hero headline — reduce 10% on desktop ── */
.adp-cat-hero-overlay h1 {
  font-size: clamp(2.5rem, 5.5vw, 4.5rem) !important;
}
.adp-cat-hero-overlay p {
  color: rgba(255,255,255,0.88) !important;
}

/* ── FIX F: Brand statement section — hide old standalone version ── */
/* The brand statement is now in the hero overlay, not a separate section */
.adp-brand-statement {
  display: none !important;
}

/* FINAL LAUNCH CLEANUP v2.4 */

/* Dual announce bar spans: desktop shows full text, mobile shows short */
.adp-announce-desktop { display: inline; }
.adp-announce-mobile  { display: none; }

@media (max-width: 768px) {
  .adp-announce-desktop { display: none !important; }
  .adp-announce-mobile  {
    display: inline !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap;
  }
  .adp-announce-bar {
    padding: 0.35rem 0.75rem !important;
    line-height: 1.2 !important;
  }
}

/* Badge pill: inline pill above package title, replaces old ribbon */
.adp-cat-pkg-badge-pill {
  display: inline-block;
  background: var(--adp-orange);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.65rem;
  border-radius: 2px;
  margin-bottom: 0.6rem;
  line-height: 1.4;
}
.adp-cat-pkg-featured .adp-cat-pkg-badge { display: none !important; }
.adp-cat-pkg-featured .adp-cat-pkg-top   { padding-top: 1.75rem; }

/* Footer dedup safety net */
.adp-footer + .adp-footer { display: none !important; }

@media (max-width: 640px) {
  .adp-cat-pkg-badge-pill {
    font-size: 0.62rem !important;
    letter-spacing: 0.06em !important;
    padding: 0.18rem 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   POLISH FIXES v2.5 — May 2026
   ══════════════════════════════════════════════════════════════════════════ */

/* ── FIX P1: Menu page hero — desktop uses wider crop, mobile keeps original ── */
/* On desktop, serve adp_menu_torta_desktop.jpg via CSS background swap.
   The <img> tag stays for mobile; on desktop we hide it and use a background. */
@media (min-width: 769px) {
  .adp-page-hero {
    position: relative;
    overflow: hidden;
  }
  .adp-page-hero img {
    /* On desktop, replace the img with the wider desktop crop via content trick.
       We use object-position to show more of the image vertically. */
    object-position: center 35%;
  }
}

/* ── FIX P2: Come Through card image — fix distortion with object-fit: cover ── */
/* The card images use .adp-how-card-img. The Come Through card (first card)
   was stretching. Ensure all card images use cover + centered focal point. */
.adp-how-card-img {
  object-fit: cover !important;
  object-position: center 45% !important;
}

/* ── FIX P3: Card eyebrow labels — force orange on all three cards ── */
/* .adp-card-label already has color: var(--adp-orange) in the base rule,
   but a specificity conflict may be overriding it. Force it here. */
.adp-how-card .adp-card-label,
.adp-how-card-body .adp-card-label,
span.adp-card-label {
  color: var(--adp-orange) !important;
}

/* ── FIX P4: Get Directions button — auto width, not full-width ── */
/* .adp-btn-dark inside .adp-location-info was stretching to fill the flex column.
   Set align-self: flex-start so it sizes to its content. */
.adp-location-info .adp-btn-dark,
.adp-location-info a.adp-btn-dark {
  align-self: flex-start;
  width: auto !important;
  max-width: none !important;
}

/* ── FIX P5: Pick Your ADP Move heading — scroll clearance for sticky nav ── */
/* Nav height is ~72px (top bar ~32px + nav bar ~40px). Add scroll-margin-top
   so anchored jumps don't hide the heading under the nav. */
.adp-how {
  scroll-margin-top: 80px;
}

/* ── FIX P1b: Menu page hero — taller on desktop to show shirt + hands + torta ── */
/* The 55vh hero was too short to reveal the wider desktop crop context.
   On desktop, push to 65vh so the Texas shirt and both hands are visible. */
@media (min-width: 769px) {
  .adp-page-hero {
    height: 65vh;
    min-height: 480px;
  }
  /* Picture element fills the hero the same way as a bare img */
  .adp-page-hero picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
  }
  .adp-page-hero picture img,
  .adp-page-hero picture source + img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
  }
}

/* ── FIX P1c: Menu hero picture element — fill container like img does ── */
/* <picture> is a block element; without explicit sizing it collapses.
   Make it fill the hero container exactly like the original <img> did. */
.adp-page-hero picture {
  display: block;
  width: 100%;
  height: 100%;
}
.adp-page-hero picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
/* Desktop: taller hero so shirt + hands + torta all read clearly */
@media (min-width: 769px) {
  .adp-page-hero {
    height: 68vh !important;
    min-height: 500px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   CARD ALIGNMENT POLISH — Package Cards + Bundle Cards
   Goal: equal heights, consistent vertical rhythm, pinned CTAs
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── PACKAGE CARDS ─────────────────────────────────────────────────────────── */

/* 1. Grid: stretch so both cards reach the same height */
.adp-cat-pkg-grid {
  align-items: stretch !important;
}

/* 2. Card: already flex-column — ensure it fills the grid cell */
.adp-cat-pkg-card {
  height: 100%;
}

/* 3. Top section: consistent padding, no extra gap on featured card */
.adp-cat-pkg-top {
  padding: 2rem 2rem 0 !important;
}
.adp-cat-pkg-featured .adp-cat-pkg-top {
  padding-top: 2rem !important;   /* override the earlier 1.75rem patch */
}

/* 4. Description: consistent min-height so "Best for" row aligns across cards */
.adp-cat-pkg-desc {
  min-height: 5.5rem;
}

/* 5. Best-for row: consistent bottom padding before pricing table */
.adp-cat-pkg-bestfor {
  padding-bottom: 1.5rem !important;
  margin-bottom: 0 !important;
}

/* 6. Includes section: flex-grow so it absorbs any height difference */
.adp-cat-pkg-includes {
  flex: 1 1 auto;
}

/* 7. CTA: pin to bottom of card with consistent margin-top */
.adp-cat-pkg-cta {
  margin-top: auto !important;
  /* Ensure both CTAs have identical visual weight */
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
  font-size: 0.82rem !important;
}

/* 8. Make the outline CTA on Lone Star Fiesta match the primary CTA height exactly */
.adp-cat-pkg-card .adp-btn-outline-dark.adp-cat-pkg-cta,
.adp-cat-pkg-card .adp-btn-primary.adp-cat-pkg-cta {
  min-height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}


/* ── BUNDLE CARDS ──────────────────────────────────────────────────────────── */

/* 1. Grid: stretch so all three cards reach the same height */
.adp-cat-bundle-grid {
  align-items: stretch !important;
}

/* 2. Card: fill grid cell, ensure flex-column layout */
.adp-cat-bundle-card {
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
}

/* 3. Title: consistent top spacing after badge area */
.adp-cat-bundle-card h3 {
  margin-top: 0.5rem;   /* space below badge for featured/vegan cards */
}

/* 4. Subtitle: consistent min-height so titles start at same vertical position */
.adp-cat-bundle-sub {
  min-height: 2.4rem;
}

/* 5. Items list: flex-grow so pricing tables start at same vertical position */
.adp-cat-bundle-items {
  flex: 1 1 auto !important;
  min-height: 3.5rem;
}

/* 6. Pricing table: consistent bottom margin before CTA */
.adp-cat-bundle-pricing {
  margin-bottom: 1.5rem !important;
}

/* 7. CTA: pin to bottom, equal visual weight across all three cards */
.adp-cat-bundle-cta {
  margin-top: auto !important;
  min-height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
  font-size: 0.82rem !important;
}

/* 8. Non-featured bundle cards: outline CTA should match visual weight of primary */
.adp-cat-bundle-card .adp-btn-outline-dark.adp-cat-bundle-cta {
  /* Already uses adp-btn-outline-dark — ensure border is visible and not faint */
  border-width: 2px !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════════════════════════ */

/* Hero — dark with overlay text, no background image needed */
.adp-contact-hero {
  background: var(--adp-black);
  height: auto !important;
  min-height: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 2rem 3rem;
}
.adp-contact-hero-overlay {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
.adp-contact-hero-overlay .adp-eyebrow {
  color: var(--adp-orange);
  display: block;
  margin-bottom: 0.75rem;
}
.adp-contact-hero-overlay h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #fff;
  line-height: 0.95;
  margin-bottom: 1rem;
}
.adp-contact-hero-overlay p {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.65);
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Section wrapper */
.adp-contact-section {
  background: var(--adp-cream);
  padding: 5rem 2rem;
}
.adp-contact-container {
  max-width: 1160px;
  margin: 0 auto;
}

/* Two-column grid: form left, info right */
.adp-contact-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 4rem;
  align-items: start;
}

/* ── Form column ─────────────────────────────────────────────────────────── */
.adp-contact-form-note {
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: #7a6f68;
  line-height: 1.6;
  margin-bottom: 2rem;
  padding: 1rem 1.25rem;
  background: rgba(0,0,0,0.04);
  border-left: 3px solid var(--adp-orange);
}
.adp-contact-form-note a {
  color: var(--adp-orange);
  font-weight: 600;
  text-decoration: underline;
}

.adp-contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.adp-cf-row {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.adp-cf-row-2 {
  flex-direction: row;
  gap: 1rem;
}
.adp-cf-row-2 .adp-cf-field {
  flex: 1;
}
.adp-cf-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.adp-cf-field label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--adp-black);
}
.adp-cf-field input,
.adp-cf-field select,
.adp-cf-field textarea {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--adp-black);
  background: #fff;
  border: 1.5px solid rgba(0,0,0,0.15);
  padding: 0.75rem 1rem;
  border-radius: 0;
  outline: none;
  transition: border-color 0.15s;
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
.adp-cf-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}
.adp-cf-field input:focus,
.adp-cf-field select:focus,
.adp-cf-field textarea:focus {
  border-color: var(--adp-orange);
}
.adp-cf-field textarea {
  resize: vertical;
  min-height: 120px;
}

.adp-cf-catering-note {
  background: #fff7f0;
  border: 1px solid rgba(210,100,30,0.2);
  padding: 0.9rem 1.1rem;
}
.adp-cf-catering-note p {
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: #7a4010;
  margin: 0;
  line-height: 1.5;
}
.adp-cf-catering-note a {
  color: var(--adp-orange);
  font-weight: 600;
  text-decoration: underline;
}

.adp-cf-submit {
  align-self: flex-start;
  min-width: 200px;
  padding: 0.9rem 2rem;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  cursor: pointer;
  border: none;
}

.adp-cf-success {
  background: #f0faf0;
  border: 1px solid #5a9e5a;
  padding: 1rem 1.25rem;
  margin-top: 0.5rem;
}
.adp-cf-success p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #2a6e2a;
  margin: 0;
}

/* ── Info column ─────────────────────────────────────────────────────────── */
.adp-contact-info-col {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.adp-contact-info-block {
  background: var(--adp-black);
  padding: 1.75rem 1.75rem;
  color: #fff;
}
.adp-contact-info-block h3 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--adp-orange);
  margin-bottom: 0.75rem;
}
.adp-contact-info-block p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.65;
  margin-bottom: 0.4rem;
}
.adp-contact-info-block p:last-of-type {
  margin-bottom: 0;
}
.adp-contact-info-block a {
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: color 0.15s;
}
.adp-contact-info-block a:hover {
  color: var(--adp-orange);
}
.adp-contact-link-btn {
  display: inline-block;
  margin-top: 1rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.3);
  padding: 0.5rem 1.1rem;
  text-decoration: none !important;
  transition: border-color 0.15s, color 0.15s;
}
.adp-contact-link-btn:hover {
  border-color: var(--adp-orange);
  color: var(--adp-orange) !important;
}
.adp-contact-quick-links {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.adp-contact-quick-links .adp-contact-link-btn {
  margin-top: 0.6rem;
}

/* ── Mobile ──────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .adp-contact-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .adp-cf-row-2 {
    flex-direction: column;
  }
  .adp-contact-section {
    padding: 3rem 1.25rem;
  }
  .adp-contact-hero {
    padding: 4rem 1.25rem 3rem;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   LAUNCH BLOCKER FIXES — Final Production QA
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── FIX 1: Contact hero — clear fixed nav (announce bar ~32px + nav ~64px = ~96px) ── */
/* Reduced hero height — still clears fixed header */
.adp-contact-hero {
  padding-top: 6rem !important;
}
@media (max-width: 768px) {
  .adp-contact-hero {
    padding-top: 5rem !important;
  }
}

/* ── FIX 2: Lone Star Fiesta package card CTA — make both CTAs orange ── */
/* Both "ASK US TO BUILD THIS ORDER" buttons should be equally clickable and loud */
.adp-cat-pkg-card .adp-btn-outline-dark.adp-cat-pkg-cta {
  background: var(--adp-orange) !important;
  color: #fff !important;
  border-color: var(--adp-orange) !important;
}
.adp-cat-pkg-card .adp-btn-outline-dark.adp-cat-pkg-cta:hover {
  background: #c45a10 !important;
  border-color: #c45a10 !important;
}

/* ── FIX 3: Scroll-margin-top audit — all major sections across all pages ── */
/* Fixed header total height: ~96px. Use 104px for safe clearance. */

/* Homepage sections */
.adp-how,
.adp-location,
.adp-press,
.adp-reviews,
.adp-final-cta,
.adp-food-hero {
  scroll-margin-top: 104px;
}

/* Catering page sections */
.adp-cat-who,
.adp-cat-packages,
.adp-cat-bundles,
.adp-cat-how,
.adp-cat-faq,
.adp-cat-final-cta,
[id="adp-catering-quote"] {
  scroll-margin-top: 104px;
}

/* Menu page sections */
.adp-menu-intro,
.adp-menu-section,
.adp-menu-start-here {
  scroll-margin-top: 104px;
}

/* Contact page sections */
.adp-contact-section,
.adp-contact-grid {
  scroll-margin-top: 104px;
}

/* Generic catch-all: any section with an id that might be anchor-linked */
section[id] {
  scroll-margin-top: 104px;
}

/* ══════════════════════════════════════════════════════════════════════════════
   ABOUT PAGE HERO — History Composite
   ══════════════════════════════════════════════════════════════════════════════ */

/* Taller hero to show the full composite narrative */
.adp-about-hero {
  height: 72vh !important;
  min-height: 520px !important;
}
@media (max-width: 768px) {
  .adp-about-hero {
    height: 65vh !important;
    min-height: 460px !important;
  }
}

/* Image: show center of composite — trailer left, storefront center */
.adp-about-hero picture img {
  object-position: center center !important;
}
@media (max-width: 768px) {
  /* Mobile crop is already left-focused (trailer + storefront) */
  .adp-about-hero picture img {
    object-position: center center !important;
  }
}

/* Overlay: directional gradient — dark on left/bottom where text sits,
   lighter toward right so scrapbook panel remains visible */
.adp-about-hero-overlay {
  background: linear-gradient(
    105deg,
    rgba(10, 10, 10, 0.82) 0%,
    rgba(10, 10, 10, 0.65) 40%,
    rgba(10, 10, 10, 0.25) 70%,
    rgba(10, 10, 10, 0.10) 100%
  ) !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 0 4rem 3.5rem !important;
  text-align: left !important;
  max-width: none !important;
}
@media (max-width: 768px) {
  .adp-about-hero-overlay {
    background: linear-gradient(
      180deg,
      rgba(10, 10, 10, 0.20) 0%,
      rgba(10, 10, 10, 0.75) 55%,
      rgba(10, 10, 10, 0.90) 100%
    ) !important;
    padding: 0 1.5rem 2.5rem !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
  }
}

/* Eyebrow */
.adp-about-hero-overlay .adp-eyebrow {
  color: var(--adp-orange);
  display: block;
  margin-bottom: 0.75rem;
}

/* Headline — slightly smaller than default page hero to fit two lines cleanly */
.adp-about-hero-overlay h1 {
  font-size: clamp(2.4rem, 4.5vw, 4rem) !important;
  line-height: 0.95 !important;
  margin-bottom: 1rem !important;
  max-width: 560px;
}

/* Subhead */
.adp-about-hero-overlay p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  max-width: 480px;
  margin-bottom: 1.5rem !important;
  color: rgba(255,255,255,0.82) !important;
}

/* CTA */
.adp-about-hero-overlay .adp-btn-primary {
  display: inline-block;
}

/* ══════════════════════════════════════════════════════════════════════════════
   BUNDLE CARD CTAs — all three cards use orange primary button
   ══════════════════════════════════════════════════════════════════════════════ */

/* Override outline style on all bundle CTAs to filled orange primary */
.adp-cat-bundle-card .adp-cat-bundle-cta,
.adp-cat-bundle-card .adp-btn-outline-dark.adp-cat-bundle-cta,
.adp-cat-bundle-card a.adp-cat-bundle-cta {
  background: var(--adp-orange) !important;
  color: #fff !important;
  border-color: var(--adp-orange) !important;
  border-width: 2px !important;
}

.adp-cat-bundle-card .adp-cat-bundle-cta:hover,
.adp-cat-bundle-card .adp-btn-outline-dark.adp-cat-bundle-cta:hover,
.adp-cat-bundle-card a.adp-cat-bundle-cta:hover {
  background: #c45a10 !important;
  border-color: #c45a10 !important;
  color: #fff !important;
}

/* Plant-Based bundle CTA — green fill */
.adp-btn-plant-based,
a.adp-btn-plant-based {
  background: #3a7d44 !important;
  border-color: #3a7d44 !important;
  color: #fff !important;
}
.adp-btn-plant-based:hover,
a.adp-btn-plant-based:hover {
  background: #2e6336 !important;
  border-color: #2e6336 !important;
  color: #fff !important;
}

/* Homepage hero — torta image: picture element fill + object-position */
.adp-hero picture.adp-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.adp-hero picture.adp-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
  display: block;
}
@media (max-width: 768px) {
  .adp-hero picture.adp-hero-img img {
    object-position: center 45%;
  }
}

/* ── Homepage hero: desktop image swap via CSS background (WP strips picture/source elements) ── */
/* Mobile default: use the img tag (object-fit cover) */
.adp-hero .adp-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
  display: block;
}

/* Desktop: hide the mobile img, use background-image on the hero container */
@media (min-width: 769px) {
  .adp-hero {
    background-image: url('https://austindailypress.kinsta.cloud/wp-content/uploads/adp/adp_homepage_hero_desktop.jpg');
    background-size: cover;
    background-position: center 45%;
    background-repeat: no-repeat;
  }
  .adp-hero .adp-hero-img {
    opacity: 0;
    pointer-events: none;
  }
}
