/* Internal member areas; public homepage remains visually unchanged. */
.jusos-member-hero {
  padding: clamp(52px, 6vw, 105px) 24px;
  border-bottom: 1px solid var(--juso-line, #ddd);
  background: linear-gradient(118deg, #faf8f5 25%, #fff0f0);
}
.jusos-member-wrap {
  width: min(1160px, calc(100% - 32px));
  margin-inline: auto;
}
.jusos-member-eyebrow {
  margin: 0 0 16px;
  color: #d60616;
  font: 800 12px/1.2 "Inter", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.jusos-member-hero h1 {
  max-width: 100%;
  margin: 0 0 16px;
  color: #111;
  font: 900 clamp(56px, 7vw, 112px)/.86 "Barlow Condensed", sans-serif;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
.jusos-member-hero p:last-child {
  margin: 0;
  color: #383838;
  font-size: clamp(16px, 1.8vw, 20px);
}
.jusos-member-body {
  margin-block: clamp(26px, 4vw, 55px) 80px;
}
.jusos-member-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 22px;
}
.jusos-member-links a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #d9d5d1;
  border-radius: 4px;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.jusos-member-links a:hover {
  border-color: #e30613;
  color: #e30613;
}
.jusos-member-card {
  padding: clamp(24px, 4.5vw, 56px);
  border: 1px solid #d9d5d1;
  border-top: 6px solid #e30613;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(17, 17, 17, .06);
}
.jusos-member-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.jusos-member-card h2,
.jusos-member-content h2 {
  margin: 0 0 22px;
  color: #111;
  font: 900 clamp(35px, 4vw, 55px)/.95 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}
.jusos-member-card-head h2 { margin: 0; }
.jusos-member-content {
  overflow-wrap: anywhere;
  color: #222;
  font: 16px/1.7 "Inter", sans-serif;
}
.jusos-member-content a { color: #c40819; }
.jusos-member-content h2:not(:first-child) { margin-top: 32px; }
.jusos-member-content p { margin-block: 0 1.2em; }
.jusos-member-card form { display: grid; gap: 12px; }
.jusos-member-card label {
  display: block;
  margin-top: 10px;
  color: #171717;
  font-size: 13px;
  font-weight: 800;
}
.jusos-member-card input[type="text"],
.jusos-member-card input[type="file"],
.jusos-member-card select,
.jusos-member-card textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #bdb7b3;
  border-radius: 4px;
  background: #fff;
  color: #111;
  font: 15px/1.5 "Inter", sans-serif;
}
.jusos-member-card textarea { resize: vertical; }
.jusos-member-card input:focus-visible,
.jusos-member-card textarea:focus-visible,
.jusos-member-card select:focus-visible {
  outline: 3px solid rgba(227,6,19,.26);
  border-color: #e30613;
}
.jusos-member-upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-block: 10px;
}
.jusos-member-upload-grid small {
  display: block;
  margin-top: 5px;
  color: #626262;
}
.jusos-member-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 46px;
  padding: 12px 20px;
  border: 1px solid #e30613;
  border-radius: 4px;
  background: #e30613;
  color: #fff !important;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.jusos-member-button:hover { background: #b50716; border-color: #b50716; }
.jusos-member-note { margin: 6px 0; color: #555; font-size: 13px; line-height: 1.5; }
.jusos-member-success,
.jusos-member-error {
  padding: 12px 17px;
  border-left: 4px solid #168044;
  background: #ecf8ef;
  color: #113924;
}
.jusos-member-error { border-color: #e30613; background: #fff0f0; color: #a50816; }

/* Logged-in navigation, including the Elementor canvas homepage. */
#az2 .nav .member-hide-join { display: none !important; }
#az2 .nav .member-nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}
#az2 .nav .member-publisher { color: #e30613; }
#az2 .nav .member-logout { color: #555; }
.jusos-header-actions.is-member .jusos-join { display: none; }
.jusos-header-actions .jusos-member-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 9px;
  color: var(--juso-ink, #111);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
}
.jusos-header-actions .jusos-member-nav-link:hover,
.jusos-header-actions .jusos-member-nav-publisher { color: var(--juso-red, #e30613); }
@media (max-width: 1100px) {
  .jusos-header-actions.is-member .jusos-login { display: inline-flex; }
}
@media (max-width: 900px) {
  .jusos-header-actions.is-member { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jusos-header-actions .jusos-member-nav-link {
    min-width: 0;
    border: 1px solid var(--juso-line, #ddd);
    border-radius: 4px;
    background: var(--juso-paper, #faf8f5);
  }
  .jusos-header-actions.is-member .jusos-theme-toggle { justify-self: end; }
}
@media (max-width: 520px) {
  .jusos-header-actions.is-member { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jusos-header-actions.is-member .jusos-login { display: inline-flex; }
  .jusos-member-upload-grid { grid-template-columns: 1fr; }
}
body.jusos-dark .jusos-member-hero {
  border-color: #383838;
  background: linear-gradient(118deg, #101010 25%, #251316);
}
body.jusos-dark .jusos-member-hero h1,
body.jusos-dark .jusos-member-hero p:last-child,
body.jusos-dark .jusos-member-card h2,
body.jusos-dark .jusos-member-content,
body.jusos-dark .jusos-member-card label { color: #f7f7f7; }
body.jusos-dark .jusos-member-card,
body.jusos-dark .jusos-member-links a {
  border-color: #383838;
  background: #171717;
  color: #f7f7f7;
}
body.jusos-dark .jusos-member-card input,
body.jusos-dark .jusos-member-card select,
body.jusos-dark .jusos-member-card textarea {
  border-color: #555;
  background: #101010;
  color: #fff;
}
body.jusos-dark .jusos-member-note,
body.jusos-dark .jusos-member-upload-grid small { color: #c4c4c4; }
