/* Ficha pública de produto. As larguras acompanham a galeria, a oferta e o compartilhamento. */
.bv-ficha {
    --verde: #086b50;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.32fr) minmax(0, .97fr);
    align-items: start;
    gap: clamp(14px, 1.6vw, 24px);
    margin-bottom: 22px;
    padding: clamp(14px, 1.5vw, 22px);
    border: 1px solid #dbe6e2;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 36px #112f2410;
}
.bv-ficha *, .bv-ficha { box-sizing: border-box; }
.bv-ficha > *, .bv-ficha__compra { min-width: 0; }
.bv-ficha__compra { display: grid; gap: 16px; }
.bv-ficha__cabecalho h1 {
    margin: 8px 0;
    font-size: clamp(24px, 2.2vw, 37px);
    line-height: 1.12;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
    color: #13232f;
}
.bv-ficha__cabecalho p, .bv-ficha__rotulo { color: #526475; font-size: 13px; }
.bv-ficha__cabecalho p { margin: 0; }
.bv-ficha__preco { display: grid; gap: 12px; padding: clamp(14px,1.5vw,22px); border: 1px solid #cbd9d4; border-radius: 16px; }
.bv-ficha__cotacao { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.bv-ficha__cotacao > div:first-child { display: grid; align-content: start; justify-items: start; gap: 6px; }
.bv-ficha__cotacao .bv-product-price-card__value { font-size: clamp(24px,2.4vw,40px); line-height: 1.1; overflow-wrap: anywhere; }
.bv-ficha__cotacao del { color: #657383; font-size: 14px; }
.bv-ficha__economia { color: var(--verde); font-size: 14px; font-weight: 750; }
.bv-ficha__loja { display: grid; justify-items: center; align-content: start; gap: 8px; }
.bv-ficha__loja img { width: clamp(55px,6.5vw,92px); height: 36px; object-fit: contain; }
.bv-ficha__preco .bv-product-main-btn { min-height: 44px; padding: 9px 12px; border-radius: 9px; }
.bv-ficha__preco .bv-ficha__ir, .bv-ficha .bv-product-alert-guest .bv-product-inline-btn { background: linear-gradient(175deg,#078965,#05543f); color: white; }
.bv-ficha__comparar { justify-self: center; padding: 8px; font-weight: 750; color: var(--verde); text-underline-offset: 3px; text-decoration: underline; }
.bv-ficha__preco .bv-product-main-btn--secondary { background: #fff; border: 1px solid #b4c7c0; color: #25483d; }
.bv-ficha__preco .bv-product-main-btn--secondary.is-active { background: #e8f7f0; }
.bv-ficha__preco .bv-product-price-card__support { margin: 0; text-align: center; font-size: 12px; line-height: 1.5; color: #556571; }
.bv-ficha__indisponivel { margin: 0; color: #455663; }
.bv-indique { padding: clamp(14px,1.35vw,20px); display: grid; gap: 12px; border: 1px solid #a8d6c2; border-radius: 17px; background: radial-gradient(ellipse at top right,#e9f8eb,transparent 45%),#fff; }
.bv-indique__head { display: grid; grid-template-columns: minmax(0,1fr) clamp(44px,5.8vw,80px); gap: 5px; align-items: center; }
.bv-indique__head h2 { font-size: clamp(21px,1.9vw,30px); line-height: 1.04; letter-spacing: -.035em; margin: 0; color: #172b28; overflow-wrap: anywhere; }
.bv-indique__head img, .bv-indique__desconto img, .bv-indique__btn img { max-width: 100%; object-fit: contain; }
.bv-indique__head img { width: 100%; height: auto; }
.bv-indique > p { margin: 0; line-height: 1.45; font-size: 14px; color: #344d44; }
.bv-indique__desconto { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 13px; color: #264824; background: #eff6d8; font-size: 12px; }
.bv-indique__desconto strong { display: block; font-size: 18px; color: #14543b; line-height: 1.2; }
.bv-indique__links { display: grid; gap: 7px; }
.bv-indique__btn { display: grid; align-items: center; grid-template-columns: 28px minmax(0,1fr) 17px; gap: 12px; padding: 7px 12px; width: 100%; min-height: 44px; border: 1px solid var(--linha); border-radius: 11px; color: #152a2b; background: linear-gradient(110deg,#fff,var(--tom)); text-decoration: none; font: inherit; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer; }
.bv-indique__btn::after { content: ''; width: 17px; height: 15px; background: url('../img/ficha-br/seta.webp') center/contain no-repeat; }
.bv-indique__btn--whatsapp { --linha: #9cd9bd; --tom: #dff7e9; }
.bv-indique__btn--facebook { --linha: #a9c9e6; --tom: #e4f1fe; }
.bv-indique__btn--x { --linha: #c2cad0; --tom: #edf0f3; }
.bv-indique__btn--x img { border-radius: 50%; background: #101010; padding: 5px; }
.bv-indique__btn--copiar { --linha: #e8ca86; --tom: #fff1d0; }
.bv-indique__btn:hover { border-color: #617e74; color: #0a4234; }
.bv-ficha :is(a,button):focus-visible { outline: 3px solid #08765b; outline-offset: 2px; }
.bv-ficha .bv-gallery__rail { display: grid; grid-template-columns: 36px minmax(0,1fr) 36px; align-items: center; gap: 4px; margin: 10px 0 2px; }
.bv-ficha .bv-gallery__thumbs { container: miniaturas / inline-size; position: relative; gap: 5px; padding: 3px 0; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.bv-ficha .bv-gallery__thumbs::-webkit-scrollbar { display: none; }
.bv-ficha .bv-gallery__thumb {
    --quantidade: 3;
    flex: 0 0 calc((100% + 5px) / var(--quantidade) - 5px);
    width: auto; height: auto; aspect-ratio: 1; border-radius: 8px;
}
@container miniaturas (min-width: 191px) { .bv-ficha .bv-gallery__thumb { --quantidade: 4; } }
@container miniaturas (min-width: 240px) { .bv-ficha .bv-gallery__thumb { --quantidade: 5; } }
@container miniaturas (min-width: 289px) { .bv-ficha .bv-gallery__thumb { --quantidade: 6; } }
.bv-ficha .bv-gallery__step { display: grid; place-items: center; width: 36px; height: 44px; padding: 0; border-radius: 9px; border: 1px solid #bed2c8; color: var(--verde); background: #f9fcfa; cursor: pointer; font-size: 28px; line-height: 1; }
.bv-ficha .bv-gallery__step:hover { background: #e5f3eb; }
.bv-ficha .bv-gallery__caption { text-align: center; margin: 4px 0 0; }
.bv-ficha .bv-product-alert-wrap, .bv-ficha__publicidade { grid-column: 1 / -1; }
.bv-ficha .bv-product-alert-wrap {
    --bva-orange: #097858; --bva-orange-deep: #084d3d;
    --bva-ink: #164635; --bva-ink-soft: #355b4b; --bva-line: #b4d8c7; --bva-line-strong: #8ab9a3; --bva-wash: #edf7f0;
    margin: 0;
}
.bv-ficha .bv-product-alert-guest .bv-product-inline-btn { border-color: #087355; }
#ofertas-produto { scroll-margin-top: 90px; }
@media (min-width:761px) and (max-width:1030px) {
    .bv-ficha { grid-template-columns: minmax(0,1fr) minmax(0,1.12fr); }
    .bv-indique { grid-column: 1 / -1; grid-template-columns: 1fr 1.2fr; align-items: center; }
    .bv-indique__head, .bv-indique > p, .bv-indique__desconto { grid-column: 1; }
    .bv-indique__links { grid-column: 2; grid-row: 1 / span 3; }
}
@media (max-width:760px) {
    .bv-ficha { grid-template-columns: minmax(0,1fr); gap: 17px; }
    .bv-ficha__compra { display: contents; }
    .bv-ficha__cabecalho { grid-row: 1; }
    .bv-ficha > .bv-gallery { grid-row: 2; }
    .bv-ficha__preco { grid-row: 3; }
    .bv-indique__head { grid-template-columns: minmax(0,1fr) 56px; }
    .bv-indique__head h2 { font-size: 24px; }
    .bv-indique__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .bv-indique__btn { grid-template-columns: 24px minmax(0,1fr); gap: 7px; padding: 7px 8px; font-size: 14px; }
    .bv-indique__btn img { width: 24px; height: 24px; }
    .bv-indique__btn::after { display: none; }
}
@media (max-width:350px) {
    .bv-indique__links { grid-template-columns: 1fr; }
    .bv-ficha__cotacao { grid-template-columns: 1fr; }
    .bv-ficha__loja { display: flex; justify-content: start; align-items: center; }
}
