/* ==========================================================================
   MEATING BBQ — CONTENT STYLES (page components used inside Divi modules)
   Header/footer/mobile-menu styles live in Divi > Theme Options > Custom CSS.
   Loaded by mu-plugins/meating-header.php
   ========================================================================== */

/* === TYPOGRAPHY DEFAULTS — Divi can override per-module === */
:where(body, p) { font-size: 16px; line-height: 1.7; }

/* === Body content phone/address inline links inherit color === */
#main-content .et_pb_text a[href^="tel:"],
#main-content .et_pb_text a[href*="maps.app"],
#main-content .et_pb_text a[href*="google.com/maps"] {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#main-content .et_pb_text a[href^="tel:"]:hover,
#main-content .et_pb_text a[href*="maps.app"]:hover,
#main-content .et_pb_text a[href*="google.com/maps"]:hover {
  color: #C8102E;
}

/* === SOFT 16px DEFAULT: body text — Divi VB can override === */
:where(.et_pb_section p,
.et_pb_text p,
.et_pb_text_inner p,
.et_pb_blurb_description p,
.et_pb_blurb_description) {
  font-size: 16px;
}

/* === Hero slider: autoplay fade + Ken Burns zoom + progress bar === */
.home .et_pb_section.et_pb_section_0 {
  position: relative;
  overflow: hidden;
}
.meating-hero-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.meating-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.4s ease-in-out;
  overflow: hidden;
}
.meating-hero-slide.active {
  opacity: 1;
}
.meating-hero-slide-inner {
  position: absolute;
  inset: -3%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1) translate(0, 0);
  transform-origin: center center;
  will-change: transform;
}
/* Ken Burns: slow zoom while slide is active */
.meating-hero-slide.active .meating-hero-slide-inner {
  animation: meatingKenBurns 9s ease-out forwards;
}
@keyframes meatingKenBurns {
  0%   { transform: scale(1.0) translate(0, 0); }
  100% { transform: scale(1.10) translate(-1.5%, -1%); }
}

/* Hero content above slider */
.home .et_pb_section.et_pb_section_0 > .et_pb_row {
  position: relative;
  z-index: 2;
}

/* === Progress bar (bottom right) === */
.meating-hero-progress {
  position: absolute;
  bottom: 28px;
  right: 32px;
  width: 220px;
  height: 4px;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 2px;
  overflow: hidden;
  z-index: 5;
  pointer-events: none;
}
.meating-hero-progress-fill {
  height: 100%;
  width: 0%;
  background: #FAF6EE;
  border-radius: 2px;
}
@media (max-width: 600px) {
  .meating-hero-progress {
    width: 140px;
    bottom: 18px;
    right: 18px;
  }
}

/* AYCE Includes lists */
.et_pb_section .ayce-list-group { margin-bottom: 26px; }
.ayce-list-group:last-child { margin-bottom: 0; }
.et_pb_section .ayce-list-heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 500;
  color: #1A1A1A !important;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #E5DFD0;
  letter-spacing: -0.01em;
}
.et_pb_section .ayce-list-body {
  font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
  font-size: 15px !important;
  color: #3D3935 !important;
  line-height: 1.75em;
  margin: 0;
  letter-spacing: 0.1px;
}

/* === ORDER DRAWER START === */
.meating-order-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10,10,10,0.72);
  opacity: 0;
  pointer-events: none;
  z-index: 2147483646;
  transition: opacity .3s ease;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.meating-order-backdrop.is-open { opacity: 1; pointer-events: auto; }

.meating-order-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 440px;
  max-width: 100vw;
  background: #1A1A1A;
  color: #FAF6EE;
  z-index: 2147483647;
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.22,.61,.36,1);
  display: flex;
  flex-direction: column;
  font-family: 'Hanken Grotesk', system-ui, -apple-system, sans-serif !important;
  box-shadow: -12px 0 40px rgba(0,0,0,0.35);
}
.meating-order-drawer.is-open { transform: translateX(0); }
@media (max-width: 520px) {
  .meating-order-drawer { width: 100vw; }
}

