.skip-link{position:absolute;top:-40px;left:0;background-color:#0057b4;color:#fff;padding:10px;z-index:100;text-decoration:none;transition:top .3s}.skip-link:focus,.skip-link:hover{top:0}
			.footer {
					--footer-bg: #1f262d;
					--footer-link-color: #ffffff;
			}


			body {
					--main-color:#024ddf;
					--main-gradient-color-1: #024ddf;
  					--main-gradient-color-2: #024ddf;
					--header-color: #024ddf;


					font-family: Averta, "Helvetica Neue", Helvetica, Arial, sans-serif;

			}

				nav img.logo-dark {
    display: none;
}

nav img.logo-light {
    display: block;
}

.event-picker .dropdown .btn {
    overflow: hidden;
}

.event-picker .dropdown .dropdown-menu li.agotado div {
    padding: 15px 20px;
    clear: both;
    font-weight: 600;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
    border-bottom: solid 1px #d7d7d773;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-wrap: balance;
    text-decoration: none;
}


#eventList .home-events .col-md-12 { width:100%}
#eventList .home-events .col-md-8  , #eventList .home-events .col-md-4 { width:50%}
@media screen and (max-width: 1024px) {#eventList .home-events .col-md-12 { width:100%}}
.ticket-shop .btn-primary { cursor:pointer !important}

.event_thumb_info .event_venue { display:none}

img.banner-town {
width: 100%;
    border-radius: 5px;
    height: 380px;
    object-fit: cover;
}
.event-thumb .title-container {
    z-index: 1;
}
.va-container:hover img {
    transform: scale(1.05) !important;
}
.event-thumb img {
    transition: 0.4s;
}

.title-container { opacity:0; transition:0.3s ease-in-out}
.title-conttainer .event_thumb_info, .title-container .thumb-title {margin-left: 20px; transition:0.4s ease-in-out}

.va-container:hover .title-container { opacity:1}
.va-container:hover title-conttainer .event_thumb_info, .va-container:hover .title-container .thumb-title {margin-left: 0px; }

@media screen and (max-width: 768px) {
img.banner-town {
    height: 300px;
}
}
@media screen and (max-width: 1024px) {
.home-events .col-md-8, .home-events .col-md-4 {
    width: 100% !important;
}
}

.title-container {
    display: flex;
    padding: 40px;
    position: absolute;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-end;
    background: rgb(0,0,0);
    background: linear-gradient(51deg, rgb(3 95 196) 0%, rgb(0 101 210 / 42%) 100%);
    flex-direction: column;
}

.title-container .thumb-title {
font-size: 1.6em;
font-weight: 600;
}

.va-container:hover {
    transform: scale(1);
}

.event-thumb {
    background-color: var(--main-color);
    box-shadow: none !important;
}

.event_thumb_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff;
    font-size: 1em;
    font-weight: 500;
gap:2px;
}

.event_thumb_info span.event_venue { opacity:0.6}


@media screen and (max-width: 768px) {
.title-container { text-align:left !important; padding:20px !important;}
.title-container .thumb-title {
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.4em;
    text-align: initial;
}
}

.container .content ul {padding:0 0 0 20px !important;}
.container .content table {width:100%; border:solid 1px #f1f1f1}
.container .content table td {border:solid 1px #f1f1f1; padding:10px;}

.carousel-inner .item {
    height: 300px !important;
}

.carousel-indicators {
    bottom: 10px !important;
    opacity: 1;
}

.carousel-indicators li , .carousel-indicators li.active  {
    width: 10px ;
    height: 10px;
    margin: 0 1px;
}


.search_box_home h1 {
    text-transform: none;
}

body {
     padding-top: 50px;
     letter-spacing: 0.3px;
}
 .footer-tm ul li a {
     color: #fff;
     margin: 0 !important;
}
 .home-categories , .home-events {
     width:90%;
     max-width: 1260px;
     margin: 0 auto;
}
 .home-events .col-md-8, .home-events .col-md-4 {
     width:50%;
}
 @font-face {
     font-family: "Averta";
     src: url("assets/fonts/Averta-Light.woff2") format("woff2");
     font-weight: 300;
}
 @font-face {
     font-family: "Averta";
     src: url("assets/fonts/Averta-Regular.woff2") format("woff2");
     font-weight: 400;
}
 @font-face {
     font-family: "Averta";
     src: url("assets/fonts/Averta-Semibold.woff2") format("woff2");
     font-weight: 600;
}
 @font-face {
     font-family: "Averta";
     src: url("assets/fonts/Averta-Bold.woff2") format("woff2");
     font-weight: 700;
}
 @font-face {
     font-family: "Averta";
     src: url("assets/fonts/Averta-Black.woff2") format("woff2");
     font-weight: 900;
}
 @font-face {
     font-family: "Averta";
     src: url("assets/fonts/Averta-RegularItalic.woff2") format("woff2");
     font-style: italic;
}
 @media (min-width: 780px) {
     .event-header .ticket-shop #buyButton {
         margin-left: 30px;
    }
}
 .event-header .ticket-shop {
     position: relative;
     background: rgba(251,252,255);
     border: solid 2px #F1F2F5;
}
 .event-header .ticket-shop #show-button, .event-header .ticket-shop #quantity-button {
     border: solid 1px rgba(0, 0, 0, 0.15);
}
 .navbar ul.user-menu {
     padding: 15px 0 0 0;
}
 .navbar-brand {
     line-height: normal;
}
 .event-header .ticket-shop.affix{
     top: 60px;
}
 .main {
     height: 180px;
     background: #024DDF !important;
}
 .main h1 { display: none;}
 .navbar .btn {
     margin-top: 0px;
     background: transparent;
     font-size: 1.1em;
}
 #login_button #ingresar {
     color: #353C42 !important;
}
 .navbar a {
     font-size:1em;
}
 .navbar .logo {
     padding: 20px 0;
}
 .navbar-menu a:hover {
     background-color: rgb(230, 230, 230);
}
 .navbar-menu a:hover::after {
     width:0px;
}
 @media (min-width: 1600px){
     .container {
         width: 1260px;
    }
}
 .footer-tm {
    color:#ffffff;
}
 .footer-tm h5,  .footer-tm h3 {
    font-size:1em;
    font-weight:bold;
    margin-bottom:15px;
}
 .footer-tm ul {
     padding:0;
     margin:0 0 40px 0
}
 .footer-tm ul li {
     list-style:none;
     display:block;
     margin-bottom:10px;
}
 .footer-tm ul li a {
     color:#fff
}
 .footer-tm img.logo {
     margin:0 0 40px 0;
     height:25px
}
 .footer-tm .foo-copy {
     text-align:right;
     font-size:0.8em;
}
 .footer-tm .foo-social a {
     margin-right:20px
}
 .footer {
    border: none
}
 @media (max-width: 768px){
     .footer-tm .foo-social {
         margin-bottom:40px
    }
     .footer-tm .foo-copy {
         text-align:left;
    }
}
 #eventList.container {
     width:100%;
     padding:0;
}
 .tm-main {
     height: 92vh;
     background: #024DDF;
     background-image: url(https://cdn.getcrowder.com/images/1669406310174-null-main-br.jpg);
     background-size: cover;
     animation: bgAnimate 15s ease-in-out infinite alternate;
     overflow:hidden;
     text-align: center;
border-top: solid 30px #0262cf;
}
 @keyframes bgAnimate {
     0% {
         background-position: 2% 0;
    }
     100% {
         background-position: 100% 0;
    }
}
 .tm-main .tm-t {
     margin-bottom: 10vh;
}
 .tm-main .tm-t img {
     height:35vh;
     animation: tAnimate 2s ease-in-out;
}
 @keyframes tAnimate {
     0% {
         transform: scale(2.5);
         opacity:0;
    }
     100% {
         transform: scale(1);
         opacity:1;
    }
}
 .tm-main .tm-overlay {
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     flex-wrap: nowrap;
     align-content:center ;
     height: 100%;
     background: linear-gradient(0deg, rgba(2,108,223,1) 0%, rgb(0 69 145 / 50%) 49%, rgba(2,108,223,0) 100%);
}
 .tm-main h2 {
     margin: 0;
     font-size: 2em;
     color: #fff;
     font-weight: 400;
     animation: h2Animate 1s ease-in-out;
}
 .tm-main h2 span {
     color: #00FFFF;
}
 @keyframes h2Animate {
     0% {
         transform: scale(0.5);
         opacity:0;
    }
     100% {
         transform: scale(1);
         opacity:1;
    }
}
 .tm-main i {
     display: block;
     width: 14px;
     height: 14px;
     border: solid 2px #ffffff70;
     border-left: none;
     border-top: none;
     transform: rotate(45deg);
     border-radius: 3px;
     bottom: 8vh;
     position: absolute;
}
 .tm-suscribe {
     background: #024DDF;
     padding: 80px 20px 100px;
     text-align: center;
}
 .tm-suscribe h6 {
     margin: 0;
     font-size: 1.8em;
     color: #fff;
     font-weight: 400;
}
 .tm-social {
     display: block;
     position: relative;
     height: 300px;
     color: #fff;
     text-decoration: none;
}
 .tm-social .tm-s {
     width: 100%;
     position: relative;
     float: left;
     height: 300px;
     display: flex;
     flex-direction: column;
     flex-wrap: nowrap;
     justify-content: center;
     align-items: center;
     align-content: center;
     text-align: center;
     background: #000;
}
 .tm-social .tm-s h3 {
     font-size:1.8em;
     color: #fff;
     margin: 0 0 10px 0;
     font-weight: normal;
}
 .tm-social .tm-s {
     color: #fff;
     text-decoration: none;
     opacity: 0.95;
     transition: 0.2s;
}
 .tm-social .tm-s:hover{
     opacity:1;
}
 .tm-social .tm-s span {
     color: #00FFFF;
}
.tm-social .tm-instagram {
background: url(https://cdn.getcrowder.com/images/1683576764155-null-TM_Banner_Instagram.jpeg) no-repeat center center;
background-size: cover;
}
.tm-social .tm-facebook {
background: url(https://cdn.getcrowder.com/images/1683576746022-null-TM_Banner_Facebook.jpg) no-repeat center center;
background-size: cover;
}
.tm-social .tm-linkedin {
background: url(https://cdn.getcrowder.com/images/1683576712789-null-TM_Banner_LinkedIn.jpg) no-repeat center center;
background-size: cover;
}
.tm-social .tm-twitter{
background: url(https://cdn.getcrowder.com/images/1669823412469-null-twitter.jpg) no-repeat center center;
background-size: cover;
}
.tm-social .tm-blog{
background: url(https://cdn.getcrowder.com/images/1683576726535-null-TM_Banner_Blog.jpg) no-repeat center center;
background-size: cover;
}
.tm-social .tm-tiktok {
background: url(https://cdn.getcrowder.com/images/1691588419752-null-tiktok.jpeg) no-repeat center center;
background-size: cover;
}

.tm-social .tm-overlay img {
width:40px;
}

 .tm-business {
     background:#1F262D;
     padding: 100px 20px;
     text-align: center;
     border-bottom: solid 1px #363636;
}
 .tm-business h2 {
     margin: 0;
     font-size: 1.8em;
     color: #fff;
     font-weight: 400;
     margin: 0 0 60px 0;
}
 .tm-business a {
     border: solid 1px #fff;
     text-decoration: none;
     padding: 18px 30px;
     font-size:1.1em;
     color: #fff;
}
 @media (max-width: 768px){
     .tm-main {
         height: 70vh;
         background-image: url(https://cdn.getcrowder.com/images/1669406540752-null-main-m.jpg);
         animation: bgAnimate 25s ease-in infinite alternate;
    }
     .tm-main .tm-overlay {
         padding: 0 30px;
         background: linear-gradient(0deg, #024DDF 0%, #024DDFb0 49%, #024DDF94 100%);
    }
     .tm-main .tm-t img {
         height:150px;
    }
     .tm-social {
         display: block;
         position: relative;
         height: 300px;
    }
}
 .navbar {
     height: 60px;
     background-color:#024DDF;
     box-shadow: none !important;
}

 .navbar-menu a {
     color: #fff;
     font-size: 1.1em !important;
}
 .navbar-menu a:hover {
     background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.176));
     background-color: #0000 !important;
}
 #login_button #ingresar {
     color: #fff !important;
}
 a.btn-togle span {
     background:#fff;
}
 .navbar a {
     font-size: 1em;
}
 .navbar-collapse ul li:first-child a {
     border-top:none !important
}
 .quentro-modal .modal-body {
    padding: 20px !important;
}
 .quentro-modal .modal-header a.quentro-logo img {
    width: 120px;
}
 .quentro-modal .modal-body img {
    width: 80px !important;
}
 .quentro-modal .close-quentro-modal {
    width: 25px;
     float: right !important;
}
 .tm-grid {
}
 .tm-grid .tm-grid-event {
     color: #fff;
     background-size: cover;
     background-position: center ;
     height: 100%;
}
 .tm-grid .tm-grid-event .tm-grid-event-overlay {
    background: linear-gradient(90deg, rgba(6,25,46,0.95) 0%, rgba(8,30,54,0.65) 40%, rgba(13,32,52,0.15) 100%);
     height: 100%;
     display: flex;
     align-items: flex-end
}
 .tm-grid .event-title {
     font-size:2em;
     font-weight: 600;
}
 .tm-grid .event-info {
     font-size:1em;
     margin-bottom: 20px;
     font-weight:600
}
 .tm-grid .event-info span {
     opacity: 0.7;
     display: block;
     font-size:1em;
     font-weight: normal;
}
 .tm-grid a.btn-event {
     font-size:1.1em;
     color: #fff;
     font-weight: 500;
     background: var(--main-color);
     padding: 12px 20px;
     text-decoration: none;
     display: inline-block;
     border-radius:2px
}
 .tm-grid .event-info-content {
     padding: 70px;
}


.grid-1 { grid-area: 1 / 1 / 2 / 3; }
.grid-2 { grid-area: 2 / 1 / 3 / 2; }
.grid-3 { grid-area: 2 / 2 / 3 / 3; }
.grid-4 { grid-area: 3 / 1 / 4 / 2; }
.grid-5 { grid-area: 3 / 2 / 4 / 3; }
.grid-6 { grid-area: 4 / 1 / 5 / 3; }
.grid-1 , .grid-2 , .grid-3, .grid-4 , .grid-5, .grid-6, .grid-7, .grid-8 { height: 60vh; }

.grid-1 { width:50%; position: relative;float: left;}
.grid-2 { width:100% ; position: relative;float: left;}

.grid-1, .grid-2 {
    height: 55vh;
    min-height: 400px;
}
 
 @media (max-width: 1440px){
     .tm-grid .event-title {
         font-size: 1.6em;
    }
     .tm-grid .event-info {
         font-size: 1em;
    }
     .tm-grid .event-info-content {
         padding: 4em;
    }
     .tm-grid a.btn-event {
         font-size: 1em;
        padding: 10px 15px;
    }
}
 @media (max-width: 768px){

     .parent-grid {
        display: flex;
        flex-direction: column;
         height: auto;
    }

    .grid-1 , .grid-2 , .grid-3, .grid-4 , .grid-5, .grid-6, .grid-7, .grid-8 { height: 50vh; }


     .tm-grid .event-info-content {
         padding:30px 20px;
    }
     .tm-grid .event-info span {
         margin: 0;
         display: block;
    }
}
 body {
     --order-top-bg: #0046cb;
     --order-top-color: #fff;
     --header-height: 60px;
     padding-top:60px;
}
 .pg_content .pg_sidebar {
     display:none !important
}
 .pg_content .col-sm-8 {
     margin: 0px auto;
     width:100%;
     padding: 0 200px;
     float: inherit;
}
 @media (max-width: 1280px){
    .pg_content .col-sm-8 {
        padding: 0px 100px;
    }
 }
 
 @media (max-width: 768px){
    .pg_content .col-sm-8 {
        padding: 0px 20px;
    }
    .grid-1, .grid-2 {
        height: 40vh;
        width: 100%;
        min-height: 350px;
    }
}


div.accesibility {
    bottom: 30% !important;
}


.event_blocks .grid-label {
    position: sticky !important;
    color: #fff;
    background: var(--main-color);
    font-weight: normal;
    font-size: 0.8em;
    border-radius: 2px;
    top: 3px;
    right: 20px;
    display: block;
    z-index: 1;
    margin: 0;
    padding: 4px 8px;
}

#userLogin .modal.fade.login_mod {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    overflow-y: auto;
    outline: 0;
}
#userLogin .modal.fade.login_mod.in {
    display: block;
}
#userLogin .modal-dialog {
    position: relative;
    margin: 80px auto 30px;
    z-index: 1051;
}
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1040;
}
.modal-backdrop.in {
    opacity: 1;
}
#userLogin .modal-header {
    position: relative;
}
#userLogin .modal-header .close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 1.2em;
    color: var(--header-link-color, #024ddf);
    text-decoration: none;
}
#userLogin .modal-header p a {
    color: var(--header-link-color, #024ddf);
    cursor: pointer;
}
#userLogin .recovery a {
    color: #888;
    font-size: 0.9em;
}
#userLogin #securePassContainer {
    position: relative;
}
#userLogin .secure-pass {
    position: relative !important;
    margin-top: 8px;
    font-size: 0.85em;
    box-shadow: none !important;
    padding: 8px 0 0 !important;
    z-index: auto !important;
}
#userLogin .secure-pass span {
    display: block;
    margin: 3px 0;
    color: #666;
}
#userLogin .legalTerms label {
    font-weight: normal;
    font-size: 0.85em;
    line-height: 1.4;
}
#userLogin .error, #userLogin .notification.error {
    color: #d32f2f;
    font-size: 0.85em;
    margin-top: 4px;
}

