:root {
  --fb-color-canvas: #ffffff;
  --fb-color-surface: #f4f4f4;
  --fb-color-ink: #2b2c2d;
  --fb-color-muted: #686868;
  --fb-color-brand: #c91577;
  --fb-color-brand-strong: #a90f61;
  --fb-color-dark: #1c2228;
  --fb-color-border: rgba(43, 44, 45, 0.14);
  --fb-color-error: #b42318;
  --fb-font-body: "Jost", Arial, sans-serif;
  --fb-font-heading: "DM Sans", Arial, sans-serif;
  --fb-page-width: 1200px;
  --fb-grid-gap: 12px;
  --fb-radius-control: 6px;
  --fb-radius-card: 8px;
  --fb-header-height: 0px;
  --fb-duration-fast: 160ms;
  --fb-duration-default: 240ms;
  --fb-shadow-drawer: 0 0 30px rgba(28, 34, 40, 0.16);
}

.favorbeauty-storefront {
  background: var(--fb-color-canvas);
  color: var(--fb-color-ink);
  font-family: var(--fb-font-body);
  letter-spacing: 0;
}

.favorbeauty-storefront *,
.favorbeauty-storefront *::before,
.favorbeauty-storefront *::after {
  box-sizing: border-box;
}

.favorbeauty-storefront :where(h1, h2, h3, h4, h5, h6) {
  color: var(--fb-color-ink);
  font-family: var(--fb-font-heading);
  font-weight: 500;
  letter-spacing: 0;
}

.favorbeauty-storefront :where(a, button, input, select, textarea, summary) {
  outline-offset: 3px;
}

.favorbeauty-storefront :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--fb-color-brand);
}

.fb-page-width {
  margin-inline: auto;
  max-width: calc(var(--fb-page-width) + 40px);
  padding-inline: 20px;
  width: 100%;
}

.favorbeauty-storefront :where(.button, button, input[type="button"], input[type="submit"]) {
  border-radius: var(--fb-radius-control);
  letter-spacing: 0;
  min-height: 44px;
  transition:
    background-color var(--fb-duration-fast) ease,
    border-color var(--fb-duration-fast) ease,
    color var(--fb-duration-fast) ease,
    opacity var(--fb-duration-fast) ease;
}

.favorbeauty-storefront :where(.button, button, input[type="submit"]):not(.is-secondary) {
  background-color: var(--fb-color-brand);
  border-color: var(--fb-color-brand);
  color: var(--fb-color-canvas);
}

.favorbeauty-storefront :where(.button, button, input[type="submit"]):not(.is-secondary):hover {
  background-color: var(--fb-color-brand-strong);
  border-color: var(--fb-color-brand-strong);
}

.favorbeauty-storefront :where(input, select, textarea) {
  border: 1px solid var(--fb-color-border);
  border-radius: var(--fb-radius-control);
  color: var(--fb-color-ink);
  font: inherit;
  letter-spacing: 0;
  min-height: 44px;
}

