/** Shopify CDN: Minification failed

Line 604:4 Unexpected "{"
Line 604:5 Expected identifier but found "%"
Line 617:4 Unexpected "{"
Line 617:5 Expected identifier but found "%"

**/
/*
    Agência mofo design
        Página de estilo adicional a fim de não modificar tanto a estrutura atual do tema,
        facilitando o processo de atualização.

        Elementos próprios da mofo também terão estilo adicionado aqui 
        quando não no próprio elemento (mais raro);
 */

/* 
    Para adicionar borda a todos os blocos ao invés de adicionar uma div.border a cada futuro bloco
    Embora seja uma possibilidade
  */
.cart-page .theme-blocks>*::after {
   content: '';
   margin-top: 2rem;
   display: block;
   width: 100%;
   height: 2px;
   background-color: rgb(var(--border-color));
}

.hidden {
   display: none !important;
}

@media screen and (max-width: 700px) {
   .sm-hide {
      display: none !important;
   }
}
@media screen and (min-width: 701px) and (max-width: 100px) {
   .md-hide {
      display: none !important;
   }
}
@media screen and (min-width: 981px) {
   .lg-hide {
      display: none !important;
   }
}

:root {
   --error-color: rgb(185, 84, 106);
   --error-darker-color: rgb(128, 58, 73);
}

.shipping-container {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   padding: 2rem;
   gap: 1rem;

   --dark-color: rgb(20, 20, 20);
   /* box-shadow: 0px 0px 4px color-mix(in srgb, var(--dark-color) 35%, transparent); */
   overflow: hidden;
   border-radius: var(--border-radius);
   border: 1px solid color-mix(in srgb, var(--dark-color) 20%, transparent);
}

.shipping-container .shipping-results .shipping-quotes,
.shipping-container .shipping-results,
.shipping-container .container-results,
.shipping-container .address,
.shipping-container .shipping-form,
.shipping-container .shipping-body,
.shipping-container .shipping-header {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 0.3rem;
   width: 100%;
   overflow: hidden;
   border-radius: var(--border-radius);
}

/*Divisória*/
.shipping-container .shipping-form::after,
.shipping-container .address::after,
.shipping-container .shipping-header::after {
   content: '';
   display: block;
   width: 100%;
   height: 1px;
   background-color: rgba(20, 20, 20, 0.2);
}

.shipping-container .shipping-form fieldset {
   display: flex;
   justify-content: space-around;
   align-items: center;
   gap: 0.5rem;
   width: 100%;
   border: none;
   outline: none;
   flex-wrap: wrap;
   min-height: 100px;
}

.shipping-container .shipping-input {
   max-width: 100%;
   min-width: 60%;
   padding: 1rem;
   outline: none;

   --dark-color: rgb(20, 20, 20);
   transition: all 0.2s ease-in-out;
   /* box-shadow: 0px 0px 2px color-mix(in srgb, var(--dark-color) 50%, transparent); */
   border-radius: var(--border-radius);
   border: 1px solid color-mix(in srgb, var(--dark-color) 30%, transparent);
}

.shipping-container .shipping-input:hover {
   /* padding: 0.8rem; */

   --dark-color: rgb(0, 0, 0);
   border-color: color-mix(in srgb, var(--dark-color) 25%, transparent);
   /* border-width: 2px; */
}

.shipping-container .shipping-input:focus {
   /* padding: 0.9rem; */

   --dark-color: rgb(0, 0, 0);
   /* box-shadow: 0px 0px 2px color-mix(in srgb, var(--dark-color) 80%, transparent); */
   border: 1px solid color-mix(in srgb, var(--dark-color) 50%, transparent);
}

.shipping-container .button {
   /* max-width: 48%; */
   min-width: 15%;
}

.shipping-container .button,
.shipping-container .shipping-input {
   width: 100%;
}

.shipping-container .shipping-results {
   text-align: center;
}


.shipping-container .shipping-form fieldset,
.shipping-container .shipping-results .shipping-quotes {
   padding: 1rem 1.6rem;
}

.shipping-container .shipping-results .shipping-quotes {
   gap: 1rem;
   margin: 0;
}

.shipping-container .shipping-results .shipping-quote {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding: 0.5rem 1rem;
   gap: 0.5rem;

   --dark-color: rgb(20, 20, 20);
   transition: all 0.2s ease-in-out;
   /* box-shadow: 0px 0px 2px color-mix(in srgb, var(--dark-color) 50%, transparent); */
   border-radius: var(--border-radius);
   border: 1px solid color-mix(in srgb, var(--dark-color) 30%, transparent);
}

