/*
Theme Name:   	Grou Ingressos
Theme URI:    	https://grou.com.br
Author:       	Bravo Creative
Author URI:     http://bravocreative.com.br
Description:  	Validador de Ingressos Grou Turismo
Version:      	1.0.0
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	grou
Tags:         	 
Images License: GNU General Public License v2 or later
*/
html,body {
    width: 100vw;
    overflow-x: hidden;
    font-family: 'Roboto', sans-serif;
    
}
body {
}
font {
vertical-align: initial !important;
}
.reveal-overlay {
z-index: 10001;
height: auto;
}
.reveal {
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    padding-bottom: 0;
}

.ingressos-lista {
        display: flex;
        flex-direction: column;
        gap: 32px;
        margin: 40px auto 48px auto;
        max-width: 600px;
        width: 95vw;
    }
    .ingresso-card {
        background: rgba(255,255,255,0.8);
        border-radius: 28px;
        box-shadow: 0 4px 24px 0 rgba(31,38,135,0.18);
        padding: 32px 28px 24px 28px;
        position: relative;
        transition: box-shadow .25s;
        border: 1.5px solid rgba(255,255,255,0.18);
        backdrop-filter: blur(6px);
        color: #fff;
        animation: fadeInUp .8s cubic-bezier(.23,1.02,.56,.98);
        display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
    }
    .ingresso-card h3 {
        font-size: 1.25rem;
        font-weight: 700;
        margin-bottom: 8px;
        color: #77787b;
    }
    .ingresso-card p {
        margin: 0 0 8px 0;
        font-size: 1.05rem;
        color: #77787b;
        display: flex;
        align-items: center;
        justify-content: center;

    }
    .ingresso-card p.nome-pax {
        font-size: 23px;

    }
    .ingresso-card p.nome-pax strong {
        line-height: 100%;

    }
    .ingresso-card svg {
        display: inline-block;
        margin-right: 5px;
        min-width: 24px;
    }
    .ingresso-actions {
        display: block;
        width: 100%;
        margin-top: 20px;
        padding-bottom: 20px;
        border-bottom: 1px dashed #333;
    }
    .btn-ticket {
        display: inline-block;
        background: linear-gradient(90deg, #ffb347 0%, #ffcc33 100%);
        color: #222;
        font-size: 1.08rem;
        font-weight: bold;
        border: none;
        border-radius: 40px 40px 40px 40px/60px 60px 40px 40px;
        padding: 14px 38px 14px 38px;
        cursor: pointer;
        box-shadow: 0 4px 24px 0 rgba(255, 204, 51, 0.18);
        position: relative;
        transition: transform .18s, box-shadow .18s, background .18s;
        outline: none;
        text-decoration: none;
        margin: 0 5px;
        width: calc(50% - 10px);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 14px 0;
    }
    .btn-ticket svg {
        display: inline-block;
        margin-right: 5px;
    }
    .btn-ticket:hover, .btn-ticket:focus {
        background: linear-gradient(90deg, #ffe082 0%, #ffd54f 100%);
        transform: scale(1.04) rotate(-1deg);
        box-shadow: 0 6px 32px 0 rgba(255, 204, 51, 0.28);
        color: #111;
    }
    .link-sair, .link-novo-codigo {
        display: inline-block;
margin: 0 10px 30px 0;
color: #222;
font-weight: 600;
background: linear-gradient(90deg, #ffb347 0%, #ffcc33 100%);
border-radius: 22px;
padding: 10px 26px;
text-decoration: none;
transition: background .18s, color .18s, box-shadow .18s;
box-shadow: none;
border: none;
font-size: 1.08rem;
    }
    .link-sair:hover, .link-novo-codigo:hover {
        background: #ffe082;
        color: #222;
        box-shadow: 0 4px 18px 0 rgba(255, 204, 51, 0.18);
    }
    .reveal {
        position: fixed;
        z-index: 9999;
        left: 0;
        top: 0;
        width: auto;
        height: auto;
        background-color: transparent;
        align-items: center;
        justify-content: center;
        animation: fadeIn .3s;
        border: none;
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: rgba(0,0,0,0.4);
        width: 100vw;
        height: 100vh;
        margin: 0;
        padding: 0;
        max-width: 100vw;
    }
    .popup-content {
        background: rgba(255,255,255,0.8);
        border-radius: 32px;
        box-shadow: 0 8px 32px 0 rgba(31,38,135,0.37);
        backdrop-filter: blur(10px);
        padding: 38px 32px 32px 32px;
        max-width: 420px;
        width: 92vw;
        color: #222;
        text-align: center;
        position: relative;
        animation: fadeInUp .5s cubic-bezier(.23,1.02,.56,.98);
    }
    .popup-content h2 {
        font-size: 1.3rem;
        color: black;
        font-weight: 800;
        margin-bottom: 10px;
        letter-spacing: 1px;
        text-shadow: 0 2px 8px #fff7;
    }
    .popup-content .lead {
        font-size: 1.08rem;
        color: black;
        margin-bottom: 8px;
    }
    .popup-content .qrcode {
        margin: 0 auto;
        display: block;
        max-width: 250px;
        border-radius: 18px;
        background-color: #fff;
        padding: 5px;
        box-shadow: 0 2px 12px #0002;
    }
    .popup-close {
        position: absolute;
        top: 12px;
        right: 18px;
        background: none;
        border: none;
        font-size: 2rem;
        color: #222;
        cursor: pointer;
        opacity: 0.7;
        transition: opacity .2s;
    }
    .popup-close:hover { opacity: 1; }
    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    @keyframes fadeInUp {
        from { opacity: 0; transform: translateY(60px);}
        to { opacity: 1; transform: translateY(0);}
    }
    .splash-bg {
        min-height: 100vh;
        width: 100vw;
        background: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.3)), url('images/bg-ingressos.jpeg') center center / cover no-repeat fixed;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
        flex-direction: column;
    }
    .splash-container {
        background: rgba(255,255,255,0.8);
        box-shadow: 0 8px 32px 0 rgba(31,38,135,0.37);
        backdrop-filter: blur(10px);
        border-radius: 32px;
        padding: 48px 32px 40px 32px;
        max-width: 400px;
        width: 90vw;
        text-align: center;
        animation: fadeInUp 1s cubic-bezier(.23,1.02,.56,.98);
    }
    .splash-container .titulo {
        font-size: 23px;
line-height: 1.2;
margin-bottom: 18px;
display: block;
color: #77787b;
font-weight: 400;
text-shadow: none;
    }
    .splash-form input[type="text"] {
        width: 100%;
padding: 30px 18px;
margin-bottom: 10px;
border: none;
border-radius: 30px;
font-size: 31px;
background: rgba(255,255,255,0.85);
box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08);
outline: none;
text-align: center;
transition: box-shadow .3s;
    }
    .splash-form input[type="text"]:focus {
        box-shadow: 0 4px 24px 0 rgba(0,0,0,0.18);
    }
    .ticket-btn {
        display: block;
        background: linear-gradient(90deg, #ffb347 0%, #ffcc33 100%);
        color: #222;
        font-size: 1.3rem;
        font-weight: bold;
        border: none;
        border-radius: 40px 40px 40px 40px/60px 60px 40px 40px;
        padding: 18px 60px 18px 60px;
        cursor: pointer;
        box-shadow: 0 4px 24px 0 rgba(255, 204, 51, 0.25);
        position: relative;
        transition: transform .18s cubic-bezier(.23,1.02,.56,.98), box-shadow .18s;
        outline: none;
        width: 100%;
        color: white;
    }



    h3.titulo-servico {
        border-bottom: 1px solid #bbb;
        padding: 0 30px 10px;
        margin-bottom: 20px;
        font-size: 28px;
        text-align: center;
    }

    .ingresso-resgatado {
        display: flex;
        background-color: red;
        color: white;
        width: 100%;
        height: 50px;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        border-radius: 30px;
        opacity: 0.6;
    }
    
    .grou-ingressos {
    background: rgba(255,255,255,0.8);
    border-radius: 28px;
    box-shadow: 0 4px 24px 0 rgba(31,38,135,0.18);
    padding: 32px 28px 24px 28px;
    position: relative;
    transition: box-shadow .25s;
    border: 1.5px solid rgba(255,255,255,0.18);
    backdrop-filter: blur(6px);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 600px;
    margin-top: 60px;
    width: 600px;
    }
    .grou-ingressos img  {
        max-width: 290px;
    }

    .pax-ingresso {
        margin-bottom: 30px;
    }




.login-parceiro {
	max-width: 600px;
	margin: 0 auto;
	height: calc(100vh - 138px);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.login-parceiro input[type=text], .login-parceiro input[type=password] {
	background: #EFEFF4;
	border-radius: 8px;
	box-shadow: none;
	border: none;
	width: 100%;
}
.login-parceiro input[type=submit] {
	width: 100%;
	border-radius: 8px;
	font-weight: 500;
	font-size: 16px;
}
.login-parceiro label {
	display: none;
}


.menu-painel p {
font-family: Roboto;
font-style: normal;
font-weight: normal;
font-size: 15px;
line-height: 150%;
color: #666666;
font-weight: 300;
}	
.menu-painel h5 {
font-family: Roboto;
font-style: normal;
font-weight: 600;
font-size: 23px;
line-height: 120%;
text-align: center;
margin: 30px 0;
}



.menu-painel ul {
margin: 0;
margin-bottom: 15px;
}
.menu-painel li {
display: block;
list-style: none;
margin: 0;
}

.menu-painel ul li span {
margin: 0;
font-family: Roboto;
font-style: normal;
font-weight: normal;
font-size: 16px;
line-height: 22px;
display: flex;
color: #000000;
align-items: center;
border-bottom: 1px solid #EFEFF4;
padding: 12px 10px;
outline: none;
position: relative;
}
.menu-painel ul li span:after {
position: absolute;
content: ' ';
background: url(images/mobile/icone-breadcumb-menu.svg);
width: 8px;
height: 13px;
top: 20px;
right: 15px;
}


.menu-painel ul li a {
margin: 0;
font-family: Roboto;
font-style: normal;
font-weight: normal;
font-size: 16px;
line-height: 22px;
display: flex;
color: #000000;
align-items: center;
border-bottom: 1px solid #EFEFF4;
padding: 12px 10px;
outline: none;
position: relative;
}
.menu-painel.menu-painel-home a {
	font-size: 22px;
	font-weight: 500;
}
.menu-painel ul li a:after {
position: absolute;
content: ' ';
background: url(images/mobile/icone-breadcumb-menu.svg);
width: 8px;
height: 13px;
top: 20px;
right: 15px;
}

#sidebar-painel {
	width: 250px;
    background: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.3)), url('images/bg-ingressos.jpeg') center center / cover no-repeat fixed;
    min-height: 100vh;
}
#conteudo-painel {
	flex: 1 0 auto;
	padding: 0 30px;
}

