.mcpg-pi{--mcpg-orange:#f58220;--mcpg-text:#222;--mcpg-muted:#666;--mcpg-border:#e9e9e9;position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;padding:24px 30px 30px;background:#f4f7fb;color:var(--mcpg-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.mcpg-pi *{box-sizing:border-box}.mcpg-pi__inner{width:100%;max-width:1500px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:stretch}.mcpg-pi__products,.mcpg-pi__info-card,.mcpg-pi__qr-card{border:1px solid var(--mcpg-border);border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.035)}.mcpg-pi__products{padding:18px}.mcpg-pi h2{margin:0 0 14px!important;color:var(--mcpg-text)!important;font-size:17px!important;line-height:1.25!important;font-weight:700!important}.mcpg-pi__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.mcpg-pi__product{min-width:0;overflow:hidden;border:1px solid #ececec;border-radius:8px;background:#fff;color:inherit!important;text-decoration:none!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.mcpg-pi__product:hover{transform:translateY(-2px);border-color:rgba(245,130,32,.35);box-shadow:0 9px 20px rgba(0,0,0,.075)}.mcpg-pi__image{width:100%;aspect-ratio:1/1;overflow:hidden;background:#f4f4f4}.mcpg-pi__image img{display:block;width:100%;height:100%;object-fit:cover}.mcpg-pi__product-content{padding:10px 10px 11px}.mcpg-pi__product h3{min-height:34px;margin:0!important;color:#222!important;font-size:12px!important;line-height:1.4!important;font-weight:500!important}.mcpg-pi__price-from{display:block;margin-top:6px;color:#999;font-size:10px;line-height:1.2;text-decoration:line-through}.mcpg-pi__price-to{display:block;margin-top:4px;color:var(--mcpg-orange);font-size:13px;line-height:1.2;font-weight:800}.mcpg-pi__sidebar{min-width:0;display:flex;flex-direction:column;gap:18px}.mcpg-pi__info-card,.mcpg-pi__qr-card{padding:18px}.mcpg-pi__info-block{margin-top:15px}.mcpg-pi__info-block:first-of-type{margin-top:0}.mcpg-pi__info-block>span{display:block;margin-bottom:4px;color:#777;font-size:10px;line-height:1.3;font-weight:600}.mcpg-pi__info-block>strong{display:block;color:#222;font-size:12px;line-height:1.45;font-weight:500}.mcpg-pi__payments{display:flex;flex-wrap:wrap;gap:6px}.mcpg-pi__payment{min-height:28px;padding:5px 8px;border:1px solid #e4e4e4;border-radius:5px;background:#fff;color:#333;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;font-weight:800}.mcpg-pi__payment--visa{color:#1434cb}.mcpg-pi__payment--mastercard,.mcpg-pi__payment--master{color:#ea001b}.mcpg-pi__payment--elo{color:#111}.mcpg-pi__payment--pix{color:#14b8a6}.mcpg-pi__hours div,.mcpg-pi__hours p{margin:0!important;color:#333!important;font-size:11px!important;line-height:1.55!important}.mcpg-pi__qr-card{margin-top:auto}.mcpg-pi__qr-layout{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:center}.mcpg-pi__qr{display:block;width:118px;height:118px;object-fit:contain;border:1px solid #ececec;border-radius:5px;background:#fff}.mcpg-pi__qr-layout p{margin:0!important;color:#555!important;font-size:11px!important;line-height:1.55!important}.mcpg-pi__qr-button{width:100%;min-height:38px;margin-top:14px;border:1px solid var(--mcpg-orange);border-radius:6px;color:var(--mcpg-orange)!important;background:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none!important;font-size:11px;line-height:1.2;font-weight:800;transition:.16s ease}.mcpg-pi__qr-button:hover{background:var(--mcpg-orange);color:#fff!important}.mcpg-pi__empty{margin:0!important;color:#777!important;font-size:13px!important}@media(max-width:1200px){.mcpg-pi__inner{grid-template-columns:minmax(0,1fr) 300px}.mcpg-pi__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:920px){.mcpg-pi{padding:20px}.mcpg-pi__inner{grid-template-columns:1fr}.mcpg-pi__sidebar{display:grid;grid-template-columns:1fr 1fr}.mcpg-pi__qr-card{margin-top:0}}@media(max-width:700px){.mcpg-pi{padding:16px 15px 20px}.mcpg-pi__products,.mcpg-pi__info-card,.mcpg-pi__qr-card{padding:14px}.mcpg-pi__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mcpg-pi__sidebar{grid-template-columns:1fr}.mcpg-pi__qr-layout{grid-template-columns:100px minmax(0,1fr)}.mcpg-pi__qr{width:100px;height:100px}}@media(max-width:390px){.mcpg-pi__grid{grid-template-columns:1fr}}

/* =========================================================
   COLUNA INFORMAÇÕES + QR CODE AUTOMÁTICO — v1.1.0
   O quadro de produtos permanece inalterado.
   ========================================================= */
.mcpg-pi__payment{
    width:52px;
    height:31px;
    padding:3px 5px;
    overflow:hidden;
}
.mcpg-pi__payment img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.mcpg-pi__qr-generator{
    width:150px;
    height:150px;
    padding:8px;
    border:1px solid #ececec;
    border-radius:7px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}
.mcpg-pi__qr-canvas{
    display:block;
    width:100%;
    height:100%;
    image-rendering:pixelated;
}
.mcpg-pi__qr-layout{
    grid-template-columns:150px minmax(0,1fr);
    gap:18px;
}
.mcpg-pi__qr-download{
    min-width:165px;
    min-height:40px;
    margin:18px auto 0;
    padding:0 18px;
    border:1px solid var(--mcpg-orange);
    border-radius:6px;
    background:#fff;
    color:var(--mcpg-orange);
    display:flex;
    align-items:center;
    justify-content:center;
    font:inherit;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    cursor:pointer;
    transition:.16s ease;
}
.mcpg-pi__qr-download:hover{
    background:var(--mcpg-orange);
    color:#fff;
}
@media(max-width:700px){
    .mcpg-pi__qr-layout{
        grid-template-columns:120px minmax(0,1fr);
    }
    .mcpg-pi__qr-generator{
        width:120px;
        height:120px;
    }
}


/* =========================================================
   AJUSTES FINAIS DA COLUNA INFORMAÇÕES — v1.2.0
   Produtos permanecem sem alterações.
   ========================================================= */
.mcpg-pi__sidebar{
    gap:14px;
}

.mcpg-pi__info-card{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
}

.mcpg-pi__qr-card{
    margin-top:0;
    flex:0 0 auto;
}

.mcpg-pi__payments{
    gap:7px;
}

.mcpg-pi__payment{
    width:auto;
    min-width:58px;
    height:36px;
    padding:4px 7px;
    border-color:#e6e6e6;
    background:#fff;
}

.mcpg-pi__payment img{
    width:auto;
    max-width:76px;
    height:26px;
    max-height:26px;
    object-fit:contain;
}

.mcpg-pi__payment--mastercard img,
.mcpg-pi__payment--master img{
    max-width:72px;
}

.mcpg-pi__payment--pix img{
    max-width:84px;
}

.mcpg-pi__hours{
    margin-top:18px;
}

.mcpg-pi__hours-heading{
    display:flex!important;
    align-items:center;
    gap:7px;
    margin-bottom:9px!important;
    color:#222!important;
    font-size:11px!important;
    font-weight:700!important;
}

.mcpg-pi__hours-heading svg{
    width:17px;
    height:17px;
    flex:0 0 17px;
    fill:var(--mcpg-orange);
}

.mcpg-pi__hours-list{
    overflow:hidden;
    border:1px solid #f0ece8;
    border-radius:8px;
    background:#fffaf6;
}

.mcpg-pi__hours-row{
    min-height:34px;
    padding:7px 10px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    border-bottom:1px solid #eadfd6;
}

.mcpg-pi__hours-row:last-child{
    border-bottom:0;
}

.mcpg-pi__hours-row>span{
    color:#333;
    font-size:11px;
    line-height:1.3;
    font-weight:500;
}

.mcpg-pi__hours-row>strong{
    color:#333;
    font-size:11px;
    line-height:1.3;
    font-weight:600;
    white-space:nowrap;
}

.mcpg-pi__hours-row>strong.is-closed{
    color:var(--mcpg-orange);
    font-weight:800;
}

@media(max-width:920px){
    .mcpg-pi__info-card{
        min-height:100%;
    }
}

@media(max-width:700px){
    .mcpg-pi__payment{
        min-width:54px;
        height:34px;
    }

    .mcpg-pi__payment img{
        max-height:24px;
    }
}


/* =========================================================
   PRODUTOS COM AMPLIAÇÃO E CONTATO POR WHATSAPP — v1.4.0
   ========================================================= */
.mcpg-pi__product{
    display:flex;
    flex-direction:column;
}
button.mcpg-pi__image{
    position:relative;
    width:100%;
    padding:0;
    border:0;
    border-radius:0;
    appearance:none;
    cursor:zoom-in;
    text-align:inherit;
}
.mcpg-pi__image-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#999;
    font-size:11px;
}
.mcpg-pi__zoom-icon{
    position:absolute;
    right:8px;
    bottom:8px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#333;
    font-size:18px;
    font-weight:700;
    box-shadow:0 3px 12px rgba(0,0,0,.14);
    opacity:0;
    transform:translateY(3px);
    transition:.16s ease;
}
.mcpg-pi__product:hover .mcpg-pi__zoom-icon,
.mcpg-pi__image:focus-visible .mcpg-pi__zoom-icon{
    opacity:1;
    transform:translateY(0);
}
.mcpg-pi__product-content{
    flex:1;
    display:flex;
    flex-direction:column;
}
.mcpg-pi__prices{
    min-height:39px;
}
.mcpg-pi__interest{
    width:100%;
    min-height:37px;
    margin-top:auto;
    padding:8px 10px;
    border:1px solid var(--mcpg-orange);
    border-radius:6px;
    background:var(--mcpg-orange);
    color:#fff;
    font:inherit;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
    transition:background .16s ease,color .16s ease,transform .16s ease;
}
.mcpg-pi__interest:hover{
    background:#df6f12;
    transform:translateY(-1px);
}
.mcpg-pi__interest:focus-visible,
.mcpg-pi__image:focus-visible,
.mcpg-pi__modal-close:focus-visible{
    outline:2px solid #222;
    outline-offset:2px;
}
.mcpg-pi__modal[hidden]{
    display:none!important;
}
.mcpg-pi__modal{
    position:fixed;
    z-index:999999;
    inset:0;
    padding:24px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.mcpg-pi__modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(16,19,22,.78);
    backdrop-filter:blur(3px);
}
.mcpg-pi__modal-dialog{
    position:relative;
    z-index:1;
    width:min(920px,100%);
    max-height:calc(100vh - 48px);
    overflow:auto;
    border-radius:14px;
    background:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,.35);
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
}
.mcpg-pi__modal-close{
    position:absolute;
    z-index:2;
    right:12px;
    top:12px;
    width:36px;
    height:36px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    color:#222;
    font-size:25px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 4px 15px rgba(0,0,0,.15);
}
.mcpg-pi__modal-image-wrap{
    min-height:480px;
    background:#f3f4f5;
    display:flex;
    align-items:center;
    justify-content:center;
}
.mcpg-pi__modal-image{
    display:block;
    width:100%;
    max-height:76vh;
    object-fit:contain;
}
.mcpg-pi__modal-content{
    padding:64px 24px 24px;
    display:flex;
    flex-direction:column;
}
.mcpg-pi__modal-content h3{
    min-height:auto!important;
    margin:0!important;
    font-size:18px!important;
    line-height:1.35!important;
    font-weight:700!important;
}
.mcpg-pi__modal-content>strong{
    margin-top:10px;
    color:var(--mcpg-orange);
    font-size:18px;
}
.mcpg-pi__interest--modal{
    margin-top:auto;
    min-height:44px;
    font-size:11px;
}
body.mcpg-pi-modal-open{
    overflow:hidden;
}
@media(max-width:700px){
    .mcpg-pi__zoom-icon{
        opacity:1;
        transform:none;
    }
    .mcpg-pi__modal{
        padding:12px;
    }
    .mcpg-pi__modal-dialog{
        max-height:calc(100vh - 24px);
        grid-template-columns:1fr;
    }
    .mcpg-pi__modal-image-wrap{
        min-height:300px;
    }
    .mcpg-pi__modal-image{
        max-height:58vh;
    }
    .mcpg-pi__modal-content{
        padding:18px;
    }
    .mcpg-pi__interest--modal{
        margin-top:18px;
    }
}

