/* ==========================================================================
   SEOvault AI — Admin Dashboard & Settings Styles
   ========================================================================== */

:root {
	--seovaultseo-primary: #134f5c; /* Preloved Teal */
	--seovaultseo-primary-hover: #0B7C72;
	--seovaultseo-primary-light: #14B8A6;
	--seovaultseo-success: #059669;
	--seovaultseo-warning: #D97706;
	--seovaultseo-error: #DC2626;
	--seovaultseo-info: #2563EB;
	--seovaultseo-muted: #6B7280;
	--seovaultseo-bg: #F8F9FA; /* Wonder White */
	--seovaultseo-card-bg: #FFFFFF; /* Cream White */
	--seovaultseo-border: #52a2b4;
	--seovaultseo-radius: 8px;
	--seovaultseo-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* Global Canvas Layout */
.seovaultseo-global-canvas {
	display: grid;
	grid-template-columns: 7fr 3fr;
	gap: 24px;
	margin-top: 20px;
	align-items: start;
}

.seovaultseo-main-content {
	min-width: 0;
}

.seovaultseo-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ==========================================================================
   Sidebar Info Cards
   ========================================================================== */

.seovaultseo-info-card {
	background: var(--seovaultseo-card-bg);
	border-radius: var(--seovaultseo-radius);
	padding: 20px;
	box-shadow: var(--seovaultseo-shadow);
	border: 1px solid var(--seovaultseo-border);
	transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.seovaultseo-info-card:hover {
	border-color: var(--seovaultseo-primary);
	transform: translateY(-1px);
	box-shadow: 0 6px 12px -2px rgba(0, 0, 0, 0.08), 0 3px 6px -1px rgba(0, 0, 0, 0.04);
}

.seovaultseo-card-accent-primary {
	border-top: 4px solid var(--seovaultseo-primary);
}

.seovaultseo-card-accent-info {
	border-top: 4px solid var(--seovaultseo-info);
}

.seovaultseo-card-accent-success {
	border-top: 4px solid var(--seovaultseo-success);
}

.seovaultseo-card-accent-warning {
	border-top: 4px solid var(--seovaultseo-warning);
}

.seovaultseo-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(19, 79, 92, 0.1);
	margin-bottom: 12px;
}

.seovaultseo-card-icon .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
	color: var(--seovaultseo-primary);
}

.seovaultseo-card-title {
	margin: 0 0 8px 0;
	font-size: 14px;
	font-weight: 600;
	color: #111827;
	line-height: 1.3;
}

.seovaultseo-card-desc {
	margin: 0 0 12px 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--seovaultseo-muted);
}

.seovaultseo-card-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-top: 4px;
}

.seovaultseo-card-btn {
	width: 100%;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--seovaultseo-primary) !important;
	color: #fff !important;
	border-color: var(--seovaultseo-primary) !important;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 4px;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.seovaultseo-card-btn:hover,
.seovaultseo-card-btn:focus {
	background: var(--seovaultseo-primary-hover) !important;
	border-color: var(--seovaultseo-primary-hover) !important;
	color: #fff !important;
}

.seovaultseo-card-readmore {
	font-size: 13px;
	font-weight: 500;
	color: var(--seovaultseo-primary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color 0.15s ease;
}

.seovaultseo-card-readmore:hover {
	color: var(--seovaultseo-primary-hover);
	text-decoration: underline;
}

.seovaultseo-card-readmore .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.seovaultseo-card-tryit {
	font-size: 12px;
	color: var(--seovaultseo-muted);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color 0.15s ease;
}

.seovaultseo-card-tryit:hover {
	color: var(--seovaultseo-primary);
	text-decoration: underline;
}

/* CTA Card variant */
.seovaultseo-card-cta {
	border-top: 4px solid var(--seovaultseo-primary);
}

/* Connected Status Card variant */
.seovaultseo-card-connected {
	border-top: 4px solid var(--seovaultseo-success);
}

.seovaultseo-card-connected .seovaultseo-card-icon {
	background: rgba(5, 150, 105, 0.1);
}

.seovaultseo-card-connected .seovaultseo-card-icon .dashicons {
	color: var(--seovaultseo-success);
}

/* ==========================================================================
   Sidebar Card Deck — Solitaire-style stacked cards
   ========================================================================== */

.seovaultseo-card-deck {
	position: relative;
	height: 280px;
	overflow: hidden;
}

/* Deck cards are absolutely positioned and stacked. */
.seovaultseo-card-deck .seovaultseo-info-card {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	transform: translateY(24px) scale(0.94);
	opacity: 0;
	pointer-events: none;
	z-index: 0;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
	            opacity 0.3s ease,
	            border-color 0.15s ease;
}

/* Disable the normal card hover lift inside the deck so stacking stays intact. */
.seovaultseo-card-deck .seovaultseo-info-card:hover {
	transform: translateY(24px) scale(0.94);
	box-shadow: var(--seovaultseo-shadow);
}

/* Front card. */
.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="0"] {
	transform: translateY(0) scale(1);
	opacity: 1;
	pointer-events: auto;
	z-index: 30;
}

.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="0"]:hover {
	transform: translateY(0) scale(1);
}

/* Second card — small peek. */
.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="1"] {
	transform: translateY(8px) scale(0.98);
	opacity: 0.9;
	pointer-events: auto;
	z-index: 29;
}

.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="1"]:hover {
	transform: translateY(8px) scale(0.98);
}

/* Third card — deeper peek. */
.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="2"] {
	transform: translateY(16px) scale(0.96);
	opacity: 0.7;
	pointer-events: auto;
	z-index: 28;
}

.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="2"]:hover {
	transform: translateY(16px) scale(0.96);
}

/* Fourth card — edge only. */
.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="3"] {
	transform: translateY(24px) scale(0.94);
	opacity: 0.4;
	pointer-events: auto;
	z-index: 27;
}

.seovaultseo-card-deck .seovaultseo-info-card[data-card-index="3"]:hover {
	transform: translateY(24px) scale(0.94);
}

/* Dot indicator container at the bottom of the deck. */
.seovaultseo-card-deck-dots {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	padding: 6px 0;
	z-index: 35;
	pointer-events: none;
}

.seovaultseo-card-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.15);
	cursor: pointer;
	pointer-events: auto;
	transition: background 0.2s ease, transform 0.2s ease;
}

.seovaultseo-card-dot.active {
	background: var(--seovaultseo-primary);
	transform: scale(1.33);
}

/* Responsive — collapse grid on narrow screens */
@media (max-width: 1200px) {
	.seovaultseo-global-canvas {
		grid-template-columns: 1fr;
	}

	.seovaultseo-card-deck {
		max-width: 100%;
	}
}

/* Dashboard Header */
.seovaultseo-dashboard-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

.seovaultseo-dashboard-header h1 {
	margin: 0;
}

