/**
 * GPR-Press Frontend Styles
 * Design: Flat, Minimal, Simple, Clean
 * No colored icons, minimal shadows
 */

/* ============================================
   CSS Variables - Design System
   ============================================ */
:root {
	/* Color Palette - Minimal & Monochrome */
	--gprp-color-primary: #000;
	--gprp-color-secondary: #666;
	--gprp-color-tertiary: #999;
	--gprp-color-border: #e0e0e0;
	--gprp-color-bg: #fafafa;
	--gprp-color-bg-hover: #f5f5f5;
	--gprp-color-text: #333;
	--gprp-color-text-light: #666;
	--gprp-color-white: #fff;


	/* Typography */
	--gprp-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--gprp-font-mono: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;
	--gprp-font-size-xs: 0.75rem;
	--gprp-font-size-sm: 0.875rem;
	--gprp-font-size-base: 1rem;
	--gprp-font-size-lg: 1.125rem;
	--gprp-font-size-xl: 1.25rem;
	--gprp-font-size-2xl: 1.5rem;
	--gprp-line-height-tight: 1.25;
	--gprp-line-height-normal: 1.5;
	--gprp-line-height-relaxed: 1.75;


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


	/* Border */
	--gprp-border-width: 1px;
	--gprp-border-radius-sm: 2px;
	--gprp-border-radius: 4px;
	--gprp-border-radius-md: 6px;
	--gprp-border-radius-lg: 8px;

	/* Transitions */
	--gprp-transition: all 0.2s ease;
}

/* ============================================
   SNS Metadata Section
   ============================================ */
.gprp-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gprp-space-sm);
	padding: var(--gprp-space-sm);
	margin-bottom: var(--gprp-space-lg);
	background: var(--gprp-color-bg);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	font-family: var(--gprp-font-sans);
	font-size: var(--gprp-font-size-sm);
}

.gprp-meta__item {
	display: inline-flex;
	align-items: center;
}

.gprp-meta__label {
	padding: var(--gprp-space-xs) var(--gprp-space-sm);
	background: var(--gprp-color-primary);
	color: var(--gprp-color-white);
	border-radius: var(--gprp-border-radius-sm);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: var(--gprp-font-size-xs);
}

.gprp-meta__value {
	color: var(--gprp-color-secondary);
	font-family: var(--gprp-font-mono);
}

.gprp-meta__link {
	color: var(--gprp-color-primary);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: var(--gprp-transition);
}

.gprp-meta__link:hover {
	border-bottom-color: var(--gprp-color-primary);
}

/* ============================================
   Embed Shortcode (Styles defined below in Embed Container section)
   ============================================ */

/* ============================================
   Archive Grid
   ============================================ */
.gprp-archive {
	display: grid;
	gap: var(--gprp-space-lg);
	margin: var(--gprp-space-xl) auto;
	width: 100%;
	max-width: 1366px;
}

/* Column layouts */
.gprp-archive--columns-1 {
	grid-template-columns: 1fr;
}

.gprp-archive--columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gprp-archive--columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gprp-archive--columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gprp-archive--columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gprp-archive--columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

/* Archive Item */
.gprp-archive__item {
	display: flex;
	flex-direction: column;
	background: var(--gprp-color-white);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	overflow: hidden;
	transition: var(--gprp-transition);
}

.gprp-archive__item:hover {
	border-color: var(--gprp-color-secondary);
	transform: translateY(-2px);
}

.gprp-archive__thumbnail {
	position: relative;
	width: 100%;
	padding-bottom: 100%; /* 1:1 aspect ratio (default) */
	overflow: hidden;
	background: var(--gprp-color-bg);
}

/* Aspect ratio variations */
.gprp-archive--ratio-1-1 .gprp-archive__thumbnail {
	padding-bottom: 100%; /* 1:1 square */
}

.gprp-archive--ratio-4-3 .gprp-archive__thumbnail {
	padding-bottom: 75%; /* 4:3 */
}

.gprp-archive--ratio-3-4 .gprp-archive__thumbnail {
	padding-bottom: 133.33%; /* 3:4 portrait */
}