/* Responsive – alinhado ao oficial Ticketmaster */
@media (max-width: 768px) {
    body {
        padding-top: var(--header-height-mobile, 60px);
    }

    html {
        scroll-padding-top: 80px;
    }

    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 1200;
        max-height: none;
        overflow: visible;
    }

    .navbar-collapse.collapse:not(.in) {
        display: none !important;
    }

    .navbar-collapse.collapse.in {
        display: block !important;
    }

    a.btn-togle.open span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    a.btn-togle.open span:nth-child(2) {
        opacity: 0;
    }

    a.btn-togle.open span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    a.btn-togle span {
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    body.nav-open {
        overflow: hidden;
    }

    #userLogin .modal-dialog,
    #login-modal {
        width: 96%;
        max-width: 440px;
        margin: 10px auto;
    }

    #userLogin .modal-header,
    #userLogin .modal-body,
    #userLogin .modal-footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    #login-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1040;
    }

    .event_info table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pg_content {
        padding-left: 15px;
        padding-right: 15px;
    }

    #checkoutCart {
        display: block !important;
    }

    .checkout-process {
        display: block !important;
        width: 100% !important;
        padding-bottom: 120px;
    }

    .checkout-resume .buy-resume .resume-header i,
    .checkout-resume .buy-resume .resume-footer .fa-chevron-up {
        opacity: 1 !important;
    }

    .footer-tm .col-xs-12.col-sm-4 {
        margin-bottom: 24px;
    }

    .footer-crowder .lang-select {
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }

    .account_footer {
        flex-direction: column;
    }

    .account_footer .btn {
        width: 100%;
    }
}