.meating-order-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 26px 26px 22px;
  border-bottom: 1px solid rgba(250,246,238,0.08);
}
.meating-order-titles { display: flex; flex-direction: column; gap: 4px; }
.meating-order-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 500;
  color: #FAF6EE !important;
  margin: 0 !important;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.meating-order-sub {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  color: #B8B2A6 !important;
  margin: 0 !important;
  letter-spacing: 0.5px;
}
.meating-order-close {
  background: transparent;
  border: 0;
  color: #FAF6EE;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background .2s ease, color .2s ease;
  margin-top: -4px;
}
.meating-order-close:hover { background: rgba(250,246,238,0.08); color: #cd9c70; }

.meating-order-tabs {
  display: flex;
  gap: 8px;
  padding: 18px 26px 18px;
  border-bottom: 1px solid rgba(250,246,238,0.08);
}
.meating-order-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 999px;
  background: transparent;
  color: #FAF6EE;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  border: 1px solid rgba(250,246,238,0.25);
  cursor: pointer;
  transition: all .22s ease;
}
.meating-order-tab svg { display: none; }
.meating-order-tab.is-active {
  background: #C8102E;
  color: #FFFFFF;
  border-color: #C8102E;
}
.meating-order-tab.is-active svg { display: inline-block; }
.meating-order-tab:hover:not(.is-active) { border-color: #cd9c70; color: #cd9c70; }

.meating-order-list {
  flex: 1;
  overflow-y: auto;
  padding: 24px 26px 12px;
}
.meating-order-list-label {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #cd9c70 !important;
  margin: 0 0 18px !important;
}

.meating-order-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 16px;
  border-radius: 10px;
  text-decoration: none !important;
  color: #FAF6EE !important;
  border: 1px solid rgba(250,246,238,0.06);
  background: rgba(250,246,238,0.02);
  margin-bottom: 12px;
  transition: all .22s ease;
}
.meating-order-row:hover {
  border-color: rgba(205,156,112,0.5);
  background: rgba(205,156,112,0.06);
  transform: translateX(-2px);
}
.meating-order-row:last-child { margin-bottom: 0; }

