/* ClubOS Brand Theme Override - Matching ClubOS teal color system */
:root {
  /* Primary brand colors - ClubOS teal palette */
  --ory-theme-accent-def: oklch(0.5434 0.0878 195.15); /* Medium teal #167E88 */
  --ory-theme-accent-muted: oklch(0.485 0.095 190); /* Softer teal */
  --ory-theme-accent-emphasis: oklch(0.325 0.045 195); /* Dark teal #12474E */
  --ory-theme-accent-subtle: oklch(
    0.945 0.018 195
  ); /* Light teal for subtle highlights */

  /* Keep the disabled state neutral */
  --ory-theme-accent-disabled: oklch(0.925 0.006 210);

  /* Dark mode/backgrounds */
  --ory-theme-foreground-on-dark: oklch(0.995 0 0);
  --ory-theme-foreground-on-accent: oklch(0.995 0 0);

  /* Background colors - clean neutrals with blue undertones */
  --ory-theme-background-surface: oklch(0.995 0 0); /* Pure white cards */
  --ory-theme-background-canvas: oklch(0.98 0 0); /* Clean neutral background */
  --ory-theme-background-subtle: oklch(0.97 0 0); /* Elegant soft gray */

  /* Foreground colors - refined with teal undertones */
  --ory-theme-foreground-def: oklch(0.215 0.025 195); /* Refined dark text */
  --ory-theme-foreground-muted: oklch(0.545 0.015 195); /* Muted text */
  --ory-theme-foreground-subtle: oklch(0.685 0.01 195); /* Subtle text */
  --ory-theme-foreground-disabled: oklch(0.925 0.006 195);
  --ory-theme-foreground-on-disabled: oklch(0.925 0.006 195);

  /* Error colors - sophisticated coral-red */
  --ory-theme-error-def: oklch(0.585 0.195 27);
  --ory-theme-error-subtle: oklch(0.96 0.04 27);
  --ory-theme-error-muted: oklch(0.685 0.15 27);
  --ory-theme-error-emphasis: oklch(0.585 0.195 27);

  /* Success - using primary teal for consistency */
  --ory-theme-success-emphasis: oklch(0.5434 0.0878 195.15);

  /* Borders - refined, subtle */
  --ory-theme-border-def: oklch(0.925 0.006 195);

  /* Text colors */
  --ory-theme-text-def: oklch(0.995 0 0);
  --ory-theme-text-disabled: oklch(0.685 0.01 195);

  /* Input styling */
  --ory-theme-input-background: oklch(0.995 0 0);
  --ory-theme-input-disabled: oklch(0.935 0.004 195);
  --ory-theme-input-placeholder: oklch(0.545 0.015 195);
  --ory-theme-input-text: oklch(0.215 0.025 195); /* Refined dark text */

  /* Font family to match shadcn */
  --ory-theme-font-family: "Inter", -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  --ory-theme-font-family-mono: "JetBrains Mono", "SF Mono", monospace;
}

/* Additional brand customizations */
.ory-card {
  /* Sophisticated layered shadow */
  box-shadow: 0 4px 8px -1px oklch(0 0 0 / 0.08),
    0 2px 4px -2px oklch(0 0 0 / 0.06);
  border-radius: 0.5rem;
}

/* Hover states with brand colors */
a {
  color: oklch(0.5434 0.0878 195.15);
  text-decoration: none;
}

a:hover {
  color: oklch(0.485 0.095 190);
  text-decoration: underline;
}

/* Button hover states */
.ory_elements__button__xkj8ku0 {
  background: oklch(0.5434 0.0878 195.15);
  border-radius: 0.5rem;
  transition: all 200ms ease;
  box-shadow: 0 2px 4px 0px oklch(0 0 0 / 0.06),
    0 1px 2px -1px oklch(0 0 0 / 0.04);
}

.ory_elements__button__xkj8ku0:hover {
  background-color: oklch(0.485 0.095 190);
  box-shadow: 0 4px 8px -1px oklch(0 0 0 / 0.08),
    0 2px 4px -2px oklch(0 0 0 / 0.06);
}

.ory_elements__button__xkj8ku0:active {
  background-color: oklch(0.325 0.045 195);
  box-shadow: 0 1px 2px 0px oklch(0 0 0 / 0.05);
}

/* Social button hover */
.ory_elements__button_social__16pmekl0 {
  border-color: oklch(0.925 0.006 195);
  transition: all 200ms ease;
}

.ory_elements__button_social__16pmekl0:hover {
  border-color: oklch(0.5434 0.0878 195.15);
  color: oklch(0.5434 0.0878 195.15);
  background-color: oklch(0.945 0.018 195);
}