.gprp-archive--ratio-16-9 .gprp-archive__thumbnail {
	padding-bottom: 56.25%; /* 16:9 landscape */
}

.gprp-archive--ratio-9-16 .gprp-archive__thumbnail {
	padding-bottom: 177.78%; /* 9:16 portrait */
}

.gprp-archive--ratio-3-2 .gprp-archive__thumbnail {
	padding-bottom: 66.67%; /* 3:2 */
}

.gprp-archive--ratio-2-3 .gprp-archive__thumbnail {
	padding-bottom: 150%; /* 2:3 portrait */
}

.gprp-archive--ratio-21-9 .gprp-archive__thumbnail {
	padding-bottom: 42.86%; /* 21:9 ultrawide */
}

.gprp-archive__thumbnail a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.gprp-archive__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: var(--gprp-transition);
}

.gprp-archive__item:hover .gprp-archive__thumbnail img {
	transform: scale(1.05);
}

.gprp-archive__content {
	padding: var(--gprp-space-md);
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.gprp-archive__title {
	margin: 0 0 var(--gprp-space-sm);
	font-size: var(--gprp-font-size-lg);
	font-weight: 600;
	line-height: var(--gprp-line-height-tight);
}

.gprp-archive__title a {
	color: var(--gprp-color-primary);
	text-decoration: none;
	transition: var(--gprp-transition);
}

.gprp-archive__title a:hover {
	color: var(--gprp-color-secondary);
}

.gprp-archive__meta {
	display: flex;
	align-items: center;
	gap: var(--gprp-space-sm);
	margin-bottom: var(--gprp-space-sm);
	font-size: var(--gprp-font-size-sm);
	color: var(--gprp-color-text-light);
}

.gprp-archive__sns-type {
	padding: 2px var(--gprp-space-xs);
	background: var(--gprp-color-bg);
	border-radius: var(--gprp-border-radius-sm);
	font-size: var(--gprp-font-size-xs);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.gprp-archive__date {
	font-family: var(--gprp-font-mono);
	font-size: var(--gprp-font-size-xs);
}

.gprp-archive__excerpt {
	margin-top: auto;
	font-size: var(--gprp-font-size-sm);
	line-height: var(--gprp-line-height-relaxed);
	color: var(--gprp-color-text-light);
}

/* ============================================
   List Layout
   ============================================ */
.gprp-archive--list {
	display: flex;
	flex-direction: column;
	gap: var(--gprp-space-lg);
	max-width: 100%;
}

.gprp-archive--list .gprp-archive__item {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: var(--gprp-space-md);
	align-items: start;
}

.gprp-archive--list .gprp-archive__thumbnail {
	position: relative;
	width: 100%;
	padding-bottom: 100%; /* 1:1 square */
	overflow: hidden;
	background: var(--gprp-color-bg);
}

.gprp-archive--list .gprp-archive__thumbnail a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.gprp-archive--list .gprp-archive__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.gprp-archive--list .gprp-archive__content {
	padding: 0;
}

.gprp-archive--list .gprp-archive__title {
	font-size: var(--gprp-font-size-xl);
	margin-bottom: var(--gprp-space-sm);
}

.gprp-archive--list .gprp-archive__excerpt {
	margin-top: var(--gprp-space-sm);
}

/* List layout on mobile - maintain list style */
@media (max-width: 640px) {
	.gprp-archive--list .gprp-archive__item {
		grid-template-columns: 120px 1fr;
		gap: var(--gprp-space-sm);
	}

	.gprp-archive--list .gprp-archive__title {
		font-size: var(--gprp-font-size-lg);
	}
}

/* ============================================
   Pagination
   ============================================ */
.gprp-pagination {
	margin-top: var(--gprp-space-xl);
	text-align: center;
}

.gprp-pagination ul {
	display: inline-flex;
	gap: var(--gprp-space-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.gprp-pagination li {
	margin: 0;
}

.gprp-pagination a,
.gprp-pagination span {
	display: inline-block;
	padding: var(--gprp-space-xs) var(--gprp-space-sm);
	min-width: 40px;
	text-align: center;
	text-decoration: none;
	color: var(--gprp-color-primary);
	background: var(--gprp-color-white);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	transition: var(--gprp-transition);
	font-size: var(--gprp-font-size-sm);
}

.gprp-pagination a:hover {
	background: var(--gprp-color-bg);
	border-color: var(--gprp-color-primary);
}

.gprp-pagination .current {
	background: var(--gprp-color-primary);
	color: var(--gprp-color-white);
	border-color: var(--gprp-color-primary);
	font-weight: 600;
}

.gprp-pagination .dots {
	border: none;
	background: transparent;
}

/* ============================================
   Full Content Layout (Single-page style)
   ============================================ */
.gprp-archive--full {
	display: flex;
	flex-direction: column;
	gap: var(--gprp-space-xl);
	max-width: 800px;
	margin: 0 auto;
}

.gprp-full-item {
	background: var(--gprp-color-white);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-lg);
	overflow: hidden;
	padding: var(--gprp-space-lg);
}

.gprp-full-item__header {
	margin-bottom: var(--gprp-space-lg);
	padding-bottom: var(--gprp-space-md);
	border-bottom: var(--gprp-border-width) solid var(--gprp-color-border);
}

.gprp-full-item__title {
	margin: 0 0 var(--gprp-space-sm);
	font-size: var(--gprp-font-size-2xl);
	font-weight: 700;
	line-height: var(--gprp-line-height-tight);
}

.gprp-full-item__title a {
	color: var(--gprp-color-primary);
	text-decoration: none;
	transition: var(--gprp-transition);
}

.gprp-full-item__title a:hover {
	color: var(--gprp-color-secondary);
}

.gprp-full-item__meta {
	display: flex;
	align-items: center;
	gap: var(--gprp-space-sm);
	font-size: var(--gprp-font-size-sm);
	color: var(--gprp-color-text-light);
}

.gprp-full-item__date {
	font-family: var(--gprp-font-mono);
}

.gprp-full-item__content {
	margin-bottom: var(--gprp-space-lg);
	font-size: var(--gprp-font-size-base);
	line-height: var(--gprp-line-height-relaxed);
}

/* Apply gallery styles within full content */
.gprp-full-item__content .gprp-gallery {
	margin: var(--gprp-space-lg) 0;
}

.gprp-full-item__footer {
	padding-top: var(--gprp-space-md);
	border-top: var(--gprp-border-width) solid var(--gprp-color-border);
	text-align: right;
}

.gprp-full-item__permalink {
	display: inline-block;
	padding: var(--gprp-space-xs) var(--gprp-space-md);
	color: var(--gprp-color-primary);
	text-decoration: none;
	font-size: var(--gprp-font-size-sm);
	font-weight: 600;
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	transition: var(--gprp-transition);
}

.gprp-full-item__permalink:hover {
	background: var(--gprp-color-bg);
	border-color: var(--gprp-color-primary);
}

/* Responsive for full content */
@media (max-width: 768px) {
	.gprp-archive--full {
		max-width: 100%;
	}

	.gprp-full-item {
		padding: var(--gprp-space-md);
	}

	.gprp-full-item__title {
		font-size: var(--gprp-font-size-xl);
	}
}

/* ============================================
   Description Section (YouTube) & Tweet Text Section (Twitter)
   Unified design without decoration
   ============================================ */
.gprp-description,
.gprp-tweet-text {
	margin-bottom: var(--gprp-space-lg);
	font-size: var(--gprp-font-size-base);
	line-height: var(--gprp-line-height-relaxed);
	color: var(--gprp-color-text);
	white-space: pre-wrap;
}

/* ============================================
   Image Gallery (Twitter) - Grid Layout
   Zigzag pattern: odd items left, even items right
   ============================================ */
.gprp-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gprp-space-xs);
	margin-bottom: var(--gprp-space-lg);
}

/* Single image layout */
.gprp-gallery--count-1 {
	grid-template-columns: 1fr;
	max-width: 768px;
	margin-left: auto;
	margin-right: auto;
}

/* Zigzag pattern for 2 images */
.gprp-gallery--count-2 .gprp-gallery__item:nth-child(1) {
	grid-row: 1;
	grid-column: 1;
}
.gprp-gallery--count-2 .gprp-gallery__item:nth-child(2) {
	grid-row: 2;
	grid-column: 2;
}

/* Zigzag pattern for 3 images */
.gprp-gallery--count-3 .gprp-gallery__item:nth-child(1) {
	grid-row: 1;
	grid-column: 1;
}
.gprp-gallery--count-3 .gprp-gallery__item:nth-child(2) {
	grid-row: 2;
	grid-column: 2;
}
.gprp-gallery--count-3 .gprp-gallery__item:nth-child(3) {
	grid-row: 3;
	grid-column: 1;
}

/* Zigzag pattern for 4 images */
.gprp-gallery--count-4 .gprp-gallery__item:nth-child(1) {
	grid-row: 1;
	grid-column: 1;
}
.gprp-gallery--count-4 .gprp-gallery__item:nth-child(2) {
	grid-row: 2;
	grid-column: 2;
}
.gprp-gallery--count-4 .gprp-gallery__item:nth-child(3) {
	grid-row: 3;
	grid-column: 1;
}
.gprp-gallery--count-4 .gprp-gallery__item:nth-child(4) {
	grid-row: 4;
	grid-column: 2;
}

@media (max-width: 768px) {
	.gprp-gallery--count-1 {
		max-width: 100%;
	}
}

.gprp-gallery__item {
	border-radius: var(--gprp-border-radius-md);
	overflow: hidden;
	display: block;
	width: 100%;
}

.gprp-gallery__item a {
	display: block;
}

.gprp-gallery__item img {
	width: 100%;
	height: auto;
	display: block;
	transition: var(--gprp-transition);
	border-radius: 16px;
}

.gprp-gallery__item:hover img {
	opacity: 0.9;
}

/* ============================================
   Grid Gallery [gprp_gallery]
   1 image:  1:1
   2 images: landscape → 1col 2row 3:2 / portrait → 2col 1row 2:3
   3 images: landscape → top 8:5 + bottom 4:5|4:5
             portrait  → left 5:8 + right 5:4 / 5:4
   4 images: 2x2 grid 1:1
   ============================================ */
.gprp-grid-gallery {
	display: grid;
	gap: 4px;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: var(--gprp-space-lg);
}

/* Shared item styles */
.gprp-grid-gallery__item {
	position: relative;
	overflow: hidden;
	min-height: 0;
}

.gprp-grid-gallery__item a {
	display: block;
	width: 100%;
	height: 100%;
}

.gprp-grid-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
	transition: opacity 0.2s ease;
}