@media (min-width: 769px) {
    .checkout-process {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 24px;
    }

    .checkout-resume {
        position: sticky;
        top: calc(var(--header-height) + 20px);
    }
}

/* Primeira Classe - lista de pontos de embarque */
.tmpe-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    background: #fafbfc;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.tmpe-desktop-view { display: block; }
.tmpe-mobile-view { display: none; }

.tmpe-ticket-item {
    display: flex;
    align-items: center;
    padding: 20px 24px;
    background: #fff;
    border-bottom: 1px solid #d6d6d6;
    gap: 24px;
}

.tmpe-logo-container {
    width: 56px;
    height: 56px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    background: transparent;
    border: none;
}

.tmpe-logo-img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    display: block;
}

.tmpe-info-container { flex: 1; min-width: 0; }

.tmpe-ticket-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #262626;
    line-height: 1.2;
}

.tmpe-date-text {
    color: #7d7d7d;
    font-size: 16px;
    margin-bottom: 8px;
}

.tmpe-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #d6d6d6;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.tmpe-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.tmpe-dot-available { background: #048851; }

.tmpe-link-details {
    background: #024ddf;
    color: #fff;
    border-radius: 4px;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.tmpe-link-details:hover {
    color: #fff;
    background: #0039a8;
}

.tmpe-mobile-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border-bottom: 1px solid #d6d6d6;
    text-decoration: none;
    color: inherit;
}