/* =========================================================
   NOVO LAYOUT PRODUTO DA SEMANA — v2.0.0
   ========================================================= */
.mcpg-pi__products{padding:16px}.mcpg-pi__featured-layout{display:grid;grid-template-columns:240px minmax(300px,1.55fr) minmax(300px,1.35fr);gap:14px;align-items:stretch}.mcpg-pi__weekly-copy{min-width:0;padding:10px 2px 4px;display:flex;flex-direction:column;align-items:flex-start}.mcpg-pi__weekly-label{display:flex;align-items:center;gap:6px;color:var(--mcpg-orange);font-size:12px;font-weight:900;letter-spacing:.02em}.mcpg-pi__weekly-discount{margin-top:16px;padding:7px 12px;border-radius:6px;background:#ef2617;color:#fff;font-size:12px;font-weight:900;box-shadow:0 4px 12px rgba(239,38,23,.18)}.mcpg-pi__weekly-copy h2{margin:17px 0 0!important;font-size:25px!important;line-height:1.25!important;font-weight:800!important}.mcpg-pi__weekly-description{margin:20px 0 0!important;color:#333!important;font-size:12px!important;line-height:1.7!important}.mcpg-pi__weekly-from{margin-top:24px;color:#8b8b8b;font-size:12px;text-decoration:line-through}.mcpg-pi__weekly-por{margin-top:18px;color:var(--mcpg-orange);font-size:14px;font-weight:800}.mcpg-pi__weekly-price{margin-top:2px;color:#f36f0a;font-size:30px;line-height:1.1;font-weight:900}.mcpg-pi__weekly-saving{margin-top:14px;padding:8px 12px;border:1px solid #eaded6;border-radius:7px;display:flex;flex-direction:column;gap:2px;background:#fff}.mcpg-pi__weekly-saving span{color:#888;font-size:10px}.mcpg-pi__weekly-saving strong{font-size:12px}.mcpg-pi__weekly-validity{margin-top:20px;color:#666;font-size:11px}.mcpg-pi__weekly-interest{margin-top:auto;min-height:45px;font-size:12px}.mcpg-pi__weekly-gallery{min-width:0;display:flex;flex-direction:column;gap:10px}.mcpg-pi__weekly-main{width:100%;min-height:0;aspect-ratio:4/5;padding:0;border:0;border-radius:8px;overflow:hidden;background:#f3f3f3;cursor:zoom-in}.mcpg-pi__weekly-main img{display:block;width:100%;height:100%;object-fit:cover}.mcpg-pi__weekly-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.mcpg-pi__weekly-thumb{aspect-ratio:1/1;padding:0;border:1px solid #e4e4e4;border-radius:6px;overflow:hidden;background:#fff;cursor:pointer}.mcpg-pi__weekly-thumb.is-active{border:2px solid var(--mcpg-orange)}.mcpg-pi__weekly-thumb img{display:block;width:100%;height:100%;object-fit:cover}.mcpg-pi__top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.mcpg-pi__bottom-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.mcpg-pi__product--compact .mcpg-pi__image{aspect-ratio:1.28/1}.mcpg-pi__product--compact h3{min-height:36px}.mcpg-pi__product--compact .mcpg-pi__product-content{padding:9px}.mcpg-pi__product--compact .mcpg-pi__interest{min-height:34px}.mcpg-pi__featured-layout+.mcpg-pi__bottom-grid{padding-top:0}.mcpg-pi__weekly-main+.mcpg-pi__weekly-thumbs{margin-top:0}
@media(max-width:1300px){.mcpg-pi__featured-layout{grid-template-columns:210px minmax(280px,1.35fr) minmax(280px,1.25fr)}.mcpg-pi__weekly-copy h2{font-size:22px!important}.mcpg-pi__weekly-price{font-size:26px}}
@media(max-width:1080px){.mcpg-pi__featured-layout{grid-template-columns:minmax(210px,.75fr) minmax(320px,1.25fr)}.mcpg-pi__top-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.mcpg-pi__bottom-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:920px){.mcpg-pi__featured-layout{grid-template-columns:minmax(200px,.7fr) minmax(300px,1.3fr)}.mcpg-pi__top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mcpg-pi__bottom-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.mcpg-pi__featured-layout{grid-template-columns:1fr}.mcpg-pi__weekly-copy{padding:4px 0}.mcpg-pi__weekly-copy h2{font-size:24px!important}.mcpg-pi__weekly-description{margin-top:12px!important}.mcpg-pi__weekly-from{margin-top:16px}.mcpg-pi__weekly-interest{margin-top:18px}.mcpg-pi__weekly-main{aspect-ratio:1/1}.mcpg-pi__top-grid,.mcpg-pi__bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.mcpg-pi__weekly-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:390px){.mcpg-pi__top-grid,.mcpg-pi__bottom-grid{grid-template-columns:1fr}}


/* =========================================================
   v2.0.1 — IMAGENS SEM CORTE
   Regra: tamanho recomendado no painel = proporção no frontend.
   Produtos: 1200 × 1200 px (1:1).
   ========================================================= */

/* Produto regular: sempre quadrado, sem crop. */
.mcpg-pi__image,
.mcpg-pi__product--compact .mcpg-pi__image{
    aspect-ratio:1/1!important;
    height:auto!important;
    background:#f7f7f7!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.mcpg-pi__image img,
.mcpg-pi__product--compact .mcpg-pi__image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
}

/* Produto da Semana: imagem principal segue o mesmo padrão 1:1. */
.mcpg-pi__weekly-main{
    aspect-ratio:1/1!important;
    height:auto!important;
    background:#f7f7f7!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.mcpg-pi__weekly-main img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
}

/* Miniaturas: sem corte. */
.mcpg-pi__weekly-thumb{
    aspect-ratio:1/1!important;
    background:#f7f7f7!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.mcpg-pi__weekly-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
}

/* Modal/zoom também preserva a imagem completa. */
.mcpg-pi__modal-image,
.mcpg-pi__modal-image img{
    object-fit:contain!important;
    object-position:center center!important;
}

/* Não ampliar imagens em hover: ampliações podem cortar bordas de artes. */
.mcpg-pi__product:hover .mcpg-pi__image img,
.mcpg-pi__weekly-main:hover img,
.mcpg-pi__weekly-thumb:hover img{
    transform:none!important;
}


/* v2.0.2 — Produto da Semana: descrição longa e coluna bem aproveitada */
.mcpg-pi__weekly-copy{
    display:flex!important;
    flex-direction:column!important;
    min-height:100%!important;
}

.mcpg-pi__weekly-description{
    max-height:none!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    display:block!important;
}

.mcpg-pi__weekly-cta{
    margin-top:auto!important;
}

/* Em telas grandes, evita uma coluna textual artificialmente baixa. */
@media (min-width: 1025px){
    .mcpg-pi__weekly-copy{
        align-self:stretch!important;
    }
}

/* v2.1.0 — miniaturas dinâmicas do Produto da Semana */
.mcpg-pi__weekly-gallery{
    align-self:start!important;
    height:auto!important;
}
.mcpg-pi__weekly-thumbs{
    display:grid!important;
    grid-template-columns:repeat(var(--mcpg-weekly-thumbs,2),minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin-top:10px!important;
}
.mcpg-pi__weekly-thumb{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    background:#f7f7f7!important;
}
.mcpg-pi__weekly-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
}
.mcpg-pi__featured-layout{
    align-items:start!important;
}
.mcpg-pi__weekly-copy{
    min-height:0!important;
    height:auto!important;
    align-self:start!important;
}
.mcpg-pi__weekly-interest{
    margin-top:18px!important;
}
@media(max-width:900px){
    .mcpg-pi__weekly-thumbs{
        grid-template-columns:repeat(auto-fit,minmax(70px,1fr))!important;
    }
}


/* =========================================================
   v2.1.1 — MINIATURAS COMPACTAS EM FAIXA
   ========================================================= */

/* A galeria principal não cria altura extra além do conteúdo real. */
.mcpg-pi__weekly-gallery{
    align-self:start!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
}

/* Principal permanece 1:1 e sem corte. */
.mcpg-pi__weekly-main{
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
}

/* Miniaturas viram uma faixa baixa, como seletor de galeria. */
.mcpg-pi__weekly-thumbs{
    display:grid!important;
    grid-template-columns:repeat(var(--mcpg-weekly-thumbs,2),minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin-top:0!important;
    align-items:center!important;
}

/* Altura fixa baixa: evita os quadrados gigantes. */
.mcpg-pi__weekly-thumb{
    width:100%!important;
    height:84px!important;
    min-height:84px!important;
    aspect-ratio:auto!important;
    min-width:0!important;
    overflow:hidden!important;
    border-radius:8px!important;
    background:#f3f4f6!important;
}

/* Miniaturas são apenas seletores: cover é melhor aqui. */
.mcpg-pi__weekly-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
}

/* Realce discreto da miniatura ativa. */
.mcpg-pi__weekly-thumb.is-active{
    outline:2px solid #f58220!important;
    outline-offset:0!important;
}

/* Linha superior termina na altura real de cada coluna. */
.mcpg-pi__featured-layout{
    align-items:start!important;
}

.mcpg-pi__weekly-copy{
    min-height:0!important;
    height:auto!important;
    align-self:start!important;
}

/* Botão logo após o conteúdo, sem empurrar a altura da seção. */
.mcpg-pi__weekly-interest{
    margin-top:18px!important;
}

/* Tablet: miniaturas continuam compactas. */
@media(max-width:1024px){
    .mcpg-pi__weekly-thumb{
        height:76px!important;
        min-height:76px!important;
    }
}

/* Smartphone: faixa rolável para não esmagar miniaturas. */
@media(max-width:640px){
    .mcpg-pi__weekly-thumbs{
        display:flex!important;
        overflow-x:auto!important;
        gap:8px!important;
        padding-bottom:4px!important;
        scrollbar-width:thin;
    }

    .mcpg-pi__weekly-thumb{
        flex:0 0 88px!important;
        width:88px!important;
        height:72px!important;
        min-height:72px!important;
    }
}


/* =========================================================
   v2.2.0 — LAYOUT DEFINITIVO DO PRODUTO DA SEMANA
   1 principal + 3 miniaturas fixas + reset da principal
   ========================================================= */

/* A primeira linha se mede pelo maior conteúdo real, sem altura artificial. */
.mcpg-pi__featured-layout{
    align-items:stretch!important;
    margin-bottom:14px!important;
}

/* Coluna de texto acompanha exatamente a altura da galeria. */
.mcpg-pi__weekly-copy{
    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;
    min-height:0!important;
    height:auto!important;
}

/* Descrição usa o espaço disponível; CTA fica alinhado à base das miniaturas. */
.mcpg-pi__weekly-description{
    max-height:none!important;
    overflow:visible!important;
    display:block!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
}
.mcpg-pi__weekly-interest{
    margin-top:auto!important;
}

/* Galeria: principal + faixa fixa de 3 miniaturas + controle de retorno. */
.mcpg-pi__weekly-gallery{
    align-self:start!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
}
.mcpg-pi__weekly-main{
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
}
.mcpg-pi__weekly-thumbs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
}
.mcpg-pi__weekly-thumb{
    width:100%!important;
    height:86px!important;
    min-height:86px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border-radius:8px!important;
    background:#f3f4f6!important;
}
.mcpg-pi__weekly-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
}
.mcpg-pi__weekly-thumb.is-active{
    outline:2px solid #f58220!important;
    outline-offset:0!important;
}
.mcpg-pi__weekly-reset{
    align-self:flex-start!important;
    border:0!important;
    background:transparent!important;
    color:#667085!important;
    padding:0!important;
    font-size:11px!important;
    font-weight:700!important;
    cursor:pointer!important;
}
.mcpg-pi__weekly-reset:hover{
    color:#f58220!important;
}