.shipping-container .shipping-results .shipping-carrier {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   text-align: left;
}

.shipping-container .shipping-results .shipping-carrier .shipping-carrier-title {
   font-weight: bold;
}

.shipping-container .shipping-results .shipping-carrier .shipping-carrier-store {
   font-size: 1.5rem;
}

.shipping-container .shipping-results .shipping-carrier .shipping-carrier-store-detail {
   font-size: 1.2rem;
   color: var(--error-color);
}

.shipping-container .shipping-results .shipping-price {
   text-align: end;
   font-weight: bold;
}

/* .shipping-container .shipping-results .address,
.shipping-container .shipping-results .msg-error {
   font-size: 1.4rem;
} */

.shipping-container .error,
.shipping-container .shipping-results .msg-error {
   color: var(--error-color);
}

.shipping-container .error {
   /* box-shadow: 0px 2px 0px color-mix(in srgb, var(--error-darker-color) 50%, transparent) !important; */
   border-radius: var(--border-radius);
   border: 2px solid color-mix(in srgb, var(--error-color) 60%, transparent) !important;
}

@media screen and (max-width: 1370px) {

   .shipping-container .button,
   .shipping-container .shipping-input {
      max-width: 100%;
      min-width: 60%;
   }
}

@media screen and (max-width: 820px) {
   .shipping-container .shipping-form fieldset,
   .shipping-container .shipping-results .shipping-quotes {
      padding: 1rem 1.1rem;
   }
}

@media screen and (max-width: 680px) {

   .shipping-container .shipping-form fieldset,
   .shipping-container .shipping-results .shipping-quotes {
      padding: 1rem 1.4rem;
   }

   .shipping-container .shipping-form fieldset {
      flex-direction: column;
      gap: 1rem;
   }

   .shipping-container .shipping-form fieldset .button {
      max-width: 100%;
      min-width: 60%;
   }
}


/* Chamado #3976 */
.drawer--center-body::part(body) {
    display: grid;
    height: 100%;
    grid-template-rows: 0fr 2fr;
    justify-items: center;
}

.drawer--center-body .h5 {
    align-self: center;
}

/*--
   Aplicativo Happy Birthday
   - Chamado #3973
--*/
#hb_form {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 1rem;

   & .button {
      width: 100%;
      font-size: 100%;
   }
}

#hb_page-wrapper .hb-input-field-wrapper,
#hb_birthday_wrapper > * {
   background-color: white;
   border: 1px solid darkgray;
   padding: 0.2rem 0.5rem;
   position: relative;
   width: 100%;
}

#hb_birthday_wrapper > *:hover,
#hb_page-wrapper .hb-input-field-wrapper:hover {
   box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
}

#hb_birthday_wrapper > *:focus-within ,
#hb_page-wrapper .hb-input-field-wrapper:focus-within {
   border: 1px solid #000;
}

#hb_page-wrapper .hb-input-field {
   background-color: var(--hb-input-background-color);
   margin-top: 0.5rem;  
   border: unset !important; 

   &:focus-visible {
      outline: unset !important;
   }
}

#hb_page-wrapper label {  
   display: block;
   position: absolute;
   left: 0.2rem;
   top: 0.2rem;
   font-size: 0.7rem;
}

.hb-input-field-wrapper:hover label,
#hb_birthday_wrapper:hover > *,
.hb-input-field-wrapper:focus-within label,
#hb_birthday_wrapper:focus-within > * {
   color: darkgray;
}

/*
   -- Product Card Horizontal --
   Chamado #3984
      - Padrão de imagem forçado, seguindo a proporção 4 / 5 que normalmente vemos nas imagens do produto
*/

.horizontal-product-card__figure img {
   aspect-ratio: 4 / 5;
}



/*
   Shipping Estimator - Section
      - chamado #3998;
      - Estilização da calculadora de frete utilizada na página do produto
         - De forma genérica, pode ser mais facilmente reutilizada agora se o snippet for inserido na div.shipping-estimator-container em sua implementação
*/
.shipping-estimator-container,
.list-disc,
.list-disc li {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   margin: 0;
} 

.shipping-estimator-container { 
    width: 100%;
    margin: 1rem 0;
}

.shipping-estimator {
   transition: width .4s ease-in-out;
   width: 100%;
   @media screen and (max-width: 955px) {
      width: 90%;
   }
}

