/* MenuSpot premium skin. Visual only: links and copy stay untouched. */
:root {
  --ms-ink: #1c1714;
  --ms-muted: #6f675f;
  --ms-red: #b4232a;
  --ms-red-deep: #8d1c22;
  --ms-paper: #f4f0ea;
  --ms-card: #ffffff;
  --ms-line: rgba(28, 23, 20, 0.08);
  --ms-shadow: 0 16px 40px rgba(48, 28, 18, 0.08);
  --ms-shadow-hover: 0 22px 48px rgba(48, 28, 18, 0.14);
  --ms-radius: 22px;
}

/* Faster paint for long listing grids — skip offscreen card layout work */
.kb-query-item,
.ms-filter-card,
.kadence-posts-list > li,
.ms-article-grid > .ms-article-card,
.ms-loc-card {
  content-visibility: auto;
  contain-intrinsic-size: 320px 400px;
}

html {
  scroll-behavior: smooth;
}

body,
button,
input,
textarea,
select {
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif !important;
  color: var(--ms-ink);
}

body {
  background: var(--ms-paper) !important;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.kt-adv-heading,
.image-overlay-title,
.kb-portfolio-loop-title {
  font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif !important;
  letter-spacing: -0.03em;
}

a {
  transition: color 0.2s ease;
}

/* Header */
#masthead {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 252, 248, 0.9) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 1px 0 rgba(28, 23, 20, 0.06);
}

.site-main-header-inner-wrap {
  min-height: 78px;
}

.custom-logo {
  width: auto !important;
  height: 48px !important;
}

#primary-menu > li > a {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
}

.main-navigation .sub-menu {
  border: 1px solid var(--ms-line) !important;
  border-radius: 16px !important;
  padding: 8px !important;
  box-shadow: var(--ms-shadow-hover) !important;
  background: #fff !important;
}

.header-navigation .header-menu-container ul ul.sub-menu,
.header-navigation .header-menu-container ul ul.submenu,
.main-navigation .sub-menu,
#primary-menu .sub-menu {
  background: #fff !important;
}

.header-navigation .header-menu-container ul ul li.menu-item > a,
.main-navigation .sub-menu a,
.header-navigation .sub-menu a,
#primary-menu .sub-menu a {
  border-radius: 10px;
  font-weight: 600;
  color: #1c1714 !important;
  background: transparent !important;
}

.header-navigation .header-menu-container ul ul li.menu-item > a:hover,
.header-navigation .header-menu-container ul ul li.menu-item > a:focus,
.header-navigation .header-menu-container ul ul li.menu-item:hover > a,
.header-navigation .header-menu-container ul ul li.menu-item.current-menu-item > a,
.header-navigation .header-menu-container ul ul li.current-menu-item > a:hover,
.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus,
.main-navigation .sub-menu li:hover > a,
.header-navigation .sub-menu a:hover,
.header-navigation .sub-menu a:focus,
#primary-menu .sub-menu a:hover,
#primary-menu .sub-menu a:focus,
#primary-menu .sub-menu li:hover > a {
  color: #1c1714 !important;
  background: #f3eee8 !important;
}

.loop-entry .entry-title a:hover,
.loop-entry .entry-title a:focus,
.kb-query-item .kb-advanced-heading-link:hover,
.kb-query-item .kb-advanced-heading-link:hover h2,
.kb-query-item h2:hover,
.loop-entry .category-links a:hover,
.entry-taxonomies .category-links a:hover,
.loop-entry .post-more-link:hover {
  color: #1c1714 !important;
}

/* Homepage sections */
.wp-block-kadence-advancedheading,
.kt-adv-heading {
  font-weight: 750;
}

.hls-underline,
a.hls-underline,
.wp-block-accordion-heading__toggle-title {
  text-decoration: none !important;
}

.wp-block-accordion {
  display: grid;
  gap: 12px;
  margin: 18px 0 28px;
}

.wp-block-accordion-item {
  background: var(--ms-card);
  border: 1px solid var(--ms-line) !important;
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(48, 28, 18, 0.04);
}

.wp-block-accordion-heading__toggle {
  padding: 18px 22px !important;
  width: 100%;
}

.wp-block-accordion-heading__toggle-title {
  letter-spacing: 0.12em !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
}

.wp-block-accordion-panel {
  padding: 0 22px 18px !important;
  color: var(--ms-muted);
  line-height: 1.7;
}

.kb-search-form .kb-search-input-wrapper {
  background: #fff;
  border-radius: 999px;
  box-shadow: var(--ms-shadow);
  border: 1px solid var(--ms-line);
  overflow: hidden;
}

.kb-search-input {
  min-height: 58px !important;
  border: 0 !important;
  background: transparent !important;
  padding-left: 22px !important;
  font-size: 16px !important;
}

.kb-search-icon-submit {
  border-radius: 999px !important;
  margin-right: 6px;
}

.kb-button,
.wp-block-button__link,
.kt-button {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 10px 24px rgba(180, 35, 42, 0.18);
  transition: transform 0.2s ease, background 0.2s ease !important;
}

.kb-button:hover,
.wp-block-button__link:hover,
.kt-button:hover {
  transform: translateY(-1px);
}

.Homepage-full-width .kb-advanced-slider,
.kb-slider-ratio-12-5 .kb-advanced-slide-inner-wrap {
  border-radius: 0 0 28px 28px;
  overflow: hidden;
}

.kt-image-overlay-wrap,
.kt-block-intrisic {
  border-radius: 22px;
  overflow: hidden;
}

.kt-image-overlay-wrap {
  box-shadow: var(--ms-shadow);
}

.image-overlay-title {
  font-size: 1.55rem !important;
  font-weight: 750 !important;
  text-transform: none !important;
}

.image-overlay-subtitle {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem !important;
  font-weight: 700;
}

.kb-blocks-portfolio-grid-item,
.kb-blocks-portfolio-grid-item-inner-wrap {
  border-radius: 20px;
  overflow: hidden;
}

.kb-blocks-portfolio-grid-item {
  box-shadow: var(--ms-shadow);
}

.kb-portfolio-overlay-color {
  background: linear-gradient(to top, rgba(18, 12, 10, 0.78), rgba(18, 12, 10, 0.05) 58%) !important;
  opacity: 1 !important;
}

.kb-portfolio-content-item-inner,
.kb-portfolio-grid-item-inner .kb-portfolio-content-item-inner {
  opacity: 1 !important;
  transform: none !important;
  justify-content: flex-end !important;
  padding: 18px !important;
}

.kb-portfolio-loop-title {
  color: #fff !important;
  font-size: 1.05rem !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

/* Latest Recipes: each photo stays whole, name sits under the picture */
body.home .kb-portfolio-loop17196_858ef1-61 .kb-blocks-portfolio-grid-item {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 420px !important;
  max-width: 420px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  background: #fff !important;
  overflow: hidden;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kb-blocks-portfolio-grid-item-inner-wrap {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kadence-portfolio-image {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1200 / 630 !important;
  background: #fff !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kadence-portfolio-image-intrisic,
body.home .kb-portfolio-loop17196_858ef1-61 .kadence-portfolio-image-inner-intrisic {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 0 !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kadence-portfolio-image img,
body.home .kb-portfolio-loop17196_858ef1-61 .ms-home-recipe-full,
body.home .kb-portfolio-loop17196_858ef1-61 .ms-home-recipe-split {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kb-portfolio-grid-item-inner {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: #fff !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kb-portfolio-overlay-color,
body.home .kb-portfolio-loop17196_858ef1-61 .kb-portfolio-overlay-border {
  display: none !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kb-portfolio-content-item-inner {
  position: relative !important;
  padding: 12px 14px 14px !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .kb-portfolio-loop-title {
  color: #1c1714 !important;
  text-shadow: none !important;
}

body.home .kb-portfolio-loop17196_858ef1-61 .portfolio-hover-item-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
}

@media (max-width: 900px) {
  body.home .kb-portfolio-loop17196_858ef1-61 .kb-blocks-portfolio-grid-item {
    width: min(420px, 78vw) !important;
    max-width: min(420px, 78vw) !important;
  }
}

/* Blog and archive cards */
.post-archive,
#archive-container.grid-cols {
  gap: 26px !important;
  padding-top: 12px;
  padding-bottom: 36px;
}

.loop-entry.content-bg {
  background: var(--ms-card) !important;
  border: 1px solid var(--ms-line) !important;
  border-radius: var(--ms-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--ms-shadow) !important;
  height: 100%;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.loop-entry.content-bg:hover {
  transform: translateY(-5px);
  box-shadow: var(--ms-shadow-hover) !important;
}

.post-archive .post-thumbnail,
.post-archive .kadence-thumbnail-ratio-2-3,
.post-archive .kadence-thumbnail-ratio-2-3.post-thumbnail,
.kb-posts .post-thumbnail,
.kb-posts .kadence-thumbnail-ratio-2-3,
.kb-posts .kadence-thumbnail-ratio-2-3.post-thumbnail {
  position: relative !important;
  display: block !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
  background: #fff;
  aspect-ratio: 768 / 403;
}

.post-archive .post-thumbnail-inner,
.kb-posts .post-thumbnail-inner {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.post-archive .post-thumbnail img,
.post-archive .post-thumbnail-inner img,
.kb-posts .post-thumbnail img,
.kb-posts .post-thumbnail-inner img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

.loop-entry .entry-content-wrap {
  padding: 18px 20px 20px !important;
}

.loop-entry .entry-taxonomies {
  margin-bottom: 8px;
}

.loop-entry .category-links a,
.entry-taxonomies .category-links a {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(180, 35, 42, 0.1);
  color: var(--ms-red) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.loop-entry .entry-title {
  font-size: 1.18rem !important;
  line-height: 1.28 !important;
  margin: 0 0 8px !important;
  font-weight: 750 !important;
}

.loop-entry .entry-title a {
  color: var(--ms-ink) !important;
  text-decoration: none !important;
}

.loop-entry .entry-meta {
  color: var(--ms-muted) !important;
  font-size: 0.82rem !important;
  margin-bottom: 10px;
}

.loop-entry .entry-summary,
.loop-entry .entry-summary p {
  color: var(--ms-muted) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

.loop-entry .post-more-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: var(--ms-red) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.pagination,
.nav-links {
  gap: 8px;
}

.pagination a,
.pagination span,
.nav-links a,
.nav-links span {
  border-radius: 999px !important;
  min-width: 40px;
}

.wp-block-kadence-query-pagination14730_a2d4a5-33 {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

.wp-block-kadence-query-pagination14730_a2d4a5-33 > :not(.ms-listing-pager) {
  display: none !important;
}

.ms-listing-pager {
  display: flex;
  justify-content: center;
  margin: 28px 0 8px;
}

.ms-listing-pager .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.ms-listing-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #e4dcd3;
  border-radius: 999px;
  background: #fff;
  color: #1c1714 !important;
  font-weight: 700;
  text-decoration: none !important;
}

.ms-listing-pager .page-numbers.current {
  background: #b4232a;
  border-color: #b4232a;
  color: #fff !important;
}

.ms-listing-pager .page-numbers.dots {
  border: 0;
  background: transparent;
  min-width: 24px;
}

.wp-block-kadence-query-card14730_1d547b-a6 .kb-query-grid-wrap.ms-article-grid {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.wp-block-kadence-query-card14730_1d547b-a6 .kb-query-grid-wrap.ms-article-grid::after {
  content: "";
  display: block;
  clear: both;
}

.ms-article-grid > .ms-article-card {
  display: block !important;
  float: left !important;
  width: calc((100% - 44px) / 3) !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 22px 22px 0 !important;
  overflow: hidden !important;
}

.ms-article-grid > .ms-article-card:nth-child(3n) {
  margin-right: 0 !important;
}

.ms-article-grid .ms-article-shot {
  display: block !important;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

@media (max-width: 1024px) {
  .ms-article-grid > .ms-article-card {
    flex-basis: calc((100% - 22px) / 2);
    width: calc((100% - 22px) / 2) !important;
  }
}

@media (max-width: 767px) {
  .ms-article-grid > .ms-article-card {
    flex-basis: 100%;
    width: 100% !important;
  }
}

.ms-article-card {
  align-self: start;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(28, 23, 20, 0.08);
  height: auto !important;
  max-height: none !important;
}

.ms-article-card-link {
  display: block;
  color: #1c1714 !important;
  text-decoration: none !important;
}

.ms-article-grid .ms-article-photo {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  display: block;
  height: 0 !important;
  padding: 0 0 100% !important;
  overflow: hidden;
  background: #f4f0ea;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.ms-article-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.ms-article-card-title {
  margin: 0;
  padding: 16px 18px 20px;
  font-size: 1.15rem;
  line-height: 1.35;
}

.ms-article-card-title a {
  color: #1c1714 !important;
  text-decoration: none !important;
}

/* Interior pages */
.article-post-thumbnail:has(img[src*="banner" i]),
.article-post-thumbnail:has(img[src*="Banner"]),
.article-post-thumbnail.ms-category-featured {
  position: relative !important;
  display: block !important;
  height: 0 !important;
  padding: 0 0 46% !important;
  overflow: hidden !important;
  border-radius: 0 0 28px 28px;
  background: #1c1714;
}

.article-post-thumbnail:has(img[src*="banner" i]) .post-thumbnail-inner,
.article-post-thumbnail:has(img[src*="Banner"]) .post-thumbnail-inner,
.article-post-thumbnail.ms-category-featured .post-thumbnail-inner {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
}

.article-post-thumbnail:has(img[src*="banner" i]) img,
.article-post-thumbnail:has(img[src*="Banner"]) img,
.article-post-thumbnail.ms-category-featured img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 42% !important;
  border-radius: 0 !important;
}

.article-post-thumbnail:has(img[src*="banner" i])::after,
.article-post-thumbnail:has(img[src*="Banner"])::after,
.article-post-thumbnail.ms-category-featured::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(18, 12, 10, 0.45), rgba(18, 12, 10, 0.05) 55%);
  pointer-events: none;
}

.kb-query-item {
  background: #fff !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(48, 28, 18, 0.08) !important;
  border: 1px solid rgba(28, 23, 20, 0.06);
}

.kb-query-item .kb-is-ratio-image,
.ms-premium-photo {
  position: relative !important;
  display: block;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden;
  background: #f7f2ec;
  aspect-ratio: 1 / 1;
}

.kb-query-item .kb-is-ratio-image img,
.ms-premium-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0 !important;
}

.ms-article-card .kb-is-ratio-image img {
  object-fit: cover !important;
}

.wp-block-kadence-query14727_8c67df-f6 .kb-query-grid-wrap {
  height: auto !important;
  grid-auto-rows: max-content !important;
  align-items: start !important;
}

.ms-article-card {
  height: auto !important;
  max-height: none !important;
}

.kb-query-item .kt-inside-inner-col {
  padding: 14px 16px 16px !important;
}

.kb-query-item .kb-advanced-heading-link {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  text-decoration: none !important;
}

.kb-query-item .wp-block-kadence-advancedheading {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #1c1714 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.ms-premium-photo {
  margin: 0;
}

.ms-premium-photo a {
  display: block;
  height: 100%;
}

.entry-hero {
  overflow: hidden;
}

.entry-hero .entry-header,
.entry-hero-container-inner {
  padding-top: 28px;
  padding-bottom: 28px;
}

.entry-hero .entry-title,
.page-title {
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}

.widget .entry-title,
.kt-blocks-post-grid-item .entry-title,
.entry-related .entry-title {
  font-size: 1rem !important;
  line-height: 1.35 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}

.single-content,
.entry-content.single-content {
  font-size: 1.05rem;
  line-height: 1.75;
}

.single-content h2:not(.ms-demoted-h1):not(.wp-block-kadence-advancedheading),
.entry-content h2:not(.ms-demoted-h1):not(.wp-block-kadence-advancedheading) {
  margin-top: 1.6em;
  font-size: 1.55rem !important;
}

.ms-seo-title {
  margin: 10px auto 22px;
  text-align: center;
}

.ms-seo-title .entry-title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  font-weight: 800;
}

.single-content h3,
.entry-content h3 {
  font-size: 1.2rem !important;
}

.single-content p,
.entry-content p {
  color: #3a342f;
}

.single-content img,
.entry-content img,
.wp-block-image img {
  border-radius: 18px;
}

.single-content table,
.entry-content table,
.wp-block-table table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--ms-shadow);
}

.single-content th,
.entry-content th,
.wp-block-table th {
  background: #1c1714 !important;
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.single-content td,
.entry-content td,
.wp-block-table td,
.single-content th,
.entry-content th {
  padding: 12px 14px !important;
  border-color: rgba(28, 23, 20, 0.08) !important;
}

.single-content tr:nth-child(even) td,
.entry-content tr:nth-child(even) td {
  background: #faf7f3;
}

.entry-content ul,
.single-content ul {
  padding-left: 1.1rem;
}

.entry-content li,
.single-content li {
  margin: 0.35em 0;
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  border-radius: 14px !important;
  border: 1px solid rgba(28, 23, 20, 0.12) !important;
  background: #fff !important;
  padding: 12px 14px !important;
}

textarea {
  min-height: 140px;
}

button[type="submit"],
input[type="submit"],
.wp-block-button__link {
  background: var(--ms-red) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-weight: 750 !important;
}

.kb-search-icon-submit {
  background: transparent !important;
  color: var(--ms-ink) !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  border-radius: 0 !important;
}

#colophon {
  position: relative;
  background:
    radial-gradient(820px 240px at 0% 0%, rgba(180, 35, 42, 0.28), transparent 62%),
    #161311 !important;
  margin-top: 56px;
  border-top: 3px solid #b4232a;
  color: #efe8e1;
}

#colophon .site-footer-row-container-inner,
#colophon .site-middle-footer-wrap {
  color: #efe8e1 !important;
  background: transparent !important;
}

#colophon .site-middle-footer-inner-wrap {
  display: grid !important;
  grid-template-columns: minmax(200px, 1.15fr) minmax(140px, 0.72fr) minmax(170px, 0.95fr) minmax(150px, 0.72fr) !important;
  align-items: start !important;
  width: min(980px, calc(100% - 48px)) !important;
  max-width: 980px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: 48px !important;
  padding-bottom: 44px !important;
  column-gap: 0 !important;
  row-gap: 32px !important;
}

#colophon .site-middle-footer-inner-wrap > .site-footer-section {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  padding: 0 22px !important;
}

#colophon .site-middle-footer-inner-wrap > .site-footer-section:first-child {
  padding-left: 0 !important;
}

#colophon .site-middle-footer-inner-wrap > .site-footer-section + .site-footer-section {
  border-left: 1px solid rgba(255, 244, 236, 0.1);
}

#colophon .site-footer-section:not(:last-child):after {
  display: none !important;
}

#colophon .widget {
  margin-bottom: 0 !important;
}

#colophon .wp-block-image {
  margin: 4px 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

#colophon .wp-block-image img {
  width: 168px !important;
  height: auto !important;
  filter: brightness(0) invert(1);
}

#colophon .site-footer-middle-section-1 .wp-block-paragraph {
  color: #c8bdb3 !important;
  font-size: 0.96rem !important;
  line-height: 1.75 !important;
  max-width: 36ch;
  margin: 0 !important;
}

#colophon h2,
#colophon .ms-footer-heading,
#colophon .wp-block-heading,
#colophon .kt-adv-heading {
  color: #fff !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  white-space: nowrap;
  text-transform: uppercase;
  margin: 6px 0 16px !important;
}

#colophon h2::after,
#colophon .ms-footer-heading::after,
#colophon .wp-block-heading::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  margin-top: 12px;
  border-radius: 99px;
  background: #b4232a;
}

#colophon .wp-block-latest-posts,
#colophon .ms-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#colophon .wp-block-latest-posts li,
#colophon .ms-footer-links li {
  margin: 0 !important;
  border: 0 !important;
}

#colophon a {
  color: #f3ece6 !important;
}

#colophon .wp-block-latest-posts a,
#colophon .ms-footer-links a {
  display: block;
  padding: 7px 0;
  color: #f3ece6 !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

#colophon a:hover,
#colophon .wp-block-latest-posts a:hover {
  color: #fff !important;
}

#colophon .wp-block-latest-posts a:hover {
  padding-left: 8px;
}

#colophon .site-footer-middle-section-3 .footer-widget-area-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  justify-items: start;
  align-items: start;
  gap: 8px 10px;
}

#colophon .ms-footer-quick {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

#colophon .ms-footer-quick .ms-footer-heading,
#colophon .ms-footer-links {
  width: 100%;
}

#colophon .site-footer-middle-section-3 .widget_block:first-child {
  grid-column: 1 / -1;
  width: 100%;
}

#colophon .site-footer-middle-section-3 .widget_text {
  margin: 0 !important;
}

#colophon .site-footer-middle-section-3 .wp-block-paragraph {
  margin: 0 !important;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 236, 0.16);
  background: rgba(255, 255, 255, 0.05);
  color: #f6efe8 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  line-height: 1.2 !important;
  max-width: none;
}

.ms-interlinks {
  margin: 28px 0 8px;
  padding: 22px 22px 16px;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 18px;
  box-shadow: var(--ms-shadow);
}

