/* ============================================================
   DineWaves — UI Polish Layer (additive, non-breaking)
   Safe, global visual refinements layered on top of existing
   Tailwind / inline styles. No layout-structural overrides.
   ============================================================ */

:root {
  --dw-brand: #a62900;
  --dw-brand-2: #d1420f;
  --dw-brand-glow: rgba(166, 41, 0, 0.28);
}

/* Crisper text rendering everywhere */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Smooth anchor scrolling, but respect reduced-motion users */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* Branded text selection */
::selection {
  background: var(--dw-brand-glow);
  color: #3b0900;
}

/* Modern slim scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(166, 41, 0, 0.45) transparent;
}
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--dw-brand), var(--dw-brand-2));
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--dw-brand);
  background-clip: padding-box;
}

/* Accessible, on-brand focus ring for keyboard users */
:focus-visible {
  outline: 2px solid var(--dw-brand);
  outline-offset: 2px;
  border-radius: 6px;
}

/* Gentle, consistent motion on interactive elements */
@media (prefers-reduced-motion: no-preference) {
  a,
  button,
  [role="button"],
  input,
  select,
  textarea {
    transition: color .18s ease, background-color .18s ease,
                border-color .18s ease, box-shadow .22s ease,
                transform .18s cubic-bezier(.22, 1, .36, 1);
  }

  /* Subtle lift for primary call-to-action style buttons */
  button:not(:disabled):hover,
  a.btn:hover,
  [role="button"]:not([aria-disabled="true"]):hover {
    transform: translateY(-1px);
  }
  button:not(:disabled):active,
  a.btn:active,
  [role="button"]:active {
    transform: translateY(0);
  }
}

/* Softer, richer default shadows for rounded card-like blocks
   (only applies where a shadow already exists via utility class) */
.shadow-lg, .shadow-xl, .shadow-2xl {
  box-shadow: 0 18px 45px -18px rgba(15, 23, 42, 0.30) !important;
}

/* Images fade/scale nicely on hover inside cards */
@media (prefers-reduced-motion: no-preference) {
  .group:hover img,
  .card:hover img {
    transform: scale(1.03);
  }
  .group img,
  .card img {
    transition: transform .4s cubic-bezier(.22, 1, .36, 1);
  }
}

/* Nicer disabled state */
button:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .65;
}
