/** Shopify CDN: Minification failed

Line 1261:3 Expected identifier but found "."
Line 2668:0 Unexpected "<"
Line 2872:0 Unexpected "<"
Line 10562:0 All "@import" rules must come first

**/








/*============================================================================
Get font-families from theme settings
==============================================================================*/







.custom-category .product-grid.col-lg-3 .item-inner button.btn-cart {
    padding: 0 10px;
    text-transform: capitalize;
}

/* For equal size grids */

.row.display-flex {
  display: flex;
  flex-wrap: wrap;
}
/*.row.display-flex > [class*='col-'] {
  flex-grow: 1;
}
*/

#content > h1 {
  display:none;
}

h2 small {
  color: #6c6f7a; 
}

/* toolbar collection pages */

.toolbar-products .modes {
  display:inline-block;
  vertical-align: top;
  padding: 0;
  margin: 5px 0;
}
#grid-view i,#list-view i {
  display: none;
}
.modes button {
  width: 31px;
  height: 34px;
  padding: 0;
  margin-right: 8px;
  font-size: 0;
  display: inline-block;
  vertical-align: top;
  border-radius: 0;
  box-shadow: none !important;
  border: 0;
}
.modes .btn-grid {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid.png?v=86758014070796127121768429933) center no-repeat;
}
.modes .btn-grid.active,.modes .btn-grid:hover {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid_hover.png?v=115709071362651952431768429933) center no-repeat;
}
.modes .btn-grid.btn-grid-2{
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid2.png?v=45685480787135267521768429933) center no-repeat;
}
.modes .btn-grid.btn-grid-2.active,.modes .btn-grid.btn-grid-2:hover {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid2_hover.png?v=59364191801016687271768429933) center no-repeat;
}

.modes .btn-grid.btn-grid-4{
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid4.png?v=12894286441457239061768429933) center no-repeat;
}
.modes .btn-grid.btn-grid-4.active,.modes .btn-grid.btn-grid-4:hover {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid4_hover.png?v=170574316382771819371768429933) center no-repeat;
}
.modes .btn-grid.btn-grid-5 {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid5.png?v=108982044281649663381768429933) center no-repeat;
}
.modes .btn-grid.btn-grid-5.active,.modes .btn-grid.btn-grid-5:hover {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid5_hover.png?v=91382873115409177511768429933) center no-repeat;
}
.modes .btn-list {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_list.png?v=93855187547749145851768429933) center no-repeat;
}
.modes .btn-list.active,.modes .btn-list:hover {
  background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_list_hover.png?v=132823342033999423891768429933) center no-repeat;
}

.banner-static.static-top-aero1 .image a .text {
  padding: 5px 10px;
}
/*Button CustomView */
@media (min-width: 1200px) {
  .btn-grid.btn-grid-2 {
    display: none;
  }
}
@media (max-width: 1199px) {
  .btn-grid.btn-grid-5 {
    display: none;
  }
}
@media (max-width: 767px) {
  .btn-grid.btn-grid-4 {
    display: none;
  }
}
@media (max-width: 479px) {
  .btn-grid.btn-grid-3 {
    display: none;
  }
  .tooltip {
    display: none !important;
  }
  .modes .btn-grid.btn-grid-2{
    background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid2.png?v=45685480787135267521768429933) center no-repeat;
  }
  .modes .btn-grid.btn-grid-2.active,.modes .btn-grid.btn-grid-2:hover {
    background: url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/bkg_grid2_hover.png?v=59364191801016687271768429933) center no-repeat;
  }
}

.icon {
  font-family: Stroke-Gap-Icons;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* year make model */
.title.ymk {
  margin: 50px auto;
  text-align: center;
  padding: 50px 20px 0;
}
.booking-form {
  max-width: 1000px;
  margin: auto auto 80px;
  background-color: #fff;
  padding: 30px 20px;
  -webkit-box-shadow: 0 5px 20px -5px rgba(0, 0, 0, .3);
  box-shadow: 0 5px 20px -5px rgba(0, 0, 0, .3);
  border-radius:4px
}

.booking-form .form-group {
  position: relative;
  margin-bottom:10px
}

.booking-form .form-control {
  background-color: #ebecee;
  border-radius: 4px;
  border: none;
  height: 40px;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #3e485c;
  font-size:14px
}

.booking-form .form-control::-webkit-input-placeholder {
  color:rgba(62, 72, 92, .3)
}

.booking-form .form-control:-ms-input-placeholder {
  color:rgba(62, 72, 92, .3)
}

.booking-form .form-control::placeholder {
  color:rgba(62, 72, 92, .3)
}

.booking-form input[type=date].form-control:invalid {
  color:rgba(62, 72, 92, .3)
}

.booking-form select.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance:none
}

.booking-form select.form-control + .select-arrow {
  position: absolute;
  right: 0;
  bottom: 4px;
  width: 32px;
  line-height: 32px;
  height: 32px;
  text-align: center;
  pointer-events: none;
  color: rgba(62, 72, 92, .3);
  font-size:14px
}

.booking-form select.form-control + .select-arrow:after {
  content: '\f063';
  font-family: "Font Awesome 5 Free";
  display: block;
  /*-webkit-transform: rotate(90deg);
  transform:rotate(90deg)*/
}

.booking-form .form-label {
  display: inline-block;
  color: #3e485c;
  font-weight: 700;
  margin-bottom: 6px;
  margin-left:7px
}

.booking-form .submit-btn {
  display: inline-block;
  color: #fff;
  background-color: #df15e5;
  width: 100%;
  font-weight: 700;
  padding: 11px 85px;
  border-radius: 4px;
  border: none;
  -webkit-transition: .2s all;
  transition:.2s all
}

.booking-form .submit-btn:hover, .booking-form .submit-btn:focus {
  opacity:.9
}

/* year make model */

.bx-viewport { min-height: 400px; }

.note.form-error {
  margin-bottom: 20px; 
}



#checkout-cart .form-control {
  color: #5a6069 !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid #efefef !important;
  -webkit-box-shadow: none  !important;
  box-shadow: none  !important;
  -webkit-transition:  none  !important;
  -o-transition:  none  !important;
  transition:  none  !important;
}

.panel {
  background-color: #ffffff !important;
}
.panel-title>.small, .panel-title>.small>a, .panel-title>a, .panel-title>small, .panel-title>small>a {
  color: #ae2fe3;
}
p a, li a{
  color: #df15e5;
}

.product-info-main #product {
  margin-bottom: 0px;
}

/* disable horizontal scroll on mobile web */
html, body { overflow-x: hidden; } body { position: relative }


/* for updated currency conversion code */
#currency_form {
  display: none;
}

/* about/gallery/service page */

.about .module-title, .gallery .module-title {
  margin-top: 0px;
}
.about-page {
  display: block;
  margin: 0px auto;
  margin-top: 25px;
}
.block.row {
  margin-bottom: 25px;
}

@media (max-width:768px) {
  .about .block.row, .about .module-description {
    margin-right: 10px;
    margin-bottom: -30px;
    margin-left: 10px;
  }
}
.about-page img {
  width: 100%; 
  border-radius: 2px;
}
.about-page p {
  text-align: center; 
}
.about .module-description {
  margin-bottom: 0px; 
}
.about .module-description p {
  max-width: 100%; 
}
.about .static-text-notification, .about .our_story1 {
  margin-bottom: 50px;
  margin-top: 50px;
}
.gallery-container {
  position:relative;
  background:#bbb;
  width:100%;
  height:inherit;
  margin-top: 80px;
}
.my-gallery {
  width: 100%;
  float: left;
}
.my-gallery img {
  width: 100%;
  height: auto;
}
.my-gallery figure {
  display: block;
  float: left;
  margin: 0 0px 0px 0;
  width: 25%;
  position: relative;
  padding: 1px;
}
.my-gallery figure:hover {
  opacity: 80%; 
}
.my-gallery figcaption {
  display: none; 
}
.my-gallery figure:hover figcaption {
  display: block;
  position: absolute;
  bottom: 15%;
  left: 5%;
  font-weight: 500;
  font-size: 22px;
  padding: 0 10px;
  border-radius: 2px;
  text-align: center;
  color: #fff;
}
@media(max-width: 768px) {
  .my-gallery figure {
    width: 50%;
  } 
}

/* about/gallery/service page end */

/* fade image in while loading and show a spinner as background image (good for progressive images) */

.lazyload {
  opacity: 0;
}
#recently-viewed-products .lazyload {
  opacity: 1;
}
.lazyloading {
  opacity: 1;
  transition: opacity 300ms;
  background: #f7f7f7 url(//actionfigurebrasil.com.br/cdn/shop/t/37/assets/loading.gif?v=66550052749047757211768429933) no-repeat center;
}

.list-collections #content img {
  width: 100%; 
}
.list-collections #content .col-sm-4:nth-child(3n+1) {
  clear: none;
}
.list-collections #content h4.text-center {
  min-height: max-content;
}
.list-collections #content h2.text-center {
    margin: 5px 0;
    max-height: 20px;
    font-size: 17px;
}
.product-info-main .spr-badge .spr-badge-caption {
  cursor: pointer;
}

.image-spinner .module-title .sub-title {
  margin-top: 10px;
}





.bx-wrapper img {
  border-radius: 10px;
}


/* resize item grid */
.item-inner .images-container img, .pt_custommenu .sub-product img, .mobilemenu .sub-product img,
.pt_custommenu .banner-static img, .sub-menu-container .product-img a img,
.sub-menu-container .banner-static .image a img, .sub-menu-container .sub-item2-content.sub-product img
{
  width: 100%; 
}

.col-lg-divide-5.col-md-divide-5 .item-inner .images-container img {
  max-width: 100%;
  width: auto;
}
.thumbnail.popup-youtube {
  border:0; 
}

.image {
  text-align: center;
}

/* blog sidebar, search, tag cloud */
.blog-blog .even.cross .intro-content img {
  float: right;
  margin: 0 0 15px 30px;
  margin-right: 30px;
}
.blog-blog .grid .intro-content img {
  float: none;
  margin: 0px auto;
}
.blog-blog .article-list.grid {
  clear: none;
}
@media(max-width: 991px) {
  .blog-blog .article-list.grid {
    padding: 0;
  }
}
#blog-sidebar {
  padding: 10px 0;
}
/* #blog-sidebar div:not(:last-child).intro-content {
border-bottom: 1px solid #df15e5;
}*/

#blog-sidebar .intro-content {
  padding: inherit;
  line-height: inherit;
}

#blog-sidebar h4 a{
  font-size: 13px;
  font-family:  Rubik, sans-serif ;
}

#search.blog input {
  height: 40px;
  font-size: 20px;
  color: #5a6069;
  margin-bottom: 25px;
  padding-left: 0;
  background: transparent;
  border-bottom: 1px solid #df15e5;  
}
#search.blog .input-group-btn button {
  font-size: 20px;
  color: #ae2fe3;
}
#search ::-webkit-input-placeholder { /* Chrome */
  color: #5a6069;
}
#search :-ms-input-placeholder { /* IE 10+ */
  color: #5a6069;
}
#search ::-moz-placeholder { /* Firefox 19+ */
  color: #5a6069;
  opacity: 1;
}
#search :-moz-placeholder { /* Firefox 4 - 18 */
  color: #5a6069;
  opacity: 1;
}
/*#search.blog .input-group-btn {
top: 30%;
}*/

.tagcloud05 ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tagcloud05 ul li {
  display: inline-block;
  margin: 0 .3em .3em 1em;
  padding: 0;
}
.tagcloud05 ul li a {
  position: relative;
  display: inline-block;
  height: 30px;
  line-height: 30px;
  padding: 0 1em;
  background-color: #df15e5;
  border-radius: 0 3px 3px 0;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}
.tagcloud05 ul li a::before {
  position: absolute;
  top: 0;
  left: -15px;
  content: '';
  width: 0;
  height: 0;
  border-color: transparent #df15e5 transparent transparent;
  border-style: solid;
  border-width: 15px 15px 15px 0;
  -webkit-transition: .2s;
  transition: .2s;
}
.tagcloud05 ul li a::after {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  margin-top: -3px;
  background-color: #fff;
  border-radius: 100%;
}
.tagcloud05 ul li span {
  display: block;
  max-width: 100px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tagcloud05 ul li a:hover {
  background-color: #555;
  color: #fff;
}
.tagcloud05 ul li a:hover::before {
  border-right-color: #555;
}
/* blog sidebar, search, tag cloud */

/* slide_full, slide_grid */
.slide_grid .product-zoom-image .cloud-zoom img, 
.slide_grid .thumbnail > img, .slide_grid .thumbnail a > img{
  margin-bottom: 3px;
}

.slide_full.additional-images,
.slide_grid.additional-images {
  padding: 0; 
}
.slide_full.additional-images .item,
.slide_grid.additional-images .item {
  border: 0; 
  border-radius: 0;
}
.slide_full.additional-images .thumbnail,
.slide_full .product-zoom-image .mousetrap,
.slide_full .product-zoom-image .cloud-zoom,
.slide_grid.additional-images .thumbnail,
.slide_grid .product-zoom-image .mousetrap,
.slide_grid .product-zoom-image .cloud-zoom {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}

.slide_full.additional-images.owl-carousel.owl-theme .owl-nav div,
.slide_grid.additional-images.owl-carousel.owl-theme .owl-nav div{
  border-radius: 100%;
  line-height: 30px;
  border: 1px solid #efefef;
  background: #fff;
}
.slide_full.additional-images.owl-carousel.owl-theme .owl-nav div.owl-next,
.slide_grid.additional-images.owl-carousel.owl-theme .owl-nav div.owl-next{
  right: 10px;
  opacity: 1;
}
.slide_full.additional-images.owl-carousel.owl-theme .owl-nav div.owl-prev,
.slide_grid.additional-images.owl-carousel.owl-theme .owl-nav div.owl-prev {
  left: 10px;
  opacity: 1;
}
.slide_full.additional-images.owl-carousel.owl-theme .owl-nav div:before,
.slide_grid.additional-images.owl-carousel.owl-theme .owl-nav div:before {
  font-size: 15px;
}
/* slide_full, slide_grid end */

.fa {
  font-weight: 600;
  font-family: "Font Awesome 5 Free";
}
.fab {
  font-family: "Font Awesome 5 Brands" !important;
}
/*footer .fa {
font-weight: normal;
font-family: "FontAwesome";
}
*/
img[alt*="topbanner"] {
  display: none;
}

.brands img {
  margin: 0px auto;
}

.product-zoom-image.sticky {
  border: none;
}

/*.layer-background .tt_tabsproduct_module .owl-theme .owl-dots*/
.layer-background .tt_product_module .owl-theme .owl-dots{
  padding-bottom: 20px;
}

/* breadcrumb font correction */
@media (max-width: 768px) {
  .breadcrumb li a {
    font-size: 11px;
  }
}

/* bullets lists format correction */
.product-info-detailed .tab-content ol, .product-info-detailed .tab-content ul {
  list-style: inherit;
  margin-left: 10px;
  padding-left: 10px;
}
.product-info-detailed .tab-content ol {
  list-style-type: decimal;
}

#product-category .grid-style .ratings {
  margin-top: 5px;
}


/* footer toggle */
/*.footer-top .col1 .footer-title { display:none; }*/
@media(max-width: 991px){ 
  .footer-top .col .footer-title:after {
    content: "\f107";
    display: block;
    font-weight: 700;
    font-family: "Font Awesome 5 Free";
    font-size: 18px;
    position: absolute;
    right: 25px;
    top: 0px;
    color: #ffffff;
  }
  .footer-top .footer-title { cursor:pointer; }
  .footer-top .footer-content {
    display:none;
  }
  .footer-top .col1 .footer-title { display:block; }
  .footer-top .col1 .footer-content { display:block; }
  footer .col-footer.col1 { margin-bottom:20px; }
  footer .col-footer { margin-bottom: 10px; }
  .footer-title h5 { margin-bottom: 7px; }
}

/* sidebar for mobile display */
@media (max-width: 991px){ 
  #sidebar-toggle {
    font-size: 26px;
    padding: 0 0 15px 15px;
    font-weight: 300;
  }
  #column-left {
    display: none;
  }
  #column-left.sidebar-toggle {
    display: none;
    position: absolute;
    top: inherit;
    z-index: 10;
    left: 0;
    width: 275px;
    overflow: hidden;
    padding: 15px;
    background: #fff;
    -webkit-box-shadow: 0 3px 11px 0 rgba(0,0,0,0.1);
    box-shadow: 0 3px 11px 0 rgba(0,0,0,0.1);
    border-radius: 10px;
  }
  .sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    cursor: pointer;
    display: none;
    z-index: 6;
  }
}

/* dynamic buynow checkout button */

.product-info-main .button-cart{ 
  /*width: 100%; */
  margin-bottom: 20px;
}
.shopify-payment-button__button--unbranded{
  margin-top: 10px !important;
  clear: left !important;
  font-size: 16px !important;
  line-height: 44px !important;
  padding: 0 35px !important;
  background:  !important;
  color:  !important;
  float: left !important;
  border-radius: 25px !important;
  text-transform: uppercase !important;
  margin-right: 10px !important;
  font-weight: 500 !important;
  font-family:  Oswald, sans-serif  !important;
  /*border: 1px solid #efefef !important;
  box-shadow: 1px 1px 0 0 #efefef !important;
  -webkit-box-shadow: 1px 1px 0 0 #efefef !important;*/
}

.shopify-payment-button__button--unbranded:hover {
  background: #9b149f !important;
  color:  !important;
  border-color: #df15e5 !important;
}



/* full width add to cart button on mobile */
@media (max-width: 991px) and (min-width: 768px) {
  .product-info-main .button-cart {
    padding: 0 18px !important;
  }
}
@media (max-width: 479px) {
  .product-info-main .button-cart {
    width: 100%; 
    margin-bottom: 0px;
  }
  button#button-cart-buy { 
    margin-left: 0px !important;  
    margin-top: 0px; 
  }
  /*#Quantity {
  width: 70%;
}
  .product-info-main button.btn-wishlist {
  margin: 0 auto;
  float: none;
}*/
}
/* for sticky add to cart bar */
#form_buy_sticky #productSelect {
  display: block;
  min-width: 90px;
}
.form_buy_sticky {
  text-align: center;
}
.form_buy_sticky h5 {
  font-size: 15px;
  font-weight: normal;
  line-height: 1;
  margin: 5px 0 5px 0;
}
.form_buy_sticky .price-box .price, .form_buy_sticky .price-box p.old-price .price {
  font-size: 13px;
}
.form_buy_sticky .form-group {
  padding: 0px 20px;
  margin-bottom: 0px;
}
.form_buy_sticky .button {
  line-height: 30px;
  font-size: 12px;
  height: 35px;
}
.form_buy_sticky #button-cart-buy {
  margin: inherit;
}
.form_buy_sticky #Quantity {
  margin: 0px;
  border: 2px solid #efefef !important;
  -webkit-border-radius: 4px !important;
  background: #ffffff;
  height: 35px;
  line-height: 35px;
  width: 50px;
  font-size: 1.0em;
}
.form_buy_sticky .form-control, .form_buy_sticky .img-thumbnail {
  border: 2px solid #efefef;
}
@media (min-width: 768px) {
  .form_buy_sticky #title {
    max-width: 40%;
    overflow: hidden;
    white-space: nowrap;
  }
}
@media(max-width: 767px){ 
  .form_buy_sticky .form-group {
    padding: 0px 5px;
    float: left;
  }
  .form_buy_sticky .form-group.col-7 {
    width: 55%;
  }
  .form_buy_sticky .form-group.col-2 {
    width: 20%;
    margin-top: 20px;
  }
  .form_buy_sticky .form-group.col-3 {
    width: 33%;
  }
  .form_buy_sticky #title {
    line-height: 20px;
    margin-left: 5%;
    margin-right: 5%;
  }
  .form_buy_sticky .price-box p.old-price {
    margin-left: 0px;
  }
  #form_buy_sticky #Quantity {
    width: 100%;
  }
  button#button-cart-sticky {
    padding: 1px;
    margin: 0px auto;
    font-size: 11px;
    width: 107%;
    margin-top: 20px;
    
  }
  #title h4 {
    font-size: 13px;
    font-weight: normal;
  }
}
@media(max-width: 350px){ 
  button#button-cart-sticky {
    font-size: 10px;
  }
  .form_buy_sticky #title {
    line-height: 36px;
  }
}
.form_buy_sticky.fix-header1{
  bottom: 0;
  padding: 10px 0 !important;
  background: #ffffff;
  border: none;
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
  -moz-box-shadow: 0 0 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0 0 2px rgba(0,0,0,0.1);
  -o-box-shadow: 0 0 2px rgba(0,0,0,0.1);
  -ms-box-shadow: 0 0 2px rgba(0,0,0,0.1);
  width: 100%;
  max-width: 100% !important;
  left: 0;
  right: 0;
  z-index: 889;
  margin: 0 auto;
  position: fixed !important;
  -webkit-animation-name: fadeInDown;
  -webkit-animation-duration: 5.0s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
  -webkit-animation-play-state: running;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-name: anim_titles;
  -moz-animation-duration: 5.0s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
  -moz-animation-direction: normal;
  -moz-animation-play-state: running;
  -moz-animation-fill-mode: forwards;
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  -webkit-animation-duration: 0.7s;
  -moz-animation-duration: 0.7s;
  -webkit-animation-delay: 0s;
  -moz-animation-delay: 0s;
  -webkit-animation-timing-function: ease-out;
  -moz-animation-timing-function: ease-out;
  -moz-transform: translateY(0);
  -webkit-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

/* MOBILE — alinhar preço (2 linhas) com qty + botão */
@media (max-width: 480px) {

  /* centraliza VERTICALMENTE o bloco do preço dentro da linha da grid */
  .form_buy_sticky .price-box {
    display: flex !important;
    flex-direction: column;
    justify-content: center;       /* <- deixa o texto (2 linhas) no meio da “faixa” */
    min-height: 34px;              /* mesma altura base do qty/botão */
    margin: 0 !important;
  }

  /* tira quebras e espaçamentos que empurram o texto do preço */
  .form_buy_sticky .price-box br { display: none !important; }
  .form_buy_sticky .price-box * {
    margin: 0 !important;
    line-height: 1.15 !important;
  }

  /* garante MESMA altura visual para qty e botão */
  .form_buy_sticky input[name="quantity"],
  .form_buy_sticky input[type="number"] {
    height: 36px !important;       /* pode usar 34/36 — escolha 1 e mantenha nos dois */
    line-height: 36px !important;
  }
  .form_buy_sticky .product-form__cart-submit,
  .form_buy_sticky button[type="submit"] {
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
  }

  /* altura mínima da linha da grid = altura do qty/botão */
  .form_buy_sticky form.form-inline {
    grid-auto-rows: minmax(36px, auto);
  }

  /* só para evitar “estouro” do preço em duas linhas quebradas */
  .form_buy_sticky .parcelamento { white-space: nowrap; }
}


.product-product #preview-bar-iframe {
  display:none;
}

/* for cart */
.cart-image {
  max-width: 88px;
  /* max-height: 88px;*/
}

#recently-viewed-products .grid-style:not(:first-child) {
  margin-top: 0px; 
}

#cart_form img, .wishlist-container img {
  /*min-height: 100px;*/
  margin: 0px auto;
}

/*body:not(.common-home) footer {
margin-top: 20px;
}*/
/*
.ion-android-cart:before {
font-size: 32px;
}
*/

/* showing brand names on grids */
.item-inner .caption .manufacture-product {
  padding-top: 16px;
  margin-bottom: 0;
  display: block;
}
.ocbestsellerproducts .list-style .item .item-inner .caption .manufacture-product {
  padding-top: 0px;
  margin-bottom: 10px;
}
/* for adding effect to items added to wishlist */
.item-inner .action-links button.wishlist-btn.is-active {
  color: #df15e5; 
  /*background-color: transparent; */
}
.product-info-main button.btn-wishlist.is-active {
  background: #df15e5;
  color: #efefef;
}

#desc {
  z-index:9;
}
/* custom slider */
.static-slider-cust-slider {
  background: #1d1d1d;
  border-bottom: 1px solid #2d2d2d;
}
.static-slider-cust-slider .owl-item.active {
  border-left: 1px solid #2d2d2d;
}
.static-slider-cust-slider .owl-item.first {
  border:0;
}
.static-slider-cust-slider.banner-static .image a:before {
  display:none;
}
.static-slider-cust-slider .image a .text {
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 8%;
  top:auto;
  -moz-transform: translateY(0);
  -webkit-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
.static-slider-cust-slider .text .text1 {
  color: #df15e5;
  display: block;
  text-transform: capitalize;
  font-weight: 300;
  font-size: 16px;
  margin-bottom: 2px;
}
.static-slider-cust-slider .text .text2 {
  color: #efefef;
  display: block;
  text-transform: capitalize;
  font-weight: 400;
  font-size: 30px;
  font-family:  Rubik, sans-serif ;
  line-height: 1.1;
}

.static-slider-cust-slider .text .link {
  font-size: 14px;
  display: block;
  color: #525252;
  text-transform: capitalize;
  margin-top: 36px;
  text-decoration: underline;
}
.static-slider-cust-slider .text .link:hover {
  color: #df15e5;
}

/* custom slider */

/* product page */
#product-product #content .is-countdown {
  position: relative;
  max-width: 250px;
  text-align: center;
  bottom: auto;
  left: 0;
}
#product-product #content .countdown-row {
  text-align: left;
}
#product-product #content .countdown-section {
  text-align: center;
}

.product-zoom-image.sticky div#wrap {
  margin-bottom: 20px;
}


span#variantQuantity.is-visible {
  color: red; 
  margin: auto 20px;
  line-height: 45px;
}

/*.hd2 .selected-currency {
padding-right: 0px !important;
margin-right: 0px !important;
border:0px !important;
}*/
.topbar.alert-success {
  color: #fff;
  background-color: #292929;
}

.topbar.alert-success button#alertbtn {
  float: none;
  padding-left: 40px;
  font-size: 13px;
  vertical-align: text-top;
  opacity: .5;
  padding-top: 1px;
  color: #fff;
  top: inherit;
  right: inherit;
}
.toast-success {
  background-color: #df15e5 !important;
}
#instafeed img.insta-size {
  width: 30% !important;
  display: inline !important;
  padding: 0px 10px 10px 0px;
}
#instafeed img.insta-size:hover {
  opacity: .8;
}
div#instafeed {
  text-align: center;
}


.selector-wrapper {
  display: none;
}
#productSelect {
  display: none;
}

/*.product-view .tab-view a {
padding: 0px !important;
font-size: 15px !important; 
}*/

/* cart page */
.buttons.cartbtn a {
  color: #efefef;
}
/* footer content */
.footer .footer-content.contact {
  margin-top: 10px;
}
.footer .footer-content.contact li i {
  display: inline-block;
  text-align: center;
  float: left;
  font-size: 18px;
  margin: 5px 10px 5px 0px;
}

/* vertical slider */
.bx-pager.bx-default-pager {
  display: none;
}
.bx-wrapper {
  box-shadow: none !important;
  background: transparent !important;
  border: none !important;
}

.bx-wrapper .bx-controls-direction a {
  top: 110% !important;
}

.bx-wrapper .bx-next {
  right: -2px !important;
}
.bx-wrapper .bx-prev {
  left : -2px !important;
}



.carousel-inner > .item > img,
.carousel-inner > .item > a > img, 
.grid-style .item-inner .images-container .img-r,
.grid-sytle .item-inner .images-container img, 
.ocbestsellerproducts .list-style .item .item-inner .images-container img
{
  width: 100%;
  margin: auto;
  
  border-radius: 15px;
  
}

.carousel-inner > .item {
  margin-bottom: 0px;
  padding:0;
}

.carousel-inner > .item.active {
  border: 0px;
}

.carousel-control {
  position: absolute;
  display: block;
  top: 50%;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  left: 0px;
  margin-top: -20px;
  /*  color: #262626;
  border-radius: 100%;
  background: #efefef;
  -webkit-transform: translateY(30px);
  -moz-transform: translateY(30px);
  -o-transform: translateY(30px);
  transform: translateY(30px);*/
  opacity: 1;
  cursor: pointer;
  background-image: none !important;
}
@media(max-width: 1199px){
  .product-grid .carousel-control {
    top: 45%;
  }
}
@media(max-width: 991px){
  ..product-grid .carousel-control {
    top: 40%;
  }
}
@media(max-width:468px){
  .product-grid .carousel-control {
    top: 30%;
  }
}
.carousel:hover .carousel-control{
  opacity: 1;
  /*-webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);*/
}
/*
.carousel-control:hover{
background: #efefef;
color: #df15e5;
}*/

.carousel-inside .carousel-control {
  position: absolute;
  display: block;
  height: 35px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: #333745;
  color: #efefef;
  top: 50%;
  padding: 0;
  margin-top: -17px;
  border: none;
  outline: none;
  opacity: 1;
  -webkit-transition: left 0.3s ease 0.3s, right 0.3s ease 0.3s;
  -o-transition: left 0.3s ease 0.3s, right 0.3s ease 0.3s;
  transition: left 0.3s ease 0.3s, right 0.3s ease 0.3s;
  text-shadow: none;
}

.carousel-control i.fa {
  font-size: 18px;
  vertical-align: middle;
  color: #333;
  opacity: 0.7;
  display: block;
  line-height: 40px;
}
.carousel-control i.fa:hover {
  color: #df15e5; 
}
.carousel-inside .carousel-control.next {
  right: -22px;
  left: auto;
}

.carousel-inside .carousel-control.prev {
  left: -22px;
  right: auto;
}

.owl-item a.carousel-control {
  position: absolute;
}

.carousel-indicators li {
  width: 20px;
  height: 20px;
  border-radius: 20px; 
}

.toolbar label.control-label {
  display: none;
}

.small-item .spr-badge:after {
  clear: none;
}

.social-sharing {
  margin: 20px 0px 0px 0px;
}
.social-sharing .btn {
  height: 47px;
  line-height: 47px;
  border: 2px solid #ababab;
  max-width: 150px;
  font-size: 14px;
  color: #efefef;
}

.social-sharing a.btn {
  width: 47px;
  line-height: 47px;
  
  border-radius: 0;
  background: transparent;
  color: #df15e5;
  position: initial;
  left: 50%;
  opacity: 1;
  padding: 0px;
  margin-right: 6px;
}

.social-sharing a.btn:hover {
  color: #efefef;
  background: #df15e5;
  border-color: #df15e5;
}

.error-text img { 
  display:block;
  margin: 0px auto;
}

.error-text h1 {
  text-align: center;
}

.error-text .buttons a, .submit button, #submitMessage {
  margin: 10px;
}
.error-text .buttons a {
  margin: 0px auto;
  display: block;
  border: none;
  box-shadow: none;
  color: #df15e5;
}
#wraper_ajax.loadding_ajaxcart, .ajax_loading {
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  font-size: 26px !important;
  color: #666;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.5);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.5);
  margin-top: -25px;
  margin-left: -25px;
  -webkit-animation: tp-rotateplane 1.2s infinite ease-in-out;
  animation: tp-rotateplane 1.2s infinite ease-in-out;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  top: 50% !important;
  left: 60%;
  position:fixed;
  display: none;
  z-index: 9990;
}
#wraper_ajax.loadding_ajaxcart .fa {
  font-size: 26px !important;
}

.advanced-filters a {
  display: block;
  position: relative;
  padding: 0px 0px 0px 25px !important;
  border: 0px !important;
}
.advanced-filters a:before,.advanced-filters a:after{content:'';display:block;position:absolute}
.advanced-filters a:before{top:4px;left:0;width:12px;height:12px;/*background-color:#efefef;*/border:1px solid #ccc; margin-top: 2px;}
.advanced-filters a:after {
  top: 8px;
  left: 4px;
  width: 8px;
  height: 8px;
  background-color: transparent;
  margin-top: 2px;
}
.advanced-filters a:hover:after {
  background-color: transparent;
}
.active-filter a.advanced-filter:after{
  background-color:#df15e5
}
.active-filter a.advanced-filter:hover:after {
  content: '\78';
  top: 5px;
  left: 1px;
  width: 15px;
  height: 15px;
  background-color: #df15e5;
  font-size: 8px;
  text-align: center;
  color: #efefef;
  font-family: "icons";
  line-height: 15px;
  speak: none;
}
.advanced-filters .blue a:before {
  background-color:blue; 
}
.advanced-filters .red a:before {
  background-color:red; 
}
.advanced-filters .green a:before {
  background-color:green; 
}
.advanced-filters .white a:before {
  background-color:white; 
}
.advanced-filters .black a:before {
  background-color:black; 
}
.advanced-filters .yellow a:before {
  background-color:yellow; 
}
.advanced-filters .pink a:before {
  background-color:pink; 
}
.advanced-filters .grey a:before {
  background-color:grey; 
}
.advanced-filters .orange a:before {
  background-color:orange; 
}
.advanced-filters .maroon a:before {
  background-color:maroon; 
}

.selector-wrapper select {
  background: #efefef none repeat scroll 0 0;
  height: 26px;
  padding: 0 0 0 5px;
  margin-bottom: 15px;
  width: 224px;
  border: 1px solid #d6d4d4;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.selector-wrapper label {
  display: inline-block;
  float: left;
  font-size: 12px;
  font-weight: 300;
  margin-bottom: 7px;
  text-align: left;
  width: 65px;
}

.table-bordered>tbody>tr>td, .table-bordered>tbody>tr>th, .table-bordered>tfoot>tr>td, .table-bordered>tfoot>tr>th, .table-bordered>thead>tr>td, .table-bordered>thead>tr>th {
  vertical-align: middle;
}

.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
  vertical-align: middle !important;
}

.table-hover>tbody>tr:hover {
  background-color: #ffffff !important;
}

.table-checkout-cart h5 a {
  color: #df15e5;
  font-size: 13px;
}

#product .contact-form {
  display:inline;
}

.item form#contact_form {
  display: inline;
}

/* 
Swatches Styles
*/



.swatch { 
  margin:0px 0px 0px 0px; 
}
.swatch:first-child { 
  margin:0 0 1em 0; 
}
/* Label */
.swatch .header {
  display: none;
  margin: 0.5em 0;
}
/* Hide radio buttons.*/
.swatch input { 
  display:none;
}
.swatch label {
  /* Rounded corners */
  -webkit-border-radius:2px;
  -moz-border-radius:2px;
  border-radius:2px;
  /* To give width and height */
  float:left;
  /* Color swatches contain no text so they need to have a width. */
  min-width:50px !important; 
  height:35px !important;
  /* No extra spacing between them */
  margin:0;
  /* The border when the button is not selected */
  border:#df15e5 1px solid;
  /* Background color */
  background-color:;
  /* Styling text */
  font-size:13px;
  text-align:center;
  line-height:35px;
  white-space:nowrap;
  text-transform:uppercase;
  cursor: pointer;
}
.swatch label.img {
  /* Color swatches contain no text so they need to have a width. */
  width:50px !important; 
  height:50px !important;
}
.swatch-element label { padding:0 10px; }
.color.swatch-element label { padding:0; border:none; }
.color.white.swatch-element label.bg-white { border:#df15e5 1px solid; }
.color.white.swatch-element label.img { border:none; }
/* Styling selected swatch */
/* Slightly raised */
.swatch input:checked + label {
  -webkit-box-shadow:0px 1px 2px #df15e5 ;
  -moz-box-shadow:0px 1px 2px #df15e5;
  box-shadow:0px 1px 2px #df15e5;
  background-color: #df15e5; 
  color: #efefef;
  border-color:transparent;
} 
.swatch .swatch-element {
  float:left;
  -webkit-transform:translateZ(0); /* webkit flicker fix */
  -webkit-font-smoothing:antialiased; /* webkit text rendering fix */
  /* Spacing between buttons */
  margin:10px 10px 10px 0;
  /* To position the sold out graphic and tooltip */
  position:relative;
}
/* Image with the cross in it */
.crossed-out { position:absolute; width:100%; height:100%; left:0; top:0; }
.swatch .swatch-element .crossed-out { display:none; }
.swatch .swatch-element.soldout .crossed-out { display:block; }
.swatch .swatch-element.soldout label {
  filter: alpha(opacity=60); /* internet explorer */
  -khtml-opacity: 0.6;      /* khtml, old safari */
  -moz-opacity: 0.6;       /* mozilla, netscape */
  opacity: 0.6;           /* fx, safari, opera */
}
/* Tooltips */
.swatch .tooltip {
  text-align:center;
  background:#df15e5;
  color:#efefef;
  bottom:100%;
  padding: 5px;
  display:block;
  position:absolute;
  width:100px;
  left:-23px;
  margin-bottom:7px;
  /* Make it invisible by default */
  filter:alpha(opacity=0);
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity:0;
  visibility:hidden;
  /* Animations */
  -webkit-transform: translateY(10px);
  -moz-transform: translateY(10px);
  -ms-transform: translateY(10px);
  -o-transform: translateY(10px);
  transform: translateY(10px);
  -webkit-transition: all .25s ease-out;
  -moz-transition: all .25s ease-out;
  -ms-transition: all .25s ease-out;
  -o-transition: all .25s ease-out;
  transition: all .25s ease-out;
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
  -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
  -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
  -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
  z-index: 10000;
  -moz-box-sizing:border-box; 
  -webkit-box-sizing:border-box; 
  box-sizing:border-box;
}
.swatch .tooltip:before {
  bottom:-20px;
  content:" ";
  display:block;
  height:20px;
  left:0;
  position:absolute;
  width:100%;
}
/* CSS triangle */
.swatch .tooltip:after {
  border-left:solid transparent 10px;
  border-right:solid transparent 10px;
  border-top:solid #df15e5 10px;
  bottom:-10px;
  content:" ";
  height:0;
  left:50%;
  margin-left:-13px;
  position:absolute;
  width:0;
}
.swatch .swatch-element:hover .tooltip {
  filter:alpha(opacity=100);
  -khtml-opacity:1;
  -moz-opacity:1;
  opacity:1;
  visibility:visible;
  -webkit-transform:translateY(0px);
  -moz-transform:translateY(0px);
  -ms-transform:translateY(0px);
  -o-transform:translateY(0px);
  transform:translateY(0px);
}
.swatch.error {
  background-color:#E8D2D2!important;
  color:#333!important;
  padding:1em;
  border-radius:5px;
}
.swatch.error p {
  margin:0.7em 0;
}
.swatch.error p:first-child {
  margin-top:0;
}
.swatch.error p:last-child {
  margin-bottom:0;
}
.swatch.error code {
  font-family:monospace;
}
.item-inner .category-options .ul-swatches-colors {
  margin-top: 18px;
}
.product-list .item-inner .category-options .ul-swatches-colors {
  margin-top: 0px;
  margin-bottom: 10px;
}
/* review tab form */
input.spr-form-input, textarea.spr-form-input {
  padding: 8px;
}
.spr-form-input.spr-starrating a {
  line-height: 20px;
  height: 18px;
  padding: 0px;
}
.spr-badge {
  font-size: 10px;
}
.featuredproduct-container .spr-badge, .mostviewed-container .spr-badge {
  display: inline-block;
}
.spr-icon {
  font-size: 100% !important;
  color: #ffd11b;
}
.spr-icon-star {
  color: #ffd11b;
}

.spr-icon.spr-icon-star-empty {
  opacity: 1 !important;
}
/*--------------------------------------------*/
/*  Newsletter PopUP Area
/*--------------------------------------------*/
#newsletter-popup-conatiner {
  background-color: rgba(0, 0, 0, 0.7);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9998;
  width: 100%;
  height: 100%;
}
#newsletter-pop-up {
  background: rgba(100, 100, 100, 0.7) repeat scroll 0 0;
  color: #efefef;
  height: 400px;
  left: 50%;
  min-width: 450px;
  padding: 35px;
  position: absolute;
  text-align: left;
  top: 50%;
  width: 800px;
  margin-left: -400px;
  margin-top: -200px;
}
#newsletter-pop-up .hide-popup {
  background: #ae2fe3 none repeat scroll 0 0;
  border: 1px solid #efefef;
  color: #efefef
    cursor: pointer;
  font-size: 10px;
  font-weight: bold;
  line-height: 24px;
  min-width: 70px;
  position: absolute;
  right: 0;
  text-align: center;
  text-transform: uppercase;
  top: -30px;
}
#newsletter-pop-up .hide-popup:hover {
  background:#df15e5
}
.title-subscribe h1 {
  font-size: 2.5em;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 0;
  margin-top: 60px;
  text-transform: uppercase;
  color: #232323;
}
#newsletter-form .content-subscribe {overflow: hidden}
.form-subscribe-header label {
  color: #999999;
  font-size: 1.1em;
  font-weight: normal;
  line-height: 25px;
  margin: 20px 0;
  max-width: 72%;
}
#newsletter-form .input-box, #newsletter-form .content-subscribe .actions1 {float: left}
#newsletter-form .input-box .input-text {
  color: #232323;
  border: 1px solid #efefefeee;
  height: 40px;
  line-height: 40px;
  margin: 0 0 5px;
  padding-left: 10px;
  width: 380px;
}
#newsletter-form .actions1 .button-subscribe {
  background-color: #222222;
  border: medium none;
  color: #fff;
  font-family:  Oswald, sans-serif ;
  font-size: 1em;
  height: 40px;
  line-height: 40px;
  min-width: 115px;
  padding: 0 10px;
  text-transform: uppercase;
}
#newsletter-form .actions1 .button-subscribe:hover {
  background: #df15e5;
  color: #efefef;
}
.subscribe-bottom {
  color: #000000;
  display: block;
  margin-top: 15px;
  overflow: hidden;
}
.subscribe-bottom label {
  color: #000;
  font-size: 12px;
  margin-bottom: 0;
}
#dont_show {
  margin: 0;
  vertical-align: middle;
}
/*
ul.ct-payment {
float: right;
margin-top: -33px;
padding-top: 10px;
padding-right: 50px;
}*/
.ct-payment a.fab {
  color: #838896;
  font-size: 30px; 
}

