/* lp-seo plugin styles: the Tailwind utilities used in resources/views, which the panel's CSS doesn't scan.
   Required by Filament/Livewire/ReviewProgress (resources/views/filament/livewire/review-progress.blade.php)
   and the HTML built in Filament/Helper/Infolists/KeywordAnalysisInfolists (progressHtml(), settingsHtml(), uncrawledPagesHtml()),
   Filament/Helper/Infolists/KeywordActionInfolists (searchTermsHtml(), otherPagesHtml()), Helpers/UrlDisplayHelper::pageLink()
   Filament/Helper/Actions/Site/SiteFocusAction::summaryStatusHtml() (.lp-seo-drafting-badge)
   and Filament/Helper/Tables/KeywordActionTables::recordClasses() (.lp-seo-row-not-advertised). */

/* Layout */
.flex { display: flex; }
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 40rem) { .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gap-x-6 { column-gap: 1.5rem; }
.gap-y-1 { row-gap: .25rem; }
.space-y-1 > :not(:last-child) { margin-bottom: .25rem; }
.list-disc { list-style-type: disc; }
.ps-5 { padding-inline-start: 1.25rem; }
.items-center { align-items: center; }
.gap-3 { gap: .75rem; }
.shrink-0 { flex-shrink: 0; }
.h-5 { height: 1.25rem; }
.w-5 { width: 1.25rem; }
.px-3 { padding-left: .75rem; padding-right: .75rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }

/* Borders */
.rounded-lg { border-radius: .5rem; }
.border { border-width: 1px; border-style: solid; }
.divide-y > :not(:last-child) { border-bottom-width: 1px; border-bottom-style: solid; }

/* Typography */
.text-sm { font-size: .875rem; line-height: calc(1.25 / .875); }
.font-medium { font-weight: 500; }
.hover\:underline:hover { text-decoration-line: underline; }

/* Animation */
.animate-pulse { animation: lp-seo-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; }
@keyframes lp-seo-pulse {
    50% { opacity: .5; }
}
.animate-spin { animation: lp-seo-spin 1s linear infinite; }
@keyframes lp-seo-spin {
    to { transform: rotate(360deg); }
}

/* Light mode colours */
.border-gray-200, .divide-gray-200 > :not(:last-child) { border-color: oklch(92.8% .006 264.531); }
.text-emerald-500 { color: oklch(69.6% .17 162.48); }
.text-red-500 { color: oklch(63.7% .237 25.331); }
.text-red-600 { color: oklch(57.7% .245 27.325); }
.text-amber-500 { color: oklch(76.9% .188 70.08); }
.text-gray-300 { color: oklch(87.2% .01 258.338); }
.text-gray-400 { color: oklch(70.7% .022 261.325); }
.text-gray-500 { color: oklch(55.1% .027 264.364); }

/* Filament palette colours (the panel defines --warning-*) */
.text-warning-600 { color: var(--warning-600); }

.text-primary-600 { color: var(--primary-600); }

/* Dark mode colours (Filament toggles the .dark class) */
.dark .dark\:border-gray-700, .dark .dark\:divide-gray-700 > :not(:last-child) { border-color: oklch(37.3% .034 259.733); }
.dark .dark\:text-red-400 { color: oklch(70.4% .191 22.216); }
.dark .dark\:text-gray-400 { color: oklch(70.7% .022 261.325); }
.dark .dark\:text-gray-500 { color: oklch(55.1% .027 264.364); }
.dark .dark\:text-gray-600 { color: oklch(44.6% .03 256.802); }
.dark .dark\:text-warning-400 { color: var(--warning-400); }
.dark .dark\:text-primary-400 { color: var(--primary-400); }

/* Site focus: the LLM drafting its summary */
.lp-seo-drafting-badge { display: inline-flex; align-items: center; gap: .25rem; border-radius: .375rem; padding: .125rem .5rem; font-size: .75rem; font-weight: 500; background-color: var(--primary-50); color: var(--primary-700); }
.dark .lp-seo-drafting-badge { background-color: color-mix(in oklab, var(--primary-400) 10%, transparent); color: var(--primary-400); }

/* Ads keywords a person marked not to advertise */
.lp-seo-row-not-advertised { opacity: .5; }
