/*
Theme Name: LinkCortex
Theme URI: https://linkcortex.in
Author: Selvakumar Duraipandian
Author URI: https://linkcortex.in
Description: Free, open-source custom theme for LinkCortex, the WordPress internal linking plugin. Built for modern SEO leads, content teams, and WordPress publishers.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: linkcortex
Tags: dark-mode, seo, internal-linking, blog, full-width-template, theme-options, translation-ready
*/

:root {
  --surface: #0f131c;
  --surface-dim: #0f131c;
  --surface-bright: #353943;
  --surface-container-lowest: #0a0e17;
  --surface-container-low: #181b25;
  --surface-container: #1c1f29;
  --surface-container-high: #262a34;
  --surface-container-highest: #31353f;
  --on-surface: #dfe2ef;
  --on-surface-variant: #c7c4d7;
  --outline: #908fa0;
  --outline-variant: #464554;
  --primary: #c0c1ff;
  --primary-container: #8083ff;
  --on-primary: #1000a9;
  --on-primary-container: #0d0096;
  --secondary: #4cd7f6;
  --secondary-container: #03b5d3;
  --on-secondary: #003640;
  --tertiary: #4edea3;
  --tertiary-container: #00885d;
  --on-tertiary: #003824;
  --error: #ffb4ab;
  --error-container: #93000a;
  --background: #0f131c;
}

html {
  scroll-behavior: smooth;
  color-scheme: dark;
}

body {
  background-color: var(--background);
  color: var(--on-surface);
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--surface-container-lowest);
}

::-webkit-scrollbar-thumb {
  background: var(--surface-container-highest);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--outline-variant);
}

/* Typography Helpers */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--on-surface);
}

code,
kbd,
samp,
pre {
  font-family: 'JetBrains Mono', monospace;
}

/* WordPress Standard Block Alignments */
.alignwide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  max-width: 100vw;
  width: 100%;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Gutenberg Content Styling in Dark Mode */
.entry-content {
  color: var(--on-surface-variant);
  line-height: 1.75;
  font-size: 1.0625rem;
}

.entry-content h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: #fff;
  letter-spacing: -0.02em;
}

.entry-content h3 {
  font-size: 1.35rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: var(--on-surface);
  letter-spacing: -0.015em;
}

.entry-content h4 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  color: var(--on-surface);
}

.entry-content p {
  margin-bottom: 1.5rem;
}

.entry-content a {
  color: var(--secondary);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s ease;
}

.entry-content a:hover {
  color: #acedff;
}

.entry-content ul,
.entry-content ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.entry-content li {
  margin-bottom: 0.5rem;
}

.entry-content blockquote {
  border-left: 3px solid var(--secondary);
  background: rgba(76, 215, 246, 0.05);
  padding: 1rem 1.5rem;
  margin: 1.75rem 0;
  border-radius: 0 0.75rem 0.75rem 0;
  font-style: italic;
  color: var(--on-surface);
}

.entry-content pre,
.entry-content code {
  background: var(--surface-container-lowest);
  border: 1px solid var(--outline-variant);
  border-radius: 0.5rem;
  font-size: 0.875rem;
}

.entry-content pre {
  padding: 1.25rem;
  overflow-x: auto;
  margin: 1.75rem 0;
  line-height: 1.5;
}

.entry-content code:not(pre code) {
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  color: var(--secondary);
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  background: var(--surface-container-lowest);
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--outline-variant);
}

.entry-content th,
.entry-content td {
  padding: 0.875rem 1rem;
  text-align: left;
  border-bottom: 1px solid rgba(70, 69, 84, 0.4);
}

.entry-content th {
  background: var(--surface-container-low);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.8125rem;
  text-transform: uppercase;
  color: var(--on-surface);
  letter-spacing: 0.03em;
}

.entry-content tr:hover td {
  background: rgba(28, 31, 41, 0.6);
}

/* Contact Form 7 High-End Dark-Mode Styling */
.wpcf7,
.wpcf7-form {
  width: 100%;
}

.wpcf7-form-control-wrap {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 0.375rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  background-color: #0b1120 !important;
  border: 1px solid #262a34 !important;
  color: #dfe2ef !important;
  border-radius: 0.5rem !important;
  padding: 0.875rem 1rem !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 0.9375rem !important;
  transition: all 0.2s ease !important;
  outline: none !important;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color: #4cd7f6 !important;
  box-shadow: 0 0 0 1px #4cd7f6, 0 0 16px rgba(76, 215, 246, 0.25) !important;
  background-color: #0f172a !important;
}

.wpcf7 textarea,
.wpcf7-form textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

.wpcf7 input[type="submit"],
.wpcf7-form input[type="submit"],
.wpcf7-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.875rem 2rem !important;
  border-radius: 9999px !important;
  background-color: #8083ff !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 0 20px rgba(128, 131, 255, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
  background-color: #c0c1ff !important;
  color: #1000a9 !important;
  box-shadow: 0 0 30px rgba(128, 131, 255, 0.6) !important;
  transform: translateY(-1px) !important;
}

.wpcf7-not-valid-tip {
  color: var(--error);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  margin-top: 0.35rem;
  display: block;
}

.wpcf7-response-output {
  margin: 1.5rem 0 0 0 !important;
  padding: 0.875rem 1.25rem !important;
  border-radius: 0.5rem !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 0.875rem !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: rgba(78, 222, 163, 0.1) !important;
  border: 1px solid var(--tertiary) !important;
  color: var(--tertiary) !important;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  background: rgba(255, 180, 171, 0.1) !important;
  border: 1px solid var(--error) !important;
  color: var(--error) !important;
}

.wpcf7-spinner {
  display: inline-block;
  background-color: var(--secondary);
  opacity: 0.75;
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 100%;
  margin: 0 0 0 10px;
  animation: wpcf7-spin 1s infinite linear;
}

@keyframes wpcf7-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}