/* Correção do tamanho dos inputs no desktop */
@media screen and (min-width: 956px) {
   .shipping-estimator .form-control {
      width: calc(100% / 4 - 4px);
   }
}

.list-disc {
   list-style: none;
   gap: 1rem;
   flex-direction: column;
}

.list-disc li {
   justify-content: space-between;
   width: 100%;
   padding: 1rem 1.2rem;
   -webkit-appearance: none;
   appearance: none;
   padding: var(--input-padding-block) var(--input-padding-inline);
   border-radius: var(--input-border-radius);
   border-width: 1px;
   background: rgb(var(--input-background, transparent));
   box-shadow: 0 1px 3px rgb(var(--text-color) / .08);
}

/* Chamado #4001 */
/*-- Wishlist Hero --*/
.MuiButton-containedPrimary,
.wishlist-popup-login-btn,
.MuiSnackbarContent-message .MuiCardHeader-root {
    background-color: #000 !important; /* Ver se tem como usar uma variável */
 }
 
 .MuiButtonBase-root .MuiButton-label {
    color: #000 !important;
 }

 
 .MuiButtonGroup-root .Mui-disabled {
   background-color: #FFF !important;
   border: 1px solid #000 !important;

   & > .MuiButton-label {
      color: #000 !important;
   }
 }
 
 @media (min-width: 1920px) {
    .MuiGrid-grid-xl-2 {
        max-width: 25% !important;
        flex-basis: 25% !important;
    }
}


/*
   -- Mobile Anchor --
      - Chamado #4005
      - Estilização do botão ancora em mobile
 */ 
 .product-gallery__media {
   position: relative;

   & > .mobile-anchor {
      position: absolute;
      bottom: 2rem;
      right: 2rem;
      padding: 0.5rem;
      background-color: #efefef;
      z-index: 1;
      width: 40px;
      height: 40px;
      display: flex;
      justify-content: center;
      align-items: center;
      border: 0.2px solid rgb(221, 221, 221);
      border-radius: 20px;
   }
 }
 
/* --- CORREÇÃO DE TEXTO BRANCO (WISH LIST HERO) --- */

/* 1. Alvo no texto interno de todos os botões pretos do app */
.wishlist-hero-list-card-footer-add-to-cart span,
.wishlist-hero-login-button span,
button[class*="wishlist-hero-login-button"] span,
.wishlist-hero-add-to-cart-button span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important; /* Força o preenchimento em branco */
    opacity: 1 !important;
}

/* 2. Garante que o fundo do botão do card continue preto */
.wishlist-hero-list-card-footer-add-to-cart {
    background-color: #000000 !important;
    border: none !important;
}

/* 3. Rodapé: mantém o texto preto no fundo branco (Adicione tudo / Remover tudo) */
.wishlist-hero-items-list-footer-container button span {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
}

/* 4. Remove a faixa cinza do rodapé */
div[class*="wishlist-hero-items-list-footer-container"] {
    background-color: transparent !important;
}

/* --- BOTÃO FORA DE ESTOQUE: PRETO COM TEXTO BRANCO --- */

/* 1. Força o fundo preto mesmo quando o botão está desativado (sem estoque) */
.wishlist-hero-add-to-cart-button.Mui-disabled,
button[disabled].wishlist-hero-list-card-footer-add-to-cart {
    background-color: #000000 !important; /* Fundo Preto */
    background: #000000 !important;
    opacity: 1 !important; /* Remove a transparência de item desativado */
}