.ms-interlinks h2 {
  margin: 0 0 14px !important;
  color: var(--ms-red) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

.ms-interlinks ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.ms-interlinks a {
  display: block;
  padding: 11px 14px;
  border-radius: 12px;
  background: #f7f2ec;
  color: #1c1714 !important;
  font-size: 0.95rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.ms-interlinks a:hover,
.ms-interlinks a:focus {
  color: #1c1714 !important;
  background: #efe4da;
}

.ms-cities,
.ms-category {
  margin: 4px 0 22px;
  padding: 18px 18px 14px;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 18px;
  box-shadow: var(--ms-shadow);
}

.ms-cities h2,
.ms-category h2 {
  margin: 0 0 12px !important;
  color: var(--ms-red) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

.ms-cities ul,
.ms-category ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ms-cities a,
.ms-category a {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f7f2ec;
  color: #1c1714 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.ms-cities a:hover,
.ms-cities a:focus,
.ms-category a:hover,
.ms-category a:focus {
  color: #1c1714 !important;
  background: #efe4da;
}

.ms-halal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  margin: 0 auto 16px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ms-halal::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 auto;
}

.ms-halal-full {
  background: #e5f6ea;
  color: #0d5c2e;
  border: 1px solid #b7e0c4;
}

.ms-halal-partial {
  background: #fff4d6;
  color: #7a4e00;
  border: 1px solid #f0d59a;
}

.ms-halal-none {
  background: #f3eee8;
  color: #1c1714;
  border: 1px solid #e4ddd4;
}

.ms-halal-card {
  margin: 8px auto 4px;
  padding: 5px 10px;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
}

@media (max-width: 767px) {
  .custom-logo {
    height: 40px !important;
  }

  .post-archive,
  #archive-container.grid-cols {
    gap: 16px !important;
  }

  .loop-entry .entry-title {
    font-size: 1.02rem !important;
  }

  .loop-entry .entry-content-wrap {
    padding: 14px 14px 16px !important;
  }

  .image-overlay-title {
    font-size: 1.15rem !important;
  }

  #colophon .site-middle-footer-inner-wrap {
    padding-top: 40px !important;
    padding-bottom: 36px !important;
  }

  #colophon .site-footer-section:not(:last-child):after {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  #colophon .site-middle-footer-inner-wrap {
    grid-template-columns: 1fr 1fr !important;
  }

  #colophon .site-footer-middle-section-1 {
    grid-column: 1 / -1;
    padding-right: 0 !important;
    border-left: 0 !important;
  }
}

@media (max-width: 767px) {
  #colophon .site-middle-footer-inner-wrap {
    grid-template-columns: 1fr !important;
  }

  #colophon .site-middle-footer-inner-wrap > .site-footer-section,
  #colophon .site-middle-footer-inner-wrap > .site-footer-section + .site-footer-section {
    padding: 0 !important;
    border-left: 0 !important;
  }
}

.ms-filter-panel > .kt-inside-inner-col {
  background: #fff;
  border: 1px solid #e7e1d8;
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(28, 23, 20, 0.08);
  padding: 18px 16px 16px;
}

.ms-filter-panel .kadence-filter-wrap {
  border: 0;
  margin: 0 0 16px;
  padding: 0;
}

.ms-filter-panel .kb-query-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  color: #1c1714;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ms-filter-panel .kb-query-label svg {
  width: 16px;
  height: 16px;
  color: #b4232a;
}

.ms-filter-panel select.kb-filter {
  width: 100%;
  appearance: none;
  border: 1px solid #e4ddd4;
  border-radius: 14px;
  background: #f7f2ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231c1714' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: #1c1714;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 650;
  padding: 12px 36px 12px 14px;
}

.ms-filter-panel .kb-radio-check-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0;
  padding: 8px 10px;
  border-radius: 12px;
}

.ms-filter-panel .kb-radio-check-item:has(input:checked) {
  background: #f7f2ec;
}

.ms-filter-panel .kb-checkbox-style {
  width: 18px;
  height: 18px;
  accent-color: #b4232a;
}

.ms-filter-panel .kb-radio-check-item label {
  color: #1c1714;
  font-weight: 700;
}

.ms-filter-panel .kb-query-filter-reset-button {
  width: 100% !important;
  justify-content: center !important;
  margin-top: 6px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #b4232a !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ms-filter-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(28, 23, 20, 0.08);
}

.ms-filter-card a {
  color: #1c1714;
  text-decoration: none;
}

.ms-filter-card img,
.kb-query-item img,
.ms-menu-card img,
.ms-chip img,
.ms-place img,
.ms-brand img,
.ms-story img,
.ms-article-shot,
.ms-article-card img {
  image-rendering: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.ms-filter-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.ms-filter-card h2 {
  margin: 12px 12px 0;
  color: #1c1714;
  font-size: 1rem;
  line-height: 1.3;
  text-align: center;
}

.ms-filter-empty {
  grid-column: 1 / -1;
  padding: 28px 12px;
  color: #1c1714;
  text-align: center;
}

.ms-filter-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.ms-filter-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: #f7f2ec;
  color: #1c1714;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.ms-filter-pager .page-numbers.current {
  background: #b4232a;
  color: #fff;
}

.single-menu .ms-guide {
  position: relative;
  scroll-margin-top: 96px;
  margin: 18px 0;
  padding: 18px 22px 16px;
  background:
    radial-gradient(ellipse 80% 55% at 0% 0%, rgba(185, 32, 37, 0.08), transparent 55%),
    linear-gradient(165deg, #fff8f7 0%, #fff 48%, #fff 100%);
  border: 1px solid rgba(185, 32, 37, 0.14);
  border-radius: 18px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 14px 34px rgba(84, 16, 24, 0.07);
  overflow: hidden;
}

.single-menu .ms-guide::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, #8b1e28 0%, #c4303a 45%, rgba(196, 48, 58, 0.25) 100%);
}

.single-menu .ms-guide > h2 {
  margin: 0 0 10px !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(185, 32, 37, 0.12) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #541018 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(1.2rem, 2.1vw, 1.42rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-transform: none !important;
}

.single-menu .ms-guide > h2::before {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  margin: 0 0 10px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, #b92025, rgba(185, 32, 37, 0.15)) !important;
}

.single-menu .ms-guide > h2::after {
  display: none !important;
  content: none !important;
}

.single-menu .ms-guide > p {
  margin: 0 0 12px;
  color: #4a4440;
  font-size: 1.01rem;
  line-height: 1.6;
}

.single-menu .ms-guide > p a {
  color: #b4232a !important;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.single-menu .ms-guide .wp-block-separator,
.single-menu .ms-guide hr {
  display: none !important;
}

.single-menu .ms-guide .code-block {
  display: none !important;
}

.single-menu .ms-guide ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.single-menu .ms-guide li,
.single-menu .ms-guide .ms-guide-tip {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 16px;
  border: 1px solid rgba(185, 32, 37, 0.12);
  border-left: 3px solid #c4303a;
  border-radius: 12px;
  background:
    linear-gradient(110deg, rgba(185, 32, 37, 0.04) 0%, #fff 42%, #fff 100%);
  color: #2a2420;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(84, 16, 24, 0.04);
}

.single-menu .ms-guide li::before,
.single-menu .ms-guide .ms-guide-tip::before {
  content: none;
}

.single-menu .ms-guide .ms-guide-tip-label {
  display: block;
  margin: 0 0 4px;
  color: #8b1e28;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.single-menu .ms-guide .ms-guide-tip-body {
  display: block;
  color: #4a4440;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* Comparison / info tables inside guides */
.single-menu .ms-guide .wp-block-table,
.single-menu .ms-guide-compare .wp-block-table {
  margin: 12px 0 10px !important;
  border: 1px solid rgba(185, 32, 37, 0.14);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(84, 16, 24, 0.06);
}

.single-menu .ms-guide .wp-block-table table,
.single-menu .ms-guide table {
  margin: 0 !important;
  width: 100% !important;
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  box-shadow: none !important;
}

.single-menu .ms-guide table thead th {
  background: linear-gradient(135deg, #7a1a24 0%, #b92025 55%, #c4303a 100%) !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 750 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 13px 16px !important;
  width: auto !important;
  white-space: normal !important;
}

.single-menu .ms-guide table tbody td {
  padding: 14px 16px !important;
  text-align: left !important;
  vertical-align: top !important;
  color: #2a2420 !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  width: auto !important;
  border-top: 1px solid rgba(185, 32, 37, 0.08) !important;
  background: #fff !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.single-menu .ms-guide table tbody tr:nth-child(even) td {
  background: #fff7f6 !important;
}

.single-menu .ms-guide table tbody tr:hover td {
  background: #ffefef !important;
}

.single-menu .ms-guide td strong,
.single-menu .ms-guide th strong {
  color: #8b1e28 !important;
  font-weight: 800 !important;
}

.single-menu .ms-guide-compare {
  padding-bottom: 20px;
}

@media (max-width: 700px) {
  .single-menu .ms-guide {
    margin: 14px 0;
    padding: 14px 14px 12px;
    border-radius: 14px;
  }

  .single-menu .ms-guide .wp-block-table {
    overflow-x: auto;
  }
}

.single-menu .ms-faq {
  margin: 34px 0 12px;
}

.single-menu .ms-faq-title {
  margin: 0 0 8px !important;
  color: #1c1714 !important;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
}

.single-menu .ms-faq-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 99px;
  background: #b4232a;
}

.single-menu .ms-faq-group {
  margin-top: 18px;
}

.single-menu .ms-faq-group > h3 {
  margin: 0 0 10px !important;
  color: #b4232a !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.single-menu .ms-faq details {
  margin: 0 0 8px;
  overflow: hidden;
  border: 1px solid #e7e1d8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(28, 23, 20, 0.04);
}

.single-menu .ms-faq details[open] {
  border-color: #e4c8c6;
}

.single-menu .ms-faq summary {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 16px;
  color: #1c1714;
  font-weight: 750;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}

.single-menu .ms-faq summary::-webkit-details-marker {
  display: none;
}

.single-menu .ms-faq summary:hover {
  background: #faf7f3;
  color: #1c1714;
}

.single-menu .ms-faq summary::after {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 6px;
  margin-left: auto;
  border-right: 2px solid #b4232a;
  border-bottom: 2px solid #b4232a;
  transform: rotate(45deg);
}

.single-menu .ms-faq details[open] summary::after {
  margin-top: 10px;
  transform: rotate(-135deg);
}

.single-menu .ms-faq-n {
  flex: 0 0 auto;
  min-width: 1.8em;
  color: #b4232a;
  font-size: 0.82rem;
  font-weight: 800;
}

.single-menu .ms-faq-a {
  padding: 0 18px 16px 46px;
  color: #3a342f;
  line-height: 1.6;
}

.single-menu .ms-faq-a p,
.single-menu .ms-faq-a li {
  margin: 0.35em 0;
  color: #3a342f;
}

@media (max-width: 767px) {
  .single-menu .ms-guide,
  .single-menu .ms-faq details {
    border-radius: 16px;
  }

  .single-menu .ms-guide {
    padding: 14px 14px 12px;
  }

  .single-menu .ms-faq-a {
    padding: 0 14px 14px 14px;
  }
}

body.home h1.wp-block-kadence-advancedheading {
  max-width: 16em;
  margin-right: auto !important;
  margin-left: auto !important;
  color: #1c1714 !important;
  font-size: clamp(2rem, 4.2vw, 3.15rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.12 !important;
  text-transform: none !important;
}

body.home h1.wp-block-kadence-advancedheading::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: 18px auto 0;
  border-radius: 99px;
  background: #b4232a;
}

body.home .wp-block-accordion {
  display: grid;
  gap: 12px;
}

body.home .wp-block-accordion-item {
  overflow: hidden;
  border: 1px solid #e7e1d8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(28, 23, 20, 0.05);
}

body.home .wp-block-accordion-heading__toggle {
  width: 100%;
  padding: 18px 22px !important;
  border: 0;
  background: transparent;
  color: #1c1714 !important;
  font-weight: 800;
  letter-spacing: 0.12em;
}

body.home .wp-block-accordion-heading__toggle-title {
  text-decoration: none !important;
}

body.home .wp-block-accordion-heading__toggle-icon {
  color: #b4232a;
  font-weight: 700;
}

body.home .wp-block-accordion-panel {
  padding: 0 22px 18px;
  color: #3a342f;
}

body.home .kb-row-layout-id17196_4180e4-14 {
  border-radius: 28px;
}

body.home .kb-row-layout-id17196_b4fc52-2b .kt-image-overlay-wrap,
body.home .kb-row-layout-id17196_b4fc52-2b .kt-block-intrisic {
  height: 100%;
}

body.home .kb-row-layout-id17196_b4fc52-2b .kt-block-intrisic {
  position: relative;
  min-height: 210px;
}

body.home .kb-row-layout-id17196_b4fc52-2b img.kt-img-overlay {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

.ms-home-articles {
  margin: 42px 0 8px;
}

.ms-home-articles-title {
  margin: 0 0 18px;
  color: #1c1714;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

.ms-home-articles-title a {
  color: inherit;
  text-decoration: none;
}

.ms-home-articles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.ms-article-card {
  position: relative;
  display: block;
  aspect-ratio: 1 / 0.92;
  overflow: hidden;
  border-radius: 18px;
  text-decoration: none;
}

.ms-article-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ms-article-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(18, 12, 10, 0.78), rgba(18, 12, 10, 0.05) 58%);
}

.ms-article-card span {
  position: absolute;
  z-index: 1;
  left: 16px;
  right: 16px;
  bottom: 16px;
  color: #fff;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
}

.ms-home-articles-more {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

@media (max-width: 900px) {
  .ms-home-articles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ms-testimonials {
  margin: 0 auto;
  padding: 48px 24px 64px;
  background:
    radial-gradient(circle at top left, rgba(180, 35, 42, 0.08), transparent 32%),
    #f7f2ec;
}

.ms-testimonials-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.ms-testimonials-kicker {
  margin: 0 0 8px;
  color: #b4232a;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
}

.ms-testimonials h2 {
  margin: 0 0 28px !important;
  color: #1c1714 !important;
  font-size: clamp(1.7rem, 3vw, 2.3rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
}

.ms-testimonials h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 99px;
  background: #b4232a;
}

.ms-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ms-testimonials figure {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 22px 20px 18px;
  border: 1px solid #e7e1d8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(28, 23, 20, 0.06);
}

.ms-testimonials blockquote {
  margin: 0 0 18px;
  color: #1c1714;
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.55;
}

.ms-testimonials figcaption {
  display: grid;
  gap: 10px;
  margin-top: auto;
}

.ms-quote-person {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ms-quote-person i {
  display: grid;
  width: 36px;
  height: 36px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: #f4e4df;
  color: #b4232a;
  font-style: normal;
  font-weight: 800;
}

.ms-quote-person > span {
  display: grid;
  gap: 1px;
}

.ms-quote-stars {
  color: #b4232a;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
}

.ms-testimonials figcaption strong {
  color: #1c1714;
  font-size: 0.92rem;
}

.ms-quote-person > span > span {
  color: #6f675f;
  font-size: 0.8rem;
}

@media (max-width: 1024px) {
  .ms-testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ms-testimonials {
    padding: 42px 16px 48px;
  }

  .ms-testimonials-grid {
    grid-template-columns: 1fr;
  }
}

/* Sitewide end testimonials — clear of left TOC / sidebars */
body.single-menu .ms-testimonials,
body.ms-guide .ms-testimonials,
body.ms-recipe-single .ms-testimonials,
body.ms-hub-ready .ms-testimonials {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  clear: both;
}

/* Kill empty ad slots + content→testimonials gap on every page */
.code-block-9,
.code-block.code-block-9 {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#primary.content-area,
.content-area#primary,
#inner-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.navigation.pagination,
.pagination,
.nav-links {
  margin-bottom: 12px !important;
}

/* Sidebar = main column height (no empty stretch under listings) */
.content-container.site-container {
  align-items: start !important;
}

#secondary.primary-sidebar,
#secondary {
  align-self: start !important;
  position: sticky;
  top: 96px;
  z-index: 3;
  width: 100%;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

#secondary.ms-side-fit {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

#secondary.ms-side-fit.ms-side-scroll {
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

#secondary .ms-side-hidden {
  display: none !important;
}

#secondary .sidebar-inner-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  overflow-x: clip !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#secondary .widget,
#secondary .widget_block,
#secondary .ms-related-menus,
#secondary .kt-blocks-post-grid-item,
#secondary .kt-blocks-post-grid-item-inner-wrap,
#secondary .kt-post-grid-wrap,
#secondary .kb-posts,
#secondary article {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  overflow: visible !important;
}

#secondary img,
#secondary .kadence-post-image img,
#secondary .kt-blocks-post-grid-item img,
#secondary .kb-img,
#secondary .wp-block-image img {
  display: block !important;
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

#secondary .kadence-post-image-intrisic,
#secondary .kadence-post-image-inner-intrisic {
  max-height: 200px !important;
  padding-bottom: min(56.25%, 200px) !important;
  overflow: hidden !important;
}

#secondary .kadence-post-image,
#secondary .kadence-post-image-intrisic,
#secondary .kadence-post-image-inner-intrisic,
#secondary .kadence-post-image-inner-wrap {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box;
}

#secondary .wp-block-kadence-advancedbtn,
#secondary .kb-buttons-wrap,
#secondary .kb-button,
#secondary .kt-blocks-info-box-link-wrap,
#secondary .kt-blocks-info-box-media {
  max-width: 100% !important;
  box-sizing: border-box;
}

#secondary h2,
#secondary h3,
#secondary .entry-title,
#secondary .ms-side-title,
#secondary .kt-blocks-info-box-title,
#secondary .kt-adv-heading {
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}

body.page-id-24030 .entry-hero.page-hero-section,
body.parent-pageid-24030 .entry-hero.page-hero-section,
body.page-id-14727 .entry-hero.page-hero-section {
  background: transparent !important;
}

body.page-id-24030 .entry-hero .entry-hero-container-inner,
body.parent-pageid-24030 .entry-hero .entry-hero-container-inner,
body.page-id-14727 .entry-hero .entry-hero-container-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  align-items: stretch;
  max-width: 1120px;
  min-height: 300px;
  margin: 22px auto 6px;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #e7e1d8;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(28, 23, 20, 0.08);
}

body.page-id-24030 .entry-hero .hero-section-overlay,
body.parent-pageid-24030 .entry-hero .hero-section-overlay,
body.page-id-14727 .entry-hero .hero-section-overlay {
  position: relative !important;
  inset: auto !important;
  order: 2;
  min-height: 300px;
  background: #1c1714 url("/premium-banners/restaurants.jpg") center 64% / cover no-repeat !important;
}

body.page-id-14727 .entry-hero .hero-section-overlay {
  background-image: url("/premium-banners/recipes.jpg") !important;
  background-position: center 42% !important;
}

body.page-id-24030 .entry-hero .hero-container,
body.parent-pageid-24030 .entry-hero .hero-container,
body.page-id-14727 .entry-hero .hero-container {
  order: 1;
  display: flex;
  align-items: center;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 40px 48px !important;
}

body.page-id-24030 .entry-hero .entry-header,
body.parent-pageid-24030 .entry-hero .entry-header,
body.page-id-14727 .entry-hero .entry-header {
  display: block !important;
  align-items: flex-start !important;
  padding: 0 !important;
  text-align: left !important;
}

body.page-id-24030 .entry-hero .kadence-breadcrumbs,
body.parent-pageid-24030 .entry-hero .kadence-breadcrumbs,
body.page-id-14727 .entry-hero .kadence-breadcrumbs {
  width: auto !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.page-id-24030 .entry-hero .entry-title,
body.parent-pageid-24030 .entry-hero .entry-title,
body.page-id-14727 .entry-hero .entry-title {
  max-width: 11em;
  margin: 0 0 14px !important;
  color: #1c1714 !important;
  font-size: clamp(2.05rem, 4vw, 3.15rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

body.page-id-24030 .entry-hero .entry-title::after,
body.parent-pageid-24030 .entry-hero .entry-title::after,
body.page-id-14727 .entry-hero .entry-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 18px;
  border-radius: 99px;
  background: #b4232a;
}

body.page-id-24030 .entry-hero .kadence-breadcrumbs,
body.parent-pageid-24030 .entry-hero .kadence-breadcrumbs,
body.page-id-14727 .entry-hero .kadence-breadcrumbs,
body.page-id-24030 .entry-hero .kadence-breadcrumb-container,
body.parent-pageid-24030 .entry-hero .kadence-breadcrumb-container,
body.page-id-14727 .entry-hero .kadence-breadcrumb-container {
  color: #6f675f !important;
  font-size: 0.95rem !important;
  font-weight: 600;
}

body.page-id-24030 .entry-hero .kadence-breadcrumbs a,
body.parent-pageid-24030 .entry-hero .kadence-breadcrumbs a,
body.page-id-14727 .entry-hero .kadence-breadcrumbs a {
  color: #1c1714 !important;
  text-decoration-color: rgba(28, 23, 20, 0.25);
}

body.page-id-24030 .entry-hero .kadence-breadcrumbs a:hover,
body.parent-pageid-24030 .entry-hero .kadence-breadcrumbs a:hover,
body.page-id-14727 .entry-hero .kadence-breadcrumbs a:hover {
  color: #b4232a !important;
  text-decoration-color: #b4232a;
}

body.page-id-24030 .entry-hero .bc-delimiter,
body.parent-pageid-24030 .entry-hero .bc-delimiter,
body.page-id-14727 .entry-hero .bc-delimiter {
  margin: 0 8px;
  color: #b7aea4 !important;
}

@media (max-width: 767px) {
  body.page-id-24030 .entry-hero .entry-hero-container-inner,
  body.parent-pageid-24030 .entry-hero .entry-hero-container-inner,
  body.page-id-14727 .entry-hero .entry-hero-container-inner {
    grid-template-columns: 1fr;
    margin: 14px 16px 4px;
    border-radius: 22px;
  }

  body.page-id-24030 .entry-hero .hero-section-overlay,
  body.parent-pageid-24030 .entry-hero .hero-section-overlay,
  body.page-id-14727 .entry-hero .hero-section-overlay {
    order: 0;
    min-height: 180px;
  }

  body.page-id-24030 .entry-hero .hero-container,
  body.parent-pageid-24030 .entry-hero .hero-container,
  body.page-id-14727 .entry-hero .hero-container {
    padding: 26px 22px 28px !important;
  }
}

body.page-id-24030 .msc-featured,
body.parent-pageid-24030 .msc-featured {
  display: none !important;
}

body.page-id-24030 .entry-content > p {
  max-width: 1120px;
  margin: 8px auto 0;
  padding: 22px 28px;
  border: 1px solid #e7e1d8;
  border-radius: 22px;
  background: #fff;
  color: #3c342e;
  font-size: 1.02rem;
  line-height: 1.7;
  box-shadow: 0 10px 28px rgba(28, 23, 20, 0.04);
}

body.page-id-24030 .msc-hub,
body.parent-pageid-24030 .msc-wrap {
  max-width: 1120px !important;
  margin-top: 22px !important;
  border-color: #e7e1d8 !important;
  box-shadow: 0 18px 44px rgba(28, 23, 20, 0.07) !important;
}

body.page-id-9594 .kb-row-layout-id19922_eea734-7a {
  position: relative;
  background: #352c2d url("/premium-banners/locations.jpg") center 42% / cover no-repeat !important;
}

body.page-id-9594 .kb-row-layout-id19922_eea734-7a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(18, 12, 10, 0.62), rgba(18, 12, 10, 0.28));
  pointer-events: none;
}

