/* MedISCO Support Site - Custom Styles */
/* Main: #182950, Sub: #1F85AD */

:root {
  --main-900: #0d1730;
  --main-800: #182950;
  --main-700: #1e3468;
  --main-600: #254080;
  --main-500: #2d4e9a;
  --main-100: #dce4f5;
  --main-50: #eef2fa;
  --sub-700: #166b8a;
  --sub-600: #1F85AD;
  --sub-500: #2699c4;
  --sub-400: #3db5de;
  --sub-300: #6ecae8;
  --sub-200: #a3ddf0;
  --sub-100: #d4eef8;
  --sub-50: #eaf7fc;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', 'Noto Sans JP', sans-serif;
}

/* Remove default summary arrow */
details summary::-webkit-details-marker { display: none; }
details summary { list-style: none; }

/* Anchor links offset */
[id] { scroll-margin-top: 80px; }

/* Focus styles */
*:focus-visible {
  outline: 2px solid var(--sub-600);
  outline-offset: 2px;
}

a { text-decoration: none; }

/* Utility classes using brand colors */
.bg-main-900 { background-color: var(--main-900); }
.bg-main-800 { background-color: var(--main-800); }
.bg-main-700 { background-color: var(--main-700); }
.bg-main-600 { background-color: var(--main-600); }
.bg-main-500 { background-color: var(--main-500); }
.bg-main-100 { background-color: var(--main-100); }
.bg-main-50 { background-color: var(--main-50); }
.bg-sub-600 { background-color: var(--sub-600); }
.bg-sub-500 { background-color: var(--sub-500); }
.bg-sub-100 { background-color: var(--sub-100); }
.bg-sub-50 { background-color: var(--sub-50); }

.text-main-900 { color: var(--main-900); }
.text-main-800 { color: var(--main-800); }
.text-main-700 { color: var(--main-700); }
.text-main-600 { color: var(--main-600); }
.text-sub-600 { color: var(--sub-600); }
.text-sub-500 { color: var(--sub-500); }
.text-sub-700 { color: var(--sub-700); }

.border-main-600 { border-color: var(--main-600); }
.border-main-200 { border-color: var(--main-100); }
.border-sub-600 { border-color: var(--sub-600); }
.border-sub-300 { border-color: var(--sub-300); }
.border-sub-200 { border-color: var(--sub-200); }

/* Gradient */
.bg-hero-gradient {
  background: linear-gradient(135deg, var(--main-800) 0%, var(--main-700) 40%, var(--sub-600) 100%);
}
.bg-hero-gradient-sub {
  background: linear-gradient(to right, var(--sub-600), var(--sub-700));
}

/* Hover */
.hover-main-700:hover { background-color: var(--main-700); }
.hover-sub-700:hover { background-color: var(--sub-700); }

/* Nav active */
.nav-active {
  border-bottom: 2px solid var(--sub-600);
  color: var(--main-800);
  background-color: var(--sub-50);
}

/* Card hover */
.card-hover:hover {
  box-shadow: 0 10px 25px -5px rgba(24,41,80,0.15);
}

/* Print styles */
@media print {
  header, footer, .no-print { display: none !important; }
  body { background: white !important; }
  .shadow-md, .shadow-sm, .shadow-lg { box-shadow: none !important; }
}