/* 2. Força o texto "FORA DE ESTOQUE" a ficar branco */
.wishlist-hero-add-to-cart-button.Mui-disabled .MuiButton-label,
button[disabled].wishlist-hero-list-card-footer-add-to-cart .MuiButton-label {
    color: #ffffff !important; /* Texto Branco */
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

/* 3. Ajuste extra para garantir que a borda não fique cinza */
.wishlist-hero-add-to-cart-button.Mui-disabled {
    border: none !important;
}

/* --- FORÇAR TEXTO BRANCO NO BOTÃO CONECTE-SE --- */

/* 1. Alvo direto no span que contém o texto dentro do botão de login */
.wishlist-popup-login-btn .MuiButton-label,
button.wishlist-popup-login-btn span,
.wishlist-hero-login-button .MuiButton-label {
    color: #ffffff !important; /* Branco absoluto */
    -webkit-text-fill-color: #ffffff !important; /* Sobrescreve estilos injetados pelo app */
    opacity: 1 !important;
    visibility: visible !important;
}

/* 2. Garante que o fundo do botão permaneça preto para o contraste */
button.wishlist-popup-login-btn,
.wishlist-hero-login-button {
    background-color: #000000 !important;
}
/*
   -- Mobile Anchor --
      - Chamado #4005
      - Estilização do botão ancora em mobile
 */ 
 .product-gallery__media {
   position: relative;

   & > .mobile-anchor {
      position: absolute;
      bottom: 2rem;
      right: 2rem;
      padding: 0.5rem;
      background-color: #efefef;
      z-index: 1;
      width: 40px;
      height: 40px;
      display: flex;
      justify-content: center;
      align-items: center;
      border: 0.2px solid rgb(221, 221, 221);
      border-radius: 20px;
   }
 }

 /*! Selo Personalizado MOFO 4017 e 4063*/
.product-card__custom-selo {
  position: absolute;
  inset-block-start: .25rem;
  inset-inline-start: .25rem;
  z-index: 1;
  display: flex;
  justify-content: center;
}
 
/* Estilos base do selo personalizado */
.badge--selos {
  display: inline-block;
  line-height: 1;
  font-weight: 500;
  transition: all 0.3s ease;
}

/* Cores sólidas */
.badge--selos:not(.badge--selos-gradient) {
  background-color: var(--selo-background-color, #000000);
  color: var(--selo-text-color, #ffffff);
}

/* Gradientes */
.badge--selos-gradient {
  background: linear-gradient(
    var(--selo-gradient-direction, 135deg),
    var(--selo-gradient-start, #FF6B6B),
    var(--selo-gradient-end, #FFE66D)
  );
  color: var(--selo-text-color, #ffffff);
}

/* Paddings */
.badge--selos-padding-small { padding: 4px 8px; }
.badge--selos-padding-medium { padding: 6px 12px; }
.badge--selos-padding-large { padding: 8px 16px; }

/* Border radius */
.badge--selos-radius-none { border-radius: 0; }
.badge--selos-radius-small { border-radius: 4px; }
.badge--selos-radius-medium { border-radius: 8px; }
.badge--selos-radius-large { border-radius: 12px; }
.badge--selos-radius-pill { border-radius: 9999px; }

/* Tamanho da fonte */
.badge--selos {
  font-size: var(--selo-font-size, 12px);
}

  /* Esconder vídeo mobile por padrão em todas as telas */
  .video-mobile {
    display: none;
  }
  
  /* Mostrar vídeo mobile APENAS em telas menores que 768px quando o checkbox estiver ativo */
  @media screen and (max-width: 767px) {
    {% if section.settings.enable_mobile_video and section.settings.mobile_video != blank %}
      .video-desktop {
        display: none !important;
      }
      
      .video-mobile {
        display: block !important;
      }
      
      /* Esconder o botão de play do desktop que aparece sobreposto */
      .play-button {
        display: none !important;
      }
    {% endif %}
  }
  
  /* Garantir que em telas maiores que 768px o vídeo desktop apareça normalmente */
  @media screen and (min-width: 768px) {
    .video-desktop {
      display: block !important;
    }
    
    .video-mobile {
      display: none !important;
    }
    
    /* Garantir que o botão de play apareça no desktop */
    .play-button {
      display: flex !important;
    }
  }
  
  /* Container do vídeo mobile com proporção 4:3 */
  .video-mobile {
    position: relative;
    width: 100%;
    display: block;
  }
  
  .video-mobile-container {
    position: relative;
    width: 100%;
    padding: 50%; /* 4:3 Aspect Ratio */
    overflow: hidden;
    background-color: #000;
  }
  
  /* Estilos padrão para vídeo e poster */
  .video-mobile-container video,
  .video-mobile-container .video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  /* Cover mode - preenche o container (corta se necessário) */
  .video-mobile-container.video-cover video,
  .video-mobile-container.video-cover .video-poster {
    object-fit: cover;
  }
  
  /* Contain mode - mostra todo o vídeo com letterbox */
  .video-mobile-container.video-contain video,
  .video-mobile-container.video-contain .video-poster {
    object-fit: contain;
  }
  
  /* Remover qualquer pointer-events que possa estar bloqueando o clique */
  .video-mobile {
    pointer-events: auto !important;
  }
  
  .video-mobile-container video {
    pointer-events: auto !important;
    cursor: pointer;
  }

  