/* ============================================================
   Ma's Fresh Foods — design polish layer (July 2026)
   Loaded after the theme CSS. Refines typography, buttons,
   cards, and spacing without altering page structure.
   ============================================================ */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---------- Headings: tighter, more confident ---------- */
h1, h2, h3 { letter-spacing: -0.01em !important; line-height: 1.14 !important; }

/* ---------- Header ---------- */
#header {
  box-shadow: 0 1px 0 rgba(62, 44, 30, 0.07), 0 6px 24px rgba(62, 44, 30, 0.05);
}
.header-nav-item a {
  position: relative;
  transition: opacity 0.2s ease;
}
.header-nav-item a:hover { opacity: 0.75; }

/* ---------- Buttons: consistent pills with lift ---------- */
.sqs-button-element--primary,
.btn.theme-btn--primary,
.theme-btn--primary-inverse {
  border-radius: 999px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
  box-shadow: 0 6px 18px rgba(140, 64, 56, 0.22);
}
.sqs-button-element--primary:hover,
.btn.theme-btn--primary:hover,
.theme-btn--primary-inverse:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(140, 64, 56, 0.3);
}
.header-skip-link { box-shadow: none; }

/* ---------- Images: soft corners everywhere ---------- */
.fluid-image-container,
.sqs-image-shape-container-element,
.image-block-wrapper img,
.sqs-block-image img {
  border-radius: 14px !important;
  overflow: hidden;
}

/* ---------- Menu cards (soups / salads / PR / italian) ---------- */
.menu-card {
  border-radius: 18px !important;
  border: 1px solid rgba(62, 44, 30, 0.08) !important;
  box-shadow: 0 10px 30px rgba(62, 44, 30, 0.08) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
}
.menu-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(62, 44, 30, 0.13) !important;
}
.card-badge {
  border-radius: 999px !important;
  letter-spacing: 0.08em;
  font-weight: 700;
}

/* ---------- Announcement bar ---------- */
.sqs-announcement-bar-text,
.sqs-announcement-bar {
  letter-spacing: 0.04em;
}

/* ---------- Content rhythm ---------- */
.page-section .content-wrapper { transition: none; }
p { line-height: 1.65; }

/* ---------- Links ---------- */
a { transition: color 0.2s ease, opacity 0.2s ease; }

/* ---------- Focus accessibility ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #A5544A;
  outline-offset: 2px;
}

/* ---------- Contact page cleanup ---------- */
/* Soften the flat tan slab behind the form: one smooth page gradient */
#collection-69c3ffa72bd3b11c918b35af {
  background: linear-gradient(180deg, #FAF0DD 0%, #EFD3AC 40%, #E5C29B 70%, #F7EBD8 100%) !important;
}
#collection-69c3ffa72bd3b11c918b35af .page-section .section-background {
  background: transparent !important;
}
/* Kill stray wrapper backgrounds around the form */
#collection-69c3ffa72bd3b11c918b35af .mffx-outer,
#collection-69c3ffa72bd3b11c918b35af .mffx-submission-holder {
  background: transparent !important;
  box-shadow: none !important;
}
#collection-69c3ffa72bd3b11c918b35af .mffx-submission-holder { display: none !important; }
/* Website-component wrappers paint their own cream slabs — clear them */
#collection-69c3ffa72bd3b11c918b35af .sqs-block-website-component,
#collection-69c3ffa72bd3b11c918b35af .sqs-block-website-component .sqs-block-content,
#collection-69c3ffa72bd3b11c918b35af .fe-block,
#collection-69c3ffa72bd3b11c918b35af section.page-section {
  background: transparent !important;
}
/* Re-assert the notice callout card after the blanket transparency */
#collection-69c3ffa72bd3b11c918b35af .fe-block-yui_3_17_2_1_1775087503511_1951 .sqs-block-content {
  background: #FFFDF7 !important;
}
/* Restyle the notice strip into a proper callout card */
#collection-69c3ffa72bd3b11c918b35af .fe-block-yui_3_17_2_1_1775087503511_1951 .sqs-block-content {
  background: #FFFDF7;
  border: 1px solid #E8D9C0;
  border-left: 5px solid #A5544A;
  border-radius: 14px;
  padding: 18px 26px !important;
  box-shadow: 0 10px 28px rgba(62, 44, 30, 0.09);
}
/* Kill the stray horizontal rule under the notice */
#collection-69c3ffa72bd3b11c918b35af .sqs-block-horizontalrule,
#collection-69c3ffa72bd3b11c918b35af hr {
  display: none !important;
}
/* Let the form card breathe wider and sit closer to the notice */
#collection-69c3ffa72bd3b11c918b35af .mffx-wrap { max-width: 760px; }
#collection-69c3ffa72bd3b11c918b35af .mffx-card {
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(62, 44, 30, 0.16);
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .menu-card, .sqs-button-element--primary { transition: none !important; }
}