.gprp-grid-gallery__item:hover img {
	opacity: 0.9;
}

/* ---- 1 image: 1:1 square ---- */
.gprp-grid-gallery--count-1 {
	grid-template-columns: 1fr;
}

.gprp-grid-gallery--count-1 .gprp-grid-gallery__item {
	aspect-ratio: 1 / 1;
}

/* ---- 2 images: landscape → 1 column, 2 rows, 3:2 ---- */
.gprp-grid-gallery--count-2.gprp-grid-gallery--landscape {
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
}

.gprp-grid-gallery--count-2.gprp-grid-gallery--landscape .gprp-grid-gallery__item {
	aspect-ratio: 3 / 2;
}

/* ---- 2 images: portrait → 2 columns, 1 row, 2:3 ---- */
.gprp-grid-gallery--count-2.gprp-grid-gallery--portrait {
	grid-template-columns: 1fr 1fr;
}

.gprp-grid-gallery--count-2.gprp-grid-gallery--portrait .gprp-grid-gallery__item {
	aspect-ratio: 2 / 3;
}

/* ---- 3 images: landscape → top 8:5, bottom 4:5 | 4:5 ---- */
.gprp-grid-gallery--count-3.gprp-grid-gallery--landscape {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
}

.gprp-grid-gallery--count-3.gprp-grid-gallery--landscape .gprp-grid-gallery__item:nth-child(1) {
	grid-row: 1;
	grid-column: 1 / 3;
	aspect-ratio: 8 / 5;
}

