.order-pill__label { display: inline-flex; align-items: baseline; }
.order-pill .order-word { transform: none; }
.order-pill .order-arrow { display: inline-block; transition: transform 280ms ease; }

.product-carousel { width: min(1120px, 100%); }
.product-track { scroll-behavior: auto; scroll-snap-type: none; touch-action: pan-y; }
.chef-credit { display: grid; justify-items: center; gap: 12px; margin-top: 60px; text-align: center; }
.chef-credit p { margin: 0; color: var(--paper); font-family: var(--sans); font-size: 14px; font-weight: 500; }
.chef-credit img { display: block; width: clamp(160px, 18vw, 210px); max-width: 100%; height: auto; }

.product-open { display: block; box-sizing: border-box; width: 100%; min-width: 0; padding: 8px 8px 12px; border: 0; border-radius: 18px; color: inherit; text-align: left; background: rgba(255, 245, 219, 0.3); background: color-mix(in srgb, var(--paper) 30%, transparent); font-family: inherit; cursor: pointer; transition: background-color 240ms ease; }
.product-open:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; border-radius: 14px; }
.product-open img, .product-open:is(:hover, :focus-visible) img { border: 0; background: var(--cream-light); transform: none; scale: 1; }
.product-open:is(:hover, :focus-visible) { background: var(--paper); transform: none; scale: 1; }
.product-category { display: block; margin: 4px 0 8px; color: var(--brown); font-family: var(--sans); font-size: 9px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.product-title { display: block; min-height: 48px; color: var(--red-dark); font-family: var(--serif); font-size: clamp(18px, 1.6vw, 23px); font-style: italic; font-weight: 600; font-variation-settings: "SOFT" 10, "WONK" 1, "opsz" 50; line-height: 1.05; }
.product-detail-hint { display: flex; align-items: center; justify-content: flex-start; gap: 6px; margin-top: 10px; font-size: 11px; font-weight: 400; line-height: 1.4; }
.product-detail-hint > span { position: static; flex: 0 0 auto; font-size: 18px; font-weight: 300; line-height: 1; }
.product-arrow { min-width: 44px; width: 44px; height: 44px; }
.product-carousel { grid-template-columns: 44px minmax(0, 1fr) 44px; }
.product-arrow .carousel-chevron, .carousel-arrow .carousel-chevron { transition: transform 220ms ease; }
.product-arrow--next:is(:hover, :focus-visible) .carousel-chevron, .carousel-arrow--right:is(:hover, :focus-visible) .carousel-chevron { transform: translateX(3px); }
.product-arrow--prev:is(:hover, :focus-visible) .carousel-chevron, .carousel-arrow--left:is(:hover, :focus-visible) .carousel-chevron { transform: translateX(-3px) rotate(180deg); }
.product-arrow:focus-visible, .carousel-arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.product-open:active, .product-open:focus-visible { background: var(--paper); }
.hot-badge { pointer-events: none; }

.menu-actions .menu-full-link { gap: 12px; min-height: 44px; border: 0; color: var(--paper); background: var(--green); font-family: var(--sans); font-size: 16px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.menu-full-link > span, .pinsa-dialog__order > span { transition: transform 280ms ease; }
.menu-full-link em, .pinsa-dialog__order em { color: inherit; font-family: var(--serif); font-size: 20px; font-variation-settings: "SOFT" 10, "WONK" 1, "opsz" 50; }

.pinsa-dialog { width: min(820px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); padding: 0; overflow: auto; border: 0; border-radius: 24px; color: var(--brown); background: var(--paper); }
.pinsa-dialog::backdrop { background: rgba(44, 33, 26, 0.6); }
.pinsa-dialog__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.pinsa-dialog__photo { position: relative; min-height: 320px; overflow: hidden; background: var(--cream); }
.pinsa-dialog__photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pinsa-dialog__copy { padding: 44px 32px 32px; }
.pinsa-dialog h2 { margin: 10px 0 26px; color: var(--red-dark); font-size: clamp(30px, 4vw, 42px); font-style: italic; line-height: 1; }
.pinsa-dialog h3 { margin: 0 0 12px; font-family: var(--sans); font-size: 12px; font-weight: 600; }
.pinsa-dialog ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.7; }
.pinsa-dialog__recipe-note { margin: 18px 0 0; font-size: 12px; line-height: 1.5; }
.pinsa-dialog__calories { display: grid; gap: 8px; margin: 26px 0; padding-top: 20px; border-top: 1px solid rgba(44, 33, 26, 0.16); }
.pinsa-dialog__calories > span { font-size: 12px; }
.pinsa-dialog__calories strong { color: var(--green); font-size: 24px; font-weight: 600; }
.pinsa-dialog__calories small { font-size: 11px; line-height: 1.5; }
.pinsa-dialog__order { display: inline-flex; align-items: baseline; gap: 16px; min-height: 44px; padding: 12px 18px; border-radius: 99px; color: var(--paper); background: var(--green); font-size: 16px; font-weight: 600; }
.pinsa-dialog__close { position: absolute; z-index: 3; top: 10px; right: 10px; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; color: var(--brown); background: var(--paper); cursor: pointer; }
.menu-full-link:focus-visible, .pinsa-dialog__close:focus-visible, .pinsa-dialog__order:focus-visible { outline: 2px solid var(--red-dark); outline-offset: 4px; }
body.pinsa-dialog-open { overflow: hidden; }

@media (hover: hover) and (pointer: fine) {
  .order-pill:hover .order-arrow { transform: translateX(3px); }
  .menu-full-link:hover .order-arrow, .pinsa-dialog__order:hover .order-arrow { transform: translateX(3px); }
}

@media (max-width: 600px) {
  .product-carousel { display: block; width: 100%; min-width: 0; }
  .product-arrow { display: none; }
  .product-track { width: 100%; min-width: 0; overflow: hidden; }
  .product-card { flex-basis: calc((100% - 36px) / 2.25); }
  .pinsa-dialog__layout { grid-template-columns: 1fr; }
  .pinsa-dialog__photo { height: clamp(220px, 60vw, 320px); min-height: 0; }
  .pinsa-dialog__copy { padding: 24px; }
  .pinsa-dialog__close { color: #fff; background: rgba(44, 33, 26, 0.55); }
  .pinsa-dialog__close:focus-visible { outline-color: #fff; outline-offset: -3px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-open, .product-arrow, .product-arrow .carousel-chevron, .carousel-arrow .carousel-chevron { transition: none; }
  .product-open:hover { transform: none; }
  .product-arrow--next:is(:hover, :focus-visible) .carousel-chevron, .carousel-arrow--right:is(:hover, :focus-visible) .carousel-chevron { transform: none; }
  .product-arrow--prev:is(:hover, :focus-visible) .carousel-chevron, .carousel-arrow--left:is(:hover, :focus-visible) .carousel-chevron { transform: rotate(180deg); }
  .order-pill, .order-pill__label, .order-pill .order-arrow,
  .menu-actions .menu-full-link, .menu-full-link > span,
  .pinsa-dialog__order, .pinsa-dialog__order > span, .product-open img { transition: none; }
  .order-pill:hover .order-pill__label, .order-pill:hover .order-arrow,
  .menu-full-link:hover > span, .pinsa-dialog__order:hover > span, .product-open:hover img { transform: none; }
}
