/* Loading do catálogo — skeleton alinhado ao grid real, sem overlay pesado */

@keyframes bdm-sk-shimmer {
0% { background-position: 120% 0; }
100% { background-position: -120% 0; }
}

@keyframes bdm-sk-pulse {
0%, 100% { opacity: 0.55; }
50% { opacity: 0.85; }
}

.catalog-skeleton-shimmer {
background: linear-gradient(
90deg,
#1e2326 0%,
#1e2326 38%,
#2a3136 50%,
#1e2326 62%,
#1e2326 100%
);
background-size: 220% 100%;
animation:
bdm-sk-shimmer 1.6s ease-in-out infinite,
bdm-sk-pulse 1.6s ease-in-out infinite;
animation-delay: var(--sk-delay, 0ms), var(--sk-delay, 0ms);
border-radius: 4px;
}

.catalog-load-placeholder {
display: none;
padding: 0 0 8px;
min-height: 200px;
}

.catalog-load-placeholder[wire\:loading] {
display: block;
}

.catalog-load-placeholder .catalog-skeleton {
padding: 0;
}

.catalog-skeleton-league {
margin-bottom: 4px;
}

.catalog-skeleton-league-bar {
height: 28px;
width: 100%;
margin: 0 0 2px;
border-radius: 0;
opacity: 0.75;
}

.catalog-skeleton-row {
pointer-events: none;
border-top-color: #252a2d;
}

.catalog-skeleton-row .catalog-skeleton-clock {
display: block;
height: 22px;
width: 100%;
border-radius: 3px;
}

.catalog-skeleton-row .catalog-skeleton-teams {
display: block;
height: 26px;
width: 100%;
}

.catalog-skeleton-row .catalog-skeleton-score {
display: block;
height: 20px;
width: 100%;
}

.catalog-skeleton-row .catalog-skeleton-odd {
display: block;
height: 32px;
width: 100%;
min-width: 0;
}

.catalog-skeleton-row .catalog-skeleton-more {
display: block;
height: 18px;
width: 100%;
border-radius: 3px;
}

.bdm-jogador-v2 .catalog-load-placeholder {
padding: 0;
}

.bdm-jogador-v2 .catalog-skeleton-league-bar {
height: 30px;
margin-bottom: 0;
}

/* Mercados (partida) */
.markets-load-wrap {
position: relative;
min-height: 120px;
}

.catalog-load-placeholder--markets {
min-height: 160px;
padding-top: 4px;
}

.markets-skeleton-market {
margin-bottom: 10px;
padding: 10px;
border: 1px solid #2d3234;
border-radius: 6px;
background: #1a1e21;
}

.catalog-skeleton-market-title {
height: 14px;
width: 48%;
margin-bottom: 10px;
}

.markets-skeleton-options {
display: flex;
flex-direction: column;
gap: 6px;
}

.catalog-skeleton-market-option {
min-height: 38px;
width: 100%;
border: 1px solid #2a3238;
border-radius: 4px;
}

.bdm-jogador-v2.partida-page .catalog-skeleton-market-option {
min-height: 36px;
}

/* Odds em refresh — shimmer discreto */
.odd-skeleton {
background: linear-gradient(
90deg,
#252b30 0%,
#252b30 40%,
#323a40 50%,
#252b30 60%,
#252b30 100%
) !important;
background-size: 200% 100% !important;
animation: bdm-sk-shimmer 1.4s ease-in-out infinite !important;
opacity: 0.9;
}

.odd-skeleton-inline {
height: 13px !important;
width: 36px !important;
border-radius: 3px !important;
}

/* Legado: camadas absolutas (se ainda existirem) ficam discretas */
.catalog-skeleton-layer {
background: rgba(15, 18, 20, 0.35) !important;
backdrop-filter: blur(1px);
}

.catalog-body-loading[wire\:loading] {
opacity: 1 !important;
filter: none !important;
pointer-events: none;
}