/* Brand Title — gradient text matching extension style */
.seovaultseo-brand-title {
	font-size: 23px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.seovaultseo-brand-seo {
	color: #1d2327;
}

.seovaultseo-brand-vault {
	background: linear-gradient(135deg, #31B8C6 0%, #2AA3B0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.seovaultseo-brand-sub {
	color: var(--seovaultseo-muted);
	font-weight: 500;
	font-size: 18px;
	margin-left: 4px;
}

.seovaultseo-version-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	font-size: 12px;
	font-weight: 600;
	color: var(--seovaultseo-muted);
	background: var(--seovaultseo-bg);
	border-radius: 12px;
}

/* Dashboard Grid */
.seovaultseo-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

/* Dashboard Unified Panel */
.seovaultseo-dashboard-panel {
	background: var(--seovaultseo-card-bg);
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	box-shadow: var(--seovaultseo-shadow);
	overflow: hidden;
}

/* Status Strip — horizontal row of key stats */
.seovaultseo-status-strip {
	display: flex;
	align-items: center;
	padding: 16px 24px;
	background: #fafafa;
	border-bottom: 1px solid var(--seovaultseo-border);
	gap: 0;
}

.seovaultseo-strip-item {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	min-width: 0;
}

.seovaultseo-strip-item .dashicons {
	color: var(--seovaultseo-primary);
	font-size: 20px;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.seovaultseo-strip-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.seovaultseo-strip-label {
	font-size: 12px;
	color: var(--seovaultseo-muted);
	font-weight: 500;
}

.seovaultseo-strip-value {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 14px;
	font-weight: 600;
}

.seovaultseo-strip-ok {
	color: var(--seovaultseo-success);
}

.seovaultseo-strip-waiting {
	color: var(--seovaultseo-warning);
}

.seovaultseo-strip-link {
	margin-left: auto;
	font-size: 12px;
	text-decoration: none;
	color: var(--seovaultseo-primary);
	white-space: nowrap;
}

.seovaultseo-strip-link:hover {
	text-decoration: underline;
}

.seovaultseo-strip-divider {
	width: 1px;
	height: 32px;
	background: var(--seovaultseo-border);
	margin: 0 20px;
	flex-shrink: 0;
}

/* Dashboard Sections inside panel */
.seovaultseo-dashboard-section {
	padding: 24px;
	border-bottom: 1px solid #f0f0f1;
}

.seovaultseo-dashboard-section:last-child {
	border-bottom: none;
}

.seovaultseo-dashboard-section h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 600;
}

.seovaultseo-dashboard-section h3 .dashicons {
	color: var(--seovaultseo-primary);
	font-size: 18px;
	width: 18px;
	height: 18px;
}

/* Overview Grid — stat cards in a row */
.seovaultseo-overview-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.seovaultseo-overview-stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px;
	background: #fafafa;
	border-radius: 6px;
	border: 1px solid #f0f0f1;
}

.seovaultseo-overview-number {
	font-size: 20px;
	font-weight: 700;
	color: #1d2327;
}

.seovaultseo-overview-label {
	font-size: 12px;
	color: var(--seovaultseo-muted);
}

/* Site Key Row */
.seovaultseo-key-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.seovaultseo-key-reveal {
	margin-left: 8px;
}

.seovaultseo-key-reveal summary {
	cursor: pointer;
	color: var(--seovaultseo-info);
	font-size: 13px;
}

.seovaultseo-key-reveal input {
	width: 100%;
	max-width: 400px;
	margin-top: 6px;
	font-family: monospace;
	font-size: 12px;
}

/* Dashboard Notice (competitor warning) */
.seovaultseo-dashboard-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	margin-bottom: 16px;
	background: #fef8ee;
	border: 1px solid #f0c33c;
	border-radius: var(--seovaultseo-radius);
}

.seovaultseo-dashboard-notice .dashicons {
	color: var(--seovaultseo-warning);
	font-size: 20px;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.seovaultseo-dashboard-notice p {
	margin: 0;
	flex: 1;
	font-size: 13px;
}

/* Legacy Cards (kept for reference, not used in new dashboard) */
.seovaultseo-card {
	background: var(--seovaultseo-card-bg);
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	box-shadow: var(--seovaultseo-shadow);
	overflow: hidden;
}

.seovaultseo-card-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--seovaultseo-border);
	background: #fafafa;
}

.seovaultseo-card-header .dashicons {
	color: var(--seovaultseo-primary);
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.seovaultseo-card-header h2 {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
}

.seovaultseo-card-body {
	padding: 18px;
}

.seovaultseo-card-body p {
	margin: 8px 0;
}

.seovaultseo-card-body .button {
	margin-top: 10px;
}

/* Warning Card */
.seovaultseo-card-warning .seovaultseo-card-header {
	background: #fef8ee;
	border-bottom-color: #f0c33c;
}

.seovaultseo-card-warning .seovaultseo-card-header .dashicons {
	color: var(--seovaultseo-warning);
}

/* Status Indicators */
.seovaultseo-status-indicator {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.seovaultseo-status-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
}

.seovaultseo-status-connected .seovaultseo-status-dot {
	background: var(--seovaultseo-success);
	box-shadow: 0 0 0 3px rgba(0, 163, 42, 0.15);
}

.seovaultseo-status-waiting .seovaultseo-status-dot {
	background: var(--seovaultseo-warning);
	box-shadow: 0 0 0 3px rgba(181, 137, 26, 0.15);
	animation: seovaultseo-pulse 2s ease-in-out infinite;
}

@keyframes seovaultseo-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.5; }
}

.seovaultseo-status-label {
	font-weight: 600;
	font-size: 14px;
}

.seovaultseo-status-connected .seovaultseo-status-label {
	color: var(--seovaultseo-success);
}

.seovaultseo-status-waiting .seovaultseo-status-label {
	color: var(--seovaultseo-warning);
}

.seovaultseo-status-detail {
	color: var(--seovaultseo-muted);
	font-size: 13px;
	margin: 4px 0 8px;
}

/* Key Display */
.seovaultseo-key-display {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0;
}

.seovaultseo-site-key {
	font-size: 13px;
	padding: 6px 12px;
	background: var(--seovaultseo-bg);
	border-radius: 4px;
	font-family: monospace;
	letter-spacing: 1px;
}

.seovaultseo-code-inline {
	font-size: 12px;
	padding: 3px 8px;
	background: var(--seovaultseo-bg);
	border-radius: 3px;
	font-family: monospace;
}

/* Mode Badge */
.seovaultseo-mode-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 16px;
	border-radius: 20px;
	font-weight: 600;
	font-size: 13px;
	text-transform: capitalize;
}

.seovaultseo-mode-auto {
	background: #e6f4ea;
	color: var(--seovaultseo-success);
}

.seovaultseo-mode-manual {
	background: #fef8ee;
	color: var(--seovaultseo-warning);
}

.seovaultseo-mode-disabled {
	background: #fce8e8;
	color: var(--seovaultseo-error);
}

/* Stat Rows */
.seovaultseo-stat-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f1;
}

.seovaultseo-stat-row:last-child {
	border-bottom: none;
}

.seovaultseo-stat-label {
	color: var(--seovaultseo-muted);
	font-size: 13px;
}

.seovaultseo-stat-value {
	font-weight: 600;
	font-size: 14px;
}

/* Badges */
.seovaultseo-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
}

.seovaultseo-badge .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

.seovaultseo-badge-success {
	background: #e6f4ea;
	color: var(--seovaultseo-success);
}

.seovaultseo-badge-warning {
	background: #fef8ee;
	color: var(--seovaultseo-warning);
}

.seovaultseo-badge-error {
	background: #fce8e8;
	color: var(--seovaultseo-error);
}

.seovaultseo-badge-info {
	background: #e8f0fa;
	color: var(--seovaultseo-info);
}

.seovaultseo-badge-muted {
	background: var(--seovaultseo-bg);
	color: var(--seovaultseo-muted);
}

.seovaultseo-badge-inline {
	margin-left: 8px;
	vertical-align: middle;
}

/* Status Dots in Badges */
.seovaultseo-dot-success {
	background: var(--seovaultseo-success);
}

.seovaultseo-dot-warning {
	background: var(--seovaultseo-warning);
}

/* Quick Links */
.seovaultseo-quick-links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

.seovaultseo-quick-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 16px 12px;
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	text-decoration: none;
	color: var(--seovaultseo-muted);
	transition: all 0.2s ease;
}

.seovaultseo-quick-link:hover {
	border-color: var(--seovaultseo-primary);
	color: var(--seovaultseo-primary);
	background: #faf9ff;
	box-shadow: 0 2px 6px rgba(67, 48, 210, 0.08);
}

.seovaultseo-quick-link .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.seovaultseo-quick-link span:last-child {
	font-size: 13px;
	font-weight: 500;
}

/* Settings Page */
.seovaultseo-page-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.seovaultseo-page-header h1 {
	margin: 0;
}

/* Vertical Tab Layout */
.seovaultseo-vtab-wrapper {
	display: flex;
	gap: 0;
	background: var(--seovaultseo-card-bg);
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	box-shadow: var(--seovaultseo-shadow);
	overflow: hidden;
	min-height: 500px;
}

.seovaultseo-vtab-nav {
	flex-shrink: 0;
	width: 200px;
	background: #fafafa;
	border-right: 1px solid #0D9488;
	padding: 12px 0;
}

