.palvelinx-fivem-gallery {
	--px-bg: rgba(25, 25, 25, 0.75);
	--px-border: rgba(255, 255, 255, 0.12);
	--px-muted: #d1d5db;
	--px-text: #f3f4f6;
	--px-btn-grad: linear-gradient(135deg, rgba(149, 21, 149, 0.3) 0%, rgba(149, 21, 149, 0.1) 100%);
	--px-btn-grad-hover: linear-gradient(135deg, rgba(229, 31, 229, 0.4) 0%, rgba(229, 31, 229, 0.2) 100%);
	--px-btn-border: rgba(229, 31, 229, 0.3);
	--px-btn-border-hover: rgba(229, 31, 229, 0.6);
	--px-btn-light-grad: linear-gradient(135deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.08) 100%);
	--px-btn-light-grad-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.14) 100%);
	--px-btn-light-border: rgba(255, 255, 255, 0.45);
	--px-btn-light-border-hover: rgba(255, 255, 255, 0.75);
	color: var(--px-text);
}

.palvelinx-fivem-gallery .card,
.palvelinx-fivem-gallery form.card {
	background: var(--px-bg);
	border: 1px solid var(--px-border);
	border-radius: 12px;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
}

.palvelinx-fivem-gallery .form-label,
.palvelinx-fivem-gallery .text-muted,
.palvelinx-fivem-gallery .small {
	color: var(--px-muted) !important;
}

.palvelinx-fivem-gallery .form-control {
	background: rgba(255, 255, 255, 0.05);
	color: var(--px-text);
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	min-height: 46px;
	line-height: 1.2;
}

.palvelinx-fivem-gallery .form-control:focus {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: none;
	color: var(--px-text);
}

.palvelinx-fivem-gallery .form-control[type="file"] {
	height: 46px;
	min-height: 46px;
	padding: 0 !important;
	line-height: 46px;
	box-sizing: border-box;
	overflow: hidden;
}

.palvelinx-fivem-gallery .form-control::file-selector-button,
.palvelinx-fivem-gallery .form-control::-webkit-file-upload-button {
	border: 1px solid var(--px-btn-light-border);
	background: var(--px-btn-light-grad);
	color: #fff;
	border-radius: 8px;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.5px;
	font-family: inherit;
	line-height: 1.2;
	height: calc(100% - 2px);
	padding: 0 18px;
	min-height: 42px;
	margin: 1px 10px 1px 1px;
	cursor: pointer;
	transition: all 200ms ease;
	box-sizing: border-box;
	vertical-align: top;
}

.palvelinx-fivem-gallery .form-control[type="file"]:hover::file-selector-button,
.palvelinx-fivem-gallery .form-control[type="file"]:focus::file-selector-button,
.palvelinx-fivem-gallery .form-control[type="file"]:focus-visible::file-selector-button,
.palvelinx-fivem-gallery .form-control[type="file"]:hover::-webkit-file-upload-button,
.palvelinx-fivem-gallery .form-control[type="file"]:focus::-webkit-file-upload-button,
.palvelinx-fivem-gallery .form-control[type="file"]:focus-visible::-webkit-file-upload-button,
.palvelinx-fivem-gallery .form-control[type="file"]:hover:not(:disabled):not([readonly])::file-selector-button,
.palvelinx-fivem-gallery .form-control[type="file"]:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
	background: var(--px-btn-light-grad-hover);
	border-color: var(--px-btn-light-border-hover);
	box-shadow: 0 0 15px rgba(255, 255, 255, 0.18);
	color: #fff;
}

.palvelinx-fivem-gallery #palvelinx-gallery-caption,
.palvelinx-fivem-gallery .btn.btn-primary {
	min-height: 46px;
}

.palvelinx-fivem-gallery .btn.btn-primary,
.palvelinx-fivem-gallery .btn.btn-outline-danger.palvelinx-gallery-delete-btn {
	color: #fff;
	background: var(--px-btn-grad);
	border: 1px solid var(--px-btn-border);
	border-radius: 8px;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.5px;
	font-family: inherit;
	line-height: 1.2;
	padding: 12px 20px;
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.palvelinx-fivem-gallery .btn.btn-primary:hover,
.palvelinx-fivem-gallery .btn.btn-primary:focus,
.palvelinx-fivem-gallery .btn.btn-outline-danger.palvelinx-gallery-delete-btn:hover,
.palvelinx-fivem-gallery .btn.btn-outline-danger.palvelinx-gallery-delete-btn:focus {
	color: #fff;
	background: var(--px-btn-grad-hover);
	border-color: var(--px-btn-border-hover);
	box-shadow: 0 0 15px rgba(229, 31, 229, 0.2);
}

.palvelinx-fivem-gallery .badge.text-bg-secondary {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--px-text) !important;
}

.palvelinx-gallery-card .card-img-top {
	height: 240px;
	object-fit: cover;
}

.palvelinx-gallery-open {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	text-align: left;
}

.palvelinx-gallery-meta {
	display: flex;
	align-items: center;
	gap: 10px;
}

.palvelinx-gallery-avatar {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	object-fit: cover;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.palvelinx-gallery-author {
	font-weight: 600;
	color: var(--px-text);
}

.palvelinx-gallery-card-footer {
	background: transparent;
}

.palvelinx-gallery-modal-content {
	background: rgba(20, 20, 20, 0.95);
	border: 1px solid var(--px-border);
	color: var(--px-text);
}

.palvelinx-gallery-modal-author-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.palvelinx-gallery-modal-content #palvelinxGalleryModalImage {
	max-height: 72vh;
	object-fit: contain;
	background: #111;
}

@media (max-width: 767px) {
	.palvelinx-gallery-card .card-img-top {
		height: 200px;
	}
}
