/**
 * GuestPostKit — Public Stylesheet
 * CSS Namespaced — conflicts safely with all themes including Tailwind.
 */

/* ============================================
   CSS Variables — scoped to plugin root only
   ============================================ */
.gpk-plugin-root {
	--gpk-accent-color: #0073aa !important;
	--gpk-accent-hover: #005a87 !important;
	--gpk-text-on-accent: #ffffff !important;
	--gpk-success: #46b450 !important;
	--gpk-warning: #ffb900 !important;
	--gpk-danger: #dc3232 !important;
	--gpk-info: #00a0d2 !important;
	--gpk-text: #1e1e1e !important;
	--gpk-text-light: #646970 !important;
	--gpk-border: #dcdcde !important;
	--gpk-bg: #f0f0f1 !important;
	--gpk-warning-bar-bg: #fbedba !important;
	--gpk-bg-white: #ffffff !important;
	--gpk-radius: 8px !important;
	--gpk-radius-sm: 4px !important;
	--gpk-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
	--gpk-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
	--gpk-transition: all 0.2s ease !important;
}

/* ============================================
   Anti-conflict overrides — beats Tailwind * selector
   These use !important to win specificity wars
   ============================================ */

/* Box model */
.gpk-plugin-root,
.gpk-plugin-root * {
	box-sizing: border-box !important;
}

/* Typography */
.gpk-plugin-root {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #1e1e1e !important;
}

/* Borders — Tailwind resets border to 0 solid, we need visible borders */
.gpk-plugin-root input,
.gpk-plugin-root textarea,
.gpk-plugin-root select,
.gpk-plugin-root button {
	border-width: 1px !important;
	border-style: solid !important;
	font-family: inherit !important;
	font-size: 14px !important;
	line-height: normal !important;
}

/* Fieldset/legend border fix */
.gpk-plugin-root fieldset {
	border-width: 1px !important;
	border-style: solid !important;
}

/* Dashicons — forced always */
.gpk-plugin-root .dashicons,
.gpk-plugin-root [class^="dashicons-"],
.gpk-plugin-root [class*=" dashicons-"] {
	font-family: dashicons !important;
	speak: never !important;
	margin: 0px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	font-variant: normal !important;
	text-transform: none !important;
	line-height: 1 !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	font-size: 20px !important;
}

/* Heading sizes — Tailwind resets these */
.gpk-plugin-root h1, .gpk-plugin-root h2, .gpk-plugin-root h3,
.gpk-plugin-root h4, .gpk-plugin-root h5, .gpk-plugin-root h6 {
	font-weight: 600 !important;
	line-height: 1.3 !important;
	margin-top: 0 !important;
}
.gpk-plugin-root h2 { font-size: 1.5em !important; }
.gpk-plugin-root h3 { font-size: 1.25em !important; }
.gpk-plugin-root h4 { font-size: 1.1em !important; }

/* Paragraph & list margin — Tailwind sets margin: 0 */
.gpk-plugin-root p { margin: 0 0 1em !important; }
.gpk-plugin-root ul li, .gpk-plugin-root ol li {
	padding-left: 1.5em !important;
	margin: 0 0 1em !important;
}