.seovaultseo-vtab-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	text-decoration: none;
	color: #519893;
	font-size: 13px;
	font-weight: 500;
	border-left: 3px solid transparent;
	transition: all 0.15s ease;
}

.seovaultseo-vtab-link:hover {
	background: #f0f0f1;
	color: #365755;
}

.seovaultseo-vtab-link.seovaultseo-vtab-active {
	background: #fff;
	color: #365755;
	border-left-color: var(--seovaultseo-primary);
	font-weight: 600;
}

.seovaultseo-vtab-link:focus,
.seovaultseo-vtab-link:focus-visible {
	outline: 2px solid var(--seovaultseo-primary) !important;
	outline-offset: -2px;
	box-shadow: none !important;
}

.seovaultseo-vtab-link .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: #39A29E;
}

.seovaultseo-vtab-content {
	flex: 1;
	padding: 28px 32px;
	min-width: 0;
}

.seovaultseo-vtab-panel {
	display: none;
}

.seovaultseo-vtab-panel.is-active {
	display: block;
}

.seovaultseo-vtab-panel h2 {
	margin: 0 0 20px;
	font-size: 16px;
	font-weight: 600;
	padding-bottom: 12px;
	border-bottom: 1px solid #0D9488;
}

.seovaultseo-vtab-panel .form-table {
	margin: 0 0 20px;
}

.seovaultseo-vtab-panel .form-table th {
	padding: 16px 10px 16px 0;
	width: 200px;
}

.seovaultseo-vtab-panel .form-table td {
	padding: 16px 10px;
}

.seovaultseo-vtab-panel .description {
	margin-top: 6px;
	font-size: 12px;
	color: var(--seovaultseo-muted);
	line-height: 1.5;
}

.seovaultseo-vtab-panel .submit {
	padding-top: 12px;
}

/* Legacy section styles (kept for pages not yet migrated) */
.seovaultseo-settings-sections {
	width: 100%;
}

.seovaultseo-settings-section {
	background: var(--seovaultseo-card-bg);
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	box-shadow: var(--seovaultseo-shadow);
	margin-bottom: 20px;
	overflow: hidden;
}

.seovaultseo-settings-section h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 16px 22px;
	font-size: 14px;
	font-weight: 600;
	border-bottom: 1px solid var(--seovaultseo-border);
	background: #fafafa;
}

.seovaultseo-settings-section h2 .dashicons {
	color: var(--seovaultseo-primary);
	font-size: 18px;
	width: 18px;
	height: 18px;
}

.seovaultseo-settings-section .form-table {
	margin: 22px;
}

.seovaultseo-settings-section .form-table th {
	padding: 16px 10px 16px 0;
}

.seovaultseo-settings-section .form-table td {
	padding: 16px 10px;
}

/* Pad direct content that isn't a form-table or h2 (Schema list, Tools, etc.) */
.seovaultseo-settings-section > p,
.seovaultseo-settings-section > div,
.seovaultseo-settings-section > .notice {
	margin-left: 22px;
	margin-right: 22px;
}

.seovaultseo-settings-section > p:first-of-type {
	margin-top: 18px;
}

.seovaultseo-settings-section > .submit {
	margin: 18px 22px;
	padding: 0;
}

.seovaultseo-settings-section .submit {
	padding: 0 22px 22px;
}

/* Import Info */
.seovaultseo-import-info {
	background: #fafafa;
	border: 1px solid var(--seovaultseo-border);
	border-radius: 6px;
	padding: 12px 18px;
	margin: 16px 0;
}

/* Import Log */
.seovaultseo-import-log {
	background: #1e1e1e;
	color: #c5c8c6;
	border-radius: 6px;
	padding: 12px;
	height: 200px;
	overflow-y: auto;
	font-family: 'Courier New', monospace;
	font-size: 12px;
	line-height: 1.6;
	white-space: pre-wrap;
}

/* Danger Button */
.seovaultseo-btn-danger {
	color: var(--seovaultseo-error) !important;
	border-color: var(--seovaultseo-error) !important;
}

.seovaultseo-btn-danger:hover {
	background: var(--seovaultseo-error) !important;
	color: #fff !important;
}

/* Override WordPress default blue button-primary with plugin teal */
.seovaultseo-settings-page .button-primary,
.seovaultseo-dashboard .button-primary {
	background: var(--seovaultseo-primary) !important;
	border-color: var(--seovaultseo-primary) !important;
	color: #fff !important;
}

.seovaultseo-settings-page .button-primary:hover,
.seovaultseo-settings-page .button-primary:focus,
.seovaultseo-dashboard .button-primary:hover,
.seovaultseo-dashboard .button-primary:focus {
	background: #0B7C72 !important;
	border-color: #0B7C72 !important;
	color: #fff !important;
}

/* Override WordPress default blue select focus with plugin teal */
.seovaultseo-settings-page select,
.seovaultseo-dashboard select {
	accent-color: var(--seovaultseo-primary);
	color-scheme: light;
}