.gprp-grid-gallery--count-3.gprp-grid-gallery--landscape .gprp-grid-gallery__item:nth-child(2) {
	grid-row: 2;
	grid-column: 1;
	aspect-ratio: 4 / 5;
}

.gprp-grid-gallery--count-3.gprp-grid-gallery--landscape .gprp-grid-gallery__item:nth-child(3) {
	grid-row: 2;
	grid-column: 2;
	aspect-ratio: 4 / 5;
}

/* ---- 3 images: portrait → left 5:8 spanning 2 rows, right 5:4 | 5:4 ---- */
.gprp-grid-gallery--count-3.gprp-grid-gallery--portrait {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
}

.gprp-grid-gallery--count-3.gprp-grid-gallery--portrait .gprp-grid-gallery__item:nth-child(1) {
	grid-row: 1 / 3;
	grid-column: 1;
	aspect-ratio: auto;
}

.gprp-grid-gallery--count-3.gprp-grid-gallery--portrait .gprp-grid-gallery__item:nth-child(2) {
	grid-row: 1;
	grid-column: 2;
	aspect-ratio: 5 / 4;
}

.gprp-grid-gallery--count-3.gprp-grid-gallery--portrait .gprp-grid-gallery__item:nth-child(3) {
	grid-row: 2;
	grid-column: 2;
	aspect-ratio: 5 / 4;
}