/* Link color */
.gpk-plugin-root a { color: #0073aa; text-decoration: none; }
.gpk-plugin-root a:hover { color: #005a87; text-decoration: underline; }

/* ============================================
   Base & Wrap
   ============================================ */
.gpk-plugin-root .gpk-wrap {
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 24px 16px !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
	font-size: 15px !important;
	color: var(--gpk-text) !important;
	line-height: 1.6 !important;
}

.gpk-plugin-root .gpk-wrap *,
.gpk-plugin-root .gpk-wrap *::before,
.gpk-plugin-root .gpk-wrap *::after {
	box-sizing: border-box !important;
}

/* ============================================
   Navigation
   ============================================ */
.gpk-plugin-root .gpk-nav {
	background: var(--gpk-bg-white) !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	margin-bottom: 24px !important;
	box-shadow: var(--gpk-shadow) !important;
}

.gpk-plugin-root .gpk-nav-toggle {
	display: none !important;
	width: 100% !important;
	padding: 12px 16px !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	font-size: 15px !important;
	text-align: left !important;
}

.gpk-plugin-root .gpk-nav-menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
}

.gpk-plugin-root .gpk-nav-item a {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 14px 18px !important;
	color: var(--gpk-text-light) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	transition: var(--gpk-transition) !important;
	border-bottom: 3px solid transparent !important;
	text-decoration: none !important;
}

.gpk-plugin-root ul li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gpk-plugin-root .gpk-nav-item a:hover,
.gpk-plugin-root .gpk-nav-active a {
	color: var(--gpk-accent-color) !important;
	border-bottom-color: var(--gpk-accent-color) !important;
}

.gpk-plugin-root .gpk-nav-logout a {
	margin-left: auto !important;
	color: var(--gpk-danger) !important;
}

.gpk-plugin-root .gpk-nav-logout a:hover {
	color: var(--gpk-danger) !important;
	border-bottom-color: var(--gpk-danger) !important;
}

/* ============================================
   Notices
   ============================================ */
.gpk-plugin-root .gpk-notice {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	padding: 14px 18px !important;
	border-radius: var(--gpk-radius) !important;
	margin-bottom: 20px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.gpk-plugin-root .gpk-notice .dashicons {
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.gpk-plugin-root .gpk-notice p {
	margin: 0 !important;
}

.gpk-plugin-root .gpk-notice-error {
	background: #fce4e4 !important;
	border-left: 4px solid var(--gpk-danger) !important;
	color: #8b1a1a !important;
}

.gpk-plugin-root .gpk-notice-success {
	background: #e7f7e7 !important;
	border-left: 4px solid var(--gpk-success) !important;
	color: #1a5e1a !important;
}

/* ============================================
   Page Header
   ============================================ */
.gpk-plugin-root .gpk-page-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-bottom: 24px !important;
}

.gpk-plugin-root .gpk-page-header h2 {
	margin: 0 !important;
	font-size: 24px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.gpk-plugin-root .gpk-page-subtitle {
	color: var(--gpk-text-light) !important;
	margin: 4px 0 0 !important;
	font-size: 14px !important;
	width: 100% !important;
}

/* ============================================
   Dashboard
   ============================================ */
.gpk-plugin-root .gpk-dashboard-header h2 {
	font-size: 26px !important;
	margin: 0 0 4px !important;
}

.gpk-plugin-root .gpk-dashboard-subtitle {
	color: var(--gpk-text-light) !important;
	margin: 0 0 24px !important;
}

.gpk-plugin-root .gpk-stats-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
	gap: 16px !important;
	margin-bottom: 32px !important;
}

.gpk-plugin-root .gpk-stat-card {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	background: var(--gpk-bg-white) !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 20px !important;
	box-shadow: var(--gpk-shadow) !important;
}

.gpk-plugin-root .gpk-stat-icon {
	font-size: 28px !important;
	color: var(--gpk-accent-color) !important;
	width: 48px !important;
	height: 48px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(0, 115, 170, 0.08) !important;
	border-radius: 50% !important;
}

.gpk-plugin-root .gpk-stat-number {
	display: block !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--gpk-text) !important;
	margin: 0px !important;
	text-transform: capitalize !important;
}

.gpk-plugin-root .gpk-stat-label {
	font-size: 13px !important;
	color: var(--gpk-text-light) !important;
}

/* Quick Actions */
.gpk-plugin-root .gpk-quick-actions {
	margin-bottom: 32px !important;
}

.gpk-plugin-root .gpk-quick-actions h3 {
	margin: 0 0 12px !important;
	font-size: 16px !important;
}

.gpk-plugin-root .gpk-action-buttons {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

/* ============================================
   Cards
   ============================================ */
.gpk-plugin-root .gpk-card {
	background: var(--gpk-bg-white) !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 24px !important;
	margin-bottom: 24px !important;
	box-shadow: var(--gpk-shadow) !important;
}

.gpk-plugin-root .gpk-card h3 {
	margin: 0 0 16px !important;
	font-size: 18px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--gpk-border) !important;
}

.gpk-plugin-root .gpk-card-danger {
	border-color: var(--gpk-danger) !important;
	border-left-width: 4px !important;
}

/* ============================================
   Auth Cards (Login, Register, Reset Password)
   ============================================ */
.gpk-plugin-root .gpk-auth-wrap {
	max-width: 480px !important;
}

.gpk-plugin-root .gpk-auth-card-wide {
	max-width: 100% !important;
}

.gpk-plugin-root .gpk-auth-wrap .gpk-auth-card-wide {
	max-width: 100% !important;
}

.gpk-plugin-root .gpk-auth-card {
	background: var(--gpk-bg-white) !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 32px !important;
	box-shadow: var(--gpk-shadow-lg) !important;
}

.gpk-plugin-root .gpk-auth-header {
	text-align: center !important;
	margin-bottom: 28px !important;
}

.gpk-plugin-root .gpk-auth-header .dashicons {
	font-size: 40px !important;
	width: 40px !important;
	height: 40px !important;
	color: var(--gpk-accent-color) !important;
	margin-bottom: 8px !important;
}

.gpk-plugin-root .gpk-auth-header h2 {
	margin: 8px 0 4px !important;
	font-size: 22px !important;
}

.gpk-plugin-root .gpk-auth-subtitle {
	color: var(--gpk-text-light) !important;
	font-size: 14px !important;
	margin: 0 !important;
}

.gpk-plugin-root .gpk-auth-footer {
	text-align: center !important;
	margin-top: 20px !important;
	padding-top: 16px !important;
	border-top: 1px solid var(--gpk-border) !important;
	font-size: 14px !important;
}

.gpk-plugin-root .gpk-auth-footer a {
	color: var(--gpk-accent-color) !important;
	font-weight: 600 !important;
}

/* ============================================
   Forms
   ============================================ */
.gpk-plugin-root .gpk-form {
	margin: 0 !important;
}

.gpk-plugin-root .gpk-field-group {
	margin-bottom: 20px !important;
}

.gpk-plugin-root .gpk-field-group label {
	display: block !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
	font-size: 14px !important;
	color: var(--gpk-text) !important;
}

.gpk-plugin-root .gpk-required {
	color: var(--gpk-danger) !important;
}

.gpk-plugin-root .gpk-field-hint {
	font-size: 12px !important;
	color: var(--gpk-text-light) !important;
	margin: 4px 0 0 !important;
}

/* Validation feedback */
.gpk-plugin-root .gpk-validation-feedback {
	font-size: 12px !important;
	margin-top: 4px !important;
	font-weight: 500 !important;
}

.gpk-plugin-root .gpk-validation-feedback.gpk-valid {
	color: var(--gpk-success) !important;
}

.gpk-plugin-root .gpk-validation-feedback.gpk-invalid {
	color: var(--gpk-danger) !important;
}

.gpk-plugin-root .gpk-input-valid {
	border-color: var(--gpk-success) !important;
}

.gpk-plugin-root .gpk-input-invalid {
	border-color: var(--gpk-danger) !important;
	border: 1px solid var(--gpk-danger) !important;
	box-shadow: 0 0 0 2px rgba(220, 50, 50, 0.12) !important;
}

/* Error state applied to the wrap div — overrides base input !important rules */
.gpk-plugin-root .gpk-input-wrap.gpk-wrap-error input,
.gpk-plugin-root .gpk-wrap.gpk-wrap-error input,
.gpk-plugin-root .gpk-field-group.gpk-field-error input[type="text"],
.gpk-plugin-root .gpk-field-group.gpk-field-error input[type="email"],
.gpk-plugin-root .gpk-field-group.gpk-field-error input[type="password"] {
	border: 1px solid #dc3232 !important;
	box-shadow: 0 0 0 2px rgba(220, 50, 50, 0.15) !important;
}

/* Label turns red on error */
.gpk-plugin-root .gpk-field-group.gpk-field-error > label {
	color: #dc3232 !important;
}

/* Inline field error message */
.gpk-plugin-root .gpk-inline-error {
	color: #dc3232 !important;
	font-size: 13px !important;
	margin: 4px 0 0 !important;
}

/* Editor field error highlight */
.gpk-plugin-root .gpk-field-group.gpk-field-error #wp-gpk_post_content-editor-container {
	border: 2px solid #dc3232 !important;
	border-radius: 3px;
}

