/* Sunday & Company shared production styles
   Primary: Playfair Display
   Secondary: Inter Tight
   Accent: Pinyon Script
*/

:root {
  --sunday-cream: #f5efe6;
  --sunday-paper: #fffdf8;
  --sunday-espresso: #311d03;
  --sunday-rose: #ac746c;
  --sunday-sans: 'Inter Tight', Arial, sans-serif;
  --sunday-serif: 'Playfair Display', Georgia, serif;
  --sunday-script: 'Pinyon Script', cursive;
}

/* Keep secondary type light at editorial sizes, regular at tiny functional sizes. */
[style*="font-family:'Inter Tight'"] { font-weight: 300 !important; }
button[style*="font-family:'Inter Tight'"],
a[style*="font-family:'Inter Tight'"],
[style*="font-family:'Inter Tight'"][style*="text-transform:uppercase"] {
  font-weight: 400 !important;
}

/* iOS: keep form controls readable without forcing unrelated button copy to 16px. */
@media (max-width: 820px) {
  input, textarea, select { font-size: 16px !important; }
  html { scroll-behavior: auto; }
}

/* Homepage vision: one editorial pull quote, then two equal-weight paragraphs. */
#vision [data-vision-quote] {
  color: var(--sunday-espresso);
  font-family: var(--sunday-serif) !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  font-style: italic;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.55 !important;
  text-transform: none !important;
}
#vision [data-vision-quote]::before,
#vision [data-vision-quote]::after {
  color: var(--sunday-rose);
  font-family: var(--sunday-serif);
  font-size: 1.18em;
  font-style: italic;
  font-weight: 400;
  line-height: 0;
}
#vision [data-vision-quote]::before { content: '“'; margin-right: .08em; }
#vision [data-vision-quote]::after { content: '”'; margin-left: .08em; }
#vision [data-vision-body] {
  font-family: var(--sunday-serif) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.68 !important;
}

/* Footer: one consistent secondary-font system for functional information. */
footer [data-footer-ui],
footer nav,
footer nav a,
footer a[href^="mailto:"],
footer a[href*="instagram.com/sundayand_co"],
footer [data-footer-location],
footer [data-footer-legal] {
  font-family: var(--sunday-sans) !important;
}
footer [data-footer-ui],
footer a[href^="mailto:"],
footer a[href*="instagram.com/sundayand_co"],
footer [data-footer-location] {
  font-weight: 300 !important;
}
footer [data-footer-label],
footer [data-footer-legal] {
  font-weight: 400 !important;
}

/* Project inquiry receipt */
div[role="presentation"]:has(> [aria-label="Project inquiry"]),
div[role="presentation"]:has(> [aria-label="The Sunday Reservation"]) {
  align-items: center !important;
  justify-content: center !important;
  overscroll-behavior: contain;
}

[aria-label="Project inquiry"] { margin: auto !important; }
[aria-label="Project inquiry"] > div {
  box-sizing: border-box;
  margin: 0 !important;
}
[aria-label="Project inquiry"] [data-inquiry-receipt-meta] {
  font-family: var(--sunday-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  line-height: 1.35 !important;
}
[aria-label="Project inquiry"] [data-inquiry-kicker] { font-size: 28px !important; }
[aria-label="Project inquiry"] [data-inquiry-support] {
  font-family: var(--sunday-sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: .01em !important;
  line-height: 1.5 !important;
}
[aria-label="Project inquiry"] form[data-inq] label > span,
[aria-label="Project inquiry"] form[data-inq] legend,
#inquiry form[data-inq] label > span,
#inquiry form[data-inq] legend {
  font-family: var(--sunday-sans) !important;
  font-size: 11.5px !important;
  font-weight: 300 !important;
  letter-spacing: .10em !important;
  line-height: 1.35 !important;
}
[aria-label="Project inquiry"] form[data-inq] [data-stepbtns] button,
[aria-label="Project inquiry"] form[data-inq] > button,
[aria-label="Project inquiry"] [data-inquiry-ledger] {
  font-family: var(--sunday-sans) !important;
  font-size: 9.5px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
}

@media (min-width: 701px) {
  [aria-label="Project inquiry"] {
    width: min(900px, calc(100vw - 72px)) !important;
    max-width: 900px !important;
    max-height: calc(100vh - 64px) !important;
    overflow-y: auto !important;
  }
  [aria-label="Project inquiry"] > div {
    min-height: 0 !important;
    padding: 31px 40px 38px !important;
  }
  [aria-label="Project inquiry"] [data-inquiry-receipt-meta] { font-size: 10.5px !important; }
}

@media (max-width: 700px) {
  div[role="presentation"]:has(> [aria-label="Project inquiry"]) {
    padding: 12px !important;
    overflow-y: auto !important;
  }
  [aria-label="Project inquiry"] {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100svh - 24px) !important;
    overflow-y: auto !important;
  }
  [aria-label="Project inquiry"] > div {
    min-height: min(700px, calc(100svh - 36px)) !important;
    padding: 23px 18px 38px !important;
  }
  [aria-label="Project inquiry"] [data-inquiry-kicker] {
    font-size: 30px !important;
    margin-bottom: 11px !important;
  }
  [aria-label="Project inquiry"] h2 { font-size: 25px !important; }
  [aria-label="Project inquiry"] [data-inquiry-support] { font-size: 13px !important; }
  [aria-label="Project inquiry"] [data-inquiry-receipt-meta] { font-size: 10px !important; }
  [aria-label="Project inquiry"] form[data-inq],
  #inquiry form[data-inq] {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
  [aria-label="Project inquiry"] form[data-inq] fieldset,
  #inquiry form[data-inq] fieldset { grid-template-columns: 1fr !important; }
  [aria-label="Project inquiry"] form[data-inq] label > span,
  [aria-label="Project inquiry"] form[data-inq] legend,
  #inquiry form[data-inq] label > span,
  #inquiry form[data-inq] legend { font-size: 11.25px !important; }
  [aria-label="Project inquiry"] form[data-inq] input,
  [aria-label="Project inquiry"] form[data-inq] select,
  #inquiry form[data-inq] input,
  #inquiry form[data-inq] select { min-height: 43px !important; }
  [aria-label="Project inquiry"] form[data-inq] textarea,
  #inquiry form[data-inq] textarea { min-height: 74px !important; }
}