/* ---- 4 images: 2x2 grid, 1:1 ---- */
.gprp-grid-gallery--count-4 {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
}

.gprp-grid-gallery--count-4 .gprp-grid-gallery__item {
	aspect-ratio: 1 / 1;
}


/* ============================================
   Excerpt [gprp_excerpt] - Read More Toggle
   ============================================ */
.gprp-excerpt {
	font-size: var(--gprp-font-size-base);
	line-height: var(--gprp-line-height-relaxed);
	color: var(--gprp-color-text);
}

.gprp-excerpt__hidden {
	display: none;
}

.gprp-excerpt--expanded .gprp-excerpt__hidden {
	display: inline;
}

.gprp-excerpt--expanded .gprp-excerpt__ellipsis {
	display: none;
}

.gprp-excerpt__toggle {
	display: block;
	margin-top: var(--gprp-space-xs);
	padding: 0;
	border: none;
	background: none;
	color: #2563eb;
	font-size: var(--gprp-font-size-sm);
	font-weight: 700;
	font-family: var(--gprp-font-sans);
	cursor: pointer;
	transition: var(--gprp-transition);
}

.gprp-excerpt__toggle:hover {
	color: #1d4ed8;
}

/* ============================================
   Video Link (X)
   ============================================ */
.gprp-video-link {
	margin: var(--gprp-space-lg) 0;
	text-align: center;
}

.gprp-video-link a {
	display: inline-block;
	padding: 12px 24px;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	border-radius: var(--gprp-border-radius-md);
	font-weight: 500;
	transition: var(--gprp-transition);
}

.gprp-video-link a:hover {
	background-color: #333;
}

/* ============================================
   YouTube Embed [gprp_youtube_embed]
   ============================================ */
.gprp-youtube-embed {
	margin: var(--gprp-space-lg) 0;
}

.gprp-youtube-embed--vertical {
	max-width: 360px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 480px) {
	.gprp-youtube-embed--vertical {
		max-width: 280px;
	}
}

/* ============================================
   Embed Container (Twitter/YouTube)
   ============================================ */
.gprp-embed {
	margin: var(--gprp-space-lg) 0;
}

/* Responsive wrapper for YouTube embeds (aspect ratio is inline) */
.gprp-embed-wrapper {
	position: relative;
	width: 100%;
	max-width: 100%;
}

.gprp-embed-wrapper iframe {
	border: none;
}

/* Twitter embeds */
.gprp-embed iframe:not(.gprp-embed-wrapper iframe) {
	max-width: 100%;
	border: none;
}

/* ============================================
   Frontend Submission Form
   ============================================ */
.gprp-submit-form {
	max-width: 600px;
	margin: var(--gprp-space-lg) 0;
	padding: var(--gprp-space-lg);
	background: var(--gprp-color-white);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
}

