/* Shared frontend design. Scoped to plugin components; admin styles and component behaviour stay independent.
   Visual !important rules bridge the older widget styles and Elementor inline styling.
   Visibility, open/closed states and positioning remain owned by each component. */
body.sgm-ui {
  background-color: #f7f6f1;
  --sg-ui-ink: #28332c;
  --sg-ui-muted: #59645b;
  --sg-ui-accent: #355b45;
  --sg-ui-accent-hover: #264633;
  --sg-ui-soft: #edf2eb;
  --sg-ui-paper: #fffefa;
  --sg-ui-canvas: #f7f6f1;
  --sg-ui-line: #d9ded5;
  --sg-ui-radius: 14px;
  --sg-ui-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgmv2-recipe-results, .sgm-auth-page,
  .sgm-chat-panel, .sgm-cookie-bar, .sgm-advertising-portal, .sgm-mb-sheet) {
  --sgm-widget-text: var(--sg-ui-ink);
  --sgm-widget-heading: var(--sg-ui-ink);
  --sgm-widget-muted: var(--sg-ui-muted);
  --sgm-widget-accent: var(--sg-ui-accent);
  --sgm-widget-surface: var(--sg-ui-paper);
  --sgm-widget-surface-alt: var(--sg-ui-canvas);
  --sgm-widget-border: var(--sg-ui-line);
  --sgm-widget-button-bg: var(--sg-ui-accent);
  --sgm-widget-button-hover-bg: var(--sg-ui-accent-hover);
  --sgm-widget-button-text: #fff;
  --sgm-widget-input-text: var(--sg-ui-ink);
  --sgm-widget-input-placeholder: var(--sg-ui-muted);
  --sgm-widget-radius: var(--sg-ui-radius);
  font-family: var(--sg-ui-font) !important;
  font-size: 17px;
  line-height: 1.6;
  color: var(--sg-ui-ink);
  -webkit-text-size-adjust: 100%;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgm-auth-page, .sgm-advertising-portal) :is(h1,h2,h3,h4) {
  font-family: var(--sg-ui-font) !important;
  color: var(--sg-ui-ink) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
}
body.sgm-ui :is(.sgm-section-heading__title, .sgm-profile__title, .sgm-yarn-single__title, .sgm-rr__heading) {
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 650 !important;
  margin-bottom: 12px;
}
body.sgm-ui :is(.sgm-section-heading__eyebrow, .sgm-card__eyebrow, .sgm-yarn-card__eyebrow,
  .sgm-search-hero__chips-heading, .sgm-forum-topic-card__eyebrow, .sgm-rr__eyebrow) {
  color: var(--sg-ui-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgm-chat-panel, .sgm-auth-page, .sgm-cookie-bar, .sgm-advertising-portal) :focus-visible {
  outline: 3px solid #a06518 !important;
  outline-offset: 3px !important;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgm-auth-page, .sgm-advertising-portal, .sgm-chat-panel)
  :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]), select, textarea):not(.sgm-search-hero__input) {
  font-family: var(--sg-ui-font) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: var(--sg-ui-ink) !important;
  background: #fff !important;
  border: 1px solid #aab5a9 !important;
  border-radius: 8px !important;
  min-height: 48px;
  padding: 11px 14px !important;
  max-width: 100%;
  box-shadow: none !important;
  box-sizing: border-box;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgm-auth-page, .sgm-chat-panel, .sgm-advertising-portal) ::placeholder {
  color: var(--sg-ui-muted) !important;
  opacity: 1;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgm-auth-page) :is(input[type=checkbox], input[type=radio]) {
  accent-color: var(--sg-ui-accent);
}
body.sgm-ui :is(.sgm-filter-label, .sgm-auth-label, .sgm-account__field > span, .sgm-cr-form__label, .sgm-rr__label) {
  color: var(--sg-ui-ink) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
/* Primary actions share a consistent shape. Icon and secondary buttons stay distinct. */
body.sgm-ui :is(.sgm-search-hero__button, .sgm-btn--primary, .sgmv2-search-submit, .sgm-auth-submit,
  .sgm-mobile-menu__btn--primary, .sgm-chat-guest-form__submit, .sgm-advertising-portal__package-button,
  .sgm-advertising-portal__save-button) {
  min-height: 48px !important;
  padding: 12px 22px !important;
  border: 1px solid var(--sg-ui-accent) !important;
  border-radius: 9px !important;
  background: var(--sg-ui-accent) !important;
  color: #fff !important;
  font: 600 16px/1.4 var(--sg-ui-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  white-space: normal !important;
  cursor: pointer;
}
body.sgm-ui :is(.sgm-search-hero__button, .sgm-btn--primary, .sgmv2-search-submit, .sgm-auth-submit):hover {
  background: var(--sg-ui-accent-hover) !important;
  border-color: var(--sg-ui-accent-hover) !important;
}
body.sgm-ui :is(.sgm-search-hero__button.is-secondary, .sgm-single-recipe__secondary-action,
  .sgm-btn--secondary, .sgm-mobile-menu__btn--secondary, .sgmv2-clear-filters) {
  background: transparent !important;
  color: var(--sg-ui-accent) !important;
  border: 1px solid #aab5a9 !important;
  border-radius: 9px !important;
  min-height: 44px;
  font: 600 16px/1.4 var(--sg-ui-font) !important;
  box-shadow: none !important;
}
body.sgm-ui :is(.sgm-btn--danger, .sgm-mobile-menu__btn--danger) {
  background: #fff !important;
  color: #94392e !important;
  border-color: #b66c63 !important;
}
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter) button:disabled { cursor: not-allowed; }
/* Search and filtering: one quiet surface, readable options, visible selection. */
body.sgm-ui .sgm-search-hero__bar {
  padding: 8px !important;
  border: 1px solid var(--sg-ui-line) !important;
  border-radius: 14px !important;
  background: var(--sg-ui-paper) !important;
  box-shadow: 0 4px 18px #28332c0a !important;
}
body.sgm-ui .sgm-search-hero .sgm-search-hero__input {
  border: 0 !important;
  background: transparent !important;
  font-size: 19px !important;
  min-width: 0;
}
body.sgm-ui .sgm-search-hero__chips { gap: 8px !important; }
body.sgm-ui :is(.sgm-chip, .sgm-forum-category-chip, .sgmv2-chip) {
  background: var(--sg-ui-paper) !important;
  color: var(--sg-ui-accent) !important;
  border: 1px solid var(--sg-ui-line) !important;
  border-radius: 8px !important;
  font: 500 15px/1.4 var(--sg-ui-font) !important;
  padding: 10px 12px !important;
  min-height: 44px;
  box-shadow: none !important;
  text-transform: none !important;
}
body.sgm-ui :is(.sgm-search-hero__suggestions, .sgm-filter-panel, .sgmv2-recipe-filter, .sgm-simple-filter-panel) {
  background: var(--sg-ui-paper) !important;
  border: 1px solid var(--sg-ui-line) !important;
  border-radius: var(--sg-ui-radius) !important;
  box-shadow: none !important;
  padding: 22px !important;
}
body.sgm-ui .sgm-search-hero__suggestion {
  padding: 12px !important;
  border-radius: 8px !important;
  min-height: 48px;
  color: var(--sg-ui-ink) !important;
}
body.sgm-ui .sgm-search-hero__suggestion:hover { background: var(--sg-ui-soft) !important; }
body.sgm-ui .sgm-search-hero__suggestion-title { font: 600 17px/1.4 var(--sg-ui-font) !important; }
body.sgm-ui .sgm-search-hero__view-all { background: var(--sg-ui-soft) !important; font-weight: 650; margin-top: 12px; }
body.sgm-ui .sgmv2-filter-title { font-size: 24px !important; }
body.sgm-ui .sgmv2-search-help { color: var(--sg-ui-muted); font-size: 16px; }
body.sgm-ui .sgmv2-search-wrapper { border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.sgm-ui .sgmv2-recipe-filter .sgmv2-search-input { padding-left: 42px !important; padding-right: 42px !important; }
body.sgm-ui :is(.sgm-filter-group__accordion-header, .sgm-filter-panel__toggle) {
  background: transparent !important;
  color: var(--sg-ui-ink) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sg-ui-line) !important;
  border-radius: 0 !important;
  min-height: 48px !important;
  padding: 12px 0 !important;
  box-shadow: none !important;
  font: 550 16px/1.45 var(--sg-ui-font) !important;
  text-align: left;
  text-transform: none !important;
}
body.sgm-ui .sgm-filter-group__accordion-label { color: inherit !important; font: inherit !important; }
body.sgm-ui .sgm-filter-group__accordion-body { background: transparent !important; padding: 8px 0 !important; box-shadow: none !important; }
body.sgm-ui .sgm-simple-filter-checkbox {
  min-height: 44px;
  padding: 10px !important;
  border-radius: 6px !important;
  font-size: 16px !important;
  background: transparent !important;
  color: var(--sg-ui-ink) !important;
  box-shadow: none !important;
}
body.sgm-ui .sgm-simple-filter-checkbox.is-checked { background: var(--sg-ui-soft) !important; color: var(--sg-ui-accent) !important; }
body.sgm-ui .sgm-simple-filter-checkbox__label { color: inherit !important; font-size: 16px !important; }
body.sgm-ui :is(.sgm-simple-filter-checkbox__count, .sgm-filter-group__accordion-count) { background: var(--sg-ui-soft) !important; color: var(--sg-ui-accent) !important; font-size: 14px !important; }
body.sgm-ui .sgmv2-chip--active { background: var(--sg-ui-soft) !important; }
body.sgm-ui .sgmv2-filter-topbar { background: var(--sg-ui-canvas) !important; border: 1px solid var(--sg-ui-line) !important; border-radius: 9px !important; box-shadow: none !important; }
body.sgm-ui .sgmv2-readonly-mode::before, body.sgm-ui .sgmv2-readonly-disabled::after { content: none !important; }
/* Cards use images and titles as the hierarchy, without competing decorative panels. */
body.sgm-ui :is(.sgm-card, .sgm-yarn-card, .sgm-forum-topic-card, .sgm-yarn-match-card,
  .sgm-advertising-portal__package-card, .sgm-advertising-portal__preview-card) {
  background: var(--sg-ui-paper) !important;
  border: 1px solid var(--sg-ui-line) !important;
  border-radius: var(--sg-ui-radius) !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden;
}
body.sgm-ui :is(.sgm-card, .sgm-yarn-card, .sgm-forum-topic-card):hover { border-color: #91a58f !important; }
body.sgm-ui :is(.sgm-card__body, .sgm-yarn-card__body, .sgm-yarn-match-card__body) { padding: 20px !important; }
body.sgm-ui :is(.sgm-card__title, .sgm-yarn-card__title, .sgm-forum-topic-card__title) { font-size: 22px !important; font-weight: 600 !important; margin: 0 0 10px !important; }
body.sgm-ui :is(.sgm-card__title, .sgm-yarn-card__title, .sgm-forum-topic-card__title) a { color: var(--sg-ui-ink) !important; text-decoration: none; }
body.sgm-ui :is(.sgm-card__excerpt, .sgm-forum-topic-card__excerpt) { font: 400 16px/1.6 var(--sg-ui-font) !important; color: var(--sg-ui-muted) !important; }
body.sgm-ui .sgm-card__footer { background: transparent !important; border-top: 1px solid var(--sg-ui-line) !important; padding-top: 14px !important; }
body.sgm-ui .sgm-card__meta-pill { background: var(--sg-ui-canvas) !important; color: var(--sg-ui-ink) !important; border: 0 !important; border-radius: 6px !important; box-shadow: none !important; }
body.sgm-ui .sgm-card__meta-label { font-size: 13px !important; color: var(--sg-ui-muted) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.sgm-ui :is(.sgmv2-pagination button, .sgm-pagination-list .page-numbers) { min-width: 44px; min-height: 44px; border-radius: 8px !important; font-size: 16px !important; box-shadow: none !important; }
body.sgm-ui :is(.sgmv2-pagination [aria-current=page], .sgm-pagination-list .current) { background: var(--sg-ui-accent) !important; color: #fff !important; }
/* Recipe reading: generous line spacing and calm facts, preserving images and tables. */
body.sgm-ui .sgm-single-recipe__title { font-size: clamp(30px, 4vw, 48px) !important; font-weight: 600 !important; }
body.sgm-ui :is(.sgm-single-recipe__hero, .sgm-single-recipe__intro, .sgm-single-recipe__main) { background: transparent !important; box-shadow: none !important; }
body.sgm-ui .sgm-single-recipe__section { padding-block: 26px !important; border-bottom: 1px solid var(--sg-ui-line); background: transparent !important; box-shadow: none !important; }
body.sgm-ui .sgm-single-recipe__section-title { font-size: 25px !important; margin-bottom: 16px !important; }
body.sgm-ui :is(.sgm-single-recipe__content, .sgm-single-recipe__excerpt, .sgm-single-recipe__step-text, .sgm-single-recipe__list) { font: 400 18px/1.8 var(--sg-ui-font) !important; color: var(--sg-ui-ink) !important; }
body.sgm-ui .sgm-single-recipe__content :is(p,li) { font: inherit !important; color: inherit !important; }
body.sgm-ui .sgm-single-recipe__content p { margin-bottom: 1.1em; }
body.sgm-ui :is(.sgm-single-recipe__content, .sgm-forum-comment__content, .sgm-yarn-single__description) a { color: var(--sg-ui-accent); text-decoration: underline; text-underline-offset: 3px; }
body.sgm-ui :is(.sgm-single-recipe__fact, .sgm-single-recipe__engagement, .sgm-single-recipe__designer-box,
  .sgm-yarn-single__details, .sgm-sock-calculator__panel) { background: var(--sg-ui-canvas) !important; border: 1px solid var(--sg-ui-line) !important; border-radius: 12px !important; box-shadow: none !important; }
body.sgm-ui .sgm-single-recipe__fact-label { color: var(--sg-ui-muted) !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; }
body.sgm-ui .sgm-single-recipe__fact-value { color: var(--sg-ui-ink) !important; font-size: 17px !important; }
/* Account, community, requests and business forms share the same quiet containers. */
body.sgm-ui :is(.sgm-profile__header, .sgm-profile__column, .sgm-profile__edit-panel, .sgm-auth-card,
  .sgm-account__panel, .sgm-cr-form, .sgm-forum-composer, .sgm-rr__inner, .sgm-empty-state,
  .sgm-advertising-portal__editor-sidebar, .sgm-store-map__sidebar) {
  background: var(--sg-ui-paper) !important;
  border: 1px solid var(--sg-ui-line) !important;
  border-radius: var(--sg-ui-radius) !important;
  box-shadow: none !important;
}
body.sgm-ui :is(.sgm-profile__subtitle, .sgm-account__intro, .sgm-auth-sub, .sgm-rr__intro, .sgm-empty-state__desc) { font-size: 17px !important; line-height: 1.6 !important; color: var(--sg-ui-muted) !important; }
body.sgm-ui :is(.sgm-auth-tabs, .sgm-account__tabs, .sgm-profile-tabs) { background: var(--sg-ui-canvas) !important; border-radius: 10px !important; padding: 5px !important; box-shadow: none !important; }
body.sgm-ui :is(.sgm-auth-tab, .sgm-account__tab, .sgm-profile-tab) { min-height: 44px; border-radius: 7px !important; color: var(--sg-ui-muted) !important; font: 600 16px/1.4 var(--sg-ui-font) !important; box-shadow: none !important; text-transform: none !important; }
body.sgm-ui :is(.sgm-auth-tab, .sgm-account__tab, .sgm-profile-tab).is-active { background: var(--sg-ui-accent) !important; color: #fff !important; }
body.sgm-ui :is(.sgm-auth-links, .sgm-account__links) a { color: var(--sg-ui-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
body.sgm-ui .sgm-forum-comment { background: var(--sg-ui-paper) !important; border: 1px solid var(--sg-ui-line) !important; border-radius: 12px !important; box-shadow: none !important; padding: 22px !important; }
body.sgm-ui .sgm-forum-comment__content { font-size: 17px !important; line-height: 1.7 !important; }
body.sgm-ui :is(.sgm-cr-review-notice, .sgm-rr__hint) { background: var(--sg-ui-soft) !important; border: 1px solid var(--sg-ui-line) !important; color: var(--sg-ui-ink) !important; border-radius: 9px !important; box-shadow: none !important; }
/* Maps, mobile navigation and support retain their established open/close behaviour. */
body.sgm-ui .sgm-store-map__map { border: 1px solid var(--sg-ui-line) !important; border-radius: 14px !important; overflow: hidden; }
body.sgm-ui .sgm-store-map__tag { font-size: 15px !important; min-height: 44px; border-radius: 7px !important; }
body.sgm-ui .sgm-mobile-menu__panel { background: var(--sg-ui-paper) !important; box-shadow: -12px 0 40px #28332c1a !important; }
body.sgm-ui :is(.sgm-mobile-menu__header, .sgm-mobile-menu__user, .sgm-mobile-menu__footer) { background: var(--sg-ui-canvas) !important; border-color: var(--sg-ui-line) !important; }
body.sgm-ui .sgm-mobile-menu__nav a { font: 550 18px/1.5 var(--sg-ui-font) !important; min-height: 48px; color: var(--sg-ui-ink) !important; }
body.sgm-ui .sgm-chat-panel { background: var(--sg-ui-paper) !important; border: 1px solid var(--sg-ui-line) !important; border-radius: 16px !important; box-shadow: 0 12px 40px #28332c24 !important; }
body.sgm-ui :is(.sgm-chat-header, .sgm-chat-float-btn, .sgm-chat-composer__send) { background: var(--sg-ui-accent) !important; color: #fff !important; box-shadow: none !important; }
body.sgm-ui .sgm-chat-messages { background: var(--sg-ui-canvas) !important; }
body.sgm-ui :is(.sgm-chat-header__close, .sgm-chat-composer__send, .sgm-chat-composer__attach, .sgm-account__close, .sgm-mobile-menu__close) { min-width: 44px; min-height: 44px; }
body.sgm-ui .sgm-cookie-bar__inner { background: var(--sg-ui-paper) !important; border-color: var(--sg-ui-line) !important; border-radius: 12px !important; box-shadow: 0 4px 24px #28332c14 !important; }
body.sgm-ui .sgm-cookie-bar__copy { font-size: 16px; line-height: 1.5; }
/* Existing Elementor and V2 rules need explicit scope to share the typography. */
body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgmv2-recipe-results, .sgm-mb-sheet,
  .sgm-chat-panel, .sgm-auth-page, .sgm-advertising-portal) :is(p, li, label, input, button, select, textarea, h1, h2, h3, h4, summary) {
  font-family: var(--sg-ui-font) !important;
}
body.sgm-ui .sgmv2-recipe-filter .sgm-filter-group .sgm-filter-group__accordion-header {
  border: 0 !important;
  border-bottom: 1px solid var(--sg-ui-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.sgm-ui .sgmv2-recipe-filter .sgm-filter-section__label {
  font: 600 15px/1.5 var(--sg-ui-font) !important;
  color: var(--sg-ui-muted) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.sgm-ui .sgm-filter-section__icon { background: transparent !important; color: var(--sg-ui-accent) !important; border: 0 !important; }
body.sgm-ui .sgm-card__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body.sgm-ui .sgm-card__details { border-top: 1px solid var(--sg-ui-line); margin-top: 16px; }
body.sgm-ui .sgm-card__details > summary { cursor: pointer; padding: 12px 0; min-height: 44px; font: 600 16px/1.5 var(--sg-ui-font); color: var(--sg-ui-accent); }
body.sgm-ui .sgm-card__details .sgm-card__footer { border: 0 !important; padding-top: 4px !important; }
body.sgm-ui .sgm-card__details .sgm-card__rating-pill { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.sgm-ui .sgm-card__details .sgm-card__rating-title { text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; }
body.sgm-ui .sgm-mb-sheet__panel { background: var(--sg-ui-paper) !important; border-radius: 18px 18px 0 0 !important; }
body.sgm-ui .sgm-mb-sheet__title { font-size: 24px !important; color: var(--sg-ui-ink) !important; }
body.sgm-ui .sgm-chat-message__bubble { font: 400 16px/1.6 var(--sg-ui-font) !important; border-radius: 12px !important; box-shadow: none !important; }
body.sgm-ui .sgm-chat-message.is-mine .sgm-chat-message__bubble { background: var(--sg-ui-accent) !important; color: #fff !important; }
body.sgm-ui .sgm-chat-message:not(.is-mine) .sgm-chat-message__bubble { background: #fff !important; color: var(--sg-ui-ink) !important; border-color: var(--sg-ui-line) !important; }
body.sgm-ui .elementor-location-header .elementor-nav-menu a { font-family: var(--sg-ui-font); font-size: 17px; }
@media (max-width: 767px) {
  body.sgm-ui :is(.sgm-search-hero__bar) { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
  body.sgm-ui .sgm-search-hero__field { flex: 1 1 100%; min-width: 0; }
  body.sgm-ui .sgm-search-hero__bar > .sgm-search-hero__button { width: 100%; }
  body.sgm-ui :is(.sgm-filter-panel, .sgmv2-recipe-filter, .sgm-simple-filter-panel) { padding: 16px !important; }
  body.sgm-ui :is(.sgm-card__body, .sgm-yarn-card__body) { padding: 16px !important; }
  body.sgm-ui :is(.sgm-profile__header-actions, .sgm-single-recipe__actions) { flex-wrap: wrap; gap: 10px !important; }
  body.sgm-ui .sgm-single-recipe__content { overflow-wrap: anywhere; }
  body.sgm-ui .sgm-chat-panel { max-width: calc(100vw - 24px) !important; }
  body.sgm-ui .sgm-advertising-portal__packages-grid { grid-template-columns: 1fr !important; }
  body.sgm-ui .sgm-cookie-bar { left: 12px; right: 12px; bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgmv2-recipe-results, .sgm-chat-panel),
  body.sgm-ui :is(.sgm-widget, .sgmv2-recipe-filter, .sgmv2-recipe-results, .sgm-chat-panel) * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  body.sgm-ui .sgm-single-recipe { color: #000 !important; }
  body.sgm-ui .sgm-single-recipe__content { font-size: 12pt !important; }
}
/* Explicit controls override legacy Elementor skin selectors. */
body.sgm-ui .sgmv2-recipe-filter button.sgm-filter-group__accordion-header {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--sg-ui-line) !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 12px 4px !important;
}
body.sgm-ui .sgm-card .sgm-card__title a { font-family: var(--sg-ui-font) !important; }

/* Keep the category heading legible over any hero photograph. */
body.sgm-ui .sgm-search-hero .sgm-search-hero__chips-heading {
  display: inline-block; padding: 5px 9px; margin-bottom: 8px;
  background: #28332c; color: #fff !important; border-radius: 5px;
  font: 500 15px/1.5 var(--sg-ui-font) !important;
  letter-spacing: 0 !important; text-transform: none !important;
}

/* Contrast pairs: foreground and surface must change together in every state. */
body.sgm-ui .sgm-cr {
  --cr-brun: #355b45; --cr-brun-lys: #264633;
  --cr-moerk: #28332c; --cr-success: #24663c; --cr-error: #94392e;
}
body.sgm-ui .sgm-widget {
  --sgm-widget-button-hover-text: #fff;
  --sgm-widget-input-placeholder: #59645b;
  --sgm-widget-suggestion-title: #28332c;
  --sgm-widget-suggestion-meta: #59645b;
  --sgm-widget-suggestion-hover-title: #28332c;
  --sgm-widget-suggestion-hover-meta: #59645b;
}
body.sgm-ui .sgm-widget .sgm-search-hero__button.sgm-search-hero__button,
body.sgm-ui :is(.sgm-btn--primary, .sgm-auth-submit, .sgm-mb-sheet__submit,
  .sgm-advertising-portal__save-button, .sgm-advertising-portal__package-button,
  .sgm-rr__submit, .sgm-store-map__manual-geo-btn) {
  background: #355b45 !important; color: #fff !important;
}
body.sgm-ui .sgm-widget .sgm-search-hero__button.sgm-search-hero__button:is(:hover,:focus-visible,:active),
body.sgm-ui :is(.sgm-btn--primary, .sgm-auth-submit, .sgm-mb-sheet__submit,
  .sgm-advertising-portal__save-button, .sgm-advertising-portal__package-button,
  .sgm-rr__submit, .sgm-store-map__manual-geo-btn):is(:hover,:focus-visible,:active) {
  background: #264633 !important; color: #fff !important;
}
body.sgm-ui .sgm-widget .sgm-search-hero__button.is-secondary,
body.sgm-ui .sgm-widget .sgm-search-hero__button.sgm-single-recipe__secondary-action,
body.sgm-ui :is(.sgm-btn--secondary, .sgm-mobile-menu__btn--secondary, .sgmv2-clear-filters) {
  background: #fffefa !important; color: #355b45 !important;
}
body.sgm-ui .sgm-widget .sgm-search-hero__button.is-secondary:is(:hover,:focus-visible,:active),
body.sgm-ui .sgm-widget .sgm-search-hero__button.sgm-single-recipe__secondary-action:is(:hover,:focus-visible,:active),
body.sgm-ui :is(.sgm-btn--secondary, .sgm-mobile-menu__btn--secondary, .sgmv2-clear-filters):is(:hover,:focus-visible,:active) {
  background: #edf2eb !important; color: #264633 !important;
}
body.sgm-ui :is(.sgm-search-hero__button, .sgm-btn--primary, .sgm-btn--secondary,
 .sgm-auth-submit, .sgm-mb-sheet__submit, .sgm-rr__submit) :is(span,strong,em) { color: inherit !important; }
body.sgm-ui :is(.sgm-auth-tab, .sgm-account__tab, .sgm-profile-tab, .sgm-mb-sheet__tab) {
  background: #f7f6f1 !important; color: #59645b !important;
}
body.sgm-ui :is(.sgm-auth-tab, .sgm-account__tab, .sgm-profile-tab, .sgm-mb-sheet__tab):hover {
  background: #edf2eb !important; color: #264633 !important;
}
body.sgm-ui :is(.sgm-auth-tab, .sgm-account__tab, .sgm-profile-tab, .sgm-mb-sheet__tab).is-active {
  background: #355b45 !important; color: #fff !important;
}
body.sgm-ui .sgm-profile-tab__count { background: #fffefa !important; color: #355b45 !important; }
body.sgm-ui .sgm-chat-header :is(.sgm-chat-header__name,.sgm-chat-header__status) { color: #fff !important; }
body.sgm-ui .sgm-chat-header__status.is-online .sgm-chat-status-dot { background: #c5efcf; }
body.sgm-ui .sgm-chat-message__bubble a { color: #355b45; text-decoration: underline; }
body.sgm-ui .sgm-chat-message.is-mine .sgm-chat-message__bubble :is(a,strong,em,p) { color: #fff !important; }
body.sgm-ui :is(.sgm-cookie-bar__eyebrow, .sgm-card__rating-text, .sgm-card__rating-title,
 .sgm-single-recipe__rating-text, .sgm-chat-message__time) { color: #59645b !important; }
body.sgm-ui .sgm-mb-sheet :is(input[type=text],input[type=email],input[type=password],textarea,select) {
  color: #28332c !important; background: #fff !important; border-color: #768574 !important;
}
body.sgm-ui .sgm-mb-sheet ::placeholder { color: #59645b !important; opacity: 1; }
body.sgm-ui :is(.sgm-widget,.sgmv2-recipe-filter,.sgm-auth-page,.sgm-mb-sheet,.sgm-chat-panel,.sgm-advertising-portal) :is(input,textarea,select) {
  caret-color: #28332c;
}
body.sgm-ui :is(.sgm-widget,.sgmv2-recipe-filter,.sgm-auth-page,.sgm-mb-sheet,.sgm-chat-panel,.sgm-advertising-portal) :is(input,textarea):autofill {
  -webkit-text-fill-color: #28332c !important; caret-color: #28332c;
  box-shadow: 0 0 0 1000px #fff inset !important;
}
body.sgm-ui :is(.sgm-widget,.sgmv2-recipe-filter,.sgm-auth-page,.sgm-mb-sheet,.sgm-chat-panel,.sgm-advertising-portal) :is(button,input[type=submit]):disabled {
  opacity: 1 !important; color: #59645b !important; background: #e8ece6 !important;
  border-color: #768574 !important; cursor: not-allowed;
}
body.sgm-ui :is(.sgm-mb-sheet,.sgm-category-buttons,.sgm-chat-portal) :focus-visible {
  outline: 3px solid #a06518 !important; outline-offset: 3px !important;
}
body.sgm-ui :is(.sgm-account__feedback,.sgm-profile__feedback,.sgm-mb-sheet__feedback).is-error,
body.sgm-ui :is(.sgm-feedback--error,.sgm-rr__error) { color: #94392e !important; background: #fff0ec !important; }
body.sgm-ui :is(.sgm-account__feedback,.sgm-profile__feedback,.sgm-mb-sheet__feedback).is-success,
body.sgm-ui .sgm-feedback--success { color: #24663c !important; background: #edf5eb !important; }
/* Rating controls include nested spans; keep their icons on a known surface. */
body.sgm-ui .sgm-single-recipe .sgm-single-recipe__engagement .sgm-single-recipe__rating-star,
body.sgm-ui .sgm-single-recipe .sgm-single-recipe__engagement .sgm-single-recipe__rating-summary-star {
  background: #fffefa !important; color: #59645b !important; border-color: #768574 !important;
}
body.sgm-ui .sgm-single-recipe .sgm-single-recipe__engagement .sgm-single-recipe__rating-star:is(.is-active,:hover,[aria-pressed=true]),
body.sgm-ui .sgm-single-recipe .sgm-single-recipe__engagement .sgm-single-recipe__rating-summary-star.is-active {
  background: #fff3d6 !important; color: #785014 !important;
}
body.sgm-ui .sgm-single-recipe__rating-star span { color: inherit !important; }
body.sgm-ui .sgm-card__rating-star { color: #59645b !important; }
body.sgm-ui .sgm-card__rating-star.is-active { color: #785014 !important; }
/* Keep padded portal surfaces inside their mobile container. */
body.sgm-ui .sgm-advertising-portal { box-sizing: border-box; }

/* Recipe reading layout: scoped to the recipe, never the site header. */
body.sgm-ui .sgm-single-recipe { max-width: 1160px; margin-inline: auto; }
body.sgm-ui .sgm-single-recipe__hero { gap: 24px 40px; align-items: start; }
body.sgm-ui .sgm-single-recipe__intro { min-width: 0; padding: 8px 0 !important; }
body.sgm-ui .sgm-single-recipe__title { line-height: 1.15 !important; overflow-wrap: anywhere; }
body.sgm-ui .sgm-single-recipe__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 10px; }
body.sgm-ui .sgm-single-recipe__actions a { min-height: 48px; white-space: normal; text-align: center; line-height: 1.4; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions a.sgm-search-hero__button { color: #ffffff !important; background: #355b45 !important; border: 1px solid #355b45 !important; box-shadow: none !important; padding: 12px 18px !important; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions a.sgm-search-hero__button.is-secondary { color: #355b45 !important; background: #fffefa !important; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions a.sgm-search-hero__button:hover { color: #ffffff !important; background: #264633 !important; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions a.sgm-search-hero__button:focus-visible { outline: 3px solid #a06518 !important; outline-offset: 3px; }
body.sgm-ui .sgm-single-recipe__media { height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; }
body.sgm-ui .sgm-single-recipe__media > img { width: 100% !important; height: auto !important; max-height: 640px; object-fit: contain !important; }
body.sgm-ui .sgm-single-recipe__action-help { color: #59645b; font: 400 16px/1.6 var(--sg-ui-font); margin: 0 0 24px; }
body.sgm-ui .sgm-single-recipe__hero-intro { font: 400 18px/1.75 var(--sg-ui-font) !important; color: #28332c !important; }
body.sgm-ui .sgm-single-recipe__hero-intro p { font: inherit !important; color: inherit !important; }
body.sgm-ui .sgm-single-recipe__hero-bottom { display: none; }
body.sgm-ui .sgm-single-recipe__facts { margin: 32px 0; padding: 20px; border: 1px solid #d8dfd4; border-radius: 16px; background: #f3f6ef; gap: 16px; }
body.sgm-ui .sgm-single-recipe__fact { align-content: start; min-width: 0; overflow-wrap: anywhere; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts .sgm-single-recipe__fact { background: #fffefa !important; border: 1px solid #d8dfd4 !important; border-radius: 10px; padding: 14px; box-sizing: border-box; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__hero-intro { text-align: left !important; }
body.sgm-ui .sgm-single-recipe__main { max-width: 76ch; margin-inline: auto; gap: 12px; scroll-margin-top: 140px; }
body.sgm-ui .sgm-single-recipe__main:focus-visible { outline: 3px solid #a06518; outline-offset: 8px; }
body.sgm-ui .sgm-single-recipe__content { min-width: 0; overflow-x: auto; }
body.sgm-ui .sgm-single-recipe__content :is(img,video) { max-width: 100%; height: auto; }
body.sgm-ui .sgm-single-recipe__content :is(h2,h3,h4) { line-height: 1.35; margin-top: 1.5em; margin-bottom: .65em; }
body.sgm-ui .sgm-single-recipe__content li { margin-bottom: .65em; }
body.sgm-ui .sgm-single-recipe__content table { border-collapse: collapse; width: 100%; }
body.sgm-ui .sgm-single-recipe__content :is(th,td) { padding: 10px 12px; border: 1px solid #d8dfd4; text-align: left; vertical-align: top; }
body.sgm-ui .sgm-single-recipe__content th { background: #f3f6ef; color: #28332c; }
@media (max-width: 767px) {
  body.sgm-ui .sgm-single-recipe__hero { display: flex !important; flex-direction: column; gap: 20px; }
  body.sgm-ui .sgm-single-recipe__hero > * { width: 100%; min-width: 0; box-sizing: border-box; }
  body.sgm-ui .sgm-single-recipe__title { font-size: 32px !important; }
  body.sgm-ui .sgm-single-recipe__actions a { flex: 1 1 100%; box-sizing: border-box; }
  body.sgm-ui .sgm-single-recipe__facts { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px; gap: 20px 12px; }
  body.sgm-ui .sgm-single-recipe__section { padding-block: 20px !important; }
}
@media print {
  body.sgm-ui .sgm-single-recipe__actions,
  body.sgm-ui .sgm-single-recipe__action-help { display: none !important; }
  body.sgm-ui .sgm-single-recipe__main { max-width: none; }
}

/* Recipe community panel: readable groups and unbroken five-star controls. */
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement {
  display: grid !important; grid-template-columns: minmax(0,1fr) !important;
  gap: 24px !important; padding: 24px !important; margin-block: 28px !important;
  background: #f3f6ef !important; border: 1px solid #d8dfd4 !important;
  border-radius: 20px !important; box-shadow: none !important;
}
body.sgm-ui .sgm-single-recipe__engagement .sgm-single-recipe__engagement-col {
  min-width: 0; padding: 0 !important; border: 0 !important;
}
body.sgm-ui .sgm-single-recipe__engagement .sgm-single-recipe__engagement-makers {
  padding-bottom: 20px !important; border-bottom: 1px solid #d8dfd4 !important;
}
body.sgm-ui .sgm-single-recipe__engagement :is(.sgm-single-recipe__makers-label,.sgm-single-recipe__rating-label,.sgm-single-recipe__rating-summary-title) {
  font: 600 17px/1.5 var(--sg-ui-font) !important; text-transform: none !important;
  letter-spacing: 0 !important; color: #28332c !important; margin-bottom: 10px !important;
}
body.sgm-ui .sgm-single-recipe__engagement .sgm-single-recipe__rating-row {
  display: flex !important; flex-wrap: wrap !important; gap: 24px !important;
  justify-content: flex-start !important; align-items: flex-start !important;
}
body.sgm-ui .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating,.sgm-single-recipe__rating-summary) {
  flex: 1 1 236px; min-width: 0 !important; width: auto !important; text-align: left !important;
}
body.sgm-ui .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating-stars,.sgm-single-recipe__rating-summary-stars) {
  display: flex !important; flex-wrap: nowrap !important; gap: 4px !important; justify-content: flex-start !important;
}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating-star,.sgm-single-recipe__rating-summary-star) {
  display: inline-flex !important; align-items: center; justify-content: center;
  flex: 0 0 44px !important; width: 44px !important; height: 44px !important;
  min-width: 0 !important; padding: 0 !important; border-radius: 10px !important;
  font-size: 24px !important; line-height: 1 !important; box-shadow: none !important;
}
body.sgm-ui .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating-note,.sgm-single-recipe__rating-summary-text,.sgm-single-recipe__makers-empty) {
  font: 400 16px/1.6 var(--sg-ui-font) !important; color: #59645b !important;
  text-align: left !important; margin-top: 10px !important; max-width: 34ch;
}
body.sgm-ui .sgm-single-recipe__engagement [hidden] { display: none !important; }
body.sgm-ui .sgm-single-recipe__engagement .sgm-single-recipe__engagement-actions {
  display: flex !important; flex-wrap: wrap; gap: 12px !important; margin: 0 !important;
  grid-column: 1 / -1 !important;
}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement-actions button.sgm-search-hero__button {
  flex: 1 1 220px; min-height: 52px; padding: 12px 42px 12px 16px !important;
  border-radius: 12px !important; border: 1px solid #355b45 !important;
  background: #fffefa !important; color: #355b45 !important; box-shadow: none !important;
  font: 600 16px/1.5 var(--sg-ui-font) !important; white-space: normal !important;
}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement-actions button.sgm-single-recipe__complete-button,
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement-actions button.is-active {
  background: #355b45 !important; color: #ffffff !important;
}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement-actions button:disabled {
  background: #e8ece6 !important; color: #59645b !important; border-color: #768574 !important;
}
body.sgm-ui .sgm-single-recipe__engagement :is(button,summary,a):focus-visible { outline: 3px solid #a06518 !important; outline-offset: 3px; }
@media (max-width: 480px) {
  body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement { padding: 16px !important; gap: 20px !important; }
  body.sgm-ui .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating,.sgm-single-recipe__rating-summary) { flex-basis: 100%; }
  body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement .sgm-single-recipe__rating-star,
  body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement .sgm-single-recipe__rating-summary-star { flex: 1 1 0 !important; max-width: 44px; }
}

body.sgm-ui .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating-label,.sgm-single-recipe__rating-summary-title) { text-align: left !important; }
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__engagement :is(.sgm-single-recipe__rating-star,.sgm-single-recipe__rating-summary-star) > span { font-size: 24px !important; line-height: 1 !important; }

/* Designer archive uses ordinary links and server-rendered pagination. */
body.sgm-ui .sgm-designer-page { max-width: 1160px; margin: 32px auto 64px; padding: 0 20px; }
body.sgm-ui .sgm-designer-page__heading { margin-bottom: 28px; max-width: 72ch; }
body.sgm-ui .sgm-designer-page__heading h1 { font: 600 clamp(30px,4vw,46px)/1.2 var(--sg-ui-font); color: #28332c; }
body.sgm-ui .sgm-designer-page__heading p { font: 400 18px/1.7 var(--sg-ui-font); color: #28332c; }
body.sgm-ui .sgm-designer-page__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.sgm-ui .sgm-designer-page__pagination ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
body.sgm-ui .sgm-designer-page__pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
body.sgm-ui .sgm-designer-page__pagination .current { color: #fff; background: #355b45; border-radius: 8px; }
@media(max-width:900px) { body.sgm-ui .sgm-designer-page__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { body.sgm-ui .sgm-designer-page__grid { grid-template-columns: minmax(0,1fr); } }
/* Mobile controls are enhanced by JS; filters remain available without JavaScript. */
body.sgm-ui .sgm-mobile-filter-toggle, body.sgm-ui .sgm-mobile-filter-done { width:100%; min-height:48px; padding:12px 16px; border:0; border-radius:8px; background:#355b45; color:#fff; font:600 16px/1.4 var(--sg-ui-font); margin:12px 0; }
body.sgm-ui :is(.sgm-mobile-filter-toggle,.sgm-mobile-filter-done,[data-sgmv2-filter-form])[hidden] { display:none !important; }
/* A touch-action:none ancestor prevented scrolling inside the menu on touchscreens. */
html.sgm-mobile-menu-scroll-lock { position:static !important; height:auto !important; touch-action:pan-y; }
body.sgm-mobile-menu-scroll-lock { touch-action:pan-y; }
body.sgm-ui .sgm-mobile-menu__panel { height:100dvh; max-height:100dvh; }
body.sgm-ui .sgm-mobile-menu__nav { min-height:0; touch-action:pan-y; overscroll-behavior-y:contain; }
@media(max-width:767px) {
 body.sgm-ui :is(.sgm-widget,.sgmv2-layout,.sgmv2-layout__sidebar,.sgmv2-layout__main,.sgmv2-recipe-results,.sgmv2-recipe-filter,.sgm-profile) { min-width:0; max-width:100%; box-sizing:border-box; }
 body.sgm-ui :is(.sgm-widget,.sgmv2-recipe-filter,.sgm-account__panel,.sgm-mb-sheet__panel) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px !important; max-width:100%; box-sizing:border-box; }
 body.sgm-ui :is(.sgm-search-hero__form,.sgm-search-hero__bar,.sgm-search-hero__field) { min-width:0; max-width:100%; box-sizing:border-box; }
 body.sgm-ui .sgm-search-hero__bar { border-radius:16px !important; padding:12px !important; }
 body.sgm-ui .sgm-search-hero__input { min-width:0; width:100%; }
 body.sgm-ui :is(.sgm-search-hero__button,.sgmv2-search-submit,.sgm-simple-filter-checkbox,.sgm-filter-group__accordion-header,.sgmv2-chip) { min-height:44px; box-sizing:border-box; }
 body.sgm-ui :is(.sgmv2-chip__label,.sgm-simple-filter-checkbox__label) { white-space:normal; overflow-wrap:anywhere; }
 body.sgm-ui :is(.sgmv2-filter-topbar__header,.sgm-search-hero__chips,.sgm-pagination) { flex-wrap:wrap; gap:8px; }
 body.sgm-ui :is(.sgmv2-results-grid,.sgm-simple-archive-results__grid,.sgm-profile__form-grid) { grid-template-columns:minmax(0,1fr) !important; }
 body.sgm-ui [data-sgmv2-results] { scroll-margin-top:90px; }
 body.sgm-ui .sgm-account__modal { padding:8px !important; box-sizing:border-box; }
 body.sgm-ui .sgm-account__panel { width:100% !important; max-width:100% !important; max-height:calc(100dvh - 16px) !important; overflow-y:auto !important; overscroll-behavior:contain; }
 body.sgm-ui .sgm-account__panel.has-branding { grid-template-columns:minmax(0,1fr) !important; }
 body.sgm-ui .sgm-account__panel-media { display:none !important; }
 body.sgm-ui .sgm-mb-sheet__panel { max-height:90dvh !important; overflow-y:auto; padding-bottom:max(16px,env(safe-area-inset-bottom)); }
 body.sgm-ui .sgm-mobile-menu__panel { width:min(92vw,380px); padding-top:env(safe-area-inset-top); box-sizing:border-box; }
 body.sgm-ui :is(.sgm-mobile-menu__submenu-toggle,.sgm-mobile-menu__trigger,.sgm-mobile-menu__close) { min-width:44px; min-height:44px; }
 body.sgm-ui .sgm-cookie-bar { max-height:45dvh; overflow-y:auto; bottom:max(8px,env(safe-area-inset-bottom)); }
 body.sgm-ui .sgm-cookie-bar__actions { display:flex; flex-wrap:wrap; gap:8px; }
 body.sgm-ui .sgm-cookie-bar__button { min-height:44px; flex:1 1 100px; }
 body.sgm-ui .sgm-single-recipe__title { font-size:clamp(28px,8vw,38px) !important; overflow-wrap:anywhere; }
 body.sgm-ui .sgm-single-recipe__content { font-size:18px; line-height:1.7; }
 body.sgm-ui :is(.sgm-chat-panel,.sgm-chat-portal) { max-height:90dvh; }
}

@media(max-width:767px) {
 body.sgm-ui .sgm-search-hero__bar { flex-flow:column nowrap !important; height:auto !important; }
 body.sgm-ui .sgm-search-hero__bar > :is(.sgm-search-hero__field,.sgm-search-hero__button) { flex:none !important; width:100% !important; min-width:0 !important; max-width:100% !important; }
}

@media(max-width:767px) {
 body.sgm-ui .sgm-category-buttons__grid a { min-height:44px; white-space:normal; overflow-wrap:anywhere; }
 body.sgm-ui .sgm-profile__header-actions > :is(a,button) { min-height:44px; max-width:100%; box-sizing:border-box; }
}
/* Hero search must not inherit a narrow desktop widget width on phones. */
@media(max-width:767px) {
 body.sgm-ui .elementor-widget-sgm-search-hero { width:100% !important; max-width:100% !important; min-width:0 !important; align-self:stretch; margin-inline:0 !important; }
 body.sgm-ui .elementor-widget-sgm-search-hero > .elementor-widget-container { width:100%; margin-inline:0 !important; padding-inline:0 !important; box-sizing:border-box; }
 body.sgm-ui :is(.e-con,.e-con-inner,.elementor-widget-wrap):has(> .elementor-widget-sgm-search-hero) { width:100% !important; max-width:100% !important; min-width:0; padding-inline:12px !important; box-sizing:border-box; }
 body.sgm-ui .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-sgm-search-hero) { width:100% !important; }
 body.sgm-ui .sgm-widget.sgm-search-hero { width:100% !important; padding:0 !important; margin-inline:0 !important; box-sizing:border-box; }
 body.sgm-ui .sgm-search-hero__form { width:100%; min-width:0; }
 body.sgm-ui .sgm-search-hero__field { gap:8px; }
 body.sgm-ui .sgm-search-hero__icon { width:22px; margin-right:0; flex:0 0 22px; }
 body.sgm-ui .sgm-search-hero .sgm-search-hero__input { flex:1 1 0; width:0; min-width:0; min-height:48px; font-size:17px !important; padding:8px 0 !important; }
 body.sgm-ui .sgm-search-hero__button { min-height:48px; white-space:nowrap; }
 body.sgm-ui .sgm-search-hero__chips-wrap { width:100%; min-width:0; }
 body.sgm-ui .sgm-search-hero__chips { display:flex; flex-flow:row wrap; gap:8px; max-height:none; overflow:visible; }
 body.sgm-ui .sgm-search-hero__chips .sgm-chip { flex:0 1 auto; max-width:100%; min-height:44px; white-space:normal; box-sizing:border-box; }
 body.sgm-ui .sgm-search-hero__chips-heading { width:fit-content; max-width:100%; font-size:13px !important; line-height:1.5; letter-spacing:normal !important; text-transform:none; box-sizing:border-box; }
}
@media(max-width:767px) {
 body.sgm-ui .sgm-search-backdrop { position:fixed; inset:0; height:100lvh; background:#f7f6f1; z-index:2147483600; }
 body.sgm-ui .sgm-widget.sgm-search-hero.sgm-mobile-search-layer { position:fixed !important; inset:auto 0 auto 0 !important; top:var(--sgm-vv-offset-top,0px) !important; height:var(--sgm-vv-height,100dvh) !important; max-height:var(--sgm-vv-height,100dvh) !important; width:100% !important; z-index:2147483601 !important; background:#f7f6f1 !important; display:flex !important; flex-direction:column; overflow:auto !important; padding:60px 20px 20px !important; border:0; border-radius:0; box-sizing:border-box; animation:none !important; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__form { width:100%; max-width:440px; margin:auto !important; padding:0 !important; gap:14px; flex-shrink:0; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__bar { position:static !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; gap:12px !important; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__field { background:#fffefa; border:1px solid #a5b0a4; border-radius:10px; padding:0 14px; box-sizing:border-box; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__field:focus-within { outline:2px solid #355b45; outline-offset:2px; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__input { border:0 !important; outline:none !important; box-shadow:none !important; min-height:54px !important; font:400 18px/1.4 var(--sgm-search-font,Georgia,serif) !important; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__button { min-height:52px !important; font:600 18px/1.4 var(--sgm-search-font,Georgia,serif) !important; }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__chips-wrap { display:none !important; }
 body.sgm-ui .sgm-search-brand { font:400 32px/1.2 var(--sgm-search-font,Georgia,serif); color:#355b45; text-align:center; margin-bottom:8px; }
 body.sgm-ui .sgm-search-close { position:absolute; top:8px; right:12px; min-height:44px; padding:8px 12px; border:0; background:transparent; color:#355b45; font:600 16px/1.4 var(--sgm-search-font,Georgia,serif); }
 body.sgm-ui .sgm-mobile-search-layer .sgm-search-hero__suggestions { position:static !important; margin:0 !important; padding:0 !important; width:100% !important; max-height:35vh !important; overflow-y:auto !important; }
}
@media(max-width:767px) {
 body.sgm-ui .sgm-widget.sgm-search-hero.sgm-mobile-search-layer input.sgm-search-hero__input { border:0 !important; border-radius:0 !important; outline:none !important; background:transparent !important; box-shadow:none !important; }
}
/* Calm entrance; opaque surfaces continue to hide the page underneath. */
@keyframes sgm-search-surface-in {
 from { background-color:#fffefa; }
 to { background-color:#f7f6f1; }
}
@keyframes sgm-search-form-in {
 from { opacity:0; transform:translateY(14px); }
 to { opacity:1; transform:translateY(0); }
}
@media(max-width:767px) and (prefers-reduced-motion:no-preference) {
 body.sgm-ui .sgm-search-backdrop { animation:sgm-search-surface-in 360ms ease-out; }
 body.sgm-ui .sgm-widget.sgm-search-hero.sgm-mobile-search-layer { animation:sgm-search-surface-in 360ms ease-out !important; }
 body.sgm-ui .sgm-widget.sgm-search-hero.sgm-mobile-search-layer > .sgm-search-hero__form { animation:sgm-search-form-in 380ms cubic-bezier(.22,1,.36,1) both !important; }
}
@media(prefers-reduced-motion:reduce) {
 body.sgm-ui .sgm-search-backdrop,
 body.sgm-ui .sgm-widget.sgm-search-hero.sgm-mobile-search-layer,
 body.sgm-ui .sgm-widget.sgm-search-hero.sgm-mobile-search-layer > .sgm-search-hero__form { animation:none !important; }
}

/* Shared mobile navigation on pages without their own menu widget. */
.sgm-sitewide-menu { display: none; }
@media (max-width: 1024px) {
  .sgm-sitewide-menu {
    display: block;
    position: fixed;
    top: calc(16px + env(safe-area-inset-top, 0px));
    right: max(16px, env(safe-area-inset-right, 0px));
    width: 48px;
    z-index: 99999;
  }
  body.admin-bar .sgm-sitewide-menu { top: calc(62px + env(safe-area-inset-top, 0px)); }
  /* Cached Elementor widgets may skip the server-side before_render hook. */
  body:has([data-sgm-mobile-menu]:not(.sgm-sitewide-menu *)) .sgm-sitewide-menu { display: none; }
}

/* Simple full-screen mobile navigation. */
@media (max-width:1024px) {
 body.sgm-ui .sgm-mobile-menu__panel {
   inset:0 !important; width:100% !important; max-width:none !important;
   height:100vh; height:100dvh !important; max-height:100dvh !important;
   padding:0 !important; border:0 !important; border-radius:0 !important;
   box-shadow:none !important; display:flex; flex-direction:column;
 }
 body.sgm-ui .sgm-mobile-menu__header {
   padding:calc(16px + env(safe-area-inset-top,0px)) 20px 16px;
   border:0 !important; flex-shrink:0;
 }
 body.sgm-ui .sgm-mobile-menu__sitename {
   font-family:var(--e-global-typography-primary-font-family,Georgia),serif;
   font-size:28px; font-weight:400; letter-spacing:-.03em; color:#355b45;
 }
 body.sgm-ui .sgm-mobile-menu__nav { padding:16px 20px; min-height:0; flex:1 1 auto; }
 body.sgm-ui .sgm-mobile-menu__link { min-height:56px; padding:12px 8px; font-size:21px; background:transparent; border:0; border-radius:0; }
 body.sgm-ui .sgm-mobile-menu__link-icon { display:none; }
 body.sgm-ui .sgm-mobile-menu__submenu .sgm-mobile-menu__link { font-size:18px; padding-left:20px; }
 body.sgm-ui .sgm-mobile-menu__submenu-toggle,
 body.sgm-ui .sgm-mobile-menu__close { background:transparent !important; color:#355b45 !important; border:0 !important; box-shadow:none !important; min-width:44px; min-height:44px; }
 body.sgm-ui .sgm-mobile-menu__footer { padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px)); border:0 !important; flex-shrink:0; max-height:50dvh; overflow-y:auto; }
 body.sgm-ui .sgm-mobile-menu__account-name { display:flex; flex-direction:column; gap:4px; margin-bottom:16px; color:#28332c; overflow-wrap:anywhere; }
 body.sgm-ui .sgm-mobile-menu__account-name span { font-size:14px; }
 body.sgm-ui .sgm-mobile-menu__account-name strong { font-size:19px; }
 body.sgm-ui .sgm-mobile-menu__auth { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
 body.sgm-ui .sgm-mobile-menu__btn { min-height:48px; padding:12px 8px; font-size:16px; }
 body.sgm-ui .sgm-mobile-menu__btn svg { display:none; }
}

/* Allow swiping the auth form while the background remains locked. */
@media (max-width:1024px) {
 html.sgm-auth-open, body.sgm-auth-open { touch-action:pan-y !important; }
 body.sgm-ui .sgm-account__modal {
   top:var(--sgm-auth-visible-top,0px) !important; bottom:auto !important;
   height:var(--sgm-auth-visible-height,100dvh) !important;
   padding:8px !important; box-sizing:border-box; touch-action:pan-y !important;
 }
 body.sgm-ui .sgm-account__panel {
   margin:0 auto !important; width:100% !important; box-sizing:border-box;
   max-height:calc(var(--sgm-auth-visible-height,100dvh) - 16px) !important;
   overflow-y:auto !important; touch-action:pan-y !important;
   -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
 }
 body.sgm-ui .sgm-account__panel-content {
   overflow:visible !important; max-height:none !important; flex-shrink:0;
   padding-bottom:calc(32px + env(safe-area-inset-bottom,0px)) !important;
 }
}

/* Mobile authentication is one opaque screen, including behind Safari's keyboard. */
@media (max-width:1024px) {
 body.sgm-ui .sgm-account__modal {
   padding:0 !important; background:#fffefa !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__overlay {
   position:fixed !important; inset:0 !important; width:100% !important;
   height:100vh; height:100lvh; background:#fffefa !important;
   opacity:1 !important; backdrop-filter:none !important;
   -webkit-backdrop-filter:none !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__panel {
   width:100% !important; max-width:none !important;
   height:var(--sgm-auth-visible-height,100dvh) !important;
   max-height:var(--sgm-auth-visible-height,100dvh) !important;
   margin:0 !important; border:0 !important; border-radius:0 !important;
   box-shadow:none !important; background:#fffefa !important;
   padding:0 !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__panel-content {
   background:#fffefa !important;
   padding:calc(60px + env(safe-area-inset-top,0px)) 20px calc(32px + env(safe-area-inset-bottom,0px)) !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__panel-media { display:none !important; }
 body.sgm-ui .sgm-account__modal .sgm-account__panel.has-branding { grid-template-columns:minmax(0,1fr) !important; }
}

/* Put the form first: compact mobile heading and two tabs in one row. */
@media (max-width:1024px) {
 body.sgm-ui .sgm-account__modal .sgm-account__panel-content {
   padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px)) !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__panel-header {
   gap:0 !important; margin:0 0 16px !important; padding-right:48px !important;
   min-height:44px; display:flex; align-items:center;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__eyebrow,
 body.sgm-ui .sgm-account__modal .sgm-account__intro { display:none !important; }
 body.sgm-ui .sgm-account__modal .sgm-account__title {
   font-size:22px !important; line-height:1.25 !important; margin:0 !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__tabs {
   display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
   gap:4px !important; padding:4px !important; margin:0 0 16px !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__tab {
   min-height:44px !important; padding:8px 6px !important; font-size:16px !important;
   line-height:1.3 !important; margin:0 !important;
 }
 body.sgm-ui .sgm-account__modal .sgm-account__close {
   top:calc(16px + env(safe-area-inset-top,0px)) !important;
   right:12px !important; width:44px !important; height:44px !important;
   background:transparent !important; border:0 !important; box-shadow:none !important;
 }
}

/* A calmer shop finder with readable controls and smaller map markers. */
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-filter-group { border:0 !important; box-shadow:none !important; padding:0 !important; background:transparent !important; }
body.sgm-ui .sgm-store-map__filters { gap:16px !important; }
body.sgm-ui .sgm-store-map__item { background:#fffefa !important; border:0 !important; border-radius:10px !important; margin-bottom:8px; box-shadow:none !important; }
body.sgm-ui .sgm-store-map__item-title { font-size:17px !important; line-height:1.4 !important; }
body.sgm-ui .sgm-store-map__item-meta { font-size:14px !important; line-height:1.5 !important; color:#59645b !important; }
body.sgm-ui .sgm-store-map__item-image:empty { display:none; }
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) :is(input,select,button) { min-height:44px; }
body.sgm-ui .sgm-store-map__canvas { border-radius:16px; }
.sgm-store-pin { background:none; border:0; }
.sgm-store-pin span { display:block; width:18px; height:18px; border:3px solid #fff; border-radius:50%; background:#355b45; box-shadow:0 1px 5px #28332c66; box-sizing:border-box; }
.sgm-store-pin:focus-visible { outline:3px solid #996515; outline-offset:4px; }
@media(max-width:767px) {
 body.sgm-ui .sgm-store-map__filters { grid-template-columns:minmax(0,1fr) !important; }
 body.sgm-ui .sgm-store-map__canvas { height:55dvh !important; min-height:300px; }
 body.sgm-ui .sgm-store-map__item-shell { flex-wrap:wrap; gap:8px; }
 body.sgm-ui .sgm-store-map__item-select { min-width:0; }
}

/* Keep logo slots, and prevent the old rounded filter wrappers clipping fields. */
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-filter-group,
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__filter-group {
 border-radius:0 !important; overflow:visible !important; min-width:0 !important;
 height:auto !important; max-height:none !important;
}
body.sgm-ui .sgm-store-map__filters { grid-template-columns:repeat(2,minmax(0,1fr)) !important; align-items:end; }
body.sgm-ui .sgm-store-map__geo-row { display:flex; gap:8px; min-width:0; }
body.sgm-ui .sgm-store-map__manual-geo-input { flex:1 1 0; width:0 !important; min-width:0 !important; }
body.sgm-ui .sgm-store-map__manual-geo-btn { flex:0 0 auto; }
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) :is(.sgm-filter-input,.sgm-filter-select) { box-sizing:border-box; max-width:100%; }
body.sgm-ui .sgm-store-map__item-image { display:flex !important; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; flex:0 0 44px; background:#fff !important; overflow:hidden; border-radius:8px !important; }
body.sgm-ui .sgm-store-map__item-image-img { width:100% !important; height:100% !important; object-fit:contain !important; padding:5px; box-sizing:border-box; }
body.sgm-ui .sgm-store-map__image-fallback { color:#355b45; font-size:24px; }
@media(max-width:767px) {
 body.sgm-ui .sgm-store-map__filters { grid-template-columns:minmax(0,1fr) !important; }
}

/* Explicit colors and sizing keep Elementor button styles from obscuring this control. */
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) button.sgm-filter-panel__toggle {
 display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
 min-height:44px !important; width:auto !important; height:auto !important;
 flex:0 0 auto; padding:10px 14px !important; margin:0 !important;
 background:#edf2ec !important; color:#355b45 !important; opacity:1 !important;
 border:1px solid #c9d5c7 !important; border-radius:8px !important;
 font:600 16px/1.3 var(--sg-ui-font,Arial,sans-serif) !important;
 letter-spacing:normal !important; text-transform:none !important; text-decoration:none !important;
 box-shadow:none !important; white-space:nowrap; cursor:pointer;
}
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) button.sgm-filter-panel__toggle::after {
 content:''; display:block; width:8px; height:8px; border:solid currentColor;
 border-width:0 2px 2px 0; transform:rotate(45deg); flex:0 0 8px;
}
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) button.sgm-filter-panel__toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) button.sgm-filter-panel__toggle:hover {
 background:#355b45 !important; color:#fff !important; border-color:#355b45 !important;
}
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) button.sgm-filter-panel__toggle:focus-visible {
 outline:3px solid #355b45 !important; outline-offset:3px;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-filter-panel__header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }

/* Borderless shop filters and breathing room before the result count. */
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) .sgm-filter-panel {
 border:0 !important; box-shadow:none !important;
}
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) .sgm-store-map__results {
 padding-top:20px !important;
}
body.sgm-ui .sgm-widget:is(.sgm-store-map,.sgm-event-map) .sgm-store-map__results .sgm-archive-results__meta {
 padding-inline:12px !important; margin-bottom:16px !important;
}

/* Both map lists: details wrap freely; actions have their own row. */
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__selected {
 border:0 !important; box-shadow:none !important;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-shell {
 display:grid !important; grid-template-columns:minmax(0,1fr) !important;
 gap:12px !important; width:100%; min-width:0;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-select {
 min-width:0 !important; max-width:100%; white-space:normal !important;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-body {
 display:flex !important; align-items:flex-start !important; gap:10px; min-width:0;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-content {
 flex:1 1 0; min-width:0 !important; max-width:100%;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) :is(.sgm-store-map__item-title,.sgm-store-map__item-meta,.sgm-store-map__item-eyebrow) {
 white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
 overflow-wrap:anywhere; max-height:none !important; -webkit-line-clamp:unset !important;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-actions {
 position:static !important; grid-column:1 !important; justify-content:flex-end !important;
 width:100%; min-width:0;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-action {
 max-height:none !important; white-space:normal !important; min-height:44px !important;
}

/* Compact cards, with a reserved action column so text never runs under buttons. */
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__list { gap:4px !important; }
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item {
 padding:10px !important; margin:0 !important; min-height:0 !important;
 container-type:inline-size;
}
body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-shell { gap:6px !important; }
@container (min-width:360px) {
 body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-shell {
  grid-template-columns:minmax(0,1fr) auto !important; column-gap:12px !important; align-items:center;
 }
 body.sgm-ui :is(.sgm-store-map,.sgm-event-map) .sgm-store-map__item-actions {
  grid-column:2 !important; grid-row:1; width:auto;
 }
}

/* Profile: readable two-column overview, with saved recipes first in the DOM. */
body.sgm-ui .sgm-profile .sgm-profile__header {
 display:flex !important; flex-wrap:wrap; align-items:center; gap:20px;
 padding:24px !important; border:0 !important; box-shadow:none !important; border-radius:16px !important;
}
body.sgm-ui .sgm-profile .sgm-profile__header::after { display:none !important; }
body.sgm-ui .sgm-profile .sgm-profile__identity { display:flex; align-items:center; gap:16px; flex:1 1 300px; min-width:0; }
body.sgm-ui .sgm-profile .sgm-profile__identity-copy { min-width:0; overflow-wrap:anywhere; }
body.sgm-ui .sgm-profile .sgm-profile__avatar { width:64px !important; height:64px !important; min-width:64px; object-fit:cover; border-radius:50%; }
body.sgm-ui .sgm-profile .sgm-profile__title { font-size:30px !important; line-height:1.2 !important; font-style:normal !important; margin:6px 0 !important; }
body.sgm-ui .sgm-profile .sgm-profile__eyebrow-email,
body.sgm-ui .sgm-profile .sgm-profile__eyebrow-separator { display:none; }
body.sgm-ui .sgm-profile .sgm-profile__header-actions:empty { display:none; }
body.sgm-ui .sgm-profile .sgm-profile__edit-panel { position:static !important; border:0 !important; box-shadow:none !important; margin:0 !important; padding:0 !important; }
body.sgm-ui .sgm-profile .sgm-profile__edit-panel[open] { flex:1 1 100%; width:100%; }
body.sgm-ui .sgm-profile .sgm-profile__edit-toggle { position:static !important; min-height:44px; padding:12px 16px !important; font-size:16px !important; letter-spacing:normal !important; text-transform:none !important; }
body.sgm-ui .sgm-profile .sgm-profile__form { margin-top:20px; }
body.sgm-ui .sgm-profile .sgm-profile__columns { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:24px !important; margin-top:24px; align-items:start; }
body.sgm-ui .sgm-profile .sgm-profile__column { min-width:0; padding:20px !important; border:0 !important; border-radius:14px !important; background:#fffefa !important; box-shadow:none !important; }
body.sgm-ui .sgm-profile .sgm-profile__section-title { font-size:21px !important; line-height:1.3 !important; margin:0 0 16px !important; }
body.sgm-ui .sgm-profile .sgm-profile__card-list { gap:4px !important; }
body.sgm-ui .sgm-profile .sgm-profile-card { display:flex; gap:12px; padding:10px 0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; }
body.sgm-ui .sgm-profile .sgm-profile-card__image { width:54px !important; height:54px !important; min-width:54px; flex:0 0 54px; border:0 !important; border-radius:10px !important; overflow:hidden; }
body.sgm-ui .sgm-profile .sgm-profile-card__content { min-width:0; }
body.sgm-ui .sgm-profile .sgm-profile-card__title { font-size:17px !important; line-height:1.4 !important; font-weight:600; }
body.sgm-ui .sgm-profile .sgm-profile-card__meta { font-size:14px !important; line-height:1.5 !important; color:#59645b !important; }
body.sgm-ui .sgm-profile :is(.sgm-profile-card__title,.sgm-profile-card__meta) { white-space:normal !important; overflow-wrap:anywhere; }
body.sgm-ui .sgm-profile .sgm-profile__column-empty { padding:16px 0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; font-size:16px; line-height:1.5; }
body.sgm-ui .sgm-profile .sgm-profile__more > summary { min-height:44px; padding:12px; box-sizing:border-box; font-size:16px; }
body.sgm-ui .sgm-profile .sgm-profile-tabs { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:12px; }
@media(max-width:767px) {
 body.sgm-ui .sgm-profile .sgm-profile__columns { grid-template-columns:minmax(0,1fr) !important; gap:16px !important; }
 body.sgm-ui .sgm-profile .sgm-profile__header,
 body.sgm-ui .sgm-profile .sgm-profile__column { padding:16px !important; }
 body.sgm-ui .sgm-profile .sgm-profile__title { font-size:26px !important; }
 body.sgm-ui .sgm-profile .sgm-profile__form-grid { grid-template-columns:minmax(0,1fr) !important; }
}

/* Four profile sections side by side on desktop. */
@media(min-width:1100px) {
 body.sgm-ui .sgm-profile .sgm-profile__columns { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px !important; }
 body.sgm-ui .sgm-profile .sgm-profile__column { padding:16px !important; }
 body.sgm-ui .sgm-profile .sgm-profile__section-title { font-size:19px !important; }
}

body.sgm-ui .sgm-profile__photo-prompt { padding:20px; margin-bottom:20px; background:#edf2ec; border-radius:12px; color:#28332c; }
body.sgm-ui .sgm-profile__photo-prompt[hidden] { display:none !important; }
body.sgm-ui .sgm-profile__photo-prompt h3 { margin:0 0 8px; font-size:21px; }
body.sgm-ui .sgm-profile__photo-prompt p { margin:0 0 16px; font-size:16px; line-height:1.5; }
body.sgm-ui .sgm-profile__photo-prompt > div { display:flex; flex-wrap:wrap; gap:12px; }
body.sgm-ui .sgm-profile__photo-prompt button { min-height:44px; }
body.sgm-ui .sgm-profile__photo-prompt [data-sgm-photo-skip] { background:transparent !important; color:#355b45 !important; border:0; text-decoration:underline; padding:10px 16px; }

/* Compact forum overview and optional composer. */
body.sgm-ui .sgm-widget:is(.sgm-forum-compose,.sgm-forum-topic-list,.sgm-forum-topic-single) { padding:20px !important; border:0 !important; box-shadow:none !important; background:#fffefa !important; border-radius:12px !important; }
body.sgm-ui .sgm-forum-compose .sgm-section-heading { margin-bottom:12px !important; }
body.sgm-ui .sgm-forum-compose .sgm-section-heading__title { font-size:24px !important; }
body.sgm-ui .sgm-forum-compose .sgm-section-heading__eyebrow { display:none; }
body.sgm-ui .sgm-forum-compose__disclosure > summary { padding:12px 16px; min-height:44px; box-sizing:border-box; background:#355b45; color:#fff; border-radius:8px; cursor:pointer; font-size:17px; font-weight:600; }
body.sgm-ui .sgm-forum-compose__disclosure[open] > summary { margin-bottom:16px; }
body.sgm-ui .sgm-forum-form { gap:16px !important; }
body.sgm-ui .sgm-forum-form .mce-toolbar button { background:#f7f6f1 !important; color:#28332c !important; border-radius:4px !important; box-shadow:none !important; padding:4px !important; }
body.sgm-ui .sgm-forum-form .mce-toolbar .mce-ico { color:#28332c !important; }
body.sgm-ui .sgm-forum-toolbar { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; margin-bottom:12px !important; }
body.sgm-ui .sgm-forum-toolbar input[type=search] { grid-column:1/-1; }
body.sgm-ui .sgm-forum-toolbar :is(input,select,button) { width:100% !important; min-width:0; min-height:44px; font-size:16px !important; }
body.sgm-ui .sgm-forum-reset { display:flex; align-items:center; justify-content:center; min-height:44px; color:#355b45; text-decoration:underline; }
body.sgm-ui .sgm-widget.sgm-forum-topic-list .sgm-forum-topic-card { padding:14px 0 !important; margin:0 !important; border:0 !important; border-bottom:1px solid #e2e7df !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
body.sgm-ui .sgm-widget.sgm-forum-topic-list .sgm-forum-topic-card__title { font-size:20px !important; line-height:1.35 !important; margin:8px 0 !important; }
body.sgm-ui .sgm-forum-topic-card__excerpt { font-size:15px !important; line-height:1.5 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:6px 0 !important; }
body.sgm-ui .sgm-forum-topic-card :is(.sgm-forum-topic-card__meta,.sgm-forum-topic-card__footer) { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; }
body.sgm-ui .sgm-forum-topic-card__link { min-height:44px; display:inline-flex; align-items:center; }
body.sgm-ui .sgm-forum-jump { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; }
body.sgm-ui .sgm-forum-jump a { padding:10px 14px; min-height:44px; box-sizing:border-box; background:#edf2ec; color:#355b45; border-radius:8px; }
body.sgm-ui :is(#sgm-forum-svar,#sgm-forum-skriv-svar) { scroll-margin-top:100px; }
body.sgm-ui .sgm-forum-comment { padding:16px !important; border:0 !important; box-shadow:none !important; }
/* Only rebalance Elementor rows containing both forum widgets. */
@media(min-width:900px) {
 body.sgm-ui .elementor-container:has(.elementor-widget-sgm-forum-topic-composer):has(.elementor-widget-sgm-forum-topic-list) > .elementor-column:has(.elementor-widget-sgm-forum-topic-composer) { width:35% !important; }
 body.sgm-ui .elementor-container:has(.elementor-widget-sgm-forum-topic-composer):has(.elementor-widget-sgm-forum-topic-list) > .elementor-column:has(.elementor-widget-sgm-forum-topic-list) { width:65% !important; }
}
@media(max-width:600px) {
 body.sgm-ui .sgm-forum-toolbar { grid-template-columns:minmax(0,1fr) !important; }
 body.sgm-ui .sgm-widget:is(.sgm-forum-compose,.sgm-forum-topic-list,.sgm-forum-topic-single) { padding:16px !important; }
}

/* Readable category picker, also inside narrow Elementor columns. */
body.sgm-ui .sgm-widget :is(.sgm-forum-category-picker,.sgm-forum-category-group__items) {
 display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:8px !important;
}
body.sgm-ui .sgm-widget .sgm-forum-category-group {
 min-width:0; margin:0 !important; border:0 !important; border-radius:8px !important; box-shadow:none !important; overflow:visible !important;
}
body.sgm-ui .sgm-widget .sgm-forum-category-group__toggle {
 display:flex !important; align-items:center; justify-content:space-between; gap:12px;
 width:100% !important; min-height:48px; padding:12px !important;
 background:#edf2ec !important; color:#28332c !important; border:0 !important; box-shadow:none !important; border-radius:8px !important;
}
body.sgm-ui .sgm-widget .sgm-forum-category-group__header { min-width:0; flex:1; text-align:left; }
body.sgm-ui .sgm-widget :is(.sgm-forum-category-group__title,.sgm-forum-category-group__description,.sgm-forum-category-option__name) {
 display:block !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
 word-break:normal !important; overflow-wrap:break-word !important; max-height:none !important; -webkit-line-clamp:unset !important;
}
body.sgm-ui .sgm-widget .sgm-forum-category-group__title { font-size:17px !important; line-height:1.4 !important; }
body.sgm-ui .sgm-widget .sgm-forum-category-group__description { font-size:14px !important; line-height:1.5 !important; margin-top:4px; color:#59645b !important; }
body.sgm-ui .sgm-widget .sgm-forum-category-group__panel { padding:8px 0 0 !important; }
body.sgm-ui .sgm-widget .sgm-forum-category-group__panel[hidden] { display:none !important; }
body.sgm-ui .sgm-widget .sgm-forum-category-option {
 display:flex !important; flex-wrap:wrap; align-items:center; gap:4px 12px;
 padding:8px 10px !important; margin:0 !important; border:0 !important; border-radius:6px !important; box-shadow:none !important; background:#fffefa !important;
}
body.sgm-ui .sgm-widget .sgm-forum-category-option__choice { display:flex !important; align-items:center; gap:10px; flex:1 1 180px; min-width:0; min-height:44px; cursor:pointer; }
body.sgm-ui .sgm-widget .sgm-forum-category-option__name { font-size:16px !important; line-height:1.4 !important; }
body.sgm-ui .sgm-widget .sgm-forum-category-option__primary { display:flex !important; align-items:center; gap:8px; flex:0 0 auto; min-height:44px; font-size:14px; cursor:pointer; }
body.sgm-ui .sgm-widget .sgm-forum-category-option input { flex:0 0 20px; width:20px !important; height:20px !important; min-height:20px !important; margin:0 !important; }

/* Conversation page: one reading surface instead of nested framed boxes. */
body.sgm-ui .sgm-widget.sgm-forum-topic-single { max-width:960px !important; margin-inline:auto !important; padding:24px !important; }
body.sgm-ui .sgm-forum-topic-single :is(.sgm-forum-topic-single__card,.sgm-forum-comments,.sgm-forum-reply) {
 border:0 !important; box-shadow:none !important; border-radius:0 !important; background:transparent !important;
 padding:0 !important; margin:0 0 24px !important;
}
body.sgm-ui .sgm-forum-topic-single .sgm-forum-topic-single__back-button {
 display:inline-flex !important; width:auto !important; min-height:44px; justify-content:flex-start !important;
 padding:8px 0 !important; margin:0 0 12px !important; border:0 !important; background:transparent !important; box-shadow:none !important; color:#355b45 !important;
}
body.sgm-ui .sgm-forum-topic-single .sgm-forum-topic-single__header { margin:0 0 12px !important; gap:12px; flex-wrap:wrap; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-topic-single__title { font-size:30px !important; line-height:1.25 !important; margin:0 0 16px !important; overflow-wrap:anywhere; }
body.sgm-ui .sgm-forum-topic-single :is(.sgm-forum-topic-single__content,.sgm-forum-comment__content) { font-size:17px !important; line-height:1.7 !important; overflow-wrap:anywhere; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-topic-single__content p { margin:0 0 14px !important; font-size:17px !important; line-height:1.7 !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-comments__header { border:0 !important; padding:0 !important; margin-bottom:12px !important; }
body.sgm-ui .sgm-forum-topic-single :is(.sgm-forum-comments__title,.sgm-forum-reply__title) { font-size:23px !important; margin:0 0 12px !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-comments__empty { border:0 !important; background:#edf2ec !important; color:#355b45 !important; padding:14px 16px !important; border-radius:8px !important; text-align:left !important; font-size:16px; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-comment { background:#f7f6f1 !important; margin-bottom:12px; border-radius:8px !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-form__row { margin:0 0 12px !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-form__actions { margin-top:16px !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-form__file-input { border:0 !important; background:transparent !important; padding:8px 0 !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-form__hint { font-size:14px !important; margin:6px 0 !important; }
body.sgm-ui .sgm-forum-topic-single .sgm-forum-jump { margin:12px 0 24px !important; }
@media(max-width:600px) {
 body.sgm-ui .sgm-widget.sgm-forum-topic-single { padding:16px !important; }
 body.sgm-ui .sgm-forum-topic-single .sgm-forum-topic-single__title { font-size:25px !important; }
 body.sgm-ui .sgm-forum-topic-single .sgm-forum-comment { padding:12px !important; }
}

/* Inspiration: more projects in view, consistent images and readable summaries. */
body.sgm-ui .sgm-inspiration .sgm-card-grid {
 display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:20px !important; align-items:stretch;
}
body.sgm-ui .sgm-inspiration .sgm-card {
 min-width:0; display:flex; flex-direction:column; border:0 !important; border-radius:12px !important;
 background:#fffefa !important; box-shadow:none !important; overflow:hidden;
}
body.sgm-ui .sgm-inspiration .sgm-card__media {
 display:block; aspect-ratio:1/1 !important; height:auto !important; min-height:0 !important;
 overflow:hidden; flex:0 0 auto;
}
body.sgm-ui .sgm-inspiration .sgm-card__media img { width:100% !important; height:100% !important; object-fit:cover; }
body.sgm-ui .sgm-inspiration .sgm-card__body { padding:16px !important; gap:8px !important; flex:1; display:flex; flex-direction:column; }
body.sgm-ui .sgm-inspiration .sgm-card__title { font-size:20px !important; line-height:1.35 !important; margin:0 !important; overflow-wrap:anywhere; }
body.sgm-ui .sgm-inspiration .sgm-card__eyebrow { font-size:12px !important; margin:0 !important; color:#59645b !important; }
body.sgm-ui .sgm-inspiration .sgm-card__excerpt { font-size:15px !important; line-height:1.55 !important; margin:0 !important; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
body.sgm-ui .sgm-inspiration__recipe-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; margin-top:auto; padding-top:8px; font-size:16px; font-weight:600; color:#355b45 !important; text-decoration:underline; text-underline-offset:3px; }
body.sgm-ui .sgm-inspiration .sgmv2-pagination { flex-wrap:wrap; margin-top:24px; }
@media(max-width:1099px) {
 body.sgm-ui .sgm-inspiration .sgm-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px !important; }
}
@media(max-width:800px) {
 body.sgm-ui .sgm-inspiration .sgm-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:480px) {
 body.sgm-ui .sgm-inspiration .sgm-card-grid { grid-template-columns:minmax(0,1fr) !important; }
 body.sgm-ui .sgm-inspiration .sgm-card__media { aspect-ratio:4/3 !important; }
}

/* Shared pagination for inspiration, recipes, forum, designers and user recipes. */
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) {
 display:flex !important; flex-wrap:wrap !important; align-items:center; justify-content:center;
 gap:8px !important; margin:24px 0 !important; padding:0 !important;
 border:0 !important; background:transparent !important; box-shadow:none !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) ul {
 display:flex !important; flex-wrap:wrap !important; align-items:center; justify-content:center;
 gap:8px !important; padding:0 !important; margin:0 !important; list-style:none !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) li {
 margin:0 !important; padding:0 !important; width:auto !important; height:auto !important; min-width:0 !important;
 border:0 !important; background:transparent !important; box-shadow:none !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) :is(.sgmv2-pagination__btn,a.page-numbers,span.page-numbers) {
 display:inline-flex !important; align-items:center; justify-content:center; gap:6px;
 min-width:44px !important; min-height:44px !important; height:auto !important; width:auto !important;
 padding:10px 13px !important; box-sizing:border-box; border:1px solid #c9d5c7 !important;
 border-radius:8px !important; background:#fffefa !important; color:#355b45 !important;
 font:600 16px/1.3 var(--sg-ui-font,Arial,sans-serif) !important;
 text-decoration:none !important; letter-spacing:normal !important; box-shadow:none !important; transform:none !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) :is([aria-current=page],.is-current,.current) {
 background:#355b45 !important; color:#fff !important; border-color:#355b45 !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) :is(a,button):hover:not(:disabled) {
 background:#edf2ec !important; color:#264633 !important; border-color:#355b45 !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) :is(a,button):focus-visible {
 outline:3px solid #355b45 !important; outline-offset:3px;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) :is([aria-disabled=true],:disabled) {
 background:#f0f1ed !important; color:#626b62 !important; border-color:transparent !important; opacity:1 !important; cursor:default !important;
}
body.sgm-ui :is(.sgmv2-pagination,.sgm-simple-pagination,.sgm-pagination,.sgm-designer-page__pagination) :is(.dots,.sgmv2-pagination__dots) {
 background:transparent !important; border:0 !important; min-width:20px !important; padding:0 2px !important; color:#59645b !important;
}

body.sgm-ui .sgm-members { padding:20px; }
body.sgm-ui .sgm-members form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:20px 0; }
body.sgm-ui .sgm-members form label { display:grid; gap:6px; }
body.sgm-ui .sgm-members :is(input,button) { min-height:44px; font-size:16px; }
body.sgm-ui .sgm-members__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
body.sgm-ui .sgm-members__card { display:flex; flex-direction:column; align-items:center; gap:12px; padding:20px; background:#fffefa; border-radius:12px; color:#355b45; text-align:center; overflow-wrap:anywhere; }
body.sgm-ui .sgm-members__card img { width:64px; height:64px; border-radius:50%; object-fit:cover; }
body.sgm-ui .sgm-profile__directory-choice { display:flex; align-items:flex-start; gap:10px; font-size:16px; line-height:1.5; margin-bottom:20px; }
body.sgm-ui .sgm-profile--public .sgm-profile__columns { grid-template-columns:minmax(0,1fr) !important; }
body.sgm-ui .sgm-members select { min-height:44px; font-size:16px; }
body.sgm-ui .sgm-members [data-member-online] { font-size:14px; color:#59645b; }
body.sgm-ui .sgm-members [data-member-online].is-online { color:#355b45; font-weight:700; }
body.sgm-ui .sgm-members__hint { font-size:14px; line-height:1.5; color:#59645b; }

/* Header avatars must remain circular even in a crowded flex navigation. */
body.sgm-ui .sgm-account :is(.sgm-account__avatar,.sgm-account__avatar--placeholder),
body.sgm-ui .sgm-global-auth--promoted :is(.sgm-account__avatar,.sgm-account__avatar--placeholder) {
 width:40px !important; height:40px !important;
 min-width:40px !important; max-width:40px !important;
 min-height:40px !important; max-height:40px !important;
 flex:0 0 40px !important; aspect-ratio:1 / 1 !important;
 border-radius:50% !important; object-fit:cover !important;
 padding:0 !important; box-sizing:border-box !important; overflow:hidden !important;
}

/* Member directory uses the same typography and controls as the rest of SGM. */
body.sgm-ui .sgm-members { color:#28332c; font-family:var(--sg-ui-font,Arial,sans-serif); padding:20px 0 !important; }
body.sgm-ui .sgm-members h2 { font-family:inherit !important; font-size:30px !important; line-height:1.25 !important; font-weight:700 !important; margin:0 0 12px !important; color:#28332c !important; }
body.sgm-ui .sgm-members > p { font-size:16px; line-height:1.6; margin:8px 0; }
body.sgm-ui .sgm-members form { display:grid; grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) auto; align-items:end; gap:16px; padding:20px; margin:24px 0 16px; background:#fffefa; border-radius:12px; }
body.sgm-ui .sgm-members form label { min-width:0; font-size:16px; font-weight:600; line-height:1.4; gap:8px; }
body.sgm-ui .sgm-members :is(input[type=search],select) { width:100% !important; max-width:100%; min-width:0; min-height:48px !important; box-sizing:border-box; padding:10px 12px !important; border:1px solid #a5b0a4 !important; border-radius:8px !important; background:#fff !important; color:#28332c !important; font:400 16px/1.4 var(--sg-ui-font,Arial,sans-serif) !important; box-shadow:none !important; }
body.sgm-ui .sgm-members button { min-width:88px; min-height:48px !important; padding:12px 20px !important; border:0 !important; border-radius:8px !important; background:#355b45 !important; color:#fff !important; font:600 16px/1.4 var(--sg-ui-font,Arial,sans-serif) !important; box-shadow:none !important; cursor:pointer; }
body.sgm-ui .sgm-members button:hover { background:#264633 !important; }
body.sgm-ui .sgm-members :is(input,select,button,a):focus-visible { outline:3px solid #355b45 !important; outline-offset:3px; }
body.sgm-ui .sgm-members .sgm-members__hint { font-size:14px; margin-bottom:20px; color:#59645b; }
body.sgm-ui .sgm-members__card { font-size:16px; text-decoration:none; }
body.sgm-ui .sgm-members__card strong { font-size:18px; line-height:1.4; color:#28332c; }
body.sgm-ui .sgm-members__card:hover { background:#edf2ec; }
@media(max-width:767px) {
 body.sgm-ui .sgm-members form { grid-template-columns:minmax(0,1fr); padding:16px; gap:12px; }
 body.sgm-ui .sgm-members h2 { font-size:26px !important; }
}
body.sgm-ui .sgm-directory-choice { position:fixed; bottom:16px; left:16px; right:16px; max-width:640px; margin:auto; z-index:2147483605; max-height:80dvh; overflow:auto; padding:24px; box-sizing:border-box; background:#fffefa; color:#28332c; border:1px solid #a5b0a4; border-radius:12px; box-shadow:0 8px 40px #28332c33; }
body.sgm-ui .sgm-directory-choice h2 { font-size:23px; margin:0 0 12px; }
body.sgm-ui .sgm-directory-choice p { font-size:16px; line-height:1.5; }
body.sgm-ui .sgm-directory-choice form { display:flex; flex-wrap:wrap; gap:12px; }
body.sgm-ui .sgm-directory-choice button { min-height:48px; padding:12px 16px; background:#355b45 !important; color:#fff !important; border:0; border-radius:8px; font-size:16px; }
body.sgm-ui .sgm-profile__directory-choice { flex-wrap:wrap; }
body.sgm-ui .sgm-profile__directory-choice label { min-height:44px; display:flex; align-items:center; gap:8px; }

/* Header actions belong in normal layout, never on top of the edit control. */
body.sgm-ui .sgm-profile .sgm-profile__header-actions {
 position:static !important; inset:auto !important; transform:none !important;
 width:auto !important; max-width:100%; flex:0 1 auto;
 display:flex; flex-direction:row !important; flex-wrap:wrap; gap:12px !important;
 align-items:center; z-index:auto !important; margin:0 !important;
}
body.sgm-ui .sgm-profile .sgm-profile__identity { padding-right:0 !important; }
body.sgm-ui .sgm-profile .sgm-profile__edit-toggle {
 inset:auto !important; transform:none !important; width:auto !important; max-width:100%;
 min-width:0 !important; box-sizing:border-box; z-index:auto !important; margin:0 !important;
}
body.sgm-ui .sgm-profile .sgm-profile__members-link { margin:0 !important; min-height:44px; }
@media(max-width:600px) {
 body.sgm-ui .sgm-profile .sgm-profile__header-actions,
 body.sgm-ui .sgm-profile .sgm-profile__edit-panel { flex-basis:100%; width:100% !important; }
 body.sgm-ui .sgm-profile .sgm-profile__members-link,
 body.sgm-ui .sgm-profile .sgm-profile__edit-toggle { width:100% !important; }
}

/* Profile header controls share one size and alignment. */
body.sgm-ui .sgm-profile .sgm-profile__header { align-items:center !important; }
body.sgm-ui .sgm-profile .sgm-profile__header-actions,
body.sgm-ui .sgm-profile .sgm-profile__edit-panel:not([open]) {
 align-self:center !important; padding:0 !important; margin:0 !important;
 min-height:0 !important; border:0 !important;
}
body.sgm-ui .sgm-profile .sgm-profile__edit-panel:not([open]) { display:block !important; }
body.sgm-ui .sgm-profile :is(.sgm-profile__members-link,.sgm-profile__edit-toggle) {
 display:inline-flex !important; align-items:center !important; justify-content:center !important;
 box-sizing:border-box !important; height:48px !important; min-height:48px !important;
 padding:0 18px !important; margin:0 !important; border-radius:8px !important;
 font:600 16px/1.25 var(--sg-ui-font,Arial,sans-serif) !important;
 letter-spacing:normal !important; text-transform:none !important;
 vertical-align:middle !important; box-shadow:none !important;
}
body.sgm-ui .sgm-profile .sgm-profile__edit-toggle { background:#edf2ec !important; color:#355b45 !important; border:1px solid #c9d5c7 !important; }

body.sgm-ui .sgm-profile .sgm-profile__cover { flex:0 0 100%; width:100%; height:220px; overflow:hidden; border-radius:12px; }
body.sgm-ui .sgm-profile .sgm-profile__cover[hidden] { display:none !important; }
body.sgm-ui .sgm-profile__cover img { display:block; width:100%; height:100%; object-fit:cover; }
body.sgm-ui .sgm-members__card { overflow:hidden; }
body.sgm-ui .sgm-members__card img.sgm-members__cover { width:calc(100% + 40px) !important; max-width:none !important; height:130px !important; border-radius:0 !important; margin:-20px -20px 0; object-fit:cover; }
@media(max-width:600px) { body.sgm-ui .sgm-profile .sgm-profile__cover { height:150px; } }

/* Recipe requests: consistent, readable form rather than a stretched banner. */
body.sgm-ui [data-sgm-rr-wrapper] {
 width:100%; max-width:1400px !important; margin:0 auto !important; padding:28px !important;
 box-sizing:border-box; border:0 !important; border-radius:14px !important;
 background:#fffefa !important; box-shadow:none !important; color:#28332c;
 font-family:var(--sg-ui-font,Arial,sans-serif);
}
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__inner { padding:0 !important; max-width:none !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__eyebrow { font-size:14px !important; letter-spacing:normal !important; text-transform:none !important; color:#59645b !important; margin:0 0 8px !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__heading { font-family:inherit !important; font-size:30px !important; font-weight:700 !important; line-height:1.25 !important; margin:0 0 12px !important; color:#28332c !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__intro { margin-bottom:24px !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__intro p { font-size:16px !important; line-height:1.6 !important; color:#59645b !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__row { margin:0 0 18px !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__field { display:grid; gap:8px; min-width:0; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__label { font-size:16px !important; font-weight:600; color:#28332c !important; line-height:1.4; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__input {
 width:100% !important; min-width:0; min-height:48px; box-sizing:border-box;
 padding:12px !important; border:1px solid #a5b0a4 !important; border-radius:8px !important;
 background:#fff !important; color:#28332c !important; box-shadow:none !important;
 font:400 16px/1.5 var(--sg-ui-font,Arial,sans-serif) !important; transform:none !important;
}
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__textarea { min-height:140px; resize:vertical; }
body.sgm-ui [data-sgm-rr-wrapper] :is(input,textarea,button):focus-visible { outline:3px solid #355b45 !important; outline-offset:3px; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__submit { min-height:48px !important; padding:12px 20px !important; border-radius:8px !important; font-size:16px !important; }
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__privacy,
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__privacy small { font-size:14px !important; line-height:1.5 !important; color:#59645b !important; margin:8px 0 0 !important; }
@media(max-width:600px) {
 body.sgm-ui [data-sgm-rr-wrapper] { padding:20px 16px !important; }
 body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__heading { font-size:25px !important; }
 body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__row--grid { grid-template-columns:minmax(0,1fr) !important; }
 body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__submit { width:100%; }
}

/* The request wrapper owns the surface; its inner content must not draw a second card. */
body.sgm-ui [data-sgm-rr-wrapper] .sgm-rr__inner {
 border:0 !important; border-radius:0 !important; box-shadow:none !important;
 outline:none !important; background:transparent !important;
 padding:0 !important; margin:0 !important; width:100%; box-sizing:border-box;
}

/* Recipe facets: each option reserves space for checkbox, label and result count. */
body.sgm-ui :is(.sgmv2-recipe-filter,.sgm-simple-recipe-filter,.sgm-simple-recipe-archive) .sgm-simple-filter-checkboxes {
 display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)) !important;
 gap:6px 12px !important; width:100%; min-width:0;
}
body.sgm-ui .sgm-simple-filter-checkboxes .sgm-simple-filter-checkbox {
 display:grid !important; grid-template-columns:20px minmax(0,1fr) auto !important;
 align-items:center !important; gap:8px !important; min-width:0 !important; width:100% !important;
 min-height:44px !important; height:auto !important; padding:8px 6px !important;
 margin:0 !important; box-sizing:border-box;
}
body.sgm-ui .sgm-simple-filter-checkboxes .sgm-simple-filter-checkbox__label {
 min-width:0 !important; white-space:normal !important; overflow-wrap:break-word !important;
 word-break:normal !important; line-height:1.4 !important; text-align:left;
}
body.sgm-ui .sgm-simple-filter-checkboxes .sgm-simple-filter-checkbox__count {
 position:static !important; margin:0 !important; justify-self:end;
 min-width:24px; padding:2px 5px; box-sizing:border-box; text-align:center; white-space:nowrap;
}
body.sgm-ui .sgm-simple-filter-checkboxes .sgm-simple-filter-checkbox__input { margin:0 !important; width:18px !important; height:18px !important; min-width:18px !important; }