@media(max-width: 768px){
  #newsletter-popup-conatiner {
    display: none !important;
  }
  ul.ct-payment {
    float: none !important;
    text-align:center;
    padding-top: 0px; 
    padding-right: 0px;
    padding-bottom: 10px;
  }
  .payment {
    margin-top: 10px;
    margin-bottom: 16px;
  }
}

/**
* Simple fade transition for product video popup,
*/
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out; 
  -moz-transition: all 0.15s ease-out; 
  transition: all 0.15s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out; 
  -moz-transition: all 0.15s ease-out; 
  transition: all 0.15s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}


/* alert success message newsletter */
#contact_form .successMessage.alert.alert-success.alert-dismissible {
  position: relative;
  width: 100%;
}

.alert-dismissable .close, .alert-dismissible .close {
  right: 10px !important;
  top: 2px !important;
  font-size: 15px;
}

/* instagram */
#instagram_block_home .module-title {
  margin-top: 80px;
  margin-bottom: 50px;
}
#instagram_block_home .owl-carousel .owl-item{
  padding: 0;
}
#instagram_block_home .owl-item a::before{
  background: rgba(0,0,0,.1);
  right: 5px;
  top: 5px;
  bottom: 5px;
  left: 5px;
  position: absolute;
  content: "";
  z-index: 1;
  opacity: 0;
}

#instagram_block_home .owl-item::after,
#instagram_block_home .owl-item::before{
  position: absolute;
  width: 1px;
  height: 70px;
  content: "";
  top: 50%;
  left: 50%;
  z-index: 2;
  background: #efefef;
  margin-top: -35px;
  transform: scale(0);
}
#instagram_block_home .owl-item::after{
  width: 70px;
  height: 1px;
  margin-top: 0;
  margin-left: -35px;
}
#instagram_block_home .owl-item ,
#instagram_block_home .owl-item a{
  position: relative;
  display: block;
}
#instagram_block_home .owl-item:hover::before,
#instagram_block_home .owl-item:hover::after{
  transform: scale(1);
}
#instagram_block_home .owl-item:hover a::before{
  opacity: 1;
}
#instagram_block_home img.img-responsive {
  width: 100%;
}


/* transition */
#instagram_block_home .owl-item:hover::before, #instagram_block_home .owl-item:hover::after{
  -webkit-transition: ease-in-out all .3s;
  -moz-transition: ease-in-out all .3s;
  transition: ease-in-out all .3s;
}

.modal-product span.old-price {
  text-decoration: line-through;
  padding-left: 10px;
  color: red;
}

/* ---------- Static slider video ---------- */
.our_story,
.our_story1{
  position: relative;
  text-align: center;
  margin-bottom: 50px;
}
.our_story1{
  margin-bottom: 0;
  margin-top: 0;
}

@media (max-width: 991px){
  .our_story,
  .our_story1{
    margin-bottom: 30px;
  }
}

/* --- wrapper do vídeo / imagem estática --- */
.static_video,
.static_video1{
  position: relative;
  padding: 0;
}

/* vídeo ou thumbnail (imagem) que faz pré-load */
.our_story  .static_video  .added_video,
.our_story1 .static_video1 .added_video1{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);     /* centraliza horizontalmente */
  width: 100%;
  height: 100%;
  object-fit: cover;               /* cobre toda a área sem distorcer */
  z-index: 9;
}

/* garante que a imagem de pré-load fique “atrás” do vídeo */
.oc-banner7-container .flexslider .slides.static_video img.img_static{
  z-index: -1;
}

/* ---------- botão de play (centralizado + hover) ---------- */
.static_video  #cms_play,
.static_video1 #cms_play1{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;        /* garante o zoom a partir do centro */
  cursor: pointer;
  z-index: 10;
  transition: transform 300ms ease-in;
}

/* zoom sem “saltar” de lugar */
.static_video  #cms_play:hover,
.static_video1 #cms_play1:hover{
  transform: translate(-50%, -50%) scale(1.1);
}

/* remove baselines que podem empurrar o ícone */
.static_video  #cms_play img,
.static_video1 #cms_play1 img{
  display: block;
}


/* ajustes mobile de imagem estática em slider 1 */
.our_story1 .static_video1 .img_static1{
  width: 100% !important;
}

/* oculta texto de preço duplicado em sticky buy bar */
.form_buy_sticky.fix-header2.fix-header1
  .price-box p[style*="font-size:12px;"]:not(.price){
  display: none;
}

/* reforço de dimensão de vídeo MP4 */
.our_story .static_video video.added_video{
  width: 100% !important;
  height: auto  !important;
}

/* iframe (YouTube / Vimeo) ocupa 100 % do wrapper */
.our_story .static_video .added_video iframe{
  position: absolute;
  inset: 0;        /* top:0; right:0; bottom:0; left:0; */
  width: 100%;
  height: 100%;
}

/* espaçamento padrão de banners fora do slider */
[id^="banner"]{
  margin-top: 60px;
}
[id^="banner"] img{
  margin: 0 auto;
}


/* comments area css */
.comment-area {
  margin-top: 70px;
}
.comments-heading > h3 {
  border-top: 1px solid #efefef;
  font-family:  Oswald, sans-serif ;
  font-size: 24px;
  margin: 0 0 50px;
  padding: 22px 0 0;
  text-transform: uppercase;
}
.comment-list-image {
  float: left;
  margin-right: 15px;
}
.comment-content-wrap > p {
  margin-top: 15px;
}
.comment-content-wrap {
  border: 1px solid #ddd;
  color: #42414f;
  font-size: 12px;
  line-height: 1;
  margin: 0 0 15px 63px;
  padding: 10px;
  position: relative;
}
.comment-content-wrap::before {
  background: #efefef none repeat scroll 0 0;
  border-bottom: 1px solid#efefef;
  border-left: 1px solid#efefef;
  content: "";
  display: block;
  height: 10px;
  left: -5px;
  position: absolute;
  top: 10px;
  transform: rotate(45deg);
  width: 10px;
}
.comments-list ul li {
  margin-bottom: 25px;
}
.threaded-comments {
  margin-left: 50px;
}
.comment-respond {
  margin-top: 65px;
}
h3.comment-reply-title {
  border-top: 1px solid #efefef;
  font-family:  Oswald, sans-serif ;
  font-size: 24px;
  margin: 0 0 50px;
  padding: 22px 0 0;
  text-transform: uppercase;
}
span.email-notes {
  color: #5a6069;
  display: block;
  font-size: 12px;
  margin-bottom: 10px;
}
.comment-respond input[type="text"],
.comment-respond input[type="email"] {
  /*background: #efefef none repeat scroll 0 0;*/
  border: 1px solid #efefef;
  border-radius: 0;
  height: 32px;
  margin-bottom: 15px;
  padding: 0 0 0 10px;
  width: 100%;
}
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important; /* Impede que o conteúdo se expanda */
    border: 0 !important;
}
.comment-respond textarea#message, .comment-respond textarea#CommentBody {
  /*background: #efefef none repeat scroll 0 0;*/
  border: 1px solid #efefef;
  border-radius: 0;
  height: 130px;
  max-width: 100%;
  padding: 10px;
  width: 100%;
}
.comment-respond input[type="submit"] {
  /*background: #ae2fe3 none repeat scroll 0 0;*/
  border: medium none;
  border-radius: 0;
  box-shadow: none;
  color: #efefef;
  display: inline-block;
  font-family:  Rubik, sans-serif ;
  font-size: 12px;
  font-weight: 400;
  height: 40px;
  line-height: 40px;
  margin-top: 20px;
  padding: 0 15px;
  text-shadow: none;
  text-transform: capitalize;
  transition: all 0.3s ease 0s;
  white-space: nowrap;
}
.comment-respond input[type="submit"]:hover {
  background-color: #df15e5;
}

#checkout-cart .pull-right .additional-checkout-button {
  margin-left: 10px; 
}
@media (max-width:991px){
  #checkout-cart .pull-right, #checkout-cart .pull-left{
    float: none !important;
    text-align: center;
    margin: 10px 0; 
  }
}

.margin-top{
  margin-top: 80px;
}

.padding-bottom{
  padding-bottom: 80px;
}
.border-bottom {
  border-bottom: 1px solid #efefef;
}

.bg-navy{
  background-color:#001F3F !important
}
.bg-blue{
  background-color:#0074D9 !important
}
.bg-aqua{
  background-color:#7FDBFF !important
}
.bg-teal{
  background-color:#39CCCC !important
}
.bg-olive{
  background-color:#3D9970 !important
}
.bg-green{
  background-color:#2ECC40 !important
}
.bg-lime{
  background-color:#01FF70 !important
}
.bg-yellow{
  background-color:#FFDC00 !important
}
.bg-orange{
  background-color:#FF851B !important
}
.bg-red{
  background-color:#FF4136 !important
}
.bg-fuchsia{
  background-color:#F012BE !important
}
.bg-purple{
  background-color:#B10DC9 !important
}
.bg-maroon{
  background-color:#85144B !important
}
.bg-white{
  background-color:#efefef !important
}
.bg-gray{
  background-color:#aaa !important
}
.bg-silver{
  background-color:#ddd !important
}
.bg-black{
  background-color:#111 !important
}
.bg-mint{
  background-color:#98ff98 !important
}
.bg-cream{
  background-color:#fffdd0 !important;
}
.cream{
  color:#fffdd0
}
.navy{
  color:#001F3F
}
.blue{
  color:#0074D9
}
.aqua{
  color:#7FDBFF
}
.teal{
  color:#39CCCC
}
.olive{
  color:#3D9970
}
.green{
  color:#2ECC40
}
.lime{
  color:#01FF70
}
.yellow{
  color:#FFDC00
}
.orange{
  color:#FF851B
}
.red{
  color:#FF4136
}
.fuchsia{
  color:#F012BE
}
.purple{
  color:#B10DC9
}
.maroon{
  color:#85144B
}
.white{
  color:#efefef
}
.silver{
  color:#ddd
}
.gray{
  color:#aaa
}
.black{
  color:#111
}
.mint{
  color:#98ff98
}
.border--navy{
  border-color:#001F3F
}
.border--blue{
  border-color:#0074D9
}
.border--aqua{
  border-color:#7FDBFF
}
.border--teal{
  border-color:#39CCCC
}
.border--olive{
  border-color:#3D9970
}
.border--green{
  border-color:#2ECC40
}
.border--lime{
  border-color:#01FF70
}
.border--yellow{
  border-color:#FFDC00
}
.border--orange{
  border-color:#FF851B
}
.border--red{
  border-color:#FF4136
}
.border--fuchsia{
  border-color:#F012BE
}
.border--purple{
  border-color:#B10DC9
}
.border--maroon{
  border-color:#85144B
}
.border--white{
  border-color:#efefef
}
.border--gray{
  border-color:#aaa
}
.border--silver{
  border-color:#ddd
}
.border--black{
  border-color:#111
}
.fill-navy{
  fill:#001F3F
}
.fill-blue{
  fill:#0074D9
}
.fill-aqua{
  fill:#7FDBFF
}
.fill-teal{
  fill:#39CCCC
}
.fill-olive{
  fill:#3D9970
}
.fill-green{
  fill:#2ECC40
}
.fill-lime{
  fill:#01FF70
}
.fill-yellow{
  fill:#FFDC00
}
.fill-orange{
  fill:#FF851B
}
.fill-red{
  fill:#FF4136
}
.fill-fuchsia{
  fill:#F012BE
}
.fill-purple{
  fill:#B10DC9
}
.fill-maroon{
  fill:#85144B
}
.fill-white{
  fill:#efefef
}
.fill-gray{
  fill:#aaa
}
.fill-silver{
  fill:#ddd
}
.fill-black{
  fill:#111
}
.stroke-navy{
  stroke:#001F3F
}
.stroke-blue{
  stroke:#0074D9
}
.stroke-aqua{
  stroke:#7FDBFF
}
.stroke-teal{
  stroke:#39CCCC
}
.stroke-olive{
  stroke:#3D9970
}
.stroke-green{
  stroke:#2ECC40
}
.stroke-lime{
  stroke:#01FF70
}
.stroke-yellow{
  stroke:#FFDC00
}
.stroke-orange{
  stroke:#FF851B
}
.stroke-red{
  stroke:#FF4136
}
.stroke-fuchsia{
  stroke:#F012BE
}
.stroke-purple{
  stroke:#B10DC9
}
.stroke-maroon{
  stroke:#85144B
}
.stroke-white{
  stroke:#fff
}
.stroke-gray{
  stroke:#aaa
}
.stroke-silver{
  stroke:#ddd
}
.stroke-black{
  stroke:#111
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.pulsingText {
  animation: pulse 0.5s infinite;
}

/* Ocultar os elementos se a resolução for menor ou igual a 766x1024 e qualquer uma das classes problemáticas estiver presente */
@media screen and (max-width: 766px) and (max-height: 1024px) {
  .form_buy_sticky .pulsingText,
  .form_buy_sticky .whatsapp-link-container,
  .form_buy_sticky .contact-link,
  .fix-header2 .pulsingText,
  .fix-header2 .whatsapp-link-container,
  .fix-header2 .contact-link,
  .fix-header1 .pulsingText,
  .fix-header1 .whatsapp-link-container,
  .fix-header1 .contact-link {
    display: none !important;
  }
}

/* Exibir os elementos quando a tela for menor ou igual a 766x1024 e as classes problemáticas não estiverem presentes */
@media screen and (max-width: 766px) and (max-height: 1024px) {
  .pulsingText,
  .whatsapp-link-container,
  .contact-link {
    display: block !important;
  }
}

/* Exibir os elementos quando a tela for maior que 766x1024, independentemente das classes */
@media screen and (min-width: 767px) and (min-height: 1025px) {
  .pulsingText,
  .whatsapp-link-container,
  .contact-link {
    display: block !important;
  }
}


/* Ocultar .animation-container quando qualquer uma das classes específicas estiver presente */
.form_buy_sticky .animation-container,
.fix-header2 .animation-container,
.fix-header1 .animation-container,
.form-group .animation-container,
.col-3 .animation-container,
.col-7 .animation-container {
  display: none !important;
}

.animation-container {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}

.animation-container div:first-of-type {
  animation: showup 12s infinite;
}

.animation-container div:last-of-type {
  width: 0;
  animation: reveal 12s infinite;
}

.animation-container div:last-of-type span {
  margin-left: -355px;
  animation: slidein 12s infinite;
}

@keyframes showup {
  0% { opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes slidein {
  0% { margin-left: -800px; }
  20% { margin-left: -800px; }
  35% { margin-left: 0; }
  100% { margin-left: 0; }
}

@keyframes reveal {
  0% { opacity: 0; width: 0; }
  20% { opacity: 1; width: 0; }
  30% { width: 355px; }
  80% { opacity: 1; }
  100% { opacity: 0; width: 355px; }
}

.impostos-inclusos {
  font-size: 12px;
  color: #b7a8d1;
  font-family: math;
}

.contact-link {
  color: #835bb7;
  text-decoration: none;
}

.contact-link:hover {
  text-decoration: underline;
}

/* Estilos para colunas específicas */
.product-layout.product-grid.grid-style.col-lg-6.col-md-6.col-sm-6.col-xs-6.product-item .animation-container {
  display: block;
  text-align: left;
}

.product-layout.product-grid.grid-style.col-lg-6.col-md-6.col-sm-6.col-xs-6.product-item .animation-container div:first-of-type, 
.product-layout.product-grid.grid-style.col-lg-6.col-md-6.col-sm-6.col-xs-6.product-item .animation-container div:last-of-type {
  width: 100%;
}

.product-layout.product-grid.grid-style.col-lg-6.col-md-6.col-sm-6.col-xs-6.product-item .animation-container div:last-of-type span {
  margin-left: -100%;
}


.centered-nav {
    display: flex;
    justify-content: center; /* Centraliza horizontalmente os itens da lista */
    width: 100%; /* Garante que o contêiner ocupe toda a largura do elemento pai */
    padding: 0; /* Remove o padding padrão do <ul> */
    margin-top: 20px; /* Adiciona espaçamento superior, se necessário */
}

.centered-nav li {
    margin: 0 10px; /* Ajusta o espaçamento entre os itens, se necessário */
}

/* Estilo padrão para o parcelamento */
.parcelamento {
    display: flex;
    align-items: center; /* Alinha verticalmente */
    justify-content: center; /* Centraliza horizontalmente */
    gap: 5px; /* Espaçamento entre o texto e o valor */
}

/* Media query para dispositivos móveis */
@media (max-width: 768px) {
    /* Estilos aplicados quando as classes específicas estão presentes */
    .form_buy_sticky.fix-header2.fix-header1 .parcelamento {
        display: flex; /* Mantém o flex para permitir o alinhamento */
        flex-direction: column; /* Alinha os itens verticalmente (um embaixo do outro) */
        text-align: center; /* Centraliza o texto */
        justify-content: center; /* Garante a centralização horizontal */
    }

    .form_buy_sticky.fix-header2.fix-header1 .parcelamento-valor {
        margin-top: 5px; /* Adiciona espaço entre o texto e o valor */
    }
}

<style>
/* =========================================================
   AFB — PRICE BOX (FINAL DEFINITIVO / SAFE MODE)
   - Card do brinde à direita (absolute)
   - Sem grid, sem sticky
   - Sem bug de NAV / overlay
   - Animação sem apagar bordas
========================================================= */

/* ===== CONTAINER BASE ===== */
.price-box{
  width:100%;
  max-width:100%;
  margin:16px 0;
  padding:0;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:18px !important;
  box-sizing:border-box;
  overflow:visible;
}

.price-box .afb--modern{
  margin:0;
}

/* ===== CARTÃO DE PREÇO (ULTRA) ===== */
.price-box .afb--modern .afb-price__card{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;

  padding:20px 22px;
  border-radius:18px;

  background:
    radial-gradient(circle at top right,
      rgba(226,63,255,.16) 0%,
      #ffffff 45%,
      #ffffff 100%
    );
  background-clip:padding-box;

  border:1.5px solid rgba(185,122,255,.35);

  box-shadow:
    0 18px 35px rgba(50,0,70,.18),
    inset 0 0 18px rgba(150,50,220,.08);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  margin:0 !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* Hover somente desktop (SEM scale pra não apagar borda) */
@media (min-width:900px){
  .price-box .afb--modern .afb-price__card:hover{
    transform:translateY(-4px);
    box-shadow:
      0 30px 55px rgba(50,0,70,.28),
      inset 0 0 22px rgba(150,50,220,.14);
    border-color:rgba(226,63,255,.65);
  }
}

/* =========================================================
   MOBILE — RESET TOTAL (SAFE)
========================================================= */
.mobile-only .price-box,
.mobile-only .price-box .afb--modern,
.mobile-only .price-box .afb--modern .afb-price__card{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.mobile-only .afb-mode.afb--legacy{
  display:none !important;
}

.mobile-only .price-box,
.mobile-only .price-box .afb-mode{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* =========================================================
   DESKTOP — BRINDE AO LADO (ABSOLUTE, SEM ROUBAR LARGURA)
========================================================= */
@media (min-width:992px){

  #afb-info .afb-inline-price{
    position:relative;
  }

  /* NÃO reserva espaço com margin-right (isso encurta o preço) */
  #afb-info .afb-inline-price .price-box{
    position:relative;
    max-width:100% !important;
    margin-top:12px;
    margin-right:0 !important;
    overflow:visible !important;
  }

  /* card de preço fica normal */
  #afb-info .afb-inline-price .afb-price__card{
    position:relative;
    z-index:2;
  }

  /* 🎁 CARD DO BRINDE — FORA À DIREITA */
  #afb-info .afb-inline-price .afb-gift-card{
    position:absolute;
    top:0;
    left:calc(100% + 18px);  /* 👈 fica ao lado sem espremer */
    right:auto;

    width:170px;
    height:210px;

    z-index:20;
  }
}

/* =========================================================
   TIPOGRAFIA
========================================================= */
.price-box .afb-price__new,
.price-box .afb-price__old,
.price-box .afb-price__installments-prefix,
.price-box .afb-price__installments-v,
.price-box .afb-badge--tax,
.price-box .afb-badge--off{
  font-family:'Rubik', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.price-box .afb-price__line{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin:6px 0;
  flex-wrap:wrap;
}

.price-box .afb-price__new{
  font-size:15px;
  font-weight:600;
  color:#9a8ca9;
}

.price-box .afb-price__old{
  font-size:14px;
  font-weight:600;
  text-decoration:line-through;
  color:#b6a9c7;
}

.price-box .afb-badge--off{
  background:linear-gradient(135deg,#ff7a00,#ff2bd4);
  padding:4px 10px;
  color:#fff;
  border-radius:8px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.price-box .afb-price__installments-prefix{
  font-size:17px;
  font-weight:600;
  color:#5d5662;
}

.price-box .afb-price__installments-v{
  font-size:34px;
  font-weight:900;
  background:linear-gradient(90deg,#d315f8,#5e1bff);
  -webkit-background-clip:text;
  color:transparent;
  transform:translateY(-2px);
}

.price-box .afb-badge--tax{
  font-size:11px;
  font-weight:600;
  padding:6px 9px;
  border-radius:8px;
  text-transform:uppercase;
  background:rgba(85,34,130,.10);
  color:#4f3f6a;
}

@media (max-width:600px){
  .price-box .afb-price__installments-v{
    font-size:30px;
  }
}
</style>

/* aumenta a largura só na página de produto, por segurança */
#product-product.container {
  max-width: none;
  width: 100%;
}

/* OU se você quiser valores fixos por breakpoint: */
@media (min-width: 1400px) {
  #product-product.container {
    max-width: 1320px;
    width: 1320px;
  }
}

@media (min-width: 1600px) {
  #product-product.container {
    max-width: 1440px;
    width: 1440px;
  }
}

@media (min-width: 1800px) {
  #product-product.container {
    max-width: 1600px;
    width: 1600px;
  }
}
/* ── Caixa de compromisso Funko (garantia) ── */

.product-info-main ul.list-unstyled li.funko-cta{
  margin-top:14px;
  list-style:none;
  text-align:center;
}

.product-info-main ul.list-unstyled li.funko-cta .funko-cta__link{
  display:block;
  text-decoration:none;
  color:inherit;
}

/* Card */
.product-info-main ul.list-unstyled li.funko-cta .funko-cta__card{
  position:relative;
  margin:0 auto;
  max-width:480px;

  padding:18px 18px 16px;
  border-radius:16px;

  border:1px solid rgba(185,122,255,0.35);
  background: radial-gradient(circle at top left,
    rgba(226,63,255,0.10) 0%,
    #ffffff 55%,
    #f7f3ff 100%
  );
  box-shadow:
    0 10px 22px rgba(50,0,70,0.14),
    inset 0 0 10px rgba(185,122,255,0.10);

  font-family:'Rubik', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height:1.5;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

/* Ícone de escudo/estrela no topo */
.product-info-main ul.list-unstyled li.funko-cta .funko-cta__card::before{
  content:"💜";
  position:absolute;
  top:10px;
  left:16px;
  font-size:14px;
}

/* Título */
.product-info-main ul.list-unstyled li.funko-cta .funko-cta__title{
  margin:0 0 8px;
  padding-left:18px; /* espaço pro ícone */
  font-size:14px;
  font-weight:700;
  color:#402041;
}

/* Texto */
.product-info-main ul.list-unstyled li.funko-cta .funko-cta__text{
  margin:0 0 4px;
  font-size:11px;
  color:#574f66;
}

/* Destaques em vermelho suave (mantém a ideia do #c73535) */
.product-info-main ul.list-unstyled li.funko-cta .funko-cta__text strong{
  color:#c73535;
}

/* Hover: levemente mais escuro e “lift” */
.product-info-main ul.list-unstyled li.funko-cta .funko-cta__link:hover .funko-cta__card{
  transform:translateY(-2px);
  border-color:#402041;
  background: radial-gradient(circle at top left,
    rgba(226,63,255,0.16) 0%,
    #ffffff 55%,
    #f1e8ff 100%
  );
  box-shadow:
    0 16px 30px rgba(50,0,70,0.22),
    inset 0 0 14px rgba(200,130,255,0.16);
}

/* Mobile */
@media (max-width:600px){
  .product-info-main ul.list-unstyled li.funko-cta .funko-cta__card{
    padding:16px 14px 14px;
  }
  .product-info-main ul.list-unstyled li.funko-cta .funko-cta__title{
    font-size:13px;
  }
  .product-info-main ul.list-unstyled li.funko-cta .funko-cta__text{
    font-size:10px;
  }
}
/* Esconde as tags da interface, mas mantém no código */
.short-des--hidden{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  white-space:nowrap;
}


/* ====== AJUSTE FINAL ZOOM – CAIXA DO TAMANHO DA IMAGEM ====== */

/* Container principal do zoom */
.product-zoom-image {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;

  /* tira moldura / borda branca do plugin */
  border: none !important;
  box-shadow: none !important;

  /* não deixar esticar a 690px, encolhe pro conteúdo */
  display: inline-block !important;
  width: auto !important;
  max-width: 100%;
}

/* "wrap" que o plugin recria quando troca de imagem */
.product-zoom-image #wrap {
  position: relative;
  display: inline-block;
  width: auto !important;
  height: auto !important;
}

/* link do zoom (tanto o inicial quanto depois dos thumbs) */
.product-zoom-image a.cloud-zoom,
.product-zoom-image #product-cloud-zoom {
  width: auto !important;
  height: auto !important;
  display: block;
}

/* imagem em si – ocupa só o espaço dela, sem distorcer */
.product-zoom-image a.cloud-zoom img,
.product-zoom-image #product-cloud-zoom img {
  display: block;
  max-width: 100%;
  width: auto !important;
  height: auto !important;
}

/* área de mouse do zoom acompanha o tamanho da imagem */
.product-zoom-image #wrap .mousetrap {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
}

/* Centralizar imagem principal no MOBILE */
@media (max-width: 768px) {
  .product-zoom-image {
    display: flex !important;
    justify-content: center;
    align-items: center;
  }

  .product-zoom-image #wrap,
  .product-zoom-image a.cloud-zoom,
  .product-zoom-image #product-cloud-zoom {
    margin: 0 auto !important;
  }

  .product-zoom-image a.cloud-zoom img,
  .product-zoom-image #product-cloud-zoom img {
    display: block;
    margin: 0 auto;
  }
}

/* Centralizar imagem principal no DESKTOP (coluna de produto) */
@media (min-width: 769px){
  .col-sm-6.block-1.owl-style2 .product-zoom-image{
    display: flex !important;          /* sobrescreve o inline-block */
    justify-content: center;
    align-items: flex-start;
    width: 100% !important;
  }

  .col-sm-6.block-1.owl-style2 .product-zoom-image #wrap{
    margin: 0 auto !important;
  }
}



/* ── CTA “métodos de pagamento alternativos” ── */
.payment-cta{
  text-align:center;
  margin:16px 0;
}

.payment-cta__card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  max-width:570px;
  width:100%;
  margin:0 auto;

  padding:12px 16px;
  border-radius:16px;

  border:1px solid rgba(185,122,255,0.35);
  background: radial-gradient(circle at top left,
    rgba(226,63,255,0.10) 0%,
    #ffffff 55%,
    #f7f3ff 100%
  );
  box-shadow:
    0 10px 22px rgba(50,0,70,0.14),
    inset 0 0 10px rgba(185,122,255,0.10);

  font-family:'Rubik', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:15px;
  font-weight:600;
  color:#37174f;
  text-decoration:none;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease,
    color .22s ease;
}

/* ícone de cartão */
.payment-cta__icon{
  font-size:13px;
  flex-shrink:0;
}

.payment-cta__text{
  line-height:1.4;
}

/* HOVER: fundo e borda no roxo escuro (#402041) */
.payment-cta__card:hover{
  transform:translateY(-2px);
  background:#402041;
  border-color:#402041;
  box-shadow:
    0 16px 30px rgba(50,0,70,0.22),
    inset 0 0 14px rgba(200,130,255,0.16);
  color:#fff;
}

/* -------- Ajustes só para DESKTOP -------- */
@media (min-width: 992px){
  .payment-cta__card{
    max-width:640px;          /* um pouco mais larga */
    padding:18px 22px;        /* mais alta */
    border-radius:18px;
    font-size:15px;
    position:relative;
  }

  /* ícone fixo à esquerda, texto 100% centralizado */
  .payment-cta__icon{
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);
  }

  .payment-cta__text{
    width:100%;
    text-align:center;
  }
}

/* Mobile continua “legalzinho” */
@media (max-width:600px){
  .payment-cta__card{
    padding:12px 14px;
    font-size:14px;
  }
}

/* ================= BASE DOS ÍCONES (MOBILE + DESKTOP) ================= */
.product-info-detailed .afb-tab-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.product-info-detailed .afb-tab-icon svg{
  width:20px;
  height:20px;
}

/* ================= MOBILE – TABS EM CARTÃO COM SVG ANIMADO ================= */
@media (max-width: 768px){

  .product-info-detailed .mobtab{
    margin-bottom:10px;
    padding:0;
  }

  .product-info-detailed .mobtab a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;   /* texto fica centralizado */
    gap:6px;

    width:100%;
    padding:11px 16px;

    border-radius:18px;
    background:#ffffff;
    border:1px solid #e7e0f4;

    font-family:'Rubik', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#8a2c9c;
    text-decoration:none;
    text-align:center;

    box-shadow:0 4px 10px rgba(0,0,0,0.04);
    overflow:hidden;

    transition:
      background .2s ease,
      color .2s ease,
      border-color .2s ease,
      box-shadow .2s ease,
      transform .18s ease;
  }

  /* ÍCONE SVG – FIXO NA ESQUERDA (MOBILE) */
  .product-info-detailed .mobtab .afb-tab-icon{
    position:absolute;
    left:23px;              /* aproxima mais/menos da borda mexendo aqui */
    top:50%;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .product-info-detailed .mobtab .afb-tab-icon svg{
    width:18px;
    height:18px;
    opacity:.65;
    transform:scale(.94);
    transition:
      transform .22s cubic-bezier(.16,.75,.35,1.1),
      opacity .18s ease-out,
      filter .25s ease-out;
  }

  /* Hover: ícone dá uma leve subida + ganha presença */
  .product-info-detailed .mobtab a:hover .afb-tab-icon svg{
    opacity:.9;
    transform:translateY(-1px) scale(.98);
  }

  /* ÍCONE NA ABA ATIVA – destaque premium + animação */
  .product-info-detailed .mobtab a.active .afb-tab-icon svg,
  .product-info-detailed .mobtab a[aria-selected="true"] .afb-tab-icon svg{
    opacity:1;
    transform:translateY(-1px) scale(1);
    filter:drop-shadow(0 0 8px rgba(138,44,156,0.35));
    animation:afbTabIconPop .45s cubic-bezier(.16,.75,.35,1.1);
  }

  @keyframes afbTabIconPop{
    0%   { transform:translateY(4px) scale(.8);  opacity:0;   filter:none; }
    55%  { transform:translateY(-2px) scale(1.08); opacity:1; }
    100% { transform:translateY(-1px) scale(1); }
  }

  /* Garantir centralização do texto */
  .product-info-detailed .mobtab a span,
  .product-info-detailed .mobtab a{
    text-align:center;
  }

  /* Hover da aba */
  .product-info-detailed .mobtab a:hover{
    background:linear-gradient(180deg,#ffffff 0%, #f9f4ff 100%);
    border-color:#ddcff4;
    box-shadow:0 7px 16px rgba(0,0,0,0.08);
    transform:translateY(-1px);
  }

  /* Estado ativo/selecionado da aba */
  .product-info-detailed .mobtab a.active,
  .product-info-detailed .mobtab a[aria-selected="true"]{
    background:linear-gradient(180deg,#f6ecff 0%, #efe0ff 100%);
    border-color:#8a2c9c;
    color:#5b1d69;
    box-shadow:0 8px 18px rgba(138,44,156,0.18);
    transform:translateY(-1px);
  }

  /* Barrinha de destaque no topo do tab ativo */
  .product-info-detailed .mobtab a.active::after,
  .product-info-detailed .mobtab a[aria-selected="true"]::after{
    content:"";
    position:absolute;
    top:3px;
    left:50%;
    transform:translateX(-50%);
    width:36%;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,#8a2c9c,#b78ad7);
  }

  /* Acessibilidade: foco pelo teclado */
  .product-info-detailed .mobtab a:focus-visible{
    outline:2px solid #8a2c9c;
    outline-offset:2px;
  }
}

/* ================= DESKTOP – TABS COM PNG DO ICONS8 ================= */
@media (min-width: 769px){

  /* Layout do link da aba no DESKTOP */
  .product-info-detailed .nav.nav-tabs > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;

    padding: 10px 18px 14px;
    border: none;
    background: transparent;

    font-family: 'Rubik', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6a1b9a;
  }

  /* container do ícone nas abas DESKTOP */
  .product-info-detailed .nav.nav-tabs .afb-tab-icon{
    width: 26px;
    height: 26px;
    display: block;

    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 2px;
  }

  /* esconde o SVG dentro do span só no DESKTOP.
     (no mobile continua usando o SVG normalmente) */
  .product-info-detailed .nav.nav-tabs .afb-tab-icon svg{
    display: none;
  }

  /* ---- PNGs específicos de cada aba ---- */

  /* DESCRIÇÃO */
  .product-info-detailed .nav.nav-tabs .afb-tab-icon--desc{
    background-image: url("https://img.icons8.com/?size=100&id=kvgBw3l4Qjy3&format=png&color=000000");
  }

  /* AVALIAÇÕES */
  .product-info-detailed .nav.nav-tabs .afb-tab-icon--reviews{
    background-image: url("https://img.icons8.com/?size=100&id=114499&format=png&color=000000");
  }

  /* TAGS */
  .product-info-detailed .nav.nav-tabs .afb-tab-icon--tags{
    background-image: url("https://img.icons8.com/?size=100&id=23062&format=png&color=000000");
  }

  /* estado hover */
  .product-info-detailed .nav.nav-tabs > li > a:hover{
    color: #b42ad6;
    background: transparent;
    border: none;
  }

  /* estado ativo */
  .product-info-detailed .nav.nav-tabs > li.active > a,
  .product-info-detailed .nav.nav-tabs > li.active > a:focus,
  .product-info-detailed .nav.nav-tabs > li.active > a:hover{
    color: #b42ad6;
    background: transparent;
    border: none;
  }
}

/* =========================================================
   AFB FULLSCREEN MENU — DESKTOP ONLY
========================================================= */

/* HAMBURGER (não mexe) */
.afb-hamburger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:transparent;border:0;padding:0;margin-left:14px;cursor:pointer;position:relative;z-index:10001;-webkit-tap-highlight-color:transparent}
.afb-hamburger span{width:26px;height:2px;display:block;background:#fff;border-radius:2px;transform-origin:center;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .25s ease}
body.afb-desktop-menu-open .afb-hamburger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
body.afb-desktop-menu-open .afb-hamburger span:nth-child(2){opacity:0}
body.afb-desktop-menu-open .afb-hamburger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.afb-hamburger:hover span{opacity:.7}
@media(max-width:991px){.afb-hamburger{display:none!important}}

/* ROOT MENU */
#afbFullscreenMenu{
  position:fixed; inset:0;
  width:100vw; height:100vh;
  background:#0b0e14; color:#fff;
  z-index:9999;
  transform:translateX(100%);
  transition:transform .7s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
  overflow: visible;
}
body.afb-desktop-menu-open #afbFullscreenMenu{transform:translateX(0);pointer-events:auto}
body.afb-desktop-menu-closing #afbFullscreenMenu{transform:translateX(100%)}
body:not(.afb-desktop-menu-open):not(.afb-desktop-menu-closing) #afbFullscreenMenu{transition:none;transform:translateX(100%)}