.meating-order-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  background: #FAF6EE;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.meating-order-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.meating-order-icon-chowbus img { object-fit: contain; padding: 4px; background: #ED2856; }
.meating-order-icon-chowbus { background: #ED2856; }

.meating-order-info { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.meating-order-name {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700;
  color: #FAF6EE !important;
  letter-spacing: 0.1px;
  line-height: 1.2;
}
.meating-order-meta {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  color: #B8B2A6 !important;
  font-weight: 400;
  line-height: 1.3;
}
.meating-order-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(31,181,125,0.18);
  color: #5fd29c !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  margin-top: 5px;
}
.meating-order-arrow { color: #6B6660; display: inline-flex; align-items: center; transition: color .22s ease, transform .22s ease; }
.meating-order-row:hover .meating-order-arrow { color: #cd9c70; transform: translateX(3px); }

.meating-order-foot {
  padding: 18px 26px 24px;
  border-top: 1px solid rgba(250,246,238,0.08);
  text-align: center;
}
.meating-order-foot p {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  color: #B8B2A6 !important;
  margin: 0 !important;
  line-height: 1.55em;
}
.meating-order-foot a {
  color: #cd9c70 !important;
  text-decoration: none !important;
  font-weight: 600;
}
.meating-order-foot a:hover { color: #FAF6EE !important; }

/* === ORDER DRAWER END === */

/* === FIX: Neutralize Divi's white text wrapper in dark sections === */
.et_pb_section[style*="background-color: #1A1A1A"] .et_pb_text.et_pb_bg_layout_light,
.et_pb_section.et_pb_with_background[class*="background_color"] .et_pb_text.et_pb_bg_layout_light {
  background: transparent !important;
  padding: 0 !important;
}
/* Belt + suspenders — explicitly transparent for hero/membership/CTA et_pb_text */
.et_pb_section_0 .et_pb_text,
.et_pb_section_0 .et_pb_text .et_pb_text_inner {
  background: transparent !important;
}

/* === MENU AGGRESSIVE OVERRIDES === */
/* Win specificity battles vs Divi inline + base styles */

/* AYCE list bodies */
body .et_pb_section .ayce-list-body { font-size: 15px !important; }
body .et_pb_section .ayce-list-heading { font-size: 24px !important; }

/* === END MENU AGGRESSIVE === */

/* === ABSOLUTE FONT-SIZE FLOOR (14px) — sitewide safety net === */
/* Body paragraph text must be ≥16px (already enforced earlier).
   Everything else must be ≥14px. */
body, body p, body span, body a, body li, body div, body label, body small {
  /* Browser default ~16px — don't force here, just provide a minimum where text is shrunk */
}
/* Catch any module that tries to render below 14px via inline style or theme defaults */
.et_pb_module .et_pb_text_inner *:not(sup):not(sub),
.et_pb_module p,
.et_pb_module span:not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]),
.et_pb_module a:not(.fa):not(.fas):not(.far):not(.fab) {
  /* If computed size somehow drops below 14, this is the absolute backstop.
     We don't set font-size here because it would override legitimate larger sizes;
     instead the audit + explicit rules below handle the small-class cases. */
}
/* Floors for our custom small-label classes — these are Meating custom components,
   not Divi modules, so the !important is preserved for visual consistency. */
:where(.meating-order-badge,
.meating-order-list-label,
.meating-order-sub,
.meating-order-foot p,
.meating-order-meta,
.menu-part-label,
.price-card-tier,
.price-card-tier-dark,
.price-card-hours,
.price-card-hours-dark,
.price-card-kids,
.price-card-kids-dark,
.delivery-label,
.culture-tag,
.alacarte-order-services) {
  font-size: 14px;
}
/* Buttons stay 16px+ (we set 18px earlier) */
/* Body paragraph copy in any section stays 16px+ (already enforced above) */
/* === END ABSOLUTE FONT-SIZE FLOOR === */

/* === DRAWER Z-INDEX SAFETY === */
#meating-order-backdrop { z-index: 2147483646 !important; }
#meating-order-drawer { z-index: 2147483647 !important; }
/* When drawer is open, demote sticky header so the drawer overlays it */
html.meating-drawer-open .meating-header,
html.meating-drawer-open #wpadminbar {
  z-index: 1 !important;
}

/* === ZERO BORDER RADIUS on every button site-wide === */
body .meating-order-pill,
body .order-cta-btn,
body .reserve-cta-btn,
body button,
body input[type="submit"],
body input[type="button"],
body .delivery-btn,
body .meating-order-tab {
  border-radius: 0 !important;
}
body .meating-order-icon { border-radius: 0 !important; }

/* === GALLERY MOSAIC START === */
/* CSS Columns — Pinterest-style true masonry; never has empty gaps */

.mosaic-gallery {
  column-count: 4;
  column-gap: 14px;
  width: 100%;
}

.mosaic-tile {
  display: block;
  width: 100%;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin: 0 0 14px;
  overflow: hidden;
  background: #1A1A1A;
  position: relative;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(26,26,26,0.08);
  transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease;
}

.mosaic-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(26,26,26,0.22);
  z-index: 2;
}

.mosaic-tile img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
}

.mosaic-tile:hover img {
  transform: scale(1.04);
}

/* Responsive */
@media (max-width: 1100px) {
  .mosaic-gallery { column-count: 3; column-gap: 12px; }
  .mosaic-tile { margin-bottom: 12px; }
}
@media (max-width: 700px) {
  .mosaic-gallery { column-count: 2; column-gap: 8px; }
  .mosaic-tile { margin-bottom: 8px; }
}

/* === END GALLERY MOSAIC === */

/* === CAREERS PAGES === */

/* Job listing cards on /careers/ */
.careers-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.careers-card {
  display: block;
  padding: 36px 36px 32px;
  background: #FFFFFF;
  border: 1px solid #E5DFD0;
  border-left: 4px solid #C8102E;
  text-decoration: none !important;
  color: #1A1A1A !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  font-family: 'Hanken Grotesk', sans-serif !important;
}
.careers-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(26,26,26,0.10);
  border-left-color: #a50d25;
}
.careers-card-tag {
  display: inline-block;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #cd9c70;
  margin-bottom: 8px;
}
.careers-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 500;
  color: #1A1A1A !important;
  margin: 0 0 12px !important;
  line-height: 1.1;
}
.careers-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 0 0 16px !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  color: #6B6660 !important;
}
.careers-card-meta i { color: #C8102E; margin-right: 6px; }
.careers-card-desc {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 16px !important;
  color: #3D3935 !important;
  line-height: 1.65 !important;
  margin: 0 0 22px !important;
}
.careers-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C8102E !important;
}
.careers-card-cta i { transition: transform .25s ease; }
.careers-card:hover .careers-card-cta i { transform: translateX(4px); }

