:root {
  --sdf-bg: #F6F4F2;
  --sdf-surface: #FFFFFF;
  --sdf-surface-soft: #F0ECE8;
  --sdf-dark: #181616;
  --sdf-dark-soft: #242020;
  --sdf-text: #242020;
  --sdf-muted: #706A66;
  --sdf-border: #DDD6D0;
  --sdf-primary: #7A2433;
  --sdf-primary-hover: #651D2B;
  --sdf-gold: #B58E58;
  --sdf-success: #35634A;
  --sdf-radius: 14px;
  --sdf-shadow: 0 10px 30px rgba(36, 32, 32, .08);
}

body {
  background: var(--sdf-bg);
  color: var(--sdf-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

a { color: var(--sdf-primary); }
a:hover { color: var(--sdf-primary-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--sdf-gold);
  outline-offset: 3px;
}

/* Native WordPress blocks used by the home page and template parts. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.sdf-eyebrow { color: var(--sdf-primary); font-size: .76rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.sdf-section-title { color: var(--sdf-dark); font-size: clamp(1.7rem, 3vw, 2.55rem); letter-spacing: -.035em; }
.sdf-lead { color: var(--sdf-muted); font-size: 1.08rem; line-height: 1.7; }
.sdf-card, .sdf-panel {
  height: 100%; box-sizing: border-box; padding: 1.45rem;
  background: var(--sdf-surface); border: 1px solid var(--sdf-border);
  border-radius: var(--sdf-radius); box-shadow: 0 1px 1px rgba(36, 32, 32, .02);
}
.sdf-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.sdf-card:hover { border-color: var(--sdf-gold); box-shadow: var(--sdf-shadow); transform: translateY(-3px); }
.sdf-card h3, .sdf-panel h3 { margin-top: 0; color: var(--sdf-dark); font-size: 1.12rem; }
.sdf-card p, .sdf-panel p { color: var(--sdf-muted); line-height: 1.65; }
.sdf-hero { background: var(--sdf-surface-soft); }
.sdf-hero h1 { color: var(--sdf-dark); font-size: clamp(2.8rem, 7vw, 5.4rem); letter-spacing: -.065em; line-height: .96; }
.sdf-hero .wp-block-button__link { border-radius: 8px; font-weight: 700; padding: .8rem 1.12rem; }
.sdf-hero .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--sdf-primary); color: var(--sdf-primary); }
.sdf-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--sdf-primary); color: #fff; }
.sdf-trust { color: var(--sdf-muted); font-size: .9rem; }
.sdf-empty { border: 1px dashed var(--sdf-border); border-radius: var(--sdf-radius); background: var(--sdf-surface); color: var(--sdf-muted); text-align: center; }
.sdf-dark-section { background: var(--sdf-dark); color: #fff; }
.sdf-dark-section h2, .sdf-dark-section h3 { color: #fff; }
.sdf-dark-section p { color: #D8D0CC; }

/* wpForo visual layer: no wpForo markup or behaviour is changed. */
#wpforo-wrap { color: var(--sdf-text); font-family: inherit; }
#wpforo-wrap .wpforo-category, #wpforo-wrap .wpforo-forum, #wpforo-wrap .wpforo-post,
#wpforo-wrap .wpforo-topic, #wpforo-wrap .wpforo-forum-wrap, #wpforo-wrap .wpf-forum-head,
#wpforo-wrap .wpf-topic-head, #wpforo-wrap .wpf-post-head {
  border-color: var(--sdf-border);
}
#wpforo-wrap .wpforo-category, #wpforo-wrap .wpf-forum-head, #wpforo-wrap .wpf-topic-head {
  background: var(--sdf-dark); color: #fff;
}
#wpforo-wrap .wpforo-category a, #wpforo-wrap .wpf-forum-head a, #wpforo-wrap .wpf-topic-head a { color: #fff; }
#wpforo-wrap .wpforo-forum, #wpforo-wrap .wpforo-post, #wpforo-wrap .wpforo-topic {
  background: var(--sdf-surface); border-radius: 8px;
}
#wpforo-wrap .wpforo-forum:hover, #wpforo-wrap .wpforo-topic:hover { background: #FFFCFA; }
#wpforo-wrap a, #wpforo-wrap .wpforo-forum-title { color: var(--sdf-primary); }
#wpforo-wrap a:hover, #wpforo-wrap .wpforo-forum-title:hover { color: var(--sdf-primary-hover); }
#wpforo-wrap .wpf-button, #wpforo-wrap input[type="submit"], #wpforo-wrap button,
#wpforo-wrap .wpforo-post-create-link { background: var(--sdf-primary); border-color: var(--sdf-primary); color: #fff; border-radius: 7px; }
#wpforo-wrap .wpf-button:hover, #wpforo-wrap input[type="submit"]:hover, #wpforo-wrap button:hover,
#wpforo-wrap .wpforo-post-create-link:hover { background: var(--sdf-primary-hover); border-color: var(--sdf-primary-hover); color: #fff; }
#wpforo-wrap input[type="text"], #wpforo-wrap input[type="password"], #wpforo-wrap input[type="email"],
#wpforo-wrap textarea, #wpforo-wrap select { background: #fff; border-color: var(--sdf-border); border-radius: 7px; color: var(--sdf-text); }
#wpforo-wrap .wpforo-post-content, #wpforo-wrap .wpforo-post .wpf-post-content { line-height: 1.7; }
#wpforo-wrap .wpforo-post .wpf-post-author, #wpforo-wrap .wpforo-post .wpforo-post-left { background: var(--sdf-surface-soft); }
#wpforo-wrap .wpforo-profile-wrap, #wpforo-wrap .wpforo-login-wrap { background: var(--sdf-surface); border: 1px solid var(--sdf-border); border-radius: var(--sdf-radius); }