.seovaultseo-settings-page select:focus,
.seovaultseo-dashboard select:focus {
	border-color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
	outline: 2px solid var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page select option:checked,
.seovaultseo-settings-page select option:checked:hover,
.seovaultseo-dashboard select option:checked,
.seovaultseo-dashboard select option:checked:hover {
	background-color: var(--seovaultseo-primary) !important;
	color: #fff !important;
}

.seovaultseo-settings-page select option:hover,
.seovaultseo-dashboard select option:hover {
	background-color: rgba(13, 148, 136, 0.15) !important;
	color: var(--seovaultseo-primary) !important;
}

/* Override WordPress default blue button-secondary with plugin teal */
.seovaultseo-settings-page .button-secondary,
.seovaultseo-dashboard .button-secondary {
	border-color: var(--seovaultseo-primary) !important;
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .button-secondary:hover,
.seovaultseo-settings-page .button-secondary:focus,
.seovaultseo-dashboard .button-secondary:hover,
.seovaultseo-dashboard .button-secondary:focus {
	background: #fff !important;
	border-color: #0B7C72 !important;
	color: #0B7C72 !important;
	box-shadow: 0 0 0 1px #0B7C72 !important;
}

/* Override WordPress default blue on plain buttons (e.g. Copy key) */
.seovaultseo-settings-page .button:not(.button-primary):not(.button-secondary),
.seovaultseo-dashboard .button:not(.button-primary):not(.button-secondary) {
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .button:not(.button-primary):not(.button-secondary):hover,
.seovaultseo-settings-page .button:not(.button-primary):not(.button-secondary):focus,
.seovaultseo-dashboard .button:not(.button-primary):not(.button-secondary):hover,
.seovaultseo-dashboard .button:not(.button-primary):not(.button-secondary):focus {
	border-color: var(--seovaultseo-primary) !important;
	color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
}

/* Override WordPress blue link-style buttons */
.seovaultseo-settings-page .button-link,
.seovaultseo-dashboard .button-link,
.seovaultseo-schema-expand {
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .button-link:hover,
.seovaultseo-dashboard .button-link:hover,
.seovaultseo-schema-expand:hover,
.seovaultseo-schema-expand:focus {
	color: #0B7C72 !important;
}

.seovaultseo-schema-expand:focus {
	outline: 2px solid var(--seovaultseo-primary) !important;
	outline-offset: 2px;
}

/* Override WordPress blue info notice left border */
.seovaultseo-settings-page .notice-info,
.seovaultseo-dashboard .notice-info,
.seovaultseo-autopilot-banner.notice-info {
	border-left-color: var(--seovaultseo-primary) !important;
}

/* Radio buttons — use teal accent color instead of browser blue */
.seovaultseo-settings-page input[type="radio"],
.seovaultseo-dashboard input[type="radio"] {
	accent-color: var(--seovaultseo-primary);
}

.seovaultseo-settings-page input[type="radio"]:focus,
.seovaultseo-dashboard input[type="radio"]:focus {
	outline: 2px solid var(--seovaultseo-primary) !important;
	outline-offset: 2px;
}

/* Checkboxes — use teal accent color instead of browser blue */
.seovaultseo-settings-page input[type="checkbox"],
.seovaultseo-dashboard input[type="checkbox"] {
	accent-color: var(--seovaultseo-primary);
}

/* Text inputs focus state */
.seovaultseo-settings-page input[type="text"]:focus,
.seovaultseo-settings-page input[type="url"]:focus,
.seovaultseo-settings-page input[type="number"]:focus,
.seovaultseo-settings-page input[type="email"]:focus,
.seovaultseo-settings-page input[type="password"]:focus,
.seovaultseo-settings-page textarea:focus,
.seovaultseo-dashboard input[type="text"]:focus,
.seovaultseo-dashboard input[type="url"]:focus,
.seovaultseo-dashboard input[type="number"]:focus,
.seovaultseo-dashboard input[type="email"]:focus,
.seovaultseo-dashboard input[type="password"]:focus,
.seovaultseo-dashboard textarea:focus,
#seovaultseo-redirect-manager input[type="text"]:focus,
#seovaultseo-redirect-manager input[type="url"]:focus {
	border-color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
	outline: 2px solid var(--seovaultseo-primary) !important;
}

/* Links inside plugin content areas */
.seovaultseo-settings-page a,
.seovaultseo-dashboard a,
.seovaultseo-schema-templates-list a,
.seovaultseo-vtab-panel a {
	color: var(--seovaultseo-primary);
}

.seovaultseo-settings-page a:hover,
.seovaultseo-dashboard a:hover,
.seovaultseo-schema-templates-list a:hover,
.seovaultseo-vtab-panel a:hover,
.seovaultseo-settings-page a:focus,
.seovaultseo-dashboard a:focus,
.seovaultseo-schema-templates-list a:focus,
.seovaultseo-vtab-panel a:focus {
	color: #0B7C72;
}

.seovaultseo-settings-page a:focus,
.seovaultseo-dashboard a:focus,
.seovaultseo-schema-templates-list a:focus,
.seovaultseo-vtab-panel a:focus {
	outline: 2px solid var(--seovaultseo-primary);
	outline-offset: 2px;
}

/* Schema templates drawer */
.seovaultseo-schema-templates-list {
	margin-top: 12px;
}

.seovaultseo-schema-templates-list table a {
	color: var(--seovaultseo-primary);
}

.seovaultseo-schema-templates-list .row-actions a {
	color: var(--seovaultseo-primary);
}

.seovaultseo-schema-templates-list .row-actions a:hover {
	color: #0B7C72;
}

/* WP_List_Table overrides inside plugin pages — remove blue accents */
.seovaultseo-settings-page .search-box .button,
.seovaultseo-dashboard .search-box .button,
.seovaultseo-settings-page .bulkactions .button,
.seovaultseo-dashboard .bulkactions .button {
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .search-box .button:hover,
.seovaultseo-dashboard .search-box .button:hover,
.seovaultseo-settings-page .search-box .button:focus,
.seovaultseo-dashboard .search-box .button:focus,
.seovaultseo-settings-page .bulkactions .button:hover,
.seovaultseo-dashboard .bulkactions .button:hover,
.seovaultseo-settings-page .bulkactions .button:focus,
.seovaultseo-dashboard .bulkactions .button:focus {
	border-color: var(--seovaultseo-primary) !important;
	color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .search-box input[type="search"]:focus,
.seovaultseo-dashboard .search-box input[type="search"]:focus {
	border-color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .widefat thead th a,
.seovaultseo-dashboard .widefat thead th a,
.seovaultseo-settings-page .widefat th.sortable a,
.seovaultseo-dashboard .widefat th.sortable a,
.seovaultseo-settings-page .widefat th.sorted a,
.seovaultseo-dashboard .widefat th.sorted a {
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .widefat thead th a:hover,
.seovaultseo-dashboard .widefat thead th a:hover,
.seovaultseo-settings-page .widefat th.sortable a:hover,
.seovaultseo-dashboard .widefat th.sortable a:hover,
.seovaultseo-settings-page .widefat th.sorted a:hover,
.seovaultseo-dashboard .widefat th.sorted a:hover {
	color: #0B7C72 !important;
}

.seovaultseo-settings-page .widefat th.sortable a:focus,
.seovaultseo-dashboard .widefat th.sortable a:focus,
.seovaultseo-settings-page .widefat th.sorted a:focus,
.seovaultseo-dashboard .widefat th.sorted a:focus {
	outline: 2px solid var(--seovaultseo-primary);
	outline-offset: 2px;
}

.seovaultseo-settings-page .bulkactions select,
.seovaultseo-dashboard .bulkactions select {
	accent-color: var(--seovaultseo-primary);
}

.seovaultseo-settings-page .bulkactions select:focus,
.seovaultseo-dashboard .bulkactions select:focus {
	border-color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
	outline: 2px solid var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .widefat .row-actions a,
.seovaultseo-dashboard .widefat .row-actions a,
.seovaultseo-settings-page .widefat .row-actions .trash a,
.seovaultseo-dashboard .widefat .row-actions .trash a,
.seovaultseo-settings-page .widefat .row-actions .delete a,
.seovaultseo-dashboard .widefat .row-actions .delete a {
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .widefat .row-actions a:hover,
.seovaultseo-dashboard .widefat .row-actions a:hover {
	color: #0B7C72 !important;
}

.seovaultseo-settings-page .widefat .row-actions .trash a,
.seovaultseo-dashboard .widefat .row-actions .trash a,
.seovaultseo-settings-page .widefat .row-actions .delete a,
.seovaultseo-dashboard .widefat .row-actions .delete a {
	color: var(--seovaultseo-error) !important;
}

.seovaultseo-settings-page .widefat .row-actions .trash a:hover,
.seovaultseo-dashboard .widefat .row-actions .trash a:hover,
.seovaultseo-settings-page .widefat .row-actions .delete a:hover,
.seovaultseo-dashboard .widefat .row-actions .delete a:hover {
	color: #b91c1c !important;
}

.seovaultseo-settings-page .tablenav .tablenav-pages a,
.seovaultseo-dashboard .tablenav .tablenav-pages a,
.seovaultseo-settings-page .tablenav .tablenav-pages .current,
.seovaultseo-dashboard .tablenav .tablenav-pages .current {
	color: var(--seovaultseo-primary) !important;
}

.seovaultseo-settings-page .tablenav .tablenav-pages a:hover,
.seovaultseo-dashboard .tablenav .tablenav-pages a:hover,
.seovaultseo-settings-page .tablenav .tablenav-pages a:focus,
.seovaultseo-dashboard .tablenav .tablenav-pages a:focus {
	color: #0B7C72 !important;
}

/* Onboarding */
.seovaultseo-onboarding {
	max-width: 700px;
	margin: 40px auto;
}

.seovaultseo-onboarding-container {
	background: var(--seovaultseo-card-bg);
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	box-shadow: var(--seovaultseo-shadow);
	overflow: hidden;
}

.seovaultseo-onboarding-header {
	text-align: center;
	padding: 40px 30px 20px;
	border-bottom: 1px solid var(--seovaultseo-border);
	background: linear-gradient(135deg, #faf9ff 0%, #f0f0f1 100%);
}

.seovaultseo-onboarding-header h1 {
	margin: 0 0 8px;
	font-size: 24px;
}

.seovaultseo-onboarding-subtitle {
	color: var(--seovaultseo-muted);
	font-size: 14px;
	margin: 0;
}

.seovaultseo-onboarding-steps {
	padding: 20px 30px;
}

.seovaultseo-onboarding-step {
	display: flex;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid #f0f0f1;
}

.seovaultseo-onboarding-step:last-child {
	border-bottom: none;
}

.seovaultseo-step-number {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 16px;
	background: var(--seovaultseo-bg);
	color: var(--seovaultseo-muted);
}

.seovaultseo-step-active .seovaultseo-step-number {
	background: var(--seovaultseo-primary);
	color: #fff;
}

.seovaultseo-step-done .seovaultseo-step-number {
	background: var(--seovaultseo-success);
	color: #fff;
}

.seovaultseo-step-done .seovaultseo-step-number .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.seovaultseo-step-content {
	flex: 1;
}

.seovaultseo-step-content h3 {
	margin: 0 0 6px;
	font-size: 15px;
}

.seovaultseo-step-content p {
	margin: 4px 0 8px;
	color: var(--seovaultseo-muted);
	font-size: 13px;
}

.seovaultseo-step-pending .seovaultseo-step-content {
	opacity: 0.6;
}

.seovaultseo-onboarding-actions {
	display: flex;
	justify-content: space-between;
	padding: 20px 30px;
	border-top: 1px solid var(--seovaultseo-border);
	background: #fafafa;
}

/* Responsive */
@media screen and (max-width: 782px) {
	.seovaultseo-dashboard-grid {
		grid-template-columns: 1fr;
	}

	.seovaultseo-quick-links {
		grid-template-columns: 1fr;
	}

	.seovaultseo-page-header {
		flex-direction: column;
		gap: 12px;
		align-items: flex-start;
	}

	.seovaultseo-vtab-wrapper {
		flex-direction: column;
		min-height: auto;
	}

	.seovaultseo-vtab-nav {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid var(--seovaultseo-border);
		display: flex;
		flex-wrap: wrap;
		padding: 0;
	}

	.seovaultseo-vtab-link {
		border-left: none;
		border-bottom: 3px solid transparent;
		padding: 10px 14px;
	}

	.seovaultseo-vtab-link.seovaultseo-vtab-active {
		border-left: none;
		border-bottom-color: var(--seovaultseo-primary);
	}

	.seovaultseo-vtab-content {
		padding: 20px;
	}

	.seovaultseo-vtab-panel .form-table th {
		width: auto;
	}

	/* Dashboard responsive */
	.seovaultseo-status-strip {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		padding: 16px;
	}

	.seovaultseo-strip-divider {
		width: 100%;
		height: 1px;
		margin: 0;
	}

	.seovaultseo-strip-item {
		width: 100%;
	}

	.seovaultseo-overview-grid {
		grid-template-columns: 1fr;
	}

	.seovaultseo-dashboard-section {
		padding: 16px;
	}
}

/* Migration UI */
.seovaultseo-migration-provider {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 16px;
}

/* Danger zone — Tools > Data & Uninstall */
.seovaultseo-danger-zone {
	margin-top: 28px;
	padding: 20px 22px 8px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-left: 4px solid var(--seovaultseo-error);
	border-radius: var(--seovaultseo-radius);
	box-shadow: 0 1px 2px rgba(220, 38, 38, 0.06);
}

.seovaultseo-danger-zone h2 {
	margin: 0 0 12px;
	padding: 0 0 12px;
	border-bottom: 1px solid #fecaca;
	color: #991b1b;
}

.seovaultseo-danger-zone h2 .dashicons {
	color: var(--seovaultseo-error);
}

.seovaultseo-danger-zone > p {
	margin: 0 0 8px;
	color: #7f1d1d;
}

.seovaultseo-danger-zone .form-table th {
	color: #7f1d1d;
}

.seovaultseo-danger-zone .description {
	color: #9f1239;
}

.seovaultseo-migration-provider-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.seovaultseo-migration-provider-header h3 {
	margin: 0;
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.seovaultseo-migration-provider-stats {
	display: flex;
	gap: 20px;
	margin-bottom: 16px;
	color: #666;
	font-size: 13px;
}

.seovaultseo-migration-provider-stats span {
	display: flex;
	align-items: center;
	gap: 4px;
}

.seovaultseo-migration-progress {
	margin-top: 16px;
}

.seovaultseo-progress-bar {
	width: 100%;
	height: 24px;
	background: #f0f0f0;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 8px;
}

.seovaultseo-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, #0D9488, #00a32a);
	border-radius: 12px;
	transition: width 0.3s ease;
}

.seovaultseo-progress-text {
	font-size: 13px;
	color: #666;
	display: block;
	margin-bottom: 8px;
}

.seovaultseo-migration-log {
	max-height: 200px;
	overflow-y: auto;
	background: #1e1e1e;
	color: #d4d4d4;
	padding: 12px 16px;
	border-radius: 6px;
	font-family: 'Courier New', monospace;
	font-size: 12px;
	line-height: 1.6;
}

.seovaultseo-migration-log div {
	padding: 2px 0;
}

.seovaultseo-migration-log div:first-child {
	padding-top: 0;
}

/* Schema Settings UI */
.seovaultseo-schema-item {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	margin-bottom: 10px;
	overflow: hidden;
}

.seovaultseo-schema-item.seovaultseo-schema-disabled {
	opacity: 0.55;
}

.seovaultseo-schema-item-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	background: #fafafa;
	border-bottom: 1px solid #e0e0e0;
}

.seovaultseo-schema-toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 14px;
}

.seovaultseo-schema-toggle input[type="checkbox"] {
	margin: 0;
}

.seovaultseo-schema-toggle .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: #0d9489cc;
}

.seovaultseo-schema-toggle code {
	background: #f0f0f1;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 12px;
	color: #666;
}

.seovaultseo-schema-expand .dashicons {
	font-size: 18px;
	color: #666;
}

.seovaultseo-schema-item-body {
	padding: 16px 20px;
}

.seovaultseo-schema-fields th {
	width: 180px;
	padding: 8px 10px 8px 0;
}

.seovaultseo-schema-fields td {
	padding: 8px 0;
}

.seovaultseo-schema-datetime {
	max-width: 100%;
}

.seovaultseo-schema-show-on {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #f0f0f0;
}

.seovaultseo-schema-show-on h4 {
	margin: 0 0 8px 0;
	font-size: 13px;
}

.seovaultseo-schema-rule {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-right: 20px;
	font-size: 13px;
}

.seovaultseo-schema-rule input[type="checkbox"] {
	margin: 0;
}

.seovaultseo-saved-msg {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #00a32a;
	font-weight: 600;
	margin-left: 12px;
}

.seovaultseo-saved-msg .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

/* ==========================================================================
   Homepage Settings — Enhanced Fields
   ========================================================================== */

.seovaultseo-homepage-field {
	margin-bottom: 24px;
}

.seovaultseo-homepage-field-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}

.seovaultseo-homepage-label {
	font-size: 13px;
	font-weight: 600;
	color: #1d2327;
}

.seovaultseo-char-counter {
	font-size: 12px;
	color: var(--seovaultseo-muted);
	font-variant-numeric: tabular-nums;
}

.seovaultseo-char-counter.seovaultseo-char-over {
	color: var(--seovaultseo-error);
	font-weight: 600;
}

.seovaultseo-homepage-input-wrap {
	display: flex;
	gap: 6px;
	align-items: flex-start;
}

.seovaultseo-homepage-input-wrap .seovaultseo-homepage-title-input {
	flex: 1;
}

.seovaultseo-homepage-input-wrap .seovaultseo-homepage-desc-input {
	flex: 1;
	resize: vertical;
}

.seovaultseo-var-picker-btn {
	flex-shrink: 0;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	padding: 0;
	width: 40px;
	min-width: 40px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.seovaultseo-var-picker-btn .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: #50575e;
	margin: 0;
	line-height: 16px;
}

/* ==========================================================================
   Google Search Result Preview
   ========================================================================== */

.seovaultseo-google-preview-wrap {
	margin-top: 28px;
	max-width: 600px;
}

.seovaultseo-google-preview-title {
	font-size: 13px;
	font-weight: 600;
	color: #1d2327;
	margin: 0 0 12px;
}

.seovaultseo-google-preview {
	background: #fff;
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	padding: 16px 20px;
	box-shadow: var(--seovaultseo-shadow);
}

.seovaultseo-google-preview-site {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.seovaultseo-google-preview-favicon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	flex-shrink: 0;
}

.seovaultseo-google-preview-favicon-icon {
	font-size: 28px;
	width: 28px;
	height: 28px;
	color: var(--seovaultseo-muted);
	flex-shrink: 0;
}

.seovaultseo-google-preview-site-info {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.seovaultseo-google-preview-site-name {
	font-size: 14px;
	font-weight: 600;
	color: #1d2327;
	line-height: 1.3;
}

.seovaultseo-google-preview-url {
	font-size: 12px;
	color: var(--seovaultseo-muted);
	line-height: 1.3;
}

.seovaultseo-google-preview-page-title {
	font-size: 20px;
	line-height: 1.3;
	color: #1a0dab;
	margin: 0 0 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	word-break: break-word;
}

.seovaultseo-google-preview-page-desc {
	font-size: 14px;
	line-height: 1.58;
	color: #4d5156;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	word-break: break-word;
}

/* Variable picker dropdown — reused from templates but enhanced */
.seovaultseo-var-picker-dropdown {
	background: #fff;
	border: 1px solid var(--seovaultseo-border);
	border-radius: var(--seovaultseo-radius);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}

.seovaultseo-var-picker-search {
	width: 100%;
	border: none;
	border-bottom: 1px solid var(--seovaultseo-border);
	padding: 10px 14px;
	font-size: 13px;
	outline: none;
	box-sizing: border-box;
}

.seovaultseo-var-picker-list {
	max-height: 240px;
	overflow-y: auto;
}

.seovaultseo-var-picker-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px 14px;
	cursor: pointer;
	border-bottom: 1px solid #f5f5f5;
	transition: background 0.1s ease;
}

.seovaultseo-var-picker-item:hover {
	background: #f0f7f7;
}

.seovaultseo-var-picker-item:last-child {
	border-bottom: none;
}

.seovaultseo-var-picker-item-name {
	font-size: 13px;
	font-weight: 600;
	color: #1d2327;
}

.seovaultseo-var-picker-item-desc {
	font-size: 11px;
	color: var(--seovaultseo-muted);
}

/* ==========================================================================
   Social Tab — Social Settings Styling
   ========================================================================== */

/* Social Tab — Default Social Image */
.seovaultseo-social-image-section {
	max-width: 600px;
}

.seovaultseo-social-image-preview {
	background: #f0f0f1;
	border: 1px dashed #c3c4c7;
	border-radius: 8px;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
	overflow: hidden;
}

.seovaultseo-social-image-preview img {
	max-width: 100%;
	max-height: 280px;
	border-radius: 6px;
	object-fit: contain;
}

.seovaultseo-social-image-preview .dashicons {
	font-size: 48px;
	width: 48px;
	height: 48px;
	color: #a7aaad;
}

.seovaultseo-social-image-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 8px;
}

.seovaultseo-social-image-url-row {
	margin-top: 8px;
}

/* Social Tab — Other Accounts */
.seovaultseo-social-profile-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.seovaultseo-social-profile-row input {
	flex: 1;
}

.seovaultseo-social-profile-row .button {
	flex-shrink: 0;
}

#seovaultseo-add-profile {
	margin-top: 4px;
}

/* Social Tab — Section Headers */
#vtab-social h3 {
	margin-top: 24px;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--seovaultseo-border);
}

#vtab-social h3:first-child {
	margin-top: 0;
}

/* ==========================================================================
   Animated Toggle Switch — inner sweep animation
   Inspired by uiverse.io/Galahhad/happy-warthog-87 (inner animation)
   ========================================================================== */

.seovaultseo-toggle-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.seovaultseo-toggle-label {
	cursor: pointer;
	user-select: none;
}

.seovaultseo-switch {
	font-size: 14px;
	position: relative;
	display: inline-block;
	width: 40px;
	height: 17px;
	flex-shrink: 0;
}

.seovaultseo-switch input {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}

.seovaultseo-slider {
	width: 40px;
	height: 17px;
	background-color: #d1d5db;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	align-items: center;
	border: 2px solid transparent;
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25) inset;
	cursor: pointer;
}