.tmpe-mobile-info { flex: 1; min-width: 0; }

.tmpe-mobile-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #024ddf;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .tmpe-desktop-view { display: none; }
    .tmpe-mobile-view {
        display: block;
        box-shadow: 0 1px 4px rgba(18, 18, 18, 0.15);
    }

    .tmpe-ticket-title { font-size: 16px; }
    .tmpe-date-text { font-size: 14px; }
}

/* Lista Rock in Rio - estilo oficial /list/rock in rio */
body.channel_list {
    --main-color: #024ddf;
    --main-gradient-color-1: #024ddf;
    --main-gradient-color-2: #0039a8;
    --header-height: 60px;
    --header-bg: #024ddf;
    --header-link-color: #fff;
    padding-top: 60px;
    background: #e8ecf2;
}

body.channel_list .navbar {
    height: 60px;
    background-color: #024ddf !important;
    box-shadow: none !important;
}

body.channel_list .navbar-menu a,
body.channel_list #login_button #ingresar {
    color: #fff !important;
}

body.channel_list .logo-dark { display: none !important; }
body.channel_list .logo-light { display: inline !important; }

body.channel_list .header_title {
    --header-color: #024ddf;
    background: #024ddf;
    padding: 28px 16px 56px;
    position: relative;
    margin-bottom: 0;
}

