/* 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; }

/* Total matches above recipe cards; shares the live filter count. */
.sgmv2-recipe-results .sgmv2-results-summary {
  margin: 0 0 18px;
  color: #283c30;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.sgm-recipe-suggestions { margin:40px 0 0; color:#283c30; }
.sgm-recipe-suggestions[hidden] { display:none !important; }
.sgm-recipe-suggestions > h2 { font-size:26px; margin:0 0 8px; }
.sgm-recipe-suggestions > p { margin:0 0 20px; }
.sgm-recipe-suggestions__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.sgm-recipe-suggestions__grid > a { display:flex; flex-direction:column; overflow:hidden; background:#fffefa; border-radius:12px; text-decoration:none; color:#283c30; }
.sgm-recipe-suggestions__grid img { width:100%; aspect-ratio:1; object-fit:cover; }
.sgm-recipe-suggestions__grid h3 { padding:16px 16px 8px; margin:0; font-size:18px; line-height:1.4; }
.sgm-recipe-suggestions__grid span { padding:0 16px 16px; color:#355b45; margin-top:auto; }
.sgm-recipe-suggestions__grid a:focus-visible { outline:2px solid #355b45; outline-offset:3px; }
@media(max-width:900px){.sgm-recipe-suggestions__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.sgm-recipe-suggestions__grid{grid-template-columns:minmax(0,1fr);}}

.sgm-recipe-progress { padding:20px; margin:24px 0; background:#edf2eb; border-radius:12px; color:#283c30; }
.sgm-recipe-progress h2 { font-size:22px; margin:0 0 8px; }
.sgm-recipe-progress p { font-size:16px; line-height:1.5; }
.sgm-recipe-progress__actions { display:flex; flex-wrap:wrap; gap:10px; }
.sgm-recipe-progress button,.sgm-single-recipe .sgm-progress-picker { min-height:44px; padding:10px 16px; background:#355b45; color:#fff; border:0; border-radius:8px; font-size:16px; cursor:pointer; }
.sgm-single-recipe .sgm-progress-marked { background:#edf2eb !important; box-shadow:inset 4px 0 #355b45; padding:12px 16px; scroll-margin-top:100px; }
.sgm-single-recipe .sgm-progress-picker { margin:6px 0 16px; }
.sgm-recipe-progress[hidden],.sgm-recipe-progress [hidden],.sgm-progress-picker[hidden] { display:none !important; }
.sgm-recipe-progress button:focus-visible,.sgm-progress-picker:focus-visible { outline:2px solid #283c30; outline-offset:3px; }
@media print {.sgm-recipe-progress,.sgm-progress-picker{display:none!important;}.sgm-single-recipe .sgm-progress-marked{background:none!important;box-shadow:none;padding:0;}}

/* Only actual recipe pages get the following sidebar. Hidden controls leave no empty column. */
@media (min-width: 1024px) {
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-single-recipe .sgm-recipe-reading-layout:has(> .sgm-recipe-progress:not([hidden])) {
    display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; align-items:start; margin-top:24px;
  }
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-single-recipe .sgm-recipe-reading-layout > .sgm-recipe-progress:not([hidden]) {
    position:sticky; top:100px; align-self:start; margin:0; padding:18px;
    max-height:calc(100dvh - 124px); overflow-y:auto; box-sizing:border-box;
  }
  body:is(.single-sg_recipe,.sgm-has-recipe-progress).admin-bar .sgm-single-recipe .sgm-recipe-reading-layout > .sgm-recipe-progress:not([hidden]) {
    top:132px; max-height:calc(100dvh - 156px);
  }
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-recipe-reading-layout > .sgm-recipe-progress h2 { font-size:20px; }
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-recipe-reading-layout .sgm-recipe-progress__actions { flex-direction:column; }
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-recipe-reading-layout .sgm-recipe-progress__actions button { width:100%; }
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-recipe-reading-layout > .sgm-single-recipe__main { min-width:0; width:100%; margin:0; }
}
@media print {body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-single-recipe .sgm-recipe-reading-layout {display:block!important;}}

@media screen and (min-width:1024px) {
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) .sgm-single-recipe .sgm-recipe-reading-layout > .sgm-recipe-progress.sgm-progress-following {
    position:relative !important; top:0 !important;
    transform:translateY(var(--sgm-progress-offset,0px)) !important;
    transition:none !important; align-self:start;
  }
}

.sgm-progress-mobile[hidden] {display:none!important;}
@media screen and (max-width:1023px) {
  .sgm-progress-mobile {position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:990;max-width:calc(100vw - 24px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
  .sgm-progress-mobile > .sgm-recipe-progress {display:none!important;}
  .sgm-progress-mobile.is-open > .sgm-recipe-progress {display:block!important;width:min(360px,calc(100vw - 24px));max-height:55dvh;overflow:auto;margin:0;padding:18px;box-sizing:border-box;box-shadow:0 6px 24px #283c3026;transform:none!important;position:static!important;}
  .sgm-progress-mobile .sgm-recipe-progress h2 {font-size:20px;}
  .sgm-progress-mobile .sgm-recipe-progress__actions {flex-direction:column;}
  .sgm-progress-mobile__toggle {min-height:44px;padding:10px 18px!important;border:0!important;border-radius:24px!important;background:#355b45!important;color:#fff!important;font-size:16px!important;font-weight:600;box-shadow:0 3px 12px #0002;}
  .sgm-progress-mobile__toggle:focus-visible {outline:2px solid #283c30;outline-offset:3px;}
  body:is(.single-sg_recipe,.sgm-has-recipe-progress) {padding-bottom:76px;}
}
@media print {.sgm-progress-mobile{display:none!important;}}

/* Forum topic controls: shared green palette, readable destructive action. */
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__header-actions,
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage {
  display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:10px !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__stats {
  background:#edf2eb !important; color:#355b45 !important; border:0 !important;
  border-radius:6px !important; padding:7px 12px !important; font-size:14px !important; box-shadow:none !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage .sgm-search-hero__button {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:44px !important; padding:10px 18px !important; border:0 !important; border-radius:8px !important;
  font-family:inherit !important; font-size:16px !important; font-weight:600 !important; line-height:1.4 !important;
  letter-spacing:normal !important; text-transform:none !important; box-shadow:none !important; transform:none !important; filter:none !important;
  transition:background-color .15s ease !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage .sgm-search-hero__button.is-secondary {
  background:#355b45 !important; color:#fff !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage .sgm-search-hero__button.is-secondary:hover {
  background:#264333 !important; color:#fff !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage .sgm-search-hero__button.is-danger {
  background:#f7eaea !important; color:#8b3030 !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage .sgm-search-hero__button.is-danger:hover {
  background:#efd6d6 !important; color:#752525 !important;
}
body.sgm-ui .sgm-widget.sgm-forum-topic-single .sgm-forum-topic-single__manage .sgm-search-hero__button:focus-visible {
  outline:2px solid #283c30 !important; outline-offset:3px !important;
}

/* Personal knitting overview and community tools. */
[data-sgm-personal-home], [data-sgm-project-gallery] {max-width:1400px;margin:24px auto;}
.sgm-engagement {background:#fffefa;border-radius:12px;padding:24px;margin:24px 0;color:#283c30;}
.sgm-engagement h2 {font:700 26px/1.25 var(--sg-ui-font,Arial,sans-serif);margin:0 0 12px;color:#283c30;}
.sgm-engagement p,.sgm-engagement label {font-size:16px;line-height:1.6;}
.sgm-engagement-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.sgm-engagement-grid>a {display:flex;flex-direction:column;min-width:0;background:#f5f6f1;color:#283c30;text-decoration:none;border-radius:8px;overflow:hidden;}
.sgm-engagement-grid img {width:100%;aspect-ratio:4/3;object-fit:cover;}
.sgm-engagement-grid h3 {font-size:18px;line-height:1.4;padding:12px;margin:0;}
.sgm-engagement-grid p,.sgm-engagement-grid span {padding:0 12px 12px;margin:0;}
.sgm-engagement-grid span {color:#355b45;font-weight:600;margin-top:auto;}
.sgm-engagement-actions {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
body .sgm-engagement button,body .sgm-save-invite button {min-height:44px;padding:10px 16px;border:0;border-radius:8px;background:#355b45!important;color:white!important;font-size:16px;line-height:1.4;box-shadow:none;cursor:pointer;}
body .sgm-engagement button[aria-pressed="false"] {background:#edf2eb!important;color:#355b45!important;}
.sgm-engagement button:disabled {opacity:.6;cursor:wait;}
.sgm-engagement :is(button,a,summary):focus-visible,.sgm-save-invite button:focus-visible {outline:2px solid #355b45;outline-offset:3px;}
.sgm-engagement details {margin-top:16px;}
.sgm-engagement summary {cursor:pointer;min-height:44px;padding:10px 0;font-size:16px;font-weight:600;}
.sgm-engagement label {display:block;margin:14px 0;}
.sgm-engagement input[type=file] {display:block;max-width:100%;margin-top:8px;}
.sgm-engagement input[type=checkbox] {width:20px;height:20px;vertical-align:middle;accent-color:#355b45;}
.sgm-engagement-topic {display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 0;}
.sgm-engagement-topic>a {flex:1 1 250px;color:#355b45;}
.sgm-save-invite {border:0;border-radius:16px;padding:24px;max-width:480px;width:calc(100% - 32px);box-sizing:border-box;background:#fffefa;color:#283c30;}
.sgm-save-invite::backdrop {background:#0007;}
.sgm-save-invite h2 {font-size:26px;line-height:1.3;}
.sgm-save-invite p {font-size:17px;line-height:1.6;}
.sgm-save-invite button {display:block;width:100%;margin-top:10px;}
.sgm-engagement-notice {position:fixed;bottom:80px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:480px;box-sizing:border-box;padding:14px 18px;background:#edf2eb;color:#283c30;border-radius:10px;box-shadow:0 4px 20px #0002;z-index:9999;font-size:16px;}
.sgm-profile-tabs--in-column {flex-wrap:wrap!important;}
@media(max-width:900px){.sgm-engagement-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.sgm-engagement{padding:18px;}}
@media(max-width:480px){.sgm-engagement-grid{grid-template-columns:minmax(0,1fr);}.sgm-engagement h2{font-size:23px;}}
@media print {.sgm-engagement,.sgm-engagement-notice,.sgm-save-invite{display:none!important;}}

/* Personal tools live in the account menu, not above the homepage. */
.sgm-knitting-panel {width:min(620px,calc(100vw - 32px));max-height:calc(var(--sgm-panel-height,100dvh) - 32px);padding:0;border:0;border-radius:16px;background:#f7f7f2;color:#283c30;box-sizing:border-box;overflow:hidden;overscroll-behavior:contain;}
.sgm-knitting-panel::backdrop {background:#0006;}
.sgm-knitting-panel[open] {display:flex;flex-direction:column;}
.sgm-knitting-panel__header {flex:0 0 auto;position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#f7f7f2;z-index:1;}
.sgm-knitting-panel__header h2 {margin:0;font-size:25px;color:#283c30;}
.sgm-knitting-panel__body {flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 20px 28px;scroll-padding-block:12px;}
.sgm-knitting-panel__header button {flex:0 0 auto;min-width:64px;}
.sgm-knitting-panel__header h2 {min-width:0;overflow-wrap:anywhere;}
.sgm-knitting-panel :is(h3,a,span) {overflow-wrap:anywhere;}
.sgm-knitting-panel .sgm-engagement {padding:16px;margin:12px 0;}
.sgm-knitting-panel .sgm-engagement h2 {font-size:20px;}
.sgm-knitting-panel .sgm-engagement-grid {grid-template-columns:1fr;gap:8px;}
.sgm-knitting-panel .sgm-engagement-grid>a {display:grid;grid-template-columns:64px 1fr;gap:0 12px;align-items:center;padding:10px;}
.sgm-knitting-panel .sgm-engagement-grid img {grid-row:1 / 3;width:64px;height:64px;border-radius:6px;}
.sgm-knitting-panel .sgm-engagement-grid :is(h3,span) {grid-column:2;padding:0;margin:0;font-size:16px;}
.sgm-knitting-panel__body>.sgm-engagement>a {display:block;padding:10px 0;}
body .sgm-knitting-panel button,body .sgm-knitting-panel__profile {display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 16px;background:#355b45!important;color:#fff!important;border:0;border-radius:8px;font-size:16px;text-decoration:none;box-sizing:border-box;cursor:pointer;}
.sgm-knitting-panel :is(a,button,summary):focus-visible {outline:2px solid #355b45;outline-offset:3px;}
@media(max-width:600px){.sgm-knitting-panel{width:100%;max-width:100%;height:var(--sgm-panel-height,100dvh);max-height:var(--sgm-panel-height,100dvh);position:fixed;inset:var(--sgm-panel-top,0px) 0 auto;margin:0;border-radius:0;}.sgm-knitting-panel__header{padding-top:calc(16px + env(safe-area-inset-top,0px));}.sgm-knitting-panel__body{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));}}
@media print {.sgm-knitting-panel{display:none!important;}}

html.sgm-knitting-open,html.sgm-knitting-open body {overflow:hidden!important;}

.sgm-knitting-panel .sgm-engagement-grid>a:not(:has(img)) {grid-template-columns:minmax(0,1fr);}
.sgm-knitting-panel .sgm-engagement-grid>a:not(:has(img)) :is(h3,span) {grid-column:1;}
.sgm-knitting-panel__body>.sgm-engagement>a {color:#355b45;min-height:44px;box-sizing:border-box;}

body.sgm-ui .sgm-account__actions {flex-wrap:wrap;gap:8px;}
body.sgm-ui :is(.sgm-account__actions,.sgm-mobile-menu__auth) .sgm-account__profile-link {background:#edf2eb!important;color:#355b45!important;border:0!important;border-radius:8px!important;min-height:44px;box-sizing:border-box;}
body.sgm-ui :is(.sgm-account__actions,.sgm-mobile-menu__auth) .sgm-account__profile-link:hover {background:#e0e9dd!important;}

/* Reading, notes and saved-search tools. */
.sgm-craft-tools {display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;color:#283c30;}
body .sgm-craft-tools>button,body .sgm-craft-tools>a,body .sgm-craft-guide,body .sgm-craft-dialog button,body .sgm-private-notes button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;box-sizing:border-box;background:#355b45!important;color:#fff!important;border:0!important;border-radius:8px!important;font-size:16px!important;line-height:1.4;text-decoration:none;cursor:pointer;}
body .sgm-craft-guide {margin-top:14px;}
.sgm-private-notes {flex-basis:100%;background:#edf2eb;border-radius:10px;padding:16px;}
.sgm-private-notes summary {cursor:pointer;font-size:18px;font-weight:600;min-height:44px;display:list-item;}
.sgm-private-notes label,.sgm-craft-dialog label {display:block;font-size:16px;line-height:1.5;}
.sgm-private-notes textarea {display:block;width:100%;box-sizing:border-box;margin:10px 0;min-height:140px;padding:12px;font-family:inherit;font-size:16px;line-height:1.6;color:#283c30;background:#fff;}
.sgm-private-notes button {margin:0 10px 8px 0;}
html.sgm-craft-open,html.sgm-craft-open body {overflow:hidden!important;}
.sgm-craft-dialog {width:min(760px,calc(100vw - 32px));max-height:calc(var(--craft-height,100dvh) - 32px);padding:0;border:0;border-radius:14px;overflow:hidden;box-sizing:border-box;background:#fffefa;color:#283c30;}
.sgm-craft-dialog[open] {display:flex;flex-direction:column;}
.sgm-craft-dialog::backdrop {background:#0006;}
.sgm-craft-dialog>header {display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:16px;background:#edf2eb;}
.sgm-craft-dialog>header h2 {margin:0;font-size:23px;line-height:1.3;}
.sgm-craft-dialog>header button {flex-shrink:0;}
.sgm-craft-dialog__body {min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:20px;}
.sgm-craft-dialog__body form {display:flex;flex-direction:column;gap:16px;}
.sgm-craft-dialog input,.sgm-craft-dialog select {width:100%;min-height:48px;font-size:18px;padding:10px;box-sizing:border-box;color:#283c30;background:#fff;}
.sgm-reading-controls {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;}
body.sgm-ui .sgm-reading-view .sgm-single-recipe__main {width:100%;max-width:70ch;margin:0 auto;background:transparent!important;}
body.sgm-ui .sgm-reading-view .sgm-single-recipe__content,body.sgm-ui .sgm-reading-view .sgm-single-recipe__content :is(p,li,td,span) {font-size:var(--reading-font,20px)!important;line-height:1.8!important;}
.sgm-reading-view .sgm-single-recipe__content img {max-width:100%;height:auto;}
.sgm-reading-view .sgm-progress-picker {min-height:44px;}
.sgm-reading-view .sgm-progress-marked {background:#edf2eb;padding:12px;border-left:4px solid #355b45;}
.sgm-reading-view .sgm-progress-picker[hidden] {display:none!important;}
.sgm-reading-view :is(.sgm-single-recipe__engagement,.sgm-single-recipe__community) {display:none!important;}
.sgm-craft-dialog :is(button,a,select,input):focus-visible,.sgm-craft-tools :is(button,a,summary,textarea):focus-visible {outline:2px solid #355b45;outline-offset:3px;}
.sgm-knitting-panel__body .sgm-engagement>div:has(>button)>a {display:inline-block;margin-right:12px;padding:12px 0;color:#355b45;}
@media(max-width:600px){.sgm-craft-dialog{width:100%;max-width:100%;height:var(--craft-height,100dvh);max-height:var(--craft-height,100dvh);position:fixed;inset:var(--craft-top,0px) 0 auto;margin:0;border-radius:0;}.sgm-craft-dialog>header{padding-top:calc(16px + env(safe-area-inset-top,0px));}.sgm-craft-dialog__body{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));}.sgm-craft-tools>button,.sgm-craft-tools>a{width:100%;}}
@media print {.sgm-craft-tools,.sgm-craft-guide{display:none!important;}}

/* Private organisation and verified size values. */
html.sgm-organiser-open,html.sgm-organiser-open body{overflow:hidden!important;}
.sgm-project-options{flex-basis:100%;padding:12px 16px;background:#f2f5ef;border-radius:10px;}
.sgm-project-options summary{min-height:44px;align-content:center;cursor:pointer;font-weight:600;}
.sgm-organiser-section{margin-top:24px;padding-top:16px;border-top:1px solid #dce3d8;overflow-wrap:anywhere;}
.sgm-organiser-section h3{margin:0 0 12px;}
.sgm-organiser-section>button{margin:8px 8px 0 0;}
.sgm-organiser-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;}
.sgm-organiser-row>a{min-width:0;overflow-wrap:anywhere;}
.sgm-organiser-row button{flex-shrink:0;}
.sgm-organiser a{color:#355b45;text-decoration:underline;display:inline-block;padding:10px 0;}
.sgm-organiser .sgm-craft-dialog__body>a{display:block;margin:12px 0;}
.sgm-organiser label{display:block;}
.sgm-organiser input[type=checkbox]{width:24px;height:24px;min-height:24px;vertical-align:middle;margin:10px 10px 10px 0;accent-color:#355b45;}
.sgm-size-control{background:#edf2eb;border-radius:10px;padding:16px;margin-bottom:20px;}
.sgm-size-control select{font:inherit;font-size:18px;min-height:44px;max-width:100%;padding:8px;}
.sgm-size-values .sgm-size-selected{background:#fff0ae!important;color:#243e30!important;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;outline:2px solid #355b45;border-radius:3px;padding:1px 3px;}
.sgm-engagement textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;font:inherit;font-size:16px;padding:12px;}
.sgm-craft-dialog button:disabled{opacity:.65;cursor:default;}
@media(max-width:450px){.sgm-organiser-row{align-items:flex-start;flex-direction:column;}.sgm-reading-controls{align-items:stretch;}.sgm-reading-controls>span{flex-basis:100%;}}
.sgm-organiser input[type=text]{border:1px solid #abb8a8;border-radius:8px;box-shadow:none;background:#fff;color:#283c30;}
.sgm-organiser-section a{font-weight:600;}

/* One compact recipe toolbar; secondary tools stay behind a single disclosure. */
body.sgm-ui .sgm-recipe-toolbar{display:flex;align-items:center;gap:10px 16px;margin:16px 0;padding:0;background:none;}
body.sgm-ui .sgm-recipe-toolbar>[data-engagement-project]{display:flex;align-items:center;gap:10px;margin:0;padding:0;background:none;border:0;box-shadow:none;flex:1 1 auto;}
body.sgm-ui .sgm-recipe-toolbar>[data-engagement-project]>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
body.sgm-ui .sgm-recipe-toolbar .sgm-engagement-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0;}
body.sgm-ui .sgm-recipe-toolbar .sgm-engagement-actions button{min-height:44px;padding:8px 14px;margin:0;font-size:16px;}
.sgm-recipe-more{margin:0;}
.sgm-recipe-more>summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:10px 14px;border-radius:8px;background:#edf2eb;color:#355b45;font-size:16px;line-height:24px;}
.sgm-recipe-more[open]{flex-basis:100%;}
.sgm-recipe-more[open]>summary{width:fit-content;}
.sgm-recipe-more__body{margin-top:10px;padding:16px;background:#f1f4ee;border-radius:10px;}
.sgm-recipe-more__body>.sgm-private-notes{padding:0;background:transparent;}
.sgm-recipe-more__body>.sgm-private-notes summary{font-size:16px;}
.sgm-recipe-more__body>a{display:inline-block;padding:10px 0;color:#355b45;}
.sgm-recipe-more__body>.sgm-craft-tools{margin:8px 0;}
.sgm-project-extra>button{margin:8px 0;}
.sgm-project-extra>details{margin-top:12px;}
.sgm-recipe-more summary:focus-visible{outline:2px solid #355b45;outline-offset:3px;}
@media(max-width:600px){body.sgm-ui .sgm-recipe-toolbar>button{width:auto;}body.sgm-ui .sgm-recipe-toolbar>[data-engagement-project]{order:2;flex-basis:100%;}body.sgm-ui .sgm-recipe-toolbar>.sgm-recipe-more{margin-left:auto;}body.sgm-ui .sgm-recipe-toolbar>.sgm-recipe-more[open]{order:3;margin-left:0;}.sgm-recipe-more__body{padding:12px;}}
@media(max-width:600px){body.sgm-ui .sgm-recipe-toolbar{column-gap:8px;}.sgm-recipe-more>summary{padding-inline:10px;}}

/* Touch-friendly secondary recipe controls, without enlarging the collapsed toolbar. */
.sgm-recipe-more,.sgm-recipe-more__body,.sgm-project-extra{min-width:0;max-width:100%;box-sizing:border-box;}
.sgm-recipe-more__body :is(button,a,summary,label){overflow-wrap:anywhere;}
body.sgm-ui .sgm-recipe-more__body button{min-height:44px;box-sizing:border-box;padding:10px 16px;border:0;border-radius:8px;background:#355b45;color:#fff;font-size:16px;line-height:1.5;white-space:normal;}
.sgm-recipe-more__body :is(input,textarea){max-width:100%;box-sizing:border-box;font-size:16px;}
.sgm-project-extra textarea{display:block;width:100%;padding:12px;font:inherit;font-size:16px;}
.sgm-project-extra form{display:grid;gap:12px;}
.sgm-project-extra label{display:block;line-height:1.5;}
.sgm-project-extra input[type=file]{display:block;width:100%;margin-top:8px;}
.sgm-project-extra input[type=checkbox]{width:24px;height:24px;vertical-align:middle;accent-color:#355b45;}
.sgm-recipe-more__body :is(button,a,summary,input,textarea):focus-visible{outline:2px solid #355b45;outline-offset:3px;}
@media(max-width:600px){
 .sgm-recipe-more__body{width:100%;}
 body.sgm-ui .sgm-recipe-more__body button,.sgm-recipe-more__body>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:12px 14px;text-align:center;box-sizing:border-box;}
 .sgm-recipe-more__body>a{border-radius:8px;background:#e3ebe0;text-decoration:underline;line-height:1.5;}
 .sgm-recipe-more__body>.sgm-craft-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:12px 0;}
 .sgm-private-notes>div{display:grid;gap:10px;}
 .sgm-project-extra{display:grid;gap:12px;}
 .sgm-recipe-more__body summary{min-height:48px;padding-block:12px;box-sizing:border-box;line-height:1.5;}
 .sgm-project-extra>details{margin:0;}
 .sgm-recipe-more__body textarea{width:100%;}
}
body.sgm-ui .sgm-project-extra>button{background:#e3ebe0;color:#355b45;}

/* Compact recipe facts: icon beside the label, content aligned for scanning. */
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:12px;margin:24px 0;padding:0;border:0;background:transparent;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts .sgm-single-recipe__fact{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px 10px;align-items:center;text-align:left;padding:16px!important;border:0!important;border-radius:10px;background:#edf2eb!important;box-shadow:none;min-height:96px;}
body.sgm-ui .sgm-single-recipe__facts .sgm-single-recipe__fact-icon{grid-column:1;grid-row:1;display:flex;width:24px;height:24px;padding:0;margin:0;border:0;background:none;box-shadow:none;color:#355b45;}
body.sgm-ui .sgm-single-recipe__facts .sgm-single-recipe__fact-icon svg{width:20px;height:20px;}
body.sgm-ui .sgm-single-recipe__facts .sgm-single-recipe__fact-label{grid-column:2;grid-row:1;margin:0;font-weight:500;}
body.sgm-ui .sgm-single-recipe__facts .sgm-single-recipe__fact-value{grid-column:1/-1;margin:0;font-size:16px!important;font-weight:600;line-height:1.5;}
.sgm-fact-sizes{grid-column:1/-1;min-width:0;}
.sgm-fact-sizes summary{cursor:pointer;min-height:44px;box-sizing:border-box;align-content:center;color:#355b45;font-size:16px;line-height:1.5;text-decoration:underline;}
.sgm-fact-sizes summary:focus-visible{outline:2px solid #355b45;outline-offset:2px;}
.sgm-fact-sizes[open] strong{display:block;margin-top:8px!important;}
@media(max-width:600px){body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts .sgm-single-recipe__fact{padding:12px!important;}}
@media(max-width:360px){body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts{grid-template-columns:minmax(0,1fr);}}
@media print{.sgm-fact-sizes:not([open])>strong{display:block!important;}.sgm-fact-sizes summary{display:none;}}

/* Equal fact-card rhythm, including the expandable size control. */
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts{align-items:stretch;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts .sgm-single-recipe__fact{grid-template-rows:24px minmax(44px,auto);align-content:start;justify-items:stretch;min-height:106px;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts :is(.sgm-single-recipe__fact-label,.sgm-single-recipe__fact-value){text-align:left!important;justify-self:stretch;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__facts .sgm-single-recipe__fact-value{display:flex;align-items:center;min-height:44px;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-fact-sizes{margin:0;padding:0;border:0;background:none;box-shadow:none;text-align:left;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-fact-sizes>summary{display:list-item;list-style-position:inside;min-height:44px;padding:10px 0;margin:0;border:0!important;background:none!important;box-shadow:none!important;text-align:left!important;font-size:16px!important;font-weight:600;line-height:24px;color:#355b45;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-fact-sizes>summary:not(:focus-visible){outline:none!important;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-fact-sizes>summary:focus-visible{outline:2px solid #355b45!important;outline-offset:2px;}

/* Recipe introduction: calmer hierarchy and compact gallery navigation. */
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__hero{gap:16px 32px;align-items:start;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__intro{min-width:0;padding:0;display:flex;flex-direction:column;gap:16px;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__title{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.15;overflow-wrap:anywhere;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__author{margin:0;padding:12px 16px;border:0!important;border-radius:10px;background:#edf2eb!important;box-shadow:none;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-name{font-size:16px;color:#355b45;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-meta-link{display:inline-block;font-size:14px;padding:6px 0;color:#355b45;text-decoration:underline;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions{display:flex;flex-wrap:wrap;gap:10px;margin:0;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a{min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;box-sizing:border-box;margin:0;font-size:16px;line-height:1.4;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__action-help{margin:-6px 0 0;font-size:14px;line-height:1.5;color:#536354;}
body.sgm-ui .sgm-widget.sgm-single-recipe :is(.sgm-single-recipe__hero-intro,.sgm-single-recipe__excerpt){margin:0;font-size:17px;line-height:1.75;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__hero-intro p{margin:0 0 12px;}
html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__media,html body.single-sg_recipe main .elementor .sgm-widget.sgm-single-recipe .sgm-single-recipe__media{border-radius:16px!important;box-shadow:none;}
html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__main-image,html body.single-sg_recipe main .elementor .sgm-widget.sgm-single-recipe .sgm-single-recipe__main-image{width:100%!important;height:auto!important;max-height:560px;aspect-ratio:auto!important;object-fit:contain!important;border-radius:16px!important;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin:0;}
html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnail,html body.single-sg_recipe main .elementor .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnail{width:64px!important;height:64px!important;min-width:64px!important;max-width:64px!important;border-color:transparent!important;box-shadow:none;}
html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnail.is-active{border-color:#355b45!important;}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnail:focus-visible{outline:2px solid #355b45;outline-offset:3px;}
@media(max-width:600px){body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__hero{gap:14px;}body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a:first-child{grid-column:1/-1;}body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-meta-link{min-height:44px;box-sizing:border-box;padding:12px 0;}}

/* Mobile hero: keep the project visible without pushing all actions below it. */
@media(max-width:600px){
 html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__media,
 html body.single-sg_recipe main .elementor .sgm-widget.sgm-single-recipe .sgm-single-recipe__media{min-height:0!important;height:auto!important;background:#edf2eb;}
 html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__main-image,
 html body.single-sg_recipe main .elementor .sgm-widget.sgm-single-recipe .sgm-single-recipe__main-image{max-height:min(320px,42svh)!important;min-height:0!important;object-fit:contain!important;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__hero{gap:10px;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__intro{gap:12px;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__hero-thumbnails{min-width:0;max-width:100%;margin:0;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnails{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:4px;max-width:100%;box-sizing:border-box;}
 html body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnail,
 html body.single-sg_recipe main .elementor .sgm-widget.sgm-single-recipe .sgm-single-recipe__thumbnail{width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions{gap:8px;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a{padding:10px 12px;min-width:0;white-space:normal;text-align:center;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a:first-child{grid-column:auto;}
 body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a:not(.sgm-single-recipe__secondary-action){grid-column:1/-1;}
}
body.sgm-ui .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a{min-height:48px!important;height:auto!important;}

/* Mobile hero owns its text rhythm even inside an Elementor template. */
@media(max-width:600px){
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__intro{display:flex!important;flex-direction:column!important;gap:14px!important;align-items:stretch!important;text-align:left!important;padding:0!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__title{margin:0!important;text-align:left!important;font-size:28px!important;line-height:1.2!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0!important;height:auto!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__actions>a{position:static!important;transform:none!important;margin:0!important;min-height:48px!important;height:auto!important;font-size:16px!important;line-height:1.4!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__action-help{display:block!important;position:static!important;margin:0!important;padding:0!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;text-align:left!important;color:#536354!important;}
 html body .sgm-widget.sgm-single-recipe :is(.sgm-single-recipe__hero-intro,.sgm-single-recipe__excerpt),
 html body .sgm-widget.sgm-single-recipe :is(.sgm-single-recipe__hero-intro,.sgm-single-recipe__excerpt) p{margin:0!important;padding:0!important;font-size:17px!important;font-weight:400!important;line-height:1.65!important;text-align:left!important;hyphens:none!important;word-break:normal!important;overflow-wrap:break-word!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author{margin:0!important;padding:12px 14px!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-copy{display:flex;flex-direction:column;gap:4px;text-align:left!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-label{margin:0!important;text-align:left!important;font-size:12px!important;letter-spacing:.06em!important;}
 html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-name{font-size:16px!important;line-height:1.5!important;}
}

/* Designer credit: a single left edge, independent of inherited Elementor alignment. */
html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:12px!important;padding:14px 16px!important;min-height:0!important;height:auto!important;}
html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:2px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;flex:1;}
html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-line{display:block!important;width:100%!important;margin:0!important;padding:0!important;text-align:left!important;min-height:0!important;}
html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-label{display:block!important;align-self:flex-start!important;margin:0!important;padding:0!important;text-align:left!important;font-size:12px!important;line-height:1.5!important;letter-spacing:.04em!important;}
html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-name{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;min-height:44px;max-width:100%;margin:0!important;padding:0!important;text-align:left!important;font-size:17px!important;line-height:1.4!important;overflow-wrap:anywhere;}
html body .sgm-widget.sgm-single-recipe .sgm-single-recipe__author-meta-link{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;align-self:flex-start!important;min-height:44px!important;margin:0!important;padding:0!important;font-size:15px!important;line-height:1.4!important;text-align:left!important;overflow-wrap:anywhere;}

/* Publication age, shared by recipe search and inspiration cards. */
.sgm-card--recipe .sgm-card__media{position:relative;}
html body .sgm-card--recipe .sgm-card__media .sgm-recipe-age{position:absolute;z-index:2;top:10px;right:10px;max-width:calc(100% - 20px);padding:6px 10px;border:0;border-radius:7px;background:#355b45;color:#fff;font:600 13px/1.4 var(--sg-ui-font, sans-serif);text-align:center;box-sizing:border-box;pointer-events:none;box-shadow:0 1px 4px #0002;}
html body .sgm-card--recipe .sgm-card__media .sgm-recipe-age[hidden]{display:none;}
.sgm-forum-comment__avatar-image{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;}
.sgm-forum-comment__avatar-placeholder{display:block;width:100%;height:100%;min-height:40px;border-radius:50%;background:#e3ebe0;}

/* Shared personal avatars. Cover images and shop logos are deliberately excluded. */
html body :is(.sgm-account__avatar,.sgm-profile__avatar,.sgm-member-avatar,.sgm-forum-topic-single__avatar-image,.sgm-forum-comment__avatar-image,.sgm-single-recipe__maker-avatar,.sgm-avatar-initial){border-radius:50%!important;border:1px solid #e7cdb3!important;box-sizing:border-box!important;object-fit:cover!important;aspect-ratio:1!important;flex-shrink:0!important;overflow:hidden!important;box-shadow:0 1px 3px #49331c0d;}
html body :is(.sgm-avatar-initial,.sgm-account__avatar--placeholder){display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:#f1e8dc!important;color:#355b45!important;font-family:inherit;font-weight:500;line-height:1!important;padding:0!important;}
html body .sgm-account__avatar{width:40px!important;height:40px!important;min-width:40px!important;}
html body :is(.sgm-profile__avatar,.sgm-profile-initial,.sgm-member-avatar){width:64px!important;height:64px!important;min-width:64px!important;font-size:28px;}
html body :is(.sgm-forum-comment__avatar-placeholder,.sgm-forum-topic-single__avatar-placeholder){width:100%;height:100%;min-height:0;font-size:22px;}
html body .sgm-single-recipe__maker-avatar-placeholder{width:100%;height:100%;font-size:20px;}
html body .sgm-single-recipe__maker-avatar>img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
html body :is(.sgm-profile__avatar,.sgm-avatar-initial)[hidden],html body [data-sgm-profile-initial][hidden]{display:none!important;}
html body .sgm-global-auth--promoted .sgm-account__avatar--placeholder{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#f1e8dc!important;color:#355b45!important;border-color:#e7cdb3!important;}
html body .sgm-single-recipe__maker-avatar>.sgm-avatar-initial{border:0!important;box-shadow:none;}

/* Soft gradient for initials only; uploaded photos keep their original colours. */
html body .sgm-widget .sgm-avatar-initial,
html body .sgm-avatar-initial,
html body .sgm-account__avatar--placeholder,
html body .sgm-global-auth--promoted .sgm-account__avatar--placeholder{
 background:linear-gradient(135deg,#fff6e8 0%,#eee7db 45%,#dce8dc 100%)!important;
 color:#355b45!important;border-color:#dfc7ac!important;
 font-weight:600!important;text-shadow:none!important;
}

/* Uploaded transparent avatars need contrast too. Opaque photos cover this background. */
html body :is(img.sgm-account__avatar,img.sgm-profile__avatar,img.sgm-member-avatar,img.sgm-forum-topic-single__avatar-image,img.sgm-forum-comment__avatar-image,.sgm-single-recipe__maker-avatar>img),
html body .sgm-global-auth--promoted img.sgm-account__avatar{
 background:linear-gradient(135deg,#416b52 0%,#294d39 55%,#193b2b 100%)!important;
}
.sgm-members__own-status{padding:16px;margin:16px 0;background:#edf2eb;border-radius:10px;color:#283c30;}
.sgm-members__own-status p{margin:0 0 10px;line-height:1.6;}
.sgm-members__own-status>a{display:inline-block;min-height:44px;padding:10px 12px 10px 0;box-sizing:border-box;color:#355b45;text-decoration:underline;}

/* Member card avatar straddles the lower edge of its cover. */
html body .sgm-members__card>.sgm-members__cover+.sgm-member-avatar{
 position:relative;z-index:1;margin-top:-44px!important;
 box-shadow:0 0 0 4px #fffefa!important;
}
html body .sgm-members__card:hover>.sgm-members__cover+.sgm-member-avatar{box-shadow:0 0 0 4px #edf2ec!important;}

/* The recipe guide belongs to the same wrapping row as the category links. */
body .sgm-search-hero .sgm-search-hero__chips {display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;}
body .sgm-search-hero .sgm-search-hero__chips > .sgm-craft-guide {flex:0 1 auto!important;width:auto!important;margin:0!important;min-height:40px;padding:8px 12px;font-size:14px!important;line-height:1.4;max-width:100%;}

body .sgm-search-hero:not(.is-search-engaged):not(.is-search-focused) .sgm-search-hero__chips {max-height:none;overflow:visible;}