#video-container {
	width: 80vw;
    height: 80vw;
    margin: 0 auto;
    background: #eeeeee;
    max-height: 60vh;
    padding: 15px;
    border-radius: 20px;
    margin-bottom: 15px;
}
#qr-video {
	border-radius: 20px;
	position: relative;
	width: 70vw;
	height: 70vw;
	object-fit: cover;
	max-height: 50vh;
	margin: calc(6vw - 20px);
}
.conteudo-painel {
	flex: 1 0 auto;
	padding: 0 30px;
}
#conteudo-painel.conteudo-cliente,
.conteudo-painel.conteudo-cliente {
	padding: 0 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#conteudo-painel.conteudo-cliente h3,
.conteudo-painel.conteudo-cliente h3 {
	margin-bottom: 30px;
}
#conteudo-painel .lista-vantagens,
.conteudo-painel .lista-vantagens {
	margin: 0;
}


#container-painel {
  width: 100vw;
  padding: 40px;
}

#sidebar-painel h2 {
font-size: 25px;
padding: 10px 10px;
margin-top: 10px;
color: black;
background: white;
margin: 20px 10px;
border-radius: 8px;
line-height: 110%;
text-align: center;
}
#sidebar-painel a {
	color: white;
	font-weight: 500;
	font-size: 18px;
}