/* FECHAR */
.afb-menu-close{
  position:absolute; top:32px; right:32px;
  width:44px; height:44px;
  background:transparent; border:0; cursor:pointer;
  z-index:10002;
  display:flex; align-items:center; justify-content:center;
}
.afb-menu-close span{
  position:absolute; width:28px; height:2px;
  background:#fff; border-radius:2px;
  transition:opacity .25s ease;
}
.afb-menu-close span:nth-child(1){transform:rotate(45deg)}
.afb-menu-close span:nth-child(2){transform:rotate(-45deg)}
.afb-menu-close:hover span{opacity:.7}

/* GRID */
.afb-menu-inner{
  height:100%;
  display:grid;
  grid-template-columns:minmax(460px, 1.2fr) 1fr; /* mais equilibrado */
  position:relative;
  z-index:2; /* acima do vídeo */
  overflow:visible;
}

/* =========================================================
   ESQUERDA
========================================================= */
.afb-menu-left{
  /* você pediu MENOS padding: */
  padding:72px 60px 72px 80px;
  display:flex; flex-direction:column;
  justify-content:center;
  align-items:flex-start;      /* HITBOX menor */
  transform:translateX(120px);
  opacity:0;
  transition:transform .7s cubic-bezier(.22,1,.36,1), opacity .45s ease;
}
body.afb-desktop-menu-open .afb-menu-left{transform:translateX(0);opacity:1}
body.afb-desktop-menu-closing .afb-menu-left{transform:translateX(-120px);opacity:0}

.afb-menu-eyebrow{
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  opacity:.45;
  margin-bottom:26px;
}

/* links: menor + hover só no texto (sem “zona gigante”) */
.afb-menu-link{
  font-size:clamp(34px, 3.4vw, 56px);   /* menor que antes */
  font-weight:500;
  line-height:1.05;
  color:#fff;
  text-decoration:none;

  display:inline-flex;          /* CRÍTICO: não ocupa a largura toda */
  width:fit-content;            /* CRÍTICO: reduz hitbox */
  padding:6px 0;                /* “uns 10px” vibe, sem exagero */
  margin-bottom:10px;

  opacity:0;
  transform:translateY(18px);
  transition:transform .5s cubic-bezier(.22,1,.36,1), opacity .35s ease, color .25s ease, text-shadow .35s ease;
}
body.afb-desktop-menu-open .afb-menu-link{opacity:1;transform:translateY(0)}
body.afb-desktop-menu-open .afb-menu-link:nth-child(2){transition-delay:.05s}
body.afb-desktop-menu-open .afb-menu-link:nth-child(3){transition-delay:.1s}
body.afb-desktop-menu-open .afb-menu-link:nth-child(4){transition-delay:.15s}
body.afb-desktop-menu-open .afb-menu-link:nth-child(5){transition-delay:.2s}
body.afb-desktop-menu-open .afb-menu-link:nth-child(6){transition-delay:.25s}
body.afb-desktop-menu-open .afb-menu-link:nth-child(7){transition-delay:.3s}
body.afb-desktop-menu-open .afb-menu-link:nth-child(8){transition-delay:.35s}

.afb-menu-link:hover{
  color:#fff;
  text-shadow:0 0 10px rgba(255,255,255,.6), 0 0 32px rgba(255,255,255,.35);
  transform:translateX(2px);
}

/* =========================================================
   DIREITA (mantém botões intactos)
========================================================= */
.afb-menu-right{
  /* menos padding também */
  padding:56px 72px;
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0));
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:18px;
  overflow:visible;

  transform:translateX(160px);
  opacity:0;
  transition:transform .65s cubic-bezier(.22,1,.36,1), opacity .45s ease;
}
body.afb-desktop-menu-open .afb-menu-right{
  transform:translateX(0);
  opacity:1;
  transition-delay:.25s;
}
body.afb-desktop-menu-closing .afb-menu-right{
  transform:translateX(200px);
  opacity:0;
}

/* BOTÕES (EXATAMENTE como seu antigo) */
/* ======================================================
   AFB CTA --3: 1 LINHA (moeda pequena + 2 botões)
   - Não deixa quebrar em 2 linhas
   - Botões podem encolher sem estourar
====================================================== */

.afb-menu-cta.afb-menu-cta--3{
  max-width: 760px;
  display: grid;
  grid-template-columns: 120px minmax(0,1fr) minmax(0,1fr); /* <<< chave */
  gap: 12px;
  align-items: center;
  justify-items: stretch;
  grid-auto-flow: column;     /* força seguir na horizontal */
  grid-auto-rows: 52px;       /* trava altura 1 linha */
}

/* garante que os links não “peçam” largura mínima gigante */
.afb-menu-cta.afb-menu-cta--3 > a{
  min-width: 0;               /* <<< evita quebrar */
}

/* moeda pequena e sem label pra não empurrar */
.afb-menu-cta--3 .afb-currency{
  width: 120px;
  min-width: 120px;
  margin: 0;
}
.afb-menu-cta--3 .afb-currency__label{
  display:none;
}
.afb-menu-cta--3 .afb-currency__select{
  width: 100%;
  height: 52px;
  border-radius: 14px;
}

/* se ainda apertar em telas menores, só aí empilha */
@media (max-width: 680px){
  .afb-menu-cta.afb-menu-cta--3{
    max-width: 520px;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
}


/* TEXTO CHAMADA */
.afb-search-headline{
  max-width:560px;
  font-size:16px;
  font-weight:500;
  line-height:1.35;
  color:rgba(255,255,255,0.88);
  animation:afbGlow 4.5s ease-in-out infinite;
}
@keyframes afbGlow{
  0%{text-shadow:0 0 6px rgba(255,255,255,.12);opacity:.85}
  50%{text-shadow:0 0 14px rgba(255,255,255,.42);opacity:1}
  100%{text-shadow:0 0 6px rgba(255,255,255,.12);opacity:.85}
}

/* =========================================================
   AFB FULLSCREEN — RIGHT PANEL (CTA TOP + MID SEARCH + FX)
   ✅ bate com seu HTML atual:
   #afbDSearch .afb-dsearch__form
   #afbDSearchInput .afb-dsearch__input
   #afbDSearchResults .afb-dsearch__results (com [hidden])
========================================================= */

/* Painel direito */
#afbFullscreenMenu .afb-menu-right{
  position: relative; /* 🔥 referência do vídeo */
  height: 100%;

  padding: 36px 42px !important;

  display: flex;
  flex-direction: column;
  align-items: stretch;

  /* 🔥 cria topo / meio / fundo */
  justify-content: space-between;

  gap: 0;

  /* 🔥 OBRIGATÓRIO para a busca funcionar */
  overflow: visible;

  background: linear-gradient(
    180deg,
    rgba(255,255,255,.04),
    rgba(255,255,255,0)
  );
}



/* ---------- CTA (fica em cima, alinhado mais pro meio) ---------- */
#afbFullscreenMenu .afb-menu-cta{
  width:100%;
  max-width:560px;
  margin:0 auto;                 /* centraliza no painel */
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

/* Botões premium (mantém tamanho) */
#afbFullscreenMenu .afb-btn-primary,
#afbFullscreenMenu .afb-btn-outline{
  height:52px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-radius:14px;
  font-size:15px;
  font-weight:650;
  letter-spacing:.02em;
  text-decoration:none;

  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;

  transition:
    transform .22s cubic-bezier(.22,1,.36,1),
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease,
    filter .22s ease;
}

#afbFullscreenMenu .afb-btn-primary{
  background:#ffd34d;
  color:#111;
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    inset 0 -2px 0 rgba(0,0,0,.14);
}
#afbFullscreenMenu .afb-btn-primary:hover{
  transform:translateY(-1px);
  filter:saturate(1.05);
  box-shadow:
    0 16px 36px rgba(0,0,0,.34),
    inset 0 -2px 0 rgba(0,0,0,.18);
}

#afbFullscreenMenu .afb-btn-outline{
  background:rgba(255,255,255,.04);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
#afbFullscreenMenu .afb-btn-outline:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.38);
  box-shadow:0 14px 32px rgba(0,0,0,.26);
}



/* =========================================================
   BLOCO CENTRAL (MID)
========================================================= */

#afbFullscreenMenu .afb-menu-mid{
  flex: 0;
  margin-bottom: -8px;

  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* busca começa embaixo */
  align-items: center;
  gap: 14px;

  /* espaço real do vídeo */
  padding-bottom: 260px;

  position: relative;
  z-index: 2;

  /* animação */
  transition: transform .45s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

/* =========================================================
   🔥 QUANDO A BUSCA ESTÁ ATIVA → MID SOBE
   (usa o estado REAL do JS)
========================================================= */

/* 🔥 SOBE SOMENTE QUANDO INPUT ESTÁ EM FOCO */
body.afb-search-focus #afbFullscreenMenu .afb-menu-mid{
  transform: translateY(-210px);
}

/* telas menores */
@media (max-height: 820px){
  body.afb-search-focus #afbFullscreenMenu .afb-menu-mid{
    transform: translateY(-140px);
  }
}

@media (max-height: 720px){
  body.afb-search-focus #afbFullscreenMenu .afb-menu-mid{
    transform: translateY(-90px);
  }
}
/* ===== ITEM ATIVO (teclado) ===== */
#afbFullscreenMenu .afb-dsearch__item.is-active{
  background: rgba(255,255,255,.12);
}

#afbFullscreenMenu .afb-dsearch__item.is-active .afb-dsearch__link{
  background: transparent;
}


/* ================================
   SCROLL PREMIUM — RESULTADOS BUSCA
================================ */
#afbFullscreenMenu #afbDSearchResults{
  scrollbar-width: thin;                 /* Firefox */
  scrollbar-color: rgba(255,255,255,.35) transparent;
}

/* Webkit (Chrome, Edge, Safari) */
#afbFullscreenMenu #afbDSearchResults::-webkit-scrollbar{
  width: 8px;
}

#afbFullscreenMenu #afbDSearchResults::-webkit-scrollbar-track{
  background: transparent;
}

#afbFullscreenMenu #afbDSearchResults::-webkit-scrollbar-thumb{
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.15),
    rgba(255,255,255,.45)
  );
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

#afbFullscreenMenu #afbDSearchResults::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.35),
    rgba(255,255,255,.65)
  );
}

/* ================================
   SEARCH RESULTS — ANIMAÇÃO PREMIUM (REAL)
================================ */

/* quando o JS usar hidden, some de verdade */
#afbFullscreenMenu #afbDSearchResults[hidden]{
  display:none !important;
}

/* estado base (existe, mas invisível) */
#afbFullscreenMenu #afbDSearchResults{
  /* NÃO use display:none aqui */
  display:block;

  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  z-index:9999;

  background:rgba(10,10,10,.92);
  backdrop-filter:blur(12px);

  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;

  max-height:46vh;
  overflow-y:auto;
  overscroll-behavior:contain;

  padding:8px 0;

  /* estado inicial (in) */
  opacity:0;
  transform:translateY(12px) scale(.985);
  filter:blur(10px);

  visibility:hidden;
  pointer-events:none;

  will-change:opacity, transform, filter;
  transition:
    opacity .22s ease,
    transform .34s cubic-bezier(.22,1,.36,1),
    filter .22s ease,
    visibility 0s linear .22s;
}

/* estado visível */
#afbFullscreenMenu #afbDSearchResults.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);

  visibility:visible;
  pointer-events:auto;

  transition:
    opacity .22s ease,
    transform .34s cubic-bezier(.22,1,.36,1),
    filter .22s ease,
    visibility 0s;
}

/* transição ao trocar termos (Goku -> Naruto) */
#afbFullscreenMenu #afbDSearchResults.is-updating{
  opacity:.35;
  transform:translateY(6px) scale(.992);
  filter:blur(2px);
}

@media (prefers-reduced-motion: reduce){
  #afbFullscreenMenu #afbDSearchResults{
    transition:none !important;
  }
}


/* =========================================================
   TEXTO (headline)
========================================================= */

#afbFullscreenMenu .afb-menu-mid .afb-search-headline{
  width:100%;
  max-width:720px;
  text-align:center;

  font-size:48px;
  font-weight:600;
  line-height:1.3;
  color:rgba(255,255,255,.92);

  text-shadow:0 0 10px rgba(0,0,0,.25);
}



/* ---------- SEARCH (larga até o limite do padding) ---------- */
#afbFullscreenMenu #afbDSearch{
  width: 100%;
  max-width: 720px;     /* largura premium, não exagerada */
  margin: 0 auto;       /* centraliza no painel */

  position: relative;   /* 🔥 referência do dropdown */
  z-index: 3;           /* 🔥 acima do vídeo */
}


#afbFullscreenMenu .afb-dsearch__form{
  position:relative;
  width:100%;
}

/* Input */
#afbFullscreenMenu #afbDSearchInput{
  width:100% !important;
  height:58px !important;
  padding:0 56px 0 22px !important;

  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.22) !important;

  background:rgba(0,0,0,.46) !important;
  backdrop-filter:blur(10px);

  font-size:16px !important;
  font-weight:520 !important;
  letter-spacing:.2px !important;
  color:#fff !important;

  outline:none !important;

  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    transform .25s ease;
}

#afbFullscreenMenu #afbDSearchInput::placeholder{
  color:rgba(255,255,255,.55);
  font-weight:450;
}

#afbFullscreenMenu #afbDSearchInput:focus{
  border-color:rgba(255,211,77,.85) !important;
  background:rgba(0,0,0,.58) !important;
  box-shadow:
    0 0 0 1px rgba(255,211,77,.30),
    0 18px 46px rgba(0,0,0,.42);
}

/* Ícone */
#afbFullscreenMenu .afb-dsearch__icon{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:18px;
  opacity:.80;
  pointer-events:none;
}

/* =========================================================
   SEARCH RESULTS — ESTADO CONTROLADO (SEM BARRA FANTASMA)
========================================================= */

/* ===== FECHADO (padrão) ===== */
#afbFullscreenMenu #afbDSearchResults{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  z-index:9999;

  background:rgba(10,10,10,.90);
  backdrop-filter:blur(10px);

  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;

  max-height:46vh;
  overflow-y:auto;
  overscroll-behavior:contain;

  padding:0;                 /* 🔥 fechado não ocupa espaço */
  margin:0;

  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  visibility:hidden;
}

/* ===== ABERTO (JS adiciona .is-open no wrapper) ===== */
#afbFullscreenMenu .afb-dsearch.is-open #afbDSearchResults{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  visibility:visible;

  padding:8px 0;

  transition:
    opacity .35s ease,
    transform .45s cubic-bezier(.22,1,.36,1);
}

/* ===== ITENS ===== */
#afbFullscreenMenu #afbDSearchResults li{
  list-style:none;
}

#afbFullscreenMenu #afbDSearchResults a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  text-decoration:none;
  color:#fff;
}

#afbFullscreenMenu #afbDSearchResults a:hover{
  background:rgba(255,255,255,.06);
}

/* =========================================================
   BLOQUEIA SCROLL DO BODY DURANTE BUSCA
========================================================= */
body.afb-search-active{
  overflow:hidden;
}

/* =========================================================
   EFEITO PREMIUM — SOBE APENAS O BLOCO CENTRAL
========================================================= */
#afbFullscreenMenu .afb-dsearch.is-open ~ .afb-menu-mid{
  transform:translateY(-210px);
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}

/* telas mais baixas */
@media (max-height: 780px){
  #afbFullscreenMenu .afb-dsearch.is-open ~ .afb-menu-mid{
    transform:translateY(-60px);
  }
}

/* =========================================================
   CORREÇÃO BOOTSTRAP (não deixa sumir)
========================================================= */
#afbFullscreenMenu .dropdown-menu{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  position:relative !important;
  transform:none !important;
  box-shadow:none !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

/* =========================================================
   BACKGROUND DINÂMICO (vídeos)
========================================================= */
.afb-menu-bg{
  position:absolute; inset:0; z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.afb-menu-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.08);
  transition:opacity .45s ease, transform .9s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}
.afb-menu-bg-overlay{
  position:absolute; inset:0;
  background:radial-gradient(circle at 30% 40%, rgba(255,255,255,.10), rgba(0,0,0,.78) 65%);
  opacity:0;
  transition:opacity .45s ease;
  will-change:opacity;
}
.afb-menu-video.is-active{opacity:1;transform:scale(1)}
.afb-menu-bg-overlay.is-active{opacity:1}

/* ISOLAMENTO */
@media(max-width:991px){#afbFullscreenMenu{display:none!important}}
@media(min-width:992px){
  #ma-mobilemenu{display:none!important;pointer-events:none!important}
}
#afbFullscreenMenu .afb-menu-search .afb-search-input{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* força o tema a não esconder a busca do fullscreen */
#afbFullscreenMenu .search-content,
#afbFullscreenMenu .search-content form,
#afbFullscreenMenu .search-content input,
#afbFullscreenMenu #afb-menu-search-input{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  height:auto !important;
}
/* =========================================================
   SEARCH RESULTS — FLUTUANTE / PREMIUM / ISOLADO
========================================================= */
#afbFullscreenMenu #afbDSearchResults{
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  right: 0;
  z-index: 10050;

  list-style: none;
  margin: 0;
  padding: 8px 0;

  max-height: 46vh;
  overflow-y: auto;

  border-radius: 18px;

  background: rgba(10,10,10,.92);
  backdrop-filter: blur(12px);

  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(255,255,255,.08);

  /* estado inicial */
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;

  transition:
    opacity .35s ease,
    transform .45s cubic-bezier(.22,1,.36,1);
}

/* aparece SOMENTE quando há itens */
#afbFullscreenMenu #afbDSearchResults:not(:empty){
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* nunca renderiza caixa vazia */
#afbFullscreenMenu #afbDSearchResults:empty{
  display: none !important;
}

/* =========================================================
   ITENS
========================================================= */
#afbFullscreenMenu .afb-dsearch__item{
  list-style: none;
}

#afbFullscreenMenu .afb-dsearch__link{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  text-decoration: none;
  color: #fff;
}

#afbFullscreenMenu .afb-dsearch__link:hover{
  background: rgba(255,255,255,.06);
}

/* thumb */
#afbFullscreenMenu .afb-dsearch__thumb{
  width: 46px;
  height: 46px;
  border-radius: 10px;
  overflow: hidden;
  flex: 0 0 46px;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

#afbFullscreenMenu .afb-dsearch__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#afbFullscreenMenu .afb-dsearch__thumb--empty{
  background: rgba(255,255,255,.04);
}

/* texto */
#afbFullscreenMenu .afb-dsearch__text{
  display: flex;
  flex-direction: column;
  min-width: 0;
}

#afbFullscreenMenu .afb-dsearch__title{
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#afbFullscreenMenu .afb-dsearch__meta{
  margin-top: 3px;
  font-size: 12px;
  opacity: .75;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================================
   HINT — EXISTE SOMENTE DENTRO DO SCROLL
========================================================= */
#afbFullscreenMenu .afb-dsearch__hint{
  position: sticky;
  bottom: 0;

  list-style: none;
  pointer-events: none;

  margin-top: 8px;
  padding: 12px 14px;
  text-align: center;

  border-top: 1px solid rgba(255,255,255,.10);

  background: linear-gradient(
    to top,
    rgba(10,10,10,.92),
    rgba(10,10,10,.78) 40%,
    rgba(10,10,10,0)
  );

  backdrop-filter: blur(10px);

  z-index: 5;

  opacity: 0;
  transform: translateY(8px);
  filter: blur(6px);

  transition:
    opacity .35s ease,
    transform .45s cubic-bezier(.22,1,.36,1),
    filter .45s ease;
}

#afbFullscreenMenu .afb-dsearch__hint.is-visible{
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

#afbFullscreenMenu .afb-dsearch__hint[hidden]{
  display: none !important;
}

#afbFullscreenMenu .afb-dsearch__hintText{
  display: inline-block;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(255,255,255,.78);
}

/* =========================================================
   SEARCH MEDIA — PREMIUM FLOAT (CLEAN + ESTÁVEL)
========================================================= */
.afb-search-media{
  position:absolute;
  left:50%;
  bottom:42px;
  transform:translateX(-50%);

  width:calc(100% - 160px);
  max-width:920px;
  height:240px;

  border-radius:26px;
  overflow:hidden;

  z-index:9999;
  pointer-events:auto;

  background:#0b0b0b;
  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(255,255,255,.08);
}

/* Poster fallback */
.afb-search-media::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--afb-poster);
  background-size:cover;
  background-position:center;
  opacity:.5;
  transform:scale(1.03);
  pointer-events:none;
  z-index:0;
}

/* vídeo */
.afb-search-media video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
  z-index:1;
}

/* overlay */
.afb-search-media-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.55),
    rgba(0,0,0,.15) 45%,
    rgba(0,0,0,.05)
  );
  pointer-events:none;
  z-index:2;
}

/* =========================================================
   CTA / CONTROLE DE SOM (TRANSFORMÁVEL)
========================================================= */
.afb-sm__sound{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:6;

  display:flex;
  align-items:center;
  gap:10px;

  padding:10px 14px;
  border-radius:999px;

  background:rgba(20,20,20,.6);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);

  color:#fff;
  font-size:13px;
  font-weight:700;

  cursor:pointer;
  transition:
    background .35s ease,
    box-shadow .35s ease,
    padding .35s ease;
}

/* bolinha */
.afb-sm__soundDot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.35);
}

/* =========================================================
   SOM ATIVO → CONTROLE VERDE
========================================================= */
.afb-search-media.is-sound-on .afb-sm__sound{
  background:linear-gradient(135deg,#00d084,#00b36b);
  box-shadow:0 10px 30px rgba(0,208,132,.45);
  padding:12px 12px;
}

/* esconde texto */
.afb-search-media.is-sound-on .afb-sm__sound{
  font-size:0;
}

/* bolinha verde */
.afb-search-media.is-sound-on .afb-sm__soundDot{
  background:#00ff9c;
}

/* =========================================================
   SLIDER DE VOLUME (VERTICAL, SÓ COM SOM ATIVO)
========================================================= */
/* ================= VOLUME ================= */

/* volume fechado por padrão */
.afb-sm__vol{
  display:none;
}

/* volume ABERTO — independente do timer/seek */
.afb-search-media.is-vol-open .afb-sm__vol{
  display:block;

  position:absolute;

  /* 🔒 FIXO NO BOTÃO DE SOM */
  left:32px;
  bottom:72px;

  width:4px;
  height:90px;

  writing-mode:vertical-lr;
  direction: rtl;

  -webkit-appearance: slider-vertical;
  appearance: slider-vertical;

  background:rgba(255,255,255,.35);
  border-radius:4px;
  accent-color:#00ff9c;

  z-index:7;           /* acima da UI */
  pointer-events:auto; /* sempre clicável */
}


/* =========================================================
   ESTADO FINAL — SOM ATIVO (compacto)
========================================================= */

.afb-search-media.is-sound-active .afb-sm__sound{
  background:rgba(10,10,10,.55);
  border:1px solid rgba(0,255,140,.35);
  animation: afbSoundGlow 1.8s ease-in-out infinite;
}

/* bolinha verde pulsando */
.afb-search-media.is-sound-active .afb-sm__soundDot{
  background:#00ff9c;
  animation: afbPulse 1.6s ease-in-out infinite;
}

/* quando compactado (Som ativo), volume SEMPRE fechado */
.afb-search-media.is-sound-active .afb-sm__vol{
  display:none !important;
}

/* ================= ANIMAÇÕES ================= */

/* pulso externo elegante (não cresce demais) */
@keyframes afbSoundGlow{
  0%{
    box-shadow:
      0 0 0 0 rgba(0,255,156,0),
      inset 0 0 0 0 rgba(0,255,156,0);
  }
  50%{
    box-shadow:
      0 0 0 6px rgba(0,255,156,.12),
      inset 0 0 0 1px rgba(0,255,156,.25);
  }
  100%{
    box-shadow:
      0 0 0 0 rgba(0,255,156,0),
      inset 0 0 0 0 rgba(0,255,156,0);
  }
}

/* bolinha — pulso clássico */
@keyframes afbPulse{
  0%{
    box-shadow:0 0 0 0 rgba(0,255,156,.0);
    opacity:.9;
  }
  50%{
    box-shadow:0 0 0 10px rgba(0,255,156,.25);
    opacity:1;
  }
  100%{
    box-shadow:0 0 0 0 rgba(0,255,156,.0);
    opacity:.9;
  }
}

/* =========================================================
   UI COMPLETA (PLAY + SEEK)
========================================================= */
/* ================= UI — CONTROLES (REFINADO) ================= */

.afb-sm__ui{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%) translateY(10px);

  width:60%;
  max-width:620px;
  min-width:360px;

  /* zona de segurança contra o botão de som */
  margin-left:42px;

  z-index:5;
  pointer-events:auto;

  display:flex;
  align-items:center;
  gap:16px;

  padding:6px 18px;
  height:42px;

  border-radius:999px;

  /* vidro mais elegante */
  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,.08),
      rgba(255,255,255,.02)
    ),
    rgba(10,10,10,.55);

  backdrop-filter:blur(16px) saturate(1.1);
  border:1px solid rgba(255,255,255,.14);

  box-shadow:
    0 12px 34px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.06);

  opacity:0;

  transition:
    opacity .28s ease,
    transform .32s cubic-bezier(.22,1,.36,1);
}

/* estado visível */
.afb-search-media.is-ui .afb-sm__ui{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}



/* =========================================================
   BOTÃO PLAY — CLEAN & PREMIUM (FIX)
========================================================= */
.afb-sm__btn{
  width:32px;
  height:32px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);

  background:rgba(255,255,255,.08);
  backdrop-filter: blur(6px);

  color:#fff;
  font-size:15px;
  line-height:1;

  cursor:pointer;
  -webkit-tap-highlight-color: transparent;

  transition:
    background .2s ease,
    transform .18s ease,
    box-shadow .2s ease;
}

.afb-sm__btn:hover{
  background:rgba(255,255,255,.16);
  transform:scale(1.06);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}

.afb-sm__btn:active{
  transform:scale(.95);
}


/* =========================================================
   SEEK (TIMER) — LINHA FINA CINEMATOGRÁFICA
========================================================= */
.afb-sm__seek{
  -webkit-appearance:none;
  appearance:none;

  flex:1;
  height:3px;
  border-radius:999px;

  background:rgba(255,255,255,.28);
  cursor:pointer;
}

/* Chrome / Edge / Safari */
.afb-sm__seek::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;

  width:10px;
  height:10px;
  border-radius:50%;

  background:#ffffff;
  box-shadow:0 0 0 3px rgba(255,255,255,.22);

  transition:
    transform .15s ease,
    box-shadow .15s ease;
}

.afb-sm__seek:hover::-webkit-slider-thumb{
  transform:scale(1.15);
  box-shadow:0 0 0 5px rgba(255,255,255,.22);
}

/* Firefox */
.afb-sm__seek::-moz-range-track{
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
}

.afb-sm__seek::-moz-range-thumb{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  border:0;
}


/* 🔥 QUANDO BUSCA ATIVA → vídeo SOME, NÃO SOBE */
#afbFullscreenMenu.afb-search-active .afb-search-media{
  opacity: 0;
  transform: scale(.96);
  pointer-events: none;
}

/* =========================================================
   PATCH RESPONSIVO + FIX CAMADAS + FIX CLIQUES — AFB FULLSCREEN MENU (DESKTOP)
   👉 Substitua o patch antigo por este e cole no FINAL do CSS
========================================================= */

/* =========================
   0) Camadas / stacking estável + sem “scroll no meio”
========================= */
#afbFullscreenMenu{
  overflow:hidden !important; /* evita scrollbar interna bizarra */
}

#afbFullscreenMenu .afb-menu-right{
  position:relative !important;
  isolation:isolate;              /* resolve briga de z-index */
  overflow:visible !important;
}

/* vídeo (card) fica atrás do dropdown */
#afbFullscreenMenu .afb-search-media{
  z-index:1 !important;
  pointer-events:auto !important;
}

/* UI do vídeo acima do vídeo */
#afbFullscreenMenu .afb-sm__ui{ z-index:7 !important; pointer-events:auto !important; }
#afbFullscreenMenu .afb-sm__sound{ z-index:8 !important; pointer-events:auto !important; }
#afbFullscreenMenu .afb-sm__vol{ z-index:9 !important; pointer-events:auto !important; }

/* busca/headline acima do vídeo (mas sem bloquear clique no vídeo) */
#afbFullscreenMenu .afb-menu-mid{
  position:relative !important;
  z-index:5 !important;

  /* 🔥 deixa “passar clique” pro vídeo */
  pointer-events:none !important;
}

/* input e dropdown continuam clicáveis */
#afbFullscreenMenu .afb-menu-mid #afbDSearch,
#afbFullscreenMenu .afb-menu-mid #afbDSearch *{
  pointer-events:auto !important;
}

/* =========================
   1) Dropdown SEMPRE flutuante e acima de tudo
   (blindagem contra regras globais de .dropdown-menu do tema)
========================= */
#afbFullscreenMenu #afbDSearch{
  position:relative !important; /* referência do dropdown */
  z-index:6 !important;
}

#afbFullscreenMenu #afbDSearchResults,
#afbFullscreenMenu #afbDSearchResults.dropdown-menu{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;

  transform:none !important;
}

/* se o tema usar [hidden] */
#afbFullscreenMenu #afbDSearchResults[hidden]{
  display:none !important;
}

/* =========================
   2) Painel direito estável (CTA nunca sobrepõe headline)
========================= */
#afbFullscreenMenu .afb-menu-right{
  display:grid !important;
  grid-template-rows:auto 1fr !important;
  align-content:start !important;
  justify-content:stretch !important;
}

#afbFullscreenMenu .afb-menu-cta{
  position:relative !important;
  z-index:10 !important;
}

/* bloco central abaixo do CTA */
#afbFullscreenMenu .afb-menu-mid{
  width:100%;
  margin:16px auto 0 !important;
  padding-top:18px !important;
}

/* =========================
   3) Defaults (variáveis) + responsividade real
========================= */
@media (min-width:992px){
  #afbFullscreenMenu{
    --afb-left-min: 460px;
    --afb-left-pad-x: 80px;
    --afb-left-pad-y: 72px;
    --afb-right-pad-x: 42px;
    --afb-right-pad-y: 36px;

    --afb-link-min: 34px;
    --afb-link-vw: 3.1vw;
    --afb-link-max: 56px;

    --afb-headline: 48px;
    --afb-search-max: 720px;

    --afb-media-h: 240px;
    --afb-mid-shift: 210px;
  }

  /* grid responsivo */
  #afbFullscreenMenu .afb-menu-inner{
    grid-template-columns:minmax(var(--afb-left-min), 1.05fr) 1fr !important;
  }

  /* remove scroll “no meio” (não cria coluna com overflow:auto) */
  #afbFullscreenMenu .afb-menu-left{
    padding: var(--afb-left-pad-y) 60px var(--afb-left-pad-y) var(--afb-left-pad-x) !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #afbFullscreenMenu .afb-menu-right{
    padding: var(--afb-right-pad-y) var(--afb-right-pad-x) !important;
  }

  #afbFullscreenMenu .afb-menu-link{
    font-size: clamp(var(--afb-link-min), var(--afb-link-vw), var(--afb-link-max)) !important;
  }

  #afbFullscreenMenu .afb-search-headline{
    font-size: var(--afb-headline) !important;
  }

  /* input alinhado e central */
  #afbFullscreenMenu #afbDSearch{
    max-width: var(--afb-search-max) !important;
    margin: 0 auto !important;
    width:100% !important;
  }

  /* reserva espaço do vídeo → input NÃO encosta no vídeo */
  #afbFullscreenMenu .afb-search-media{
    height: var(--afb-media-h) !important;
  }
  #afbFullscreenMenu .afb-menu-mid{
    padding-bottom: calc(var(--afb-media-h) + 90px) !important;
  }

  /* sobe ao focar (seu estado real do JS) */
  body.afb-search-focus #afbFullscreenMenu .afb-menu-mid{
    transform: translateY(calc(-1 * var(--afb-mid-shift))) !important;
  }
}

/* =========================
   4) Breakpoints (notebooks)
========================= */
@media (max-width:1600px){
  #afbFullscreenMenu{
    --afb-left-min: 420px;
    --afb-left-pad-x: 64px;
    --afb-link-min: 32px;
    --afb-headline: 44px;
    --afb-search-max: 680px;
  }
}

@media (max-width:1440px){
  #afbFullscreenMenu{
    --afb-left-min: 390px;
    --afb-left-pad-x: 54px;
    --afb-right-pad-x: 34px;
    --afb-link-min: 30px;
    --afb-headline: 40px;
    --afb-search-max: 640px;
    --afb-media-h: 220px;
    --afb-mid-shift: 170px;
  }
}

@media (max-width:1366px){
  #afbFullscreenMenu{
    --afb-left-min: 360px;
    --afb-left-pad-x: 48px;
    --afb-right-pad-x: 30px;
    --afb-link-min: 28px;
    --afb-headline: 36px;
    --afb-search-max: 600px;
    --afb-media-h: 210px;
    --afb-mid-shift: 140px;
  }
}

/* alturas baixas */
@media (max-height:820px){
  #afbFullscreenMenu{ --afb-media-h: 200px; --afb-mid-shift: 120px; }
}
@media (max-height:740px){
  #afbFullscreenMenu{ --afb-media-h: 180px; --afb-mid-shift: 90px; }
}

/* =========================
   5) FIX do botão play (override completo)
========================= */
#afbFullscreenMenu .afb-sm__btn{
  width:32px;
  height:32px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);

  background:rgba(255,255,255,.08);
  backdrop-filter: blur(6px);

  color:#fff;
  font-size:15px;
  line-height:1;

  cursor:pointer;
  -webkit-tap-highlight-color: transparent;

  transition:
    background .2s ease,
    transform .18s ease,
    box-shadow .2s ease;
}
/* =========================================================
   AFB SEARCH MEDIA — ESPELHO/BLUR (SAFE, sem quebrar layout)
   Cole NO FINAL do CSS (depois do PATCH)
========================================================= */

#afbFullscreenMenu #afbSearchMedia{
  background:#000;
  overflow:hidden;
  /* NÃO mexe em position/left/bottom/transform */
}

/* Só some o poster quando o espelho existir (JS coloca .has-mirror) */
#afbFullscreenMenu #afbSearchMedia.has-mirror::before{
  opacity:0 !important;      /* mantém fallback se JS falhar */
}

/* backdrop (clone do vídeo) */
#afbFullscreenMenu #afbSearchMedia .afb-sm__videoBackdrop{
  position:absolute;
  inset:-18px;
  width:calc(100% + 36px);
  height:calc(100% + 36px);

  object-fit:cover !important;
  transform:scale(1.08) scaleX(-1);
  filter:blur(22px) saturate(1.18) brightness(.72) contrast(1.05);
  opacity:.92;

  z-index:0;
  pointer-events:none;
}

/* acabamento */
#afbFullscreenMenu #afbSearchMedia::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 70%, rgba(0,0,0,.60) 100%),
    linear-gradient(to top, rgba(0,0,0,.40), rgba(0,0,0,.10) 55%, rgba(0,0,0,.06));
}

/* vídeo principal no centro */
#afbFullscreenMenu #afbSearchVideo.afb-sm__videoMain{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent !important;
  z-index:2;
}

/* overlay e UI acima */
#afbFullscreenMenu #afbSearchMedia .afb-search-media-overlay{ z-index:3; }
#afbFullscreenMenu #afbSearchMedia .afb-sm__ui{ z-index:7 !important; }
#afbFullscreenMenu #afbSearchMedia .afb-sm__sound{ z-index:8 !important; }
#afbFullscreenMenu #afbSearchMedia .afb-sm__vol{ z-index:9 !important; }
/* =========================================================
   AJUSTE FINAL — headline + busca mais perto do vídeo (gap 1px)
   Cole NO FINAL do CSS
========================================================= */

@media (min-width:992px){
  /* precisa bater com o bottom do card */
  #afbFullscreenMenu{
    --afb-media-bottom: 42px; /* mesmo valor do bottom do vídeo */
    --afb-mid-gap: 1px;       /* ✅ seu “1px de padding” */
  }

  /* garante consistência */
  #afbFullscreenMenu .afb-search-media{
    bottom: var(--afb-media-bottom) !important;
  }

  /* desce o bloco (headline + input) pra ficar colado no vídeo */
  #afbFullscreenMenu .afb-menu-mid{
    /* o “vão” é exatamente: altura do vídeo + bottom + 1px */
    padding-bottom: calc(var(--afb-media-h) + var(--afb-media-bottom) + var(--afb-mid-gap)) !important;

    /* tira folga extra que estava levantando tudo */
    padding-top: 0 !important;
    margin-top: 8px !important;
  }
}
/* =========================================================
   SCROLLBAR GLOBAL — SOMENTE QUANDO SITE ESTÁ LIVRE
========================================================= */
html:not(.afb-lock) ::-webkit-scrollbar{
  width: 10px;
}

html:not(.afb-lock) ::-webkit-scrollbar-track{
  background: rgba(0,0,0,0.35);
}

html:not(.afb-lock) ::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.35);
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,0.6);
}

html:not(.afb-lock) ::-webkit-scrollbar-thumb:hover{
  filter: brightness(1.15);
}

/* Firefox */
html:not(.afb-lock){
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.4) rgba(107, 54, 100, 0.97);
}

