*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:#dcdcdc;
font-family:Arial,Helvetica,sans-serif;
padding:20px;
}

.instagram-card{

width:1080px;
height:1350px;

background:#f5f5f5;

margin:auto;

position:relative;

overflow:hidden;

box-shadow:0 10px 40px rgba(0,0,0,.15);

}

.top-line{

height:8px;

background:#00307a;

}

.header{

height:180px;

background:#001b4d;

color:#fff;

display:grid;

grid-template-columns:220px 1fr 180px;

align-items:center;

padding:20px 40px;

}

.header-left{

display:flex;

flex-direction:column;

gap:10px;

align-items:flex-start;

}

.logo-spd{

width:120px;

height:auto;

}

.logo-gt7{

width:140px;

height:auto;

opacity:.95;

}

.header-center{

text-align:center;

}

.season{

font-size:12px;

letter-spacing:5px;

font-weight:700;

margin-bottom:12px;

opacity:.8;

}

.header-center h1{

font-size:68px;

font-weight:900;

line-height:1;

margin-bottom:8px;

}

.header-center h2{

font-size:26px;

font-weight:800;

}

.header-right{

text-align:center;

}

.etapa-label{

font-size:16px;

font-weight:700;

letter-spacing:3px;

margin-bottom:5px;

}

.etapa-numero{

font-size:86px;

font-weight:900;

line-height:1;

}

.podium{

display:flex;

flex-direction:column;

gap:12px;

padding:25px 35px;

}

.podium-card{

display:grid;

grid-template-columns:60px 1fr 140px;

align-items:center;

padding:18px 24px;

border-radius:14px;

}

.gold{

background:#fff6db;

border-left:8px solid #d8a400;

}

.silver{

background:#f2f2f2;

border-left:8px solid #a7a7a7;

}

.bronze{

background:#f8ece1;

border-left:8px solid #c97d3c;

}

.medal{

font-size:34px;

}

.podium-driver{

font-size:28px;

font-weight:900;

color:#001b4d;

}

.podium-team{

font-size:14px;

font-weight:700;

color:#666;

margin-top:4px;

text-transform:uppercase;

}

.podium-points{

text-align:right;

font-size:46px;

font-weight:900;

color:#001b4d;

}

.podium-points span{

display:block;

font-size:12px;

font-weight:700;

letter-spacing:2px;

color:#777;

}

.ranking-card{

margin:0 35px;

border-radius:16px;

overflow:hidden;

border:1px solid #d7d7d7;

background:#fff;

}

.ranking-header{

display:grid;

grid-template-columns:80px 1fr 180px 100px;

background:#001b4d;

color:#fff;

font-size:14px;

font-weight:800;

padding:14px 20px;

letter-spacing:1px;

}

.row{

display:grid;

grid-template-columns:80px 1fr 180px 100px;

align-items:center;

padding:14px 20px;

border-bottom:1px solid #ececec;

min-height:70px;

}

.row:last-child{

border-bottom:none;

}

.pos{

font-size:26px;

font-weight:900;

color:#001b4d;

}

.driver{

font-size:24px;

font-weight:700;

color:#111;

}

/* AJUSTE NOVO */

.team{

display:flex;

justify-content:center;

align-items:center;

height:46px;

border-radius:8px;

background:linear-gradient(
90deg,
rgba(0,27,77,0.00) 0%,
rgba(0,27,77,0.035) 50%,
rgba(0,27,77,0.00) 100%
);

}

.team img{

max-height:34px;

max-width:130px;

object-fit:contain;

filter:
drop-shadow(0 0 1px rgba(0,0,0,.15))
drop-shadow(0 1px 2px rgba(0,0,0,.12));

}

.points{

text-align:right;

font-size:24px;

font-weight:900;

color:#001b4d;

}

.restantes-section{

margin:25px 35px 0 35px;

padding:18px 22px;

background:#ffffff;

border-radius:14px;

border:1px solid #d7d7d7;

}

.restantes-title{

font-size:13px;

font-weight:900;

letter-spacing:2px;

color:#001b4d;

margin-bottom:12px;

}

#restantes{

font-size:17px;

line-height:1.8;

font-weight:700;

color:#444;

}

.footer{

position:absolute;

left:35px;

right:35px;

bottom:25px;

display:flex;

justify-content:space-between;

align-items:center;

font-size:13px;

font-weight:700;

color:#666;

padding-top:15px;

border-top:1px solid #ddd;

}

.download-area{

width:1080px;

margin:20px auto;

text-align:center;

}

#downloadBtn{

background:#00307a;

color:#fff;

border:none;

padding:16px 60px;

font-size:22px;

font-weight:900;

border-radius:10px;

cursor:pointer;

}

#downloadBtn:hover{

opacity:.9;

}