/* Linha inferior encosta logo após o bloco principal. */
.mcpg-pi__bottom-grid{
    margin-top:0!important;
}

/* Em desktop, a coluna textual e a galeria ficam visualmente alinhadas. */
@media(min-width:1025px){
    .mcpg-pi__weekly-copy,
    .mcpg-pi__weekly-gallery{
        height:100%!important;
    }
}

/* Smartphone mantém as 3 miniaturas em linha. */
@media(max-width:640px){
    .mcpg-pi__weekly-thumbs{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        overflow:visible!important;
        padding-bottom:0!important;
    }
    .mcpg-pi__weekly-thumb{
        width:100%!important;
        height:68px!important;
        min-height:68px!important;
        flex:none!important;
    }
}


/* =========================================================
   v2.2.1 — MINIATURAS PREENCHENDO 100% DO ESPAÇO DISPONÍVEL
   ========================================================= */

/*
 * A altura da faixa superior é determinada pelo conjunto completo:
 * texto, galeria e grade lateral. A galeria agora ESTICA até o final
 * dessa faixa; as 3 miniaturas ocupam todo o espaço restante abaixo
 * da imagem principal.
 */
.mcpg-pi__featured-layout{
    align-items:stretch!important;
    margin-bottom:12px!important;
}

.mcpg-pi__weekly-gallery{
    position:relative!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    gap:8px!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
}

