/* SFM Pro theme (2026-11-07): the look of the Find Filmmakers directory, applied to the whole Network.
   Layered on Harmony (keeps upgrades safe). Loaded by application/themes/harmony/head.tpl. */

/* ---------- Tokens: light ---------- */
html.sfm-pro, html.sfm-pro.light_mode, html.sfm-pro.dark_mode {
  --sp-bg:#f4f5f7; --sp-card:#fff; --sp-ink:#1c1f24; --sp-muted:#626b77; --sp-line:#e3e6ea;
  --sp-accent:#cb2026; --sp-accent-ink:#fff; --sp-chip:#eef1f5; --sp-head:#ffffff; --sp-foot:#1c1f24; --sp-foot-ink:#c9ced6;
  --harmony-header-background-color:var(--sp-head);
  --harmony-mainmenu-background-color:var(--sp-head);
  --harmony-mainmenu-links-color:var(--sp-ink);
  --harmony-mainmenu-links-hover-color:var(--sp-accent);
  --harmony-minimenu-search-background-color:var(--sp-chip);
  --harmony-minimenu-search-font-color:var(--sp-ink);
  --harmony-footer-background-color:var(--sp-foot);
  --harmony-footer-font-color:var(--sp-foot-ink);
  --harmony-footer-links-color:var(--sp-foot-ink);
  --harmony-footer-border-color:var(--sp-foot);
  --harmony-theme-color:var(--sp-accent);
  --harmony-body-background-color:var(--sp-bg);
  --harmony-font-color:var(--sp-ink);
  --harmony-font-color-light:var(--sp-muted);
  --harmony-links-color:var(--sp-accent);
  --harmony-links-hover-color:var(--sp-accent);
  --harmony-headline-color:var(--sp-ink);
  --harmony-border-color:var(--sp-line);
  --harmony-box-background-color:var(--sp-card);
  --harmony-box-background-color-alt:var(--sp-chip);
  --harmony-input-background-color:var(--sp-card);
  --harmony-input-font-color:var(--sp-ink);
  --harmony-input-border-color:var(--sp-line);
  --harmony-button-background-color:var(--sp-accent);
  --harmony-button-background-color-hover:#a81a20;
  --harmony-button-font-color:#fff;
  --harmony-button-border-color:var(--sp-accent);
  --harmony-button-font-color-hover:#fff;
  --harmony-button-border-color-hover:#a81a20;
  --harmony-secondary-button-background-color:var(--sp-chip);
  --harmony-secondary-button-background-color-hover:var(--sp-line);
  --harmony-secondary-button-font-color:var(--sp-ink);
  --harmony-secondary-button-font-color-hover:var(--sp-ink);
  --harmony-secondary-button-border-color:var(--sp-line);
  --harmony-secondary-button-border-color-hover:var(--sp-line);
  --harmony-comments-background-color:var(--sp-bg);
  --themewidget-radius:10px;
  color-scheme:light;
}

/* ---------- Tokens: dark (follows the device) ---------- */
@media (prefers-color-scheme: dark) {
  html.sfm-pro, html.sfm-pro.light_mode, html.sfm-pro.dark_mode {
    --sp-bg:#15171a; --sp-card:#1f2226; --sp-ink:#eceef1; --sp-muted:#a0a7b1; --sp-line:#30343a;
    --sp-accent:#cb2026; --sp-chip:#2a2e34; --sp-head:#1b1d21; --sp-foot:#101214; --sp-foot-ink:#a0a7b1;
    --harmony-button-background-color-hover:#e0333a; --harmony-button-border-color-hover:#e0333a;
    color-scheme:dark;
  }
  html.sfm-pro .header_logo { display:none !important; }
  html.sfm-pro .header_logo_contrast { display:block !important; }
  html.sfm-pro img, html.sfm-pro video { color-scheme:normal; }
}

