/* Shared feedback across the PC portal previews. */
:is(.home-page, .visitor-page) {
  --portal-accent: #963c2d;
  --portal-focus: #963c2d;
  --portal-edge: #bcae90;
  --portal-shadow: 0 15px 28px -22px #243b37a6;
  --portal-transition: 220ms ease-out;
}

:is(.home-page, .visitor-page) :is(main, header[data-site-shell-header]) :is(a, button, input, textarea):focus-visible {
  outline: 2px solid var(--portal-focus);
  outline-offset: 3px;
}

:is(.home-page, .visitor-page) nav[aria-label="主导航"] a {
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
  transition: color var(--portal-transition);
}

.visitor-page .visitor-title {
  background: linear-gradient(112deg, #fffbf2 18%, #e6ede3);
}

.visitor-page .visitor-section > h2 { margin-bottom: 14px; }

.visitor-page :is(.visitor-food-grid, .visitor-columns) .visitor-panel {
  transition: border-color var(--portal-transition), box-shadow var(--portal-transition), background-color var(--portal-transition);
}

.visitor-page .visitor-filter a { transition: color var(--portal-transition), border-color var(--portal-transition); }
.visitor-page :is(.visitor-food-grid, .visitor-columns) .visitor-panel:focus-within {
  border-color: var(--portal-edge);
  box-shadow: var(--portal-shadow);
}

.visitor-page :is(.visitor-source, .visitor-filter a):focus-visible { color: var(--portal-accent); }

@media (hover: hover) {
  :is(.home-page, .visitor-page) nav[aria-label="主导航"] a:not([aria-current]):hover {
    color: var(--portal-accent);
    text-decoration: underline;
  }
  .visitor-page .visitor-filter a:hover { color: var(--portal-accent); border-color: currentColor; }
  .visitor-page :is(.visitor-food-grid, .visitor-columns) .visitor-panel:hover {
    background-color: #fffdf6;
    border-color: var(--portal-edge);
    box-shadow: var(--portal-shadow);
  }
  .visitor-page .visitor-source:hover { color: var(--portal-accent); text-decoration: underline; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.home-page, .visitor-page) nav[aria-label="主导航"] a,
  .visitor-page :is(.visitor-filter a, .visitor-panel) { transition: none; }
}
