/* =====================================================
   Guepex / Yalidine — Page de tracking publique
   ===================================================== */

.guepex-tracking-wrapper {
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
}

.guepex-tracking-title {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 16px;
	color: #1a1a1a;
}

/* --- Formulaire de recherche --- */
.guepex-tracking-form {
	display: flex;
	gap: 10px;
	margin-bottom: 24px;
}

#guepex-tracking-input {
	flex: 1;
	padding: 12px 16px;
	border: 2px solid #ddd;
	border-radius: 6px;
	font-size: 15px;
	transition: border-color 0.2s;
	outline: none;
}

#guepex-tracking-input:focus {
	border-color: #0073aa;
	box-shadow: 0 0 0 3px rgba(0,115,170,0.12);
}

#guepex-tracking-submit {
	padding: 12px 24px;
	background: #0073aa;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s;
	white-space: nowrap;
}

#guepex-tracking-submit:hover {
	background: #005a87;
}

#guepex-tracking-submit:disabled {
	background: #999;
	cursor: not-allowed;
}

/* --- Zone de résultat --- */
#guepex-tracking-result {
	min-height: 40px;
}

.guepex-tracking-error {
	background: #fff3f3;
	border: 1px solid #f5c6c6;
	border-radius: 6px;
	padding: 14px 18px;
	color: #c0392b;
	font-weight: 500;
}

/* --- Carte infos colis --- */
.guepex-parcel-card {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.guepex-parcel-header {
	background: #0073aa;
	color: #fff;
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.guepex-parcel-header .tracking-number {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
}

.guepex-parcel-header .carrier-badge {
	background: rgba(255,255,255,0.2);
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
}

.guepex-parcel-meta {
	display: flex;
	gap: 0;
	border-bottom: 1px solid #e8e8e8;
	flex-wrap: wrap;
}

.guepex-parcel-meta-item {
	flex: 1;
	min-width: 140px;
	padding: 12px 18px;
	border-right: 1px solid #e8e8e8;
}

.guepex-parcel-meta-item:last-child {
	border-right: none;
}

.guepex-parcel-meta-item .meta-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #888;
	margin-bottom: 4px;
}

.guepex-parcel-meta-item .meta-value {
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
}

/* --- Statut actuel --- */
.guepex-current-status {
	padding: 14px 20px;
	background: #f0f7ff;
	border-bottom: 1px solid #e0e8f0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.guepex-current-status .status-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #0073aa;
	flex-shrink: 0;
	animation: guepex-pulse 1.5s infinite;
}

.guepex-current-status .status-dot.terminal {
	animation: none;
	background: #46b450;
}

.guepex-current-status .status-dot.returned {
	animation: none;
	background: #dc3232;
}

@keyframes guepex-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.5; transform: scale(1.3); }
}

.guepex-current-status .status-text {
	font-weight: 600;
	font-size: 15px;
	color: #0073aa;
}

/* --- Timeline des événements --- */
.guepex-timeline {
	padding: 16px 20px;
}

.guepex-timeline-title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #888;
	margin-bottom: 14px;
}

.guepex-event {
	display: flex;
	gap: 14px;
	padding: 10px 0;
	position: relative;
}

.guepex-event::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 26px;
	bottom: -10px;
	width: 2px;
	background: #e0e0e0;
}

.guepex-event:last-child::before {
	display: none;
}

.guepex-event-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ddd;
	border: 2px solid #bbb;
	flex-shrink: 0;
	margin-top: 3px;
}

.guepex-event:first-child .guepex-event-dot {
	background: #0073aa;
	border-color: #0073aa;
}

.guepex-event-content {
	flex: 1;
}

.guepex-event-status {
	font-weight: 600;
	font-size: 14px;
	color: #1a1a1a;
}

.guepex-event:first-child .guepex-event-status {
	color: #0073aa;
}

.guepex-event-date {
	font-size: 12px;
	color: #888;
	margin-top: 2px;
}

.guepex-event-reason {
	font-size: 12px;
	color: #666;
	margin-top: 2px;
	font-style: italic;
}

.guepex-no-history {
	color: #888;
	font-style: italic;
	font-size: 14px;
	padding: 10px 0;
}