.gprp-submit-form__form {
	display: flex;
	flex-direction: column;
	gap: var(--gprp-space-md);
}

.gprp-submit-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--gprp-space-xs);
}

.gprp-submit-form__label {
	font-size: var(--gprp-font-size-sm);
	font-weight: 600;
	color: var(--gprp-color-text);
}

.gprp-submit-form__input {
	padding: var(--gprp-space-sm);
	font-size: var(--gprp-font-size-base);
	font-family: var(--gprp-font-sans);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	background: var(--gprp-color-white);
	color: var(--gprp-color-text);
	transition: var(--gprp-transition);
}

.gprp-submit-form__input:focus {
	outline: none;
	border-color: var(--gprp-color-primary);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

.gprp-submit-form__help {
	margin: 0;
	font-size: var(--gprp-font-size-xs);
	color: var(--gprp-color-text-light);
}

.gprp-submit-form__radio-group {
	display: flex;
	flex-direction: column;
	gap: var(--gprp-space-sm);
	margin-top: var(--gprp-space-xs);
}

.gprp-submit-form__radio-label {
	display: flex;
	align-items: center;
	padding: var(--gprp-space-sm);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	cursor: pointer;
	transition: var(--gprp-transition);
}

.gprp-submit-form__radio-label:hover {
	border-color: var(--gprp-color-primary);
	background-color: var(--gprp-color-background);
}

.gprp-submit-form__radio-label input[type="radio"] {
	margin-right: var(--gprp-space-sm);
}

.gprp-submit-form__radio-label span {
	flex: 1;
}

.gprp-submit-form__actions {
	display: flex;
	gap: var(--gprp-space-sm);
}

.gprp-submit-form__button {
	padding: var(--gprp-space-sm) var(--gprp-space-lg);
	font-size: var(--gprp-font-size-base);
	font-weight: 600;
	font-family: var(--gprp-font-sans);
	color: var(--gprp-color-white);
	background: var(--gprp-color-primary);
	border: none;
	border-radius: var(--gprp-border-radius-md);
	cursor: pointer;
	transition: var(--gprp-transition);
}

.gprp-submit-form__button:hover {
	background: var(--gprp-color-secondary);
}

.gprp-submit-form__button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.gprp-submit-form__messages {
	padding: var(--gprp-space-md);
	border-radius: var(--gprp-border-radius-md);
	font-size: var(--gprp-font-size-sm);
}

.gprp-submit-form__message {
	margin: 0;
}

.gprp-submit-form__message--success {
	padding: var(--gprp-space-md);
	background: #f0fdf4;
	border: var(--gprp-border-width) solid #86efac;
	border-radius: var(--gprp-border-radius-md);
	color: #166534;
}

.gprp-submit-form__message--error {
	padding: var(--gprp-space-md);
	background: #fef2f2;
	border: var(--gprp-border-width) solid #fca5a5;
	border-radius: var(--gprp-border-radius-md);
	color: #991b1b;
}

.gprp-submit-form__message--info {
	padding: var(--gprp-space-md);
	background: var(--gprp-color-bg);
	border: var(--gprp-border-width) solid var(--gprp-color-border);
	border-radius: var(--gprp-border-radius-md);
	color: var(--gprp-color-text);
}

.gprp-submit-form__post-link {
	display: inline-block;
	margin-top: var(--gprp-space-xs);
	padding: var(--gprp-space-xs) var(--gprp-space-sm);
	font-size: var(--gprp-font-size-sm);
	color: var(--gprp-color-primary);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: var(--gprp-transition);
}

.gprp-submit-form__post-link:hover {
	border-bottom-color: var(--gprp-color-primary);
}

.gprp-submit-form__post-link--primary {
	font-weight: 600;
	color: var(--gprp-color-secondary);
}

.gprp-submit-form__post-link--primary:hover {
	border-bottom-color: var(--gprp-color-secondary);
}

.gprp-submit-form__login-link {
	display: inline-block;
	padding: var(--gprp-space-xs) var(--gprp-space-md);
	background: var(--gprp-color-primary);
	color: var(--gprp-color-white);
	text-decoration: none;
	border-radius: var(--gprp-border-radius-md);
	transition: var(--gprp-transition);
}

.gprp-submit-form__login-link:hover {
	background: var(--gprp-color-secondary);
}

/* ============================================
   Preview Action Bar
   ============================================ */
.gprp-preview-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: var(--gprp-color-primary);
	color: var(--gprp-color-white);
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
	z-index: 9999;
	animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
	from {
		transform: translateY(100%);
	}
	to {
		transform: translateY(0);
	}
}