body.channel_list .search_box_home.inline {
    position: relative;
    float: none;
    width: 100%;
    padding: 0;
}

body.channel_list .search_box_home .cont {
    max-width: 600px;
    margin: 0 auto;
}

body.channel_list .search_box_home .input-group-btn .btn {
    background: #fff;
    border: none;
    height: 54px;
    padding: 0 18px;
}

body.channel_list .event_list {
    margin: 40px auto 0 auto;
    padding-bottom: 80px;
    position: relative;
    z-index: 1;
}

body.channel_list .event_list .tab-content {
    padding: 30px 0 0;
}

body.channel_list .list-events-row {
    margin: 0 -12px;
}

body.channel_list .list-event-card {
    display: block;
    color: inherit;
    text-decoration: none;
    padding: 0 12px;
    margin-bottom: 30px;
}

body.channel_list .list-event-card:hover {
    text-decoration: none;
}

@media (max-width: 768px) {
    body.channel_list .header_title {
        padding: 40px 16px 40px;
    }
}

.channel_primeira_classe .event_blocks .block_content {
    padding: 20px !important;
}

.channel_primeira_classe #eventCover img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.channel_primeira_classe #eventCover .hidden-xs {
    max-height: 420px;
    object-position: center;
}

.pc-event-description {
    line-height: 1.6;
    color: #333;
}