/* ---------- Base ---------- */
html.sfm-pro body {
  background:var(--sp-bg); color:var(--sp-ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
html.sfm-pro h1, html.sfm-pro h2, html.sfm-pro h3 { color:var(--sp-ink); letter-spacing:-.01em; }
html.sfm-pro a { text-decoration-thickness:1px; text-underline-offset:2px; }
html.sfm-pro #global_wrapper { background:var(--sp-bg); }
html.sfm-pro #global_content { max-width:1180px; }

/* Header: clean white bar with a hairline, sticky */
html.sfm-pro .harmony_header {
  background:var(--sp-head); border-bottom:1px solid var(--sp-line); box-shadow:none;
}
html.sfm-pro .harmony_main_menu .harmony_main_menu_nav > li > .menu_core_main { font-weight:600; letter-spacing:.01em; }
html.sfm-pro .harmony_main_menu .harmony_main_menu_nav > li > .menu_core_main::before { background:var(--sp-accent); }
html.sfm-pro .layout_core_search_mini input.global_search_field {
  background:var(--sp-chip); color:var(--sp-ink); border:1px solid transparent; border-radius:999px;
}
html.sfm-pro .layout_core_search_mini input.global_search_field:focus { border-color:var(--sp-accent); background:var(--sp-card); }
html.sfm-pro ul.main_menu_submenu { background:var(--sp-card); border:1px solid var(--sp-line); box-shadow:0 8px 24px rgba(0,0,0,.12); }

/* Boxes / widgets: flat cards with a 1px line, like the directory */
html.sfm-pro #global_wrapper .layout_middle .generic_layout_container,
html.sfm-pro .layout_left > .generic_layout_container,
html.sfm-pro .layout_right > .generic_layout_container {
  background:var(--sp-card); border:1px solid var(--sp-line); border-radius:10px; box-shadow:none;
}
html.sfm-pro .generic_layout_container > h3,
html.sfm-pro .generic_layout_container h3.sep {
  font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--sp-muted); font-weight:700;
  border-bottom:1px solid var(--sp-line);
}

/* Tabs */
html.sfm-pro .tabs_alt > ul > li > a, html.sfm-pro .tabs_alt > ul > li > a:link { color:var(--sp-muted); font-weight:600; }
html.sfm-pro .tabs_alt > ul > li.active > a { color:var(--sp-ink); box-shadow:inset 0 -2px 0 var(--sp-accent); }

/* Forms */
html.sfm-pro input[type=text], html.sfm-pro input[type=email], html.sfm-pro input[type=password], html.sfm-pro input[type=url],
html.sfm-pro input[type=search], html.sfm-pro select, html.sfm-pro textarea {
  background:var(--sp-card); color:var(--sp-ink); border:1px solid var(--sp-line); border-radius:7px;
}
html.sfm-pro input:focus, html.sfm-pro select:focus, html.sfm-pro textarea:focus {
  outline:none; border-color:var(--sp-accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--sp-accent) 18%, transparent);
}
html.sfm-pro button, html.sfm-pro .btn-primary { border-radius:7px; font-weight:600; }