/* =========================================================
   AFB — HERO SCROLLBAR (MENU FULLSCREEN ONLY)
========================================================= */

#afbFullscreenMenu{
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.35) rgba(0,0,0,.35);
}

/* WebKit */
#afbFullscreenMenu::-webkit-scrollbar{
  width:10px;
}

#afbFullscreenMenu::-webkit-scrollbar-track{
  background: rgba(0,0,0,.35);
}

#afbFullscreenMenu::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.35);
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.6);
  transition:
    background .35s ease,
    filter .35s ease;
}

#afbFullscreenMenu.afb-theme-marvel::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,#ff2b2b,#b11212);
}
#afbFullscreenMenu.afb-theme-marvel{
  scrollbar-color: #ff2b2b rgba(0,0,0,.4);
}
#afbFullscreenMenu.afb-theme-dc::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,#2f7bff,#0b2a6f);
}
#afbFullscreenMenu.afb-theme-dc{
  scrollbar-color: #2f7bff rgba(0,0,0,.4);
}
#afbFullscreenMenu.afb-theme-starwars::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,#ffe066,#ff9f1c);
}
#afbFullscreenMenu.afb-theme-starwars{
  scrollbar-color: #ffe066 rgba(0,0,0,.4);
}
#afbFullscreenMenu.afb-theme-anime::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,#7c4dff,#00e5ff);
}
#afbFullscreenMenu.afb-theme-anime{
  scrollbar-color: #7c4dff rgba(0,0,0,.4);
}
@keyframes afb-scroll-pulse{
  0%{ filter:brightness(1); }
  50%{ filter:brightness(1.35); }
  100%{ filter:brightness(1); }
}

#afbFullscreenMenu.afb-scroll-pulse::-webkit-scrollbar-thumb{
  animation: afb-scroll-pulse .6s ease;
}
/* trava o site quando menu fullscreen está aberto */
body.afb-desktop-menu-open{
  overflow: hidden !important;
}
/* =========================================================
   MENU FULLSCREEN — CONTAINER DE SCROLL REAL
========================================================= */

#afbFullscreenMenu{
  position: fixed;
  inset: 0;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  z-index: 999999;
}

/* =========================================================
   🔒 LOCK TOTAL DO SITE
========================================================= */
html.afb-lock,
body.afb-lock{
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: none;
  touch-action: none;
}


/* =========================================================
   AFB — SAMURAI CUT (SOMENTE ANIME)
========================================================= */
#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai{
  position: relative;
  display: inline-block;
  text-decoration: none;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai{
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 1.15;
  white-space: nowrap;
}

/* base invisível p/ manter layout */
#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai::before{
  content: attr(data-text);
  display: block;
  visibility: hidden;
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai-top,
#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai-bottom{
  position: absolute;
  inset: 0;
  z-index: 2;
  color: inherit;
  transform: translate3d(0,0,0);
  transition: transform .38s cubic-bezier(.22,1,.36,1), opacity .38s ease;
  will-change: transform, opacity;
  pointer-events: none;
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai-top{
  clip-path: polygon(0 0,100% 0,100% 46%,0 62%);
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai-bottom{
  clip-path: polygon(0 62%,100% 46%,100% 100%,0 100%);
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai .afb-samurai-slash{
  position: absolute;
  left: -30%;
  top: 52%;
  width: 160%;
  height: 3px;
  z-index: 3;
  opacity: 0;
  transform: translate3d(0,0,0) rotate(-10deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,1), transparent);
  filter: blur(.25px) drop-shadow(0 0 10px rgba(255,255,255,.35));
  pointer-events: none;
}

/* HOVER */
#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai:hover .afb-samurai-top{
  transform: translate3d(14px,-12px,0);
  opacity: .92;
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai:hover .afb-samurai-bottom{
  transform: translate3d(-14px,12px,0);
  opacity: .92;
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai:hover .afb-samurai-slash{
  animation: afb-samurai-slash .28s ease forwards;
}

@keyframes afb-samurai-slash{
  0%   { opacity: 0; transform: translate3d(-55%,0,0) rotate(-10deg); }
  25%  { opacity: 1; }
  100% { opacity: 0; transform: translate3d(55%,0,0) rotate(-10deg); }
}

#afbFullscreenMenu .afb-menu-left .afb-menu-link.is-anime-samurai:hover{
  text-shadow: 0 0 26px rgba(255,255,255,.22);
}


/* =========================================================
   FIX — se MAIN e BACKDROP caíram no MESMO <video>, não quebra layout
   Cole NO FINAL
========================================================= */

/* MAIN sempre limpo */
#afbFullscreenMenu #afbSearchMedia .afb-sm__videoMain{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:transparent !important;

  /* mata efeitos do backdrop caso estejam “vazando” */
  filter:none !important;
  transform:none !important;
}

/* Backdrop SÓ quando for um elemento separado (não pode ser o mesmo do main) */
#afbFullscreenMenu #afbSearchMedia .afb-sm__videoBackdrop:not(.afb-sm__videoMain){
  position:absolute;
  inset:-18px;
  width:calc(100% + 36px);
  height:calc(100% + 36px);
  object-fit:cover !important;
  transform:scale(1.08) scaleX(-1);
  filter:blur(22px) saturate(1.18) brightness(.72) contrast(1.05);
  opacity:.92;
  z-index:0;
  pointer-events:none;
}
@media (min-width:992px){
  #afbFullscreenMenu{ --afb-gap-bottom: 42px; } /* ajuste aqui */

  #afbFullscreenMenu #afbSearchMedia,
  #afbFullscreenMenu .afb-search-media{
    bottom: var(--afb-gap-bottom) !important;
  }
}

/* =========================================================
   AFB — TRANSIÇÃO “PALAVRA VOA” + MODO SEÇÃO (RIGHT PANEL)
   Cole NO FINAL do CSS
========================================================= */

/* ✅ garante que o flyword não seja cortado por overflow */
#afbFullscreenMenu{
  position: fixed;   /* mantém seu menu como overlay real */
  overflow: visible; /* importante pro “voo” não ser cortado */
}

/* trava cliques durante transição */
#afbFullscreenMenu.afb-transitioning{
  cursor: progress;
}
#afbFullscreenMenu.afb-transitioning .afb-menu-link{
  pointer-events: none;
}

/* marca item selecionado */
#afbFullscreenMenu .afb-menu-link.is-selected{
  text-shadow:
    0 0 12px rgba(255,255,255,.55),
    0 0 40px rgba(255,255,255,.25);
  transform: translateX(2px);
}

/* ===============================
   ELEMENTO “VOADOR”
   (agora é ABSOLUTE dentro do menu)
================================ */
#afbFullscreenMenu .afb-flyword{
  position: absolute;
  z-index: 999999;
  pointer-events: none;
  will-change: transform, opacity, filter;

  padding: 14px 18px;
  border-radius: 22px;

  font: 800 46px/1.05 Rubik, system-ui, -apple-system, Segoe UI, sans-serif;
  letter-spacing: -0.02em;
  color: #fff;
  white-space: nowrap;

  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  transform-origin: left center;
}

/* ===============================
   DURANTE TRANSIÇÃO: “segura” o painel direito
================================ */
#afbFullscreenMenu.afb-transitioning .afb-menu-mid,
#afbFullscreenMenu.afb-transitioning #afbSearchMedia{
  opacity: 0;
  transform: translateX(22px) scale(.985);
  filter: blur(2px);
  transition:
    opacity .35s ease,
    transform .55s cubic-bezier(.16,1,.3,1),
    filter .35s ease;
  pointer-events: none;
}

/* ===============================
   MODO SEÇÃO: painel direito “entra”
================================ */
#afbFullscreenMenu.afb-section-mode .afb-menu-mid,
#afbFullscreenMenu.afb-section-mode #afbSearchMedia{
  opacity: 1;
  transform: none;
  filter: none;
  pointer-events: auto;
}

/* headline dá um micro “lift” */
#afbFullscreenMenu.afb-section-mode .afb-search-headline{
  transition: opacity .25s ease, transform .45s cubic-bezier(.22,1,.36,1);
  transform: translateY(-6px);
}

/* opcional: “zoom premium” no card vídeo quando escolhe seção */
#afbFullscreenMenu.afb-section-mode #afbSearchMedia{
  transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease;
  transform: translateX(-50%) scale(1.02);
  box-shadow:
    0 40px 100px rgba(0,0,0,.58),
    inset 0 0 0 1px rgba(255,255,255,.10);
}
/* durante o “arremesso”, some o texto do link mas mantém o espaço */
#afbFullscreenMenu .afb-menu-link.is-throwing{
  color: transparent !important;
  text-shadow: none !important;
}

/* se o link tiver wrapper (samurai), some só o texto */
#afbFullscreenMenu .afb-menu-link.is-throwing .afb-samurai,
#afbFullscreenMenu .afb-menu-link.is-throwing .afb-samurai-top,
#afbFullscreenMenu .afb-menu-link.is-throwing .afb-samurai-bottom{
  opacity: 0 !important;
}
/* =========================================================
   AFB — FIX: animação do painel direito em TODA troca
   Cole NO FINAL do CSS (depois do seu bloco atual)
========================================================= */

/* 1) Transição sempre ativa (pra animar saída E entrada) */
#afbFullscreenMenu .afb-menu-mid,
#afbFullscreenMenu #afbSearchMedia{
  transition: opacity .35s ease,
              transform .55s cubic-bezier(.16,1,.3,1),
              filter .35s ease,
              box-shadow .55s ease;
  will-change: opacity, transform, filter;
}

/* 2) 🔥 CRÍTICO: quando section-mode + transitioning estiverem juntos,
      força estado “saindo” (senão o section-mode vence e trava tudo) */
#afbFullscreenMenu.afb-section-mode.afb-transitioning .afb-menu-mid,
#afbFullscreenMenu.afb-section-mode.afb-transitioning #afbSearchMedia{
  opacity: 0 !important;
  transform: translateX(22px) scale(.985) !important;
  filter: blur(2px) !important;
  pointer-events: none !important;
}
/* =========================================================
   FIX FINAL — Anime SEMPRE branco
   - não fica roxo em hover
   - não fica roxo ao selecionar
   - sem fundo / sem brilho / sem retângulo
========================================================= */

/* base */
#afbFullscreenMenu .afb-menu-link.is-anime-samurai{
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
}

/* mata pseudo-elementos */
#afbFullscreenMenu .afb-menu-link.is-anime-samurai::before,
#afbFullscreenMenu .afb-menu-link.is-anime-samurai::after{
  content: none !important;
  display: none !important;
}

/* texto SEMPRE branco */
#afbFullscreenMenu .afb-menu-link.is-anime-samurai span{
  color: #fff !important;
  text-shadow: none !important;
  filter: none !important;
}

/* hover NÃO muda cor */
#afbFullscreenMenu .afb-menu-link.is-anime-samurai:hover span{
  color: #fff !important;
}

/* selected NÃO muda cor */
#afbFullscreenMenu .afb-menu-link.is-anime-samurai.is-selected span{
  color: #fff !important;
}

/* hover opcional: só micro movimento */
#afbFullscreenMenu .afb-menu-link.is-anime-samurai:hover{
  transform: translateX(2px);
}


/* =========================================================
   AFB — ADD TO CART HUD (estilo videogame)
========================================================= */

/* (opcional) mata o padrão estranho de ícone repetido do toastr */
#toast-container > .toast-success,
#toast-container > div{
  background-image: none !important;
}

/* HUD */
#afbAddToast{
  position: fixed;
  left: 50%;
  top: calc(var(--afbHeaderH, 78px) + 14px);
  transform: translateX(-50%);
  z-index: 999999;
  pointer-events: none;
  width: min(560px, calc(100vw - 28px));
}

#afbAddToast.is-hidden{ display:none; }

#afbAddToast .afb-addtoast__inner{
  pointer-events: auto;
  border-radius: 18px;
  padding: 12px 12px 10px;
  color: #fff;

  background:
    radial-gradient(120% 140% at 12% 0%, rgba(255,43,247,.28), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, rgba(56,10,78,.92), rgba(20,18,28,.92));

  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 22px 70px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,43,247,.08) inset;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  opacity: 0;
  transform: translateY(-10px) scale(.98);
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.9,.2,1);
}

#afbAddToast.is-show .afb-addtoast__inner{
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* topo */
.afb-addtoast__row{
  display:flex;
  align-items:center;
  gap:10px;
}

.afb-addtoast__icon{
  width:34px;height:34px;
  border-radius: 12px;
  display:grid;place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
  flex: 0 0 auto;
}

.afb-addtoast__title{
  font-weight: 800;
  letter-spacing: .2px;
  font-size: 14px;
  line-height: 1.1;
}

.afb-addtoast__sub{
  font-size: 12px;
  opacity: .86;
  margin-top: 2px;
}

.afb-addtoast__spacer{ flex:1; }

.afb-addtoast__close{
  width:34px;height:34px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  display:grid;place-items:center;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.afb-addtoast__close:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
}

/* CTA buttons */
.afb-addtoast__actions{
  display:flex;
  gap:10px;
  margin-top: 10px;
}

.afb-addtoast__btn{
  height: 44px;
  flex: 1;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;

  font-weight: 800;
  font-size: 12px;
  letter-spacing: .6px;
  text-transform: uppercase;

  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: #fff;

  position: relative;
  overflow: hidden;

  box-shadow:
    0 16px 40px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.06) inset;

  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.afb-addtoast__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.22);
}

.afb-addtoast__btn:active{
  transform: translateY(1px) scale(.99);
}

/* botão principal “videogame” */
.afb-addtoast__btn.is-primary{
  border-color: rgba(255,43,247,.35);
  background:
    radial-gradient(120% 200% at 15% 0%, rgba(255,255,255,.22), rgba(255,255,255,0) 35%),
    linear-gradient(90deg, rgba(255,43,247,.78), rgba(165,58,255,.70));
  box-shadow:
    0 18px 55px rgba(255,43,247,.22),
    0 16px 45px rgba(0,0,0,.35);
  animation: afbCtaPulse 1.25s ease-in-out infinite;
}

@keyframes afbCtaPulse{
  0%,100%{ filter: brightness(1); }
  50%{ filter: brightness(1.08); }
}

/* shine passando */
.afb-addtoast__btn.is-primary::after{
  content:"";
  position:absolute;
  top:-20%;
  left:-40%;
  width:40%;
  height:140%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.35), rgba(255,255,255,0));
  animation: afbShine 1.6s ease-in-out infinite;
  opacity:.9;
}
@keyframes afbShine{
  0%{ left:-50%; opacity:0; }
  20%{ opacity:.9; }
  55%{ left:120%; opacity:0; }
  100%{ left:120%; opacity:0; }
}

/* barra “loading” que esvazia */
.afb-addtoast__bar{
  margin-top: 10px;
  height: 4px;
  border-radius: 99px;
  background: rgba(255,255,255,.10);
  overflow:hidden;
}
.afb-addtoast__bar i{
  display:block;
  height: 100%;
  width: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(255,43,247,.9), rgba(255,214,0,.9));
  transform-origin: left center;
  animation: afbBarDrain var(--dur, 4200ms) linear forwards;
}
@keyframes afbBarDrain{
  from{ transform: scaleX(1); }
  to{ transform: scaleX(0); }
}

/* bump no carrinho */
@keyframes afbCartBump{
  0%{ transform: translateY(0) scale(1); }
  35%{ transform: translateY(-2px) scale(1.06); }
  100%{ transform: translateY(0) scale(1); }
}
#afbCartPulseTarget.afb-cart-bump{
  animation: afbCartBump .45s cubic-bezier(.2,.9,.2,1);
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .afb-addtoast__btn.is-primary,
  .afb-addtoast__btn.is-primary::after,
  .afb-addtoast__bar i,
  #afbCartPulseTarget.afb-cart-bump{
    animation: none !important;
  }
}

/* =========================================================
   AFB — VARS (cores/base)
========================================================= */
:root{
  --afb-accent:#ff2bf7;
  --afb-accent2:#7a2cff;

  /* mini cart */
  --afb-dd-bg1: rgba(18, 1, 14, .92);
  --afb-dd-bg2: rgba(62, 0, 104, .92);
  --afb-dd-bg3: rgba(18, 6, 32, .92);

  --afb-dd-border: rgba(255,43,247,.35);
  --afb-dd-text: rgba(255,255,255,.92);
  --afb-dd-muted: rgba(255,255,255,.72);
}




/* =========================================================
   AFB — FUNKO MIN TOAST (BASE + LAYOUT CORRETO DO HTML ATUAL)
   - Compatível com renderMsgHTML(): .afb-funko-head + .afb-funko-content
   - Posição “top” (JS ajusta via style.top)
========================================================= */
#afbFunkoMinBox,
#afbFunkoMinBox *{ box-sizing:border-box; }

/* ✅ container “ancorado” abaixo do toast de add-to-cart via JS */


/* card */


/* ✅ ANULA o flex antigo que quebrava o layout (head+content viravam colunas) */


/* header (i + title + X) */


/* botão “i” */
#afbFunkoMinBox .afb-funko-icbtn{
  -webkit-appearance:none !important;
  appearance:none !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.08) !important;

  width:34px !important;
  height:34px !important;
  border-radius:12px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color:rgba(255,255,255,.92) !important;
  font-weight:900 !important;
  font-size:14px !important;
  line-height:1 !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 10px 24px rgba(0,0,0,.22) !important;

  cursor:default !important;
  user-select:none !important;
}

@media (hover:hover){
  #afbFunkoMinBox .afb-funko-icbtn:hover{
    background: rgba(255,255,255,.11) !important;
    border-color: rgba(255,255,255,.22) !important;
  }
}

/* título */


/* botão X */
#afbFunkoMinBox .afb-funko-close{
  flex: 0 0 auto !important;

  -webkit-appearance:none !important;
  appearance:none !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.08) !important;

  width:34px !important;
  height:34px !important;
  border-radius:12px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color:#fff !important;
  font-weight:900 !important;
  font-size:18px !important;
  line-height:1 !important;

  cursor:pointer !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 10px 24px rgba(0,0,0,.22) !important;

  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, opacity .15s ease;
}
#afbFunkoMinBox .afb-funko-close:hover{
  transform: translateY(-1px);
  background: rgba(255,43,247,.18) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,43,247,.35),
    0 10px 30px rgba(0,0,0,.25) !important;
}
#afbFunkoMinBox .afb-funko-close:active{
  transform: translateY(0) scale(.98);
}
#afbFunkoMinBox .afb-funko-close:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,43,247,.25),
    inset 0 0 0 1px rgba(255,43,247,.45),
    0 10px 24px rgba(0,0,0,.22) !important;
}

/* corpo */


#afbFunkoMinBox .afb-funko-main{
  margin: 0 0 12px 0 !important;
  font-size: 13.3px !important;
  line-height: 1.28 !important;
  color: rgba(255,255,255,.92) !important;
}


/* botão principal do toast */


/* contador + texto */


#afbFunkoMinBox .afb-funko-missing strong{
  color:#ffb3ff;
  font-weight: 900;
}


/* barra (JS pinta o <i> dinamicamente) */


/* dica */


/* animação leve ao aparecer */

@keyframes afbToastIn{
  from{ transform: translateY(-6px); opacity: 0; }
  to{ transform: translateY(0); opacity: 1; }
}

/* 🎉 “realce” por tipo usando o dataset.kind REAL do seu JS (CSS-only, sem mexer no JS) */
#afbFunkoMinBox[data-kind^="gift_"] .afb-funko-msg,
#afbFunkoMinBox[data-kind^="funko_ok"] .afb-funko-msg,
#afbFunkoMinBox[data-kind="buynow_elected"] .afb-funko-msg{
  border-color: rgba(255,214,0,.18);
  box-shadow:
    0 26px 70px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,214,0,.10) inset,
    0 18px 55px rgba(255,214,0,.08);
}

/* mobile */
@media (max-width:520px){
  #afbFunkoMinBox{ width: calc(100vw - 18px); }
}

/* =========================================================
   AFB — (opcional) CONFETTI (fica pronto, não interfere)
========================================================= */
.afb-confetti-piece{
  position:absolute;
  top:-6px;
  left:50%;
  width:8px;
  height:12px;
  border-radius:2px;
  opacity:0;
  transform: translate(-50%, 0) rotate(0deg);
  animation: afbConfetti 900ms ease-out forwards;
  will-change: transform, opacity;
}
@keyframes afbConfetti{
  0%   { opacity:1; transform: translate(var(--x,0), 0) rotate(0deg); }
  100% { opacity:0; transform: translate(var(--x,0), 150px) rotate(var(--r,220deg)); }
}

/* =========================================================
   AFB — MINI CART OVERRIDE (#cart .dropdown-menu)
========================================================= */
#cart .dropdown-menu{
  margin: 12px 0 0 !important;
  padding: 14px 14px 12px !important;

  width: min(420px, calc(100vw - 24px)) !important;
  right: -10px !important;
  left: auto !important;
  top: 100% !important;

  list-style: none !important;
  border: 1px solid var(--afb-dd-border) !important;
  border-radius: 22px !important;

  background: radial-gradient(120% 140% at 20% 0%,
    var(--afb-dd-bg1) 0%,
    var(--afb-dd-bg2) 42%,
    var(--afb-dd-bg3) 100%) !important;

  color: var(--afb-dd-text) !important;

  box-shadow:
    0 28px 90px rgba(0,0,0,.70),
    inset 0 0 0 1px rgba(255,255,255,.06) !important;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* setinha */
#cart .dropdown-menu:before{
  opacity: 1 !important;
  border: 0 !important;
  content:"" !important;
  position:absolute !important;
  top:-7px !important;
  right:56px !important;

  border-width: 0 10px 10px 10px !important;
  border-style: solid !important;
  border-color: transparent transparent rgba(62,0,104,.92) transparent !important;

  filter: drop-shadow(0 -1px 0 rgba(255,43,247,.22)) !important;
  z-index: 99 !important;
}
#cart .dropdown-menu:after{
  content:none !important;
  display:none !important;
}

/* scroll wrapper */
#cart .dropdown-menu .has-scroll{
  max-height: 340px !important;
  overflow: auto !important;
  padding: 0 6px 0 0 !important;
  margin: 0 !important;
}

/* scrollbar */
#cart .dropdown-menu .has-scroll::-webkit-scrollbar-track{ background-color: transparent !important; }
#cart .dropdown-menu .has-scroll::-webkit-scrollbar{
  width: 10px !important;
  background-color: transparent !important;
}
#cart .dropdown-menu .has-scroll::-webkit-scrollbar-thumb{
  background-color: rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  border: 2px solid transparent !important;
  background-clip: content-box !important;
  background-image: none !important;
}

/* itens */
#cart .dropdown-menu > li:first-child .table > tbody > tr{
  position: relative !important; /* base pro X flutuante */
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  padding: 14px 10px !important;
  margin: 0 !important;
  border-radius: 16px !important;
}
#cart .dropdown-menu > li:first-child .table > tbody > tr:hover{
  background: rgba(255,255,255,.04) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

#cart .dropdown-menu tr td strong{
  color: rgba(255,255,255,.78) !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}

#cart .cart-name{
  color: rgba(255,255,255,.92) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .15px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}
#cart .cart-name:hover{ color: var(--afb-accent) !important; }

#cart .cart-quantity{
  color: var(--afb-dd-muted) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

#cart .cart-price{
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  padding-top: 2px !important;
}

#cart .dropdown-menu img{
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.45) !important;
}

/* subtotal */
#cart .dropdown-menu > li:last-child .table > tbody > tr > td.text-left{
  color: rgba(255,255,255,.80) !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  padding: 6px 0 !important;
}
#cart .dropdown-menu > li:last-child .table > tbody > tr > td.text-right{
  color: var(--afb-accent) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  padding: 6px 0 !important;
  text-shadow: 0 0 18px rgba(255,43,247,.20) !important;
}
#cart .dropdown-menu > li:last-child .table > tbody > tr:last-child > td.text-right{
  font-size: 18px !important;
  font-weight: 950 !important;
}

/* botões */
#cart .cart-button{
  padding: 12px 0 6px !important;
  margin: 12px 0 0 !important;
  background: transparent !important;
}
#cart p.cart-button{
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  padding: 0 !important;
}
#cart p.cart-button a{
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;

  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.92) !important;

  line-height: 44px !important;
  height: 44px !important;
  padding: 0 14px !important;

  border-radius: 999px !important;

  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .25px !important;
  text-transform: uppercase !important;

  box-shadow:
    0 14px 40px rgba(0,0,0,.45),
    inset 0 0 0 1px rgba(255,255,255,.06) !important;

  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#cart p.cart-button a:hover{
  transform: translateY(-1px) !important;
  border-color: rgba(255,43,247,.35) !important;
  background: rgba(255,43,247,.10) !important;
  box-shadow:
    0 18px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,43,247,.18) inset !important;
}
#cart p.cart-button a:last-child{
  border-color: rgba(255,43,247,.55) !important;
  background: linear-gradient(90deg, rgba(255,43,247,.35), rgba(122,44,255,.25)) !important;
}
#cart p.cart-button a:last-child:hover{
  background: linear-gradient(90deg, rgba(255,43,247,.48), rgba(122,44,255,.34)) !important;
}

/* empty */
#cart .cart-empty{
  color: rgba(255,255,255,.78) !important;
  padding: 14px 6px 8px !important;
}

/* X flutuante no item */
#cart .dropdown-menu .cart-close{
  position: absolute !important;
  top: 50% !important;
  right: 14px !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
}

#cart .dropdown-menu .cart-close button,
#cart .dropdown-menu .cart-close a{
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  border-radius: 14px !important;

  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  color: rgba(255,255,255,.92) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;

  box-shadow:
    0 14px 40px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(255,255,255,.06) !important;

  transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease;
}
#cart .dropdown-menu .cart-close button:hover,
#cart .dropdown-menu .cart-close a:hover{
  background: rgba(255,43,247,.18) !important;
  border-color: rgba(255,43,247,.38) !important;
}

/* garante clique sempre no X */
#cart .dropdown-menu .cart-close,
#cart .dropdown-menu .cart-close *{
  pointer-events: auto !important;
}

/* respiro no texto pro X não cobrir */
#cart .dropdown-menu .info-item{
  padding-right: 62px !important;
}

/* mobile mini cart */
@media(max-width: 479px){
  #cart .dropdown-menu{
    width: min(360px, calc(100vw - 16px)) !important;
    right: -10px !important;
  }
  #cart .dropdown-menu:before{
    right: 46px !important;
  }
  #cart p.cart-button{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   AFB — FUNKO/GIFT TOAST (CSS ADICIONAL / HARDENING)
   Cole no FINAL do seu CSS
========================================================= */

/* 1) garante camada e posicionamento consistente */


/* se seu script ajusta o top via JS, não força aqui
   mas deixa um fallback pra páginas sem anchor */
#afbFunkoMinBox{
  /* fallback */
  /* não bloqueia o site */
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999999;
  /* acima de drawer/mini-cart */
  width: min(560px, calc(100vw - 28px));
  pointer-events: none;
  top: calc(var(--afbHeaderH, 78px) + 96px);
}

/* 2) container principal — “não pode ficar só barra” */
#afbFunkoMinBox .afb-funko-msg{
  width: 100% !important;
  max-width: none !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: relative;
  /* base para confete futuramente */
  overflow: hidden;
  /* base para confete futuramente */
  animation: afbToastIn .22s ease-out;
  pointer-events: auto;
  display: block;
  border-radius: 18px;
  padding: 12px 12px 10px;
  color: #fff;
  background:
    radial-gradient(120% 140% at 12% 0%, rgba(255,43,247,.22), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, rgba(34,10,44,.96), rgba(14,8,18,.92));
  border: 1px solid rgba(255,43,247,.22);
  box-shadow:
    0 22px 70px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(255,255,255,.06);
  /* anti tema: evita reset bizarro */
  box-sizing: border-box;
}

/* 3) header e botões — evita heranças do tema */
#afbFunkoMinBox .afb-funko-head{
  margin: 0 0 10px 0 !important;
  display: flex;
  align-items: center;
  gap: 10px;
}

#afbFunkoMinBox .afb-funko-title{
  min-width: 0 !important;
  text-align: center !important;
  padding: 0 6px !important;
  color: #fff !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-weight: 900;
  letter-spacing: .2px;
  font-size: 14px;
  line-height: 1.15;
}

#afbFunkoMinBox .afb-funko-icbtn,
#afbFunkoMinBox .afb-funko-close{
  width: 30px;
  height: 30px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;

  /* anti tema */
  padding: 0;
  margin: 0;
  line-height: 1;
  font: inherit;
}

#afbFunkoMinBox .afb-funko-icbtn:hover,
#afbFunkoMinBox .afb-funko-close:hover{
  background: rgba(255,255,255,.10);
}

/* 4) conteúdo */
#afbFunkoMinBox .afb-funko-content{
  display:block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.25;
}

#afbFunkoMinBox .afb-funko-subline{
  color: rgba(255,255,255,.80);
  margin-top: 6px;
  opacity: .95;
}

#afbFunkoMinBox .afb-funko-sub{
  display:inline-block;
  margin-left: 6px;
  font-size: 12px;
  opacity: .85;
  font-weight: 700;
}

/* 5) ações (botões) */
#afbFunkoMinBox .afb-funko-actions{
  justify-content:center !important;
  margin: 0 0 12px 0 !important;
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

#afbFunkoMinBox .afb-funko-btn{
  width:100% !important;
  height:42px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration: none !important;
  background: linear-gradient(90deg, rgba(255,43,247,.95), rgba(160,80,255,.95));
  color: #fff !important;
  /* anti tema */
  border: 0 !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
  white-space: nowrap;
}

#afbFunkoMinBox .afb-funko-btn:hover{
  filter: brightness(1.08);
  transform: translateY(-1px);
}

#afbFunkoMinBox .afb-funko-btn--alt{
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: none !important;
}

/* 6) contador + barra */
#afbFunkoMinBox .afb-funko-counter{
  margin: 0 0 8px 0 !important;
  color: rgba(255,255,255,.90) !important;
  font-weight: 800 !important;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#afbFunkoMinBox .afb-funko-missing{
  color: rgba(255,255,255,.92);
  font-weight: 800;
  opacity: .98;
}

#afbFunkoMinBox .afb-funko-missing.ok{
  color: #7CFFB2;
}

#afbFunkoMinBox .afb-funko-progress{
  width:100% !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  display: block;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}

#afbFunkoMinBox .afb-funko-progress i{
  /* default (JS substitui quando anima) */
  transition: width .25s ease;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10),
    0 10px 22px rgba(0,0,0,.22);
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, rgba(255,43,247,.98), rgba(255,214,0,.95));
  border-radius: 999px;
}

/* 7) tip */
#afbFunkoMinBox .afb-funko-tip{
  font-size: 12.2px !important;
  line-height: 1.25 !important;
  color: rgba(255,255,255,.65) !important;
  margin-top: 10px;
  opacity: .92;
  font-weight: 700;
}

/* 8) mobile: largura/posição e botões “full” */
@media (max-width: 540px){
  #afbFunkoMinBox{
    width: calc(100vw - 18px);
  }
  #afbFunkoMinBox .afb-funko-actions{
    gap: 8px;
  }
  #afbFunkoMinBox .afb-funko-btn{
    flex: 1;
    min-width: 0;
  }
}

/* 9) evita que overlays do tema cubram o toast */
.drawer, .cart-drawer, .ajaxcart, .mini-cart, .modal, .overlay{
  z-index: auto;
}
/* não re-anima o card a cada update */
#afbFunkoMinBox[data-mounted="1"] .afb-funko-msg{
  animation: none !important;
}

/* =========================================================
   AFB — FIX DEFINITIVO BOTÕES NO MOBILE (STACK VERTICAL)
   Só afeta telas pequenas
========================================================= */
@media (max-width: 520px){

  /* ações sempre em coluna */
  #afbFunkoMinBox .afb-funko-actions{
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  /* botões ocupam 100% da largura */
  #afbFunkoMinBox .afb-funko-btn,
  #afbFunkoMinBox .afb-funko-btn--alt{
    width: 100% !important;
    min-width: 100% !important;
    height: 44px !important;
    justify-content: center !important;
    white-space: normal !important; /* 👈 quebra texto longo */
    text-align: center !important;
  }

  /* evita texto estourar */
  #afbFunkoMinBox .afb-funko-btn{
    line-height: 1.15 !important;
    padding: 10px 12px !important;
  }

  /* deixa o CTA principal sempre primeiro */
  #afbFunkoMinBox .afb-funko-actions a[data-afb-choose-gift="1"]{
    order: 1;
  }

  #afbFunkoMinBox .afb-funko-actions a[data-afb-checkout-now="1"]{
    order: 2;
  }

  #afbFunkoMinBox .afb-funko-actions button[data-afb-continue-shopping="1"]{
    order: 3;
  }
}


/* ================================
   FOOTER: quebra pra fora do wrapper .container pai
   (full-bleed real mesmo estando dentro de container)
================================ */
#shopify-section-footer{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* evita scroll horizontal caso o tema tenha margens negativas */
html, body{
  overflow-x: hidden !important;
}
#shopify-section-footer .footer-top > .container,
#shopify-section-footer .footer-bottom > .container{
  width: 100% !important;
  max-width: 1500px !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
@media (max-width: 768px){
  #shopify-section-footer .footer-top > .container,
  #shopify-section-footer .footer-bottom > .container{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}



/* =========================================================
   AFB CART V3 — PRO (só /cart)
   Escopo REAL: body.checkout-cart + #checkout-cart
========================================================= */

/* NUNCA use html,body global aqui. Só cart! */
body.checkout-cart{
  background: radial-gradient(1200px 600px at 12% 12%, rgba(122,77,255,.20), transparent 55%),
              radial-gradient(900px 520px at 88% 18%, rgba(255,43,247,.14), transparent 55%),
              #05050a !important;
  color:#fff;
  font-family: Inter, Rubik, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* deixa wrappers do tema transparentes SÓ no cart */
body.checkout-cart .wrapper,
body.checkout-cart .afb-page-wrapper,
body.checkout-cart #content,
body.checkout-cart .container,
body.checkout-cart main,
body.checkout-cart section{
  background: transparent !important;
}

body.checkout-cart #checkout-cart.afb-cart-wrap{
  max-width: 1260px;
  margin: 0 auto;
  padding: 34px 18px 96px;
}

/* GRID */
body.checkout-cart #checkout-cart .afb-cart-grid{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap: 26px;
  align-items:start;
}
@media (max-width: 1100px){
  body.checkout-cart #checkout-cart .afb-cart-grid{ grid-template-columns: 1fr 380px; }
}
@media (max-width: 991px){
  body.checkout-cart #checkout-cart.afb-cart-wrap{ padding: 22px 14px 92px; }
  body.checkout-cart #checkout-cart .afb-cart-grid{ grid-template-columns: 1fr; gap:18px; }
}

/* HEADER */
body.checkout-cart #checkout-cart .afb-cart-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin: 2px 0 16px;
}
body.checkout-cart #checkout-cart .afb-cart-title{
  font-weight: 900;
  letter-spacing: .2px;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.1;
}
body.checkout-cart #checkout-cart .afb-cart-subtitle{
  color: rgba(255,255,255,.72);
  font-size: 13px;
}

/* CARD BASE */
body.checkout-cart #checkout-cart .afb-card,
body.checkout-cart #checkout-cart .afb-cart-item,
body.checkout-cart #checkout-cart .afb-summary{
  position: relative;
  overflow: hidden;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.10) !important;

  background:
    radial-gradient(900px 520px at 0% 65%, rgba(122,77,255,.22), transparent 55%),
    radial-gradient(900px 520px at 100% 100%, rgba(255,43,247,.16), transparent 55%),
    rgba(14,14,20,.90) !important;

  box-shadow:
    0 18px 52px rgba(0,0,0,.55),
    0 -12px 22px rgba(255,255,255,.06) inset !important;
}

body.checkout-cart #checkout-cart .afb-card::before,
body.checkout-cart #checkout-cart .afb-cart-item::before,
body.checkout-cart #checkout-cart .afb-summary::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg,
    rgba(122,77,255,.95),
    rgba(255,43,247,.85),
    rgba(122,77,255,.18)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  opacity:.85;
}

/* LISTA */
body.checkout-cart #checkout-cart .afb-cart-list{
  display:flex;
  flex-direction:column;
  gap: 14px;
}

/* ITEM */
body.checkout-cart #checkout-cart .afb-cart-item{
  padding: 18px;
  display: grid;

  /* img / info / qty+acoes / preços */
  grid-template-columns:
    92px
    minmax(260px, 1fr)
    280px
    220px; 

  gap: 18px;
  align-items: center;
}

@media (max-width: 1100px){
  body.checkout-cart #checkout-cart .afb-cart-item{
    grid-template-columns:
      92px
      1fr
      260px
      200px;
  }
}

@media (max-width: 991px){
  body.checkout-cart #checkout-cart .afb-cart-item{
    grid-template-columns: 84px 1fr;
    gap: 12px;
    padding: 14px;
    align-items: start;
  }

  body.checkout-cart #checkout-cart .afb-cart-qty,
  body.checkout-cart #checkout-cart .afb-cart-prices{
    grid-column: 1 / -1;
  }
}


/* IMAGEM (corta do TOPO) */
body.checkout-cart #checkout-cart .afb-cart-img{
  width:92px; height:92px;
  border-radius:16px;
  overflow:hidden;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.14);
}
body.checkout-cart #checkout-cart .afb-cart-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: 50% 10%; /* topo (rosto costuma estar em cima) */
}

/* INFO */
body.checkout-cart #checkout-cart .afb-cart-info{ padding-top: 2px; }
body.checkout-cart #checkout-cart .afb-cart-name{
  color:#fff !important;
  font-weight: 900;
  text-decoration:none !important;
  line-height: 1.2;
  font-size: 14px;
}
body.checkout-cart #checkout-cart .afb-cart-variant,
body.checkout-cart #checkout-cart .afb-cart-meta{
  margin-top: 6px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

/* PREÇOS — PREMIUM */
body.checkout-cart #checkout-cart .afb-cart-prices{
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: right;

  padding-left: 26px;

  /* separação sutil e elegante */
  border-left: 1px solid rgba(255,255,255,.08);
}

/* labels */
body.checkout-cart #checkout-cart .afb-cart-prices .lbl{
  font-size: 11px;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