body.page-id-9594 .kb-row-layout-id19922_eea734-7a .kt-row-column-wrap {
  position: relative;
  z-index: 1;
}

body.page-id-9594 .content-wrap > .article-post-thumbnail {
  display: none !important;
}

body.page-id-9594 .wp-block-spacer {
  display: none !important;
}

body.page-id-9757 {
  background: #f4f1ec !important;
}

/* Flush hero under site header on Restaurants + Locations + Blog/Recipes/Articles */
body.page-id-2653 > #wrapper > .code-block-6,
body.page-id-9757 > #wrapper > .code-block-6,
body.blog.ms-blog-ready > #wrapper > .code-block-6,
body.ms-hub-ready > #wrapper > .code-block-6,
body.page-id-2653 #wrapper > .code-block.code-block-6,
body.page-id-9757 #wrapper > .code-block.code-block-6,
body.blog.ms-blog-ready #wrapper > .code-block.code-block-6,
body.ms-hub-ready #wrapper > .code-block.code-block-6 {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

body.page-id-2653 #primary,
body.page-id-2653 #inner-wrap,
body.page-id-2653 #main,
body.page-id-9757 #primary,
body.page-id-9757 #inner-wrap,
body.page-id-9757 #main,
body.page-id-9757 .content-area,
body.page-id-9757 .content-container,
body.page-id-9757 .content-wrap,
body.page-id-9757 .site-main,
body.page-id-9757 .entry.single-entry,
body.page-id-9757 .entry.content-bg,
body.page-id-9757 .entry-content-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.page-id-2653 .ms-rest-hero {
  margin-top: 0 !important;
}

body.page-id-9757 .content-area,
body.page-id-9757 .content-bg,
body.page-id-9757 .entry-content {
  background: transparent !important;
}

body.page-id-9757 .entry-content.single-content,
body.page-id-9757 .entry-content {
  display: block !important;
  padding: 0 0 56px !important;
  background: #f4f1ec !important;
}

body.page-id-9757 .post-thumbnail.article-post-thumbnail,
body.page-id-9757 .kb-row-layout-id9757_db16c8-37,
body.page-id-9757 .entry-content > h2.wp-block-heading {
  display: none !important;
}

body.page-id-9757 .ms-loc-featured,
body.page-id-9757 .ms-loc-az {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Locations burgundy hero — restaurants-style with side collage */
body.page-id-9757 .ms-loc-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 36px 40px;
  align-items: center;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0 0 42px !important;
  padding: 44px clamp(20px, 4vw, 56px) 40px;
  background:
    radial-gradient(ellipse 90% 70% at 8% 15%, rgba(196, 48, 58, 0.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 92% 85%, rgba(255, 255, 255, 0.07), transparent 50%),
    linear-gradient(160deg, #7a1a24 0%, #541018 38%, #3d0c14 100%);
  color: #fff;
}

body.page-id-9757 .ms-loc-hero::before {
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  width: 70%;
  height: 90%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.08), transparent 60%);
  transform: rotate(-12deg);
  pointer-events: none;
}

body.page-id-9757 .ms-loc-hero::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -35%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.05), transparent 65%);
  pointer-events: none;
}

body.page-id-9757 .ms-loc-hero-copy,
body.page-id-9757 .ms-loc-collage {
  position: relative;
  z-index: 1;
}

body.page-id-9757 .ms-loc-kicker {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-id-9757 .ms-loc-hero h1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(2.3rem, 4.5vw, 3.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  text-align: left !important;
  text-transform: none !important;
}

body.page-id-9757 .ms-loc-hero h1::after {
  display: none !important;
}

body.page-id-9757 .ms-loc-lead {
  max-width: 38em;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.02rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.page-id-9757 .ms-loc-search {
  display: flex;
  gap: 8px;
  max-width: 520px;
  margin: 22px 0 14px;
  padding: 6px 6px 6px 16px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 36px rgba(10, 4, 6, 0.22);
}

body.page-id-9757 .ms-loc-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: #1c1714;
  font: inherit;
}

body.page-id-9757 .ms-loc-search button {
  border: 0;
  border-radius: 999px;
  background: #b4232a;
  color: #fff;
  padding: 10px 18px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}

body.page-id-9757 .ms-loc-popular {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.92rem;
}

body.page-id-9757 .ms-loc-popular a {
  margin-right: 8px;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

body.page-id-9757 .ms-loc-popular a:hover,
body.page-id-9757 .ms-loc-popular a:focus {
  color: #fff !important;
  border-bottom-color: #fff;
}

body.page-id-9757 .ms-loc-collage {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 12px;
  height: clamp(280px, 34vw, 400px);
}

body.page-id-9757 .ms-loc-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(10, 4, 6, 0.28);
  background: rgba(28, 12, 16, 0.35);
}

body.page-id-9757 .ms-loc-collage-main {
  grid-row: 1 / span 3;
  border-radius: 20px;
}

body.page-id-9757 .ms-loc-featured {
  margin-bottom: 36px;
  margin-top: 8px;
}

body.page-id-9757 .ms-loc-featured .ms-loc-kicker {
  color: #b4232a;
}

body.page-id-9757 .ms-loc-featured-head,
body.page-id-9757 .ms-loc-az-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

body.page-id-9757 .ms-loc-featured h2,
body.page-id-9757 .ms-loc-az h2 {
  margin: 0 !important;
  color: #1c1714 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 3vw, 2.3rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
}

body.page-id-9757 .ms-loc-featured-head > a {
  color: #b4232a !important;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
}

body.page-id-9757 .ms-loc-featured-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

body.page-id-9757 .ms-loc-card-feature:nth-child(-n + 3) {
  grid-column: span 4;
}

body.page-id-9757 .ms-loc-card-feature:nth-child(n + 4) {
  grid-column: span 3;
}

body.page-id-9757 .ms-loc-card[hidden],
body.page-id-9757 .ms-loc-section[hidden] {
  display: none !important;
}

body.page-id-9757 .ms-loc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #efe8df;
  border-radius: 18px;
  background: #fff;
  color: #1c1714 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.05);
}

body.page-id-9757 .ms-loc-card:hover,
body.page-id-9757 .ms-loc-card:focus {
  color: #1c1714 !important;
  text-decoration: none !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(180, 35, 42, 0.12);
}

body.page-id-9757 .ms-loc-card img {
  display: block;
  width: 100%;
  height: 148px;
  object-fit: cover;
  background: #1c1714;
}

body.page-id-9757 .ms-loc-card-feature img {
  height: 190px;
}

body.page-id-9757 .ms-loc-card-body {
  display: block;
  padding: 14px 52px 16px 16px;
}

body.page-id-9757 .ms-loc-card strong {
  display: block;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

body.page-id-9757 .ms-loc-card em {
  display: block;
  margin-top: 4px;
  color: #6f675f;
  font-style: normal;
  font-size: 0.86rem;
}

body.page-id-9757 .ms-loc-card i {
  position: absolute;
  right: 14px;
  bottom: 16px;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #eadfd4;
  border-radius: 50%;
  color: #b4232a;
  font-style: normal;
}

body.page-id-9757 .ms-loc-letters {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}

body.page-id-9757 .ms-loc-letters button {
  min-width: 30px;
  height: 30px;
  padding: 0 7px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #6f675f;
  font-weight: 800;
  cursor: pointer;
}

body.page-id-9757 .ms-loc-letters button.is-active,
body.page-id-9757 .ms-loc-letters button:hover {
  background: #b4232a;
  color: #fff;
}

body.page-id-9757 .ms-loc-section {
  margin: 8px 0 18px;
}

body.page-id-9757 .ms-loc-section > .kt-row-column-wrap {
  display: block !important;
}

body.page-id-9757 .ms-loc-section .wp-block-kadence-column {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

body.page-id-9757 .ms-loc-section h3 {
  margin: 8px 0 10px !important;
  color: #b4232a !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

body.page-id-9757 .ms-loc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.page-id-9757 .post-thumbnail.article-post-thumbnail {
  position: relative !important;
  max-width: 1120px;
  height: 320px !important;
  max-height: 320px !important;
  margin: 18px auto 8px;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 28px;
  aspect-ratio: auto !important;
  background: #1c1714;
}

body.page-id-9757 .post-thumbnail .post-thumbnail-inner,
body.page-id-9757 .post-thumbnail.article-post-thumbnail img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center 38% !important;
}

body.page-id-9757 .entry-content > h1.wp-block-kadence-advancedheading {
  margin: 28px auto 8px !important;
  color: #1c1714 !important;
  font-size: clamp(2rem, 4vw, 3.1rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.page-id-9757 .entry-content > h1.wp-block-kadence-advancedheading::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: 16px auto 0;
  border-radius: 99px;
  background: #b4232a;
}

body.page-id-9757 .entry-content > h2.wp-block-heading {
  color: #1c1714 !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
}

body.page-id-9757 .ms-city-section {
  margin: 8px 0 22px;
}

body.page-id-9757 .ms-city-section > .kt-row-column-wrap {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 8px 16px !important;
  align-items: start;
}

body.page-id-9757 .ms-city-section h3 {
  margin: 6px 0 0 !important;
  color: #b4232a !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

body.page-id-9757 .ms-city-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.page-id-9757 .ms-city-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e7e1d8;
  border-radius: 18px;
  background: #fff;
  color: #1c1714 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.page-id-9757 .ms-city-card:hover,
body.page-id-9757 .ms-city-card:focus {
  color: #1c1714 !important;
  text-decoration: none !important;
  border-color: #e7c4c2;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(180, 35, 42, 0.12);
}

body.page-id-9757 .ms-city-card img {
  display: block;
  width: 100%;
  height: 132px;
  object-fit: cover;
  background: #1c1714;
}

body.page-id-9757 .ms-city-card span,
body.page-id-9594 .ms-city-card span {
  padding: 12px 14px 14px;
  color: #1c1714;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body.page-id-9594 h2.kt-adv-heading9594_6bfa5d-4e {
  max-width: 16em;
  margin: 34px auto 18px !important;
  color: #1c1714 !important;
  font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.page-id-9594 h2.kt-adv-heading9594_6bfa5d-4e::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 99px;
  background: #b4232a;
}

body.page-id-9594 .kb-block-show-more-container9594_acd6c9-9a .kb-show-more-content {
  max-height: none !important;
  overflow: visible !important;
}

body.page-id-9594 .ms-city-section {
  margin: 0 0 18px;
}

body.page-id-9594 .ms-city-section > .kt-row-column-wrap {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 8px 14px !important;
  align-items: start;
}

body.page-id-9594 .ms-city-section h3 {
  margin: 8px 0 0 !important;
  color: #b4232a !important;
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

body.page-id-9594 .ms-city-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.page-id-9594 .ms-city-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e7e1d8;
  border-radius: 18px;
  background: #fff;
  color: #1c1714 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.page-id-9594 .ms-city-card:hover,
body.page-id-9594 .ms-city-card:focus {
  color: #1c1714 !important;
  text-decoration: none !important;
  border-color: #e7c4c2;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(180, 35, 42, 0.12);
}

body.page-id-9594 .ms-city-card img {
  display: block;
  width: 100%;
  height: 118px;
  object-fit: cover;
  background: #1c1714;
}

body.page-id-9594 .ms-halal-city-hidden {
  display: none !important;
}

body.page-id-9594 .kb-show-more-buttons {
  justify-content: center;
  margin-top: 6px;
}

body.page-id-9594 .kb-show-more-buttons .kb-button {
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
}

@media (max-width: 980px) {
  body.page-id-9757 .ms-loc-hero {
    grid-template-columns: 1fr;
    padding: 32px 18px 28px;
  }

  body.page-id-9757 .ms-loc-az-head,
  body.page-id-9757 .ms-loc-featured-head {
    display: block;
  }

  body.page-id-9757 .ms-loc-collage {
    height: 240px;
    margin-top: 8px;
  }

  body.page-id-9757 .ms-loc-letters {
    justify-content: flex-start;
    margin-top: 12px;
  }

  body.page-id-9757 .ms-loc-card-feature:nth-child(-n + 3),
  body.page-id-9757 .ms-loc-card-feature:nth-child(n + 4) {
    grid-column: span 6;
  }

  body.page-id-9757 .ms-loc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.page-id-9757 .ms-loc-featured-grid,
  body.page-id-9757 .ms-loc-grid {
    grid-template-columns: 1fr;
  }

  body.page-id-9757 .ms-loc-card-feature:nth-child(-n + 3),
  body.page-id-9757 .ms-loc-card-feature:nth-child(n + 4) {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  body.page-id-9757 .post-thumbnail.article-post-thumbnail {
    height: 200px !important;
    max-height: 200px !important;
    border-radius: 0;
  }

  body.page-id-9757 .ms-city-section > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
  }

  body.page-id-9757 .ms-city-grid,
  body.page-id-9594 .ms-city-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-9594 .ms-city-section > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
  }
}

/* Article guide pages */
body.ms-guide {
  --ms-guide-ink: #171310;
  --ms-guide-muted: #6d655e;
  --ms-guide-line: rgba(23, 19, 16, 0.08);
  --ms-guide-red: #b4232a;
  --ms-guide-paper: #fffdfb;
  --ms-guide-wash: #f3eee8;
  background:
    radial-gradient(1200px 480px at 8% -10%, rgba(180, 35, 42, 0.08), transparent 55%),
    radial-gradient(900px 420px at 100% 0%, rgba(28, 23, 20, 0.06), transparent 50%),
    linear-gradient(180deg, #f7f3ee 0%, #f3eee8 42%, #efe8e0 100%) !important;
}

body.ms-guide .code-block {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
}

/* Article heroes match recipes: red text panel left, food photo right */
body.ms-guide .entry-hero.post-hero-section {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #6e1218 !important;
  background-image: none !important;
}

body.ms-guide .ms-guide-bg {
  display: none !important;
}

body.ms-guide .entry-hero.post-hero-section::after {
  content: none !important;
  display: none !important;
}

body.ms-guide .entry-hero .entry-hero-container-inner {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.ms-guide .entry-hero .hero-container {
  order: unset !important;
  display: flex !important;
  align-items: center !important;
  width: min(420px, 38vw) !important;
  max-width: 42% !important;
  min-height: 420px !important;
  margin: 0 !important;
  padding: 52px clamp(20px, 4vw, 56px) !important;
  background: #6e1218 !important;
  background-image: none !important;
  position: relative !important;
  z-index: 2 !important;
}

body.ms-guide .entry-hero .entry-header {
  order: unset;
  width: 100%;
  max-width: 32rem;
  background: transparent !important;
}

/* Banner fills space to the right of title panel — entire OG image, never cropped */
body.ms-guide .entry-hero .hero-section-overlay,
body.ms-guide .entry-hero .ms-guide-hero-media {
  content: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  inset: 0 !important;
  order: unset !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 24px clamp(28px, 3.5vw, 48px) 24px max(16px, min(420px, 38vw)) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  background: #fff !important;
  background-image: none !important;
  filter: none;
}

body.ms-guide .entry-hero .ms-guide-hero-media img,
body.ms-guide .entry-hero .hero-section-overlay img,
body.ms-guide .entry-hero .ms-hero-banner-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.ms-guide .entry-hero .hero-section-overlay::before,
body.ms-guide .entry-hero .ms-guide-hero-media::before,
body.ms-guide .entry-hero .hero-section-overlay::after,
body.ms-guide .entry-hero .ms-guide-hero-media::after {
  content: none !important;
  display: none !important;
}

body.ms-guide .entry-hero .entry-header,
body.ms-guide .entry-hero .entry-title,
body.ms-guide .entry-hero .title-align-center {
  text-align: left !important;
  color: #fff !important;
}

body.ms-guide .entry-hero .entry-taxonomies {
  margin: 0 0 10px !important;
}

body.ms-guide .entry-hero .category-links a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: transparent !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

body.ms-guide .entry-hero .category-links a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #ffd0d3;
  vertical-align: middle;
}

body.ms-guide .entry-hero .category-links a:hover,
body.ms-guide .entry-hero .category-links a:focus {
  color: #fff !important;
}

body.ms-guide .entry-hero .entry-title {
  max-width: 20em;
  margin: 0 0 14px !important;
  color: #fff !important;
  font-family: "Source Serif 4", "Iowan Old Style", Georgia, serif !important;
  font-size: clamp(2.1rem, 3.8vw, 3.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  text-shadow: none;
}

body.ms-guide .entry-hero .entry-meta,
body.ms-guide .entry-hero .entry-meta a,
body.ms-guide .entry-hero .entry-meta time {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.ms-guide .entry-hero .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  justify-content: flex-start !important;
}

body.ms-guide .entry-hero .posted-by::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  border-radius: 50%;
  background: #b4232a;
  vertical-align: middle;
}

body.ms-guide .entry-hero .entry-meta a:hover {
  color: #fff !important;
}

/* Draft articles: no hero image — centered copy on burgundy gradient */
body.ms-guide.ms-guide-text-hero .entry-hero.post-hero-section {
  background:
    radial-gradient(ellipse 90% 70% at 8% 15%, rgba(196, 48, 58, 0.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 92% 85%, rgba(255, 255, 255, 0.07), transparent 50%),
    linear-gradient(160deg, #7a1a24 0%, #541018 38%, #3d0c14 100%) !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero.post-hero-section::before {
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  width: 70%;
  height: 90%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.08), transparent 60%);
  transform: rotate(-12deg);
  pointer-events: none;
  z-index: 0;
}

body.ms-guide.ms-guide-text-hero .entry-hero.post-hero-section::after {
  content: "";
  display: block !important;
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -35%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.05), transparent 65%);
  pointer-events: none;
  z-index: 0;
}

body.ms-guide.ms-guide-text-hero .entry-hero .entry-hero-container-inner {
  display: block !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
  background: transparent !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero .hero-section-overlay,
body.ms-guide.ms-guide-text-hero .entry-hero .ms-guide-hero-media,
body.ms-guide.ms-guide-text-hero .ms-guide-bg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  opacity: 0 !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero .hero-container {
  order: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 56px 24px 48px !important;
  background: transparent !important;
  background-image: none !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero .entry-header {
  width: 100%;
  max-width: 46rem;
  margin: 0 auto;
  text-align: center !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero .entry-header,
body.ms-guide.ms-guide-text-hero .entry-hero .entry-title,
body.ms-guide.ms-guide-text-hero .entry-hero .title-align-center,
body.ms-guide.ms-guide-text-hero .entry-hero .entry-taxonomies,
body.ms-guide.ms-guide-text-hero .entry-hero .entry-meta {
  text-align: center !important;
  justify-content: center !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero .entry-title {
  max-width: none;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ms-guide.ms-guide-text-hero .entry-hero .category-links a {
  justify-content: center;
}

body.ms-guide.ms-guide-text-hero .entry-hero .posted-by {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.ms-guide.ms-guide-text-hero .ms-guide-chips {
  justify-content: center;
}

body.ms-guide.ms-guide-text-hero .entry-content figure.ms-guide-inline,
body.ms-guide.ms-guide-text-hero .entry-content figure.wp-block-image,
body.ms-guide.ms-guide-text-hero .entry-content .ms-guide-feature,
body.ms-guide.ms-guide-text-hero .entry-content .ms-guide-room {
  display: none !important;
}

/* Keep recipe mini-card thumbs visible on draft text heroes */
body.ms-guide.ms-guide-text-hero .ms-guide-mini img {
  display: block !important;
}

body.ms-guide .ms-guide-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

body.ms-guide .ms-guide-chips a,
body.ms-guide .ms-guide-chips span {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff !important;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none !important;
}

body.ms-guide .ms-guide-chips a:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #fff !important;
}

body.ms-guide #inner-wrap,
body.ms-guide .content-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.ms-guide .content-wrap > .post-thumbnail.article-post-thumbnail {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-guide #primary .content-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: start;
  column-gap: 32px;
  row-gap: 22px;
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
}

body.ms-guide #main,
body.ms-guide .content-wrap {
  display: contents !important;
}

body.ms-guide .single-entry {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  background: transparent !important;
  box-shadow: none !important;
}

body.ms-guide #secondary {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  /* Stay under main-column chrome — never paint over prev/next or similar posts */
  z-index: 1 !important;
  align-self: start !important;
  max-height: calc(100vh - 112px);
  overflow-x: clip !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

body.ms-guide .post-navigation {
  /* Keep in main column only — full-span was sitting under the sticky sidebar */
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: 100%;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  min-width: 0;
}

body.ms-guide .entry-related {
  grid-column: 1;
  grid-row: 3;
  width: 100%;
  max-width: 100%;
  margin: 18px 0 32px !important;
  min-width: 0;
}

body.ms-guide .single-entry .entry-content-wrap {
  padding: 0 !important;
  background: transparent !important;
}

body.ms-guide .entry-content.single-content {
  font-size: 1.05rem;
  line-height: 1.75;
}

body.ms-guide .entry-content p:empty {
  display: none;
}

/* Kill top lead images (Great food… / room banners) — articles start with text */
body.ms-guide .ms-guide-feature:not(.ms-guide-inline),
body.ms-guide .ms-guide-room:not(.ms-guide-inline),
body.ms-guide .entry-content > figure.ms-guide-feature:not(.ms-guide-inline),
body.ms-guide .entry-content > figure.ms-guide-room:not(.ms-guide-inline) {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.ms-guide .ms-guide-feature.ms-guide-inline,
body.ms-guide .ms-guide-room.ms-guide-inline {
  position: relative;
  overflow: hidden;
  margin: 18px 0;
  border-radius: 18px;
  background: #1c1714;
}

body.ms-guide .ms-guide-feature.ms-guide-inline {
  aspect-ratio: 16 / 9;
}

body.ms-guide .ms-guide-room.ms-guide-inline {
  aspect-ratio: 21 / 9;
}

body.ms-guide .ms-guide-feature.ms-guide-inline img,
body.ms-guide .ms-guide-room.ms-guide-inline img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

body.ms-guide .ms-guide-feature.ms-guide-inline figcaption,
body.ms-guide .ms-guide-room.ms-guide-inline figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

body.ms-guide .ms-kicker {
  margin: 4px 0 8px !important;
  color: #b4232a !important;
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.ms-guide .ms-discover {
  margin: 0 0 12px !important;
  color: #1c1714 !important;
  font-size: clamp(1.7rem, 3vw, 2.25rem) !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

body.ms-guide .ms-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 18px 0;
}

body.ms-guide .ms-split-main {
  grid-template-columns: 1.2fr 0.8fr;
  align-items: start;
}

body.ms-guide .ms-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.ms-guide .ms-sec {
  position: relative;
  padding: 22px 22px 14px;
  border: 1px solid var(--ms-guide-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 252, 248, 0.94) 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 16px 36px rgba(28, 23, 20, 0.06);
  overflow: hidden;
}

body.ms-guide .ms-sec-panel {
  margin: 0 0 18px;
}

body.ms-guide .ms-sec-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #b4232a 0%, #e08a5d 48%, rgba(180, 35, 42, 0.15) 100%);
}

body.ms-guide .ms-sec-extra {
  padding: 6px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.ms-guide .ms-sec h2,
body.ms-guide .entry-content h2.wp-block-heading {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px !important;
  color: var(--ms-guide-ink) !important;
  font-family: "Source Serif 4", "Iowan Old Style", Georgia, serif !important;
  font-size: 1.28rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  text-transform: none;
  line-height: 1.25 !important;
}

body.ms-guide .ms-sec h2::before,
body.ms-guide .entry-content h2.wp-block-heading::before {
  content: "";
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background-color: #f8e9ea;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8v4a4 4 0 0 1-8 0V4z'/%3E%3Cpath d='M6 20h12M9 12h6'/%3E%3C/svg%3E");
  box-shadow: 0 8px 16px rgba(180, 35, 42, 0.12);
}

body.ms-guide .ms-h-read::before,
body.ms-guide .ms-h-end::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Cpath d='M5 4h10l4 4v12H5z'/%3E%3Cpath d='M15 4v4h4M8 12h8M8 16h5'/%3E%3C/svg%3E");
}

body.ms-guide .ms-h-menus::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Cpath d='M4 5h16M4 12h16M4 19h10'/%3E%3C/svg%3E");
}

body.ms-guide .ms-h-plan::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v5l3 2'/%3E%3C/svg%3E");
}

body.ms-guide .ms-h-compare::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Cpath d='M8 7h11M8 12h11M8 17h11M5 7h.01M5 12h.01M5 17h.01'/%3E%3C/svg%3E");
}

body.ms-guide .ms-h-more::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

body.ms-guide .ms-h-why::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Cpath d='M12 3.4 14.5 8.8l5.9.5-4.5 3.8 1.4 5.7L12 16.2 6.7 18.8l1.4-5.7L3.6 9.3l5.9-.5z'/%3E%3C/svg%3E");
}

body.ms-guide .ms-h-faq::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232a' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9a2.5 2.5 0 1 1 3.8 2.1c-.8.5-1.3 1-1.3 2'/%3E%3Ccircle cx='12' cy='17' r='.8' fill='%23b4232a' stroke='none'/%3E%3C/svg%3E");
}

body.ms-guide .ms-guide-check {
  margin: 0 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
}

body.ms-guide .ms-guide-check li {
  position: relative;
  margin: 0 0 10px !important;
  padding: 12px 14px 12px 42px !important;
  border: 1px solid var(--ms-guide-line);
  border-radius: 14px;
  background: linear-gradient(135deg, #fff 0%, #faf6f1 100%);
}

body.ms-guide .ms-guide-check li::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 12px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #b4232a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center/12px 12px no-repeat;
}

body.ms-guide .ms-guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 14px 0 8px;
}

body.ms-guide .ms-guide-tile {
  padding: 16px 16px 12px;
  border: 1px solid var(--ms-guide-line);
  border-radius: 16px;
  background: linear-gradient(160deg, #fff 0%, #f7f1ea 100%);
  box-shadow: 0 10px 22px rgba(28, 23, 20, 0.04);
}

body.ms-guide .ms-guide-tile h3 {
  margin: 0 0 6px !important;
  color: var(--ms-guide-ink) !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
}

body.ms-guide .ms-guide-tile p {
  margin: 0 !important;
  color: var(--ms-guide-muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
}

body.ms-guide .ms-guide-minis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 12px 0 8px;
}

body.ms-guide .ms-guide-mini {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--ms-guide-line);
  border-radius: 14px;
  background: #fff;
  color: var(--ms-guide-ink) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.04);
  transition: transform 0.16s ease;
}

body.ms-guide .ms-guide-mini:hover,
body.ms-guide .ms-guide-mini:focus {
  transform: translateY(-2px);
  color: var(--ms-guide-ink) !important;
}

body.ms-guide .ms-guide-mini img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}

body.ms-guide .ms-guide-mini span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.25;
}

