/*
Theme Name: Dominican Grill Restaurant Website
Theme URI: https://dominicangrill.com
Author: Stitch / Dominican Smoke & Hearth
Author URI: https://dominicangrill.com
Description: Authentic Dominican Cuisine Restaurant Website in Waltham, MA. Built with Dominican Smoke & Hearth design system, handcrafted mofongos, and fresh Caribbean specialties.
Version: 1.3.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: stitch_dominican_grill_restaurant_website
*/


:root {
  --dg-canvas: #FAF7F2;
  --dg-surface: #F5EFEB;
  --dg-surface-warm: #EFE8E1;
  --dg-card: #FFFFFF;
  --dg-card-hover: #FFFFFF;
  --dg-border: #E8DFD5;
  --dg-border-light: rgba(0, 0, 0, 0.06);

  /* Dominican Flag & Hearth Culinary Colors */
  --dg-flag-blue: #002D62;        /* Azul Ultramar Dominicano */
  --dg-flag-blue-dark: #001E44;
  --dg-flag-blue-light: #F0F4FA;
  --dg-flag-red: #C81D25;         /* Rojo Bermejo Dominicano */
  --dg-flag-red-dark: #A50B1C;
  --dg-flag-red-light: #FDF1F2;
  --dg-flag-gold: #C99A45;        /* Oro Culinario */

  --dg-primary: #C81D25;
  --dg-primary-hover: #A50B1C;
  --dg-secondary: #002D62;
  --dg-secondary-hover: #001E44;
  --dg-ember: #ea580c;
  --dg-amber: #d97706;

  --dg-text-pure: #0F172A;
  --dg-text-body: #334155;
  --dg-text-muted: #64748B;

  --dg-radius-sm: 0.375rem;
  --dg-radius-md: 0.625rem;
  --dg-radius-lg: 0.875rem;
  --dg-radius-xl: 1.25rem;

  /* Smooth Easing Functions */
  --dg-ease-organic: cubic-bezier(0.16, 1, 0.3, 1);
  --dg-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 5.5rem;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: var(--dg-canvas);
  color: var(--dg-text-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
  overflow-x: hidden;
  background-image: radial-gradient(rgba(0, 0, 0, 0.015) 1px, transparent 1px);
  background-size: 24px 24px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Epilogue', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--dg-text-pure);
  letter-spacing: -0.02em;
}

.font-editorial {
  font-family: 'Playfair Display', Georgia, serif;
}

.font-heading {
  font-family: 'Epilogue', sans-serif;
}

.font-body {
  font-family: 'Manrope', sans-serif;
}

/* Custom Scrollbar for Menu Nav */
.scrollbar-none::-webkit-scrollbar {
  display: none;
}
.scrollbar-none {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Elegant Hero Atmosphere */
.dg-hero-gradient {
  background: radial-gradient(circle at 85% 15%, rgba(0, 45, 98, 0.04) 0%, transparent 45%),
              radial-gradient(circle at 10% 80%, rgba(200, 29, 37, 0.04) 0%, transparent 50%),
              linear-gradient(180deg, #FFFFFF 0%, #FAF7F2 100%);
}

.dg-section-light {
  background-color: #FAF7F2;
}

.dg-section-warm {
  background-color: #F5EFEB;
  border-top: 1px solid var(--dg-border);
  border-bottom: 1px solid var(--dg-border);
}

/* Subtle Flag Accent Line */
.dg-flag-accent-line {
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg, #002D62 0%, #002D62 48%, #FFFFFF 48%, #FFFFFF 52%, #C81D25 52%, #C81D25 100%);
}

/* Dynamic Sticky Header Transition */
#main-site-header {
  transition: all 0.3s var(--dg-ease-organic);
}

#main-site-header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.98);
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08);
  border-bottom-color: #E2D9CE;
}

/* Nav Link Underline & Scrollspy Active Transition */
.dg-nav-link {
  position: relative;
  transition: color 0.25s var(--dg-ease-organic);
}

.dg-nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--dg-primary);
  border-radius: 9999px;
  transition: width 0.3s var(--dg-ease-organic);
}

.dg-nav-link:hover::after,
.dg-nav-link.active-section::after {
  width: 100%;
}

.dg-nav-link.active-section {
  color: var(--dg-primary) !important;
  font-weight: 700;
}