/* valores */
body.checkout-cart #checkout-cart .afb-cart-prices .val{
  font-weight: 900;
  color: #fff;
}

/* preço unitário menor */
body.checkout-cart #checkout-cart .afb-cart-prices .afb-price-line:not(.is-total) .val{
  font-size: 14px;
}

/* TOTAL com destaque real */
body.checkout-cart #checkout-cart .afb-price-line.is-total{
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px dashed rgba(255,255,255,.12);
}

body.checkout-cart #checkout-cart .afb-price-line.is-total .val{
  font-size: 18px;
  letter-spacing: .2px;
}

/* Mobile */
@media (max-width: 991px){
  body.checkout-cart #checkout-cart .afb-cart-prices{
    text-align: left;
    padding-left: 0;
    border-left: 0;
    padding-top: 12px;
    margin-top: 10px;
    border-top: 1px solid rgba(255,255,255,.10);
  }
}

body.checkout-cart #checkout-cart .afb-price-line{
  display:flex;
  justify-content:space-between;
  gap: 10px;
}
body.checkout-cart #checkout-cart .afb-price-line .lbl{
  color: rgba(255,255,255,.60);
  font-size: 12px;
}
body.checkout-cart #checkout-cart .afb-price-line .val{
  color:#fff;
  font-weight: 900;
}
body.checkout-cart #checkout-cart .afb-price-line.is-total .val{ font-size: 16px; }

/* QTD */
body.checkout-cart #checkout-cart .afb-cart-label{
  color: rgba(255,255,255,.68);
  font-size: 11px;
  margin-bottom: 10px;
  display:block;
}

/* some com "Atualizar" (a gente vai auto atualizar via JS) */
body.checkout-cart #checkout-cart .afb-btn-update{
  display:none !important;
}

/* remove setinhas nativas do number */
body.checkout-cart #checkout-cart input[type=number]::-webkit-outer-spin-button,
body.checkout-cart #checkout-cart input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
body.checkout-cart #checkout-cart input[type=number]{
  -moz-appearance: textfield;
  appearance: textfield;
}

/* STEPPER (JS vai criar .afb-stepper) */
body.checkout-cart #checkout-cart .afb-qty-box{
  display:flex;
  align-items:center;
  gap: 12px;
}
@media (max-width: 991px){
  body.checkout-cart #checkout-cart .afb-qty-box{
    flex-wrap:wrap;
    width:100%;
  }
}

body.checkout-cart #checkout-cart .afb-stepper{
  display:inline-grid;
  grid-template-columns: 44px 64px 44px;
  align-items:center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  overflow:hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

body.checkout-cart #checkout-cart .afb-step{
  height: 46px;
  width: 44px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.92);
  font-weight: 1000;
  font-size: 18px;
  cursor:pointer;
  transition: background .18s ease, transform .18s ease;
}
body.checkout-cart #checkout-cart .afb-step:hover{
  background: rgba(255,255,255,.08);
}
body.checkout-cart #checkout-cart .afb-step:active{
  transform: translateY(1px);
}

body.checkout-cart #checkout-cart .afb-qty-input{
  width: 64px !important;
  height: 46px !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  color: #fff !important;
  text-align:center !important;
  font-weight: 900 !important;
  box-shadow:none !important;
  padding: 0 !important;
}

/* BOTÕES */
body.checkout-cart #checkout-cart .afb-btn{
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-weight: 900;
  padding: 0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, filter .18s ease;
}
body.checkout-cart #checkout-cart .afb-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}
body.checkout-cart #checkout-cart .afb-btn:active{ transform: translateY(0); }

/* REMOVER = vermelho FORTE e bem posicionado */
body.checkout-cart #checkout-cart .afb-btn-remove{
  margin-left:auto;                 /* joga pra direita do bloco QTD */
  padding: 0 18px;
  border: 1px solid rgba(255, 70, 92, .55) !important;
  background: linear-gradient(135deg, rgba(255, 70, 92, .92), rgba(255, 70, 92, .65)) !important;
  box-shadow: 0 14px 34px rgba(255,70,92,.12);
}
body.checkout-cart #checkout-cart .afb-btn-remove:hover{
  filter: brightness(1.06);
}
@media (max-width: 991px){
  body.checkout-cart #checkout-cart .afb-btn-remove{
    margin-left:0;
    width:100%;
    justify-content:center;
  }
}

/* EXTRAS (cupom/instruções) */
body.checkout-cart #checkout-cart .afb-cart-extras{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 991px){
  body.checkout-cart #checkout-cart .afb-cart-extras{ grid-template-columns: 1fr; }
}

body.checkout-cart #checkout-cart details.afb-card{ border-radius: 18px; }
body.checkout-cart #checkout-cart .afb-card-sum{
  padding: 14px 16px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  font-weight: 900;
  letter-spacing: .15px;
}
body.checkout-cart #checkout-cart .afb-card-sum span{ font-size: 13px; }
body.checkout-cart #checkout-cart .afb-card-sum i{ transition: transform .18s ease; opacity:.85; }
body.checkout-cart #checkout-cart details.afb-card[open] .afb-card-sum i{ transform: rotate(180deg); }

body.checkout-cart #checkout-cart .afb-card-body{
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

body.checkout-cart #checkout-cart .afb-input,
body.checkout-cart #checkout-cart .afb-textarea{
  width: 100%;
  color:#fff !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  box-shadow:none !important;
}
body.checkout-cart #checkout-cart .afb-hint{
  margin-top: 10px;
  color: rgba(255,255,255,.65);
  font-size: 12px;
}

/* ASIDE */
body.checkout-cart #checkout-cart .afb-cart-aside{
  position: sticky;
  top: 110px;
  align-self: start;
}
@media (max-width: 991px){
  body.checkout-cart #checkout-cart .afb-cart-aside{ position: static; }
}

body.checkout-cart #checkout-cart .afb-summary{
  padding: 18px;
}
body.checkout-cart #checkout-cart .afb-summary-title{
  font-weight: 1000;
  font-size: 14px;
  margin-bottom: 10px;
  opacity: .95;
}
body.checkout-cart #checkout-cart .afb-summary-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.80);
}
body.checkout-cart #checkout-cart .afb-summary-row strong{ color:#fff; font-weight: 1000; }

body.checkout-cart #checkout-cart .afb-summary-note{
  margin: 12px 0 14px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
}

/* CTA */
body.checkout-cart #checkout-cart .afb-cta{
  width:100%;
  height: 56px;
  border:0;
  border-radius: 999px;
  font-weight: 1000;
  letter-spacing: .2px;
  color:#fff;
  background: linear-gradient(135deg, #7a4dff, #ff2bf7, #7a4dff);
  background-size: 200% 200%;
  box-shadow: inset 0 -2px 25px -8px rgba(255,255,255,.75), 0 16px 44px rgba(122,77,255,.22);
  transition: transform .18s ease, filter .18s ease, background-position .45s ease;
}
body.checkout-cart #checkout-cart .afb-cta:hover{
  transform: translateY(-1px);
  background-position: 100% 50%;
  filter: brightness(1.05);
}
body.checkout-cart #checkout-cart .afb-cta:active{ transform: translateY(0); }

body.checkout-cart #checkout-cart .afb-ghost{
  margin-top: 10px;
  display:block;
  text-align:center;
  padding: 12px 10px;
  border-radius: 999px;
  color: rgba(255,255,255,.82) !important;
  text-decoration:none !important;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  transition: transform .18s ease, background .18s ease;
}
body.checkout-cart #checkout-cart .afb-ghost:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.08);
}

/* animação remover */
body.checkout-cart #checkout-cart .afb-cart-item.is-removing{
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .22s ease, transform .22s ease;
}
/* ================================
   PATCH CART — mata UI antigo de qty + esconde Atualizar
   Escopo: só dentro de #checkout-cart
================================== */
#checkout-cart .afb-btn-update{ display:none !important; }

/* Se o tema usa TouchSpin/Bootstrap Touchspin (esses quadradinhos) */
#checkout-cart .bootstrap-touchspin,
#checkout-cart .input-group.bootstrap-touchspin,
#checkout-cart .bootstrap-touchspin .input-group-btn,
#checkout-cart .bootstrap-touchspin .input-group-btn-vertical,
#checkout-cart .bootstrap-touchspin .bootstrap-touchspin-up,
#checkout-cart .bootstrap-touchspin .bootstrap-touchspin-down{
  display:none !important;
}

/* Se o tema injeta botões genéricos ao lado do input */
#checkout-cart .afb-cart-qty .afb-qty-box > button:not(.afb-step):not(.afb-btn),
#checkout-cart .afb-cart-qty .afb-qty-box > a:not(.afb-btn){
  display:none !important;
}

/* Força o input ficar “limpo” caso o tema tente estilizar */
#checkout-cart .afb-qty-input{
  appearance: textfield !important;
}
#checkout-cart .afb-qty-input::-webkit-outer-spin-button,
#checkout-cart .afb-qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none !important;
  margin: 0 !important;
}
/* =========================================================
   AFB CART — FIX STEPPER (mata spinners nativos + visual premium)
   Escopo: só carrinho
========================================================= */
body.checkout-cart #checkout-cart .afb-qty-input{
  /* mata setinhas / spinners */
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;

  /* agora o input vira “numero puro” */
  text-align: center !important;
  font-weight: 900 !important;
  letter-spacing: .2px;
}

/* Chrome/Safari/Edge: remove setinhas do number */
body.checkout-cart #checkout-cart .afb-qty-input::-webkit-outer-spin-button,
body.checkout-cart #checkout-cart .afb-qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* container do stepper */
body.checkout-cart #checkout-cart .afb-qty-stepper{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 6px 10px !important;
  border-radius: 999px !important;

  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

/* input dentro do stepper: sem borda própria */
body.checkout-cart #checkout-cart .afb-qty-stepper .afb-qty-input{
  width: 64px !important;
  height: 40px !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  padding: 0 !important;
  border-radius: 0 !important;
}

/* botões + / - */
body.checkout-cart #checkout-cart .afb-qty-btn{
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;

  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.08) !important;

  color: #fff !important;
  font-weight: 1000 !important;
  font-size: 18px !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  transition: transform .16s ease, filter .16s ease, background .16s ease;
}

body.checkout-cart #checkout-cart .afb-qty-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.08);
  background: rgba(255,255,255,.12) !important;
}
body.checkout-cart #checkout-cart .afb-qty-btn:active{
  transform: translateY(0);
}

/* (opcional) se o tema tiver botões/controles próprios de qty, some com eles */
body.checkout-cart #checkout-cart .afb-qty-box .quantity-up,
body.checkout-cart #checkout-cart .afb-qty-box .quantity-down,
body.checkout-cart #checkout-cart .afb-qty-box .qtyplus,
body.checkout-cart #checkout-cart .afb-qty-box .qtyminus,
body.checkout-cart #checkout-cart .afb-qty-box .plus,
body.checkout-cart #checkout-cart .afb-qty-box .minus{
  display: none !important;
}

/* ===== PREVIEW DE BRINDE ===== */
.afb-gift-preview{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;

  display:flex;
  align-items:flex-start;
  gap:10px;

  background:
    linear-gradient(135deg,
      rgba(255,43,247,.10),
      rgba(140,60,255,.08)
    );

  border:1px dashed rgba(160,90,255,.45);

  /* animação suave ao trocar o texto */
  transition: transform .25s ease, opacity .25s ease;
}

.afb-gift-preview__icon{
  font-size:22px;
  line-height:1;
  transform:translateY(2px);
}

.afb-gift-preview__title{
  font-size:13px;
  font-weight:700;
  color:#5b2d86;
  letter-spacing:.3px;
  text-transform:uppercase;
}

.afb-gift-preview__desc{
  font-size:13px;
  color:#5d5662;
  margin-top:2px;
}

.afb-gift-preview.is-animating{
  opacity:.45;
  transform: translateY(2px) scale(.985);
}

/* =========================================================
   AFB — GIFT CARD FINAL (Uiverse 3D REAL)
   - Card fora da caixa roxa (lado direito)
   - 3D real (grid 5x5, sem JS)
   - Sem caixa fixa atrás
   - Layout preservado
========================================================= */


/* =========================================================
   CONTEXTO / POSICIONAMENTO
========================================================= */

/* price box vira âncora */
.afb-price-box{
  position: relative;
}

/* Desktop */
@media (min-width: 992px){
  #afb-info .afb-meta,
  #afb-info .afb-inline-price,
  #afb-info .afb-inline-price .price-box,
  #afb-info .afb-inline-price .afb-price__card{
    position: relative;
    overflow: visible !important;
  }

  /* Gift card ancorado à direita */
  #afb-info .afb-inline-price .afb-gift-card{
    position: absolute;
    top: 0;
    left: calc(100% + 18px);
    width: 170px;
    height: auto;          /* 🔥 deixa o card crescer */
    aspect-ratio: 3 / 4; 
    z-index: 20;

    /* wrapper INVISÍVEL */
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;

    pointer-events: auto;
    transform-style: preserve-3d;
  }
}

/* Mobile: esconde */
@media (max-width: 991.98px){
  #afb-info .afb-inline-price .afb-gift-card{
    display: none !important;
  }
}


/* =========================================================
   TILT GRID (Uiverse real)
========================================================= */

.afb-gift-tilt{
  position: relative;
  width: 100%;
  height: 100%;
}

.afb-gift-tilt__canvas{
  position: absolute;
  inset: 0;

  display: grid;
  grid-template-columns: repeat(5,1fr);
  grid-template-rows: repeat(5,1fr);

  perspective: 800px;
}

/* Trackers (áreas de hover) */
.afb-gift-tilt__canvas .tracker{
  width: 100%;
  height: 100%;
  z-index: 5;
  pointer-events: auto;
}

/* Grid mapping */
.tr-1{grid-area:1/1}  .tr-2{grid-area:1/2}  .tr-3{grid-area:1/3}  .tr-4{grid-area:1/4}  .tr-5{grid-area:1/5}
.tr-6{grid-area:2/1}  .tr-7{grid-area:2/2}  .tr-8{grid-area:2/3}  .tr-9{grid-area:2/4}  .tr-10{grid-area:2/5}
.tr-11{grid-area:3/1} .tr-12{grid-area:3/2} .tr-13{grid-area:3/3} .tr-14{grid-area:3/4} .tr-15{grid-area:3/5}
.tr-16{grid-area:4/1} .tr-17{grid-area:4/2} .tr-18{grid-area:4/3} .tr-19{grid-area:4/4} .tr-20{grid-area:4/5}
.tr-21{grid-area:5/1} .tr-22{grid-area:5/2} .tr-23{grid-area:5/3} .tr-24{grid-area:5/4} .tr-25{grid-area:5/5}


/* =========================================================
   CARD REAL (VISUAL + 3D)
========================================================= */

.afb-gift-card__inner{
  position: absolute;
  inset: 0;
  z-index: 1;

  border-radius: 18px;
  overflow: hidden;

  background:
    radial-gradient(120% 140% at 12% 0%, rgba(255,43,247,.18), rgba(0,0,0,0) 55%),
    linear-gradient(135deg, rgba(140,60,255,.16), rgba(255,43,247,.12));

  border: 1px solid rgba(160,90,255,.35);

  transform-style: preserve-3d;
  transition: transform .15s ease, filter .2s ease;
}

/* Glow */
.afb-gift-card__inner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background: inherit;
  filter: blur(18px);
  opacity:.25;
  z-index:-1;
  transition:.2s;
}

.afb-gift-card:hover .afb-gift-card__inner::before{
  opacity:.85;
}


/* =========================================================
   TILT (IDÊNTICO AO UIVERSE)
========================================================= */

.tr-1:hover ~ .afb-gift-card__inner{transform:rotateX(20deg) rotateY(-10deg);}
.tr-2:hover ~ .afb-gift-card__inner{transform:rotateX(20deg) rotateY(-5deg);}
.tr-3:hover ~ .afb-gift-card__inner{transform:rotateX(20deg);}
.tr-4:hover ~ .afb-gift-card__inner{transform:rotateX(20deg) rotateY(5deg);}
.tr-5:hover ~ .afb-gift-card__inner{transform:rotateX(20deg) rotateY(10deg);}

.tr-6:hover ~ .afb-gift-card__inner{transform:rotateX(10deg) rotateY(-10deg);}
.tr-7:hover ~ .afb-gift-card__inner{transform:rotateX(10deg) rotateY(-5deg);}
.tr-8:hover ~ .afb-gift-card__inner{transform:rotateX(10deg);}
.tr-9:hover ~ .afb-gift-card__inner{transform:rotateX(10deg) rotateY(5deg);}
.tr-10:hover ~ .afb-gift-card__inner{transform:rotateX(10deg) rotateY(10deg);}

.tr-11:hover ~ .afb-gift-card__inner{transform:rotateX(0deg) rotateY(-10deg);}
.tr-12:hover ~ .afb-gift-card__inner{transform:rotateX(0deg) rotateY(-5deg);}
.tr-13:hover ~ .afb-gift-card__inner{transform:none;}
.tr-14:hover ~ .afb-gift-card__inner{transform:rotateX(0deg) rotateY(5deg);}
.tr-15:hover ~ .afb-gift-card__inner{transform:rotateX(0deg) rotateY(10deg);}

.tr-16:hover ~ .afb-gift-card__inner{transform:rotateX(-10deg) rotateY(-10deg);}
.tr-17:hover ~ .afb-gift-card__inner{transform:rotateX(-10deg) rotateY(-5deg);}
.tr-18:hover ~ .afb-gift-card__inner{transform:rotateX(-10deg);}
.tr-19:hover ~ .afb-gift-card__inner{transform:rotateX(-10deg) rotateY(5deg);}
.tr-20:hover ~ .afb-gift-card__inner{transform:rotateX(-10deg) rotateY(10deg);}

.tr-21:hover ~ .afb-gift-card__inner{transform:rotateX(-20deg) rotateY(-10deg);}
.tr-22:hover ~ .afb-gift-card__inner{transform:rotateX(-20deg) rotateY(-5deg);}
.tr-23:hover ~ .afb-gift-card__inner{transform:rotateX(-20deg);}
.tr-24:hover ~ .afb-gift-card__inner{transform:rotateX(-20deg) rotateY(5deg);}
.tr-25:hover ~ .afb-gift-card__inner{transform:rotateX(-20deg) rotateY(10deg);}


/* =========================================================
   IMAGEM E TEXTO
========================================================= */

.afb-gift-card__imgwrap{
  height: 140px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
}

.afb-gift-card__imgwrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  backface-visibility: hidden;
}

.afb-gift-card__cap{
  padding: 10px 10px 12px;
}

.afb-gift-card__capTitle{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: #5b2d86;
  margin-bottom: 6px;
}

.afb-gift-card__capText{
  font-size: 12px;
  color: #5d5662;
  line-height: 1.2;
}
/* =========================================================
   AFB — GIFT CARD (FINAL LIMPO + ASPECT 3/4)
   - Proporção 3/4 (premium)
   - Imagem cobre 100%
   - Texto flutua por cima
   - Hover = sombra externa
========================================================= */

/* CARD REAL */
.afb-gift-card__inner{
  position:absolute;
  inset:0;
  border-radius:18px;
  overflow:hidden;
  display:block;                 /* nunca flex/grid */
  padding:0;

  aspect-ratio: 3 / 4;           /* 🔥 AQUI */
  
  transform-style: preserve-3d;
  transition: transform .2s ease, box-shadow .25s ease;
}

/* IMAGEM — FULL */
.afb-gift-card__imgwrap{
  position:absolute;
  inset:0;
  z-index:1;
}

.afb-gift-card__imgwrap img{
  width:100%;
  height:100%;
  object-fit: cover;             /* preenche a box */
  object-position: center 45%;   /* 🔥 ideal p/ Funko */
  backface-visibility:hidden;
  transform: scale(1.06);
  transition: transform .25s ease;
}

/* TEXTO — FLUTUANTE (SEM FAIXA / SEM ESPAÇO) */
.afb-gift-card__cap{
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  z-index:2;

  padding:0 14px;
  background:none;
  backdrop-filter:none;
  pointer-events:none;
}

/* Texto */
.afb-gift-card__capTitle{
  font-size:11px;
  font-weight:800;
  letter-spacing:.3px;
  text-transform:uppercase;
  color:#5b2d86;
  margin-bottom:2px;
}

.afb-gift-card__capText{
  font-size:12px;
  color:#4b4254;
  line-height:1.2;
}

/* HOVER — SOMBRA EXTERNA (igual caixa original) */
.afb-gift-card:hover .afb-gift-card__inner{
  box-shadow:
    0 18px 40px rgba(140,60,255,.35),
    0 8px 18px rgba(255,43,247,.25);
}

/* ZOOM DA IMAGEM NO HOVER */
.afb-gift-card:hover .afb-gift-card__imgwrap img{
  transform: scale(1.12);
}



/* ======================================================
   AFB AUTH — PREMIUM NEON 3D (LOGIN / REGISTER / RECOVER)
====================================================== */

.afb-auth{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 16px;
  color:#fff;

  /* FUNDO PRETO PREMIUM */
  background:
    radial-gradient(1200px 650px at 20% 10%, rgba(197,107,240,.18), transparent 60%),
    radial-gradient(900px 520px at 85% 0%, rgba(94,58,238,.20), transparent 55%),
    radial-gradient(900px 520px at 50% 110%, rgba(155,107,255,.14), transparent 55%),
    #070710;
}

/* ===== WRAP ===== */
.afb-auth__wrap{
  width:100%;
  max-width:1040px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;

  transition: opacity .25s ease, transform .25s ease, filter .25s ease;
  perspective: 1200px; /* p/ efeito 3D */
}

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

/* quando recover abre */
.afb-auth__wrap.is-hidden{
  opacity:.12;
  filter: blur(10px);
  pointer-events:none;
  transform: scale(.99);
}

/* ===== CARD BASE (OS 2 IGUAIS) ===== */
.afb-auth__card{
  position:relative;
  border-radius:22px;
  padding:30px;
  overflow:hidden;

  background:
    radial-gradient(800px 420px at 15% -15%, rgba(197,107,240,.16), transparent 60%),
    radial-gradient(700px 380px at 110% 0%, rgba(94,58,238,.16), transparent 55%),
    rgba(10,10,18,.94);

  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 26px 80px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.05);

  transform: translateZ(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* brilho “vidro” por cima */
.afb-auth__card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(500px 240px at 10% 10%, rgba(255,255,255,.08), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 35%);
  pointer-events:none;
  opacity:.75;
}

/* BORDA NEON (só aparece no hover) */
.afb-auth__card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  padding:1px;
  background: linear-gradient(135deg, rgba(155,107,255,.85), rgba(211,139,255,.75), rgba(94,58,238,.75));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity:0;
  transition: opacity .25s ease;
  pointer-events:none;
}

.afb-auth__card:hover{
  transform: translateY(-4px) rotateX(1.2deg) rotateY(-1.2deg);
  border-color: rgba(155,107,255,.35);
  box-shadow:
    0 34px 95px rgba(0,0,0,.65),
    0 0 0 1px rgba(155,107,255,.22),
    0 0 42px rgba(155,107,255,.22),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.afb-auth__card:hover::after{
  opacity:1;
}

/* o ghost vira dark também (pra não “apagar”) */
.afb-auth__card--ghost{
  background:
    radial-gradient(800px 420px at 15% -15%, rgba(197,107,240,.12), transparent 60%),
    radial-gradient(700px 380px at 110% 0%, rgba(94,58,238,.12), transparent 55%),
    rgba(10,10,18,.88);
}

/* ===== HEADER ===== */
.afb-auth__head{
  position:relative;
  z-index:2;
  margin-bottom:18px;
}

.afb-auth__head h1,
.afb-auth__head h2{
  margin:0 0 6px;
  font-size:24px;
  font-weight:800;
  letter-spacing:.2px;
}

.afb-auth__head p{
  margin:0;
  font-size:14px;
  color:rgba(255,255,255,.65);
}

/* ===== FIELD ===== */
.afb-field{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
}

.afb-field label{
  font-size:13px;
  color:rgba(255,255,255,.78);
}

.afb-field input{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:12px 14px;
  color:#fff;
  font-size:14px;
  outline:none;
  transition: border .2s ease, box-shadow .2s ease, transform .15s ease;
}

.afb-field input:focus{
  border-color: rgba(155,107,255,.55);
  box-shadow: 0 0 0 2px rgba(155,107,255,.18);
  transform: translateY(-1px);
}

/* ===== BUTTONS ===== */
.afb-btn--full{ width:100%; }

.afb-btn{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  padding:13px 18px;
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
  border:none;
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}

.afb-btn:active{ transform: translateY(1px); }

/* CTA GRADIENT */
.afb-btn--grad{
  background: linear-gradient(135deg,#9b6bff,#d38bff);
  color:#fff;
  box-shadow: 0 14px 38px rgba(155,107,255,.35);
}
.afb-btn--grad:hover{
  filter: brightness(1.05);
  box-shadow: 0 18px 52px rgba(155,107,255,.48);
}

/* OUTLINE (register) */
.afb-btn--outline{
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
.afb-btn--outline:hover{
  background: rgba(155,107,255,.10);
  border-color: rgba(155,107,255,.35);
  box-shadow: 0 0 28px rgba(155,107,255,.18);
}

/* GHOST */
.afb-btn--ghost{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}

/* ===== LINKS ===== */
.afb-link{
  color: rgba(210,185,255,.92);
  text-decoration:none;
  font-size:13px;
  cursor:pointer;
}
.afb-link:hover{ color:#fff; }

.afb-link--inline{
  background:none;
  border:none;
  padding:0;
  margin-top:6px;
  align-self:flex-start;
}

/* ===== ALT LOGIN ===== */
.afb-auth__alt{
  position:relative;
  z-index:2;
  margin-top:14px;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.afb-auth__alt span{ color:rgba(255,255,255,.55); }

/* ===== RECOVER OVERLAY ===== */
.afb-auth__recover{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index:9999;
}

/* RECOVER CARD */
.afb-auth__card--recover{
  animation: afbFadeUp .35s ease both;
}

/* ===== CANCELAR PREMIUM ===== */
.afb-btn-cancel{
  margin-top:14px;
  background: transparent;
  border:none;
  padding:6px 0;

  font-size:13px;
  font-weight:600;
  color:rgba(255,255,255,.60);

  cursor:pointer;
  position:relative;
  transition: color .2s ease, transform .15s ease;
}
.afb-btn-cancel:hover{
  color:#fff;
  transform: translateY(-1px);
}
.afb-btn-cancel::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  width:0;
  height:1px;
  background: linear-gradient(90deg,#9b6bff,#d38bff);
  transition: width .25s ease, left .25s ease;
}
.afb-btn-cancel:hover::after{
  width:100%;
  left:0;
}

/* ===== ANIMAÇÃO ===== */
@keyframes afbFadeUp{
  from{ opacity:0; transform: translateY(14px) scale(.98); }
  to{ opacity:1; transform: translateY(0) scale(1); }
}

/* hidden SEMPRE vence */
#recover_password[hidden]{
  display:none !important;
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .afb-auth__wrap,
  .afb-auth__card,
  .afb-btn,
  .afb-btn-cancel,
  .afb-auth__card--recover{
    transition:none !important;
    animation:none !important;
  }
}

/* ======================================================
   AFB AUTH — FUNDO NEON CONTÍNUO (BODY + AUTH)
   Corrige topo preto liso atrás do header
====================================================== */

:root{
  --afb-auth-bg:
    radial-gradient(1200px 650px at 20% 10%, rgba(197,107,240,.18), transparent 60%),
    radial-gradient(900px 520px at 85% 0%, rgba(94,58,238,.20), transparent 55%),
    radial-gradient(900px 520px at 50% 110%, rgba(155,107,255,.14), transparent 55%),
    #070710;
}

/* 1) BODY com o mesmo “jogo de luz” */
html body.account-login,
html body.account-register,
html body.account-recover,
html body.account-login.home1,
html body.account-register.home1,
html body.account-recover.home1{
  background: var(--afb-auth-bg) !important;
  background-attachment: fixed; /* mantém o glow estável ao rolar */
}

/* 2) Wrapper e main transparentes (não pintam por cima) */
html body.account-login .afb-page-wrapper,
html body.account-register .afb-page-wrapper,
html body.account-recover .afb-page-wrapper,
html body.account-login.home1 .afb-page-wrapper,
html body.account-register.home1 .afb-page-wrapper,
html body.account-recover.home1 .afb-page-wrapper,
html body.account-login main,
html body.account-register main,
html body.account-recover main,
html body.account-login #MainContent,
html body.account-register #MainContent,
html body.account-recover #MainContent,
html body.account-login.home1 main,
html body.account-register.home1 main,
html body.account-recover.home1 main,
html body.account-login.home1 #MainContent,
html body.account-register.home1 #MainContent,
html body.account-recover.home1 #MainContent{
  background: transparent !important;
}

/* 3) AFB AUTH não precisa pintar fundo (pra não “duplicar”) */
html body.account-login .afb-auth,
html body.account-register .afb-auth,
html body.account-recover .afb-auth,
html body.account-login.home1 .afb-auth,
html body.account-register.home1 .afb-auth,
html body.account-recover.home1 .afb-auth{
  background: transparent !important;
  min-height: 100vh;
}

/* 4) Remove footer nessas páginas (continua) */
html body.account-login footer,
html body.account-register footer,
html body.account-recover footer,
html body.account footer,
html body.account-login.home1 footer,
html body.account-register.home1 footer,
html body.account-recover.home1 footer{
  display:none !important;
}


/* ======================================================
   AFB AUTH — INPUT FX (caret spark + complete clean) + LOGIN FX
====================================================== */

.afb-field{
  position:relative; /* pra efeitos absolutos */
}

/* =========================
   CARET SPARK (glow por caractere)
   - JS posiciona o spark no cursor
   - fica “parecendo” que cada letra acende
========================= */

.afb-caret-spark{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:999px;
  pointer-events:none;
  z-index:5;

  /* fallback caso JS não posicione por algum motivo */
  left:18px;
  top:52px;

  opacity:0;
  transform: translate(-50%, -50%) scale(.65);

  background: radial-gradient(circle,
    rgba(211,139,255,.95) 0%,
    rgba(155,107,255,.45) 45%,
    transparent 72%
  );

  box-shadow:
    0 0 16px rgba(155,107,255,.34),
    0 0 42px rgba(155,107,255,.18);
}

@keyframes afbSparkPop{
  0%   { opacity:0; transform: translate(-50%,-50%) scale(.55); filter: blur(.3px); }
  35%  { opacity:1; transform: translate(-50%,-50%) scale(1.05); }
  100% { opacity:0; transform: translate(-50%,-50%) scale(.75); filter: blur(.8px); }
}

.afb-field.is-typing .afb-caret-spark{
  animation: afbSparkPop .22s ease-out 1;
}

/* ======================================================
   AFB AUTH — HEAD PREMIUM V4 (kicker + title + sub)
   - Sem bug de ficar na mesma linha
   - Título com gradiente + underline base fixo + glint passando
   - Sub com shine suave
====================================================== */

/* wrapper do head */
.afb-auth__head{
  position: relative;
  z-index: 2;
  margin-bottom: 16px;

  display: flex;
  flex-direction: column;   /* garante quebra */
  align-items: flex-start;  /* alinha tudo à esquerda */
  gap: 8px;
}

/* kicker (linha pequena) */
.afb-auth__kicker{
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin: 0;
}

.afb-auth__kicker::before{
  content:"";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%,
    rgba(211,139,255,.95),
    rgba(155,107,255,.20)
  );
  box-shadow: 0 0 18px rgba(155,107,255,.35);
}

/* ======================================================
   TÍTULO (h1/h2) — gradiente + underline novo
====================================================== */

.afb-auth__head h1,
.afb-auth__head h2{
  display: block;
  width: 100%;
  margin: 0;
  line-height: 1.08;

  font-size: 24px;
  font-weight: 950;
  letter-spacing: .2px;

  background: linear-gradient(135deg,
    rgba(255,255,255,.98),
    rgba(211,139,255,.95),
    rgba(155,107,255,.90)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  text-shadow:
    0 0 18px rgba(155,107,255,.18),
    0 0 40px rgba(155,107,255,.10);

  position: relative;
  padding-bottom: 10px; /* espaço pro underline */
}

/* linha base (fixa, suave) */
.afb-auth__head h1::after,
.afb-auth__head h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  border-radius:999px;

  background: linear-gradient(90deg,
    transparent,
    rgba(211,139,255,.35),
    rgba(155,107,255,.45),
    rgba(94,58,238,.32),
    transparent
  );
  opacity:.55;
}

/* glint passando por cima */
.afb-auth__head h1::before,
.afb-auth__head h2::before{
  content:"";
  position:absolute;
  left:-35%;
  bottom:-1px;                 /* em cima da base */
  width:35%;
  height:4px;                  /* mais grosso = brilho */
  border-radius:999px;
  pointer-events:none;

  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.10),
    rgba(211,139,255,.65),
    rgba(255,255,255,.10),
    transparent
  );

  filter: blur(.2px);
  opacity:0;
  transform: skewX(-18deg);
  animation: afbTitleGlint 3.4s ease-in-out infinite;
}

@keyframes afbTitleGlint{
  0%, 58% { transform: translateX(-20%) skewX(-18deg); opacity:0; }
  70%     { opacity:.85; }
  92%     { transform: translateX(420%) skewX(-18deg); opacity:0; }
  100%    { opacity:0; }
}

/* ======================================================
   SUBTÍTULO — shine suave
====================================================== */

.afb-auth__sub{
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255,255,255,.66);

  position: relative;
  display: inline-block;
  padding-right: 6px;
}

.afb-auth__sub::after{
  content:"";
  position: absolute;
  left: -25%;
  top: -2px;
  width: 40%;
  height: calc(100% + 4px);
  pointer-events: none;

  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.12),
    transparent
  );

  transform: skewX(-18deg);
  opacity: 0;
  animation: afbSubShine 3.6s ease-in-out infinite;
}

@keyframes afbSubShine{
  0%, 55% { transform: translateX(-35%) skewX(-18deg); opacity:0; }
  70%     { opacity:.35; }
  90%     { transform: translateX(240%) skewX(-18deg); opacity:0; }
  100%    { opacity:0; }
}

/* mobile */
@media (max-width: 768px){
  .afb-auth__head h1,
  .afb-auth__head h2{ font-size: 21px; }
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .afb-auth__head h1::before,
  .afb-auth__head h2::before,
  .afb-auth__sub::after{
    animation:none !important;
    opacity:0 !important;
  }
}
/* ======================================================
   AFB LOGIN FX — HARD FIX (sempre aparece)
   Cole no FINAL do CSS
====================================================== */

#afbLoginFX.afb-login-fx{
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  z-index: 2147483647 !important; /* ganha de tudo */
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  background:
    radial-gradient(1200px 650px at 20% 10%, rgba(197,107,240,.22), transparent 60%),
    radial-gradient(900px 520px at 85% 0%, rgba(94,58,238,.24), transparent 55%),
    radial-gradient(900px 520px at 50% 110%, rgba(155,107,255,.18), transparent 55%),
    rgba(7,7,16,.92) !important;

  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;

  transition: opacity .18s ease !important;
  color: #fff !important; /* garante texto visível */
}

#afbLoginFX.afb-login-fx.is-on{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#afbLoginFX .afb-login-fx__card{
  width: min(640px, calc(100vw - 32px)) !important;
  border-radius: 22px !important;
  padding: 22px 20px !important;
  text-align: center !important;

  background:
    radial-gradient(800px 420px at 15% -15%, rgba(197,107,240,.16), transparent 60%),
    radial-gradient(700px 380px at 110% 0%, rgba(94,58,238,.16), transparent 55%),
    rgba(10,10,18,.92) !important;

  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow:
    0 26px 90px rgba(0,0,0,.62),
    0 0 55px rgba(155,107,255,.18) !important;

  animation: afbFxIn .45s ease both !important;
}

#afbLoginFX .afb-login-fx__title{
  margin: 0 0 6px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
  color:#fff !important;
}

#afbLoginFX .afb-login-fx__sub{
  margin: 0 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.70) !important;
}


/* ======================================================
   AFB LOGIN FX — OVERLAY PREMIUM (cinema)
   - Glass + borda neon + shimmer + entrada suave
====================================================== */

.afb-login-fx{
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 28px 18px;

  opacity: 0;
  pointer-events: none;

  background:
    radial-gradient(900px 520px at 15% 15%, rgba(197,107,240,.18), transparent 60%),
    radial-gradient(820px 520px at 85% 10%, rgba(94,58,238,.22), transparent 58%),
    radial-gradient(900px 520px at 50% 110%, rgba(155,107,255,.16), transparent 60%),
    rgba(0,0,0,.55);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  transition: opacity .24s ease;
}

.afb-login-fx.is-on{
  opacity: 1;
  pointer-events: auto;
}

/* card */
.afb-login-fx__card{
  position: relative;
  width: min(720px, 92vw);
  border-radius: 22px;
  padding: 22px 24px;
  text-align: center;
  overflow: hidden;

  background:
    radial-gradient(800px 260px at 15% 10%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(620px 260px at 105% 0%, rgba(155,107,255,.12), transparent 60%),
    rgba(12,12,18,.72);

  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    0 32px 120px rgba(0,0,0,.70),
    0 0 0 1px rgba(155,107,255,.16),
    0 0 46px rgba(155,107,255,.10);

  transform: translateY(16px) scale(.98);
  opacity: 0;
}

.afb-login-fx.is-on .afb-login-fx__card{
  animation: afbFxIn .55s cubic-bezier(.2,.9,.2,1) both;
}

@keyframes afbFxIn{
  from{ transform: translateY(16px) scale(.98); opacity: 0; }
  to  { transform: translateY(0) scale(1); opacity: 1; }
}

/* borda neon premium (mask) */
.afb-login-fx__card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 22px;
  padding: 1px;

  background: linear-gradient(135deg,
    rgba(155,107,255,.80),
    rgba(211,139,255,.72),
    rgba(94,58,238,.68)
  );

  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;

  opacity: .55;
  pointer-events: none;
}

/* shimmer/glint passando no card */
.afb-login-fx__card::after{
  content:"";
  position:absolute;
  top:-30%;
  left:-50%;
  width: 45%;
  height: 160%;
  pointer-events: none;

  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.12),
    rgba(211,139,255,.18),
    rgba(255,255,255,.10),
    transparent
  );

  transform: skewX(-18deg);
  opacity: 0;
}