body.ms-guide .ms-guide-inline {
  margin: 4px 0 18px !important;
}

@media (max-width: 720px) {
  body.ms-guide .ms-guide-grid,
  body.ms-guide .ms-guide-minis {
    grid-template-columns: 1fr;
  }
}

body.ms-guide .ms-sec-extra h2,
body.ms-guide .ms-sec-end h2 {
  font-size: 1.55rem !important;
  letter-spacing: -0.03em;
  text-transform: none;
}

body.ms-guide .ms-sec-extra h2 {
  margin-top: 1.15em !important;
}

body.ms-guide .ms-sec h3 {
  margin: 14px 0 4px !important;
  color: #1c1714 !important;
  font-size: 1.08rem !important;
}

body.ms-guide .ms-sec-why ul,
body.ms-guide .ms-sec-how ul,
body.ms-guide .ms-sec-cuisine ul,
body.ms-guide .ms-sec-best ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ms-guide .ms-sec-why li,
body.ms-guide .ms-sec-how li,
body.ms-guide .ms-sec-cuisine li {
  position: relative;
  margin: 0;
  padding: 8px 0 8px 22px;
}

body.ms-guide .ms-sec-why li::before,
body.ms-guide .ms-sec-how li::before,
body.ms-guide .ms-sec-cuisine li::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b4232a;
}

body.ms-guide .ms-pull {
  margin: 16px 0;
  padding: 4px 0 4px 16px;
  border-left: 3px solid #b4232a;
}

body.ms-guide .ms-pull p {
  margin: 0 !important;
  color: #1c1714 !important;
  font-size: 1.28rem;
  font-weight: 750;
  line-height: 1.4;
}

body.ms-guide .entry-content a {
  color: #b4232a;
  font-weight: 700;
}

body.ms-guide .entry-content a:hover,
body.ms-guide .entry-content a:focus {
  color: #1c1714 !important;
}

/* CTA buttons inside article body — never inherit red link color */
body.ms-guide .entry-content .kb-button,
body.ms-guide .entry-content .kt-button,
body.ms-guide .entry-content a.kb-button,
body.ms-guide .entry-content a.kt-button,
body.ms-guide .entry-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 14px 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #c42931 0%, #8f1b22 100%) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(180, 35, 42, 0.28);
}

body.ms-guide .entry-content .kb-button .kt-btn-inner-text,
body.ms-guide .entry-content .kt-button .kt-btn-inner-text,
body.ms-guide .entry-content a.kb-button span {
  color: #fff !important;
}

body.ms-guide .entry-content .kb-button:hover,
body.ms-guide .entry-content .kt-button:hover,
body.ms-guide .entry-content a.kb-button:hover,
body.ms-guide .entry-content a.kb-button:focus {
  color: #fff !important;
  transform: translateY(-1px);
  background: linear-gradient(135deg, #d1323a 0%, #9c1f27 100%) !important;
}

body.ms-guide .entry-content .kb-buttons-wrap {
  margin: 18px 0 8px !important;
}

body.ms-guide .ms-sec-end {
  margin-top: 8px;
}

body.ms-guide #secondary .widget {
  margin: 0 0 18px !important;
}

body.ms-guide #secondary .kt-blocks-info-box-link-wrap,
body.ms-guide #secondary .kt-blocks-info-box-link-wrap:hover {
  display: flex !important;
  flex-direction: column;
  border-radius: 18px !important;
  background: #fff !important;
  color: #1c1714 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(48, 28, 18, 0.05);
}

body.ms-guide #secondary .kt-blocks-info-box-learnmore,
body.ms-guide #secondary .kt-blocks-info-box-learnmore:hover,
body.ms-guide #secondary a.kt-blocks-info-box-learnmore {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
  padding: 12px 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #c42931 0%, #8f1b22 100%) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(180, 35, 42, 0.22);
}

/* Article / guide sidebar — same premium cards + View buttons as menu pages */
body.ms-guide #secondary .ms-related-menus {
  margin: 0 0 18px;
  padding: 16px 14px 12px;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 20px;
  background:
    linear-gradient(180deg, #ffffff 0%, #faf6f1 100%);
  box-shadow: 0 14px 32px rgba(28, 23, 20, 0.07);
}

body.ms-guide #secondary .ms-related-kicker {
  margin: 0 0 4px;
  color: #b4232a;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.ms-guide #secondary .ms-related-title {
  margin: 0 0 14px !important;
  color: #1c1714 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-transform: none !important;
}

body.ms-guide #secondary .ms-related-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ms-guide #secondary .ms-related-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(28, 23, 20, 0.06);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.05);
}

body.ms-guide #secondary .ms-related-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #efe8e0;
}

body.ms-guide #secondary .ms-related-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #efe8e0;
}

body.ms-guide #secondary .ms-related-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 12px 12px 0;
}

body.ms-guide #secondary .ms-related-body h3 {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-transform: capitalize;
}

body.ms-guide #secondary .kt-blocks-info-box-link-wrap {
  padding: 18px 16px !important;
  border: 1px solid rgba(28, 23, 20, 0.08) !important;
  box-shadow: 0 14px 32px rgba(28, 23, 20, 0.07) !important;
}

body.ms-guide #secondary .ms-related-body h3 a {
  color: #1c1714 !important;
  text-decoration: none !important;
}

body.ms-guide #secondary .ms-related-body h3 a:hover,
body.ms-guide #secondary .ms-related-body h3 a:focus {
  color: #b4232a !important;
}

body.ms-guide #secondary .ms-related-body .ms-updated {
  color: #8a8178;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 500;
}

body.ms-guide #secondary .ms-related-body .ms-halal-card {
  align-self: flex-start;
  margin: 2px 0 0 !important;
  padding: 5px 10px;
  font-size: 0.64rem;
  letter-spacing: 0.06em;
}

body.ms-guide #secondary .ms-related-body .ms-view-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: auto 0 0 !important;
  padding: 11px 0 12px;
  border-top: 1px solid #eee6dc;
  color: #b4232a !important;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none !important;
}

body.ms-guide #secondary .ms-related-body .ms-view-label:hover,
body.ms-guide #secondary .ms-related-body .ms-view-label:focus {
  color: #1c1714 !important;
}

body.ms-guide #secondary .ms-related-body .ms-view-label span {
  transition: transform 0.16s ease;
}

body.ms-guide #secondary .ms-related-card:hover .ms-view-label span {
  transform: translateX(3px);
}

body.ms-guide.ms-related-ready #secondary .kt-post-grid-wrap,
body.ms-guide.ms-related-ready #secondary .kb-posts,
body.ms-guide.ms-related-ready #secondary .wp-block-kadence-postgrid {
  display: none !important;
}

body.ms-guide #secondary h2,
body.ms-guide #secondary h3,
body.ms-guide #secondary .wp-block-kadence-advancedheading,
body.ms-guide #secondary a,
body.ms-guide #secondary a:hover,
body.ms-guide #secondary a:focus {
  color: #1c1714 !important;
}

body.ms-guide #secondary .wp-block-kadence-advancedheading,
body.ms-guide #secondary .ms-side-title {
  margin: 0 0 12px !important;
  font-size: 1.15rem !important;
  text-align: left !important;
}

body.ms-guide #secondary .kt-post-grid-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

body.ms-guide #secondary .kt-blocks-post-grid-item {
  overflow: hidden;
  border-radius: 16px !important;
  background: #fff !important;
}

body.ms-guide #secondary .kadence-post-image-intrisic {
  height: 110px !important;
  padding-bottom: 0 !important;
}

body.ms-guide #secondary #block-24 .kt-post-grid-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

body.ms-guide #secondary #block-24 .kadence-post-image-intrisic {
  height: 84px !important;
}

body.ms-guide #secondary .kt-blocks-post-grid-item img,
body.ms-guide #secondary .kadence-post-image img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  object-position: center;
}

body.ms-guide .ms-menu-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

body.ms-guide .ms-menu-card {
  display: block;
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
  color: #1c1714 !important;
  text-decoration: none !important;
}

body.ms-guide .ms-menu-card:hover,
body.ms-guide .ms-menu-card:focus {
  color: #1c1714 !important;
}

body.ms-guide .ms-menu-card img {
  display: block;
  width: 100%;
  height: 84px;
  object-fit: cover;
  object-position: center;
}

body.ms-guide .ms-menu-card .ms-menu-foot {
  padding: 8px 8px 10px;
  gap: 6px;
}

body.ms-guide .ms-menu-card strong {
  font-size: 13px;
}

body.ms-guide .ms-menu-card .ms-updated,
body.ms-guide .ms-menu-card .ms-view-label {
  font-size: 11px;
}

body.ms-guide .ms-menu-card .ms-view {
  display: inline-flex;
  flex-basis: 26px;
  width: 26px;
  height: 26px;
  padding: 0;
  font-size: inherit;
  font-weight: 500;
}

body.ms-guide .ms-guide-all {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 999px;
  background: #b4232a;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-decoration: none !important;
}

body.ms-guide .ms-guide-all:hover,
body.ms-guide .ms-guide-all:focus {
  background: #8d1c22;
  color: #fff !important;
}

body.ms-guide .post-navigation .nav-links {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-guide .post-navigation .nav-previous,
body.ms-guide .post-navigation .nav-next {
  min-width: 0;
  margin: 0 !important;
}

body.ms-guide .post-navigation a {
  display: block;
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 18px;
  background:
    linear-gradient(145deg, #ffffff 0%, #f7f1ea 100%);
  color: #1c1714 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(28, 23, 20, 0.06);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
  overflow-wrap: anywhere;
}

body.ms-guide .post-navigation a:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(28, 23, 20, 0.1);
}

body.ms-guide .post-navigation .post-navigation-sub small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #b4232a !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.ms-guide .post-navigation a:hover,
body.ms-guide .post-navigation a:focus,
body.ms-guide .entry-related a,
body.ms-guide .entry-related a:hover,
body.ms-guide .entry-related a:focus {
  color: #1c1714 !important;
}

body.ms-guide .entry-related-title,
body.ms-guide .ms-recipe-similar-head .entry-related-title {
  margin: 0 0 16px !important;
  color: #1c1714 !important;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

/* Nested Kadence .content-container inside related was re-applying the 2-col site grid and crushing cards */
body.ms-guide .entry-related .entry-related-inner.content-container,
body.ms-guide .entry-related .content-container.site-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

body.ms-guide .entry-related .entry-related-inner-content,
body.ms-guide .entry-related .alignwide {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-guide .entry-related .splide,
body.ms-guide .entry-related .splide__track,
body.ms-guide .entry-related .entry-related-wrap,
body.ms-guide .entry-related .related-posts {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.ms-guide .entry-related .splide__list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-guide .entry-related .splide__slide {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

body.ms-guide .entry-related .splide__slide--clone,
body.ms-guide .entry-related .splide__arrows,
body.ms-guide .entry-related .splide__pagination {
  display: none !important;
}

body.ms-guide .entry-related .post-thumbnail {
  display: block;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
  aspect-ratio: 16 / 10;
  background: #f4f0ea;
}

body.ms-guide .entry-related .post-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  /* Crop baked-in "RESTAURANTS / TOP PLACES" banner text off related thumbs */
  object-position: 12% 30% !important;
  transform: scale(1.55);
  transform-origin: left center;
  background: #f4f0ea !important;
}

/* Related cards: keep clear of each other, no stacked text on media */
body.ms-guide .entry-related .loop-entry,
body.ms-guide .entry-related .entry,
body.ms-guide .entry-related .splide__slide > article {
  margin: 0 !important;
  background: #fff;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.04);
}

body.ms-guide .entry-related .entry-content-wrap,
body.ms-guide .entry-related .entry-header {
  position: relative !important;
  z-index: 1;
  padding: 12px 14px 14px !important;
  background: #fff !important;
}

body.ms-guide .entry-related .entry-title,
body.ms-guide .entry-related .entry-title a {
  color: #1c1714 !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}

body.ms-guide .entry-related .entry-meta,
body.ms-guide .entry-related .more-link-wrap {
  color: #6d655e;
  font-size: 0.8rem;
}

@media (max-width: 980px) {
  body.ms-guide #primary .content-container,
  body.ms-guide .ms-split,
  body.ms-guide .ms-split-main,
  body.ms-guide .post-navigation .nav-links {
    grid-template-columns: 1fr !important;
  }

  body.ms-guide #secondary,
  body.ms-guide .single-entry,
  body.ms-guide .post-navigation,
  body.ms-guide .entry-related {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 767px) {
  body.ms-guide .entry-hero .entry-hero-container-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: 0 !important;
  }

  body.ms-guide .entry-hero .hero-section-overlay,
  body.ms-guide .entry-hero .ms-guide-hero-media {
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    min-height: 220px !important;
    height: 220px !important;
    padding: 16px 20px !important;
  }

  body.ms-guide .entry-hero .hero-container {
    order: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 28px 20px !important;
  }
}

/* Single recipe pages */
body.ms-recipe-single {
  background: #f7f2ec !important;
}

/* Kill Ad Inserter MENU banners + leftover ad slots on recipe singles */
body.ms-recipe-single .code-block,
body.ms-recipe-single .code-block-6,
body.ms-recipe-single .code-block-7,
body.ms-recipe-single .code-block-8,
body.ms-recipe-single .code-block-9,
body.ms-recipe-single .ai-viewport-1,
body.ms-recipe-single .ai-viewport-2,
body.ms-recipe-single .ai-viewport-3 {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Split hero: full-bleed end-to-end — red text LEFT + food photo RIGHT */
body.ms-recipe-single .entry-hero.post-hero-section {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #6e1218 !important;
  background-image: none !important;
}

body.ms-recipe-single #inner-wrap,
body.ms-recipe-single #primary,
body.ms-recipe-single #primary .content-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Old full-bleed bg layer — unused now */
body.ms-recipe-single .ms-recipe-bg {
  display: none !important;
}

body.ms-recipe-single .entry-hero.post-hero-section::after {
  content: none !important;
  display: none !important;
}

body.ms-recipe-single .entry-hero .entry-hero-container-inner {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 420px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.ms-recipe-single .entry-hero .hero-container {
  order: unset !important;
  display: flex !important;
  align-items: center !important;
  width: min(420px, 38vw) !important;
  max-width: 42% !important;
  min-height: 420px !important;
  margin: 0 !important;
  padding: 52px clamp(20px, 4vw, 56px) !important;
  background: #6e1218 !important;
  background-image: none !important;
  position: relative !important;
  z-index: 2 !important;
}

body.ms-recipe-single .entry-hero .entry-header {
  order: unset;
  width: 100%;
  max-width: 28rem;
  background: transparent !important;
}

/* Banner fills space to the right of title panel — entire OG image, never cropped */
body.ms-recipe-single .entry-hero .hero-section-overlay,
body.ms-recipe-single .entry-hero .ms-recipe-hero-media {
  content: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  inset: 0 !important;
  order: unset !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  /* Left pad clears the maroon title panel so the full banner fits in the visible zone */
  padding: 24px clamp(28px, 3.5vw, 48px) 24px max(16px, min(420px, 38vw)) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  background: #fff !important;
  background-image: none !important;
  filter: none;
}

body.ms-recipe-single .entry-hero .ms-recipe-hero-media img,
body.ms-recipe-single .entry-hero .hero-section-overlay img,
body.ms-recipe-single .entry-hero .ms-hero-banner-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.ms-recipe-single .entry-hero .hero-section-overlay::before,
body.ms-recipe-single .entry-hero .ms-recipe-hero-media::before,
body.ms-recipe-single .entry-hero .hero-section-overlay::after,
body.ms-recipe-single .entry-hero .ms-recipe-hero-media::after {
  content: none !important;
  display: none !important;
}

/* Never show duplicate recipe plates under the hero (body + ingredients side photo) */
body.ms-recipe-single .ms-recipe-hero-photo,
body.ms-recipe-single .ms-recipe-card-photo,
body.ms-recipe-single .entry-content > .post-thumbnail.article-post-thumbnail,
body.ms-recipe-single .ms-recipe-body > .post-thumbnail.article-post-thumbnail {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Ingredients card becomes full-width once the side photo is gone */
body.ms-recipe-single .ms-recipe-split {
  grid-template-columns: 1fr !important;
}

body.ms-recipe-single .entry-hero .entry-header,
body.ms-recipe-single .entry-hero .entry-title,
body.ms-recipe-single .entry-hero .title-align-center {
  text-align: left !important;
  color: #fff !important;
}

body.ms-recipe-single .entry-hero .entry-title {
  margin: 0 0 14px !important;
  font-family: "Source Serif 4", "Iowan Old Style", Georgia, serif !important;
  font-size: clamp(2.1rem, 3.8vw, 3.2rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-shadow: none;
}

@media (max-width: 767px) {
  body.ms-recipe-single .entry-hero .entry-hero-container-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: 0 !important;
  }

  body.ms-recipe-single .entry-hero .hero-section-overlay,
  body.ms-recipe-single .entry-hero .ms-recipe-hero-media {
    position: relative !important;
    inset: auto !important;
    order: 0;
    min-height: 220px !important;
    height: 220px !important;
    padding: 16px 20px !important;
  }

  body.ms-recipe-single .entry-hero .hero-container {
    order: 1;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 28px 20px !important;
  }
}

body.ms-recipe-single .entry-hero .entry-taxonomies {
  margin: 0 0 10px !important;
}

body.ms-recipe-single .entry-hero .category-links a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  text-decoration: none !important;
}

body.ms-recipe-single .entry-hero .category-links a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #ffd0d3;
}

body.ms-recipe-single .entry-hero .category-links a:hover,
body.ms-recipe-single .entry-hero .category-links a:focus {
  color: #fff !important;
}

body.ms-recipe-single .entry-hero .entry-meta {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  align-items: center;
  gap: 8px 16px;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.92rem !important;
}

body.ms-recipe-single .entry-hero .entry-meta-divider-dot > *::before,
body.ms-recipe-single .entry-hero .entry-meta-divider-dot > *::after {
  content: none !important;
  display: none !important;
}

body.ms-recipe-single .entry-hero .entry-meta a,
body.ms-recipe-single .entry-hero .entry-meta time {
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: none !important;
}

body.ms-recipe-single .entry-hero .entry-meta a:hover,
body.ms-recipe-single .entry-hero .entry-meta a:focus {
  color: #fff !important;
}

body.ms-recipe-single .entry-hero time.updated {
  display: none !important;
}

body.ms-recipe-single .entry-hero .posted-by,
body.ms-recipe-single .entry-hero .posted-on,
body.ms-recipe-single .entry-hero .ms-recipe-read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 14px 14px;
  padding-left: 20px;
}

body.ms-recipe-single .entry-hero .posted-by {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='3'/%3E%3Cpath d='M5 19c1.4-3 3.6-4.5 7-4.5S17.6 16 19 19'/%3E%3C/svg%3E");
}

body.ms-recipe-single .entry-hero .posted-on {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 10h16'/%3E%3C/svg%3E");
}

body.ms-recipe-single .entry-hero .ms-recipe-read {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v5l3 2'/%3E%3C/svg%3E");
}

body.ms-recipe-single .ms-recipe-intro {
  margin: 0 0 18px !important;
  max-width: 40rem;
  color: #3a342f !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* Food plate lives in the content column under the red hero */
body.ms-recipe-single .ms-recipe-body > .ms-recipe-hero-photo,
body.ms-recipe-single .entry-content > .ms-recipe-hero-photo {
  margin: 0 0 18px !important;
  padding: 0 !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 16 / 9;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #f3ebe3 !important;
  box-shadow: 0 18px 40px rgba(28, 23, 20, 0.08);
}

body.ms-recipe-single .ms-recipe-hero-photo .post-thumbnail-inner {
  height: 100% !important;
  padding: 0 !important;
  background: #f3ebe3 !important;
}

body.ms-recipe-single .ms-recipe-hero-photo img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: cover !important;
  /* Crop wide recipe banners to food only — hide baked-in title text */
  object-position: 8% center !important;
  background: #f3ebe3 !important;
  border-radius: 0 !important;
  transform: scale(2.05) !important;
  transform-origin: left center !important;
}

/* No script/calligraphy overlays — recipe photos only */
body.ms-recipe-single .ms-recipe-hero-photo::before,
body.ms-recipe-single .ms-recipe-hero-photo::after,
body.ms-recipe-single .ms-recipe-card-photo::before,
body.ms-recipe-single .ms-recipe-card-photo::after,
body.ms-recipe-single .ms-hero-script {
  display: none !important;
  content: none !important;
}

/* Only the page layout container — NOT nested .entry-related-inner.content-container */
body.ms-recipe-single #primary > .content-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  column-gap: 28px !important;
  row-gap: 18px !important;
  align-items: start !important;
}

body.ms-recipe-single #main,
body.ms-recipe-single #secondary {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Keep article + prev/next + similar in the LEFT column.
   Without this, Kadence leaves nav/related as grid siblings and
   "Similar Posts" drops into the sidebar column — huge empty gap under Previous. */
body.ms-recipe-single #main {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

body.ms-recipe-single .post-navigation {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 4px 0 0 !important;
}

body.ms-recipe-single .entry-related {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 24px !important;
}

body.ms-recipe-single #secondary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  z-index: 1 !important;
  /* Prevent tall sidebar content from stretching left-column rows (empty gap) */
  min-height: 0 !important;
  height: auto !important;
  max-height: calc(100vh - 112px);
  overflow-x: clip !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

body.ms-recipe-single article.single-entry,
body.ms-recipe-single article.single-entry.content-bg,
body.ms-recipe-single .ms-recipe-body {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.ms-recipe-single .ms-recipe-body .code-block {
  display: none !important;
}

body.ms-recipe-single .ms-recipe-body > p {
  color: #3a342f;
  margin: 4px 0 16px;
}

body.ms-recipe-single .ms-recipe-wide {
  margin: 0 0 16px;
  border-radius: 18px;
  overflow: hidden;
  background: #f7f2ec;
}

body.ms-recipe-single .ms-recipe-wide img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center center;
  background: #f7f2ec;
}

body.ms-recipe-single .ms-recipe-pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 6px 0 20px;
  padding: 0;
}

@media (max-width: 900px) {
  body.ms-recipe-single .ms-recipe-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.ms-recipe-single .ms-recipe-pills li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(28, 23, 20, 0.04);
}

body.ms-recipe-single .ms-pill-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: none;
  border-radius: 50%;
  background: #fbf4f2;
}

body.ms-recipe-single .ms-pill-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #b4232a;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.ms-recipe-single .ms-recipe-pills small {
  display: block;
  color: #8a8178;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.ms-recipe-single .ms-recipe-pills strong {
  display: block;
  color: #1c1714;
  font-size: 1rem;
  font-weight: 800;
}

body.ms-recipe-single .ms-recipe-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(180px, 0.85fr);
  gap: 16px;
  align-items: stretch;
  margin: 0 0 16px;
}

