:root {
  --bb-berry: #9d174d;
  --bb-berry-dark: #6d1239;
  --bb-blush: #faeff2;
  --bb-ink: #241f21;
  --bb-muted: #6f666a;
}

body { color: var(--bb-ink); }
a { text-decoration: none; }
.bb-skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 10px 16px; background: #fff; color: var(--bb-ink); }
.bb-skip-link:focus { top: 16px; }
.bb-top-message { margin: 0; font-size: 14px; letter-spacing: .02em; }
.bb-brand img { display: block; width: min(185px, 68vw); height: auto; max-height: 69px; object-fit: contain; object-position: left center; }
.bb-brand-mobile img { display: block; width: 165px; height: auto; max-height: 62px; object-fit: contain; object-position: left center; }
.bb-header-actions { display: flex; align-items: center; gap: 18px; }
.bb-header-icon-link { display: inline-flex; align-items: center; gap: 9px; color: var(--bb-ink); font-weight: 600; }
.bb-header-icon-link i { color: var(--bb-berry); font-size: 21px; }
.bb-nav-link.current { color: var(--bb-berry) !important; }
.bb-nav-link.current::before { width: 100% !important; }
button.cs_menu_toggle { border: 0; background: transparent; padding: 0; }
.bb-placeholder-note { border: 1px solid #ead4dc; border-left: 4px solid var(--bb-berry); background: #fff8fa; color: #5c3946; padding: 14px 18px; border-radius: 8px; }
.bb-placeholder-note p { margin: 0; }
.bb-section-kicker { color: var(--bb-berry); text-transform: uppercase; letter-spacing: .14em; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.bb-hero-copy { max-width: 660px; }
.bb-hero-copy .cs_hero_subtitle { color: #fff; max-width: 550px; }
.bb-category-card { min-height: 520px; border-radius: 18px; overflow: hidden; position: relative; background-position: center; }
.bb-category-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,12,15,.08), rgba(20,12,15,.7)); }
.bb-category-card .cs_category_info { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 32px; color: #fff; }
.bb-category-card .cs_category_title, .bb-category-card .cs_category_subtitle { color: #fff; }
.bb-product-grid { row-gap: 30px; }
.bb-product-grid .cs_product_card { height: 100%; }
.bb-product-grid .cs_product_card_in { height: 100%; display: flex; flex-direction: column; }
.bb-product-grid .cs_product_info { margin-top: auto; }
.bb-product-card .cs_product_thumb { min-height: 320px; }
.bb-product-card .cs_product_thumb img { max-height: 280px; object-fit: contain; }
.bb-product-card .cs_product_title a { color: inherit; }
.bb-product-card .cs_product_title a:hover { color: var(--bb-berry); }
.bb-product-card .cs_products_btns { z-index: 3; }
.bb-product-card .cs_products_btns button:disabled { opacity: .92; cursor: not-allowed; }
.bb-banner { min-height: 370px; }
.bb-banner .cs_banner_text { z-index: 3; }
.bb-trust-strip .cs_iconbox { height: 100%; }
.bb-page-heading { min-height: 310px; display: flex; align-items: center; background-position: center; position: relative; }
.bb-page-heading::before { content: ""; position: absolute; inset: 0; background: rgba(24, 14, 18, .45); }
.bb-page-heading .container { position: relative; z-index: 1; }
.bb-page-heading h1, .bb-page-heading p { color: #fff; }
.bb-filter-card { border: 1px solid #eee6e9; border-radius: 14px; padding: 24px; background: #fff; position: sticky; top: 120px; }
.bb-filter-group + .bb-filter-group { margin-top: 26px; }
.bb-filter-group h2 { font-size: 18px; margin-bottom: 12px; }
.bb-filter-group label { display: block; margin-bottom: 8px; }
.bb-filter-group a { color: var(--bb-muted); }
.bb-filter-group a.current, .bb-filter-group a:hover { color: var(--bb-berry); }
.bb-form-control { width: 100%; height: 48px; border: 1px solid #ded5d8; border-radius: 7px; padding: 10px 14px; background: #fff; }
textarea.bb-form-control { min-height: 120px; resize: vertical; }
.bb-catalog-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 28px; }
.bb-catalog-toolbar .bb-form-control { width: auto; min-width: 210px; }
.bb-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 45px; }
.bb-pagination span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #e0d6da; border-radius: 50%; }
.bb-pagination .active { background: var(--bb-berry); color: #fff; border-color: var(--bb-berry); }
.bb-product-gallery { background: #f8f5f6; border-radius: 18px; padding: 30px; }
.bb-product-main-image { min-height: 560px; display: grid; place-items: center; }
.bb-product-main-image img { max-height: 510px; object-fit: contain; }
.bb-gallery-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bb-gallery-thumb { border: 1px solid #e4dade; background: #fff; border-radius: 10px; padding: 8px; min-height: 112px; display: grid; place-items: center; }
.bb-gallery-thumb img { max-height: 95px; }
.bb-product-summary { padding-left: 30px; }
.bb-product-summary .cs_product_price { margin: 20px 0; }
.bb-product-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.bb-product-actions .cs_quantity { margin: 0; }
.bb-tabs .cs_tab_links { display: flex; gap: 30px; border-bottom: 1px solid #e5dade; margin-bottom: 25px; }
.bb-tabs .cs_tab_links a { display: block; padding: 14px 0; color: var(--bb-muted); }
.bb-tabs .cs_tab_links .active a { color: var(--bb-berry); border-bottom: 2px solid var(--bb-berry); }
.bb-cart-table { width: 100%; border-collapse: collapse; }
.bb-cart-table th, .bb-cart-table td { padding: 18px 12px; border-bottom: 1px solid #eee5e8; vertical-align: middle; }
.bb-cart-product { display: flex; align-items: center; gap: 16px; min-width: 280px; }
.bb-cart-product img { width: 86px; height: 86px; object-fit: contain; background: #f8f5f6; border-radius: 10px; }
.bb-order-card { border: 1px solid #e9dfe2; border-radius: 14px; padding: 28px; background: #fff; }
.bb-order-row { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #f0e8eb; }
.bb-order-row:last-child { border-bottom: 0; }
.bb-checkout-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); gap: 48px; }
.bb-field-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.bb-field-full { grid-column: 1 / -1; }
.bb-field label, .bb-payment-option label { display: block; font-weight: 600; margin-bottom: 8px; }
.bb-choice-group { display: flex; flex-wrap: wrap; gap: 12px; }
.bb-choice { border: 1px solid #dfd4d8; padding: 15px 18px; border-radius: 9px; flex: 1; min-width: 180px; }
.bb-payment-option { border: 1px solid #e4dade; border-radius: 10px; padding: 16px; margin-bottom: 12px; }
.bb-payment-option label { display: flex; align-items: center; gap: 10px; }
.bb-payment-icon { width: 32px; height: 32px; object-fit: contain; }
.bb-checkout-pickup-image { width: 100%; max-height: 190px; object-fit: contain; margin-bottom: 20px; background: #f8f5f6; border-radius: 10px; }
.bb-catalog-empty { text-align: center; }
.bb-catalog-empty > img { width: min(360px, 100%); max-height: 280px; object-fit: contain; margin-bottom: 24px; }
.bb-phase-button[disabled] { opacity: .78; cursor: not-allowed; }
.bb-footer-logo { width: min(220px, 72vw); height: auto; max-height: 83px; object-fit: contain; }
.bb-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.bb-footer-links a { color: var(--bb-ink); }
.bb-footer-meta { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 50px; padding: 55px 0; border-bottom: 1px solid #eee4e7; }
.bb-location { white-space: pre-line; }
.bb-404 { min-height: 65vh; display: grid; place-items: center; text-align: center; padding: 80px 20px; }
.bb-404 img { max-width: 440px; width: 100%; margin-bottom: 24px; }

@media (max-width: 1199px) {
  .bb-header-actions .bb-support-label { display: none; }
  .bb-product-summary { padding-left: 0; padding-top: 30px; }
  .bb-checkout-grid { grid-template-columns: 1fr; }
}
@media (max-width: 991px) {
  .bb-category-card { min-height: 440px; }
  .bb-filter-card { position: static; margin-bottom: 30px; }
  .bb-footer-meta { grid-template-columns: 1fr; gap: 28px; }
  .bb-product-main-image { min-height: 420px; }
}
@media (max-width: 767px) {
  .bb-header-actions { gap: 12px; }
  .bb-header-icon-link span:not(.cs_cart_label) { display: none; }
  .bb-catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .bb-catalog-toolbar .bb-form-control { width: 100%; }
  .bb-field-grid { grid-template-columns: 1fr; }
  .bb-field-full { grid-column: auto; }
  .bb-cart-scroll { overflow-x: auto; }
  .bb-product-main-image { min-height: 340px; }
  .bb-product-main-image img { max-height: 320px; }
  .bb-page-heading { min-height: 240px; }
  .bb-tabs .cs_tab_links { gap: 16px; overflow-x: auto; white-space: nowrap; }
}
