/**
 * DaazMarkets — Ticker Tape
 * Full-width scrolling price bar: Crypto + Stocks + Forex + Commodities
 *
 * Themes: auto | dark | light | glass
 *
 * @package Global_Market_Prices
 */

/* ── Keyframes ─────────────────────────────────────────────────────────────── */

@keyframes daaz-gmp-ticker-left {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@keyframes daaz-gmp-ticker-right {
	from { transform: translateX(-50%); }
	to   { transform: translateX(0); }
}

@keyframes daaz-gmp-dot-pulse {
	0%,100% { opacity:1; transform:scale(1);    box-shadow:0 0 0 0   rgba(16,185,129,.5); }
	50%      { opacity:.8; transform:scale(1.2); box-shadow:0 0 0 5px rgba(16,185,129,0);  }
}

/* ── Container ─────────────────────────────────────────────────────────────── */

.daaz-gmp-ticker {
	position:   relative;
	display:    flex;
	align-items: center;
	width:      100%;
	overflow:   hidden;
	font-size:  13px;
	font-weight: 500;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Inter', sans-serif;
	white-space: nowrap;
	user-select: none;
	-webkit-user-select: none;
	box-sizing: border-box;
	letter-spacing: .01em;
	/* Prevent content from breaking the layout */
	min-width: 0;
}

/* ── Themes ────────────────────────────────────────────────────────────────── */

/* auto — inherits from the plugin's CSS variables / light by default */
.daaz-gmp-ticker--auto {
	background:   var(--gmp-bg-secondary, #f8fafc);
	color:        var(--gmp-text-primary, #0f172a);
	border-top:   1px solid var(--gmp-border, #e2e8f0);
	border-bottom: 1px solid var(--gmp-border, #e2e8f0);
}
.daaz-gmp-ticker--auto .daaz-gmp-ticker-label {
	background: #0f172a;
	color:      #f8fafc;
}
.daaz-gmp-ticker--auto .daaz-gmp-ticker-label::after {
	background: linear-gradient(to right, #0f172a, transparent);
}
.daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::before {
	background: linear-gradient(to right, var(--gmp-bg-secondary, #f8fafc), transparent);
}
.daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::after {
	background: linear-gradient(to left,  var(--gmp-bg-secondary, #f8fafc), transparent);
}

/* dark */
.daaz-gmp-ticker--dark {
	background:   #0f172a;
	color:        #e2e8f0;
	border-top:   1px solid #1e293b;
	border-bottom: 1px solid #1e293b;
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-label {
	background: #1e293b;
	color:      #f1f5f9;
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-label::after {
	background: linear-gradient(to right, #1e293b, transparent);
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-viewport::before {
	background: linear-gradient(to right, #0f172a, transparent);
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-viewport::after {
	background: linear-gradient(to left, #0f172a, transparent);
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-sep { color: #334155; }

/* light */
.daaz-gmp-ticker--light {
	background:    #ffffff;
	color:         #1e293b;
	border:        1px solid #e2e8f0;
	border-radius: 8px;
	box-shadow:    0 1px 6px rgba(0,0,0,.06);
}
.daaz-gmp-ticker--light .daaz-gmp-ticker-label {
	background:    #1e293b;
	color:         #f8fafc;
	border-radius: 6px 0 0 6px;
}
.daaz-gmp-ticker--light .daaz-gmp-ticker-label::after {
	background: linear-gradient(to right, #1e293b, transparent);
}
.daaz-gmp-ticker--light .daaz-gmp-ticker-viewport::before {
	background: linear-gradient(to right, #ffffff, transparent);
}
.daaz-gmp-ticker--light .daaz-gmp-ticker-viewport::after {
	background: linear-gradient(to left, #ffffff, transparent);
}

/* glass — for hero sections / image backgrounds */
.daaz-gmp-ticker--glass {
	background:           rgba(255,255,255,.1);
	color:                #ffffff;
	border-top:           1px solid rgba(255,255,255,.2);
	border-bottom:        1px solid rgba(255,255,255,.2);
	backdrop-filter:      blur(12px) saturate(180%);
	-webkit-backdrop-filter: blur(12px) saturate(180%);
}
.daaz-gmp-ticker--glass .daaz-gmp-ticker-label {
	background: rgba(0,0,0,.35);
	color:      #ffffff;
}
.daaz-gmp-ticker--glass .daaz-gmp-ticker-label::after {
	background: linear-gradient(to right, rgba(0,0,0,.35), transparent);
}
.daaz-gmp-ticker--glass .daaz-gmp-ticker-viewport::before {
	background: linear-gradient(to right, rgba(255,255,255,.1), transparent);
}
.daaz-gmp-ticker--glass .daaz-gmp-ticker-viewport::after {
	background: linear-gradient(to left, rgba(255,255,255,.1), transparent);
}
.daaz-gmp-ticker--glass .daaz-gmp-ticker-sep   { color: rgba(255,255,255,.35); }
.daaz-gmp-ticker--glass .daaz-gmp-ticker-name  { opacity: .7; }
.daaz-gmp-ticker--glass .daaz-gmp-up .daaz-gmp-ticker-change   { background: rgba(16,185,129,.25); }
.daaz-gmp-ticker--glass .daaz-gmp-down .daaz-gmp-ticker-change { background: rgba(239,68,68,.25); }

/* ── Dark-mode auto-adapt (CSS prefers-color-scheme + plugin's .gmp-dark class) */

@media (prefers-color-scheme: dark) {
	.daaz-gmp-ticker--auto {
		background:    #0f172a;
		color:         #e2e8f0;
		border-color:  #1e293b;
	}
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-label {
		background: #1e293b;
	}
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-label::after {
		background: linear-gradient(to right, #1e293b, transparent);
	}
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::before {
		background: linear-gradient(to right, #0f172a, transparent);
	}
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::after {
		background: linear-gradient(to left, #0f172a, transparent);
	}
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-sep { color: #334155; }
}

/* Plugin dark-mode class */
.gmp-dark .daaz-gmp-ticker--auto,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto {
	background:   #0f172a;
	color:        #e2e8f0;
	border-color: #1e293b;
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-label,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-label {
	background: #1e293b;
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-label::after,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-label::after {
	background: linear-gradient(to right, #1e293b, transparent);
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::before,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::before {
	background: linear-gradient(to right, #0f172a, transparent);
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::after,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-viewport::after {
	background: linear-gradient(to left, #0f172a, transparent);
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-sep,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-sep { color: #334155; }

/* ── LIVE Label ────────────────────────────────────────────────────────────── */

.daaz-gmp-ticker-label {
	flex-shrink:  0;
	display:      flex;
	align-items:  center;
	gap:          6px;
	height:       100%;
	padding:      0 16px 0 14px;
	font-size:    10px;
	font-weight:  800;
	letter-spacing: .1em;
	text-transform: uppercase;
	z-index:      2;
	position:     relative;
	white-space:  nowrap;
	line-height:  1;
}

/* Gradient right-edge fade connecting label to viewport */
.daaz-gmp-ticker-label::after {
	content:       '';
	position:      absolute;
	right:         -18px;
	top:           0;
	width:         18px;
	height:        100%;
	pointer-events: none;
}

/* Pulsing green dot */
.daaz-gmp-ticker-dot {
	display:       inline-block;
	width:         7px;
	height:        7px;
	background:    #10b981;
	border-radius: 50%;
	flex-shrink:   0;
	animation:     daaz-gmp-dot-pulse 2s ease-in-out infinite;
}

/* ── Viewport ──────────────────────────────────────────────────────────────── */

.daaz-gmp-ticker-viewport {
	flex:     1;
	overflow: hidden;
	position: relative;
	min-width: 0;
}

/* Fade masks on both edges */
.daaz-gmp-ticker-viewport::before,
.daaz-gmp-ticker-viewport::after {
	content:        '';
	position:       absolute;
	top:            0;
	width:          48px;
	height:         100%;
	z-index:        1;
	pointer-events: none;
}
.daaz-gmp-ticker-viewport::before { left:  0; }
.daaz-gmp-ticker-viewport::after  { right: 0; }

/* ── Track (animated strip) ────────────────────────────────────────────────── */

.daaz-gmp-ticker-track {
	display:                   inline-flex;
	align-items:               center;
	animation-duration:        calc(var(--daaz-ticker-speed, 60) * 1s);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	will-change:               transform;
}

/* Pause on hover */
.daaz-gmp-ticker--pause-hover:hover .daaz-gmp-ticker-track {
	animation-play-state: paused;
}

/* ── Sets (two copies for seamless loop) ───────────────────────────────────── */

.daaz-gmp-ticker-set {
	display:     inline-flex;
	align-items: center;
}

/* ── Item ──────────────────────────────────────────────────────────────────── */

.daaz-gmp-ticker-item {
	display:     inline-flex;
	align-items: center;
	gap:         5px;
	padding:     0 2px;
	cursor:      default;
	transition:  opacity .15s;
}
.daaz-gmp-ticker--pause-hover .daaz-gmp-ticker:hover .daaz-gmp-ticker-item {
	opacity: .85;
}

/* Icon */
.daaz-gmp-ticker-icon {
	font-size:   14px;
	line-height: 1;
	flex-shrink: 0;
}

/* Symbol (e.g. BTC, AAPL) */
.daaz-gmp-ticker-sym {
	font-weight:    700;
	font-size:      12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	flex-shrink:    0;
}

/* Long name (e.g. Bitcoin, Apple Inc.) */
.daaz-gmp-ticker-name {
	font-size:     11px;
	font-weight:   400;
	opacity:       .55;
	max-width:     90px;
	overflow:      hidden;
	text-overflow: ellipsis;
}

/* Price */
.daaz-gmp-ticker-price {
	font-size:            13px;
	font-weight:          600;
	font-variant-numeric: tabular-nums;
	flex-shrink:          0;
}

/* Change badge */
.daaz-gmp-ticker-change {
	font-size:   11px;
	font-weight: 600;
	padding:     1px 5px;
	border-radius: 3px;
	flex-shrink: 0;
}

/* Up */
.daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-sym    { color: #10b981; }
.daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-change {
	color:      #10b981;
	background: rgba(16,185,129,.1);
}

/* Down */
.daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-sym    { color: #ef4444; }
.daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-change {
	color:      #ef4444;
	background: rgba(239,68,68,.1);
}

/* Flat */
.daaz-gmp-ticker-item.daaz-gmp-flat .daaz-gmp-ticker-change { color: #64748b; }

/* ── Separator ─────────────────────────────────────────────────────────────── */

.daaz-gmp-ticker-sep {
	margin:     0 12px;
	opacity:    .3;
	font-size:  14px;
	line-height: 1;
	flex-shrink: 0;
}

/* ── Dark themes: up/down need brighter colours ────────────────────────────── */

.daaz-gmp-ticker--dark .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-sym,
.daaz-gmp-ticker--glass .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-sym {
	color: #34d399;
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-change,
.daaz-gmp-ticker--glass .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-change {
	color:      #34d399;
	background: rgba(52,211,153,.18);
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-sym,
.daaz-gmp-ticker--glass .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-sym {
	color: #f87171;
}
.daaz-gmp-ticker--dark .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-change,
.daaz-gmp-ticker--glass .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-change {
	color:      #f87171;
	background: rgba(248,113,113,.18);
}

/* Auto-dark mode */
@media (prefers-color-scheme: dark) {
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-sym   { color: #34d399; }
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-change {
		color: #34d399; background: rgba(52,211,153,.18);
	}
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-sym   { color: #f87171; }
	.daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-change {
		color: #f87171; background: rgba(248,113,113,.18);
	}
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-sym,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-sym { color: #34d399; }
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-change,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-up .daaz-gmp-ticker-change {
	color: #34d399; background: rgba(52,211,153,.18);
}
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-sym,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-sym { color: #f87171; }
.gmp-dark .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-change,
[data-gmp-theme="dark"] .daaz-gmp-ticker--auto .daaz-gmp-ticker-item.daaz-gmp-down .daaz-gmp-ticker-change {
	color: #f87171; background: rgba(248,113,113,.18);
}

/* ── Error state ───────────────────────────────────────────────────────────── */

.daaz-gmp-ticker-error {
	padding:       10px 16px;
	background:    #fef2f2;
	color:         #dc2626;
	border:        1px solid #fecaca;
	border-radius: 6px;
	font-size:     13px;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */

/* Tablet: hide asset long name */
@media (max-width: 768px) {
	.daaz-gmp-ticker-name { display: none; }
}

/* Mobile: smaller font, tighter gaps */
@media (max-width: 480px) {
	.daaz-gmp-ticker { font-size: 12px; }
	.daaz-gmp-ticker-sym    { font-size: 11px; }
	.daaz-gmp-ticker-price  { font-size: 12px; }
	.daaz-gmp-ticker-change { font-size: 10px; padding: 1px 4px; }
	.daaz-gmp-ticker-label  { padding: 0 10px 0 8px; font-size: 9px; }
	.daaz-gmp-ticker-sep    { margin: 0 8px; }
	.daaz-gmp-ticker-icon   { font-size: 12px; }
}

/* ── Accessibility: reduced motion ────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.daaz-gmp-ticker-track { animation-play-state: paused; }
	.daaz-gmp-ticker-dot   { animation: none; }
}