/* Sunday Reservation popup: centered, desktop a little larger, mobile fine print quiet. */
[aria-label="The Sunday Reservation"] {
  margin: auto !important;
  box-sizing: border-box;
}
[aria-label="The Sunday Reservation"] [data-res-fineprint] {
  font-family: var(--sunday-sans) !important;
  font-weight: 300 !important;
  letter-spacing: .08em !important;
}
@media (min-width: 701px) {
  [aria-label="The Sunday Reservation"] {
    width: min(840px, calc(100vw - 64px)) !important;
    max-width: 840px !important;
    height: 560px !important;
    min-height: 0 !important;
    max-height: calc(100vh - 56px) !important;
    grid-template-columns: 1fr 1.06fr !important;
    overflow: hidden !important;
  }
  [aria-label="The Sunday Reservation"] > div[aria-hidden] {
    align-self: stretch !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  [aria-label="The Sunday Reservation"] > div[aria-hidden] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  [aria-label="The Sunday Reservation"] > div:last-child {
    min-height: 0 !important;
    height: 100% !important;
    padding: 34px 32px 28px !important;
    overflow-y: auto !important;
  }
  [aria-label="The Sunday Reservation"] [data-res-fineprint] { font-size: 8.5px !important; }
}
@media (max-width: 700px) {
  [aria-label="The Sunday Reservation"] {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: calc(100svh - 28px) !important;
    grid-template-columns: 1fr !important;
    overflow-y: auto !important;
  }
  [aria-label="The Sunday Reservation"] > div[aria-hidden] {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
  }
  [aria-label="The Sunday Reservation"] > div:last-child {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 20px 21px !important;
  }
  [aria-label="The Sunday Reservation"] [data-res-fineprint] {
    font-size: 8.25px !important;
    line-height: 1.45 !important;
    letter-spacing: .065em !important;
  }
}

/* Mobile menu CTA labels: modest readability bump, still editorial. */
@media (max-width: 700px) {
  aside[aria-label="Sunday & Company navigation"] [data-sheet-cta] {
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: .14em !important;
    min-height: 44px !important;
  }
}

/* About CTA and Services microtype. */
@media (max-width: 700px) {
  [data-about-team-cta] {
    font-size: 10px !important;
    letter-spacing: .12em !important;
    min-height: 44px !important;
  }
  [data-screen-label="Services"] [data-service-meta],
  [data-screen-label="Services"] [data-service-number],
  [data-screen-label="Services"] [data-service-included] {
    font-family: var(--sunday-sans) !important;
    font-size: 10.5px !important;
    font-weight: 400 !important;
    letter-spacing: .11em !important;
  }
  [data-screen-label="Services"] [data-service-price] {
    font-family: var(--sunday-sans) !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    letter-spacing: .12em !important;
  }
}

/* Hero screenshot safety: always paint the source image as the section background too. */
section#top[data-hero-fallback="ready"] {
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
@media (max-width: 700px) {
  section#top[data-screen-hero="home"] { height: clamp(680px, 100svh, 820px) !important; }
}

/* Sunday & Co. motion language: paper / editorial reveals, intentionally restrained. */
@keyframes sunday-modal-in {
  from { opacity: 0; transform: translateY(8px) scale(.995); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.sc-reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 620ms cubic-bezier(.22,.75,.18,1), transform 620ms cubic-bezier(.22,.75,.18,1);
}
.sc-reveal.sc-in { opacity: 1; transform: translateY(0); }
[aria-label="Project inquiry"],
[aria-label="The Sunday Reservation"] {
  animation: sunday-modal-in 300ms cubic-bezier(.22,.75,.18,1) both;
}

/* Only directional CTA arrows move. Social icons, close buttons and other
   interface glyphs stay perfectly still. */
[data-sheet-cta] svg,
[data-about-team-cta] svg,
button[onClick*="openInquiry"] svg,
a[href="/contact"] svg,
a[href="#inquiry"] svg {
  transition: transform 180ms ease;
}
[data-sheet-cta]:hover svg,
[data-about-team-cta]:hover svg,
button[onClick*="openInquiry"]:hover svg,
a[href="/contact"]:hover svg,
a[href="#inquiry"]:hover svg {
  transform: translate(2px,-1px);
}

@media (prefers-reduced-motion: reduce) {
  .sc-reveal,
  .sc-reveal.sc-in,
  [aria-label="Project inquiry"],
  [aria-label="The Sunday Reservation"] {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  [data-sheet-cta] svg,
  [data-about-team-cta] svg,
  button[onClick*="openInquiry"] svg,
  a[href="/contact"] svg,
  a[href="#inquiry"] svg { transition: none !important; }
}