.afb-login-fx.is-on .afb-login-fx__card::after{
  animation: afbFxGlint 1.35s ease-in-out both;
}

@keyframes afbFxGlint{
  0%   { transform: translateX(-10%) skewX(-18deg); opacity: 0; }
  25%  { opacity: .75; }
  100% { transform: translateX(520%) skewX(-18deg); opacity: 0; }
}

/* title */
.afb-login-fx__title{
  margin: 0;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: .2px;
  line-height: 1.15;

  background: linear-gradient(135deg,
    rgba(255,255,255,.98),
    rgba(211,139,255,.95),
    rgba(155,107,255,.90)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  text-shadow:
    0 0 18px rgba(155,107,255,.18),
    0 0 46px rgba(155,107,255,.10);

  position: relative;
  padding-bottom: 10px;
}
.afb-login-fx__title::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2px;
  border-radius:999px;
  background: linear-gradient(90deg,
    transparent,
    rgba(211,139,255,.35),
    rgba(155,107,255,.45),
    rgba(94,58,238,.32),
    transparent
  );
  opacity:.55;
}
.afb-login-fx__title::before{
  content:"";
  position:absolute;
  left:-35%;
  bottom:-1px;
  width:35%;
  height:4px;
  border-radius:999px;
  pointer-events:none;

  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.10),
    rgba(211,139,255,.65),
    rgba(255,255,255,.10),
    transparent
  );

  transform: skewX(-18deg);
  opacity:0;
  animation: afbFxTitleGlint 2.8s ease-in-out infinite;
}

@keyframes afbFxTitleGlint{
  0%, 60% { transform: translateX(-20%) skewX(-18deg); opacity:0; }
  72%     { opacity:.85; }
  96%     { transform: translateX(420%) skewX(-18deg); opacity:0; }
  100%    { opacity:0; }
}

/* sub cinema */
.afb-login-fx__sub{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.72);
}

.afb-login-fx__sub strong{
  color: rgba(211,139,255,.95);
  font-weight: 900;
}

/* loading line com dots */
.afb-login-fx__loading{
  margin: 10px 0 0;
  font-size: 13px;
  color: rgba(255,255,255,.58);
}

.afb-login-fx__dots{
  display:inline-block;
  width: 18px;
  text-align:left;
}

.afb-login-fx.is-on .afb-login-fx__dots{
  animation: afbDots 1.05s steps(4,end) infinite;
}
@keyframes afbDots{
  0% { clip-path: inset(0 18px 0 0); }
  33%{ clip-path: inset(0 12px 0 0); }
  66%{ clip-path: inset(0 6px 0 0); }
  100%{ clip-path: inset(0 0 0 0); }
}

/* mobile */
@media (max-width: 768px){
  .afb-login-fx__title{ font-size: 20px; }
  .afb-login-fx__sub{ font-size: 13px; }
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .afb-login-fx,
  .afb-login-fx__card,
  .afb-login-fx__card::after,
  .afb-login-fx__title::before,
  .afb-login-fx__dots{
    animation: none !important;
    transition: none !important;
  }
}

/* ======================================================
   AFB AUTH — EMAIL SUGGEST (PREMIUM NEON 3D)
   - Glass dark
   - Neon hover
   - Z-index seguro
   - Não interfere no input FX
====================================================== */

/* container geral */
.afb-email-suggest{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 50;
  pointer-events: none;
}

/* lista */
.afb-email-suggest_list{
  pointer-events: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  padding: 12px;
  border-radius: 16px;

  background:
    radial-gradient(420px 200px at 10% -10%, rgba(197,107,240,.18), transparent 60%),
    radial-gradient(360px 180px at 110% 0%, rgba(94,58,238,.20), transparent 55%),
    rgba(10,10,18,.96);

  border: 1px solid rgba(255,255,255,.14);

  box-shadow:
    0 22px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(155,107,255,.18),
    0 0 36px rgba(155,107,255,.16);

  animation: afbSuggestIn .18s ease-out both;
}

/* animação de entrada */
@keyframes afbSuggestIn{
  from{
    opacity: 0;
    transform: translateY(-4px) scale(.98);
  }
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* botão / chip */
.afb-email-suggest_item{
  appearance: none;
  border: none;
  cursor: pointer;

  padding: 7px 12px;
  border-radius: 999px;

  font-size: 13px;
  font-weight: 800;
  letter-spacing: .15px;

  color: #fff;

  background:
    linear-gradient(135deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.02)
    );

  border: 1px solid rgba(255,255,255,.18);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 8px 18px rgba(0,0,0,.45);

  transition:
    transform .15s ease,
    box-shadow .2s ease,
    border-color .2s ease,
    background .2s ease;
}

/* hover premium */
.afb-email-suggest_item:hover{
  transform: translateY(-2px);
  border-color: rgba(155,107,255,.55);

  background:
    linear-gradient(135deg,
      rgba(155,107,255,.35),
      rgba(211,139,255,.25)
    );

  box-shadow:
    0 14px 34px rgba(155,107,255,.35),
    0 0 28px rgba(155,107,255,.28);
}

/* active (click) */
.afb-email-suggest_item:active{
  transform: translateY(0);
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,.55);
}

/* acessibilidade */
.afb-email-suggest_item:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 2px rgba(155,107,255,.35),
    0 0 22px rgba(155,107,255,.28);
}

/* mobile */
@media (max-width: 768px){
  .afb-email-suggest_list{
    padding: 10px;
    gap: 6px;
  }

  .afb-email-suggest_item{
    font-size: 12.5px;
    padding: 6px 11px;
  }
}

/* reduz animações */
@media (prefers-reduced-motion: reduce){
  .afb-email-suggest_list{
    animation: none !important;
  }
  .afb-email-suggest_item{
    transition: none !important;
  }
}


/* ======================================================
   AFB ADDRESSES — BLACK ONLY (SAFE SCOPE)
   - Deixa preto SÓ na página de endereços
   - Não contamina páginas de produto/coleção
====================================================== */

/* 1) Moderno: aplica no HTML/BODY só quando existir .afb-addresses-page */
@supports (selector(body:has(.afb-addresses-page))) {
  html:has(.afb-addresses-page),
  body:has(.afb-addresses-page){
    background: #070710 !important;
    min-height: 100%;
    overflow-x: hidden !important;
    overscroll-behavior: none;
  }

  /* se você quiser esconder footer/quickview só aqui */
  body:has(.afb-addresses-page) #quickview-wrapper{
    display:none !important;
    height:0 !important;
    overflow:hidden !important;
  }
  body:has(.afb-addresses-page) #shopify-section-footer{
    display:none !important;
  }
}

/* 2) Fallback Shopify: muitos temas usam essas classes no body */
body.template-customers-addresses,
body[class*="customers-addresses"]{
  background: #070710 !important;
  min-height: 100%;
  overflow-x: hidden !important;
  overscroll-behavior: none;
}

/* fallback do hide apenas na página de endereços */
body.template-customers-addresses #quickview-wrapper,
body[class*="customers-addresses"] #quickview-wrapper{
  display:none !important;
  height:0 !important;
  overflow:hidden !important;
}
body.template-customers-addresses #shopify-section-footer,
body[class*="customers-addresses"] #shopify-section-footer{
  display:none !important;
}


/* ======================================================
   AFB ADDRESSES — ULTRA PREMIUM (FIX REAL + TOP PREMIUM)
   - Corrige "Editar" indo pro invisível (corte/overflow)
   - Corrige título fora da tela no iPhone
   - Topo glass premium (sem matar o botão)
====================================================== */

/* ===== BASE (mantém glow e estrutura) ===== */
.afb-addresses-page{
  position: relative;
  min-height: 100vh;
  isolation: isolate;
  background: #070710 !important;

  /* 🔥 FIX DO BUG: não cortar conteúdo quando abre EDIT */
  overflow: visible !important;
  overflow-x: hidden !important;
}

/* Glow (igual login) */
.afb-addresses-page::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: 0;

  background:
    radial-gradient(1200px 650px at 20% 10%, rgba(155,107,255,.22), transparent 60%),
    radial-gradient(900px 520px at 85% 0%, rgba(211,139,255,.20), transparent 55%),
    radial-gradient(900px 520px at 50% 110%, rgba(155,107,255,.18), transparent 55%),
    #070710;

  pointer-events: none;
}

/* Conteúdo acima do glow */
.afb-addresses-page > *{
  position: relative;
  z-index: 1;
}

/* Wrappers nunca pintam fundo / nunca empurram lateral */
.afb-addresses-page,
.afb-addresses-page .wrapper,
.afb-addresses-page .container,
.afb-addresses-page main,
.afb-addresses-page .shopify-section,
.afb-addresses-page #content{
  background: transparent !important;
  max-width: 100% !important;
}

/* Wrapper interno (centraliza e dá padding real) */
.afb-addresses-page .afb-addr{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;

  /* iPhone safe (e também resolve título “fora da tela”) */
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  padding-top: 26px;
  padding-bottom: 60px;

  box-sizing: border-box;
}

/* ===== FIX IMPORTANTE: hidden confiável ===== */
.afb-addresses-page [hidden]{
  display: none !important;
}

/* ===== TOPO PREMIUM (Seus endereços) ===== */
.afb-addresses-page .afb-addr__top{
  position: relative;

  display: flex;
  flex-wrap: wrap;
  align-items: center; /* iOS-safe */
  justify-content: space-between;
  gap: 16px;

  padding: 16px 16px;
  margin: 0 0 28px;

  border-radius: 22px;

  background:
    radial-gradient(900px 260px at 10% 0%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(720px 260px at 110% 0%, rgba(155,107,255,.14), transparent 60%),
    rgba(12,12,18,.55);

  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 18px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(155,107,255,.14),
    0 0 36px rgba(155,107,255,.10);
}

/* borda neon “mask” do topo */
.afb-addresses-page .afb-addr__top::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 22px;
  padding: 1px;
  pointer-events: none;

  background: linear-gradient(135deg,
    rgba(155,107,255,.70),
    rgba(211,139,255,.55),
    rgba(94,58,238,.55)
  );

  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;

  opacity: .38;
}

/* bloco esquerdo */
.afb-addresses-page .afb-addr__topLeft{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 240px;
  max-width: 100%;
}

/* título (premium gradient) */
.afb-addresses-page .afb-addr__title{
  margin: 0 !important;
  font-family: 'Rubik', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 950;
  letter-spacing: .25px;
  line-height: 1.12;

  font-size: clamp(22px, 3vw, 36px);

  background: linear-gradient(135deg,
    rgba(255,255,255,.98),
    rgba(211,139,255,.95),
    rgba(155,107,255,.92)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  text-shadow:
    0 0 18px rgba(155,107,255,.18),
    0 0 46px rgba(155,107,255,.10);

  /* iPhone nunca corta */
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* link voltar como “chip” */
.afb-addresses-page .afb-link--back{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  width: fit-content;
  max-width: 100%;

  padding: 8px 12px;
  border-radius: 999px;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1px;
  color: rgba(255,255,255,.86);
  text-decoration: none;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);

  transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.afb-addresses-page .afb-link--back:hover{
  transform: translateY(-1px);
  background: rgba(155,107,255,.12);
  border-color: rgba(155,107,255,.30);
  box-shadow: 0 0 18px rgba(155,107,255,.22);
}

/* botão add novo endereço (mantém suas classes, só melhora responsivo) */
.afb-addresses-page .afb-addr__top .afb-btn--grad{
  white-space: nowrap;
}

/* ===== GRID / CARDS ===== */
.afb-addresses-page .afb-addr__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 22px;
  margin-top: 8px;
}

/* =========================================================
   AFB ADDRESSES — HERO GLASS (COMICS / ANIME) — V1
   - Cards/Panel com glass premium + borda viva animada
   - Mais respiro + grid melhor no formulário
   - "Efeito por etapa": cada campo acende/animado no focus
   - Mobile 100% ok
========================================================= */

.afb-addresses-page{
  /* palette */
  --afb-bg1: rgba(18,18,28,.92);
  --afb-bg2: rgba(8,8,14,.92);
  --afb-line: rgba(255,255,255,.10);
  --afb-line2: rgba(255,255,255,.16);
  --afb-txt: rgba(255,255,255,.92);
  --afb-muted: rgba(255,255,255,.72);

  /* hero accents */
  --afb-p1: rgba(155,107,255,1);
  --afb-p2: rgba(211,139,255,1);
  --afb-p3: rgba(94,58,238,1);
  --afb-cyan: rgba(80,220,255,.85);

  --afb-radius: 24px;
  --afb-pad: 28px;
}

/* =========================
   CARDS + PANELS (GLASS HERO)
========================= */
.afb-addresses-page .afb-addr-card,
.afb-addresses-page .afb-panel{
  position: relative;
  isolation: isolate;
  border-radius: var(--afb-radius);
  border: 1px solid var(--afb-line);
  background: linear-gradient(180deg, var(--afb-bg1), var(--afb-bg2)) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.58);
  overflow: visible !important;
  backdrop-filter: blur(10px);
}

/* camada "hero glow" animada */
.afb-addresses-page .afb-addr-card::before,
.afb-addresses-page .afb-panel::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  z-index: 0;
  pointer-events:none;
  opacity:.55;

  background:
    radial-gradient(900px 420px at 12% 0%, rgba(155,107,255,.22), transparent 58%),
    radial-gradient(720px 380px at 92% 12%, rgba(211,139,255,.18), transparent 62%),
    radial-gradient(820px 520px at 50% 120%, rgba(80,220,255,.10), transparent 66%);

  filter: blur(10px);
  transform: translateZ(0);
}

/* camada "comics halftone" + shimmer */
.afb-addresses-page .afb-addr-card::after,
.afb-addresses-page .afb-panel::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  z-index: 0;
  pointer-events:none;
  opacity:.18;

  background:
    /* halftone dots */
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.22) 1px, transparent 1.8px) 0 0 / 14px 14px,
    /* diagonal sheen */
    linear-gradient(115deg,
      transparent 0%,
      rgba(155,107,255,.10) 22%,
      rgba(255,255,255,.08) 32%,
      transparent 52%,
      rgba(80,220,255,.08) 72%,
      transparent 100%);
  mix-blend-mode: screen;
  animation: afbHeroSheen 6.8s linear infinite;
}

/* conteúdo sempre acima */
.afb-addresses-page .afb-addr-card > *,
.afb-addresses-page .afb-panel > *{
  position: relative;
  z-index: 1;
}

/* hover premium (desktop) */
@media (hover:hover){
  .afb-addresses-page .afb-addr-card:hover,
  .afb-addresses-page .afb-panel:hover{
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 28px 90px rgba(0,0,0,.62);
    transform: translateY(-2px);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
}

/* =========================
   PADDINGS + ESPAÇOS
========================= */
.afb-addresses-page .afb-addr-card{
  padding: var(--afb-pad);
}

.afb-addresses-page .afb-panel{
  padding: var(--afb-pad);
}

/* painel edit */
.afb-addresses-page .afb-panel--edit{
  scroll-margin-top: 18px;
}

/* =========================
   TITULOS PREMIUM
========================= */
.afb-addresses-page .afb-panel__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.afb-addresses-page .afb-panel__title{
  margin:0;
  font-family:'Rubik',sans-serif;
  font-weight: 900;
  letter-spacing: .18px;
  color: var(--afb-txt);
  font-size: 18px;
  line-height: 1.15;

  /* anime/comics headline */
  text-shadow:
    0 0 18px rgba(155,107,255,.22),
    0 10px 28px rgba(0,0,0,.45);
}

/* “slash underline” animado no título (hero) */
.afb-addresses-page .afb-panel__title::after{
  content:"";
  display:block;
  width: 92px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--afb-p1), var(--afb-p2), var(--afb-cyan));
  box-shadow: 0 0 18px rgba(155,107,255,.22);
  animation: afbPulseBar 2.6s ease-in-out infinite;
}

/* =========================
   CARD HEADER / BODY
========================= */
.afb-addresses-page .afb-addr-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.afb-addresses-page .afb-addr-card__name{
  font-family:'Rubik',sans-serif;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: .22px;
  color: var(--afb-txt);
}

.afb-addresses-page .afb-addr-card__sub{
  font-size: 13px;
  color: rgba(255,255,255,.78);
  opacity: .78;
  margin-top: 4px;
}

.afb-addresses-page .afb-addr-card__body{
  font-size: 14px;
  line-height: 1.72;
  letter-spacing: .12px;
  color: rgba(255,255,255,.86);
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
}

/* ações */
.afb-addresses-page .afb-addr-card__actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content:flex-end;
}

/* =========================
   FORM GRID (mais respiro)
========================= */
.afb-addresses-page .afb-formgrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 18px;
  margin-top: 18px;
}

@media (max-width: 900px){
  .afb-addresses-page .afb-formgrid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* =========================
   CAMPOS — "ETAPAS" COM EFEITO HERO NO FOCO
========================= */
.afb-addresses-page .afb-field{
  position: relative;
}

.afb-addresses-page .afb-field label{
  display:block;
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .16px;
  text-transform: none;
  color: rgba(255,255,255,.78);
}

/* inputs/select */
.afb-addresses-page .afb-field input,
.afb-addresses-page .afb-field select{
  width:100%;
  height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

/* textarea se tiver */
.afb-addresses-page .afb-field textarea{
  width:100%;
  min-height: 110px;
  padding: 12px 14px;
  border-radius: 14px;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

/* ===== "Etapa hero": focus-within acende a box e cria aura animada ===== */
.afb-addresses-page .afb-field:focus-within label{
  color: rgba(255,255,255,.92);
  text-shadow: 0 0 16px rgba(155,107,255,.22);
}

.afb-addresses-page .afb-field:focus-within input,
.afb-addresses-page .afb-field:focus-within select,
.afb-addresses-page .afb-field:focus-within textarea{
  background: rgba(255,255,255,.06);
  border-color: rgba(155,107,255,.45);
  box-shadow:
    0 0 0 4px rgba(155,107,255,.12),
    0 18px 50px rgba(0,0,0,.55);
  transform: translateY(-1px);
}

/* aura hero animada por campo */
.afb-addresses-page .afb-field::after{
  content:"";
  position:absolute;
  left: 10px;
  right: 10px;
  top: 30px;
  height: 48px;
  border-radius: 14px;
  pointer-events:none;
  opacity:0;
  filter: blur(10px);
  z-index: 0;
  background: linear-gradient(90deg,
    rgba(155,107,255,.00),
    rgba(155,107,255,.18),
    rgba(211,139,255,.14),
    rgba(80,220,255,.10),
    rgba(155,107,255,.00)
  );
}

.afb-addresses-page .afb-field:focus-within::after{
  opacity: 1;
  animation: afbFieldAura 1.15s ease-in-out infinite;
}

/* garante input acima da aura */
.afb-addresses-page .afb-field input,
.afb-addresses-page .afb-field select,
.afb-addresses-page .afb-field textarea{
  position: relative;
  z-index: 1;
}

/* =========================
   CHECKROW + ACTIONS (mais premium)
========================= */
.afb-addresses-page .afb-checkrow{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
}

.afb-addresses-page .afb-actions{
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content:flex-start;
  margin-top: 18px;
}

/* =========================
   "HERO MODE" no painel aberto (não hidden)
   -> borda viva animada tipo anime/comics
========================= */
.afb-addresses-page .afb-panel:not([hidden]){
  border-color: rgba(155,107,255,.28);
  box-shadow: 0 28px 110px rgba(0,0,0,.62);
}

.afb-addresses-page .afb-panel:not([hidden])::before{
  opacity: .75;
  animation: afbHeroGlow 3.6s ease-in-out infinite;
}

/* =========================
   ANIMAÇÕES
========================= */
@keyframes afbHeroSheen{
  0%   { background-position: 0 0, -260px 0; }
  100% { background-position: 0 0,  460px 0; }
}

@keyframes afbPulseBar{
  0%,100% { transform: scaleX(1); opacity:.92; }
  50%     { transform: scaleX(1.12); opacity:1; }
}

@keyframes afbHeroGlow{
  0%,100% { transform: translateY(0); filter: blur(10px); }
  50%     { transform: translateY(-2px); filter: blur(12px); }
}

@keyframes afbFieldAura{
  0%,100% { transform: translateY(0); opacity:.85; }
  50%     { transform: translateY(-1px); opacity:1; }
}

/* =========================
   REDUZ MOVIMENTO (Acessibilidade)
========================= */
@media (prefers-reduced-motion: reduce){
  .afb-addresses-page .afb-addr-card::after,
  .afb-addresses-page .afb-panel::after,
  .afb-addresses-page .afb-panel:not([hidden])::before,
  .afb-addresses-page .afb-panel__title::after,
  .afb-addresses-page .afb-field:focus-within::after{
    animation: none !important;
  }
}

/* =========================
   MOBILE: mais compacto sem perder premium
========================= */
@media (max-width: 600px){
  .afb-addresses-page{ --afb-pad: 18px; --afb-radius: 20px; }

  .afb-addresses-page .afb-panel__title{
    font-size: 17px;
  }

  .afb-addresses-page .afb-actions{
    flex-wrap: wrap;
  }

  .afb-addresses-page .afb-field input,
  .afb-addresses-page .afb-field select{
    height: 46px;
  }
}
/* =========================================================
   AFB ADDRESSES — SELECT DROPDOWN PRETO (PATCH)
   - força esquema dark no popup do select (quando o browser permite)
========================================================= */

body.template-customers-addresses .afb-addresses-page{
  color-scheme: dark;
}

/* o controle fechado */
body.template-customers-addresses .afb-addresses-page select{
  color-scheme: dark;
  background: #0b0b12 !important;
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.14) !important;
}

/* a "tabela" aberta (lista de opções) */
body.template-customers-addresses .afb-addresses-page select option,
body.template-customers-addresses .afb-addresses-page select optgroup{
  background-color: #0b0b12 !important;
  color: rgba(255,255,255,.92) !important;
}

/* item selecionado (alguns browsers respeitam, outros ignoram) */
body.template-customers-addresses .afb-addresses-page select option:checked{
  background-color: #181027 !important;
  color: rgba(255,255,255,.98) !important;
}

/* se você já colou o "OK", mata ele aqui (override) */
body.template-customers-addresses .afb-addresses-page .afb-field.afb-done label::after{
  content: none !important;
  display: none !important;
}
body.template-customers-addresses .afb-addresses-page .afb-field label::before{
  content: none !important;
  display: none !important;
}
body.template-customers-addresses .afb-addresses-page .afb-field::before{
  content: none !important;
  display: none !important;
}


/* ===== FORM (só deixa mais premium e legível) ===== */
.afb-addresses-page .afb-formgrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
}

.afb-addresses-page .afb-field label{
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18px;
  color: rgba(255,255,255,.74);
  margin: 0 0 6px;
}

.afb-addresses-page .afb-field input,
.afb-addresses-page .afb-field select{
  width: 100%;
  box-sizing: border-box;

  border-radius: 14px;
  padding: 12px 12px;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);

  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}

.afb-addresses-page .afb-field input:focus,
.afb-addresses-page .afb-field select:focus{
  border-color: rgba(155,107,255,.40);
  box-shadow: 0 0 0 2px rgba(155,107,255,.18), 0 0 22px rgba(155,107,255,.14);
}

/* checkbox row */
.afb-addresses-page .afb-checkrow{
  margin-top: 14px;
}

.afb-addresses-page .afb-check{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.82);
}

/* actions */
.afb-addresses-page .afb-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

/* ===== PAGINAÇÃO / TOOLBAR ===== */
.afb-addresses-page .toolbar-products.toolbar-bottom{
  background:
    linear-gradient(180deg, rgba(18,18,28,.92), rgba(8,8,14,.92)) !important;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 12px 16px;
  margin-top: 24px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.afb-addresses-page .afb-pager a,
.afb-addresses-page .afb-pager span{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(155,107,255,.28);
  color: #fff !important;
  border-radius: 10px;
  padding: 8px 12px;
  transition: all .2s ease;

  font-size: 13px;
  font-weight: 700;
}

.afb-addresses-page .afb-pager a:hover{
  background: rgba(155,107,255,.18) !important;
  box-shadow: 0 0 24px rgba(155,107,255,.35);
}

/* ===== MOBILE (IPHONE 16 SAFE) ===== */
@media (max-width: 768px){

  .afb-addresses-page .afb-addr{
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
    padding-top: 18px;
  }

  .afb-addresses-page .afb-addr__top{
    padding: 14px 14px;
    gap: 12px;
  }

  .afb-addresses-page .afb-addr__topLeft{
    min-width: 0;
    width: 100%;
  }

  .afb-addresses-page .afb-addr__title{
    font-size: 22px;
  }

  .afb-addresses-page .afb-addr__top .afb-btn--grad{
    width: 100%;
    white-space: normal;
  }

  .afb-addresses-page .afb-addr__grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .afb-addresses-page .afb-addr-card{
    padding: 18px 16px;
  }

  .afb-addresses-page .afb-addr-card__actions{
    width: 100%;
    justify-content: stretch;
  }

  .afb-addresses-page .afb-addr-card__actions .afb-btn{
    width: 100%;
  }

  .afb-addresses-page .afb-formgrid{
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* acessibilidade */
@media (prefers-reduced-motion: reduce){
  .afb-addresses-page .afb-link--back,
  .afb-addresses-page .afb-field input,
  .afb-addresses-page .afb-field select{
    transition: none !important;
  }
}

/* trava o grid item (view + edit dentro do mesmo bloco) */
.afb-addr-item{
  position: relative;
}

/* quando edit abre, deixa espaço bonito */
.afb-addr-item .afb-panel--edit{
  margin-top: 16px;
}
/* ======================================================
   AFB DELETE — BOTÃO VERMELHO PREMIUM (HOVER + ACTIVE iOS)
====================================================== */
.afb-addresses-page .afb-btn--danger{
  -webkit-appearance: none;
  appearance: none;
  border: 0 !important;
  color: #fff !important;

  background: linear-gradient(135deg,
    rgba(255,55,120,.98),
    rgba(255,32,84,.92)
  ) !important;

  box-shadow:
    0 14px 34px rgba(255,55,120,.20),
    0 0 0 1px rgba(255,55,120,.20);

  position: relative;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.afb-addresses-page .afb-btn--danger::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(420px 140px at 30% 10%,
    rgba(255,255,255,.26),
    transparent 60%
  );
  opacity: .55;
  pointer-events:none;
  mix-blend-mode: screen;
  transition: opacity .25s ease;
}

/* hover só onde existe hover de verdade (desktop) */
@media (hover:hover){
  .afb-addresses-page .afb-btn--danger:hover{
    transform: translateY(-1px);
    filter: saturate(1.08);
    box-shadow:
      0 18px 48px rgba(255,55,120,.26),
      0 0 22px rgba(255,55,120,.22);
  }
  .afb-addresses-page .afb-btn--danger:hover::after{ opacity: .85; }
}

/* iOS: feedback de toque */
.afb-addresses-page .afb-btn--danger:active{
  transform: translateY(0);
  filter: saturate(1.05);
  opacity: .96;
}


/* ======================================================
   AFB MODAL CONFIRM — CSS OBRIGATÓRIO (iPhone-safe)
====================================================== */
#afbAddrConfirmModal{
  position: fixed;
  inset: 0;
  z-index: 2147483647;

  display: none;
  align-items: center;
  justify-content: center;

  padding: 18px;
  -webkit-tap-highlight-color: transparent;
}

#afbAddrConfirmModal.is-open{ display: flex; }

#afbAddrConfirmModal .afbM-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#afbAddrConfirmModal .afbM-box{
  position: relative;
  width: min(520px, 92vw);
  border-radius: 22px;
  padding: 16px;
  overflow: hidden;

  background: rgba(12,12,18,.78);
  border: 1px solid rgba(255,255,255,.10);

  box-shadow:
    0 30px 90px rgba(0,0,0,.70),
    0 0 0 1px rgba(155,107,255,.18),
    0 0 60px rgba(155,107,255,.12);

  transform: translateZ(0);
}

#afbAddrConfirmModal .afbM-box::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 22px;
  padding: 1px;
  pointer-events:none;

  background: linear-gradient(135deg,
    rgba(155,107,255,.70),
    rgba(211,139,255,.55),
    rgba(94,58,238,.55)
  );

  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;

  opacity: .38;
}

#afbAddrConfirmModal .afbM-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 10px;
}

#afbAddrConfirmModal .afbM-title{
  margin:0;
  font-family:'Rubik', system-ui, -apple-system, sans-serif;
  font-weight: 950;
  letter-spacing:.2px;
  font-size: 18px;

  background: linear-gradient(135deg,
    rgba(255,255,255,.98),
    rgba(211,139,255,.95),
    rgba(155,107,255,.92)
  );
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
}

#afbAddrConfirmModal .afbM-close{
  border:0;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  width: 38px;
  height: 38px;
  border-radius: 12px;
  cursor:pointer;
  transition: transform .18s ease, background .2s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
#afbAddrConfirmModal .afbM-close:active{ transform: scale(.98); }
@media (hover:hover){
  #afbAddrConfirmModal .afbM-close:hover{
    transform: translateY(-1px);
    background: rgba(155,107,255,.12);
  }
}

#afbAddrConfirmModal .afbM-msg{
  margin: 0 0 12px 0;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  line-height: 1.5;
}

#afbAddrConfirmModal .afbM-row{ margin: 12px 0 14px 0; }

#afbAddrConfirmModal .afbM-check{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  user-select:none;
}
#afbAddrConfirmModal .afbM-check input{
  width: 18px;
  height: 18px;
  accent-color: #9b6bff;
}

#afbAddrConfirmModal .afbM-actions{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

#afbAddrConfirmModal .afbM-btn{
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 900;
  letter-spacing:.15px;
  cursor:pointer;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.90);
  transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, opacity .2s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
#afbAddrConfirmModal .afbM-btn:active{ transform: scale(.99); opacity:.95; }

@media (hover:hover){
  #afbAddrConfirmModal .afbM-btn:hover{
    transform: translateY(-1px);
    border-color: rgba(155,107,255,.30);
    box-shadow: 0 0 18px rgba(155,107,255,.14);
  }
}

#afbAddrConfirmModal .afbM-btn--danger{
  border:0;
  background: linear-gradient(135deg, rgba(255,55,120,.98), rgba(255,32,84,.92));
  color:#fff;
  box-shadow: 0 12px 34px rgba(255,55,120,.18);
}
@media (hover:hover){
  #afbAddrConfirmModal .afbM-btn--danger:hover{
    box-shadow: 0 16px 44px rgba(255,55,120,.24);
    filter: saturate(1.05);
  }
}






/* =========================================================
   AFB — STATUS BADGE + POPOVER (V1.2)  (SEM DUPLICAÇÃO)
   - Badge premium animado
   - Desktop: popover (posicionado via JS: left/top/width)
   - Mobile: bottom-sheet (CSS)
========================================================= */

/* =========================
   BADGE (status clicável)
========================= */
.afb-badge.afb-status-badge{
  --c1: rgba(155,107,255,.85);
  --c2: rgba(211,139,255,.65);
  --dot: rgba(211,139,255,1);

  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 10px 14px;
  border-radius: 999px;

  font-weight: 800;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .2px;
  color: rgba(255,255,255,.92);

  /* borda gradiente real + fundo com glow */
  border: 1px solid transparent;
  background:
    linear-gradient(rgba(14,14,24,.58), rgba(14,14,24,.58)) padding-box,
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.02)) border-box;

  box-shadow:
    0 14px 34px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 0 22px rgba(155,107,255,.10);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;

  transform: translateZ(0);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* dot vivo */
.afb-badge.afb-status-badge::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--dot);
  box-shadow:
    0 0 0 3px rgba(255,255,255,.06),
    0 0 18px color-mix(in srgb, var(--dot) 45%, transparent);
  flex: 0 0 auto;
}

/* sheen passando */
.afb-badge.afb-status-badge::after{
  content:"";
  position:absolute;
  inset:-20% -40%;
  background: radial-gradient(220px 90px at 0% 50%, rgba(255,255,255,.22), transparent 60%);
  transform: translateX(-35%);
  animation: afbStatusSheen 3.8s ease-in-out infinite;
  opacity: .7;
  pointer-events:none;
}

@keyframes afbStatusSheen{
  0%   { transform: translateX(-35%); opacity:.45; }
  45%  { opacity:.85; }
  100% { transform: translateX(35%); opacity:.45; }
}

.afb-badge.afb-status-badge:hover{
  transform: translateY(-1px);
  box-shadow:
    0 18px 44px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 28px rgba(155,107,255,.12);
  filter: saturate(1.05);
}
.afb-badge.afb-status-badge:active{
  transform: translateY(0px) scale(.99);
}

/* foco teclado */
.afb-badge.afb-status-badge:focus-visible{
  outline: none;
  box-shadow:
    0 18px 44px rgba(0,0,0,.45),
    0 0 0 2px rgba(255,255,255,.20),
    0 0 0 6px rgba(155,107,255,.22);
}

/* tons */
.afb-badge.afb-status-badge.afb-badge--green  { --c1: rgba(80,255,170,.85); --c2: rgba(80,255,120,.65); --dot: rgba(80,255,170,1); }
.afb-badge.afb-status-badge.afb-badge--blue   { --c1: rgba(80,170,255,.85); --c2: rgba(120,140,255,.65); --dot: rgba(80,170,255,1); }
.afb-badge.afb-status-badge.afb-badge--purple { --c1: rgba(155,107,255,.90); --c2: rgba(211,139,255,.70); --dot: rgba(211,139,255,1); }
.afb-badge.afb-status-badge.afb-badge--yellow { --c1: rgba(255,210,80,.90);  --c2: rgba(255,170,80,.70);  --dot: rgba(255,210,80,1); }
.afb-badge.afb-status-badge.afb-badge--gold   { --c1: rgba(255,210,80,.95);  --c2: rgba(255,160,40,.70);  --dot: rgba(255,210,80,1); }
.afb-badge.afb-status-badge.afb-badge--red    { --c1: rgba(255,90,120,.90);  --c2: rgba(255,80,80,.70);   --dot: rgba(255,90,120,1); }

/* =========================================================
   FIX VISUAL — STATUS BADGE AMARELO (premium)
   Cole depois das regras de tons (.afb-badge--yellow {...})
========================================================= */

.afb-badge.afb-status-badge.afb-badge--yellow{
  color: rgba(255,255,255,.94);

  border: 1px solid transparent;

  /* fundo com calor + borda dourada */
  background:
    linear-gradient(180deg, rgba(26,22,14,.72), rgba(14,14,24,.52)) padding-box,
    linear-gradient(135deg, rgba(255,236,170,.62), rgba(255,155,35,.38)) border-box;

  box-shadow:
    0 18px 48px rgba(0,0,0,.52),
    0 0 0 1px rgba(255,230,150,.20) inset,
    0 0 34px rgba(255,200,90,.16);

  filter: saturate(1.10);
}

/* sheen mais quente (não branco) */
.afb-badge.afb-status-badge.afb-badge--yellow::after{
  background: radial-gradient(240px 100px at 0% 50%, rgba(255,245,205,.32), transparent 60%);
  opacity: .9;
}

/* dot mais forte */
.afb-badge.afb-status-badge.afb-badge--yellow::before{
  background: rgba(255,210,80,1);
  box-shadow:
    0 0 0 3px rgba(255,255,255,.06),
    0 0 18px rgba(255,210,80,.48),
    0 0 34px rgba(255,210,80,.22);
}

/* hover mais “premium” */
.afb-badge.afb-status-badge.afb-badge--yellow:hover{
  box-shadow:
    0 22px 62px rgba(0,0,0,.60),
    0 0 0 1px rgba(255,236,170,.24) inset,
    0 0 48px rgba(255,200,90,.22);
}


/* pulso atenção */
.afb-badge.afb-status-badge.afb-badge--yellow::before,
.afb-badge.afb-status-badge.afb-badge--gold::before{
  animation: afbDotPulse 1.7s ease-in-out infinite;
}
@keyframes afbDotPulse{
  0%,100% { transform: scale(1);    box-shadow: 0 0 0 3px rgba(255,255,255,.06), 0 0 18px rgba(255,210,80,.35); }
  50%     { transform: scale(1.18); box-shadow: 0 0 0 6px rgba(255,255,255,.08), 0 0 24px rgba(255,210,80,.55); }
}