body.ms-recipe-single .ms-recipe-card,
body.ms-recipe-single .ms-recipe-steps {
  min-width: 0;
  background: #fff;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 18px;
  padding: 20px 22px 16px;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.04);
}

body.ms-recipe-single .ms-recipe-steps {
  margin: 0 0 16px;
}

body.ms-recipe-single .ms-recipe-card h2,
body.ms-recipe-single .ms-recipe-card h3,
body.ms-recipe-single .ms-recipe-steps h2,
body.ms-recipe-single .ms-recipe-steps h3,
body.ms-recipe-single .ms-recipe-tips h2,
body.ms-recipe-single .ms-recipe-tips h3,
body.ms-recipe-single .ms-recipe-notes h2,
body.ms-recipe-single .ms-recipe-notes h3,
body.ms-recipe-single .ms-recipe-faqs > h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px !important;
  color: #1c1714 !important;
  font-size: 1.28rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
}

body.ms-recipe-single .ms-recipe-ingredients h2::before,
body.ms-recipe-single .ms-recipe-ingredients h3::before,
body.ms-recipe-single .ms-recipe-steps h2::before,
body.ms-recipe-single .ms-recipe-steps h3::before,
body.ms-recipe-single .ms-recipe-tips h2::before,
body.ms-recipe-single .ms-recipe-notes h2::before,
body.ms-recipe-single .ms-recipe-faqs > h2::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: none;
  background: #b4232a;
  -webkit-mask: var(--ms-mark) center / contain no-repeat;
  mask: var(--ms-mark) center / contain no-repeat;
}

body.ms-recipe-single .ms-recipe-ingredients h2,
body.ms-recipe-single .ms-recipe-ingredients h3 {
  --ms-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='7' r='2'/%3E%3Ccircle cx='6' cy='12' r='2'/%3E%3Ccircle cx='6' cy='17' r='2'/%3E%3Cpath d='M11 7h8M11 12h8M11 17h8' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
}

body.ms-recipe-single .ms-recipe-steps h2,
body.ms-recipe-single .ms-recipe-steps h3 {
  --ms-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M8 6h11M8 12h11M8 18h11'/%3E%3Ccircle cx='4' cy='6' r='1.4'/%3E%3Ccircle cx='4' cy='12' r='1.4'/%3E%3Ccircle cx='4' cy='18' r='1.4'/%3E%3C/svg%3E");
}

body.ms-recipe-single .ms-recipe-tips h2,
body.ms-recipe-single .ms-recipe-notes h2 {
  --ms-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3a6 6 0 0 0-3 11v2h6v-2a6 6 0 0 0-3-11zm-2 15h4v2h-4z'/%3E%3C/svg%3E");
}

body.ms-recipe-single .ms-recipe-faqs > h2 {
  --ms-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M9.5 9a2.5 2.5 0 1 1 3.2 2.4c-.8.3-1.2.8-1.2 1.6V14'/%3E%3Ccircle cx='12' cy='17' r='1'/%3E%3C/svg%3E");
}

body.ms-recipe-single .ms-recipe-ing-list,
body.ms-recipe-single .ms-recipe-step-list,
body.ms-recipe-single .ms-recipe-tips ul,
body.ms-recipe-single .ms-recipe-notes ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-recipe-single .ms-recipe-ing-list li {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 0 0 8px !important;
  color: #1c1714;
  overflow-wrap: break-word;
}

body.ms-recipe-single .ms-recipe-ing-list li::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: 0.55em;
  border-radius: 50%;
  background: #b4232a;
}

body.ms-recipe-single .ms-recipe-step-list {
  counter-reset: msstep;
}

body.ms-recipe-single .ms-recipe-step-list li {
  counter-increment: msstep;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 0 0 12px !important;
  color: #1c1714;
  overflow-wrap: break-word;
}

body.ms-recipe-single .ms-recipe-step-list li::before {
  content: counter(msstep);
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #b4232a;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
}

body.ms-recipe-single .ms-recipe-card-photo {
  margin: 0;
  min-height: 240px;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: #f7f2ec;
}

body.ms-recipe-single .ms-recipe-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 8% center !important;
  background: #f7f2ec;
  transform: scale(2.2) !important;
  transform-origin: left center !important;
}

body.ms-recipe-single .ms-recipe-tips,
body.ms-recipe-single .ms-recipe-notes {
  margin: 0 0 16px;
  padding: 18px 20px 10px;
  border-radius: 18px;
  background: #fbf4f2;
}

body.ms-recipe-single .ms-recipe-tips ul,
body.ms-recipe-single .ms-recipe-notes ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 18px;
}

body.ms-recipe-single .ms-recipe-tips li,
body.ms-recipe-single .ms-recipe-notes li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 0 !important;
  color: #1c1714;
}

body.ms-recipe-single .ms-recipe-tips li::before,
body.ms-recipe-single .ms-recipe-notes li::before {
  content: "✓";
  color: #b4232a;
  font-weight: 800;
}

body.ms-recipe-single .ms-recipe-faqs {
  margin: 0 0 16px;
}

body.ms-recipe-single .ms-recipe-faq {
  margin: 0 0 8px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 14px;
}

body.ms-recipe-single .ms-recipe-faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  color: #1c1714;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

body.ms-recipe-single .ms-recipe-faq summary::-webkit-details-marker {
  display: none;
}

body.ms-recipe-single .ms-recipe-faq summary::after {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  border-right: 2px solid #1c1714;
  border-bottom: 2px solid #1c1714;
  transform: rotate(45deg);
}

body.ms-recipe-single .ms-recipe-faq[open] summary::after {
  transform: rotate(-135deg);
  margin-top: 6px;
}

body.ms-recipe-single .ms-recipe-faq-a {
  padding: 0 0 14px;
  color: #3a342f;
}

body.ms-recipe-single .ms-recipe-faq-a p {
  margin: 0 !important;
}

body.ms-recipe-single .ms-recipe-more {
  margin: 8px 0 16px !important;
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid rgba(28, 23, 20, 0.08) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

body.ms-recipe-single .ms-recipe-more-head,
body.ms-recipe-single .ms-recipe-similar-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

body.ms-recipe-single .ms-recipe-more h2,
body.ms-recipe-single .entry-related .entry-related-title {
  margin: 0 !important;
  color: #1c1714 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
}

body.ms-recipe-single .ms-recipe-more-all {
  color: #b4232a !important;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
}

body.ms-recipe-single .ms-recipe-more-all:hover,
body.ms-recipe-single .ms-recipe-more-all:focus,
body.ms-recipe-single .ms-recipe-more li a:hover,
body.ms-recipe-single .ms-recipe-more li a:focus {
  color: #1c1714 !important;
}

body.ms-recipe-single .ms-recipe-more ul {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-recipe-single .ms-recipe-more li {
  margin: 0 !important;
}

body.ms-recipe-single .ms-recipe-more li a {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 14px !important;
  background: #f7f2ec !important;
  color: #1c1714 !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.ms-recipe-single .ms-recipe-more li a::after {
  content: "›";
  color: #b4232a;
  font-size: 1.25rem;
  line-height: 1;
}

body.ms-recipe-single .post-navigation .nav-links {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.ms-recipe-single .post-navigation .nav-previous,
body.ms-recipe-single .post-navigation .nav-next {
  min-width: 0;
  margin: 0 !important;
}

body.ms-recipe-single .post-navigation .nav-previous a,
body.ms-recipe-single .post-navigation .nav-next a {
  display: block;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.04);
  overflow-wrap: anywhere;
}

body.ms-recipe-single .post-navigation a {
  color: #1c1714 !important;
  font-weight: 700;
  text-decoration: none !important;
}

body.ms-recipe-single .post-navigation a:hover,
body.ms-recipe-single .post-navigation a:focus {
  color: #1c1714 !important;
}

body.ms-recipe-single .post-navigation .nav-next {
  margin-left: auto;
  text-align: right;
}

body.ms-recipe-single .post-navigation small {
  display: block;
  color: #8a8178;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Nested Kadence .content-container inside related was crushing the carousel */
body.ms-recipe-single .entry-related .entry-related-inner,
body.ms-recipe-single .entry-related .entry-related-inner.content-container,
body.ms-recipe-single .entry-related .content-container.site-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

body.ms-recipe-single .entry-related .entry-related-inner-content,
body.ms-recipe-single .entry-related .alignwide,
body.ms-recipe-single .entry-related .splide,
body.ms-recipe-single .entry-related .splide__track {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.ms-recipe-single .entry-related .splide__list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ms-recipe-single .entry-related .splide__slide {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body.ms-recipe-single .entry-related .splide__slide--clone,
body.ms-recipe-single .entry-related .splide__arrows,
body.ms-recipe-single .entry-related .splide__pagination {
  display: none !important;
}

body.ms-recipe-single .entry-related .post-thumbnail {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #f7f2ec;
}

body.ms-recipe-single .entry-related .post-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 12% 35% !important;
  background: #f7f2ec !important;
  transform: scale(2.15) !important;
  transform-origin: left center !important;
}

/* Prevent related-card titles from stacking over media */
body.ms-recipe-single .entry-related .entry-content-wrap,
body.ms-recipe-single .entry-related .entry-header,
body.ms-recipe-single .entry-related .entry-summary {
  position: relative !important;
  z-index: 1;
  background: transparent !important;
  color: #1c1714 !important;
  padding: 10px 2px 0 !important;
  text-shadow: none !important;
}

body.ms-recipe-single .entry-related .loop-entry,
body.ms-recipe-single .entry-related .entry {
  position: relative !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 16px;
  padding: 10px;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.04);
}

body.ms-recipe-single .entry-related .entry-title,
body.ms-recipe-single .entry-related .entry-title a {
  color: #1c1714 !important;
  font-size: 0.98rem !important;
  text-decoration: none !important;
}

body.ms-recipe-single .entry-related .entry-title a:hover,
body.ms-recipe-single .entry-related .entry-title a:focus {
  color: #1c1714 !important;
}

body.ms-recipe-single .entry-related .entry-meta,
body.ms-recipe-single .entry-related .more-link-wrap {
  color: #6d655e;
  font-size: 0.82rem;
}

body.ms-recipe-single #secondary #block-27 {
  display: none !important;
}

body.ms-recipe-single #secondary .widget {
  margin: 0 0 14px !important;
  padding: 14px 14px 12px;
  background: #fff;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.04);
}

body.ms-recipe-single #secondary #block-26 {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.ms-recipe-single #secondary .kt-blocks-info-box-link-wrap {
  display: block !important;
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid rgba(28, 23, 20, 0.08) !important;
  border-radius: 18px !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.04);
}

body.ms-recipe-single #secondary .kt-blocks-info-box-media,
body.ms-recipe-single #secondary .kt-info-svg-icon {
  color: #b4232a !important;
  background: transparent !important;
}

body.ms-recipe-single #secondary .kt-blocks-info-box-title {
  margin: 6px 0 4px !important;
  color: #1c1714 !important;
  font-size: 1.15rem !important;
  text-align: left !important;
}

body.ms-recipe-single #secondary .kt-blocks-info-box-text {
  margin: 0 0 12px !important;
  color: #6d655e !important;
  text-align: left !important;
}

body.ms-recipe-single #secondary .kt-blocks-info-box-learnmore {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #b4232a !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Recipe sidebar — premium cards + View buttons */
body.ms-recipe-single #secondary .ms-related-menus {
  margin: 0 0 16px;
  padding: 16px 14px 12px;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(28, 23, 20, 0.07);
}

body.ms-recipe-single #secondary .ms-related-kicker {
  margin: 0 0 4px;
  color: #b4232a;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.ms-recipe-single #secondary .ms-related-title {
  margin: 0 0 14px !important;
  color: #1c1714 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: none !important;
}

body.ms-recipe-single #secondary .ms-related-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ms-recipe-single #secondary .ms-related-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(28, 23, 20, 0.06);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.05);
}

body.ms-recipe-single #secondary .ms-related-media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #efe8e0;
}

body.ms-recipe-single #secondary .ms-related-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.ms-recipe-single #secondary .ms-related-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 12px 12px 0;
}

body.ms-recipe-single #secondary .ms-related-body h3 {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-transform: capitalize;
}

body.ms-recipe-single #secondary .ms-related-body h3 a {
  color: #1c1714 !important;
  text-decoration: none !important;
}

body.ms-recipe-single #secondary .ms-related-body .ms-updated {
  color: #8a8178;
  font-size: 0.74rem;
  font-style: normal;
}

body.ms-recipe-single #secondary .ms-related-body .ms-halal-card {
  align-self: flex-start;
  margin: 2px 0 0 !important;
  padding: 5px 10px;
  font-size: 0.64rem;
}

body.ms-recipe-single #secondary .ms-related-body .ms-view-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: auto 0 0 !important;
  padding: 11px 0 12px;
  border-top: 1px solid #eee6dc;
  color: #b4232a !important;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none !important;
}

body.ms-recipe-single.ms-related-ready #secondary .widget.widget_block:has(.wp-block-kadence-advancedbtn):not(:has(.kt-blocks-info-box)),
body.ms-recipe-single.ms-related-ready #secondary .kt-post-grid-wrap,
body.ms-recipe-single.ms-related-ready #secondary .kb-posts {
  display: none !important;
}

body.ms-recipe-single #secondary .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-title,
body.ms-recipe-single #secondary .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-learnmore,
body.ms-recipe-single #secondary .kt-blocks-info-box-link-wrap:focus .kt-blocks-info-box-title,
body.ms-recipe-single #secondary .kt-blocks-info-box-link-wrap:focus .kt-blocks-info-box-learnmore {
  color: #1c1714 !important;
}

body.ms-recipe-single #secondary .widget:has(> h2.wp-block-kadence-advancedheading):not(:has(article)) {
  margin-bottom: 0 !important;
  padding-bottom: 0;
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: none;
}

body.ms-recipe-single #secondary .widget:has(> h2.wp-block-kadence-advancedheading):not(:has(article)) + .widget {
  margin-top: 0 !important;
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

body.ms-recipe-single #secondary h2.wp-block-kadence-advancedheading {
  margin: 2px 2px 10px !important;
  color: #1c1714 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: none !important;
}

body.ms-recipe-single #secondary .kt-blocks-post-grid-item {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 0 12px !important;
}

body.ms-recipe-single #secondary .kt-blocks-post-grid-item-inner-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
}

body.ms-recipe-single #secondary .kadence-post-image {
  width: 84px !important;
  flex: 0 0 84px !important;
}

body.ms-recipe-single #secondary .kadence-post-image-intrisic,
body.ms-recipe-single #secondary .kadence-post-image-inner-intrisic {
  position: relative !important;
  height: auto !important;
  padding: 0 !important;
}

body.ms-recipe-single #secondary .kadence-post-image img {
  position: relative !important;
  width: 84px !important;
  height: 68px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 12px !important;
  background: #f7f2ec !important;
}

body.ms-recipe-single #secondary .kt-blocks-post-grid-item-inner,
body.ms-recipe-single #secondary .entry-title,
body.ms-recipe-single #secondary .entry-title a {
  text-align: left !important;
  color: #1c1714 !important;
}

body.ms-recipe-single #secondary .entry-title {
  margin: 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
}

body.ms-recipe-single #secondary .entry-title a {
  text-decoration: none !important;
}

body.ms-recipe-single #secondary .entry-title a:hover,
body.ms-recipe-single #secondary .entry-title a:focus,
body.ms-recipe-single #secondary .kb-button:hover,
body.ms-recipe-single #secondary .kb-button:focus {
  color: #1c1714 !important;
}

body.ms-recipe-single #secondary .type-menu .entry-title {
  text-transform: capitalize;
}

body.ms-recipe-single #secondary .kb-buttons-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}

body.ms-recipe-single #secondary .kb-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #b4232a !important;
  font-weight: 700 !important;
}

body.ms-recipe-single #secondary .kb-button .kt-btn-inner-text::after {
  content: " →";
}

@media (max-width: 1024px) {
  body.ms-recipe-single .entry-hero .hero-container,
  body.ms-recipe-single #primary .content-container,
  body.ms-recipe-single .ms-recipe-split,
  body.ms-recipe-single .ms-recipe-more ul,
  body.ms-recipe-single .entry-related .splide__list,
  body.ms-recipe-single .ms-recipe-tips ul,
  body.ms-recipe-single .ms-recipe-notes ul {
    grid-template-columns: 1fr !important;
  }

  body.ms-recipe-single .ms-recipe-hero-photo,
  body.ms-recipe-single .ms-recipe-hero-photo .post-thumbnail-inner,
  body.ms-recipe-single .ms-recipe-hero-photo img {
    height: 240px !important;
  }
}