/* Perk tiles */
.careers-perk {
  text-align: center;
  padding: 20px 12px;
}
.careers-perk-icon {
  width: 60px; height: 60px;
  margin: 0 auto 16px;
  background: #FAF6EE;
  color: #C8102E;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
  border: 2px solid #cd9c70;
}
.careers-perk h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500;
  color: #1A1A1A !important;
  margin: 0 0 8px !important;
}
.careers-perk p {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 15px !important;
  color: #3D3935 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Job page hero meta row */
.job-hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 15px;
  color: #F0EADD;
}
.job-hero-meta i { color: #cd9c70; margin-right: 6px; }
.job-hero-meta .jhm-divider {
  width: 1px; height: 16px;
  background: rgba(240,234,221,0.4);
  display: inline-block;
}
@media (max-width: 640px) {
  .job-hero-meta { gap: 10px; font-size: 13px; }
  .job-hero-meta .jhm-divider { display: none; }
}

/* WPForms styling on job apply page */
.meating-application-wrap { max-width: 720px; margin: 0 auto; }
.meating-application-wrap .wpforms-container {
  font-family: 'Hanken Grotesk', sans-serif !important;
}
.meating-application-wrap .wpforms-container label,
.meating-application-wrap .wpforms-field-label {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600;
  color: #1A1A1A !important;
  margin-bottom: 8px !important;
}
.meating-application-wrap .wpforms-container .wpforms-field-description,
.meating-application-wrap .wpforms-container .wpforms-field-sublabel {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 13px !important;
  color: #6B6660 !important;
}
.meating-application-wrap .wpforms-container input[type="text"],
.meating-application-wrap .wpforms-container input[type="email"],
.meating-application-wrap .wpforms-container input[type="tel"],
.meating-application-wrap .wpforms-container textarea,
.meating-application-wrap .wpforms-container select {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 16px !important;
  color: #1A1A1A !important;
  background: #FAF6EE !important;
  border: 1px solid #E5DFD0 !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  width: 100% !important;
  transition: border-color .2s ease;
}
.meating-application-wrap .wpforms-container input:focus,
.meating-application-wrap .wpforms-container textarea:focus,
.meating-application-wrap .wpforms-container select:focus {
  border-color: #C8102E !important;
  outline: 0 !important;
}
.meating-application-wrap .wpforms-container .wpforms-field {
  padding: 12px 0 !important;
}
.meating-application-wrap .wpforms-container button[type="submit"],
.meating-application-wrap .wpforms-container .wpforms-submit {
  background: #C8102E !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 16px 44px !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s ease !important;
}
.meating-application-wrap .wpforms-container button[type="submit"]:hover {
  background: #a50d25 !important;
}
.meating-application-wrap .wpforms-container .wpforms-confirmation-container-full {
  background: #FAF6EE !important;
  border: 1px solid #cd9c70 !important;
  border-radius: 0 !important;
  padding: 20px 24px !important;
  color: #1A1A1A !important;
}

/* Ul/ol styling in job body */
body.page-id-258 .et_pb_text ul li,
body.parent-pageid-257 .et_pb_text ul li {
  margin-bottom: 8px !important;
  padding-left: 4px !important;
}

/* Responsive careers cards */
@media (max-width: 640px) {
  .careers-card { padding: 24px 20px; }
  .careers-card-title { font-size: 26px !important; }
  .careers-card-meta { gap: 10px; flex-direction: column; }
}

/* === END CAREERS === */

/* === HOME PILLARS 2X === */
/* Three Reasons blurb images — 2X taller, full-bleed within the column */
body.page-id-39 .et_pb_blurb .et_pb_main_blurb_image,
body.home .et_pb_blurb .et_pb_main_blurb_image {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 24px !important;
}
body.page-id-39 .et_pb_blurb .et_pb_main_blurb_image img,
body.home .et_pb_blurb .et_pb_main_blurb_image img,
body.page-id-39 .et_pb_blurb .et_pb_image_wrap,
body.home .et_pb_blurb .et_pb_image_wrap,
body.page-id-39 .et_pb_blurb .et_pb_image_wrap img,
body.home .et_pb_blurb .et_pb_image_wrap img {
  width: 100% !important;
  max-width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}
@media (max-width: 980px) {
  body.page-id-39 .et_pb_blurb .et_pb_main_blurb_image img,
  body.home .et_pb_blurb .et_pb_main_blurb_image img,
  body.page-id-39 .et_pb_blurb .et_pb_image_wrap img,
  body.home .et_pb_blurb .et_pb_image_wrap img { height: 280px !important; }
}
@media (max-width: 600px) {
  body.page-id-39 .et_pb_blurb .et_pb_main_blurb_image img,
  body.home .et_pb_blurb .et_pb_main_blurb_image img,
  body.page-id-39 .et_pb_blurb .et_pb_image_wrap img,
  body.home .et_pb_blurb .et_pb_image_wrap img { height: 240px !important; }
}
/* === END HOME PILLARS === */

/* === FLYER PRICING CARD === */
/* Single stacked dark card matching the printed flyer */
body .et_pb_section .flyer-card {
  background: #1A1A1A;
  background-image:
    radial-gradient(ellipse at 20% 10%, rgba(255,255,255,0.03) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 90%, rgba(255,255,255,0.025) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  color: #FAF6EE;
  padding: 56px 48px 52px;
  text-align: center;
  font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
  border-top: 4px solid #C8102E;
  box-shadow: 0 20px 50px rgba(26,26,26,0.25);
}
body .et_pb_section .flyer-kanji {
  font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif !important;
  font-size: 44px !important;
  font-weight: 700;
  color: #FAF6EE !important;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 6px !important;
}
body .et_pb_section .flyer-kanji-sub {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: #cd9c70 !important;
  margin: 0 0 44px !important;
}
body .et_pb_section .flyer-tier { padding: 4px 0; }
body .et_pb_section .flyer-tier-title {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 40px !important;
  font-weight: 900 !important;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #E8304A !important;
  margin: 0 0 8px !important;
  line-height: 1;
}
body .et_pb_section .flyer-tier-hours {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 1.5px;
  color: #F0EADD !important;
  margin: 0 0 16px !important;
}
body .et_pb_section .flyer-rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(205,156,112,0.7), transparent);
  margin: 0 auto 20px;
  width: 100%;
}
body .et_pb_section .flyer-rule-mid {
  margin: 36px auto 36px;
  background: linear-gradient(90deg, transparent, rgba(250,246,238,0.35), transparent);
}
body .et_pb_section .flyer-price-row {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin: 6px 0 16px;
}
body .et_pb_section .flyer-price {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 112px !important;
  font-weight: 900;
  line-height: 0.9;
  color: #FAF6EE !important;
  letter-spacing: -0.03em;
  display: inline-flex;
  align-items: flex-start;
}
body .et_pb_section .flyer-dollar {
  font-size: 48px !important;
  font-weight: 800;
  margin-top: 8px;
  margin-right: 2px;
}
body .et_pb_section .flyer-cents {
  font-size: 112px !important;
}
body .et_pb_section .flyer-adults {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700;
  letter-spacing: 3px;
  color: #cd9c70 !important;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(0deg);
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
}
body .et_pb_section .flyer-kids {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #FAF6EE !important;
  margin: 0 0 6px !important;
}
body .et_pb_section .flyer-kids-price { color: #cd9c70 !important; }
body .et_pb_section .flyer-free {
  font-family: 'Hanken Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #FAF6EE !important;
  margin: 0 !important;
}
body .et_pb_section .flyer-free-word { color: #C8102E !important; }

@media (max-width: 640px) {
  body .et_pb_section .flyer-card { padding: 40px 22px 36px; }
  body .et_pb_section .flyer-kanji { font-size: 34px !important; }
  body .et_pb_section .flyer-tier-title { font-size: 30px !important; letter-spacing: 4px; }
  body .et_pb_section .flyer-tier-hours { font-size: 14px !important; letter-spacing: 0.5px; }
  body .et_pb_section .flyer-price,
  body .et_pb_section .flyer-cents { font-size: 76px !important; }
  body .et_pb_section .flyer-dollar { font-size: 34px !important; margin-top: 6px; }
  body .et_pb_section .flyer-adults { font-size: 14px !important; letter-spacing: 2px; }
  body .et_pb_section .flyer-kids,
  body .et_pb_section .flyer-free { font-size: 14px !important; letter-spacing: 1px; }
}
/* === END FLYER === */

/* === HOME PILLAR BLURBS — spacing only (typography is set on the modules) === */
body.home .et_pb_blurb .et_pb_module_header { margin-bottom: 10px; }
body.home .et_pb_blurb { padding-top: 0; }
