/* Classes & Coaching (cl-setup.js, cl-visitor.js, cl-member.js): one person a part, so one browser window a part, with
   that person's name on its bar (as Member Portal's); their pages sit in frames inside it and cross-fade as they move
   between them. Wide: the desktop window. Narrow (the visitor's and the member's parts): one plain rounded frame with
   the page's own phone layout; the Head Coach's part keeps the desktop window, scaled (cl-setup.js says why). */
.cl-win { left: 26px; top: 20px; width: 848px; height: 500px; }
.cl-win .dv-url-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.cd-canvas[data-mode="narrow"] .cl-win { left: 12px; top: 10px; width: 316px; height: 560px; border-radius: 24px; }
.cd-canvas[data-mode="narrow"] .cl-win .dv-bar { height: 34px; }
.cd-canvas[data-mode="narrow"] .cl-win .dv-dots { display: none; }
.cd-canvas[data-mode="narrow"] .cl-win .dv-url { width: 58%; margin-right: 52px; }
.cd-canvas[data-mode="narrow"] .cl-win .dv-view { top: 34px; }

/* whose window it is, at the right of its bar */
.cl-who { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: 5px;
  font: 600 8.5px/1 Geist, Arial, sans-serif; color: #4a463d; white-space: nowrap; }
.cl-who i { width: 15px; height: 15px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 6.5px; letter-spacing: .02em; color: #fff; }
.cd-canvas[data-mode="narrow"] .cl-who { right: 9px; font-size: 0; gap: 0; }   /* narrow: the initials only */
.cd-canvas[data-mode="narrow"] .cl-who i { width: 18px; height: 18px; font-size: 7px; }

.cl-page { position: absolute; inset: 0; overflow: hidden; background: #fff; }
.cl-if { position: absolute; left: 0; top: 0; border: 0; transform-origin: 0 0; pointer-events: none; background: #fff; }
.cl-later { opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility 0s .5s; }
.cl-later.is-on { opacity: 1; visibility: visible; transition: opacity .5s ease, visibility 0s; }
.cl-loading .cl-page { visibility: hidden; }   /* an empty window while a page loads: never a page loading on camera */

/* The club's email to the visitor, over her window (cl-visitor.js): the real message from the outbox. */
.cl-mail { position: absolute; z-index: 20; right: 18px; top: 44px; width: 292px; padding: 11px 14px 12px; border-radius: 14px; pointer-events: none;
  background: rgba(252, 252, 250, .98); box-shadow: 0 0 0 1px rgba(27, 26, 23, .08), 0 24px 44px -18px rgba(40, 30, 8, .5);
  font: 400 11px/1.45 Geist, Arial, sans-serif; color: #1b1a17;
  opacity: 0; transform: translateY(-14px) scale(.98); transition: opacity .35s ease, transform .55s cubic-bezier(.2, .85, .2, 1); }
.cl-mail.is-on { opacity: 1; transform: none; }
.cl-mail.is-gone { opacity: 0; transform: translateY(-6px) scale(.98); transition: opacity .3s ease, transform .3s ease; }
.cd-canvas[data-mode="narrow"] .cl-mail { left: 22px; right: 22px; width: auto; top: 56px; }
.cl-mail-top { display: flex; align-items: center; gap: 7px; font-size: 9.5px; color: #77736a; margin-bottom: 6px; }
.cl-mail-top b { font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.cl-mail-top span:last-child { margin-left: auto; }
.cl-mail-app { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 5px; background: linear-gradient(#4a93ff, #1f6fe5); }
.cl-mail-app svg { width: 12px; height: 12px; }
.cl-mail-from { display: block; font-size: 11.5px; font-weight: 600; }
.cl-mail-sub { display: block; font-size: 11px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cl-mail-text { margin: 3px 0 0; font-size: 10.5px; line-height: 1.42; color: #5d5a52; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cl-mail-btn { display: inline-block; margin-top: 8px; padding: 5px 10px; border-radius: 5px; background: #14275E; color: #fff; font-size: 10px; font-weight: 600; transition: background-color .2s ease; }
.cl-mail-btn.is-pressed { background: #1E7A45; }

@media (prefers-reduced-motion: reduce) { .cl-later, .cl-later.is-on, .cl-mail, .cl-mail.is-on, .cl-mail.is-gone, .cl-mail-btn { transition: none; } }