.seovaultseo-slider::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transform: translateX(-17px);
	border-radius: 20px;
	transition: all 0.3s ease;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.25);
}

.seovaultseo-switch input:checked ~ .seovaultseo-slider {
	background-color: #0d9590cd;
	border-color: #0d9590b0;
}

.seovaultseo-switch input:checked ~ .seovaultseo-slider::before {
	transform: translateX(22px);
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.25);
}

.seovaultseo-switch input:active ~ .seovaultseo-slider::before {
	transform: translateX(0);
}

.seovaultseo-switch input:focus-visible ~ .seovaultseo-slider {
	outline: 2px solid #0D9590;
	outline-offset: 2px;
}

/* ==========================================================================
   Save All Settings — Animated Button (adapted from uiverse.io/AqFox/nervous-crab-0)
   ========================================================================== */

.seovaultseo-save-btn {
	position: relative;
	display: inline-block;
	background-color: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	box-sizing: border-box;
}

.seovaultseo-save-btn::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: #134f5c;
	transition: 0.3s ease-out;
	box-sizing: border-box;
	border-radius: 2px;
}

.seovaultseo-save-btn:hover::before {
	width: 0%;
}

.seovaultseo-save-btn span {
	position: relative;
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	top: 0;
	left: 0;
	width: 100%;
	padding: 8px 22px;
	color: #fff;
	border: 1px solid #0D9488;
	border-radius: 2px;
	transition: 0.2s 0.1s;
	box-sizing: border-box;
}