.fb-product-grid,
.favorbeauty-commerce-view ul.products {
  display: grid;
  gap: var(--fb-grid-gap);
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.fb-product-grid > *,
.favorbeauty-commerce-view ul.products > li.product {
  margin: 0;
  min-width: 0;
  width: auto;
}

.fb-product-card {
  background: var(--fb-color-canvas);
  border-radius: var(--fb-radius-card);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.fb-product-card__media {
  aspect-ratio: 4 / 5;
  background: var(--fb-color-surface);
  overflow: hidden;
  position: relative;
}

.fb-product-card__media img {
  height: 100%;
  object-fit: cover;
  transition: transform var(--fb-duration-default) ease;
  width: 100%;
}

.fb-product-card:hover .fb-product-card__media img {
  transform: scale(1.02);
}

.fb-product-card__content {
  display: grid;
  gap: 6px;
  padding: 12px;
}

.fb-product-card__title {
  font-family: var(--fb-font-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  margin: 0;
  overflow-wrap: anywhere;
}

.fb-product-card__price {
  color: var(--fb-color-brand);
  font-weight: 500;
}

.fb-announcement {
  align-items: center;
  background: var(--fb-color-brand);
  color: var(--fb-color-canvas);
  display: flex;
  justify-content: center;
  min-height: 36px;
  padding: 6px 20px;
  text-align: center;
}

.fb-site-header {
  background: var(--fb-color-surface);
  border-bottom: 1px solid var(--fb-color-border);
  position: relative;
  z-index: 50;
}

.fb-site-header.is-sticky {
  position: sticky;
  top: 0;
}

.admin-bar .fb-site-header.is-sticky {
  top: 32px;
}

.fb-drawer,
.fb-search-overlay {
  background: var(--fb-color-canvas);
  box-shadow: var(--fb-shadow-drawer);
  color: var(--fb-color-ink);
}

.fb-search-overlay[hidden],
.fb-drawer[hidden] {
  display: none;
}

.fb-live-region {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.fb-status {
  border-radius: var(--fb-radius-control);
  padding: 12px 14px;
}

.fb-status--error {
  background: #fef3f2;
  color: var(--fb-color-error);
}

.fb-checkout-invoice {
  border-top: 1px solid var(--fb-color-border);
  margin-top: 20px;
  padding-top: 20px;
}

.favorbeauty-storefront .fb-checkout-invoice {
  display: none !important;
}

.fb-checkout-invoice__fields {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.fb-checkout-invoice__fields[hidden] {
  display: none;
}

.fb-checkout-invoice__fields .form-row {
  float: none;
  margin: 0;
  width: 100%;
}

@media screen and (max-width: 989px) {
  .fb-product-grid,
  .favorbeauty-commerce-view ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Reference content pages. */
.fb-reference-page { background: #fff; color: #2b2c2d; }
.fb-page-banner { position: relative; width: 100%; overflow: hidden; background: #f4f4f4; }
.fb-page-banner img { display: block; width: 100% !important; height: auto !important; }
.fb-contact-page .fb-page-banner::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.2); pointer-events: none; }
.fb-reference-contact { padding-block: 38px 48px; }
.fb-contact-page { background: #f4f4f4; }
.fb-contact-page .fb-reference-contact { max-width: 766px; }
.fb-contact-page .fb-reference-form button { background: #b8aea7 !important; border-color: #b8aea7 !important; color: #1c2228 !important; }
.fb-reference-contact h1, .fb-reference-contact h2 { max-width: 760px; margin: 0 0 30px; font-size: 32px; line-height: 1.25; }
.fb-reference-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 726px; }
.fb-reference-form label { display: grid; gap: 7px; }
.fb-reference-form label.is-wide { grid-column: 1 / -1; }
.fb-reference-form :where(input, textarea) { width: 100%; border: 1px solid rgba(43,44,45,.55); border-radius: 6px; background: #fff; padding: 12px 14px; }
.fb-reference-form input { min-height: 48px; }
.fb-reference-form button { width: max-content; min-width: 120px; padding-inline: 24px; }
.fb-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.fb-form-notice { max-width: 900px; padding: 12px 14px; border-radius: 6px; }
.fb-form-notice.is-success { background: #edf8f1; color: #176b3a; }
.fb-form-notice.is-error { background: #fef3f2; color: #b42318; }
.fb-story { padding-block: 52px; text-align: center; }
.fb-story h1 { margin: 0 0 22px; font-size: 38px; }
.fb-story p { max-width: 980px; margin: 0 auto; font-size: 16px; line-height: 1.75; }
.fb-story-feature { background: #fff; padding-block: 36px; }
.fb-story-feature > div { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 0; max-width: 1100px; padding-inline: 0; overflow: hidden; border: 1px solid var(--fb-color-brand); border-radius: 8px; }
.fb-story-feature img { width: 100%; height: 100%; max-height: 648px; object-fit: cover; }
.fb-story-feature > div > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: var(--fb-color-brand); color: #fff; padding: 54px 64px; }
.fb-story-feature h2 { margin: 0 0 14px; font-size: 38px; }
.fb-story-feature h2, .fb-story-feature p { color: #fff; }
.fb-story-feature p { font-size: 18px; }
.fb-story-feature .button { margin-top: 18px; background: #1c2228 !important; border-color: #1c2228 !important; }
.fb-store-map { position: relative; min-height: 500px; background: #f4f4f4; }
.fb-store-map iframe { display: block; width: 100%; height: 500px; border: 0; }
.fb-store-map__info { position: absolute; top: 28px; left: max(28px, calc((100% - 1200px) / 2)); width: min(340px, calc(100% - 56px)); padding: 24px; background: #fff; }
.fb-store-map__info h2 { margin: 0 0 12px; font-size: 30px; }

/* Header alignment and exact reference menu order. */
.favorbeauty-storefront .fb-menu { min-height: 60px; align-items: stretch; }
.favorbeauty-storefront .fb-menu > li { display: flex; min-height: 60px; align-items: stretch; }
.favorbeauty-storefront .fb-menu > li > a { display: flex; align-items: center; min-height: 60px; line-height: 1; }
.favorbeauty-storefront .fb-header__actions { align-self: stretch; }
.favorbeauty-storefront .fb-header__actions > * { align-self: center; }

/* Shopify-style cart drawer using live WooCommerce fragments. */
body.fb-cart-open { overflow: hidden; }
.fb-cart-overlay { position: fixed; inset: 0; z-index: 700; background: rgba(28,34,40,.38); }
.fb-cart-drawer { position: fixed; top: 0; right: 0; z-index: 710; display: flex; flex-direction: column; width: min(440px, 100vw); height: 100dvh; background: #fff; box-shadow: -12px 0 34px rgba(0,0,0,.18); transform: translateX(105%); transition: transform .24s ease; }
.fb-cart-drawer.is-open { transform: translateX(0); }
.fb-cart-drawer__header { display: flex; min-height: 68px; align-items: center; justify-content: space-between; border-bottom: 1px solid #dedede; padding: 12px 20px; }
.fb-cart-drawer__header h2 { margin: 0; font-size: 22px; }
.fb-cart-drawer__close { width: 42px; min-height: 42px; border: 0 !important; background: transparent !important; color: #2b2c2d !important; font-size: 30px !important; }
.fb-cart-drawer .widget_shopping_cart_content { flex: 1; overflow: auto; padding: 18px 20px; }
.fb-cart-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.fb-cart-drawer .mini_cart_item { position: relative; display: grid; grid-template-columns: 74px 1fr; gap: 14px; border-bottom: 1px solid #dedede; padding: 14px 28px 14px 0; }
.fb-cart-drawer .mini_cart_item img { width: 74px; height: 88px; object-fit: contain; background: #f4f4f4; }
.fb-cart-drawer .remove { position: absolute; top: 10px; right: 0; }
.fb-cart-drawer .woocommerce-mini-cart__total { border-top: 1px solid #dedede; padding-top: 18px; }
.fb-cart-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fb-cart-drawer .woocommerce-mini-cart__buttons .button { margin: 0; text-align: center; }
.fb-cart-drawer .woocommerce-mini-cart__empty-message + .return-to-shop,
.fb-cart-drawer .woocommerce-mini-cart__empty-message ~ .return-to-shop,
.fb-cart-drawer .woocommerce-mini-cart__empty-message .return-to-shop,
.fb-cart-drawer .woocommerce-mini-cart__empty-message > a,
.fb-cart-drawer .wd-empty-mini-cart > .wc-backward { display: none !important; }
.fb-cart-drawer__empty-account { padding: 0 20px 28px; text-align: center; }
.fb-cart-drawer__empty-account[hidden] { display: none; }
.fb-cart-drawer__empty-account .button { width: 100%; }
.fb-cart-drawer__empty-account h3 { margin: 28px 0 8px; font-size: 20px; }

/* Quiet two-column checkout matching the reference flow. */
.favorbeauty-storefront.woocommerce-checkout .main-page-wrapper > .container { display: block !important; max-width: 1240px; }
.favorbeauty-storefront.woocommerce-checkout :where(.wd-content-area, .site-content) { width: 100% !important; max-width: 100% !important; --wd-col-lg: 12 !important; }
.favorbeauty-storefront.woocommerce-checkout .woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: 54px; align-items: start; }
.favorbeauty-storefront.woocommerce-checkout form.checkout { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.favorbeauty-storefront.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1; width: 100% !important; max-width: none !important; min-width: 0; }
.favorbeauty-storefront.woocommerce-checkout .checkout-order-review { grid-column: 2; grid-row: 1; width: 100% !important; max-width: none !important; min-width: 0; }
.favorbeauty-storefront.woocommerce-checkout #order_review_heading,
.favorbeauty-storefront.woocommerce-checkout #order_review { width: 100%; }
.favorbeauty-storefront.woocommerce-checkout #order_review_heading { display: none; }
.favorbeauty-storefront.woocommerce-checkout #order_review { grid-column: 2; grid-row: 1; width: 100% !important; max-width: none !important; min-width: 0; position: sticky; top: 100px; background: #f4f4f4; border: 0; border-radius: 0; padding: 28px; }
.favorbeauty-storefront.woocommerce-checkout #order_review table { display: table !important; width: 100% !important; max-width: none !important; }
.favorbeauty-storefront.woocommerce-checkout :where(.col-1, .col-2) { float: none; width: 100%; }
.favorbeauty-storefront.woocommerce-checkout .woocommerce-billing-fields > h3,
.favorbeauty-storefront.woocommerce-checkout .woocommerce-additional-fields > h3 { text-transform: none; font-size: 24px; }
.favorbeauty-storefront.woocommerce-checkout form .form-row { margin-bottom: 16px; }

@media screen and (max-width: 749px) {
  .fb-reference-form { grid-template-columns: 1fr; }
  .fb-reference-form label.is-wide { grid-column: 1; }
  .fb-page-banner img { aspect-ratio: auto; object-fit: contain; }
  .fb-story-feature > div { grid-template-columns: 1fr; gap: 0; }
  .fb-story-feature > div > div { padding: 32px 24px; }
  .fb-story-feature h2, .fb-story h1 { font-size: 29px; }
  .fb-store-map__info { position: relative; top: auto; left: auto; width: 100%; }
  .favorbeauty-storefront.woocommerce-checkout .woocommerce-checkout { grid-template-columns: 1fr; gap: 24px; }
  .favorbeauty-storefront.woocommerce-checkout .checkout-order-review { grid-column: 1; grid-row: auto; }
  .favorbeauty-storefront.woocommerce-checkout #order_review { position: static; }
}

/* Reference layout corrections: remove WoodMart side columns and width variables. */
.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .sidebar-container,
.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-breadcrumb {
  display: none !important;
}

.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .main-page-wrapper > .container {
  display: block !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) :where(.wd-content-area, .site-content) {
  width: 100% !important;
  max-width: 1200px !important;
  margin-inline: auto !important;
}

.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .fb-collection-head {
  width: 100%;
}

.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .shop-loop-head {
  display: block !important;
  width: 100% !important;
  border: 0;
}

.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .shop-loop-head > .wd-shop-tools:first-child {
  display: none !important;
}

.favorbeauty-storefront:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .shop-loop-head > .wd-shop-tools:last-child {
  display: block !important;
  width: 100% !important;
}

.favorbeauty-storefront.single-product .product-image-summary-inner > .summary {
  display: block !important;
  grid-column: 1;
}

.favorbeauty-storefront.single-product .product-image-summary-inner > .product-images {
  display: block !important;
  grid-column: 2;
  opacity: 1 !important;
  visibility: visible !important;
}

.favorbeauty-storefront.single-product .woocommerce-product-gallery {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media screen and (min-width: 750px) {
  .favorbeauty-storefront.single-product .fb-quick-order__table tbody {
    display: table-row-group !important;
  }

  .favorbeauty-storefront.single-product .fb-quick-order__row {
    display: table-row !important;
  }

  .favorbeauty-storefront.single-product .fb-quick-order__row > td {
    display: table-cell !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media screen and (max-width: 989px) {
  .favorbeauty-storefront.single-product .product-image-summary-inner > :where(.summary, .product-images) {
    grid-column: 1;
  }
}

@media screen and (max-width: 749px) {
  .fb-page-width {
    padding-inline: 16px;
  }

  .fb-product-grid,
  .favorbeauty-commerce-view ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fb-checkout-invoice__fields {
    grid-template-columns: 1fr;
  }

  .admin-bar .fb-site-header.is-sticky {
    top: 46px;
  }
}

/* Shopify Trade storefront shell and homepage. */
.fb-site-shell { min-height: 100vh; background: #fff; color: #2b2c2d; }
.fb-announcement { padding: 9px 16px; background: #c91577; color: #fff; text-align: center; font-size: 13px; }
.fb-header { position: sticky; top: 0; z-index: 400; border-bottom: 1px solid #dedede; background: #f4f4f4; }
.admin-bar .fb-header { top: 32px; }
.fb-header__inner { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; align-items: center; gap: 24px; width: min(1100px, calc(100% - 40px)); min-height: 60px; margin: 0 auto; }
.fb-logo img { display: block; width: 150px; height: auto; }
.fb-menu, .fb-mobile-menu { list-style: none; margin: 0; padding: 0; }
.fb-menu { display: flex; align-items: center; gap: 30px; }
.fb-menu a, .fb-footer a { color: #2b2c2d; font-weight: 500; }
.fb-menu a:hover, .fb-footer a:hover { color: #c91577; }
.fb-header__actions { display: flex; align-items: center; gap: 8px; }
.fb-language { position: relative; margin-right: 4px; font-size: 14px; }
.fb-language__short { display: none; }
.fb-language summary { display: flex; min-height: 40px; align-items: center; gap: 7px; padding: 0 8px; cursor: pointer; list-style: none; white-space: nowrap; }
.fb-language summary::-webkit-details-marker { display: none; }
.fb-language summary::after { content: "⌄"; font-size: 13px; }
.fb-language__menu { position: absolute; top: calc(100% + 7px); right: 0; z-index: 20; min-width: 130px; border: 1px solid #dedede; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.fb-language__menu a { display: block; padding: 10px 14px; color: #2b2c2d; white-space: nowrap; }
.fb-language__menu a:hover, .fb-language__menu a[aria-current="true"] { background: #f4f4f4; color: #c91577; }
.fb-icon-button { position: relative; display: inline-grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 0; border-radius: 0; background: transparent; color: #2b2c2d; font-size: 18px; line-height: 1; }
.fb-icon-button:hover { background: #fff; color: #c91577; }
.fb-cart-count { position: absolute; top: 1px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 10px; background: #c91577; color: #fff; font-size: 10px; line-height: 17px; }
.fb-menu-toggle { display: none; }
.fb-search-panel { border-top: 1px solid #dedede; padding: 18px 20px; background: #fff; }
.fb-search-panel form { display: grid; grid-template-columns: 1fr auto; max-width: 760px; margin: 0 auto; }
.fb-search-panel input { min-height: 48px; border: 1px solid #777; border-radius: 6px 0 0 6px; padding: 0 16px; }
.fb-search-panel button { min-width: 110px; border-radius: 0 6px 6px 0; background: #c91577; color: #fff; }
.fb-skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; background: #fff; padding: 12px; }
.fb-skip-link:focus { top: 8px; }
.fb-home { overflow: hidden; }
.fb-hero { position: relative; background: #f4f4f4; }
.fb-hero__track { position: relative; width: 100%; height: clamp(440px, 43vw, 620px); }
.fb-hero__slide { position: absolute; inset: 0; display: none; }
.fb-hero__slide.is-active { display: block; }
.fb-hero__slide img { display: block; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; }
.fb-hero__slide span { position: absolute; left: 50%; bottom: 42px; transform: translateX(-50%); border: 1px solid #2b2c2d; border-radius: 6px; padding: 12px 26px; background: #fff; color: #2b2c2d; font-weight: 600; }
.fb-hero__controls { position: absolute; right: 30px; bottom: 22px; display: flex; align-items: center; gap: 8px; padding: 5px; background: rgba(255,255,255,.9); }
.fb-hero__controls button { width: 34px; height: 34px; border: 0; background: transparent; color: #2b2c2d; }
.fb-service-strip { padding: 9px 20px; background: #1c2228; color: #fff; text-align: center; }
.fb-home-section { width: min(1200px, calc(100% - 40px)); margin: 0 auto; padding: 42px 0 54px; }
.fb-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.fb-section-heading h2, .fb-newsletter h2 { margin: 0; font-size: 34px; letter-spacing: 0; }
.fb-section-heading > a { border-bottom: 1px solid currentColor; color: #2b2c2d; }
.fb-home-section .products { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 12px; }
.fb-home-section .products::before, .fb-home-section .products::after { display: none !important; }
.fb-home-section .products > .product { width: auto !important; margin: 0 !important; }
.fb-light-product { display: flex; flex-direction: column; min-width: 0; }
.fb-light-product__image { display: block; overflow: hidden; border-radius: 8px; background: #f7f7f7; aspect-ratio: 4 / 5; }
.fb-light-product__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; padding: 0; }
.fb-light-product__content { display: flex; flex: 1; flex-direction: column; gap: 8px; padding-top: 12px; }
.fb-light-product__content h3 { display: -webkit-box; min-height: 2.7em; margin: 0; overflow: hidden; font-size: 15px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fb-light-product__content h3 a { color: #2b2c2d; }
.fb-light-product__content .price { display: flex; min-height: 24px; align-items: center; color: #2b2c2d; font-weight: 500; }
.fb-light-product__content .button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; margin-top: auto; border-radius: 6px; padding: 10px 12px; background: #c91577; color: #fff; line-height: 1.2; text-align: center; white-space: normal; }
.fb-category-section { width: 100%; max-width: none; padding: 48px max(20px, calc((100% - 1200px) / 2)) 60px; background: #c91577; color: #fff; }
.fb-category-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.fb-category-card { overflow: hidden; border-radius: 8px; background: #fff; color: #c91577; }
.fb-category-card img { width: 100%; aspect-ratio: 371 / 564; object-fit: cover; }
.fb-category-card h3 { margin: 0; padding: 14px; color: #c91577; font-size: 18px; }
.fb-newsletter { padding: 48px 20px 56px; background: #c91577; color: #fff; text-align: center; }
.fb-newsletter p { margin: 12px 0 24px; }
.fb-newsletter form { display: grid; grid-template-columns: 1fr 48px; max-width: 480px; margin: 0 auto; }
.fb-newsletter input { min-height: 48px; border: 1px solid #fff; border-radius: 6px 0 0 6px; background: transparent; color: #fff; padding: 0 14px; }
.fb-newsletter input::placeholder { color: #fff; }
.fb-newsletter button { border: 1px solid #fff; border-left: 0; border-radius: 0 6px 6px 0; background: transparent; color: #fff; }
.fb-footer { border-top: 1px solid #dedede; background: #f4f4f4; }
.fb-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; width: min(1200px, calc(100% - 40px)); min-height: 110px; margin: 0 auto; }
.fb-footer nav { display: flex; gap: 24px; }
.fb-footer p { margin: 0; font-size: 13px; }

@media (max-width: 989px) {
  .admin-bar .fb-header { top: 46px; }
  .fb-header__inner { grid-template-columns: 40px 1fr auto; width: calc(100% - 24px); min-height: 62px; gap: 8px; }
  .fb-menu-toggle { display: inline-grid; }
  .fb-logo { justify-self: center; }
  .fb-logo img { width: 126px; }
  .fb-desktop-nav, .fb-header__actions > a[aria-label="My account"] { display: none; }
  .fb-mobile-nav { position: absolute; top: 100%; left: 0; width: min(360px, 90vw); height: calc(100vh - 100%); overflow: auto; border-right: 1px solid #dedede; background: #fff; padding: 20px; box-shadow: 8px 12px 24px rgba(0,0,0,.12); }
  .fb-mobile-menu a { display: block; border-bottom: 1px solid #eee; padding: 14px 4px; color: #2b2c2d; }
  .fb-home-section .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fb-category-grid { overflow-x: auto; grid-template-columns: repeat(5, minmax(200px, 42vw)); scroll-snap-type: x mandatory; }
  .fb-category-card { scroll-snap-align: start; }
  .fb-footer__inner { flex-wrap: wrap; padding: 28px 0; }
}

@media (max-width: 749px) {
  .fb-announcement { padding: 7px 12px; }
  .fb-header__actions { gap: 0; }
  .fb-icon-button { width: 36px; height: 36px; }
  .fb-hero__track { height: auto; aspect-ratio: 16 / 9; }
  .fb-hero__slide img { object-fit: contain; object-position: center; background: #f8c8dd; }
  .fb-hero__slide span { bottom: 8px; padding: 8px 16px; font-size: 13px; }
  .fb-hero__controls { display: none; }
  .fb-home-section { width: calc(100% - 24px); padding: 32px 0 42px; }
  .fb-section-heading h2, .fb-newsletter h2 { font-size: 26px; }
  .fb-home-section .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 10px; }
  .fb-category-section { width: 100%; padding: 34px 12px 42px; }
  .fb-category-grid { grid-template-columns: repeat(5, minmax(78vw, 78vw)); }
  .fb-footer__inner { display: grid; }
  .fb-footer nav { flex-wrap: wrap; gap: 12px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .favorbeauty-storefront *,
  .favorbeauty-storefront *::before,
  .favorbeauty-storefront *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


/* WoodMart integration: global shell */
body.favorbeauty-storefront,
.favorbeauty-storefront .main-page-wrapper {
  background: var(--fb-color-surface);
}

.favorbeauty-storefront :where(.container, .container-fluid) {
  max-width: calc(var(--fb-page-width) + 40px);
  padding-inline: 20px;
  width: 100%;
}

.favorbeauty-storefront :where(p, li, label, input, select, textarea, button) {
  letter-spacing: 0;
}

.favorbeauty-storefront :where(.amount, .price) {
  color: var(--fb-color-brand);
  font-family: var(--fb-font-body);
}

.favorbeauty-storefront :where(.btn, .button, button, input[type="submit"]) {
  border-radius: var(--fb-radius-control);
  box-shadow: none;
  font-family: var(--fb-font-body);
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
}

.favorbeauty-storefront :where(.btn, .button, button, input[type="submit"]):disabled {
  cursor: wait;
  opacity: 0.58;
}

.favorbeauty-storefront :where(.wd-loader, .wd-content-loader)::after {
  border-top-color: var(--fb-color-brand);
}

/* Header, navigation, search */
.favorbeauty-storefront .whb-header {
  background: var(--fb-color-canvas);
  color: var(--fb-color-ink);
  font-family: var(--fb-font-body);
}

.favorbeauty-storefront .whb-row {
  border-color: var(--fb-color-border);
}

.favorbeauty-storefront .whb-sticked .whb-row {
  box-shadow: 0 6px 18px rgba(28, 34, 40, 0.08);
}

.favorbeauty-storefront :where(.wd-nav-main, .wd-nav-secondary) > li > a {
  color: var(--fb-color-ink);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.favorbeauty-storefront :where(.wd-nav-main, .wd-nav-secondary) > li:hover > a,
.favorbeauty-storefront :where(.wd-nav-main, .wd-nav-secondary) > li.current-menu-item > a {
  color: var(--fb-color-brand);
}

.favorbeauty-storefront :where(.wd-header-search, .wd-header-cart, .wd-header-my-account) .wd-tools-icon {
  color: var(--fb-color-ink);
}

.favorbeauty-storefront .wd-tools-count {
  background: var(--fb-color-brand);
  color: var(--fb-color-canvas);
}

.favorbeauty-storefront .wd-search-dropdown .searchform,
.favorbeauty-storefront .wd-search-full-screen .searchform,
.favorbeauty-storefront .wd-search-full-screen-2 .searchform {
  border-color: rgba(43, 44, 45, 0.32);
  border-radius: var(--fb-radius-control);
}

.favorbeauty-storefront :where(.wd-search-dropdown, .wd-search-full-screen, .wd-search-full-screen-2) .searchform input.s {
  color: var(--fb-color-ink);
  font-family: var(--fb-font-body);
  font-size: 16px;
}

.favorbeauty-storefront :where(.wd-search-dropdown, .wd-search-full-screen, .wd-search-full-screen-2) .searchsubmit {
  background: var(--fb-color-brand);
  color: var(--fb-color-canvas);
}

.favorbeauty-storefront .wd-search-results {
  background: var(--fb-color-canvas);
  border: 1px solid var(--fb-color-border);
  border-radius: 0 0 var(--fb-radius-card) var(--fb-radius-card);
  box-shadow: 0 12px 24px rgba(28, 34, 40, 0.12);
}

.favorbeauty-storefront .wd-search-results .suggestion-title {
  color: var(--fb-color-ink);
  font-weight: 500;
}

.favorbeauty-storefront .wd-search-results .suggestion-price {
  color: var(--fb-color-brand);
}

.favorbeauty-storefront :where(.wd-search-full-screen, .wd-search-full-screen-2) {
  background: var(--fb-color-canvas);
}

/* Collection heading, filters, sorting */
.favorbeauty-storefront .page-title {
  background: var(--fb-color-surface);
  color: var(--fb-color-ink);
  margin: 0;
  padding-block: 34px 20px;
}

.favorbeauty-storefront .page-title .entry-title,
.favorbeauty-storefront .woocommerce-products-header__title {
  font-size: 44px;
  font-weight: 500;
  line-height: 1.1;
  margin: 0;
}

.favorbeauty-storefront .shop-loop-head {
  align-items: center;
  border-block: 1px solid var(--fb-color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  min-height: 62px;
  padding-block: 10px;
}

.favorbeauty-storefront .wd-shop-tools {
  align-items: center;
  gap: 14px;
}

.favorbeauty-storefront :where(.woocommerce-ordering select, .wd-show-sidebar-btn, .wd-products-per-page a) {
  font-size: 13px;
}

.favorbeauty-storefront :where(.filters-area, .wd-filter-content) {
  background: var(--fb-color-canvas);
  border-block: 1px solid var(--fb-color-border);
}

.favorbeauty-storefront .filters-area .filters-inner-area {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-block: 24px;
}

.favorbeauty-storefront .filters-area .widget {
  margin: 0;
}

.favorbeauty-storefront .filters-area .widget-title {
  font-size: 13px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

/* Product grids and cards */
.favorbeauty-storefront .wd-products.elements-grid:not(.wd-carousel) {
  display: grid !important;
  gap: var(--fb-grid-gap) !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.favorbeauty-storefront .wd-products.elements-grid:not(.wd-carousel) > .wd-product {
  max-width: none;
  min-width: 0;
  padding: 0 !important;
  width: auto;
}

.favorbeauty-storefront .fb-product-card {
  background: var(--fb-color-canvas);
  border-radius: var(--fb-radius-card);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.favorbeauty-storefront .fb-product-card__media {
  aspect-ratio: 4 / 5;
  background: var(--fb-color-canvas);
  margin: 0;
  overflow: hidden;
  padding: 12px;
  position: relative;
}

.favorbeauty-storefront .fb-product-card__image-link {
  background: var(--fb-color-surface);
  border-radius: 6px;
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.favorbeauty-storefront .fb-product-card__media :where(img, .product-image-link img) {
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform var(--fb-duration-default) ease;
  width: 100%;
}

.favorbeauty-storefront .fb-product-card:hover .fb-product-card__media img {
  transform: scale(1.02);
}

.favorbeauty-storefront .fb-product-card__content {
  align-content: start;
  display: grid;
  flex: 1;
  gap: 8px;
  padding: 0 12px 14px;
}

.favorbeauty-storefront .fb-product-card :where(.wd-entities-title, .woocommerce-loop-product__title) {
  font-family: var(--fb-font-body);
  font-size: 15px;
  font-weight: 400;
  height: 2.7em;
  line-height: 1.35;
  margin: 0;
  min-height: 2.7em;
  overflow-wrap: anywhere;
}

.favorbeauty-storefront .fb-product-card :where(.wd-entities-title, .woocommerce-loop-product__title) a {
  color: var(--fb-color-brand);
}

.favorbeauty-storefront .fb-product-card__price {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 15px;
  font-weight: 500;
  min-height: 24px;
}

.favorbeauty-storefront .fb-product-card__price del {
  color: var(--fb-color-muted);
  font-size: 12px;
  opacity: 0.7;
}

.favorbeauty-storefront .fb-product-card__buy {
  align-items: stretch;
  display: flex;
  gap: 6px;
  margin-top: auto;
  min-height: 42px;
}

.favorbeauty-storefront .fb-product-card__buy .quantity {
  border: 1px solid var(--fb-color-border);
  border-radius: var(--fb-radius-control);
  flex: 0 0 84px;
  min-width: 0;
}

.favorbeauty-storefront .fb-product-card__buy .quantity :where(.minus, .plus) {
  width: 26px;
}

.favorbeauty-storefront .fb-product-card__buy .quantity input {
  min-height: 40px;
  width: 30px;
}

.favorbeauty-storefront .fb-product-card__buy .button {
  align-items: center;
  display: inline-flex;
  flex: 1;
  justify-content: center;
  line-height: 1.2;
  margin: 0;
  min-height: 42px;
  min-width: 0;
  padding: 8px 10px;
  white-space: normal;
}

.favorbeauty-storefront .fb-product-card .wd-buttons {
  display: none;
}

.favorbeauty-storefront .product-label {
  background: var(--fb-color-brand);
  border-radius: 999px;
  color: var(--fb-color-canvas);
  font-size: 11px;
  font-weight: 500;
  min-height: 30px;
  min-width: 50px;
  padding: 7px 10px;
  text-transform: none;
}

/* Single product: information left, gallery right */
.favorbeauty-storefront.single-product .main-page-wrapper {
  background: var(--fb-color-canvas);
}

.favorbeauty-storefront.single-product .product-image-summary-inner {
  align-items: start;
  display: grid !important;
  gap: 44px !important;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}

.favorbeauty-storefront.single-product .product-image-summary-inner > .summary {
  order: 1;
  position: relative;
  width: auto !important;
}

.favorbeauty-storefront.single-product .product-image-summary-inner > .product-images {
  order: 2;
  width: auto !important;
}

.favorbeauty-storefront.single-product .product-images :where(.woocommerce-product-gallery__image, .wd-carousel-item) img {
  background: var(--fb-color-surface);
  border-radius: var(--fb-radius-card);
}

.favorbeauty-storefront.single-product .summary-inner > .product_title {
  font-size: 34px;
  line-height: 1.15;
  margin-bottom: 14px;
}

.favorbeauty-storefront.single-product .summary-inner > .price {
  display: block;
  font-size: 21px;
  margin-bottom: 22px;
}

.favorbeauty-storefront.single-product .woocommerce-product-details__short-description {
  color: var(--fb-color-muted);
  font-size: 16px;
  line-height: 1.65;
}

.favorbeauty-storefront.single-product :where(.wd-wishlist-btn, .product_meta) {
  display: none !important;
}

.favorbeauty-storefront.single-product .product-tabs-wrapper {
  background: var(--fb-color-canvas);
  border: 0;
}

.favorbeauty-storefront.single-product :where(.wd-accordion-title, .woocommerce-Tabs-panel) {
  border-color: var(--fb-color-border);
}

.favorbeauty-storefront.single-product .wd-accordion-title {
  font-family: var(--fb-font-body);
  font-size: 15px;
  font-weight: 500;
}

.favorbeauty-storefront.single-product .related-and-upsells {
  padding-block: 36px 44px;
}

.favorbeauty-storefront.single-product :where(.related, .upsells) > h2 {
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 24px;
}

@media screen and (min-width: 990px) {
  .favorbeauty-storefront.single-product .related-and-upsells .wd-carousel {
    --wd-col-lg: 5 !important;
  }

  .favorbeauty-storefront.single-product .related .wd-carousel-wrap {
    transform: none !important;
  }

  .favorbeauty-storefront.single-product .related .wd-carousel {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .favorbeauty-storefront.single-product .related .wd-carousel-item {
    width: auto !important;
  }

  .favorbeauty-storefront.single-product .related-and-upsells :where(.wd-nav-arrows, .wd-nav-pagin) {
    display: none !important;
  }
}

/* Cart drawer */
.favorbeauty-storefront:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .sidebar-container { display: none !important; }
.favorbeauty-storefront:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .wd-content-area { flex: 0 0 100%; max-width: 100%; }
.fb-empty-cart { width: min(760px, calc(100% - 32px)); margin: 0 auto; padding: 80px 0 96px; text-align: center; }
.fb-empty-cart h1 { margin: 0 0 24px; font-size: 42px; font-weight: 500; }
.fb-empty-cart > .button { min-height: 48px; padding: 14px 28px; border-radius: 6px; background: #c91577; color: #fff; }
.fb-empty-cart h2 { margin: 42px 0 8px; font-size: 22px; }
.fb-empty-cart p { margin: 0; }
.fb-empty-cart p a { color: #2b2c2d; text-decoration: underline; }

.favorbeauty-storefront .cart-widget-side {
  background: var(--fb-color-canvas);
  box-shadow: var(--fb-shadow-drawer);
  width: min(440px, 100vw);
}

.favorbeauty-storefront .cart-widget-side .wd-heading {
  border-bottom: 1px solid var(--fb-color-border);
  min-height: 64px;
}

.favorbeauty-storefront .cart-widget-side .wd-heading .title {
  font-family: var(--fb-font-heading);
  font-size: 20px;
  font-weight: 500;
}

.favorbeauty-storefront .woocommerce-mini-cart-item {
  border-color: var(--fb-color-border);
  padding-block: 14px;
}

.favorbeauty-storefront .woocommerce-mini-cart-item .cart-item-image {
  border-radius: 6px;
  overflow: hidden;
}

.favorbeauty-storefront .shopping-cart-widget-footer {
  background: var(--fb-color-canvas);
  border-top: 1px solid var(--fb-color-border);
}

.favorbeauty-storefront .woocommerce-mini-cart__buttons {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.favorbeauty-storefront .woocommerce-mini-cart__buttons .button {
  margin: 0;
  width: 100%;
}

/* Forms, cart, checkout, account, content */
.favorbeauty-storefront :where(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-MyAccount-content) {
  background: var(--fb-color-canvas);
}

.favorbeauty-storefront :where(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order) {
  border: 1px solid var(--fb-color-border);
  border-radius: var(--fb-radius-card);
  padding: 20px;
}

.favorbeauty-storefront .woocommerce table.shop_table {
  border-color: var(--fb-color-border);
}

.favorbeauty-storefront .woocommerce table.shop_table :where(th, td) {
  border-color: var(--fb-color-border);
}

.favorbeauty-storefront .woocommerce-MyAccount-navigation {
  background: var(--fb-color-canvas);
  border: 1px solid var(--fb-color-border);
  border-radius: var(--fb-radius-card);
  overflow: hidden;
}

.favorbeauty-storefront .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--fb-color-brand);
  color: var(--fb-color-canvas);
}

.favorbeauty-storefront :where(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
  background: var(--fb-color-canvas);
  border-radius: var(--fb-radius-control);
}

/* Footer */
.favorbeauty-storefront .footer-container {
  background: var(--fb-color-dark);
  color: var(--fb-color-canvas);
}

.favorbeauty-storefront .footer-container :where(h1, h2, h3, h4, h5, h6, a) {
  color: var(--fb-color-canvas);
}

.favorbeauty-storefront .footer-container a:hover {
  color: #f1a8cf;
}

@media screen and (max-width: 989px) {
  .favorbeauty-storefront :where(.container, .container-fluid) {
    padding-inline: 16px;
  }

  .favorbeauty-storefront .wd-products.elements-grid:not(.wd-carousel) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .favorbeauty-storefront .filters-area .filters-inner-area {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .favorbeauty-storefront.single-product .product-image-summary-inner {
    display: grid !important;
    gap: 26px !important;
    grid-template-columns: 1fr;
    width: 100% !important;
  }

  .favorbeauty-storefront.single-product .product-image-summary-inner > :where(.product-images, .summary) {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .favorbeauty-storefront.single-product .product-image-summary-inner > .product-images,
  .favorbeauty-storefront.single-product .product-image-summary-inner > .summary {
    grid-column: 1 !important;
  }

  .favorbeauty-storefront.single-product .product-image-summary-inner > .product-images {
    order: 1;
  }

  .favorbeauty-storefront.single-product .woocommerce-product-gallery,
  .favorbeauty-storefront.single-product .woocommerce-product-gallery__wrapper,
  .favorbeauty-storefront.single-product .woocommerce-product-gallery__image,
  .favorbeauty-storefront.single-product .woocommerce-product-gallery__image img {
    max-width: 100% !important;
    width: 100% !important;
  }

  .favorbeauty-storefront.single-product .product-image-summary-inner > .summary {
    order: 2;
  }
}

@media screen and (max-width: 749px) {
  .favorbeauty-storefront .page-title {
    padding-block: 24px 14px;
  }

  .favorbeauty-storefront .page-title .entry-title,
  .favorbeauty-storefront .woocommerce-products-header__title {
    font-size: 30px;
  }

  .favorbeauty-storefront .shop-loop-head {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .favorbeauty-storefront .wd-products.elements-grid:not(.wd-carousel) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .favorbeauty-storefront .filters-area .filters-inner-area {
    grid-template-columns: 1fr;
  }

  .favorbeauty-storefront .fb-product-card__media {
    padding: 8px;
  }

  .favorbeauty-storefront .fb-product-card__content {
    padding: 0 8px 10px;
  }

  .favorbeauty-storefront .fb-product-card :where(.wd-entities-title, .woocommerce-loop-product__title) {
    display: -webkit-box;
    font-size: 14px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .favorbeauty-storefront .fb-product-card__buy {
    display: grid;
    gap: 6px;
    grid-template-columns: 1fr;
  }

  .favorbeauty-storefront .fb-product-card__buy .quantity {
    width: 100%;
  }

  .favorbeauty-storefront .fb-product-card__buy .quantity input {
    width: calc(100% - 52px);
  }

  .favorbeauty-storefront.single-product .summary-inner > .product_title {
    font-size: 28px;
  }

  .favorbeauty-storefront .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 749px) {
  .favorbeauty-storefront.single-product .wd-gallery-thumb {
    display: none;
  }
}

/* Final shell guards override WoodMart's generic navigation declarations. */
.favorbeauty-storefront .fb-mobile-nav[hidden],
.favorbeauty-storefront .fb-search-panel[hidden] {
  display: none !important;
}

.favorbeauty-storefront .fb-menu-toggle {
  display: none !important;
}

.favorbeauty-storefront .fb-desktop-nav {
  display: block !important;
}

.favorbeauty-storefront .fb-menu > li {
  position: relative;
}

.favorbeauty-storefront .fb-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: -16px;
  z-index: 20;
  display: none;
  min-width: 190px;
  margin: 0;
  padding: 10px 0;
  list-style: none;
  border: 1px solid #dedede;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .1);
}

.favorbeauty-storefront .fb-menu li:hover > .sub-menu,
.favorbeauty-storefront .fb-menu li:focus-within > .sub-menu {
  display: block;
}

.favorbeauty-storefront .fb-menu .sub-menu a {
  display: block;
  padding: 9px 16px;
  white-space: nowrap;
}

/* Shopify collection toolbar replaces WoodMart's per-page and grid controls. */
.favorbeauty-commerce-view .wd-products-per-page,
.favorbeauty-commerce-view .wd-products-shop-view,
.favorbeauty-commerce-view .wd-show-sidebar-btn,
.favorbeauty-commerce-view .woocommerce-result-count,
.favorbeauty-commerce-view .woocommerce-ordering {
  display: none !important;
}

.fb-collection-head { width: min(1200px, calc(100% - 40px)); margin: 30px auto 24px; }
.fb-collection-head h1 { margin: 0 0 24px; font-size: 40px; font-weight: 400; text-transform: lowercase; }
.fb-collection-head h1 span { font-size: 16px; }
.fb-collection-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 24px; border-bottom: 1px solid #dedede; padding-bottom: 16px; }
.fb-collection-filters { display: flex; align-items: center; gap: 20px; }
.fb-collection-filters details { position: relative; }
.fb-collection-filters summary { cursor: pointer; list-style: none; }
.fb-collection-filters summary::after { content: "\2304"; margin-left: 8px; }
.fb-collection-filters details[open] { z-index: 50; }
.fb-collection-filters details > label,
.fb-price-filter { position: absolute; top: calc(100% + 10px); left: 0; min-width: 240px; border: 1px solid #dedede; background: #fff; padding: 16px; box-shadow: 0 8px 22px rgba(0,0,0,.1); }
.fb-collection-filters details > button { position: absolute; top: 58px; right: 16px; z-index: 2; }
.fb-price-filter { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fb-price-filter label { display: grid; gap: 5px; }
.fb-price-filter input { width: 100%; min-height: 40px; }
.fb-price-filter button { grid-column: 1 / -1; }
.fb-archive-sort { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.fb-archive-sort select { min-height: 42px; border: 1px solid #777; border-radius: 0; background: #fff; }
.fb-product-count { white-space: nowrap; }

@media (max-width: 767px) {
  .fb-collection-head { width: calc(100% - 24px); margin-top: 20px; }
  .fb-collection-head h1 { font-size: 28px; }
  .fb-collection-toolbar { grid-template-columns: 1fr auto; gap: 14px; }
  .fb-collection-filters { grid-column: 1 / -1; gap: 14px; }
  .fb-collection-filters > strong { display: none; }
  .fb-archive-sort { font-size: 0; }
  .fb-archive-sort select { max-width: 190px; font-size: 13px; }
  .fb-product-count { font-size: 13px; }
}

@media screen and (max-width: 989px) {
  .favorbeauty-storefront .fb-menu-toggle {
    display: inline-grid !important;
  }

  .favorbeauty-storefront .fb-desktop-nav,
  .favorbeauty-storefront .fb-header__actions > a:not(.fb-cart-link) {
    display: none !important;
  }

  .favorbeauty-storefront .fb-language__long {
    display: none;
  }

  .favorbeauty-storefront .fb-language__short {
    display: inline;
  }

  .favorbeauty-storefront .fb-language {
    display: block !important;
    margin-right: 0;
  }

  .favorbeauty-storefront .fb-language summary {
    min-height: 36px;
    padding-inline: 6px;
  }
}

/* The custom header selector replaces TranslatePress's overlapping widget. */
.trp-language-switcher.trp-floating-switcher {
  display: none !important;
}

@media screen and (max-width: 749px) {
  .favorbeauty-storefront .fb-collection-head {
    width: auto !important;
    margin-inline: 16px !important;
  }

  .favorbeauty-storefront .fb-collection-toolbar {
    gap: 10px;
  }

  .favorbeauty-storefront .fb-archive-sort {
    min-width: 0;
  }

  .favorbeauty-storefront .fb-archive-sort select {
    width: 190px !important;
    max-width: 100% !important;
  }

  .favorbeauty-storefront .fb-product-count {
    font-size: 12px;
  }

  .favorbeauty-storefront.woocommerce-account .woocommerce {
    padding-inline: 16px;
  }

  .favorbeauty-storefront.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-inline: 16px;
  }
}
