/* Return Phase 1b — shared editorial styles for Today, Body Check-In, Timer. */

.sw-phase1b { padding: 48px 20px 80px; }
.sw-phase1b__wrap { max-width: 640px; margin: 0 auto; }
.sw-phase1b__eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; color: #7a6e5a; margin: 0 0 .3rem; }
.sw-phase1b__day { font-family: "Cormorant SC", "EB Garamond", serif; font-weight: 500; font-size: 2.2rem; letter-spacing: .04em; margin: 0 0 .1rem; }
.sw-phase1b__phase { font-family: "EB Garamond", serif; font-style: italic; color: #4a4034; margin: 0 0 .6rem; }
.sw-phase1b__season { font-family: "EB Garamond", serif; color: #6b5f4c; margin: 0 0 .4rem; }
.sw-phase1b__framing { font-family: "Spectral", serif; font-size: 1.05rem; color: #302a22; margin: .8rem 0 2rem; line-height: 1.55; }
.sw-phase1b__note { font-size: .82rem; color: #7a6e5a; margin-top: 2.4rem; }

.sw-phase1b__card { background: #fff; border: 1px solid #e6dfcf; border-radius: 6px; padding: 24px 22px; margin: 1.4rem 0; }
.sw-phase1b__card--empty { color: #6b5f4c; font-style: italic; }
.sw-phase1b__kicker { text-transform: uppercase; letter-spacing: .15em; font-size: .72rem; color: #7a6e5a; margin: 0 0 .35rem; }
.sw-phase1b__title { font-family: "Cormorant SC", serif; font-weight: 500; font-size: 1.6rem; margin: 0 0 .35rem; }
.sw-phase1b__meta { color: #5a4f40; font-family: "EB Garamond", serif; font-style: italic; margin: 0 0 .6rem; }
.sw-phase1b__intro { line-height: 1.55; margin: .3rem 0 1.2rem; }
.sw-phase1b__equipment { color: #6b5f4c; font-size: .9rem; margin: .2rem 0 .6rem; }

.sw-phase1b__cta { margin: 1rem 0 0; }
.sw-phase1b__btn {
  display: inline-block; padding: 12px 22px; background: #1c3b2a; color: #fff;
  text-decoration: none; border: 1px solid #1c3b2a; border-radius: 4px;
  font-family: inherit; font-size: 1rem; cursor: pointer;
}
.sw-phase1b__btn:hover, .sw-phase1b__btn:focus-visible { background: #24513a; outline: 2px solid transparent; }
.sw-phase1b__btn:focus-visible { outline: 2px solid #b8a068; outline-offset: 2px; }
.sw-phase1b__btn:disabled { opacity: .5; cursor: not-allowed; }
.sw-phase1b__linkbtn {
  background: none; border: 0; padding: 6px 4px; text-decoration: underline;
  cursor: pointer; color: #1c3b2a; font: inherit;
}
.sw-phase1b__linkbtn:focus-visible { outline: 2px solid #b8a068; outline-offset: 2px; }

.sw-phase1b__aside { margin-top: 1.4rem; }
.sw-phase1b__aside p { margin: .3rem 0; }
.sw-phase1b__aside a { color: #1c3b2a; }
.sw-phase1b__aside--tertiary { color: #6b5f4c; font-size: .92rem; }

/* Check-In form */
.sw-checkin__form fieldset { border: 1px solid #e6dfcf; border-radius: 6px; padding: 16px 18px; margin: 0 0 1.2rem; background: #fff; }
.sw-checkin__form legend { padding: 0 6px; font-family: "Cormorant SC", serif; font-weight: 500; font-size: 1.05rem; letter-spacing: .04em; }
.sw-checkin__form label { display: block; padding: 10px 12px; margin: 4px 0; border-radius: 4px; cursor: pointer; }
.sw-checkin__form label:hover { background: #f4efdf; }
.sw-checkin__form label.is-selected { background: #e6dfcf; }
.sw-checkin__form input[type="radio"] { margin-right: 10px; }
.sw-checkin__submit { text-align: right; }
.sw-checkin__lede { font-style: italic; color: #4a4034; margin: 0 0 1rem; }
.sw-checkin__again { margin-top: .6rem; }

/* Timer */
.sw-timer__practice { color: #4a4034; font-style: italic; }
.sw-timer__durations { border: 0; padding: 0; margin: 1.2rem 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sw-timer__dur { min-width: 64px; padding: 12px 14px; background: #fff; border: 1px solid #c8bfae; border-radius: 4px; cursor: pointer; font: inherit; }
.sw-timer__dur.is-selected { background: #1c3b2a; color: #fff; border-color: #1c3b2a; }
.sw-timer__dur:focus-visible { outline: 2px solid #b8a068; outline-offset: 2px; }
.sw-timer__sounds { border: 0; padding: 0; margin: .8rem 0 1.4rem; }
.sw-timer__sounds legend { font-family: "Cormorant SC", serif; font-weight: 500; letter-spacing: .04em; padding: 0; margin: 0 0 .4rem; }
.sw-timer__sounds label { display: block; margin: .3rem 0; }
.sw-timer__running-practice { color: #4a4034; font-family: "EB Garamond", serif; font-style: italic; text-align: center; }
.sw-timer__countdown { text-align: center; font-family: "Cormorant SC", serif; font-size: 4.4rem; letter-spacing: .05em; margin: 1rem 0; color: #1c3b2a; font-variant-numeric: tabular-nums; }
.sw-timer__controls { display: flex; justify-content: center; gap: 20px; }

@media (prefers-reduced-motion: reduce) {
  .sw-phase1b, .sw-phase1b__btn, .sw-timer__dur { transition: none !important; animation: none !important; }
}