.seovaultseo-save-btn:hover span {
	color: #134f5cd4;
	transition: 0.2s 0.1s;
}

.seovaultseo-save-btn:active,
.seovaultseo-save-btn:focus {
	outline: 0 !important;
	outline-offset: 0;
}

/* ==========================================================================
   Styled Checkboxes (adapted from uiverse.io/lenin55/black-dragon-46)
   ========================================================================== */

.seovaultseo-check {
	position: relative;
	display: inline-block;
}

.seovaultseo-check > input {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	z-index: -1;
	position: absolute;
	left: -10px;
	top: -8px;
	display: block;
	margin: 0;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	background-color: rgba(0, 0, 0, 0.6);
	box-shadow: none;
	outline: none;
	opacity: 0;
	transform: scale(1);
	pointer-events: none;
	transition: opacity 0.3s, transform 0.2s;
}

.seovaultseo-check > span:first-of-type {
	display: inline-block;
	width: 100%;
	cursor: pointer;
	font-size: 13px;
	line-height: 24px;
}

.seovaultseo-check > span:first-of-type::before {
	content: "";
	display: inline-block;
	box-sizing: border-box;
	margin: 3px 8px 3px 1px;
	border: solid 2px;
	border-color: rgba(0, 0, 0, 0.6);
	border-radius: 2px;
	width: 18px;
	height: 18px;
	vertical-align: top;
	transition: border-color 0.2s, background-color 0.2s;
}

.seovaultseo-check > span:first-of-type::after {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 1px;
	width: 10px;
	height: 5px;
	border: solid 2px transparent;
	border-right: none;
	border-top: none;
	transform: translate(3px, 4px) rotate(-45deg);
}

.seovaultseo-check > input:checked,
.seovaultseo-check > input:indeterminate {
	background-color: #0d9489c7;
}

.seovaultseo-check > input:checked + span::before,
.seovaultseo-check > input:indeterminate + span::before {
	border-color: #0d9489a8;
	background-color: #0b8076e7;
}

.seovaultseo-check > input:checked + span::after,
.seovaultseo-check > input:indeterminate + span::after {
	border-color: #fff;
}

.seovaultseo-check > input:indeterminate + span::after {
	border-left: none;
	transform: translate(4px, 3px);
}

.seovaultseo-check:hover > input {
	opacity: 0.04;
}

.seovaultseo-check > input:focus {
	opacity: 0.12;
}

.seovaultseo-check:hover > input:focus {
	opacity: 0.16;
}

.seovaultseo-check > input:active {
	opacity: 1;
	transform: scale(0);
	transition: transform 0s, opacity 0s;
}

.seovaultseo-check > input:active + span::before {
	border-color: #0D9488;
}

.seovaultseo-check > input:checked:active + span::before {
	border-color: transparent;
	background-color: rgba(0, 0, 0, 0.6);
}

.seovaultseo-check > input:disabled {
	opacity: 0;
}