.gpk-plugin-root .gpk-realtime-hint {
	font-size: 12px !important;
	margin: 4px 0 0 !important;
	display: block !important;
}

.gpk-plugin-root .gpk-realtime-hint[style*="dc3232"],
.gpk-plugin-root .gpk-realtime-hint[style*="dc3232"] {
	font-weight: 500 !important;
}

.gpk-plugin-root .gpk-field-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 16px !important;
}

.gpk-plugin-root .gpk-field-row-2 {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
	align-items: start !important;
}

.gpk-plugin-root .gpk-input-wrap {
	position: relative !important;
}

.gpk-plugin-root .gpk-input-icon {
	position: absolute !important;
	left: 12px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: var(--gpk-text-light) !important;
	font-size: 18px !important;
	width: 18px !important;
	height: 18px !important;
}

.gpk-plugin-root .gpk-input-wrap input {
	padding-left: 38px !important;
}

.gpk-plugin-root .gpk-toggle-password {
	position: absolute !important;
	right: 8px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	color: var(--gpk-text-light) !important;
	padding: 4px !important;
}

.gpk-plugin-root input[type="text"],
.gpk-plugin-root input[type="email"],
.gpk-plugin-root input[type="password"],
.gpk-plugin-root input[type="url"],
.gpk-plugin-root input[type="number"],
.gpk-plugin-root textarea,
.gpk-plugin-root select,
.gpk-plugin-root .gpk-wrap input[type="text"],
.gpk-plugin-root .gpk-wrap input[type="email"],
.gpk-plugin-root .gpk-wrap input[type="password"],
.gpk-plugin-root .gpk-wrap input[type="url"],
.gpk-plugin-root .gpk-wrap input[type="number"],
.gpk-plugin-root .gpk-wrap textarea,
.gpk-plugin-root .gpk-wrap select {
	width: 100% !important;
	padding: 10px 36px !important;
	border: 1px solid var(--gpk-border, #dcdcde) !important;
	border-radius: var(--gpk-radius-sm, 4px) !important;
	font-size: 14px !important;
	font-family: inherit !important;
	transition: var(--gpk-transition, all 0.2s ease) !important;
	background: var(--gpk-bg-white, #fff) !important;
	color: var(--gpk-text, #1e1e1e) !important;
	outline: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

/* Reset checkbox and radio — must NOT inherit the broad input overrides above */
.gpk-plugin-root input[type="checkbox"],
.gpk-plugin-root input[type="radio"],
.gpk-plugin-root .gpk-wrap input[type="checkbox"],
.gpk-plugin-root .gpk-wrap input[type="radio"] {
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: revert !important;
	border-radius: 0 !important;
	background: revert !important;
	-webkit-appearance: checkbox !important;
	-moz-appearance: checkbox !important;
	appearance: checkbox !important;
	outline: revert !important;
	box-shadow: none !important;
	display: inline-block !important;
	vertical-align: middle !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
}

.gpk-plugin-root input:focus,
.gpk-plugin-root textarea:focus,
.gpk-plugin-root select:focus,
.gpk-plugin-root .gpk-wrap input:focus,
.gpk-plugin-root .gpk-wrap textarea:focus,
.gpk-plugin-root .gpk-wrap select:focus {
	border-color: var(--gpk-accent-color, #0073aa) !important;
	box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.15) !important;
	outline: none !important;
}

.gpk-plugin-root .gpk-wrap .small-text {
	width: 80px !important;
}

/* Checkbox & Toggle */
.gpk-plugin-root .gpk-checkbox-label {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-weight: 400 !important;
	font-size: 14px !important;
	cursor: pointer !important;
}

.gpk-plugin-root .gpk-checkbox-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px 16px !important;
}

.gpk-plugin-root .gpk-forgot-link {
	font-size: 13px !important;
	color: var(--gpk-accent-color) !important;
}

/* Password strength */
.gpk-plugin-root .gpk-password-strength {
	height: 4px !important;
	border-radius: 2px !important;
	margin-top: 6px !important;
	background: var(--gpk-border) !important;
	overflow: hidden !important;
}

.gpk-plugin-root .gpk-password-strength .gpk-ps-bar {
	height: 100% !important;
	transition: width 0.3s ease !important;
	border-radius: 2px !important;
}

/* Fieldset */
.gpk-plugin-root .gpk-fieldset {
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
}

.gpk-plugin-root .gpk-fieldset legend {
	font-weight: 600 !important;
	padding: 0 8px !important;
	font-size: 15px !important;
}

/* ============================================
   Buttons
   ============================================ */
.gpk-plugin-root .gpk-btn,
.gpk-plugin-root .gpk-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 20px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	border: none !important;
	border-radius: var(--gpk-radius-sm, 4px) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: var(--gpk-transition, all 0.2s ease) !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}

.gpk-plugin-root .gpk-btn .dashicons {
	font-size: 16px !important;
	width: 16px !important;
	height: 16px !important;
}

/* Fix 3: White dashicons on primary (blue) and danger buttons */
.gpk-plugin-root .gpk-btn-primary .dashicons,
.gpk-plugin-root .gpk-btn-primary .dashicons-before:before,
.gpk-plugin-root .gpk-btn-danger .dashicons,
.gpk-plugin-root .gpk-btn-danger .dashicons-before:before {
	color: #fff !important;
}

.gpk-plugin-root .gpk-btn-primary {
	background: var(--gpk-accent-color) !important;
	color: var(--gpk-text-on-accent) !important;
	text-decoration: none !important;
}

.gpk-plugin-root .gpk-btn-primary:hover {
	background: var(--gpk-accent-hover) !important;
	color: var(--gpk-text-on-accent) !important;
}

.gpk-plugin-root .gpk-btn-secondary {
	background: var(--gpk-bg) !important;
	color: var(--gpk-text) !important;
	border: 1px solid var(--gpk-border) !important;
	text-decoration: none !important;
}

.gpk-plugin-root .gpk-btn-secondary:hover {
	background: var(--gpk-border) !important;
	color: var(--gpk-text) !important;
}

.gpk-plugin-root .gpk-btn-danger {
	background: var(--gpk-danger) !important;
	color: #fff !important;
}

.gpk-plugin-root .gpk-btn-danger:hover {
	background: #b72525 !important;
	color: #fff !important;
}

.gpk-plugin-root .gpk-btn-full {
	width: 100% !important;
	justify-content: center !important;
}

.gpk-plugin-root .gpk-btn-lg {
	padding: 14px 28px !important;
	font-size: 16px !important;
}

.gpk-plugin-root .gpk-btn-sm {
    padding: 6px 12px !important;
    font-size: 16px !important;
    text-decoration: none !important;
}

/* ============================================
   Tables
   ============================================ */
.gpk-plugin-root .gpk-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 14px !important;
}

.gpk-plugin-root .gpk-table th,
.gpk-plugin-root .gpk-table td {
	padding: 12px 14px !important;
	text-align: left !important;
	border-bottom: 1px solid var(--gpk-border) !important;
}

.gpk-plugin-root .gpk-table th {
	font-weight: 600 !important;
	color: var(--gpk-text-light) !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	background: var(--gpk-bg) !important;
}

.gpk-plugin-root .gpk-table a {
	color: var(--gpk-accent-color) !important;
}

/* ============================================
   Post Cards (My Posts list)
   ============================================ */
.gpk-plugin-root .gpk-posts-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.gpk-plugin-root .gpk-post-card {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	background: var(--gpk-bg-white) !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 14px 18px !important;
	transition: var(--gpk-transition) !important;
}

.gpk-plugin-root .gpk-post-card:hover {
	box-shadow: var(--gpk-shadow) !important;
}

.gpk-plugin-root .gpk-post-thumb {
	width: 60px !important;
	height: 60px !important;
	border-radius: var(--gpk-radius-sm) !important;
	overflow: hidden !important;
	flex-shrink: 0 !important;
}

.gpk-plugin-root .gpk-post-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.gpk-plugin-root .gpk-post-info {
	flex: 1 !important;
	min-width: 0 !important;
}

.gpk-plugin-root .gpk-post-title {
	margin: 0 0 4px !important;
	font-size: 15px !important;
}

.gpk-plugin-root .gpk-post-title a {
	color: var(--gpk-text) !important;
	text-decoration: none !important;
}

.gpk-plugin-root .gpk-post-title a:hover {
	color: var(--gpk-accent-color) !important;
}

.gpk-plugin-root .gpk-post-meta {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 12px !important;
	color: var(--gpk-text-light) !important;
}

.gpk-plugin-root .gpk-post-actions {
	display: flex !important;
	gap: 6px !important;
	flex-shrink: 0 !important;
}

/* Status badges */
.gpk-plugin-root .gpk-status {
	display: inline-block !important;
	padding: 2px 10px !important;
	border-radius: 12px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
}

.gpk-plugin-root .gpk-status-publish {
	background: #e7f7e7 !important;
	color: var(--gpk-success) !important;
}

.gpk-plugin-root .gpk-status-pending {
	background: #fff8e1 !important;
	color: #b58900 !important;
}

.gpk-plugin-root .gpk-status-draft {
	background: var(--gpk-bg) !important;
	color: var(--gpk-text-light) !important;
}

.gpk-plugin-root .gpk-status-trash {
	background: #fce4e4 !important;
	color: var(--gpk-danger) !important;
}

/* ============================================
   Filter Bar
   ============================================ */
.gpk-plugin-root .gpk-filter-bar {
	display: flex !important;
	gap: 4px !important;
	margin-bottom: 20px !important;
	border-bottom: 2px solid var(--gpk-border) !important;
	padding-bottom: 0 !important;
}

.gpk-plugin-root .gpk-filter-link {
	padding: 10px 16px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--gpk-text-light) !important;
	text-decoration: none !important;
	border-bottom: 2px solid transparent !important;
	margin-bottom: -2px !important;
	transition: var(--gpk-transition) !important;
}