/* Footer: dark band, quiet links */
html.sfm-pro #global_footer, html.sfm-pro .layout_page_footer, html.sfm-pro .layout_harmony_footer {
  background:var(--sp-foot); color:var(--sp-foot-ink); border-top:0;
}
html.sfm-pro .layout_harmony_footer a { color:var(--sp-foot-ink); }
html.sfm-pro .layout_harmony_footer a:hover { color:#fff; }
html.sfm-pro .harmony_footer_logo { display:none; }
html.sfm-pro .harmony_footer_logo_contrast { display:block; }

/* Dark-mode fixes for things the old theme hard-codes */
@media (prefers-color-scheme: dark) {
  html.sfm-pro .bg-white, html.sfm-pro .dropdown-menu, html.sfm-pro .modal-content, html.sfm-pro .popover,
  html.sfm-pro .notifications_menu, html.sfm-pro .core_mini_menu_dropdown, html.sfm-pro .acBox,
  html.sfm-pro .feed_item_body, html.sfm-pro .comments, html.sfm-pro table { background-color:var(--sp-card) !important; color:var(--sp-ink); }
  html.sfm-pro .text-dark, html.sfm-pro .font_color { color:var(--sp-ink) !important; }
  html.sfm-pro .text-muted, html.sfm-pro .font_color_light, html.sfm-pro .timestamp { color:var(--sp-muted) !important; }
  html.sfm-pro hr, html.sfm-pro .border, html.sfm-pro .border-bottom, html.sfm-pro .border-top { border-color:var(--sp-line) !important; }
}

/* ---------- Members page: directory layout ---------- */
html.sfm-pro .sfm-pro-only { display:block !important; }
.sfm-pro-only { display:none; }

/* filters move from the sidebar to a bar on top; results use the full width */
html.sfm-pro #global_page_user-index-browse .layout_main { display:flex; flex-direction:column; gap:14px; }
html.sfm-pro #global_page_user-index-browse .layout_main > .layout_right,
html.sfm-pro #global_page_user-index-browse .layout_main > .layout_middle { width:100% !important; max-width:none !important; float:none !important; margin:0 !important; padding:0 !important; }
html.sfm-pro #global_page_user-index-browse .layout_main > .layout_right { order:-1; position:static !important; }
html.sfm-pro #global_page_user-index-browse #show-sidebar { display:none !important; }
html.sfm-pro #global_page_user-index-browse .layout_user_browse_menu { display:none; }
html.sfm-pro #global_page_user-index-browse .layout_core_content { background:transparent !important; border:0 !important; padding:0 !important; }

html.sfm-pro #global_page_user-index-browse .layout_user_browse_search { padding:14px !important; }
html.sfm-pro #global_page_user-index-browse .layout_user_browse_search > h3 { display:none; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul {
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px 12px; align-items:end;
  max-height:none !important; overflow:visible !important; margin:0; padding:0;
}
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li {
  display:block !important; margin:0 !important; padding:0 !important; border:0 !important; width:auto !important; float:none !important;
}
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li.browse-separator-wrapper { display:none !important; }
/* roles are picked with the chips below (the checkboxes stay in the form, so combined searches still work) */
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li:has(input[name="1_1_189_alias_sfm_roles[]"]) { display:none !important; }
/* "Open to" spans the row as inline toggles */
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li:has(input[name="1_1_194_alias_sfm_open[]"]) { grid-column:1 / -1; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria li:has(input[name="1_1_194_alias_sfm_open[]"]) .form-options-wrapper {
  display:flex !important; flex-wrap:wrap; gap:6px; max-height:none !important; overflow:visible !important; margin:0; padding:0;
}
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria li:has(input[name="1_1_194_alias_sfm_open[]"]) .form-options-wrapper > li {
  margin:0 !important; padding:0 !important; list-style:none;
}
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria label {
  font-size:12px; color:var(--sp-muted); text-transform:uppercase; letter-spacing:.04em; font-weight:600; margin:0 0 4px; display:block;
}
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria .form-options-wrapper label,
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria li:has(input[name="extra[has_photo]"]) label {
  text-transform:none; letter-spacing:0; font-size:13px; color:var(--sp-ink); display:inline; margin:0;
}
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria .form-options-wrapper > li:has(input:checked) label { color:var(--sp-accent); font-weight:600; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria input[type=text],
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria select { width:100% !important; padding:9px 10px; background:var(--sp-bg); font-size:14px; }

/* hero */
.sfm-mv2-hero h1 { margin:0 0 4px; font-size:28px; line-height:1.2; color:var(--sp-ink); }
.sfm-mv2-hero p { margin:0; color:var(--sp-muted); font-size:15px; }
.sfm-mv2-hero p a { color:var(--sp-accent); font-weight:600; }
html.sfm-pro .layout_core_html_block:has(.sfm-mv2-hero) { background:transparent !important; border:0 !important; padding:6px 0 0 !important; }

/* chips */
.sfm-mv2-chips { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; }
.sfm-mv2-chips a { background:var(--sp-chip); color:var(--sp-ink); text-decoration:none; padding:5px 11px; border-radius:999px; font-size:13px; line-height:1.4; border:1px solid transparent; }
.sfm-mv2-chips a span { color:var(--sp-muted); font-size:12px; margin-left:2px; }
.sfm-mv2-chips a:hover { border-color:var(--sp-accent); }
.sfm-mv2-chips a.on { background:var(--sp-accent); color:#fff; }
.sfm-mv2-chips a.on span { color:rgba(255,255,255,.8); }

/* results */
.sfm-mv2-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 10px; }
.sfm-mv2-head h2 { margin:0; font-size:18px; color:var(--sp-ink); }
.sfm-mv2-head span { color:var(--sp-muted); font-size:13px; }
.sfm-mv2-empty { background:var(--sp-card); border:1px solid var(--sp-line); border-radius:10px; padding:18px; color:var(--sp-muted); }
.sfm-mv2-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.sfm-mv2-card { background:var(--sp-card); border:1px solid var(--sp-line); border-radius:10px; padding:12px; display:flex; gap:12px; min-width:0; transition:border-color .15s, transform .15s; }
.sfm-mv2-card:hover { border-color:color-mix(in srgb, var(--sp-accent) 55%, var(--sp-line)); transform:translateY(-1px); }
.sfm-mv2-photo { flex:none; width:64px; height:64px; border-radius:50%; overflow:hidden; background:var(--sp-chip); display:flex; align-items:center; justify-content:center; text-decoration:none; }
.sfm-mv2-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.sfm-mv2-photo span { font-size:24px; font-weight:700; color:var(--sp-muted); }
.sfm-mv2-body { min-width:0; flex:1; }
.sfm-mv2-name { display:block; font-weight:650; font-size:15px; color:var(--sp-ink) !important; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sfm-mv2-name:hover { color:var(--sp-accent) !important; }
.sfm-mv2-roles { font-size:13px; color:var(--sp-ink); margin-top:1px; }
.sfm-mv2-loc { font-size:13px; color:var(--sp-muted); margin-top:1px; }
.sfm-mv2-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }
.sfm-mv2-tags > * { font-size:11px; line-height:1.5; padding:1px 7px; border-radius:999px; background:var(--sp-chip); color:var(--sp-muted); text-decoration:none; }
.sfm-mv2-tags .t-open { background:color-mix(in srgb, #1a9b5b 14%, transparent); color:#147a48; }
.sfm-mv2-tags a.t-link { border:1px solid var(--sp-line); background:transparent; color:var(--sp-ink); font-weight:600; }
.sfm-mv2-tags a.t-link:hover { border-color:var(--sp-accent); color:var(--sp-accent); }
@media (prefers-color-scheme: dark) { .sfm-mv2-tags .t-open { color:#5fd49a; } }
.sfm-mv2-actions { margin-top:8px; font-size:12px; }
.sfm-mv2-actions a, .sfm-mv2-actions button { font-size:12px !important; padding:3px 10px !important; border-radius:999px !important; }
html.sfm-pro #global_page_user-index-browse .browsemembers_viewmore { margin-top:16px; }
@media (max-width:600px) {
  .sfm-mv2-hero h1 { font-size:22px; }
  .sfm-mv2-grid { grid-template-columns:1fr; }
}

/* v2 tweaks: hero above the filters, compact uniform inputs */
html.sfm-pro #global_page_user-index-browse .layout_main > .sfm-mv2-hero { order:-2; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria input[type=text],
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria select { height:38px !important; padding:7px 10px !important; line-height:1.3; box-sizing:border-box; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria select { padding-right:26px !important; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li > span { display:block; min-height:0; margin:0; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria li .form-options-wrapper { border:0 !important; background:none !important; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li:has(input[name="extra[has_photo]"]) { align-self:center; }
html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul > li:has(button) button,
html.sfm-pro #global_page_user-index-browse .field_search_criteria #extra-done { height:38px; padding:0 22px; width:100%; }

/* v3: gutters + phone layout */
html.sfm-pro #global_page_user-index-browse #global_content { padding-left:16px !important; padding-right:16px !important; box-sizing:border-box; }
@media (max-width:767px) {
  html.sfm-pro #global_page_user-index-browse .browsemembers_criteria > ul { grid-template-columns:1fr 1fr; gap:8px 10px; }
  html.sfm-pro #global_page_user-index-browse .browsemembers_criteria label { font-size:11px; }
  html.sfm-pro #global_page_user-index-browse .browsemembers_criteria input[type=text],
  html.sfm-pro #global_page_user-index-browse .browsemembers_criteria select { height:36px !important; font-size:14px; }
  html.sfm-pro #global_page_user-index-browse .layout_user_browse_search { padding:12px !important; }
  .sfm-mv2-chips { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .sfm-mv2-chips a { white-space:nowrap; }
}

/* v4: dark-mode leftovers (header search, photo placeholders, SFM footer) */
@media (prefers-color-scheme: dark) {
  html.sfm-pro .layout_core_search_mini .core_search_form_wrap,
  html.sfm-pro .layout_core_search_mini form,
  html.sfm-pro .layout_core_search_mini input.global_search_field { background:var(--sp-chip) !important; color:var(--sp-ink) !important; border-color:var(--sp-line) !important; }
  html.sfm-pro .layout_core_search_mini input.global_search_field::placeholder { color:var(--sp-muted); }
  html.sfm-pro .bg_item_photo { background-color:var(--sp-chip) !important; }
  html.sfm-pro footer.sfnf { background:var(--sp-foot) !important; color:var(--sp-foot-ink) !important; border-color:var(--sp-line) !important; }
  html.sfm-pro footer.sfnf * { border-color:var(--sp-line) !important; }
  html.sfm-pro footer.sfnf a { color:var(--sp-foot-ink) !important; }
  html.sfm-pro footer.sfnf h2, html.sfm-pro footer.sfnf h3, html.sfm-pro footer.sfnf h4, html.sfm-pro footer.sfnf strong { color:var(--sp-ink) !important; }
  html.sfm-pro .sfnf-cta, html.sfm-pro .sfnf-card, html.sfm-pro .sfnf-btn.ghost { background:var(--sp-card) !important; color:var(--sp-ink) !important; }
}

/* v5: logo red (#cb2026) everywhere; brighter red for small text on dark */
@media (prefers-color-scheme: dark) { html.sfm-pro .sfnf-card em, html.sfm-pro footer.sfnf a:hover { color:#e0333a !important; } }

/* v6: red buttons always have white text */
html.sfm-pro .sfnf-btn.red, html.sfm-pro .sfnf-btn.red:hover, html.sfm-pro .sfnf-btn.red svg { color:#fff !important; fill:#fff !important; }