/* =========================
   POPOVER / SHEET
========================= */
.afb-status-pop{
  position: fixed;
  inset: 0;
  z-index: 999999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.afb-status-pop.is-open{
  opacity: 1;
  pointer-events: auto;
}

.afb-status-pop__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* desktop popover: backdrop invisível mas clicável */
.afb-status-pop[data-mode="popover"] .afb-status-pop__backdrop{
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* IMPORTANT:
   - Seu JS seta left/top/width em PX.
   - Então NÃO usamos translateX(-50%) aqui (senão desloca tudo).
*/
.afb-status-pop__card{
  position: fixed;

  /* fallback (se JS falhar) */
  left: 12px;
  top: 96px;

  width: min(520px, calc(100vw - 24px));
  border-radius: 18px;

  background: rgba(12, 12, 20, .92);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 78px rgba(0,0,0,.60);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  overflow: hidden;

  opacity: 0;
  transform: translateY(8px) scale(.985);
  transition: transform .18s ease, opacity .18s ease;
}
.afb-status-pop.is-open .afb-status-pop__card{
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* setinha (popover) */
.afb-status-pop[data-mode="popover"] .afb-status-pop__card::before{
  content:"";
  position:absolute;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  background: rgba(12, 12, 20, .92);

  border-left: 1px solid rgba(255,255,255,.14);
  border-top: 1px solid rgba(255,255,255,.14);

  left: calc(var(--afb-arrow-x, 50%) - 6px);
  top: -6px;
}
.afb-status-pop[data-mode="popover"] .afb-status-pop__card.is-below::before{
  top: auto;
  bottom: -6px;
  border-left: 0;
  border-top: 0;
  border-right: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.afb-status-pop__top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  background: linear-gradient(135deg, rgba(155,107,255,.16), rgba(211,139,255,.10));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.afb-status-pop__title{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}
.afb-status-pop__close{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.90);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.afb-status-pop__body{
  padding: 12px 14px 14px;
  color: rgba(255,255,255,.86);
  font-size: 13.5px;
  line-height: 1.45;
  white-space: normal;
}
.afb-status-pop__text{ white-space: pre-wrap; }

/* Mobile = sheet (CSS controla) */
@media (max-width: 720px){
  .afb-status-pop__backdrop{ background: rgba(0,0,0,.35); }

  .afb-status-pop__card{
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    top: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;

    width: auto !important;
    border-radius: 20px;

    transform: translateY(10px) scale(.99);
  }
  .afb-status-pop.is-open .afb-status-pop__card{
    transform: translateY(0) scale(1);
  }

  /* sem setinha no sheet */
  .afb-status-pop__card::before{ display:none; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .afb-badge.afb-status-badge,
  .afb-badge.afb-status-badge::after,
  .afb-badge.afb-status-badge::before{
    animation: none !important;
    transition: none !important;
  }
  .afb-status-pop,
  .afb-status-pop__card{
    transition: none !important;
  }
}

/* =========================================================
   ORDER CARD — TOP / BADGES (sem duplicações)
========================================================= */

/* TOP: título + total + abrir */
.afb-order-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.afb-order-card__title{ min-width:0; }

.afb-order-card__meta{
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.afb-order-card__route{
  font-size:12px;
  opacity:.85;
  white-space:nowrap;
}

.afb-order-card__topRight{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  flex:0 0 auto;
}

.afb-order-card__total{
  white-space:nowrap;
}

/* “Abrir” pill */
.afb-pill.afb-pill--open{
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}

/* MID: badges */
.afb-order-card__mid{
  display:flex;
  align-items:center;
  gap:10px;
}

.afb-order-card__badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  flex:1;
  min-width:0;
}

.afb-order-card__badges .afb-badge{
  max-width:100%;
  min-width:0;
}

/* Mobile: 2 badges lado a lado com ellipsis + topRight compacto */
@media (max-width: 720px){
  .afb-order-card__badges{
    display:grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    width:100%;
  }

  .afb-order-card__badges .afb-badge{
    width:100%;
    min-width:0;

    display:flex;
    align-items:center;
    justify-content:center;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:center;
  }

  /* se só existir 1 badge (ex: pagamento expirado), ocupa a linha toda */
  .afb-order-card__badges .afb-badge:only-child{
    grid-column: 1 / -1;
  }

  .afb-order-card__topRight{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }

  .afb-pill.afb-pill--open{
    padding:8px 10px;
  }
}

/* Telas MUITO pequenas: empilha os badges */
@media (max-width: 420px){
  .afb-order-card__badges{
    grid-template-columns: 1fr !important;
  }
}
/* ===== Avada Loading Screen — fullscreen fix (mobile/iOS) ===== */
html, body { height: 100%; }

#Avada-LoadingScreen,
[id*="Avada-LoadingScreen"]{
  position: fixed !important;
  inset: 0 !important;              /* top/right/bottom/left = 0 */
  width: 100vw !important;
  height: 100dvh !important;        /* viewport dinâmico (Safari novo) */
  min-height: 100svh !important;    /* fallback moderno */
  max-height: none !important;
  margin: 0 !important;
  z-index: 2147483647 !important;
}

/* se existir wrapper interno */
#Avada-LoadingScreen > div,
[id*="Avada-LoadingScreen"] > div{
  width: 100% !important;
  height: 100% !important;
}


/* =========================================================
   AFB REGISTER — PREMIUM (V2)
========================================================= */

.afb-register-page{
  position: relative;
  min-height: 100vh;
  background: #070710;
  overflow: hidden;
  isolation: isolate;
}

/* glow fundo */
.afb-register-page::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(1200px 700px at 15% 10%, rgba(155,107,255,.22), transparent 62%),
    radial-gradient(950px 520px at 85% 0%, rgba(211,139,255,.20), transparent 55%),
    radial-gradient(900px 520px at 55% 115%, rgba(155,107,255,.16), transparent 60%),
    #070710;
}

.afb-register-wrap{
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 46px 16px 56px;
}

.afb-register-card{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 22px;

  border-radius: 24px;
  padding: 18px;

  background: rgba(12,12,20,.55);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.afb-register-left{
  border-radius: 20px;
  padding: 22px 22px 18px;
  background: linear-gradient(135deg, rgba(155,107,255,.16), rgba(211,139,255,.08));
  border: 1px solid rgba(255,255,255,.08);
}

.afb-register-title{
  margin: 0;
  font-weight: 1000;
  letter-spacing: -.4px;
  font-size: 34px;
  color: rgba(211,139,255,.95);
}

.afb-register-sub{
  margin: 10px 0 16px;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.80);
  max-width: 520px;
}

.afb-register-perks{
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: grid;
  gap: 10px;
}

.afb-register-perks li{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;

  background: rgba(10,10,18,.35);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
  color: rgba(255,255,255,.86);
  font-weight: 900;
  font-size: 13px;
}

/* ===== suporte (direita) ===== */
.afb-register-support{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.10);

  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}

.afb-register-support__hint{
  color: rgba(255,255,255,.60);
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .2px;
}

/* ===== botão copiar email MINI ===== */
.afb-copy-email{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  border-radius: 999px;
  border: 1px solid transparent;

  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;

  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.afb-copy-email--mini{
  padding: 7px 10px;
  max-width: 280px;

  background:
    linear-gradient(rgba(12,12,20,.58), rgba(12,12,20,.58)) padding-box,
    linear-gradient(135deg, rgba(155,107,255,.34), rgba(211,139,255,.12)) border-box;

  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.06) inset;
}

.afb-copy-email--mini:hover{
  transform: translateY(-1px);
  filter: saturate(1.05);
  box-shadow:
    0 14px 34px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.10) inset;
}
.afb-copy-email--mini:active{ transform: translateY(0) scale(.99); }

.afb-copy-email__text{
  color: rgba(255,255,255,.90);
  font-size: 12.5px;
  font-weight: 1000;
  letter-spacing: .15px;

  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.afb-copy-email__icon{
  color: rgba(255,255,255,.86);
  font-size: 13px;
  line-height: 1;
  opacity: .9;
}

/* estado copiado */
.afb-copy-email.is-copied{
  background:
    linear-gradient(rgba(10,16,14,.55), rgba(10,16,14,.55)) padding-box,
    linear-gradient(135deg, rgba(80,255,170,.50), rgba(255,255,255,.12)) border-box;
}

/* ===== right form ===== */
.afb-register-right{
  border-radius: 20px;
  padding: 22px 22px 20px;

  background: rgba(10,10,18,.30);
  border: 1px solid rgba(255,255,255,.10);
}

.afb-form-head{ margin-bottom: 14px; }
.afb-form-title{
  margin: 0;
  font-size: 16px;
  font-weight: 1000;
  color: rgba(255,255,255,.92);
}
.afb-form-sub{
  margin: 6px 0 0;
  font-size: 13px;
  color: rgba(255,255,255,.65);
}

.afb-fields{
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.afb-label{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;

  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .15px;
  color: rgba(255,255,255,.78);
}

.afb-req{ color: rgba(255,90,120,.95); }

.afb-input{
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border-radius: 12px;

  background: rgba(255,255,255,.96);
  color: #101018;

  border: 1px solid rgba(255,255,255,.12);
  outline: none;

  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}

.afb-input:focus{
  border-color: rgba(155,107,255,.55);
  box-shadow:
    0 0 0 3px rgba(155,107,255,.22),
    0 10px 22px rgba(0,0,0,.28);
}

.afb-input.is-error{
  border-color: rgba(255,90,120,.75);
  box-shadow:
    0 0 0 3px rgba(255,90,120,.18),
    0 10px 22px rgba(0,0,0,.28);
}

.afb-pass{
  position: relative;
}
.afb-pass .afb-input{
  padding-right: 46px;
}
.afb-pass__toggle{
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.78);
  cursor: pointer;
}

.afb-field-hint{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(255,255,255,.60);
}
.afb-field-hint.is-error{
  color: rgba(255,90,120,.92);
  font-weight: 900;
}

/* ===== actions ===== */
.afb-actions{
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.afb-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  height: 46px;
  border-radius: 14px;
  border: 0;
  cursor: pointer;

  font-weight: 1000;
  letter-spacing: .2px;
}

.afb-btn--grad{
  color: rgba(255,255,255,.96);
  background: linear-gradient(135deg, rgba(155,107,255,.95), rgba(211,139,255,.85));
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
.afb-btn--grad:hover{ filter: saturate(1.05); transform: translateY(-1px); }
.afb-btn--grad:active{ transform: translateY(0) scale(.99); }

.afb-actions__alt{
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
}

.afb-link{
  color: rgba(211,139,255,.95);
  font-weight: 1000;
  text-decoration: none;
}
.afb-link:hover{ text-decoration: underline; }

.afb-privacy{
  margin-top: 12px;
  font-size: 12px;
  color: rgba(255,255,255,.55);
}

/* ===== responsivo ===== */
@media (max-width: 920px){
  .afb-register-card{ grid-template-columns: 1fr; }
}

@media (max-width: 720px){
  .afb-register-wrap{ padding: 26px 12px 40px; }
  .afb-register-title{ font-size: 30px; }
  .afb-register-left, .afb-register-right{ padding: 18px; }

  .afb-register-support{
    justify-content: flex-start; /* no mobile fica mais natural */
  }
  .afb-copy-email--mini{
    max-width: 86vw;
  }
  .afb-copy-email__text{
    max-width: 62vw;
  }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .afb-btn, .afb-copy-email{ transition: none !important; }
}
/* =========================================================
   AFB REGISTER — 2 CARDS LIVRES (V3)  (override)
   - remove "caixa sobre caixa"
   - 2 cards flutuando com glow/shine estilo .card
========================================================= */

/* PAI: não é mais card */
.afb-register-card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  padding: 0 !important;
  gap: 22px;
  overflow: visible !important;
}

/* === CARD BASE (esquerda e direita) === */
.afb-register-left,
.afb-register-right{
  position: relative;
  z-index: 0;

  border-radius: 22px;
  padding: 24px;

  /* base escura premium + “manchas” de luz */
  background-color: hsla(240, 15%, 9%, .92);
  background-image:
    radial-gradient(at 88% 40%, rgba(12,12,20,.95) 0px, transparent 70%),
    radial-gradient(at 49% 30%, rgba(12,12,20,.95) 0px, transparent 72%),
    radial-gradient(at 14% 26%, rgba(12,12,20,.95) 0px, transparent 72%),
    radial-gradient(at 0% 64%, rgba(155,107,255,.55) 0px, transparent 62%),
    radial-gradient(at 41% 94%, rgba(211,139,255,.40) 0px, transparent 65%),
    radial-gradient(at 100% 99%, rgba(211,139,255,.30) 0px, transparent 70%);

  /* sombra + luz interna (igual vibe do exemplo) */
  box-shadow:
    0 28px 78px rgba(0,0,0,.62),
    0 -16px 26px rgba(255,255,255,.14) inset;

  border: 1px solid rgba(255,255,255,.08);
}

/* borda gradient “real” (fina e elegante) */
.afb-register-left::after,
.afb-register-right::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.22),
    rgba(255,255,255,.06) 35%,
    rgba(155,107,255,.18) 65%,
    rgba(211,139,255,.10)
  );

  /* só a borda */
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;

  pointer-events:none;
  opacity: .95;
}

/* glow animado MUITO sutil (tipo highlight girando) */
.afb-register-left::before,
.afb-register-right::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  z-index:-1;
  pointer-events:none;

  background: conic-gradient(
    from 180deg,
    transparent 0%,
    rgba(211,139,255,.55) 18%,
    transparent 28%,
    transparent 55%,
    rgba(155,107,255,.45) 72%,
    transparent 82%,
    transparent 100%
  );
  filter: blur(10px);
  opacity: .22;
  animation: afbCardSpin 9s linear infinite;
}

@keyframes afbCardSpin{
  to { transform: rotate(360deg); }
}

/* === FORM: deixa tudo no mesmo “mood” (inputs escuros) === */
.afb-form-title{
  color: rgba(255,255,255,.92);
}
.afb-form-sub{
  color: rgba(255,255,255,.62);
}

.afb-label{
  color: rgba(255,255,255,.78);
}
.afb-input{
  height: 46px;
  border-radius: 14px;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);

  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.afb-input::placeholder{
  color: rgba(255,255,255,.38);
}

.afb-input:focus{
  outline: none;
  border-color: rgba(155,107,255,.55);
  box-shadow:
    0 0 0 3px rgba(155,107,255,.18),
    0 16px 40px rgba(0,0,0,.45);
}

.afb-input.is-error{
  border-color: rgba(255,90,120,.70);
  box-shadow:
    0 0 0 3px rgba(255,90,120,.16),
    0 16px 40px rgba(0,0,0,.45);
}

/* toggle senha (combina com input escuro) */
.afb-pass .afb-input{ padding-right: 54px; }

.afb-pass__toggle{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.90);
}

/* botão grad continua, só dá um “peso” melhor */
.afb-btn--grad{
  box-shadow:
    0 18px 44px rgba(0,0,0,.50),
    0 -10px 26px rgba(255,255,255,.10) inset;
}

/* === Mobile === */
@media (max-width: 920px){
  .afb-register-card{ grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce){
  .afb-register-left::before,
  .afb-register-right::before{
    animation: none !important;
  }
}
/* =========================================================
   AFB REGISTER — HEADERS PREMIUM (V1)
   - Display font só nos títulos
   - Gradiente + glow sutil
   - Melhor hierarquia e espaçamento
========================================================= */

/* Carrega uma display font só pra títulos (opcional e leve) */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap');

/* Variáveis locais pra página */
.afb-register-page{
  --afb-title-font: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --afb-title-grad: linear-gradient(90deg,
    rgba(155,107,255,1),
    rgba(211,139,255,1) 45%,
    rgba(255,255,255,.92) 95%
  );
}

/* Título grande (Criar conta) */
.afb-register-page .afb-register-title{
  font-family: var(--afb-title-font) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  line-height: 1.02;

  /* gradiente no texto */
  background: var(--afb-title-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;

  /* glow premium */
  text-shadow:
    0 8px 26px rgba(155,107,255,.22),
    0 2px 10px rgba(211,139,255,.16);

  margin-bottom: 10px;
}

/* Subtítulo abaixo do H1 */
.afb-register-page .afb-register-sub{
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(255,255,255,.70);
  max-width: 52ch;
  margin-bottom: 16px;
}

/* Head do form (Suas informações pessoais) */
.afb-register-page .afb-form-title{
  font-family: var(--afb-title-font) !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em;
  line-height: 1.15;

  color: rgba(255,255,255,.93);
  margin-bottom: 6px;

  /* leve “borda de luz” */
  text-shadow:
    0 10px 24px rgba(0,0,0,.35),
    0 0 18px rgba(155,107,255,.10);
}

/* Sub do form */
.afb-register-page .afb-form-sub{
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.62);
  margin-bottom: 18px;
}

/* Labels (Primeiro nome, etc.) mais premium */
.afb-register-page .afb-label{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  color: rgba(255,255,255,.78);
  margin-bottom: 8px;
}

/* Asterisco do obrigatório */
.afb-register-page .afb-req{
  color: rgba(211,139,255,.95);
  text-shadow: 0 0 14px rgba(211,139,255,.22);
}

/* Perks (lista da esquerda) mais “carded” sem exagero */
.afb-register-page .afb-register-perks li{
  font-size: 13.5px;
  color: rgba(255,255,255,.78);
  letter-spacing: .01em;
}

/* Responsivo: títulos levemente menores */
@media (max-width: 720px){
  .afb-register-page .afb-register-title{
    font-size: clamp(28px, 7vw, 40px);
  }
  .afb-register-page .afb-form-title{
    font-size: 18px;
  }
}
/* =========================================================
   AFB RESET — ALIAS do REGISTER (sem “register” no HTML)
   - reaproveita o mesmo CSS/visual
========================================================= */

/* Página / fundo */
.afb-reset-page{ all: unset; } /* evita heranças estranhas em alguns temas (opcional) */

:is(.afb-register-page, .afb-reset-page){
  position: relative;
  min-height: 100vh;
  background: #070710;
  overflow: hidden;
  isolation: isolate;
}

:is(.afb-register-page, .afb-reset-page)::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(1200px 700px at 15% 10%, rgba(155,107,255,.22), transparent 62%),
    radial-gradient(950px 520px at 85% 0%, rgba(211,139,255,.20), transparent 55%),
    radial-gradient(900px 520px at 55% 115%, rgba(155,107,255,.16), transparent 60%),
    #070710;
}

/* Wrap */
:is(.afb-register-wrap, .afb-reset-wrap){
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 46px 16px 56px;
}

/* Pai (2 colunas) */
:is(.afb-register-card, .afb-reset-card){
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 22px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Cards livres (esquerda/direita) */
:is(.afb-register-left, .afb-reset-left),
:is(.afb-register-right, .afb-reset-right){
  position: relative;
  z-index: 0;
  border-radius: 22px;
  padding: 24px;

  background-color: hsla(240, 15%, 9%, .92);
  background-image:
    radial-gradient(at 88% 40%, rgba(12,12,20,.95) 0px, transparent 70%),
    radial-gradient(at 49% 30%, rgba(12,12,20,.95) 0px, transparent 72%),
    radial-gradient(at 14% 26%, rgba(12,12,20,.95) 0px, transparent 72%),
    radial-gradient(at 0% 64%, rgba(155,107,255,.55) 0px, transparent 62%),
    radial-gradient(at 41% 94%, rgba(211,139,255,.40) 0px, transparent 65%),
    radial-gradient(at 100% 99%, rgba(211,139,255,.30) 0px, transparent 70%);

  box-shadow:
    0 28px 78px rgba(0,0,0,.62),
    0 -16px 26px rgba(255,255,255,.14) inset;

  border: 1px solid rgba(255,255,255,.08);
}

/* borda fina */
:is(.afb-register-left, .afb-reset-left)::after,
:is(.afb-register-right, .afb-reset-right)::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.22),
    rgba(255,255,255,.06) 35%,
    rgba(155,107,255,.18) 65%,
    rgba(211,139,255,.10)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  opacity: .95;
}

/* highlight girando sutil */
:is(.afb-register-left, .afb-reset-left)::before,
:is(.afb-register-right, .afb-reset-right)::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  z-index:-1;
  pointer-events:none;
  background: conic-gradient(
    from 180deg,
    transparent 0%,
    rgba(211,139,255,.55) 18%,
    transparent 28%,
    transparent 55%,
    rgba(155,107,255,.45) 72%,
    transparent 82%,
    transparent 100%
  );
  filter: blur(10px);
  opacity: .22;
  animation: afbCardSpin 9s linear infinite;
}

@keyframes afbCardSpin{ to { transform: rotate(360deg); } }

/* Título/sub (reset) */
:is(.afb-register-title, .afb-reset-title){
  margin: 0;
  font-weight: 1000;
  letter-spacing: -.4px;
  font-size: 34px;
  color: rgba(211,139,255,.95);
}

:is(.afb-register-sub, .afb-reset-sub){
  margin: 10px 0 16px;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.80);
  max-width: 520px;
}

/* Perks */
:is(.afb-register-perks, .afb-reset-perks){
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: grid;
  gap: 10px;
}

:is(.afb-register-perks li, .afb-reset-perks li){
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(10,10,18,.35);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
  color: rgba(255,255,255,.86);
  font-weight: 900;
  font-size: 13px;
}

/* Suporte */
:is(.afb-register-support, .afb-reset-support){
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}

:is(.afb-register-support__hint, .afb-reset-support__hint){
  color: rgba(255,255,255,.60);
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .2px;
}

/* Form styles já existentes */
.afb-fields{ display:grid; gap:12px; margin-top:10px; }

.afb-label{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .15px;
  color: rgba(255,255,255,.78);
}

.afb-req{ color: rgba(255,90,120,.95); }

.afb-input{
  width: 100%;
  height: 46px;
  padding: 0 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}

.afb-input:focus{
  outline: none;
  border-color: rgba(155,107,255,.55);
  box-shadow: 0 0 0 3px rgba(155,107,255,.18), 0 16px 40px rgba(0,0,0,.45);
}

.afb-input.is-error{
  border-color: rgba(255,90,120,.70);
  box-shadow: 0 0 0 3px rgba(255,90,120,.16), 0 16px 40px rgba(0,0,0,.45);
}

.afb-actions{ margin-top:14px; display:grid; gap:10px; }

.afb-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  border-radius: 14px;
  border: 0;
  cursor: pointer;
  font-weight: 1000;
  letter-spacing: .2px;
}

.afb-btn--grad{
  color: rgba(255,255,255,.96);
  background: linear-gradient(135deg, rgba(155,107,255,.95), rgba(211,139,255,.85));
  box-shadow: 0 18px 44px rgba(0,0,0,.50), 0 -10px 26px rgba(255,255,255,.10) inset;
}

.afb-btn--grad:hover{ filter: saturate(1.05); transform: translateY(-1px); }
.afb-btn--grad:active{ transform: translateY(0) scale(.99); }

/* responsivo */
@media (max-width: 920px){
  :is(.afb-register-card, .afb-reset-card){ grid-template-columns: 1fr; }
  :is(.afb-register-support, .afb-reset-support){ justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce){
  :is(.afb-register-left, .afb-reset-left)::before,
  :is(.afb-register-right, .afb-reset-right)::before{
    animation: none !important;
  }
}



/* ==========================================================
   FIX EMOJI BANDEIRAS — DESKTOP (Windows)
   Garante suporte a 🇯🇵 🇧🇷 🇺🇸 etc
========================================================== */
.afb-emoji{
  font-family:
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol",
    "Noto Color Emoji",
    system-ui,
    sans-serif !important;
}
/* ==========================================================
   FIX FLAGS EMOJI (Windows/Chrome) — força ligaduras
========================================================== */
.afb-route{
  font-weight: 900;
}

.afb-emoji{
  display:inline-block;
  font-family:
    "Segoe UI Emoji",
    "Apple Color Emoji",
    "Noto Color Emoji",
    "Segoe UI Symbol",
    system-ui,
    sans-serif !important;

  /* o pulo do gato: flags dependem de ligadura */
  font-variant-ligatures: normal !important;
  font-feature-settings: "liga" 1, "clig" 1 !important;

  /* evita o tema “quebrar” a composição */
  letter-spacing: 0 !important;
  text-transform: none !important;

  /* não deixa o peso 900 atrapalhar o emoji */
  font-weight: 400 !important;
}



/* ==========================================================
   AFB ORDER — LUXE UI/UX (V3) — FINAL INTEGRADO
   - Outfit (títulos) + Plus Jakarta Sans (texto)
   - Cards: borda gradient sutil + highlight interno
   - FIX: min-width:0 (grid) + box-sizing
   - Mobile: stepper vira carrossel (swipe) + hint MINI transparente
            (some após swipe) + sem fade escuro à esquerda
========================================================== */

/* ====== ESCOPADO (evita tema quebrar) ====== */
.afb-order-page,
.afb-order-page *{
  box-sizing: border-box;
}
.afb-order-page :is(header, main, aside, section, article){
  margin: 0;
  padding: 0;
  max-width: 100%;
}
.afb-order-page :is(.afb-order-wrap, .afb-main, .afb-side){
  min-width: 0; /* CRÍTICO: corrige “fora do esquadro” */
}
.afb-order-page :is(.afb-hero, .afb-card, .afb-statusBox, .afb-tableWrap){
  width: 100%;
  max-width: 100%;
}

/* ==========================================================
   PAGE BASE
========================================================== */
.afb-order-page{
  --bg:#070710;
  --card: rgba(12,12,18,.70);
  --card2: rgba(10,10,16,.62);
  --line: rgba(255,255,255,.10);
  --line2: rgba(255,255,255,.14);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.72);
  --muted2: rgba(255,255,255,.60);

  --p1: rgba(155,107,255,1);
  --p2: rgba(211,139,255,1);
  --p3: rgba(94,58,238,1);

  --g-green: rgba(90,230,150,.90);
  --g-yellow: rgba(240,200,70,.92);
  --g-red: rgba(255,90,110,.92);
  --g-blue: rgba(90,180,255,.92);
  --g-gold: rgba(255,205,120,.95);

  position:relative;
  min-height:100vh;
  padding:28px 16px 48px;
  background: var(--bg);
  color: var(--text);
  font-family:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  isolation:isolate;
  overflow-x:hidden; /* evita vazamento lateral */
}

/* fundo premium (bem leve e estático) */
.afb-order-page::before{
  content:"";
  position:fixed;
  inset:-30vh -20vw;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(820px 520px at 16% 10%, rgba(155,107,255,.18), transparent 60%),
    radial-gradient(760px 520px at 86% 0%, rgba(211,139,255,.14), transparent 55%),
    radial-gradient(760px 520px at 55% 110%, rgba(94,58,238,.12), transparent 55%),
    #070710;
  filter:saturate(1.05);
}

/* grid */
.afb-order-wrap{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.65fr .95fr;
  gap:18px;
}
.afb-order-wrap > *{ min-width:0; } /* CRÍTICO */
@media (max-width: 980px){
  .afb-order-wrap{ grid-template-columns:1fr; gap:14px; }
}

/* ==========================================================
   HERO (TOPBAR)
========================================================== */
.afb-hero{
  grid-column:1 / -1;
  position:relative;
  border-radius:26px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 26px 80px rgba(0,0,0,.55);
  overflow:hidden;
  margin-bottom: 14px;
}
.afb-hero::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(900px 260px at 30% 0%, rgba(155,107,255,.22), transparent 60%),
    radial-gradient(900px 260px at 90% 0%, rgba(211,139,255,.14), transparent 62%),
    radial-gradient(900px 280px at 50% 120%, rgba(94,58,238,.10), transparent 65%);
  pointer-events:none;
}
.afb-hero::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 1px 0 rgba(255,255,255,.10) inset;
}

.afb-hero__inner{
  position:relative;
  z-index:1;
  padding:22px 22px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.afb-hero__inner > *{ min-width:0; } /* evita overflow */
@media (max-width: 720px){
  .afb-hero__inner{ flex-direction:column; align-items:stretch; }
}

.afb-hero__kicker{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(255,255,255,.68);
  margin-bottom:8px;
}
.afb-hero__title{
  margin:0;
  font-family:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:34px;
  line-height:1.02;
  letter-spacing:-0.02em;
  font-weight:900;
}
.afb-hero__title .num{
  background: linear-gradient(90deg, rgba(155,107,255,1), rgba(211,139,255,1));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.afb-hero__meta{
  margin:10px 0 0;
  color: rgba(255,255,255,.78);
  font-size:13.5px;
  line-height:1.55;
}
.afb-hero__meta strong{ color: rgba(255,255,255,.92); font-weight:800; }

.afb-hero__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding-top:8px;
}
@media (max-width: 720px){
  .afb-hero__actions{ justify-content:flex-start; }
}
/* META mais espaçada (Realizado / Rota) */
.afb-hero__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

/* separador com respiro */
.afb-hero__meta .afb-sep{
  opacity:.55;
  padding:0 2px;
}

/* botões premium */
.afb-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  text-decoration:none;
  background: rgba(255,255,255,.06);
  padding:11px 14px;
  border-radius:16px;
  font-weight:800;
  font-size:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  -webkit-text-fill-color: currentColor;
}
.afb-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.09);
  box-shadow: 0 16px 44px rgba(0,0,0,.40);
}
.afb-btn--primary{
  border-color: rgba(155,107,255,.40);
  background: linear-gradient(135deg, rgba(94,58,238,.95), rgba(197,107,240,.92));
  box-shadow: inset 0 -2px 20px rgba(255,255,255,.18);
}
.afb-btn--primary:hover{
  box-shadow: 0 20px 60px rgba(155,107,255,.22), inset 0 -2px 20px rgba(255,255,255,.18);
}

/* ==========================================================
   CARD
========================================================== */
.afb-card{
  position:relative;
  background: var(--card);
  border-radius:22px;
  box-shadow: 0 22px 70px rgba(0,0,0,.52);
  overflow:hidden;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.afb-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  padding:1px;
  background: linear-gradient(135deg,
    rgba(255,255,255,.18),
    rgba(155,107,255,.28),
    rgba(211,139,255,.18),
    rgba(255,255,255,.08)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity:.75;
}
.afb-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow: 0 1px 0 rgba(255,255,255,.10) inset;
  opacity:.9;
}

/* ==========================================================
   AFB CARD HEAD — PREMIUM (glass + shimmer sutil)
========================================================== */
.afb-card__head{
  position:relative;
  padding:18px 18px 16px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(700px 220px at 18% 0%, rgba(155,107,255,.14), transparent 60%),
    radial-gradient(640px 220px at 92% 0%, rgba(90,180,255,.10), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  overflow:hidden;
}

/* brilho “sheen” bem leve */
.afb-card__head::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(255,255,255,.06) 22%,
      transparent 48%,
      rgba(155,107,255,.05) 62%,
      transparent 85%
    );
  background-size: 220% 100%;
  opacity:.7;
  animation: afbHeadShimmer 5.2s ease-in-out infinite;
}

/* linha glow inferior (premium, sem exagero) */
.afb-card__head::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:1px;
  pointer-events:none;
  background: linear-gradient(90deg,
    transparent,
    rgba(155,107,255,.30),
    rgba(90,180,255,.22),
    transparent
  );
  opacity:.9;
}

/* shimmer keyframes (estava sendo usado) */
@keyframes afbHeadShimmer{
  0%{ background-position: 0% 0%; opacity:.55; }
  50%{ background-position: 100% 0%; opacity:.75; }
  100%{ background-position: 0% 0%; opacity:.55; }
}

/* EYEBROW mais “brand” */
.afb-eyebrow{
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color: rgba(255,255,255,.64);
  margin:0 0 6px 0;
  display:flex;
  align-items:center;
  gap:10px;
}
.afb-eyebrow::before{
  content:"";
  width:8px; height:8px;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(197,107,240,1), rgba(94,58,238,1));
  box-shadow: 0 0 16px rgba(155,107,255,.18);
  flex:0 0 auto;
  opacity:.95;
}

.afb-card__head h2{
  margin:0;
  font-family:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:18px;
  line-height:1.12;
  letter-spacing:-0.02em;
  font-weight:950;
  color: rgba(255,255,255,.94);
  text-shadow:
    0 1px 0 rgba(0,0,0,.35),
    0 14px 34px rgba(0,0,0,.38);
}
.afb-card__head h2::before{
  content:none !important;
  display:none !important;
}
.afb-card__head .sub{
  margin:6px 0 0;
  font-size:13.5px;
  line-height:1.55;
  color: rgba(255,255,255,.76);
  max-width: 68ch;
}

.afb-headrow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.afb-headrow > *{ min-width:0; }
.afb-headrow .left{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.afb-headrow .right{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-start;
}

.afb-pill{
  font-size:12.5px;
  padding:8px 11px;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  white-space:nowrap;
  box-shadow: 0 1px 0 rgba(255,255,255,.08) inset;
}
.afb-pill--green{ border-color: rgba(90,230,150,.28); background: rgba(90,230,150,.10); }
.afb-pill--yellow{ border-color: rgba(240,200,70,.26); background: rgba(240,200,70,.10); }
.afb-pill--red{ border-color: rgba(255,90,110,.26); background: rgba(255,90,110,.10); }
.afb-pill--blue{ border-color: rgba(90,180,255,.26); background: rgba(90,180,255,.10); }
.afb-pill--purple{ border-color: rgba(155,107,255,.28); background: rgba(155,107,255,.10); }
.afb-pill--gold{ border-color: rgba(255,205,120,.30); background: rgba(255,205,120,.10); }

.afb-card__body{
  padding:16px;
  position:relative;
  z-index:1;
}
.afb-mini{ font-size:13px; line-height:1.55; color: rgba(255,255,255,.74); }
.afb-strong{ font-weight:900; }

/* STATUS BOX */
.afb-statusBox{
  padding:14px;
  border-radius:18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
}
.afb-statusBox strong{
  display:block;
  font-family:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:14.5px;
  font-weight:900;
  margin-bottom:8px;
}
.afb-statusBox p{
  margin:0;
  color: rgba(255,255,255,.78);
  font-size:13.5px;
  line-height:1.6;
}

/* ==========================================================
   STEPPER (DOCK FORA DA CAIXA) — DESKTOP GRID
========================================================== */
.afb-order-page .afb-stepsDock{
  margin-top: 12px;
  position: relative;
  border-radius: 20px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.16));
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  overflow: hidden;
}

/* glow do dock (já vem reduzido = fix integrado) */
.afb-order-page .afb-stepsDock::before{
  content:"";
  position:absolute;
  inset:-20px -10px; /* menor espalhamento */
  pointer-events:none;
  background:
    radial-gradient(520px 220px at 18% 10%, rgba(155,107,255,.16), transparent 65%),
    radial-gradient(520px 220px at 88% 0%, rgba(90,180,255,.12), transparent 62%),
    radial-gradient(520px 240px at 60% 120%, rgba(90,230,150,.10), transparent 66%);
  opacity:.45; /* antes ~.85 */
}

/* ::after reservado (mobile usa como fade direito) */
.afb-order-page .afb-stepsDock::after{
  content:none;
}

/* steps grid */
.afb-order-page .afb-steps{
  position: relative;
  z-index: 1;
  margin-top: 0 !important;
  display:grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap:10px;
}

/* ==========================================================
   CORES POR ETAPA (RGB separado para alpha)
========================================================== */
.afb-order-page .afb-step{ --c: 155,107,255; }              /* default */
.afb-order-page .afb-step:nth-child(1){ --c: 155,107,255; } /* roxo */
.afb-order-page .afb-step:nth-child(2){ --c: 90,180,255; }  /* azul */
.afb-order-page .afb-step:nth-child(3){ --c: 120,210,255; } /* azul suave */
.afb-order-page .afb-step:nth-child(4){ --c: 90,230,150; }  /* verde */
.afb-order-page .afb-step:nth-child(5){ --c: 90,200,255; }  /* azul claro */
.afb-order-page .afb-step:nth-child(6){ --c: 211,139,255; } /* lilás */

/* ==========================================================
   STEP — BASE (com glow reduzido já integrado)
========================================================== */
.afb-order-page .afb-step{
  position: relative;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);

  /* sombra mais leve (fix integrado) */
  box-shadow: 0 1px 0 rgba(255,255,255,.05) inset;

  overflow: hidden;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}
.afb-order-page .afb-step:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.18);
  background: rgba(0,0,0,.22);
}

/* glow de fundo leve (reduzido) */
.afb-order-page .afb-step::before{
  content:"";
  position:absolute;
  inset:-40px;
  pointer-events:none;
  background:
    radial-gradient(260px 140px at 25% 35%, rgba(var(--c), .14), transparent 65%),
    radial-gradient(220px 120px at 85% 15%, rgba(var(--c), .08), transparent 70%);
  opacity:.55; /* antes ~.9 */
}

/* linha superior sutil (reduzida) */
.afb-order-page .afb-step::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:10px;
  height:2px;
  border-radius:999px;
  background: linear-gradient(90deg, transparent, rgba(var(--c), .55), transparent);
  opacity:.18; /* antes ~.30 */
}

/* textos */
.afb-order-page .afb-step .k{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color: rgba(255,255,255,.66);
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:1;
}
.afb-order-page .afb-step .t{
  margin-top:8px;
  font-family:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:-0.01em;
  position:relative;
  z-index:1;
}

/* dot base */
.afb-order-page .afb-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: rgba(var(--c), .55);
  box-shadow: 0 0 0 7px rgba(var(--c), .12);
  flex:0 0 auto;
  position:relative;
}

/* ==========================================================
   STEP — DONE
========================================================== */
.afb-order-page .afb-step.is-done{
  border-color: rgba(var(--c), .22);
}
.afb-order-page .afb-step.is-done .afb-dot{
  background: rgba(var(--c), .92);
  box-shadow: 0 0 0 8px rgba(var(--c), .18);
}
.afb-order-page .afb-step.is-done::after{
  opacity:.42;
}

/* ==========================================================
   STEP — NOW (LED PREMIUM + PULSO DE LUZ REAL)
========================================================== */
.afb-order-page .afb-step.is-now{
  border-color: rgba(var(--c), .82);
  background: linear-gradient(135deg,
    rgba(var(--c), .28),
    rgba(0,0,0,.18)
  );
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 0 0 1px rgba(var(--c), .22),
    0 18px 56px rgba(var(--c), .26),
    0 26px 88px rgba(var(--c), .38),
    0 22px 64px rgba(0,0,0,.36);
  transform: translateY(-1px);
  animation: afbLightPulse 1.2s ease-in-out infinite;
  will-change: box-shadow, border-color, background;
}
.afb-order-page .afb-step.is-now::after{
  height:3px;
  opacity:.95;
}
.afb-order-page .afb-step.is-now .afb-dot{
  background: radial-gradient(circle at 35% 35%,
    rgba(255,255,255,.6),
    rgba(var(--c), 1) 45%,
    rgba(var(--c), .9) 100%
  );
  box-shadow:
    0 0 10px rgba(var(--c), 1),
    0 0 26px rgba(var(--c), .55);
  animation: afbLedPulse 3.2s ease-in-out infinite;
}
.afb-order-page .afb-step.is-now .afb-dot::after{
  content:"";
  position:absolute;
  width:4px;
  height:4px;
  top:2px;
  left:2px;
  border-radius:999px;
  background: rgba(255,255,255,.85);
  opacity:.9;
  pointer-events:none;
}

/* ==========================================================
   ANIMAÇÕES — LUZ (NÃO TAMANHO)
========================================================== */
@keyframes afbLightPulse{
  0%,100%{
    border-color: rgba(var(--c), .62);
    box-shadow:
      0 1px 0 rgba(255,255,255,.16) inset,
      0 0 0 1px rgba(var(--c), .18),
      0 16px 48px rgba(var(--c), .22),
      0 20px 64px rgba(var(--c), .32),
      0 22px 64px rgba(0,0,0,.36);
  }
  50%{
    border-color: rgba(var(--c), .95);
    box-shadow:
      0 1px 0 rgba(255,255,255,.24) inset,
      0 0 0 1px rgba(var(--c), .30),
      0 24px 72px rgba(var(--c), .40),
      0 30px 110px rgba(var(--c), .55),
      0 22px 64px rgba(0,0,0,.38);
  }
}
@keyframes afbLedPulse{
  0%,100%{
    box-shadow:
      0 0 10px rgba(var(--c), .85),
      0 0 24px rgba(var(--c), .45);
  }
  50%{
    box-shadow:
      0 0 16px rgba(var(--c), 1),
      0 0 36px rgba(var(--c), .75);
  }
}

