/* Rally sign-ups
   Colours and type follow the Sutton Mariners child theme. The form itself is
   wrapped in .smsc-apply, so it picks up the theme's Fluent Forms styling
   exactly as the membership form does. */

.smrs-signup,
.smrs-board{
  --smrs-ink:#132931;
  --smrs-muted:#4E656E;
  --smrs-faint:#9DB2B9;
  --smrs-teal:#12657C;
  --smrs-amber:#C8762B;
  --smrs-pale:#EDF2F2;
  --smrs-paler:#F7FAFA;
  --smrs-line:#D6E0E2;
}

.smrs-signup{ margin:34px 0 8px; max-width:820px; }
.smrs-signup p{ line-height:1.55; }

.smrs-title{
  font-family:"Newsreader",Georgia,serif !important;
  font-size:14px !important; font-weight:700 !important; letter-spacing:1px !important;
  text-transform:uppercase !important; color:#141827; margin:0 0 14px !important;
}
.smrs-lead{ font-size:14px !important; color:var(--smrs-muted); margin:0 0 18px !important; max-width:62ch; }
.smrs-lead strong{ color:var(--smrs-ink); font-weight:600; }
.smrs-note{ font-size:13px !important; color:var(--smrs-muted); margin:12px 0 0 !important; }
.smrs-note a{ color:var(--smrs-teal); font-weight:600; text-decoration:none; }
.smrs-shut{ font-size:13.5px !important; color:var(--smrs-muted); font-style:italic; margin:12px 0 0 !important; }
.smrs-admin{
  font-size:13px; padding:10px 14px; margin:12px 0;
  border:1px dashed var(--smrs-amber, #C8762B); border-radius:3px; background:rgba(200,118,43,.06);
}
.smrs-empty{ font-size:14px; color:#4E656E; font-style:italic; }

/* headline numbers */
.smrs-stats{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 16px; }
.smrs-stat{
  flex:1 1 0; min-width:120px;
  background:var(--smrs-pale); border:1px solid var(--smrs-line); border-radius:3px;
  padding:14px 16px;
}
.smrs-stat .n{
  font-family:"Newsreader",Georgia,serif; font-size:30px; font-weight:600;
  line-height:1; color:var(--smrs-ink);
}
.smrs-stat .l{
  font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--smrs-muted); margin-top:6px;
}
.smrs-stat.is-left{ background:#FFFFFF; border-color:var(--smrs-amber); border-left-width:3px; }
.smrs-stat.is-left .n{ color:var(--smrs-amber); }
.smrs-stat.is-quiet .n{ color:var(--smrs-faint); }

.smrs-full{
  font-size:13.5px !important; color:var(--smrs-ink); margin:0 0 16px !important;
  padding:10px 14px; border-left:3px solid var(--smrs-amber); background:rgba(200,118,43,.06);
}

/* pointer to the members' list */
.smrs-seewho{
  background:var(--smrs-pale); border:1px solid var(--smrs-line); border-radius:3px;
  padding:14px 18px; margin:0 0 22px;
}
.smrs-seewho p{ margin:0 !important; font-size:13.5px; color:var(--smrs-muted); }
.smrs-seewho strong{ color:var(--smrs-ink); font-weight:600; }
.smrs-seewho a{ color:var(--smrs-teal); font-weight:600; text-decoration:none; }
.smrs-seewho a::after{ content:" →"; }

/* members' password box (optional) */
.smrs-gate{
  max-width:560px; background:var(--smrs-pale); border:1px solid var(--smrs-line);
  border-radius:3px; padding:20px 22px;
}
.smrs-gate p{ font-size:13.5px; color:var(--smrs-muted); margin:0 0 12px; }
.smrs-gate-error{ color:#A3401C !important; font-weight:600; }
.smrs-gate label{ display:block; font-size:12px; font-weight:600; letter-spacing:.03em; color:var(--smrs-ink); margin-bottom:5px; }
.smrs-gate-row{ display:flex; gap:10px; }
.smrs-gate input[type=password]{
  flex:1 1 auto; border:1px solid var(--smrs-line); border-radius:3px; background:#FCFDFD;
  padding:9px 11px; font-size:14px; color:var(--smrs-ink);
}
.smrs-gate button{
  background:var(--smrs-amber); border:1px solid var(--smrs-amber); color:#FFFFFF;
  border-radius:3px; font-size:14px; font-weight:600; padding:9px 20px; cursor:pointer;
}
.smrs-gate button:hover{ background:#B26522; border-color:#B26522; }

/* ---------- the members' list ---------- */

.smrs-board{ display:flex; flex-direction:column; }
.smrs-rally{ padding:26px 0 28px; border-top:1px solid var(--smrs-line); }
.smrs-rally:first-child{ border-top:0; padding-top:4px; }
.smrs-rally p{ margin:0; }

.smrs-rhead{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-bottom:16px; }

.smrs-when{
  flex:none; min-width:76px; text-align:center;
  border:1px solid var(--smrs-amber); border-radius:4px;
  padding:10px 15px 12px; background:rgba(200,118,43,.06);
}
.smrs-when p:nth-child(1){
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--smrs-amber); font-weight:700;
}
.smrs-when p:nth-child(2){
  font-family:"Newsreader",Georgia,serif; font-size:27px; line-height:1.1;
  font-weight:600; color:var(--smrs-ink);
}
.smrs-when p:nth-child(3){ font-size:11px; color:var(--smrs-muted); margin-top:2px; }

.smrs-rtitle-wrap{ flex:1; min-width:240px; }
.smrs-rtitle{
  font-family:"Public Sans",sans-serif !important;
  font-size:20px !important; font-weight:600 !important; line-height:1.3 !important;
  margin:0 0 4px !important; color:var(--smrs-ink); letter-spacing:-.005em !important;
}
.smrs-rtitle-wrap p{ font-size:13.5px; color:var(--smrs-muted); }
.smrs-rtitle-wrap p strong{ color:var(--smrs-ink); font-weight:600; }

.smrs-tag{
  display:inline-block; vertical-align:3px; margin-left:8px;
  font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  padding:3px 7px; border-radius:3px;
  background:var(--smrs-pale); color:var(--smrs-muted); border:1px solid var(--smrs-line);
}
.smrs-tag.is-cancelled{ background:rgba(200,118,43,.07); color:#B4641E; border-color:rgba(200,118,43,.45); }

.smrs-left{ flex:none; text-align:right; min-width:110px; }
.smrs-left .n{
  display:block; font-family:"Newsreader",Georgia,serif; font-size:32px;
  font-weight:600; line-height:1; color:var(--smrs-amber);
}
.smrs-left .l{
  display:block; font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--smrs-muted); margin-top:6px;
}
.smrs-left.is-quiet .n{ color:var(--smrs-faint); }

.smrs-pair{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }

.smrs-panel{
  background:#FFFFFF; border:1px solid var(--smrs-line); border-radius:4px; overflow:hidden;
}
.smrs-bar{
  margin:0 !important; padding:14px 20px;
  background:var(--smrs-paler); border-bottom:1px solid var(--smrs-line);
  font-size:12px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--smrs-teal); font-weight:700;
}
.smrs-bar em{
  font-style:normal; letter-spacing:normal; text-transform:none;
  color:var(--smrs-muted); font-weight:400; margin-left:10px;
}
.smrs-bar.is-sub{ border-top:1px solid var(--smrs-line); padding:10px 20px; font-size:11px; }

.smrs-list{ list-style:none !important; margin:0 !important; padding:0 !important; }
.smrs-list li{
  margin:0 !important; padding:10px 20px;
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  border-bottom:1px solid var(--smrs-line);
  font-size:14px; color:var(--smrs-ink);
}
.smrs-list li:last-child{ border-bottom:none; }
.smrs-list li strong{ font-weight:700; font-size:15px; }
.smrs-list .smrs-r{ font-size:12.5px; color:var(--smrs-muted); white-space:nowrap; }
.smrs-list .smrs-quiet{ font-size:12.5px; color:var(--smrs-muted); }
.smrs-list li.is-anon{ font-style:italic; font-size:13px; color:var(--smrs-muted); }
.smrs-list li{ flex-wrap:wrap; }

/* boats on the members' list */
.smrs-boats li{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; align-items:center;
  padding:14px 20px 14px 17px; border-left:3px solid var(--smrs-teal);
}
.smrs-boatname{ font-size:16px; font-weight:700; color:var(--smrs-ink); line-height:1.3; }
.smrs-skip{ grid-column:1 / -1; font-size:13px; color:var(--smrs-muted); }
.smrs-skip i{ font-style:normal; color:var(--smrs-faint); }
.smrs-fill{
  font-size:12px; font-weight:600; white-space:nowrap; padding:2px 9px; border-radius:10px;
  background:var(--smrs-pale); color:var(--smrs-muted);
}
.smrs-fill.is-space{ background:rgba(200,118,43,.12); color:#9A5718; }
.smrs-fill.is-full{ background:rgba(18,101,124,.12); color:var(--smrs-teal); }
.smrs-aboard{ grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:8px; }
.smrs-crewlabel{
  font-size:10.5px; letter-spacing:.11em; text-transform:uppercase; font-weight:700;
  color:var(--smrs-muted); margin-right:2px;
}
/* crew on a boat, one per line, with contact links */
.smrs-aboard{ flex-direction:column; align-items:stretch; gap:0; }
.smrs-aboard .smrs-crewlabel{ margin:0 0 4px; }
.smrs-crewrow{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 12px;
  padding:6px 0; border-top:1px dashed var(--smrs-line); font-size:14px; color:var(--smrs-ink);
}
.smrs-crewrow b{ font-weight:700; min-width:90px; }
.smrs-crewrow.is-anon{ font-size:13px; font-style:italic; color:var(--smrs-muted); }
.smrs-contact{ font-size:13px; color:var(--smrs-muted); overflow-wrap:anywhere; }
.smrs-contact a{ color:var(--smrs-teal); text-decoration:none; }
.smrs-contact a:hover{ text-decoration:underline; }
.smrs-contact i{ font-style:normal; color:var(--smrs-faint); margin:0 6px; }
.smrs-list li > .smrs-contact{ flex-basis:100%; margin-top:2px; }
.smrs-chip{
  display:inline-block; font-size:13.5px; font-weight:600; color:var(--smrs-ink);
  background:var(--smrs-pale); border:1px solid var(--smrs-line); border-radius:14px; padding:3px 11px;
}
.smrs-chip.is-anon{ font-weight:400; font-style:italic; color:var(--smrs-muted); background:#FFFFFF; }
.smrs-aboard.is-empty{ display:block; font-size:13px; font-style:italic; color:var(--smrs-faint); }
.smrs-list.is-numbered{ counter-reset:smrs; }
.smrs-list.is-numbered li{ counter-increment:smrs; justify-content:flex-start; }
.smrs-list.is-numbered li::before{
  content:counter(smrs); flex:none; width:20px; color:var(--smrs-faint); font-weight:600; font-style:normal;
}
.smrs-list.is-numbered li .smrs-r{ margin-left:auto; }

.smrs-none{
  margin:0 !important; padding:18px 20px; text-align:center;
  font-size:13.5px; color:var(--smrs-muted); font-style:italic;
}

.smrs-foot{ margin:12px 0 0 !important; font-size:13px; color:var(--smrs-muted); }
.smrs-go{ margin:14px 0 0 !important; font-size:13px; font-weight:600; letter-spacing:.02em; }
.smrs-go a{ color:var(--smrs-teal); text-decoration:none; }
.smrs-go a::after{ content:" →"; }
.smrs-go a:hover{ text-decoration:underline; }

.smrs-rally.is-cancelled{ padding-bottom:22px; }
.smrs-rally.is-cancelled .smrs-rhead{ margin-bottom:0; }
.smrs-rally.is-cancelled .smrs-when{ border-color:#C3D1D5; background:var(--smrs-paler); }
.smrs-rally.is-cancelled .smrs-when p{ color:var(--smrs-faint) !important; }
.smrs-rally.is-cancelled .smrs-rtitle{ color:var(--smrs-muted); }

@media (max-width:781px){
  .smrs-pair{ grid-template-columns:1fr; }
  .smrs-left{ text-align:left; min-width:0; }
  .smrs-stat{ min-width:calc(50% - 5px); }
}

/* ---------- events taking bookings ---------- */

.smrs-event .smrs-panel{ max-width:640px; }
.smrs-guests li{ padding:9px 20px; }

/* ---------- "Can't make it?" ---------- */

.smrs-cancel{ margin:0 0 20px; max-width:820px; }
.smrs-cancel summary{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  cursor:pointer; list-style:none;
  background:#FFFFFF; border:1px solid var(--smrs-line); border-left:3px solid var(--smrs-amber);
  border-radius:3px; padding:12px 16px;
}
.smrs-cancel summary::-webkit-details-marker{ display:none; }
.smrs-cancel summary:focus-visible{ outline:2px solid var(--smrs-teal); outline-offset:2px; }
.smrs-cancel-q{ font-size:14.5px; font-weight:600; color:var(--smrs-ink); }
.smrs-cancel-btn{
  font-size:13.5px; font-weight:600; color:var(--smrs-amber); white-space:nowrap;
  border:1px solid var(--smrs-amber); border-radius:3px; padding:6px 14px;
}
.smrs-cancel summary:hover .smrs-cancel-btn{ background:var(--smrs-amber); color:#FFFFFF; }
.smrs-cancel[open] summary{ border-bottom-left-radius:0; border-bottom-right-radius:0; }
.smrs-cancel[open] .smrs-cancel-btn{ background:var(--smrs-amber); color:#FFFFFF; }
.smrs-cancel form{
  background:var(--smrs-pale); border:1px solid var(--smrs-line); border-top:0; border-left:3px solid var(--smrs-amber);
  border-radius:0 0 3px 3px; padding:16px 20px;
}
.smrs-cancel p{ font-size:13.5px; color:var(--smrs-muted); margin:0 0 12px; }
.smrs-cancel label{ display:block; font-size:12px; font-weight:600; letter-spacing:.03em; color:var(--smrs-ink); margin-bottom:5px; }
.smrs-cancel input[type=email]{
  flex:1 1 auto; border:1px solid var(--smrs-line); border-radius:3px; background:#FCFDFD;
  padding:9px 11px; font-size:14px; color:var(--smrs-ink);
}
.smrs-cancel button, .smrs-cx-confirm button{
  background:var(--smrs-teal); border:1px solid var(--smrs-teal); color:#FFFFFF;
  border-radius:3px; font-size:14px; font-weight:600; padding:9px 20px; cursor:pointer;
}
.smrs-cancel button:hover, .smrs-cx-confirm button:hover{ background:#0E5163; border-color:#0E5163; }
.smrs-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.smrs-cx-confirm{ margin:0 0 18px; border-color:var(--smrs-amber); border-left-width:3px; }
.smrs-cx-confirm form{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.smrs-cx-keep{ font-size:13.5px; color:var(--smrs-teal); font-weight:600; text-decoration:none; }
.smrs-cx-msg{
  font-size:13.5px !important; color:var(--smrs-ink); margin:0 0 16px !important;
  padding:10px 14px; border-left:3px solid var(--smrs-teal); background:rgba(18,101,124,.06);
}
.smrs-cx-msg.is-warn{ border-left-color:var(--smrs-amber); background:rgba(200,118,43,.06); }
.smrs-board-cancel{ margin-top:16px; }
.smrs-board-cancel .smrs-cancel{ margin:0; }
.smrs-board-cancel .smrs-cx-msg{ margin:0 0 10px !important; }