.gpk-plugin-root .gpk-filter-link:hover,
.gpk-plugin-root .gpk-filter-active {
	color: var(--gpk-accent-color) !important;
	border-bottom-color: var(--gpk-accent-color) !important;
}

/* ============================================
   Pagination
   ============================================ */
.gpk-plugin-root .gpk-pagination {
	display: flex !important;
	justify-content: center !important;
	gap: 4px !important;
	margin-top: 24px !important;
	padding-top: 16px !important;
}

.gpk-plugin-root .gpk-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 36px !important;
	height: 36px !important;
	padding: 0 8px !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius-sm) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	color: var(--gpk-text) !important;
	transition: var(--gpk-transition) !important;
}

.gpk-plugin-root .gpk-pagination .page-numbers.current,
.gpk-plugin-root .gpk-pagination .page-numbers:hover {
	background: var(--gpk-accent-color) !important;
	color: var(--gpk-text-on-accent) !important;
	border-color: var(--gpk-accent-color) !important;
}

/* ============================================
   Empty State
   ============================================ */
.gpk-plugin-root .gpk-empty-state {
	text-align: center !important;
	padding: 48px 24px !important;
	color: var(--gpk-text-light) !important;
}

.gpk-plugin-root .gpk-empty-state .dashicons {
	font-size: 48px !important;
	width: 48px !important;
	height: 48px !important;
	color: var(--gpk-border) !important;
	margin-bottom: 12px !important;
}

.gpk-plugin-root .gpk-empty-state p {
	margin: 0 0 16px !important;
	font-size: 15px !important;
}

.gpk-plugin-root .gpk-empty-state-sm {
	padding: 24px !important;
}

/* ============================================
   Guidelines Box
   ============================================ */