.seovaultseo-check > input:disabled + span {
	color: rgba(0, 0, 0, 0.38);
	cursor: initial;
}

.seovaultseo-check > input:disabled + span::before {
	border-color: currentColor;
}

.seovaultseo-check > input:checked:disabled + span::before,
.seovaultseo-check > input:indeterminate:disabled + span::before {
	border-color: transparent;
	background-color: currentColor;
}

/* Override WP core list table checkboxes — hide native, show our styled overlay */
.widefat .check-column .seovaultseo-check {
	position: relative !important;
	display: inline-block !important;
}

.widefat .check-column .seovaultseo-check > input {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	opacity: 0 !important;
	position: absolute !important;
	left: -10px !important;
	top: -8px !important;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	transform: scale(1) !important;
	pointer-events: none !important;
	transition: opacity 0.3s, transform 0.2s !important;
	z-index: -1 !important;
}

.widefat .check-column .seovaultseo-check > span:first-of-type {
	display: inline-block !important;
	width: 100% !important;
	cursor: pointer !important;
	font-size: 13px !important;
	line-height: 24px !important;
}

.widefat .check-column .seovaultseo-check > span:first-of-type::before {
	content: "" !important;
	display: inline-block !important;
	box-sizing: border-box !important;
	margin: 3px 8px 3px 1px !important;
	border: solid 2px !important;
	border-color: rgba(0, 0, 0, 0.6) !important;
	border-radius: 2px !important;
	width: 18px !important;
	height: 18px !important;
	vertical-align: top !important;
	transition: border-color 0.2s, background-color 0.2s !important;
}

.widefat .check-column .seovaultseo-check > span:first-of-type::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 3px !important;
	left: 1px !important;
	width: 10px !important;
	height: 5px !important;
	border: solid 2px transparent !important;
	border-right: none !important;
	border-top: none !important;
	transform: translate(3px, 4px) rotate(-45deg) !important;
}

.widefat .check-column .seovaultseo-check > input:checked + span::before,
.widefat .check-column .seovaultseo-check > input:indeterminate + span::before {
	border-color: #0D9488 !important;
	background-color: #0D9488 !important;
}

.widefat .check-column .seovaultseo-check > input:checked + span::after,
.widefat .check-column .seovaultseo-check > input:indeterminate + span::after {
	border-color: #fff !important;
}

.widefat .check-column .seovaultseo-check:hover > input {
	opacity: 0.04 !important;
}

.widefat .check-column .seovaultseo-check > input:active {
	opacity: 1 !important;
	transform: scale(0) !important;
	transition: transform 0s, opacity 0s !important;
}

/* ==========================================================================
   Custom Select Dropdown Component — Reusable, modern, teal-themed
   Replaces native <select> with div-based dropdown for full color control
   ========================================================================== */

.seovaultseo-select-wrapper {
	position: relative;
	display: inline-block;
	min-width: 200px;
	font-size: 14px;
}

.seovaultseo-select-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid var(--seovaultseo-border);
	border-radius: 4px;
	cursor: pointer;
	color: #1d2327;
	font-size: 14px;
	line-height: 1.4;
	user-select: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}

.seovaultseo-select-trigger:hover {
	border-color: var(--seovaultseo-primary);
}

.seovaultseo-select-trigger.seovaultseo-select-open,
.seovaultseo-select-trigger:focus {
	border-color: var(--seovaultseo-primary);
	box-shadow: 0 0 0 1px var(--seovaultseo-primary);
	outline: none;
}

.seovaultseo-select-label {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.seovaultseo-select-arrow {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--seovaultseo-muted);
	transition: transform 0.2s ease, color 0.15s ease;
}

.seovaultseo-select-trigger.seovaultseo-select-open .seovaultseo-select-arrow {
	transform: rotate(180deg);
	color: var(--seovaultseo-primary);
}

.seovaultseo-select-arrow svg {
	width: 12px;
	height: 12px;
}

.seovaultseo-select-dropdown {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	min-width: 100%;
	max-height: 240px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--seovaultseo-border);
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	z-index: 999999;
	box-sizing: border-box;
	padding: 4px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}

.seovaultseo-select-dropdown.seovaultseo-select-dropdown-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.seovaultseo-select-option {
	display: flex;
	align-items: center;
	padding: 8px 12px;
	cursor: pointer;
	color: #1d2327;
	font-size: 14px;
	line-height: 1.4;
	user-select: none;
	transition: background-color 0.1s ease, color 0.1s ease;
	border-radius: 3px;
	margin: 0 4px;
}

.seovaultseo-select-option:hover {
	background: rgba(13, 148, 136, 0.08);
	color: var(--seovaultseo-primary);
}

.seovaultseo-select-option.seovaultseo-select-highlighted {
	background: rgba(13, 148, 136, 0.12);
	color: var(--seovaultseo-primary);
}

.seovaultseo-select-option.seovaultseo-select-selected {
	background: var(--seovaultseo-primary);
	color: #fff;
}

.seovaultseo-select-option.seovaultseo-select-selected:hover {
	background: #0B7C72;
	color: #fff;
}

.seovaultseo-select-option .seovaultseo-select-check {
	margin-left: auto;
	opacity: 0;
	transition: opacity 0.15s ease;
}

.seovaultseo-select-option.seovaultseo-select-selected .seovaultseo-select-check {
	opacity: 1;
}

.seovaultseo-select-native {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

/* Width variants — match WordPress form sizes */
.seovaultseo-select-wrapper.seovaultseo-select-regular {
	min-width: 235px;
}

.seovaultseo-select-wrapper.seovaultseo-select-large {
	min-width: 320px;
}

.seovaultseo-select-wrapper.seovaultseo-select-small {
	min-width: 120px;
}

/* Inside form-table td, match native select spacing */
.form-table td .seovaultseo-select-wrapper {
	margin: 1px 0;
}

/* ==========================================================================
   Global plugin admin overrides — covers all tabs and standalone pages
   ========================================================================== */

/* All text inputs focus state */
body.seovaultseo-admin input[type="text"]:focus,
body.seovaultseo-admin input[type="url"]:focus,
body.seovaultseo-admin input[type="number"]:focus,
body.seovaultseo-admin input[type="email"]:focus,
body.seovaultseo-admin input[type="password"]:focus,
body.seovaultseo-admin input[type="search"]:focus,
body.seovaultseo-admin textarea:focus,
body.seovaultseo-admin select:focus,
body.seovaultseo-admin input[type="radio"]:focus,
body.seovaultseo-admin input[type="checkbox"]:focus {
	border-color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
	outline: 2px solid var(--seovaultseo-primary) !important;
	outline-offset: 0;
}

body.seovaultseo-admin input[type="radio"],
body.seovaultseo-admin input[type="checkbox"] {
	accent-color: var(--seovaultseo-primary);
}

/* All buttons inside plugin admin */
body.seovaultseo-admin .button:not(.button-primary),
body.seovaultseo-admin .button-secondary,
body.seovaultseo-admin .button-small,
body.seovaultseo-admin .button.action,
body.seovaultseo-admin .button-link,
body.seovaultseo-admin .submitbutton,
body.seovaultseo-admin input[type="submit"].button,
body.seovaultseo-admin input[type="submit"].button-secondary,
body.seovaultseo-admin input[type="button"].button {
	color: var(--seovaultseo-primary) !important;
}

body.seovaultseo-admin .button:not(.button-primary):not(.button-link):hover,
body.seovaultseo-admin .button:not(.button-primary):not(.button-link):focus,
body.seovaultseo-admin .button-secondary:hover,
body.seovaultseo-admin .button-secondary:focus,
body.seovaultseo-admin .button-small:hover,
body.seovaultseo-admin .button-small:focus,
body.seovaultseo-admin .button.action:hover,
body.seovaultseo-admin .button.action:focus,
body.seovaultseo-admin input[type="submit"].button-secondary:hover,
body.seovaultseo-admin input[type="submit"].button-secondary:focus {
	background: #fff !important;
	border-color: #0B7C72 !important;
	color: #0B7C72 !important;
	box-shadow: 0 0 0 1px #0B7C72 !important;
}

body.seovaultseo-admin .button-link:hover,
body.seovaultseo-admin .button-link:focus {
	color: #0B7C72 !important;
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

body.seovaultseo-admin .button-primary,
body.seovaultseo-admin input[type="submit"].button-primary {
	background: var(--seovaultseo-primary) !important;
	border-color: var(--seovaultseo-primary) !important;
	color: #fff !important;
}

body.seovaultseo-admin .button-primary:hover,
body.seovaultseo-admin .button-primary:focus,
body.seovaultseo-admin input[type="submit"].button-primary:hover,
body.seovaultseo-admin input[type="submit"].button-primary:focus {
	background: #0B7C72 !important;
	border-color: #0B7C72 !important;
	color: #fff !important;
}

/* All links inside plugin admin content */
body.seovaultseo-admin a {
	color: var(--seovaultseo-primary);
}

body.seovaultseo-admin a:hover,
body.seovaultseo-admin a:focus {
	color: #0B7C72;
}

body.seovaultseo-admin a:focus {
	outline: 2px solid var(--seovaultseo-primary);
	outline-offset: 2px;
}

/* Security tab — API Protection action buttons */
.seovaultseo-security-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 12px 0 16px;
}

.seovaultseo-security-actions .seovaultseo-security-action-btn.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 14px;
	min-height: 32px;
	line-height: 1.2;
	box-sizing: border-box;
	white-space: nowrap;
}

