@charset "utf-8";
/* CSS Document 
 * @package    WHMCS | Blog
 * @author     4Skins DEV. | aka TeRmiMCD
 * @version    1.0
 * /blog/assets/css/blog.css # FRONTEND
*/
/*OVERRIDE*/
a:hover{
	text-decoration: none !important;
}
.main-container-nosidebar {
  max-width: 1288px;
}
.main-header {
	padding-top: 10px;
}
button:focus {
  outline: none !important;
}
.input-sm {
  height: 35px;
}
/* Featured Article Section */
.featured-article {
	display: flex;
	gap: 30px;
	margin-bottom: 60px;
	background: #9b9b9b0f;
	border-radius: 0.5rem;
	padding: 0px;
	box-shadow: 0 5px 10px -2px rgba(132, 132, 132, 0.35);
	overflow: hidden;
}
.featured-image {
	flex: 1;
	min-height: 300px;
	overflow: hidden;
	/*background: rgba(100, 100, 100, .1);*/
	display: flex;
	align-items: center;
	justify-content: center;
}
.featured-image img {
	/*min-height: 330px;
	max-height: 330px;*/
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.image-placeholder {
	width: 100%;
	height: 100%;
	background-color: #1a1a1a;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #666;
	font-size: 18px;
	border-radius: 0.5rem;
	padding: 20px;
}
.featured-content {
	flex: 1;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.card-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin-bottom: 15px;
}
.card-top-post {
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	margin-bottom: 15px;
}
.card-left {
	display: flex;
	align-items: center;
	gap: 10px;
}
.card-views {
	font-size: 0.9rem;
	font-weight: 600;
	color: #666;
	white-space: nowrap;
	text-transform: uppercase;
	display: flex;
	gap: 5px;
	align-items: center;
	> i {
		font-size: 1rem;
	}
}
.category-tag {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 1rem;
	font-size: 0.7rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	width: fit-content;
}
.category-featured {
	border-radius: 50%;
	backdrop-filter: blur(3px);
	border: 2px solid #ae3fec99;
	padding: 3px;
	display: inline-grid;
}
.category-featured, .category-sale {
	svg {
		fill: var(--text-body-color);
	}
}
.category-sale {
	border-radius: 50%;
	backdrop-filter: blur(3px);
	border: 2px solid #fd143f99;
	padding: 3px;
	display: inline-grid;
}
.sale-price {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 1rem;
	font-size: 0.8rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	width: fit-content;
	border: 2px solid #4dbf1999;
}
.featured-title {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 16px;
}
.featured-description {
	font-size: 16px;
	/*color: #666;*/
	margin-bottom: 24px;
	line-height: 1.6;
	text-align: justify;
}
.article-meta .icon {
	margin: 0 8px;
}
.article-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.author-info {
	display: flex;
	align-items: center;
	gap: 8px;
}
.author-avatar {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	outline: 1px solid rgba(100, 100, 100, .3);
	outline-offset: 2px
}
.author-name {
	font-size: 13px;
	color: #666;
	font-weight: 500;
}
.article-date, .read-time {
	font-size: 14px;
	color: #999;
	margin-bottom: 0;
}
.right {
	display: flex;
	gap: 10px;
	margin-left: auto;
	align-items: center;
}
.search form {
	display: flex;
	gap: 5px;
}
.read-article-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.read-article-btn i {
  transition: transform 0.2s ease;
}

/* Animation bei Hover aktivieren */
.read-article-btn:hover i {
  animation: arrowMove 0.6s ease-in-out infinite;
}

/* Keyframes für sanfte Hin-und-her-Bewegung */
@keyframes arrowMove {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(5px); }
  100% { transform: translateX(0); }
}
/* Category Navigation */
.category-nav {
	display: flex;
	gap: 0;
	margin-bottom: 40px;
	border-bottom: 1px solid #e0e0e0;
}
.nav-item {
	background: none;
	border: none;
	padding: 16px 0;
	margin-right: 15px;
	font-size: 16px;
	font-weight: 500;
	color: #666;
	cursor: pointer;
	border-bottom: 3px solid transparent;
	transition: all 0.2s;
	text-decoration: none;
	display: inline-block;
}
.nav-item.active {
	color: #1976d2;
	border-bottom-color: #1976d2;
}
.nav-item:hover {
	color: #1976d2;
	text-decoration: none;
}
.category-header {
	text-align: center;
	margin-bottom: 40px;
}
.category-header h1 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 16px;
}
.category-description {
	font-size: 16px;
	color: #666;
	max-width: 600px;
	margin: 0 auto;
}
.card-excerpt {
	font-size: 14px;
	color: #666;
	margin-bottom: 16px;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* Blog Grid */
.blog-grid {
	/*display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
    margin-bottom: 60px;*/
	margin-bottom: 60px;
	columns: 3 300px;
	column-gap: 3em;
}
.blog-card {
	background: #ffffff0f;
	border-radius: 0.5rem;
	overflow: hidden;
	box-shadow: 0 3px 8px rgba(159, 159, 159, 0.08);
	transition: transform 0.2s, box-shadow 0.2s;
	display: block;
	margin-bottom: 3em;
	width: 100%;
}
.blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px -8px rgba(159, 159, 159, 0.3);
}
.blog-card a:hover, .blog-card:hover a, .blog-card:hover h3 {
	color: var(--primary, #6366f1) !important;
	text-decoration: none;
}
.card-image {
	height: 200px;
	overflow: hidden;
	background: rgba(100, 100, 100, .1);
	text-align: center;
}
.card-image img {
	width: 100%;
	min-height: 200px;
	display: grid;
	align-items: center;
	justify-content: center;
}
.card-image .image-placeholder {
	height: 100%;
}
.card-content {
	padding: 20px;
}
.card-title {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.4;
	margin: 10px 0;
}
.card-title a {
	color: inherit;
	text-decoration: none;
}
.card-title a:hover {
	color: #1976d2;
}
.card-meta {
	display: flex;
	align-items: last baseline;
	;
	gap: 8px;
	flex-wrap: wrap;
}
.card-date, .card-read-time {
	font-size: 13px;
	color: #999;
}
/* Views */
.post-meta {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	color: #666;
	font-size: 14px;
	margin-bottom: 20px;
}
.post-meta > div {
	display: flex;
	align-items: center;
	gap: 5px;
}
.views {
	background: #4d4d4d2e;
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 12px;
}
/* Load More Button */
.load-more-container {
	display: flex;
	justify-content: center;
}
.load-more-btn {
	background: none;
	border: 2px solid #1976d2;
	color: #1976d2;
	padding: 12px 32px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
}
.load-more-btn:hover {
	background-color: #1976d2;
	color: white;
}
/* Prism */
code[class*=language-], pre[class*=language-] {
	color: #ccc;
	background: 0 0;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 0.9em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none
}
pre[class*=language-] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto
}
:not(pre) > code[class*=language-], pre[class*=language-] {
	background: #101010
}
:not(pre) > code[class*=language-] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal
}
.token.block-comment, .token.cdata, .token.comment, .token.doctype, .token.prolog {
	color: #999
}
.token.punctuation {
	color: #ccc
}
.token.attr-name, .token.deleted, .token.namespace, .token.tag {
	color: #e2777a
}
.token.function-name {
	color: #6196cc
}
.token.boolean, .token.function, .token.number {
	color: #f08d49
}
.token.class-name, .token.constant, .token.property, .token.symbol {
	color: #f8c555
}
.token.atrule, .token.builtin, .token.important, .token.keyword, .token.selector {
	color: #cc99cd
}
.token.attr-value, .token.char, .token.regex, .token.string, .token.variable {
	color: #7ec699
}
.token.entity, .token.operator, .token.url {
	color: #67cdcc
}
.token.bold, .token.important {
	font-weight: 700
}
.token.italic {
	font-style: italic
}
.token.entity {
	cursor: help
}
.token.inserted {
	color: green
}
.comment {
	background: #ffffff38 !important;
}
tbody > tr > td {
	border: 1px solid #8888882b !important
}
/*PAGINAGION*/
/* Modern Pagination for .blog-pagination */
.blog-pagination {
	display: flex;
	justify-content: center; /* zentriert die pagination */
	margin: 28px 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.blog-pagination .pagination {
	list-style: none;
	display: inline-flex;
	gap: 8px;
	padding: 0;
	margin: 0;
	align-items: center;
	border: none;
}
/* Grundstil für Items */
.blog-pagination .pagination li {
	display: inline-block;
}
/* Links und aktive Zahl */
.blog-pagination .pagination a, .blog-pagination .pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	line-height: 1;
	color: #1f2937;
	background: #ffffff8a;
	border: 1px solid rgba(121, 121, 121, 0.04);
	box-shadow: 0 1px 0 rgb(147, 146, 146), 0 6px 18px rgba(170, 168, 168, 0.17);
}
/* Hover / Fokus */
.blog-pagination .pagination a:hover, .blog-pagination .pagination a:focus {
	box-shadow: 0 6px 20px rgba(18, 22, 37, 0.08);
	outline: none;
}
/* Active (current page) */
.blog-pagination .pagination li.active span {
	background: linear-gradient(180deg, #2a2a2d, #555);
	color: #fff;
	border: none;
	box-shadow: 0 10px 13px -5px rgba(125, 125, 125, 0.60);
	transform: none;
	font-weight: 600;
}
/* Previous/Next special small arrows */
.blog-pagination .pagination li.prev a, .blog-pagination .pagination li.next a {
	min-width: 56px;
	border-radius: 10px;
	padding: 0 14px;
}
/* Disabled state */
.blog-pagination .pagination li.disabled a, .blog-pagination .pagination li.disabled span {
	color: rgba(31, 37, 55, 0.35);
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
	background: #f8fafc;
	border: 1px solid rgba(31, 37, 55, 0.04);
}
/* Dots / ellipsis */
.blog-pagination .pagination li.dots span {
	background: transparent;
	box-shadow: none;
	cursor: default;
	color: rgba(31, 37, 55, 0.6);
	min-width: 36px;
}
/* Mobile: make list horizontally scrollable if many pages */
@media (max-width: 520px) {
	.blog-pagination .pagination {
		display: inline-flex;
		gap: 8px;
		padding: 6px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		border-radius: 12px;
		background: rgba(15, 23, 42, 0.02);
	}
	.blog-pagination .pagination a, .blog-pagination .pagination span {
		min-width: 36px;
		height: 36px;
		font-size: 13px;
	}
	.card-left {
		gap: 5px;
	}
	.card-views {
		font-size: 0.8rem;
		> span {
			display: none;
		}
	}
	.main-body {
		padding: 0;
	}
}
/* Accessibility: visible focus ring for keyboard users */
.blog-pagination .pagination a:focus-visible {
	box-shadow: 0 0 0 4px rgba(14, 165, 164, 0.12), 0 6px 20px rgba(18, 22, 37, 0.08);
	transform: translateY(-2px);
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.blog-pagination .pagination a, .blog-pagination .pagination span {
		transition: none;
	}
}
/* Responsive Design */
@media (max-width: 768px) {
	.container {
		padding: 20px 16px;
	}
	.featured-article {
		flex-direction: column;
		gap: 0;
	}
	.featured-image {
		min-height: 200px;
	}
	.image-placeholder {
		min-height: 200px;
	}
	.featured-content {
		padding: 24px;
	}
	.featured-title {
		font-size: 2.5rem;
	}
	.blog-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.category-nav {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.nav-item {
		white-space: nowrap;
		padding: 16px 20px;
	}
	.article-meta {
		gap: 12px;
	}
	.read-article-btn {
		margin-left: 0;
		margin-top: 8px;
		width: 100%;
	}
}
@media (max-width: 480px) {
	.featured-content {
		padding: 20px;
	}
	.featured-title {
		font-size: 20px;
	}
	.card-content {
		padding: 20px;
	}
	.card-title {
		font-size: 16px;
	}
}
/*SALE PRODUCT*/
.post-content-wrapper {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	position: relative;
	height: 100%; /* Damit genug Platz zum scrollen "sticky" ist */
}
.post-content-main {
	flex: 1;
	min-width: 0;
}
.blog-product-sidebar {
	width: 300px;
	flex-shrink: 0;
	position: sticky;
	top: 20px;
	align-self: flex-start;
	height: fit-content;
}
.product-card {
	/*background: #f8f9fa;*/
	border: 2px dashed #fd143f99;
	border-radius: 0.5rem;
	padding: 24px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.product-header {
	svg {
		fill: var(--text-body-color);
	}
	margin-bottom: 16px;
	border-bottom: 2px dashed #fd143f99;
	padding-bottom: 16px;	
}
.product-title {
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0 0 8px 0;
}
.product-price {
	font-size: 1.5rem;
	font-weight: 700;
	color: #fd143f99;
}
.product-short-description {
	margin-bottom: 16px;
	color: #666;
	line-height: 1.5;
}
.product-features {
	margin-bottom: 20px;
}
.product-features h4 {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 12px 0;
}
.product-features ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.product-features li {
	padding: 6px 0;
	padding-left: 20px;
	position: relative;
	color: #555;
}
.product-features li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #28a745;
	font-weight: bold;
}
.product-actions {
	margin-bottom: 20px;
}
.btn-add-to-cart {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12px 20px;
	background: #fd143f99;
	color: white;
	text-decoration: none;
	border-radius: 8px;
	font-weight: 600;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
}
.btn-add-to-cart:hover {
	background: #fb627ea3;
	color: black;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: rgba(159, 19, 45, 0.8) 0px 1px 1px, rgba(159, 19, 45, 0.3) 0px 2px 2px, rgba(159, 19, 45,0.07) 0px 4px 4px, rgba(159, 19, 45, 0.07) 0px 8px 8px, rgba(159, 19, 45, 0.2) 0px 16px 16px;
}
.product-full-description {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #8888883d;
}
.product-full-description h4 {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 12px 0;
}
.description-content {
	color: #666;
	line-height: 1.6;
	font-size: 0.9rem;
}
/* Responsive Design */
@media (max-width: 768px) {
	.post-content-wrapper {
		flex-direction: column;
		gap: 20px;
	}
	.blog-product-sidebar {
		width: 100%;
		order: -1; /* Product card comes first on mobile */
	}
	.product-card {
		position: static;
	}
}
/* FEATURED SLIDER*/
/* Slider Styles */
.slider .label-new{
	background: orangered;
	color: #000;
	width: 120px;
	padding: 5px;
	transform: rotate(-45deg);
	text-align: center;
	left: -45px;
  	top: -10px;
	position: absolute;	
}
.slider {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.slider_container {
	position: relative;
}
.slider_slide {
	display: none;
	width: 100%;	
}
.slider_slide .align-items-center{
	min-height: 440px;
	margin: 0 10px !important;
}
.slider_slide:first-child {
	display: block;
}
/* Ensure consistent layout for all slides */
.slider_slide .row {
	margin: 0;
}
.slider_slide .col-md-6 {
	padding: 0;
}
.featured-image img {
	/*width: max-content;
	height: auto;*/
	border-radius: 8px;
}
.featured-content {
	padding: 2rem;
}
.slider_nav {
	position: absolute;
	bottom: 20px;
	left: 15px;
	display: flex;
	gap: 10px;
	z-index: 10;
}
.slider_prev, .slider_next {
	width: 40px;
	height: 40px;
	line-height: 30px !important;
	border-radius: 50%;
	background-color: #7171714f;
	backdrop-filter: blur(3px);	
	color: #000;
	border: none;
	outline: none;
	font-size: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px !important;
	font-family: monospace;
	font-weight: bold;
	transition: .5s;
	cursor: pointer;
}
.slider_prev:hover, .slider_next:hover {
	color: #ffffff;
	background: var(--brand-primary, var(--primary));
}
/* Slider Indicators */
.slider_indicators {
	position: absolute;
	bottom: 22px;
	left: 114px;
	display: flex;
	gap: 10px;
	z-index: 10;
	padding: 10px;
	border-radius: 2rem;
	backdrop-filter: blur(5px);
}
.slider_indicator {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 1px solid #99999960;
	background: #10101050;
	cursor: pointer;
	transition: all 0.3s ease;
}
.slider_indicator.active {
	border: 2px solid #101010;
	background: #ffffff80;
	backdrop-filter: blur(5px);
	transform: scale(1.2);
}
/* Responsive */
@media (max-width: 768px) {
	.slider_slide .row {
		flex-direction: column;
	}
	.featured-content {
		padding: 1rem;
	}
	.slider_nav {
		display: none;
	}
	.slider_indicators {
		top: 0px;
		left: 18px;
		position: absolute;
		bottom: auto;
		background: #fdfdfd1c;
		border-radius: 0 0 1rem 1rem;
	}
}