@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/df-home/montserrat-700.ttf') format('truetype'); }

/* ========================================================================
   DF Atacadista - Home desktop - v1.7
   Medidas extraidas do Figma "Home" 1366x4895 (no 6024:24041).
   Conteudo, precos, banners e textos continuam no Magento/painel.
   Este arquivo carrega depois dos modulos e ANTES de styles-l.css, por isso
   todo seletor e prefixado com body.cms-index-index para vencer o Luma.
   Escopo deliberado: apenas a home, apenas desktop.
   ======================================================================== */
@media (min-width: 1024px) {

 /* -- 1. Container ------------------------------------------------------
    Figma: frame de 1366 com padding lateral 128 -> conteudo de 1110px.
    1150 - 20 - 20 = 1110. */
 body.cms-index-index #maincontent,
 body.cms-index-index .page-bottom .footer.content,
 body.cms-index-index .page-footer .footer.content,
 body.cms-index-index .page-footer .page-main,
 body.cms-index-index .linhaDestaques .page-main {
   max-width: 1150px; width: 100%; margin-left: auto; margin-right: auto;
   padding-left: 20px; padding-right: 20px; box-sizing: border-box;
 }
 body.cms-index-index #maincontent,
 body.cms-index-index .page-bottom,
 body.cms-index-index .page-footer { font-family: 'Montserrat', sans-serif; color: #393939; }
 body.cms-index-index #maincontent { padding-top: 0; padding-bottom: 0; }
 body.cms-index-index #maincontent .column.main { padding-bottom: 0; }

 /* -- 2. Titulos de secao -----------------------------------------------
    Figma: faixa laranja 1110x40, largura CHEIA, texto recuado 32px,
    Montserrat 700 20/24 #fff. Espacamento 48 acima / 38 abaixo. */
 body.cms-index-index #maincontent .titulo-home {
   background: transparent; padding: 0; margin: 48px 0 38px;
   min-height: 40px; box-sizing: border-box; text-align: left;
 }
 body.cms-index-index #maincontent .titulo-home :is(h1,h2,h3,h4,h5) {
   display: inline-block; align-self: flex-start; width: max-content; max-width: 100%; box-sizing: border-box;
   background: #f26522; color: #fff; font: 700 20px/24px 'Montserrat',sans-serif;
   margin: 0; padding: 8px 32px; text-align: left;
 }
 body.cms-index-index #maincontent .widget .block-title {
   background: #f26522; border: 0; margin: 48px 0 38px; padding: 8px 32px; text-align: left;
 }
 body.cms-index-index #maincontent .widget .block-title strong {
   display: block; background: transparent; color: #fff; margin: 0; padding: 0;
   font: 700 20px/24px 'Montserrat',sans-serif; text-transform: none; text-align: left;
 }

 /* -- 3. Barra de beneficios --------------------------------------------
    Figma: 1110x37, 4 itens visiveis, gap do icone 10px.
    Titulo Montserrat 600 14/17 #030406 - Subtitulo 400 14/17 #5b5d5d.
    O texto e os icones continuam vindo do bloco CMS. */
 body.cms-index-index .linhaDestaques { background: #fff; border: 0; padding: 48px 0; }
 body.cms-index-index .linhaDestaques .item-slick {
   display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 37px;
 }
 body.cms-index-index .linhaDestaques .icone { margin: 0; width: 44px; flex: 0 0 44px; }
 body.cms-index-index .linhaDestaques .icone i { color: #262b35; font-size: 32px; }
 body.cms-index-index .linhaDestaques .caixaTexto { text-align: left; }
 body.cms-index-index .linhaDestaques .caixaTexto .titulo {
   color: #030406; font: 600 14px/17px 'Montserrat',sans-serif;
 }
 body.cms-index-index .linhaDestaques .caixaTexto .subtitulo {
   color: #5b5d5d; font: 400 14px/17px 'Montserrat',sans-serif;
 }
 body.cms-index-index .linhaDestaques .slick-carousel-info { margin: 0; }

 /* Hero: Figma 1366x450, largura total da pagina. */
 body.cms-index-index .banner-principal-desktop img.owl-image {
   width: 100%; aspect-ratio: 1366 / 450; height: auto; object-fit: cover;
 }

 /* -- 5. Vitrines - cards -----------------------------------------------
    Figma: card 255x448, gap 30 -> 4 por linha (255*4 + 30*3 = 1110).
    Imagem 255x206 iniciando em y=28 (a faixa de 28px e da tag de desconto).
    Conteudo: padding 8/16/16/16, gap interno 8. */
 body.cms-index-index #maincontent .carrousel-destaques-home {
   margin-bottom: 48px; margin-left: -15px; margin-right: -15px;
 }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item {
   padding: 0 15px; box-sizing: border-box;
 }
 body.cms-index-index #maincontent .product-item-info {
   background: #fff; color: #393939; border: 0; border-radius: 0; padding: 0;
   box-sizing: border-box; box-shadow: none; margin: 0; width: 100%;
 }
 body.cms-index-index #maincontent .product-item-info:hover,
 body.cms-index-index #maincontent .product-item-info:focus-within { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
 body.cms-index-index #maincontent .product-item-photo { display: block; }
 body.cms-index-index #maincontent .product-image-container { max-width: 100%; width: 100% !important; }
 body.cms-index-index #maincontent .product-image-wrapper { height: 240px; padding-bottom: 0 !important; }
 body.cms-index-index #maincontent .product-image-wrapper picture { width: 100%; height: 100%; }
 body.cms-index-index #maincontent img.product-image-photo {
   width: 100%; height: 212px; position: absolute; top: 28px; left: 0; object-fit: contain;
 }
 body.cms-index-index #maincontent .product-item-details { padding: 8px 16px 16px; text-align: left; }
 body.cms-index-index #maincontent .product-item-name {
   height: 40px; min-height: 40px; overflow: hidden; margin: 0 0 8px; text-align: left;
 }
 body.cms-index-index #maincontent .product-item-link {
   display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
   color: #393939; font: 600 16px/20px 'Montserrat',sans-serif; overflow-wrap: anywhere; text-align: left;
 }

 /* Tag de destaque - modulo MageShop_Label.
    Estrutura real: .tags-destaques-produto > .item-tag.item-tag-txt.item-tag-desconto
    Figma: 63x28, #f26522, padding 2/8, Montserrat 700 14/17 #fff, sem raio.
    labels.css carrega ANTES deste arquivo, entao estas regras vencem.
    O modulo usa 11px, largura fixa de 70px, raio 3 e fundo preto. */
 body.cms-index-index #maincontent .product-items .tags-destaques-produto {
   margin-top: 0; top: 0; left: 0;
 }
 body.cms-index-index #maincontent .tags-destaques-produto .item-tag {
   font: 700 14px/17px 'Montserrat',sans-serif; color: #fff;
   text-align: center; margin-bottom: 3px; padding: 0;
 }
 body.cms-index-index #maincontent .tags-destaques-produto .item-tag-txt {
   width: auto; min-width: 63px; height: auto; min-height: 28px;
   padding: 2px 8px; border-radius: 0; box-sizing: border-box;
   display: inline-flex; align-items: center; justify-content: center;
 }
 body.cms-index-index #maincontent .tags-destaques-produto .item-tag-desconto,
 body.cms-index-index #maincontent .tags-destaques-produto .item-tag-oferta {
   background-color: #f26522;
 }

 /* Precos: Figma "de" 400 12/15 #929292 - "por" 600 24/29 #141414 - parcela 400 12/15 #5b5d5d. */
 body.cms-index-index #maincontent .product-item .price-box { margin: 8px 0; text-align: left; }
 body.cms-index-index #maincontent .product-item .price-box .price {
   color: #141414 !important; font: 600 24px/29px 'Montserrat',sans-serif;
 }
 body.cms-index-index #maincontent .product-item .price-box .old-price .price {
   color: #929292 !important; font: 400 12px/15px 'Montserrat',sans-serif;
 }
 body.cms-index-index #maincontent .product-item .backendorf-installment {
   font: 400 12px/15px 'Montserrat',sans-serif; text-align: left;
 }
 body.cms-index-index #maincontent .product-item .backendorf-installment .best-installment strong { color: #5b5d5d !important; }
 body.cms-index-index #maincontent .product-item .backendorf-installment .discounts .item strong { color: #929292 !important; }
 body.cms-index-index #maincontent .b2b-price-message {
   background: #f7f7f7; color: #5b5d5d; padding: 12px; border-radius: 0;
   font: 400 12px/18px 'Montserrat',sans-serif;
 }

 /* Botao COMPRAR: Figma 223x46, #f26522, Montserrat 700 18/22 #fff. */
 body.cms-index-index #maincontent .product-item .action.primary {
   background: #f26522; border: 1px solid #f26522; border-radius: 0; color: #fff;
   width: 100%; height: 46px; padding: 0 16px; box-sizing: border-box;
   font: 700 18px/22px 'Montserrat',sans-serif; text-shadow: none;
 }
 body.cms-index-index #maincontent .product-item .action.primary:hover { background: #d95315; border-color: #d95315; }
 body.cms-index-index #maincontent .product-item:focus-within .product-item-inner { opacity: 1; }

 /* -- 6. Setas do carrossel ---------------------------------------------
    Figma: 54x54, fundo branco, sombra, icone 18x19, centro a 224px do topo
    do carrossel. O -15px compensa a margem negativa do trilho. */
 body.cms-index-index #maincontent .slick-prev,
 body.cms-index-index #maincontent .slick-next {
   background-color: #fff; border-radius: 0; box-shadow: 0 2px 6px rgba(0,0,0,.15);
 }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-prev,
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-next {
   width: 54px; height: 54px; top: 224px; margin-top: -27px; z-index: 2;
   background: #fff url('../images/df-home/arrow.svg') center / 18px 19px no-repeat;
   box-shadow: 0 2px 6px rgba(0,0,0,.15);
 }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-prev { left: -15px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-next { right: -15px; transform: rotate(180deg); }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-prev::before,
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-next::before { content: none; }

 /* -- 7. Redes sociais --------------------------------------------------
    Figma: bloco 470x159 centralizado, padding 24/0, gap vertical 16.
    Chamada: icone 45x39 + textos com gap 32 - titulo 700 24/29 #202020.
    Icones 40x40 com borda #8e8e8e, gap 20.
    O texto vem do bloco CMS, dentro de .titulo-redes-sociais > .midle. */
 body.cms-index-index .rodape-redes-sociais { background: #fff; border: 0; padding: 24px 0; margin: 0 0 48px; }
 body.cms-index-index .rodape-redes-sociais .footer.content { padding-top: 0; padding-bottom: 0; }
 body.cms-index-index .redes-sociais-rodape {
   display: flex; flex-direction: column; align-items: center; gap: 16px;
   max-width: 470px; margin: 0 auto;
 }
 body.cms-index-index .redes-sociais-rodape .caixa-redes-sociais {
   width: auto; margin: 0; padding: 0; display: flex; align-items: center; gap: 20px;
 }
 body.cms-index-index .redes-sociais-rodape .titulo-redes-sociais {
   color: #202020; font: 700 24px/29px 'Montserrat',sans-serif;
   padding-left: 77px; min-height: 55px; display: flex; align-items: center;
   background: url('../images/df-home/social-heart.png') left center / 45px 39px no-repeat;
 }
 body.cms-index-index .redes-sociais-rodape .titulo-redes-sociais .midle { margin: 0; }
 body.cms-index-index .redes-sociais-rodape .redesocial { margin: 0; }
 body.cms-index-index .redes-sociais-rodape .redesocial a {
   display: flex; align-items: center; justify-content: center;
   width: 40px; height: 40px; border: 1px solid #8e8e8e; border-radius: 0; box-sizing: border-box;
 }
 body.cms-index-index .redes-sociais-rodape .redesocial i { color: #141414; font-size: 20px; }

 /* -- 8. Newsletter -----------------------------------------------------
    Figma: faixa 1366x71 em #333, conteudo de 1110.
    Esquerda 523 - gap 88 - direita 499 (input 360 + gap 11 + botao 128), altura 42.
    Texto 400 16/20 #fff. Todos os campos e o envio original sao preservados. */
 body.cms-index-index .page-wrapper .page-bottom .block.newsletter {
   background: #333; border: 0; padding: 0; min-height: 71px; margin: 0; width: 100%; max-width: none;
 }
 body.cms-index-index .page-bottom .block.newsletter > .footer.content {
   display: flex; align-items: center; gap: 88px; min-height: 71px;
 }
 body.cms-index-index .page-bottom .newsletterColunaEsquerda {
   flex: 0 0 47.1%; width: auto; margin: 0;
   min-height: 71px; display: flex; align-items: center;
   padding-left: 110px; box-sizing: border-box;
   background: url('../images/df-home/plane.svg') 32px 0 / 67px 67px no-repeat,
               url('../images/df-home/envelope.svg') 4px 6px / 74px 74px no-repeat;
 }
 body.cms-index-index .page-bottom .newsletterColunaEsquerda .blocoTexto { width: auto; }
 body.cms-index-index .page-bottom .newsletterColunaDireita { flex: 1; width: auto; min-width: 0; margin: 0; }
 body.cms-index-index .page-wrapper .newsletter .blocoTexto h4 {
   color: #fff; font: 400 16px/20px 'Montserrat',sans-serif; margin: 0; text-align: left;
 }
 body.cms-index-index .page-bottom .block.newsletter .form.subscribe {
   display: flex; align-items: flex-start; gap: 11px; width: 100%;
 }
 body.cms-index-index .page-bottom .block.newsletter .field.firstname,
 body.cms-index-index .page-bottom .block.newsletter .field.newsletter { flex: 1; min-width: 0; width: auto; margin: 0; }
 body.cms-index-index .page-bottom .block.newsletter .field .control { width: 100%; }
 /* Figma: campo 360x42, texto 400 16/20 #2f2f2f, recuo interno 20px. */
 body.cms-index-index .page-wrapper .block.newsletter input[type='email'],
 body.cms-index-index .page-wrapper .block.newsletter input[type='text'] {
   background: #fff; color: #2f2f2f; border: 1px solid #ddd; border-radius: 0;
   height: 42px; padding: 0 20px; width: 100%; box-sizing: border-box;
   font: 400 16px/20px 'Montserrat',sans-serif;
 }
 body.cms-index-index .page-wrapper .block.newsletter input::placeholder { color: #2f2f2f; opacity: 1; }
 body.cms-index-index .page-bottom .block.newsletter .actions { width: auto; flex: 0 0 auto; margin: 0; }
 /* Figma: botao 128x42, #f26522, "Cadastrar" Montserrat 700 16/20 #fff, pad 28/27. */
 body.cms-index-index .page-bottom .block.newsletter .action.primary {
   background: #f26522; border: 1px solid #f26522; color: #fff; border-radius: 0;
   height: 42px; min-width: 128px; padding: 0 28px; box-sizing: border-box;
   font: 700 16px/20px 'Montserrat',sans-serif; text-shadow: none;
 }
 body.cms-index-index .page-bottom .block.newsletter .action.primary:hover { background: #d95315; border-color: #d95315; }
 body.cms-index-index .page-bottom .block.newsletter div.mage-error { color: #fff; line-height: 18px; }

 /* -- 10. Foco acessivel ------------------------------------------------ */
 body.cms-index-index #maincontent a:focus-visible,
 body.cms-index-index .page-footer a:focus-visible,
 body.cms-index-index .page-bottom button:focus-visible { outline: 2px solid #f26522; outline-offset: 3px; }
}


/* Newsletter: preserve required fields and native submission. */
@media  (min-width: 1024px)  {body.cms-index-index #maincontent .titulo-home.df-vitrine-principal :is(h1,h2,h3,h4,h5) { width: 100%; }
body.cms-index-index .page-bottom .block.newsletter > .footer.content { gap: 88px; }
body.cms-index-index .page-bottom .newsletterColunaEsquerda { flex-basis: 523px; padding-left: 110px; }
body.cms-index-index .page-bottom .block.newsletter .field.firstname { flex: 0 0 120px; }
body.cms-index-index .page-bottom .block.newsletter .field.newsletter { flex: 1 1 0; }
body.cms-index-index .page-bottom .block.newsletter input[type="text"],
 body.cms-index-index .page-bottom .block.newsletter input[type="email"] { padding-left: 12px; padding-right: 12px; }}
@media  (min-width: 1024px) and (max-width: 1199px)  {body.cms-index-index .page-bottom .block.newsletter > .footer.content { gap: 24px; }
body.cms-index-index .page-bottom .newsletterColunaEsquerda { flex-basis: 43%; }}
@media  (min-width: 1024px)  {body.cms-index-index .page-bottom .block.newsletter > .footer.content { padding-top: 0; padding-bottom: 0; }
body.cms-index-index .page-bottom .newsletterColunaEsquerda { padding-top: 0; padding-bottom: 0; }
body.cms-index-index .page-bottom .newsletterColunaEsquerda .blocoTexto { margin: 0; padding: 0; }
body.cms-index-index .page-bottom .newsletterColunaDireita { padding: 0; }
body.cms-index-index .page-bottom .block.newsletter .actions { flex: 0 0 128px; }
body.cms-index-index .page-bottom .block.newsletter .action.primary { width: 128px; min-width: 0; padding: 0; }}
@media  (min-width: 1024px)  {body.cms-index-index .page-bottom .block.newsletter > .footer.content { border: 0; }}
@media  (min-width: 1200px)  {body.cms-index-index .page-wrapper .newsletter .blocoTexto h4 { white-space: nowrap; }}
@media  (min-width: 1024px)  {body.cms-index-index .page-wrapper .page-bottom .block.newsletter .form.subscribe { padding: 0; box-sizing: border-box; align-items: center; }
body.cms-index-index .page-wrapper .page-bottom .block.newsletter .actions { padding: 0; box-sizing: border-box; }
body.cms-index-index .page-wrapper .page-bottom .block.newsletter .action.primary,
 body.cms-index-index .page-wrapper .page-bottom .block.newsletter input { margin: 0; }
body.cms-index-index .page-bottom .block.newsletter .field.newsletter .control > label { display: block; }}

/* v1.7: PageBuilder grid overrides its inline display and per-column widths.
   Only the image mosaics match; product grids and CMS forms are excluded. */
@media (min-width: 1024px) {
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column > figure[data-content-type="image"]) {
   display: grid !important; gap: 30px; grid-template-columns: repeat(3,minmax(0,1fr));
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column > figure[data-content-type="image"]) > .pagebuilder-column {
   width: auto !important; min-width: 0; margin: 0; padding: 0;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group > .pagebuilder-column > figure[data-content-type="image"] {
   margin: 0; overflow: hidden;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column:nth-child(3)) > .pagebuilder-column > figure[data-content-type="image"] {
   aspect-ratio: 1;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group > .pagebuilder-column > figure[data-content-type="image"] img {
   width: 100%; height: 100%; object-fit: cover;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group > .pagebuilder-column > figure[data-content-type="image"] :is(picture,a) { height: 100%; }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column:nth-child(2) > figure:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) {
   grid-template-columns: 633fr 461fr; gap: 16px; aspect-ratio: 1110 / 386;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column:nth-child(2) > figure:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) > .pagebuilder-column {
   display: grid; gap: 16px; min-height: 0;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column:nth-child(2) > figure:nth-of-type(2)) > .pagebuilder-column:nth-child(2) {
   grid-template-rows: minmax(0,1fr) minmax(0,1fr);
 }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-track { margin-left: 0; margin-right: 0; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-list { padding-top: 8px; padding-bottom: 12px; margin-top: -8px; margin-bottom: -12px; }
 body.cms-index-index #maincontent .product-item-info { position: relative; }
 body.cms-index-index #maincontent .product-item-info:hover,
 body.cms-index-index #maincontent .product-item-info:focus-within { margin: 0; padding: 0; border: 0; }
 body.cms-index-index #maincontent .product-item-details { min-height: 208px; box-sizing: border-box; }
 body.cms-index-index #maincontent .product-item-inner { position: static; margin: 12px 0 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
 body.cms-index-index #maincontent .product-item .product-item-actions { margin: 0; }
 body.cms-index-index #maincontent .product-item .b2b-price-message { border: 1px solid #eee; margin: 8px 0 0; }
 body.cms-index-index #maincontent .product-item-link:hover { color: #d95315; text-decoration: none; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-prev { left: -15px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-next { right: -15px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-disabled { opacity: .35; cursor: default; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-dots { margin: 16px 0 0; padding: 0; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-dots button:before { color: #f26522; }
 body.cms-index-index .rodape-redes-sociais { margin-top: 48px; }
}
/* Empty server-rendered product widgets should not leave a heading and a hole. */
body.cms-index-index #maincontent .carrousel-destaques-home:empty,
body.cms-index-index #maincontent .column.main > [data-content-type="row"]:has(.titulo-home):has(+ [data-content-type="row"] .carrousel-destaques-home:empty) { display: none; }
@media (min-width: 1024px) {
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column:nth-child(2) > figure:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) {
  height: min(386px,calc((100vw - 40px) * .34774775)); grid-template-rows: minmax(0,1fr);
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-group > .pagebuilder-column > figure[data-content-type="image"] { min-height: 0; }
}

/* PageBuilder's column-line markup, used by the newly saved banner block. */
@media (min-width:1024px) {
 #html-body.cms-index-index #maincontent .pagebuilder-column-group:has(> .pagebuilder-column-line > .pagebuilder-column > figure[data-content-type="image"]) {
  display: block !important; width: 100%; margin: 0; padding: 0;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-line:has(> .pagebuilder-column:nth-child(3) > figure[data-content-type="image"]):not(:has(> .pagebuilder-column:nth-child(4))) {
  display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; width: 100%; margin: 0; padding: 0;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-line:has(> .pagebuilder-column:nth-child(3) > figure[data-content-type="image"]):not(:has(> .pagebuilder-column:nth-child(4))) > .pagebuilder-column {
  width: auto !important; min-width: 0; margin: 0; padding: 0;
 }
 #html-body.cms-index-index #maincontent .pagebuilder-column-line > .pagebuilder-column > figure[data-content-type="image"] { margin: 0; aspect-ratio: 1; overflow: hidden; }
 #html-body.cms-index-index #maincontent .pagebuilder-column-line > .pagebuilder-column > figure[data-content-type="image"] img { width: 100%; height: 100%; object-fit: cover; }
 #html-body.cms-index-index #maincontent .pagebuilder-column-line > .pagebuilder-column > figure[data-content-type="image"] :is(picture,a) { height: 100%; }
}


/* Figma 6024:24041. Native PageBuilder products and B2B rules remain authoritative. */
@media (min-width:1024px) {
 body.cms-index-index #maincontent .titulo-home:has(.df-vitrine-title) { margin: 0; padding: 0; min-height: 0; }
 body.cms-index-index #maincontent .df-vitrine-title {
  display: block; flex-shrink: 0; height: 40px; min-height: 40px; max-width: 100%; box-sizing: border-box;
  padding: 8px 32px; margin: 48px 0 38px; background: #f26522; color: #fff;
  font: 700 20px/24px Montserrat,sans-serif; text-align: left; white-space: nowrap;
 }
 body.cms-index-index #maincontent .df-vitrine-title[data-df-vitrine="mais-procurados"] { width: 100%; }
 body.cms-index-index #maincontent .df-vitrine-title[data-df-vitrine="novidades"] { width: 175px; }
 body.cms-index-index #maincontent .df-vitrine-title[data-df-vitrine="ofertas"] { width: 264px; }
 body.cms-index-index #maincontent .df-vitrine-title[data-df-vitrine="destaques"] { width: 306px; }
 body.cms-index-index #maincontent .carrousel-destaques-home { margin: 0 -15px 48px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-items { margin-top: 0; margin-bottom: 0; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item { padding: 0 15px; box-sizing: border-box; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info { min-height: 448px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-image-wrapper { height: 240px; padding-bottom: 0 !important; }
 body.cms-index-index #maincontent .carrousel-destaques-home img.product-image-photo { height: 206px; top: 28px; object-fit: contain; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item-details { min-height: 208px; padding: 8px 16px 16px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item-name { height: 40px; margin: 0 0 8px; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item-link { font: 600 16px/20px Montserrat,sans-serif; color: #393939; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-list { min-height: 465px; padding-top: 8px; padding-bottom: 9px; margin-top: -8px; margin-bottom: -9px; box-sizing: border-box; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-track { margin-left: 0; margin-right: 0; }
 body.cms-index-index #maincontent .carrousel-destaques-home :is(.slick-prev,.slick-next) {
  width: 54px; height: 54px; top: 197px; margin-top: 0; padding: 0; border: 0; border-radius: 0;
  background: #fff url('../images/df-home/arrow.svg') center/18px 19px no-repeat;
  box-shadow: 0 2px 6px #00000026;
 }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-prev { left: -15px; transform: none; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-next { right: -15px; transform: rotate(180deg); }
 body.cms-index-index #maincontent .carrousel-destaques-home :is(.slick-prev,.slick-next)::before { content: none; }
 body.cms-index-index #maincontent .carrousel-destaques-home .slick-dots { display: none; }
}
body.cms-index-index #maincontent .carrousel-destaques-home button:focus-visible { outline: 2px solid #f26522; outline-offset: 3px; }
/* Correct only the lower two-column mosaic, including PageBuilder column-line markup. */
@media (min-width:1024px) {
 #html-body.cms-index-index #maincontent :is(.pagebuilder-column-line,.pagebuilder-column-group):has(> .pagebuilder-column:nth-child(2) > figure[data-content-type="image"]:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) {
  display: grid !important; grid-template-columns: 633fr 461fr; gap: 16px;
  width: 100%; height: auto; aspect-ratio: 1110 / 386; margin: 0; padding: 0;
 }
 #html-body.cms-index-index #maincontent :is(.pagebuilder-column-line,.pagebuilder-column-group):has(> .pagebuilder-column:nth-child(2) > figure[data-content-type="image"]:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) > .pagebuilder-column {
  display: grid; grid-template-rows: minmax(0,1fr); width: auto !important; min-width: 0; min-height: 0; padding: 0; margin: 0; gap: 16px;
 }
 #html-body.cms-index-index #maincontent :is(.pagebuilder-column-line,.pagebuilder-column-group):has(> .pagebuilder-column:nth-child(2) > figure[data-content-type="image"]:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) > .pagebuilder-column:nth-child(2) { grid-template-rows: repeat(2,minmax(0,1fr)); }
 #html-body.cms-index-index #maincontent :is(.pagebuilder-column-line,.pagebuilder-column-group):has(> .pagebuilder-column:nth-child(2) > figure[data-content-type="image"]:nth-of-type(2)):not(:has(> .pagebuilder-column:nth-child(3))) > .pagebuilder-column > figure[data-content-type="image"] { aspect-ratio: auto; min-height: 0; height: 100%; margin: 0; }
}
/* Guest state is identified by the module's own server-rendered B2B message. */
body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info:has(.b2b-price-message) {
 display: flex; flex-direction: column; background: #fff; border: 0; box-shadow: none; transform: none; padding: 0; margin: 0;
}
body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info:has(.b2b-price-message) .product-item-details {
 display: flex; flex-direction: column; position: relative; box-sizing: border-box;
}
body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info:has(.b2b-price-message) .product-item-link {
 display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; color: #393939; text-decoration: none;
}
body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info:has(.df-consult-value) :is(.b2b-price-message,.product-item-inner) { display: none; }
body.cms-index-index #maincontent .carrousel-destaques-home .df-consult-value {
 display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-sizing: border-box;
 width: 100%; min-height: 46px; padding: 8px 4px; margin-top: auto; background: #f26522; color: #fff;
 font: 700 18px/22px Montserrat,sans-serif; text-align: center; text-decoration: none; border: 0; border-radius: 0;
 opacity: 0; pointer-events: none; transition: opacity 300ms ease-out;
}
body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info:is(:hover,:focus-within) .df-consult-value { opacity: 1; pointer-events: auto; }
body.cms-index-index #maincontent .carrousel-destaques-home .df-consult-value:focus-visible { outline: 2px solid #393939; outline-offset: 3px; }
@media (hover:none), (pointer:coarse) {
 body.cms-index-index #maincontent .carrousel-destaques-home .df-consult-value { opacity: 1; pointer-events: auto; font-size: 14px; }
}
@media (prefers-reduced-motion:reduce) {
 body.cms-index-index #maincontent .carrousel-destaques-home .df-consult-value { transition: none; }
}
@media (min-width:1024px) {
 body.cms-index-index #maincontent .carrousel-destaques-home { margin-bottom: 0; }
 body.cms-index-index #maincontent .carrousel-destaques-home .product-item-info:has(.b2b-price-message) .product-item-photo { display: block; line-height: 0; }
}
@media (min-width:1024px) {
 body.cms-index-index #maincontent h2.df-vitrine-title { margin: 48px 0 38px; }
 body.cms-index-index #maincontent .titulo-home h2.df-vitrine-title { margin: 0 0 38px; }
 body.cms-index-index #maincontent .carrousel-destaques-home { min-height: 465px; }
}