#conteudo-painel input[type=text] {
	border-radius: 8px;
	height: 50px;
	border: none;
	background: #EFEFF4;
	font-size: 21px;
	box-shadow: none;
	padding: 0 15px;
	font-weight: 500;
}

#conteudo-painel select {
	border-radius: 8px;
	height: 50px;
	border: none;
	background-color: #EFEFF4;
	font-size: 18px;
	box-shadow: none;
	padding: 0 15px;
	font-weight: 500;
	background-position: right 3px center;
	background-repeat: no-repeat;
	background-size: 15px 12px;
}

#conteudo-painel input[type=submit] {
	width: 100%;
	border-radius: 8px;
	font-weight: 500;
	font-size: 16px;
	box-shadow: none;
	border: none;
	color: white;
	height: 50px;
	cursor: pointer;
	transition: all 0.3s;
	margin-top: 20px;
}
#conteudo-painel input[type=submit]:hover {
	opacity: 0.8;
}

#conteudo-painel table {
	
}

#conteudo-painel .seletor-periodo input[type=submit] {
	width: 100%;
	border-radius: 8px;
	font-weight: 500;
	font-size: 16px;
	box-shadow: none;
	border: none;
	color: white;
	height: 50px;
	cursor: pointer;
	transition: all 0.3s;
	margin-top: 0;
}
#conteudo-painel .seletor-periodo input[type=submit]:hover {
	opacity: 0.8;
}

.botao-painel {
	border-radius: 8px;
	font-weight: 500;
	font-size: 18px;
	box-shadow: none;
	border: none;
	color: white;
	height: 50px;
	cursor: pointer;
	transition: all 0.3s;
	margin-top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 20px
}

.botao-painel:hover {
	opacity: 0.8;
	color: white;
}
.inputs-periodo select {
	width: 45%;
	float: left;
	margin-right: 5%;
}
p.nome-pax {
	font-size: 23px;
	line-height: 130%;
}
.botao-menu-painel {
	display: none;
}
.sucesso-beneficio p {
	margin-bottom: 10px;
}
.ativado-sucesso {
	color:white;
	font-size:21px;
	text-align: center;
	padding: 10px 20px;
	text-align:center;
	border-radius: 8px;
	margin-bottom: 20px;
	display: block;
}





    @media (max-width: 600px) {
        .splash-container { padding: 28px 8vw 24px 8vw; }
        .splash-container .titulo { font-size: 1.2rem; }

        .ingresso-actions .btn-ticket {
            font-size: 17px;
            padding: 14px 20px 14px 20px;
        }
        .link-sair, .link-novo-codigo {
            margin: 0 10px 15px 0;
        }
        .popup-content {
            background: rgba(255,255,255,0.75);
        }
        .menu-icones .painel-btn {
            text-align: center;
        }
    }