/* 200H online pages: price "ticket" after class times + mobile price dock. */
.price-peek { --pp-green: #1f3a2a; --pp-gold: #a8834b; --pp-muted: #6b776b; position: relative; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; margin: 1.6rem 0 .4rem; padding: 0; border: 1px solid #e6dfcf; border-radius: 18px; background: #fbf8f1; overflow: hidden; }
.price-peek .pp-item { position: relative; margin: 0; padding: 18px 26px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; }
.price-peek .pp-eb { border-left: 1.5px dashed #d9cdb3; }
.price-peek .pp-eb::before, .price-peek .pp-eb::after { content: ''; position: absolute; left: -9px; width: 16px; height: 16px; border-radius: 50%; background: var(--pp-page, #fbfaf6); border: 1px solid #e6dfcf; }
html[lang="en"] .price-peek { --pp-page: #e0ecda; } /* EN page body background */
.price-peek .pp-eb::before { top: -9px; }
.price-peek .pp-eb::after { bottom: -9px; }
.price-peek .pp-label { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-muted); }
.price-peek .pp-eb .pp-label { color: var(--pp-gold); }
.price-peek .pp-amount { font-family: 'Cormorant Garamond', 'GM Cormorant Fallback', Georgia, serif; font-size: clamp(1.7rem, 2.6vw, 2.1rem); font-weight: 600; line-height: 1.05; color: var(--pp-green); font-variant-numeric: lining-nums tabular-nums; }
.price-peek .pp-link { align-self: stretch; display: flex; align-items: center; gap: 8px; padding: 0 26px; background: var(--pp-green); color: #fff; font-weight: 700; font-size: .92rem; text-decoration: none; white-space: nowrap; transition: background .15s; }
.price-peek .pp-link:hover { background: #2b4d38; }
.price-peek .pp-link:focus-visible { outline: 2px solid var(--pp-gold); outline-offset: -4px; }
@media (max-width: 760px) {
  .price-peek { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .price-peek .pp-item { min-width: 0; padding: 14px 16px; }
  .price-peek .pp-label { font-size: .64rem; letter-spacing: .08em; }
  .price-peek .pp-eb::before, .price-peek .pp-eb::after { display: none; }
  .price-peek .pp-amount { font-size: 1.5rem; }
  .price-peek .pp-link { grid-column: 1 / -1; justify-content: center; min-height: 48px; padding: 0 16px; }
}
.course-back { text-align: center; margin: 1.5rem 0; }

.price-dock { display: none; }
@media (max-width: 760px) {
  .price-dock { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 990; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 16px; border-radius: 16px; background: rgba(251, 248, 241, .97); border: 1px solid #e6dfcf; box-shadow: 0 10px 30px rgba(31, 58, 42, .18); transform: translateY(140%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
  .price-dock.is-on { transform: none; visibility: visible; transition: transform .25s ease; }
  .price-dock[hidden] { display: none; }
  .price-dock .pd-price { flex: 1; min-width: min-content; display: flex; flex-direction: column; text-decoration: none; color: #1f3a2a; line-height: 1.25; }
  .price-dock .pd-label { font-size: .64rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #a8834b; }
  .price-dock .pd-amounts { font-size: .95rem; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
  .price-dock .pd-amounts s, .price-dock .pd-amounts strong { white-space: nowrap; }
  .price-dock .pd-amounts s { color: #8a948a; font-size: .8rem; }
  .price-dock .pd-amounts strong { font-family: 'Cormorant Garamond', 'GM Cormorant Fallback', Georgia, serif; font-size: 1.3rem; font-weight: 700; }
  .price-dock .pd-cta { flex: 0 1 auto; line-height: 1.2; display: flex; align-items: center; justify-content: center; text-align: center; min-height: 44px; padding: 6px 14px; border-radius: 12px; background: #1f3a2a; color: #fff; font-weight: 700; font-size: .88rem; text-decoration: none; }
}
@media (prefers-reduced-motion: reduce) { .price-dock, .price-dock.is-on { transition: none; } }
