/* ==========================================================================
   Chef Destiny (food) only.
   Adds the blue secondary accent and the dish/dessert layouts.
   Loaded after base.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Blue accent details
   -------------------------------------------------------------------------- */
.heart-blue { color: var(--accent); font-size: 0.72em; }

.script-accent {
  font-family: var(--font-script);
  color: var(--accent);
  font-size: 1.5em;
  line-height: 1;
}

.link-accent { color: var(--accent); font-weight: 500; }
.link-accent:hover { text-decoration: underline; }

.site-footer--food {
  background: var(--brand-footer);
  color: var(--ink);
}

/* The approved food mockup uses the round Chef Destiny seal as a large,
   editorial masthead instead of a small nav icon. */
.site-header:has(.brand--round) {
  position: relative;
}

.brand--round img {
  height: 230px;
  width: 230px;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
}

.site-header:has(.brand--round) .site-header__inner {
  min-height: 292px;
  align-items: flex-start;
  padding-top: 28px;
}

.site-header:has(.brand--round) .nav,
.site-header:has(.brand--round) .site-header__inner > .header-cta {
  margin-top: 58px;
}

@media (max-width: 1040px) {
  .site-header:has(.brand--round) { position: sticky; }
  .brand--round img { height: 72px; width: 72px; }
  .site-header:has(.brand--round) .site-header__inner {
    min-height: 88px;
    align-items: center;
    padding-top: 0;
  }
  .site-header:has(.brand--round) .nav,
  .site-header:has(.brand--round) .site-header__inner > .header-cta {
    margin-top: 0;
  }
}

/* The food nav carries eight items — more than the other two sites — so it
   needs tighter spacing to stay on one line, and it collapses to the mobile
   drawer earlier. */
@media (min-width: 1041px) {
  .site-header__inner .nav__list { gap: 19px; }
  .site-header__inner .nav__link { font-size: 13px; }
}

@media (max-width: 1040px) {
  .nav {
    position: fixed;
    inset: 84px 0 auto 0;
    background: var(--white);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-card);
    display: none;
    padding: 12px var(--gutter) 22px;
  }
  .nav.is-open { display: block; }
  .nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__link {
    display: block;
    padding: 14px 4px;
    border-bottom: 1px solid var(--line-soft);
    font-size: 15px;
  }
  .nav__link[aria-current="page"]::after { display: none; }
  .nav-toggle { display: flex; }
  .site-header__inner > .header-cta { display: none; }
  .nav .header-cta { display: flex; margin: 18px 0 0; width: 100%; }
}

/* --------------------------------------------------------------------------
   Hero variations
   -------------------------------------------------------------------------- */
.hero__title--stacked {
  font-size: clamp(38px, 5.6vw, 60px);
  line-height: 1.06;
  letter-spacing: -0.01em;
}

.hero__byline {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--ink);
  margin: 8px 0 18px;
}

.rule-inline {
  flex: 0 1 56px;
  height: 1.5px;
  background: var(--brand);
  border-radius: 2px;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* --------------------------------------------------------------------------
   Dish grids
   -------------------------------------------------------------------------- */
.dish-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.dish { margin: 0; }

.dish__media {
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  overflow: hidden;
  background: var(--surface);
  margin-bottom: 11px;
}
.dish__media img { width: 100%; height: 100%; object-fit: cover; }

.dish__name {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 5px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.dish__price {
  font-family: var(--font-ui);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--brand-deep);
  white-space: nowrap;
}

.dish__desc { font-size: 12.5px; line-height: 1.6; margin: 0; }

.dish--sm .dish__name { font-size: 13.5px; display: block; }
.dish--sm .dish__price { display: block; margin-top: 3px; }

/* --------------------------------------------------------------------------
   Something Sweet / dessert preview
   -------------------------------------------------------------------------- */
.two-col--sweet { grid-template-columns: 0.82fr 1.18fr; }

.sweet-card {
  background: var(--brand-tint);
  border-radius: var(--radius-lg);
  padding: 34px 30px;
}
.sweet-card h2 { font-size: clamp(26px, 3.6vw, 34px); margin-bottom: 10px; }
.sweet-card p  { font-size: 13.5px; max-width: 32ch; margin-bottom: 20px; }

.heart-blue--divider {
  display: block;
  font-size: 15px;
  margin: 0 0 12px;
  padding-top: 10px;
  border-top: 1.5px solid var(--brand);
  width: 88px;
}

.dessert-preview {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px;
  background: var(--white);
}

.section-head--sm { margin-bottom: 20px; }
.section-head--sm h2 { font-size: clamp(22px, 3vw, 28px); }

.dessert-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

/* --------------------------------------------------------------------------
   Catering / order cards
   -------------------------------------------------------------------------- */
.action-card {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  padding: 26px 28px;
}

.action-card__icon {
  flex: none;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--brand-tint);
  color: var(--ink);
  display: grid;
  place-items: center;
}

.action-card h2 { font-size: clamp(21px, 2.8vw, 27px); margin-bottom: 8px; }
.action-card p  { font-size: 13px; margin-bottom: 16px; max-width: 38ch; }

/* --------------------------------------------------------------------------
   About row
   -------------------------------------------------------------------------- */
.stylist--food {
  background: var(--brand-tint);
  border-color: transparent;
  grid-template-columns: 190px 1.3fr 1.3fr;
}

.stylist__photo--round { border-radius: 50%; }

/* The food about-row uses outline icons on no fill, unlike the hair site. */
.point--plain { text-align: center; }
.point__icon--plain {
  background: transparent;
  color: var(--ink);
  width: auto;
  height: auto;
  margin: 0 auto 8px;
}
.point--plain h3 {
  font-family: var(--font-display);
  font-size: 14.5px;
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1080px) {
  .dish-grid { grid-template-columns: repeat(3, 1fr); }
  .two-col--sweet { grid-template-columns: 1fr; }
  .stylist--food { grid-template-columns: 150px 1fr; }
}

@media (max-width: 780px) {
  .two-col { grid-template-columns: 1fr; }
  .dessert-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 660px) {
  .dish-grid { grid-template-columns: repeat(2, 1fr); }
  .stylist--food { grid-template-columns: 1fr; }
  .stylist__points--three { grid-template-columns: 1fr; }
  .hero__byline { font-size: 17px; flex-wrap: wrap; }
  .action-card { flex-direction: column; }
}