/* Imagem principal permanece quadrada e sem corte. */
.mcpg-pi__weekly-main{
    position:relative!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
}

/*
 * As 3 miniaturas ocupam TODO o restante da altura.
 * Não existe mais altura fixa de 86px.
 */
.mcpg-pi__weekly-thumbs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
    gap:8px!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    align-items:stretch!important;
}

.mcpg-pi__weekly-thumb{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border-radius:8px!important;
    background:#f3f4f6!important;
}

.mcpg-pi__weekly-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
}

/* Retorno à principal sobre a própria imagem, sem consumir altura. */
.mcpg-pi__weekly-reset{
    position:absolute!important;
    left:12px!important;
    bottom:12px!important;
    z-index:3!important;
    border:1px solid rgba(255,255,255,.45)!important;
    background:rgba(17,24,39,.72)!important;
    color:#fff!important;
    padding:7px 10px!important;
    border-radius:7px!important;
    font-size:10px!important;
    font-weight:800!important;
    cursor:pointer!important;
    backdrop-filter:blur(5px)!important;
}
.mcpg-pi__weekly-reset:hover{
    background:rgba(245,130,32,.92)!important;
    color:#fff!important;
}

/*
 * A coluna de texto também ocupa a mesma altura total.
 * O botão fica alinhado à base das miniaturas.
 */