@media (max-width: 781px) {
  .sdf-hero h1 { font-size: clamp(2.55rem, 14vw, 4.2rem); }
  .sdf-card, .sdf-panel { padding: 1.2rem; }
  #wpforo-wrap .wpforo-post .wpforo-post-left, #wpforo-wrap .wpforo-post .wpf-post-author { border-bottom: 1px solid var(--sdf-border); }
}


/* Homepage layout and the project visual language. */
.sdf-home { background: var(--sdf-bg); }
.sdf-home .sdf-section, .sdf-home .sdf-hero-inner { box-sizing: border-box; max-width: 1240px; margin-inline: auto; padding: clamp(2.5rem, 6vw, 5.5rem) 1rem; }
.sdf-home .sdf-hero { background: var(--sdf-dark); border-bottom: 3px solid var(--sdf-primary); color: #fff; }
.sdf-home .sdf-hero h1 { color: #fff; font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif; }
.sdf-home .sdf-hero .sdf-lead { color: #E5DEDA; max-width: 44rem; }
.sdf-home .sdf-hero .sdf-eyebrow { color: #D7B783; }
.sdf-home .sdf-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.8rem; }
.sdf-home .sdf-actions .wp-block-button__link, .sdf-home .wp-block-button__link { display: inline-flex; min-height: 44px; align-items: center; box-sizing: border-box; background: var(--sdf-primary); color: #fff; border: 1px solid var(--sdf-primary); border-radius: 8px; font-weight: 700; padding: .68rem 1rem; text-decoration: none; }
.sdf-home .sdf-actions .is-outline { background: transparent; border-color: #fff; }
.sdf-home .wp-block-button__link:hover { background: var(--sdf-primary-hover); border-color: var(--sdf-primary-hover); color: #fff; }
.sdf-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1.8rem; }
.sdf-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sdf-card-grid .sdf-card { display: block; color: inherit; text-decoration: none; }
.sdf-card-featured { border-top: 3px solid var(--sdf-primary); }
.sdf-empty { max-width: 1240px; margin: 1rem auto; padding: clamp(2.5rem, 6vw, 4rem) 1rem !important; }
.sdf-home > .sdf-panel { margin-top: 1rem; }
body.page-id-10 .wp-block-post-title { display: none; }
@media (max-width: 1024px) { .sdf-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sdf-home .sdf-section, .sdf-home .sdf-hero-inner { padding-inline: 1rem; } .sdf-card-grid, .sdf-card-grid--three { grid-template-columns: 1fr; } .sdf-actions { align-items: stretch; } .sdf-home .sdf-actions .wp-block-button__link { width: 100%; justify-content: center; } }


/* Header and front-page refinements. */
body.home .wp-block-post-title { display: none; }
.sdf-site-header .wp-block-navigation a { color: #ffffff; }
.sdf-site-header .wp-block-navigation a:hover { color: #D7B783; }
.sdf-site-header .wp-block-button__link { white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }
.sdf-site-header .wp-block-buttons { margin-bottom: 0; }
@media (max-width: 781px) { .sdf-site-header .sdf-wordmark p { line-height: 1.15; } .sdf-site-header .wp-block-button__link { padding-inline: .75rem; } }


/* wpForo: remove the constrained WordPress column only on forum pages. */
body.is_wpforo_page .wp-site-blocks,body.is_wpforo_page main.wp-block-group,body.is_wpforo_page .wp-block-group.alignfull,body.is_wpforo_page .wp-block-post-content{max-width:none!important;width:100%!important;}
body.is_wpforo_page .wp-block-post-content{padding-inline:0!important;}
body.is_wpforo_page #wpforo-wrap,body.is_wpforo_page .wpforo{box-sizing:border-box;width:calc(100% - 48px)!important;max-width:1240px!important;margin:48px auto!important;}
body.is_wpforo_page .wp-block-post-title{display:none!important;}
body.is_wpforo_page .wpforo-sidebar,body.is_wpforo_page .widget-area,body.is_wpforo_page aside.wp-block-sidebar{display:none!important;}
@media(max-width:1024px){body.is_wpforo_page #wpforo-wrap,body.is_wpforo_page .wpforo{width:calc(100% - 32px)!important;margin:32px auto!important;}}
@media(max-width:600px){body.is_wpforo_page #wpforo-wrap,body.is_wpforo_page .wpforo{width:calc(100% - 32px)!important;margin:24px auto!important;}}


/* wpForo only: release the direct Gutenberg content constraint. */
body.is_wpforo_page .is-layout-constrained > #wpforo {
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 1240px !important;
  margin: 32px auto 48px !important;
}
body.is_wpforo_page .is-layout-constrained > #wpforo > #wpforo-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.is_wpforo_page #wpforo .footer-widget-wrap,
body.is_wpforo_page #wpforo .footer-widget-col {
  display: none !important;
}
@media (max-width: 1024px) {
  body.is_wpforo_page .is-layout-constrained > #wpforo {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 24px auto 32px !important;
  }
}
