/**
 * PPA Assignment Theme: Default
 *
 * Clean, professional appearance with polished details.
 * WordPress blue primary color, white backgrounds, subtle shadows.
 * Designed to match the PressPrimer Quiz default theme.
 *
 * @package PressPrimer_Assignment
 * @since 1.0.0
 */

/* ==========================================================================
   Theme Variables
   ========================================================================== */

.ppa-theme-default,
.ppa-assignment.ppa-theme-default,
.ppa-my-submissions.ppa-theme-default {
	/* Primary Colors */
	--ppa-primary: #0073aa;
	--ppa-primary-hover: #005a87;
	--ppa-primary-dark: #005a87;
	--ppa-primary-light: #e5f3fa;
	--ppa-primary-rgb: 0, 115, 170;

	/* Secondary Colors */
	--ppa-secondary: #50575e;
	--ppa-secondary-hover: #3c4248;

	/* Status Colors */
	--ppa-success: #00a32a;
	--ppa-success-light: #d8f4e0;
	--ppa-success-hover: #008a23;
	--ppa-error: #d63638;
	--ppa-error-light: #fce4e4;
	--ppa-error-hover: #b32d2e;
	--ppa-warning: #dba617;
	--ppa-warning-light: #fef8e7;
	--ppa-info: #72aee6;
	--ppa-info-light: #e7f4fd;

	/* Background Colors */
	--ppa-background: #ffffff;
	--ppa-background-gray: #f6f7f7;
	--ppa-background-hover: #f0f0f1;
	--ppa-background-active: #e8f4fa;

	/* Text Colors */
	--ppa-text: #1d2327;
	--ppa-text-secondary: #50575e;
	--ppa-text-light: #787c82;
	--ppa-text-inverse: #ffffff;

	/* Border Colors */
	--ppa-border: #c3c4c7;
	--ppa-border-light: #dcdcde;
	--ppa-border-focus: #0073aa;

	/* Spacing */
	--ppa-space-xs: 0.25rem;
	--ppa-space-sm: 0.5rem;
	--ppa-space-md: 1rem;
	--ppa-space-lg: 1.5rem;
	--ppa-space-xl: 2rem;
	--ppa-space-2xl: 3rem;

	/* Border Radius */
	--ppa-radius-sm: 4px;
	--ppa-radius-md: 6px;
	--ppa-radius-lg: 8px;
	--ppa-radius-xl: 12px;
	--ppa-radius-full: 9999px;

	/* Shadows */
	--ppa-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
	--ppa-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.07), 0 4px 8px rgba(0, 0, 0, 0.05);
	--ppa-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.08), 0 8px 16px rgba(0, 0, 0, 0.06);
	--ppa-shadow-xl: 0 8px 16px rgba(0, 0, 0, 0.1), 0 16px 32px rgba(0, 0, 0, 0.08);
	--ppa-shadow-focus: 0 0 0 3px rgba(0, 115, 170, 0.25);

	/* Typography */
	--ppa-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--ppa-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	--ppa-font-size-xs: 0.75rem;
	--ppa-font-size-sm: 0.875rem;
	--ppa-font-size-base: 1rem;
	--ppa-font-size-lg: 1.125rem;
	--ppa-font-size-xl: 1.25rem;
	--ppa-font-size-2xl: 1.5rem;
	--ppa-font-size-3xl: 2rem;
	--ppa-line-height: 1.5;
	--ppa-line-height-tight: 1.3;

	/* Layout */
	--ppa-max-width: 800px;

	/* Transitions */
	--ppa-transition-fast: 0.1s ease;
	--ppa-transition: 0.2s ease;
	--ppa-transition-slow: 0.3s ease;

	/* Apply base font */
	font-family: var(--ppa-font-sans);
}

/* ==========================================================================
   Assignment Container
   ========================================================================== */

.ppa-theme-default.ppa-assignment {
	background: transparent;
}

.ppa-theme-default .ppa-assignment-content {
	background: var(--ppa-background);
	border: 1px solid var(--ppa-border-light);
	border-radius: var(--ppa-radius-xl);
	box-shadow: var(--ppa-shadow-lg);
	padding: var(--ppa-space-2xl);
}

.ppa-theme-default .ppa-assignment-header {
	margin-bottom: var(--ppa-space-xl);
	padding-bottom: var(--ppa-space-lg);
	border-bottom: 1px solid var(--ppa-border-light);
}