.mcpg-pi__weekly-copy{
    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
}
.mcpg-pi__weekly-interest{
    margin-top:auto!important;
}

/* A grade inferior encosta na faixa superior. */
.mcpg-pi__bottom-grid{
    margin-top:0!important;
}

/* Tablet/smartphone: volta a fluxo natural para evitar distorção. */
@media(max-width:1024px){
    .mcpg-pi__weekly-gallery{
        height:auto!important;
        grid-template-rows:auto auto!important;
    }
    .mcpg-pi__weekly-thumbs{
        height:110px!important;
    }
}
@media(max-width:640px){
    .mcpg-pi__weekly-thumbs{
        height:82px!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}


/* =========================================================
   v2.3.0 — BANNER PROMOCIONAL AUTOMÁTICO
   Exibido logo abaixo dos produtos quando ativado na Central.
   ========================================================= */

.mcpg-pi__promo-banner{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:0;
    margin-top:16px;
    border:1px solid #e4e7ec;
    border-radius:14px;
    overflow:hidden;
    background:#2f3038;
    color:#fff;
}

.mcpg-pi__promo-media{
    min-height:280px;
    background:#111827;
}

.mcpg-pi__promo-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

.mcpg-pi__promo-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:28px 30px;
}

.mcpg-pi__promo-kicker{
    display:block;
    margin-bottom:8px;
    color:#ff9a43;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.mcpg-pi__promo-content h2{
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(24px,2vw,34px);
    line-height:1.1;
}

