/* Modern UI overrides for PR3SET theme (inspired by SentinelOne aesthetics) */
/* Scope to body.theme-modern to avoid affecting CMS/admin */

:root {
  --modern-font-sans: "Inter", "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

body.theme-modern {
  color: #e6e8ea;
  background-color: #0e1116;
  font-family: var(--modern-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Color tokens */
body.theme-modern {
  --m-bg: #0e1116;
  --m-surface: #121723;
  --m-surface-2: #151b28;
  --m-border: #202838;
  --m-text: #e6e8ea;
  --m-text-muted: #777777;
  --m-primary: #6b5cff; /* electric indigo */
  --m-primary-600: #5a49ff;
  --m-primary-700: #4a39f1;
  --m-accent: #00d1b2; /* teal accent */
  --m-danger: #ff5470;
  --m-warning: #ffb020;
  --m-success: #30d158;
  --m-gradient: radial-gradient(1200px 800px at 20% 0%, rgba(107,92,255,0.25) 0%, rgba(107,92,255,0.05) 35%, rgba(0,0,0,0) 60%),
                 radial-gradient(1000px 600px at 90% 10%, rgba(0,209,178,0.18) 0%, rgba(0,0,0,0) 55%);
}

/* Page background subtle gradients */
body.theme-modern {
  background-image: var(--m-gradient);
  background-attachment: fixed;
}

/* Containers */
body.theme-modern .pr3-container.pr3-content,
body.theme-modern .pr3-auto,
body.theme-modern .mauticform_wrapper {
  max-width: 1120px;
}

/* Navbar */
body.theme-modern .pr3-top .pr3-bar {
  background: rgba(18, 23, 35, 0.72);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--m-border);
}

body.theme-modern .pr3-logo {
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--m-text) !important;
}

body.theme-modern .pr3-bar .pr3-button {
  border-radius: 10px;
  color: var(--m-text-muted);
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

body.theme-modern .pr3-bar .pr3-button:hover {
  color: var(--m-text) !important;
  background-color: #1a2233 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* Mobile sidebar */
body.theme-modern #mySidebar.pr3-sidebar {
  background: #0f1420;
  border-right: 1px solid var(--m-border);
}

/* Header/Hero */
body.theme-modern header.bgimg-1 {
  position: relative;
  isolation: isolate;
}

body.theme-modern header.bgimg-1::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,12,18,0.8) 0%, rgba(10,12,18,0.6) 40%, rgba(10,12,18,0.8) 100%);
  z-index: 0;
}

body.theme-modern header.bgimg-1 > * {
  position: relative;
  z-index: 1;
}

/* Typography scale */
body.theme-modern h1 { font-size: 2.5rem; font-weight: 700; letter-spacing: -0.02em; }
body.theme-modern h2 { font-size: 2rem; font-weight: 700; letter-spacing: -0.02em; }
body.theme-modern h3 { font-size: 1.5rem; font-weight: 600; }
body.theme-modern p  { color: var(--m-text-muted); }

/* Buttons */
body.theme-modern .pr3-button,
body.theme-modern .pr3-btn {
  border-radius: 12px;
  border: 1px solid transparent;
}

body.theme-modern .pr3-button.pr3-white,
body.theme-modern .pr3-btn.pr3-white {
  color: #0a0c12 !important;
  background: #fff !important;
}

body.theme-modern .pr3-button.pr3-white:hover,
body.theme-modern .pr3-btn.pr3-white:hover {
  background: #e9ecf1 !important;
}

body.theme-modern .btn-primary,
body.theme-modern .pr3-button.pr3-indigo,
body.theme-modern .pr3-button.pr3-blue,
body.theme-modern .pr3-button.pr3-purple {
  background: linear-gradient(135deg, var(--m-primary), var(--m-primary-700));
  color: #fff !important;
  border: 0;
  box-shadow: 0 8px 24px rgba(107,92,255,0.35);
}

body.theme-modern .btn-primary:hover,
body.theme-modern .pr3-button.pr3-indigo:hover,
body.theme-modern .pr3-button.pr3-blue:hover,
body.theme-modern .pr3-button.pr3-purple:hover {
  background: linear-gradient(135deg, var(--m-primary-600), var(--m-primary-700));
  box-shadow: 0 10px 28px rgba(107,92,255,0.45);
}

/* Cards and panels */
body.theme-modern .pr3-card,
body.theme-modern .pr3-panel,
body.theme-modern .pr3-card-4 {
  background: var(--m-surface);
  border: 1px solid var(--m-border);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  border-radius: 16px;
}

/* Forms */
body.theme-modern input[type="text"],
body.theme-modern input[type="email"],
body.theme-modern input[type="tel"],
body.theme-modern textarea,
body.theme-modern select,
body.theme-modern .pr3-input,
body.theme-modern .mauticform-input,
body.theme-modern .mauticform-selectbox,
body.theme-modern .mauticform-textarea {
  /* background: var(--m-surface-2); */
  color: var(--m-text);
  border: 1px solid var(--m-border);
  border-radius: 12px;
  padding: 12px 14px;
}

body.theme-modern input::placeholder,
body.theme-modern textarea::placeholder { color: #7f8793; }

/* Footer */
body.theme-modern footer.pr3-black {
  background: #0b0e14 !important;
  border-top: 1px solid var(--m-border);
}

body.theme-modern footer .pr3-button.pr3-light-grey {
  background: #1a2233 !important;
  color: var(--m-text) !important;
  border: 1px solid var(--m-border);
  border-radius: 10px;
}

/* Utility spacing refinements */
body.theme-modern .pr3-padding-64 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
body.theme-modern .pr3-padding-48 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

/* Breadcrumbs or muted text */
body.theme-modern .pr3-small { color: var(--m-text-muted); }

/* Links */
body.theme-modern a { color: var(--m-primary); }
body.theme-modern a:hover { color: var(--m-primary-600); }

/* Accessibility focus states */
body.theme-modern a:focus,
body.theme-modern button:focus,
body.theme-modern .pr3-button:focus {
  outline: 2px solid var(--m-accent);
  outline-offset: 2px;
}

/* Responsive tweaks for hero text */
@media (max-width: 768px) {
  body.theme-modern .pr3-xxlarge { font-size: 1.75rem !important; }
  body.theme-modern .pr3-jumbo   { font-size: 2.25rem !important; }
}