/* Homepage shell and full-width footer. Scoped so recipe composites stay untouched. */
#masthead,
#masthead .site-header-wrap,
#masthead .site-main-header-wrap,
#masthead .site-header-row-container-inner {
  background: #fff !important;
}

#masthead .site-container {
  max-width: 1240px !important;
}

#primary-menu > li > a,
#primary-menu > li > a .nav-drop-title-wrap {
  color: #1c1714 !important;
  font-size: 14.5px !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

#primary-menu > li > a:hover,
#primary-menu > li > a:focus,
#primary-menu > li.current-menu-item > a,
#primary-menu > li.current-menu-item > a:hover,
#primary-menu > li.current-menu-item > a .nav-drop-title-wrap {
  color: #1c1714 !important;
}

#primary-menu > li.current-menu-item > a {
  box-shadow: inset 0 -2px 0 #b4232a;
}

body.page-id-17196 {
  overflow-x: hidden;
  background: #f4f0ea !important;
}

body.page-id-17196 .content-bg,
body.page-id-17196 .entry,
body.page-id-17196 .entry-content-wrap,
body.page-id-17196 .content-wrap,
body.page-id-17196 #inner-wrap,
body.page-id-17196 #main,
body.page-id-17196 .site-main,
body.page-id-17196 .content-area {
  background: #f4f0ea !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.page-id-17196 .content-area,
body.page-id-17196 .content-container,
body.page-id-17196 .entry-content.single-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
}

body.page-id-17196 .entry-content.single-content > :not(.ms-home-shell) {
  display: none !important;
}

body.page-id-17196 .code-block {
  display: none !important;
}

.ms-home-shell {
  background: #f4f0ea;
  padding-top: 0;
  padding-bottom: 12px;
}

.ms-home-shell > .ms-hero + .ms-band {
  padding-top: 40px;
}

.ms-band {
  width: min(1180px, calc(100% - 40px));
  margin-right: auto;
  margin-left: auto;
}

.ms-hero {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: clamp(580px, 58vw, 720px);
  aspect-ratio: auto;
  margin: 0;
  padding: 80px 0 76px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #5d0310;
}

.ms-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #5d0310 url("/premium-banners/stock-pizza-hero2.jpg?v=4") 88% 42% / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 34%, rgba(0, 0, 0, 0.35) 46%, #000 62%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, transparent 34%, rgba(0, 0, 0, 0.35) 46%, #000 62%, #000 100%);
  pointer-events: none;
}

.ms-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, #5d0310 0%, #5d0310 41%, rgba(93, 3, 16, 0.55) 54%, rgba(93, 3, 16, 0.12) 68%, transparent 82%);
  pointer-events: none;
}

.ms-hero::after {
  content: none;
  display: none;
}

.ms-kicker {
  margin: 0;
  color: #b4232a;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ms-hero .ms-kicker {
  color: #fff;
  font-size: clamp(0.72rem, 0.9vw, 0.86rem);
  font-weight: 700;
  letter-spacing: 0.18em;
}

.ms-hero-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: min(540px, 46%);
  margin-left: max(32px, calc((100% - 1180px) / 2));
  padding: 0;
}

.ms-hero h1 {
  display: block !important;
  max-width: 10ch;
  margin: 18px 0 22px !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(2.85rem, 4.6vw, 4.7rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.06 !important;
  text-transform: none !important;
}

.ms-hero-copy > p {
  max-width: 32em;
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(1rem, 1.15vw, 1.14rem);
  line-height: 1.58;
}

.ms-hero-copy > p:not(.ms-kicker) {
  margin-bottom: 0;
}

.ms-hero .ms-hero-search,
.single-content .ms-hero-search,
.entry-content .ms-hero-search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 520px;
  margin-top: 48px !important;
  margin-bottom: 0 !important;
  padding: 10px 10px 10px 20px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: none;
}

.ms-search-icon {
  width: 18px;
  height: 18px;
  flex: none;
  color: #8a8178;
}

.ms-hero-search input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 14px 0 !important;
  color: #1c1714 !important;
}

.ms-hero-search input::placeholder {
  color: #9a918a;
  opacity: 1;
}

.ms-hero-search button {
  border-radius: 999px !important;
  padding: 14px 28px !important;
  background: #8e1a2a !important;
  color: #fff !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}

.ms-hero .ms-hero-points {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 20px 28px;
  width: 100%;
  max-width: 560px;
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
}

.ms-hero-points li {
  display: flex;
  flex: 1 1 0;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: clamp(0.78rem, 0.92vw, 0.9rem);
  font-weight: 650;
  line-height: 1.25;
}

.ms-hero-points li:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: 0;
}

.ms-hero-points svg {
  width: 26px;
  height: 26px;
  flex: none;
  color: #fff;
}

.ms-hero-stats strong {
  display: block;
  color: #1c1714;
  font-size: 1.35rem;
  letter-spacing: -0.03em;
}

.ms-hero-stats span {
  color: #6f675f;
  font-size: 0.82rem;
  font-weight: 650;
}

.ms-hero-photo {
  position: relative;
  min-height: 460px;
  overflow: hidden;
  border-radius: 28px;
  background: #1c1714;
}

.ms-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  object-position: center 42%;
}

.ms-hero-script {
  position: absolute;
  top: 28px;
  right: 28px;
  max-width: 7em;
  color: #fff;
  font-family: "Great Vibes", cursive;
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 400;
  line-height: 1.05;
  text-align: right;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.ms-sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 46px 0 18px;
}

.ms-sec-head h2 {
  margin: 0 !important;
  color: #1c1714 !important;
  font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
}

.ms-sec-head p {
  margin: 6px 0 0;
  color: #6f675f;
}

.ms-home-acc {
  margin: 0;
  border-bottom: 0;
}

.ms-home-acc > summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  list-style: none;
  cursor: pointer;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: none;
  text-decoration: none;
}

.ms-home-acc > summary::-webkit-details-marker {
  display: none;
}

.ms-home-acc > summary h2 {
  margin: 0 !important;
  color: #1c1714 !important;
  font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
}

.ms-home-acc-plus {
  flex: none;
  color: #1c1714;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1;
  transition: transform 0.2s ease;
}

.ms-home-acc[open] > summary .ms-home-acc-plus {
  transform: rotate(45deg);
}

.ms-home-acc-body {
  max-width: 62rem;
  margin-top: 12px;
  padding: 0 0 4px;
}

.ms-home-acc-body p {
  margin: 0 0 12px;
  color: #5a524c;
  font-size: 0.98rem;
  line-height: 1.7;
}

.ms-home-acc-body p:last-child {
  margin-bottom: 0;
}

.ms-more {
  color: #b4232a !important;
  font-weight: 750;
  text-decoration: none !important;
  white-space: nowrap;
}

.ms-more:hover,
.ms-more:focus,
.ms-chip:hover,
.ms-chip:focus,
.ms-brand:hover,
.ms-brand:focus,
.ms-brand:hover span,
.ms-menu-card:hover,
.ms-menu-card:focus,
.ms-menu-card:hover strong,
.ms-story:hover,
.ms-story:focus,
.ms-story:hover strong,
.ms-story:focus strong {
  color: #1c1714 !important;
}

.ms-chip-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 8px;
  align-items: start;
}

.ms-chip-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-top: 26px;
  padding: 0;
  border: 1px solid #eadfd4;
  border-radius: 50%;
  background: #fff;
  color: #1c1714;
  line-height: 0;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.08);
}

.ms-chip-arrow svg {
  display: block;
  width: 18px;
  height: 18px;
}

.ms-chip-arrow:hover,
.ms-chip-arrow:focus {
  border-color: #b4232a;
  color: #b4232a;
}

.ms-chip-arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

.ms-chips {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.ms-chips::-webkit-scrollbar {
  display: none;
}

.ms-chip {
  display: flex;
  flex: 0 0 118px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #1c1714 !important;
  font-size: 0.86rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
}

.ms-chip img,
.ms-place img,
.ms-brand img,
.ms-menu-card img,
.ms-story img,
.kb-query-item img,
.ms-article-shot,
.ms-article-card img {
  image-rendering: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.ms-chip img {
  width: 92px;
  height: 92px;
  border: 3px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.12);
}


.ms-places {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.ms-place {
  position: relative;
  display: block;
  height: 176px;
  overflow: hidden;
  border-radius: 16px;
  color: #fff !important;
  text-decoration: none !important;
}

.ms-place img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ms-place span {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 36px 12px 12px;
  background: linear-gradient(to top, rgba(18, 12, 10, 0.78), transparent);
  color: #fff;
  font-weight: 750;
}

.ms-place:hover,
.ms-place:focus,
.ms-place:hover span,
.ms-place:focus span {
  color: #fff !important;
}

.ms-brands,
.ms-menus {
  display: grid;
  gap: 14px;
}

.ms-brands {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ms-menus {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ms-brand,
.ms-menu-card,
.ms-story {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 16px;
  background: #fff;
  color: #1c1714 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.05);
}

.ms-brand {
  position: relative;
  min-height: 176px;
}

.ms-brand img,
.ms-menu-card img {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.ms-brand img {
  height: 176px;
}

.ms-brand span {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  max-width: calc(100% - 16px);
  padding: 7px 10px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.16);
  font-size: 0.78rem;
  text-align: center;
  white-space: nowrap;
}

.ms-menu-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px 14px;
}

.ms-menu-foot > div {
  min-width: 0;
}

.ms-brand span,
.ms-menu-card strong,
.kb-query-item .ms-menu-foot h2 {
  color: #1c1714;
  font-weight: 750;
}

.ms-menu-card strong {
  display: block;
  font-size: 0.98rem;
  line-height: 1.25;
}

.ms-updated,
.ms-menu-card em:not(.ms-view-label) {
  display: block;
  margin-top: 3px;
  color: #8a8178;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
}

.ms-view-label,
.ms-menu-card .ms-view-label {
  display: block;
  margin-top: 4px;
  color: #b4232a;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3;
}

.ms-view {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e4d8cc;
  border-radius: 50%;
  color: #1c1714;
}

.ms-view svg {
  width: 16px;
  height: 16px;
}

.kb-query-item .ms-menu-foot {
  padding: 0;
}

.kb-query-item .ms-menu-foot .kb-advanced-heading-link,
.kb-query-item .ms-menu-foot h2,
.kb-query-item .ms-menu-foot .wp-block-kadence-advancedheading {
  margin: 0 !important;
  text-align: left !important;
}

.kb-query-item .kt-inside-inner-col:has(.ms-menu-foot) {
  text-align: left !important;
}

.ms-promos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: stretch;
  margin-top: 28px;
}

.ms-promo {
  position: relative;
  display: block;
  min-height: 320px;
  overflow: hidden;
  border-radius: 22px;
  background: #8e1a2a;
  color: #fff !important;
  text-decoration: none !important;
}

.ms-promo-recipes {
  background: #241c18;
}

.ms-promo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.ms-promo-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
  width: 58%;
  min-height: 320px;
  padding: 28px 24px 28px 30px;
}

.ms-promo-badge {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 14px;
  border: 2px solid #d4a017;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #f0d36a, #c89614 62%, #9a7010);
  color: #5d0310;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}

.ms-promo-badge em,
.ms-promo-badge strong {
  display: block;
  text-align: center;
  font-style: normal;
  line-height: 1;
}

.ms-promo-badge em {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
}

.ms-promo-badge strong {
  margin-top: 3px;
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.ms-promo-title {
  display: block;
  margin: 0 0 8px;
  color: #fff;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.ms-promo-text {
  display: block;
  max-width: 18em;
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.4;
}

.ms-promo-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 11px 18px;
  border-radius: 999px;
  background: #fff;
  color: #8e1a2a;
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.ms-promo-btn span {
  color: #b4232a;
  font-size: 1.05rem;
  line-height: 1;
}

.ms-promo:hover .ms-promo-title,
.ms-promo:focus .ms-promo-title,
.ms-promo:hover .ms-promo-text,
.ms-promo:focus .ms-promo-text {
  color: #fff !important;
}

.ms-promo:hover .ms-promo-btn,
.ms-promo:focus .ms-promo-btn {
  color: #8e1a2a !important;
}

.ms-stories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.ms-story {
  height: 100%;
}

.ms-story img {
  display: block;
  width: 100%;
  height: 168px;
  object-fit: cover;
}

.ms-story-foot {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex: 1;
  padding: 14px 14px 16px;
}

.ms-story-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
}

.ms-story strong {
  margin: 0;
  color: #1c1714;
  font-size: 1.02rem;
  line-height: 1.35;
}

.ms-story-meta {
  margin-top: auto;
  padding-top: 10px;
}

.ms-story time {
  display: block;
  margin: 0;
  color: #8a8178;
  font-size: 0.8rem;
}

.ms-story em {
  display: block;
  margin-top: 4px;
  color: #b4232a;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 750;
}

body.page-id-17196 .ms-testimonials {
  margin: 10px auto 0;
  padding: 36px 20px 64px;
  background: transparent;
}

body.page-id-17196 .ms-testimonials-inner {
  max-width: 1180px;
}

body.page-id-17196 .ms-testimonials blockquote::before {
  content: "“";
  display: block;
  margin-bottom: 8px;
  color: #b4232a;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 0.7;
}

#colophon {
  margin-top: 0 !important;
  border-top: 0 !important;
  background: #4a1016 !important;
  background-image: linear-gradient(180deg, #6d1a22 0%, #4e1218 42%, #3b0e13 100%) !important;
  color: #f6efe8 !important;
}

#colophon:has(.ms-foot-layout) .site-footer-wrap {
  display: none !important;
}

.ms-foot-layout {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 48px 0 18px;
}

.ms-foot-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.25fr) minmax(140px, 0.8fr) minmax(180px, 1.05fr) minmax(140px, 0.8fr);
  gap: 28px 36px;
  align-items: start;
}

.ms-foot-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.ms-foot-logo img {
  width: 150px !important;
  height: auto !important;
  filter: brightness(0) invert(1);
}

.ms-foot-brand p {
  max-width: 36ch;
  margin: 0;
  color: #eadfd6;
  font-size: 0.95rem;
  line-height: 1.65;
}

.ms-socials {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.ms-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #f6efe8;
}

.ms-social svg {
  width: 15px;
  height: 15px;
}

.ms-foot-title {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

.ms-foot-title::after {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  margin-top: 10px;
  border-radius: 99px;
  background: #b4232a;
}

.ms-foot-layout ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ms-foot-layout li {
  margin: 0;
}

.ms-foot-layout a {
  display: block;
  padding: 6px 0;
  color: #f6efe8 !important;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none !important;
}

.ms-foot-layout a:hover,
.ms-foot-layout a:focus {
  color: #fff !important;
}

.ms-foot-base {
  margin-top: 28px;
  padding: 16px 0 8px;
  border-top: 1px solid rgba(255, 244, 236, 0.12);
}

.ms-foot-base p {
  margin: 0;
  color: #d9cdc4;
  font-size: 0.86rem;
}

@media (max-width: 1100px) {
  .ms-places,
  .ms-brands {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ms-menus,
  .ms-stories {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ms-foot-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ms-foot-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .ms-hero {
    display: flex;
    aspect-ratio: auto;
    min-height: 600px;
    padding: 52px 0 48px;
  }

  .ms-hero-media {
    background: #5d0310 url("/premium-banners/stock-pizza-hero2.jpg?v=4") 80% center / cover no-repeat;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 38%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 38%, #000 100%);
  }

  .ms-hero::before {
    background: linear-gradient(180deg, rgba(93, 3, 16, 0.96) 0%, rgba(93, 3, 16, 0.78) 55%, rgba(93, 3, 16, 0.3) 100%);
  }

  .ms-hero-copy {
    width: min(560px, calc(100% - 40px));
  }

  .ms-hero-points {
    flex-wrap: wrap;
  }

  .ms-hero::after {
    content: none;
    display: none;
    height: 0;
    margin: 0;
  }

  .ms-hero-copy {
    width: calc(100% - 36px);
    margin-right: auto;
    margin-left: 18px;
  }

  .ms-hero-points li {
    margin-right: 0;
    padding-right: 0;
    border-right: 0;
  }
}

@media (max-width: 767px) {
  .ms-promos,
  .ms-places,
  .ms-brands,
  .ms-menus,
  .ms-stories,
  .ms-foot-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ms-hero {
    grid-template-columns: 1fr;
  }

  .ms-hero-photo,
  .ms-hero-photo img {
    min-height: 240px;
  }

  .ms-sec-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-stories,
  .ms-promos {
    grid-template-columns: 1fr;
  }

  .ms-promo-body {
    width: min(320px, 72%);
    min-height: 280px;
    padding: 24px 20px;
  }

  .ms-foot-brand,
  .ms-foot-grid > div {
    grid-column: 1 / -1;
  }
}

/* ===== Restaurants listing (page 2653) — burgundy hero + filter panel ===== */
body.page-id-2653 {
  background: #f4f1ec !important;
}

body.page-id-2653 .content-area,
body.page-id-2653 .content-container,
body.page-id-2653 .content-wrap,
body.page-id-2653 #main,
body.page-id-2653 .site-main,
body.page-id-2653 .entry.single-entry,
body.page-id-2653 .entry.content-bg,
body.page-id-2653 .entry-content-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.page-id-2653 .post-thumbnail.article-post-thumbnail,
body.page-id-2653 .article-post-thumbnail {
  display: none !important;
}

body.page-id-2653 .entry-content.single-content {
  display: block !important;
  padding: 0 0 56px !important;
  background: #f4f1ec !important;
}

body.page-id-2653 .entry-content > h1,
body.page-id-2653 .kb-row-layout-id2653_cee5a3-9b {
  display: none !important;
}

body.page-id-2653 .ms-rest-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 48px 20px 40px;
  background:
    radial-gradient(ellipse 90% 70% at 8% 15%, rgba(196, 48, 58, 0.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 92% 85%, rgba(255, 255, 255, 0.07), transparent 50%),
    linear-gradient(160deg, #7a1a24 0%, #541018 38%, #3d0c14 100%);
  color: #fff;
}

body.page-id-2653 .ms-rest-hero::before {
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  width: 70%;
  height: 90%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.08), transparent 60%);
  transform: rotate(-12deg);
  pointer-events: none;
}

body.page-id-2653 .ms-rest-hero::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -35%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.05), transparent 65%);
  pointer-events: none;
}

body.page-id-2653 .ms-rest-hero-inner {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  margin: 0 auto;
  text-align: center;
}

body.page-id-2653 .ms-rest-hero h1 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.page-id-2653 .ms-rest-hero h1::after {
  display: none !important;
}

body.page-id-2653 .ms-rest-sub {
  margin: 0 0 26px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.4;
}

body.page-id-2653 .ms-rest-panel {
  padding: 22px 22px 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  background: rgba(28, 12, 16, 0.42);
  box-shadow: 0 20px 50px rgba(10, 4, 6, 0.28);
  backdrop-filter: blur(10px);
  text-align: left;
}

body.page-id-2653 .ms-rest-panel .kb-search,
body.page-id-2653 .ms-rest-panel .kb-search2653_bc5939-97 {
  width: 100%;
  margin: 0 0 18px !important;
}

body.page-id-2653 .ms-rest-panel .kb-search-form {
  display: flex !important;
  align-items: center;
  width: 100%;
  min-height: 54px;
  padding: 5px 5px 5px 16px;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none;
}

body.page-id-2653 .ms-rest-panel .kb-search-input-wrapper {
  display: flex !important;
  flex: 1;
  align-items: center;
  gap: 10px;
  width: 100%;
}

body.page-id-2653 .ms-rest-panel .kb-search-input-wrapper::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8178' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
}

body.page-id-2653 .ms-rest-panel .kb-search-input {
  flex: 1 !important;
  min-height: 42px !important;
  padding: 8px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1c1714 !important;
  font-size: 0.98rem !important;
  font-weight: 600 !important;
}

body.page-id-2653 .ms-rest-panel .kb-search-icon-submit,
body.page-id-2653 .ms-rest-panel .kb-search button[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #b4232a !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
}

body.page-id-2653 .ms-rest-panel .kb-search-icon-submit .kb-search-icon,
body.page-id-2653 .ms-rest-panel .kb-search-icon-submit svg {
  display: none !important;
}

body.page-id-2653 .ms-rest-panel .kb-search-icon-submit::after {
  content: "Search";
}

body.page-id-2653 .ms-rest-filters {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 1.2fr;
  gap: 16px 18px;
  margin-bottom: 16px;
}

body.page-id-2653 .ms-rest-filters .kadence-query-filter,
body.page-id-2653 .ms-rest-filters .kadence-filter-wrap {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.page-id-2653 .ms-rest-filters .kb-query-label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.page-id-2653 .ms-rest-filters .kb-query-label svg {
  color: #f0a3a8 !important;
}

body.page-id-2653 .ms-rest-filters select.kb-filter {
  width: 100%;
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231c1714' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: #1c1714;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 650;
  padding: 11px 36px 11px 12px;
}

body.page-id-2653 .ms-rest-filters .kb-radio-check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
  padding: 2px 0;
  border-radius: 0;
  background: transparent !important;
}

body.page-id-2653 .ms-rest-filters .kb-radio-check-item label {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.9rem;
  font-weight: 600;
}

body.page-id-2653 .ms-rest-filters .kb-checkbox-style {
  accent-color: #b4232a;
}

body.page-id-2653 .ms-rest-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
}

body.page-id-2653 .ms-rest-apply {
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #b4232a;
  color: #fff;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
}

body.page-id-2653 .ms-rest-reset {
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.88);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

body.page-id-2653 .ms-rest-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 0;
  margin-top: 16px;
}

body.page-id-2653 .ms-rest-chips:empty {
  display: none;
}

body.page-id-2653 .ms-rest-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
}

body.page-id-2653 .ms-rest-chip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
  cursor: pointer;
}