.mcpg-pi__promo-content p{
    margin:0 0 14px;
    color:#f1f2f4;
    font-size:14px;
    line-height:1.55;
}

.mcpg-pi__promo-highlight{
    display:block;
    margin:2px 0 8px;
    color:#ff7d14;
    font-size:clamp(24px,2.4vw,38px);
    line-height:1;
}

.mcpg-pi__promo-validity{
    display:block;
    margin-bottom:16px;
    color:#d0d5dd;
    font-size:12px;
}

.mcpg-pi__promo-button{
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border-radius:8px;
    background:#f58220;
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:800;
}

.mcpg-pi__promo-button:hover{
    filter:brightness(.96);
}

@media(max-width:900px){
    .mcpg-pi__promo-banner{
        grid-template-columns:1fr;
    }

    .mcpg-pi__promo-media{
        min-height:0;
        aspect-ratio:16/9;
    }
}

@media(max-width:640px){
    .mcpg-pi__promo-content{
        padding:20px;
    }
}


/* =========================================================
   v2.3.1 — BANNER PROMOCIONAL FULL WIDTH
   Padrão recomendado: 1600 × 500 px
   ========================================================= */

/* O banner fica FORA do grid produtos/sidebar e ocupa 100% da largura. */
.mcpg-pi__promo-banner{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:16/5!important;
    margin:16px 0 0!important;
    border:0!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#111827!important;
    color:#fff!important;
}