.gpk-plugin-root .gpk-guidelines {
	background: #f8f9fa !important;
	border: 1px solid var(--gpk-border) !important;
	border-left: 4px solid var(--gpk-info) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 20px !important;
	margin-bottom: 24px !important;
}

.gpk-plugin-root .gpk-guidelines h3 {
	margin: 0 0 8px !important;
	font-size: 15px !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.gpk-plugin-root .gpk-guidelines-content {
	font-size: 14px !important;
	line-height: 1.7 !important;
	white-space: pre !important;
}

/* Requirements Bar */
.gpk-plugin-root .gpk-requirements-bar {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	padding: 12px 16px !important;
	background: var(--gpk-warning-bar-bg) !important;
	border-radius: var(--gpk-radius-sm) !important;
	margin-bottom: 24px !important;
	font-size: 13px !important;
	color: var(--gpk-text-light) !important;
}

.gpk-plugin-root .gpk-req-item {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0px !important;
}

.gpk-plugin-root .gpk-req-item .dashicons {
	font-size: 14px !important;
	width: 14px !important;
	height: 14px !important;
}

/* Word count bar */
.gpk-plugin-root .gpk-word-count-bar {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 8px !important;
	font-size: 12px !important;
	color: var(--gpk-text-light) !important;
}

.gpk-plugin-root .gpk-wc-separator {
	color: var(--gpk-border) !important;
}

/* Featured image picker */
.gpk-plugin-root .gpk-featured-image-picker {
	margin-top: 4px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 8px !important;
}

.gpk-plugin-root .gpk-fi-preview {
	position: relative !important;
	display: inline-block !important;
	margin-bottom: 8px !important;
}

.gpk-plugin-root .gpk-fi-preview img {
	max-width: 200px !important;
	max-height: 150px !important;
	border-radius: var(--gpk-radius-sm) !important;
	border: 1px solid var(--gpk-border) !important;
}

.gpk-plugin-root .gpk-fi-remove {
	position: absolute !important;
	top: -8px !important;
	right: -8px !important;
	background: var(--gpk-danger) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 50% !important;
	width: 24px !important;
	height: 24px !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Form actions */
.gpk-plugin-root .gpk-form-actions {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin-top: 24px !important;
	padding-top: 20px !important;
	border-top: 1px solid var(--gpk-border) !important;
}

.gpk-plugin-root .gpk-autosave-status {
	font-size: 12px !important;
	color: var(--gpk-text-light) !important;
	font-style: italic !important;
}

/* ============================================
   Credits Page
   ============================================ */

/* Credits Tabs */
.gpk-plugin-root .gpk-credits-tabs {
	display: flex !important;
	gap: 4px !important;
	margin-bottom: 20px !important;
	border-bottom: 2px solid var(--gpk-border) !important;
	padding-bottom: 0 !important;
}

.gpk-plugin-root .gpk-credits-tab {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 18px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--gpk-text-light) !important;
	text-decoration: none !important;
	border-radius: 6px 6px 0 0 !important;
	border: 1px solid transparent !important;
	border-bottom: 2px solid transparent !important;
	transition: color 0.15s, background 0.15s !important;
	margin-bottom: -2px !important;
	cursor: pointer !important;
	background: transparent !important;
}

.gpk-plugin-root .gpk-credits-tab:hover {
	color: var(--gpk-accent-color) !important;
	background: var(--gpk-bg-alt, #f9fafb) !important;
}

.gpk-plugin-root .gpk-credits-tab.gpk-credits-tab-active {
	color: var(--gpk-accent-color) !important;
	background: #fff !important;
	border-color: var(--gpk-border) !important;
	border-bottom-color: #fff !important;
	font-weight: 600 !important;
}

.gpk-plugin-root .gpk-tab-count {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 20px !important;
	height: 20px !important;
	padding: 0 5px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	background: var(--gpk-accent-color) !important;
	color: var(--gpk-text-on-accent) !important;
	border-radius: 10px !important;
}

.gpk-plugin-root .gpk-credits-balance-card {
	background: linear-gradient(135deg, var(--gpk-accent-color), var(--gpk-accent-hover)) !important;
	color: var(--gpk-text-on-accent) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 28px !important;
	margin-bottom: 24px !important;
	box-shadow: var(--gpk-shadow-lg) !important;
}

.gpk-plugin-root .gpk-balance-label {
	display: block !important;
	font-size: 13px !important;
	opacity: 0.85 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin-bottom: 4px !important;
}

.gpk-plugin-root .gpk-balance-number {
	font-size: 42px !important;
	font-weight: 700 !important;
	display: inline !important;
}

.gpk-plugin-root .gpk-balance-unit {
	font-size: 16px !important;
	opacity: 0.8 !important;
	margin-left: 4px !important;
}

.gpk-plugin-root .gpk-balance-rate {
	margin-top: 12px !important;
	font-size: 13px !important;
	opacity: 0.9 !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.gpk-plugin-root .gpk-credits-quantity-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.gpk-plugin-root .gpk-credits-total {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--gpk-accent-color) !important;
}

.gpk-plugin-root .gpk-payment-methods {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
	gap: 16px !important;
	margin-top: 16px !important;
}

.gpk-plugin-root .gpk-payment-method {
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	padding: 20px !important;
	display: flex !important;
	flex-direction: column !important;
}

.gpk-plugin-root .gpk-payment-method h4 {
	margin: 0 0 12px !important;
	font-size: 15px !important;
}

.gpk-plugin-root .gpk-payment-method .gpk-stripe-btn-wrap {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

.gpk-plugin-root .gpk-payment-method--stripe-only .gpk-stripe-btn-wrap .gpk-btn {
	width: 100% !important;
}

/* Transaction badges */
.gpk-plugin-root .gpk-txn-badge {
	display: inline-block !important;
	padding: 2px 8px !important;
	border-radius: 12px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

.gpk-plugin-root .gpk-txn-credit {
	background: #e7f7e7 !important;
	color: var(--gpk-success) !important;
}

.gpk-plugin-root .gpk-txn-debit {
	background: #fce4e4 !important;
	color: var(--gpk-danger) !important;
}

/* ============================================
   Profile Page
   ============================================ */
.gpk-plugin-root .gpk-profile-header {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	margin-bottom: 24px !important;
	padding: 24px !important;
	background: var(--gpk-bg-white) !important;
	border: 1px solid var(--gpk-border) !important;
	border-radius: var(--gpk-radius) !important;
	box-shadow: var(--gpk-shadow) !important;
}

.gpk-plugin-root .gpk-profile-avatar img {
	border-radius: 50% !important;
	border: 3px solid var(--gpk-accent-color) !important;
}

.gpk-plugin-root .gpk-profile-info h2 {
	margin: 0 0 4px !important;
	font-size: 22px !important;
}

.gpk-plugin-root .gpk-profile-website {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	color: var(--gpk-accent-color) !important;
	font-size: 13px !important;
	text-decoration: none !important;
}

.gpk-plugin-root .gpk-profile-stat {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	font-size: 13px !important;
	color: var(--gpk-text-light) !important;
	margin-top: 6px !important;
}

.gpk-plugin-root .gpk-profile-social {
	display: flex !important;
	gap: 8px !important;
	margin-bottom: 24px !important;
}

.gpk-plugin-root .gpk-social-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	background: var(--gpk-bg) !important;
	border-radius: 50% !important;
	color: var(--gpk-text-light) !important;
	text-decoration: none !important;
	transition: var(--gpk-transition) !important;
}

.gpk-plugin-root .gpk-social-link:hover {
	background: var(--gpk-accent-color) !important;
	color: var(--gpk-text-on-accent) !important;
}

/* Danger text */
.gpk-plugin-root .gpk-danger-text {
	color: var(--gpk-danger) !important;
	font-weight: 500 !important;
	font-size: 14px !important;
}

/* ============================================
   Loading State
   ============================================ */
.gpk-plugin-root .gpk-loading {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: var(--gpk-text-light) !important;
	font-size: 14px !important;
}

.gpk-plugin-root .gpk-loading::before {
	content: "" !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid var(--gpk-border) !important;
	border-top-color: var(--gpk-accent-color) !important;
	border-radius: 50% !important;
	animation: gpk-spin 0.6s linear infinite !important;
}

@keyframes gpk-spin {
	to { transform: rotate(360deg); }
}

.gpk-plugin-root .gpk-spin-icon {
	animation: gpk-spin 0.8s linear infinite !important;
	display: inline-block !important;
}

.gpk-plugin-root .gpk-btn.gpk-btn-loading {
	opacity: 0.8 !important;
	pointer-events: none !important;
	cursor: default !important;
	position: relative !important;
	padding-left: 2.4em !important;
}

.gpk-plugin-root .gpk-btn.gpk-btn-loading::before {
	content: "" !important;
	position: absolute !important;
	left: 0.7em !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 1em !important;
	height: 1em !important;
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
	border-top-color: #ffffff !important;
	border-radius: 50% !important;
	animation: gpk-spin 0.65s linear infinite !important;
	display: block !important;
}

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 768px) {
	.gpk-plugin-root .gpk-wrap {
		padding: 16px 12px !important;
	}

	.gpk-plugin-root .gpk-nav-toggle {
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
	}

	.gpk-plugin-root .gpk-nav-menu {
		display: none !important;
		flex-direction: column !important;
		border-top: 1px solid var(--gpk-border) !important;
	}

	.gpk-plugin-root .gpk-nav-menu.gpk-nav-open {
		display: flex !important;
	}

	.gpk-plugin-root .gpk-nav-item a {
		padding: 12px 16px !important;
		border-bottom: none !important;
		border-left: 3px solid transparent !important;
	}

	.gpk-plugin-root .gpk-nav-item a:hover,
	.gpk-plugin-root .gpk-nav-active a {
		border-bottom: none !important;
		border-left-color: var(--gpk-accent-color) !important;
		background: var(--gpk-bg) !important;
	}

	.gpk-plugin-root .gpk-nav-logout a {
		margin-left: 0 !important;
	}

	.gpk-plugin-root .gpk-field-row-2 {
		grid-template-columns: 1fr !important;
	}

	.gpk-plugin-root ul li {
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.gpk-plugin-root .gpk-stats-grid {
		grid-template-columns: 1fr !important;
	}

	.gpk-plugin-root .gpk-post-card {
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.gpk-plugin-root .gpk-post-actions {
		width: 100% !important;
		justify-content: flex-end !important;
	}

	.gpk-plugin-root .gpk-filter-bar {
		overflow-x: auto !important;
	}

	.gpk-plugin-root .gpk-profile-header {
		flex-direction: column !important;
		text-align: center !important;
	}

	.gpk-plugin-root .gpk-table {
		font-size: 13px !important;
	}

	.gpk-plugin-root .gpk-table th,
	.gpk-plugin-root .gpk-table td {
		padding: 8px 10px !important;
	}

	.gpk-plugin-root .gpk-auth-card {
		padding: 24px 20px !important;
	}

	.gpk-plugin-root .gpk-balance-number {
		font-size: 32px !important;
	}
}

/* =============================================
   Bulk Actions Bar
   ============================================= */

.gpk-plugin-root .gpk-bulk-bar {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 10px 16px !important;
	background: #f0f6fc !important;
	border: 1px solid #c3c4c7 !important;
	border-radius: var(--gpk-radius) !important;
	margin-bottom: 16px !important;
	flex-wrap: wrap !important;
}

.gpk-plugin-root .gpk-bulk-select-all {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	margin-bottom: 0px !important;
}

.gpk-plugin-root .gpk-bulk-count {
	font-size: 13px !important;
	color: #646970 !important;
	margin: 0px !important;
}

.gpk-plugin-root .gpk-bulk-action-select {
	padding: 4px 8px !important;
	border: 1px solid #c3c4c7 !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	background: #fff !important;
	width: 20% !important;
}

.gpk-plugin-root .gpk-post-checkbox {
	display: flex !important;
	align-items: center !important;
	padding: 0 4px 0 0 !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
}

.gpk-plugin-root .gpk-post-checkbox input[type="checkbox"] {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	cursor: pointer !important;
}

/* =============================================
   Post Revisions Badge
   ============================================= */

.gpk-plugin-root .gpk-post-revisions {
	display: inline-flex !important;
	align-items: center !important;
	gap: 3px !important;
	font-size: 12px !important;
	color: #646970 !important;
}

.gpk-plugin-root .gpk-post-revisions .dashicons {
	font-size: 14px !important;
	width: 14px !important;
	height: 14px !important;
}

/* =============================================
   Author Bio Box (fallback styles)
   ============================================= */

.gpk-plugin-root .gpk-author-bio .gpk-bio-avatar img {
	border-radius: 50% !important;
	width: 80px !important;
	height: 80px !important;
	object-fit: cover !important;
}

/* =============================================
   WooCommerce Account Tab
   ============================================= */

.gpk-plugin-root .gpk-woo-account-tab {
	padding: 0 !important;
}

.gpk-plugin-root .gpk-woo-links {
	list-style: none !important;
	padding: 0 !important;
	margin: 16px 0 0 !important;
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.gpk-plugin-root .gpk-woo-links li a {
	display: inline-block !important;
	padding: 8px 16px !important;
	background: var(--gpk-accent-color, #0073aa) !important;
	color: #fff !important;
	border-radius: var(--gpk-radius, 6px) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	transition: opacity 0.2s !important;
}

.gpk-plugin-root .gpk-woo-links li a:hover {
	opacity: 0.85 !important;
}

@media (max-width: 480px) {
	.gpk-plugin-root .gpk-page-header {
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.gpk-plugin-root .gpk-action-buttons {
		flex-direction: column !important;
	}

	.gpk-plugin-root .gpk-action-buttons .gpk-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.gpk-plugin-root .gpk-payment-methods {
		grid-template-columns: 1fr !important;
	}

	.gpk-plugin-root .gpk-bulk-bar {
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.gpk-plugin-root .gpk-author-bio {
		flex-direction: column !important;
		text-align: center !important;
	}

	.gpk-plugin-root .gpk-author-bio .gpk-bio-links {
		justify-content: center !important;
	}
}

/* ============================================
   Dashicons — force correct font on all themes
   ============================================ */
.gpk-plugin-root .gpk-wrap .dashicons,
.gpk-plugin-root .gpk-wrap .dashicons-before:before,
.gpk-plugin-root .gpk-auth-card .dashicons,
.gpk-plugin-root .gpk-verify-card .dashicons {
	font-family: dashicons !important;
	speak: never !important;
	font-style: normal !important;
	font-weight: normal !important;
	font-variant: normal !important;
	text-transform: none !important;
	line-height: 1 !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

.gpk-plugin-root textarea#content,
.gpk-plugin-root textarea#gpk_post_content {
	visibility: visible !important;
}

/* Disabled submit button */
.gpk-plugin-root.gpk-plugin-root .gpk-btn[disabled],
.gpk-plugin-root.gpk-plugin-root .gpk-btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: #666 !important;
}
/* ============================================
   Live Content Limit Alerts
   ============================================ */
.gpk-plugin-root .gpk-editor-alert {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	background: #fff3cd;
	border: 1px solid #ffc107;
	color: #856404;
	margin-bottom: 6px;
}

.gpk-plugin-root .gpk-editor-alert .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.gpk-plugin-root .gpk-editor-limit-error .mce-edit-area,
.gpk-plugin-root .gpk-editor-limit-error #wp-gpk_post_content-editor-container {
	border: 2px solid #dc3232 !important;
	border-radius: 4px;
}

#gpk-alert-words-msg {
	margin: 0px !important;
}

/* ============================================
   Sticky Editor Toolbar (scrolling up)
   ============================================ */

/* Media (Add Media) button row */
.gpk-plugin-root #wp-gpk_post_content-media-buttons {
	position: sticky !important;
	top: 0 !important;
	z-index: 101 !important;
	background: #f6f7f7 !important;
	padding: 6px 8px !important;
	margin: 0 !important;
	border: 1px solid #dcdcde !important;
	border-bottom: none !important;
}

/* TinyMCE toolbar row */
.gpk-plugin-root .mce-top-part {
	position: sticky !important;
	top: 37px !important; /* height of the media button row */
	z-index: 100 !important;
}

/* Quicktags toolbar (HTML/Code mode) */
.gpk-plugin-root .quicktags-toolbar {
	position: sticky !important;
	top: 37px !important;
	z-index: 100 !important;
	background: #f6f7f7 !important;
}

/* Hide quicktags toolbar when Visual tab is active */
.gpk-plugin-root .wp-editor-wrap.tmce-active .quicktags-toolbar {
	display: none !important;
}

/* Show quicktags toolbar when Code tab is active */
.gpk-plugin-root .wp-editor-wrap.html-active .quicktags-toolbar {
	display: flex !important;
}

#commentform .gpk-plugin-root input.ed_button:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=file]),
.entry-content .gpk-plugin-root input.ed_button:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=file]),
.wpcf7 .gpk-plugin-root input.ed_button:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=file]),
#fiverr-gg-signup .gpk-plugin-root input.ed_button:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=file]) {
	padding: 10px !important;
}