body.page-id-2653 .ms-rest-clear {
  margin-left: 4px;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

body.page-id-2653 .ms-filter-panel,
body.page-id-2653 .kadence-column2653_168f91-e0 {
  display: none !important;
}

body.page-id-2653 .kadence-column2653_4e4664-fc .wp-block-kadence-column:not(.kadence-column2653_168f91-e0) {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
}

body.page-id-2653 .wp-block-kadence-query,
body.page-id-2653 .wp-block-kadence-query2653_694ff1-87,
body.page-id-2653 .kadence-column2653_4e4664-fc,
body.page-id-2653 .kadence-column2653_4e4664-fc > .kt-inside-inner-col {
  display: block !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 28px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.page-id-2653 .kadence-column2653_4e4664-fc > .kt-inside-inner-col {
  width: 100% !important;
  margin: 0 !important;
}

body.page-id-2653 .wp-block-kadence-query-result-count {
  color: #5c564f;
  font-weight: 700;
}

body.page-id-2653 .kb-query-grid-wrap {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

body.page-id-2653 .kb-query-item,
body.page-id-2653 .ms-filter-card {
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
  border: 1px solid rgba(28, 23, 20, 0.06) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.06) !important;
}

body.page-id-2653 .kb-query-item .kb-is-ratio-image,
body.page-id-2653 .ms-filter-card-media,
body.page-id-2653 .kb-query-item figure.wp-block-kadence-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 220px;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  overflow: hidden;
  background: #efe8e0;
}

body.page-id-2653 .kb-query-item .kb-is-ratio-image img,
body.page-id-2653 .ms-filter-card-media img,
body.page-id-2653 .kb-query-item img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.page-id-2653 .ms-wish {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #b4232a;
  font-size: 0.95rem;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(18, 12, 10, 0.12);
  pointer-events: none;
}

body.page-id-2653 .kb-query-item .kt-inside-inner-col,
body.page-id-2653 .ms-filter-card-body {
  display: flex !important;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px 0 !important;
}

body.page-id-2653 .kb-query-item .kb-advanced-heading-link,
body.page-id-2653 .kb-query-item .wp-block-kadence-advancedheading,
body.page-id-2653 .ms-filter-card h2,
body.page-id-2653 .kb-query-item .ms-menu-foot h2 {
  margin: 0 !important;
  color: #1c1714 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

body.page-id-2653 .kb-query-item .ms-menu-foot {
  display: block;
  padding: 0;
}

body.page-id-2653 .kb-query-item .ms-menu-foot .ms-view {
  display: none;
}

body.page-id-2653 .ms-updated {
  color: #8a8178;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 500;
}

body.page-id-2653 .ms-halal-card {
  align-self: flex-start;
  margin: 4px 0 0 !important;
  padding: 5px 10px;
  font-size: 0.66rem;
  letter-spacing: 0.06em;
}

body.page-id-2653 .ms-view-label,
body.page-id-2653 .ms-filter-card .ms-view-label,
body.page-id-2653 a.ms-view-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: auto 0 0 !important;
  padding: 12px 0 14px;
  border-top: 1px solid #eee6dc;
  color: #b4232a !important;
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 750;
  text-decoration: none !important;
}

body.page-id-2653 .ms-filter-card-meta {
  display: none !important;
}

body.page-id-2653 .wp-block-kadence-query-pagination .page-numbers.current,
body.page-id-2653 .ms-filter-pager .page-numbers.current {
  background: #b4232a !important;
  color: #fff !important;
}

@media (max-width: 1100px) {
  body.page-id-2653 .kb-query-grid-wrap {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.page-id-2653 .ms-rest-filters {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  body.page-id-2653 .ms-rest-hero {
    padding: 36px 16px 28px;
  }

  body.page-id-2653 .ms-rest-panel {
    padding: 16px;
  }

  body.page-id-2653 .ms-rest-filters {
    grid-template-columns: 1fr;
  }

  body.page-id-2653 .kb-query-grid-wrap {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
}

/* Shared restaurant-style listing cards (Restaurants + 100% Halal) */
body.page-id-9594.ms-rest-cards .kb-query-item,
body.page-id-9594 .kb-query-item.menu,
body.ms-rest-cards .kb-query-item {
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
  border: 1px solid rgba(28, 23, 20, 0.06) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(28, 23, 20, 0.06) !important;
}

body.page-id-9594 .kb-query-item .kb-is-ratio-image,
body.page-id-9594 .kb-query-item figure.wp-block-kadence-image,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .kb-is-ratio-image,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item figure.wp-block-kadence-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 220px;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #efe8e0;
  border-radius: 0 !important;
}

body.page-id-9594 .kb-query-item .kb-is-ratio-image img,
body.page-id-9594 .kb-query-item img,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .kb-is-ratio-image img,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

body.page-id-9594 .ms-wish,
body.ms-rest-cards:not(.page-id-2653) .ms-wish {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #b4232a;
  font-size: 0.95rem;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(18, 12, 10, 0.12);
  pointer-events: none;
}

body.page-id-9594 .kb-query-item > .wp-block-kadence-column,
body.ms-rest-cards .kb-query-item > .wp-block-kadence-column,
body.page-id-2653 .kb-query-item > .wp-block-kadence-column {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 0 !important;
}

body.page-id-9594 .kb-query-item .kt-inside-inner-col,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .kt-inside-inner-col {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column;
  gap: 6px;
  width: 100% !important;
  padding: 12px 14px 0 !important;
  text-align: left !important;
}

body.page-id-9594 .kb-query-item .ms-view-label,
body.page-id-9594 .kb-query-item a.ms-view-label,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .ms-view-label,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item a.ms-view-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin-top: auto !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  padding: 12px 0 14px;
  border-top: 1px solid #eee6dc;
  color: #b4232a !important;
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 750;
  text-decoration: none !important;
}

body.page-id-2653 .kb-query-item > .wp-block-kadence-column {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
}

body.page-id-2653 .kb-query-item .kt-inside-inner-col,
body.page-id-2653 .ms-filter-card-body {
  flex: 1 1 auto !important;
}

body.page-id-2653 .ms-view-label,
body.page-id-2653 .ms-filter-card .ms-view-label,
body.page-id-2653 a.ms-view-label {
  margin-top: auto !important;
}

body.page-id-9594 .kb-query-item .kb-advanced-heading-link,
body.page-id-9594 .kb-query-item .wp-block-kadence-advancedheading,
body.page-id-9594 .kb-query-item .ms-menu-foot h2,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .kb-advanced-heading-link,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .wp-block-kadence-advancedheading,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .ms-menu-foot h2 {
  margin: 0 !important;
  color: #1c1714 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

body.page-id-9594 .kb-query-item .ms-menu-foot {
  display: block;
  padding: 0;
}

body.page-id-9594 .kb-query-item .ms-menu-foot .ms-view,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .ms-view {
  display: none !important;
}

body.page-id-9594 .kb-query-item .ms-updated,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .ms-updated {
  display: block;
  margin-top: 3px;
  color: #8a8178;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 500;
}

body.page-id-9594 .kb-query-item .ms-halal-card,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .ms-halal-card {
  align-self: flex-start;
  margin: 4px 0 0 !important;
}

body.page-id-9594 .kb-query-item .ms-view-label,
body.page-id-9594 .kb-query-item a.ms-view-label,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item .ms-view-label,
body.ms-rest-cards:not(.page-id-2653) .kb-query-item a.ms-view-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: auto 0 0 !important;
  padding: 12px 0 14px;
  border-top: 1px solid #eee6dc;
  color: #b4232a !important;
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 750;
  text-decoration: none !important;
}

body.page-id-9594 .kb-query-item .entry-meta,
body.page-id-9594 .kb-query-item .posted-on,
body.page-id-9594 .kb-query-item .kb-query-item-meta,
body.ms-rest-cards .kb-query-item .entry-meta {
  display: none !important;
}

body.page-id-9594 .kb-query-grid-wrap {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

@media (max-width: 1100px) {
  body.page-id-9594 .kb-query-grid-wrap {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.page-id-9594 .kb-query-grid-wrap {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
}

/* Exact calorie label */
.msc-kcal.exact {
  color: #0d5c2e !important;
  font-weight: 800 !important;
}
.msc-kcal.estimated {
  color: #6b7280 !important;
}

/* Kill large inline red menu shells (#c21f27 wrappers) — only h2 bars stay red */
body.single-menu .entry-content .ms-sec-shell,
body.single-menu .entry-content div[style*="background: #c21f27"][style*="padding: 22px"],
body.single-menu .entry-content div[style*="background:#c21f27"][style*="padding:22px"],
body.single-menu .entry-content div[style*="background: #c21f27"][style*="border-radius: 22px"],
body.single-menu .entry-content div[style*="background:#c21f27"][style*="border-radius:22px"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Strip Kadence theme red row shells — only the h2 bar should be red */
body.single-menu .entry-content > .kb-row-layout-wrap.ms-sec-row,
body.single-menu .entry-content .ms-sec-shell > .kb-row-layout-wrap.ms-sec-row,
body.single-menu .entry-content > .kb-row-layout-wrap.kt-row-has-bg:has(h2.wp-block-heading):not(:has(table)):not(:has(figure.wp-block-table)),
body.single-menu .entry-content > .kb-row-layout-wrap[class*="background-color"]:has(h2.wp-block-heading):not(:has(table)):not(:has(figure.wp-block-table)) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.single-menu .entry-content > .kb-row-layout-wrap.ms-sec-row > .kt-row-column-wrap,
body.single-menu .entry-content > .kb-row-layout-wrap.kt-row-has-bg:has(h2.wp-block-heading):not(:has(table)) > .kt-row-column-wrap,
body.single-menu .entry-content > .kb-row-layout-wrap[class*="background-color"]:has(h2.wp-block-heading):not(:has(table)) > .kt-row-column-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

/* Menu section headers: red title bar + sharp black Name/Price bar */
body.single-menu .entry-content > h2.wp-block-heading:not(.ms-faq-title):not(.ms-guide-title),
body.single-menu .entry-content .wp-block-kadence-column > .kt-inside-inner-col > h2.wp-block-heading:not(.ms-guide-title),
body.single-menu .entry-content .kt-inside-inner-col > h2.wp-block-heading:not(.ms-guide-title):not(.ms-faq-title) {
  margin: 28px 0 0 !important;
  padding: 18px 22px !important;
  border: 0 !important;
  border-radius: 14px 14px 0 0 !important;
  background: #a61d24 !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 22px rgba(28, 23, 20, 0.08) !important;
}

body.single-menu .entry-content > .kb-row-layout-wrap.ms-sec-row h2.wp-block-heading,
body.single-menu .entry-content > .kb-row-layout-wrap:has(h2.wp-block-heading):not(:has(table)) h2.wp-block-heading:not(.ms-faq-title):not(.ms-guide-title) {
  margin-top: 0 !important;
}

body.single-menu .entry-content h2.wp-block-heading:not(.ms-faq-title):not(.ms-guide-title) strong,
body.single-menu .entry-content .kt-inside-inner-col > h2.wp-block-heading:not(.ms-guide-title) strong {
  color: #fff !important;
  font-weight: 800 !important;
}

/* Category blurb from MenuSpot — white under the section title inside the red bar */
body.single-menu .entry-content h2.wp-block-heading .ms-sec-sub {
  display: block !important;
  margin: 10px auto 0 !important;
  max-width: 46rem;
  color: rgba(255, 255, 255, 0.94) !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(0.78rem, 1.35vw, 0.92rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  text-align: center !important;
}

body.single-menu .entry-content p.ms-sec-blurb-used {
  display: none !important;
}

body.single-menu .entry-content h2.wp-block-heading:not(.ms-faq-title):not(.ms-guide-title)::after,
body.single-menu .entry-content .kt-inside-inner-col > h2.wp-block-heading:not(.ms-guide-title)::after {
  display: none !important;
}

/* Keep non-menu headings normal */
body.single-menu .entry-content .ms-category h2,
body.single-menu .entry-content .ms-cities h2,
body.single-menu .entry-content .ms-faq-title,
body.single-menu .entry-content h2.ms-faq-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b4232a !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

body.single-menu .entry-content .ms-guide > h2,
body.single-menu .entry-content .ms-guide > h2.wp-block-heading,
body.single-menu .entry-content .ms-guide > h2.ms-guide-title {
  margin: 0 0 10px !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(185, 32, 37, 0.12) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #541018 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(1.2rem, 2.1vw, 1.42rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-transform: none !important;
}

body.single-menu .entry-content .ms-guide > h2::before,
body.single-menu .entry-content .ms-guide > h2.wp-block-heading::before {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 3px !important;
  margin: 0 0 10px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, #b92025, rgba(185, 32, 37, 0.15)) !important;
}

body.single-menu .entry-content .ms-guide > h2::after,
body.single-menu .entry-content .ms-guide > h2.wp-block-heading::after {
  display: none !important;
  content: none !important;
}

body.single-menu .entry-content .ms-faq-title,
body.single-menu .entry-content h2.ms-faq-title {
  margin: 0 0 8px !important;
  color: #1c1714 !important;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  letter-spacing: -0.03em !important;
  text-align: center !important;
  text-transform: none !important;
}

/* Sharp black Name & Detail / Price bar — no curves */
body.single-menu .entry-content .wp-block-table,
body.single-menu .entry-content .wp-block-table.is-style-stripes {
  margin: 0 0 28px !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Guide comparison tables — branded red header, soft blush rows */
body.single-menu .entry-content .ms-guide .wp-block-table,
body.single-menu .entry-content .ms-guide-compare .wp-block-table,
body.single-menu .entry-content .ms-guide .wp-block-table.is-style-stripes {
  margin: 12px 0 10px !important;
  border: 1px solid rgba(185, 32, 37, 0.14) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(84, 16, 24, 0.06) !important;
}

body.single-menu .entry-content .ms-guide table,
body.single-menu .entry-content .ms-guide .wp-block-table table {
  margin: 0 !important;
  width: 100% !important;
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.single-menu .entry-content .ms-guide table thead th,
body.single-menu .entry-content .ms-guide .wp-block-table thead th {
  background: linear-gradient(135deg, #7a1a24 0%, #b92025 55%, #c4303a 100%) !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 750 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 13px 16px !important;
  width: auto !important;
  white-space: normal !important;
  border-radius: 0 !important;
}

body.single-menu .entry-content .ms-guide table tbody td,
body.single-menu .entry-content .ms-guide .wp-block-table tbody td {
  padding: 14px 16px !important;
  text-align: left !important;
  vertical-align: top !important;
  color: #2a2420 !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  width: auto !important;
  border-top: 1px solid rgba(185, 32, 37, 0.08) !important;
  background: #fff !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

body.single-menu .entry-content .ms-guide table tbody tr:nth-child(even) td,
body.single-menu .entry-content .ms-guide .wp-block-table tbody tr:nth-child(even) td {
  background: #fff7f6 !important;
}

body.single-menu .entry-content .ms-guide table tbody tr:hover td,
body.single-menu .entry-content .ms-guide .wp-block-table tbody tr:hover td {
  background: #ffefef !important;
}

body.single-menu .entry-content .ms-guide td strong,
body.single-menu .entry-content .ms-guide th strong {
  color: #8b1e28 !important;
}

body.single-menu .entry-content table,
body.single-menu .entry-content .wp-block-table table,
body.single-menu .entry-content table.msc-menu-table {
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(28, 23, 20, 0.06) !important;
}

body.single-menu .entry-content table thead th,
body.single-menu .entry-content .wp-block-table thead th,
body.single-menu .entry-content table.msc-menu-table thead th {
  border: 0 !important;
  border-radius: 0 !important;
  background: #000 !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
  text-transform: none !important;
  padding: 12px 20px !important;
  vertical-align: middle !important;
  width: auto !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Multi-column info tables (Option Type / guides) — equal readable columns */
body.single-menu .entry-content table.has-fixed-layout,
body.single-menu .entry-content .wp-block-table table.has-fixed-layout,
body.single-menu .entry-content table:has(th:nth-child(3)),
body.single-menu .entry-content table:has(td:nth-child(3)) {
  table-layout: auto !important;
  width: 100% !important;
}

body.single-menu .entry-content table:has(th:nth-child(3)) thead th,
body.single-menu .entry-content table:has(td:nth-child(3)) thead th,
body.single-menu .entry-content table:has(th:nth-child(3)) tbody td,
body.single-menu .entry-content table:has(td:nth-child(3)) tbody td {
  width: auto !important;
  min-width: 0 !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* 3-col price menus (Name / Price / Calories|Images): name left, price right */
body.single-menu .entry-content table:has(th:nth-child(3)):not(:has(th:nth-child(4))) thead th:first-child,
body.single-menu .entry-content table:has(td:nth-child(3)):not(:has(td:nth-child(4))) thead th:first-child {
  text-align: left !important;
}

body.single-menu .entry-content table:has(th:nth-child(3)):not(:has(th:nth-child(4))) thead th:nth-child(2),
body.single-menu .entry-content table:has(td:nth-child(3)):not(:has(td:nth-child(4))) thead th:nth-child(2) {
  text-align: right !important;
}

body.single-menu .entry-content table:has(th:nth-child(3)):not(:has(th:nth-child(4))) thead th:nth-child(3),
body.single-menu .entry-content table:has(td:nth-child(3)):not(:has(td:nth-child(4))) thead th:nth-child(3) {
  text-align: center !important;
}

body.single-menu .entry-content table:has(th:nth-child(3)):not(:has(th:nth-child(4))) tbody td:first-child,
body.single-menu .entry-content table:has(td:nth-child(3)):not(:has(td:nth-child(4))) tbody td:first-child {
  text-align: left !important;
}

body.single-menu .entry-content table:has(th:nth-child(3)):not(:has(th:nth-child(4))) tbody td:nth-child(2),
body.single-menu .entry-content table:has(td:nth-child(3)):not(:has(td:nth-child(4))) tbody td:nth-child(2) {
  text-align: right !important;
}

body.single-menu .entry-content table thead th:first-child,
body.single-menu .entry-content table thead th:last-child,
body.single-menu .entry-content table.msc-menu-table thead th:first-child,
body.single-menu .entry-content table.msc-menu-table thead th:last-child {
  border-radius: 0 !important;
}

body.single-menu .entry-content table tbody td,
body.single-menu .entry-content .wp-block-table tbody td,
body.single-menu .entry-content table.msc-menu-table tbody td {
  border-radius: 0 !important;
  vertical-align: middle !important;
  padding: 16px 18px !important;
  width: auto !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* 2-column Name/Price menus — left name, right price (reference header bar) */
body.single-menu .entry-content table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) thead th:first-child,
body.single-menu .entry-content table.msc-menu-table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) thead th:first-child {
  width: 72% !important;
  text-align: left !important;
}

body.single-menu .entry-content table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) thead th:last-child,
body.single-menu .entry-content table.msc-menu-table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) thead th:last-child {
  width: 28% !important;
  text-align: right !important;
}

body.single-menu .entry-content table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) tbody td:first-child,
body.single-menu .entry-content table.msc-menu-table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) tbody td:first-child {
  text-align: left !important;
}

body.single-menu .entry-content table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) tbody td:last-child,
body.single-menu .entry-content table.msc-menu-table:not(:has(th:nth-child(3))):not(:has(td:nth-child(3))) tbody td:last-child {
  text-align: right !important;
}

body.single-menu .entry-content table:not(:has(th:nth-child(3))) tbody td:first-child strong,
body.single-menu .entry-content table.msc-menu-table:not(:has(th:nth-child(3))) tbody td:first-child strong {
  display: block !important;
  text-align: left !important;
}

/* Short SEO blurb under each menu item name */
body.single-menu .entry-content table tbody td .ms-item-desc,
body.single-menu .msc-menu-table tbody td .ms-item-desc {
  display: block !important;
  margin: 6px 0 0 !important;
  max-width: 34em;
  color: #6b635c !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

body.single-menu .entry-content table.msc-menu-table tbody td:last-child .msc-action,
body.single-menu .entry-content table tbody td:last-child .msc-action,
body.single-menu .msc-menu-table .msc-action {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 8px 0 0 auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

/* Optional soft bottom rounding only on last body row cells — never the black header */
body.single-menu .entry-content table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 14px !important;
}

body.single-menu .entry-content table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 14px !important;
}

/* Hide Available In + Category blocks on single menus (chips stay in hero) */
body.single-menu .ms-cities,
body.single-menu .ms-category,
body.single-menu.ms-menu-hero-ready .ms-cities,
body.single-menu.ms-menu-hero-ready .ms-category {
  display: none !important;
}

/* Kill empty top ad slot + Kadence gap so hero / TOC / related align */
body.single-menu .code-block-6,
body.single-menu .code-block-9,
body.single-menu #Menuspot_Top_Leaderboard_ATF {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.single-menu #primary.content-area,
body.single-menu .content-area {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.single-menu #inner-wrap,
body.single-menu .content-container.site-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-menu #colophon {
  margin-top: 0 !important;
}

body.single-menu .ms-end-related {
  margin-bottom: 0 !important;
}

body.single-menu .content-container.site-container,
body.single-menu #inner-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.single-menu .entry-content-wrap {
  padding-top: 0 !important;
}

body.single-menu #secondary .sidebar-inner-wrap,
body.single-menu .ms-related-menus {
  margin-top: 0 !important;
}

/* Keep menu + TOC as a clean two-column layout; TOC always on the right */
body.single-menu .content-container.site-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) min(300px, 30%) !important;
  column-gap: 28px !important;
  align-items: start !important;
}

body.single-menu #main,
body.single-menu .site-main {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.single-menu #secondary {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 300px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Clear sticky site header when jumping to menu / guide sections */
body.single-menu .entry-content h2[id^="ms-sec-"],
body.single-menu .entry-content .ms-guide[id^="ms-sec-"] {
  scroll-margin-top: 96px;
}

/* Premium sticky TOC on menu pages — full list, no inner scrollbar */
body.single-menu .ms-menu-toc {
  position: sticky;
  top: 88px;
  z-index: 5;
  margin: 0 0 22px;
  width: 100%;
}

body.single-menu .ms-menu-toc-card {
  position: relative;
  padding: 16px 16px 14px;
  border: 1px solid rgba(84, 16, 24, 0.1);
  border-radius: 16px;
  background:
    linear-gradient(165deg, rgba(139, 30, 40, 0.035) 0%, #fff 38%, #fff 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 14px 34px rgba(61, 12, 20, 0.07);
  overflow: visible !important;
}

body.single-menu .ms-menu-toc-card::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 0;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, #8b1e28, #c4303a 55%, rgba(196, 48, 58, 0.35));
}

body.single-menu .ms-menu-toc-kicker {
  margin: 4px 0 2px;
  color: #8b1e28;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.single-menu .ms-menu-toc-title {
  display: block;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(28, 23, 20, 0.08);
  color: #1a1214;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

body.single-menu .ms-menu-toc-list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: none !important;
  overflow: visible !important;
}

body.single-menu .ms-menu-toc-list a {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px 10px;
  border-radius: 10px;
  color: #3a342f !important;
  text-decoration: none !important;
  overflow: visible !important;
  transition: background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

body.single-menu .ms-menu-toc-list a span {
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  width: 28px;
  min-width: 28px;
  height: 24px;
  margin-top: 1px;
  border-radius: 7px;
  background: rgba(139, 30, 40, 0.08);
  color: #8b1e28;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  overflow: visible;
}

body.single-menu .ms-menu-toc-list a em {
  min-width: 0;
  font-style: normal;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.35;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.single-menu .ms-menu-toc-list a:hover,
body.single-menu .ms-menu-toc-list a:focus {
  background: rgba(139, 30, 40, 0.06);
  color: #1a1214 !important;
}

body.single-menu .ms-menu-toc-list a:hover span,
body.single-menu .ms-menu-toc-list a:focus span {
  background: rgba(139, 30, 40, 0.14);
}

body.single-menu .ms-menu-toc-list a.is-active {
  background: rgba(139, 30, 40, 0.1);
  color: #1a1214 !important;
  box-shadow: inset 3px 0 0 #8b1e28;
}

body.single-menu .ms-menu-toc-list a.is-active span {
  background: linear-gradient(165deg, #a32632, #7a1a24);
  color: #fff;
}

body.single-menu .ms-menu-toc-float {
  position: fixed !important;
  top: 96px !important; /* matches header(78) + content top gap(18) */
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 40;
  width: min(292px, calc(100vw - 36px));
  max-height: none !important;
  overflow: visible !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

/* Hide TOC when it would cover the footer */
body.single-menu .ms-menu-toc-float.is-past-content {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px);
}

body.single-menu.ms-toc-left .ms-menu-toc-float.ms-menu-toc-left {
  left: 16px !important;
  right: auto !important;
}

body.single-menu .ms-menu-toc-float .ms-menu-toc-card,
body.single-menu .ms-menu-toc-float .ms-menu-toc-list {
  max-height: none !important;
  overflow: visible !important;
}

/* Give main content room so left TOC does not cover copy */
@media (min-width: 1280px) {
  body.single-menu.ms-toc-left .content-container.site-container {
    width: min(1180px, calc(100% - 324px)) !important;
    margin-left: 316px !important;
    margin-right: auto !important;
  }
}

body.single-menu .ms-related-menus {
  margin: 0 0 22px;
  padding: 16px 14px 12px;
  border: 1px solid rgba(28, 23, 20, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(28, 23, 20, 0.07);
}

body.single-menu .ms-related-kicker {
  margin: 0 0 4px;
  color: #b4232a;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.single-menu .ms-related-title {
  margin: 0 0 14px !important;
  color: #1c1714 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

body.single-menu .ms-related-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.single-menu .ms-related-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(28, 23, 20, 0.06);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(28, 23, 20, 0.05);
}

body.single-menu .ms-related-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #efe8e0;
}

body.single-menu .ms-related-media img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
  background: #efe8e0;
}

body.single-menu .ms-related-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  padding: 12px 12px 0;
}

body.single-menu .ms-related-body h3 {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body.single-menu .ms-related-body h3 a {
  color: #1c1714 !important;
  text-decoration: none !important;
}

body.single-menu .ms-related-body .ms-updated {
  color: #8a8178;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 500;
}

body.single-menu .ms-related-body .ms-halal-card {
  align-self: flex-start;
  margin: 2px 0 0 !important;
  padding: 5px 10px;
  font-size: 0.64rem;
  letter-spacing: 0.06em;
}

body.single-menu .ms-related-body .ms-view-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: auto 0 0 !important;
  padding: 11px 0 12px;
  border-top: 1px solid #eee6dc;
  color: #b4232a !important;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none !important;
}

/* Bottom-of-menu recipes / related restaurants — same cards as sidebar */
body.single-menu .ms-end-related {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin: 28px 0 0;
  padding: 0;
  clear: both;
}

body.single-menu .ms-end-related .ms-related-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  min-width: 0;
  overflow: hidden !important;
}

body.single-menu .ms-end-related .ms-related-media {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #f3ebe3 !important;
}

body.single-menu .ms-end-related .ms-related-media img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f3ebe3 !important;
}

body.single-menu .ms-end-related .ms-related-body {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.single-menu .ms-end-related .ms-related-body h3,
body.single-menu .ms-end-related .ms-related-body h3 a {
  display: block !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
  line-height: 1.3 !important;
  -webkit-line-clamp: unset !important;
}

body.single-menu .ms-end-kicker {
  margin: 0 0 6px;
  color: #b4232a;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-align: center;
  text-transform: uppercase;
}

body.single-menu .ms-end-title {
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1c1714 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.single-menu .ms-end-title::before,
body.single-menu .ms-end-title::after {
  display: none !important;
  content: none !important;
}

body.single-menu .ms-end-related .ms-end-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 1100px) {
  body.single-menu .ms-end-related .ms-end-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  body.single-menu .ms-end-related .ms-end-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 520px) {
  body.single-menu .ms-end-related .ms-end-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1279px) {
  body.single-menu.ms-toc-left .content-container.site-container {
    width: auto !important;
    margin-left: auto !important;
  }

  body.single-menu .ms-menu-toc-float {
    display: none;
  }
}

@media (max-width: 1024px) {
  body.single-menu .content-container.site-container {
    grid-template-columns: 1fr !important;
  }

  body.single-menu #secondary,
  body.single-menu #main,
  body.single-menu .site-main {
    grid-column: 1 !important;
    max-width: none !important;
  }

  body.single-menu .ms-menu-toc-float {
    display: none;
  }

  body.single-menu .ms-menu-toc {
    position: relative;
    top: auto;
  }

  body.single-menu .ms-menu-toc-list {
    max-height: none;
  }
}

/* Single menu hero — restaurants-style burgundy + side gallery */
body.single-menu.ms-menu-hero-ready .entry.content-bg,
body.single-menu.ms-menu-hero-ready .entry-content-wrap {
  overflow: visible;
}

body.single-menu .ms-menu-hero {
  position: relative;
  overflow: hidden;
  width: calc(100% + 64px);
  max-width: none;
  margin: 0 -32px 28px;
  padding: 28px 28px 28px;
  background:
    radial-gradient(ellipse 90% 70% at 8% 15%, rgba(196, 48, 58, 0.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 92% 85%, rgba(255, 255, 255, 0.07), transparent 50%),
    linear-gradient(160deg, #7a1a24 0%, #541018 38%, #3d0c14 100%);
  color: #fff;
}

body.single-menu .ms-menu-hero::before {
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  width: 70%;
  height: 90%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.08), transparent 60%);
  transform: rotate(-12deg);
  pointer-events: none;
}

body.single-menu .ms-menu-hero::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -35%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.05), transparent 65%);
  pointer-events: none;
}

body.single-menu .ms-menu-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(240px, 0.95fr);
  gap: 28px 32px;
  align-items: center;
  width: min(1080px, 100%);
  margin: 0 auto;
}

body.single-menu .ms-menu-hero-copy {
  text-align: left;
}

body.single-menu .ms-menu-hero h1.entry-title,
body.single-menu .ms-menu-hero h1 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(2rem, 4.2vw, 3.1rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
  text-align: left !important;
  text-transform: none !important;
}

body.single-menu .ms-menu-hero h1::after {
  display: none !important;
}

body.single-menu .ms-menu-hero-sub {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.4;
}

body.single-menu .ms-menu-hero .ms-halal {
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(28, 12, 16, 0.35);
  color: #fff !important;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.single-menu .ms-menu-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.single-menu .ms-menu-hero-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff !important;
  font-size: 0.86rem;
  font-weight: 650;
  text-decoration: none !important;
  transition: background 0.18s ease, border-color 0.18s ease;
}

body.single-menu .ms-menu-hero-chip:hover,
body.single-menu .ms-menu-hero-chip:focus {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.32);
  color: #fff !important;
}