/* A imagem preenche toda a peça. */
.mcpg-pi__promo-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center center!important;
}

/* Não existe coluna escura separada. Todo conteúdo fica sobre a arte. */
.mcpg-pi__promo-overlay{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    padding:clamp(18px,3vw,42px)!important;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.68) 0%,
        rgba(0,0,0,.30) 38%,
        rgba(0,0,0,0) 72%
    )!important;
    pointer-events:none!important;
}

/* Só o botão precisa receber clique. */
.mcpg-pi__promo-overlay a{
    pointer-events:auto!important;
}

.mcpg-pi__promo-overlay h2{
    max-width:560px!important;
    margin:0 0 10px!important;
    color:#fff!important;
    font-size:clamp(24px,2.3vw,38px)!important;
    line-height:1.08!important;
}

.mcpg-pi__promo-overlay p{
    max-width:620px!important;
    margin:0 0 12px!important;
    color:#fff!important;
    font-size:clamp(12px,1.05vw,16px)!important;
    line-height:1.5!important;
}

.mcpg-pi__promo-highlight{
    margin:0 0 8px!important;
    color:#ff7d14!important;
    font-size:clamp(22px,2vw,36px)!important;
}

.mcpg-pi__promo-validity{
    margin:0 0 12px!important;
    color:#fff!important;
    font-size:12px!important;
}

.mcpg-pi__promo-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px 18px!important;
    border-radius:8px!important;
    background:#f58220!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px!important;
    font-weight:800!important;
}

/* Remove regras antigas de grid/coluna do banner. */
.mcpg-pi__promo-media,
.mcpg-pi__promo-content,
.mcpg-pi__promo-kicker{
    display:none!important;
}

@media(max-width:900px){
    .mcpg-pi__promo-banner{
        aspect-ratio:16/6!important;
    }
}

@media(max-width:640px){
    .mcpg-pi__promo-banner{
        aspect-ratio:16/8!important;
        border-radius:10px!important;
    }
    .mcpg-pi__promo-overlay{
        padding:16px!important;
        background:linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.38) 58%,
            rgba(0,0,0,.08) 100%
        )!important;
    }
}


/* =========================================================
   v2.3.2 — BANNER COMPACTO, ALINHADO AO CONTEÚDO
   Mesma largura do conjunto Produtos + Informações
   ========================================================= */

/* O banner fica limitado ao mesmo container interno da página. */
.mcpg-pi__promo-banner{
    width:calc(100% - 32px)!important;
    max-width:1400px!important;
    height:230px!important;
    aspect-ratio:auto!important;
    margin:16px auto 0!important;
    border-radius:14px!important;
    overflow:hidden!important;
    position:relative!important;
}

/* A imagem continua preenchendo toda a peça. */
.mcpg-pi__promo-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

/* Overlay discreto, sem criar painel escuro separado. */
.mcpg-pi__promo-overlay{
    position:absolute!important;
    inset:0!important;
    padding:20px 24px!important;
    justify-content:center!important;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.48) 0%,
        rgba(0,0,0,.18) 34%,
        rgba(0,0,0,0) 62%
    )!important;
}

/* Mantém o texto pequeno, já que é um banner e não uma seção inteira. */
.mcpg-pi__promo-overlay h2{
    max-width:480px!important;
    margin:0 0 6px!important;
    font-size:clamp(18px,1.7vw,28px)!important;
    line-height:1.05!important;
}
.mcpg-pi__promo-overlay p{
    max-width:520px!important;
    margin:0 0 8px!important;
    font-size:12px!important;
    line-height:1.4!important;
}
.mcpg-pi__promo-highlight{
    margin:0 0 6px!important;
    font-size:clamp(18px,1.6vw,26px)!important;
}
.mcpg-pi__promo-validity{
    margin:0 0 8px!important;
    font-size:10px!important;
}
.mcpg-pi__promo-button{
    min-height:36px!important;
    padding:8px 14px!important;
    font-size:11px!important;
}

/* Tablet */
@media(max-width:1024px){
    .mcpg-pi__promo-banner{
        width:calc(100% - 24px)!important;
        height:210px!important;
    }
}