.gpk-plugin-root .gpk-word-count-bar #gpk-image-count-bar,
.gpk-plugin-root .gpk-word-count-bar #gpk-link-count-bar {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}

/* ============================================
   Form Actions — Save as Draft button
   ============================================ */
.gpk-plugin-root .gpk-form-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.gpk-plugin-root .gpk-autosave-status {
	font-size: 13px;
	color: var(--gpk-text-light, #6b7280);
	flex: 1;
}

.gpk-plugin-root #gpk-save-draft-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

@keyframes gpk-spin {
	to { transform: rotate(360deg); }
}

/* ── Bank Transfer Notice ──────────────────────────────────────────── */
.gpk-plugin-root .gpk-bank-transfer-notice {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 20px;
	padding: 16px 18px;
	background: #f0f6ff;
	border: 1px solid #c3d9f7;
	border-left: 4px solid var(--gpk-accent-color, #0073aa);
	border-radius: 8px;
}

.gpk-plugin-root .gpk-bank-transfer-notice__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--gpk-accent-color, #0073aa);
	border-radius: 50%;
	color: #fff;
}

.gpk-plugin-root .gpk-bank-transfer-notice__icon .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	line-height: 1;
	margin: auto;
}

.gpk-plugin-root .gpk-bank-transfer-notice__body {
	flex: 1;
	min-width: 0;
}