.seovaultseo-security-actions .seovaultseo-security-action-btn.button .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
	line-height: 1;
	margin: 0;
	flex-shrink: 0;
}

.seovaultseo-security-actions .seovaultseo-security-action-btn.button:disabled,
.seovaultseo-security-actions .seovaultseo-security-action-btn.button[disabled] {
	opacity: 0.7;
	cursor: not-allowed;
}

.seovaultseo-security-activity {
	scroll-margin-top: 24px;
	border-radius: 4px;
	padding: 4px 8px;
	margin: 0 -8px;
	transition: background-color 0.3s ease;
}

.seovaultseo-security-activity.is-highlighted {
	background-color: rgba(13, 148, 136, 0.12);
}

.seovaultseo-api-activity-summary {
	margin: 0.5em 0 0.75em;
	font-weight: 600;
	color: #1d2327;
}

.seovaultseo-api-activity-disconnected {
	margin: 0.75em 0 1em;
	max-width: 900px;
}

.seovaultseo-api-activity-table .seovaultseo-api-activity-count {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: #646970;
}

/* Notice info left border */
body.seovaultseo-admin .notice-info,
body.seovaultseo-admin .notice-info.inline {
	border-left-color: var(--seovaultseo-primary) !important;
}

/* WP_List_Table elements */
body.seovaultseo-admin .widefat thead th a,
body.seovaultseo-admin .widefat th.sortable a,
body.seovaultseo-admin .widefat th.sorted a,
body.seovaultseo-admin .widefat .row-actions a,
body.seovaultseo-admin .tablenav .tablenav-pages a,
body.seovaultseo-admin .tablenav .tablenav-pages .current {
	color: var(--seovaultseo-primary) !important;
}

body.seovaultseo-admin .widefat thead th a:hover,
body.seovaultseo-admin .widefat th.sortable a:hover,
body.seovaultseo-admin .widefat th.sorted a:hover,
body.seovaultseo-admin .tablenav .tablenav-pages a:hover,
body.seovaultseo-admin .tablenav .tablenav-pages a:focus {
	color: #0B7C72 !important;
}

body.seovaultseo-admin .widefat .row-actions .trash a,
body.seovaultseo-admin .widefat .row-actions .delete a {
	color: var(--seovaultseo-error) !important;
}

body.seovaultseo-admin .widefat .row-actions .trash a:hover,
body.seovaultseo-admin .widefat .row-actions .delete a:hover {
	color: #b91c1c !important;
}

body.seovaultseo-admin .search-box .button,
body.seovaultseo-admin .bulkactions .button,
body.seovaultseo-admin .search-box input[type="search"]:focus,
body.seovaultseo-admin .bulkactions select:focus {
	border-color: var(--seovaultseo-primary) !important;
	color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
}

body.seovaultseo-admin .bulkactions select:focus {
	outline: 2px solid var(--seovaultseo-primary) !important;
}

/* Form-table inputs */
body.seovaultseo-admin .form-table input[type="text"]:focus,
body.seovaultseo-admin .form-table input[type="url"]:focus,
body.seovaultseo-admin .form-table input[type="number"]:focus,
body.seovaultseo-admin .form-table input[type="email"]:focus,
body.seovaultseo-admin .form-table input[type="password"]:focus,
body.seovaultseo-admin .form-table textarea:focus,
body.seovaultseo-admin .form-table select:focus {
	border-color: var(--seovaultseo-primary) !important;
	box-shadow: 0 0 0 1px var(--seovaultseo-primary) !important;
	outline: 2px solid var(--seovaultseo-primary) !important;
}

/* Tab navigation links */
body.seovaultseo-admin .nav-tab-wrapper .nav-tab {
	color: var(--seovaultseo-primary);
}

body.seovaultseo-admin .nav-tab-wrapper .nav-tab:hover,
body.seovaultseo-admin .nav-tab-wrapper .nav-tab.nav-tab-active {
	color: #0B7C72;
	border-bottom-color: var(--seovaultseo-primary);
}

/* Schema settings V2 sections */
.seovaultseo-schema-settings-v2 .seovaultseo-schema-section {
	margin: 0 0 24px;
	padding: 0 0 16px;
	border-bottom: 1px solid #dcdcde;
}

.seovaultseo-schema-settings-v2 .seovaultseo-schema-section:last-child {
	border-bottom: 0;
}

.seovaultseo-schema-automatic-list,
.seovaultseo-schema-additional-list {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.seovaultseo-schema-automatic-row,
.seovaultseo-schema-additional-item {
	margin: 0 0 14px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}

.seovaultseo-schema-additional-item code {
	margin-inline-start: 6px;
	overflow-wrap: anywhere;
}

.seovaultseo-schema-additional-actions {
	margin: 8px 0 0;
}

.seovaultseo-schema-v2-notices {
	margin: 0 0 16px;
}

.seovaultseo-schema-v2-notices .notice {
	margin: 0;
}

.seovaultseo-schema-settings-v2 .seovaultseo-schema-automatic-row,
.seovaultseo-schema-settings-v2 .seovaultseo-schema-additional-item {
	overflow-wrap: anywhere;
}

.seovaultseo-schema-settings-v2 .seovaultseo-schema-additional-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

@media (forced-colors: active) {
	.seovaultseo-schema-settings-v2 .seovaultseo-schema-automatic-row,
	.seovaultseo-schema-settings-v2 .seovaultseo-schema-additional-item {
		border: 1px solid CanvasText;
	}
}

@media (max-width: 782px) {
	.seovaultseo-schema-settings-v2 .seovaultseo-schema-additional-actions .button {
		white-space: normal;
		max-width: 100%;
	}
}

/* Phase 51 — schema template display conditions */
.seovaultseo-schema-template-editor {
	margin: 1em 0 2em;
	max-width: 960px;
}
.seovaultseo-schema-template-conditions,
.seovaultseo-schema-template-preview {
	margin-top: 1.5em;
	padding-top: 0.5em;
	border-top: 1px solid #c3c4c7;
}
.seovaultseo-schema-conditions-table {
	margin: 0.75em 0;
}
.seovaultseo-schema-conditions-table select,
.seovaultseo-schema-conditions-table input {
	max-width: 100%;
}
.seovaultseo-schema-conditions-table .seovaultseo-dc-taxonomy {
	display: block;
	margin-top: 0.35em;
}
.seovaultseo-schema-scope {
	margin: 0.5em 0 0;
	font-weight: 600;
}
.seovaultseo-schema-targeting-alert {
	color: #b32d2e;
	margin: 0.5em 0 0;
}
.seovaultseo-schema-preview-result {
	margin-top: 0.5em;
	min-height: 1.5em;
}
.seovaultseo-schema-condition-row td {
	vertical-align: top;
}