.ory_elements__button_social__16pmekl0:active {
  background-color: oklch(0.5434 0.0878 195.15);
  border-color: oklch(0.5434 0.0878 195.15);
  color: oklch(0.995 0 0);
}

/* Input focus states */
.ory_elements__input_field__1tgfa2l1 {
  border-color: oklch(0.925 0.006 195);
  transition: all 200ms ease;
  border-radius: 0.5rem;
}

.ory_elements__input_field__1tgfa2l1:hover {
  border-color: oklch(0.685 0.01 195);
}

.ory_elements__input_field__1tgfa2l1:focus {
  border-color: oklch(0.5434 0.0878 195.15);
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px oklch(0.5434 0.0878 195.15 / 0.1);
}

.ory_elements__input_field__1tgfa2l1:active {
  border-color: oklch(0.325 0.045 195);
}

/* Checkbox styling */
.ory_elements__checkbox__15kln121 {
  border-color: oklch(0.5434 0.0878 195.15);
  border-radius: 0.25rem;
}

.ory_elements__checkbox__15kln121:checked {
  background: oklch(0.5434 0.0878 195.15);
  border-color: oklch(0.5434 0.0878 195.15);
}

/* Link colors */
.ory_elements__button_link__w27ftz0 {
  color: oklch(0.5434 0.0878 195.15);
}

.ory_elements__button_link__w27ftz0:hover {
  color: oklch(0.485 0.095 190);
}

.ory_elements__button_link__w27ftz0:active {
  color: oklch(0.325 0.045 195);
}

/* Navigation selected state */
.ory_elements__nav__u0o6663 {
  background-color: oklch(0.945 0.018 195);
}

/* Footer styling */
.footer-container {
  background-color: oklch(0.98 0 0);
  border-top: 1px solid oklch(0.925 0.006 195);
  color: oklch(0.545 0.015 195);
}

.footer-container a {
  color: oklch(0.5434 0.0878 195.15);
}

.footer-container a:hover {
  color: oklch(0.485 0.095 190);
}

/* Logo styling */
.ory_elements__card__1t5ly152 {
  max-height: 8rem;
  width: auto;
}

/* Brand-specific card styling */
.ory_elements__card__1t5ly150 {
  border-color: oklch(0.925 0.006 195);
  background: oklch(0.995 0 0);
  box-shadow: 0 4px 8px -1px oklch(0 0 0 / 0.08),
    0 2px 4px -2px oklch(0 0 0 / 0.06);
}

/* Navigation styling */
.ory_elements__nav__u0o6660 {
  background-color: oklch(0.98 0 0);
  border-right-color: oklch(0.925 0.006 195);
}

/* Menu link hover */
.ory_elements__menu_link__1mb45s80:hover {
  background-color: oklch(0.945 0.018 195);
  color: oklch(0.5434 0.0878 195.15);
}

/* Typography enhancement */
body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  color: oklch(0.215 0.025 195);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Form elements enhancement */
input,
textarea,
select {
  font-family: inherit;
}

/* Success states */
.ory_elements__input_field__1tgfa2l1:not(:focus):not(:placeholder-shown):valid {
  border-color: oklch(0.5434 0.0878 195.15);
}

/* Error states */
.ory_elements__message_severity_error__1421i9r4 {
  color: oklch(0.585 0.195 27);
}

/* Info/Success messages */
.ory_elements__message_severity_success__1421i9r5 {
  color: oklch(0.5434 0.0878 195.15);
}

/* Divider styling */
.ory_elements__divider__1312gjt1 {
  border-color: oklch(0.925 0.006 195);
}

/* Mobile-specific theme adjustments */
@media (max-width: 768px) {
  /* Remove card padding on mobile */
  .ory_elements__card_content__1t5ly151 {
    padding: 1.5rem;
  }

  /* Adjust input field appearance */
  .ory_elements__input_container__1jduz9j0 {
    width: 100%;
  }

  /* Remove hover shadow effects on mobile for better performance */
  .ory_elements__button__xkj8ku0 {
    box-shadow: none;
  }

  .ory_elements__button__xkj8ku0:hover {
    box-shadow: none;
  }

  /* Adjust branding/logo container */
  [data-testid="ui/message/brand"] {
    margin-top: 2rem;
  }

  /* Better touch targets */
  input[type="checkbox"],
  input[type="radio"] {
    width: 20px;
    height: 20px;
  }

  /* Ensure proper text size without zoom */
  input,
  textarea,
  select,
  button {
    font-size: 16px;
  }

  /* Adjust form title spacing */
  form > div:first-child {
    margin-bottom: 1.5rem;
  }

  /* Better link spacing for touch */
  a {
    padding: 0.25rem 0;
    display: inline-block;
  }
}