.gpk-plugin-root .gpk-bank-transfer-notice__title {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #1e3a5f;
	margin-bottom: 4px;
}

.gpk-plugin-root .gpk-bank-transfer-notice__text {
	margin: 0;
	font-size: 13px;
	color: #374151;
	line-height: 1.55;
}

.gpk-plugin-root .gpk-bank-transfer-notice__text a {
	color: var(--gpk-accent-color, #0073aa);
	font-weight: 500;
	text-decoration: none;
}

.gpk-plugin-root .gpk-bank-transfer-notice__text a:hover {
	text-decoration: underline;
}

.gpk-plugin-root .gpk-bank-transfer-notice.gpk-bank-transfer-highlight {
	outline: 3px solid #2271b1;
	box-shadow: 0 0 0 6px rgba(34, 113, 177, 0.18);
	transition: outline 0.3s ease, box-shadow 0.3s ease;
}

/* =============================================
   Category Checklist (wp_terms_checklist)
   ============================================= */

.gpk-plugin-root .gpk-categories-checklist {
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	max-height: none !important;
	overflow-y: visible !important;
	background: transparent !important;
}

.gpk-plugin-root .gpk-categories-checklist ul,
.gpk-plugin-root .gpk-category-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gpk-plugin-root .gpk-categories-checklist ul li,
.gpk-plugin-root .gpk-category-list li {
	padding: 4px 0 !important;
	margin: 0 !important;
	list-style: none !important;
	display: block !important;
}

/* The label wraps both the checkbox and text — checkbox first, then text */
.gpk-plugin-root .gpk-categories-checklist ul li label,
.gpk-plugin-root .gpk-category-list li label {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 14px !important;
	color: var(--gpk-text, #1e1e1e) !important;
	cursor: pointer !important;
	font-weight: normal !important;
	margin: 0 !important;
	line-height: 1.4 !important;
	width: 100% !important;
}

/* The checkbox inside the label */
.gpk-plugin-root .gpk-categories-checklist ul li label input[type="checkbox"],
.gpk-plugin-root .gpk-category-list li label input[type="checkbox"] {
	order: 0 !important;
	width: 15px !important;
	height: 15px !important;
	min-width: 15px !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
	position: static !important;
	float: none !important;
	-webkit-appearance: checkbox !important;
	-moz-appearance: checkbox !important;
	appearance: checkbox !important;
	vertical-align: middle !important;
	display: inline-block !important;
}

/* Nested sub-categories */
.gpk-plugin-root .gpk-categories-checklist ul ul,
.gpk-plugin-root .gpk-category-list ul {
	padding-left: 20px !important;
	margin: 0 !important;
}

/* ============================================
   GPK Custom Modal System
   ============================================ */
.gpk-modal-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(0,0,0,0.55) !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
	opacity: 0;
	transition: opacity 0.2s ease !important;
}
.gpk-modal-overlay.gpk-modal-visible {
	opacity: 1 !important;
}
.gpk-modal-box {
	background: #fff !important;
	border-radius: 12px !important;
	box-shadow: 0 20px 60px rgba(0,0,0,0.22) !important;
	max-width: 460px !important;
	width: 100% !important;
	padding: 0 !important;
	overflow: hidden !important;
	transform: translateY(18px) scale(0.97);
	transition: transform 0.22s ease, opacity 0.22s ease !important;
	opacity: 0;
}
.gpk-modal-overlay.gpk-modal-visible .gpk-modal-box {
	transform: translateY(0) scale(1) !important;
	opacity: 1 !important;
}
.gpk-modal-header {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 22px 24px 16px !important;
	border-bottom: 1px solid #f0f0f0 !important;
}
.gpk-modal-icon {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	font-size: 20px !important;
}
.gpk-modal-icon--error   { background: #fce4e4 !important; color: #c0392b !important; }
.gpk-modal-icon--warning { background: #fff3cd !important; color: #856404 !important; }
.gpk-modal-icon--info    { background: #e8f4fd !important; color: #1a73e8 !important; }
.gpk-modal-icon--success { background: #e7f7e7 !important; color: #27ae60 !important; }
.gpk-modal-title {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}
.gpk-modal-body {
	padding: 16px 24px 20px !important;
	font-size: 14px !important;
	color: #444 !important;
	line-height: 1.6 !important;
}
.gpk-modal-body p { margin: 0 !important; }
.gpk-modal-footer {
	display: flex !important;
	gap: 10px !important;
	padding: 0 24px 22px !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
}
.gpk-modal-footer .gpk-modal-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 9px 18px !important;
	border-radius: 7px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	border: none !important;
	transition: background 0.15s, box-shadow 0.15s !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
}
.gpk-modal-btn-primary {
	background: var(--gpk-accent-color, #0073aa) !important;
	color: #fff !important;
}
.gpk-modal-btn-primary:hover {
	background: var(--gpk-accent-hover, #005f8a) !important;
	box-shadow: 0 2px 8px rgba(0,115,170,0.3) !important;
}
.gpk-modal-btn-secondary {
	background: #f0f0f0 !important;
	color: #333 !important;
}
.gpk-modal-btn-secondary:hover {
	background: #e0e0e0 !important;
}
.gpk-modal-btn-danger {
	background: var(--gpk-danger, #dc3232) !important;
	color: #fff !important;
}
.gpk-modal-btn-danger:hover {
	background: #b52a2a !important;
}
@media (max-width: 480px) {
	.gpk-modal-footer { flex-direction: column !important; }
	.gpk-modal-footer .gpk-modal-btn { width: 100% !important; justify-content: center !important; }
}