/*
Theme Name: SPMA
Theme URI: https://sportmanagementhub.com/
Author: Sport Management Hub
Description: Lightweight application-first theme for Sport Management Hub and Sports Hired. Designed to stay out of the way of plugin-rendered pages, shortcodes, forms, jobs, resources, and management interfaces.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: spma
*/

:root {
  --spma-content-width: 1200px;
  --spma-text: #17212b;
  --spma-muted: #5f6b76;
  --spma-border: #e4e8ec;
  --spma-bg: #ffffff;
  --spma-link: #066e99;
  --spma-link-hover: #044f70;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--spma-bg);
  color: var(--spma-text);
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--spma-link);
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}

a:hover,
a:focus-visible {
  color: var(--spma-link-hover);
}

img,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  cursor: pointer;
}

:focus-visible {
  outline: 3px solid rgba(6, 110, 153, .28);
  outline-offset: 2px;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  clip: auto !important;
  width: auto;
  height: auto;
  margin: 0;
  padding: 12px 16px;
  top: 8px;
  left: 8px;
  z-index: 100000;
  background: #fff;
  color: #111;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.spma-theme-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.spma-theme-main {
  flex: 1 0 auto;
  width: 100%;
}

/* Standard content wrapper. Plugin/application pages are intentionally not forced into it. */
.spma-content {
  width: min(100% - 32px, var(--spma-content-width));
  margin-inline: auto;
  padding-block: 48px;
}

.spma-entry-header {
  margin-bottom: 28px;
}

.spma-entry-title {
  margin: 0;
  line-height: 1.15;
}

.spma-entry-content > :first-child {
  margin-top: 0;
}

.spma-entry-content > :last-child {
  margin-bottom: 0;
}

/* Minimal site header. Can be hidden/replaced later by a plugin or custom component. */
.spma-theme-fallback-header {
  position: relative;
  z-index: 50;
  border-bottom: 1px solid var(--spma-border);
  background: #fff;
}

.spma-theme-fallback-header-inner {
  width: min(100% - 32px, var(--spma-content-width));
  margin-inline: auto;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.spma-theme-fallback-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}

.spma-theme-fallback-brand .custom-logo-link {
  display: inline-flex;
}

.spma-theme-fallback-brand img,
.custom-logo {
  max-height: 48px;
  width: auto;
}

.spma-theme-fallback-title {
  color: inherit;
  font-size: 1.05rem;
  font-weight: 700;
}

.spma-theme-fallback-nav ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.spma-theme-fallback-nav a {
  color: var(--spma-text);
  text-decoration: none;
  font-weight: 600;
}

.spma-theme-fallback-nav a:hover,
.spma-theme-fallback-nav a:focus-visible,
.spma-theme-fallback-nav .current-menu-item > a {
  color: var(--spma-link);
}

.spma-theme-fallback-footer {
  flex: 0 0 auto;
  margin-top: auto;
  border-top: 1px solid var(--spma-border);
  background: #fff;
}

.spma-theme-fallback-footer-inner {
  width: min(100% - 32px, var(--spma-content-width));
  margin-inline: auto;
  padding-block: 28px;
  color: var(--spma-muted);
  font-size: .925rem;
}

