/**
 * RelayOS WordPress Custom CSS
 * Based on RelayOS brand guidelines
 */

/* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;700&display=swap');

/* RelayOS Brand Colors */
:root {
  /* Primary Colors */
  --relayos-primary: #4F46E5;
  --relayos-secondary: #4338CA;
  
  /* Secondary Colors */
  --relayos-accent-green: #10B981;
  --relayos-accent-orange: #F59E0B;
  
  /* Neutral Colors */
  --relayos-dark-gray: #1F2937;
  --relayos-medium-gray: #6B7280;
  --relayos-light-gray: #F9FAFB;
  
  /* UI Colors */
  --relayos-error: #EF4444;
  --relayos-success: #10B981;
  --relayos-warning: #F59E0B;
}

/* Typography */
body,
button,
input,
select,
textarea {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

body {
  color: var(--relayos-dark-gray);
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: var(--relayos-dark-gray);
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-bottom: 1.5em;
}

/* Links */
a {
  color: var(--relayos-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover,
a:focus {
  color: var(--relayos-secondary);
  text-decoration: underline;
}

/* Buttons */
.wp-block-button__link,
.wp-element-button,
.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  background-color: var(--relayos-primary);
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.75em 1.5em;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background-color: var(--relayos-secondary);
  color: white;
  text-decoration: none;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  background-color: transparent;
  color: var(--relayos-primary);
  border: 1px solid var(--relayos-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button__link.is-style-outline:hover {
  background-color: var(--relayos-primary);
  color: white;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
  background-color: var(--relayos-light-gray);
  border: 1px solid var(--relayos-medium-gray);
  border-radius: 4px;
  padding: 0.75em;
  width: 100%;
  color: var(--relayos-dark-gray);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
  border-color: var(--relayos-primary);
  outline: none;
}

label {
  color: var(--relayos-dark-gray);
  font-weight: 500;
  margin-bottom: 0.5em;
  display: block;
}

/* Header */
.site-header {
  background-color: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.site-title a {
  color: var(--relayos-dark-gray);
  font-weight: 700;
}

.site-description {
  color: var(--relayos-medium-gray);
}

/* Navigation */
.main-navigation {
  font-weight: 500;
}

.main-navigation a {
  color: var(--relayos-dark-gray);
}

.main-navigation a:hover,
.main-navigation a:focus {
  color: var(--relayos-primary);
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
  color: var(--relayos-primary);
}

/* Footer */
.site-footer {
  background-color: var(--relayos-dark-gray);
  color: white;
  padding: 2em 0;
}

.site-footer a {
  color: white;
}

.site-footer a:hover,
.site-footer a:focus {
  color: var(--relayos-light-gray);
}

/* Cards */
.card,
.wp-block-column {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 1.5em;
  transition: box-shadow 0.3s ease;
}

.card:hover,
.wp-block-column:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

/* Alerts */
.alert,
.notice {
  padding: 1em;
  border-radius: 4px;
  margin-bottom: 1.5em;
}

.alert-success,
.notice-success {
  background-color: rgba(16, 185, 129, 0.1);
  border-left: 4px solid var(--relayos-accent-green);
  color: var(--relayos-accent-green);
}

.alert-warning,
.notice-warning {
  background-color: rgba(245, 158, 11, 0.1);
  border-left: 4px solid var(--relayos-accent-orange);
  color: var(--relayos-accent-orange);
}

.alert-error,
.notice-error {
  background-color: rgba(239, 68, 68, 0.1);
  border-left: 4px solid var(--relayos-error);
  color: var(--relayos-error);
}

/* WordPress Specific */
.wp-block-cover__inner-container {
  color: white;
}

.wp-block-cover__gradient-background {
  background: linear-gradient(135deg, var(--relayos-primary), var(--relayos-secondary));
}

.wp-block-quote {
  border-left: 4px solid var(--relayos-primary);
  padding-left: 1em;
  font-style: italic;
}

.wp-block-pullquote {
  border-top: 4px solid var(--relayos-primary);
  border-bottom: 4px solid var(--relayos-primary);
  color: var(--relayos-dark-gray);
}

.wp-block-table th {
  background-color: var(--relayos-primary);
  color: white;
}

.wp-block-table td,
.wp-block-table th {
  border: 1px solid var(--relayos-light-gray);
  padding: 0.5em;
}

/* IRC Integration Specific Styles */
.irc-widget {
  border: 1px solid var(--relayos-light-gray);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.irc-widget-header {
  background: linear-gradient(135deg, var(--relayos-primary), var(--relayos-secondary));
  color: white;
  padding: 1em;
  font-weight: 500;
}

.irc-widget-content {
  padding: 1em;
  background-color: white;
  max-height: 400px;
  overflow-y: auto;
}

.irc-widget-footer {
  padding: 1em;
  background-color: var(--relayos-light-gray);
  border-top: 1px solid var(--relayos-light-gray);
}

.irc-message {
  margin-bottom: 0.5em;
  padding: 0.5em;
  border-radius: 4px;
}

.irc-message:hover {
  background-color: var(--relayos-light-gray);
}

.irc-message-sender {
  font-weight: 500;
  color: var(--relayos-primary);
}

.irc-message-time {
  color: var(--relayos-medium-gray);
  font-size: 0.8em;
}

.irc-message-content {
  margin-top: 0.25em;
}

.irc-input {
  display: flex;
  gap: 0.5em;
}

.irc-input input {
  flex: 1;
}

.irc-input button {
  flex-shrink: 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  h1 {
    font-size: 2rem;
  }
  
  h2 {
    font-size: 1.75rem;
  }
  
  h3 {
    font-size: 1.5rem;
  }
  
  h4 {
    font-size: 1.25rem;
  }
  
  h5 {
    font-size: 1rem;
  }
  
  h6 {
    font-size: 0.875rem;
  }
}
