/* Staging-validated refinements shared by coded and Elementor-rendered pages. */
/* Keep editorial copy in its original case; Aboreto has capitals-only glyphs. */
.sf-article-page .sf-prose > p:first-child,
.sf-article-page .sf-prose blockquote,
.sf-article-page .sf-prose h2,
.sf-article-page .sf-prose h3 {
  font-family: Georgia, 'Times New Roman', serif !important;
  text-transform: none !important;
}
.sf-shop-category-group.is-current h2 {
  border-color: var(--sf-brown, #81564f);
  border-bottom-width: 2px;
}
.sf-shop-category-group.is-current .sf-shop-category-group__parent {
  color: var(--sf-brown, #81564f);
  font-weight: 500;
}
.sf-team-card img,
body.page-id-45263 .sf-editorial-hero > img {
  object-position: center top !important;
}
.sf-home-stories-slider__slide img {
  background: #eee8e2;
}
.sf-product-card__price:empty {
  display: none;
}
/* Boubou Smoking intentionally has no owner-supplied price. The coded
   homepage rail formats its reference price directly, so hide that one
   rendered value without altering WooCommerce price metadata. */
.sf-product-card:has(a[href*="product=boubou-smoking"]) .sf-product-card__price {
  display: none !important;
}
.sf-header-action { color: inherit !important; }
.sf-home-stories-slider__button { width: 34px; height: 34px; padding: 0; border: 1px solid #81564f; border-radius: 0; background: #fff; color: #81564f; font-size: 18px; line-height: 1; cursor: pointer; }
.sf-shop-category-group h2 i { display: none !important; }
.sf-shop-category-group h2 button { display: none !important; }
.sf-filter-category-groups section { margin-block: 16px; }
.sf-filter-category-groups h3 { font: 500 16px/1.4 Arial,sans-serif; color: #81564f; }
.sf-filter-category-groups a[aria-current="page"] { color: #81564f; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.sfeb-whatsapp { position: fixed; right: 18px; bottom: max(18px, env(safe-area-inset-bottom)); z-index: 990; display: inline-flex; align-items: center; gap: 8px; padding: 12px 17px; border-radius: 28px; background: #81564f; color: white!important; font: 500 13px/1.2 Arial,sans-serif; box-shadow: 0 3px 18px #0003; }
.sfeb-whatsapp:focus-visible { outline: 3px solid #c69b87; outline-offset: 4px; }
.sfeb-stock-dialog { width: min(460px, calc(100% - 32px)); max-height: 85vh; overflow: auto; padding: 36px 28px 28px; background: #fffaf6; color: #211d1a; border: 1px solid #c8aea1; border-radius: 4px; }
.sfeb-stock-dialog::backdrop { background: #17131099; }
.sfeb-stock-dialog h2 { font: 400 26px/1.3 Georgia,serif; text-transform: none; }
.sfeb-stock-dialog p { font: 400 16px/1.65 Arial,sans-serif; }
.sfeb-dialog-close { position: absolute; right: 10px; top: 8px; width: 32px; height: 32px; border: 0; background: transparent; font-size: 26px; cursor: pointer; }
.sfeb-stock-cta { margin-block: 20px; }
.sfeb-stock-cta[hidden], .sf-filter-category-groups li[hidden] { display: none!important; }
body.home .trp-floating-switcher { display: block!important; top: auto!important; bottom: 18px!important; left: 18px!important; right: auto!important; z-index: 980; }
body.home .trp-floating-switcher .trp-switcher-dropdown-list { top: auto!important; bottom: 100%!important; }
body.home .sf-sound { right: 100px!important; bottom: 25px!important; max-width: 115px; }
@media (max-width: 760px) {
  .sf-shop-category-hub { padding-block: 16px !important; }
  .sf-shop-category-group__parent { padding-block: 12px !important; }
}

/* October client review: contain horizontal rails without enlarging the page. */
.elementor-widget-sfeb-home,
.elementor-widget-sfeb-home > .elementor-widget-container,
.sf-home, .sf-story-grid > *, .sf-split-campaign > * {
  min-width: 0;
}
body.home .sf-story-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.home .sf-story-card { width: 100%; min-width: 0; overflow-wrap: anywhere; }
body.home .sf-home-stories-slider__slide { min-width: 0; }
body.home .sf-home { overflow-x: clip; }
body.home .elementor-widget-sfeb-home { overflow: hidden; }
body.home .sf-category-card > div > span,
body.home .sf-occasion-card > span { display: none; }
body.home .sf-product-card h3,
body.home .sf-product-card__price { padding-inline: 12px; }
body.home .sf-lookbook figcaption { padding-inline: 12px; }
/* Aboreto draws uppercase glyphs even for lowercase source text. */
.sf-editorial-page--engagement .sf-purpose__lead,
.sf-editorial-page--collection .sf-editorial-intro > p:last-child,
.sf-editorial-page--lookbook .sf-editorial-intro > p:last-child,
.sf-editorial-page--contact .sf-editorial-intro > p:last-child,
.sf-editorial-page--contact .sf-contact-layout h2,
.sf-editorial-page--team .sf-editorial-hero h1 {
  font-family: Georgia, 'Times New Roman', serif;
  text-transform: none;
  letter-spacing: normal;
}
@media (max-width: 1000px) {
  body.home .sf-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  body.home .sf-story-grid { grid-template-columns: minmax(0, 1fr); }
}
