/*==========================================
RESET
==========================================*/
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:linear-gradient(135deg,#eef3f9,#dfe9f7,#eef6ff);
    background-attachment:fixed;
    color:#1d1d1f;
    font-size:15px;
}

img{
    display:block;
    max-width:100%;
}

a{
    color:#0a66ff;
    text-decoration:none;
}

a:hover{
    text-decoration:underline;
}

.event-inline-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  vertical-align: middle;
}
/*==========================================
LAYOUT
==========================================*/
.event-page{
    width:100%;
    padding:16px;
    margin:0 auto;
}

/*==========================================
TIPOGRAFIA
==========================================*/
h1{
    font-size:24px;
    font-weight:700;
    margin-bottom:12px;
}

h2{
    font-size:18px;
    margin-bottom:10px;
}

h3{
    font-size:16px;
    margin-bottom:6px;
}

/*==========================================
BANNER
==========================================*/
.event-banner{
    margin-bottom:16px;
}

.event-banner img{
    width:100%;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
}

/*==========================================
CARDS
==========================================*/
.event-card,
.event-map,
.event-alert,
.ticket-card,
.seat-card,
.resume-card{
    position:relative;
    overflow:visible;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.35);
    border-radius:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    padding:18px;
    margin-bottom:14px;
    transition:.2s;
}

.event-card:hover{
    z-index:1000;
}

/*==========================================
EVENTO
==========================================*/
.event-info{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
}

.event-main{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.event-flyer{
    width:100%;
}

.event-flyer img{
    width:100%;
    display:block;
    border-radius:14px;
}

.event-highlight{
    margin:8px 0 12px;
}

.event-date{
    display:inline-block;
    padding:6px 10px;
    background:rgba(10,102,255,.10);
    color:#0a66ff;
    border-radius:8px;
    font-size:14px;
    font-weight:600;
}

.event-details{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.detail-item{
    font-size:14px;
    color:#444;
}

.detail-item.strong{
    font-size:15px;
    font-weight:600;
    color:#1d1d1f;
}

.detail-item.small{
    font-size:12px;
    color:#777;
}

.status{
    margin-top:10px;
    font-size:13px;
    font-weight:500;
    color:#0a66ff;
}
/*==========================================
TICKET
==========================================*/
.ticket-card{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.ticket-info small{
    color:#777;
}

.ticket-price{
    font-size:22px;
    font-weight:bold;
    color:#0a66ff;
}

/*==========================================
QUANTIDADE
==========================================*/
.ticket-quantity{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.ticket-quantity button{
    width:40px;
    height:40px;
    border:none;
    border-radius:6px;
    background:transparent;
    border:1px solid rgba(10,102,255,.35);
    color:#0a66ff;
    font-size:18px;
    cursor:pointer;
    transition:.2s;
}

.ticket-quantity button:hover{
    background:rgba(10,102,255,.08);
}

.ticket-quantity input{
    width:55px;
    height:40px;
    border:none;
    border-radius:8px;
    background:#f7f7f7;
    text-align:center;
    font-size:16px;
}

/*==========================================
RESUMO
==========================================*/
.resume-card{
    background:linear-gradient(145deg,#0a66ff,#479cff);
    color:white;
}

.resume-card h2{
    color:white;
}

.resume-card div{
    display:flex;
    justify-content:space-between;
    margin:10px 0;
    font-size:16px;
}

/*==========================================
INFORMAÇÕES EXTRAS
==========================================*/
.info-extra{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin:14px 0;
}

/*==========================================
TAXA
==========================================*/
.tax-info{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:13px;
}

.tax-info a{
    color:#0a66ff;
    font-weight:500;
}

.help-icon{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:50%;
    border:1px solid rgba(10,102,255,.4);
    background:rgba(255,255,255,.6);
    color:#0a66ff;
    font-size:11px;
    font-weight:700;
    line-height:1;
    cursor:help;
    position:relative;
    z-index:999;
}

/*==========================================
REGULAMENTO
==========================================*/
.reg-button{
    width:100%;
    height:44px;
    border:1px solid rgba(10,102,255,.35);
    border-radius:10px;
    background:transparent;
    color:#0a66ff;
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    transition:.2s;
}

.reg-button:hover{
    background:rgba(10,102,255,.08);
}

/*==========================================
DETALHES DO EVENTO
==========================================*/
.info-title{
    font-size:14px;
    font-weight:600;
    color:#1d1d1f;
    text-align:center;
}

.info-text{
    font-size:13px;
    color:#444;
    line-height:1.6;
    text-align:justify;
}

/*==========================================
BOTÕES
==========================================*/
.buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:16px;
}

.buttons button{
    width:100%;
    height:48px;
    border:1px solid rgba(10,102,255,.35);
    border-radius:6px;
    background:transparent;
    color:#0a66ff;
    font-size:15px;
    cursor:pointer;
    transition:.2s;
}

.buttons button:hover{
    background:rgba(10,102,255,.08);
}

.buttons button:last-child{
    background:rgba(10,102,255,.12);
    border-color:rgba(10,102,255,.6);
}

/*==========================================
MAPA
==========================================*/
.map-action{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.map-title{
    font-size:18px;
    font-weight:600;
}

.map-sub{
    font-size:13px;
    color:#666;
}

.map-btn{
    width:100%;
    height:58px;
    border:1px solid #0a66ff;
    border-radius:10px;
    background:#0a66ff;
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.2s ease;
    position:relative;
    overflow:hidden;
    z-index:1;
}

.map-btn:hover{
    background:#0854d1;
    border-color:#0854d1;
    transform:translateY(-2px);
}

/*==========================================
PULSE
==========================================*/
.pulse-btn::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:10px;
    background:rgba(255,255,255,.35);
    transform:scale(.8);
    opacity:0;
    animation:pulse 2s infinite;
}

@keyframes pulse{
    0%{
        transform:scale(.9);
        opacity:.5;
    }
    70%{
        transform:scale(1.35);
        opacity:0;
    }
    100%{
        opacity:0;
    }
}

/*==========================================
TABLET
==========================================*/
@media (min-width:768px){

    .event-page{
        width:95%;
        padding:20px;
    }

    h1{
        font-size:32px;
    }

    .event-info{
        grid-template-columns:2fr 1fr;
        align-items:start;
    }

    .event-flyer{
        position:sticky;
        top:20px;
    }

    .ticket-card,
    .seat-card{
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
    }

    .ticket-price{
        width:180px;
        text-align:center;
        font-size:26px;
    }

    .buttons{
        flex-direction:row;
    }

    .buttons button{
        width:50%;
    }

}

/*==========================================
DESKTOP
==========================================*/
@media (min-width:1024px){

    .event-page{
        max-width:1280px;
    }

    h1{
        font-size:40px;
    }

    h2{
        font-size:25px;
    }

    .event-card,
    .ticket-card,
    .seat-card,
    .resume-card{
        padding:28px;
    }

}
