/* Catalog design system. Loaded only by the public storefront layout. */
.storefront {
  --bb-paper: #f7f7f7;
  --bb-surface: #ffffff;
  --bb-ink: #111111;
  --bb-ink-soft: #2b2b2b;
  --bb-line: #dddddd;
  --bb-muted: #626262;
  --bb-bronze: #806600;
  /* Amarelo dos raios do sol da logo: gradiente #fbe769 -> #f6de5b -> #edd252. */
  --bb-sun: #f6de5b;
  --bb-sun-strong: #d1b521;
  --bb-sun-deep: #ffe36b;
  --bb-font: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-family: var(--bb-font);
}
html[data-theme="light"] body.storefront { background: var(--bb-paper); color: var(--bb-ink); }
html[data-theme="dark"] body.storefront { background: var(--bb-paper); color: var(--bb-ink); }
html[data-theme="dark"] .storefront {
  --bb-paper: #101010;
  --bb-surface: #1c1c1c;
  --bb-ink: #ffffff;
  --bb-ink-soft: #e5e5e5;
  --bb-line: #3c3c3c;
  --bb-muted: #b8b8b8;
  --bb-bronze: #f6de5b;
  --bb-sun: #f6de5b;
  --bb-sun-strong: #d1b521;
  --bb-sun-deep: #ffe36b;
}
html[data-theme] .storefront .crm-eyebrow { color: var(--bb-bronze); }
html[data-theme] .storefront :is(.text-amber-700, .text-amber-800, .text-amber-900, .text-amber-950, .text-emerald-700, .text-emerald-800) { color: var(--bb-bronze); }
html[data-theme] .storefront :is(.text-red-700, .text-red-800) { color: var(--bb-ink); }
html[data-theme] .storefront :is(.bg-amber-50, .bg-emerald-50, .bg-emerald-100, .bg-red-50) { background-color: color-mix(in srgb, var(--bb-sun) 24%, var(--bb-surface)); }
html[data-theme] .storefront :is(.border-amber-300, .border-emerald-300, .border-red-300) { border-color: var(--bb-sun-strong); }
.storefront :is(.focus\:ring-amber-700, .focus\:ring-red-500) { --tw-ring-color: var(--bb-sun-strong); }
html[data-theme] .storefront .hover\:bg-red-50:hover { background-color: color-mix(in srgb, var(--bb-sun) 24%, var(--bb-surface)); }
html[data-theme] .storefront .hover\:text-amber-800:hover { color: var(--bb-bronze); }
html[data-theme] .storefront :is(.text-stone-400, .text-stone-500, .text-stone-600, .text-slate-500, .text-slate-600) { color: var(--bb-muted); }
html[data-theme] .storefront :is(.text-stone-700, .text-stone-950, .text-slate-700, .text-slate-950) { color: var(--bb-ink); }
html[data-theme] .storefront :is(.border-stone-200, .border-stone-300, .border-slate-100) { border-color: var(--bb-line); }
html[data-theme] .storefront .border-stone-300\/70 { border-color: color-mix(in srgb, var(--bb-line) 70%, transparent); }
html[data-theme] .storefront :is(.divide-stone-200, .divide-slate-100) > :not(:last-child) { border-color: var(--bb-line); }
html[data-theme] .storefront .bg-stone-100 { background-color: var(--bb-paper); }
.storefront :where(a, button, input, select, summary):focus-visible { outline: 2px solid var(--bb-bronze); outline-offset: 4px; }
.storefront .bb-skip-link,
.storefront .bb-announcement,
.storefront .bb-toolbar-badge { color: #111; }
.storefront .bb-sun-mark::before,
.storefront .bb-sun-mark::after,
.storefront .bb-sun-mark span::before,
.storefront .bb-sun-mark span::after { background: #111; }
.storefront .bb-header { background: #000; border-color: #000; color: #fff; backdrop-filter: none; }
html[data-theme="dark"] .storefront .bb-header { background: #000; border-color: #000; color: #fff; }
.bb-header-inner { display: grid; width: 100%; max-width: 80rem; margin-inline: auto; grid-template-columns: minmax(0, 1fr); gap: .35rem; padding: .35rem 1rem .4rem; }
.bb-header-top { display: grid; position: relative; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .25rem; }
.bb-header .bb-wordmark { grid-column: 2; grid-row: 1; justify-self: center; width: 7rem; min-width: 0; margin: 0; color: #fff; letter-spacing: normal; }
.bb-header .bb-wordmark-image { display: block; width: 7rem; max-width: 100%; height: auto; }
.bb-header .bb-account-menu { grid-column: 1; grid-row: 1; justify-self: start; position: relative; }
.bb-header .bb-header-nav { grid-column: 3; grid-row: 1; justify-self: end; display: flex; min-width: 0; align-items: center; gap: .25rem; }
.bb-header .bb-account-link,
.bb-header .bb-cart-link { min-width: 44px; min-height: 44px; border-radius: .65rem; font-weight: 500; }
.bb-header .bb-account-link { border-color: transparent; background: transparent; color: #fff; padding: .45rem; gap: .5rem; font-size: .875rem; }
.bb-header .bb-account-menu > summary::after { display: none; }
.bb-header .bb-account-icon { display: block; width: 1.35rem; height: 1.35rem; }
.bb-header .bb-account-chevron { display: none; width: .875rem; height: .875rem; }
.bb-header .bb-account-label-wide { display: none; }
.bb-header .bb-cart-link { position: relative; border-color: var(--bb-sun-strong); background: var(--bb-sun); color: #111; padding: .45rem; }
.bb-header .bb-cart-link > svg { display: block; }
.bb-header .bb-cart-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.bb-header .bb-cart-count,
.bb-header .bb-cart-count-active { color: #111; }
.bb-header .bb-header-search { display: flex; align-items: center; gap: .35rem; padding: .2rem; border-radius: .55rem; background: #fff; }
.bb-header .bb-header-search input[type="search"] { width: 100%; min-height: 2.75rem; height: 2.75rem; border: 1px solid transparent; border-radius: .4rem; background: transparent; color: #111; padding-left: 2.2rem; box-shadow: none; }
.bb-header .bb-header-search input[type="search"]::placeholder { color: #5a5a5a; opacity: 1; }
.bb-header .bb-header-search > svg { color: #5a5a5a; }
.bb-header .bb-search-submit { min-height: 2.75rem; border: 1px solid transparent; border-radius: .45rem; background: var(--bb-sun); color: #111; padding-inline: .9rem; font-weight: 500; }
.bb-header .bb-search-results { border-radius: .65rem; background: var(--bb-surface); color: var(--bb-ink); }
.bb-header .bb-account-menu-panel { left: 0; right: auto; width: min(18rem, calc(100vw - 1.5rem)); background: var(--bb-surface); color: var(--bb-ink); }
.bb-header :where(a, button, input, select, summary):focus-visible { outline: 2px solid var(--bb-sun); outline-offset: 3px; }
.bb-header .bb-account-menu-panel :where(a, button, input, select, summary):focus-visible,
.bb-header .bb-search-results :where(a, button, input, select, summary):focus-visible { outline-color: var(--bb-bronze); outline-offset: 2px; }
.bb-header .bb-account-menu[open] > .bb-account-link { border-color: transparent; background: rgb(255 255 255 / 8%); color: var(--bb-sun); }
.bb-header .bb-cart-label { white-space: nowrap; }
.bb-header .bb-header-search:focus-within { outline: 2px solid var(--bb-sun); outline-offset: 2px; }
.bb-header .bb-header-search input[type="search"]:focus-visible { outline: none; box-shadow: none; }
@media (hover: hover) {
  .bb-header .bb-account-link:hover { border-color: transparent; background: rgb(255 255 255 / 6%); color: var(--bb-sun); }
  .bb-header .bb-cart-link:hover,
  .bb-header .bb-search-submit:hover { border-color: var(--bb-sun-deep); background: var(--bb-sun-deep); color: #111; }
}
@media (max-width: 47.999rem) {
  .bb-header .bb-cart-link { justify-content: center; }
  .bb-header .bb-cart-count:not(.bb-cart-count-active) { position: absolute; }
}
@media (min-width: 48rem) {
  .bb-header-inner { grid-template-columns: 7rem minmax(12rem, 1fr) auto auto; grid-template-rows: auto; align-items: center; column-gap: .75rem; row-gap: .15rem; padding: .3rem 1.5rem .25rem; }
  .bb-header-top { display: contents; }
  .bb-header .bb-wordmark { grid-column: 1; grid-row: 1; justify-self: start; }
  .bb-header .bb-header-search-row { grid-column: 2; grid-row: 1; }
  .bb-header .bb-header-nav { grid-column: 3; grid-row: 1; }
  .bb-header .bb-account-menu { grid-column: 4; grid-row: 1; justify-self: end; }
  .bb-header .bb-account-link { padding: .5rem .65rem; }
  .bb-header .bb-account-chevron { display: block; }
  .bb-header .bb-account-label-wide { display: inline; }
  .bb-header .bb-account-menu-panel { left: auto; right: 0; width: min(18rem, calc(100vw - 2rem)); }
  .bb-header .bb-cart-link { padding: .5rem .65rem; }
  .bb-header .bb-cart-label { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .bb-header .bb-header-search { align-items: center; gap: .4rem; padding: .2rem; border-radius: .45rem; background: #fff; }
  .bb-header .bb-header-search input[type="search"] { min-height: 2.75rem; height: 2.75rem; padding-left: 2.4rem; border-color: transparent; background: transparent; box-shadow: none; }
  .bb-header .bb-search-submit { min-height: 2.75rem; border-radius: .35rem; padding-inline: 1rem; }
}
.bb-kicker { font-size: .6875rem; letter-spacing: .15em; font-weight: 600; }
.bb-kicker > span { background: var(--bb-bronze); width: 1.2rem; }
.bb-intro { max-width: 80rem; margin: auto; padding: 2rem; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; }
.bb-intro h1 { margin-top: .75rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.4rem, 3.6vw, 3.5rem); line-height: 1.06; letter-spacing: -.045em; font-weight: 400; }
.bb-intro h1 em { color: var(--bb-ink); font-style: normal; font-weight: 400; text-decoration: underline; text-decoration-color: var(--bb-sun); text-decoration-thickness: 2px; text-underline-offset: .15em; }
.bb-intro-description { margin-top: 1.25rem; max-width: 26rem; color: var(--bb-muted); font-size: .93rem; line-height: 1.7; }
.bb-intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.5rem; }
.bb-primary-button, .storefront .crm-button-primary { border-radius: .65rem; background: var(--bb-ink); color: var(--bb-surface); box-shadow: none; font-size: .875rem; font-weight: 500; min-height: 3rem; }
.bb-primary-button:hover, .storefront .crm-button-primary:hover { background: var(--bb-ink-soft); color: var(--bb-surface); }
.bb-primary-button > span { margin-left: 1.5rem; }
.bb-secondary-button, .storefront .crm-button-secondary { border-radius: 999px; font-weight: 500; }
.bb-intro-help { font-size: .78rem; display: inline-flex; align-items: center; min-height: 2.75rem; gap: .7rem; }
.bb-intro-caption { font-size: .75rem; color: var(--bb-muted); margin-top: 1.5rem; }
.bb-intro-caption > span { color: var(--bb-bronze); margin-right: .35rem; }
.bb-intro-showcase { min-width: 0; border: 1px solid var(--bb-line); border-radius: 1.3rem; padding: 1rem; background: var(--bb-surface); color: var(--bb-ink); box-shadow: 0 12px 36px rgb(0 0 0 / 7%); }
.bb-intro-showcase [hidden] { display: none !important; }
.bb-showcase-label { margin: 0 0 .75rem; color: var(--bb-muted); font-size: .6875rem; text-transform: uppercase; letter-spacing: .14em; }
.bb-showcase-products { min-width: 0; }
.bb-showcase-slide { min-width: 0; }
.bb-showcase-artwork { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: .85rem; object-fit: contain; background: var(--bb-paper); }
.bb-showcase-caption { display: grid; gap: .125rem; margin: .625rem 0 .375rem; color: var(--bb-ink-soft); font-size: .875rem; line-height: 1.4; }
.bb-showcase-caption > p:first-child { color: var(--bb-ink); font-size: .9375rem; font-weight: 600; }
.bb-showcase-product-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .5rem; margin-top: .5rem; }
.bb-showcase-product-link { display: inline-flex; min-width: 0; min-height: 2.75rem; align-items: center; justify-content: center; padding: .5rem .75rem; border: 1px solid var(--bb-line); border-radius: 999px; background: var(--bb-paper); color: var(--bb-ink); font-size: .8125rem; line-height: 1.25; text-align: center; text-decoration: none; }
.bb-showcase-product-link:hover { border-color: var(--bb-bronze); color: var(--bb-bronze); }
.bb-showcase-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem .75rem; margin-top: .25rem; }
.bb-showcase-navigation, .bb-showcase-indicators { display: flex; align-items: center; justify-content: center; gap: .125rem; }
.bb-showcase-control, .bb-showcase-indicator { display: grid; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: 999px; background: transparent; color: var(--bb-ink); cursor: pointer; }
.bb-showcase-control { border: 1px solid var(--bb-line); background: var(--bb-paper); font-size: 1.1rem; }
.bb-showcase-control:hover { border-color: var(--bb-bronze); color: var(--bb-bronze); }
.bb-showcase-indicator > span { width: .5rem; height: .5rem; border-radius: 999px; background: var(--bb-muted); opacity: .55; transition: width 160ms ease, opacity 160ms ease, background-color 160ms ease; }
.bb-showcase-indicator[aria-current="true"] > span { width: 1rem; background: var(--bb-bronze); opacity: 1; }
.bb-showcase-status { min-width: 3.25rem; color: var(--bb-muted); font-size: .75rem; font-variant-numeric: tabular-nums; text-align: center; }
.bb-category-section { border: 0; background: var(--bb-surface); }
.bb-category-section > div { padding-block: 1.5rem; }
.bb-category-head h2 { font-weight: 500; text-transform: none; font-size: .9rem; }
.bb-category-scroller { gap: .65rem; padding-bottom: .6rem; margin-top: 1rem; scrollbar-width: thin; scrollbar-color: var(--bb-line) transparent; }
.bb-category-chip { flex: 0 0 8.25rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; white-space: normal; border: 1px solid transparent; border-radius: .8rem; background: var(--bb-paper); padding: .9rem; min-height: 8.5rem; gap: .35rem; }
.bb-category-icon { display: grid; width: 2rem; height: 2rem; color: var(--bb-bronze); margin-bottom: .4rem; }
.bb-category-icon svg { width: 100%; height: 100%; }
.bb-category-chip > span:not(.bb-category-icon) { font-size: .72rem; line-height: 1.35; font-weight: 500; }
.bb-category-chip small { font-size: .59rem; color: var(--bb-muted); margin-top: auto; font-weight: 400; }
.bb-category-chip-all { align-items: center; justify-content: center; font-size: .72rem; text-align: center; border: 1px dashed var(--bb-line); }
.bb-products-section { border: 0; background: var(--bb-paper); }
.bb-section-heading { align-items: flex-end; }
.bb-section-heading h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.12; font-weight: 400; text-transform: none; letter-spacing: -.035em; margin-top: .5rem; }
.bb-section-heading > a { font-weight: 500; font-size: .73rem; border-color: var(--bb-line); min-height: 2.75rem; }
.bb-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.bb-product-card { position: relative; border-color: var(--bb-line); border-radius: 1rem; background: var(--bb-surface); }
.bb-product-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgb(0 0 0 / 8%); border-color: var(--bb-sun-strong); }
.bb-product-media { background: #fff; aspect-ratio: 1.12; }
.bb-product-media > img { object-fit: contain; padding: .8rem; transition: transform 220ms ease; }
.bb-product-placeholder::before { background: rgb(0 0 0 / 42%); box-shadow: 0 3rem 0 rgb(0 0 0 / 14%), 0 -3rem 0 rgb(0 0 0 / 14%); }
.bb-product-placeholder span { color: #111; }
.bb-product-card:hover .bb-product-media > img { transform: scale(1.025); }
.bb-product-body { padding: 1rem; gap: .45rem; }
.bb-product-brand { font-weight: 500; font-size: .6875rem; letter-spacing: .06em; }
.storefront .bb-product-name { font-family: var(--bb-font); font-size: .9375rem; line-height: 1.45; font-weight: 500; letter-spacing: normal; text-transform: none; }
.bb-product-name-text { -webkit-line-clamp: 3; }
.bb-product-name a { min-height: 4.1rem; }
.bb-product-price { font-size: 1.2rem; font-weight: 600; letter-spacing: -.025em; }
.bb-product-foot { gap: .9rem; padding-top: .7rem; }
.bb-card-submit { background: var(--bb-sun); color: #111; box-shadow: none; border: 1px solid transparent; border-radius: .6rem; font-weight: 500; font-size: .875rem; }
.bb-card-submit:hover { background: var(--bb-sun-deep); border-color: var(--bb-sun-strong); color: #111; }
.bb-product-offer { position: absolute; top: .75rem; left: .75rem; padding: .35rem .6rem; border-radius: 999px; background: var(--bb-sun); color: #111; font-size: .58rem; }
.bb-stepper-button, .bb-stepper-value, .bb-stepper-field { border-radius: .6rem; font-weight: 500; }
.bb-home-stats { background: var(--bb-surface); border-block: 1px solid var(--bb-line); }
.bb-home-stats dd { font-family: Georgia, serif; font-weight: 400; font-size: 1.7rem; }
.bb-home-stats dt { font-weight: 500; letter-spacing: .08em; }
.bb-benefits { background: var(--bb-paper); }
.bb-benefits h2 { font-weight: 500; text-transform: none; }
.bb-brand-tile { min-height: 9rem; padding: 1.5rem; }
.bb-brand-tile strong { font-family: Georgia, serif; font-weight: 400; font-size: 1.5rem; }
.bb-brand-tile:hover { background: var(--bb-sun); color: #111; }
html[data-theme="dark"] .bb-brand-tile:hover { background: var(--bb-sun); color: #111; }
.bb-brand-tile:hover :is(small, span) { color: #333; }
.bb-how-it-works { background: #111; color: #fff; }
.bb-how-it-works h2 { font-family: Georgia, serif; font-weight: 400; text-transform: none; letter-spacing: -.035em; line-height: 1.15; }
.bb-how-it-works h3 { font-weight: 500; }
.bb-how-it-works li { border-radius: 1rem; }
.bb-how-it-works ol li > span { color: var(--bb-sun); }
.bb-how-it-works li p,
.bb-how-it-works .text-stone-400 { color: #bdbdbd; }
.bb-kicker-light { color: var(--bb-sun); }
.bb-final-cta { background: var(--bb-sun); color: #111; }
.bb-final-cta .bb-kicker { color: #111; }
.bb-final-cta .bb-kicker > span { background: #111; }
.bb-final-cta h2 { font-family: Georgia, serif; font-weight: 400; text-transform: none; letter-spacing: -.035em; line-height: 1.1; color: #111; }
.bb-final-cta p:not(.bb-kicker) { color: #333; }
.bb-final-cta .bb-primary-button { background: #111; color: #fff; }
.bb-final-cta .bb-primary-button:hover { background: #333; color: #fff; }
html[data-theme="dark"] .bb-final-cta { background: var(--bb-sun); color: #111; }
html[data-theme="dark"] .bb-final-cta h2 { color: #111; }
html[data-theme="dark"] .bb-final-cta p:not(.bb-kicker) { color: #333; }
html[data-theme="dark"] .bb-final-cta .bb-kicker { color: #111; }
html[data-theme="dark"] .bb-final-cta .bb-kicker > span { background: #111; }
.bb-catalog-head { background: var(--bb-paper); border-bottom: 0; }
.bb-catalog-head-inner { padding-block: 1.5rem .75rem; }
.storefront .bb-catalog-title { font-family: Georgia, serif; font-weight: 400; text-transform: none; margin-top: .7rem; }
.bb-catalog-lead { margin-top: .8rem; font-size: .875rem; }
.bb-catalog-toolbar { border-bottom: 1px solid var(--bb-line); padding-bottom: 1rem; margin-bottom: 1.2rem; }
.bb-toolbar-button, .bb-sort-select { border-radius: 999px; font-weight: 500; }
.bb-filter-panel { border-radius: 1.2rem; margin: auto; }
.bb-detail { padding-top: 1.5rem; }
.bb-detail-media { border-radius: 1.25rem; background: #fff; }
.bb-detail-zoom img { width: 100%; height: 100%; object-fit: contain; padding: 1.2rem; }
.storefront .bb-detail-title { font-family: Georgia, serif; font-weight: 400; line-height: 1.12; font-size: clamp(1.9rem, 3.7vw, 3rem); }
.bb-detail-price { padding-block: 1.25rem; }
.bb-detail-price-value { font-weight: 500; }
.bb-detail-code { border-radius: 999px; background: var(--bb-sun); color: #111; font-weight: 500; }
.bb-status-chip { border-color: var(--bb-sun-strong); background: var(--bb-sun); color: #111; }
.bb-detail-more { border-radius: 1rem; padding-block: .4rem; }
.bb-detail-more > summary { font-weight: 500; }
.storefront .crm-title { font-family: Georgia, serif; font-weight: 400; font-size: 2.7rem; }
.storefront .bb-card { border-radius: 1rem; box-shadow: none; }
.bb-cart-page { max-width: 80rem; }
.bb-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 1.5rem; align-items: start; margin-top: 2rem; }
.bb-cart-edit { min-width: 0; margin-top: 0; }
.bb-cart-edit table thead { background: var(--bb-paper); color: var(--bb-muted); font-weight: 500; }
.bb-cart-edit table :where(th, td) { padding: 1rem; }
.bb-cart-edit table tbody tr { border-color: var(--bb-line); }
.bb-cart-edit td:last-child { color: var(--bb-ink); }
.bb-cart-summary { border: 1px solid var(--bb-line); border-radius: 1rem; background: var(--bb-surface); padding: 1.5rem; position: sticky; top: 9rem; }
.bb-cart-summary h2 { font-family: Georgia, serif; font-size: 1.5rem; margin-top: .75rem; }
.bb-cart-summary dl { margin-top: 1.5rem; }
.bb-cart-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .8rem; font-size: .8rem; }
.bb-cart-summary dt { color: var(--bb-muted); }
.bb-cart-summary .bb-cart-total { border-top: 1px solid var(--bb-line); align-items: center; }
.bb-cart-total dd { font-size: 1.4rem; font-weight: 500; white-space: nowrap; }
.bb-cart-summary-note { color: var(--bb-muted); font-size: .75rem; line-height: 1.6; margin-top: .75rem; }
.bb-cart-summary-actions { display: flex; flex-direction: column; gap: .65rem; margin-top: 1.5rem; }
.bb-cart-summary-actions form, .bb-cart-summary-actions button { width: 100%; }
.bb-cart-summary-actions > .crm-button-primary { order: -1; }
.bb-order-bar-link { background: var(--bb-ink); color: var(--bb-surface); border-radius: 999px; font-weight: 500; }
.bb-mini-cart { border-radius: 1.2rem 0 0 1.2rem; }
.bb-footer nav { gap: .1rem; }
.bb-footer-title { font-weight: 500; }
.bb-footer nav a { font-size: .8rem; }
@media (min-width: 48rem) { .bb-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
  .bb-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
}
@media (max-width: 63.99rem) {
  .bb-intro { padding: 1.5rem; gap: 1.5rem; }
  .bb-intro h1 { font-size: 2.4rem; }
  .bb-cart-layout { grid-template-columns: 1fr; }
  .bb-cart-summary { position: static; }
}
@media (max-width: 47.99rem) {
  .bb-intro { grid-template-columns: 1fr; padding: 1rem; gap: 1.5rem; }
  .bb-intro h1 { margin-top: .5rem; font-size: clamp(2rem, 8.2vw, 2.75rem); }
  .bb-intro-description { font-size: .875rem; max-width: 23rem; margin-top: .75rem; line-height: 1.5; }
  .bb-intro-actions { gap: .75rem; margin-top: 1rem; }
  .bb-intro-caption { margin-top: .75rem; font-size: .75rem; }
  .bb-category-section > div { padding-block: 1rem; }
  .bb-category-chip { flex-basis: 7.5rem; min-height: 7rem; }
  .bb-category-head h2 { font-size: .8rem; }
  .bb-section-heading { gap: .6rem; }
  .bb-section-heading h2 { font-size: 1.75rem; }
  .bb-section-heading > a { font-size: .63rem; flex-shrink: 0; }
  .bb-products-section > div { padding-top: 1.6rem; padding-bottom: 2rem; }
  .bb-product-grid { gap: .65rem; }
  .bb-product-card { border-radius: .8rem; }
  .bb-product-body { padding: .7rem; gap: .3rem; }
  .storefront .bb-product-name { font-size: .875rem; }
  .bb-product-brand { font-size: .6875rem; }
  .bb-product-price { font-size: 1.06rem; }
  .bb-product-foot { gap: .6rem; padding-top: .3rem; }
  .bb-product-media > img { padding: .45rem; }
  .bb-card-submit { font-size: .8125rem; }
  .bb-home-stats dd { font-size: 1.25rem; }
  .bb-home-stats dt { font-size: .5rem; }
  .bb-detail-form { gap: .4rem; }
  .bb-detail-submit { font-size: .875rem; padding-inline: .8rem; }
  .bb-cart-edit table, .bb-cart-edit tbody { display: block; }
  .bb-cart-edit thead { display: none; }
  .bb-cart-edit tr { display: grid; grid-template-columns: 1fr 1fr; padding: .6rem; }
  .bb-cart-edit th { grid-column: 1 / -1; }
  .bb-cart-edit td { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
  .bb-cart-edit td::before { content: attr(data-label); font-size: .75rem; color: var(--bb-muted); }
  .bb-cart-edit td:last-child { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .bb-cart-edit td:last-child > div { flex: 1; }
  .bb-cart-edit input[type="number"] { width: 6rem; }
  .bb-cart-summary { padding: 1.25rem; }
}
@media (max-width: 22.49rem) { .bb-product-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .bb-product-media > img, .bb-showcase-indicator > span { transition: none; } }

/* Folga das âncoras: cabeçalho de duas linhas no mobile e uma no desktop. */
.storefront { --bb-header-offset: 13rem; }
@media (min-width: 48rem) { .storefront { --bb-header-offset: 9rem; } }
#marcas, #como-funciona { scroll-margin-top: var(--bb-header-offset, 12rem); }
.bb-detail-back { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--bb-ink); font-size: .875rem; text-decoration: underline; text-underline-offset: .2rem; }
#catalog-brands .bb-category-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; }
.bb-brands-hint { color: var(--bb-muted); font-size: .75rem; }
#catalog-brands .bb-category-scroller { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; padding: .375rem; margin-top: .75rem; gap: .625rem; }
#catalog-brands .bb-category-scroller > li { min-width: 0; }
#catalog-brands .bb-category-chip { width: 100%; min-width: 0; min-height: 4.75rem; padding: .75rem; justify-content: center; white-space: normal; background: var(--bb-surface); color: var(--bb-ink); border-color: var(--bb-line); }
#catalog-brands .bb-category-icon { display: none; }
@media (hover: hover) {
  #catalog-brands .bb-category-chip:hover { background: var(--bb-sun-deep); color: #111; }
  #catalog-brands .bb-category-chip:hover small { color: #333; }
}
#catalog-brands .bb-category-chip > span:not(.bb-category-icon) { font-size: .875rem; white-space: normal; overflow-wrap: anywhere; }
#catalog-brands .bb-category-chip small { font-size: .75rem; color: var(--bb-muted); margin-top: 0; }
#catalog-brands .bb-category-chip-all { font-size: .8125rem; }
.bb-mini-cart { transition-property: transform; }
@media (max-width: 47.99rem) {
  #catalog-brands > div { padding-block: .75rem; }
  #catalog-brands .bb-category-head h2 { font-size: .875rem; }
  #catalog-highlights > div { padding-top: 1rem; }
  #catalog-highlights .bb-section-heading { flex-wrap: nowrap; align-items: center; }
  #catalog-highlights .bb-section-heading > div { min-width: 0; }
  #catalog-highlights .bb-section-heading h2 { font-size: clamp(1.375rem, 5.5vw, 1.75rem); }
  #catalog-highlights .bb-section-heading > a { font-size: .8125rem; }
}
@media (max-width: 22.49rem) {
  .bb-intro-actions { gap: .5rem; }
  .bb-intro-actions .bb-primary-button { padding-inline: 1rem; }
  .bb-intro-actions .bb-primary-button > span { margin-left: .75rem; }
}

/* Keep storefront content on the same centered 80rem grid and gutter steps. */
.bb-intro { padding-inline: 1rem; }
@media (min-width: 40rem) {
  .bb-header-inner,
  .bb-intro { padding-inline: 1.5rem; }
}
@media (min-width: 64rem) {
  .bb-header-inner,
  .bb-intro { padding-inline: 2rem; }
}

/* Keep action labels centered, including native input submit controls. */
.storefront :is(.bb-primary-button, .bb-secondary-button, .crm-button-primary, .crm-button-secondary, .bb-card-submit, .bb-toolbar-button, .bb-order-bar-link),
.storefront input[type="submit"] { text-align: center; }
.bb-intro-actions > .bb-primary-button,
.bb-intro-actions > .bb-intro-help { justify-content: center; text-align: center; }
.bb-toolbar-button { justify-content: center; }
.bb-product-price { min-height: 2.5rem; }
.bb-product-price-was { line-height: 1.2; }
form.bb-card-form:has(.bb-card-submit[hidden]) { display: none; }
#catalog-brands .bb-category-scroller { margin-inline: -.375rem; padding-inline: .375rem; }
#catalog-brands .bb-category-chip { align-items: center; gap: .35rem; text-align: center; }

/* Keep the highlights link on its own row where a narrow heading could collide. */
@media (max-width: 22.49rem) {
  #catalog-highlights .bb-section-heading { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
  #catalog-highlights .bb-section-heading > a { justify-self: start; min-width: 2.75rem; }
}

/* Review and checkout actions remain readable when product names are long. */
.bb-cart-subtotal-amount { flex: 0 0 auto; white-space: nowrap; }
.bb-cart-remove-product { flex: 0 0 auto; min-width: 2.75rem; white-space: nowrap; }
.bb-cart-summary-actions a,
.bb-cart-summary-actions button { display: flex; align-items: center; justify-content: center; text-align: center; }
.bb-cart-edit-actions input[type="submit"] { width: 100%; }
.bb-checkout-product-name { min-width: 0; overflow-wrap: anywhere; }
.bb-order-actions > a,
.bb-order-actions > button,
.bb-order-actions > input[type="submit"] { width: 100%; justify-content: center; text-align: center; }
@media (min-width: 40rem) {
  .bb-cart-edit-actions input[type="submit"],
  .bb-order-actions > a,
  .bb-order-actions > button,
  .bb-order-actions > input[type="submit"] { width: auto; }
}
@media (max-width: 47.99rem) {
  .storefront .crm-title { font-size: clamp(1.875rem, 8.2vw, 2.7rem); line-height: 1.12; }
  .bb-cart-edit tr > * { min-width: 0; overflow-wrap: anywhere; }
  .bb-cart-edit td:last-child > .bb-cart-subtotal-controls { width: 100%; min-width: 0; flex-wrap: wrap; justify-content: flex-start; gap: .5rem; }
}

/* Direct paths to products, with the existing brand palette. */
.bb-quick-nav { display: flex; justify-content: center; gap: 1.5rem; max-width: 80rem; margin: auto; border-top: 1px solid #2b2b2b; padding-inline: 1rem; }
.bb-quick-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: .8125rem; font-weight: 400; }
.bb-quick-nav a:hover, .bb-quick-nav a[aria-current] { color: var(--bb-sun); }
.bb-intro-copy { min-width: 0; }
.bb-intro h1 em { display: block; }
.bb-intro-assurance { margin-top: .65rem; color: var(--bb-muted); font-size: .75rem; line-height: 1.5; max-width: 28rem; }
.bb-intro-actions .bb-primary-button,
.bb-detail-submit,
.bb-cart-summary-actions > .crm-button-primary { background: var(--bb-sun); color: #111; border-color: transparent; font-weight: 500; }
.bb-intro-actions .bb-primary-button:hover,
.bb-detail-submit:hover,
.bb-cart-summary-actions > .crm-button-primary:hover { background: var(--bb-sun-deep); color: #111; }
.bb-intro-showcase { padding: 1.25rem; box-shadow: none; }
.bb-showcase-slide { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: .75rem; }
.bb-showcase-artwork { grid-row: auto; height: clamp(15rem, 25vw, 20rem); aspect-ratio: auto; object-fit: contain; background: #fff; }
.bb-showcase-photos { display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
.bb-showcase-photos > img { display: block; width: 0; min-width: 0; flex: 1 1 0; height: 100%; object-fit: contain; }
.bb-showcase-label { font-size: .6875rem; }
.bb-showcase-caption { margin: 0; }
.bb-showcase-product-links { grid-column: 1; justify-content: flex-start; margin-top: 0; }
.bb-showcase-controls { margin-top: .5rem; justify-content: flex-end; }
.bb-showcase-indicators { display: none; }
.bb-showcase-status { order: -1; }
.bb-brands-more { margin-top: .5rem; }
.bb-brands-more summary { cursor: pointer; min-height: 44px; padding: .75rem .375rem; color: var(--bb-ink); font-size: .875rem; text-decoration: underline; text-underline-offset: .2rem; }
.bb-category-nav { display: flex; gap: .5rem; overflow-x: auto; padding: .3rem .25rem .8rem; scrollbar-width: thin; }
.bb-category-nav a { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: .6rem .9rem; border: 1px solid var(--bb-line); border-radius: 999px; background: var(--bb-surface); color: var(--bb-ink); font-size: .8125rem; }
.bb-category-nav a[aria-current] { background: var(--bb-sun); color: #111; border-color: var(--bb-sun-strong); font-weight: 700; }
.bb-category-nav a:hover { border-color: var(--bb-sun-strong); }
.bb-product-price { min-height: 2.5rem; }
.bb-how-it-works h2 { max-width: 24rem; }
.bb-how-it-works ol li { padding: 1rem 1.25rem; }
.bb-detail-info { min-width: 0; }
.bb-cart-summary-actions > form { margin-top: .5rem; }
.bb-cart-summary-actions > form button { border: 0; background: transparent; box-shadow: none; color: var(--bb-muted); font-size: .8125rem; }
@media (min-width: 64rem) {
  #catalog-brands .bb-category-scroller { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .bb-quick-nav { gap: 0; justify-content: space-between; }
  .bb-quick-nav a { font-size: .75rem; }
  .bb-intro { gap: 1rem; }
  .bb-intro h1 { max-width: 30rem; }
  .bb-intro-assurance { display: none; }
  .bb-intro-showcase { border-radius: 1rem; padding: 1rem; }
  .bb-showcase-label { display: none; }
  .bb-showcase-slide { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .bb-showcase-artwork { grid-row: auto; width: 100%; height: 12rem; border-radius: .65rem; }
  .bb-showcase-caption { margin: 0; }
  .bb-showcase-caption p { font-size: .75rem; }
  .bb-showcase-product-links { grid-column: 1; justify-content: flex-start; margin-top: .25rem; gap: .25rem; }
  .bb-showcase-product-link { font-size: .75rem; min-height: 44px; padding-inline: .5rem; }
  .bb-showcase-controls { justify-content: space-between; }
  #catalog-brands .bb-category-scroller { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-catalog-head-inner { padding-top: 1rem; }
  .storefront .bb-catalog-title { font-size: 2rem; }
  .bb-detail-actions { max-height: 45dvh; overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .bb-product-card { transition: none; }
  .bb-product-card:hover { transform: none; }
}

/* Lighter type, outlines and controls across the public catalog. */
.bb-line-icon { display: inline-block; width: 1.125rem; height: 1.125rem; flex-shrink: 0; vertical-align: middle; }
.storefront svg[stroke="currentColor"] { stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.storefront :is(.bb-intro h1, .bb-section-heading h2, .bb-catalog-title, .bb-detail-title, .crm-title, .bb-how-it-works h2, .bb-cart-summary h2) { font-family: var(--bb-font); font-weight: 400; letter-spacing: -.035em; }
.storefront .bb-intro h1 { line-height: 1.15; letter-spacing: -.045em; }
.storefront :is(.bb-filter-panel-head h2, .bb-mini-cart h2, .bb-how-it-works h3) { font-family: var(--bb-font); font-weight: 500; letter-spacing: normal; text-transform: none; }
.bb-intro-actions .bb-primary-button { gap: 1.25rem; }
.bb-intro-help { gap: .5rem; }
.bb-header .bb-header-search { border-radius: .7rem; }
.bb-header .bb-account-menu-panel { border-color: color-mix(in srgb, var(--bb-line) 70%, transparent); border-radius: 1rem; padding: .65rem; box-shadow: 0 16px 48px rgb(0 0 0 / 12%); max-height: calc(100dvh - 6rem); overflow-y: auto; }
.bb-header .bb-account-panel-heading { padding: .65rem .65rem .9rem; }
.bb-header .bb-account-panel-title { font-size: 1rem; font-weight: 500; color: var(--bb-ink); }
.bb-header .bb-account-panel-heading p + p { margin-top: .35rem; color: var(--bb-muted); font-size: .8125rem; line-height: 1.5; }
.bb-header :is(.bb-account-menu-link, .bb-account-menu-action) { gap: .75rem; font-size: .875rem; font-weight: 400; padding: .65rem; }
.bb-header :is(.bb-account-menu-link, .bb-account-menu-action) > svg { width: 1.2rem; height: 1.2rem; flex-shrink: 0; }
.bb-header .bb-account-menu-link-primary { background: var(--bb-sun); color: #111; font-weight: 500; }
.bb-header .bb-account-menu-link-primary:hover { background: var(--bb-sun-deep); }
.bb-header .bb-account-menu-theme { padding: .6rem .65rem .1rem; font-weight: 400; }
.bb-header .bb-account-menu-theme [data-theme-target="button"] { width: 44px; height: 44px; background: transparent; border-color: transparent; box-shadow: none; }
.bb-header .bb-account-menu-theme [data-theme-target="button"]:hover { background: var(--bb-paper); }
.bb-header .bb-account-chevron { transition: transform 160ms ease; }
.bb-header .bb-account-menu[open] .bb-account-chevron { transform: rotate(180deg); }
.storefront :is(.bb-product-card, .bb-intro-showcase, .bb-card, .bb-cart-summary, .bb-detail-more) { border-color: color-mix(in srgb, var(--bb-line) 70%, transparent); }
.bb-product-card:hover { transform: none; box-shadow: 0 5px 18px rgb(0 0 0 / 4%); }
.bb-product-card:hover { border-color: var(--bb-sun-strong); }
.bb-showcase-caption > p:first-child { font-size: .875rem; font-weight: 400; line-height: 1.5; }
.bb-showcase-caption strong { font-weight: 500; }
.bb-showcase-product-link { border-radius: .5rem; font-size: .75rem; }
.bb-showcase-control { border-color: color-mix(in srgb, var(--bb-line) 70%, transparent); background: transparent; }
.bb-toolbar-button { gap: .45rem; }
.bb-toolbar-badge { font-weight: 500; }
.bb-catalog-status strong { font-weight: 500; }
.bb-filter-panel-head h2 { font-size: 1.125rem; }
.bb-stepper-button, .bb-stepper-field { border-color: color-mix(in srgb, var(--bb-line) 70%, transparent); }
.bb-mini-cart .bb-primary-button { border-radius: .65rem; }
.bb-gallery-dialog-close > svg { width: 1.25rem; height: 1.25rem; }
.bb-gallery-dialog-close { display: grid; place-items: center; background: var(--bb-paper); color: var(--bb-ink); border: 1px solid var(--bb-line); }
@media (prefers-reduced-motion: reduce) {
  .bb-header .bb-account-chevron { transition: none; }
}

/* Cartao de fita: leva a ficha para escolher a medida. */
a.bb-card-submit { display: grid; place-items: center; text-decoration: none; }

/* Keep tape measures from squeezing the quantity control. */
.bb-detail-form { align-items: end; }
.bb-detail-variant { grid-column: 1 / -1; min-width: 0; }
.bb-detail-quantity { grid-template-columns: 2.75rem 3.5rem 2.75rem; }
.bb-detail-quantity > .bb-field-label { grid-column: 1 / -1; }
