/* Compact safety cards reuse the overnight-theme navigation pattern. */
.driving-safety-section { scroll-margin-top: 100px; }
.driving-safety-section .section-title { margin-bottom: 20px; }
.driving-safety-grid .theme-trip-card__image { aspect-ratio: 3 / 2; object-fit: contain; background: #f9f1e3; }
.driving-safety-grid .theme-trip-card__body { display: block; }
.driving-safety-grid .theme-trip-card__number { display: block; margin-bottom: 6px; color: #526a60; font-size: 12px; font-weight: 700; }
.driving-safety-grid .theme-trip-card__more { display: block; margin-top: 10px; color: #1f6b52; font-size: 13px; font-weight: 700; }
.driving-safety-grid .theme-trip-card--warning { border-color: #cb6a43; }
.driving-safety-grid .theme-trip-card--warning .theme-trip-card__number,
.driving-safety-grid .theme-trip-card--warning .theme-trip-card__more { color: #a43c1e; }
.safety-quick-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.safety-quick-links a { padding: 8px 14px; border: 1px solid #b8c9bf; border-radius: 24px; background: #fff; color: #1f6b52; font-weight: 700; text-decoration: none; }
.safety-quick-links a:focus-visible { outline: 3px solid #1f6b52; outline-offset: 3px; }
.safety-detail-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.safety-detail-grid .guide-figure { margin: 0; }
.safety-detail-grid .guide-figure img { display: block; width: 100%; height: auto; border-radius: 14px; }
.safety-warning { padding: 20px; border: 2px solid #cb6a43; border-radius: 14px; background: #fff4e9; }
.safety-warning strong { color: #9b341b; }
.safety-warning p:last-child { margin-bottom: 0; }
.safety-source { font-size: 13px; color: #58635c; }
.driving-safety-page :is(#height, #parking, #downhill, #general-safety, #insurance) { scroll-margin-top: 110px; }
.driving-safety-page :is(#height, #parking, #downhill, #general-safety):target { outline: 2px solid #cb6a43; outline-offset: 8px; }
@media (max-width: 600px) {
  .driving-safety-grid { gap: 10px; }
  .driving-safety-grid .theme-trip-card__body { padding: 10px; }
  .driving-safety-grid .theme-trip-card__title { font-size: 15px; line-height: 1.4; }
  .driving-safety-grid .theme-trip-card__text { font-size: 12px; }
  .driving-safety-grid .theme-trip-card__number { font-size: 11px; }
  .driving-safety-grid .theme-trip-card__more { margin-top: 7px; font-size: 12px; }
  .safety-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .safety-detail-grid .guide-figure { max-width: 440px; }
  .safety-warning { padding: 16px; }
}