.ppa-theme-default .ppa-assignment-title {
	font-size: 2rem;
	font-weight: 700;
	color: var(--ppa-text);
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.ppa-theme-default .ppa-assignment-description-text {
	font-size: 1.125rem;
	color: var(--ppa-text-secondary);
}

/* ==========================================================================
   Assignment Meta
   ========================================================================== */

.ppa-theme-default .ppa-assignment-meta {
	background: var(--ppa-background-gray);
	border: 1px solid var(--ppa-border-light);
	border-radius: var(--ppa-radius-lg);
}

.ppa-theme-default .ppa-meta-item {
	background: var(--ppa-background);
	border: 1px solid var(--ppa-border-light);
	border-radius: var(--ppa-radius-md);
	transition: var(--ppa-transition);
}

.ppa-theme-default .ppa-meta-item:hover {
	border-color: var(--ppa-primary);
	box-shadow: var(--ppa-shadow-sm);
}

.ppa-theme-default .ppa-meta-label {
	color: var(--ppa-text-light);
}

.ppa-theme-default .ppa-meta-value {
	color: var(--ppa-text);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.ppa-theme-default .ppa-button {
	font-family: var(--ppa-font-sans);
	border-radius: var(--ppa-radius-md);
	transition: var(--ppa-transition);
	min-height: 44px;
}

.ppa-theme-default .ppa-button:focus {
	box-shadow: var(--ppa-shadow-focus);
}

.ppa-theme-default .ppa-button-primary {
	background: var(--ppa-primary);
	color: #ffffff;
}

.ppa-theme-default .ppa-button-primary:hover:not(:disabled) {
	background: var(--ppa-primary-hover);
	transform: translateY(-1px);
	box-shadow: var(--ppa-shadow-md);
}

.ppa-theme-default .ppa-button-secondary {
	background: var(--ppa-background);
	color: var(--ppa-text);
	border: 2px solid var(--ppa-border);
}

.ppa-theme-default .ppa-button-secondary:hover:not(:disabled) {
	border-color: var(--ppa-primary);
	color: var(--ppa-primary);
	background: var(--ppa-primary-light);
}

/* Submit button */
.ppa-theme-default .ppa-submit-button {
	box-shadow: var(--ppa-shadow-md);
}

.ppa-theme-default .ppa-submit-button:hover:not(:disabled) {
	box-shadow: var(--ppa-shadow-lg);
}

/* ==========================================================================
   Upload Zone
   ========================================================================== */

.ppa-theme-default .ppa-upload-zone {
	border-color: var(--ppa-border-light);
	background: var(--ppa-background-gray);
}

.ppa-theme-default .ppa-upload-zone:hover,
.ppa-theme-default .ppa-upload-zone:focus-within {
	border-color: var(--ppa-primary);
	background: var(--ppa-primary-light);
}

.ppa-theme-default .ppa-upload-zone.ppa-upload-active {
	border-color: var(--ppa-primary);
	background: var(--ppa-primary-light);
	box-shadow: var(--ppa-shadow-focus);
}

/* ==========================================================================
   File List
   ========================================================================== */

.ppa-theme-default .ppa-file-item {
	border-color: var(--ppa-border-light);
	background: var(--ppa-background);
}

.ppa-theme-default .ppa-file-item:hover {
	border-color: var(--ppa-primary);
	box-shadow: var(--ppa-shadow-sm);
}

.ppa-theme-default .ppa-file-icon {
	background: var(--ppa-primary-light);
	color: var(--ppa-primary);
}

.ppa-theme-default .ppa-file-progress-bar {
	background: var(--ppa-primary);
}

/* ==========================================================================
   Notes Textarea
   ========================================================================== */

.ppa-theme-default .ppa-student-notes textarea {
	border-color: var(--ppa-border);
	font-family: var(--ppa-font-sans);
}

.ppa-theme-default .ppa-student-notes textarea:focus {
	border-color: var(--ppa-primary);
	box-shadow: var(--ppa-shadow-focus);
}

/* ==========================================================================
   Status Badges
   ========================================================================== */

.ppa-theme-default .ppa-status-draft {
	background: var(--ppa-background-gray);
	color: var(--ppa-text-secondary);
}

.ppa-theme-default .ppa-status-submitted {
	background: var(--ppa-info-light);
	color: #1e40af;
}

.ppa-theme-default .ppa-status-grading {
	background: var(--ppa-warning-light);
	color: #92400e;
}

.ppa-theme-default .ppa-status-graded {
	background: var(--ppa-success-light);
	color: #065f46;
}

.ppa-theme-default .ppa-status-returned {
	background: var(--ppa-success-light);
	color: #065f46;
}

/* ==========================================================================
   Grade Display
   ========================================================================== */

.ppa-theme-default .ppa-grade-display {
	background: var(--ppa-background);
	border: 1px solid var(--ppa-border-light);
	box-shadow: var(--ppa-shadow-lg);
}

.ppa-theme-default .ppa-grade-passed {
	border-color: var(--ppa-success);
	border-width: 2px;
}

.ppa-theme-default .ppa-grade-failed {
	border-color: var(--ppa-error);
	border-width: 2px;
}

.ppa-theme-default .ppa-pass-badge.ppa-passed {
	background: var(--ppa-success);
}

.ppa-theme-default .ppa-pass-badge.ppa-failed {
	background: var(--ppa-error);
}

/* ==========================================================================
   Notices
   ========================================================================== */

.ppa-theme-default .ppa-notice {
	border-radius: var(--ppa-radius-md);
}

.ppa-theme-default .ppa-notice-info {
	background: var(--ppa-info-light);
	border-color: var(--ppa-info);
	color: #1e40af;
}

.ppa-theme-default .ppa-notice-warning {
	background: var(--ppa-warning-light);
	border-color: var(--ppa-warning);
	color: #92400e;
}

.ppa-theme-default .ppa-notice-error {
	background: var(--ppa-error-light);
	border-color: var(--ppa-error);
	color: #991b1b;
}

.ppa-theme-default .ppa-notice-success {
	background: var(--ppa-success-light);
	border-color: var(--ppa-success);
	color: #065f46;
}

/* ==========================================================================
   Form Elements
   ========================================================================== */

.ppa-theme-default .ppa-student-notes textarea,
.ppa-theme-default .ppa-input {
	border: 2px solid var(--ppa-border);
	border-radius: var(--ppa-radius-md);
	font-family: var(--ppa-font-sans);
	color: var(--ppa-text);
}

.ppa-theme-default .ppa-student-notes textarea:focus,
.ppa-theme-default .ppa-input:focus {
	border-color: var(--ppa-primary);
	box-shadow: var(--ppa-shadow-focus);
}

/* ==========================================================================
   Feedback
   ========================================================================== */

.ppa-theme-default .ppa-feedback {
	background: var(--ppa-background-gray);
	border: 1px solid var(--ppa-border-light);
	border-radius: var(--ppa-radius-lg);
}

.ppa-theme-default .ppa-feedback-heading {
	color: var(--ppa-text);
}

.ppa-theme-default .ppa-feedback-content {
	color: var(--ppa-text-secondary);
}

/* ==========================================================================
   My Submissions
   ========================================================================== */

.ppa-theme-default .ppa-submission-item {
	border-color: var(--ppa-border-light);
	background: var(--ppa-background);
}

.ppa-theme-default .ppa-submission-item:hover {
	border-color: var(--ppa-primary);
	box-shadow: var(--ppa-shadow-sm);
}

.ppa-theme-default .ppa-submission-score {
	font-family: var(--ppa-font-mono);
}

/* ==========================================================================
   Login Link
   ========================================================================== */

.ppa-theme-default .ppa-login-link {
	color: var(--ppa-primary);
}

.ppa-theme-default .ppa-login-link:hover {
	color: var(--ppa-primary-hover);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
	.ppa-theme-default .ppa-assignment-content {
		padding: var(--ppa-space-lg);
		border-radius: var(--ppa-radius-lg);
	}

	.ppa-theme-default .ppa-assignment-title {
		font-size: 1.5rem;
	}
}

@media (max-width: 480px) {
	.ppa-theme-default .ppa-assignment-content {
		padding: var(--ppa-space-md);
		border-radius: var(--ppa-radius-md);
	}

	.ppa-theme-default .ppa-assignment-title {
		font-size: 1.25rem;
	}

	.ppa-theme-default .ppa-button {
		width: 100%;
	}
}

/* ==========================================================================
   Reduced Motion Support
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.ppa-theme-default *,
	.ppa-theme-default *::before,
	.ppa-theme-default *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