/* ==========================================================
   ACESSIBILIDADE
========================================================== */
@media (prefers-reduced-motion: reduce){
  .afb-order-page .afb-step.is-now,
  .afb-order-page .afb-step.is-now .afb-dot,
  .afb-card__head::before{
    animation: none !important;
  }
}

/* hint — desktop escondido */
.afb-order-page .afb-swipeHint{
  display:none !important;
}
/* ==========================================================
   FIX MOBILE — GLOW/“HOVER” ROXO RETANGULAR + VAZANDO
   Causa: shadow do .is-now recortado pelo overflow/mask no mobile
   Solução: dock permite shadow + remove mask recortando + shadow mais justo
========================================================== */
@media (max-width: 860px){

  /* 1) NÃO recortar o glow do step (isso é o que cria o “retângulo”) */
  .afb-order-page .afb-stepsDock{
    overflow: visible !important; /* antes: hidden */
  }

  /* 2) Remove máscara no carrossel (ela corta sombra e deixa borda reta) */
  .afb-order-page .afb-steps{
    -webkit-mask-image: none !important;
            mask-image: none !important;
  }

  /* 3) Mantém tudo “bem em volta da caixa” (shadow mais controlado no mobile) */
  .afb-order-page .afb-step.is-now{
    box-shadow:
      0 1px 0 rgba(255,255,255,.18) inset,
      0 0 0 1px rgba(var(--c), .26),
      0 12px 32px rgba(var(--c), .18),
      0 18px 54px rgba(0,0,0,.38) !important;
  }

  /* 4) Glow interno continua premium, mas sem estourar */
  .afb-order-page .afb-step.is-now::before{
    opacity: .42 !important;
  }

  /* 5) Z-index seguro: o step atual fica acima do “fundo”, sem borrar os outros */
  .afb-order-page .afb-step{ position: relative; z-index: 0; }
  .afb-order-page .afb-step.is-now{ z-index: 1; }
}
/* ==========================================================
   MOBILE — REATIVAR PISCO “LED” DO STEP ATUAL
   (sem voltar recorte/retângulo)
========================================================== */
@media (max-width: 860px){

  /* garante que o STEP atual pulsa (se quiser só a bolinha, pode remover este) */
  .afb-order-page .afb-step.is-now{
    animation: afbLightPulse 3.2s ease-in-out infinite !important;
  }

  /* garante que a BOLINHA pulsa */
  .afb-order-page .afb-step.is-now .afb-dot{
    animation: afbLedPulse 3.2s ease-in-out infinite !important;
  }

  /* em alguns temas, pseudo-elemento pode “sumir”; reforça */
  .afb-order-page .afb-step.is-now .afb-dot::after{
    opacity: .9 !important;
  }
}
/* ==========================================================
   MOBILE — FORÇAR PISCO SÓ NA ETAPA ATUAL (is-now)
   (cola no FINAL do CSS)
========================================================== */
@media (max-width: 860px){

  /* mantém o seu fix do recorte */
  .afb-order-page .afb-stepsDock{ overflow: visible !important; }
  .afb-order-page .afb-steps{
    -webkit-mask-image: none !important;
            mask-image: none !important;
  }

  /* 1) step atual pulsa (opcional — pode remover se quiser só a bolinha) */
  .afb-order-page .afb-step.is-now{
    animation: afbLightPulse 3.2s ease-in-out infinite !important;
  }

  /* 2) bolinha LED — pulso VISÍVEL (garantido) */
  .afb-order-page .afb-step.is-now .afb-dot{
    position:relative;
    animation: afbLedPulse 1.25s ease-in-out infinite !important;
  }

  /* halo “respirando” ao redor da bolinha (bem premium) */
  .afb-order-page .afb-step.is-now .afb-dot::before{
    content:"";
    position:absolute;
    inset:-10px;                /* tamanho do halo */
    border-radius:999px;
    background: radial-gradient(circle, rgba(var(--c), .55), transparent 62%);
    filter: blur(2px);
    opacity:.20;
    transform: scale(.85);
    animation: afbDotBreath 1.25s ease-in-out infinite !important;
    pointer-events:none;
  }

  /* keyframe do halo (só luz, nada “gamer”) */
  @keyframes afbDotBreath{
    0%,100%{ opacity:.18; transform: scale(.85); }
    50%    { opacity:.55; transform: scale(1.05); }
  }
}

/* ==========================================================
   TABLE
========================================================== */
.afb-tableWrap{
  overflow-x:auto;
  overflow-y:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  -webkit-overflow-scrolling: touch;

  scrollbar-width: thin;
  scrollbar-color: rgba(155,107,255,.18) transparent;
}
.afb-tableWrap::-webkit-scrollbar{ height: 6px; }
.afb-tableWrap::-webkit-scrollbar-track{ background: transparent; }
.afb-tableWrap::-webkit-scrollbar-thumb{
  background: rgba(155,107,255,.18);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.afb-tableWrap::-webkit-scrollbar-thumb:hover{
  background: rgba(155,107,255,.28);
}

.afb-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width: 760px;
}
.afb-table th, .afb-table td{
  padding:12px;
  font-size:13.5px;
  border-bottom:1px solid rgba(255,255,255,.07);
  vertical-align:middle;
}
.afb-table th{
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(255,255,255,.62);
  background: rgba(255,255,255,.03);
}
.afb-table tr:last-child td{ border-bottom:none; }
.afb-table a{ color:#fff; text-decoration:none; border-bottom:1px dotted rgba(255,255,255,.22); }
.afb-table a:hover{ border-bottom-color: rgba(255,255,255,.55); }

/* SUMMARY */
.afb-summaryRows{
  margin-top:12px;
  display:grid;
  gap:10px;
}
.afb-sumrow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  font-size:13.5px;
  color: rgba(255,255,255,.88);
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
}
.afb-sumrow strong{
  font-family:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight:900;
}

/* KV */
.afb-kv{
  display:grid;
  gap:12px;
}
.afb-kv .box{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
}
body.template-customers-account .afb-kv .box h3,
.afb-kv .box h3{
  margin:0 0 10px;
  font-family:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:13px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(255,255,255,.90);
  text-shadow:
    0 1px 0 rgba(0,0,0,.35),
    0 10px 26px rgba(0,0,0,.28),
    0 0 18px rgba(155,107,255,.18),
    0 0 26px rgba(90,180,255,.12);
  display:flex;
  align-items:center;
  gap:10px;
}
body.template-customers-account .afb-kv .box h3::before,
.afb-kv .box h3::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(197,107,240,1), rgba(94,58,238,1));
  box-shadow:
    0 0 0 6px rgba(155,107,255,.10),
    0 0 18px rgba(155,107,255,.16);
  flex:0 0 auto;
  opacity:.95;
}
body.template-customers-account .afb-kv .box h3::after,
.afb-kv .box h3::after{
  content:"";
  height:1px;
  flex:1 1 auto;
  background: linear-gradient(90deg,
    rgba(155,107,255,.35),
    rgba(90,180,255,.22),
    transparent
  );
  opacity:.55;
  transform: translateY(1px);
}
.afb-kv .box p{
  margin:0;
  color: rgba(255,255,255,.76);
  font-size:13.5px;
  line-height:1.6;
}

.afb-actions{ display:grid; gap:10px; margin-top:10px; }
.afb-copy{ cursor:pointer; }

/* TOAST */
.afb-toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background: rgba(8,8,12,.78);
  border:1px solid rgba(255,255,255,.14);
  padding:10px 12px;
  border-radius:14px;
  color:#fff;
  font-size:13px;
  z-index:9999;
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity:0;
  pointer-events:none;
  transition: opacity .16s ease, transform .16s ease;
}
.afb-toast.is-on{
  opacity:1;
  transform:translateX(-50%) translateY(-2px);
}

/* selection premium */
.afb-order-page ::selection{
  background: rgba(155,107,255,.32);
  color:#fff;
}
.afb-order-page ::-moz-selection{
  background: rgba(155,107,255,.32);
  color:#fff;
}

/* ==========================================================
   MOBILE REAL (<= 860px)
   - HERO ações: grid 2 colunas
   - HEAD: coluna + pills com scroll
   - STEPPER: carrossel + hint MINI sobreposto (some após swipe)
   - Sem sombra escura à esquerda + saída suave
========================================================== */
@media (max-width: 860px){

  .afb-order-page{ padding: 18px 12px 26px; }

  .afb-hero{ border-radius: 20px; }
  .afb-hero__inner{ padding: 16px; }

  .afb-hero__title{
    font-size:26px;
    line-height:1.12;
    letter-spacing:-0.03em;
  }
  .afb-hero__meta{ font-size:13px; line-height:1.55; }

  .afb-hero__actions{
    width: 100%;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:10px;
    justify-content: stretch;
  }
  .afb-hero__actions > *{
    width:100%;
    justify-content:center;
  }

  .afb-card{ border-radius: 18px; }
  .afb-card__head{ padding: 14px; }
  .afb-card__body{ padding: 14px; }

  .afb-headrow{
    flex-direction: column;
    align-items:flex-start;
    gap:10px;
  }

  /* pills/badges scroll suave */
  .afb-headrow .right{
    width: 100%;
    flex-wrap: nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .afb-headrow .right::-webkit-scrollbar{ height:0; }
  .afb-headrow .right .afb-pill{ flex:0 0 auto; }

  /* tabela menor */
  .afb-table{ min-width: 680px; }

  /* --- DESLIGA glow grande do dock no mobile (evita “roxo”/peso à esquerda) --- */
  .afb-order-page .afb-stepsDock::before{
    content:none !important;
  }

  /* --- cria só um fade DIREITO (indica carrossel sem escurecer a esquerda) --- */
  .afb-order-page .afb-stepsDock::after{
    content:"" !important;
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width: 28px;
    pointer-events:none;
    background: linear-gradient(270deg, rgba(7,7,16,.70), rgba(7,7,16,0));
    z-index: 2;
  }

  /* STEPPER: vira carrossel */
  .afb-order-page .afb-steps{
    position: relative;
    z-index: 1;

    display:flex !important;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;

    gap:10px;
    padding: 4px 2px 10px;
    padding-right: 18px !important; /* espaço pro hint */
    margin: 0 !important;

    scrollbar-width:none;
    min-width: 0;
  }
  .afb-order-page .afb-steps::-webkit-scrollbar{ height:0; }

  /* saída suave ESQ + mantém indicativo na DIR (sem sombra escura / sem corte quadrado) */
  .afb-order-page .afb-steps{
    padding-left: 6px !important;
    scroll-padding-left: 6px;

    -webkit-mask-image: linear-gradient(90deg,
      transparent 0px,
      #000 14px,
      #000 calc(100% - 34px),
      transparent 100%);
            mask-image: linear-gradient(90deg,
      transparent 0px,
      #000 14px,
      #000 calc(100% - 34px),
      transparent 100%) !important;
  }

  /* cards do carrossel com peek */
  .afb-order-page .afb-step{
    flex: 0 0 auto;
    width: min(74vw, 270px);
    min-width: 230px;
    scroll-snap-align: start;
  }

  /* ==========================================================
     SWIPE HINT — MINI + TRANSPARENTE + SOME APÓS SWIPE (FINAL)
  ========================================================== */
  .afb-order-page .afb-swipeHint{
    position:absolute !important;
    right: 12px;
    bottom: 12px;
    z-index: 5;

    display:inline-flex !important;
    align-items:center;
    gap:8px;

    padding: 6px 9px;
    border-radius: 999px;

    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 10px 26px rgba(0,0,0,.25);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    opacity: .68;
    transform: translateY(0);
    transition: opacity .22s ease, transform .22s ease;

    pointer-events:none;
    animation: none !important;
  }

  .afb-order-page .afb-swipeHint span{
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.92);
  }

  .afb-order-page .afb-swipeHint .chev{
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(255,255,255,.82);
    border-top: 2px solid rgba(255,255,255,.82);
    transform: rotate(45deg);
    opacity: .85;
  }

  /* estado “desligado” após swipe */
  .afb-order-page .afb-stepsDock.afb-hint-off .afb-swipeHint{
    opacity: 0 !important;
    transform: translateY(4px) !important;
  }
  .afb-order-page .afb-stepsDock.afb-hint-off .afb-swipeHint{
    display:none !important;
  }
}

/* mobile bem pequeno: botões em coluna + cards mais largos */
@media (max-width: 420px){
  .afb-hero__actions{ grid-template-columns: 1fr; }
  .afb-order-page .afb-step{ width: 82vw; min-width: 0; }
}

/* reduced motion (geral) */
@media (prefers-reduced-motion: reduce){
  .afb-btn, .afb-step, .afb-toast{
    transition:none !important;
  }
  .afb-order-page .afb-step.is-now,
  .afb-order-page .afb-step.is-now .afb-dot,
  .afb-card__head::before{
    animation: none !important;
  }
}
/* ======================================================
   AFB — MINI CARRIER BADGE (ULTRA DISCRETO)
====================================================== */

.afb-step--carrier{
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 4px;
}

.afb-carrierMini{
  display:flex;
  align-items:center;
  gap:6px;

  padding:4px 6px;
  border-radius:999px;

  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  opacity:.75;
}

.afb-carrierMini img{
  height:14px;
  width:auto;
  display:block;

  image-rendering: auto;
  filter:none;
}

/* Hover sutil */
.afb-steps:hover .afb-carrierMini{
  opacity:.95;
}

/* Mobile */
@media (max-width: 720px){
  .afb-carrierMini img{
    height:13px;
  }
}



/* ======================================================
   AFB MICRO-ROUTE — ULTIMATE (FIX WHITE BAR + BR SAFE)
   ✅ Trilho aceso via ::after
   ✅ 🚚 → ✈️ com glow e blur sutil (sem usar outro pseudo)
   ✅ BR nunca some (z-index e proteção)
====================================================== */

/* RESET TOTAL (pra não competir) */
.afb-order-page .afb-step--transit::before,
.afb-order-page .afb-step--transit::after{
  content:none !important;
  animation:none !important;
  opacity:0 !important;
}

/* BASE */
.afb-order-page .afb-step{ position:relative; }
.afb-order-page .afb-step--transit{
  position:relative;
  overflow:hidden;
}

/* MICRO ROUTE */
.afb-order-page .afb-step--transit .afb-microRoute{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:22px;
  margin-top:8px;
  isolation:isolate;
  overflow:visible;

  /* trilho base (pontilhado) */
  background-image:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.22) 0,
      rgba(255,255,255,.22) 6px,
      transparent 6px,
      transparent 12px
    );
  background-size: calc(100% - 16px) 1px;
  background-position: center 11px;
  background-repeat:no-repeat;
}

/* TRILHO ATIVO (PROGRESSO) — ÚNICO ::after (não reuse pra blur) */
.afb-order-page .afb-step--transit .afb-microRoute::after{
  content:"";
  position:absolute;
  left:8px;
  top:11px;
  height:1px;
  width:0%;
  background: linear-gradient(90deg, rgba(155,107,255,.85), rgba(211,139,255,.95));
  box-shadow:
    0 0 6px rgba(155,107,255,.6),
    0 0 12px rgba(155,107,255,.35);
  opacity:.85;
  z-index:1;
  pointer-events:none;
  will-change:width;
}

/* FLAGS (garante BR acima de tudo) */
.afb-order-page .afb-step--transit .mr-node{
  width:14px;
  height:14px;
  min-width:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  font-size:0;
  z-index:30; /* <<< acima do mover e trilho */
  position:relative;
}

.afb-order-page .afb-step--transit .mr-node::before{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:9px;
  line-height:1;
}

/* JP / US / BR */
.afb-order-page .afb-step--transit[data-afb-route="japan"]   .mr-from::before{content:"🇯🇵";}
.afb-order-page .afb-step--transit[data-afb-route="america"] .mr-from::before{content:"🇺🇸";}
.afb-order-page .afb-step--transit .mr-to::before{content:"🇧🇷";}

/* Compacto */
.afb-order-page .afb-step--transit .mr-mid,
.afb-order-page .afb-step--transit .mr-carrier{
  display:none !important;
}

/* MOVER ÚNICO (emoji) */
.afb-order-page .afb-step--transit .afb-microRoute::before{
  content:"🚚";
  position:absolute;
  top:11px;
  left:8px;
  transform:translateX(-50%) scale(.85);
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:12px;
  line-height:1;
  opacity:0;
  z-index:20; /* abaixo das flags (30), acima do trilho (1) */
  pointer-events:none;
  will-change:left, opacity, transform, filter;
}

/* fallback SVG (caso emoji falhe) */
@supports not (font-family:"Apple Color Emoji"){
  .afb-order-page .afb-step--transit .afb-microRoute::before{
    content:"";
    width:14px;
    height:14px;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M2 12l20-6-6 20-2-8z'/%3E%3C/svg%3E")
      center/contain no-repeat;
  }
}

/* VELOCIDADE POR STATUS */
.afb-order-page .afb-step--transit.is-now{ --afb-dur: 3.4s; }
.afb-order-page .afb-step--transit.is-logistics{ --afb-dur: 4.2s; }
.afb-order-page .afb-step--transit.is-flight{ --afb-dur: 2.6s; }
.afb-order-page .afb-step--transit.is-arrival{ --afb-dur: 1.9s; }

/* ANIMAÇÕES */
.afb-order-page .afb-step--transit.is-now .afb-microRoute::before{
  animation: afbTruckPlane var(--afb-dur) ease-in-out infinite;
}
.afb-order-page .afb-step--transit.is-now .afb-microRoute::after{
  animation: afbTrackProgress var(--afb-dur) linear infinite;
}

/* KEYFRAMES — 🚚 → ✈️
   (blur/rastro do avião feito via FILTER + TEXT-SHADOW, sem outro pseudo) */
@keyframes afbTruckPlane{
  0%{
    left:8px;
    opacity:0;
    transform:translateX(-50%) scale(.8);
    content:"🚚";
    filter:none;
    text-shadow:none;
  }

  15%{ opacity:1; }

  45%{
    left:50%;
    opacity:1;
    content:"🚚";
    filter:none;
    text-shadow:none;
  }

  /* transformação */
  50%{
    left:50%;
    opacity:1;
    transform:translateX(-50%) scale(.7);
    content:"✈️";
    /* glow + motion blur sutil */
    filter:
      drop-shadow(0 0 4px rgba(155,107,255,.65))
      drop-shadow(0 0 10px rgba(155,107,255,.40))
      blur(.18px);
    /* “rastro” bem leve (funciona em emoji) */
    text-shadow:
      -2px 0 0 rgba(155,107,255,.18),
      -4px 0 0 rgba(155,107,255,.10);
  }

  60%{
    transform:translateX(-50%) scale(1);
  }

  100%{
    left:calc(100% - 8px);
    opacity:0;
    content:"✈️";
    filter:
      drop-shadow(0 0 4px rgba(155,107,255,.45))
      blur(.12px);
    text-shadow:
      -2px 0 0 rgba(155,107,255,.10);
  }
}

/* TRILHO PROGRESSIVO */
@keyframes afbTrackProgress{
  0%{ width:0%; }
  45%{ width:50%; }
  100%{ width:100%; }
}

/* DESKTOP DOCK */
@media (min-width:980px){
  .afb-order-page .afb-step--transit{
    padding-bottom:26px;
  }
  .afb-order-page .afb-step--transit .afb-microRoute{
    position:absolute;
    left:6px;
    right:6px;
    bottom:6px;
    margin-top:0;
  }
}

/* MOBILE */
@media (max-width:979px){
  .afb-order-page .afb-step--transit .afb-microRoute{
    position:relative;
  }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce){
  .afb-order-page .afb-step--transit.is-now .afb-microRoute::before,
  .afb-order-page .afb-step--transit.is-now .afb-microRoute::after{
    animation:none !important;
    opacity:0 !important;
  }
}


/* ======================================================
   AFB — STEPS DOCK (NO MODAL) — CARROSSEL 1 LINHA PREMIUM (V-FINAL)
   Escopo: #afbModalStepsWrap (não afeta a order page)
   - Dock premium + sweep “moeda” (1x + pausa invisível)
   - Steps com tons confiáveis (offwhite/azul/verde/bege)
   - .is-done não força verde (usa tom da etapa)
   - Dot neon real + respiração (animado)
   - Sheen gold no .is-now (1x + pausa invisível, sem travar feio)
====================================================== */

body.template-customers-account #afbModalStepsWrap{
  margin: 12px 0 10px;
}

/* ======================================================
   DOCK PREMIUM
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-stepsDock{
  position: relative;
  border-radius: 18px;
  padding: 10px 10px 8px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(480px 220px at 50% -10%, rgba(155,107,255,.14), transparent 60%),
    radial-gradient(520px 260px at 20% 120%, rgba(90,230,150,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.22));
  box-shadow: 0 18px 60px rgba(0,0,0,.42);
  overflow: hidden;
  isolation: isolate; /* camadas */
}

/* glow base */
body.template-customers-account #afbModalStepsWrap .afb-stepsDock::before{
  content:"";
  position:absolute;
  inset:-26px;
  pointer-events:none;
  background:
    radial-gradient(520px 240px at 18% 10%, rgba(197,107,240,.12), transparent 62%),
    radial-gradient(520px 240px at 88% 0%, rgba(94,58,238,.14), transparent 62%);
  opacity:.85;
  z-index: 0;
}

/* ======================================================
   DOCK: PASSADA “MOEDA” (1x + pausa LONGA, invisível na pausa)
   - zero “travar feio”: o reset acontece com opacity 0
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-stepsDock::after{
  content:"";
  position:absolute;
  inset:-40px;
  pointer-events:none;
  z-index: 0;

  background:
    radial-gradient(900px 260px at 10% 20%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(115deg,
      transparent 0%,
      rgba(255,196,84,.22) 18%,
      rgba(255,255,255,.12) 28%,
      rgba(255,196,84,.16) 40%,
      transparent 60%
    );

  mix-blend-mode: screen;
  filter: blur(10px);

  opacity: 0;
  transform: translateX(-48%) skewX(-6deg) rotate(0.001deg);

  /* total longo, passa 1x e “some” na pausa */
  animation: afbDockGoldSweep 16s cubic-bezier(.2,.9,.2,1) infinite;
}

/* keyframes: pausa invisível > passada rápida > some > pausa */
@keyframes afbDockGoldSweep{
  0%   { opacity:0; transform: translateX(-48%) skewX(-6deg); }
  68%  { opacity:0; transform: translateX(-48%) skewX(-6deg); }

  70%  { opacity:.60; }
  82%  { opacity:.52; transform: translateX(48%) skewX(-6deg); }

  85%  { opacity:0; transform: translateX(48%) skewX(-6deg); }
  100% { opacity:0; transform: translateX(48%) skewX(-6deg); }
}

/* mantém conteúdo acima */
body.template-customers-account #afbModalStepsWrap .afb-stepsDock > *{
  position: relative;
  z-index: 2;
}

/* micro sparkles discretos */
body.template-customers-account #afbModalStepsWrap .afb-steps{
  position: relative;
}
body.template-customers-account #afbModalStepsWrap .afb-steps::before{
  content:"";
  position:absolute;
  inset:-20px;
  pointer-events:none;
  z-index: 1;
  background:
    radial-gradient(2px 2px at 12% 35%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(2px 2px at 38% 70%, rgba(155,107,255,.20), transparent 60%),
    radial-gradient(2px 2px at 62% 40%, rgba(90,230,150,.18), transparent 60%),
    radial-gradient(2px 2px at 86% 68%, rgba(255,255,255,.18), transparent 60%);
  opacity:.48;
  filter: blur(.2px);
  animation: afbSparkFloat 7.2s linear infinite;
}
@keyframes afbSparkFloat{
  0%   { transform: translateX(0) translateY(0); opacity:.35; }
  50%  { transform: translateX(10px) translateY(-6px); opacity:.60; }
  100% { transform: translateX(0) translateY(0); opacity:.35; }
}

/* ======================================================
   CARROSSEL 1 LINHA
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-steps{
  display:flex;
  gap:10px;
  align-items:stretch;
  overflow-x:auto;
  overflow-y:hidden;
  padding: 6px 4px 10px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width:none;

  cursor: grab;
  user-select:none;
}
body.template-customers-account #afbModalStepsWrap .afb-steps::-webkit-scrollbar{ display:none; }
body.template-customers-account #afbModalStepsWrap .afb-steps.is-dragging{ cursor: grabbing; }

/* ======================================================
   STEP BASE + TONS CONFIÁVEIS
   (suporta tone-* e também fallback nth-child)
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-step{
  flex:0 0 auto;
  min-width:132px;
  scroll-snap-align:start;

  border-radius:16px;
  padding:10px;

  /* NEUTRO (sempre) */
  --tone-bd: rgba(241,236,224,.14);
  --tone-a:  rgba(241,236,224,.06);
  --tone-glow: rgba(241,236,224,.06);

  /* dot neutro (sem neon forte) */
  --dot: rgba(255,255,255,.38);
  --dot-g1: rgba(255,255,255,.10);
  --dot-g2: rgba(255,255,255,.06);

  border: 1px solid var(--tone-bd);
  background:
    radial-gradient(260px 120px at 30% 0%, var(--tone-glow), transparent 60%),
    linear-gradient(180deg, var(--tone-a), rgba(0,0,0,.22));
  box-shadow: 0 10px 30px rgba(0,0,0,.30);

  position:relative;
  overflow:hidden;
  transform: translateZ(0);
  will-change: transform, box-shadow;
}

/* dot neutro (futuro) */
body.template-customers-account #afbModalStepsWrap .afb-step:not(.is-done):not(.is-now) .afb-dot{
  background: var(--dot);
  box-shadow: 0 0 0 3px rgba(255,255,255,.07), 0 0 6px rgba(255,255,255,.08);
  animation: none !important;
}

/* ===== DONE: agora sim ganha cor (só quando chegou) ===== */
body.template-customers-account #afbModalStepsWrap .afb-step.is-done{
  border-color: var(--tone-bd);
  background:
    radial-gradient(260px 120px at 30% 0%, var(--tone-glow), transparent 58%),
    linear-gradient(180deg, var(--tone-a), rgba(0,0,0,.22));
}

/* DOT neon só em DONE */
body.template-customers-account #afbModalStepsWrap .afb-step.is-done .afb-dot{
  background: var(--dot);
  box-shadow:
    0 0 0 3px rgba(255,255,255,.08),
    0 0 10px var(--dot-g1),
    0 0 22px var(--dot-g2);
  animation: afbDotNeonBreath 2.8s ease-in-out infinite;
}

/* ===== CORES POR ETAPA: APENAS quando for .is-done ===== */
body.template-customers-account #afbModalStepsWrap .afb-steps .afb-step.is-done:nth-child(1){
  /* offwhite */
  --tone-bd: rgba(241,236,224,.22);
  --tone-a:  rgba(241,236,224,.08);
  --tone-glow: rgba(241,236,224,.14);
  --dot: rgba(241,236,224,.96);
  --dot-g1: rgba(241,236,224,.30);
  --dot-g2: rgba(241,236,224,.16);
}
body.template-customers-account #afbModalStepsWrap .afb-steps .afb-step.is-done:nth-child(2){
  /* azul */
  --tone-bd: rgba(86,170,255,.26);
  --tone-a:  rgba(86,170,255,.08);
  --tone-glow: rgba(86,170,255,.14);
  --dot: rgba(86,170,255,.96);
  --dot-g1: rgba(86,170,255,.34);
  --dot-g2: rgba(86,170,255,.18);
}
body.template-customers-account #afbModalStepsWrap .afb-steps .afb-step.is-done:nth-child(3){
  /* verde */
  --tone-bd: rgba(90,230,150,.26);
  --tone-a:  rgba(90,230,150,.08);
  --tone-glow: rgba(90,230,150,.14);
  --dot: rgba(90,230,150,.96);
  --dot-g1: rgba(90,230,150,.32);
  --dot-g2: rgba(90,230,150,.16);
}
body.template-customers-account #afbModalStepsWrap .afb-steps .afb-step.is-done:nth-child(4){
  /* bege/terra */
  --tone-bd: rgba(201,164,114,.26);
  --tone-a:  rgba(201,164,114,.08);
  --tone-glow: rgba(201,164,114,.13);
  --dot: rgba(201,164,114,.96);
  --dot-g1: rgba(201,164,114,.32);
  --dot-g2: rgba(201,164,114,.16);
}
body.template-customers-account #afbModalStepsWrap .afb-steps .afb-step.is-done:nth-child(5){
  /* offwhite clean */
  --tone-bd: rgba(238,233,222,.22);
  --tone-a:  rgba(238,233,222,.08);
  --tone-glow: rgba(238,233,222,.12);
  --dot: rgba(238,233,222,.96);
  --dot-g1: rgba(238,233,222,.28);
  --dot-g2: rgba(238,233,222,.14);
}

/* se você usar tone-* no HTML, também SÓ vale quando for .is-done */
body.template-customers-account #afbModalStepsWrap .afb-step.is-done.tone-offwhite{ 
  --tone-bd: rgba(241,236,224,.22);
  --tone-a:  rgba(241,236,224,.08);
  --tone-glow: rgba(241,236,224,.14);
  --dot: rgba(241,236,224,.96);
  --dot-g1: rgba(241,236,224,.30);
  --dot-g2: rgba(241,236,224,.16);
}
body.template-customers-account #afbModalStepsWrap .afb-step.is-done.tone-blue{
  --tone-bd: rgba(86,170,255,.26);
  --tone-a:  rgba(86,170,255,.08);
  --tone-glow: rgba(86,170,255,.14);
  --dot: rgba(86,170,255,.96);
  --dot-g1: rgba(86,170,255,.34);
  --dot-g2: rgba(86,170,255,.18);
}
body.template-customers-account #afbModalStepsWrap .afb-step.is-done.tone-green{
  --tone-bd: rgba(90,230,150,.26);
  --tone-a:  rgba(90,230,150,.08);
  --tone-glow: rgba(90,230,150,.14);
  --dot: rgba(90,230,150,.96);
  --dot-g1: rgba(90,230,150,.32);
  --dot-g2: rgba(90,230,150,.16);
}
body.template-customers-account #afbModalStepsWrap .afb-step.is-done.tone-beige{
  --tone-bd: rgba(201,164,114,.26);
  --tone-a:  rgba(201,164,114,.08);
  --tone-glow: rgba(201,164,114,.13);
  --dot: rgba(201,164,114,.96);
  --dot-g1: rgba(201,164,114,.32);
  --dot-g2: rgba(201,164,114,.16);
}

/* layout interno */
body.template-customers-account #afbModalStepsWrap .afb-step .k{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  letter-spacing:.2px;
  opacity:.9;
  margin-bottom:4px;
  white-space:nowrap;
}
body.template-customers-account #afbModalStepsWrap .afb-step .t{
  font-size:13px;
  font-weight:750;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* respiração neon do dot (discreta/premium) */
@keyframes afbDotNeonBreath{
  0%   { transform: scale(1);   filter: saturate(1);   opacity:.92; }
  50%  { transform: scale(1.08); filter: saturate(1.1); opacity:1; }
  100% { transform: scale(1);   filter: saturate(1);   opacity:.92; }
}
/* ======================================================
   DOT NEON (real) + animação (todos)
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--dot);

  box-shadow:
    0 0 0 3px rgba(255,255,255,.08),
    0 0 10px var(--dot-g1),
    0 0 22px var(--dot-g2);

  transform: translateZ(0);
  animation: afbDotNeonBreath 2.8s ease-in-out infinite;
}

@keyframes afbDotNeonBreath{
  0%{
    transform: scale(1);
    filter: saturate(1);
    box-shadow:
      0 0 0 3px rgba(255,255,255,.08),
      0 0 10px var(--dot-g1),
      0 0 22px var(--dot-g2);
  }
  50%{
    transform: scale(1.12);
    filter: saturate(1.12);
    box-shadow:
      0 0 0 4px rgba(255,255,255,.08),
      0 0 14px var(--dot-g1),
      0 0 30px var(--dot-g2);
  }
  100%{
    transform: scale(1);
    filter: saturate(1);
    box-shadow:
      0 0 0 3px rgba(255,255,255,.08),
      0 0 10px var(--dot-g1),
      0 0 22px var(--dot-g2);
  }
}

/* ======================================================
   ESTADOS
   - NOW = ouro premium (mantém rei)
   - DONE = usa tom da etapa (não “tudo verde”)
====================================================== */

/* NOW (ouro) */
body.template-customers-account #afbModalStepsWrap .afb-step.is-now{
  border-color: rgba(255,196,84,.32) !important;
  background:
    radial-gradient(260px 120px at 30% 0%, rgba(255,196,84,.20), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22)) !important;

  animation: afbNowPulse 1.65s ease-in-out infinite;
  box-shadow:
    0 12px 34px rgba(0,0,0,.36),
    0 0 0 1px rgba(255,196,84,.14) inset,
    0 0 38px rgba(255,196,84,.10);
}

/* halo interno */
body.template-customers-account #afbModalStepsWrap .afb-step.is-now::before{
  content:"";
  position:absolute;
  inset:-30px;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(320px 140px at 25% 10%, rgba(255,196,84,.18), transparent 60%),
    radial-gradient(220px 120px at 85% 90%, rgba(155,107,255,.10), transparent 65%);
  opacity:.75;
  filter: blur(10px);
}

/* sheen moeda (sem travar feio) */
body.template-customers-account #afbModalStepsWrap .afb-step.is-now::after{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  z-index:2;

  opacity:0;
  mix-blend-mode: screen;

  background: linear-gradient(115deg,
    transparent 0%,
    rgba(255,255,255,0) 42%,
    rgba(255,255,255,.26) 48%,
    rgba(255,196,84,.20) 52%,
    rgba(255,255,255,0) 58%,
    transparent 100%
  );

  background-size: 260% 100%;
  background-position: -180% 0;

  /* bem longo, passa 1x e some */
  animation: afbSheenGoldOnce 18s linear infinite;
}

/* dot do now vira dourado + respiração mais forte */
body.template-customers-account #afbModalStepsWrap .afb-step.is-now .afb-dot{
  --dot: rgba(255,196,84,.98);
  --dot-g1: rgba(255,196,84,.42);
  --dot-g2: rgba(255,196,84,.22);
  animation-duration: 2.2s;
}

@keyframes afbNowPulse{
  0%   { transform: translateY(0); filter: saturate(1); }
  50%  { transform: translateY(-1px); filter: saturate(1.08); }
  100% { transform: translateY(0); filter: saturate(1); }
}

@keyframes afbSheenGoldOnce{
  0%   { opacity:0; background-position: -180% 0; }
  70%  { opacity:0; background-position: -180% 0; }

  72%  { opacity:.68; }
  83%  { opacity:.56; background-position: 180% 0; }

  86%  { opacity:0; background-position: 180% 0; }
  100% { opacity:0; background-position: 180% 0; }
}

/* DONE: usa o tom do step, não força verde */
body.template-customers-account #afbModalStepsWrap .afb-step.is-done{
  border-color: var(--tone-bd) !important;
  background:
    radial-gradient(260px 120px at 30% 0%, var(--tone-glow), transparent 58%),
    linear-gradient(180deg, var(--tone-a), rgba(0,0,0,.22)) !important;
}

/* ======================================================
   MICRO-ROUTE (Etapa 4)
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-step--transit{ min-width: 180px; }

body.template-customers-account #afbModalStepsWrap .afb-step--transit .afb-microRoute{
  position:relative;
  margin-top:8px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  opacity:.98;
}

body.template-customers-account #afbModalStepsWrap .afb-step--transit .afb-microRoute::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:50%;
  height:1px;
  transform: translateY(-50%);
  background: linear-gradient(90deg,
    rgba(155,107,255,.35),
    rgba(255,255,255,.10),
    rgba(90,230,150,.30)
  );
}

body.template-customers-account #afbModalStepsWrap .afb-step--transit .afb-microRoute .mr-node{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:22px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(10,10,16,.65);
  box-shadow: 0 8px 22px rgba(0,0,0,.35);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

body.template-customers-account #afbModalStepsWrap .afb-step--transit .mr-logo{
  width:64px !important;
  height:18px !important;
  object-fit:contain !important;
  display:block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.40));
}

/* ======================================================
   HINT OVERLAY
====================================================== */
body.template-customers-account #afbModalStepsWrap .afb-stepsDock{
  padding-bottom: 30px !important;
}

body.template-customers-account #afbModalStepsWrap .afb-swipeHint{
  position:absolute;
  left:0; right:0;
  bottom:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  pointer-events:none;
  padding:0 10px;
  opacity:.78;
}

body.template-customers-account #afbModalStepsWrap .afb-stepsDock.afb-hint-off .afb-swipeHint{
  display:none !important;
}

body.template-customers-account #afbModalStepsWrap .afb-swipeHint .chev{
  width:10px;
  height:10px;
  border-right:2px solid rgba(255,255,255,.65);
  border-bottom:2px solid rgba(255,255,255,.65);
  transform: rotate(-45deg);
  margin-top:1px;
  border-radius:2px;
}

/* ======================================================
   DESKTOP MAIS FLUIDO
====================================================== */
@media (min-width: 721px){
  body.template-customers-account #afbModalStepsWrap .afb-steps{
    scroll-snap-type: x proximity;
    scroll-snap-stop: normal;
    overscroll-behavior-x: contain;
  }
}
body.template-customers-account #afbModalStepsWrap .afb-steps.is-dragging{
  scroll-snap-type: none !important;
}

/* ======================================================
   MOBILE BEM COMPACTO
====================================================== */
@media (max-width: 420px){
  body.template-customers-account #afbModalStepsWrap .afb-step{ min-width: 122px; }
  body.template-customers-account #afbModalStepsWrap .afb-step--transit{ min-width: 172px; }
  body.template-customers-account #afbModalStepsWrap .afb-step .t{ font-size: 12.5px; }
}

/* ======================================================
   REDUÇÃO DE MOVIMENTO
====================================================== */
@media (prefers-reduced-motion: reduce){
  body.template-customers-account #afbModalStepsWrap .afb-stepsDock::after,
  body.template-customers-account #afbModalStepsWrap .afb-steps::before,
  body.template-customers-account #afbModalStepsWrap .afb-step.is-now,
  body.template-customers-account #afbModalStepsWrap .afb-step.is-now::after,
  body.template-customers-account #afbModalStepsWrap .afb-dot{
    animation: none !important;
  }
}