/* Hero Keyframe Staggered Entrance */
@keyframes heroFadeUp {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-animate-1 { animation: heroFadeUp 0.7s var(--dg-ease-organic) 0.08s both; }
.hero-animate-2 { animation: heroFadeUp 0.7s var(--dg-ease-organic) 0.22s both; }
.hero-animate-3 { animation: heroFadeUp 0.7s var(--dg-ease-organic) 0.36s both; }
.hero-animate-4 { animation: heroFadeUp 0.7s var(--dg-ease-organic) 0.50s both; }

/* Menu Card Architecture - Refined Bistro Craft */
.dg-menu-card {
  background: #FFFFFF;
  border: 1px solid #EAE3D9;
  border-radius: 1rem;
  transition: transform 0.35s var(--dg-ease-organic), box-shadow 0.35s var(--dg-ease-organic), border-color 0.25s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px -2px rgba(15, 23, 42, 0.02);
}

.dg-menu-card:hover {
  border-color: #D6CBC0;
  transform: translateY(-4px);
  box-shadow: 0 20px 36px -10px rgba(15, 23, 42, 0.10), 0 4px 12px -1px rgba(15, 23, 42, 0.04);
}

.dg-menu-card img {
  transition: transform 0.65s var(--dg-ease-organic);
}

.dg-menu-card:hover img {
  transform: scale(1.05);
}

/* Classic Editorial Bistro Carta View (Dotted Price Leader) */
.dg-carta-item {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  position: relative;
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid #EAE3D8 !important;
  transition: background 0.2s ease, padding 0.2s ease;
}

.dg-carta-item:last-child {
  border-bottom: none !important;
}

.dg-carta-item:hover {
  background: #FAF7F2;
  border-bottom-color: var(--dg-primary) !important;
}

.dg-carta-item-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.dg-leader-dots {
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  min-width: 20px !important;
  border-bottom: 1px dotted #CBD5E1 !important;
  margin: 0 0.75rem 0.25rem 0.75rem !important;
  height: 1px !important;
}

.dg-carta-desc {
  display: block !important;
  width: 100% !important;
  margin-top: 0.25rem !important;
  font-size: 0.825rem !important;
  color: #64748B !important;
  line-height: 1.4 !important;
}

/* Refined Culinary Tags */
.badge-flame, .badge-flag-red {
  background: #FDF1F2;
  color: #C81D25;
  border: 1px solid #F8CCD0;
}

.badge-navy, .badge-flag-blue {
  background: #F0F4FA;
  color: #002D62;
  border: 1px solid #C8D7EC;
}

.badge-gold, .badge-flag-gold {
  background: #FFFBEB;
  color: #92400E;
  border: 1px solid #FDE68A;
}

.badge-emerald {
  background: #F0FDF4;
  color: #166534;
  border: 1px solid #BBF7D0;
}

/* Category Tab Buttons */
.dg-tab-btn {
  background: #FFFFFF;
  color: #475569;
  border: 1px solid #E2D9CE;
  border-radius: 9999px;
  font-family: 'Manrope', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  transition: all 0.25s var(--dg-ease-organic);
  white-space: nowrap;
}

.dg-tab-btn:hover {
  border-color: #002D62;
  color: #002D62;
  background: #F8FAFC;
  transform: translateY(-1px);
}

.dg-tab-btn.active {
  background: #C81D25;
  color: #ffffff;
  border-color: #C81D25;
  box-shadow: 0 3px 10px rgba(200, 29, 37, 0.25);
}

/* Search Bar Glow - Dominican Blue */
.dg-search-input:focus {
  outline: none;
  border-color: #002D62;
  box-shadow: 0 0 0 3px rgba(0, 45, 98, 0.12);
}

/* Organic Floating Animation for Stamps */
@keyframes subtleFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

.floating-stamp, .subtle-float {
  animation: subtleFloat 5s ease-in-out infinite;
}

/* Keep content visible when scroll observers are unavailable or delayed. */
.reveal-on-scroll {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s var(--dg-ease-organic), transform 0.7s var(--dg-ease-organic);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Staggered Children Reveal System */
.stagger-children > * {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.65s var(--dg-ease-organic), transform 0.65s var(--dg-ease-organic);
  will-change: opacity, transform;
}

.stagger-children.is-visible > *:nth-child(1) { transition-delay: 0.05s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(2) { transition-delay: 0.12s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(3) { transition-delay: 0.19s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(4) { transition-delay: 0.26s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(5) { transition-delay: 0.33s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(6) { transition-delay: 0.40s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(7) { transition-delay: 0.47s; opacity: 1; transform: translateY(0); }
.stagger-children.is-visible > *:nth-child(8) { transition-delay: 0.54s; opacity: 1; transform: translateY(0); }

/* Interactive Buttons Micro-Physics */
.dg-btn-primary {
  transition: transform 0.2s var(--dg-ease-organic), background-color 0.2s ease, box-shadow 0.2s ease;
}

.dg-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -4px rgba(200, 29, 37, 0.35);
}

.dg-btn-primary:active {
  transform: translateY(0) scale(0.97);
}

.dg-btn-secondary {
  transition: transform 0.2s var(--dg-ease-organic), background-color 0.2s ease, box-shadow 0.2s ease;
}

.dg-btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -4px rgba(0, 45, 98, 0.25);
}

.dg-btn-secondary:active {
  transform: translateY(0) scale(0.97);
}

/* Mobile Bottom Conversion Bar */
.dg-mobile-bar {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* Menu Grid Items Transition */
.menu-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* FAQ Accordion Styling & Transitions */
.dg-faq-item, .dg-accordion-item {
  transition: all 0.25s var(--dg-ease-organic);
}

.dg-faq-button, .dg-accordion-btn {
  cursor: pointer;
  transition: color 0.2s ease;
}

.dg-faq-button:hover, .dg-accordion-btn:hover {
  color: var(--dg-primary);
}

.dg-faq-icon, .dg-accordion-chevron {
  transition: transform 0.3s var(--dg-ease-organic);
  color: var(--dg-text-muted);
}

.dg-faq-button[aria-expanded="true"] .dg-faq-icon,
.dg-accordion-btn[aria-expanded="true"] .dg-accordion-chevron {
  transform: rotate(180deg);
  color: var(--dg-primary);
}

.dg-faq-content, .dg-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s var(--dg-ease-organic), opacity 0.3s ease;
  opacity: 0;
  display: block;
}

.dg-faq-button[aria-expanded="true"] + .dg-faq-content,
.dg-accordion-item.is-open .dg-accordion-content,
.dg-accordion-btn[aria-expanded="true"] + .dg-accordion-content {
  max-height: 400px;
  opacity: 1;
}

/* Accessibility: Respect Reduced Motion Preferences */
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
  }
  .floating-stamp {
    animation: none !important;
  }
}

/* Ensure mobile viewport has clearance for floating quick actions bar */
@media (max-width: 767px) {
  body {
    padding-bottom: 60px;
  }
}

/* Keyboard focus, logged-in toolbar clearance, and mobile safe areas. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #002D62;
  outline-offset: 3px;
}
.admin-bar #main-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #main-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar #main-site-header { top: 0; } }
@media (max-width: 767px) { body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); } }

/* Readable typography for the Terms of Service page. */
.page-id-5 main.wp-block-group, .page-id-3 main.wp-block-group { max-width: 860px; margin-inline: auto; }
.page-id-5 .wp-block-post-title, .page-id-3 .wp-block-post-title { font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 1.5rem; }
.page-id-5 .wp-block-post-content, .page-id-3 .wp-block-post-content { line-height: 1.8; overflow-wrap: anywhere; }
.page-id-5 .wp-block-post-content h2, .page-id-3 .wp-block-post-content h2 { font-size: 1.4rem; font-weight: 700; margin: 2rem 0 .75rem; }
.page-id-5 .wp-block-post-content p, .page-id-3 .wp-block-post-content p { margin: 0 0 1rem; }
.page-id-5 .wp-block-post-content ul, .page-id-3 .wp-block-post-content ul { list-style: disc; padding-left: 1.5rem; margin: 1rem 0; }
.page-id-5 .wp-block-post-content li, .page-id-3 .wp-block-post-content li { margin-bottom: .65rem; }
.page-id-5 .wp-block-post-content a, .page-id-3 .wp-block-post-content a { text-decoration: underline; text-underline-offset: .2em; }

/* Language controls stay visible on desktop and mobile. */
.dg-language-switch { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid rgba(255,255,255,.45); border-radius: 6px; flex-shrink: 0; }
.dg-language-switch a { padding: 4px 7px; border-radius: 4px; font-size: 11px; line-height: 1.3; color: white; }
.dg-language-switch a[aria-current="page"] { background: white; color: #002D62; font-weight: 800; }
.dg-language-switch a:focus-visible { outline: 2px solid #fcd34d; outline-offset: 2px; }
/* Give longer navigation labels their own row on desktop. */
@media (min-width: 1024px) {
  #main-site-header .header-inner { flex-wrap: wrap; height: auto; padding-top: 12px; padding-bottom: 12px; row-gap: 12px; }
  #main-site-header .header-inner > a { flex: 1; }
  #main-site-header .header-inner > div { order: 2; }
  #main-site-header .header-inner > nav { order: 3; flex-basis: 100%; flex-wrap: wrap; justify-content: center; gap: 8px 24px; }
  #main-site-header .header-inner > nav a { font-size: 13px; }
  main section[id] { scroll-margin-top: 150px; }
}

/* Focused homepage with links to the full restaurant pages. */
.dg-home-directory { padding: 64px 0; background: #F5EFEB; }
.dg-page-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dg-page-link { position: relative; padding: 28px 52px 28px 28px; background: #fff; border: 1px solid #e7e5e4; border-radius: 16px; box-shadow: 0 2px 4px #1c191708; transition: border-color .2s, transform .2s; }
.dg-page-link:hover { border-color: #C81D25; transform: translateY(-3px); }
.dg-page-link h3 { color: #002D62; font-family: Epilogue, sans-serif; font-size: 18px; font-weight: 800; margin-bottom: 10px; }
.dg-page-link p { color: #57534e; font-size: 14px; line-height: 1.6; }
.dg-page-link > span { position: absolute; right: 24px; top: 28px; color: #C81D25; font-size: 22px; }
.dg-page-link:focus-visible { outline: 3px solid #002D62; outline-offset: 3px; }
#main-site-header a[aria-current="page"] { color: #C81D25; }
#main-content:focus { outline: none; }
@media (max-width: 900px) { .dg-page-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dg-page-links { grid-template-columns: minmax(0, 1fr); } .dg-home-directory { padding: 48px 0; } }
/* Bilingual editorial content and food highlights. */
.dg-content-section { padding: 72px 0; background: #FAF7F2; border-top: 1px solid #e7e5e4; }
.dg-content-warm { background: #F5EFEB; }
.dg-content-wrap { max-width: 1280px; padding: 0 32px; margin: 0 auto; }
.dg-content-heading { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.dg-content-section h2 { font-family: Epilogue, sans-serif; font-weight: 800; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; color: #1c1917; margin: 0 0 16px; }
.dg-content-section p { color: #57534e; font-size: 15px; line-height: 1.8; margin: 0 0 18px; overflow-wrap: anywhere; }
.dg-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.dg-content-card { padding: 28px; background: white; border: 1px solid #e7e5e4; border-radius: 16px; }
.dg-content-section h3 { font-family: Epilogue, sans-serif; font-size: 19px; font-weight: 800; line-height: 1.4; margin: 0 0 14px; color: #002D62; }
.dg-content-card p:last-child { margin-bottom: 0; }
.dg-food-preview { border-radius: 18px; border: 1px solid #e7e5e4; overflow: hidden; background: white; box-shadow: 0 3px 10px #1c191708; }
.dg-food-preview > img { width: 100%; height: 240px; object-fit: cover; }
.dg-food-preview > div { padding: 28px; }
.dg-content-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 18px; background: #C81D25; color: #fff; font-size: 13px; font-weight: 700; border-radius: 9px; line-height: 1.5; text-align: center; }
.dg-content-button:hover { background: #A50B1C; }
.dg-content-button:focus-visible { outline: 3px solid #002D62; outline-offset: 4px; }
.dg-content-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.dg-content-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 56px; }
.dg-content-split > img { width: 100%; height: 440px; object-fit: cover; border-radius: 20px; }
.dg-content-navy { background: #002D62; }
.dg-content-navy h2 { color: white; }
.dg-content-navy p { color: #e2e8f0; }
.dg-content-navy > .dg-content-wrap > p { max-width: 800px; margin-left: auto; margin-right: auto; text-align: center; }
.dg-content-navy .dg-content-button:focus-visible { outline-color: #fcd34d; }
@media (max-width: 1000px) {
 .dg-content-grid { grid-template-columns: 1fr; }
 .dg-food-preview { display: grid; grid-template-columns: 1fr 1.2fr; }
 .dg-food-preview > img { height: 100%; min-height: 260px; }
 .dg-content-split { gap: 28px; }
}
@media (max-width: 600px) {
 .dg-content-section { padding: 48px 0; }
 .dg-content-wrap { padding: 0 20px; }
 .dg-content-heading { margin-bottom: 28px; }
 .dg-content-split, .dg-food-preview { grid-template-columns: 1fr; }
 .dg-content-split > img { height: 280px; }
 .dg-food-preview > img { height: 230px; min-height: 0; }
 .dg-food-preview > div, .dg-content-card { padding: 24px; }
 .dg-content-section p { font-size: 14px; }
 .dg-content-actions { align-items: stretch; flex-direction: column; }
}

/* Responsive restaurant photos. Preserve the photographed plate and native proportions. */
img.dg-photo{display:block;max-width:100%;height:auto;object-fit:contain;object-position:center}
.dg-real-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.dg-real-gallery a{display:block;background:#ede7df;border-radius:14px;overflow:hidden}
.dg-real-gallery img.dg-photo{width:100%;height:auto;aspect-ratio:2/3}
.dg-real-gallery-single{grid-template-columns:minmax(0,420px);justify-content:center}
.dg-real-menu-photo,.dg-specialty-photo{position:relative;overflow:hidden;background:#ede7df;border-radius:12px}
.dg-real-menu-photo{margin-bottom:16px}
.dg-menu-photo-bleed{margin:-20px -20px 16px;border-radius:12px 12px 0 0}
.dg-real-menu-photo img.dg-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.dg-specialty-photo img.dg-photo{width:100%;height:auto;aspect-ratio:2/3}
img.dg-hero-photo{width:100%;height:auto;aspect-ratio:2/3}
.dg-hero-photo-caption{position:relative;background:#1c1917}
.dg-content-split>img.dg-photo{width:100%;height:auto;object-fit:contain;border-radius:20px}
.dg-content-split>img.dg-photo-portrait{width:min(100%,360px);justify-self:center}
#story img.dg-photo{width:100%;height:auto;object-fit:contain}
.dg-food-preview.dg-food-preview-text{display:block}
@media(max-width:900px){.dg-real-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.dg-real-gallery-single{grid-template-columns:minmax(0,420px)}}
@media(max-width:600px){.dg-real-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dg-real-gallery-single{grid-template-columns:minmax(0,360px)}}

img.dg-brand-logo{object-fit:contain}
img.dg-storefront-photo{display:block;width:100%;height:auto;object-fit:contain}

/* Dominican Grill: logo-led, restrained restaurant identity. */
:root{
 --dg-canvas:#fbfaf7;--dg-surface:#f3f1ec;--dg-card:#fff;--dg-border:#dedbd4;
 --dg-primary:#c61925;--dg-primary-hover:#a8131d;--dg-secondary:#153d8a;
 --dg-secondary-hover:#102e68;--dg-text-pure:#171719;--dg-text-body:#424246;
 --dg-text-muted:#66666b;--dg-flag-red:#c61925;--dg-flag-blue:#153d8a;
 --dg-radius-lg:6px;--dg-radius-xl:6px;
}
body{background:#fbfaf7;color:#424246;background-image:none}
h1.font-heading,h2.font-heading,.dg-content-section h2,.dg-home-directory h2,.wp-block-post-title{
 font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.035em;line-height:1.15;color:#171719;
}
h1.font-heading{font-size:clamp(2.45rem,5vw,4rem)}
h2.font-heading,.dg-content-section h2{font-size:clamp(2rem,3.2vw,2.8rem)}
h3,.dg-content-section h3{font-family:'Manrope',sans-serif;font-weight:700;letter-spacing:-.015em}
.dg-hero-gradient{background:#fbfaf7}
.dg-eyebrow{font-family:'Manrope',sans-serif;display:block;font-size:11px;font-weight:800;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:#153d8a}
.dg-brand-kicker:before{content:'';width:34px;height:3px;background:#c61925;display:block;margin-bottom:18px}
#hero{padding-top:64px;padding-bottom:64px}
#hero h1{max-width:680px}
#hero .dg-hero-copy>p{font-size:17px;line-height:1.85;max-width:540px}
#hero .dg-hero-visual>div{border:0;border-radius:4px;box-shadow:none;background:transparent}
.dg-hero-photo-caption{background:transparent;color:#55555a;padding:14px 0 0;border-top:0}
.dg-hero-photo-caption h3{color:#171719;font-family:'Manrope',sans-serif;font-size:15px;font-weight:700}
.dg-hero-photo-caption p{color:#66666b;font-size:12px;line-height:1.6;margin-top:4px}
img.dg-hero-photo{border-radius:4px}
.dg-flag-accent-line{height:2px;background:linear-gradient(90deg,#153d8a 0 25%,#fff 25% 75%,#c61925 75%)}
body>.wp-site-blocks>div[class*="bg-[#002D62]"],.wp-site-blocks>div[class*="bg-[#002D62]"]{background:#171719}
#main-site-header{background:#fff;box-shadow:none;border-bottom:1px solid #dedbd4;backdrop-filter:none}
#main-site-header.is-scrolled{box-shadow:none;background:#fff;border-color:#dedbd4}
#main-site-header .dg-brand-logo{width:62px;height:64px;border:0;border-radius:0;box-shadow:none}
#main-site-header .header-inner>a .font-heading{color:#171719;font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.035em}
#main-site-header .dg-nav-link{font-family:'Manrope',sans-serif;font-weight:600;font-size:12px;letter-spacing:.015em}
.dg-nav-link::after{height:1px;border-radius:0}
#main-site-header a[aria-current="page"]{color:#c61925}
.dg-btn-primary,.dg-btn-secondary,.dg-content-button{border-radius:3px;box-shadow:none;transform:none;letter-spacing:.025em;text-transform:none}
.dg-btn-primary,.dg-content-button{background:#c61925;color:#fff}
.dg-btn-primary:hover,.dg-content-button:hover{background:#a8131d;box-shadow:none;transform:none}
.dg-btn-secondary{background:transparent;border-color:#b8b6b1;color:#171719}
.dg-btn-secondary:hover{background:#f3f1ec;box-shadow:none;transform:none;border-color:#171719}
.dg-content-button{font-size:13px;font-weight:700;padding:12px 21px}
.dg-content-actions .dg-content-button:not(:first-child){background:transparent;border:1px solid #b8b6b1;color:#171719}
.dg-content-navy .dg-content-actions .dg-content-button:not(:first-child){color:#fff;border-color:#777}
main section[class*="bg-[#002D62]"],.dg-content-navy{background:#171719}
main section[class*="bg-[#002D62]"] h1,main section[class*="bg-[#002D62]"] h2,.dg-content-navy h2{color:#fff}
main section[class*="bg-[#002D62]"] [class*="bg-white/"]{background:transparent;border-color:#55555a;backdrop-filter:none;box-shadow:none}
main [class*="bg-[#C81D25]"],header [class*="bg-[#C81D25]"]{background-color:#c61925}
main [class~="text-[#002D62]"]{color:#153d8a}
main [class~="text-[#C81D25]"]{color:#b81722}
main [class*="text-amber-300"],main [class*="text-amber-400"]{color:#f5c6c9}
main [class*="text-amber-500"],main [class*="text-amber-600"],main [class*="text-amber-700"],main [class*="text-amber-800"]{color:#b81722}
main [class*="bg-amber-"]{background:#f3f1ec}
main [class*="rounded-2xl"],main [class*="rounded-xl"]{border-radius:5px}
main [class*="shadow-"]{box-shadow:none}
.dg-content-section{background:#fbfaf7;padding:80px 0;border-color:#dedbd4}
.dg-content-warm{background:#f3f1ec}
.dg-content-navy{background:#171719}
.dg-content-heading{max-width:760px;margin-bottom:42px;text-align:left;margin-left:0}
.dg-content-heading:before{content:'';display:block;width:34px;height:2px;margin-bottom:19px;background:#c61925}
.dg-content-heading p{max-width:620px}
.dg-content-card{border:0;border-top:1px solid #c9c6bf;border-radius:0;background:transparent;padding:24px 0}
.dg-content-section h3{color:#171719;font-size:18px}
.dg-content-section p{color:#56565b;line-height:1.85}
.dg-content-navy p{color:#d5d5d8}
.dg-content-navy h2{color:white}
.dg-content-actions{justify-content:flex-start}
.dg-content-grid{gap:36px}
.dg-menu-card{border-color:#dedbd4;border-radius:4px;box-shadow:none;transition:border-color .2s}
.dg-menu-card:hover{transform:none;box-shadow:none;border-color:#aaa69d}
.dg-menu-card:hover img{transform:none}
.dg-menu-card h3{font-weight:700}
.dg-content-split>img.dg-photo,.dg-real-gallery a,.dg-real-menu-photo,.dg-specialty-photo{border-radius:4px}
.dg-real-gallery{gap:18px}
.dg-real-gallery a{background:#f3f1ec}
.dg-specialty-photo>span,.dg-specialty-photo>div,.dg-real-menu-photo>span{display:none}
.badge-flame,.badge-flag-red,.badge-navy,.badge-flag-blue,.badge-gold,.badge-flag-gold,.badge-emerald{border:0;background:transparent;color:#66666b;padding-left:0;padding-right:0;border-radius:0;font-weight:600;letter-spacing:.02em}
.dg-tab-btn{border-radius:3px;box-shadow:none}
.dg-tab-btn.active{background:#171719;border-color:#171719;box-shadow:none}
.dg-tab-btn:hover{transform:none}
.dg-search-input{border-radius:3px}
.dg-food-preview{border:0;border-top:2px solid #153d8a;border-radius:0;box-shadow:none;background:transparent}
.dg-food-preview>div{padding:26px 0}
.dg-food-preview .dg-content-button{padding:4px 0;background:transparent;color:#b81722;border-radius:0;text-decoration:underline;text-underline-offset:5px}
footer{background:#171719!important;border-top:3px solid #c61925}
footer .font-heading{font-family:'Manrope',sans-serif}
footer [class*="bg-black/"]{background:#111113}
footer [class*="bg-white/"]{background:transparent;border:1px solid #4d4d52;border-radius:3px}
footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
footer .dg-brand-logo{border-radius:0;border:0;box-shadow:none;width:72px;height:75px}
.dg-mobile-bar{background:#fff;backdrop-filter:none;box-shadow:none;border-color:#dedbd4}
.dg-mobile-bar a{border-radius:3px}
.animate-ping,.subtle-float,.floating-stamp{animation:none}
.hero-animate-1,.hero-animate-2,.hero-animate-3,.hero-animate-4{animation:none}
.reveal-on-scroll,.stagger-children>*{will-change:auto;transition:none}
.group:hover img.dg-photo,.group:hover img.dg-brand-logo{transform:none}
.dg-language-switch{border-radius:2px;border-color:#777}
.dg-language-switch a{border-radius:1px}
.dg-language-switch a[aria-current="page"]{color:#171719}
@media(min-width:1024px){
 #main-site-header .header-inner{padding-top:14px;padding-bottom:0;row-gap:14px}
 #main-site-header .header-inner>nav{border-top:1px solid #e9e7e1;padding-top:13px;padding-bottom:14px;gap:12px 28px}
 .dg-hero-visual{width:min(100%,400px);justify-self:end}
}
@media(max-width:767px){
 #hero{padding-top:38px;padding-bottom:44px}
 #hero h1{font-size:clamp(2.55rem,9vw,3.5rem);line-height:1.12}
 #hero .dg-hero-copy>p{font-size:15px;line-height:1.8}
 #main-site-header .dg-brand-logo{width:43px;height:45px}
 #main-site-header .header-inner>a .font-heading{font-size:16px}
 .dg-content-section{padding:52px 0}
 .dg-content-grid{gap:20px}
 .dg-content-heading{margin-bottom:28px}
 .dg-content-card{padding:21px 0}
 .dg-food-preview>div{padding:22px 0}
 .dg-content-section h2{font-size:2rem}
 .dg-real-gallery{gap:12px}
}

.dg-utility-bar{background:#171719}
.dg-utility-bar [class*="text-amber-"]{color:#eee}
.dg-utility-bar [class*="bg-emerald-"]{background:#c61925}
#catering .backdrop-blur-md{background:transparent;background-image:none;backdrop-filter:none;box-shadow:none;border-color:#55555a}
#catering [class*="border-amber-400"]{border-color:#c61925}
#catering ul li>span{font-size:inherit;color:#fff}
#catering ul li>span:before{content:none}
#catering a[class*="bg-white/20"]{border:1px solid #aaa;color:white;background:transparent}
#catering a[class*="bg-white/20"]:hover{background:white;color:#171719}
#catering [class*="bg-gradient-to-"]>span.absolute{border-radius:2px;letter-spacing:.04em}
.dg-content-section h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.45rem,5vw,4rem);font-weight:600;letter-spacing:-.035em;line-height:1.15;color:#171719;margin:0 0 18px}

/* Blue accents retain the warm cream backgrounds and Dominican red. */
.dg-utility-bar{background:#153d8a}
.dg-content-heading:before{background:#153d8a;width:46px}
#main-site-header{border-bottom:2px solid #153d8a}
#main-site-header .dg-nav-link:hover{color:#153d8a}
.dg-tab-btn.active{background:#153d8a;border-color:#153d8a;color:#fff}
.dg-menu-card:hover{border-color:#153d8a}
.dg-content-card{border-top-color:#a9bbd9}
.dg-content-actions .dg-content-button:not(:first-child){border-color:#153d8a;color:#153d8a}
.dg-content-navy .dg-content-actions .dg-content-button:not(:first-child){color:#fff;border-color:#a9bbd9}
.dg-btn-secondary:hover{border-color:#153d8a;color:#153d8a;background:#eef2f9}
footer{border-top-color:#153d8a}
.dg-menu-top-photos{margin:0 0 32px;padding:22px 0;border-bottom:1px solid #cbd5e5}
.dg-menu-top-photos .dg-content-heading{margin-bottom:18px}
.dg-menu-top-photos .dg-content-heading h2{font-size:1.6rem}
.dg-menu-top-photos .dg-content-heading:before{display:none}
.dg-menu-top-photos .dg-real-gallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.dg-menu-top-photos .dg-real-gallery img.dg-photo{width:100%;height:150px;aspect-ratio:auto;object-fit:contain}
#menu-grid-view .dg-real-menu-photo{height:180px;margin:0 0 16px;background:#f3f1ec;flex-shrink:0}
#menu-grid-view .dg-real-menu-photo img.dg-photo{height:180px;width:100%;aspect-ratio:auto;object-fit:contain}
#menu-grid-view .menu-item:has(.dg-real-menu-photo){order:-1}
@media(max-width:600px){.dg-menu-top-photos .dg-real-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dg-menu-top-photos .dg-real-gallery img.dg-photo{height:120px}#menu-grid-view .dg-real-menu-photo,#menu-grid-view .dg-real-menu-photo img.dg-photo{height:160px}}

/* Logo palette: white canvas, black structure, red and blue details. */
:root{--dg-canvas:#fff;--dg-surface:#f7f7f8;--dg-surface-warm:#f7f7f8;--dg-border:#e4e4e7;--dg-text-pure:#111;--dg-text-body:#3f3f46;--dg-text-muted:#62626b;--dg-primary:#c61925;--dg-primary-hover:#a8131d;--dg-secondary:#153d8a}
body,.dg-hero-gradient,.dg-section-light,.dg-content-section{background:#fff}
.dg-section-warm,.dg-content-warm{background:#f7f7f8;border-color:#e4e4e7}
main [class~="bg-stone-50"],main [class~="bg-stone-100"],main [class~="bg-[#FAF7F2]"],main [class~="bg-[#F5EFEB]"]{background-color:#f7f7f8}
h1,h2,h3,h4,h5,h6{color:#111}
.dg-utility-bar{background:#111}
.dg-flag-accent-line{height:3px;background:linear-gradient(90deg,#153d8a 0 48%,#fff 48% 52%,#c61925 52%)}
#main-site-header,#main-site-header.is-scrolled{background:#fff;border-bottom:1px solid #e4e4e7}
#main-site-header .dg-brand-logo{width:114px;height:76px;background:transparent;object-fit:contain}
#main-site-header .header-inner>nav{border-color:#e4e4e7}
.dg-btn-primary,.dg-content-button{background:#c61925;color:#fff;border-color:#c61925}
.dg-btn-primary:hover,.dg-content-button:hover{background:#a8131d;color:#fff}
.dg-btn-secondary{background:#153d8a;border:1px solid #153d8a;color:#fff}
.dg-btn-secondary:hover{background:#102e68;border-color:#102e68;color:#fff}
.dg-content-actions .dg-content-button:not(:first-child){background:#fff;border:1px solid #153d8a;color:#153d8a}
.dg-content-actions .dg-content-button:not(:first-child):hover{background:#153d8a;color:#fff}
.dg-content-heading:before{width:46px;height:3px;background:linear-gradient(90deg,#153d8a 0 48%,#fff 48% 54%,#c61925 54%)}
.dg-content-card,.dg-menu-card{border-color:#e4e4e7}
.dg-content-card{border-top:2px solid #153d8a}
.dg-menu-card:hover{border-color:#153d8a}
.dg-real-gallery a,.dg-real-menu-photo,.dg-specialty-photo,#menu-grid-view .dg-real-menu-photo{background:#f7f7f8}
.dg-carta-item{border-bottom-color:#e4e4e7!important}
.dg-carta-item:hover{background:#f7f7f8}
.dg-tab-btn{border-color:#d4d4d8;color:#3f3f46}
.dg-tab-btn.active{background:#153d8a;border-color:#153d8a;color:#fff}
.dg-tab-btn:hover{border-color:#153d8a}
.dg-nav-link::after{height:2px;background:#c61925}
.dg-eyebrow{color:#153d8a}
.dg-brand-kicker:before{background:#c61925}
.dg-content-navy,main section[class*="bg-[#002D62]"]{background:#111}
.dg-content-navy h1,.dg-content-navy h2,.dg-content-navy h3,main section[class*="bg-[#002D62]"] h1,main section[class*="bg-[#002D62]"] h2{color:#fff}
.dg-content-navy .dg-content-actions .dg-content-button:not(:first-child){background:transparent;border-color:#fff;color:#fff}
footer{background:#111!important;border-top:3px solid #c61925}
footer .dg-brand-logo{width:150px;height:100px;background:transparent;object-fit:contain}
footer h2,footer h3,footer h4{color:#fff}
.dg-mobile-bar{background:#fff;border-top:2px solid #153d8a}
@media(max-width:767px){#main-site-header .dg-brand-logo{width:78px;height:52px}}
main a.dg-btn-secondary{background:#153d8a;color:#fff;border-color:#153d8a}
main a.dg-btn-secondary:hover{background:#102e68;color:#fff;border-color:#102e68}
main a.dg-btn-secondary .material-symbols-outlined{color:inherit}

/* Keep supporting copy readable on pale surfaces. */
main .text-stone-500{color:#62626b}
.dg-utility-bar [class~="text-white/30"],footer [class~="text-white/20"]{color:#a1a1aa}
main span.text-stone-300{color:#71717a}
/* Button labels and icons share the component foreground in every state. */
main a.dg-btn-primary span,main a.dg-btn-secondary span{color:inherit}

/* Dominican heritage: preserve the full map and its natural proportions. */
.dg-heritage-section{background:#fff;border-top:1px solid #e4e4e7}
.dg-heritage-section .dg-content-heading{max-width:820px;margin-bottom:24px}
.dg-heritage-section h2{margin-top:10px}
.dg-heritage-figure{margin:0 auto;max-width:1120px}
.dg-heritage-figure img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:3/2}
.dg-heritage-figure figcaption{font-size:12px;line-height:1.6;color:#62626b;text-align:center;margin-top:16px}
.dg-heritage-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:36px}
.dg-heritage-details>div{border-top:2px solid #153d8a;padding-top:18px}
.dg-heritage-details>div:nth-child(even){border-color:#c61925}
.dg-heritage-details h3{font-size:16px;margin:0 0 8px}
.dg-heritage-details p{font-size:13px;margin:0;line-height:1.75}
@media(max-width:767px){.dg-heritage-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:28px}.dg-heritage-section .dg-content-heading{margin-bottom:20px}.dg-heritage-figure figcaption{font-size:11px}.dg-heritage-details h3{font-size:15px}}
@media(max-width:360px){.dg-heritage-details{grid-template-columns:1fr}}

/* Kitchen photo carousel */
.dg-menu-top-photos.dg-kitchen{background:#141414;color:#fff;padding:36px;border:1px solid #292929;border-radius:20px;margin-bottom:36px;overflow:hidden}
.dg-kitchen-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.dg-kitchen .dg-content-heading{margin:0}.dg-kitchen .dg-content-heading:before{display:none}
.dg-kitchen-eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:#e9b782}
.dg-kitchen .dg-content-heading h2{color:#fff;font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,46px);line-height:1.15;margin:12px 0}
.dg-kitchen .dg-content-heading p{color:#bdbdbd;font-size:14px;margin:0}
.dg-kitchen-controls:not([hidden]),.dg-kitchen-playback:not([hidden]){display:flex;align-items:center;gap:10px}
.dg-kitchen button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #626262;border-radius:50%;background:transparent;color:#fff;font-size:23px;cursor:pointer;transition:background .2s,border-color .2s}
.dg-kitchen button:hover{background:#c61925;border-color:#c61925}.dg-kitchen button:focus-visible,.dg-kitchen a:focus-visible,.dg-kitchen .dg-real-gallery:focus-visible{outline:3px solid #e9b782;outline-offset:4px}
.dg-kitchen .dg-real-gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 0 8px}
.dg-kitchen .dg-real-gallery::-webkit-scrollbar{display:none}
.dg-kitchen .dg-real-gallery a{position:relative;flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;border-radius:12px;background:#28231e;overflow:hidden;isolation:isolate;text-decoration:none}
.dg-kitchen .dg-real-gallery img.dg-photo{display:block;width:100%;height:420px;aspect-ratio:3/4;object-fit:cover;transition:transform .6s}
.dg-kitchen .dg-real-gallery a:hover img{transform:scale(1.04)}
.dg-kitchen-caption{position:absolute;inset:auto 0 0;padding:65px 22px 22px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;align-items:end;justify-content:space-between;gap:16px;color:#fff;font-size:14px;line-height:1.5;font-weight:600;pointer-events:none}
.dg-kitchen-caption>span:last-child{font-size:24px;color:#e9b782}
.dg-kitchen-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;color:#bdbdbd;font-size:12px}
.dg-kitchen-count{font-variant-numeric:tabular-nums;letter-spacing:.15em}.dg-kitchen .dg-kitchen-pause{width:32px;height:32px;font-size:13px}
@media(max-width:900px){.dg-kitchen .dg-real-gallery a{flex-basis:calc((100% - 18px)/2)}.dg-kitchen .dg-real-gallery img.dg-photo{height:380px}}
@media(max-width:600px){.dg-menu-top-photos.dg-kitchen{padding:24px 18px;border-radius:16px}.dg-kitchen-header{align-items:center;gap:12px}.dg-kitchen-controls{gap:6px!important}.dg-kitchen-controls button{width:36px;height:36px;font-size:20px}.dg-kitchen-eyebrow{font-size:8px;letter-spacing:.14em}.dg-kitchen .dg-content-heading p{font-size:12px;max-width:230px}.dg-kitchen .dg-real-gallery{gap:12px}.dg-kitchen .dg-real-gallery a{flex-basis:86%}.dg-kitchen .dg-real-gallery img.dg-photo{height:365px}.dg-kitchen-caption{padding:60px 16px 18px;font-size:13px}.dg-kitchen-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.dg-kitchen .dg-real-gallery img.dg-photo,.dg-kitchen button{transition:none}}

/* Restrained Dominican blue and red details across neutral surfaces. */
:root{--dg-accent-blue:#153d8a;--dg-accent-red:#c61925;--dg-accent-blue-light:#92b6ff;--dg-accent-red-light:#ff929b}
.dg-kitchen-eyebrow{color:#e4e9f2;display:inline-flex;align-items:center;gap:10px}
.dg-kitchen-eyebrow:before{content:"";display:block;flex:none;width:24px;height:4px;border-radius:2px;background:linear-gradient(90deg,#4e80df 0 44%,#fff 44% 56%,#ed4b58 56%)}
.dg-kitchen .dg-kitchen-prev{background:#153d8a;border-color:#4166aa;color:#fff}
.dg-kitchen .dg-kitchen-next{background:#c61925;border-color:#e44650;color:#fff}
.dg-kitchen .dg-kitchen-prev:hover{background:#214f9e;border-color:#92b6ff}
.dg-kitchen .dg-kitchen-next:hover{background:#df2532;border-color:#ff929b}
.dg-kitchen-caption>span:last-child{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;font-size:20px;background:#153d8a;color:#fff;box-shadow:0 2px 10px #0003}
.dg-kitchen .dg-real-gallery a:nth-child(even) .dg-kitchen-caption>span:last-child{background:#c61925}
.dg-kitchen-footer>span:first-child{display:flex;align-items:center;gap:10px}
.dg-kitchen-footer>span:first-child:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#ed4b58;box-shadow:10px 0 0 #4e80df;margin-right:10px}
.dg-kitchen-count{color:#b9cdf5}
.dg-kitchen .dg-kitchen-pause{border-color:#4166aa;color:#b9cdf5;background:#153d8a26}
.dg-kitchen .dg-kitchen-pause:hover{background:#153d8a;border-color:#92b6ff;color:#fff}
.dg-kitchen button:focus-visible,.dg-kitchen a:focus-visible,.dg-kitchen .dg-real-gallery:focus-visible{outline-color:#92b6ff}
.dg-content-heading:before{border-radius:2px}
.dg-content-card{position:relative;border-top:1px solid #e4e4e7}
.dg-content-card:before{content:"";position:absolute;top:-1px;left:0;width:38px;height:2px;border-radius:2px;background:var(--dg-accent-blue)}
.dg-content-card:nth-child(even):before{background:var(--dg-accent-red)}
.dg-content-actions .dg-content-button .material-symbols-outlined{color:inherit}
.dg-carta-item-header .dg-leader-dots{border-color:#c8d4e9}
.carta-category-group>div:first-child{position:relative;border-bottom-color:#e4e4e7}
.carta-category-group>div:first-child:after{content:"";position:absolute;bottom:-2px;left:0;width:44px;height:3px;border-radius:2px;background:var(--dg-accent-blue)}
.carta-category-group:nth-child(even)>div:first-child:after{background:var(--dg-accent-red)}
.dg-tab-btn:not(.active):hover{border-color:var(--dg-accent-blue);color:var(--dg-accent-blue);background:#f0f4fc}
.dg-tab-btn.active{background:var(--dg-accent-blue);border-color:var(--dg-accent-blue);box-shadow:inset 0 -2px 0 var(--dg-accent-red)}
.dg-search-input:focus{outline:2px solid #153d8a;outline-offset:2px;border-color:#153d8a}
.dg-heritage-details>div{border-top:1px solid #e4e4e7;position:relative}
.dg-heritage-details>div:nth-child(even){border-color:#e4e4e7}
.dg-heritage-details>div:before{content:"";position:absolute;top:-1px;left:0;width:32px;height:2px;background:var(--dg-accent-blue)}
.dg-heritage-details>div:nth-child(even):before{background:var(--dg-accent-red)}
footer a:hover .material-symbols-outlined{color:#92b6ff}
@media(max-width:600px){.dg-kitchen-eyebrow{gap:7px}.dg-kitchen-eyebrow:before{width:18px;height:3px}.dg-kitchen-caption>span:last-child{flex-basis:26px;width:26px;height:26px;font-size:17px}}

/* The hero call action uses a readable blue outline on a light surface. */
main a.dg-btn-secondary[href^="tel:"]{background:#fff;border-color:#153d8a;color:#153d8a}
main a.dg-btn-secondary[href^="tel:"] span{color:inherit}
main a.dg-btn-secondary[href^="tel:"]:hover{background:#edf2fb;border-color:#102e68;color:#102e68}
main a.dg-btn-secondary[href^="tel:"]:focus-visible{outline:2px solid #153d8a;outline-offset:4px}

/* App colors remain visible in the footer before hover. */
footer a.dg-social{color:#fff;border-radius:8px;border:1px solid transparent;text-decoration:none;transition:filter .2s,transform .2s;box-shadow:0 3px 10px #0002}
footer a.dg-social-facebook{background:#1877f2;border-color:#438ff5}
footer a.dg-social-instagram{background:radial-gradient(circle at 25% 110%,#ffdc80 0%,#fcaf45 20%,#f77737 35%,#e1306c 55%,#c13584 70%,#833ab4 90%);border-color:#e76b9c}
footer a.dg-social-tiktok{background:#080808;border-color:#555;box-shadow:inset 2px 0 0 #25f4ee,inset -2px 0 0 #fe2c55}
footer a.dg-social-tiktok svg{filter:drop-shadow(-1px -1px 0 #25f4ee) drop-shadow(1px 1px 0 #fe2c55)}
footer a.dg-social-phone{background:#16833e;border-color:#33ac5e}
footer a.dg-social svg{fill:currentColor}
footer a.dg-social .material-symbols-outlined,footer a.dg-social:hover .material-symbols-outlined{color:#fff}
footer a.dg-social:hover{color:#fff;filter:brightness(1.15);text-decoration:none;transform:translateY(-2px)}
footer a.dg-social:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){footer a.dg-social{transition:none}footer a.dg-social:hover{transform:none}}

/* Black announcement header with readable light text. */
body .dg-utility-bar{background:#000;color:#fff;border-bottom-color:#262626}

/* Featured guest review, with source and individual category ratings. */
.dg-guest-section{background:#fff;border-top:1px solid #e4e4e7;border-bottom:1px solid #e4e4e7}
.dg-guest-section .dg-content-heading{max-width:900px}
.dg-guest-section h2{margin-top:10px}
.dg-guest-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);border:1px solid #dedee3;border-radius:6px;overflow:hidden}
.dg-guest-photo{position:relative;min-height:540px;background:#111;overflow:hidden}
.dg-guest-photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%}
.dg-guest-photo-note{position:absolute;bottom:0;left:0;right:0;padding:70px 28px 28px;background:linear-gradient(transparent,rgba(0,0,0,.94));color:#fff}
.dg-guest-photo-note span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;color:#fff}
.dg-guest-photo-note strong{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.3;font-weight:600}
.dg-guest-card{padding:36px 40px;border-top:3px solid #153d8a;background:#fff;display:flex;flex-direction:column;min-width:0}
.dg-guest-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.dg-guest-source{font-size:18px;font-weight:800;color:#153d8a;letter-spacing:-.03em}
.dg-guest-excerpt-label{font-size:10px;color:#62626b;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.dg-guest-quote-mark{font-family:Georgia,serif;color:#c61925;font-size:64px;line-height:1;margin-top:22px;height:43px}
.dg-guest-card blockquote{padding:0;margin:0 0 26px;border:0}
.dg-guest-card blockquote p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(21px,2.1vw,29px);font-weight:600;color:#111;line-height:1.5;margin:0}
.dg-guest-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.dg-guest-avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#eef2f9;color:#153d8a;font-size:13px;font-weight:800}
.dg-guest-author cite{display:block;font-style:normal;font-size:14px;font-weight:800;color:#111}
.dg-guest-author>div>span{display:block;font-size:11px;color:#62626b;margin-top:3px}
.dg-guest-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 0;padding:20px 0;border-top:1px solid #e4e4e7;border-bottom:1px solid #e4e4e7}
.dg-guest-ratings dt{font-size:11px;color:#52525b;margin-bottom:5px;font-weight:700}
.dg-guest-ratings dd{display:flex;gap:7px;align-items:center;margin:0;font-size:12px;flex-wrap:wrap}
.dg-guest-ratings dd span{color:#153d8a;letter-spacing:.06em;font-size:13px}
.dg-guest-ratings dd strong{color:#111;font-size:11px}
.dg-guest-card p.dg-guest-source-note{font-size:10px;line-height:1.7;color:#62626b;margin:14px 0 0}
.dg-guest-source-note a{color:#153d8a;text-decoration:underline;text-underline-offset:3px}
.dg-guest-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px}
.dg-guest-bottom>p{font-size:14px;font-weight:700;color:#111;margin:0}
.dg-guest-bottom .dg-content-actions{margin:0;gap:12px}
@media(max-width:1000px){.dg-guest-card{padding:28px}.dg-guest-bottom{align-items:flex-start;flex-direction:column}.dg-guest-photo{min-height:500px}}
@media(max-width:767px){.dg-guest-feature{grid-template-columns:1fr}.dg-guest-photo{min-height:0;height:270px}.dg-guest-photo>img{object-position:center 54%}.dg-guest-photo-note{padding:60px 22px 22px}.dg-guest-photo-note strong{font-size:24px}.dg-guest-card{padding:24px 22px}.dg-guest-card blockquote p{font-size:23px}.dg-guest-card-top{gap:10px}.dg-guest-excerpt-label{font-size:9px}.dg-guest-ratings{gap:8px}.dg-guest-ratings dd{gap:4px}.dg-guest-ratings dd span{font-size:11px}.dg-guest-bottom,.dg-guest-bottom .dg-content-actions{width:100%}.dg-guest-bottom .dg-content-actions{align-items:stretch}.dg-guest-bottom .dg-content-button{text-align:center}}

.dg-guest-quote-mark{display:block;height:40px;margin-bottom:10px}
.dg-guest-ratings dd>span{display:inline-flex;gap:2px}
.dg-guest-ratings svg{width:13px;height:13px;flex-shrink:0}
.dg-guest-bottom .dg-content-button{display:inline-flex;justify-content:center;align-items:center;gap:10px}
.dg-guest-source-note a>svg{display:inline;vertical-align:middle;width:11px;height:11px}
@media(max-width:767px){.dg-guest-ratings svg{width:11px;height:11px}.dg-guest-ratings dd>span{gap:1px}}

/* Customer-provided Google reviews: one spotlight and three supporting cards. */
.dg-review-overall{display:flex;align-items:center;gap:8px;margin-top:20px;color:#52525b;font-size:11px}
.dg-review-overall>span:first-child{display:inline-flex;gap:2px;color:#153d8a}
.dg-review-overall strong{color:#111;font-size:12px}
.dg-review-featured blockquote p{font-family:'Manrope',sans-serif;font-size:17px;font-weight:500;line-height:1.85}
.dg-review-featured .dg-guest-quote-mark{margin-top:22px}
.dg-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;align-items:start}
.dg-review-small{padding:26px 24px;background:#fff;border:1px solid #dedee3;border-top:3px solid #153d8a;border-radius:5px;min-width:0}
.dg-review-small:nth-child(2){border-top-color:#c61925}
.dg-review-small .dg-guest-source{font-size:13px}
.dg-review-small .dg-guest-author cite{font-size:13px}
.dg-review-small .dg-guest-avatar{width:36px;height:36px;font-size:11px}
.dg-review-small blockquote{margin:20px 0 0;padding:0;border:0}
.dg-review-small blockquote p{font-size:14px;line-height:1.85;color:#3f3f46;margin:0;overflow-wrap:break-word}
.dg-review-small .dg-review-category-summary{font-size:10px;color:#52525b;border-top:1px solid #e4e4e7;margin:20px 0 0;padding-top:14px}
.dg-review-small .dg-review-excerpt{font-size:10px;color:#62626b;margin-top:14px}
.dg-review-history{font-size:11px!important;color:#62626b!important;margin:22px 0 0}
@media(max-width:1000px){.dg-review-grid{grid-template-columns:1fr}.dg-review-small{padding:26px}.dg-review-small blockquote p{font-size:15px}}
@media(max-width:767px){.dg-review-featured blockquote p{font-size:16px}.dg-review-small{padding:24px 22px}.dg-review-grid{gap:18px}}

/* Dedicated phone action: explicit colors avoid conflicting secondary-button utilities. */
main a.dg-btn-phone{background:#fff;color:#153d8a;border:1px solid #153d8a;border-radius:3px;transition:box-shadow .2s}
main a.dg-btn-phone:hover{box-shadow:0 0 0 2px rgba(21,61,138,.15)}
main a.dg-btn-phone:focus-visible{outline:3px solid #153d8a;outline-offset:4px}

/* Food photo beside the home ordering options. */
#home-ordering .dg-ordering-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:center}
#home-ordering .dg-content-heading{margin-bottom:36px}
#home-ordering .dg-ordering-photo{margin:0;justify-self:end;width:100%;max-width:380px}
#home-ordering .dg-ordering-photo img{display:block;width:100%;height:390px;object-fit:cover;object-position:center;border-radius:12px}
@media(max-width:767px){#home-ordering .dg-ordering-layout{grid-template-columns:1fr;gap:32px}#home-ordering .dg-ordering-photo{justify-self:center;max-width:380px}#home-ordering .dg-ordering-photo img{height:auto;max-height:460px;object-fit:cover}}

/* Homepage kitchen collage: preserve the original food photography. */
#hero .dg-kitchen-collage{width:100%;min-width:0;margin:0;justify-self:stretch}
#hero .dg-kitchen-collage .dg-collage-grid{display:grid;grid-template-columns:1.22fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:10px;aspect-ratio:0.82;padding:10px;background:#f3ece2;border:1px solid #e8dfd2;border-radius:18px;box-shadow:0 18px 45px -28px rgba(70,40,15,.35);overflow:hidden}
.dg-collage-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:9px;background:#a66a31}
.dg-collage-feature{grid-column:1;grid-row:1 / 3}
.dg-collage-top{grid-column:2;grid-row:1}
.dg-collage-bottom{grid-column:2;grid-row:2}
#hero .dg-collage-tile img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 50%;transition:transform .5s ease}
.dg-collage-extra-left{grid-column:1;grid-row:3}
.dg-collage-extra-right{grid-column:2;grid-row:3}
#hero .dg-collage-bottom img{object-position:50% 50%}
#hero .dg-kitchen-collage figcaption{padding:18px 4px 0}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.dg-collage-tile:hover img{transform:scale(1.035)}}
@media (max-width:1023px){#hero .dg-kitchen-collage{max-width:620px;justify-self:center}#hero .dg-kitchen-collage .dg-collage-grid{aspect-ratio:1}}
@media (max-width:479px){#hero .dg-kitchen-collage .dg-collage-grid{gap:7px;padding:7px;border-radius:13px;aspect-ratio:.82}.dg-collage-tile{border-radius:7px}}