body.single-menu .ms-menu-hero-gallery {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  min-height: 280px;
  height: clamp(260px, 32vw, 340px);
}

body.single-menu .ms-menu-hero-shot {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  background: rgba(28, 12, 16, 0.35);
  box-shadow: 0 18px 40px rgba(10, 4, 6, 0.28);
}

body.single-menu .ms-menu-hero-shot-main {
  grid-row: 1 / span 2;
}

body.single-menu .ms-menu-hero-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
  transition: transform 0.45s ease;
}

body.single-menu .ms-menu-hero-shot:hover img {
  transform: scale(1.05);
}

@media (max-width: 900px) {
  body.single-menu .ms-menu-hero {
    width: calc(100% + 48px);
    margin: -24px -24px 24px;
    padding: 28px 20px 24px;
  }

  body.single-menu .ms-menu-hero-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  body.single-menu .ms-menu-hero-gallery {
    height: 240px;
    min-height: 220px;
  }
}

@media (max-width: 640px) {
  body.single-menu .ms-menu-hero {
    width: calc(100% + 32px);
    margin: -16px -16px 20px;
    padding: 24px 16px 20px;
  }

  body.single-menu .ms-menu-hero h1.entry-title,
  body.single-menu .ms-menu-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.2rem) !important;
  }

  body.single-menu .ms-menu-hero-gallery {
    grid-template-columns: 1.2fr 1fr;
    height: 200px;
  }
}

/* Blog / Recipes / Articles — shared burgundy hub hero */
body.ms-hub-ready #primary,
body.ms-hub-ready #inner-wrap,
body.ms-hub-ready #main,
body.ms-hub-ready .content-area,
body.ms-hub-ready .content-container,
body.ms-hub-ready .site-main,
body.ms-hub-ready main.wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.ms-hub-ready .entry-hero.page-hero-section,
body.ms-hub-ready .entry-hero {
  display: none !important;
}

body.ms-hub-ready .ms-hub-hero,
body.ms-hub-ready .ms-blog-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 0 28px;
  padding: 48px 20px 40px;
  background:
    radial-gradient(ellipse 90% 70% at 8% 15%, rgba(196, 48, 58, 0.45), transparent 55%),
    radial-gradient(ellipse 70% 60% at 92% 85%, rgba(255, 255, 255, 0.07), transparent 50%),
    linear-gradient(160deg, #7a1a24 0%, #541018 38%, #3d0c14 100%);
  color: #fff;
}

body.ms-hub-ready .ms-hub-hero::before,
body.ms-hub-ready .ms-blog-hero::before {
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  width: 70%;
  height: 90%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.08), transparent 60%);
  transform: rotate(-12deg);
  pointer-events: none;
}

body.ms-hub-ready .ms-hub-hero::after,
body.ms-hub-ready .ms-blog-hero::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -35%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.05), transparent 65%);
  pointer-events: none;
}

body.ms-hub-ready .ms-hub-hero-inner,
body.ms-hub-ready .ms-blog-hero-inner {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  margin: 0 auto;
  text-align: center;
}

body.ms-hub-ready .ms-hub-hero h1,
body.ms-hub-ready .ms-hub-hero h1.entry-title,
body.ms-hub-ready .ms-blog-hero h1,
body.ms-hub-ready .ms-blog-hero h1.entry-title {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.ms-hub-ready .ms-hub-hero h1::after,
body.ms-hub-ready .ms-blog-hero h1::after {
  display: none !important;
}

body.ms-hub-ready .ms-hub-lead,
body.ms-hub-ready .ms-blog-lead {
  margin: 0 auto;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
}

body.ms-hub-ready .content-wrap.kadence-posts-list,
body.ms-hub-ready .kadence-posts-list,
body.ms-hub-ready .ms-article-grid,
body.ms-hub-ready .wp-block-kadence-query,
body.ms-hub-ready .navigation.pagination,
body.ms-hub-ready .ms-listing-pager {
  width: min(1120px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}

body.page-id-6282.ms-hub-ready .entry-content,
body.page-id-14727.ms-hub-ready .entry-content {
  max-width: none !important;
  padding-top: 0 !important;
}

body.page-id-6282.ms-hub-ready img.post-top-featured,
body.page-id-14727.ms-hub-ready img.post-top-featured,
body.page-id-954.ms-hub-ready img.post-top-featured,
body.page-id-6282.ms-hub-ready .post-thumbnail:has(img.post-top-featured),
body.page-id-14727.ms-hub-ready .post-thumbnail:has(img.post-top-featured),
body.page-id-954.ms-hub-ready .post-thumbnail.article-post-thumbnail,
body.page-id-954.ms-hub-ready .post-thumbnail:has(img.post-top-featured) {
  display: none !important;
}

body.page-id-954.ms-hub-ready .entry-content {
  max-width: min(1080px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
  padding-top: 0 !important;
}

body.page-id-954.ms-hub-ready .entry.content-bg,
body.page-id-954.ms-hub-ready .entry-content-wrap,
body.page-id-954.ms-hub-ready .content-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Kill Kadence row top padding / inner margin that left a huge white gap under hero */
body.page-id-954.ms-hub-ready .ms-hub-hero {
  margin-bottom: 0 !important;
}

body.page-id-954.ms-hub-ready .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap {
  padding-top: 36px !important;
  padding-bottom: 56px !important;
}

body.page-id-954.ms-hub-ready .entry-content .kb-row-layout-wrap .kb-row-layout-wrap {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.page-id-954.ms-hub-ready .entry-content .kt-adv-heading954_863250-3a,
body.page-id-954.ms-hub-ready .entry-content h6.kt-adv-heading,
body.page-id-954.ms-hub-ready .entry-content .wp-block-kadence-advancedheading:is(h6) {
  margin: 0 0 10px !important;
  color: #8b1e28 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

body.page-id-954.ms-hub-ready .entry-content h2.kt-adv-heading,
body.page-id-954.ms-hub-ready .entry-content .kt-adv-heading954_a1fcdd-05 {
  margin: 0 0 18px !important;
  color: #1a1214 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: clamp(1.55rem, 2.6vw, 2.05rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

body.page-id-954.ms-hub-ready .entry-content .kt-inside-inner-col > p {
  margin: 0 0 14px !important;
  color: #4a4044 !important;
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
}

body.page-id-954.ms-hub-ready .entry-content .kt-inside-inner-col a {
  color: #8b1e28 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* Premium contact form panel */
body.page-id-954.ms-hub-ready .wp-block-kadence-form.kb-form-wrap,
body.page-id-954.ms-hub-ready .kadence-form-954_6d1f78-f5 {
  position: relative;
  margin: 0 !important;
  padding: 28px 26px 24px !important;
  background:
    linear-gradient(165deg, rgba(139, 30, 40, 0.04) 0%, rgba(255, 255, 255, 0.95) 42%, #fff 100%),
    #faf7f7;
  border: 1px solid rgba(84, 16, 24, 0.1);
  border-radius: 18px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 18px 40px rgba(61, 12, 20, 0.07);
}

body.page-id-954.ms-hub-ready .wp-block-kadence-form.kb-form-wrap::before {
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  top: 0;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, #8b1e28, #c4303a 55%, rgba(196, 48, 58, 0.35));
}

body.page-id-954.ms-hub-ready .kb-form {
  gap: 0 !important;
  margin: 0 !important;
}

body.page-id-954.ms-hub-ready .kb-form .kadence-blocks-form-field {
  margin-bottom: 14px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-field,
body.page-id-954.ms-hub-ready .kb-form input.kb-field,
body.page-id-954.ms-hub-ready .kb-form textarea.kb-field {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1.5px solid rgba(61, 12, 20, 0.12) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #1a1214 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  box-shadow: 0 1px 2px rgba(61, 12, 20, 0.03) !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

body.page-id-954.ms-hub-ready .kb-form textarea.kb-field {
  min-height: 140px !important;
  resize: vertical !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-field::placeholder {
  color: #8a7f84 !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-field:hover {
  border-color: rgba(139, 30, 40, 0.28) !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-field:focus {
  outline: none !important;
  border-color: #8b1e28 !important;
  box-shadow: 0 0 0 3px rgba(139, 30, 40, 0.14) !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-submit-field,
body.page-id-954.ms-hub-ready .kb-form .kadence-blocks-form-field:has(.kb-forms-submit) {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-forms-submit,
body.page-id-954.ms-hub-ready .kb-form button.kb-forms-submit {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(165deg, #a32632 0%, #7a1a24 55%, #5c121c 100%) !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(122, 26, 36, 0.28) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-forms-submit:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(122, 26, 36, 0.34) !important;
}

body.page-id-954.ms-hub-ready .kb-form .kb-forms-submit:active {
  transform: translateY(0);
}

@media (max-width: 767px) {
  body.page-id-954.ms-hub-ready .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap {
    padding-top: 24px !important;
    padding-bottom: 40px !important;
  }

  body.page-id-954.ms-hub-ready .wp-block-kadence-form.kb-form-wrap,
  body.page-id-954.ms-hub-ready .kadence-form-954_6d1f78-f5 {
    padding: 22px 18px 18px !important;
    border-radius: 14px !important;
  }
}

/* Calculators hub — burgundy hero, keep tool cards below */
body.page-id-24030.ms-hub-ready .entry-content,
body.parent-pageid-24030.ms-hub-ready .entry-content {
  max-width: min(1120px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
  padding-top: 8px !important;
}

body.page-id-24030.ms-hub-ready .entry.content-bg,
body.page-id-24030.ms-hub-ready .entry-content-wrap,
body.parent-pageid-24030.ms-hub-ready .entry.content-bg,
body.parent-pageid-24030.ms-hub-ready .entry-content-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.page-id-24030.ms-hub-ready .msc-featured,
body.parent-pageid-24030.ms-hub-ready .msc-featured {
  display: none !important;
}

body.page-id-24030.ms-hub-ready .msc-hub,
body.parent-pageid-24030.ms-hub-ready .msc-wrap {
  margin-top: 12px !important;
}

body.page-id-14727.ms-hub-ready .entry.content-bg,
body.page-id-14727.ms-hub-ready .entry-content-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

@media (max-width: 640px) {
  body.ms-hub-ready .ms-hub-hero,
  body.ms-hub-ready .ms-blog-hero {
    padding: 36px 16px 32px;
  }

  body.ms-hub-ready .ms-hub-hero h1,
  body.ms-hub-ready .ms-hub-hero h1.entry-title,
  body.ms-hub-ready .ms-blog-hero h1,
  body.ms-hub-ready .ms-blog-hero h1.entry-title {
    font-size: clamp(1.9rem, 8vw, 2.4rem) !important;
  }

  body.ms-hub-ready .ms-hub-lead,
  body.ms-hub-ready .ms-blog-lead {
    font-size: 0.96rem;
    line-height: 1.5;
  }
}

/* City / location pages — full-bleed hero, text inside the image */
body.ms-city-page .site.wp-site-blocks,
body.ms-city-page .wrap.kt-clear,
body.ms-city-page #inner-wrap,
body.ms-city-page .content-container {
  overflow: visible !important;
  max-width: none !important;
}

body.ms-city-page .entry-hero.ms-city-hero {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 -50vw !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #1c1714 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.ms-city-page .entry-hero.ms-city-hero .ms-city-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center 40% !important;
  background-repeat: no-repeat !important;
  transform: scale(1.02);
  z-index: 0;
}

body.ms-city-page .entry-hero.ms-city-hero .ms-city-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(12, 8, 6, 0.35) 0%, rgba(12, 8, 6, 0.55) 55%, rgba(12, 8, 6, 0.72) 100%);
}

body.ms-city-page .entry-hero.ms-city-hero .entry-hero-container-inner,
body.ms-city-page .entry-hero.ms-city-hero .hero-section-overlay {
  background: transparent !important;
  position: relative !important;
  z-index: 1;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.ms-city-page .entry-hero.ms-city-hero .hero-section-overlay {
  display: none !important;
}

body.ms-city-page .entry-hero.ms-city-hero .hero-container,
body.ms-city-page .entry-hero.ms-city-hero .entry-header {
  position: relative !important;
  z-index: 2;
  min-height: clamp(280px, 42vw, 460px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 48px 20px 56px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.ms-city-page .entry-hero.ms-city-hero .entry-title {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
  margin: 0 0 12px !important;
  font-size: clamp(2rem, 5vw, 3.4rem) !important;
  letter-spacing: 0.06em !important;
}

body.ms-city-page .entry-hero.ms-city-hero .entry-title::after {
  display: none !important;
}

body.ms-city-page .entry-hero.ms-city-hero .kadence-breadcrumbs,
body.ms-city-page .entry-hero.ms-city-hero .kadence-breadcrumb-container,
body.ms-city-page .entry-hero.ms-city-hero .kadence-breadcrumbs a,
body.ms-city-page .entry-hero.ms-city-hero .bc-delimiter,
body.ms-city-page .entry-hero.ms-city-hero .kadence-bread-current {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.ms-city-page .entry-hero.ms-city-hero .kadence-breadcrumbs a:hover {
  color: #fff !important;
  text-decoration: underline;
}

body.ms-city-page .content-area {
  margin-top: 2.5rem !important;
}

@media (max-width: 767px) {
  body.ms-city-page .entry-hero.ms-city-hero .hero-container,
  body.ms-city-page .entry-hero.ms-city-hero .entry-header {
    min-height: 240px !important;
    padding: 36px 16px 40px !important;
  }

  body.ms-city-page .entry-hero.ms-city-hero .entry-title {
    font-size: clamp(1.7rem, 8vw, 2.2rem) !important;
  }
}