/* WordPress core alignment support */
.alignwide {
  width: min(100%, 1400px);
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Do not impose generic theme margins on app/plugin output. */
body.spma-app-layout .spma-theme-main,
body.spma-fullwidth-layout .spma-theme-main {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 900px) {
  .spma-theme-fallback-header-inner {
    min-height: 64px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-block: 12px;
  }

  .spma-theme-fallback-nav ul {
    gap: 14px 18px;
  }

  .spma-content {
    padding-block: 32px;
  }
}


/* v1.1.0: global chrome is owned by SPMA Responsive Header + Footer when active.
 * Theme fallback chrome uses unique class names so it cannot restyle the plugin header/footer. */
body.spma-rhf-independent-chrome .spma-theme-fallback-header,
body.spma-rhf-independent-chrome .spma-theme-fallback-footer{display:none!important}


/* =========================================================
   SPMA SITE-WIDE CUSTOM STYLES
   Consolidated from legacy/global custom CSS.
   ========================================================= */
a.city-name-only, a.province-name-only { color: var(--sh-green-dark); }
.sh-job-apply-card > .sh-muted { position:relative;display:block;width:100%;margin-top:14px;padding:11px 12px 11px 34px;background:#F7F9F8;border:1px solid #E6E9E7;border-radius:10px;color:#5E6862;font-family:"Roboto",sans-serif;font-size:11.5px;font-weight:500;line-height:1.45;box-sizing:border-box;transition:border-color .18s ease,background-color .18s ease; }
.sh-job-apply-card > .sh-muted::before { content:"\f05a";position:absolute;top:12px;left:12px;font-family:"Font Awesome 6 Free";font-weight:900;font-size:13px;line-height:1;color:#006837; }
.sh-job-apply-card > .sh-muted:hover { background:#F2F7F4;border-color:#CFDDD5; }
a.sh-company-name.sh-company-name-link { line-height:1em; }
span.spma-brand-copy strong, span.spma-brand-copy { font-weight:900;line-height:1em!important;margin:0; }
.spma-brand-copy span { margin-top:0;font-size:32px; }
h2#spma-single-jobs-title { color:#fff!important; }
@media (max-width:767px) { :is(.sh-job-results-wrap,.sh-job-card-mobile-standard) .sh-job-card .sh-meta>span, :is(.sh-job-results-wrap,.sh-job-card-mobile-standard) .sh-job-card .sh-meta>a { gap:0!important; } }
section.spma-ugc-industry-card input { padding-left:12px!important; }
#page-container .spma-ugc-community-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
.spma-rich-surface ul { font-weight:300;font-size:18px; }
.spma-public-sports-hired-shell ul,.spma-public-sports-hired-shell ol { margin:18px 0 28px;padding:0!important;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit; }
.spma-public-sports-hired-shell ul { list-style:none!important;font-weight:300; }
.spma-public-sports-hired-shell ul>li { position:relative;display:block!important;margin:0;padding:14px 16px 14px 36px;border-bottom:1px solid rgba(16,55,42,.09);font-family:inherit;font-size:inherit;line-height:1.65;color:inherit;transition:background-color .18s ease,padding-left .18s ease; }
.spma-public-sports-hired-shell ul>li:first-child { border-top:1px solid rgba(16,55,42,.09); }
.spma-public-sports-hired-shell ul>li::before { content:"";position:absolute;left:12px;top:1.35em;width:7px;height:7px;border:2px solid #0b7446;border-radius:50%;background:#fff;transform:translateY(-50%);transition:background-color .18s ease,transform .18s ease; }
.spma-public-sports-hired-shell ul>li:hover { background:rgba(11,116,70,.035);padding-left:40px; }
.spma-public-sports-hired-shell ul>li:hover::before { background:#0b7446;transform:translateY(-50%) scale(1.05); }
.spma-public-sports-hired-shell ol { counter-reset:spma-job-list;list-style:none!important; }
.spma-public-sports-hired-shell ol>li { counter-increment:spma-job-list;position:relative;margin:0;padding:14px 16px 14px 46px;border-bottom:1px solid rgba(16,55,42,.09);line-height:1.65;transition:background-color .18s ease; }
.spma-public-sports-hired-shell ol>li:first-child { border-top:1px solid rgba(16,55,42,.09); }
.spma-public-sports-hired-shell ol>li::before { content:counter(spma-job-list);position:absolute;left:10px;top:12px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(11,116,70,.3);border-radius:50%;color:#0b7446;font-size:12px;font-weight:700;line-height:1; }
.spma-public-sports-hired-shell ol>li:hover { background:rgba(11,116,70,.035); }
.spma-public-sports-hired-shell li ul,.spma-public-sports-hired-shell li ol { margin:10px 0 2px; }
.spma-public-sports-hired-shell li span { font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important; }
.spma-public-sports-hired-shell li strong,.spma-public-sports-hired-shell li b { font-weight:600; }
@media (max-width:767px) { .spma-public-sports-hired-shell ul>li { padding:12px 8px 12px 30px; } .spma-public-sports-hired-shell ul>li:hover { padding-left:30px; } .spma-public-sports-hired-shell ul>li::before { left:8px; } .spma-public-sports-hired-shell ol>li { padding:12px 8px 12px 42px; } }
@media (prefers-reduced-motion:reduce) { .spma-public-sports-hired-shell ul>li,.spma-public-sports-hired-shell ul>li::before,.spma-public-sports-hired-shell ol>li { transition:none; } }
.spma-single-prose { font-weight:300;font-size:18px;line-height:1.75em!important; }
.spma-jobs-showcase__container a.showcatego { font-size:10px!important;padding:0 9px!important; }
span.spma-jobs-card__foot-meta { font-size:11px;font-weight:300; }
main p { font-weight:300;font-size:18px; }
.showcatego { vertical-align:middle;display:inline-flex;background:#f3f2f1;border-radius:.25rem;align-items:center;font-size:.875rem!important;font-weight:700!important;line-height:1.3125rem!important;color:#595959!important;padding:.1875rem .5rem!important; }
body #page-container .spma-public-sports-hired-shell>.sh-public-app { width:100%!important;margin-left:auto!important;margin-right:auto!important; }
body:has(.sh-company-edit-modal:not([hidden])) header .et_builder_inner_content { z-index:1!important; }
body .sh-schedule-modal, body .sh-company-edit-modal { width:100%!important; }
body section.sh-dashboard-head { max-width:100%!important;width:100%!important; }