.gprp-preview-bar__content {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--gprp-space-md);
	display: flex;
	flex-direction: column;
	gap: var(--gprp-space-sm);
}

.gprp-preview-bar__message {
	margin: 0;
	font-size: var(--gprp-font-size-base);
	font-weight: 500;
}

.gprp-preview-bar__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gprp-space-xs);
	font-size: var(--gprp-font-size-sm);
	color: var(--gprp-color-white);
}

.gprp-preview-bar__tags-label {
	font-weight: 500;
	opacity: 0.8;
}

.gprp-preview-bar__tag {
	display: inline-block;
	padding: 2px 8px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: var(--gprp-border-radius-sm);
	font-size: var(--gprp-font-size-xs);
	font-weight: 500;
}

.gprp-preview-bar__actions {
	display: flex;
	align-items: center;
	gap: var(--gprp-space-sm);
	margin-top: var(--gprp-space-xs);
}

.gprp-preview-bar__edit-link {
	padding: var(--gprp-space-xs) var(--gprp-space-sm);
	color: var(--gprp-color-white);
	text-decoration: none;
	font-size: var(--gprp-font-size-sm);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--gprp-border-radius-md);
	transition: var(--gprp-transition);
}

.gprp-preview-bar__edit-link:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.5);
}

.gprp-preview-bar__button {
	padding: var(--gprp-space-xs) var(--gprp-space-md);
	font-family: var(--gprp-font-sans);
	font-size: var(--gprp-font-size-base);
	font-weight: 500;
	border: 2px solid var(--gprp-color-white);
	border-radius: var(--gprp-border-radius-md);
	cursor: pointer;
	transition: var(--gprp-transition);
	white-space: nowrap;
}

.gprp-preview-bar__button--publish {
	background: var(--gprp-color-white);
	color: var(--gprp-color-primary);
}

.gprp-preview-bar__button--publish:hover {
	background: var(--gprp-color-bg);
}

.gprp-preview-bar__button--publish:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.gprp-preview-bar__button--delete {
	background: transparent;
	color: var(--gprp-color-white);
}

.gprp-preview-bar__button--delete:hover {
	background: rgba(255, 255, 255, 0.1);
}

.gprp-preview-bar__button--delete:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Responsive */
@media (max-width: 640px) {
	.gprp-preview-bar__content {
		flex-direction: column;
		align-items: stretch;
		gap: var(--gprp-space-sm);
	}

	.gprp-preview-bar__message {
		text-align: center;
	}

	.gprp-preview-bar__actions {
		justify-content: center;
	}
}

.gprp-submit-form__post-link {
	display: inline-block;
	margin-top: var(--gprp-space-sm);
	color: var(--gprp-color-primary);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: var(--gprp-transition);
}

.gprp-submit-form__post-link:hover {
	border-bottom-color: var(--gprp-color-primary);
}

/* ============================================
   Responsive Design
   ============================================ */
@media (max-width: 768px) {
	.gprp-archive--columns-2,
	.gprp-archive--columns-3,
	.gprp-archive--columns-4,
	.gprp-archive--columns-5,
	.gprp-archive--columns-6 {
		grid-template-columns: 1fr;
	}

	.gprp-meta {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 480px) {
	:root {
		--gprp-font-size-base: 0.875rem;
		--gprp-space-lg: 1.5rem;
		--gprp-space-xl: 2rem;
	}

	.gprp-archive__content {
		padding: var(--gprp-space-sm);
	}
}

/* ============================================
   Print Styles
   ============================================ */
@media print {
	.gprp-meta__link,
	.gprp-archive__thumbnail {
		display: none;
	}
}