/* Mobile */
@media(max-width:640px){
    .mcpg-pi__promo-banner{
        width:calc(100% - 20px)!important;
        height:170px!important;
        border-radius:10px!important;
    }
    .mcpg-pi__promo-overlay{
        padding:14px!important;
        background:linear-gradient(
            90deg,
            rgba(0,0,0,.55) 0%,
            rgba(0,0,0,.22) 55%,
            rgba(0,0,0,.04) 100%
        )!important;
    }
}


/* =========================================================
   v2.3.3 — BANNER CORRIGIDO PELO CONTAINER REAL DA PÁGINA
   Mesma largura EXATA de Produtos + Informações.
   Arte recomendada: 1600 × 320 px (5:1).
   ========================================================= */

/*
 * .mcpg-pi__inner usa max-width:1500px.
 * O banner usa exatamente a mesma regra — sem width calc e sem 1400px.
 */
.mcpg-pi__promo-banner{
    width:100%!important;
    max-width:1500px!important;
    aspect-ratio:5/1!important;
    height:auto!important;
    min-height:0!important;
    margin:16px auto 0!important;
    border-radius:12px!important;
    overflow:hidden!important;
    position:relative!important;
    display:block!important;
    background:#111827!important;
}

/* Imagem ocupa 100% da peça na mesma proporção recomendada. */
.mcpg-pi__promo-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center center!important;
}

/*
 * Overlay só existe para conteúdo/CTA.
 * Tudo fica na parte inferior; não cria painel ou coluna.
 */
.mcpg-pi__promo-overlay{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    padding:22px 28px!important;
    background:linear-gradient(
        0deg,
        rgba(0,0,0,.48) 0%,
        rgba(0,0,0,.14) 34%,
        rgba(0,0,0,0) 62%
    )!important;
    pointer-events:none!important;
}

.mcpg-pi__promo-overlay a{
    pointer-events:auto!important;
}

/* Textos, quando usados, ficam compactos acima do botão. */
.mcpg-pi__promo-overlay h2{
    max-width:620px!important;
    margin:0 0 5px!important;
    color:#fff!important;
    font-size:clamp(18px,1.5vw,26px)!important;
    line-height:1.08!important;
}
.mcpg-pi__promo-overlay p{
    max-width:650px!important;
    margin:0 0 7px!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:1.4!important;
}
.mcpg-pi__promo-highlight{
    margin:0 0 6px!important;
    color:#ff8a22!important;
    font-size:clamp(18px,1.5vw,26px)!important;
}
.mcpg-pi__promo-validity{
    margin:0 0 8px!important;
    color:#fff!important;
    font-size:10px!important;
}

/* CTA maior e deliberadamente na base da peça. */
.mcpg-pi__promo-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:180px!important;
    min-height:48px!important;
    padding:12px 24px!important;
    border-radius:8px!important;
    background:#f58220!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:800!important;
    box-shadow:0 5px 14px rgba(0,0,0,.18)!important;
}
.mcpg-pi__promo-button:hover{
    filter:brightness(.96)!important;
}

/* Mata definitivamente qualquer regra antiga de coluna do banner. */
.mcpg-pi__promo-media,
.mcpg-pi__promo-content,
.mcpg-pi__promo-kicker{
    display:none!important;
}

@media(max-width:1024px){
    .mcpg-pi__promo-banner{
        aspect-ratio:4.4/1!important;
    }
    .mcpg-pi__promo-overlay{
        padding:18px 20px!important;
    }
}
@media(max-width:640px){
    .mcpg-pi__promo-banner{
        aspect-ratio:2.6/1!important;
        border-radius:10px!important;
    }
    .mcpg-pi__promo-overlay{
        padding:14px!important;
    }
    .mcpg-pi__promo-button{
        min-width:150px!important;
        min-height:44px!important;
        padding:10px 18px!important;
        font-size:12px!important;
    }
}


/* v2.4.0 — CTA personalizado por empresa */
.mcpg-pi{
    --mcpg-cta:#f58220;
    --mcpg-cta-hover:#d96f18;
    --mcpg-cta-text:#fff;
}
.mcpg-pi__interest,
.mcpg-pi__weekly-interest,
.mcpg-pi__promo-button{
    background:var(--mcpg-cta)!important;
    border-color:var(--mcpg-cta)!important;
    color:var(--mcpg-cta-text)!important;
}
.mcpg-pi__interest:hover,
.mcpg-pi__weekly-interest:hover,
.mcpg-pi__promo-button:hover{
    background:var(--mcpg-cta-hover)!important;
    border-color:var(--mcpg-cta-hover)!important;
    color:var(--mcpg-cta-text)!important;
    filter:none!important;
}
.mcpg-pi__qr-button{
    border-color:var(--mcpg-cta)!important;
    color:var(--mcpg-cta)!important;
}
.mcpg-pi__qr-button:hover{
    background:var(--mcpg-cta)!important;
    border-color:var(--mcpg-cta)!important;
    color:var(--mcpg-cta-text)!important;
}
