:root{--acfr-orange:#ff6b1a;--acfr-navy:#0d2e4d;--acfr-text:#0b2440;--acfr-muted:#64748b;--acfr-line:#d9e2ec;--acfr-bg:#fff;--acfr-shadow:0 14px 38px rgba(13,46,77,.13)}
.acfr-banner-wrap{width:100%;max-width:100%;margin:0 auto;container-type:inline-size;font-family:inherit;box-sizing:border-box}
.acfr-card{position:relative;display:grid;grid-template-columns:minmax(170px,240px) minmax(0,1fr) auto;grid-template-rows:auto 1fr;grid-template-areas:"media top top" "media copy action";align-items:start;gap:8px 20px;width:100%;box-sizing:border-box;background:var(--acfr-bg);border:0;border-left:var(--acfr-edge-width,1px) solid var(--acfr-edge-color,var(--acfr-line));border-right:var(--acfr-edge-width,1px) solid var(--acfr-edge-color,var(--acfr-line));border-bottom:var(--acfr-edge-width,1px) solid var(--acfr-edge-color,var(--acfr-line));border-top:3px solid var(--acfr-top-color,var(--acfr-orange));border-radius:16px;padding:14px 17px;box-shadow:var(--acfr-shadow);overflow:hidden;color:var(--acfr-text)}
.acfr-card-topline{grid-area:top;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:28px;padding-top:0}
.acfr-disclosure{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7b8794}
.acfr-merchant-logo{display:block;max-width:104px;max-height:34px;width:auto;height:auto;object-fit:contain}
.acfr-media-frame{grid-area:media;position:relative;display:block;align-self:stretch;height:100%;min-height:172px;aspect-ratio:auto;background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;overflow:hidden;text-decoration:none}
.acfr-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:2px;box-sizing:border-box;opacity:0;transform:scale(.985);transition:opacity .45s ease,transform .45s ease}
.acfr-slide.is-active{opacity:1;transform:scale(1)}
.acfr-dots{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);display:flex;gap:4px;padding:4px 6px;border-radius:12px;background:rgba(255,255,255,.78);backdrop-filter:blur(4px)}
.acfr-dots i{width:5px;height:5px;border-radius:50%;background:#b8c2cc}.acfr-dots i.is-active{background:var(--acfr-orange)}
.acfr-copy{grid-area:copy;min-width:0;align-self:start;padding-top:2px}.acfr-copy h3{margin:0 0 7px!important;font-size:clamp(16px,2.3cqi,23px)!important;line-height:1.18!important;font-weight:800!important;color:var(--acfr-text)!important;letter-spacing:-.015em!important}
.acfr-description,.acfr-description p{margin:0!important;color:var(--acfr-muted)!important;font-size:14px!important;line-height:1.45!important}.acfr-description p+p{margin-top:5px!important}
.acfr-action{grid-area:action;display:flex;align-items:flex-start;justify-content:flex-end;align-self:start;padding-top:8px}
.acfr-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 17px;border-radius:10px;background:var(--acfr-button-color,var(--acfr-orange));color:var(--acfr-button-text-color,#fff)!important;text-decoration:none!important;font-weight:800;font-size:14px;white-space:nowrap;box-shadow:0 7px 16px rgba(13,46,77,.14);transition:transform .16s ease,box-shadow .16s ease}
.acfr-cta:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(13,46,77,.19);color:var(--acfr-button-text-color,#fff)!important}
@container (max-width:700px){.acfr-card{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"top top" "media copy" "action action";gap:12px 14px;padding:13px}.acfr-media-frame{min-height:105px;height:auto;aspect-ratio:1/1}.acfr-action{justify-content:stretch}.acfr-cta{width:100%;box-sizing:border-box}.acfr-copy h3{font-size:17px!important}}
@container (max-width:480px){.acfr-card{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"top" "media" "copy" "action"}.acfr-media-frame{min-height:165px;max-height:260px}.acfr-card-topline{align-items:flex-start}.acfr-merchant-logo{max-width:90px;max-height:28px}.acfr-copy{text-align:left}}
.acfr-context-anchor .acfr-card{grid-template-columns:96px minmax(0,1fr) auto;grid-template-rows:auto;grid-template-areas:"media copy action";padding:8px 44px 8px 10px;border-top-width:2px;border-radius:12px;gap:10px;box-shadow:none;min-height:92px}
.acfr-context-anchor .acfr-card-topline{display:none}.acfr-context-anchor .acfr-media-frame{min-height:74px;max-height:78px;aspect-ratio:1/1}.acfr-context-anchor .acfr-copy h3{font-size:15px!important;margin-bottom:3px!important}.acfr-context-anchor .acfr-description{font-size:12px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.acfr-context-anchor .acfr-cta{min-height:38px;padding:0 13px;font-size:13px}
@media (max-width:700px){.acfr-context-anchor .acfr-card{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"media copy" "action action";padding:8px 38px 8px 8px}.acfr-context-anchor .acfr-media-frame{min-height:58px;max-height:64px}.acfr-context-anchor .acfr-description{display:none}.acfr-context-anchor .acfr-action{justify-content:stretch}.acfr-context-anchor .acfr-cta{width:100%;min-height:34px;font-size:12px}}
.acfr-context-vignette .acfr-card{max-width:780px;margin:auto;grid-template-columns:minmax(180px,260px) minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"top top" "media copy" "media action";padding:20px;gap:14px 22px}.acfr-context-vignette .acfr-media-frame{min-height:230px}.acfr-context-vignette .acfr-action{justify-content:flex-start}
@media(max-width:650px){.acfr-context-vignette .acfr-card{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"top" "media" "copy" "action";padding:14px}.acfr-context-vignette .acfr-media-frame{min-height:200px;max-height:280px}.acfr-context-vignette .acfr-cta{width:100%;box-sizing:border-box}}
.acfr-vignette[hidden],.acfr-anchor[hidden]{display:none!important}.acfr-vignette{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}.acfr-vignette-backdrop{position:absolute;inset:0;background:rgba(4,20,36,.78);backdrop-filter:blur(5px)}.acfr-vignette-dialog{position:relative;z-index:1;width:min(850px,96vw);max-height:94vh;overflow:auto;padding:18px;border-radius:18px;background:#f6f8fb;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.acfr-close{position:absolute;z-index:4;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;font:700 24px/1 Arial,sans-serif;cursor:pointer;background:#fff;color:#0d2e4d;box-shadow:0 4px 18px rgba(0,0,0,.18)}.acfr-vignette-dialog>.acfr-close{right:9px;top:9px}.acfr-anchor>.acfr-close{right:8px;top:8px}
.acfr-anchor{position:fixed;left:50%;bottom:0!important;margin-bottom:0!important;z-index:2147482000;width:min(980px,calc(100vw - 24px));transform:translateX(-50%);padding:0;box-sizing:border-box;border-radius:13px 13px 0 0;background:#fff;box-shadow:0 -8px 36px rgba(7,31,54,.24)}
.acfr-anchor .acfr-banner-wrap{margin-bottom:0!important}
.acfr-anchor .acfr-context-anchor .acfr-card{border-bottom-left-radius:0;border-bottom-right-radius:0}
body.acfr-vignette-open{overflow:hidden!important}
@media print{.acfr-banner-wrap,.acfr-vignette,.acfr-anchor{display:none!important}}

@media (min-width:701px){.acfr-context-standard .acfr-copy h3{margin-top:0!important}.acfr-context-standard .acfr-description{margin-top:2px!important}.acfr-context-standard .acfr-media-frame{margin:0}.acfr-context-standard .acfr-card-topline{margin:0}.acfr-context-standard .acfr-merchant-logo{margin-top:0}}

/* v1.0.3 — imagem quadrada + dimensões individuais por banner no desktop */
@container (min-width:701px){
  .acfr-context-standard{
    width:min(100%,var(--acfr-desktop-width,1100px));
    max-width:var(--acfr-desktop-width,1100px);
  }
  .acfr-context-standard .acfr-card{
    height:var(--acfr-desktop-height,250px);
    min-height:var(--acfr-desktop-height,250px);
    grid-template-columns:min(32cqi,calc(var(--acfr-desktop-height,250px) - 32px),340px) minmax(0,1fr) auto;
    grid-template-rows:40px minmax(0,1fr);
    grid-template-areas:"media top top" "media copy action";
    gap:8px 24px;
    padding:14px 16px;
    align-items:stretch;
  }
  .acfr-context-standard .acfr-media-frame{
    align-self:center;
    justify-self:center;
    width:min(32cqi,calc(var(--acfr-desktop-height,250px) - 32px),340px);
    height:min(32cqi,calc(var(--acfr-desktop-height,250px) - 32px),340px);
    min-height:0;
    max-height:none;
    aspect-ratio:1/1;
    margin:0;
    background:#fff;
  }
  .acfr-context-standard .acfr-slide{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    padding:0;
  }
  .acfr-context-standard .acfr-card-topline{
    align-self:start;
    min-height:34px;
    margin:0;
  }
  .acfr-context-standard .acfr-copy{
    align-self:start;
    padding-top:4px;
    overflow:hidden;
  }
  .acfr-context-standard .acfr-copy h3{
    margin-top:0!important;
  }
  .acfr-context-standard .acfr-description{
    margin-top:2px!important;
  }
  .acfr-context-standard .acfr-action{
    align-self:center;
    padding-top:0;
  }
  .acfr-context-standard .acfr-merchant-logo{
    margin-top:0;
  }
}

/* Em larguras intermediárias o CTA pode descer sem quebrar o banner. */
@container (min-width:701px) and (max-width:820px){
  .acfr-context-standard .acfr-card{
    grid-template-columns:min(30cqi,calc(var(--acfr-desktop-height,250px) - 32px),250px) minmax(0,1fr);
    grid-template-rows:36px minmax(0,1fr) auto;
    grid-template-areas:"media top" "media copy" "media action";
    gap:6px 16px;
  }
  .acfr-context-standard .acfr-media-frame{
    width:min(30cqi,calc(var(--acfr-desktop-height,250px) - 32px),250px);
    height:min(30cqi,calc(var(--acfr-desktop-height,250px) - 32px),250px);
  }
  .acfr-context-standard .acfr-action{justify-content:flex-start;align-self:end;padding-bottom:2px}
}

/* Mobile ignora as dimensões de desktop e se adapta ao espaço disponível. */
@container (max-width:700px){
  .acfr-context-standard{width:100%;max-width:100%}
  .acfr-context-standard .acfr-card{height:auto;min-height:0}
  .acfr-context-standard .acfr-media-frame{aspect-ratio:1/1;background:#fff}
  .acfr-context-standard .acfr-slide{object-fit:cover;padding:0}
}


/* v1.0.4 — galeria de miniaturas sob a descrição, igual ao modelo aprovado */
.acfr-thumbnails{grid-area:thumbs;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;min-width:0}
.acfr-thumb{appearance:none;-webkit-appearance:none;display:block;width:66px;height:66px;padding:2px;margin:0;border:1px solid #cbd5e1;border-radius:4px;background:#fff;cursor:pointer;overflow:hidden;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.acfr-thumb:hover{border-color:#8fa1b5;transform:translateY(-1px)}
.acfr-thumb.is-active{border:2px solid var(--acfr-thumb-active-color,var(--acfr-top-color,var(--acfr-orange)));padding:1px;box-shadow:0 0 0 1px var(--acfr-thumb-active-color,var(--acfr-top-color,var(--acfr-orange)))}
.acfr-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:2px}
.acfr-context-standard .acfr-dots{display:none!important}

@container (min-width:701px){
  .acfr-context-standard .acfr-card{
    grid-template-columns:min(32cqi,calc(var(--acfr-desktop-height,250px) - 32px),340px) minmax(0,1fr) auto;
    grid-template-rows:34px auto 1fr;
    grid-template-areas:"media top top" "media copy action" "media thumbs action";
    gap:5px 24px;
  }
  .acfr-context-standard .acfr-card-topline{min-height:28px;align-items:flex-start}
  .acfr-context-standard .acfr-copy{align-self:start;padding-top:0;overflow:visible;transform:translateY(-2px)}
  .acfr-context-standard .acfr-copy h3{margin:0 0 5px!important;line-height:1.14!important}
  .acfr-context-standard .acfr-description,.acfr-context-standard .acfr-description p{line-height:1.35!important}
  .acfr-context-standard .acfr-thumbnails{align-self:start;justify-content:center;margin-top:4px;padding-bottom:2px}
  .acfr-context-standard .acfr-action{grid-row:2 / 4;grid-column:3;align-self:center;justify-content:flex-end;padding-top:0}
}

@container (min-width:701px) and (max-width:820px){
  .acfr-context-standard .acfr-card{
    grid-template-columns:min(30cqi,calc(var(--acfr-desktop-height,250px) - 32px),250px) minmax(0,1fr);
    grid-template-rows:32px auto auto auto;
    grid-template-areas:"media top" "media copy" "media thumbs" "media action";
    gap:5px 16px;
  }
  .acfr-context-standard .acfr-action{grid-row:auto;grid-column:auto;justify-content:flex-start;align-self:start;padding-bottom:2px}
  .acfr-context-standard .acfr-thumbnails{justify-content:flex-start}
  .acfr-thumb{width:56px;height:56px}
}

@container (max-width:700px){
  .acfr-context-standard .acfr-card{grid-template-areas:"top top" "media copy" "thumbs thumbs" "action action"}
  .acfr-context-standard .acfr-thumbnails{justify-content:center;margin-top:0}
  .acfr-thumb{width:58px;height:58px}
}

@container (max-width:480px){
  .acfr-context-standard .acfr-card{grid-template-areas:"top" "media" "copy" "thumbs" "action"}
  .acfr-context-standard .acfr-thumbnails{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}
  .acfr-thumb{flex:0 0 62px;width:62px;height:62px}
}

/* Em formatos especiais, mantém as miniaturas compactas sem quebrar o layout. */
.acfr-context-vignette .acfr-thumbnails{justify-content:flex-start;margin-top:2px}
.acfr-context-anchor .acfr-thumbnails{display:none!important}

/* v1.0.4 — galeria também organizada quando o mesmo banner é usado na vinheta. */
.acfr-context-vignette .acfr-card{
  grid-template-columns:minmax(180px,260px) minmax(0,1fr);
  grid-template-rows:auto auto auto auto;
  grid-template-areas:"top top" "media copy" "media thumbs" "media action";
}
@media(max-width:650px){
  .acfr-context-vignette .acfr-card{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto auto;
    grid-template-areas:"top" "media" "copy" "thumbs" "action";
  }
  .acfr-context-vignette .acfr-thumbnails{justify-content:center}
}


/* v1.0.5 — dimensões desktop corrigidas + miniaturas opcionais + contorno lateral/inferior */
@media (min-width:783px){
  /* A largura precisa ser aplicada fora de @container: o próprio elemento é o container
     e não pode consultar a si mesmo. Esta regra faz os controles do painel funcionarem. */
  .acfr-banner-wrap.acfr-context-standard{
    width:min(100%,var(--acfr-desktop-width,1100px)) !important;
    max-width:var(--acfr-desktop-width,1100px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .acfr-banner-wrap.acfr-context-standard > .acfr-card{
    height:var(--acfr-desktop-height,250px) !important;
    min-height:var(--acfr-desktop-height,250px) !important;
    max-height:var(--acfr-desktop-height,250px) !important;
  }

  /* Sem miniaturas, devolve a área da galeria ao conteúdo e mantém CTA centralizado. */
  .acfr-context-standard .acfr-card.acfr-thumbs-off{
    grid-template-rows:34px minmax(0,1fr) !important;
    grid-template-areas:"media top top" "media copy action" !important;
  }
  .acfr-context-standard .acfr-card.acfr-thumbs-off .acfr-action{
    grid-row:2 !important;
    grid-column:3 !important;
    align-self:center !important;
  }
}

@media (max-width:782px){
  /* As medidas configuradas são exclusivas do desktop. */
  .acfr-banner-wrap.acfr-context-standard{
    width:100% !important;
    max-width:100% !important;
  }
  .acfr-banner-wrap.acfr-context-standard > .acfr-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

/* Miniaturas desligadas também ficam corretas em containers estreitos/mobile. */
@container (max-width:700px){
  .acfr-context-standard .acfr-card.acfr-thumbs-off{
    grid-template-areas:"top top" "media copy" "action action";
  }
}
@container (max-width:480px){
  .acfr-context-standard .acfr-card.acfr-thumbs-off{
    grid-template-areas:"top" "media" "copy" "action";
  }
}

/* v1.0.6 — âncora realmente colada ao viewport */
html body .acfr-anchor{bottom:0!important}


/* v1.0.7 — imagens e vídeos misturados nos 4 slots de mídia */
.acfr-media-frame .acfr-video-slide{display:block;object-fit:contain!important;object-position:center;background:#0b1220;padding:0!important;pointer-events:none}
.acfr-thumb{position:relative}
.acfr-thumb img,.acfr-thumb video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:2px;pointer-events:none}
.acfr-thumb-video{background:#0b1220}
.acfr-thumb-video video{background:#0b1220}
.acfr-video-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(0,0,0,.68);color:#fff;font:700 11px/1 Arial,sans-serif;box-shadow:0 1px 7px rgba(0,0,0,.28);pointer-events:none}
.acfr-thumb.is-active .acfr-video-badge{background:var(--acfr-thumb-active-color,var(--acfr-top-color,var(--acfr-orange)))}

/* v1.0.8 — preço opcional + selo FULL + estilo global */
.acfr-price-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:8px;min-height:28px}
.acfr-price{display:inline-block;color:var(--acfr-text);font-size:22px;line-height:1.1;font-weight:900;letter-spacing:-.02em}
.acfr-full-logo{display:block;width:auto;height:auto;max-width:78px;max-height:26px;object-fit:contain}
.acfr-full-fallback{display:inline-flex;align-items:center;gap:3px;color:#00a650;font-size:14px;line-height:1;font-weight:900;font-style:italic;letter-spacing:.02em;white-space:nowrap}.acfr-full-fallback b{font-size:15px}
.acfr-context-anchor .acfr-price-row{justify-content:flex-start;margin-top:3px;gap:7px}.acfr-context-anchor .acfr-price{font-size:14px}.acfr-context-anchor .acfr-full-logo{max-width:55px;max-height:18px}.acfr-context-anchor .acfr-full-fallback{font-size:11px}
@container (max-width:700px){.acfr-price-row{justify-content:flex-start}.acfr-price{font-size:18px}.acfr-full-logo{max-width:68px;max-height:23px}}
@container (max-width:480px){.acfr-price-row{margin-top:7px}}


/* v1.0.9 — desconto OFF ao lado do preço + FULL inline com raio SVG */
.acfr-price-row{column-gap:7px;row-gap:6px}
.acfr-discount-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 5px;border-radius:3px;background:#00a650;color:#fff;font-size:12px;line-height:1;font-weight:800;letter-spacing:0;white-space:nowrap;vertical-align:middle}
.acfr-full-inline{display:inline-flex;align-items:center;gap:2px;color:#00a650;font-size:14px;line-height:1;font-weight:900;font-style:italic;letter-spacing:.02em;white-space:nowrap}
.acfr-full-inline svg{display:block;flex:0 0 auto;width:12px;height:13px;color:#00a650}
.acfr-full-inline span{display:block;line-height:1}
.acfr-context-anchor .acfr-discount-badge{padding:2px 4px;font-size:9px}.acfr-context-anchor .acfr-full-inline{font-size:11px}.acfr-context-anchor .acfr-full-inline svg{width:10px;height:11px}
@container (max-width:700px){.acfr-discount-badge{font-size:11px}.acfr-full-inline{font-size:13px}}


/* v1.0.10 — preço/OFF/FULL agrupados logo abaixo do CTA no desktop */
.acfr-commerce{grid-area:commerce;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;align-self:stretch;gap:11px;min-width:max-content}
.acfr-commerce .acfr-action{grid-area:auto;display:flex;align-items:center;justify-content:flex-end;align-self:auto;padding-top:0;width:100%}
.acfr-commerce .acfr-price-row{margin:0;justify-content:flex-end;flex-wrap:nowrap;gap:7px;min-height:26px;width:100%;font-family:"Proxima Nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.acfr-commerce .acfr-price{display:inline-flex;align-items:flex-start;color:#222;font-family:"Proxima Nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:26px;line-height:1;font-weight:400;letter-spacing:-.02em;white-space:nowrap}
.acfr-commerce .acfr-price-main{font:inherit;line-height:1;font-weight:400}
.acfr-commerce .acfr-price-cents{position:relative;top:1px;margin-left:2px;font:400 13px/1 "Proxima Nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:0;vertical-align:top}

@container (min-width:821px){
  .acfr-context-standard .acfr-card{
    grid-template-areas:"media top top" "media copy commerce" "media thumbs commerce";
  }
  .acfr-context-standard .acfr-commerce{
    grid-row:2 / 4;
    grid-column:3;
    align-self:center;
    justify-content:center;
    gap:13px;
  }
  .acfr-context-standard .acfr-commerce .acfr-action{justify-content:flex-end}
  .acfr-context-standard .acfr-commerce .acfr-price-row{justify-content:flex-end}
  .acfr-context-standard .acfr-card.acfr-thumbs-off{
    grid-template-areas:"media top top" "media copy commerce" !important;
  }
  .acfr-context-standard .acfr-card.acfr-thumbs-off .acfr-commerce{
    grid-row:2 !important;
    grid-column:3 !important;
    align-self:center !important;
  }
}

@container (min-width:701px) and (max-width:820px){
  .acfr-context-standard .acfr-card{
    grid-template-areas:"media top" "media copy" "media thumbs" "media commerce";
  }
  .acfr-context-standard .acfr-commerce{align-items:flex-start;justify-content:flex-start;gap:8px;min-width:0}
  .acfr-context-standard .acfr-commerce .acfr-action,
  .acfr-context-standard .acfr-commerce .acfr-price-row{justify-content:flex-start;width:auto}
}

@container (max-width:700px){
  .acfr-context-standard .acfr-card{grid-template-areas:"top top" "media copy" "thumbs thumbs" "commerce commerce"}
  .acfr-context-standard .acfr-commerce{align-items:stretch;gap:9px;min-width:0;width:100%}
  .acfr-context-standard .acfr-commerce .acfr-action{justify-content:stretch;width:100%}
  .acfr-context-standard .acfr-commerce .acfr-price-row{justify-content:flex-start;width:100%;flex-wrap:wrap}
  .acfr-context-standard .acfr-commerce .acfr-price{font-size:22px}
  .acfr-context-standard .acfr-commerce .acfr-price-cents{font-size:12px}
}
@container (max-width:480px){
  .acfr-context-standard .acfr-card{grid-template-areas:"top" "media" "copy" "thumbs" "commerce"}
}

/* Formatos especiais continuam compactos e funcionais. */
.acfr-context-anchor .acfr-card{grid-template-areas:"media copy commerce"}
.acfr-context-anchor .acfr-commerce{align-items:flex-end;gap:4px;min-width:max-content}
.acfr-context-anchor .acfr-commerce .acfr-action{justify-content:flex-end}
.acfr-context-anchor .acfr-commerce .acfr-price-row{justify-content:flex-end;gap:5px}
.acfr-context-anchor .acfr-commerce .acfr-price{font-size:14px;font-weight:400}
.acfr-context-anchor .acfr-commerce .acfr-price-cents{font-size:9px;top:0}
@media (max-width:700px){
  .acfr-context-anchor .acfr-card{grid-template-areas:"media copy" "commerce commerce"}
  .acfr-context-anchor .acfr-commerce{align-items:stretch;min-width:0}
  .acfr-context-anchor .acfr-commerce .acfr-action{justify-content:stretch}
  .acfr-context-anchor .acfr-commerce .acfr-price-row{justify-content:flex-start}
}
.acfr-context-vignette .acfr-card{grid-template-areas:"top top" "media copy" "media thumbs" "media commerce"}
.acfr-context-vignette .acfr-commerce{align-items:flex-start;justify-content:flex-start;gap:9px;min-width:0}
.acfr-context-vignette .acfr-commerce .acfr-action,.acfr-context-vignette .acfr-commerce .acfr-price-row{justify-content:flex-start}
@media(max-width:650px){.acfr-context-vignette .acfr-card{grid-template-areas:"top" "media" "copy" "thumbs" "commerce"}}


/* v1.0.11 — mais respiro entre CTA e preço + peso configurável */
.acfr-commerce{gap:18px}
.acfr-commerce .acfr-price-row{margin-top:2px}
.acfr-commerce .acfr-price,
.acfr-commerce .acfr-price-main{font-weight:var(--acfr-price-weight,500)}
.acfr-commerce .acfr-price-cents{font-weight:var(--acfr-price-weight,500)}
@container (min-width:821px){
  .acfr-context-standard .acfr-commerce{gap:20px}
  .acfr-context-standard .acfr-commerce .acfr-price-row{transform:translateY(2px)}
}
@container (min-width:701px) and (max-width:820px){
  .acfr-context-standard .acfr-commerce{gap:14px}
}
@container (max-width:700px){
  .acfr-context-standard .acfr-commerce{gap:12px}
  .acfr-context-standard .acfr-commerce .acfr-price-row{transform:none}
}
.acfr-context-anchor .acfr-commerce{gap:6px}
.acfr-context-vignette .acfr-commerce{gap:13px}


/* v1.0.12 — distância manual do preço + centralização real em banners verticais */
/* O valor configurado controla apenas o espaço entre CTA e preço/FULL no banner padrão. */
.acfr-context-standard .acfr-commerce{gap:var(--acfr-price-gap,30px)!important}
.acfr-context-standard .acfr-commerce .acfr-price-row{margin-top:0!important}
@container (min-width:821px){
  .acfr-context-standard .acfr-commerce{gap:var(--acfr-price-gap,30px)!important}
  .acfr-context-standard .acfr-commerce .acfr-price-row{transform:none!important}
}
@container (min-width:701px) and (max-width:820px){
  .acfr-context-standard .acfr-commerce{gap:var(--acfr-price-gap,30px)!important}
}
@container (max-width:700px){
  .acfr-context-standard .acfr-commerce{gap:var(--acfr-price-gap,30px)!important}
}

/* Quando o espaço real do shortcode vira uma coluna vertical, centraliza o conteúdo visual. */
@container (max-width:480px){
  .acfr-context-standard .acfr-card{justify-items:stretch;text-align:center}
  .acfr-context-standard .acfr-media-frame{
    justify-self:center!important;
    width:min(100%,280px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1/1!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .acfr-context-standard .acfr-copy{
    width:100%;
    box-sizing:border-box;
    text-align:center!important;
    transform:none!important;
    padding-left:4px;
    padding-right:4px;
  }
  .acfr-context-standard .acfr-copy h3,
  .acfr-context-standard .acfr-description,
  .acfr-context-standard .acfr-description p{text-align:center!important}
  .acfr-context-standard .acfr-thumbnails{
    width:100%;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .acfr-context-standard .acfr-commerce{
    width:100%;
    min-width:0!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }
  .acfr-context-standard .acfr-commerce .acfr-action{
    width:100%!important;
    justify-content:center!important;
  }
  .acfr-context-standard .acfr-commerce .acfr-price-row{
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
}

/* v1.0.13: o card inteiro é clicável; miniaturas continuam sendo controles da galeria. */
.acfr-card{cursor:pointer}
.acfr-card .acfr-thumb{cursor:pointer}

/* v1.0.14 — controle individual de conteúdo no mobile + âncora centralizada */
@media (max-width:782px){
  /* Cada banner pode simplificar seu conteúdo apenas no mobile. */
  .acfr-card.acfr-mobile-no-media .acfr-media-frame{display:none!important}
  .acfr-card.acfr-mobile-no-title .acfr-copy h3{display:none!important}
  .acfr-card.acfr-mobile-no-description .acfr-description{display:none!important}
  .acfr-card.acfr-mobile-no-thumbnails .acfr-thumbnails{display:none!important}
  .acfr-card.acfr-mobile-no-logo .acfr-merchant-logo{display:none!important}
  .acfr-card.acfr-mobile-no-disclosure .acfr-disclosure{display:none!important}
  .acfr-card.acfr-mobile-no-button .acfr-action{display:none!important}
  .acfr-card.acfr-mobile-no-price .acfr-price{display:none!important}
  .acfr-card.acfr-mobile-no-discount .acfr-discount-badge{display:none!important}
  .acfr-card.acfr-mobile-no-full .acfr-full-logo,
  .acfr-card.acfr-mobile-no-full .acfr-full-inline,
  .acfr-card.acfr-mobile-no-full .acfr-full-fallback{display:none!important}
  .acfr-card.acfr-mobile-no-price-row .acfr-price-row{display:none!important}
  .acfr-card.acfr-mobile-no-logo.acfr-mobile-no-disclosure .acfr-card-topline{display:none!important}
  .acfr-card.acfr-mobile-no-button.acfr-mobile-no-price-row .acfr-commerce{display:none!important}

  /* Se a mídia principal for desligada, elimina a coluna vazia no mobile. */
  .acfr-context-standard .acfr-card.acfr-mobile-no-media{
    grid-template-columns:1fr!important;
    grid-template-areas:"top" "copy" "thumbs" "commerce"!important;
  }

  /* Âncora: textos, CTA e preço ficam visualmente centralizados no celular. */
  .acfr-context-anchor .acfr-card{
    text-align:center!important;
  }
  .acfr-context-anchor .acfr-copy{
    text-align:center!important;
    width:100%;
    box-sizing:border-box;
  }
  .acfr-context-anchor .acfr-copy h3,
  .acfr-context-anchor .acfr-description,
  .acfr-context-anchor .acfr-description p{
    text-align:center!important;
  }
  .acfr-context-anchor .acfr-commerce{
    align-items:center!important;
    text-align:center!important;
    width:100%;
  }
  .acfr-context-anchor .acfr-commerce .acfr-action{
    justify-content:center!important;
    width:100%;
  }
  .acfr-context-anchor .acfr-commerce .acfr-price-row{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    width:100%;
  }
  .acfr-context-anchor .acfr-card.acfr-mobile-no-media{
    grid-template-columns:1fr!important;
    grid-template-areas:"copy" "commerce"!important;
    justify-items:center!important;
  }
}

/* v1.0.15 — imagem principal ajustável no desktop, CTA compacto e preço acima do botão */
.acfr-price{letter-spacing:0!important;word-spacing:0!important}
.acfr-price-currency{display:inline-block;margin-right:5px;letter-spacing:0;word-spacing:0}
.acfr-price-main{display:inline-block;letter-spacing:0!important;word-spacing:0!important}
.acfr-price-cents{margin-left:1px!important;letter-spacing:0!important;word-spacing:0!important}

@media (min-width:783px){
  @container (min-width:521px){
    .acfr-context-standard .acfr-card{
      grid-template-columns:minmax(150px,var(--acfr-desktop-media-percent,32%)) minmax(0,1fr) max-content!important;
      grid-template-rows:34px minmax(0,1fr) auto!important;
      grid-template-areas:"media top top" "media copy commerce" "media thumbs commerce"!important;
      gap:6px 18px!important;
      align-items:stretch!important;
    }
    .acfr-context-standard .acfr-media-frame{
      grid-area:media!important;
      width:min(100%,calc(var(--acfr-desktop-height,250px) - 30px))!important;
      height:auto!important;
      aspect-ratio:1/1!important;
      min-height:0!important;
      max-height:calc(var(--acfr-desktop-height,250px) - 30px)!important;
      align-self:center!important;
      justify-self:start!important;
      margin:0!important;
    }
    .acfr-context-standard .acfr-slide{
      object-fit:cover!important;
      object-position:center!important;
      padding:0!important;
    }
    .acfr-context-standard .acfr-card-topline{
      grid-area:top!important;
      min-height:28px!important;
      align-items:flex-start!important;
      margin:0!important;
    }
    .acfr-context-standard .acfr-copy{
      grid-area:copy!important;
      align-self:start!important;
      min-width:0!important;
      max-width:100%!important;
      padding:0 2px 0 0!important;
      transform:none!important;
      overflow:hidden!important;
      text-align:left!important;
    }
    .acfr-context-standard .acfr-copy h3{
      margin:0 0 6px!important;
      font-size:clamp(16px,2cqi,22px)!important;
      line-height:1.16!important;
      text-align:left!important;
    }
    .acfr-context-standard .acfr-description,
    .acfr-context-standard .acfr-description p{
      text-align:left!important;
      font-size:13.5px!important;
      line-height:1.38!important;
    }
    .acfr-context-standard .acfr-thumbnails{
      grid-area:thumbs!important;
      justify-content:flex-start!important;
      align-self:start!important;
      margin:2px 0 0!important;
      padding:0!important;
      flex-wrap:wrap!important;
      overflow:visible!important;
    }
    .acfr-context-standard .acfr-commerce{
      grid-area:commerce!important;
      grid-row:2 / 4!important;
      grid-column:3!important;
      display:flex!important;
      flex-direction:column!important;
      align-items:center!important;
      justify-content:center!important;
      align-self:stretch!important;
      gap:var(--acfr-price-gap,30px)!important;
      min-width:0!important;
      width:auto!important;
      text-align:center!important;
    }
    .acfr-context-standard .acfr-commerce .acfr-price-row{
      order:1!important;
      width:auto!important;
      min-width:0!important;
      justify-content:center!important;
      align-items:center!important;
      text-align:center!important;
      flex-wrap:nowrap!important;
      transform:none!important;
      margin:0!important;
    }
    .acfr-context-standard .acfr-commerce .acfr-action{
      order:2!important;
      width:auto!important;
      min-width:0!important;
      justify-content:center!important;
      align-items:center!important;
      align-self:center!important;
      padding:0!important;
    }
    .acfr-context-standard .acfr-commerce .acfr-cta{
      width:auto!important;
      max-width:none!important;
      min-width:0!important;
      padding-left:17px!important;
      padding-right:17px!important;
      white-space:nowrap!important;
      box-sizing:border-box!important;
    }
    .acfr-context-standard .acfr-commerce .acfr-price{
      font-size:24px!important;
      line-height:1!important;
      display:inline-flex!important;
      align-items:flex-start!important;
      letter-spacing:0!important;
      word-spacing:0!important;
    }
    .acfr-context-standard .acfr-commerce .acfr-price-cents{font-size:12px!important;top:0!important}
    .acfr-context-standard .acfr-card.acfr-thumbs-off{
      grid-template-rows:34px minmax(0,1fr)!important;
      grid-template-areas:"media top top" "media copy commerce"!important;
    }
    .acfr-context-standard .acfr-card.acfr-thumbs-off .acfr-commerce{
      grid-row:2!important;
      grid-column:3!important;
    }
  }
}

/* Em banners realmente verticais/estreitos no desktop, preserva a centralização solicitada antes. */
@media (min-width:783px){
  @container (max-width:520px){
    .acfr-context-standard .acfr-card{justify-items:stretch!important;text-align:center!important}
    .acfr-context-standard .acfr-copy,
    .acfr-context-standard .acfr-copy h3,
    .acfr-context-standard .acfr-description,
    .acfr-context-standard .acfr-description p{text-align:center!important}
    .acfr-context-standard .acfr-commerce,
    .acfr-context-standard .acfr-commerce .acfr-action,
    .acfr-context-standard .acfr-commerce .acfr-price-row{align-items:center!important;justify-content:center!important;text-align:center!important}
    .acfr-context-standard .acfr-cta{width:auto!important;display:inline-flex!important}
  }
}

/* Fallback explícito do layout desktop para instalações/temas onde container queries
   usam a largura do shortcode e poderiam tratar um banner horizontal estreito como mobile. */
@media (min-width:783px){
  .acfr-context-standard.acfr-desktop-horizontal .acfr-card{
    grid-template-columns:minmax(150px,var(--acfr-desktop-media-percent,32%)) minmax(0,1fr) max-content!important;
    grid-template-rows:34px minmax(0,1fr) auto!important;
    grid-template-areas:"media top top" "media copy commerce" "media thumbs commerce"!important;
    gap:6px 18px!important;
  }
  .acfr-context-standard.acfr-desktop-horizontal .acfr-media-frame{
    width:min(100%,calc(var(--acfr-desktop-height,250px) - 30px))!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(var(--acfr-desktop-height,250px) - 30px)!important;
    aspect-ratio:1/1!important;
    justify-self:start!important;
    align-self:center!important;
  }
  .acfr-context-standard.acfr-desktop-horizontal .acfr-slide{object-fit:contain!important;background:#fff!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-copy{grid-area:copy!important;text-align:left!important;transform:none!important;padding:0!important;overflow:hidden!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-copy h3,
  .acfr-context-standard.acfr-desktop-horizontal .acfr-description,
  .acfr-context-standard.acfr-desktop-horizontal .acfr-description p{text-align:left!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-thumbnails{grid-area:thumbs!important;justify-content:flex-start!important;overflow:visible!important;flex-wrap:wrap!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-commerce{grid-area:commerce!important;grid-row:2/4!important;grid-column:3!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;gap:var(--acfr-price-gap,30px)!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-commerce .acfr-price-row{order:1!important;justify-content:center!important;width:auto!important;margin:0!important;transform:none!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-commerce .acfr-action{order:2!important;justify-content:center!important;width:auto!important;padding:0!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-commerce .acfr-cta{width:auto!important;min-width:0!important;max-width:none!important;padding-left:17px!important;padding-right:17px!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-card.acfr-thumbs-off{grid-template-rows:34px minmax(0,1fr)!important;grid-template-areas:"media top top" "media copy commerce"!important}
  .acfr-context-standard.acfr-desktop-horizontal .acfr-card.acfr-thumbs-off .acfr-commerce{grid-row:2!important;grid-column:3!important}
}
