/* ==========================================================================
   Viva Scroll v1.0 - Frontend Styles
   By AADISOFT
   ========================================================================== */

.viva-scroll-wrap {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	max-width: 100%;
	font-size: var(--vs-font-size, 16px);
	color: var(--vs-color, #222);
	background: var(--vs-bg, transparent);
	line-height: 1.4;
}

.viva-scroll-wrap * {
	box-sizing: border-box;
}

.viva-scroll-wrap.vs-bold {
	font-weight: bold;
}

.viva-scroll-wrap.vs-italic {
	font-style: italic;
}

/* ---------------------------------------------------------
   VERTICAL MODE
   --------------------------------------------------------- */
.viva-scroll-wrap.vs-mode-vertical {
	height: var(--vs-height, 300px);
}

.viva-scroll-wrap.vs-mode-vertical .vs-track {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.viva-scroll-wrap.vs-mode-vertical .vs-track-inner {
	display: flex;
	flex-direction: column;
	gap: var(--vs-gap, 10px);
	width: 100%;
	flex-shrink: 0;
}

.viva-scroll-wrap.vs-mode-vertical .vs-track-inner-clone {
	margin-top: var(--vs-gap, 10px);
}

/* Animations - vertical */
.vs-anim-vertical-up {
	animation: vs-scroll-up var(--vs-speed, 30s) linear infinite;
}
.vs-anim-vertical-down {
	animation: vs-scroll-down var(--vs-speed, 30s) linear infinite;
}

@keyframes vs-scroll-up {
	0%   { transform: translateY(0); }
	100% { transform: translateY(-50%); }
}
@keyframes vs-scroll-down {
	0%   { transform: translateY(-50%); }
	100% { transform: translateY(0); }
}

/* ---------------------------------------------------------
   HORIZONTAL MODE
   --------------------------------------------------------- */
.viva-scroll-wrap.vs-mode-horizontal {
	width: 100%;
}

.viva-scroll-wrap.vs-mode-horizontal .vs-track {
	display: flex;
	width: max-content;
}

.viva-scroll-wrap.vs-mode-horizontal .vs-track-inner {
	display: flex;
	flex-direction: row;
	gap: var(--vs-gap, 10px);
	flex-shrink: 0;
	padding-right: var(--vs-gap, 10px);
}

.viva-scroll-wrap.vs-mode-horizontal .vs-item {
	width: var(--vs-item-width, 250px);
	flex-shrink: 0;
}

/* Animations - horizontal */
.vs-anim-horizontal-left {
	animation: vs-scroll-left var(--vs-speed, 30s) linear infinite;
}
.vs-anim-horizontal-right {
	animation: vs-scroll-right var(--vs-speed, 30s) linear infinite;
}

@keyframes vs-scroll-left {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@keyframes vs-scroll-right {
	0%   { transform: translateX(-50%); }
	100% { transform: translateX(0); }
}

/* ---------------------------------------------------------
   PAUSE ON HOVER
   --------------------------------------------------------- */
.viva-scroll-wrap.vs-pause-hover:hover .vs-track,
.viva-scroll-wrap.vs-pause-hover .vs-track.vs-paused {
	animation-play-state: paused;
}

/* ---------------------------------------------------------
   ITEM STYLING
   --------------------------------------------------------- */
.vs-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.viva-scroll-wrap.vs-mode-vertical .vs-item {
	flex-direction: row;
	align-items: flex-start;
	gap: 12px;
}

.vs-item-image {
	flex-shrink: 0;
}

.vs-item-image img,
.vs-thumb {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
	max-width: 120px;
}

.viva-scroll-wrap.vs-mode-horizontal .vs-thumb {
	max-width: 100%;
}

.vs-item-text {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

.vs-item-title {
	font-weight: 600;
	margin-bottom: 2px;
}

.viva-scroll-wrap.vs-bold .vs-item-title {
	font-weight: 800;
}

.vs-item-title a {
	color: inherit;
	text-decoration: none;
}

.vs-item-title a:hover {
	text-decoration: underline;
}

.vs-item-date {
	font-size: 0.85em;
	opacity: 0.7;
	margin-bottom: 2px;
}

.vs-item-excerpt,
.vs-item-content {
	font-size: 0.95em;
	opacity: 0.9;
	overflow-wrap: break-word;
}

.vs-item-content img {
	max-width: 100%;
	height: auto;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */
@media (max-width: 768px) {
	.viva-scroll-wrap {
		width: 100% !important;
		max-width: 100% !important;
	}
	.viva-scroll-wrap.vs-mode-horizontal .vs-item {
		width: 70vw !important;
		max-width: 280px;
	}
	.viva-scroll-wrap.vs-mode-vertical {
		height: auto;
		max-height: 80vh;
	}
}

@media (max-width: 480px) {
	.vs-item-image img,
	.vs-thumb {
		max-width: 80px;
	}
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
	.vs-track {
		animation: none !important;
	}
}