.pc-event-description center {
    margin: 24px 0 16px;
    font-size: 1.1em;
}

.pc-event-description p {
    margin: 0 0 14px;
}

.pc-event-description strong u,
.pc-event-description u strong {
    text-decoration: underline;
}

/* Checkout - método de entrega (pré-venda Club) */
.checkout-actions .shipment-advice {
    background: rgba(255, 255, 255, 0.36);
    padding: 18px 24px;
    border-radius: 3px 3px 0 0;
    font-weight: 400;
    color: #7d7d7d;
    font-size: 14px;
    margin: 0;
}

.delivery-methods.card-group {
    padding-bottom: 0;
    margin-bottom: 24px;
}

.delivery-methods.card-group .items {
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0 0 4px 4px;
    box-shadow: none;
}

.delivery-methods.card-group .items ul li.delivery-method-row {
    min-height: 0;
    padding: 0;
    border-bottom: 1px solid #e8ecf2;
    color: #262626;
    line-height: normal;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.delivery-methods.card-group .items ul li.delivery-method-row:last-child {
    border-bottom: none;
}

.delivery-methods.card-group .items ul li.delivery-method-row:hover,
.delivery-methods.card-group .items ul li.delivery-method-row.selected {
    background: #f6f8fb;
}

.delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-inner {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 20px 20px 20px 24px;
    gap: 16px;
}

.delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-icon {
    flex: 0 0 48px;
    width: 48px;
}

.delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-icon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    display: block;
}

.delivery-methods.card-group .items ul li.delivery-method-row .property {
    flex: 1;
    min-width: 0;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: #262626 !important;
}

.delivery-methods.card-group .items ul li.delivery-method-row .property .delivery-method-title,
.delivery-methods.card-group .items ul li.delivery-method-row .property strong {
    display: block;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #262626 !important;
    margin-bottom: 4px;
    line-height: 1.3 !important;
}

