
.oddsnews-wrapper{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:20px;
margin:30px 0;

}


.oddsnews-card{

background:#ffffff;

border:1px solid #e5e7eb;

border-radius:16px;

padding:20px;

color:#1f2937;

box-shadow:
0 5px 18px rgba(0,0,0,.06);

transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease;

overflow:hidden;

position:relative;

}


.oddsnews-card:hover{

transform:translateY(-4px);

border-color:#f0b63f;

box-shadow:
0 12px 28px rgba(0,0,0,.12);

}


/* brilho discreto */

.oddsnews-card::before{

content:"";

position:absolute;

top:0;
left:-100%;

width:50%;
height:100%;

background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.4),
transparent
);

animation:oddsCardShine 8s infinite;

pointer-events:none;

}


@keyframes oddsCardShine{

0%{
left:-100%;
}

20%{
left:140%;
}

100%{
left:140%;
}

}



.oddsnews-teams{

display:flex;

justify-content:space-between;

align-items:center;

font-weight:700;

margin-bottom:18px;

font-size:16px;

padding-bottom:12px;

border-bottom:1px solid #f1f3f5;

}


.oddsnews-teams .vs{

font-size:13px;

padding:6px 10px;

border-radius:20px;

background:#f5f7f8;

color:#6b7280;

font-weight:600;

}



.oddsnews-odds{

display:flex;

gap:10px;

justify-content:space-between;

margin-top:12px;

}


.oddsnews-odds div{

flex:1;

text-align:center;

padding:12px;

border-radius:12px;

background:#f8fafc;

border:1px solid #edf2f7;

transition:.3s;

}


.oddsnews-odds div:hover{

background:#fffdf7;

border-color:#f0b63f;

}



.oddsnews-odds strong{

display:block;

font-size:18px;

font-weight:700;

color:#0b5d3f;

margin-bottom:5px;

}


.oddsnews-odds span{

font-size:12px;

color:#6b7280;

font-weight:500;

}



.oddsnews-update-time{

margin-top:14px;

font-size:11px;

color:#9ca3af;

text-align:right;

border-top:1px solid #f3f4f6;

padding-top:10px;

}



/* mensagens */

.oddsnews-error,
.oddsnews-empty{

background:#fff5f5;

border-left:4px solid #d93025;

padding:14px;

border-radius:10px;

color:#7f1d1d;

margin:20px 0;

}



/* mobile */

@media(max-width:768px){

.oddsnews-wrapper{

grid-template-columns:1fr;

gap:16px;

}

.oddsnews-card{

padding:16px;

}

.oddsnews-teams{

font-size:14px;

}

.oddsnews-odds strong{

font-size:16px;

}

}