:root {
  --font-family: 'Hanken Grotesk', sans-serif;
  --color-primary: #bc1f24;
  --color-primary-dark: #9a1a1d; /* #bc1f24 koyusu — gradient / hover */
  --color-primary-light: #d4252a; /* #bc1f24 açığı */
  --color-surface: #f9f9f9;
  --color-surface-dim: #dadada;
  --color-surface-bright: #f9f9f9;
  --color-surface-container-lowest: #ffffff;
  --color-surface-container-low: #f3f3f3;
  --color-surface-container: #ededed;
  --color-surface-container-high: #e7e7e7;
  --color-surface-container-highest: #e1e1e1;
  --color-on-surface: #1a1b1d;
  --color-on-surface-variant: #43474e;
  --color-outline: #73777f;
  --color-outline-variant: #c3c6cf;
  --color-inverse-surface: #2f3032;
  --color-inverse-on-surface: #f1f0f3;
  --color-inverse-primary: #ffb4ab;
  --color-text-body: #4a4a4a;
  --color-text-heading: #111827;
  --border-radius: 0.5rem;
}

html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family);
  background-color: var(--color-surface);
  color: var(--color-text-body);
  line-height: 1.6;
  overflow-x: hidden;
  max-width: 100vw;
}

/* Prevent iOS zoom on form focus (inputs < 16px get auto-zoomed) */
@media (max-width: 767px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* Safe area for notched phones */
@supports (padding: max(0px)) {
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}

/* Mobile touch targets */
@media (max-width: 639px) {
  .us-footer-cta-btn {
    width: 100%;
    justify-content: center;
  }
}

/* Screen-reader only (a11y labels) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Material symbols: avoid layout shift */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined', sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Default link color — do NOT override white text or primary buttons */
a {
  text-decoration: none;
  transition: color 0.3s ease, background-color 0.3s ease, opacity 0.2s ease;
}

a:not([class*="text-white"]):not([class*="bg-primary"]):not([class*="bg-on-surface"]):not([class*="us-nav"]):not([class*="us-footer"]):not([class*="us-mega"]):not([class*="us-sa"]) {
  color: var(--color-primary);
}

a:not([class*="text-white"]):not([class*="bg-primary"]):not([class*="bg-on-surface"]):not([class*="us-nav"]):not([class*="us-footer"]):not([class*="us-mega"]):not([class*="us-sa"]):hover {
  color: var(--color-primary-dark);
}

/* Nav top bar: force white on red background */
.us-nav-top a,
.us-nav-top a:hover,
.us-nav-top a:focus,
.us-nav-top a span,
.us-nav-top a .material-symbols-outlined {
  color: #ffffff !important;
}

/*
 * Primary / dark CTAs: text must stay WHITE on hover.
 * Global a:hover used to paint text primary-dark on red bg → invisible.
 */
a.bg-primary,
a.bg-primary-dark,
a.bg-primary-container,
a[class*="bg-primary"],
a[class*="bg-primary-container"],
a[class*="bg-on-surface"],
button.bg-primary,
button.bg-primary-dark,
button.bg-primary-container,
button[class*="bg-primary"],
.bg-primary,
.bg-primary-container {
  color: #ffffff !important;
}

a.bg-primary:hover,
a.bg-primary-dark:hover,
a.bg-primary-container:hover,
a[class*="bg-primary"]:hover,
a[class*="bg-primary-container"]:hover,
a[class*="bg-on-surface"]:hover,
a.hover\:bg-primary:hover,
a.hover\:bg-primary-dark:hover,
a.hover\:bg-primary-container:hover,
button.bg-primary:hover,
button.bg-primary-dark:hover,
button.bg-primary-container:hover,
button[class*="bg-primary"]:hover,
button.hover\:bg-primary:hover,
button.hover\:bg-primary-dark:hover {
  color: #ffffff !important;
}

/* Nested text/icons inside primary buttons stay white */
a.bg-primary *,
a.bg-primary-dark *,
a.bg-primary-container *,
a[class*="bg-primary"] *,
a[class*="bg-primary-container"] *,
a[class*="bg-on-surface"] *,
button.bg-primary *,
button.bg-primary-container *,
button[class*="bg-primary"] *,
a.bg-primary:hover *,
a.bg-primary-dark:hover *,
a.bg-primary-container:hover *,
a[class*="bg-primary"]:hover *,
a[class*="bg-primary-container"]:hover *,
button.bg-primary:hover *,
button.bg-primary-container:hover * {
  color: inherit !important;
}

/* Explicit white text utility — never lose on hover (links/buttons) */
a.text-white,
a.text-white:hover,
a.text-white:focus,
a.text-white:active,
button.text-white,
button.text-white:hover,
a.text-on-primary,
a.text-on-primary:hover,
button.text-on-primary,
button.text-on-primary:hover {
  color: #ffffff !important;
}

a.text-white *,
a.text-white:hover *,
button.text-white *,
button.text-white:hover *,
a.text-on-primary *,
a.text-on-primary:hover * {
  color: inherit !important;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

button {
  cursor: pointer;
  font-family: var(--font-family);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-text-heading);
  font-weight: 700;
}

.text-primary { color: var(--color-primary); }
.bg-primary { background-color: var(--color-primary); }
.bg-primary-dark { background-color: var(--color-primary-dark); }
.border-primary { border-color: var(--color-primary); }
.hover\:bg-primary-dark:hover { background-color: var(--color-primary-dark); }

/* Tailwind default red-* → marka #bc1f24 / koyusu #9a1a1d */
.text-red-500,
.text-red-600,
.hover\:text-red-500:hover,
.hover\:text-red-600:hover,
.hover\:text-red-700:hover { color: var(--color-primary) !important; }
.text-red-700,
.text-red-800 { color: var(--color-primary-dark) !important; }
.bg-red-500,
.bg-red-600 { background-color: var(--color-primary) !important; }
.border-red-500 { border-color: var(--color-primary) !important; }
.focus\:ring-red-500:focus {
  --tw-ring-color: rgba(188, 31, 36, 0.45) !important;
}
.focus\:border-red-500:focus { border-color: var(--color-primary) !important; }
.bg-red-50 { background-color: #fdf2f2 !important; }
.bg-red-100 { background-color: #fce8e8 !important; }
.border-red-100 { border-color: #f5d0d0 !important; }
.border-red-200 { border-color: #efb8b8 !important; }

.bg-dark-hero {
  background-color: #000000;
  color: white;
}

.rounded-box { border-radius: var(--border-radius); }
.shadow-card {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.glassmorphism {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