.delivery-methods.card-group .items ul li.delivery-method-row .property span {
    display: block;
    font-size: 13px !important;
    color: #7d7d7d !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.delivery-methods.card-group .items ul li.delivery-method-row .value.delivery-method-price {
    flex: 0 0 auto;
    padding: 0 !important;
    text-align: right;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #048851 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

.delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-arrow {
    flex: 0 0 auto;
    width: 20px;
    text-align: center;
    color: #a0a0a0;
    font-size: 18px;
    font-weight: 300;
    line-height: 1;
    padding: 0;
}

@media (max-width: 768px) {
    .checkout-actions .shipment-advice {
        padding: 16px;
        font-size: 13px;
    }

    .delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-inner {
        padding: 16px;
        gap: 12px;
    }

    .delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-icon {
        flex: 0 0 40px;
        width: 40px;
    }

    .delivery-methods.card-group .items ul li.delivery-method-row .delivery-method-icon img {
        width: 40px;
        height: 40px;
    }
}

/* Detalhes dos participantes — meia-entrada */
.participants-list {
    margin-top: 8px;
}

.participant-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    margin-bottom: 24px;
    overflow: hidden;
}

.participant-card-header {
    padding: 20px 24px 12px;
    border-bottom: 1px solid #f0f0f0;
}

.participant-card-header .ticket-label {
    font-size: 16px;
    font-weight: 700;
    color: #024ddf;
    margin: 0 0 4px;
}

.participant-card-header .ticket-meta {
    font-size: 14px;
    color: #262626;
    margin: 0;
}

.participant-card-body {
    padding: 16px 24px 24px;
}

.participant-card-body .select-prompt {
    font-size: 14px;
    color: #262626;
    margin: 0 0 8px;
}

.half-price-options {
    list-style: none;
    margin: 0;
    padding: 0;
}

.half-price-options li {
    border-bottom: 1px solid #e8e8e8;
}

.half-price-options li:last-child {
    border-bottom: none;
}

.half-price-option {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 0;
    cursor: pointer;
    margin: 0;
}

.half-price-option input[type="radio"] {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 0;
    cursor: pointer;
    accent-color: #024ddf;
}

.half-price-option .option-label {
    flex: 1;
    font-size: 14px;
    line-height: 1.4;
    color: #262626;
}

.half-price-option .option-info {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #024ddf;
    color: #024ddf;
    font-size: 12px;
    font-weight: 700;
    font-style: italic;
    font-family: Georgia, serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    line-height: 1;
}

.half-price-option .option-info:hover {
    background: #f0f5ff;
}

.participant-fields-panel {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e8e8e8;
}

.participant-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
}

.participant-field {
    margin: 0;
}

.participant-field-label {
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    color: #262626;
}

.participant-field-label .required-mark {
    color: #d32f2f;
    font-weight: 700;
}

.participant-field .participant-field-input,
.participant-fields-panel .participant-field .form-control {
    width: 100%;
    height: 44px;
    padding: 10px 12px;
    border: 1px solid #c8c8c8;
    border-radius: 4px;
    font-size: 14px;
    color: #262626;
    background: #fff;
    box-sizing: border-box;
}

.participant-field .participant-field-input:focus,
.participant-fields-panel .participant-field .form-control:focus {
    outline: none;
    border-color: #024ddf;
    box-shadow: 0 0 0 1px #024ddf;
}

.participant-field .participant-field-input::placeholder {
    color: #a0a0a0;
    font-weight: 400;
}

.additional-qty .btn-number.qty-disabled,
.additional-qty .btn-number:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.participant-field-error,
.participant-confirm-error {
    display: block;
    min-height: 18px;
    margin-top: 4px;
    font-size: 12px;
    color: #d32f2f;
}

.participant-confirm-data {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 20px;
    cursor: pointer;
}

.participant-confirm-data input[type="checkbox"] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: #024ddf;
}

.participant-confirm-data span {
    flex: 1;
    font-size: 12px;
    line-height: 1.5;
    color: #4a4a4a;
}

@media (max-width: 768px) {
    .participant-fields-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .participant-card-header,
    .participant-card-body {
        padding-left: 16px;
        padding-right: 16px;
    }

    .half-price-option {
        gap: 12px;
        padding: 14px 0;
    }
}